@fukict/basic 0.1.3 → 0.1.6
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/dist/component-class/fukict.d.ts +26 -9
- package/dist/component-class/fukict.d.ts.map +1 -1
- package/dist/component-class/fukict.js +23 -15
- package/dist/component-class/fukict.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/metadata.d.ts +1 -1
- package/dist/metadata.js +1 -1
- package/dist/renderer/class-helpers.d.ts +2 -2
- package/dist/renderer/class-helpers.d.ts.map +1 -1
- package/dist/renderer/class-helpers.js +43 -9
- package/dist/renderer/class-helpers.js.map +1 -1
- package/dist/types/class.d.ts +25 -9
- package/dist/types/class.d.ts.map +1 -1
- package/dist/vnode.d.ts.map +1 -1
- package/dist/vnode.js +0 -2
- package/dist/vnode.js.map +1 -1
- package/package.json +1 -1
|
@@ -70,13 +70,17 @@ export declare abstract class Fukict<P extends Record<string, any> = {}, S exten
|
|
|
70
70
|
*
|
|
71
71
|
* Note: Slots are not available when component is manually instantiated
|
|
72
72
|
* or in detached rendering mode (fukict:detach).
|
|
73
|
+
*
|
|
74
|
+
* Uses $ prefix to indicate this is a framework-provided syntax sugar property.
|
|
73
75
|
*/
|
|
74
|
-
protected slots: S;
|
|
76
|
+
protected $slots: S;
|
|
75
77
|
/**
|
|
76
78
|
* Refs object (shared with framework and user)
|
|
77
79
|
* Can be extended by subclasses with specific ref types
|
|
80
|
+
*
|
|
81
|
+
* Uses $ prefix to indicate this is a framework-provided syntax sugar property.
|
|
78
82
|
*/
|
|
79
|
-
readonly refs: Refs;
|
|
83
|
+
readonly $refs: Refs;
|
|
80
84
|
/**
|
|
81
85
|
* Current rendered VNode (component's internal render result)
|
|
82
86
|
* @internal
|
|
@@ -181,24 +185,37 @@ export declare abstract class Fukict<P extends Record<string, any> = {}, S exten
|
|
|
181
185
|
update(newProps?: FukictComponentProps<P>): void;
|
|
182
186
|
/**
|
|
183
187
|
* Lifecycle: called after component is mounted
|
|
188
|
+
*
|
|
189
|
+
* Can be async, but the framework will not await it.
|
|
190
|
+
* Use for: DOM manipulation, event listeners, data fetching
|
|
184
191
|
*/
|
|
185
|
-
mounted?(): void
|
|
192
|
+
mounted?(): void | Promise<void>;
|
|
186
193
|
/**
|
|
187
194
|
* Lifecycle: called before component is unmounted
|
|
195
|
+
*
|
|
196
|
+
* Can be async, but the framework will not await it.
|
|
197
|
+
* Use for: cleanup, removing event listeners, canceling timers
|
|
188
198
|
*/
|
|
189
|
-
beforeUnmount?(): void
|
|
199
|
+
beforeUnmount?(): void | Promise<void>;
|
|
190
200
|
/**
|
|
191
201
|
* Lifecycle: called after component is updated
|
|
202
|
+
*
|
|
203
|
+
* Can be async, but the framework will not await it.
|
|
204
|
+
* @param prevProps - Previous props before update
|
|
192
205
|
*/
|
|
193
|
-
updated?(prevProps: FukictComponentProps<P>): void
|
|
206
|
+
updated?(prevProps: FukictComponentProps<P>): void | Promise<void>;
|
|
194
207
|
/**
|
|
195
|
-
* Mount component
|
|
196
|
-
*
|
|
208
|
+
* Mount component to DOM
|
|
209
|
+
*
|
|
210
|
+
* @internal This method is called by the framework. Do NOT override.
|
|
211
|
+
* @sealed
|
|
197
212
|
*/
|
|
198
213
|
mount(container: Element, placeholder?: Comment): void;
|
|
199
214
|
/**
|
|
200
|
-
* Unmount component
|
|
201
|
-
*
|
|
215
|
+
* Unmount component from DOM
|
|
216
|
+
*
|
|
217
|
+
* @internal This method is called by the framework. Do NOT override.
|
|
218
|
+
* @sealed
|
|
202
219
|
*/
|
|
203
220
|
unmount(): void;
|
|
204
221
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fukict.d.ts","sourceRoot":"","sources":["../../src/component-class/fukict.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAOpC;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,GACjE,SAAS,GACT,kBAAkB,GAClB,mBAAmB,GACnB,qBAAqB,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,8BAAsB,MAAM,CAC1B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAClC,CAAC,SAAS,KAAK,GAAG,KAAK;IAEvB;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAElD
|
|
1
|
+
{"version":3,"file":"fukict.d.ts","sourceRoot":"","sources":["../../src/component-class/fukict.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAOpC;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,GACjE,SAAS,GACT,kBAAkB,GAClB,mBAAmB,GACnB,qBAAqB,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,8BAAsB,MAAM,CAC1B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAClC,CAAC,SAAS,KAAK,GAAG,KAAK;IAEvB;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAElD;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAEpB;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IAErB;;;OAGG;IACH,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC;IAExB;;;;OAIG;IACH,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IAE1B;;;OAGG;IACH,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAE9B;;;OAGG;IACH,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAEhC;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;OAEG;gBACS,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAoB1C;;;;OAIG;IACH,QAAQ,CAAC,MAAM,IAAI,KAAK,GAAG,IAAI,GAAG,SAAS;IAE3C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAkBjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,SAAS,CAAC,UAAU,CAAC,CAAC,EACpB,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,YAAY,CAAC,EAAE,CAAC,GACf,CAAC,GAAG,SAAS;IA4BhB;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI;IAgDhD;;;;;OAKG;IACH,OAAO,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEhC;;;;;OAKG;IACH,aAAa,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEtC;;;;;OAKG;IACH,OAAO,CAAC,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAElE;;;;;OAKG;IACH,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IA8BtD;;;;;OAKG;IACH,OAAO,IAAI,IAAI;CAkBhB"}
|
|
@@ -65,13 +65,17 @@ export class Fukict {
|
|
|
65
65
|
*
|
|
66
66
|
* Note: Slots are not available when component is manually instantiated
|
|
67
67
|
* or in detached rendering mode (fukict:detach).
|
|
68
|
+
*
|
|
69
|
+
* Uses $ prefix to indicate this is a framework-provided syntax sugar property.
|
|
68
70
|
*/
|
|
69
|
-
slots;
|
|
71
|
+
$slots;
|
|
70
72
|
/**
|
|
71
73
|
* Refs object (shared with framework and user)
|
|
72
74
|
* Can be extended by subclasses with specific ref types
|
|
75
|
+
*
|
|
76
|
+
* Uses $ prefix to indicate this is a framework-provided syntax sugar property.
|
|
73
77
|
*/
|
|
74
|
-
refs;
|
|
78
|
+
$refs;
|
|
75
79
|
/**
|
|
76
80
|
* Current rendered VNode (component's internal render result)
|
|
77
81
|
* @internal
|
|
@@ -107,9 +111,9 @@ export class Fukict {
|
|
|
107
111
|
this.__id__ = ++componentIdCounter;
|
|
108
112
|
this.__name__ = this.constructor.name;
|
|
109
113
|
this.props = props;
|
|
110
|
-
this
|
|
114
|
+
this.$slots = {};
|
|
111
115
|
// Initialize instance fields (avoid field initializers for better memory efficiency)
|
|
112
|
-
this
|
|
116
|
+
this.$refs = {};
|
|
113
117
|
this.__vnode__ = null;
|
|
114
118
|
this.__wrapper__ = null;
|
|
115
119
|
this.__container__ = null;
|
|
@@ -246,14 +250,15 @@ export class Fukict {
|
|
|
246
250
|
}
|
|
247
251
|
this.__vnode__ = newVNode;
|
|
248
252
|
// Call lifecycle hook (protected from re-entry)
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
}
|
|
253
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises -- async lifecycle hooks are intentionally not awaited
|
|
254
|
+
this.updated?.(prevProps);
|
|
252
255
|
this.__inUpdating__ = false;
|
|
253
256
|
}
|
|
254
257
|
/**
|
|
255
|
-
* Mount component
|
|
256
|
-
*
|
|
258
|
+
* Mount component to DOM
|
|
259
|
+
*
|
|
260
|
+
* @internal This method is called by the framework. Do NOT override.
|
|
261
|
+
* @sealed
|
|
257
262
|
*/
|
|
258
263
|
mount(container, placeholder) {
|
|
259
264
|
this.__placeholder__ = placeholder || null;
|
|
@@ -276,22 +281,25 @@ export class Fukict {
|
|
|
276
281
|
...(placeholder ? { placeholder } : { container }),
|
|
277
282
|
onMounted: () => {
|
|
278
283
|
this.__inMounting__ = false;
|
|
279
|
-
//
|
|
284
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises -- async lifecycle hooks are intentionally not awaited
|
|
280
285
|
this.mounted?.();
|
|
281
286
|
},
|
|
282
287
|
});
|
|
283
288
|
}
|
|
284
289
|
/**
|
|
285
|
-
* Unmount component
|
|
286
|
-
*
|
|
290
|
+
* Unmount component from DOM
|
|
291
|
+
*
|
|
292
|
+
* @internal This method is called by the framework. Do NOT override.
|
|
293
|
+
* @sealed
|
|
287
294
|
*/
|
|
288
295
|
unmount() {
|
|
289
296
|
this.__inUnmounting__ = true;
|
|
297
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises -- async lifecycle hooks are intentionally not awaited
|
|
290
298
|
this.beforeUnmount?.();
|
|
291
299
|
removeNode(this.__vnode__, this.__container__);
|
|
292
|
-
// Clear all refs (refs now store instances directly, not Ref wrappers)
|
|
293
|
-
for (const key in this
|
|
294
|
-
delete this
|
|
300
|
+
// Clear all refs ($refs now store instances directly, not Ref wrappers)
|
|
301
|
+
for (const key in this.$refs) {
|
|
302
|
+
delete this.$refs[key];
|
|
295
303
|
}
|
|
296
304
|
this.__vnode__ = null;
|
|
297
305
|
this.__container__ = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fukict.js","sourceRoot":"","sources":["../../src/component-class/fukict.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAShD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,mDAAmD;AACnD,IAAI,kBAAkB,GAAG,CAAC,CAAC;AAoB3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,OAAgB,MAAM;IAI1B;;;OAGG;IACM,MAAM,CAAS;IAExB;;;OAGG;IACM,QAAQ,CAAS;IAE1B;;;OAGG;IACgB,KAAK,CAA0B;IAElD
|
|
1
|
+
{"version":3,"file":"fukict.js","sourceRoot":"","sources":["../../src/component-class/fukict.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAShD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,mDAAmD;AACnD,IAAI,kBAAkB,GAAG,CAAC,CAAC;AAoB3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,OAAgB,MAAM;IAI1B;;;OAGG;IACM,MAAM,CAAS;IAExB;;;OAGG;IACM,QAAQ,CAAS;IAE1B;;;OAGG;IACgB,KAAK,CAA0B;IAElD;;;;;;;OAOG;IACO,MAAM,CAAI;IAEpB;;;;;OAKG;IACM,KAAK,CAAO;IAErB;;;OAGG;IACH,SAAS,CAAe;IAExB;;;;OAIG;IACH,WAAW,CAAe;IAE1B;;;OAGG;IACH,aAAa,CAAiB;IAE9B;;;OAGG;IACH,eAAe,CAAiB;IAEhC;;;OAGG;IACH,cAAc,CAAU;IACxB,cAAc,CAAU;IACxB,gBAAgB,CAAU;IAE1B;;OAEG;IACH,YAAY,KAA8B;QACxC,IAAI,CAAC,MAAM,GAAG,EAAE,kBAAkB,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,EAAO,CAAC;QAEtB,qFAAqF;QACrF,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAE9B,mCAAmC;QACnC,0EAA0E;IAC5E,CAAC;IASD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACO,cAAc,CAAI,GAAoB,EAAE,KAAQ;QACxD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CACV,iDAAiD,IAAI,CAAC,QAAQ,wBAAwB;gBACpF,gEAAgE,CACnE,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG;gBAC3B,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC;aAC7C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACO,UAAU,CAClB,GAAoB,EACpB,YAAgB;QAEhB,qDAAqD;QACrD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YACjD,IAAI,cAAc,GAA4B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;YAEzE,wDAAwD;YACxD,OAAO,cAAc,EAAE,CAAC;gBACtB,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;oBAC1B,OAAO,cAAc,CAAC,GAAG,CAAM,CAAC;gBAClC,CAAC;gBACD,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,cAAc,GAClB,IAAI,CAAC,WACN,CAAC,kBAAkB,CAAC;YACrB,IAAI,cAAc,EAAE,CAAC;gBACnB,+BAA+B;gBAC/B,OAAO,cAAc,CAAC,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAkC;QACvC,mDAAmD;QACnD,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxE,OAAO,CAAC,IAAI,CACV,uBAAuB,IAAI,CAAC,QAAQ,gDAAgD;gBAClF,kDAAkD;gBAClD,wFAAwF,CAC3F,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAE7B,mDAAmD;QACnD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAiC,GAAG,QAAQ,CAAC;QACrD,CAAC;QAED,YAAY;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE/B,qEAAqE;QACrE,MAAM,QAAQ,GACZ,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS;YACzC,CAAC,CAAE,oBAAoB,CAAC,QAAQ,CAAW;YAC3C,CAAC,CAAC,QAAQ,CAAC;QAEf,+CAA+C;QAC/C,IAAI,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;YAChC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QACpD,CAAC;QAED,sEAAsE;QACtE,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,gDAAgD;QAChD,0HAA0H;QAC1H,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;QAE1B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IA0BD;;;;;OAKG;IACH,KAAK,CAAC,SAAkB,EAAE,WAAqB;QAC7C,IAAI,CAAC,eAAe,GAAG,WAAW,IAAI,IAAI,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,WAAW,EAAE,aAAa,IAAI,SAAS,CAAC;QAC7D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,yCAAyC;QACzC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,wCAAwC;YACxC,IAAI,CAAC,SAAS;gBACZ,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS;oBACzC,CAAC,CAAE,oBAAoB,CAAC,QAAQ,CAAW;oBAC3C,CAAC,CAAC,QAAQ,CAAC;QACjB,CAAC;QAED,oEAAoE;QACpE,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAErC,+DAA+D;QAC/D,QAAQ,CAAC;YACP,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;YAClD,SAAS,EAAE,GAAG,EAAE;gBACd,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,0HAA0H;gBAC1H,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACnB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,OAAO;QACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,0HAA0H;QAC1H,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QAEvB,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAwB,CAAC,CAAC;QAE1D,wEAAwE;QACxE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { METADATA } from './metadata.js';
|
|
7
7
|
export { METADATA };
|
|
8
|
-
export declare const VERSION: "0.1.
|
|
8
|
+
export declare const VERSION: "0.1.6";
|
|
9
9
|
export type { VNode, VNodeChild, ElementVNode, FragmentVNode, FunctionComponentVNode, ClassComponentVNode, UnregisterFn, RefCallback, CSSProperties, ClassValue, RuntimeAttributes, EventHandlers, HTMLAttributes, SVGAttributes, Slots, Ref, Refs, FukictLifecycle, FukictComponent, FukictProps, FukictSlots, FukictConstructor, } from './types/index.js';
|
|
10
10
|
export type { Context, ContextData } from './types/context.js';
|
|
11
11
|
export { VNodeType } from './types/index.js';
|
package/dist/metadata.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export declare const METADATA: {
|
|
6
6
|
readonly name: "@fukict/basic";
|
|
7
|
-
readonly version: "0.1.
|
|
7
|
+
readonly version: "0.1.6";
|
|
8
8
|
readonly description: "Lightweight DOM rendering basic with extension mechanism";
|
|
9
9
|
readonly author: "Fukict Team";
|
|
10
10
|
readonly license: "MIT";
|
package/dist/metadata.js
CHANGED
|
@@ -4,8 +4,8 @@ import type { ClassComponentVNode } from '../types/index.js';
|
|
|
4
4
|
*
|
|
5
5
|
* This function handles the common logic for both creating and updating class components:
|
|
6
6
|
* 1. Saves instance to vnode
|
|
7
|
-
* 2. Extracts and sets slots from children
|
|
8
|
-
* 3. Registers instance to parent's refs (if fukict:ref is specified)
|
|
7
|
+
* 2. Extracts and sets slots from children, marks slot owner
|
|
8
|
+
* 3. Registers instance to parent's $refs (if fukict:ref is specified)
|
|
9
9
|
* 4. Updates wrapper VNode reference
|
|
10
10
|
* 5. Updates parent instance reference on wrapper VNode
|
|
11
11
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-helpers.d.ts","sourceRoot":"","sources":["../../src/renderer/class-helpers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAS,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"class-helpers.d.ts","sourceRoot":"","sources":["../../src/renderer/class-helpers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAS,MAAM,mBAAmB,CAAC;AAgDpE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,EAAE,OAAO,EACjB,cAAc,CAAC,EAAE,OAAO,GACvB,IAAI,CA0CN"}
|
|
@@ -4,13 +4,41 @@
|
|
|
4
4
|
* Shared logic for creating and updating class components
|
|
5
5
|
*/
|
|
6
6
|
import { extractSlots } from '../component-class/slot.js';
|
|
7
|
+
/**
|
|
8
|
+
* Mark slot VNodes with their ref owner (the component that created them)
|
|
9
|
+
*
|
|
10
|
+
* This is critical for correct ref registration:
|
|
11
|
+
* - When slots are rendered, the VNode is created in the parent component
|
|
12
|
+
* - But rendered in the child component
|
|
13
|
+
* - refs should be registered to the parent (ref owner), not the child (slot renderer)
|
|
14
|
+
* - Note: This does NOT change slots ownership - slots still belong to the child component
|
|
15
|
+
*
|
|
16
|
+
* @param slots - Slots object
|
|
17
|
+
* @param refOwner - The component that created these VNodes (parent component)
|
|
18
|
+
*/
|
|
19
|
+
function markRefOwner(slots, refOwner) {
|
|
20
|
+
if (!refOwner)
|
|
21
|
+
return;
|
|
22
|
+
for (const slot of Object.values(slots)) {
|
|
23
|
+
if (Array.isArray(slot)) {
|
|
24
|
+
slot.forEach(vnode => {
|
|
25
|
+
if (typeof vnode === 'object' && vnode && '__type__' in vnode) {
|
|
26
|
+
vnode.__refOwner__ = refOwner;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
else if (typeof slot === 'object' && slot && '__type__' in slot) {
|
|
31
|
+
slot.__refOwner__ = refOwner;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
7
35
|
/**
|
|
8
36
|
* Setup ClassComponentVNode with instance, slots, refs, and parent references
|
|
9
37
|
*
|
|
10
38
|
* This function handles the common logic for both creating and updating class components:
|
|
11
39
|
* 1. Saves instance to vnode
|
|
12
|
-
* 2. Extracts and sets slots from children
|
|
13
|
-
* 3. Registers instance to parent's refs (if fukict:ref is specified)
|
|
40
|
+
* 2. Extracts and sets slots from children, marks slot owner
|
|
41
|
+
* 3. Registers instance to parent's $refs (if fukict:ref is specified)
|
|
14
42
|
* 4. Updates wrapper VNode reference
|
|
15
43
|
* 5. Updates parent instance reference on wrapper VNode
|
|
16
44
|
*
|
|
@@ -25,18 +53,24 @@ export function setupClassComponentVNode(vnode, instance, parentInstance) {
|
|
|
25
53
|
// 1. Save instance to vnode
|
|
26
54
|
vnode.__instance__ = instance;
|
|
27
55
|
// 2. Extract and set slots from children
|
|
56
|
+
// Mark each slot VNode with __refOwner__ so refs are registered correctly
|
|
28
57
|
if (vnode.children) {
|
|
29
|
-
|
|
58
|
+
const slots = extractSlots(vnode.children);
|
|
59
|
+
// Mark slot VNodes with their ref owner (parentInstance)
|
|
60
|
+
// Note: This does NOT change slots ownership - slots still belong to current component
|
|
61
|
+
markRefOwner(slots, parentInstance);
|
|
62
|
+
instanceInternal.$slots = slots;
|
|
30
63
|
}
|
|
31
64
|
// 3. Handle fukict:ref for class components
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
|
|
65
|
+
// Use __refOwner__ if present (for components in slots)
|
|
66
|
+
// Otherwise use parentInstance (for direct children)
|
|
67
|
+
const refTarget = vnode.__refOwner__ || parentInstance;
|
|
68
|
+
if (refTarget && vnode.props && vnode.props['fukict:ref']) {
|
|
35
69
|
const refName = vnode.props['fukict:ref'];
|
|
36
70
|
if (typeof refName === 'string') {
|
|
37
|
-
const
|
|
38
|
-
// Directly assign instance to parent's refs (no Ref wrapper)
|
|
39
|
-
|
|
71
|
+
const targetInternal = refTarget;
|
|
72
|
+
// Directly assign instance to parent's $refs (no Ref wrapper)
|
|
73
|
+
targetInternal.$refs[refName] = instance;
|
|
40
74
|
}
|
|
41
75
|
}
|
|
42
76
|
// 4. Update wrapper VNode reference
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-helpers.js","sourceRoot":"","sources":["../../src/renderer/class-helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"class-helpers.js","sourceRoot":"","sources":["../../src/renderer/class-helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAqB1D;;;;;;;;;;;GAWG;AACH,SAAS,YAAY,CAAC,KAA8B,EAAE,QAAiB;IACrE,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACnB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;oBAC7D,KAA2B,CAAC,YAAY,GAAG,QAAQ,CAAC;gBACvD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACjE,IAA0B,CAAC,YAAY,GAAG,QAAQ,CAAC;QACtD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAA0B,EAC1B,QAAiB,EACjB,cAAwB;IAExB,MAAM,gBAAgB,GAAG,QAAqC,CAAC;IAE/D,4BAA4B;IAC5B,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC;IAE9B,yCAAyC;IACzC,6EAA6E;IAC7E,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE3C,yDAAyD;QACzD,uFAAuF;QACvF,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAEpC,gBAAgB,CAAC,MAAM,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,4CAA4C;IAC5C,2DAA2D;IAC3D,wDAAwD;IACxD,MAAM,SAAS,GAAI,KAA2B,CAAC,YAAY,IAAI,cAAc,CAAC;IAE9E,IAAI,SAAS,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAY,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,cAAc,GAAG,SAAsC,CAAC;YAE9D,8DAA8D;YAC9D,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,gBAAgB,CAAC,WAAW,GAAG,KAAK,CAAC;IAErC,2EAA2E;IAC3E,IAAI,cAAc,EAAE,CAAC;QAEjB,KACD,CAAC,kBAAkB,GAAG,cAAc,CAAC;IACxC,CAAC;AACH,CAAC"}
|
package/dist/types/class.d.ts
CHANGED
|
@@ -42,23 +42,32 @@ export interface Ref<T = any> {
|
|
|
42
42
|
export type Refs = Record<string, any>;
|
|
43
43
|
/**
|
|
44
44
|
* Lifecycle hooks interface for Fukict class components
|
|
45
|
+
*
|
|
46
|
+
* All lifecycle methods can be async, but the framework will not await them.
|
|
47
|
+
* The actual DOM operations are always synchronous.
|
|
45
48
|
*/
|
|
46
49
|
export interface FukictLifecycle<P extends Record<string, any> = any> {
|
|
47
50
|
/**
|
|
48
51
|
* Called after component is mounted to DOM
|
|
52
|
+
*
|
|
53
|
+
* Can be async, but the framework will not await it.
|
|
49
54
|
* Use for: DOM manipulation, event listeners, data fetching
|
|
50
55
|
*/
|
|
51
|
-
mounted?(): void
|
|
56
|
+
mounted?(): void | Promise<void>;
|
|
52
57
|
/**
|
|
53
58
|
* Called before component is unmounted from DOM
|
|
59
|
+
*
|
|
60
|
+
* Can be async, but the framework will not await it.
|
|
54
61
|
* Use for: cleanup, removing event listeners, canceling timers
|
|
55
62
|
*/
|
|
56
|
-
beforeUnmount?(): void
|
|
63
|
+
beforeUnmount?(): void | Promise<void>;
|
|
57
64
|
/**
|
|
58
65
|
* Called after component is updated (props changed or self-update)
|
|
66
|
+
*
|
|
67
|
+
* Can be async, but the framework will not await it.
|
|
59
68
|
* @param prevProps - Previous props before update
|
|
60
69
|
*/
|
|
61
|
-
updated?(prevProps: P): void
|
|
70
|
+
updated?(prevProps: P): void | Promise<void>;
|
|
62
71
|
}
|
|
63
72
|
/**
|
|
64
73
|
* Fukict class component interface
|
|
@@ -87,14 +96,21 @@ export interface FukictComponent<P extends Record<string, any> = {}, S extends S
|
|
|
87
96
|
* Can be overridden for custom update logic (e.g., shouldUpdate).
|
|
88
97
|
* Skipped when fukict:detach is set (props updated, but no re-render).
|
|
89
98
|
*/
|
|
90
|
-
update(newProps
|
|
99
|
+
update(newProps?: P): void;
|
|
91
100
|
/**
|
|
92
|
-
* Mount
|
|
93
|
-
*
|
|
101
|
+
* Mount component to DOM
|
|
102
|
+
*
|
|
103
|
+
* @internal This method is called by the framework. Do NOT override.
|
|
104
|
+
* @sealed
|
|
105
|
+
*/
|
|
106
|
+
readonly mount: (container: Element, placeholder?: Comment) => void;
|
|
107
|
+
/**
|
|
108
|
+
* Unmount component from DOM
|
|
109
|
+
*
|
|
110
|
+
* @internal This method is called by the framework. Do NOT override.
|
|
111
|
+
* @sealed
|
|
94
112
|
*/
|
|
95
|
-
|
|
96
|
-
/** Unmount method (internal, framework use) */
|
|
97
|
-
unmount(): void;
|
|
113
|
+
readonly unmount: () => void;
|
|
98
114
|
}
|
|
99
115
|
/**
|
|
100
116
|
* Helper type to extract props type from Fukict component
|
|
@@ -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;;;;;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
|
|
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;;;;;GAKG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG;IAClE;;;;;OAKG;IACH,OAAO,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjC;;;;;OAKG;IACH,aAAa,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC;;;;;OAKG;IACH,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;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,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAE3B;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEpE;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;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/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,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,
|
|
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,CAQ1E;AA2FD;;;;;;;;;;;;;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"}
|
package/dist/vnode.js
CHANGED
|
@@ -12,7 +12,6 @@ export function createPrimitiveVNode(value) {
|
|
|
12
12
|
return {
|
|
13
13
|
__type__: VNodeType.Primitive,
|
|
14
14
|
type: 'primitive',
|
|
15
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
16
15
|
value,
|
|
17
16
|
props: null,
|
|
18
17
|
children: [],
|
|
@@ -40,7 +39,6 @@ function normalizeChild(child) {
|
|
|
40
39
|
// Primitive values -> PrimitiveVNode
|
|
41
40
|
if (isPrimitiveValue(child)) {
|
|
42
41
|
// Type guard ensures child is PrimitiveValue
|
|
43
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
44
42
|
return createPrimitiveVNode(child);
|
|
45
43
|
}
|
|
46
44
|
// Arrays should be flattened before this point
|
package/dist/vnode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vnode.js","sourceRoot":"","sources":["../src/vnode.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAqB;IACxD,OAAO;QACL,QAAQ,EAAE,SAAS,CAAC,SAAS;QAC7B,IAAI,EAAE,WAAW;QACjB,
|
|
1
|
+
{"version":3,"file":"vnode.js","sourceRoot":"","sources":["../src/vnode.ts"],"names":[],"mappings":"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"}
|