@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.
@@ -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 (called by renderer or manually)
196
- * @internal
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 (called by renderer)
201
- * @internal
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;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB;;;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;IAiDhD;;OAEG;IACH,OAAO,CAAC,IAAI,IAAI;IAEhB;;OAEG;IACH,aAAa,CAAC,IAAI,IAAI;IAEtB;;OAEG;IACH,OAAO,CAAC,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI;IAElD;;;OAGG;IACH,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IA8BtD;;;OAGG;IACH,OAAO,IAAI,IAAI;CAiBhB"}
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.slots = {};
114
+ this.$slots = {};
111
115
  // Initialize instance fields (avoid field initializers for better memory efficiency)
112
- this.refs = {};
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
- if (this.updated) {
250
- this.updated(prevProps);
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 (called by renderer or manually)
256
- * @internal
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
- // Trigger mounted() hook (protected from re-entry)
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 (called by renderer)
286
- * @internal
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.refs) {
294
- delete this.refs[key];
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":"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"}
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.2";
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';
@@ -4,7 +4,7 @@
4
4
  */
5
5
  export declare const METADATA: {
6
6
  readonly name: "@fukict/basic";
7
- readonly version: "0.1.2";
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,7 +4,7 @@
4
4
  */
5
5
  export const METADATA = {
6
6
  name: '@fukict/basic',
7
- version: '0.1.2',
7
+ version: '0.1.6',
8
8
  description: 'Lightweight DOM rendering basic with extension mechanism',
9
9
  author: 'Fukict Team',
10
10
  license: 'MIT',
@@ -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;AAYpE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,EAAE,OAAO,EACjB,cAAc,CAAC,EAAE,OAAO,GACvB,IAAI,CAiCN"}
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
- instanceInternal.slots = extractSlots(vnode.children);
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
- // If parent is a class component and this component has fukict:ref,
33
- // register this instance to parent's refs
34
- if (parentInstance && vnode.props && vnode.props['fukict:ref']) {
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 parentInternal = parentInstance;
38
- // Directly assign instance to parent's refs (no Ref wrapper)
39
- parentInternal.refs[refName] = instance;
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;AAa1D;;;;;;;;;;;;;;;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,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,gBAAgB,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,4CAA4C;IAC5C,uEAAuE;IACvE,6CAA6C;IAC7C,IAAI,cAAc,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAY,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,cAAc,GAAG,cAA2C,CAAC;YAEnE,6DAA6D;YAC7D,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;QAC1C,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"}
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"}
@@ -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: P): void;
99
+ update(newProps?: P): void;
91
100
  /**
92
- * Mount method (called by renderer after instance creation)
93
- * @internal
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
- mount(container: Element, placeholder?: Comment): void;
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;;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"}
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"}
@@ -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,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"}
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":"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"}
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,KAAK;QACL,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAU;IAClC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS;QAC1B,KAAK,KAAK,IAAI;QACd,KAAK,KAAK,SAAS,CACpB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,KAAU;IAChC,kBAAkB;IAClB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;QAC9D,OAAO,KAAc,CAAC;IACxB,CAAC;IAED,qCAAqC;IACrC,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,6CAA6C;QAC7C,OAAO,oBAAoB,CAAC,KAAuB,CAAC,CAAC;IACvD,CAAC;IAED,+CAA+C;IAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,QAAe;IACxC,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,gDAAgD;QAChD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,IAAyC;IAChE,WAAW;IACX,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC,QAAQ,CAAC;IAC5B,CAAC;IAED,4BAA4B;IAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC,OAAO,CAAC;IAC3B,CAAC;IAED,WAAW;IACX,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,mCAAmC;QACnC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,YAAY,MAAM,EAAE,CAAC;YACvD,OAAO,SAAS,CAAC,cAAc,CAAC;QAClC,CAAC;QAED,qBAAqB;QACrB,OAAO,SAAS,CAAC,iBAAiB,CAAC;IACrC,CAAC;IAED,sBAAsB;IACtB,OAAO,SAAS,CAAC,OAAO,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CACzB,IAAyC,EACzC,KAAiC,EACjC,QAAe;IAEf,gCAAgC;IAChC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEvD,MAAM,KAAK,GAAG;QACZ,IAAI;QACJ,KAAK,EAAE,KAAK,IAAI,EAAE;QAClB,QAAQ,EAAE,kBAAkB;KACpB,CAAC;IAEX,4DAA4D;IAC5D,IAAI,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,EAAE,CAAC;QAC1B,KAAe,CAAC,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;AAE7B;;;;GAIG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,WAAW,CAAC;AAC/B,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC;AAChC,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fukict/basic",
3
- "version": "0.1.3",
3
+ "version": "0.1.6",
4
4
  "description": "Lightweight DOM rendering basic with extension mechanism",
5
5
  "keywords": [
6
6
  "fukict",