nexa-runtime 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/component/Transition.d.ts +2 -0
  2. package/dist/component/Transition.d.ts.map +1 -0
  3. package/dist/component/Transition.js +62 -0
  4. package/dist/component/Transition.js.map +1 -0
  5. package/dist/component/index.d.ts +1 -0
  6. package/dist/component/index.d.ts.map +1 -1
  7. package/dist/component/index.js +1 -0
  8. package/dist/component/index.js.map +1 -1
  9. package/dist/component/lifecycle.d.ts +3 -0
  10. package/dist/component/lifecycle.d.ts.map +1 -1
  11. package/dist/component/lifecycle.js +6 -0
  12. package/dist/component/lifecycle.js.map +1 -1
  13. package/dist/index.d.ts +4 -2
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +4 -2
  16. package/dist/index.js.map +1 -1
  17. package/dist/ssr/hydrate.js +26 -1
  18. package/dist/ssr/hydrate.js.map +1 -1
  19. package/dist/ssr/renderToString.d.ts.map +1 -1
  20. package/dist/ssr/renderToString.js +5 -0
  21. package/dist/ssr/renderToString.js.map +1 -1
  22. package/dist/vdom/h.d.ts +2 -2
  23. package/dist/vdom/h.d.ts.map +1 -1
  24. package/dist/vdom/h.js +17 -4
  25. package/dist/vdom/h.js.map +1 -1
  26. package/dist/vdom/hmr.d.ts +6 -0
  27. package/dist/vdom/hmr.d.ts.map +1 -0
  28. package/dist/vdom/hmr.js +38 -0
  29. package/dist/vdom/hmr.js.map +1 -0
  30. package/dist/vdom/index.d.ts +1 -1
  31. package/dist/vdom/index.d.ts.map +1 -1
  32. package/dist/vdom/index.js +1 -1
  33. package/dist/vdom/index.js.map +1 -1
  34. package/dist/vdom/mountComponent.d.ts +3 -0
  35. package/dist/vdom/mountComponent.d.ts.map +1 -0
  36. package/dist/vdom/mountComponent.js +124 -0
  37. package/dist/vdom/mountComponent.js.map +1 -0
  38. package/dist/vdom/mountProps.d.ts +2 -0
  39. package/dist/vdom/mountProps.d.ts.map +1 -0
  40. package/dist/vdom/mountProps.js +70 -0
  41. package/dist/vdom/mountProps.js.map +1 -0
  42. package/dist/vdom/patch.d.ts.map +1 -1
  43. package/dist/vdom/patch.js +27 -246
  44. package/dist/vdom/patch.js.map +1 -1
  45. package/dist/vdom/scope.d.ts +5 -0
  46. package/dist/vdom/scope.d.ts.map +1 -0
  47. package/dist/vdom/scope.js +22 -0
  48. package/dist/vdom/scope.js.map +1 -0
  49. package/dist/vdom/transition.d.ts +7 -0
  50. package/dist/vdom/transition.d.ts.map +1 -1
  51. package/dist/vdom/transition.js +54 -25
  52. package/dist/vdom/transition.js.map +1 -1
  53. package/dist/vdom/types.d.ts +4 -1
  54. package/dist/vdom/types.d.ts.map +1 -1
  55. package/dist/vdom/types.js +1 -0
  56. package/dist/vdom/types.js.map +1 -1
  57. package/dist/vdom/unmount.d.ts +4 -0
  58. package/dist/vdom/unmount.d.ts.map +1 -0
  59. package/dist/vdom/unmount.js +64 -0
  60. package/dist/vdom/unmount.js.map +1 -0
  61. package/package.json +2 -2
@@ -0,0 +1,2 @@
1
+ export declare const Transition: import("..").Component;
2
+ //# sourceMappingURL=Transition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Transition.d.ts","sourceRoot":"","sources":["../../src/component/Transition.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,wBA8DrB,CAAA"}
@@ -0,0 +1,62 @@
1
+ import { defineComponent } from './defineComponent';
2
+ import { signal, effect } from 'nexa-reactivity';
3
+ import { applyLeaveClasses } from '../vdom/transition';
4
+ export const Transition = defineComponent({
5
+ name: 'Transition',
6
+ props: {
7
+ name: String,
8
+ mode: String,
9
+ onBeforeEnter: Function,
10
+ onEnter: Function,
11
+ onAfterEnter: Function,
12
+ onBeforeLeave: Function,
13
+ onLeave: Function,
14
+ onAfterLeave: Function,
15
+ },
16
+ setup(props, { slots }) {
17
+ const displayChild = signal(null);
18
+ let isTransitioning = false;
19
+ effect(() => {
20
+ const raw = slots.default?.();
21
+ const next = Array.isArray(raw) ? raw[0] : raw;
22
+ if (!displayChild.value) {
23
+ displayChild.value = next;
24
+ return;
25
+ }
26
+ const current = displayChild.value;
27
+ const hasChanged = next?.tag !== current?.tag || next?.key !== current?.key;
28
+ if (props.mode === 'out-in' && hasChanged && current && next) {
29
+ if (isTransitioning)
30
+ return;
31
+ isTransitioning = true;
32
+ applyLeaveClasses(current, props.name || 'v').then(() => {
33
+ isTransitioning = false;
34
+ displayChild.value = next;
35
+ });
36
+ }
37
+ else {
38
+ displayChild.value = next;
39
+ }
40
+ });
41
+ return () => {
42
+ const child = displayChild.value;
43
+ if (!child)
44
+ return null;
45
+ // Inject transition props into child
46
+ child.props = {
47
+ ...child.props,
48
+ _transition: true,
49
+ _transitionName: props.name || 'v',
50
+ mode: props.mode,
51
+ onBeforeEnter: props.onBeforeEnter,
52
+ onEnter: props.onEnter,
53
+ onAfterEnter: props.onAfterEnter,
54
+ onBeforeLeave: props.onBeforeLeave,
55
+ onLeave: props.onLeave,
56
+ onAfterLeave: props.onAfterLeave,
57
+ };
58
+ return child;
59
+ };
60
+ }
61
+ });
62
+ //# sourceMappingURL=Transition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Transition.js","sourceRoot":"","sources":["../../src/component/Transition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAEtD,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC;IACxC,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,aAAa,EAAE,QAAQ;QACvB,OAAO,EAAE,QAAQ;QACjB,YAAY,EAAE,QAAQ;QACtB,aAAa,EAAE,QAAQ;QACvB,OAAO,EAAE,QAAQ;QACjB,YAAY,EAAE,QAAQ;KACvB;IACD,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE;QACpB,MAAM,YAAY,GAAG,MAAM,CAAM,IAAI,CAAC,CAAA;QACtC,IAAI,eAAe,GAAG,KAAK,CAAA;QAE3B,MAAM,CAAC,GAAG,EAAE;YACV,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,CAAA;YAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;YAE9C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBACxB,YAAY,CAAC,KAAK,GAAG,IAAI,CAAA;gBACzB,OAAM;YACR,CAAC;YAED,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAA;YAClC,MAAM,UAAU,GAAG,IAAI,EAAE,GAAG,KAAK,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,GAAG,KAAK,OAAO,EAAE,GAAG,CAAA;YAE3E,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,UAAU,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBAC7D,IAAI,eAAe;oBAAE,OAAM;gBAC3B,eAAe,GAAG,IAAI,CAAA;gBAEtB,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBACtD,eAAe,GAAG,KAAK,CAAA;oBACvB,YAAY,CAAC,KAAK,GAAG,IAAI,CAAA;gBAC3B,CAAC,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,KAAK,GAAG,IAAI,CAAA;YAC3B,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,GAAG,EAAE;YACV,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAA;YAChC,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAA;YAEvB,qCAAqC;YACrC,KAAK,CAAC,KAAK,GAAG;gBACZ,GAAG,KAAK,CAAC,KAAK;gBACd,WAAW,EAAE,IAAI;gBACjB,eAAe,EAAE,KAAK,CAAC,IAAI,IAAI,GAAG;gBAClC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,YAAY,EAAE,KAAK,CAAC,YAAY;aACjC,CAAA;YAED,OAAO,KAAK,CAAA;QACd,CAAC,CAAA;IACH,CAAC;CACF,CAAC,CAAA"}
@@ -2,5 +2,6 @@ export { defineComponent } from './defineComponent';
2
2
  export { defineAsyncComponent } from './asyncComponent';
3
3
  export { Suspense, getCurrentBoundary } from './suspense';
4
4
  export { ErrorBoundary } from './errorBoundary';
5
+ export { Transition } from './Transition';
5
6
  export { onBeforeMount, onMounted, onBeforeUpdate, onUpdated, onBeforeUnmount, onUnmounted, setCurrentInstance, getCurrentInstance, } from './lifecycle';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/component/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EACL,aAAa,EACb,SAAS,EACT,cAAc,EACd,SAAS,EACT,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/component/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EACL,aAAa,EACb,SAAS,EACT,cAAc,EACd,SAAS,EACT,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAA"}
@@ -2,5 +2,6 @@ export { defineComponent } from './defineComponent';
2
2
  export { defineAsyncComponent } from './asyncComponent';
3
3
  export { Suspense, getCurrentBoundary } from './suspense';
4
4
  export { ErrorBoundary } from './errorBoundary';
5
+ export { Transition } from './Transition';
5
6
  export { onBeforeMount, onMounted, onBeforeUpdate, onUpdated, onBeforeUnmount, onUnmounted, setCurrentInstance, getCurrentInstance, } from './lifecycle';
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/component/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EACL,aAAa,EACb,SAAS,EACT,cAAc,EACd,SAAS,EACT,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/component/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EACL,aAAa,EACb,SAAS,EACT,cAAc,EACd,SAAS,EACT,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAA"}
@@ -11,4 +11,7 @@ export declare function onBeforeUpdate(fn: () => void): void;
11
11
  export declare function onUpdated(fn: () => void): void;
12
12
  export declare function onBeforeUnmount(fn: () => void): void;
13
13
  export declare function onUnmounted(fn: () => void): void;
14
+ export declare function runLifecycle(instance: {
15
+ lifecycle: LifecycleHooks;
16
+ }, hook: keyof LifecycleHooks): void;
14
17
  //# sourceMappingURL=lifecycle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/component/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAInD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE;IAAE,SAAS,EAAE,cAAc,CAAA;CAAE,GAAG,IAAI,GAAG,IAAI,CAEvF;AAED,wBAAgB,kBAAkB,IAAI;IAAE,SAAS,EAAE,cAAc,CAAA;CAAE,GAAG,IAAI,CAEzE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAElD;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAE9C;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAEnD;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAE9C;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAEpD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAEhD"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/component/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAInD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE;IAAE,SAAS,EAAE,cAAc,CAAA;CAAE,GAAG,IAAI,GAAG,IAAI,CAEvF;AAED,wBAAgB,kBAAkB,IAAI;IAAE,SAAS,EAAE,cAAc,CAAA;CAAE,GAAG,IAAI,CAEzE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAElD;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAE9C;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAEnD;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAE9C;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAEpD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAEhD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE;IAAE,SAAS,EAAE,cAAc,CAAA;CAAE,EAAE,IAAI,EAAE,MAAM,cAAc,GAAG,IAAI,CAKtG"}
@@ -29,4 +29,10 @@ export function onUnmounted(fn) {
29
29
  if (currentInstance)
30
30
  currentInstance.lifecycle.unmounted.push(fn);
31
31
  }
32
+ export function runLifecycle(instance, hook) {
33
+ const hooks = instance.lifecycle[hook];
34
+ for (const fn of hooks) {
35
+ fn();
36
+ }
37
+ }
32
38
  //# sourceMappingURL=lifecycle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/component/lifecycle.ts"],"names":[],"mappings":"AAEA,IAAI,eAAe,GAAyC,IAAI,CAAA;AAEhE,MAAM,UAAU,kBAAkB,CAAC,QAA8C;IAC/E,eAAe,GAAG,QAAQ,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAc;IAC1C,IAAI,eAAe;QAAE,eAAe,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACrE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAc;IACtC,IAAI,eAAe;QAAE,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAc;IAC3C,IAAI,eAAe;QAAE,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACtE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAc;IACtC,IAAI,eAAe;QAAE,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAc;IAC5C,IAAI,eAAe;QAAE,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAc;IACxC,IAAI,eAAe;QAAE,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACnE,CAAC"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/component/lifecycle.ts"],"names":[],"mappings":"AAEA,IAAI,eAAe,GAAyC,IAAI,CAAA;AAEhE,MAAM,UAAU,kBAAkB,CAAC,QAA8C;IAC/E,eAAe,GAAG,QAAQ,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAc;IAC1C,IAAI,eAAe;QAAE,eAAe,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACrE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAc;IACtC,IAAI,eAAe;QAAE,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAc;IAC3C,IAAI,eAAe;QAAE,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACtE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAc;IACtC,IAAI,eAAe;QAAE,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAc;IAC5C,IAAI,eAAe;QAAE,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAc;IACxC,IAAI,eAAe;QAAE,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACnE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAuC,EAAE,IAA0B;IAC9F,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACtC,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,EAAE,EAAE,CAAA;IACN,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,11 @@
1
- export { h, hText, diff, mount, applyPatches, Fragment, } from './vdom';
1
+ export { h, hText, diff, mount, applyPatches, Fragment, Teleport, } from './vdom';
2
2
  export type { VNode, Component, ComponentInstance } from './vdom';
3
- export { defineComponent, defineAsyncComponent, Suspense, ErrorBoundary, onBeforeMount, onMounted, onBeforeUpdate, onUpdated, onBeforeUnmount, onUnmounted, } from './component';
3
+ export { defineComponent, defineAsyncComponent, Suspense, ErrorBoundary, Transition, onBeforeMount, onMounted, onBeforeUpdate, onUpdated, onBeforeUnmount, onUnmounted, } from './component';
4
4
  export { vShow, vModel, vIf, vFor } from './directives';
5
5
  export { queueJob } from './scheduler';
6
6
  export { renderToString } from './ssr/renderToString';
7
7
  export { renderToStream } from './ssr/renderToStream';
8
8
  export { hydrate } from './ssr/hydrate';
9
+ export { registerComponent, reloadComponent } from './vdom/hmr';
10
+ export { injectStyle } from './vdom/scope';
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,CAAC,EACD,KAAK,EACL,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,QAAQ,GACT,MAAM,QAAQ,CAAA;AACf,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAEjE,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,aAAa,EACb,SAAS,EACT,cAAc,EACd,SAAS,EACT,eAAe,EACf,WAAW,GACZ,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,CAAC,EACD,KAAK,EACL,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,QAAQ,GACT,MAAM,QAAQ,CAAA;AACf,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAEjE,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,UAAU,EACV,aAAa,EACb,SAAS,EACT,cAAc,EACd,SAAS,EACT,eAAe,EACf,WAAW,GACZ,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA"}
package/dist/index.js CHANGED
@@ -1,8 +1,10 @@
1
- export { h, hText, diff, mount, applyPatches, Fragment, } from './vdom';
2
- export { defineComponent, defineAsyncComponent, Suspense, ErrorBoundary, onBeforeMount, onMounted, onBeforeUpdate, onUpdated, onBeforeUnmount, onUnmounted, } from './component';
1
+ export { h, hText, diff, mount, applyPatches, Fragment, Teleport, } from './vdom';
2
+ export { defineComponent, defineAsyncComponent, Suspense, ErrorBoundary, Transition, onBeforeMount, onMounted, onBeforeUpdate, onUpdated, onBeforeUnmount, onUnmounted, } from './component';
3
3
  export { vShow, vModel, vIf, vFor } from './directives';
4
4
  export { queueJob } from './scheduler';
5
5
  export { renderToString } from './ssr/renderToString';
6
6
  export { renderToStream } from './ssr/renderToStream';
7
7
  export { hydrate } from './ssr/hydrate';
8
+ export { registerComponent, reloadComponent } from './vdom/hmr';
9
+ export { injectStyle } from './vdom/scope';
8
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,CAAC,EACD,KAAK,EACL,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,QAAQ,GACT,MAAM,QAAQ,CAAA;AAGf,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,aAAa,EACb,SAAS,EACT,cAAc,EACd,SAAS,EACT,eAAe,EACf,WAAW,GACZ,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,CAAC,EACD,KAAK,EACL,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,QAAQ,GACT,MAAM,QAAQ,CAAA;AAGf,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,UAAU,EACV,aAAa,EACb,SAAS,EACT,cAAc,EACd,SAAS,EACT,eAAe,EACf,WAAW,GACZ,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA"}
@@ -1,4 +1,4 @@
1
- import { effect } from 'nexa-reactivity';
1
+ import { effect, signal } from 'nexa-reactivity';
2
2
  import { Fragment } from '../vdom/types';
3
3
  import { setCurrentInstance } from '../component/lifecycle';
4
4
  import { mount } from '../vdom/patch';
@@ -56,6 +56,26 @@ function hydrateNode(vnode, parent, anchor) {
56
56
  }
57
57
  return true;
58
58
  }
59
+ case 'teleport': {
60
+ const targetSelector = vnode.props?.to;
61
+ const target = typeof targetSelector === 'string'
62
+ ? document.querySelector(targetSelector)
63
+ : targetSelector;
64
+ if (target && anchor.nodeType === Node.COMMENT_NODE && anchor.textContent === 'teleport') {
65
+ vnode.el = anchor;
66
+ const children = vnode.children ?? [];
67
+ const childNodes = Array.from(target.childNodes);
68
+ for (let i = 0; i < children.length; i++) {
69
+ if (i < childNodes.length) {
70
+ hydrateNode(children[i], target, childNodes[i]);
71
+ }
72
+ }
73
+ return true;
74
+ }
75
+ return false;
76
+ }
77
+ default:
78
+ return false;
59
79
  }
60
80
  }
61
81
  function hydrateComponent(vnode, parent, anchor) {
@@ -71,6 +91,7 @@ function hydrateComponent(vnode, parent, anchor) {
71
91
  return;
72
92
  }
73
93
  const comp = vnode.tag;
94
+ const hmrTrigger = signal(0);
74
95
  const instance = {
75
96
  component: comp,
76
97
  props: vnode.props ?? {},
@@ -85,6 +106,9 @@ function hydrateComponent(vnode, parent, anchor) {
85
106
  beforeUnmount: [],
86
107
  unmounted: [],
87
108
  },
109
+ update: () => {
110
+ hmrTrigger.value++;
111
+ },
88
112
  };
89
113
  vnode.component = instance;
90
114
  setCurrentInstance(instance);
@@ -112,6 +136,7 @@ function hydrateComponent(vnode, parent, anchor) {
112
136
  let oldVNode = null;
113
137
  let isFirstRender = true;
114
138
  effect(() => {
139
+ hmrTrigger.value; // Track HMR signal
115
140
  const newVNode = comp.render(ctx);
116
141
  if (!newVNode)
117
142
  return;
@@ -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 +1 @@
1
- {"version":3,"file":"renderToString.d.ts","sourceRoot":"","sources":["../../src/ssr/renderToString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAA;AAQ1C,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAWnD"}
1
+ {"version":3,"file":"renderToString.d.ts","sourceRoot":"","sources":["../../src/ssr/renderToString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAA;AAQ1C,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAenD"}
@@ -13,6 +13,10 @@ export function renderToString(vnode) {
13
13
  return (vnode.children ?? []).map(renderToString).join('');
14
14
  case 'component':
15
15
  return renderComponentToString(vnode);
16
+ case 'teleport':
17
+ return '<!--teleport-->';
18
+ default:
19
+ return '';
16
20
  }
17
21
  }
18
22
  function renderElement(vnode) {
@@ -87,6 +91,7 @@ function renderComponentToString(vnode) {
87
91
  beforeUnmount: [],
88
92
  unmounted: [],
89
93
  },
94
+ update: () => { },
90
95
  };
91
96
  vnode.component = instance;
92
97
  const setupCtx = {
@@ -1 +1 @@
1
- {"version":3,"file":"renderToString.js","sourceRoot":"","sources":["../../src/ssr/renderToString.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderToString.js","sourceRoot":"","sources":["../../src/ssr/renderToString.ts"],"names":[],"mappings":"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"}
package/dist/vdom/h.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type VNode, Fragment } from './types';
2
- export declare function h(tag: string | Record<string, any> | typeof Fragment, props: Record<string, any> | null, children?: any): VNode;
1
+ import { type VNode, Fragment, Teleport } from './types';
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): VNode;
4
4
  //# sourceMappingURL=h.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"h.d.ts","sourceRoot":"","sources":["../../src/vdom/h.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE9C,wBAAgB,CAAC,CACf,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,QAAQ,EACnD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EACjC,QAAQ,CAAC,EAAE,GAAG,GACb,KAAK,CAwBP;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAWzC"}
1
+ {"version":3,"file":"h.d.ts","sourceRoot":"","sources":["../../src/vdom/h.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGxD,wBAAgB,CAAC,CACf,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,QAAQ,GAAG,OAAO,QAAQ,EACrE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EACjC,QAAQ,CAAC,EAAE,GAAG,GACb,KAAK,CAiCP;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAWzC"}
package/dist/vdom/h.js CHANGED
@@ -1,10 +1,23 @@
1
- import { Fragment } from './types';
1
+ import { Fragment, Teleport } from './types';
2
+ import { Transition } from '../component/Transition';
2
3
  export function h(tag, props, children) {
4
+ // Handle built-in strings
5
+ if (tag === 'Teleport' || tag === 'teleport')
6
+ tag = Teleport;
7
+ if (tag === 'Fragment' || tag === 'fragment')
8
+ tag = Fragment;
9
+ if (tag === 'Transition' || tag === 'transition')
10
+ tag = Transition;
3
11
  const flatChildren = normalizeChildren(children);
4
- if (typeof tag === 'object' || tag === Fragment) {
12
+ if (typeof tag === 'object' || typeof tag === 'function' || tag === Fragment || tag === Teleport) {
13
+ let type = 'component';
14
+ if (tag === Fragment)
15
+ type = 'fragment';
16
+ if (tag === Teleport)
17
+ type = 'teleport';
5
18
  return {
6
- _type: tag === Fragment ? 'fragment' : 'component',
7
- tag: tag === Fragment ? Fragment : tag,
19
+ _type: type,
20
+ tag: tag,
8
21
  props,
9
22
  children: flatChildren,
10
23
  el: null,
@@ -1 +1 @@
1
- {"version":3,"file":"h.js","sourceRoot":"","sources":["../../src/vdom/h.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE9C,MAAM,UAAU,CAAC,CACf,GAAmD,EACnD,KAAiC,EACjC,QAAc;IAEd,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAEhD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO;YACL,KAAK,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW;YAClD,GAAG,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,GAAW;YAC/C,KAAK;YACL,QAAQ,EAAE,YAAY;YACtB,EAAE,EAAE,IAAI;YACR,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,IAAI;YACvB,SAAS,EAAE,IAAI;SAChB,CAAA;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,GAAG;QACH,KAAK;QACL,QAAQ,EAAE,YAAY;QACtB,EAAE,EAAE,IAAI;QACR,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,IAAI;QACvB,SAAS,EAAE,IAAI;KAChB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAY;IAChC,OAAO;QACL,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,IAAI;QACT,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;QACd,EAAE,EAAE,IAAI;QACR,GAAG,EAAE,IAAI;QACT,SAAS,EAAE,IAAI;QACf,IAAI;KACL,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAa;IACtC,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IACjC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAQ;YAChE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAE,CAAC,CAAA;YAC3C,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAClE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACnC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACpB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1C,CAAC;IACD,OAAO,CAAC,QAAQ,CAAC,CAAA;AACnB,CAAC"}
1
+ {"version":3,"file":"h.js","sourceRoot":"","sources":["../../src/vdom/h.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type Component, type ComponentInstance } from './types';
2
+ export declare function registerComponent(id: string, comp: Component): void;
3
+ export declare function registerInstance(instance: ComponentInstance): void;
4
+ export declare function unregisterInstance(instance: ComponentInstance): void;
5
+ export declare function reloadComponent(id: string, newComp: any): void;
6
+ //# sourceMappingURL=hmr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hmr.d.ts","sourceRoot":"","sources":["../../src/vdom/hmr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAKhE,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAEnE;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAUlE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAQpE;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,CAY9D"}
@@ -0,0 +1,38 @@
1
+ const componentInstances = new Map();
2
+ const componentIdMap = new Map();
3
+ export function registerComponent(id, comp) {
4
+ componentIdMap.set(comp, id);
5
+ }
6
+ export function registerInstance(instance) {
7
+ const id = componentIdMap.get(instance.component);
8
+ if (!id)
9
+ return;
10
+ let instances = componentInstances.get(id);
11
+ if (!instances) {
12
+ instances = new Set();
13
+ componentInstances.set(id, instances);
14
+ }
15
+ instances.add(instance);
16
+ }
17
+ export function unregisterInstance(instance) {
18
+ const id = componentIdMap.get(instance.component);
19
+ if (!id)
20
+ return;
21
+ const instances = componentInstances.get(id);
22
+ if (instances) {
23
+ instances.delete(instance);
24
+ }
25
+ }
26
+ export function reloadComponent(id, newComp) {
27
+ const instances = componentInstances.get(id);
28
+ if (!instances)
29
+ return;
30
+ for (const instance of instances) {
31
+ // Update the component definition
32
+ // Note: for SFCs, we mainly care about updating render()
33
+ instance.component.render = newComp.render;
34
+ // Trigger update
35
+ instance.update();
36
+ }
37
+ }
38
+ //# sourceMappingURL=hmr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hmr.js","sourceRoot":"","sources":["../../src/vdom/hmr.ts"],"names":[],"mappings":"AAEA,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkC,CAAA;AACpE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAqB,CAAA;AAEnD,MAAM,UAAU,iBAAiB,CAAC,EAAU,EAAE,IAAe;IAC3D,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAA2B;IAC1D,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IACjD,IAAI,CAAC,EAAE;QAAE,OAAM;IAEf,IAAI,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,IAAI,GAAG,EAAE,CAAA;QACrB,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;IACvC,CAAC;IACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAA2B;IAC5D,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IACjD,IAAI,CAAC,EAAE;QAAE,OAAM;IAEf,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC5C,IAAI,SAAS,EAAE,CAAC;QACd,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC5B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAU,EAAE,OAAY;IACtD,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC5C,IAAI,CAAC,SAAS;QAAE,OAAM;IAEtB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,kCAAkC;QAClC,yDAAyD;QACzD,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAE1C,iBAAiB;QACjB,QAAQ,CAAC,MAAM,EAAE,CAAA;IACnB,CAAC;AACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export { h, hText } from './h';
2
2
  export { diff } from './diff';
3
3
  export { mount, applyPatches } from './patch';
4
- export { Fragment } from './types';
4
+ export { Fragment, Teleport } from './types';
5
5
  export type { VNode, Component, ComponentInstance } from './types';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vdom/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vdom/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC5C,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA"}
@@ -1,5 +1,5 @@
1
1
  export { h, hText } from './h';
2
2
  export { diff } from './diff';
3
3
  export { mount, applyPatches } from './patch';
4
- export { Fragment } from './types';
4
+ export { Fragment, Teleport } from './types';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vdom/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vdom/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { type VNode } from './types';
2
+ export declare function mountComponent(vnode: VNode, parent: Node, anchor?: Node | null): Node | null;
3
+ //# sourceMappingURL=mountComponent.d.ts.map
@@ -0,0 +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;AAUtE,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAE,IAAI,GAAG,IAAW,GAAG,IAAI,GAAG,IAAI,CA+HlG"}
@@ -0,0 +1,124 @@
1
+ import { effect, signal } from 'nexa-reactivity';
2
+ import { Fragment } from './types';
3
+ import { setCurrentInstance, runLifecycle } from '../component/lifecycle';
4
+ import { getCurrentErrorBoundary } from '../component/errorBoundary';
5
+ import { pushScope, popScope } from './scope';
6
+ import { mount, applyPatches } from './patch';
7
+ import { diff } from './diff';
8
+ import { registerInstance } from './hmr';
9
+ let currentComponent = null;
10
+ export function mountComponent(vnode, parent, anchor = null) {
11
+ const comp = vnode.tag;
12
+ const prevComponent = currentComponent;
13
+ const hmrTrigger = signal(0);
14
+ const instance = {
15
+ component: comp,
16
+ props: vnode.props ?? {},
17
+ setupState: {},
18
+ vnode: null,
19
+ mounted: false,
20
+ lifecycle: {
21
+ beforeMount: [],
22
+ mounted: [],
23
+ beforeUpdate: [],
24
+ updated: [],
25
+ beforeUnmount: [],
26
+ unmounted: [],
27
+ },
28
+ update: () => {
29
+ hmrTrigger.value++;
30
+ },
31
+ };
32
+ vnode.component = instance;
33
+ currentComponent = instance;
34
+ setCurrentInstance(instance);
35
+ registerInstance(instance);
36
+ pushScope(comp.__scopeId);
37
+ const childSlots = {};
38
+ const children = vnode.children ?? [];
39
+ for (const child of children) {
40
+ const slotName = child.props?.slot || 'default';
41
+ if (!childSlots[slotName])
42
+ childSlots[slotName] = [];
43
+ childSlots[slotName].push(child);
44
+ }
45
+ function buildSlotResult(nodes) {
46
+ if (nodes.length === 0)
47
+ return null;
48
+ if (nodes.length === 1)
49
+ return nodes[0];
50
+ return {
51
+ _type: 'fragment',
52
+ tag: Fragment,
53
+ props: null,
54
+ children: nodes,
55
+ el: null,
56
+ key: null,
57
+ component: null,
58
+ };
59
+ }
60
+ const resolvedSlots = {};
61
+ for (const name of Object.keys(childSlots)) {
62
+ resolvedSlots[name] = (_props) => buildSlotResult(childSlots[name]);
63
+ }
64
+ if (!resolvedSlots.default) {
65
+ resolvedSlots.default = () => null;
66
+ }
67
+ const setupCtx = {
68
+ emit: (event, ...args) => {
69
+ const handler = vnode.props?.[`on${event[0].toUpperCase()}${event.slice(1)}`];
70
+ if (handler)
71
+ handler(...args);
72
+ },
73
+ slots: resolvedSlots,
74
+ };
75
+ let setupState = {};
76
+ if (comp.setup) {
77
+ setupState = comp.setup(vnode.props ?? {}, setupCtx);
78
+ }
79
+ instance.setupState = setupState;
80
+ runLifecycle(instance, 'beforeMount');
81
+ let el = null;
82
+ if (comp.render) {
83
+ const ctx = { ...setupState, props: vnode.props, $slots: setupCtx.slots };
84
+ let oldVNode = null;
85
+ let isFirstRender = true;
86
+ effect(() => {
87
+ hmrTrigger.value; // Track HMR signal
88
+ try {
89
+ const newVNode = comp.render(ctx);
90
+ if (!newVNode)
91
+ return;
92
+ if (isFirstRender) {
93
+ instance.vnode = newVNode;
94
+ el = mount(newVNode, parent, anchor);
95
+ instance.mounted = true;
96
+ isFirstRender = false;
97
+ runLifecycle(instance, 'mounted');
98
+ }
99
+ else {
100
+ runLifecycle(instance, 'beforeUpdate');
101
+ const patches = diff(oldVNode, newVNode, parent);
102
+ applyPatches(patches);
103
+ instance.vnode = newVNode;
104
+ runLifecycle(instance, 'updated');
105
+ }
106
+ oldVNode = newVNode;
107
+ }
108
+ catch (err) {
109
+ const boundary = getCurrentErrorBoundary();
110
+ if (boundary) {
111
+ boundary.handleError(err instanceof Error ? err : new Error(String(err)));
112
+ }
113
+ else {
114
+ throw err;
115
+ }
116
+ }
117
+ });
118
+ }
119
+ popScope(comp.__scopeId);
120
+ currentComponent = prevComponent;
121
+ setCurrentInstance(prevComponent);
122
+ return el;
123
+ }
124
+ //# sourceMappingURL=mountComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mountComponent.js","sourceRoot":"","sources":["../../src/vdom/mountComponent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function mountProps(el: HTMLElement, props: Record<string, any> | null): void;
2
+ //# sourceMappingURL=mountProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mountProps.d.ts","sourceRoot":"","sources":["../../src/vdom/mountProps.ts"],"names":[],"mappings":"AAEA,wBAAgB,UAAU,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAqDnF"}