@number10/jsx-core 5.0.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 (340) hide show
  1. package/LICENSE +667 -0
  2. package/README.md +38 -0
  3. package/dist/animation/animated-signal.cjs +19 -0
  4. package/dist/animation/animated-signal.cjs.map +1 -0
  5. package/dist/animation/animated-signal.d.ts +35 -0
  6. package/dist/animation/animated-signal.d.ts.map +1 -0
  7. package/dist/animation/animated-signal.js +19 -0
  8. package/dist/animation/animated-signal.js.map +1 -0
  9. package/dist/animation/create-spring.cjs +80 -0
  10. package/dist/animation/create-spring.cjs.map +1 -0
  11. package/dist/animation/create-spring.d.ts +56 -0
  12. package/dist/animation/create-spring.d.ts.map +1 -0
  13. package/dist/animation/create-spring.js +80 -0
  14. package/dist/animation/create-spring.js.map +1 -0
  15. package/dist/animation/easing.cjs +76 -0
  16. package/dist/animation/easing.cjs.map +1 -0
  17. package/dist/animation/easing.d.ts +45 -0
  18. package/dist/animation/easing.d.ts.map +1 -0
  19. package/dist/animation/easing.js +76 -0
  20. package/dist/animation/easing.js.map +1 -0
  21. package/dist/animation/effect-definitions.cjs +441 -0
  22. package/dist/animation/effect-definitions.cjs.map +1 -0
  23. package/dist/animation/effect-definitions.d.ts +60 -0
  24. package/dist/animation/effect-definitions.d.ts.map +1 -0
  25. package/dist/animation/effect-definitions.js +441 -0
  26. package/dist/animation/effect-definitions.js.map +1 -0
  27. package/dist/animation/effect-engine.cjs +189 -0
  28. package/dist/animation/effect-engine.cjs.map +1 -0
  29. package/dist/animation/effect-engine.d.ts +70 -0
  30. package/dist/animation/effect-engine.d.ts.map +1 -0
  31. package/dist/animation/effect-engine.js +189 -0
  32. package/dist/animation/effect-engine.js.map +1 -0
  33. package/dist/animation/index.d.ts +24 -0
  34. package/dist/animation/index.d.ts.map +1 -0
  35. package/dist/animation/spring-physics.cjs +94 -0
  36. package/dist/animation/spring-physics.cjs.map +1 -0
  37. package/dist/animation/spring-physics.d.ts +145 -0
  38. package/dist/animation/spring-physics.d.ts.map +1 -0
  39. package/dist/animation/spring-physics.js +94 -0
  40. package/dist/animation/spring-physics.js.map +1 -0
  41. package/dist/animation/tween.cjs +67 -0
  42. package/dist/animation/tween.cjs.map +1 -0
  43. package/dist/animation/tween.d.ts +60 -0
  44. package/dist/animation/tween.d.ts.map +1 -0
  45. package/dist/animation/tween.js +67 -0
  46. package/dist/animation/tween.js.map +1 -0
  47. package/dist/animation/types.d.ts +31 -0
  48. package/dist/animation/types.d.ts.map +1 -0
  49. package/dist/animation/useSpring.cjs +152 -0
  50. package/dist/animation/useSpring.cjs.map +1 -0
  51. package/dist/animation/useSpring.d.ts +55 -0
  52. package/dist/animation/useSpring.d.ts.map +1 -0
  53. package/dist/animation/useSpring.js +149 -0
  54. package/dist/animation/useSpring.js.map +1 -0
  55. package/dist/animation/useTween.cjs +208 -0
  56. package/dist/animation/useTween.cjs.map +1 -0
  57. package/dist/animation/useTween.d.ts +116 -0
  58. package/dist/animation/useTween.d.ts.map +1 -0
  59. package/dist/animation/useTween.js +208 -0
  60. package/dist/animation/useTween.js.map +1 -0
  61. package/dist/border-geometry.cjs +447 -0
  62. package/dist/border-geometry.cjs.map +1 -0
  63. package/dist/border-geometry.d.ts +114 -0
  64. package/dist/border-geometry.d.ts.map +1 -0
  65. package/dist/border-geometry.js +447 -0
  66. package/dist/border-geometry.js.map +1 -0
  67. package/dist/colors/color-presets.cjs +236 -0
  68. package/dist/colors/color-presets.cjs.map +1 -0
  69. package/dist/colors/color-presets.d.ts +89 -0
  70. package/dist/colors/color-presets.d.ts.map +1 -0
  71. package/dist/colors/color-presets.js +236 -0
  72. package/dist/colors/color-presets.js.map +1 -0
  73. package/dist/colors/color-theme-helpers.cjs +32 -0
  74. package/dist/colors/color-theme-helpers.cjs.map +1 -0
  75. package/dist/colors/color-theme-helpers.d.ts +65 -0
  76. package/dist/colors/color-theme-helpers.d.ts.map +1 -0
  77. package/dist/colors/color-theme-helpers.js +32 -0
  78. package/dist/colors/color-theme-helpers.js.map +1 -0
  79. package/dist/colors/color-types.cjs +38 -0
  80. package/dist/colors/color-types.cjs.map +1 -0
  81. package/dist/colors/color-types.d.ts +112 -0
  82. package/dist/colors/color-types.d.ts.map +1 -0
  83. package/dist/colors/color-types.js +38 -0
  84. package/dist/colors/color-types.js.map +1 -0
  85. package/dist/colors/color-utils.cjs +197 -0
  86. package/dist/colors/color-utils.cjs.map +1 -0
  87. package/dist/colors/color-utils.d.ts +216 -0
  88. package/dist/colors/color-utils.d.ts.map +1 -0
  89. package/dist/colors/color-utils.js +197 -0
  90. package/dist/colors/color-utils.js.map +1 -0
  91. package/dist/colors/contrast-contracts.cjs +265 -0
  92. package/dist/colors/contrast-contracts.cjs.map +1 -0
  93. package/dist/colors/contrast-contracts.d.ts +289 -0
  94. package/dist/colors/contrast-contracts.d.ts.map +1 -0
  95. package/dist/colors/contrast-contracts.js +265 -0
  96. package/dist/colors/contrast-contracts.js.map +1 -0
  97. package/dist/colors/index.cjs +55 -0
  98. package/dist/colors/index.cjs.map +1 -0
  99. package/dist/colors/index.d.ts +16 -0
  100. package/dist/colors/index.d.ts.map +1 -0
  101. package/dist/colors/index.js +55 -0
  102. package/dist/colors/index.js.map +1 -0
  103. package/dist/core-props.cjs +66 -0
  104. package/dist/core-props.cjs.map +1 -0
  105. package/dist/core-props.d.ts +395 -0
  106. package/dist/core-props.d.ts.map +1 -0
  107. package/dist/core-props.js +66 -0
  108. package/dist/core-props.js.map +1 -0
  109. package/dist/design-tokens/design-token-presets.cjs +91 -0
  110. package/dist/design-tokens/design-token-presets.cjs.map +1 -0
  111. package/dist/design-tokens/design-token-presets.d.ts +34 -0
  112. package/dist/design-tokens/design-token-presets.d.ts.map +1 -0
  113. package/dist/design-tokens/design-token-presets.js +91 -0
  114. package/dist/design-tokens/design-token-presets.js.map +1 -0
  115. package/dist/design-tokens/design-token-types.d.ts +97 -0
  116. package/dist/design-tokens/design-token-types.d.ts.map +1 -0
  117. package/dist/design-tokens/index.cjs +10 -0
  118. package/dist/design-tokens/index.cjs.map +1 -0
  119. package/dist/design-tokens/index.d.ts +9 -0
  120. package/dist/design-tokens/index.d.ts.map +1 -0
  121. package/dist/design-tokens/index.js +10 -0
  122. package/dist/design-tokens/index.js.map +1 -0
  123. package/dist/dev-config.cjs +296 -0
  124. package/dist/dev-config.cjs.map +1 -0
  125. package/dist/dev-config.d.ts +238 -0
  126. package/dist/dev-config.d.ts.map +1 -0
  127. package/dist/dev-config.js +296 -0
  128. package/dist/dev-config.js.map +1 -0
  129. package/dist/effects.cjs +69 -0
  130. package/dist/effects.cjs.map +1 -0
  131. package/dist/effects.d.ts +152 -0
  132. package/dist/effects.d.ts.map +1 -0
  133. package/dist/effects.js +69 -0
  134. package/dist/effects.js.map +1 -0
  135. package/dist/global-registry.cjs +25 -0
  136. package/dist/global-registry.cjs.map +1 -0
  137. package/dist/global-registry.d.ts +19 -0
  138. package/dist/global-registry.d.ts.map +1 -0
  139. package/dist/global-registry.js +25 -0
  140. package/dist/global-registry.js.map +1 -0
  141. package/dist/hooks.cjs +378 -0
  142. package/dist/hooks.cjs.map +1 -0
  143. package/dist/hooks.d.ts +322 -0
  144. package/dist/hooks.d.ts.map +1 -0
  145. package/dist/hooks.js +378 -0
  146. package/dist/hooks.js.map +1 -0
  147. package/dist/host-adapter.d.ts +414 -0
  148. package/dist/host-adapter.d.ts.map +1 -0
  149. package/dist/index.cjs +229 -0
  150. package/dist/index.cjs.map +1 -0
  151. package/dist/index.d.ts +32 -0
  152. package/dist/index.d.ts.map +1 -0
  153. package/dist/index.js +226 -0
  154. package/dist/index.js.map +1 -0
  155. package/dist/jsx-dev-runtime.cjs +10 -0
  156. package/dist/jsx-dev-runtime.cjs.map +1 -0
  157. package/dist/jsx-dev-runtime.d.ts +5 -0
  158. package/dist/jsx-dev-runtime.d.ts.map +1 -0
  159. package/dist/jsx-dev-runtime.js +11 -0
  160. package/dist/jsx-dev-runtime.js.map +1 -0
  161. package/dist/jsx-runtime.cjs +44 -0
  162. package/dist/jsx-runtime.cjs.map +1 -0
  163. package/dist/jsx-runtime.d.ts +24 -0
  164. package/dist/jsx-runtime.d.ts.map +1 -0
  165. package/dist/jsx-runtime.js +44 -0
  166. package/dist/jsx-runtime.js.map +1 -0
  167. package/dist/jsx-types.d.ts +25 -0
  168. package/dist/jsx-types.d.ts.map +1 -0
  169. package/dist/layout/appliers/container-applier.cjs +20 -0
  170. package/dist/layout/appliers/container-applier.cjs.map +1 -0
  171. package/dist/layout/appliers/container-applier.d.ts +9 -0
  172. package/dist/layout/appliers/container-applier.d.ts.map +1 -0
  173. package/dist/layout/appliers/container-applier.js +20 -0
  174. package/dist/layout/appliers/container-applier.js.map +1 -0
  175. package/dist/layout/appliers/position-applier.cjs +31 -0
  176. package/dist/layout/appliers/position-applier.cjs.map +1 -0
  177. package/dist/layout/appliers/position-applier.d.ts +8 -0
  178. package/dist/layout/appliers/position-applier.d.ts.map +1 -0
  179. package/dist/layout/appliers/position-applier.js +31 -0
  180. package/dist/layout/appliers/position-applier.js.map +1 -0
  181. package/dist/layout/layout-engine-test-utils.d.ts +26 -0
  182. package/dist/layout/layout-engine-test-utils.d.ts.map +1 -0
  183. package/dist/layout/layout-engine.cjs +628 -0
  184. package/dist/layout/layout-engine.cjs.map +1 -0
  185. package/dist/layout/layout-engine.d.ts +140 -0
  186. package/dist/layout/layout-engine.d.ts.map +1 -0
  187. package/dist/layout/layout-engine.js +628 -0
  188. package/dist/layout/layout-engine.js.map +1 -0
  189. package/dist/layout/strategies/base-strategy.cjs +31 -0
  190. package/dist/layout/strategies/base-strategy.cjs.map +1 -0
  191. package/dist/layout/strategies/base-strategy.d.ts +59 -0
  192. package/dist/layout/strategies/base-strategy.d.ts.map +1 -0
  193. package/dist/layout/strategies/base-strategy.js +31 -0
  194. package/dist/layout/strategies/base-strategy.js.map +1 -0
  195. package/dist/layout/strategies/column-layout.cjs +145 -0
  196. package/dist/layout/strategies/column-layout.cjs.map +1 -0
  197. package/dist/layout/strategies/column-layout.d.ts +38 -0
  198. package/dist/layout/strategies/column-layout.d.ts.map +1 -0
  199. package/dist/layout/strategies/column-layout.js +145 -0
  200. package/dist/layout/strategies/column-layout.js.map +1 -0
  201. package/dist/layout/strategies/row-layout.cjs +145 -0
  202. package/dist/layout/strategies/row-layout.cjs.map +1 -0
  203. package/dist/layout/strategies/row-layout.d.ts +38 -0
  204. package/dist/layout/strategies/row-layout.d.ts.map +1 -0
  205. package/dist/layout/strategies/row-layout.js +145 -0
  206. package/dist/layout/strategies/row-layout.js.map +1 -0
  207. package/dist/layout/strategies/stack-layout.cjs +94 -0
  208. package/dist/layout/strategies/stack-layout.cjs.map +1 -0
  209. package/dist/layout/strategies/stack-layout.d.ts +30 -0
  210. package/dist/layout/strategies/stack-layout.d.ts.map +1 -0
  211. package/dist/layout/strategies/stack-layout.js +94 -0
  212. package/dist/layout/strategies/stack-layout.js.map +1 -0
  213. package/dist/layout/types.d.ts +134 -0
  214. package/dist/layout/types.d.ts.map +1 -0
  215. package/dist/layout/utils/child-utils.cjs +129 -0
  216. package/dist/layout/utils/child-utils.cjs.map +1 -0
  217. package/dist/layout/utils/child-utils.d.ts +54 -0
  218. package/dist/layout/utils/child-utils.d.ts.map +1 -0
  219. package/dist/layout/utils/child-utils.js +129 -0
  220. package/dist/layout/utils/child-utils.js.map +1 -0
  221. package/dist/layout/utils/dimension-calculator.cjs +109 -0
  222. package/dist/layout/utils/dimension-calculator.cjs.map +1 -0
  223. package/dist/layout/utils/dimension-calculator.d.ts +59 -0
  224. package/dist/layout/utils/dimension-calculator.d.ts.map +1 -0
  225. package/dist/layout/utils/dimension-calculator.js +109 -0
  226. package/dist/layout/utils/dimension-calculator.js.map +1 -0
  227. package/dist/layout/utils/flex-distributor.cjs +173 -0
  228. package/dist/layout/utils/flex-distributor.cjs.map +1 -0
  229. package/dist/layout/utils/flex-distributor.d.ts +18 -0
  230. package/dist/layout/utils/flex-distributor.d.ts.map +1 -0
  231. package/dist/layout/utils/flex-distributor.js +173 -0
  232. package/dist/layout/utils/flex-distributor.js.map +1 -0
  233. package/dist/layout/utils/size-resolver.cjs +280 -0
  234. package/dist/layout/utils/size-resolver.cjs.map +1 -0
  235. package/dist/layout/utils/size-resolver.d.ts +84 -0
  236. package/dist/layout/utils/size-resolver.d.ts.map +1 -0
  237. package/dist/layout/utils/size-resolver.js +280 -0
  238. package/dist/layout/utils/size-resolver.js.map +1 -0
  239. package/dist/layout/utils/spacing-calculator.cjs +50 -0
  240. package/dist/layout/utils/spacing-calculator.cjs.map +1 -0
  241. package/dist/layout/utils/spacing-calculator.d.ts +27 -0
  242. package/dist/layout/utils/spacing-calculator.d.ts.map +1 -0
  243. package/dist/layout/utils/spacing-calculator.js +50 -0
  244. package/dist/layout/utils/spacing-calculator.js.map +1 -0
  245. package/dist/memo.cjs +18 -0
  246. package/dist/memo.cjs.map +1 -0
  247. package/dist/memo.d.ts +29 -0
  248. package/dist/memo.d.ts.map +1 -0
  249. package/dist/memo.js +18 -0
  250. package/dist/memo.js.map +1 -0
  251. package/dist/nineslice-contract.cjs +60 -0
  252. package/dist/nineslice-contract.cjs.map +1 -0
  253. package/dist/nineslice-contract.d.ts +107 -0
  254. package/dist/nineslice-contract.d.ts.map +1 -0
  255. package/dist/nineslice-contract.js +60 -0
  256. package/dist/nineslice-contract.js.map +1 -0
  257. package/dist/placeholder.cjs +12 -0
  258. package/dist/placeholder.cjs.map +1 -0
  259. package/dist/placeholder.d.ts +44 -0
  260. package/dist/placeholder.d.ts.map +1 -0
  261. package/dist/placeholder.js +12 -0
  262. package/dist/placeholder.js.map +1 -0
  263. package/dist/portal.cjs +89 -0
  264. package/dist/portal.cjs.map +1 -0
  265. package/dist/portal.d.ts +62 -0
  266. package/dist/portal.d.ts.map +1 -0
  267. package/dist/portal.js +89 -0
  268. package/dist/portal.js.map +1 -0
  269. package/dist/primitive-contracts.cjs +12 -0
  270. package/dist/primitive-contracts.cjs.map +1 -0
  271. package/dist/primitive-contracts.d.ts +186 -0
  272. package/dist/primitive-contracts.d.ts.map +1 -0
  273. package/dist/primitive-contracts.js +12 -0
  274. package/dist/primitive-contracts.js.map +1 -0
  275. package/dist/theme.cjs +332 -0
  276. package/dist/theme.cjs.map +1 -0
  277. package/dist/theme.d.ts +204 -0
  278. package/dist/theme.d.ts.map +1 -0
  279. package/dist/theme.js +332 -0
  280. package/dist/theme.js.map +1 -0
  281. package/dist/types.d.ts +86 -0
  282. package/dist/types.d.ts.map +1 -0
  283. package/dist/vdom/create-runtime.cjs +79 -0
  284. package/dist/vdom/create-runtime.cjs.map +1 -0
  285. package/dist/vdom/create-runtime.d.ts +7 -0
  286. package/dist/vdom/create-runtime.d.ts.map +1 -0
  287. package/dist/vdom/create-runtime.js +79 -0
  288. package/dist/vdom/create-runtime.js.map +1 -0
  289. package/dist/vdom/index.cjs +8 -0
  290. package/dist/vdom/index.cjs.map +1 -0
  291. package/dist/vdom/index.d.ts +4 -0
  292. package/dist/vdom/index.d.ts.map +1 -0
  293. package/dist/vdom/index.js +8 -0
  294. package/dist/vdom/index.js.map +1 -0
  295. package/dist/vdom/mount.cjs +161 -0
  296. package/dist/vdom/mount.cjs.map +1 -0
  297. package/dist/vdom/mount.d.ts +6 -0
  298. package/dist/vdom/mount.d.ts.map +1 -0
  299. package/dist/vdom/mount.js +161 -0
  300. package/dist/vdom/mount.js.map +1 -0
  301. package/dist/vdom/patch.cjs +163 -0
  302. package/dist/vdom/patch.cjs.map +1 -0
  303. package/dist/vdom/patch.d.ts +3 -0
  304. package/dist/vdom/patch.d.ts.map +1 -0
  305. package/dist/vdom/patch.js +163 -0
  306. package/dist/vdom/patch.js.map +1 -0
  307. package/dist/vdom/registry.cjs +85 -0
  308. package/dist/vdom/registry.cjs.map +1 -0
  309. package/dist/vdom/registry.d.ts +28 -0
  310. package/dist/vdom/registry.d.ts.map +1 -0
  311. package/dist/vdom/registry.js +85 -0
  312. package/dist/vdom/registry.js.map +1 -0
  313. package/dist/vdom/runtime-helpers.cjs +23 -0
  314. package/dist/vdom/runtime-helpers.cjs.map +1 -0
  315. package/dist/vdom/runtime-helpers.d.ts +8 -0
  316. package/dist/vdom/runtime-helpers.d.ts.map +1 -0
  317. package/dist/vdom/runtime-helpers.js +23 -0
  318. package/dist/vdom/runtime-helpers.js.map +1 -0
  319. package/dist/vdom/surface.cjs +107 -0
  320. package/dist/vdom/surface.cjs.map +1 -0
  321. package/dist/vdom/surface.d.ts +9 -0
  322. package/dist/vdom/surface.d.ts.map +1 -0
  323. package/dist/vdom/surface.js +107 -0
  324. package/dist/vdom/surface.js.map +1 -0
  325. package/dist/vdom/types.d.ts +104 -0
  326. package/dist/vdom/types.d.ts.map +1 -0
  327. package/dist/vdom/utils.cjs +146 -0
  328. package/dist/vdom/utils.cjs.map +1 -0
  329. package/dist/vdom/utils.d.ts +24 -0
  330. package/dist/vdom/utils.d.ts.map +1 -0
  331. package/dist/vdom/utils.js +146 -0
  332. package/dist/vdom/utils.js.map +1 -0
  333. package/dist/vdom.d.ts +4 -0
  334. package/dist/vdom.d.ts.map +1 -0
  335. package/dist/vector-draw-context.d.ts +63 -0
  336. package/dist/vector-draw-context.d.ts.map +1 -0
  337. package/package.json +161 -0
  338. package/vdom/index.cjs +1 -0
  339. package/vdom/index.d.ts +1 -0
  340. package/vdom/index.js +1 -0
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Core type definitions — renderer-neutral VNode, Ref, and JSX types.
3
+ *
4
+ * These types form the foundation of the VDOM and are shared between
5
+ * all renderer packages. No Phaser or renderer-specific imports allowed.
6
+ *
7
+ * @migration(audit:scene-portal-mount) Phase 2C — extracted from hooks.ts + types.ts
8
+ */
9
+ /**
10
+ * Virtual DOM node — the core data structure produced by JSX and consumed
11
+ * by the VDOM reconciler. Renderer-specific data is stored as `unknown`
12
+ * and cast by each renderer package.
13
+ */
14
+ export interface VNode {
15
+ /** Element type: string for host nodes, function for components, Fragment symbol */
16
+ type: unknown;
17
+ /** Props passed to the element / component */
18
+ props?: Record<string, unknown> | undefined;
19
+ /** Child VNodes */
20
+ children?: (VNode | null | undefined | false)[];
21
+ /** Renderer-native node instance (GameObject, DisplayObject, ...) */
22
+ __node?: unknown;
23
+ /** Hook context — opaque to Core, typed by the hooks runtime */
24
+ __ctx?: unknown;
25
+ /** Renderer-native parent (Scene, Container, ...) */
26
+ __parent?: unknown;
27
+ /** Key for stable identity across renders */
28
+ __key?: string | number | null;
29
+ /** Layout add-config (expand, proportion, align, padding) */
30
+ __addConfig?: {
31
+ expand?: boolean;
32
+ proportion?: number;
33
+ align?: string;
34
+ padding?: number | {
35
+ left?: number;
36
+ right?: number;
37
+ top?: number;
38
+ bottom?: number;
39
+ };
40
+ };
41
+ /** Opt-out of memoization (false = always re-render) */
42
+ __memo?: boolean;
43
+ /** Theme override for this VNode and its children */
44
+ __theme?: Record<string, unknown>;
45
+ /** True when children are static JSX (not from .map()) — suppresses key warnings */
46
+ __staticChildren?: boolean;
47
+ }
48
+ /** A VNode child — can be a VNode, null, undefined, or false (conditional render) */
49
+ export type VNodeChild = VNode | null | undefined | false;
50
+ /** What a component function or JSX expression can return */
51
+ export type VNodeLike = VNodeChild | VNodeLike[];
52
+ /** Children prop type */
53
+ export type ChildrenType = VNodeLike;
54
+ /**
55
+ * Ref callback that receives the underlying renderer object instance.
56
+ * @param instance - The renderer object or null on unmount
57
+ */
58
+ export type RefCallback<T> = (instance: T | null) => void;
59
+ /**
60
+ * Ref object that holds a mutable reference to the underlying renderer object.
61
+ */
62
+ export interface RefObject<T> {
63
+ current: T | null;
64
+ }
65
+ /**
66
+ * Ref type — can be either a callback or an object.
67
+ */
68
+ export type Ref<T> = RefCallback<T> | RefObject<T>;
69
+ /**
70
+ * Props that can be added to any JSX element.
71
+ */
72
+ export interface PropsDefaultExtension<T = unknown> {
73
+ /** Key for stable identity across renders */
74
+ key?: string | number | undefined;
75
+ /** Ref to access the underlying renderer object */
76
+ ref?: Ref<T> | undefined;
77
+ /** Theme override for this element and its children */
78
+ theme?: Record<string, unknown> | undefined;
79
+ }
80
+ /**
81
+ * Props extension that includes children.
82
+ */
83
+ export interface PropsContainerExtension {
84
+ children?: ChildrenType;
85
+ }
86
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;;;GAIG;AACH,MAAM,WAAW,KAAK;IACpB,oFAAoF;IACpF,IAAI,EAAE,OAAO,CAAA;IAEb,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAE3C,mBAAmB;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,CAAC,EAAE,CAAA;IAE/C,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IAE9B,6DAA6D;IAC7D,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,OAAO,CAAC,EAAE,MAAM,GAAG;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KACpF,CAAA;IAED,wDAAwD;IACxD,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEjC,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAMD,qFAAqF;AACrF,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,CAAA;AAEzD,6DAA6D;AAC7D,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,SAAS,EAAE,CAAA;AAEhD,yBAAyB;AACzB,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA;AAMpC;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAA;AAEzD;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,OAAO,EAAE,CAAC,GAAG,IAAI,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;AAMlD;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,GAAG,OAAO;IAChD,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACjC,mDAAmD;IACnD,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IACxB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,YAAY,CAAA;CACxB"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const mount = require("./mount.cjs");
4
+ const patch = require("./patch.cjs");
5
+ const registry = require("./registry.cjs");
6
+ const surface = require("./surface.cjs");
7
+ const utils = require("./utils.cjs");
8
+ function createVDOMRuntime(adapters, bridge) {
9
+ let hostAdapter = adapters.hostAdapter;
10
+ let surfaceAdapter = adapters.surfaceAdapter;
11
+ const registry$1 = new registry.MountRegistry();
12
+ const state = {
13
+ getHostAdapter: () => hostAdapter,
14
+ getSurfaceAdapter: () => surfaceAdapter,
15
+ bridge,
16
+ registry: registry$1
17
+ };
18
+ function setHostAdapter(adapter) {
19
+ const prev = hostAdapter;
20
+ hostAdapter = adapter;
21
+ registry$1.clear();
22
+ return prev;
23
+ }
24
+ function setSurfaceAdapter(adapter) {
25
+ const prev = surfaceAdapter;
26
+ surfaceAdapter = adapter;
27
+ return prev;
28
+ }
29
+ let patchVNodeRef;
30
+ let mountRef;
31
+ let unmountRef;
32
+ const getPatchVNode = () => {
33
+ if (!patchVNodeRef) throw new Error("VDOM runtime patch function is not initialized");
34
+ return patchVNodeRef;
35
+ };
36
+ const getMount = () => {
37
+ if (!mountRef) throw new Error("VDOM runtime mount function is not initialized");
38
+ return mountRef;
39
+ };
40
+ const getUnmount = () => {
41
+ if (!unmountRef) throw new Error("VDOM runtime unmount function is not initialized");
42
+ return unmountRef;
43
+ };
44
+ const { mount: mount$1, unmount } = mount.createMountOps(state, getPatchVNode);
45
+ mountRef = mount$1;
46
+ unmountRef = unmount;
47
+ patchVNodeRef = patch.createPatchVNode(state, getMount, getUnmount);
48
+ const { mountJSX, remountAll, unmountJSX } = surface.createSurfaceOps(
49
+ state,
50
+ getMount,
51
+ getUnmount,
52
+ getPatchVNode
53
+ );
54
+ return {
55
+ mount: mount$1,
56
+ unmount,
57
+ patchVNode: patchVNodeRef,
58
+ mountJSX,
59
+ unmountJSX,
60
+ remountAll,
61
+ normalizeVNodeLike: utils.normalizeVNodeLike,
62
+ createElement: utils.createElement,
63
+ getHostAdapter: state.getHostAdapter,
64
+ setHostAdapter,
65
+ getSurfaceAdapter: state.getSurfaceAdapter,
66
+ setSurfaceAdapter,
67
+ getMountStats: () => registry$1.getStats(state.getHostAdapter()),
68
+ mountRegistry: {
69
+ register: (entry) => registry$1.register(entry),
70
+ unregister: (id) => registry$1.unregister(id),
71
+ findByParentAndKey: (parent, key) => registry$1.findByParentAndKey(parent, key, state.getHostAdapter().isAlive),
72
+ getAllEntries: () => registry$1.getAllEntries(),
73
+ getEntry: (id) => registry$1.getEntry(id),
74
+ clear: () => registry$1.clear()
75
+ }
76
+ };
77
+ }
78
+ exports.createVDOMRuntime = createVDOMRuntime;
79
+ //# sourceMappingURL=create-runtime.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-runtime.cjs","sources":["../../src/vdom/create-runtime.ts"],"sourcesContent":["import type { HostAdapter, SurfaceAdapter } from '../host-adapter'\nimport { createMountOps } from './mount'\nimport { createPatchVNode } from './patch'\nimport { MountRegistry } from './registry'\nimport { createSurfaceOps } from './surface'\nimport type { VDOMRuntime, VDOMRuntimeBridge } from './types'\nimport { createElement, normalizeVNodeLike } from './utils'\n\nexport function createVDOMRuntime(\n adapters: {\n hostAdapter: HostAdapter\n surfaceAdapter: SurfaceAdapter\n },\n bridge: VDOMRuntimeBridge\n): VDOMRuntime {\n let hostAdapter = adapters.hostAdapter\n let surfaceAdapter = adapters.surfaceAdapter\n const registry = new MountRegistry()\n\n const state = {\n getHostAdapter: () => hostAdapter,\n getSurfaceAdapter: () => surfaceAdapter,\n bridge,\n registry,\n }\n\n function setHostAdapter(adapter: HostAdapter): HostAdapter {\n const prev = hostAdapter\n hostAdapter = adapter\n // Clear mount registry on adapter switch — existing mounts belong to the\n // previous renderer and their host nodes are no longer valid.\n registry.clear()\n return prev\n }\n\n function setSurfaceAdapter(adapter: SurfaceAdapter): SurfaceAdapter {\n const prev = surfaceAdapter\n surfaceAdapter = adapter\n return prev\n }\n\n let patchVNodeRef: ReturnType<typeof createPatchVNode> | undefined\n let mountRef: ReturnType<typeof createMountOps>['mount'] | undefined\n let unmountRef: ReturnType<typeof createMountOps>['unmount'] | undefined\n\n const getPatchVNode = (): NonNullable<typeof patchVNodeRef> => {\n if (!patchVNodeRef) throw new Error('VDOM runtime patch function is not initialized')\n return patchVNodeRef\n }\n\n const getMount = (): NonNullable<typeof mountRef> => {\n if (!mountRef) throw new Error('VDOM runtime mount function is not initialized')\n return mountRef\n }\n\n const getUnmount = (): NonNullable<typeof unmountRef> => {\n if (!unmountRef) throw new Error('VDOM runtime unmount function is not initialized')\n return unmountRef\n }\n\n const { mount, unmount } = createMountOps(state, getPatchVNode)\n mountRef = mount\n unmountRef = unmount\n patchVNodeRef = createPatchVNode(state, getMount, getUnmount)\n const { mountJSX, remountAll, unmountJSX } = createSurfaceOps(\n state,\n getMount,\n getUnmount,\n getPatchVNode\n )\n\n return {\n mount,\n unmount,\n patchVNode: patchVNodeRef,\n mountJSX,\n unmountJSX,\n remountAll,\n normalizeVNodeLike,\n createElement,\n getHostAdapter: state.getHostAdapter,\n setHostAdapter,\n getSurfaceAdapter: state.getSurfaceAdapter,\n setSurfaceAdapter,\n getMountStats: () => registry.getStats(state.getHostAdapter()),\n mountRegistry: {\n register: (entry) => registry.register(entry),\n unregister: (id: number) => registry.unregister(id),\n findByParentAndKey: (parent, key) =>\n registry.findByParentAndKey(parent, key, state.getHostAdapter().isAlive),\n getAllEntries: () => registry.getAllEntries(),\n getEntry: (id: number) => registry.getEntry(id),\n clear: () => registry.clear(),\n },\n }\n}\n"],"names":["registry","MountRegistry","mount","createMountOps","createPatchVNode","createSurfaceOps","normalizeVNodeLike","createElement"],"mappings":";;;;;;;AAQO,SAAS,kBACd,UAIA,QACa;AACb,MAAI,cAAc,SAAS;AAC3B,MAAI,iBAAiB,SAAS;AAC9B,QAAMA,aAAW,IAAIC,uBAAA;AAErB,QAAM,QAAQ;AAAA,IACZ,gBAAgB,MAAM;AAAA,IACtB,mBAAmB,MAAM;AAAA,IACzB;AAAA,IAAA,UACAD;AAAAA,EAAA;AAGF,WAAS,eAAe,SAAmC;AACzD,UAAM,OAAO;AACb,kBAAc;AAGdA,eAAS,MAAA;AACT,WAAO;AAAA,EACT;AAEA,WAAS,kBAAkB,SAAyC;AAClE,UAAM,OAAO;AACb,qBAAiB;AACjB,WAAO;AAAA,EACT;AAEA,MAAI;AACJ,MAAI;AACJ,MAAI;AAEJ,QAAM,gBAAgB,MAAyC;AAC7D,QAAI,CAAC,cAAe,OAAM,IAAI,MAAM,gDAAgD;AACpF,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,MAAoC;AACnD,QAAI,CAAC,SAAU,OAAM,IAAI,MAAM,gDAAgD;AAC/E,WAAO;AAAA,EACT;AAEA,QAAM,aAAa,MAAsC;AACvD,QAAI,CAAC,WAAY,OAAM,IAAI,MAAM,kDAAkD;AACnF,WAAO;AAAA,EACT;AAEA,QAAM,EAAA,OAAEE,SAAO,QAAA,IAAYC,MAAAA,eAAe,OAAO,aAAa;AAC9D,aAAWD;AACX,eAAa;AACb,kBAAgBE,MAAAA,iBAAiB,OAAO,UAAU,UAAU;AAC5D,QAAM,EAAE,UAAU,YAAY,WAAA,IAAeC,QAAAA;AAAAA,IAC3C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,SAAO;AAAA,IAAA,OACLH;AAAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IAAA,oBACAI,MAAAA;AAAAA,IAAA,eACAC,MAAAA;AAAAA,IACA,gBAAgB,MAAM;AAAA,IACtB;AAAA,IACA,mBAAmB,MAAM;AAAA,IACzB;AAAA,IACA,eAAe,MAAMP,WAAS,SAAS,MAAM,gBAAgB;AAAA,IAC7D,eAAe;AAAA,MACb,UAAU,CAAC,UAAUA,WAAS,SAAS,KAAK;AAAA,MAC5C,YAAY,CAAC,OAAeA,WAAS,WAAW,EAAE;AAAA,MAClD,oBAAoB,CAAC,QAAQ,QAC3BA,WAAS,mBAAmB,QAAQ,KAAK,MAAM,eAAA,EAAiB,OAAO;AAAA,MACzE,eAAe,MAAMA,WAAS,cAAA;AAAA,MAC9B,UAAU,CAAC,OAAeA,WAAS,SAAS,EAAE;AAAA,MAC9C,OAAO,MAAMA,WAAS,MAAA;AAAA,IAAM;AAAA,EAC9B;AAEJ;;"}
@@ -0,0 +1,7 @@
1
+ import { HostAdapter, SurfaceAdapter } from '../host-adapter';
2
+ import { VDOMRuntime, VDOMRuntimeBridge } from './types';
3
+ export declare function createVDOMRuntime(adapters: {
4
+ hostAdapter: HostAdapter;
5
+ surfaceAdapter: SurfaceAdapter;
6
+ }, bridge: VDOMRuntimeBridge): VDOMRuntime;
7
+ //# sourceMappingURL=create-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-runtime.d.ts","sourceRoot":"","sources":["../../src/vdom/create-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAKlE,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAG7D,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE;IACR,WAAW,EAAE,WAAW,CAAA;IACxB,cAAc,EAAE,cAAc,CAAA;CAC/B,EACD,MAAM,EAAE,iBAAiB,GACxB,WAAW,CAiFb"}
@@ -0,0 +1,79 @@
1
+ import { createMountOps } from "./mount.js";
2
+ import { createPatchVNode } from "./patch.js";
3
+ import { MountRegistry } from "./registry.js";
4
+ import { createSurfaceOps } from "./surface.js";
5
+ import { createElement, normalizeVNodeLike } from "./utils.js";
6
+ function createVDOMRuntime(adapters, bridge) {
7
+ let hostAdapter = adapters.hostAdapter;
8
+ let surfaceAdapter = adapters.surfaceAdapter;
9
+ const registry = new MountRegistry();
10
+ const state = {
11
+ getHostAdapter: () => hostAdapter,
12
+ getSurfaceAdapter: () => surfaceAdapter,
13
+ bridge,
14
+ registry
15
+ };
16
+ function setHostAdapter(adapter) {
17
+ const prev = hostAdapter;
18
+ hostAdapter = adapter;
19
+ registry.clear();
20
+ return prev;
21
+ }
22
+ function setSurfaceAdapter(adapter) {
23
+ const prev = surfaceAdapter;
24
+ surfaceAdapter = adapter;
25
+ return prev;
26
+ }
27
+ let patchVNodeRef;
28
+ let mountRef;
29
+ let unmountRef;
30
+ const getPatchVNode = () => {
31
+ if (!patchVNodeRef) throw new Error("VDOM runtime patch function is not initialized");
32
+ return patchVNodeRef;
33
+ };
34
+ const getMount = () => {
35
+ if (!mountRef) throw new Error("VDOM runtime mount function is not initialized");
36
+ return mountRef;
37
+ };
38
+ const getUnmount = () => {
39
+ if (!unmountRef) throw new Error("VDOM runtime unmount function is not initialized");
40
+ return unmountRef;
41
+ };
42
+ const { mount, unmount } = createMountOps(state, getPatchVNode);
43
+ mountRef = mount;
44
+ unmountRef = unmount;
45
+ patchVNodeRef = createPatchVNode(state, getMount, getUnmount);
46
+ const { mountJSX, remountAll, unmountJSX } = createSurfaceOps(
47
+ state,
48
+ getMount,
49
+ getUnmount,
50
+ getPatchVNode
51
+ );
52
+ return {
53
+ mount,
54
+ unmount,
55
+ patchVNode: patchVNodeRef,
56
+ mountJSX,
57
+ unmountJSX,
58
+ remountAll,
59
+ normalizeVNodeLike,
60
+ createElement,
61
+ getHostAdapter: state.getHostAdapter,
62
+ setHostAdapter,
63
+ getSurfaceAdapter: state.getSurfaceAdapter,
64
+ setSurfaceAdapter,
65
+ getMountStats: () => registry.getStats(state.getHostAdapter()),
66
+ mountRegistry: {
67
+ register: (entry) => registry.register(entry),
68
+ unregister: (id) => registry.unregister(id),
69
+ findByParentAndKey: (parent, key) => registry.findByParentAndKey(parent, key, state.getHostAdapter().isAlive),
70
+ getAllEntries: () => registry.getAllEntries(),
71
+ getEntry: (id) => registry.getEntry(id),
72
+ clear: () => registry.clear()
73
+ }
74
+ };
75
+ }
76
+ export {
77
+ createVDOMRuntime
78
+ };
79
+ //# sourceMappingURL=create-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-runtime.js","sources":["../../src/vdom/create-runtime.ts"],"sourcesContent":["import type { HostAdapter, SurfaceAdapter } from '../host-adapter'\nimport { createMountOps } from './mount'\nimport { createPatchVNode } from './patch'\nimport { MountRegistry } from './registry'\nimport { createSurfaceOps } from './surface'\nimport type { VDOMRuntime, VDOMRuntimeBridge } from './types'\nimport { createElement, normalizeVNodeLike } from './utils'\n\nexport function createVDOMRuntime(\n adapters: {\n hostAdapter: HostAdapter\n surfaceAdapter: SurfaceAdapter\n },\n bridge: VDOMRuntimeBridge\n): VDOMRuntime {\n let hostAdapter = adapters.hostAdapter\n let surfaceAdapter = adapters.surfaceAdapter\n const registry = new MountRegistry()\n\n const state = {\n getHostAdapter: () => hostAdapter,\n getSurfaceAdapter: () => surfaceAdapter,\n bridge,\n registry,\n }\n\n function setHostAdapter(adapter: HostAdapter): HostAdapter {\n const prev = hostAdapter\n hostAdapter = adapter\n // Clear mount registry on adapter switch — existing mounts belong to the\n // previous renderer and their host nodes are no longer valid.\n registry.clear()\n return prev\n }\n\n function setSurfaceAdapter(adapter: SurfaceAdapter): SurfaceAdapter {\n const prev = surfaceAdapter\n surfaceAdapter = adapter\n return prev\n }\n\n let patchVNodeRef: ReturnType<typeof createPatchVNode> | undefined\n let mountRef: ReturnType<typeof createMountOps>['mount'] | undefined\n let unmountRef: ReturnType<typeof createMountOps>['unmount'] | undefined\n\n const getPatchVNode = (): NonNullable<typeof patchVNodeRef> => {\n if (!patchVNodeRef) throw new Error('VDOM runtime patch function is not initialized')\n return patchVNodeRef\n }\n\n const getMount = (): NonNullable<typeof mountRef> => {\n if (!mountRef) throw new Error('VDOM runtime mount function is not initialized')\n return mountRef\n }\n\n const getUnmount = (): NonNullable<typeof unmountRef> => {\n if (!unmountRef) throw new Error('VDOM runtime unmount function is not initialized')\n return unmountRef\n }\n\n const { mount, unmount } = createMountOps(state, getPatchVNode)\n mountRef = mount\n unmountRef = unmount\n patchVNodeRef = createPatchVNode(state, getMount, getUnmount)\n const { mountJSX, remountAll, unmountJSX } = createSurfaceOps(\n state,\n getMount,\n getUnmount,\n getPatchVNode\n )\n\n return {\n mount,\n unmount,\n patchVNode: patchVNodeRef,\n mountJSX,\n unmountJSX,\n remountAll,\n normalizeVNodeLike,\n createElement,\n getHostAdapter: state.getHostAdapter,\n setHostAdapter,\n getSurfaceAdapter: state.getSurfaceAdapter,\n setSurfaceAdapter,\n getMountStats: () => registry.getStats(state.getHostAdapter()),\n mountRegistry: {\n register: (entry) => registry.register(entry),\n unregister: (id: number) => registry.unregister(id),\n findByParentAndKey: (parent, key) =>\n registry.findByParentAndKey(parent, key, state.getHostAdapter().isAlive),\n getAllEntries: () => registry.getAllEntries(),\n getEntry: (id: number) => registry.getEntry(id),\n clear: () => registry.clear(),\n },\n }\n}\n"],"names":[],"mappings":";;;;;AAQO,SAAS,kBACd,UAIA,QACa;AACb,MAAI,cAAc,SAAS;AAC3B,MAAI,iBAAiB,SAAS;AAC9B,QAAM,WAAW,IAAI,cAAA;AAErB,QAAM,QAAQ;AAAA,IACZ,gBAAgB,MAAM;AAAA,IACtB,mBAAmB,MAAM;AAAA,IACzB;AAAA,IACA;AAAA,EAAA;AAGF,WAAS,eAAe,SAAmC;AACzD,UAAM,OAAO;AACb,kBAAc;AAGd,aAAS,MAAA;AACT,WAAO;AAAA,EACT;AAEA,WAAS,kBAAkB,SAAyC;AAClE,UAAM,OAAO;AACb,qBAAiB;AACjB,WAAO;AAAA,EACT;AAEA,MAAI;AACJ,MAAI;AACJ,MAAI;AAEJ,QAAM,gBAAgB,MAAyC;AAC7D,QAAI,CAAC,cAAe,OAAM,IAAI,MAAM,gDAAgD;AACpF,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,MAAoC;AACnD,QAAI,CAAC,SAAU,OAAM,IAAI,MAAM,gDAAgD;AAC/E,WAAO;AAAA,EACT;AAEA,QAAM,aAAa,MAAsC;AACvD,QAAI,CAAC,WAAY,OAAM,IAAI,MAAM,kDAAkD;AACnF,WAAO;AAAA,EACT;AAEA,QAAM,EAAE,OAAO,QAAA,IAAY,eAAe,OAAO,aAAa;AAC9D,aAAW;AACX,eAAa;AACb,kBAAgB,iBAAiB,OAAO,UAAU,UAAU;AAC5D,QAAM,EAAE,UAAU,YAAY,WAAA,IAAe;AAAA,IAC3C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB,MAAM;AAAA,IACtB;AAAA,IACA,mBAAmB,MAAM;AAAA,IACzB;AAAA,IACA,eAAe,MAAM,SAAS,SAAS,MAAM,gBAAgB;AAAA,IAC7D,eAAe;AAAA,MACb,UAAU,CAAC,UAAU,SAAS,SAAS,KAAK;AAAA,MAC5C,YAAY,CAAC,OAAe,SAAS,WAAW,EAAE;AAAA,MAClD,oBAAoB,CAAC,QAAQ,QAC3B,SAAS,mBAAmB,QAAQ,KAAK,MAAM,eAAA,EAAiB,OAAO;AAAA,MACzE,eAAe,MAAM,SAAS,cAAA;AAAA,MAC9B,UAAU,CAAC,OAAe,SAAS,SAAS,EAAE;AAAA,MAC9C,OAAO,MAAM,SAAS,MAAA;AAAA,IAAM;AAAA,EAC9B;AAEJ;"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const createRuntime = require("./create-runtime.cjs");
4
+ const utils = require("./utils.cjs");
5
+ exports.createVDOMRuntime = createRuntime.createVDOMRuntime;
6
+ exports.createElement = utils.createElement;
7
+ exports.normalizeVNodeLike = utils.normalizeVNodeLike;
8
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,4 @@
1
+ export { createVDOMRuntime } from './create-runtime';
2
+ export { createElement, normalizeVNodeLike } from './utils';
3
+ export type { MountComponentProps, MountHandle, MountProps, MountRegistryEntry, ResolveNodePropsResult, VDOMRuntime, VDOMRuntimeBridge, } from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vdom/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC3D,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACX,iBAAiB,GAClB,MAAM,SAAS,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { createVDOMRuntime } from "./create-runtime.js";
2
+ import { createElement, normalizeVNodeLike } from "./utils.js";
3
+ export {
4
+ createElement,
5
+ createVDOMRuntime,
6
+ normalizeVNodeLike
7
+ };
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const hooks = require("../hooks.cjs");
4
+ const jsxRuntime = require("../jsx-runtime.cjs");
5
+ const runtimeHelpers = require("./runtime-helpers.cjs");
6
+ const utils = require("./utils.cjs");
7
+ function createMountOps(state, getPatchVNode) {
8
+ const { getHostContext, recalculateLayout, runEffects } = runtimeHelpers.createRuntimeHelpers(state);
9
+ const updateHandler = (hookCtx) => {
10
+ const ctx = hookCtx;
11
+ if (ctx.disposed || !state.getHostAdapter().isAlive(ctx.parent)) return;
12
+ const componentProps = ctx.componentVNode.props ?? {};
13
+ const propsWithChildren = ctx.componentVNode.children?.length ? { ...componentProps, children: ctx.componentVNode.children } : componentProps;
14
+ ctx.surface = getHostContext(ctx.parent);
15
+ const nextVNode = utils.normalizeVNodeLike(
16
+ hooks.withHooks(ctx, () => ctx.function(propsWithChildren), {
17
+ isAlive: () => state.getHostAdapter().isAlive(ctx.parent)
18
+ })
19
+ );
20
+ getPatchVNode()(ctx.parent, ctx.vnode, nextVNode);
21
+ ctx.vnode = nextVNode;
22
+ runEffects(ctx);
23
+ };
24
+ const mount = (parentOrScene, vnode) => {
25
+ if (!vnode || typeof vnode !== "object") {
26
+ return state.bridge.createDummyNode(parentOrScene);
27
+ }
28
+ if (vnode.type === void 0 || vnode.type === null) {
29
+ return state.bridge.createDummyNode(parentOrScene);
30
+ }
31
+ if (vnode.type === jsxRuntime.Fragment) {
32
+ let firstNode;
33
+ const flatChildren2 = utils.flattenChildren(vnode.children);
34
+ for (let i = 0; i < flatChildren2.length; i++) {
35
+ const child = flatChildren2[i];
36
+ if (utils.shouldSkipChild(child)) continue;
37
+ let nextChild = child;
38
+ nextChild = utils.applyThemeToChild(nextChild, vnode.__theme, {});
39
+ flatChildren2[i] = nextChild;
40
+ const childNode = mount(parentOrScene, nextChild);
41
+ if (!firstNode) firstNode = childNode;
42
+ }
43
+ utils.setVNodePropSafe(utils.setVNodePropSafe(vnode, "__node", firstNode), "__parent", parentOrScene);
44
+ return firstNode ?? state.bridge.createDummyNode(parentOrScene);
45
+ }
46
+ if (typeof vnode.type === "function") {
47
+ const ctx = {
48
+ index: 0,
49
+ slots: [],
50
+ effects: [],
51
+ cleanups: [],
52
+ vnode,
53
+ componentVNode: vnode,
54
+ parent: parentOrScene,
55
+ function: vnode.type,
56
+ isFactory: false,
57
+ theme: vnode.__theme,
58
+ themeTokens: getHostContext(parentOrScene)?.themeTokens,
59
+ surface: getHostContext(parentOrScene),
60
+ updateHandler
61
+ };
62
+ vnode = utils.setVNodePropSafe(vnode, "__ctx", ctx);
63
+ const propsWithChildren = vnode.children?.length ? { ...vnode.props ?? {}, children: vnode.children } : vnode.props;
64
+ const renderedRaw = hooks.withHooks(ctx, () => ctx.function(propsWithChildren), {
65
+ isAlive: () => state.getHostAdapter().isAlive(parentOrScene)
66
+ });
67
+ let rendered = utils.normalizeVNodeLike(renderedRaw);
68
+ if (!rendered) {
69
+ ctx.vnode = rendered;
70
+ runEffects(ctx);
71
+ return state.bridge.createDummyNode(parentOrScene);
72
+ }
73
+ if (ctx.theme && !rendered.__theme) {
74
+ rendered = utils.setVNodePropSafe(rendered, "__theme", ctx.theme);
75
+ }
76
+ if (ctx.slots.length === 0 && ctx.effects.length === 0) {
77
+ ctx.isFactory = true;
78
+ ctx.vnode = rendered;
79
+ if (vnode.__addConfig) {
80
+ rendered = utils.setVNodePropSafe(rendered, "__addConfig", vnode.__addConfig);
81
+ }
82
+ return mount(parentOrScene, rendered);
83
+ }
84
+ if (vnode.__addConfig) {
85
+ rendered = utils.setVNodePropSafe(rendered, "__addConfig", vnode.__addConfig);
86
+ }
87
+ const node2 = mount(parentOrScene, rendered);
88
+ ctx.cleanups.push(() => unmount(rendered));
89
+ ctx.vnode = rendered;
90
+ runEffects(ctx);
91
+ return node2;
92
+ }
93
+ const nodeType = vnode.type;
94
+ const { props: themedProps, nestedTheme } = state.bridge.resolveProps(
95
+ nodeType,
96
+ vnode.__theme,
97
+ vnode.props ?? {}
98
+ );
99
+ const hostCtx = getHostContext(parentOrScene);
100
+ const node = state.getHostAdapter().create(nodeType, themedProps, hostCtx);
101
+ state.bridge.attachSurfaceContext?.(node, hostCtx);
102
+ vnode = utils.setVNodePropSafe(utils.setVNodePropSafe(vnode, "__node", node), "__parent", parentOrScene);
103
+ utils.attachRef(
104
+ vnode.props?.ref,
105
+ node
106
+ );
107
+ state.getHostAdapter().append(parentOrScene, node, hostCtx);
108
+ const flatChildren = utils.flattenChildren(vnode.children);
109
+ for (let i = 0; i < flatChildren.length; i++) {
110
+ const child = flatChildren[i];
111
+ if (utils.shouldSkipChild(child)) continue;
112
+ if (!child || typeof child !== "object" || !("type" in child)) continue;
113
+ let nextChild = child;
114
+ nextChild = utils.applyThemeToChild(
115
+ nextChild,
116
+ vnode.__theme,
117
+ nestedTheme
118
+ );
119
+ flatChildren[i] = nextChild;
120
+ mount(node, nextChild);
121
+ }
122
+ if (utils.isLayoutContainer(node)) {
123
+ recalculateLayout(node, parentOrScene);
124
+ }
125
+ return node;
126
+ };
127
+ const unmount = (vnode) => {
128
+ if (!vnode) return;
129
+ if (vnode.type === jsxRuntime.Fragment) {
130
+ utils.flattenChildren(vnode.children).forEach(unmount);
131
+ return;
132
+ }
133
+ if (typeof vnode.type === "function") {
134
+ const ctx = vnode.__ctx;
135
+ if (ctx) {
136
+ hooks.disposeCtx(ctx);
137
+ delete vnode.__ctx;
138
+ }
139
+ if (ctx?.vnode) unmount(ctx.vnode);
140
+ return;
141
+ }
142
+ utils.attachRef(
143
+ vnode.props?.ref,
144
+ null
145
+ );
146
+ utils.flattenChildren(vnode.children).forEach(unmount);
147
+ const node = vnode.__node;
148
+ if (node) {
149
+ const parent = vnode.__parent;
150
+ if (parent && state.getHostAdapter().isAlive(parent) && state.getHostAdapter().isAlive(node)) {
151
+ state.getHostAdapter().remove(parent, node, getHostContext(parent));
152
+ }
153
+ }
154
+ };
155
+ return {
156
+ mount,
157
+ unmount
158
+ };
159
+ }
160
+ exports.createMountOps = createMountOps;
161
+ //# sourceMappingURL=mount.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mount.cjs","sources":["../../src/vdom/mount.ts"],"sourcesContent":["import { disposeCtx, withHooks, type HookContext } from '../hooks'\nimport type { NodeType } from '../host-adapter'\nimport { Fragment } from '../jsx-runtime'\nimport type { PartialTheme } from '../theme'\nimport type { VNodeLike } from '../types'\nimport { createRuntimeHelpers } from './runtime-helpers'\nimport type { MountFn, PatchVNodeFn, RuntimeState, UnmountFn, VDOMHookContext } from './types'\nimport {\n applyThemeToChild,\n attachRef,\n flattenChildren,\n isLayoutContainer,\n normalizeVNodeLike,\n setVNodePropSafe,\n shouldSkipChild,\n} from './utils'\n\nexport function createMountOps(state: RuntimeState, getPatchVNode: () => PatchVNodeFn) {\n const { getHostContext, recalculateLayout, runEffects } = createRuntimeHelpers(state)\n\n const updateHandler = (hookCtx: HookContext): void => {\n const ctx = hookCtx as VDOMHookContext\n if (ctx.disposed || !state.getHostAdapter().isAlive(ctx.parent)) return\n\n const componentProps = ctx.componentVNode.props ?? {}\n const propsWithChildren = ctx.componentVNode.children?.length\n ? { ...componentProps, children: ctx.componentVNode.children }\n : componentProps\n\n ctx.surface = getHostContext(ctx.parent)\n const nextVNode = normalizeVNodeLike(\n withHooks(ctx, () => ctx.function(propsWithChildren), {\n isAlive: () => state.getHostAdapter().isAlive(ctx.parent),\n }) as VNodeLike\n )\n\n getPatchVNode()(ctx.parent, ctx.vnode, nextVNode)\n ctx.vnode = nextVNode\n runEffects(ctx)\n }\n\n const mount: MountFn = (parentOrScene, vnode) => {\n if (!vnode || typeof vnode !== 'object') {\n return state.bridge.createDummyNode(parentOrScene)\n }\n\n if (vnode.type === undefined || vnode.type === null) {\n return state.bridge.createDummyNode(parentOrScene)\n }\n\n if (vnode.type === Fragment) {\n let firstNode\n const flatChildren = flattenChildren(vnode.children)\n for (let i = 0; i < flatChildren.length; i++) {\n const child = flatChildren[i]\n if (shouldSkipChild(child)) continue\n let nextChild = child as typeof vnode\n nextChild = applyThemeToChild(nextChild, vnode.__theme as PartialTheme | undefined, {})\n flatChildren[i] = nextChild\n const childNode = mount(parentOrScene, nextChild)\n if (!firstNode) firstNode = childNode\n }\n setVNodePropSafe(setVNodePropSafe(vnode, '__node', firstNode), '__parent', parentOrScene)\n return firstNode ?? state.bridge.createDummyNode(parentOrScene)\n }\n\n if (typeof vnode.type === 'function') {\n const ctx: VDOMHookContext = {\n index: 0,\n slots: [],\n effects: [],\n cleanups: [],\n vnode,\n componentVNode: vnode,\n parent: parentOrScene,\n function: vnode.type as (props: unknown) => VNodeLike,\n isFactory: false,\n theme: vnode.__theme as PartialTheme | undefined,\n themeTokens: getHostContext(parentOrScene)?.themeTokens,\n surface: getHostContext(parentOrScene),\n updateHandler,\n }\n vnode = setVNodePropSafe(vnode, '__ctx', ctx)\n\n const propsWithChildren = vnode.children?.length\n ? { ...(vnode.props ?? {}), children: vnode.children }\n : vnode.props\n const renderedRaw = withHooks(ctx, () => ctx.function(propsWithChildren), {\n isAlive: () => state.getHostAdapter().isAlive(parentOrScene),\n })\n let rendered = normalizeVNodeLike(renderedRaw as VNodeLike)\n\n if (!rendered) {\n ctx.vnode = rendered\n runEffects(ctx)\n return state.bridge.createDummyNode(parentOrScene)\n }\n\n if (ctx.theme && !rendered.__theme) {\n rendered = setVNodePropSafe(rendered, '__theme', ctx.theme)\n }\n\n if (ctx.slots.length === 0 && ctx.effects.length === 0) {\n ctx.isFactory = true\n ctx.vnode = rendered\n if (vnode.__addConfig) {\n rendered = setVNodePropSafe(rendered, '__addConfig', vnode.__addConfig)\n }\n return mount(parentOrScene, rendered)\n }\n\n if (vnode.__addConfig) {\n rendered = setVNodePropSafe(rendered, '__addConfig', vnode.__addConfig)\n }\n\n const node = mount(parentOrScene, rendered)\n ctx.cleanups.push(() => unmount(rendered))\n ctx.vnode = rendered\n runEffects(ctx)\n return node\n }\n\n const nodeType = vnode.type as NodeType\n const { props: themedProps, nestedTheme } = state.bridge.resolveProps(\n nodeType,\n vnode.__theme as PartialTheme | undefined,\n (vnode.props ?? {}) as Record<string, unknown>\n )\n\n const hostCtx = getHostContext(parentOrScene)\n const node = state.getHostAdapter().create(nodeType, themedProps, hostCtx)\n state.bridge.attachSurfaceContext?.(node, hostCtx)\n vnode = setVNodePropSafe(setVNodePropSafe(vnode, '__node', node), '__parent', parentOrScene)\n\n attachRef(\n vnode.props?.ref as\n | { current: typeof node | null }\n | ((value: typeof node | null) => void)\n | undefined,\n node\n )\n state.getHostAdapter().append(parentOrScene, node, hostCtx)\n\n const flatChildren = flattenChildren(vnode.children)\n for (let i = 0; i < flatChildren.length; i++) {\n const child = flatChildren[i]\n if (shouldSkipChild(child)) continue\n if (!child || typeof child !== 'object' || !('type' in child)) continue\n\n let nextChild = child as typeof vnode\n nextChild = applyThemeToChild(\n nextChild,\n vnode.__theme as PartialTheme | undefined,\n nestedTheme\n )\n flatChildren[i] = nextChild\n mount(node, nextChild)\n }\n\n if (isLayoutContainer(node)) {\n recalculateLayout(node, parentOrScene)\n }\n\n return node\n }\n\n const unmount: UnmountFn = (vnode) => {\n if (!vnode) return\n\n if (vnode.type === Fragment) {\n flattenChildren(vnode.children).forEach(unmount)\n return\n }\n\n if (typeof vnode.type === 'function') {\n const ctx = (vnode as typeof vnode & { __ctx?: VDOMHookContext }).__ctx\n if (ctx) {\n disposeCtx(ctx)\n delete (vnode as typeof vnode & { __ctx?: VDOMHookContext }).__ctx\n }\n if (ctx?.vnode) unmount(ctx.vnode)\n return\n }\n\n attachRef(\n vnode.props?.ref as\n | { current: unknown | null }\n | ((value: unknown | null) => void)\n | undefined,\n null\n )\n\n flattenChildren(vnode.children).forEach(unmount)\n\n const node = vnode.__node\n if (node) {\n const parent = vnode.__parent\n if (\n parent &&\n state.getHostAdapter().isAlive(parent) &&\n state.getHostAdapter().isAlive(node)\n ) {\n state.getHostAdapter().remove(parent, node, getHostContext(parent))\n }\n }\n }\n\n return {\n mount,\n unmount,\n }\n}\n"],"names":["createRuntimeHelpers","normalizeVNodeLike","withHooks","Fragment","flatChildren","flattenChildren","shouldSkipChild","applyThemeToChild","setVNodePropSafe","node","attachRef","isLayoutContainer","disposeCtx"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { MountFn, PatchVNodeFn, RuntimeState, UnmountFn } from './types';
2
+ export declare function createMountOps(state: RuntimeState, getPatchVNode: () => PatchVNodeFn): {
3
+ mount: MountFn;
4
+ unmount: UnmountFn;
5
+ };
6
+ //# sourceMappingURL=mount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/vdom/mount.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAmB,MAAM,SAAS,CAAA;AAW9F,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY;;;EAkMpF"}