nexa-runtime 0.5.2 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/component/Transition.d.ts +0 -1
  2. package/dist/component/Transition.js +0 -1
  3. package/dist/component/asyncComponent.d.ts +0 -1
  4. package/dist/component/asyncComponent.js +0 -1
  5. package/dist/component/defineComponent.d.ts +0 -1
  6. package/dist/component/defineComponent.js +0 -1
  7. package/dist/component/errorBoundary.d.ts +0 -1
  8. package/dist/component/errorBoundary.js +3 -4
  9. package/dist/component/index.d.ts +1 -1
  10. package/dist/component/index.js +1 -1
  11. package/dist/component/inject.d.ts +2 -0
  12. package/dist/component/inject.js +16 -0
  13. package/dist/component/lifecycle.d.ts +0 -1
  14. package/dist/component/lifecycle.js +0 -1
  15. package/dist/component/suspense.d.ts +0 -1
  16. package/dist/component/suspense.js +3 -4
  17. package/dist/directives/index.d.ts +0 -1
  18. package/dist/directives/index.js +4 -5
  19. package/dist/index.d.ts +1 -1
  20. package/dist/index.js +1 -1
  21. package/dist/scheduler.d.ts +3 -2
  22. package/dist/scheduler.d.ts.map +1 -1
  23. package/dist/scheduler.js +32 -13
  24. package/dist/scheduler.js.map +1 -1
  25. package/dist/ssr/hydrate.d.ts +0 -1
  26. package/dist/ssr/hydrate.js +3 -1
  27. package/dist/ssr/hydrate.js.map +1 -1
  28. package/dist/ssr/renderToStream.d.ts +0 -1
  29. package/dist/ssr/renderToStream.js +0 -1
  30. package/dist/ssr/renderToString.d.ts +0 -1
  31. package/dist/ssr/renderToString.js +4 -2
  32. package/dist/vdom/diff.d.ts +0 -1
  33. package/dist/vdom/diff.js +8 -12
  34. package/dist/vdom/dom.d.ts +0 -1
  35. package/dist/vdom/dom.js +45 -14
  36. package/dist/vdom/h.d.ts +0 -1
  37. package/dist/vdom/h.js +4 -3
  38. package/dist/vdom/hmr.d.ts +0 -1
  39. package/dist/vdom/hmr.js +3 -2
  40. package/dist/vdom/index.d.ts +0 -1
  41. package/dist/vdom/index.js +0 -1
  42. package/dist/vdom/mountComponent.d.ts +1 -1
  43. package/dist/vdom/mountComponent.d.ts.map +1 -1
  44. package/dist/vdom/mountComponent.js +116 -33
  45. package/dist/vdom/mountComponent.js.map +1 -1
  46. package/dist/vdom/mountProps.d.ts +0 -1
  47. package/dist/vdom/mountProps.js +31 -9
  48. package/dist/vdom/patch.d.ts +0 -1
  49. package/dist/vdom/patch.d.ts.map +1 -1
  50. package/dist/vdom/patch.js +27 -13
  51. package/dist/vdom/patch.js.map +1 -1
  52. package/dist/vdom/renderer.d.ts +0 -1
  53. package/dist/vdom/renderer.js +0 -1
  54. package/dist/vdom/scope.d.ts +0 -1
  55. package/dist/vdom/scope.js +0 -1
  56. package/dist/vdom/slots.d.ts +0 -1
  57. package/dist/vdom/slots.js +9 -2
  58. package/dist/vdom/transition.d.ts +0 -1
  59. package/dist/vdom/transition.js +0 -1
  60. package/dist/vdom/types.d.ts +4 -2
  61. package/dist/vdom/types.js +0 -1
  62. package/dist/vdom/unmount.d.ts +0 -1
  63. package/dist/vdom/unmount.js +25 -24
  64. package/package.json +2 -2
  65. package/dist/component/defineComponent.d.ts.map +0 -1
  66. package/dist/component/defineComponent.js.map +0 -1
  67. package/dist/component/index.js.map +0 -1
  68. package/dist/component/lifecycle.d.ts.map +0 -1
  69. package/dist/component/lifecycle.js.map +0 -1
  70. package/dist/index.js.map +0 -1
  71. package/dist/ssr/renderToStream.d.ts.map +0 -1
  72. package/dist/ssr/renderToStream.js.map +0 -1
  73. package/dist/ssr/renderToString.d.ts.map +0 -1
  74. package/dist/ssr/renderToString.js.map +0 -1
  75. package/dist/vdom/diff.d.ts.map +0 -1
  76. package/dist/vdom/diff.js.map +0 -1
  77. package/dist/vdom/h.js.map +0 -1
  78. package/dist/vdom/hmr.d.ts.map +0 -1
  79. package/dist/vdom/hmr.js.map +0 -1
  80. package/dist/vdom/index.js.map +0 -1
  81. package/dist/vdom/renderer.d.ts.map +0 -1
  82. package/dist/vdom/renderer.js.map +0 -1
  83. package/dist/vdom/scope.d.ts.map +0 -1
  84. package/dist/vdom/scope.js.map +0 -1
  85. package/dist/vdom/slots.d.ts.map +0 -1
  86. package/dist/vdom/slots.js.map +0 -1
  87. package/dist/vdom/transition.d.ts.map +0 -1
  88. package/dist/vdom/transition.js.map +0 -1
  89. package/dist/vdom/types.d.ts.map +0 -1
  90. package/dist/vdom/types.js.map +0 -1
  91. package/dist/vdom/unmount.d.ts.map +0 -1
  92. package/dist/vdom/unmount.js.map +0 -1
@@ -1,2 +1 @@
1
1
  export declare const Transition: import("..").Component;
2
- //# sourceMappingURL=Transition.d.ts.map
@@ -60,4 +60,3 @@ export const Transition = defineComponent({
60
60
  };
61
61
  }
62
62
  });
63
- //# sourceMappingURL=Transition.js.map
@@ -7,4 +7,3 @@ export type AsyncComponentOptions = {
7
7
  timeout?: number;
8
8
  };
9
9
  export declare function defineAsyncComponent(options: AsyncComponentOptions): Component;
10
- //# sourceMappingURL=asyncComponent.d.ts.map
@@ -67,4 +67,3 @@ export function defineAsyncComponent(options) {
67
67
  },
68
68
  };
69
69
  }
70
- //# sourceMappingURL=asyncComponent.js.map
@@ -1,3 +1,2 @@
1
1
  import { type Component } from '../vdom/types';
2
2
  export declare function defineComponent(component: Component): Component;
3
- //# sourceMappingURL=defineComponent.d.ts.map
@@ -1,4 +1,3 @@
1
1
  export function defineComponent(component) {
2
2
  return component;
3
3
  }
4
- //# sourceMappingURL=defineComponent.js.map
@@ -4,4 +4,3 @@ export type ErrorBoundaryHandler = {
4
4
  };
5
5
  export declare function getCurrentErrorBoundary(): ErrorBoundaryHandler | undefined;
6
6
  export declare const ErrorBoundary: Component;
7
- //# sourceMappingURL=errorBoundary.d.ts.map
@@ -1,8 +1,8 @@
1
1
  import { signal } from 'nexa-reactivity';
2
2
  import { h } from '../vdom/h';
3
- const errorBoundaryStack = [];
3
+ import { provide, inject } from './inject';
4
4
  export function getCurrentErrorBoundary() {
5
- return errorBoundaryStack[errorBoundaryStack.length - 1];
5
+ return inject('__errorBoundary__');
6
6
  }
7
7
  export const ErrorBoundary = {
8
8
  setup(_props) {
@@ -10,7 +10,7 @@ export const ErrorBoundary = {
10
10
  const handler = {
11
11
  handleError: (err) => { error.value = err; },
12
12
  };
13
- errorBoundaryStack.push(handler);
13
+ provide('__errorBoundary__', handler);
14
14
  return { error, _handler: handler };
15
15
  },
16
16
  render(ctx) {
@@ -30,4 +30,3 @@ export const ErrorBoundary = {
30
30
  }
31
31
  },
32
32
  };
33
- //# sourceMappingURL=errorBoundary.js.map
@@ -4,4 +4,4 @@ export { Suspense, getCurrentBoundary } from './suspense';
4
4
  export { ErrorBoundary } from './errorBoundary';
5
5
  export { Transition } from './Transition';
6
6
  export { onBeforeMount, onMounted, onBeforeUpdate, onUpdated, onBeforeUnmount, onUnmounted, setCurrentInstance, getCurrentInstance, } from './lifecycle';
7
- //# sourceMappingURL=index.d.ts.map
7
+ export { provide, inject } from './inject';
@@ -4,4 +4,4 @@ export { Suspense, getCurrentBoundary } from './suspense';
4
4
  export { ErrorBoundary } from './errorBoundary';
5
5
  export { Transition } from './Transition';
6
6
  export { onBeforeMount, onMounted, onBeforeUpdate, onUpdated, onBeforeUnmount, onUnmounted, setCurrentInstance, getCurrentInstance, } from './lifecycle';
7
- //# sourceMappingURL=index.js.map
7
+ export { provide, inject } from './inject';
@@ -0,0 +1,2 @@
1
+ export declare function provide<T>(key: string | symbol, value: T): void;
2
+ export declare function inject<T>(key: string | symbol, defaultValue?: T): T | undefined;
@@ -0,0 +1,16 @@
1
+ import { getCurrentInstance } from './lifecycle';
2
+ export function provide(key, value) {
3
+ const instance = getCurrentInstance();
4
+ if (instance) {
5
+ instance.provides[key] = value;
6
+ }
7
+ }
8
+ export function inject(key, defaultValue) {
9
+ const instance = getCurrentInstance();
10
+ if (instance) {
11
+ if (key in instance.provides) {
12
+ return instance.provides[key];
13
+ }
14
+ }
15
+ return defaultValue;
16
+ }
@@ -14,4 +14,3 @@ export declare function onUnmounted(fn: () => void): void;
14
14
  export declare function runLifecycle(instance: {
15
15
  lifecycle: LifecycleHooks;
16
16
  }, hook: keyof LifecycleHooks): void;
17
- //# sourceMappingURL=lifecycle.d.ts.map
@@ -35,4 +35,3 @@ export function runLifecycle(instance, hook) {
35
35
  fn();
36
36
  }
37
37
  }
38
- //# sourceMappingURL=lifecycle.js.map
@@ -6,4 +6,3 @@ export type SuspenseBoundary = {
6
6
  };
7
7
  export declare function getCurrentBoundary(): SuspenseBoundary | undefined;
8
8
  export declare const Suspense: Component;
9
- //# sourceMappingURL=suspense.d.ts.map
@@ -1,15 +1,15 @@
1
1
  import { signal } from 'nexa-reactivity';
2
2
  import { h } from '../vdom/h';
3
3
  import { onMounted } from './lifecycle';
4
- const suspenseStack = [];
4
+ import { provide, inject } from './inject';
5
5
  export function getCurrentBoundary() {
6
- return suspenseStack[suspenseStack.length - 1];
6
+ return inject('__suspense__');
7
7
  }
8
8
  export const Suspense = {
9
9
  setup(_props) {
10
10
  const ready = signal(false);
11
11
  const boundary = { pending: 0, ready };
12
- suspenseStack.push(boundary);
12
+ provide('__suspense__', boundary);
13
13
  onMounted(() => {
14
14
  if (boundary.pending <= 0) {
15
15
  ready.value = true;
@@ -38,4 +38,3 @@ export const Suspense = {
38
38
  return h('div', { key: 'suspense-wrap', style: '' }, pieces);
39
39
  },
40
40
  };
41
- //# sourceMappingURL=suspense.js.map
@@ -4,4 +4,3 @@ export declare function vIf(condition: boolean, thenVNode: () => VNode | null, e
4
4
  export declare function vFor<T>(items: T[], render: (item: T, index: number) => VNode | null): (VNode | null)[];
5
5
  export declare function vShow(el: HTMLElement, signal: Signal<boolean>): () => void;
6
6
  export declare function vModel(el: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement, signal: Signal<string>): () => void;
7
- //# sourceMappingURL=index.d.ts.map
@@ -6,22 +6,21 @@ export function vFor(items, render) {
6
6
  return items.map((item, index) => render(item, index));
7
7
  }
8
8
  export function vShow(el, signal) {
9
- const dispose = effect(() => {
9
+ const e = effect(() => {
10
10
  el.style.display = signal.value ? '' : 'none';
11
11
  });
12
- return dispose;
12
+ return () => e.dispose();
13
13
  }
14
14
  export function vModel(el, signal) {
15
15
  const onInput = () => {
16
16
  signal.value = el.value;
17
17
  };
18
18
  el.addEventListener('input', onInput);
19
- const dispose = effect(() => {
19
+ const e = effect(() => {
20
20
  el.value = signal.value;
21
21
  });
22
22
  return () => {
23
23
  el.removeEventListener('input', onInput);
24
- dispose();
24
+ e.dispose();
25
25
  };
26
26
  }
27
- //# sourceMappingURL=index.js.map
package/dist/index.d.ts CHANGED
@@ -6,10 +6,10 @@ export * from './vdom/hmr';
6
6
  export * from './vdom/scope';
7
7
  export * from './vdom/transition';
8
8
  export * from './component';
9
+ export { getCurrentInstance, provide, inject } from './component';
9
10
  export * from './scheduler';
10
11
  export * from './ssr/renderToString';
11
12
  export * from './ssr/renderToStream';
12
13
  export * from './ssr/hydrate';
13
14
  export * from './directives';
14
15
  export declare function mount(vnode: any, containerOrSelector: any): any;
15
- //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -6,6 +6,7 @@ export * from './vdom/hmr';
6
6
  export * from './vdom/scope';
7
7
  export * from './vdom/transition';
8
8
  export * from './component';
9
+ export { getCurrentInstance, provide, inject } from './component';
9
10
  export * from './scheduler';
10
11
  export * from './ssr/renderToString';
11
12
  export * from './ssr/renderToStream';
@@ -22,4 +23,3 @@ export function mount(vnode, containerOrSelector) {
22
23
  }
23
24
  return baseMount(vnode, container, domOptions);
24
25
  }
25
- //# sourceMappingURL=index.js.map
@@ -1,2 +1,3 @@
1
- export declare function queueJob(job: () => void): void;
2
- //# sourceMappingURL=scheduler.d.ts.map
1
+ import { type ComponentInstance } from './vdom/types';
2
+ export declare function queueJob(instance: ComponentInstance): void;
3
+ export declare function flushJobs(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAGA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,CAM9C"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAQrD,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAE1D;AAED,wBAAgB,SAAS,IAAI,IAAI,CAmBhC"}
package/dist/scheduler.js CHANGED
@@ -1,18 +1,37 @@
1
+ import { setPostFlushCallback } from 'nexa-reactivity';
1
2
  const pendingJobs = new Set();
2
3
  let isFlushing = false;
3
- export function queueJob(job) {
4
- pendingJobs.add(job);
5
- if (!isFlushing) {
6
- isFlushing = true;
7
- queueMicrotask(flushJobs);
8
- }
4
+ const globalObj = (typeof globalThis !== 'undefined' ? globalThis : (typeof window !== 'undefined' ? window : {}));
5
+ // Register flushJobs as the post-flush callback for reactivity using the shared global state
6
+ const state = globalObj.__NEXA_REACTIVITY_STATE__;
7
+ if (state) {
8
+ state.postFlushCallback = flushJobs;
9
+ }
10
+ else {
11
+ // Fallback to module import if global state is not yet initialized
12
+ setPostFlushCallback(flushJobs);
13
+ }
14
+ export function queueJob(instance) {
15
+ pendingJobs.add(instance);
9
16
  }
10
- function flushJobs() {
11
- isFlushing = false;
12
- const jobs = new Set(pendingJobs);
13
- pendingJobs.clear();
14
- for (const job of jobs) {
15
- job();
17
+ export function flushJobs() {
18
+ if (isFlushing || pendingJobs.size === 0) {
19
+ return;
20
+ }
21
+ isFlushing = true;
22
+ try {
23
+ // Loop until all jobs are processed (handles cascaded updates)
24
+ while (pendingJobs.size > 0) {
25
+ const jobs = Array.from(pendingJobs).sort((a, b) => a.depth - b.depth);
26
+ pendingJobs.clear();
27
+ for (const instance of jobs) {
28
+ if (instance.update && typeof instance.update.run === 'function') {
29
+ instance.update.run();
30
+ }
31
+ }
32
+ }
33
+ }
34
+ finally {
35
+ isFlushing = false;
16
36
  }
17
37
  }
18
- //# sourceMappingURL=scheduler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,IAAI,GAAG,EAAc,CAAA;AACzC,IAAI,UAAU,GAAG,KAAK,CAAA;AAEtB,MAAM,UAAU,QAAQ,CAAC,GAAe;IACtC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACpB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,IAAI,CAAA;QACjB,cAAc,CAAC,SAAS,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,SAAS;IAChB,UAAU,GAAG,KAAK,CAAA;IAClB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAA;IACjC,WAAW,CAAC,KAAK,EAAE,CAAA;IACnB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,GAAG,EAAE,CAAA;IACP,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAGtD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAA;AAChD,IAAI,UAAU,GAAG,KAAK,CAAA;AAEtB,+DAA+D;AAC/D,oBAAoB,CAAC,SAAS,CAAC,CAAA;AAE/B,MAAM,UAAU,QAAQ,CAAC,QAA2B;IAClD,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,UAAU,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC;QAAE,OAAM;IAChD,UAAU,GAAG,IAAI,CAAA;IAEjB,IAAI,CAAC;QACH,+DAA+D;QAC/D,OAAO,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;YACtE,WAAW,CAAC,KAAK,EAAE,CAAA;YAEnB,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpB,QAAQ,CAAC,MAAM,EAAE,CAAA;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,UAAU,GAAG,KAAK,CAAA;IACpB,CAAC;AACH,CAAC"}
@@ -1,3 +1,2 @@
1
1
  import { type VNode } from '../vdom/types';
2
2
  export declare function hydrate(vnode: VNode, container: Element): void;
3
- //# sourceMappingURL=hydrate.d.ts.map
@@ -98,6 +98,9 @@ function hydrateComponent(vnode, parent, anchor) {
98
98
  setupState: {},
99
99
  vnode: null,
100
100
  mounted: false,
101
+ depth: 0,
102
+ parent: null,
103
+ provides: {},
101
104
  lifecycle: {
102
105
  beforeMount: [],
103
106
  mounted: [],
@@ -171,4 +174,3 @@ function attachEvents(el, props) {
171
174
  }
172
175
  }
173
176
  }
174
- //# sourceMappingURL=hydrate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hydrate.js","sourceRoot":"","sources":["../../src/ssr/hydrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hydrate.js","sourceRoot":"","sources":["../../src/ssr/hydrate.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
1
  import { type VNode } from '../vdom/types';
2
2
  export declare function renderToStream(vnode: VNode): ReadableStream<string>;
3
- //# sourceMappingURL=renderToStream.d.ts.map
@@ -135,4 +135,3 @@ function escapeAttr(str) {
135
135
  .replace(/</g, '&lt;')
136
136
  .replace(/>/g, '&gt;');
137
137
  }
138
- //# sourceMappingURL=renderToStream.js.map
@@ -1,3 +1,2 @@
1
1
  import { type VNode } from '../vdom/types';
2
2
  export declare function renderToString(vnode: VNode): string;
3
- //# sourceMappingURL=renderToString.d.ts.map
@@ -82,7 +82,10 @@ function renderComponentToString(vnode) {
82
82
  props: vnode.props ?? {},
83
83
  setupState: {},
84
84
  vnode: null,
85
- mounted: false,
85
+ mounted: true,
86
+ depth: 0,
87
+ parent: null,
88
+ provides: {},
86
89
  lifecycle: {
87
90
  beforeMount: [],
88
91
  mounted: [],
@@ -131,4 +134,3 @@ function escapeAttr(str) {
131
134
  .replace(/</g, '&lt;')
132
135
  .replace(/>/g, '&gt;');
133
136
  }
134
- //# sourceMappingURL=renderToString.js.map
@@ -1,3 +1,2 @@
1
1
  import { type VNode, type PatchOp } from './types';
2
2
  export declare function diff(oldVNode: VNode | null, newVNode: VNode, container: any): PatchOp[];
3
- //# sourceMappingURL=diff.d.ts.map
package/dist/vdom/diff.js CHANGED
@@ -47,7 +47,7 @@ function diffVNode(oldV, newV, container, patches) {
47
47
  props: propPatches
48
48
  });
49
49
  }
50
- diffChildren(oldV, newV, patches);
50
+ diffChildren(oldV, newV, newV.el, patches);
51
51
  }
52
52
  else if (oldV._type === 'component') {
53
53
  patches.push({
@@ -59,7 +59,7 @@ function diffVNode(oldV, newV, container, patches) {
59
59
  });
60
60
  }
61
61
  else if (oldV._type === 'fragment') {
62
- diffChildren(oldV, newV, patches);
62
+ diffChildren(oldV, newV, container, patches);
63
63
  }
64
64
  }
65
65
  function diffProps(oldV, newV) {
@@ -82,12 +82,9 @@ function diffProps(oldV, newV) {
82
82
  }
83
83
  return patches;
84
84
  }
85
- function diffChildren(oldV, newV, patches) {
86
- const oldChildren = oldV.children ?? [];
87
- const newChildren = newV.children ?? [];
88
- const el = oldV.el;
89
- if (!el)
90
- return;
85
+ function diffChildren(oldV, newV, container, patches) {
86
+ const oldChildren = (oldV.children ?? []);
87
+ const newChildren = (newV.children ?? []);
91
88
  const maxLen = Math.max(oldChildren.length, newChildren.length);
92
89
  for (let i = 0; i < maxLen; i++) {
93
90
  const oldChild = oldChildren[i];
@@ -96,7 +93,7 @@ function diffChildren(oldV, newV, patches) {
96
93
  patches.push({
97
94
  type: 'create',
98
95
  newVNode: newChild,
99
- parent: el,
96
+ parent: container,
100
97
  anchor: null,
101
98
  });
102
99
  }
@@ -104,13 +101,12 @@ function diffChildren(oldV, newV, patches) {
104
101
  patches.push({
105
102
  type: 'remove',
106
103
  oldVNode: oldChild,
107
- parent: el,
104
+ parent: container,
108
105
  anchor: null,
109
106
  });
110
107
  }
111
108
  else if (oldChild && newChild) {
112
- diffVNode(oldChild, newChild, el, patches);
109
+ diffVNode(oldChild, newChild, container, patches);
113
110
  }
114
111
  }
115
112
  }
116
- //# sourceMappingURL=diff.js.map
@@ -1,3 +1,2 @@
1
1
  import { type RendererOptions } from './renderer';
2
2
  export declare const domOptions: RendererOptions<Node, Element>;
3
- //# sourceMappingURL=dom.d.ts.map
package/dist/vdom/dom.js CHANGED
@@ -1,4 +1,28 @@
1
1
  import { effect } from 'nexa-reactivity';
2
+ function normalizeClassValue(value) {
3
+ if (!value)
4
+ return '';
5
+ if (typeof value === 'string')
6
+ return value.trim();
7
+ if (Array.isArray(value)) {
8
+ const parts = [];
9
+ for (const item of value) {
10
+ const normalized = normalizeClassValue(item);
11
+ if (normalized)
12
+ parts.push(normalized);
13
+ }
14
+ return parts.join(' ').trim();
15
+ }
16
+ if (typeof value === 'object') {
17
+ const parts = [];
18
+ for (const key of Object.keys(value)) {
19
+ if (value[key])
20
+ parts.push(key);
21
+ }
22
+ return parts.join(' ').trim();
23
+ }
24
+ return String(value).trim();
25
+ }
2
26
  export const domOptions = {
3
27
  patchProp(el, key, prevValue, nextValue) {
4
28
  if (key === 'key')
@@ -33,15 +57,7 @@ export const domOptions = {
33
57
  }
34
58
  }
35
59
  else if (key === 'class' || key === 'className') {
36
- if (typeof nextValue === 'string') {
37
- el.setAttribute('class', nextValue || '');
38
- }
39
- else if (nextValue && typeof nextValue === 'object') {
40
- const classes = Array.isArray(nextValue)
41
- ? nextValue.filter(Boolean)
42
- : Object.keys(nextValue).filter(k => nextValue[k]);
43
- el.setAttribute('class', classes.join(' '));
44
- }
60
+ el.setAttribute('class', normalizeClassValue(nextValue));
45
61
  }
46
62
  else if (key === 'style') {
47
63
  if (typeof nextValue === 'string') {
@@ -52,12 +68,28 @@ export const domOptions = {
52
68
  }
53
69
  }
54
70
  else if (key === 'vShow') {
55
- effect(() => {
56
- el.style.display = nextValue.value ? '' : 'none';
57
- });
71
+ if (el._vShowEffect) {
72
+ el._vShowEffect.dispose();
73
+ }
74
+ if (nextValue) {
75
+ el._vShowEffect = effect(() => {
76
+ el.style.display = nextValue.value ? '' : 'none';
77
+ });
78
+ }
79
+ else {
80
+ delete el._vShowEffect;
81
+ }
82
+ }
83
+ else if (key === 'checked') {
84
+ el.checked = !!nextValue;
85
+ }
86
+ else if (key === 'selected') {
87
+ el.selected = !!nextValue;
58
88
  }
59
89
  else if (key === 'value') {
60
- el.value = String(nextValue);
90
+ const desired = nextValue == null ? '' : String(nextValue);
91
+ if (el.value !== desired)
92
+ el.value = desired;
61
93
  }
62
94
  else if (key === 'htmlFor') {
63
95
  el.setAttribute('for', String(nextValue));
@@ -111,4 +143,3 @@ export const domOptions = {
111
143
  return document.querySelector(selector);
112
144
  }
113
145
  };
114
- //# sourceMappingURL=dom.js.map
package/dist/vdom/h.d.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  import { type VNode, Fragment, Teleport } from './types';
2
2
  export declare function h(tag: string | Record<string, any> | typeof Fragment | typeof Teleport, props: Record<string, any> | null, children?: any): VNode;
3
3
  export declare function hText(text: string | (() => any)): VNode;
4
- //# sourceMappingURL=h.d.ts.map
package/dist/vdom/h.js CHANGED
@@ -62,7 +62,9 @@ function normalizeChildren(children) {
62
62
  if (child == null || child === false || child === true)
63
63
  continue;
64
64
  if (Array.isArray(child)) {
65
- result.push(...normalizeChildren(child));
65
+ const normalized = normalizeChildren(child);
66
+ if (normalized)
67
+ result.push(...normalized);
66
68
  }
67
69
  else if (typeof child === 'string' || typeof child === 'number') {
68
70
  result.push(hText(String(child)));
@@ -74,8 +76,7 @@ function normalizeChildren(children) {
74
76
  result.push(child);
75
77
  }
76
78
  }
77
- return result.length > 0 ? result : null;
79
+ return result;
78
80
  }
79
81
  return [children];
80
82
  }
81
- //# sourceMappingURL=h.js.map
@@ -3,4 +3,3 @@ export declare function registerComponent(id: string, comp: Component): void;
3
3
  export declare function registerInstance(instance: ComponentInstance): void;
4
4
  export declare function unregisterInstance(instance: ComponentInstance): void;
5
5
  export declare function reloadComponent(id: string, newComp: any): void;
6
- //# sourceMappingURL=hmr.d.ts.map
package/dist/vdom/hmr.js CHANGED
@@ -31,7 +31,8 @@ export function reloadComponent(id, newComp) {
31
31
  // Update the component definition
32
32
  instance.component.render = newComp.render;
33
33
  // Trigger update
34
- instance.update();
34
+ if (instance.update && typeof instance.update.run === 'function') {
35
+ instance.update.run();
36
+ }
35
37
  }
36
38
  }
37
- //# sourceMappingURL=hmr.js.map
@@ -3,4 +3,3 @@ export { diff } from './diff';
3
3
  export { mount, applyPatches } from './patch';
4
4
  export { Fragment, Teleport } from './types';
5
5
  export type { VNode, Component, ComponentInstance } from './types';
6
- //# sourceMappingURL=index.d.ts.map
@@ -2,4 +2,3 @@ export { h, hText } from './h';
2
2
  export { diff } from './diff';
3
3
  export { mount, applyPatches } from './patch';
4
4
  export { Fragment, Teleport } from './types';
5
- //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
1
  import { type VNode } from './types';
2
2
  import { type RendererOptions } from './renderer';
3
+ export declare const resolveProps: (comp: any, rawProps: any) => Record<string, any>;
3
4
  export declare function mountComponent(vnode: VNode, parent: any, options: RendererOptions, anchor?: any): any;
4
- //# sourceMappingURL=mountComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mountComponent.d.ts","sourceRoot":"","sources":["../../src/vdom/mountComponent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAoC,MAAM,SAAS,CAAA;AAQtE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;AAIjD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,eAAe,EACxB,MAAM,GAAE,GAAU,GACjB,GAAG,CAoJL"}
1
+ {"version":3,"file":"mountComponent.d.ts","sourceRoot":"","sources":["../../src/vdom/mountComponent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAoC,MAAM,SAAS,CAAA;AAQtE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;AAKjD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,eAAe,EACxB,MAAM,GAAE,GAAU,GACjB,GAAG,CAuKL"}