nexa-runtime 0.1.0 → 0.2.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 (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 +9 -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 @@
1
+ {"version":3,"file":"unmount.d.ts","sourceRoot":"","sources":["../../src/vdom/unmount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAA;AAIpC,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,CAsCxD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAsBzF"}
@@ -0,0 +1,64 @@
1
+ import { runLifecycle } from '../component/lifecycle';
2
+ import { unregisterInstance } from './hmr';
3
+ export function unmount(vnode, parent) {
4
+ if (vnode._type === 'component') {
5
+ runLifecycle(vnode.component, 'beforeUnmount');
6
+ }
7
+ if (vnode.el) {
8
+ if (vnode._type === 'text' || vnode._type === 'element') {
9
+ if (vnode.el.parentNode) {
10
+ vnode.el.parentNode.removeChild(vnode.el);
11
+ }
12
+ }
13
+ }
14
+ const children = vnode.children ?? [];
15
+ if (vnode._type === 'teleport') {
16
+ const targetSelector = vnode.props?.to;
17
+ const target = (typeof targetSelector === 'string'
18
+ ? document.querySelector(targetSelector)
19
+ : targetSelector);
20
+ for (const child of children) {
21
+ unmount(child, target || parent);
22
+ }
23
+ }
24
+ else {
25
+ for (const child of children) {
26
+ unmount(child, parent);
27
+ }
28
+ }
29
+ if (vnode._type === 'component') {
30
+ const instance = vnode.component;
31
+ if (instance.vnode) {
32
+ unmount(instance.vnode, parent);
33
+ }
34
+ unregisterInstance(instance);
35
+ runLifecycle(instance, 'unmounted');
36
+ vnode.component = null;
37
+ }
38
+ }
39
+ export function animateLeave(vnode, _parent, nameOrTrue) {
40
+ const el = vnode.el;
41
+ if (!el) {
42
+ unmount(vnode, _parent);
43
+ return;
44
+ }
45
+ const name = typeof nameOrTrue === 'string' ? nameOrTrue : 'v';
46
+ el.classList.add(`${name}-leave-from`, `${name}-leave-active`);
47
+ let ended = false;
48
+ const onEnd = () => {
49
+ if (ended)
50
+ return;
51
+ ended = true;
52
+ el.classList.remove(`${name}-leave-from`, `${name}-leave-to`, `${name}-leave-active`);
53
+ unmount(vnode, _parent);
54
+ };
55
+ el.addEventListener('animationend', onEnd, { once: true });
56
+ el.addEventListener('transitionend', onEnd, { once: true });
57
+ setTimeout(onEnd, 300);
58
+ requestAnimationFrame(() => {
59
+ el.classList.remove(`${name}-leave-from`);
60
+ if (!ended)
61
+ el.classList.add(`${name}-leave-to`);
62
+ });
63
+ }
64
+ //# sourceMappingURL=unmount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unmount.js","sourceRoot":"","sources":["../../src/vdom/unmount.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nexa-runtime",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -13,7 +13,7 @@
13
13
  }
14
14
  },
15
15
  "dependencies": {
16
- "nexa-reactivity": "0.1.0"
16
+ "nexa-reactivity": "0.2.0"
17
17
  },
18
18
  "files": [
19
19
  "dist"