@fukict/basic 0.1.0 → 0.1.2
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.
- package/README.md +510 -0
- package/dist/component-class/fukict.d.ts +7 -9
- package/dist/component-class/fukict.d.ts.map +1 -1
- package/dist/component-class/fukict.js +22 -20
- package/dist/component-class/fukict.js.map +1 -1
- package/dist/component-function/define.d.ts +1 -1
- package/dist/component-function/define.d.ts.map +1 -1
- package/dist/component-function/define.js +1 -4
- package/dist/component-function/define.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/metadata.d.ts +1 -1
- package/dist/metadata.js +1 -1
- package/dist/renderer/attributes.d.ts +2 -2
- package/dist/renderer/attributes.d.ts.map +1 -1
- package/dist/renderer/attributes.js +4 -14
- package/dist/renderer/attributes.js.map +1 -1
- package/dist/renderer/class-helpers.d.ts +19 -0
- package/dist/renderer/class-helpers.d.ts.map +1 -0
- package/dist/renderer/class-helpers.js +49 -0
- package/dist/renderer/class-helpers.js.map +1 -0
- package/dist/renderer/create.d.ts.map +1 -1
- package/dist/renderer/create.js +47 -43
- package/dist/renderer/create.js.map +1 -1
- package/dist/renderer/diff/class.d.ts +8 -1
- package/dist/renderer/diff/class.d.ts.map +1 -1
- package/dist/renderer/diff/class.js +14 -7
- package/dist/renderer/diff/class.js.map +1 -1
- package/dist/renderer/diff/element.d.ts.map +1 -1
- package/dist/renderer/diff/element.js +11 -7
- package/dist/renderer/diff/element.js.map +1 -1
- package/dist/renderer/diff/fragment.d.ts.map +1 -1
- package/dist/renderer/diff/fragment.js +6 -3
- package/dist/renderer/diff/fragment.js.map +1 -1
- package/dist/renderer/diff/function.d.ts.map +1 -1
- package/dist/renderer/diff/function.js +13 -12
- package/dist/renderer/diff/function.js.map +1 -1
- package/dist/renderer/diff/helpers.d.ts.map +1 -1
- package/dist/renderer/diff/helpers.js +13 -0
- package/dist/renderer/diff/helpers.js.map +1 -1
- package/dist/renderer/diff/index.d.ts.map +1 -1
- package/dist/renderer/diff/index.js +4 -0
- package/dist/renderer/diff/index.js.map +1 -1
- package/dist/renderer/diff/primitive.d.ts +12 -0
- package/dist/renderer/diff/primitive.d.ts.map +1 -0
- package/dist/renderer/diff/primitive.js +50 -0
- package/dist/renderer/diff/primitive.js.map +1 -0
- package/dist/renderer/mount.d.ts.map +1 -1
- package/dist/renderer/mount.js +30 -0
- package/dist/renderer/mount.js.map +1 -1
- package/dist/renderer/vnode-helpers.d.ts +44 -0
- package/dist/renderer/vnode-helpers.d.ts.map +1 -0
- package/dist/renderer/vnode-helpers.js +47 -0
- package/dist/renderer/vnode-helpers.js.map +1 -0
- package/dist/types/class.d.ts +25 -2
- package/dist/types/class.d.ts.map +1 -1
- package/dist/types/core.d.ts +27 -3
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js +1 -0
- package/dist/types/core.js.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/vnode.d.ts +9 -3
- package/dist/vnode.d.ts.map +1 -1
- package/dist/vnode.js +71 -2
- package/dist/vnode.js.map +1 -1
- package/package.json +4 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { VNodeType } from '../../types/index.js';
|
|
2
|
+
import { setupFunctionComponentVNode } from '../vnode-helpers.js';
|
|
2
3
|
import { replaceNode, shallowEqual } from './helpers.js';
|
|
3
4
|
import { diff } from './index.js';
|
|
4
5
|
/**
|
|
@@ -23,8 +24,8 @@ export function diffFunctionComponent(oldVNode, newVNode, container) {
|
|
|
23
24
|
// Shallow compare props
|
|
24
25
|
if (shallowEqual(oldFuncVNode.props, newFuncVNode.props)) {
|
|
25
26
|
// Props unchanged - reuse rendered result
|
|
26
|
-
|
|
27
|
-
newFuncVNode.
|
|
27
|
+
// Setup FunctionComponentVNode with reused data
|
|
28
|
+
setupFunctionComponentVNode(newFuncVNode, oldFuncVNode.__rendered__, oldFuncVNode.__dom__ ?? null);
|
|
28
29
|
return;
|
|
29
30
|
}
|
|
30
31
|
// Props changed - re-call function
|
|
@@ -39,20 +40,20 @@ export function diffFunctionComponent(oldVNode, newVNode, container) {
|
|
|
39
40
|
const funcComponent = newFuncVNode.type;
|
|
40
41
|
const rendered = funcComponent(propsWithChildren);
|
|
41
42
|
// Store rendered VNode (only if it's a VNode object)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
const renderedVNode = rendered && typeof rendered === 'object' && '__type__' in rendered
|
|
44
|
+
? rendered
|
|
45
|
+
: undefined;
|
|
45
46
|
// Diff old and new rendered result
|
|
46
47
|
const oldRendered = oldFuncVNode.__rendered__;
|
|
47
48
|
diff(oldRendered, rendered, container);
|
|
48
49
|
// Update __dom__ reference (only for non-ClassComponent VNodes)
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
newFuncVNode.__dom__ = renderedVNode.__dom__;
|
|
55
|
-
}
|
|
50
|
+
let domNode = null;
|
|
51
|
+
if (renderedVNode &&
|
|
52
|
+
renderedVNode.__type__ !== VNodeType.ClassComponent &&
|
|
53
|
+
'__dom__' in renderedVNode) {
|
|
54
|
+
domNode = renderedVNode.__dom__ ?? null;
|
|
56
55
|
}
|
|
56
|
+
// Setup FunctionComponentVNode: save rendered VNode and DOM reference
|
|
57
|
+
setupFunctionComponentVNode(newFuncVNode, renderedVNode, domNode);
|
|
57
58
|
}
|
|
58
59
|
//# sourceMappingURL=function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/renderer/diff/function.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAe,EACf,QAAe,EACf,SAAkB;IAElB,IACE,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,iBAAiB;QACjD,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,iBAAiB,EACjD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,qCAAqC;IACrC,MAAM,YAAY,GAAG,QAAkC,CAAC;IACxD,MAAM,YAAY,GAAG,QAAkC,CAAC;IAExD,6BAA6B;IAC7B,IAAI,YAAY,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;QAC5C,WAAW,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IAED,wBAAwB;IACxB,IAAI,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,0CAA0C;QAC1C,
|
|
1
|
+
{"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/renderer/diff/function.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAe,EACf,QAAe,EACf,SAAkB;IAElB,IACE,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,iBAAiB;QACjD,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,iBAAiB,EACjD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,qCAAqC;IACrC,MAAM,YAAY,GAAG,QAAkC,CAAC;IACxD,MAAM,YAAY,GAAG,QAAkC,CAAC;IAExD,6BAA6B;IAC7B,IAAI,YAAY,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;QAC5C,WAAW,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IAED,wBAAwB;IACxB,IAAI,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,0CAA0C;QAC1C,gDAAgD;QAChD,2BAA2B,CACzB,YAAY,EACZ,YAAY,CAAC,YAAY,EACzB,YAAY,CAAC,OAAO,IAAI,IAAI,CAC7B,CAAC;QACF,OAAO;IACT,CAAC;IAED,mCAAmC;IACnC,yCAAyC;IACzC,MAAM,iBAAiB,GAA4B;QACjD,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7B,QAAQ,EACN,YAAY,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAChC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1B,CAAC,CAAC,YAAY,CAAC,QAAQ;KAC5B,CAAC;IAEF,+CAA+C;IAC/C,MAAM,aAAa,GAAG,YAAY,CAAC,IAAoC,CAAC;IACxE,MAAM,QAAQ,GAAe,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAE9D,qDAAqD;IACrD,MAAM,aAAa,GACjB,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,UAAU,IAAI,QAAQ;QAChE,CAAC,CAAE,QAAkB;QACrB,CAAC,CAAC,SAAS,CAAC;IAEhB,mCAAmC;IACnC,MAAM,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC;IAC9C,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEvC,gEAAgE;IAChE,IAAI,OAAO,GAAyB,IAAI,CAAC;IACzC,IACE,aAAa;QACb,aAAa,CAAC,QAAQ,KAAK,SAAS,CAAC,cAAc;QACnD,SAAS,IAAI,aAAa,EAC1B,CAAC;QACD,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,IAAI,CAAC;IAC1C,CAAC;IAED,sEAAsE;IACtE,2BAA2B,CAAC,YAAY,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/renderer/diff/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/renderer/diff/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAQV,UAAU,EACX,MAAM,sBAAsB,CAAC;AAyD9B;;GAEG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,OAAO,GACjB,IAAI,CA8BN;AAwED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CA2DtE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACjC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAChC,OAAO,CAcT"}
|
|
@@ -125,6 +125,10 @@ function unmountVNode(vnode) {
|
|
|
125
125
|
}
|
|
126
126
|
return;
|
|
127
127
|
}
|
|
128
|
+
// Primitive - nothing to unmount
|
|
129
|
+
if (vnodeObj.__type__ === VNodeType.Primitive) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
128
132
|
}
|
|
129
133
|
}
|
|
130
134
|
/**
|
|
@@ -157,6 +161,15 @@ export function removeNode(vnode, container) {
|
|
|
157
161
|
}
|
|
158
162
|
return;
|
|
159
163
|
}
|
|
164
|
+
// Primitive VNode - remove text or comment node
|
|
165
|
+
if (vnodeObj.__type__ === VNodeType.Primitive) {
|
|
166
|
+
const primitiveVNode = vnodeObj;
|
|
167
|
+
const dom = primitiveVNode.__dom__;
|
|
168
|
+
if (dom?.parentNode) {
|
|
169
|
+
dom.parentNode.removeChild(dom);
|
|
170
|
+
}
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
160
173
|
// Other types - remove __dom__
|
|
161
174
|
const dom = vnodeObj.__dom__;
|
|
162
175
|
if (dom) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/renderer/diff/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/renderer/diff/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderer/diff/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAS,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderer/diff/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAS,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAa9D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAgB,IAAI,CAClB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,OAAO,GACjB,IAAI,CAuGN"}
|
|
@@ -7,6 +7,7 @@ import { diffElement } from './element.js';
|
|
|
7
7
|
import { diffFragment } from './fragment.js';
|
|
8
8
|
import { diffFunctionComponent } from './function.js';
|
|
9
9
|
import { removeNode, replaceNode } from './helpers.js';
|
|
10
|
+
import { diffPrimitive } from './primitive.js';
|
|
10
11
|
// Re-export for external use
|
|
11
12
|
export { replaceNode, removeNode, shallowEqual } from './helpers.js';
|
|
12
13
|
export { patchProps } from './props.js';
|
|
@@ -98,6 +99,9 @@ export function diff(oldVNode, newVNode, container) {
|
|
|
98
99
|
case VNodeType.ClassComponent:
|
|
99
100
|
diffClassComponent(oldVN, newVN, container);
|
|
100
101
|
break;
|
|
102
|
+
case VNodeType.Primitive:
|
|
103
|
+
diffPrimitive(oldVN, newVN, container);
|
|
104
|
+
break;
|
|
101
105
|
}
|
|
102
106
|
}
|
|
103
107
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/renderer/diff/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/renderer/diff/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fukict/basic - Diff: Primitive
|
|
3
|
+
*
|
|
4
|
+
* Diff primitive VNodes
|
|
5
|
+
*/
|
|
6
|
+
import type { VNode } from '../../types/index.js';
|
|
7
|
+
/**
|
|
8
|
+
* Diff Primitive VNode
|
|
9
|
+
* Updates text content or replaces node if type changes
|
|
10
|
+
*/
|
|
11
|
+
export declare function diffPrimitive(oldVNode: VNode, newVNode: VNode, container: Element): void;
|
|
12
|
+
//# sourceMappingURL=primitive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitive.d.ts","sourceRoot":"","sources":["../../../src/renderer/diff/primitive.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAkB,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAKlE;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,KAAK,EACf,SAAS,EAAE,OAAO,GACjB,IAAI,CAqDN"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { VNodeType } from '../../types/index.js';
|
|
2
|
+
import { setupPrimitiveVNode } from '../vnode-helpers.js';
|
|
3
|
+
import { replaceNode } from './helpers.js';
|
|
4
|
+
/**
|
|
5
|
+
* Diff Primitive VNode
|
|
6
|
+
* Updates text content or replaces node if type changes
|
|
7
|
+
*/
|
|
8
|
+
export function diffPrimitive(oldVNode, newVNode, container) {
|
|
9
|
+
if (oldVNode.__type__ !== VNodeType.Primitive ||
|
|
10
|
+
newVNode.__type__ !== VNodeType.Primitive) {
|
|
11
|
+
throw new Error('Expected PrimitiveVNode');
|
|
12
|
+
}
|
|
13
|
+
const oldPrimitive = oldVNode;
|
|
14
|
+
const newPrimitive = newVNode;
|
|
15
|
+
// Value unchanged - reuse DOM
|
|
16
|
+
if (oldPrimitive.value === newPrimitive.value) {
|
|
17
|
+
newPrimitive.__dom__ = oldPrimitive.__dom__;
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const oldValue = oldPrimitive.value;
|
|
21
|
+
const newValue = newPrimitive.value;
|
|
22
|
+
const oldDom = oldPrimitive.__dom__;
|
|
23
|
+
// Both are renderable strings/numbers - update text content
|
|
24
|
+
if ((typeof oldValue === 'string' || typeof oldValue === 'number') &&
|
|
25
|
+
(typeof newValue === 'string' || typeof newValue === 'number')) {
|
|
26
|
+
if (oldDom && oldDom.nodeType === Node.TEXT_NODE) {
|
|
27
|
+
oldDom.textContent = String(newValue);
|
|
28
|
+
setupPrimitiveVNode(newPrimitive, oldDom);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// Both are non-renderable - update comment content
|
|
33
|
+
if ((typeof oldValue === 'boolean' ||
|
|
34
|
+
oldValue === null ||
|
|
35
|
+
oldValue === undefined) &&
|
|
36
|
+
(typeof newValue === 'boolean' ||
|
|
37
|
+
newValue === null ||
|
|
38
|
+
newValue === undefined)) {
|
|
39
|
+
if (oldDom && oldDom.nodeType === Node.COMMENT_NODE) {
|
|
40
|
+
// Update comment content
|
|
41
|
+
const comment = oldDom;
|
|
42
|
+
comment.textContent = `fukict:primitive:${newValue === null ? 'null' : newValue === undefined ? 'undefined' : newValue}`;
|
|
43
|
+
setupPrimitiveVNode(newPrimitive, comment);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// Type changed (renderable ↔ non-renderable) - replace node
|
|
48
|
+
replaceNode(oldPrimitive, newPrimitive, container);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=primitive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitive.js","sourceRoot":"","sources":["../../../src/renderer/diff/primitive.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,QAAe,EACf,QAAe,EACf,SAAkB;IAElB,IACE,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,SAAS;QACzC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,SAAS,EACzC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,YAAY,GAAG,QAA0B,CAAC;IAChD,MAAM,YAAY,GAAG,QAA0B,CAAC;IAEhD,8BAA8B;IAC9B,IAAI,YAAY,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;QAC9C,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC;IACpC,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC;IACpC,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC;IAEpC,4DAA4D;IAC5D,IACE,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC;QAC9D,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,EAC9D,CAAC;QACD,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACjD,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtC,mBAAmB,CAAC,YAAY,EAAE,MAAc,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,IACE,CAAC,OAAO,QAAQ,KAAK,SAAS;QAC5B,QAAQ,KAAK,IAAI;QACjB,QAAQ,KAAK,SAAS,CAAC;QACzB,CAAC,OAAO,QAAQ,KAAK,SAAS;YAC5B,QAAQ,KAAK,IAAI;YACjB,QAAQ,KAAK,SAAS,CAAC,EACzB,CAAC;QACD,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YACpD,yBAAyB;YACzB,MAAM,OAAO,GAAG,MAAiB,CAAC;YAClC,OAAO,CAAC,WAAW,GAAG,oBAAoB,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzH,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,WAAW,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/renderer/mount.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/renderer/mount.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAQV,UAAU,EACX,MAAM,mBAAmB,CAAC;AAG3B,KAAK,eAAe,GAChB;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,GACD;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AA6ON;;GAEG;AAQH;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CA0CvD"}
|
package/dist/renderer/mount.js
CHANGED
|
@@ -152,6 +152,33 @@ function activateFunctionComponent(ctx) {
|
|
|
152
152
|
autoActivateClassComponentsInTree(rendered, actualContainer);
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Strategy: Activate Primitive
|
|
157
|
+
*/
|
|
158
|
+
function activatePrimitive(ctx) {
|
|
159
|
+
const { vnode, container, placeholder, onMounted } = ctx;
|
|
160
|
+
const dom = vnode.__dom__;
|
|
161
|
+
const actualContainer = container || placeholder?.parentNode;
|
|
162
|
+
if (!actualContainer)
|
|
163
|
+
return;
|
|
164
|
+
// Mount or replace DOM (Text or Comment node)
|
|
165
|
+
if (dom) {
|
|
166
|
+
if (placeholder && placeholder.parentNode) {
|
|
167
|
+
// Replace mode: replace placeholder with primitive node
|
|
168
|
+
placeholder.parentNode.replaceChild(dom, placeholder);
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
// Mount mode: append to container
|
|
172
|
+
actualContainer.appendChild(dom);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
else if (placeholder && placeholder.parentNode) {
|
|
176
|
+
// No DOM but has placeholder - remove placeholder
|
|
177
|
+
// This handles cases where primitive value doesn't create a DOM node
|
|
178
|
+
placeholder.parentNode.removeChild(placeholder);
|
|
179
|
+
}
|
|
180
|
+
onMounted?.();
|
|
181
|
+
}
|
|
155
182
|
/**
|
|
156
183
|
* Strategy registry
|
|
157
184
|
*/
|
|
@@ -202,6 +229,9 @@ export function activate(options) {
|
|
|
202
229
|
onMounted,
|
|
203
230
|
});
|
|
204
231
|
break;
|
|
232
|
+
case VNodeType.Primitive:
|
|
233
|
+
activatePrimitive({ vnode: vnodeObj, container, placeholder, onMounted });
|
|
234
|
+
break;
|
|
205
235
|
default:
|
|
206
236
|
break;
|
|
207
237
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount.js","sourceRoot":"","sources":["../../src/renderer/mount.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mount.js","sourceRoot":"","sources":["../../src/renderer/mount.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fukict/basic - VNode Shared Utilities
|
|
3
|
+
*
|
|
4
|
+
* Shared logic for setting up VNode references across create and diff operations
|
|
5
|
+
*/
|
|
6
|
+
import type { ElementVNode, FragmentVNode, FunctionComponentVNode, PrimitiveVNode, VNode } from '../types/index.js';
|
|
7
|
+
/**
|
|
8
|
+
* Setup ElementVNode with DOM reference
|
|
9
|
+
*
|
|
10
|
+
* Used by both renderElement (create) and diffElement (update).
|
|
11
|
+
*
|
|
12
|
+
* @param vnode - The ElementVNode to setup
|
|
13
|
+
* @param element - The DOM element
|
|
14
|
+
*/
|
|
15
|
+
export declare function setupElementVNode(vnode: ElementVNode, element: Element): void;
|
|
16
|
+
/**
|
|
17
|
+
* Setup FragmentVNode with DOM nodes array reference
|
|
18
|
+
*
|
|
19
|
+
* Used by both renderFragment (create) and diffFragment (update).
|
|
20
|
+
*
|
|
21
|
+
* @param vnode - The FragmentVNode to setup
|
|
22
|
+
* @param nodes - The array of DOM nodes
|
|
23
|
+
*/
|
|
24
|
+
export declare function setupFragmentVNode(vnode: FragmentVNode, nodes: Node[]): void;
|
|
25
|
+
/**
|
|
26
|
+
* Setup FunctionComponentVNode with rendered VNode and DOM reference
|
|
27
|
+
*
|
|
28
|
+
* Used by both renderFunctionComponent (create) and diffFunctionComponent (update).
|
|
29
|
+
*
|
|
30
|
+
* @param vnode - The FunctionComponentVNode to setup
|
|
31
|
+
* @param rendered - The rendered VNode result (can be undefined)
|
|
32
|
+
* @param domNode - The DOM node or nodes (can be null or Node or Node[])
|
|
33
|
+
*/
|
|
34
|
+
export declare function setupFunctionComponentVNode(vnode: FunctionComponentVNode, rendered: VNode | undefined, domNode: Node | Node[] | null): void;
|
|
35
|
+
/**
|
|
36
|
+
* Setup PrimitiveVNode with DOM reference
|
|
37
|
+
*
|
|
38
|
+
* Used by both renderPrimitive (create) and diffPrimitive (update).
|
|
39
|
+
*
|
|
40
|
+
* @param vnode - The PrimitiveVNode to setup
|
|
41
|
+
* @param node - The Text or Comment node
|
|
42
|
+
*/
|
|
43
|
+
export declare function setupPrimitiveVNode(vnode: PrimitiveVNode, node: Text | Comment): void;
|
|
44
|
+
//# sourceMappingURL=vnode-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vnode-helpers.d.ts","sourceRoot":"","sources":["../../src/renderer/vnode-helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,KAAK,EACN,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAE5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,sBAAsB,EAC7B,QAAQ,EAAE,KAAK,GAAG,SAAS,EAC3B,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,GAC5B,IAAI,CAGN;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,IAAI,GAAG,OAAO,GACnB,IAAI,CAEN"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Setup ElementVNode with DOM reference
|
|
3
|
+
*
|
|
4
|
+
* Used by both renderElement (create) and diffElement (update).
|
|
5
|
+
*
|
|
6
|
+
* @param vnode - The ElementVNode to setup
|
|
7
|
+
* @param element - The DOM element
|
|
8
|
+
*/
|
|
9
|
+
export function setupElementVNode(vnode, element) {
|
|
10
|
+
vnode.__dom__ = element;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Setup FragmentVNode with DOM nodes array reference
|
|
14
|
+
*
|
|
15
|
+
* Used by both renderFragment (create) and diffFragment (update).
|
|
16
|
+
*
|
|
17
|
+
* @param vnode - The FragmentVNode to setup
|
|
18
|
+
* @param nodes - The array of DOM nodes
|
|
19
|
+
*/
|
|
20
|
+
export function setupFragmentVNode(vnode, nodes) {
|
|
21
|
+
vnode.__dom__ = nodes;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Setup FunctionComponentVNode with rendered VNode and DOM reference
|
|
25
|
+
*
|
|
26
|
+
* Used by both renderFunctionComponent (create) and diffFunctionComponent (update).
|
|
27
|
+
*
|
|
28
|
+
* @param vnode - The FunctionComponentVNode to setup
|
|
29
|
+
* @param rendered - The rendered VNode result (can be undefined)
|
|
30
|
+
* @param domNode - The DOM node or nodes (can be null or Node or Node[])
|
|
31
|
+
*/
|
|
32
|
+
export function setupFunctionComponentVNode(vnode, rendered, domNode) {
|
|
33
|
+
vnode.__rendered__ = rendered;
|
|
34
|
+
vnode.__dom__ = domNode;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Setup PrimitiveVNode with DOM reference
|
|
38
|
+
*
|
|
39
|
+
* Used by both renderPrimitive (create) and diffPrimitive (update).
|
|
40
|
+
*
|
|
41
|
+
* @param vnode - The PrimitiveVNode to setup
|
|
42
|
+
* @param node - The Text or Comment node
|
|
43
|
+
*/
|
|
44
|
+
export function setupPrimitiveVNode(vnode, node) {
|
|
45
|
+
vnode.__dom__ = node;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=vnode-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vnode-helpers.js","sourceRoot":"","sources":["../../src/renderer/vnode-helpers.ts"],"names":[],"mappings":"AAaA;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAmB,EAAE,OAAgB;IACrE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AAC1B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAoB,EAAE,KAAa;IACpE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;AACxB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAA6B,EAC7B,QAA2B,EAC3B,OAA6B;IAE7B,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC;IAC9B,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AAC1B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAqB,EACrB,IAAoB;IAEpB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;AACvB,CAAC"}
|
package/dist/types/class.d.ts
CHANGED
|
@@ -13,10 +13,33 @@ export type Slots = Record<string, VNodeChild | VNodeChild[]>;
|
|
|
13
13
|
/**
|
|
14
14
|
* Ref object type
|
|
15
15
|
* Holds a reference to a DOM element or component instance
|
|
16
|
+
*
|
|
17
|
+
* @deprecated Direct instance assignment is preferred. Use `refs: { myRef: MyComponent }` instead.
|
|
16
18
|
*/
|
|
17
19
|
export interface Ref<T = any> {
|
|
18
20
|
current: T | null;
|
|
19
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Refs object type (for class components)
|
|
24
|
+
* Maps ref names to component instances or DOM elements directly (no wrapper)
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* class Parent extends Fukict {
|
|
29
|
+
* // Type-safe refs
|
|
30
|
+
* declare readonly refs: {
|
|
31
|
+
* counter: Counter;
|
|
32
|
+
* input: HTMLInputElement;
|
|
33
|
+
* };
|
|
34
|
+
*
|
|
35
|
+
* handleClick() {
|
|
36
|
+
* this.refs.counter.increment();
|
|
37
|
+
* this.refs.input.focus();
|
|
38
|
+
* }
|
|
39
|
+
* }
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export type Refs = Record<string, any>;
|
|
20
43
|
/**
|
|
21
44
|
* Lifecycle hooks interface for Fukict class components
|
|
22
45
|
*/
|
|
@@ -49,8 +72,8 @@ export interface FukictComponent<P extends Record<string, any> = {}, S extends S
|
|
|
49
72
|
readonly props: P;
|
|
50
73
|
/** Extracted slots from children */
|
|
51
74
|
readonly slots: S;
|
|
52
|
-
/** Refs
|
|
53
|
-
readonly refs:
|
|
75
|
+
/** Refs object (can be extended by subclasses) */
|
|
76
|
+
readonly refs: Refs;
|
|
54
77
|
/** Current rendered VNode (internal, framework use) */
|
|
55
78
|
__vnode__: VNode | null;
|
|
56
79
|
/** Parent DOM container (internal, framework use) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../../src/types/class.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC;AAE9D
|
|
1
|
+
{"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../../src/types/class.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,GAAG;IAC1B,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG;IAClE;;;OAGG;IACH,OAAO,CAAC,IAAI,IAAI,CAAC;IAEjB;;;OAGG;IACH,aAAa,CAAC,IAAI,IAAI,CAAC;IAEvB;;;OAGG;IACH,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe,CAC9B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAClC,CAAC,SAAS,KAAK,GAAG,KAAK,CACvB,SAAQ,eAAe,CAAC,CAAC,CAAC;IAC1B,iCAAiC;IACjC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAElB,oCAAoC;IACpC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAElB,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB,uDAAuD;IACvD,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC;IAExB,qDAAqD;IACrD,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAE9B,0CAA0C;IAC1C,MAAM,IAAI,KAAK,CAAC;IAEhB;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC;IAE1B;;;OAGG;IACH,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAEvD,+CAA+C;IAC/C,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IACvB,CAAC,SAAS,eAAe,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IACvB,CAAC,SAAS,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EACnC,CAAC,SAAS,KAAK,GAAG,KAAK,IACrB,KAAK,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
package/dist/types/core.d.ts
CHANGED
|
@@ -5,7 +5,12 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { ContextData } from './context.js';
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Primitive value types that can be rendered
|
|
9
|
+
*/
|
|
10
|
+
export type PrimitiveValue = string | number | boolean | null | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* VNode child types - now primarily VNodes (primitives are wrapped in PrimitiveVNode)
|
|
13
|
+
* Keep primitive types for backward compatibility during transition
|
|
9
14
|
*/
|
|
10
15
|
export type VNodeChild = VNode | string | number | boolean | null | undefined | VNodeChild[];
|
|
11
16
|
/**
|
|
@@ -15,7 +20,8 @@ export declare enum VNodeType {
|
|
|
15
20
|
Element = "element",
|
|
16
21
|
Fragment = "fragment",
|
|
17
22
|
FunctionComponent = "function",
|
|
18
|
-
ClassComponent = "class"
|
|
23
|
+
ClassComponent = "class",
|
|
24
|
+
Primitive = "primitive"
|
|
19
25
|
}
|
|
20
26
|
/**
|
|
21
27
|
* Base VNode properties (shared by all VNode types)
|
|
@@ -86,6 +92,21 @@ export interface ClassComponentVNode extends VNodeBase {
|
|
|
86
92
|
__instance__?: any;
|
|
87
93
|
__placeholder__?: Comment;
|
|
88
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Primitive VNode
|
|
97
|
+
* - type: 'primitive'
|
|
98
|
+
* - value: string | number | boolean | null | undefined
|
|
99
|
+
* - __dom__: Text | Comment | null
|
|
100
|
+
* - Wraps primitive values to maintain stable VNode tree structure
|
|
101
|
+
*/
|
|
102
|
+
export interface PrimitiveVNode extends VNodeBase {
|
|
103
|
+
__type__: VNodeType.Primitive;
|
|
104
|
+
type: 'primitive';
|
|
105
|
+
value: PrimitiveValue;
|
|
106
|
+
__dom__?: Text | Comment | null;
|
|
107
|
+
props: null;
|
|
108
|
+
children: [];
|
|
109
|
+
}
|
|
89
110
|
/**
|
|
90
111
|
* VNode - Discriminated Union
|
|
91
112
|
*
|
|
@@ -104,10 +125,13 @@ export interface ClassComponentVNode extends VNodeBase {
|
|
|
104
125
|
* } else if (vnode.__type__ === VNodeType.ClassComponent) {
|
|
105
126
|
* // vnode is ClassComponentVNode
|
|
106
127
|
* const instance = vnode.__instance__;
|
|
128
|
+
* } else if (vnode.__type__ === VNodeType.Primitive) {
|
|
129
|
+
* // vnode is PrimitiveVNode
|
|
130
|
+
* const value = vnode.value;
|
|
107
131
|
* }
|
|
108
132
|
* ```
|
|
109
133
|
*/
|
|
110
|
-
export type VNode = ElementVNode | FragmentVNode | FunctionComponentVNode | ClassComponentVNode;
|
|
134
|
+
export type VNode = ElementVNode | FragmentVNode | FunctionComponentVNode | ClassComponentVNode | PrimitiveVNode;
|
|
111
135
|
/**
|
|
112
136
|
* Fragment symbol for multiple root elements
|
|
113
137
|
*/
|
package/dist/types/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,UAAU,EAAE,CAAC;AAEjB;;GAEG;AACH,oBAAY,SAAS;IACnB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,iBAAiB,aAAa;IAC9B,cAAc,UAAU;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAE1E;;;GAGG;AACH,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,UAAU,EAAE,CAAC;AAEjB;;GAEG;AACH,oBAAY,SAAS;IACnB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,iBAAiB,aAAa;IAC9B,cAAc,UAAU;IACxB,SAAS,cAAc;CACxB;AAED;;GAEG;AACH,UAAU,SAAS;IACjB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAElC,mBAAmB;IACnB,QAAQ,EAAE,UAAU,EAAE,CAAC;IAEvB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAuB,SAAQ,SAAS;IACvD,QAAQ,EAAE,SAAS,CAAC,iBAAiB,CAAC;IACtC,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;CAChC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,QAAQ,EAAE,SAAS,CAAC,cAAc,CAAC;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAE3B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC;IAGhC,KAAK,EAAE,IAAI,CAAC;IACZ,QAAQ,EAAE,EAAE,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,KAAK,GACb,YAAY,GACZ,aAAa,GACb,sBAAsB,GACtB,mBAAmB,GACnB,cAAc,CAAC;AAEnB;;GAEG;AACH,eAAO,MAAM,QAAQ,eAAqB,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC"}
|
package/dist/types/core.js
CHANGED
|
@@ -7,6 +7,7 @@ export var VNodeType;
|
|
|
7
7
|
VNodeType["Fragment"] = "fragment";
|
|
8
8
|
VNodeType["FunctionComponent"] = "function";
|
|
9
9
|
VNodeType["ClassComponent"] = "class";
|
|
10
|
+
VNodeType["Primitive"] = "primitive";
|
|
10
11
|
})(VNodeType || (VNodeType = {}));
|
|
11
12
|
/**
|
|
12
13
|
* Fragment symbol for multiple root elements
|
package/dist/types/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,MAAM,CAAN,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;IACrB,2CAA8B,CAAA;IAC9B,qCAAwB,CAAA;IACxB,oCAAuB,CAAA;AACzB,CAAC,EANW,SAAS,KAAT,SAAS,QAMpB;AAkID;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Centralized export for all runtime types
|
|
5
5
|
*/
|
|
6
|
-
export type { VNode, VNodeChild, RefCallback, UnregisterFn, ElementVNode, FragmentVNode, FunctionComponentVNode, ClassComponentVNode, } from './core.js';
|
|
6
|
+
export type { VNode, VNodeChild, RefCallback, UnregisterFn, ElementVNode, FragmentVNode, FunctionComponentVNode, ClassComponentVNode, PrimitiveVNode, PrimitiveValue, } from './core.js';
|
|
7
7
|
export { Fragment, VNodeType } from './core.js';
|
|
8
|
-
export type { Slots, Ref, FukictLifecycle, FukictComponent, FukictProps, FukictSlots, FukictConstructor, } from './class.js';
|
|
8
|
+
export type { Slots, Ref, Refs, FukictLifecycle, FukictComponent, FukictProps, FukictSlots, FukictConstructor, } from './class.js';
|
|
9
9
|
export type { EventHandlers } from './events';
|
|
10
10
|
export type { CSSProperties, ClassValue, RuntimeAttributes, HTMLAttributes, SVGAttributes, FukictSlotAttribute, FukictRefAttribute, FukictDetachAttribute, } from './dom-attributes';
|
|
11
11
|
export type { JSX } from './jsx';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,KAAK,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,KAAK,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGhD,YAAY,EACV,KAAK,EACL,GAAG,EACH,IAAI,EACJ,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,EACX,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,YAAY,EACV,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC"}
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/vnode.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PrimitiveVNode, PrimitiveValue, VNode } from './types/index.js';
|
|
2
2
|
import { Fragment } from './types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Create a PrimitiveVNode from a primitive value
|
|
5
|
+
*/
|
|
6
|
+
export declare function createPrimitiveVNode(value: PrimitiveValue): PrimitiveVNode;
|
|
3
7
|
/**
|
|
4
8
|
* Create a VNode
|
|
5
9
|
*
|
|
@@ -7,12 +11,14 @@ import { Fragment } from './types/index.js';
|
|
|
7
11
|
* The __type__ field should be added by babel-plugin at compile time.
|
|
8
12
|
* If not present, we detect it at runtime (slower but works).
|
|
9
13
|
*
|
|
14
|
+
* Children are normalized: all primitive values are wrapped in PrimitiveVNode.
|
|
15
|
+
*
|
|
10
16
|
* @param type - Element tag name or component function
|
|
11
17
|
* @param props - Properties (including on: prefixed events)
|
|
12
|
-
* @param children - Child nodes
|
|
18
|
+
* @param children - Child nodes (accepts any type, will be normalized)
|
|
13
19
|
* @returns VNode (plain structure, __type__ expected from babel-plugin)
|
|
14
20
|
*/
|
|
15
|
-
export declare function hyperscript(type: string | Function | typeof Fragment, props: Record<string, any> | null, children:
|
|
21
|
+
export declare function hyperscript(type: string | Function | typeof Fragment, props: Record<string, any> | null, children: any[]): VNode;
|
|
16
22
|
/**
|
|
17
23
|
* Alias for hyperscript (shorter name)
|
|
18
24
|
*/
|
package/dist/vnode.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vnode.d.ts","sourceRoot":"","sources":["../src/vnode.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"vnode.d.ts","sourceRoot":"","sources":["../src/vnode.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAa,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAS1E;AA4FD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,QAAQ,EACzC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EACjC,QAAQ,EAAE,GAAG,EAAE,GACd,KAAK,CAgBP;AAED;;GAEG;AACH,eAAO,MAAM,CAAC,oBAAc,CAAC;AAE7B;;;;GAIG;AACH,eAAO,MAAM,GAAG,oBAAc,CAAC;AAC/B,eAAO,MAAM,IAAI,oBAAc,CAAC;AAChC,eAAO,MAAM,MAAM,oBAAc,CAAC"}
|