@lytjs/renderer 4.2.0 → 5.0.1

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 (57) hide show
  1. package/dist/dom.cjs +1 -1
  2. package/dist/dom.mjs +1 -1
  3. package/dist/index.cjs +1 -1
  4. package/dist/index.mjs +1 -1
  5. package/dist/miniapp.cjs +26 -4
  6. package/dist/miniapp.mjs +26 -4
  7. package/dist/native.cjs +1 -1
  8. package/dist/native.mjs +1 -1
  9. package/dist/ssr.cjs +1 -1
  10. package/dist/ssr.mjs +1 -1
  11. package/dist/types/dom/dom-ops.d.ts.map +1 -1
  12. package/dist/types/dom/dom-renderer.d.ts +3 -3
  13. package/dist/types/dom/dom-renderer.d.ts.map +1 -1
  14. package/dist/types/dom/patch-events.d.ts.map +1 -1
  15. package/dist/types/dom/patch-props.d.ts +2 -32
  16. package/dist/types/dom/patch-props.d.ts.map +1 -1
  17. package/dist/types/miniapp/api-adapter.d.ts +514 -0
  18. package/dist/types/miniapp/api-adapter.d.ts.map +1 -0
  19. package/dist/types/miniapp/index.d.ts +23 -2
  20. package/dist/types/miniapp/index.d.ts.map +1 -1
  21. package/dist/types/miniapp/miniapp-compiler.d.ts +269 -0
  22. package/dist/types/miniapp/miniapp-compiler.d.ts.map +1 -0
  23. package/dist/types/miniapp/miniapp-event-bridge.d.ts +255 -0
  24. package/dist/types/miniapp/miniapp-event-bridge.d.ts.map +1 -0
  25. package/dist/types/miniapp/miniapp-lifecycle.d.ts +224 -0
  26. package/dist/types/miniapp/miniapp-lifecycle.d.ts.map +1 -0
  27. package/dist/types/miniapp/miniapp-renderer.d.ts.map +1 -1
  28. package/dist/types/miniapp/miniapp-utils.d.ts +168 -0
  29. package/dist/types/miniapp/miniapp-utils.d.ts.map +1 -0
  30. package/dist/types/miniapp/shared-constants.d.ts +28 -0
  31. package/dist/types/miniapp/shared-constants.d.ts.map +1 -0
  32. package/dist/types/miniapp/style-compiler.d.ts +193 -0
  33. package/dist/types/miniapp/style-compiler.d.ts.map +1 -0
  34. package/dist/types/native/native-renderer.d.ts.map +1 -1
  35. package/dist/types/renderer-interfaces.d.ts +19 -19
  36. package/dist/types/renderer-interfaces.d.ts.map +1 -1
  37. package/dist/types/shared/abstract-renderer.d.ts +74 -0
  38. package/dist/types/shared/abstract-renderer.d.ts.map +1 -0
  39. package/dist/types/ssr/hydration.d.ts +1 -16
  40. package/dist/types/ssr/hydration.d.ts.map +1 -1
  41. package/dist/types/ssr/ssr-renderer.d.ts +9 -24
  42. package/dist/types/ssr/ssr-renderer.d.ts.map +1 -1
  43. package/dist/types/vapor/index.d.ts +1 -1
  44. package/dist/types/vapor/index.d.ts.map +1 -1
  45. package/dist/types/vapor/vapor-compiler.d.ts +9 -0
  46. package/dist/types/vapor/vapor-compiler.d.ts.map +1 -1
  47. package/dist/types/vapor/vapor-component.d.ts +8 -1
  48. package/dist/types/vapor/vapor-component.d.ts.map +1 -1
  49. package/dist/types/vapor/vapor-reactive.d.ts +27 -4
  50. package/dist/types/vapor/vapor-reactive.d.ts.map +1 -1
  51. package/dist/types/vapor/vapor-renderer.d.ts +4 -2
  52. package/dist/types/vapor/vapor-renderer.d.ts.map +1 -1
  53. package/dist/types/vnode.d.ts +76 -7
  54. package/dist/types/vnode.d.ts.map +1 -1
  55. package/dist/vapor.cjs +1 -1
  56. package/dist/vapor.mjs +1 -1
  57. package/package.json +4 -3
@@ -21,63 +21,63 @@ export interface LytRenderer {
21
21
  * @param tag 标签名(如 'div', 'span')
22
22
  * @returns 平台特定的元素引用
23
23
  */
24
- createElement(tag: string): any;
24
+ createElement(tag: string): unknown;
25
25
  /**
26
26
  * 创建文本节点
27
27
  * @param text 文本内容
28
28
  * @returns 平台特定的文本节点引用
29
29
  */
30
- createText(text: string): any;
30
+ createText(text: string): unknown;
31
31
  /**
32
32
  * 创建注释节点
33
33
  * @param text 注释内容
34
34
  * @returns 平台特定的注释节点引用
35
35
  */
36
- createComment(text: string): any;
36
+ createComment(text: string): unknown;
37
37
  /**
38
38
  * 设置元素属性
39
39
  * @param el 元素引用
40
40
  * @param key 属性名
41
41
  * @param val 属性值
42
42
  */
43
- setAttribute(el: any, key: string, val: any): void;
43
+ setAttribute(el: unknown, key: string, val: unknown): void;
44
44
  /**
45
45
  * 移除元素属性
46
46
  * @param el 元素引用
47
47
  * @param key 属性名
48
48
  */
49
- removeAttribute(el: any, key: string): void;
49
+ removeAttribute(el: unknown, key: string): void;
50
50
  /**
51
51
  * 设置元素样式
52
52
  * @param el 元素引用
53
53
  * @param style 样式对象或字符串
54
54
  */
55
- setStyle(el: any, style: object): void;
55
+ setStyle(el: unknown, style: object): void;
56
56
  /**
57
57
  * 设置元素 class
58
58
  * @param el 元素引用
59
59
  * @param cls class 值(字符串或对象)
60
60
  */
61
- setClass(el: any, cls: string | object): void;
61
+ setClass(el: unknown, cls: string | object): void;
62
62
  /**
63
63
  * 插入子节点
64
64
  * @param parent 父节点
65
65
  * @param child 子节点
66
66
  * @param ref 参考节点(插入到其前面),可选
67
67
  */
68
- insert(parent: any, child: any, ref?: any): void;
68
+ insert(parent: unknown, child: unknown, ref?: unknown): void;
69
69
  /**
70
70
  * 移除节点
71
71
  * @param child 要移除的节点
72
72
  */
73
- remove(child: any): void;
73
+ remove(child: unknown): void;
74
74
  /**
75
75
  * 替换子节点
76
76
  * @param parent 父节点
77
77
  * @param oldChild 被替换的旧节点
78
78
  * @param newChild 替换的新节点
79
79
  */
80
- replace(parent: any, oldChild: any, newChild: any): void;
80
+ replace(parent: unknown, oldChild: unknown, newChild: unknown): void;
81
81
  /**
82
82
  * 添加事件监听器
83
83
  * @param el 元素引用
@@ -85,37 +85,37 @@ export interface LytRenderer {
85
85
  * @param handler 事件处理函数
86
86
  * @param options 事件选项(可选)
87
87
  */
88
- addEventListener(el: any, event: string, handler: Function, options?: any): void;
88
+ addEventListener(el: unknown, event: string, handler: (...args: unknown[]) => void, options?: unknown): void;
89
89
  /**
90
90
  * 移除事件监听器
91
91
  * @param el 元素引用
92
92
  * @param event 事件名
93
93
  * @param handler 事件处理函数
94
94
  */
95
- removeEventListener(el: any, event: string, handler: Function): void;
95
+ removeEventListener(el: unknown, event: string, handler: (...args: unknown[]) => void): void;
96
96
  /**
97
97
  * 在下一个微任务中执行回调
98
98
  * @param cb 回调函数
99
99
  */
100
- nextTick(cb: Function): void;
100
+ nextTick(cb: (...args: unknown[]) => void): void;
101
101
  /**
102
102
  * 获取父节点
103
103
  * @param el 元素引用
104
104
  * @returns 父节点引用
105
105
  */
106
- parentNode(el: any): any;
106
+ parentNode(el: unknown): unknown;
107
107
  /**
108
108
  * 获取下一个兄弟节点
109
109
  * @param el 元素引用
110
110
  * @returns 下一个兄弟节点引用
111
111
  */
112
- nextSibling(el: any): any;
112
+ nextSibling(el: unknown): unknown;
113
113
  /**
114
114
  * 查询选择器
115
115
  * @param selector CSS 选择器
116
116
  * @returns 匹配的元素引用
117
117
  */
118
- querySelector(selector: string): any;
118
+ querySelector(selector: string): unknown;
119
119
  }
120
120
  /**
121
121
  * RendererInstance — 渲染器实例
@@ -133,7 +133,7 @@ export interface RendererInstance {
133
133
  * @param vnode VNode 树
134
134
  * @param container 容器元素
135
135
  */
136
- mount(vnode: VNode, container: any): void;
136
+ mount(vnode: VNode, container: unknown): void;
137
137
  /**
138
138
  * 对比更新新旧 VNode
139
139
  *
@@ -143,7 +143,7 @@ export interface RendererInstance {
143
143
  * @param newVNode 新 VNode
144
144
  * @param container 容器元素(可选)
145
145
  */
146
- patch(oldVNode: VNode, newVNode: VNode, container?: any): void;
146
+ patch(oldVNode: VNode, newVNode: VNode, container?: unknown): void;
147
147
  /**
148
148
  * 卸载 VNode
149
149
  *
@@ -152,6 +152,6 @@ export interface RendererInstance {
152
152
  * @param vnode VNode
153
153
  * @param container 容器元素(可选)
154
154
  */
155
- unmount(vnode: VNode, container?: any): void;
155
+ unmount(vnode: VNode, container?: unknown): void;
156
156
  }
157
157
  //# sourceMappingURL=renderer-interfaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderer-interfaces.d.ts","sourceRoot":"","sources":["../../src/renderer-interfaces.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAMpC;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;IAE/B;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;IAE7B;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;IAEhC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAAA;IAElD;;;;OAIG;IACH,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAE3C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAEtC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IAE7C;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;IAEhD;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAAA;IAExB;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAA;IAExD;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;IAEhF;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;IAEpE;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAA;IAE5B;;;;OAIG;IACH,UAAU,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,CAAA;IAExB;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,CAAA;IAEzB;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAA;CACrC;AAMD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,GAAG,IAAI,CAAA;IAEzC;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;IAE9D;;;;;;;OAOG;IACH,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;CAC7C"}
1
+ {"version":3,"file":"renderer-interfaces.d.ts","sourceRoot":"","sources":["../../src/renderer-interfaces.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAMpC;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IAEnC;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAEjC;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAEpC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAAA;IAE1D;;;;OAIG;IACH,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAE/C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAE1C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IAEjD;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAE5D;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAE5B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAA;IAEpE;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAE5G;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAA;IAE5F;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAA;IAEhD;;;;OAIG;IACH,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAA;IAEhC;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAA;IAEjC;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;CACzC;AAMD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAAA;IAE7C;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAElE;;;;;;;OAOG;IACH,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;CACjD"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * abstract-renderer.ts - 抽象渲染器基类
3
+ *
4
+ * 提取 miniapp-renderer.ts 和 native-renderer.ts 中共享的
5
+ * DOM 操作方法(insert / remove / replace / parentNode / nextSibling),
6
+ * 避免代码重复。
7
+ *
8
+ * 两个渲染器的节点结构都包含 _parent 和 children 字段,
9
+ * 因此这些树操作逻辑完全一致。
10
+ */
11
+ /**
12
+ * 树节点接口 - 描述具有父子关系的通用节点结构
13
+ *
14
+ * MiniAppNode 和 NativeNode 都满足此接口。
15
+ */
16
+ export interface TreeNode {
17
+ /** 子节点列表 */
18
+ children: TreeNode[];
19
+ /** 父节点引用(内部使用,不序列化) */
20
+ _parent?: TreeNode;
21
+ }
22
+ /**
23
+ * 插入子节点
24
+ *
25
+ * 将 child 插入到 parent 的子节点列表中。
26
+ * 如果提供了 ref,则插入到 ref 之前;否则追加到末尾。
27
+ * 会自动清除 child 的旧父节点引用。
28
+ *
29
+ * @param parent 父节点
30
+ * @param child 子节点
31
+ * @param ref 参考节点(插入到其前面),可选
32
+ */
33
+ export declare function insertChild(parent: TreeNode, child: TreeNode, ref?: TreeNode): void;
34
+ /**
35
+ * 移除节点
36
+ *
37
+ * 将 child 从其父节点的子节点列表中移除,
38
+ * 并清除 child 的父节点引用。
39
+ *
40
+ * @param child 要移除的节点
41
+ */
42
+ export declare function removeChild(child: TreeNode): void;
43
+ /**
44
+ * 替换子节点
45
+ *
46
+ * 将 parent 子节点列表中的 oldChild 替换为 newChild。
47
+ * 会自动更新父节点引用。
48
+ *
49
+ * @param parent 父节点
50
+ * @param oldChild 被替换的旧节点
51
+ * @param newChild 替换的新节点
52
+ */
53
+ export declare function replaceChild(parent: TreeNode, oldChild: TreeNode, newChild: TreeNode): void;
54
+ /**
55
+ * 获取父节点
56
+ *
57
+ * @param el 树节点
58
+ * @returns 父节点,无父节点时返回 null
59
+ */
60
+ export declare function getParentNode(el: TreeNode): TreeNode | null;
61
+ /**
62
+ * 获取下一个兄弟节点
63
+ *
64
+ * @param el 树节点
65
+ * @returns 下一个兄弟节点,无时返回 null
66
+ */
67
+ export declare function getNextSibling(el: TreeNode): TreeNode | null;
68
+ /**
69
+ * 在下一个微任务中执行回调
70
+ *
71
+ * @param cb 回调函数
72
+ */
73
+ export declare function nextTick(cb: Function): void;
74
+ //# sourceMappingURL=abstract-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-renderer.d.ts","sourceRoot":"","sources":["../../../src/shared/abstract-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,YAAY;IACZ,QAAQ,EAAE,QAAQ,EAAE,CAAA;IACpB,uBAAuB;IACvB,OAAO,CAAC,EAAE,QAAQ,CAAA;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAuBnF;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CASjD;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAS3F;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAO5D;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAE3C"}
@@ -33,22 +33,7 @@
33
33
  * - 支持 lazy hydration(IntersectionObserver / requestIdleCallback / interaction)
34
34
  * - 支持 hydration mismatch 检测(开发模式)
35
35
  */
36
- /** VNode 类型(与 @lytjs/vdom 对齐) */
37
- export interface VNode {
38
- type: string | object | symbol;
39
- props: Record<string, any> | null;
40
- children: string | VNode[] | Record<string, any> | null;
41
- key: string | number | null;
42
- ref: any;
43
- shapeFlag: number;
44
- patchFlag: number;
45
- dynamicChildren: VNode[] | null;
46
- dynamicProps: string[] | null;
47
- component: any;
48
- el: any;
49
- anchor: any;
50
- [key: string]: any;
51
- }
36
+ import type { VNode } from '@lytjs/vdom';
52
37
  /** 应用实例接口(简化版) */
53
38
  export interface App {
54
39
  /** 挂载函数 */
@@ -1 +1 @@
1
- {"version":3,"file":"hydration.d.ts","sourceRoot":"","sources":["../../../src/ssr/hydration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hydration.d.ts","sourceRoot":"","sources":["../../../src/ssr/hydration.ts"],"names":[],"mappings":"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"}
@@ -83,6 +83,15 @@ export interface RenderToStreamOptions {
83
83
  /** Suspense 边界 ID 前缀,默认 'suspense' */
84
84
  suspenseIdPrefix?: string;
85
85
  }
86
+ import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from '@lytjs/common';
87
+ /** Re-export normalizeClass and normalizeStyle for external use */
88
+ export { _normalizeClass as normalizeClass, _normalizeStyle as normalizeStyle };
89
+ /**
90
+ * 重置 Suspense 边界 ID 计数器
91
+ *
92
+ * 在服务端渲染多个独立页面时调用,避免 ID 跨请求泄漏。
93
+ */
94
+ export declare function resetSuspenseBoundaryId(): void;
86
95
  /**
87
96
  * HTML 转义 — 将特殊字符替换为 HTML 实体
88
97
  *
@@ -115,30 +124,6 @@ export declare function escapeHTML(str: string): string;
115
124
  * @returns 序列化后的属性字符串(格式:key="value"),不需要序列化时返回空字符串
116
125
  */
117
126
  export declare function serializeProp(key: string, value: any): string;
118
- /**
119
- * 标准化 class 值
120
- *
121
- * 支持多种形式的 class 输入:
122
- * - 字符串:'foo bar'
123
- * - 数组:['foo', 'bar']
124
- * - 对象:{ foo: true, bar: false }
125
- * - 混合:['foo', { bar: true }]
126
- *
127
- * @param value class 值
128
- * @returns 标准化后的 class 字符串
129
- */
130
- export declare function normalizeClass(value: any): string;
131
- /**
132
- * 标准化 style 值
133
- *
134
- * 支持两种形式的 style 输入:
135
- * - 字符串:'color: red; font-size: 14px'
136
- * - 对象:{ color: 'red', fontSize: '14px' }
137
- *
138
- * @param value style 值
139
- * @returns 标准化后的 style 字符串
140
- */
141
- export declare function normalizeStyle(value: any): string;
142
127
  /**
143
128
  * 序列化所有属性
144
129
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ssr-renderer.d.ts","sourceRoot":"","sources":["../../../src/ssr/ssr-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ssr-renderer.d.ts","sourceRoot":"","sources":["../../../src/ssr/ssr-renderer.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export { createRenderer, } from '../create-renderer';
10
10
  export { Fragment, Text, Comment, ShapeFlags, PatchFlags, } from '../vnode';
11
11
  export { createVaporElement, renderVaporNode, vaporPatch, vaporMount, setVaporDOMFactory, getVaporDOMFactory, } from './vapor-renderer';
12
12
  export type { VaporNode, VaporBinding, VaporBindingType, VaporContainer, VaporComponentOptions, VaporApp, VaporElement, BindingCleanup, } from './vapor-renderer';
13
- export { bindText, bindProp, bindAttr, bindClass, bindEvent, bindIf, bindEach, } from './vapor-reactive';
13
+ export { bindText, bindProp, bindAttr, bindClass, bindEvent, bindIf, bindEach, bindStyle, bindHTML, } from './vapor-reactive';
14
14
  export { compileToVapor, parseTemplate, } from './vapor-compiler';
15
15
  export type { VaporRenderFunction, VaporCompileResult } from './vapor-compiler';
16
16
  export { defineVaporComponent, createVaporApp, renderVaporComponent, } from './vapor-component';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vapor/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGtC,OAAO,EACL,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,UAAU,EACV,UAAU,GACX,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,QAAQ,EACR,YAAY,EACZ,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,EACN,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,cAAc,EACd,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEhF,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vapor/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGtC,OAAO,EACL,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,UAAU,EACV,UAAU,GACX,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,QAAQ,EACR,YAAY,EACZ,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,cAAc,EACd,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEhF,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -61,7 +61,16 @@ declare function renderASTNode(node: ASTNode, ctx: Record<string, unknown>, fact
61
61
  * 从上下文中解析表达式
62
62
  *
63
63
  * 支持简单属性访问和点号路径。
64
+ * 如果解析结果是 Signal,返回 Signal 本身(不调用)。
64
65
  */
65
66
  declare function resolveExpression(ctx: Record<string, unknown>, expression: string): unknown;
67
+ /**
68
+ * 清理 Vapor 元素的所有 effect 绑定
69
+ *
70
+ * 在组件卸载或重新渲染时调用,停止所有响应式绑定以避免内存泄漏。
71
+ *
72
+ * @param el - 要清理的 Vapor 元素
73
+ */
74
+ export declare function cleanupVaporElement(el: VaporElement): void;
66
75
  export { parseTemplate, renderASTNode, resolveExpression };
67
76
  //# sourceMappingURL=vapor-compiler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vapor-compiler.d.ts","sourceRoot":"","sources":["../../../src/vapor/vapor-compiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAOrD,eAAe;AACf,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,YAAY,CAAA;AAEhF,eAAe;AACf,KAAK,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,eAAe,GAAG,UAAU,CAAA;AAEpE,aAAa;AACb,UAAU,OAAO;IACf,IAAI,EAAE,WAAW,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,UAAU,CAAC,EAAE;QACX,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,IAAI,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAA;KAC5C,CAAA;IACD,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;CACrB;AAED,WAAW;AACX,MAAM,WAAW,kBAAkB;IACjC,WAAW;IACX,MAAM,EAAE,mBAAmB,CAAA;IAC3B,eAAe;IACf,GAAG,EAAE,OAAO,CAAA;CACb;AAMD;;;;GAIG;AACH,iBAAS,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CA8EhD;AA6GD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAInE;AAYD;;GAEG;AACH,iBAAS,aAAa,CACpB,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,GACrC,YAAY,CAmId;AAED;;;;GAIG;AACH,iBAAS,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAwBpF;AAMD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"vapor-compiler.d.ts","sourceRoot":"","sources":["../../../src/vapor/vapor-compiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAWrD,eAAe;AACf,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,YAAY,CAAA;AAEhF,eAAe;AACf,KAAK,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,eAAe,GAAG,UAAU,CAAA;AAEpE,aAAa;AACb,UAAU,OAAO;IACf,IAAI,EAAE,WAAW,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,UAAU,CAAC,EAAE;QACX,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,IAAI,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAA;KAC5C,CAAA;IACD,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;CACrB;AAED,WAAW;AACX,MAAM,WAAW,kBAAkB;IACjC,WAAW;IACX,MAAM,EAAE,mBAAmB,CAAA;IAC3B,eAAe;IACf,GAAG,EAAE,OAAO,CAAA;CACb;AAMD;;;;GAIG;AACH,iBAAS,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CA8EhD;AA6GD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAInE;AAYD;;GAEG;AACH,iBAAS,aAAa,CACpB,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,GACrC,YAAY,CAmMd;AAED;;;;;GAKG;AACH,iBAAS,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAgBpF;AA4BD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAyC1D;AAMD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC"}
@@ -16,6 +16,12 @@ export interface VaporComponentInstance {
16
16
  el: VaporElement | null;
17
17
  /** 是否已挂载 */
18
18
  isMounted: boolean;
19
+ /** 父组件实例 */
20
+ parent: VaporComponentInstance | null;
21
+ /** 子组件实例 */
22
+ children: VaporComponentInstance[];
23
+ /** 传递的 props */
24
+ props: Record<string, unknown>;
19
25
  /** 卸载函数 */
20
26
  _unmount?: () => void;
21
27
  }
@@ -42,7 +48,8 @@ export declare function createVaporApp(rootComponent: VaporComponentOptions): Va
42
48
  * 渲染 Vapor 组件为 DOM 元素
43
49
  *
44
50
  * @param component 组件选项
51
+ * @param props 传递给组件的 props
45
52
  * @returns 渲染后的 DOM 元素
46
53
  */
47
- export declare function renderVaporComponent(component: VaporComponentOptions): VaporElement;
54
+ export declare function renderVaporComponent(component: VaporComponentOptions, props?: Record<string, unknown>): VaporElement;
48
55
  //# sourceMappingURL=vapor-component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vapor-component.d.ts","sourceRoot":"","sources":["../../../src/vapor/vapor-component.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAa,qBAAqB,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAEnG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAOrD,iBAAiB;AACjB,MAAM,WAAW,sBAAsB;IACrC,WAAW;IACX,OAAO,EAAE,qBAAqB,CAAA;IAC9B,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,eAAe;IACf,EAAE,EAAE,YAAY,GAAG,IAAI,CAAA;IACvB,YAAY;IACZ,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CACtB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,CAE1F;AAMD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,qBAAqB,GAAG,QAAQ,CAoD7E;AAMD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,qBAAqB,GAAG,YAAY,CAgCnF"}
1
+ {"version":3,"file":"vapor-component.d.ts","sourceRoot":"","sources":["../../../src/vapor/vapor-component.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAa,qBAAqB,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAEnG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAOrD,iBAAiB;AACjB,MAAM,WAAW,sBAAsB;IACrC,WAAW;IACX,OAAO,EAAE,qBAAqB,CAAA;IAC9B,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,eAAe;IACf,EAAE,EAAE,YAAY,GAAG,IAAI,CAAA;IACvB,YAAY;IACZ,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY;IACZ,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAA;IACrC,YAAY;IACZ,QAAQ,EAAE,sBAAsB,EAAE,CAAA;IAClC,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CACtB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,CAI1F;AAMD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,qBAAqB,GAAG,QAAQ,CAoD7E;AAMD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,qBAAqB,EAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,YAAY,CAmCd"}
@@ -84,16 +84,39 @@ export declare function bindClass<T>(el: VaporElement, sig: Signal<T>): BindingC
84
84
  */
85
85
  export declare function bindEvent(el: VaporElement, event: string, handler: Function): BindingCleanup;
86
86
  /**
87
- * 根据信号值控制元素的显示/隐藏
87
+ * 将信号值绑定到元素的 style 属性
88
88
  *
89
- * 当信号值为真值时显示元素,假值时隐藏元素。
90
- * 使用 display: none 方式隐藏,保留 DOM 结构。
89
+ * 支持两种形式:
90
+ * - 字符串:直接设置为 style.cssText
91
+ * - 对象:{ color: 'red', fontSize: '14px' } -> 逐项设置
91
92
  *
92
93
  * @param el 目标 DOM 元素
93
94
  * @param sig 响应式信号
94
95
  * @returns 清理函数
95
96
  */
96
- export declare function bindIf<T>(el: VaporElement, sig: Signal<T>): BindingCleanup;
97
+ export declare function bindStyle<T>(el: VaporElement, sig: Signal<T>): BindingCleanup;
98
+ /**
99
+ * 将信号值绑定到元素的 innerHTML
100
+ *
101
+ * ⚠️ 注意:使用 innerHTML 存在 XSS 风险,请确保数据来源可信。
102
+ *
103
+ * @param el 目标 DOM 元素
104
+ * @param sig 响应式信号
105
+ * @returns 清理函数
106
+ */
107
+ export declare function bindHTML<T>(el: VaporElement, sig: Signal<T>): BindingCleanup;
108
+ /**
109
+ * 根据信号值控制元素的插入/移除
110
+ *
111
+ * 当信号值为真值时插入元素到 DOM,假值时从 DOM 移除。
112
+ * 使用注释节点作为锚点,保持 DOM 位置稳定。
113
+ *
114
+ * @param el 目标 DOM 元素
115
+ * @param sig 响应式信号
116
+ * @param anchor 可选的锚点元素,用于定位插入位置
117
+ * @returns 清理函数
118
+ */
119
+ export declare function bindIf<T>(el: VaporElement, sig: Signal<T>, anchor?: VaporElement): BindingCleanup;
97
120
  /**
98
121
  * 根据信号数组渲染列表
99
122
  *
@@ -1 +1 @@
1
- {"version":3,"file":"vapor-reactive.d.ts","sourceRoot":"","sources":["../../../src/vapor/vapor-reactive.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAOvD,oCAAoC;AACpC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,YAAY,EAAE,CAAA;IAC1B,UAAU,EAAE,YAAY,GAAG,IAAI,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,mBAAmB,CAAA;IACnD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9C,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;IACxD,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;IAC3D,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAA;IACtC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAAA;IACjE,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAG,YAAY,CAAA;IAC1E,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAA;IACtC,WAAW,EAAE,YAAY,GAAG,IAAI,CAAA;IAChC,UAAU,EAAE,YAAY,GAAG,IAAI,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,aAAa;AACb,MAAM,MAAM,cAAc,GAAG,MAAM,IAAI,CAAA;AAMvC;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,EAAE,EAAE,YAAY,EAChB,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GACb,cAAc,CAMhB;AAMD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GACb,cAAc,CAMhB;AAMD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GACb,cAAc,CAUhB;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,EAAE,EAAE,YAAY,EAChB,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GACb,cAAc,CAqBhB;AAMD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,QAAQ,GAChB,cAAc,CAKhB;AAMD;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,CAAC,EACtB,EAAE,EAAE,YAAY,EAChB,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GACb,cAAc,CAiBhB;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,SAAS,EAAE,YAAY,EACvB,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAChB,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,YAAY,EACpD,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,GAClD,cAAc,CAsEhB"}
1
+ {"version":3,"file":"vapor-reactive.d.ts","sourceRoot":"","sources":["../../../src/vapor/vapor-reactive.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@
12
12
  */
13
13
  import type { Signal } from '@lytjs/reactivity/signal';
14
14
  import type { VaporElement, BindingCleanup } from './vapor-reactive';
15
- import { bindText, bindProp, bindAttr, bindClass, bindEvent, bindIf, bindEach } from './vapor-reactive';
15
+ import { bindText, bindProp, bindAttr, bindClass, bindEvent, bindIf, bindEach, bindStyle, bindHTML } from './vapor-reactive';
16
16
  /** Vapor 绑定类型 */
17
17
  export type VaporBindingType = 'text' | 'prop' | 'attr' | 'class' | 'style' | 'event';
18
18
  /** Vapor 绑定描述 */
@@ -44,6 +44,8 @@ export interface VaporNode {
44
44
  text?: string;
45
45
  /** 节点 key(用于列表渲染) */
46
46
  key?: string | number;
47
+ /** 内部:绑定清理函数列表(用于 patch 时清理旧绑定) */
48
+ _bindingCleanups?: BindingCleanup[];
47
49
  }
48
50
  /** Vapor 挂载容器接口 */
49
51
  export interface VaporContainer {
@@ -128,6 +130,6 @@ export declare function vaporPatch(oldNode: VaporNode, newNode: VaporNode, paren
128
130
  * @returns 卸载函数
129
131
  */
130
132
  export declare function vaporMount(container: VaporContainer, component: VaporComponentOptions): () => void;
131
- export { bindText, bindProp, bindAttr, bindClass, bindEvent, bindIf, bindEach, };
133
+ export { bindText, bindProp, bindAttr, bindClass, bindEvent, bindIf, bindEach, bindStyle, bindHTML, };
132
134
  export type { VaporElement, BindingCleanup, };
133
135
  //# sourceMappingURL=vapor-renderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vapor-renderer.d.ts","sourceRoot":"","sources":["../../../src/vapor/vapor-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vapor-renderer.d.ts","sourceRoot":"","sources":["../../../src/vapor/vapor-renderer.ts"],"names":[],"mappings":"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"}