@lynx-js/react 0.119.0 → 0.121.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (549) hide show
  1. package/CHANGELOG.md +78 -0
  2. package/package.json +39 -11
  3. package/runtime/lazy/compat.js +1 -0
  4. package/runtime/lazy/internal.js +3 -0
  5. package/runtime/lazy/react.js +1 -0
  6. package/runtime/lib/core/hooks/mainThread.d.ts +1 -0
  7. package/runtime/lib/core/hooks/mainThread.js +7 -0
  8. package/runtime/lib/core/hooks/mainThread.js.map +1 -0
  9. package/runtime/lib/{hooks/mainThread.d.ts → core/hooks/mainThreadImpl.d.ts} +2 -1
  10. package/runtime/lib/{hooks/mainThread.js → core/hooks/mainThreadImpl.js} +46 -35
  11. package/runtime/lib/core/hooks/mainThreadImpl.js.map +1 -0
  12. package/runtime/lib/{hooks → core/hooks}/react.js +1 -1
  13. package/runtime/lib/core/hooks/react.js.map +1 -0
  14. package/runtime/lib/{hooks → core/hooks}/useLynxGlobalEventListener.d.ts +1 -1
  15. package/runtime/lib/{hooks → core/hooks}/useLynxGlobalEventListener.js +1 -1
  16. package/runtime/lib/core/hooks/useLynxGlobalEventListener.js.map +1 -0
  17. package/runtime/lib/document.d.ts +4 -4
  18. package/runtime/lib/document.js +14 -12
  19. package/runtime/lib/document.js.map +1 -1
  20. package/runtime/lib/element-template/background/attr-slots.d.ts +2 -0
  21. package/runtime/lib/element-template/background/attr-slots.js +34 -0
  22. package/runtime/lib/element-template/background/attr-slots.js.map +1 -0
  23. package/runtime/lib/element-template/background/commit-context.d.ts +13 -0
  24. package/runtime/lib/element-template/background/commit-context.js +25 -0
  25. package/runtime/lib/element-template/background/commit-context.js.map +1 -0
  26. package/runtime/lib/element-template/background/commit-hook.d.ts +7 -0
  27. package/runtime/lib/element-template/background/commit-hook.js +96 -0
  28. package/runtime/lib/element-template/background/commit-hook.js.map +1 -0
  29. package/runtime/lib/element-template/background/destroy.d.ts +1 -0
  30. package/runtime/lib/element-template/background/destroy.js +17 -0
  31. package/runtime/lib/element-template/background/destroy.js.map +1 -0
  32. package/runtime/lib/element-template/background/document.d.ts +7 -0
  33. package/runtime/lib/element-template/background/document.js +27 -0
  34. package/runtime/lib/element-template/background/document.js.map +1 -0
  35. package/runtime/lib/element-template/background/hydrate.d.ts +4 -0
  36. package/runtime/lib/element-template/background/hydrate.js +219 -0
  37. package/runtime/lib/element-template/background/hydrate.js.map +1 -0
  38. package/runtime/lib/element-template/background/hydration-listener.d.ts +2 -0
  39. package/runtime/lib/element-template/background/hydration-listener.js +93 -0
  40. package/runtime/lib/element-template/background/hydration-listener.js.map +1 -0
  41. package/runtime/lib/element-template/background/instance.d.ts +39 -0
  42. package/runtime/lib/element-template/background/instance.js +349 -0
  43. package/runtime/lib/element-template/background/instance.js.map +1 -0
  44. package/runtime/lib/element-template/background/manager.d.ts +10 -0
  45. package/runtime/lib/element-template/background/manager.js +60 -0
  46. package/runtime/lib/element-template/background/manager.js.map +1 -0
  47. package/runtime/lib/element-template/client/root.d.ts +36 -0
  48. package/runtime/lib/element-template/client/root.js +33 -0
  49. package/runtime/lib/element-template/client/root.js.map +1 -0
  50. package/runtime/lib/element-template/debug/alog.d.ts +34 -0
  51. package/runtime/lib/element-template/debug/alog.js +93 -0
  52. package/runtime/lib/element-template/debug/alog.js.map +1 -0
  53. package/runtime/lib/element-template/debug/elementPAPICall.d.ts +1 -0
  54. package/runtime/lib/element-template/debug/elementPAPICall.js +75 -0
  55. package/runtime/lib/element-template/debug/elementPAPICall.js.map +1 -0
  56. package/runtime/lib/element-template/debug/profile.d.ts +3 -0
  57. package/runtime/lib/element-template/debug/profile.js +141 -0
  58. package/runtime/lib/element-template/debug/profile.js.map +1 -0
  59. package/runtime/lib/element-template/hooks/react.d.ts +14 -0
  60. package/runtime/lib/element-template/hooks/react.js +24 -0
  61. package/runtime/lib/element-template/hooks/react.js.map +1 -0
  62. package/runtime/lib/element-template/index.d.ts +7 -0
  63. package/runtime/lib/element-template/index.js +45 -0
  64. package/runtime/lib/element-template/index.js.map +1 -0
  65. package/runtime/lib/element-template/internal.d.ts +6 -0
  66. package/runtime/lib/element-template/internal.js +44 -0
  67. package/runtime/lib/element-template/internal.js.map +1 -0
  68. package/runtime/lib/element-template/jsx-dev-runtime/index.d.ts +1 -0
  69. package/runtime/lib/element-template/jsx-dev-runtime/index.js +5 -0
  70. package/runtime/lib/element-template/jsx-dev-runtime/index.js.map +1 -0
  71. package/runtime/lib/element-template/jsx-runtime/index.d.ts +19 -0
  72. package/runtime/lib/element-template/jsx-runtime/index.js +60 -0
  73. package/runtime/lib/element-template/jsx-runtime/index.js.map +1 -0
  74. package/runtime/lib/element-template/lynx/env.js +89 -0
  75. package/runtime/lib/element-template/lynx/env.js.map +1 -0
  76. package/runtime/lib/element-template/lynx/performance.d.ts +23 -0
  77. package/runtime/lib/element-template/lynx/performance.js +135 -0
  78. package/runtime/lib/element-template/lynx/performance.js.map +1 -0
  79. package/runtime/lib/element-template/native/callDestroyLifetimeFun.d.ts +1 -0
  80. package/runtime/lib/element-template/native/callDestroyLifetimeFun.js +8 -0
  81. package/runtime/lib/element-template/native/callDestroyLifetimeFun.js.map +1 -0
  82. package/runtime/lib/element-template/native/index.d.ts +1 -0
  83. package/runtime/lib/element-template/native/index.js +53 -0
  84. package/runtime/lib/element-template/native/index.js.map +1 -0
  85. package/runtime/lib/element-template/native/main-thread-api.js +27 -0
  86. package/runtime/lib/element-template/native/main-thread-api.js.map +1 -0
  87. package/runtime/lib/element-template/native/mts-destroy.d.ts +3 -0
  88. package/runtime/lib/element-template/native/mts-destroy.js +37 -0
  89. package/runtime/lib/element-template/native/mts-destroy.js.map +1 -0
  90. package/runtime/lib/element-template/native/patch-listener.d.ts +2 -0
  91. package/runtime/lib/element-template/native/patch-listener.js +66 -0
  92. package/runtime/lib/element-template/native/patch-listener.js.map +1 -0
  93. package/runtime/lib/element-template/prop-adapters/event-value.d.ts +1 -0
  94. package/runtime/lib/element-template/prop-adapters/event-value.js +7 -0
  95. package/runtime/lib/element-template/prop-adapters/event-value.js.map +1 -0
  96. package/runtime/lib/element-template/prop-adapters/event.d.ts +7 -0
  97. package/runtime/lib/element-template/prop-adapters/event.js +61 -0
  98. package/runtime/lib/element-template/prop-adapters/event.js.map +1 -0
  99. package/runtime/lib/element-template/prop-adapters/spread.d.ts +5 -0
  100. package/runtime/lib/element-template/prop-adapters/spread.js +45 -0
  101. package/runtime/lib/element-template/prop-adapters/spread.js.map +1 -0
  102. package/runtime/lib/element-template/protocol/lifecycle-constant.d.ts +4 -0
  103. package/runtime/lib/element-template/protocol/lifecycle-constant.js +9 -0
  104. package/runtime/lib/element-template/protocol/lifecycle-constant.js.map +1 -0
  105. package/runtime/lib/element-template/protocol/opcodes.d.ts +7 -0
  106. package/runtime/lib/element-template/protocol/opcodes.js +10 -0
  107. package/runtime/lib/element-template/protocol/opcodes.js.map +1 -0
  108. package/runtime/lib/element-template/protocol/types.d.ts +50 -0
  109. package/runtime/lib/element-template/protocol/types.js +5 -0
  110. package/runtime/lib/element-template/protocol/types.js.map +1 -0
  111. package/runtime/lib/element-template/runtime/components/slot.js +11 -0
  112. package/runtime/lib/element-template/runtime/components/slot.js.map +1 -0
  113. package/runtime/lib/element-template/runtime/page/page.d.ts +2 -0
  114. package/runtime/lib/element-template/runtime/page/page.js +8 -0
  115. package/runtime/lib/element-template/runtime/page/page.js.map +1 -0
  116. package/runtime/lib/element-template/runtime/page/root-instance.d.ts +10 -0
  117. package/runtime/lib/element-template/runtime/page/root-instance.js +17 -0
  118. package/runtime/lib/element-template/runtime/page/root-instance.js.map +1 -0
  119. package/runtime/lib/element-template/runtime/patch.d.ts +3 -0
  120. package/runtime/lib/element-template/runtime/patch.js +145 -0
  121. package/runtime/lib/element-template/runtime/patch.js.map +1 -0
  122. package/runtime/lib/element-template/runtime/render/render-main-thread.js +53 -0
  123. package/runtime/lib/element-template/runtime/render/render-main-thread.js.map +1 -0
  124. package/runtime/lib/element-template/runtime/render/render-opcodes.d.ts +4 -0
  125. package/runtime/lib/element-template/runtime/render/render-opcodes.js +134 -0
  126. package/runtime/lib/element-template/runtime/render/render-opcodes.js.map +1 -0
  127. package/runtime/lib/element-template/runtime/render/render-to-opcodes.d.ts +14 -0
  128. package/runtime/lib/element-template/runtime/render/render-to-opcodes.js +272 -0
  129. package/runtime/lib/element-template/runtime/render/render-to-opcodes.js.map +1 -0
  130. package/runtime/lib/element-template/runtime/template/attr-slot-plan.d.ts +11 -0
  131. package/runtime/lib/element-template/runtime/template/attr-slot-plan.js +23 -0
  132. package/runtime/lib/element-template/runtime/template/attr-slot-plan.js.map +1 -0
  133. package/runtime/lib/element-template/runtime/template/handle.d.ts +5 -0
  134. package/runtime/lib/element-template/runtime/template/handle.js +23 -0
  135. package/runtime/lib/element-template/runtime/template/handle.js.map +1 -0
  136. package/runtime/lib/element-template/runtime/template/registry.d.ts +13 -0
  137. package/runtime/lib/element-template/runtime/template/registry.js +46 -0
  138. package/runtime/lib/element-template/runtime/template/registry.js.map +1 -0
  139. package/runtime/lib/index.d.ts +7 -5
  140. package/runtime/lib/index.js +9 -6
  141. package/runtime/lib/index.js.map +1 -1
  142. package/runtime/lib/internal.d.ts +22 -20
  143. package/runtime/lib/internal.js +26 -23
  144. package/runtime/lib/internal.js.map +1 -1
  145. package/runtime/lib/lynx-api.d.ts +5 -5
  146. package/runtime/lib/lynx-api.js +9 -9
  147. package/runtime/lib/lynx-api.js.map +1 -1
  148. package/runtime/lib/lynx.d.ts +2 -2
  149. package/runtime/lib/lynx.js +17 -17
  150. package/runtime/lib/lynx.js.map +1 -1
  151. package/runtime/lib/root.d.ts +2 -2
  152. package/runtime/lib/root.js +2 -2
  153. package/runtime/lib/root.js.map +1 -1
  154. package/runtime/lib/{debug → shared}/component-stack.js +1 -1
  155. package/runtime/lib/shared/component-stack.js.map +1 -0
  156. package/runtime/lib/{debug → shared}/profile.js +6 -4
  157. package/runtime/lib/shared/profile.js.map +1 -0
  158. package/runtime/lib/{renderToOpcodes/constants.js → shared/render-constants.js} +1 -1
  159. package/runtime/lib/shared/render-constants.js.map +1 -0
  160. package/runtime/lib/{alog → snapshot/alog}/elementPAPICall.js +1 -1
  161. package/runtime/lib/snapshot/alog/elementPAPICall.js.map +1 -0
  162. package/runtime/lib/snapshot/alog/index.js.map +1 -0
  163. package/runtime/lib/{alog → snapshot/alog}/render.js +2 -2
  164. package/runtime/lib/snapshot/alog/render.js.map +1 -0
  165. package/runtime/lib/snapshot/compat/componentIs.js.map +1 -0
  166. package/runtime/lib/{compat → snapshot/compat}/initData.d.ts +2 -2
  167. package/runtime/lib/{compat → snapshot/compat}/initData.js +1 -1
  168. package/runtime/lib/snapshot/compat/initData.js.map +1 -0
  169. package/runtime/lib/snapshot/compat/lynxComponent.js.map +1 -0
  170. package/runtime/lib/snapshot/debug/debug.js.map +1 -0
  171. package/runtime/lib/snapshot/debug/describeInvalidValue.js.map +1 -0
  172. package/runtime/lib/snapshot/debug/formatPatch.js.map +1 -0
  173. package/runtime/lib/snapshot/debug/printSnapshot.js.map +1 -0
  174. package/runtime/lib/{debug → snapshot/debug}/profileHooks.js +2 -2
  175. package/runtime/lib/snapshot/debug/profileHooks.js.map +1 -0
  176. package/runtime/lib/{debug → snapshot/debug}/vnodeSource.js +1 -1
  177. package/runtime/lib/snapshot/debug/vnodeSource.js.map +1 -0
  178. package/runtime/lib/{gesture → snapshot/gesture}/processGesture.d.ts +2 -0
  179. package/runtime/lib/{gesture → snapshot/gesture}/processGesture.js +40 -3
  180. package/runtime/lib/snapshot/gesture/processGesture.js.map +1 -0
  181. package/runtime/lib/snapshot/gesture/processGestureBagkround.d.ts +9 -0
  182. package/runtime/lib/snapshot/gesture/processGestureBagkround.js +80 -0
  183. package/runtime/lib/snapshot/gesture/processGestureBagkround.js.map +1 -0
  184. package/runtime/lib/snapshot/gesture/types.js.map +1 -0
  185. package/runtime/lib/snapshot/index.d.ts +1 -4
  186. package/runtime/lib/snapshot/index.js +2 -5
  187. package/runtime/lib/snapshot/index.js.map +1 -1
  188. package/runtime/lib/{legacy-react-runtime → snapshot/legacy-react-runtime}/index.d.ts +2 -2
  189. package/runtime/lib/{legacy-react-runtime → snapshot/legacy-react-runtime}/index.js +2 -2
  190. package/runtime/lib/snapshot/legacy-react-runtime/index.js.map +1 -0
  191. package/runtime/lib/snapshot/lifecycle/constant.js.map +1 -0
  192. package/runtime/lib/{lifecycle → snapshot/lifecycle}/destroy.js +2 -2
  193. package/runtime/lib/snapshot/lifecycle/destroy.js.map +1 -0
  194. package/runtime/lib/snapshot/lifecycle/event/delayEvents.js.map +1 -0
  195. package/runtime/lib/snapshot/lifecycle/event/delayLifecycleEvents.js.map +1 -0
  196. package/runtime/lib/{lifecycle → snapshot/lifecycle}/event/jsReady.js +2 -2
  197. package/runtime/lib/snapshot/lifecycle/event/jsReady.js.map +1 -0
  198. package/runtime/lib/{lifecycle → snapshot/lifecycle}/isRendering.js +2 -2
  199. package/runtime/lib/snapshot/lifecycle/isRendering.js.map +1 -0
  200. package/runtime/lib/snapshot/lifecycle/pass.js.map +1 -0
  201. package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/commit.js +3 -3
  202. package/runtime/lib/snapshot/lifecycle/patch/commit.js.map +1 -0
  203. package/runtime/lib/snapshot/lifecycle/patch/error.js.map +1 -0
  204. package/runtime/lib/snapshot/lifecycle/patch/globalState.js.map +1 -0
  205. package/runtime/lib/snapshot/lifecycle/patch/isMainThreadHydrating.js.map +1 -0
  206. package/runtime/lib/snapshot/lifecycle/patch/nodesRefApply.d.ts +15 -0
  207. package/runtime/lib/snapshot/lifecycle/patch/nodesRefApply.js +102 -0
  208. package/runtime/lib/snapshot/lifecycle/patch/nodesRefApply.js.map +1 -0
  209. package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/snapshotPatch.d.ts +2 -0
  210. package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/snapshotPatch.js +27 -2
  211. package/runtime/lib/snapshot/lifecycle/patch/snapshotPatch.js.map +1 -0
  212. package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/snapshotPatchApply.js +28 -0
  213. package/runtime/lib/snapshot/lifecycle/patch/snapshotPatchApply.js.map +1 -0
  214. package/runtime/lib/snapshot/lifecycle/patch/updateMainThread.js.map +1 -0
  215. package/runtime/lib/{lifecycle → snapshot/lifecycle}/ref/delay.d.ts +1 -0
  216. package/runtime/lib/{lifecycle → snapshot/lifecycle}/ref/delay.js +5 -3
  217. package/runtime/lib/snapshot/lifecycle/ref/delay.js.map +1 -0
  218. package/runtime/lib/{lifecycle → snapshot/lifecycle}/reload.js +3 -3
  219. package/runtime/lib/snapshot/lifecycle/reload.js.map +1 -0
  220. package/runtime/lib/snapshot/lifecycle/render.d.ts +2 -0
  221. package/runtime/lib/{lifecycle → snapshot/lifecycle}/render.js +2 -2
  222. package/runtime/lib/snapshot/lifecycle/render.js.map +1 -0
  223. package/runtime/lib/{list → snapshot/list}/list.js +5 -2
  224. package/runtime/lib/snapshot/list/list.js.map +1 -0
  225. package/runtime/lib/{list → snapshot/list}/listUpdateInfo.js +1 -1
  226. package/runtime/lib/snapshot/list/listUpdateInfo.js.map +1 -0
  227. package/runtime/lib/snapshot/list/pendingListUpdates.js.map +1 -0
  228. package/runtime/lib/snapshot/lynx/calledByNative.d.ts +2 -0
  229. package/runtime/lib/{lynx → snapshot/lynx}/calledByNative.js +2 -2
  230. package/runtime/lib/snapshot/lynx/calledByNative.js.map +1 -0
  231. package/runtime/lib/{lynx → snapshot/lynx}/component.js +1 -1
  232. package/runtime/lib/snapshot/lynx/component.js.map +1 -0
  233. package/runtime/lib/snapshot/lynx/dynamic-js.js.map +1 -0
  234. package/runtime/lib/snapshot/lynx/element.d.ts +6 -0
  235. package/runtime/lib/snapshot/lynx/element.js +35 -0
  236. package/runtime/lib/snapshot/lynx/element.js.map +1 -0
  237. package/runtime/lib/snapshot/lynx/env.d.ts +1 -0
  238. package/runtime/lib/{lynx → snapshot/lynx}/env.js +1 -4
  239. package/runtime/lib/snapshot/lynx/env.js.map +1 -0
  240. package/runtime/lib/snapshot/lynx/injectLepusMethods.js.map +1 -0
  241. package/runtime/lib/snapshot/lynx/lazy-bundle.js.map +1 -0
  242. package/runtime/lib/snapshot/lynx/nodesRef.d.ts +6 -0
  243. package/runtime/lib/snapshot/lynx/nodesRef.js +31 -0
  244. package/runtime/lib/snapshot/lynx/nodesRef.js.map +1 -0
  245. package/runtime/lib/{lynx → snapshot/lynx}/performance.js +2 -2
  246. package/runtime/lib/snapshot/lynx/performance.js.map +1 -0
  247. package/runtime/lib/snapshot/lynx/portals.d.ts +9 -0
  248. package/runtime/lib/snapshot/lynx/portals.js +120 -0
  249. package/runtime/lib/snapshot/lynx/portals.js.map +1 -0
  250. package/runtime/lib/snapshot/lynx/portalsPending.d.ts +10 -0
  251. package/runtime/lib/snapshot/lynx/portalsPending.js +38 -0
  252. package/runtime/lib/snapshot/lynx/portalsPending.js.map +1 -0
  253. package/runtime/lib/{lynx → snapshot/lynx}/runWithForce.js +2 -2
  254. package/runtime/lib/snapshot/lynx/runWithForce.js.map +1 -0
  255. package/runtime/lib/{lynx → snapshot/lynx}/suspense.js +27 -17
  256. package/runtime/lib/snapshot/lynx/suspense.js.map +1 -0
  257. package/runtime/lib/{lynx → snapshot/lynx}/tt.js +3 -3
  258. package/runtime/lib/snapshot/lynx/tt.js.map +1 -0
  259. package/runtime/lib/{renderToOpcodes → snapshot/renderToOpcodes}/hydrate.js +22 -5
  260. package/runtime/lib/snapshot/renderToOpcodes/hydrate.js.map +1 -0
  261. package/runtime/lib/{renderToOpcodes → snapshot/renderToOpcodes}/index.js +35 -14
  262. package/runtime/lib/snapshot/renderToOpcodes/index.js.map +1 -0
  263. package/runtime/lib/{renderToOpcodes → snapshot/renderToOpcodes}/opcodes.js +5 -3
  264. package/runtime/lib/snapshot/renderToOpcodes/opcodes.js.map +1 -0
  265. package/runtime/lib/snapshot/{backgroundSnapshot.d.ts → snapshot/backgroundSnapshot.d.ts} +2 -1
  266. package/runtime/lib/snapshot/{backgroundSnapshot.js → snapshot/backgroundSnapshot.js} +101 -73
  267. package/runtime/lib/snapshot/snapshot/backgroundSnapshot.js.map +1 -0
  268. package/runtime/lib/snapshot/{constants.d.ts → snapshot/constants.d.ts} +4 -0
  269. package/runtime/lib/snapshot/{constants.js → snapshot/constants.js} +4 -0
  270. package/runtime/lib/snapshot/snapshot/constants.js.map +1 -0
  271. package/runtime/lib/snapshot/{definition.d.ts → snapshot/definition.d.ts} +2 -0
  272. package/runtime/lib/snapshot/{definition.js → snapshot/definition.js} +55 -3
  273. package/runtime/lib/snapshot/snapshot/definition.js.map +1 -0
  274. package/runtime/lib/snapshot/{dynamicPartType.d.ts → snapshot/dynamicPartType.d.ts} +14 -0
  275. package/runtime/lib/snapshot/{dynamicPartType.js → snapshot/dynamicPartType.js} +14 -0
  276. package/runtime/lib/snapshot/snapshot/dynamicPartType.js.map +1 -0
  277. package/runtime/lib/snapshot/{event.d.ts → snapshot/event.d.ts} +1 -1
  278. package/runtime/lib/snapshot/{event.js → snapshot/event.js} +0 -4
  279. package/runtime/lib/snapshot/snapshot/event.js.map +1 -0
  280. package/runtime/lib/snapshot/{gesture.js → snapshot/gesture.js} +9 -3
  281. package/runtime/lib/snapshot/snapshot/gesture.js.map +1 -0
  282. package/runtime/lib/snapshot/snapshot/index.d.ts +4 -0
  283. package/runtime/lib/snapshot/snapshot/index.js +8 -0
  284. package/runtime/lib/snapshot/snapshot/index.js.map +1 -0
  285. package/runtime/lib/snapshot/snapshot/list.js.map +1 -0
  286. package/runtime/lib/snapshot/snapshot/platformInfo.js.map +1 -0
  287. package/runtime/lib/snapshot/snapshot/reconstructInstanceTree.d.ts +14 -0
  288. package/runtime/lib/snapshot/snapshot/reconstructInstanceTree.js +27 -0
  289. package/runtime/lib/snapshot/snapshot/reconstructInstanceTree.js.map +1 -0
  290. package/runtime/lib/snapshot/{ref.d.ts → snapshot/ref.d.ts} +1 -0
  291. package/runtime/lib/snapshot/{ref.js → snapshot/ref.js} +13 -1
  292. package/runtime/lib/snapshot/snapshot/ref.js.map +1 -0
  293. package/runtime/lib/snapshot/{snapshot.d.ts → snapshot/snapshot.d.ts} +1 -0
  294. package/runtime/lib/snapshot/{snapshot.js → snapshot/snapshot.js} +90 -11
  295. package/runtime/lib/snapshot/snapshot/snapshot.js.map +1 -0
  296. package/runtime/lib/snapshot/snapshot/snapshotInstanceHydrationMap.js.map +1 -0
  297. package/runtime/lib/snapshot/{spread.d.ts → snapshot/spread.d.ts} +1 -1
  298. package/runtime/lib/snapshot/{spread.js → snapshot/spread.js} +35 -4
  299. package/runtime/lib/snapshot/snapshot/spread.js.map +1 -0
  300. package/runtime/lib/snapshot/{types.d.ts → snapshot/types.d.ts} +1 -0
  301. package/runtime/lib/snapshot/snapshot/types.js.map +1 -0
  302. package/runtime/lib/snapshot/{utils.d.ts → snapshot/utils.d.ts} +1 -3
  303. package/runtime/lib/snapshot/{utils.js → snapshot/utils.js} +5 -0
  304. package/runtime/lib/snapshot/snapshot/utils.js.map +1 -0
  305. package/runtime/lib/snapshot/{workletEvent.d.ts → snapshot/workletEvent.d.ts} +1 -1
  306. package/runtime/lib/snapshot/{workletEvent.js → snapshot/workletEvent.js} +10 -5
  307. package/runtime/lib/snapshot/snapshot/workletEvent.js.map +1 -0
  308. package/runtime/lib/snapshot/{workletRef.d.ts → snapshot/workletRef.d.ts} +1 -1
  309. package/runtime/lib/snapshot/{workletRef.js → snapshot/workletRef.js} +6 -3
  310. package/runtime/lib/snapshot/snapshot/workletRef.js.map +1 -0
  311. package/runtime/lib/snapshot/worklet/call/delayedRunOnMainThreadData.js.map +1 -0
  312. package/runtime/lib/snapshot/worklet/call/execMap.js.map +1 -0
  313. package/runtime/lib/snapshot/worklet/call/functionCall.js.map +1 -0
  314. package/runtime/lib/snapshot/worklet/call/runOnBackground.js.map +1 -0
  315. package/runtime/lib/snapshot/worklet/call/runOnMainThread.js.map +1 -0
  316. package/runtime/lib/snapshot/worklet/call/transformToWorklet.js.map +1 -0
  317. package/runtime/lib/snapshot/worklet/ctx.d.ts +1 -0
  318. package/runtime/lib/snapshot/worklet/ctx.js.map +1 -0
  319. package/runtime/lib/snapshot/worklet/destroy.js.map +1 -0
  320. package/runtime/lib/{worklet → snapshot/worklet}/functionality.js +1 -1
  321. package/runtime/lib/snapshot/worklet/functionality.js.map +1 -0
  322. package/runtime/lib/snapshot/worklet/hmr.js.map +1 -0
  323. package/runtime/lib/snapshot/worklet/indexMap.js.map +1 -0
  324. package/runtime/lib/snapshot/worklet/ref/updateInitValue.js.map +1 -0
  325. package/runtime/lib/{worklet → snapshot/worklet}/ref/workletRef.js +1 -1
  326. package/runtime/lib/snapshot/worklet/ref/workletRef.js.map +1 -0
  327. package/runtime/lib/snapshot/worklet/ref/workletRefPool.js.map +1 -0
  328. package/runtime/lib/tsconfig.tsbuildinfo +1 -1
  329. package/runtime/lib/utils.js +1 -1
  330. package/runtime/lib/utils.js.map +1 -1
  331. package/runtime/lib/worklet-runtime/bindings/observers.d.ts +1 -0
  332. package/runtime/lib/worklet-runtime/bindings/observers.js +5 -3
  333. package/runtime/lib/worklet-runtime/bindings/observers.js.map +1 -1
  334. package/runtime/lib/worklet-runtime/bindings/types.d.ts +1 -1
  335. package/runtime/lib/worklet-runtime/bindings/types.js.map +1 -1
  336. package/runtime/lib/worklet-runtime/hydrate.js +1 -1
  337. package/runtime/lib/worklet-runtime/hydrate.js.map +1 -1
  338. package/runtime/lib/worklet-runtime/jsFunctionLifecycle.d.ts +1 -0
  339. package/runtime/lib/worklet-runtime/jsFunctionLifecycle.js +5 -0
  340. package/runtime/lib/worklet-runtime/jsFunctionLifecycle.js.map +1 -1
  341. package/runtime/lib/worklet-runtime/workletRuntime.js +1 -2
  342. package/runtime/lib/worklet-runtime/workletRuntime.js.map +1 -1
  343. package/runtime/worklet-runtime/dev.js +8 -4
  344. package/runtime/worklet-runtime/main.js +1 -1
  345. package/testing-library/dist/env/index.js +25 -7
  346. package/testing-library/dist/fire-event.d.ts +21 -7
  347. package/testing-library/dist/index.d.ts +2 -0
  348. package/testing-library/dist/pure.js +29 -11
  349. package/testing-library/dist/setupFiles/common/runtime-setup.js +14 -49
  350. package/testing-library/dist/type-entry/index.js +0 -0
  351. package/transform/dist/wasm.cjs +1274 -665
  352. package/transform/index.d.ts +28 -1
  353. package/types/react.docs.d.ts +9 -1
  354. package/refresh/.gitignore +0 -1
  355. package/refresh/.npmignore +0 -3
  356. package/refresh/.turbo/turbo-build.log +0 -12
  357. package/refresh/package.json +0 -20
  358. package/refresh/rslib.config.ts +0 -24
  359. package/refresh/tsconfig.json +0 -4
  360. package/refresh/turbo.json +0 -15
  361. package/runtime/lib/alog/elementPAPICall.js.map +0 -1
  362. package/runtime/lib/alog/index.js.map +0 -1
  363. package/runtime/lib/alog/render.js.map +0 -1
  364. package/runtime/lib/compat/componentIs.js.map +0 -1
  365. package/runtime/lib/compat/initData.js.map +0 -1
  366. package/runtime/lib/compat/lynxComponent.js.map +0 -1
  367. package/runtime/lib/debug/component-stack.js.map +0 -1
  368. package/runtime/lib/debug/debug.js.map +0 -1
  369. package/runtime/lib/debug/describeInvalidValue.js.map +0 -1
  370. package/runtime/lib/debug/formatPatch.js.map +0 -1
  371. package/runtime/lib/debug/printSnapshot.js.map +0 -1
  372. package/runtime/lib/debug/profile.js.map +0 -1
  373. package/runtime/lib/debug/profileHooks.js.map +0 -1
  374. package/runtime/lib/debug/vnodeSource.js.map +0 -1
  375. package/runtime/lib/gesture/processGesture.js.map +0 -1
  376. package/runtime/lib/gesture/processGestureBagkround.d.ts +0 -2
  377. package/runtime/lib/gesture/processGestureBagkround.js +0 -19
  378. package/runtime/lib/gesture/processGestureBagkround.js.map +0 -1
  379. package/runtime/lib/gesture/types.js.map +0 -1
  380. package/runtime/lib/hooks/mainThread.js.map +0 -1
  381. package/runtime/lib/hooks/react.js.map +0 -1
  382. package/runtime/lib/hooks/useLynxGlobalEventListener.js.map +0 -1
  383. package/runtime/lib/legacy-react-runtime/index.js.map +0 -1
  384. package/runtime/lib/lifecycle/constant.js.map +0 -1
  385. package/runtime/lib/lifecycle/destroy.js.map +0 -1
  386. package/runtime/lib/lifecycle/event/delayEvents.js.map +0 -1
  387. package/runtime/lib/lifecycle/event/delayLifecycleEvents.js.map +0 -1
  388. package/runtime/lib/lifecycle/event/jsReady.js.map +0 -1
  389. package/runtime/lib/lifecycle/isRendering.js.map +0 -1
  390. package/runtime/lib/lifecycle/pass.js.map +0 -1
  391. package/runtime/lib/lifecycle/patch/commit.js.map +0 -1
  392. package/runtime/lib/lifecycle/patch/error.js.map +0 -1
  393. package/runtime/lib/lifecycle/patch/globalState.js.map +0 -1
  394. package/runtime/lib/lifecycle/patch/isMainThreadHydrating.js.map +0 -1
  395. package/runtime/lib/lifecycle/patch/snapshotPatch.js.map +0 -1
  396. package/runtime/lib/lifecycle/patch/snapshotPatchApply.js.map +0 -1
  397. package/runtime/lib/lifecycle/patch/updateMainThread.js.map +0 -1
  398. package/runtime/lib/lifecycle/ref/delay.js.map +0 -1
  399. package/runtime/lib/lifecycle/reload.js.map +0 -1
  400. package/runtime/lib/lifecycle/render.js.map +0 -1
  401. package/runtime/lib/list/list.js.map +0 -1
  402. package/runtime/lib/list/listUpdateInfo.js.map +0 -1
  403. package/runtime/lib/list/pendingListUpdates.js.map +0 -1
  404. package/runtime/lib/lynx/calledByNative.js.map +0 -1
  405. package/runtime/lib/lynx/component.js.map +0 -1
  406. package/runtime/lib/lynx/dynamic-js.js.map +0 -1
  407. package/runtime/lib/lynx/env.js.map +0 -1
  408. package/runtime/lib/lynx/injectLepusMethods.js.map +0 -1
  409. package/runtime/lib/lynx/lazy-bundle.js.map +0 -1
  410. package/runtime/lib/lynx/performance.js.map +0 -1
  411. package/runtime/lib/lynx/runWithForce.js.map +0 -1
  412. package/runtime/lib/lynx/suspense.js.map +0 -1
  413. package/runtime/lib/lynx/tt.js.map +0 -1
  414. package/runtime/lib/renderToOpcodes/constants.js.map +0 -1
  415. package/runtime/lib/renderToOpcodes/hydrate.js.map +0 -1
  416. package/runtime/lib/renderToOpcodes/index.js.map +0 -1
  417. package/runtime/lib/renderToOpcodes/opcodes.js.map +0 -1
  418. package/runtime/lib/snapshot/backgroundSnapshot.js.map +0 -1
  419. package/runtime/lib/snapshot/constants.js.map +0 -1
  420. package/runtime/lib/snapshot/definition.js.map +0 -1
  421. package/runtime/lib/snapshot/dynamicPartType.js.map +0 -1
  422. package/runtime/lib/snapshot/event.js.map +0 -1
  423. package/runtime/lib/snapshot/gesture.js.map +0 -1
  424. package/runtime/lib/snapshot/list.js.map +0 -1
  425. package/runtime/lib/snapshot/platformInfo.js.map +0 -1
  426. package/runtime/lib/snapshot/ref.js.map +0 -1
  427. package/runtime/lib/snapshot/snapshot.js.map +0 -1
  428. package/runtime/lib/snapshot/snapshotInstanceHydrationMap.js.map +0 -1
  429. package/runtime/lib/snapshot/spread.js.map +0 -1
  430. package/runtime/lib/snapshot/types.js.map +0 -1
  431. package/runtime/lib/snapshot/utils.js.map +0 -1
  432. package/runtime/lib/snapshot/workletEvent.js.map +0 -1
  433. package/runtime/lib/snapshot/workletRef.js.map +0 -1
  434. package/runtime/lib/worklet/call/delayedRunOnMainThreadData.js.map +0 -1
  435. package/runtime/lib/worklet/call/execMap.js.map +0 -1
  436. package/runtime/lib/worklet/call/functionCall.js.map +0 -1
  437. package/runtime/lib/worklet/call/runOnBackground.js.map +0 -1
  438. package/runtime/lib/worklet/call/runOnMainThread.js.map +0 -1
  439. package/runtime/lib/worklet/call/transformToWorklet.js.map +0 -1
  440. package/runtime/lib/worklet/ctx.js.map +0 -1
  441. package/runtime/lib/worklet/destroy.js.map +0 -1
  442. package/runtime/lib/worklet/functionality.js.map +0 -1
  443. package/runtime/lib/worklet/hmr.js.map +0 -1
  444. package/runtime/lib/worklet/indexMap.js.map +0 -1
  445. package/runtime/lib/worklet/ref/updateInitValue.js.map +0 -1
  446. package/runtime/lib/worklet/ref/workletRef.js.map +0 -1
  447. package/runtime/lib/worklet/ref/workletRefPool.js.map +0 -1
  448. package/testing-library/README.md +0 -109
  449. /package/runtime/lib/{hooks → core/hooks}/react.d.ts +0 -0
  450. /package/runtime/lib/{lynx → element-template/lynx}/env.d.ts +0 -0
  451. /package/runtime/lib/{lynx/calledByNative.d.ts → element-template/native/main-thread-api.d.ts} +0 -0
  452. /package/runtime/lib/{lynx/component.d.ts → element-template/runtime/components/slot.d.ts} +0 -0
  453. /package/runtime/lib/{lifecycle/render.d.ts → element-template/runtime/render/render-main-thread.d.ts} +0 -0
  454. /package/runtime/lib/{debug → shared}/component-stack.d.ts +0 -0
  455. /package/runtime/lib/{debug → shared}/profile.d.ts +0 -0
  456. /package/runtime/lib/{renderToOpcodes/constants.d.ts → shared/render-constants.d.ts} +0 -0
  457. /package/runtime/lib/{alog → snapshot/alog}/elementPAPICall.d.ts +0 -0
  458. /package/runtime/lib/{alog → snapshot/alog}/index.d.ts +0 -0
  459. /package/runtime/lib/{alog → snapshot/alog}/index.js +0 -0
  460. /package/runtime/lib/{alog → snapshot/alog}/render.d.ts +0 -0
  461. /package/runtime/lib/{compat → snapshot/compat}/componentIs.d.ts +0 -0
  462. /package/runtime/lib/{compat → snapshot/compat}/componentIs.js +0 -0
  463. /package/runtime/lib/{compat → snapshot/compat}/lynxComponent.d.ts +0 -0
  464. /package/runtime/lib/{compat → snapshot/compat}/lynxComponent.js +0 -0
  465. /package/runtime/lib/{debug → snapshot/debug}/debug.d.ts +0 -0
  466. /package/runtime/lib/{debug → snapshot/debug}/debug.js +0 -0
  467. /package/runtime/lib/{debug → snapshot/debug}/describeInvalidValue.d.ts +0 -0
  468. /package/runtime/lib/{debug → snapshot/debug}/describeInvalidValue.js +0 -0
  469. /package/runtime/lib/{debug → snapshot/debug}/formatPatch.d.ts +0 -0
  470. /package/runtime/lib/{debug → snapshot/debug}/formatPatch.js +0 -0
  471. /package/runtime/lib/{debug → snapshot/debug}/printSnapshot.d.ts +0 -0
  472. /package/runtime/lib/{debug → snapshot/debug}/printSnapshot.js +0 -0
  473. /package/runtime/lib/{debug → snapshot/debug}/profileHooks.d.ts +0 -0
  474. /package/runtime/lib/{debug → snapshot/debug}/vnodeSource.d.ts +0 -0
  475. /package/runtime/lib/{gesture → snapshot/gesture}/types.d.ts +0 -0
  476. /package/runtime/lib/{gesture → snapshot/gesture}/types.js +0 -0
  477. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/constant.d.ts +0 -0
  478. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/constant.js +0 -0
  479. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/destroy.d.ts +0 -0
  480. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/event/delayEvents.d.ts +0 -0
  481. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/event/delayEvents.js +0 -0
  482. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/event/delayLifecycleEvents.d.ts +0 -0
  483. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/event/delayLifecycleEvents.js +0 -0
  484. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/event/jsReady.d.ts +0 -0
  485. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/isRendering.d.ts +0 -0
  486. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/pass.d.ts +0 -0
  487. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/pass.js +0 -0
  488. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/commit.d.ts +0 -0
  489. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/error.d.ts +0 -0
  490. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/error.js +0 -0
  491. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/globalState.d.ts +0 -0
  492. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/globalState.js +0 -0
  493. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/isMainThreadHydrating.d.ts +0 -0
  494. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/isMainThreadHydrating.js +0 -0
  495. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/snapshotPatchApply.d.ts +0 -0
  496. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/updateMainThread.d.ts +0 -0
  497. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/updateMainThread.js +0 -0
  498. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/reload.d.ts +0 -0
  499. /package/runtime/lib/{list → snapshot/list}/list.d.ts +0 -0
  500. /package/runtime/lib/{list → snapshot/list}/listUpdateInfo.d.ts +0 -0
  501. /package/runtime/lib/{list → snapshot/list}/pendingListUpdates.d.ts +0 -0
  502. /package/runtime/lib/{list → snapshot/list}/pendingListUpdates.js +0 -0
  503. /package/runtime/lib/{worklet/call/execMap.d.ts → snapshot/lynx/component.d.ts} +0 -0
  504. /package/runtime/lib/{lynx → snapshot/lynx}/dynamic-js.d.ts +0 -0
  505. /package/runtime/lib/{lynx → snapshot/lynx}/dynamic-js.js +0 -0
  506. /package/runtime/lib/{lynx → snapshot/lynx}/injectLepusMethods.d.ts +0 -0
  507. /package/runtime/lib/{lynx → snapshot/lynx}/injectLepusMethods.js +0 -0
  508. /package/runtime/lib/{lynx → snapshot/lynx}/lazy-bundle.d.ts +0 -0
  509. /package/runtime/lib/{lynx → snapshot/lynx}/lazy-bundle.js +0 -0
  510. /package/runtime/lib/{lynx → snapshot/lynx}/performance.d.ts +0 -0
  511. /package/runtime/lib/{lynx → snapshot/lynx}/runWithForce.d.ts +0 -0
  512. /package/runtime/lib/{lynx → snapshot/lynx}/suspense.d.ts +0 -0
  513. /package/runtime/lib/{lynx → snapshot/lynx}/tt.d.ts +0 -0
  514. /package/runtime/lib/{renderToOpcodes → snapshot/renderToOpcodes}/hydrate.d.ts +0 -0
  515. /package/runtime/lib/{renderToOpcodes → snapshot/renderToOpcodes}/index.d.ts +0 -0
  516. /package/runtime/lib/{renderToOpcodes → snapshot/renderToOpcodes}/opcodes.d.ts +0 -0
  517. /package/runtime/lib/snapshot/{gesture.d.ts → snapshot/gesture.d.ts} +0 -0
  518. /package/runtime/lib/snapshot/{list.d.ts → snapshot/list.d.ts} +0 -0
  519. /package/runtime/lib/snapshot/{list.js → snapshot/list.js} +0 -0
  520. /package/runtime/lib/snapshot/{platformInfo.d.ts → snapshot/platformInfo.d.ts} +0 -0
  521. /package/runtime/lib/snapshot/{platformInfo.js → snapshot/platformInfo.js} +0 -0
  522. /package/runtime/lib/snapshot/{snapshotInstanceHydrationMap.d.ts → snapshot/snapshotInstanceHydrationMap.d.ts} +0 -0
  523. /package/runtime/lib/snapshot/{snapshotInstanceHydrationMap.js → snapshot/snapshotInstanceHydrationMap.js} +0 -0
  524. /package/runtime/lib/snapshot/{types.js → snapshot/types.js} +0 -0
  525. /package/runtime/lib/{worklet → snapshot/worklet}/call/delayedRunOnMainThreadData.d.ts +0 -0
  526. /package/runtime/lib/{worklet → snapshot/worklet}/call/delayedRunOnMainThreadData.js +0 -0
  527. /package/runtime/lib/{worklet/call/transformToWorklet.d.ts → snapshot/worklet/call/execMap.d.ts} +0 -0
  528. /package/runtime/lib/{worklet → snapshot/worklet}/call/execMap.js +0 -0
  529. /package/runtime/lib/{worklet → snapshot/worklet}/call/functionCall.d.ts +0 -0
  530. /package/runtime/lib/{worklet → snapshot/worklet}/call/functionCall.js +0 -0
  531. /package/runtime/lib/{worklet → snapshot/worklet}/call/runOnBackground.d.ts +0 -0
  532. /package/runtime/lib/{worklet → snapshot/worklet}/call/runOnBackground.js +0 -0
  533. /package/runtime/lib/{worklet → snapshot/worklet}/call/runOnMainThread.d.ts +0 -0
  534. /package/runtime/lib/{worklet → snapshot/worklet}/call/runOnMainThread.js +0 -0
  535. /package/runtime/lib/{worklet/ctx.d.ts → snapshot/worklet/call/transformToWorklet.d.ts} +0 -0
  536. /package/runtime/lib/{worklet → snapshot/worklet}/call/transformToWorklet.js +0 -0
  537. /package/runtime/lib/{worklet → snapshot/worklet}/ctx.js +0 -0
  538. /package/runtime/lib/{worklet → snapshot/worklet}/destroy.d.ts +0 -0
  539. /package/runtime/lib/{worklet → snapshot/worklet}/destroy.js +0 -0
  540. /package/runtime/lib/{worklet → snapshot/worklet}/functionality.d.ts +0 -0
  541. /package/runtime/lib/{worklet → snapshot/worklet}/hmr.d.ts +0 -0
  542. /package/runtime/lib/{worklet → snapshot/worklet}/hmr.js +0 -0
  543. /package/runtime/lib/{worklet → snapshot/worklet}/indexMap.d.ts +0 -0
  544. /package/runtime/lib/{worklet → snapshot/worklet}/indexMap.js +0 -0
  545. /package/runtime/lib/{worklet → snapshot/worklet}/ref/updateInitValue.d.ts +0 -0
  546. /package/runtime/lib/{worklet → snapshot/worklet}/ref/updateInitValue.js +0 -0
  547. /package/runtime/lib/{worklet → snapshot/worklet}/ref/workletRef.d.ts +0 -0
  548. /package/runtime/lib/{worklet → snapshot/worklet}/ref/workletRefPool.d.ts +0 -0
  549. /package/runtime/lib/{worklet → snapshot/worklet}/ref/workletRefPool.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backgroundSnapshot.js","sourceRoot":"","sources":["../../../src/snapshot/snapshot/backgroundSnapshot.ts"],"names":[],"mappings":"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"}
@@ -9,3 +9,7 @@ export declare const DEFAULT_ENTRY_NAME = "__Card__";
9
9
  * Default CSS ID for snapshots.
10
10
  */
11
11
  export declare const DEFAULT_CSS_ID = 0;
12
+ /**
13
+ * Default snapshot type for compiled snapshots.
14
+ */
15
+ export declare const COMPILED_SNAPSHOT = "__snapshot";
@@ -12,4 +12,8 @@ export const DEFAULT_ENTRY_NAME = '__Card__';
12
12
  * Default CSS ID for snapshots.
13
13
  */
14
14
  export const DEFAULT_CSS_ID = 0;
15
+ /**
16
+ * Default snapshot type for compiled snapshots.
17
+ */
18
+ export const COMPILED_SNAPSHOT = '__snapshot';
15
19
  //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/snapshot/snapshot/constants.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D;;GAEG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC"}
@@ -13,6 +13,7 @@ export interface Snapshot {
13
13
  update: null | ((ctx: SnapshotInstance, index: number, oldValue: any) => void)[];
14
14
  slot: [DynamicPartType, number][];
15
15
  isListHolder?: boolean;
16
+ isSlotV2?: boolean;
16
17
  cssId?: number | undefined;
17
18
  entryName?: string | undefined;
18
19
  refAndSpreadIndexes?: number[] | null;
@@ -27,3 +28,4 @@ export declare const snapshotManager: {
27
28
  * Creates a new snapshot definition and adds it to the manager
28
29
  */
29
30
  export declare function createSnapshot(uniqID: string, create: Snapshot['create'] | null, update: Snapshot['update'] | null, slot: Snapshot['slot'], cssId: number | undefined, entryName: string | undefined, refAndSpreadIndexes: number[] | null, isLazySnapshotSupported?: boolean): string;
31
+ export declare function createRuntimeSnapshot(type: string): void;
@@ -5,7 +5,9 @@
5
5
  * Snapshot manager that manages all snapshot definitions.
6
6
  */
7
7
  import { DEFAULT_ENTRY_NAME } from './constants.js';
8
- import { DynamicPartType, __DynamicPartChildren_0 } from './dynamicPartType.js';
8
+ import { DynamicPartType, __DynamicPartChildren_0, __DynamicPartListSlotV2_0, __DynamicPartSlotV2_0, } from './dynamicPartType.js';
9
+ import { snapshotCreateList } from './list.js';
10
+ import { updateSpread } from './spread.js';
9
11
  import { entryUniqID } from './utils.js';
10
12
  import { SnapshotOperation, __globalSnapshotPatch } from '../lifecycle/patch/snapshotPatch.js';
11
13
  export let __page;
@@ -101,9 +103,59 @@ export function createSnapshot(uniqID, create, update, slot, cssId, entryName, r
101
103
  }
102
104
  const s = { create, update, slot, cssId, entryName, refAndSpreadIndexes };
103
105
  snapshotManager.values.set(uniqID, s);
104
- if (slot && slot[0] && slot[0][0] === DynamicPartType.ListChildren) {
105
- s.isListHolder = true;
106
+ if (slot && slot[0]) {
107
+ const v = slot[0][0];
108
+ if (v === DynamicPartType.ListChildren || v === DynamicPartType.ListSlotV2) {
109
+ s.isListHolder = true;
110
+ }
111
+ s.isSlotV2 = slot.every(([type]) => type === DynamicPartType.SlotV2 || type === DynamicPartType.ListSlotV2);
106
112
  }
107
113
  return uniqID;
108
114
  }
115
+ export function createRuntimeSnapshot(type) {
116
+ const isListHolder = type === 'list';
117
+ snapshotManager.values.set(type, {
118
+ create(snapshotInstance) {
119
+ /* v8 ignore start */
120
+ if (__JS__ && !__DEV__) {
121
+ return [];
122
+ }
123
+ // Keep runtime-created element creation consistent with the compiled snapshot path
124
+ // (see swc_plugin_snapshot tag dispatch).
125
+ switch (type) {
126
+ case 'view':
127
+ return [__CreateView(__pageId)];
128
+ case 'scroll-view':
129
+ case 'x-scroll-view':
130
+ return [__CreateScrollView(__pageId)];
131
+ case 'image':
132
+ return [__CreateImage(__pageId)];
133
+ case 'text':
134
+ return [__CreateText(__pageId)];
135
+ case 'wrapper':
136
+ return [__CreateWrapperElement(__pageId)];
137
+ case 'list':
138
+ return [snapshotCreateList(__pageId, snapshotInstance, 0)];
139
+ case 'frame':
140
+ return [__CreateFrame(__pageId)];
141
+ default:
142
+ return [__CreateElement(type, __pageId)];
143
+ }
144
+ /* v8 ignore stop */
145
+ },
146
+ update: [
147
+ (ctx, index, oldValue) => {
148
+ /* v8 ignore start */
149
+ if (__JS__ && !__DEV__) {
150
+ return;
151
+ }
152
+ /* v8 ignore stop */
153
+ updateSpread(ctx, index, oldValue, 0);
154
+ },
155
+ ],
156
+ slot: isListHolder ? __DynamicPartListSlotV2_0 : __DynamicPartSlotV2_0,
157
+ isListHolder,
158
+ refAndSpreadIndexes: [0],
159
+ });
160
+ }
109
161
  //# sourceMappingURL=definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../src/snapshot/snapshot/definition.ts"],"names":[],"mappings":"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"}
@@ -9,9 +9,23 @@ export declare const DynamicPartType: {
9
9
  readonly Children: 3;
10
10
  readonly ListChildren: 4;
11
11
  readonly MultiChildren: 5;
12
+ readonly SlotV2: 6;
13
+ readonly ListSlotV2: 7;
12
14
  };
13
15
  export type DynamicPartType = (typeof DynamicPartType)[keyof typeof DynamicPartType];
14
16
  /**
15
17
  * Default dynamic part for children
16
18
  */
17
19
  export declare const __DynamicPartChildren_0: [DynamicPartType, number][];
20
+ /**
21
+ * Default dynamic part for list children
22
+ */
23
+ export declare const __DynamicPartListChildren_0: [DynamicPartType, number][];
24
+ /**
25
+ * Dynamic part for slot v2
26
+ */
27
+ export declare const __DynamicPartSlotV2_0: [DynamicPartType, number][];
28
+ /**
29
+ * Dynamic part for list slot v2
30
+ */
31
+ export declare const __DynamicPartListSlotV2_0: [DynamicPartType, number][];
@@ -12,9 +12,23 @@ export const DynamicPartType = {
12
12
  Children: 3, // Regular children updates
13
13
  ListChildren: 4, // List/array children updates
14
14
  MultiChildren: 5, // Multiple children updates (compat layer)
15
+ SlotV2: 6, // Slot for component children (Preact MultiSlots)
16
+ ListSlotV2: 7, // List/array children updates (Preact MultiSlots)
15
17
  };
16
18
  /**
17
19
  * Default dynamic part for children
18
20
  */
19
21
  export const __DynamicPartChildren_0 = [[DynamicPartType.Children, 0]];
22
+ /**
23
+ * Default dynamic part for list children
24
+ */
25
+ export const __DynamicPartListChildren_0 = [[DynamicPartType.ListChildren, 0]];
26
+ /**
27
+ * Dynamic part for slot v2
28
+ */
29
+ export const __DynamicPartSlotV2_0 = [[DynamicPartType.SlotV2, 0]];
30
+ /**
31
+ * Dynamic part for list slot v2
32
+ */
33
+ export const __DynamicPartListSlotV2_0 = [[DynamicPartType.ListSlotV2, 0]];
20
34
  //# sourceMappingURL=dynamicPartType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamicPartType.js","sourceRoot":"","sources":["../../../src/snapshot/snapshot/dynamicPartType.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,CAAC,EAAE,4BAA4B;IACrC,MAAM,EAAE,CAAC,EAAE,yBAAyB;IACpC,IAAI,EAAE,CAAC,EAAE,8BAA8B;IACvC,QAAQ,EAAE,CAAC,EAAE,2BAA2B;IACxC,YAAY,EAAE,CAAC,EAAE,8BAA8B;IAC/C,aAAa,EAAE,CAAC,EAAE,2CAA2C;IAC7D,MAAM,EAAE,CAAC,EAAE,kDAAkD;IAC7D,UAAU,EAAE,CAAC,EAAE,kDAAkD;CACzD,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAgC,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;AAEpG;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAgC,CAAC,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;AAE5G;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAgC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAEhG;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAgC,CAAC,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import { SnapshotInstance } from '../snapshot/snapshot.js';
1
+ import type { SnapshotInstance } from '../snapshot/snapshot.js';
2
2
  declare function updateEvent(snapshot: SnapshotInstance, expIndex: number, _oldValue: any, elementIndex: number, eventType: string, eventName: string, spreadKey: string): void;
3
3
  export { updateEvent };
@@ -1,7 +1,3 @@
1
- // Copyright 2024 The Lynx Authors. All rights reserved.
2
- // Licensed under the Apache License Version 2.0 that can be found in the
3
- // LICENSE file in the root directory of this source tree.
4
- import { SnapshotInstance } from '../snapshot/snapshot.js';
5
1
  function updateEvent(snapshot, expIndex, _oldValue, elementIndex, eventType, eventName, spreadKey) {
6
2
  const value = snapshot.__values[expIndex];
7
3
  let event;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/snapshot/snapshot/event.ts"],"names":[],"mappings":"AAKA,SAAS,WAAW,CAClB,QAA0B,EAC1B,QAAgB,EAChB,SAAc,EACd,YAAoB,EACpB,SAAiB,EACjB,SAAiB,EACjB,SAAiB;IAEjB,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAS,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,KAAK,CAAC;IACV,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,SAAS,CAAC;IACpB,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,KAAK,GAAG,KAAK,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;IACtD,CAAC;IAED,iBAAiB;IAEjB,QAAQ,CAAC,QAAS,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;IACrC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,15 +1,21 @@
1
1
  // Copyright 2025 The Lynx Authors. All rights reserved.
2
2
  // Licensed under the Apache License Version 2.0 that can be found in the
3
3
  // LICENSE file in the root directory of this source tree.
4
- import { processGesture } from '../gesture/processGesture.js';
4
+ import { processGesture, retainGestureWorkletCtx } from '../gesture/processGesture.js';
5
5
  import { isMainThreadHydrating } from '../lifecycle/patch/isMainThreadHydrating.js';
6
6
  export function updateGesture(snapshot, expIndex, oldValue, elementIndex, workletType) {
7
+ const value = snapshot.__values[expIndex];
8
+ if (workletType === 'main-thread') {
9
+ retainGestureWorkletCtx(value);
10
+ }
7
11
  if (!snapshot.__elements) {
8
12
  return;
9
13
  }
10
- const value = snapshot.__values[expIndex];
11
14
  if (workletType === 'main-thread') {
12
- processGesture(snapshot.__elements[elementIndex], value, oldValue, isMainThreadHydrating);
15
+ processGesture(snapshot.__elements[elementIndex], value, oldValue, isMainThreadHydrating, {
16
+ domSet: false,
17
+ retainCallbacks: false,
18
+ });
13
19
  }
14
20
  }
15
21
  //# sourceMappingURL=gesture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gesture.js","sourceRoot":"","sources":["../../../src/snapshot/snapshot/gesture.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAGpF,MAAM,UAAU,aAAa,CAC3B,QAA0B,EAC1B,QAAgB,EAChB,QAAa,EACb,YAAoB,EACpB,WAAmB;IAEnB,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAS,CAAC,QAAQ,CAAgB,CAAC;IAC1D,IAAI,WAAW,KAAK,aAAa,EAAE,CAAC;QAClC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,WAAW,KAAK,aAAa,EAAE,CAAC;QAClC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAE,EAAE,KAAK,EAAE,QAAuB,EAAE,qBAAqB,EAAE;YACxG,MAAM,EAAE,KAAK;YACb,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { BackgroundSnapshotInstance, backgroundSnapshotInstanceManager, hydrate } from './backgroundSnapshot.js';
2
+ export { SnapshotInstance, snapshotInstanceManager, snapshotCreatorMap } from './snapshot.js';
3
+ export { snapshotManager, createSnapshot, setupPage, __page, __pageId, clearPage } from './definition.js';
4
+ export { traverseSnapshotInstance } from './utils.js';
@@ -0,0 +1,8 @@
1
+ // Copyright 2026 The Lynx Authors. All rights reserved.
2
+ // Licensed under the Apache License Version 2.0 that can be found in the
3
+ // LICENSE file in the root directory of this source tree.
4
+ export { BackgroundSnapshotInstance, backgroundSnapshotInstanceManager, hydrate } from './backgroundSnapshot.js';
5
+ export { SnapshotInstance, snapshotInstanceManager, snapshotCreatorMap } from './snapshot.js';
6
+ export { snapshotManager, createSnapshot, setupPage, __page, __pageId, clearPage } from './definition.js';
7
+ export { traverseSnapshotInstance } from './utils.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/snapshot/snapshot/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,0BAA0B,EAAE,iCAAiC,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACjH,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/snapshot/snapshot/list.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAGxD,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAsB,CAAC;AAEhE,MAAM,UAAU,kBAAkB,CAChC,MAAc,EACd,IAAsB,EACtB,SAAiB;IAEjB,MAAM,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IACpD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyC,CAAC;IACpE,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,GAAG,uBAAuB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACpF,MAAM,IAAI,GAAG,YAAY,CACvB,MAAM,EACN,gBAAgB,EAChB,uBAAuB,EAAE,EACzB,EAAE,EACF,kBAAkB,CACnB,CAAC;IACF,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE1C,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QACxE,MAAM,EAAE,GAAG,GAAG,EAAE;YACd,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9C,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,IAAI,CAAC,SAAS,EAAE,EAAE,gBAAgB,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;QAC5D,yBAAyB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;IAC3B,WAAW,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;IACjC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAAoB;IACtD,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;IACpD,MAAM,IAAI,GAAG,EAAE,CAAC,UAAW,CAAC,YAAY,CAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE1C,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAE1D,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QACxE,MAAM,EAAE,GAAG,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,CAAC,SAAS,EAAE,EAAE,mBAAmB,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;YAC/D,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platformInfo.js","sourceRoot":"","sources":["../../../src/snapshot/snapshot/platformInfo.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGrE,MAAM,6BAA6B,GAAgB,eAAe,CAAC,IAAI,GAAG,CAAS;IACjF,kBAAkB;IAClB,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAgB,eAAe,CAAC,IAAI,GAAG,CAAS;IAC1E,kBAAkB;IAClB,WAAW;IACX,UAAU;IACV,YAAY;IACZ,eAAe;IACf,kBAAkB;IAClB,qBAAqB;IACrB,6BAA6B;IAC7B,YAAY;CACb,CAAC,CAAC;AAcH,SAAS,0BAA0B,CACjC,GAAqB,EACrB,KAAa,EACb,QAAa,EACb,YAAoB;IAEpB,MAAM,QAAQ,GAAG,GAAG,CAAC,sBAAsB,GAAG,GAAG,CAAC,QAAS,CAAC,KAAK,CAAiB,CAAC;IAEnF,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC;QAC5B,IAAI,IAAI,EAAE,cAAc,CAAC,YAAY,EAAE,CAAC;YACtC,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAC3F,GAAG,EACH,QAAQ,EACR,QAAQ,CACT,CAAC;QACJ,CAAC;IACH,CAAC;IAED,sGAAsG;IACtG,6BAA6B;IAC7B,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,YAAY,CAAE,CAAC;QACxC,MAAM,KAAK,GAAG,GAAG,CAAC,QAAS,CAAC,KAAK,CAA4B,CAAC;QAC9D,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,6BAA6B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,SAAS;YACX,CAAC;YACD,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;AACH,CAAC;AAED,OAAO,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Walk a `BackgroundSnapshotInstance` subtree depth-first and emit the
3
+ * `CreateElement` / `SetAttributes` / `InsertBefore` ops needed to rebuild
4
+ * it on the main thread.
5
+ *
6
+ * Extracted into its own module so both `backgroundSnapshot.ts` (used by
7
+ * lazy / Suspense reattach) and `portalsPending.ts` (used by portal
8
+ * pre-hydrate replay) can share the helper without forming an import
9
+ * cycle. The function only depends on the `BackgroundSnapshotInstance`
10
+ * type — its concrete shape is supplied by callers — so we use
11
+ * `import type` to keep the dependency type-only at runtime.
12
+ */
13
+ import type { BackgroundSnapshotInstance } from './backgroundSnapshot.js';
14
+ export declare function reconstructInstanceTree(afters: BackgroundSnapshotInstance[], parentId?: number, targetId?: number): void;
@@ -0,0 +1,27 @@
1
+ // Copyright 2026 The Lynx Authors. All rights reserved.
2
+ // Licensed under the Apache License Version 2.0 that can be found in the
3
+ // LICENSE file in the root directory of this source tree.
4
+ import { SnapshotOperation, __globalSnapshotPatch } from '../lifecycle/patch/snapshotPatch.js';
5
+ export function reconstructInstanceTree(afters, parentId, targetId) {
6
+ for (const child of afters) {
7
+ const id = child.__id;
8
+ __globalSnapshotPatch?.push(SnapshotOperation.CreateElement, child.type, id);
9
+ const values = child.__values;
10
+ if (values) {
11
+ child.__values = undefined;
12
+ child.setAttribute('values', values);
13
+ }
14
+ const extraProps = child.__extraProps;
15
+ for (const key in extraProps) {
16
+ child.setAttribute(key, extraProps[key]);
17
+ }
18
+ reconstructInstanceTree(child.childNodes, id);
19
+ // Skip the parent link when `parentId` is `undefined` — used by portal,
20
+ // where the topmost reconstructed node has no BSI parent (it is attached
21
+ // to a NodesRef-resolved host element via `nodesRefInsertBefore`).
22
+ if (parentId !== undefined) {
23
+ __globalSnapshotPatch?.push(SnapshotOperation.InsertBefore, parentId, id, targetId, child.__slotIndex);
24
+ }
25
+ }
26
+ }
27
+ //# sourceMappingURL=reconstructInstanceTree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconstructInstanceTree.js","sourceRoot":"","sources":["../../../src/snapshot/snapshot/reconstructInstanceTree.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAgB1D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE/F,MAAM,UAAU,uBAAuB,CACrC,MAAoC,EACpC,QAAiB,EACjB,QAAiB;IAEjB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;QACtB,qBAAqB,EAAE,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC9B,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC3B,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC;QACtC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,uBAAuB,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC9C,wEAAwE;QACxE,yEAAyE;QACzE,mEAAmE;QACnE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,qBAAqB,EAAE,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -11,6 +11,7 @@ type Ref = (((ref: RefProxy) => (() => void) | void) | {
11
11
  declare function unref(snapshot: SnapshotInstance, recursive: boolean): void;
12
12
  declare function applyRef(ref: Ref, value: null | [snapshotInstanceId: number, expIndex: number]): void;
13
13
  declare function updateRef(snapshot: SnapshotInstance, expIndex: number, oldValue: string | null, elementIndex: number): void;
14
+ declare function getRefFromValue(val: unknown): Ref | null;
14
15
  declare function transformRef(ref: unknown): Ref | null | undefined;
15
16
  declare function applyQueuedRefs(): void;
16
17
  declare function queueRefAttrUpdate(oldRef: Ref | null | undefined, newRef: Ref | null | undefined, snapshotInstanceId: number, expIndex: number): void;
@@ -59,6 +59,18 @@ function updateRef(snapshot, expIndex, oldValue, elementIndex) {
59
59
  }
60
60
  }
61
61
  }
62
+ function getRefFromValue(val) {
63
+ if (!val || (typeof val !== 'object' && typeof val !== 'function')) {
64
+ return null;
65
+ }
66
+ if ('__spread' in val && 'ref' in val) {
67
+ return (val.ref) ?? null;
68
+ }
69
+ if ('__ref' in val) {
70
+ return val;
71
+ }
72
+ return null;
73
+ }
62
74
  function transformRef(ref) {
63
75
  if (ref === undefined || ref === null) {
64
76
  return ref;
@@ -105,5 +117,5 @@ function clearQueuedRefs() {
105
117
  /**
106
118
  * @internal
107
119
  */
108
- export { queueRefAttrUpdate, updateRef, unref, transformRef, applyRef, applyQueuedRefs, clearQueuedRefs };
120
+ export { queueRefAttrUpdate, updateRef, unref, transformRef, applyRef, applyQueuedRefs, clearQueuedRefs, getRefFromValue, };
109
121
  //# sourceMappingURL=ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ref.js","sourceRoot":"","sources":["../../../src/snapshot/snapshot/ref.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ export declare class SnapshotInstance {
31
31
  __worklet_ref_set?: Set<WorkletRefImpl<any> | Worklet>;
32
32
  __listItemPlatformInfo?: PlatformInfo;
33
33
  __extraProps?: Record<string, unknown> | undefined;
34
+ __slotIndex: number;
34
35
  constructor(type: string, id?: number);
35
36
  ensureElements(): void;
36
37
  unRenderElements(): void;
@@ -2,16 +2,16 @@
2
2
  // Licensed under the Apache License Version 2.0 that can be found in the
3
3
  // LICENSE file in the root directory of this source tree.
4
4
  import { DEFAULT_CSS_ID, DEFAULT_ENTRY_NAME } from './constants.js';
5
- import { snapshotManager } from './definition.js';
5
+ import { createRuntimeSnapshot, snapshotManager } from './definition.js';
6
6
  import { DynamicPartType, __DynamicPartChildren_0 } from './dynamicPartType.js';
7
7
  import { snapshotDestroyList } from './list.js';
8
8
  import { unref } from './ref.js';
9
- import { traverseSnapshotInstance } from './utils.js';
9
+ import { isCompiledSnapshot, traverseSnapshotInstance } from './utils.js';
10
+ import { isDirectOrDeepEqual } from '../../utils.js';
10
11
  import { clearSnapshotVNodeSource } from '../debug/vnodeSource.js';
11
12
  import { SnapshotOperation, __globalSnapshotPatch } from '../lifecycle/patch/snapshotPatch.js';
12
13
  import { ListUpdateInfoRecording } from '../list/listUpdateInfo.js';
13
14
  import { __pendingListUpdates } from '../list/pendingListUpdates.js';
14
- import { isDirectOrDeepEqual } from '../utils.js';
15
15
  export const snapshotInstanceManager = {
16
16
  nextId: 0,
17
17
  values: /* @__PURE__ */ new Map(),
@@ -23,6 +23,54 @@ export const snapshotInstanceManager = {
23
23
  }
24
24
  },
25
25
  };
26
+ function isRemovedSnapshot(value, removedSnapshots) {
27
+ return (typeof value === 'object' || typeof value === 'function') && value !== null
28
+ && removedSnapshots.has(value);
29
+ }
30
+ function clearRemovedSnapshotsFromArray(values, removedSnapshots, seen = new WeakSet()) {
31
+ if (seen.has(values)) {
32
+ return false;
33
+ }
34
+ seen.add(values);
35
+ let changed = false;
36
+ values.forEach((value, index) => {
37
+ if (isRemovedSnapshot(value, removedSnapshots)) {
38
+ values[index] = undefined;
39
+ changed = true;
40
+ }
41
+ else if (Array.isArray(value) && clearRemovedSnapshotsFromArray(value, removedSnapshots, seen)) {
42
+ changed = true;
43
+ }
44
+ });
45
+ return changed;
46
+ }
47
+ function collectRemovedSnapshots(removedChild) {
48
+ const removedSnapshots = new WeakSet();
49
+ traverseSnapshotInstance(removedChild, snapshot => {
50
+ removedSnapshots.add(snapshot);
51
+ });
52
+ return removedSnapshots;
53
+ }
54
+ function clearTransientChildPropRefs(owner, removedSnapshots) {
55
+ const props = owner.props;
56
+ if (!props) {
57
+ return;
58
+ }
59
+ for (const key of Object.keys(props)) {
60
+ // Named child props are transient staging refs. Once a child subtree is
61
+ // removed, they must not keep the old snapshots alive.
62
+ if (!key.startsWith('$')) {
63
+ continue;
64
+ }
65
+ const value = props[key];
66
+ if (isRemovedSnapshot(value, removedSnapshots)) {
67
+ delete props[key];
68
+ }
69
+ else if (Array.isArray(value)) {
70
+ clearRemovedSnapshotsFromArray(value, removedSnapshots);
71
+ }
72
+ }
73
+ }
26
74
  export let snapshotCreatorMap = {};
27
75
  if (__DEV__ && __JS__) {
28
76
  snapshotCreatorMap = new Proxy(snapshotCreatorMap, {
@@ -65,6 +113,7 @@ export class SnapshotInstance {
65
113
  __worklet_ref_set;
66
114
  __listItemPlatformInfo;
67
115
  __extraProps;
116
+ __slotIndex = 0;
68
117
  constructor(type, id) {
69
118
  this.type = type;
70
119
  // Suspense uses 'div'
@@ -72,7 +121,7 @@ export class SnapshotInstance {
72
121
  if (snapshotCreatorMap[type]) {
73
122
  snapshotCreatorMap[type](type);
74
123
  }
75
- else {
124
+ else if (isCompiledSnapshot(type)) {
76
125
  let message = 'Snapshot not found: ' + type;
77
126
  if (__DEV__) {
78
127
  message +=
@@ -80,6 +129,9 @@ export class SnapshotInstance {
80
129
  }
81
130
  throw new Error(message);
82
131
  }
132
+ else {
133
+ createRuntimeSnapshot(type);
134
+ }
83
135
  }
84
136
  this.__snapshot_def = snapshotManager.values.get(type);
85
137
  id ??= snapshotInstanceManager.nextId -= 1;
@@ -109,6 +161,10 @@ export class SnapshotInstance {
109
161
  __SetCSSId(this.__elements, cssId);
110
162
  }
111
163
  }
164
+ if (entryName !== DEFAULT_ENTRY_NAME && entryName !== undefined && this.parentNode
165
+ && entryName !== this.parentNode.__snapshot_def.entryName) {
166
+ __SetAttribute(this.__element_root, 'bundle-url', this.__snapshot_def.entryName);
167
+ }
112
168
  __pendingListUpdates.runWithoutUpdates(() => {
113
169
  const values = this.__values;
114
170
  if (values) {
@@ -135,7 +191,7 @@ export class SnapshotInstance {
135
191
  let child = this.__firstChild;
136
192
  while (child) {
137
193
  child.ensureElements();
138
- const [type, elementIndex] = slot[index];
194
+ const [type, elementIndex] = slot[this.__snapshot_def.isSlotV2 ? child.__slotIndex : index];
139
195
  switch (type) {
140
196
  case DynamicPartType.Slot: {
141
197
  __ReplaceElement(child.__element_root, elements[elementIndex]);
@@ -156,10 +212,14 @@ export class SnapshotInstance {
156
212
  }
157
213
  /* v8 ignore end */
158
214
  case DynamicPartType.Children:
159
- case DynamicPartType.ListChildren: {
215
+ case DynamicPartType.ListChildren:
216
+ case DynamicPartType.SlotV2:
217
+ case DynamicPartType.ListSlotV2: {
160
218
  __AppendElement(elements[elementIndex], child.__element_root);
161
219
  break;
162
220
  }
221
+ default:
222
+ throw new Error('Unexpected slot type: ' + type);
163
223
  }
164
224
  child = child.__nextSibling;
165
225
  }
@@ -185,6 +245,7 @@ export class SnapshotInstance {
185
245
  a.__id = this.__id;
186
246
  a.__snapshot_def = this.__snapshot_def;
187
247
  a.__values = this.__values;
248
+ a.__slotIndex = this.__slotIndex;
188
249
  // all clear
189
250
  a.__parent = null;
190
251
  a.__firstChild = null;
@@ -311,14 +372,23 @@ export class SnapshotInstance {
311
372
  return;
312
373
  }
313
374
  const count = __snapshot_def.slot.length;
314
- if (count === 1) {
315
- const [, elementIndex] = __snapshot_def.slot[0];
375
+ if (count === 1 || __snapshot_def.isSlotV2) {
376
+ const [, elementIndex] = __snapshot_def.slot[typeof newNode.__slotIndex === 'number' ? newNode.__slotIndex : 0];
316
377
  const parent = __elements[elementIndex];
317
378
  if (shouldRemove) {
318
379
  __RemoveElement(parent, newNode.__element_root);
319
380
  }
320
381
  if (existingNode) {
321
- __InsertElementBefore(parent, newNode.__element_root, existingNode.__element_root);
382
+ // SlotV2: each slot has its own wrapper. `existingNode` may live in a
383
+ // different wrapper — `insertBefore(node, ref)` across wrappers throws,
384
+ // so fall back to `append` (DOM auto-detaches the node from old parent).
385
+ if (__snapshot_def.isSlotV2
386
+ && newNode.__slotIndex !== existingNode.__slotIndex) {
387
+ __AppendElement(parent, newNode.__element_root);
388
+ }
389
+ else {
390
+ __InsertElementBefore(parent, newNode.__element_root, existingNode.__element_root);
391
+ }
322
392
  }
323
393
  else {
324
394
  __AppendElement(parent, newNode.__element_root);
@@ -345,12 +415,15 @@ export class SnapshotInstance {
345
415
  }
346
416
  removeChild(child) {
347
417
  const __snapshot_def = this.__snapshot_def;
418
+ const removedSnapshots = collectRemovedSnapshots(child);
419
+ clearTransientChildPropRefs(this, removedSnapshots);
348
420
  if (__snapshot_def.isListHolder) {
349
421
  if (__pendingListUpdates.values) {
350
422
  (__pendingListUpdates.values[this.__id] ??= new ListUpdateInfoRecording(this)).onRemoveChild(child);
351
423
  }
352
424
  this.__removeChild(child);
353
425
  traverseSnapshotInstance(child, v => {
426
+ clearTransientChildPropRefs(v, removedSnapshots);
354
427
  snapshotInstanceManager.values.delete(v.__id);
355
428
  });
356
429
  // mark this child as deleted
@@ -359,7 +432,7 @@ export class SnapshotInstance {
359
432
  }
360
433
  unref(child, true);
361
434
  if (this.__elements) {
362
- const [, elementIndex] = __snapshot_def.slot[0];
435
+ const [, elementIndex] = __snapshot_def.slot[typeof child.__slotIndex === 'number' ? child.__slotIndex : 0];
363
436
  __RemoveElement(this.__elements[elementIndex], child.__element_root);
364
437
  }
365
438
  this.__removeChild(child);
@@ -367,6 +440,7 @@ export class SnapshotInstance {
367
440
  if (v.__snapshot_def.isListHolder) {
368
441
  snapshotDestroyList(v);
369
442
  }
443
+ clearTransientChildPropRefs(v, removedSnapshots);
370
444
  v.__parent = null;
371
445
  v.__previousSibling = null;
372
446
  v.__nextSibling = null;
@@ -410,13 +484,18 @@ export class SnapshotInstance {
410
484
  this.callUpdateIfNotDirectOrDeepEqual(key, this.__values[key], this.__values[key] = value);
411
485
  }
412
486
  toJSON() {
413
- return {
487
+ const json = {
414
488
  id: this.__id,
415
489
  type: this.type,
416
490
  values: this.__values,
417
491
  extraProps: this.__extraProps,
418
492
  children: this.__firstChild ? this.childNodes : undefined,
419
493
  };
494
+ // To save serialize time, we only serialize slotIndex if it is not 0
495
+ if (this.__slotIndex > 0) {
496
+ json.slotIndex = this.__slotIndex;
497
+ }
498
+ return json;
420
499
  }
421
500
  callUpdateIfNotDirectOrDeepEqual(index, oldValue, newValue) {
422
501
  if (isDirectOrDeepEqual(oldValue, newValue)) { }