lithent 1.14.1 → 1.15.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 (45) hide show
  1. package/dist/diff.d.ts +3 -0
  2. package/dist/lithent.mjs +205 -200
  3. package/dist/lithent.mjs.map +1 -1
  4. package/dist/lithent.umd.js +1 -1
  5. package/dist/lithent.umd.js.map +1 -1
  6. package/dist/render.d.ts +1 -1
  7. package/dist/types/index.d.ts +1 -1
  8. package/dist/utils/universalRef.d.ts +1 -1
  9. package/dist/wDom.d.ts +13 -1
  10. package/examples/dist/assets/index-B-8ORC6a.js +2 -0
  11. package/examples/dist/assets/index-B-8ORC6a.js.map +1 -0
  12. package/examples/dist/index.html +1 -1
  13. package/helper/dist/hook/store.d.ts +4 -1
  14. package/helper/dist/lithentHelper.mjs +77 -78
  15. package/helper/dist/lithentHelper.mjs.map +1 -1
  16. package/helper/dist/lithentHelper.umd.js +1 -1
  17. package/helper/dist/lithentHelper.umd.js.map +1 -1
  18. package/helper/src/hook/store.ts +46 -44
  19. package/helper/src/tests/store.tsx +3 -16
  20. package/helper/src/tests/storeObserver.tsx +19 -7
  21. package/package.json +13 -4
  22. package/src/diff.ts +44 -0
  23. package/src/render.ts +78 -51
  24. package/src/types/index.ts +1 -1
  25. package/src/utils/index.ts +1 -0
  26. package/src/utils/redraw.ts +9 -7
  27. package/src/utils/universalRef.ts +9 -2
  28. package/src/wDom.ts +43 -2
  29. package/ssr/dist/helper/index.d.ts +8 -0
  30. package/ssr/dist/hydration.d.ts +5 -0
  31. package/ssr/dist/index.d.ts +8 -0
  32. package/ssr/dist/lithentSsr.mjs +156 -0
  33. package/ssr/dist/lithentSsr.mjs.map +1 -0
  34. package/ssr/dist/lithentSsr.umd.js +2 -0
  35. package/ssr/dist/lithentSsr.umd.js.map +1 -0
  36. package/ssr/dist/renderToString.d.ts +5 -0
  37. package/ssr/dist/tests/tostring.d.ts +2 -0
  38. package/ssr/package.json +37 -0
  39. package/ssr/src/helper/index.ts +55 -0
  40. package/ssr/src/hydration.ts +156 -0
  41. package/ssr/src/index.ts +32 -0
  42. package/ssr/src/renderToString.ts +97 -0
  43. package/ssr/src/tests/tostring.tsx +41 -0
  44. package/examples/dist/assets/index-49a-yvJN.js +0 -2
  45. package/examples/dist/assets/index-49a-yvJN.js.map +0 -1
package/dist/diff.d.ts CHANGED
@@ -1,2 +1,5 @@
1
1
  import { WDom, TagFunctionResolver } from './types';
2
+ /**
3
+ * 원본 가상돔과 리랜더링을 위한 새로운 가상돔 diff 처리의 시작점
4
+ */
2
5
  export declare const makeNewWDomTree: (newWDom: WDom | TagFunctionResolver, originalWDom?: WDom) => WDom;
package/dist/lithent.mjs CHANGED
@@ -1,32 +1,32 @@
1
- const R = (e) => typeof e == "object" && !("resolve" in e), N = (e, t) => R(e) && e.type === t, oe = (e, t) => "ctor" in e ? e.ctor === (t == null ? void 0 : t.ctor) : e === (t == null ? void 0 : t.ctor), de = (e, t) => {
1
+ const R = (e) => typeof e == "object" && !("resolve" in e), a = (e, t) => R(e) && e.type === t, pe = (e, t) => "ctor" in e ? e.ctor === (t == null ? void 0 : t.ctor) : e === (t == null ? void 0 : t.ctor), he = (e, t) => {
2
2
  var s, c;
3
3
  return R(e) && (t == null ? void 0 : t.type) === "fragment" && ((s = t == null ? void 0 : t.children) == null ? void 0 : s.length) === ((c = e == null ? void 0 : e.children) == null ? void 0 : c.length);
4
- }, pe = (e, t) => {
4
+ }, ie = (e, t) => {
5
5
  var s, c;
6
6
  return R(e) && (t == null ? void 0 : t.type) === "element" && (t == null ? void 0 : t.tag) === e.tag && ((s = t == null ? void 0 : t.children) == null ? void 0 : s.length) === ((c = e == null ? void 0 : e.children) == null ? void 0 : c.length);
7
- }, J = (e, t) => R(e) && (t == null ? void 0 : t.type) === e.type, he = (e, t) => {
7
+ }, X = (e, t) => R(e) && (t == null ? void 0 : t.type) === e.type, ye = (e, t) => {
8
8
  var s, c;
9
9
  return R(e) && (t == null ? void 0 : t.type) === e.type && (E(o((e.children || [])[0])) && E(o(((t == null ? void 0 : t.children) || [])[0])) || ((s = t == null ? void 0 : t.children) == null ? void 0 : s.length) === ((c = e == null ? void 0 : e.children) == null ? void 0 : c.length));
10
10
  }, o = (e) => {
11
11
  var t, s;
12
12
  return ((t = e == null ? void 0 : e.compProps) == null ? void 0 : t.key) ?? ((s = e == null ? void 0 : e.props) == null ? void 0 : s.key);
13
- }, v = (e) => e && ["fragment", "loop"].includes(e), b = (e) => typeof e == "function" && !V(e) || typeof e == "object" && "resolve" in e, V = (e) => typeof e == "function" && e === H, K = (e) => R(e) && !e.type, E = (e) => e != null, X = (e, t) => e === "style" && typeof t == "object", ie = (e, t) => e === "ref" && typeof t == "object", ye = (e, t) => {
13
+ }, C = (e) => e && ["fragment", "loop"].includes(e), T = (e) => typeof e == "function" && !g(e) || typeof e == "object" && "resolve" in e, g = (e) => typeof e == "function" && e === J, m = (e) => R(e) && !e.type, E = (e) => e != null, Y = (e, t) => e === "style" && typeof t == "object", ve = (e, t) => e === "ref" && typeof t == "object", Ce = (e, t) => {
14
14
  const s = Object.getOwnPropertyDescriptor(
15
15
  e.constructor.prototype,
16
16
  t
17
17
  );
18
18
  return s && s.get && s.set;
19
- }, Ce = (e) => {
19
+ }, Re = (e) => {
20
20
  let t = "et";
21
- return b(e) ? t = "c" : N(e, "fragment") ? t = "f" : N(e, "element") ? t = "e" : N(e, "loop") ? t = "l" : N(e, "text") ? t = "t" : K(e) && (t = "et"), t;
22
- }, ve = {
23
- c: oe,
24
- l: he,
25
- t: J,
26
- e: pe,
27
- f: de,
28
- et: J
29
- }, C = Symbol.for("lithentWDomSymbol"), k = { value: "" }, a = { value: {} }, M = { value: !1 }, f = /* @__PURE__ */ new WeakMap(), Re = (e) => {
21
+ return T(e) ? t = "c" : a(e, "fragment") ? t = "f" : a(e, "element") ? t = "e" : a(e, "loop") ? t = "l" : a(e, "text") ? t = "t" : m(e) && (t = "et"), t;
22
+ }, ke = {
23
+ c: pe,
24
+ l: ye,
25
+ t: X,
26
+ e: ie,
27
+ f: he,
28
+ et: X
29
+ }, v = Symbol.for("lithentWDomSymbol"), k = { value: "" }, S = { value: {} }, O = { value: !1 }, f = /* @__PURE__ */ new WeakMap(), Ee = (e) => {
30
30
  f.set(e, {
31
31
  vd: { value: null },
32
32
  up: () => {
@@ -38,131 +38,131 @@ const R = (e) => typeof e == "object" && !("resolve" in e), N = (e, t) => R(e) &
38
38
  mts: [],
39
39
  umts: []
40
40
  });
41
- }, S = () => a.value, ke = (e, t) => f.get(e)[t], Ee = (e) => a.value = e, Pe = (e) => {
42
- a.value = e, Re(e);
43
- }, h = (e) => e.getParent && e.getParent(), P = Object.entries, g = Object.keys, T = Object.assign, lt = (e) => typeof e == "object" && !Object.getOwnPropertySymbols(e).includes(C), ae = (e) => {
44
- f.get(S()).umts.push(e);
41
+ }, x = () => S.value, Z = (e, t) => f.get(e) ? f.get(e)[t] : null, Pe = (e) => S.value = e, Se = (e) => {
42
+ S.value = e, Ee(e);
43
+ }, i = (e) => e.getParent && e.getParent(), P = Object.entries, w = Object.keys, b = Object.assign, lt = (e) => typeof e == "object" && !Array.isArray(e) && !Object.getOwnPropertySymbols(e).includes(v), xe = (e) => {
44
+ f.get(x()).umts.push(e);
45
45
  }, U = (e) => {
46
46
  const { compKey: t } = e;
47
- t && Se(t), m(e);
48
- }, m = (e) => {
47
+ t && Ne(t), W(e);
48
+ }, W = (e) => {
49
49
  (e.children || []).forEach((t) => {
50
- t.compKey ? U(t) : m(t);
50
+ t.compKey ? U(t) : W(t);
51
51
  });
52
- }, Se = (e) => {
52
+ }, Ne = (e) => {
53
53
  const t = f.get(e);
54
54
  t && (t.umts.forEach((s) => s()), t.umts = [], f.delete(e));
55
55
  };
56
- let j = [];
56
+ let Q = [];
57
57
  const I = () => {
58
- j.forEach((e) => Ne(e)), j = [];
59
- }, xe = (e) => {
60
- e.compKey && j.push(e);
61
- }, ft = (e) => f.get(S()).mts.push(e), Ne = (e) => {
58
+ Q.forEach((e) => Te(e)), Q = [];
59
+ }, ae = (e) => {
60
+ e.compKey && Q.push(e);
61
+ }, ft = (e) => f.get(x()).mts.push(e), Te = (e) => {
62
62
  const { compKey: t } = e;
63
63
  if (t) {
64
- const s = f.get(t), c = s == null ? void 0 : s.mts, n = s == null ? void 0 : s.upS;
65
- a.value = t, n && (n.value = 0), c && (s.mts = [], c.forEach((r) => {
66
- const u = r();
67
- u && ae(u);
64
+ const s = f.get(t), c = s == null ? void 0 : s.mts, r = s == null ? void 0 : s.upS;
65
+ S.value = t, r && (r.value = 0), c && (s.mts = [], c.forEach((n) => {
66
+ const u = n();
67
+ u && xe(u);
68
68
  }));
69
69
  }
70
- }, Y = (e, t = () => []) => {
71
- const s = f.get(S()), { upD: c, upS: n } = s, r = c[n.value];
72
- if (r && Te(r, t())) {
70
+ }, H = (e, t = () => []) => {
71
+ const s = f.get(x()), { upD: c, upS: r } = s, n = c[r.value];
72
+ if (n && Ue(n, t())) {
73
73
  const u = e();
74
74
  u && s.upCB.push(u);
75
75
  }
76
- c[n.value] = t(), n.value += 1;
76
+ c[r.value] = t(), r.value += 1;
77
77
  }, be = (e) => {
78
78
  const { compKey: t } = e;
79
79
  if (t) {
80
- const s = f.get(t), c = s == null ? void 0 : s.upCB, n = s == null ? void 0 : s.upS;
81
- a.value = t, n && (n.value = 0), e.ctor && c && (s.upCB = [], c.forEach((r) => r()));
80
+ const s = f.get(t), c = s == null ? void 0 : s.upCB, r = s == null ? void 0 : s.upS;
81
+ S.value = t, r && (r.value = 0), e.ctor && c && (s.upCB = [], c.forEach((n) => n()));
82
82
  }
83
- }, Te = (e, t) => e.length ? e.some((s, c) => s !== t[c]) : !0, Ue = (e) => e === "className" ? "class" : e, w = (e) => e.replace(/^on(.*)/, (t, s) => s.toLowerCase()), z = () => new DocumentFragment(), Z = (e) => document.createElement(e), ot = (e, t, s) => {
84
- t ?? (t = document.body), e.isRoot = !0, e.wrapElement = t;
85
- const c = L(e);
86
- return s ? (e.afterElement = s, t.insertBefore(c, s)) : t.appendChild(c), I(), () => {
87
- var r;
88
- const n = (r = f.get(e.compProps || {})) == null ? void 0 : r.vd.value;
89
- n && U(n), F(n || e), Fe(n || e);
83
+ }, Ue = (e, t) => e.length ? e.some((s, c) => s !== t[c]) : !0, Fe = (e) => e === "className" ? "class" : e, D = (e) => e.replace(/^on(.*)/, (t, s) => s.toLowerCase()), z = () => new DocumentFragment(), V = (e) => document.createElement(e), ot = (e, t, s, c) => {
84
+ e.isRoot = !0, t ?? (t = document.body), e.wrapElement = t;
85
+ const r = L(e, c);
86
+ return s ? (e.afterElement = s, t.insertBefore(r, s)) : c || (t.tagName === "HTML" ? t.replaceWith(r) : t.appendChild(r)), I(), () => {
87
+ var u;
88
+ const n = (u = f.get(e.compProps || {})) == null ? void 0 : u.vd.value;
89
+ n && U(n), F(n || e), Le(n || e);
90
90
  };
91
- }, W = (e) => {
91
+ }, ee = (e) => {
92
92
  const { needRerender: t } = e;
93
93
  t && t !== "N" && ({
94
94
  A: G,
95
95
  D: $,
96
- R: Oe,
96
+ R: Me,
97
97
  U: B,
98
98
  CNSU: B,
99
- SR: te,
100
- SU: Le
99
+ SR: ce,
100
+ SU: Ae
101
101
  }[t](e), delete e.needRerender, delete e.oldChildren, delete e.oldProps);
102
102
  }, F = (e) => {
103
- e.props && e.el && ne(e.props, e.el), (e.children || []).forEach((t) => {
103
+ e.props && e.el && ue(e.props, e.el), (e.children || []).forEach((t) => {
104
104
  F(t);
105
105
  });
106
- }, Fe = (e) => {
107
- D(e, e.wrapElement);
106
+ }, Le = (e) => {
107
+ te(e, e.wrapElement);
108
108
  }, $ = (e) => {
109
- e.oldProps && e.el && ne(e.oldProps, e.el), D(
109
+ e.oldProps && e.el && ue(e.oldProps, e.el), te(
110
110
  e,
111
- O(h(e))
111
+ A(i(e))
112
112
  );
113
- }, D = (e, t) => {
113
+ }, te = (e, t) => {
114
114
  var s, c;
115
- t && e.el && ([1, 3].includes((s = e.el) == null ? void 0 : s.nodeType) ? t.removeChild(e.el) : ((c = e.el) == null ? void 0 : c.nodeType) === 11 && ee(e, t), delete e.el);
116
- }, ee = (e, t) => {
115
+ t && e.el && ([1, 3].includes((s = e.el) == null ? void 0 : s.nodeType) ? t.removeChild(e.el) : ((c = e.el) == null ? void 0 : c.nodeType) === 11 && se(e), delete e.el);
116
+ }, se = (e, t) => {
117
117
  ((e == null ? void 0 : e.oldChildren) || (e == null ? void 0 : e.children) || []).forEach((s) => {
118
- var n;
119
- const c = (n = s.el) == null ? void 0 : n.nodeType;
120
- c && ([1, 3].includes(c) ? t.removeChild(s == null ? void 0 : s.el) : c === 11 && ee(s, t));
118
+ var r;
119
+ const c = (r = s.el) == null ? void 0 : r.nodeType;
120
+ c && ([1, 3].includes(c) ? s.el.tagName === "HTML" ? s.el.innerHTML = "" : s.el.remove() : c === 11 && se(s));
121
121
  });
122
- }, te = (e) => {
122
+ }, ce = (e) => {
123
123
  $(e), G(e);
124
- }, Le = (e) => {
125
- if (B(e), h(e).needRerender !== "CNSU") {
126
- const s = se(e);
124
+ }, Ae = (e) => {
125
+ if (B(e), i(e).needRerender !== "CNSU") {
126
+ const s = ne(e);
127
127
  G(e, s);
128
128
  }
129
129
  }, G = (e, t) => {
130
130
  t || (t = L(e));
131
- const s = h(e);
131
+ const s = i(e);
132
132
  if (s.type) {
133
- const c = O(s), r = s.type === "loop" && s.needRerender && s.needRerender !== "CNSU" ? Q(s, h(s)) : Q(e, s);
134
- t && c && (e.tag !== "portal" && (r ? c.insertBefore(t, r) : c.appendChild(t)), I());
133
+ const c = A(s), n = s.type === "loop" && s.needRerender && s.needRerender !== "CNSU" ? j(s, i(s)) : j(e, s);
134
+ t && c && (e.tag !== "portal" && (n ? c.insertBefore(t, n) : c.appendChild(t)), I());
135
135
  }
136
- }, se = (e) => v(e.type) ? ((e == null ? void 0 : e.children) || []).reduce((t, s) => {
137
- const c = se(s);
136
+ }, ne = (e) => C(e.type) ? ((e == null ? void 0 : e.children) || []).reduce((t, s) => {
137
+ const c = ne(s);
138
138
  return c && t.appendChild(c), t;
139
- }, z()) : e.el, Q = (e, t) => {
140
- const s = t.children || [], n = s.indexOf(e) + 1, r = s.slice(n), u = ce(r), l = t.type || "";
139
+ }, z()) : e.el, j = (e, t) => {
140
+ const s = t.children || [], r = s.indexOf(e) + 1, n = s.slice(r), u = re(n), l = t.type || "";
141
141
  if (u)
142
142
  return u;
143
- if (!t.isRoot && v(l))
144
- return Q(t, h(t));
145
- if (t.isRoot && v(l) && t.afterElement)
143
+ if (!t.isRoot && C(l))
144
+ return j(t, i(t));
145
+ if (t.isRoot && C(l) && t.afterElement)
146
146
  return t.afterElement;
147
- }, ce = (e) => e.reduce(
147
+ }, re = (e) => e.reduce(
148
148
  (t, s) => {
149
- const c = s.type, n = s.el, r = c && v(c);
150
- return t || (r ? ce(s.children || []) : n && n.nodeType !== 11 ? n : t);
149
+ const c = s.type, r = s.el, n = c && C(c);
150
+ return t || (n ? re(s.children || []) : r && r.nodeType !== 11 ? r : t);
151
151
  },
152
152
  void 0
153
- ), Oe = (e) => {
154
- const t = h(e), s = e.el;
153
+ ), Me = (e) => {
154
+ const t = i(e), s = e.el;
155
155
  if (t.type && s)
156
156
  if (s.nodeType === 11)
157
- te(e);
157
+ ce(e);
158
158
  else {
159
- const c = O(t), n = L(e);
160
- c && e.tag !== "portal" && c.replaceChild(n, s), I();
159
+ const c = A(t), r = L(e);
160
+ c && e.tag !== "portal" && c.replaceChild(r, s), I();
161
161
  }
162
- }, ne = (e, t) => {
162
+ }, ue = (e, t) => {
163
163
  P(e || {}).forEach(([s, c]) => {
164
164
  s.match(/^on/) && t.removeEventListener(
165
- w(s),
165
+ D(s),
166
166
  c
167
167
  );
168
168
  });
@@ -170,106 +170,111 @@ const I = () => {
170
170
  var s;
171
171
  const t = e.el;
172
172
  if (e.type === "text") {
173
- Ae(e);
173
+ Oe(e);
174
174
  return;
175
175
  }
176
176
  if (t) {
177
- const { oldProps: c, props: n } = e;
178
- re(n, t, c), delete e.oldProps, e.tag === "input" && (t.value = String(((s = e == null ? void 0 : e.props) == null ? void 0 : s.value) || ""));
177
+ const { oldProps: c, props: r } = e;
178
+ le(r, t, c), delete e.oldProps, e.tag === "input" && (t.value = String(((s = e == null ? void 0 : e.props) == null ? void 0 : s.value) || ""));
179
179
  }
180
- (e.children || []).forEach((c) => W(c)), be(e);
181
- }, Ae = (e) => {
180
+ (e.children || []).forEach((c) => ee(c)), be(e);
181
+ }, Oe = (e) => {
182
182
  const t = e.el;
183
183
  t && (t.nodeValue = String(e.text));
184
- }, re = (e, t, s) => {
185
- const c = { ...s };
186
- P(e || {}).forEach(([n, r]) => {
187
- n === "key" || r === c[n] || n === "portal" && typeof r == "object" || (n === "innerHTML" && typeof r == "string" ? t.innerHTML = r : X(n, r) ? Be(
188
- r,
189
- X(n, c.style) ? c.style : {},
184
+ }, le = (e, t, s, c) => {
185
+ const r = { ...s };
186
+ P(e || {}).forEach(([n, u]) => {
187
+ c && n.match(/^on/) ? K(
188
+ t,
189
+ n,
190
+ u,
191
+ r[n]
192
+ ) : (n === "key" || u === r[n] || n === "portal" && typeof u == "object" || (n === "innerHTML" && typeof u == "string" ? t.innerHTML = u : Y(n, u) ? Be(
193
+ u,
194
+ Y(n, r.style) ? r.style : {},
190
195
  t
191
- ) : ie(n, r) ? r.value = t : n.match(/^on/) ? Qe(
196
+ ) : ve(n, u) ? u.value = t : n.match(/^on/) ? K(
192
197
  t,
193
198
  n,
194
- r,
195
- c[n]
196
- ) : n && (n !== "type" && ye(t, n) ? t[n] = r : Me(
197
- Ue(n),
199
+ u,
200
+ r[n]
201
+ ) : n && (n !== "type" && Ce(t, n) ? t[n] = u : Qe(
202
+ Fe(n),
198
203
  t,
199
- r
200
- ))), delete c[n];
201
- }), g(c).forEach(
204
+ u
205
+ ))), delete r[n]);
206
+ }), w(r).forEach(
202
207
  (n) => t.removeAttribute(n)
203
208
  );
204
- }, Me = (e, t, s) => {
209
+ }, Qe = (e, t, s) => {
205
210
  k.value && e !== "xmlns" ? t.setAttributeNS(null, e, s) : t.setAttribute(e, s);
206
- }, L = (e) => {
207
- let t;
208
- const { type: s, tag: c, text: n, props: r, children: u = [] } = e, l = v(s);
209
- return c === "svg" && (k.value = String(r == null ? void 0 : r.xmlns)), l ? t = z() : s === "element" && c ? c === "portal" && (r != null && r.portal) ? t = r.portal : t = k.value ? document.createElementNS(k.value, c) : Z(c) : s === "text" && E(n) ? t = document.createTextNode(String(n)) : t = Z("e"), je(u, t), re(r, t), e.el = t, xe(e), c === "svg" && (k.value = ""), t;
210
- }, je = (e, t) => {
211
- const s = e.reduce(
212
- (c, n) => {
211
+ }, L = (e, t) => {
212
+ let s;
213
+ const { type: c, tag: r, text: n, props: u, children: l = [] } = e, p = C(c);
214
+ return r === "svg" && (k.value = String(u == null ? void 0 : u.xmlns)), t ? s = e.el : (p ? s = z() : c === "element" && r ? r === "portal" && (u != null && u.portal) ? s = u.portal : s = k.value ? document.createElementNS(k.value, r) : V(r) : c === "text" && E(n) ? s = document.createTextNode(String(n)) : s = V("e"), e.el = s), je(l, s, t), le(u, s, null, t), ae(e), r === "svg" && (k.value = ""), s;
215
+ }, je = (e, t, s) => {
216
+ const c = e.reduce(
217
+ (r, n) => {
213
218
  if (n.type) {
214
- const r = L(n);
215
- n.tag !== "portal" && c.appendChild(r);
219
+ const u = L(n, s);
220
+ n.tag !== "portal" && !s && r.appendChild(u);
216
221
  }
217
- return c;
222
+ return r;
218
223
  },
219
224
  z()
220
225
  );
221
- t && s.hasChildNodes() && t.appendChild(s);
222
- }, Qe = (e, t, s, c) => {
223
- const n = w(t);
224
- c !== s && (c && e.removeEventListener(n, c), s && e.addEventListener(n, s));
226
+ !s && t && c.hasChildNodes() && t.appendChild(c);
227
+ }, K = (e, t, s, c) => {
228
+ const r = D(t);
229
+ c !== s && (c && e.removeEventListener(r, c), s && e.addEventListener(r, s));
225
230
  }, Be = (e, t, s) => {
226
- const c = { ...t }, n = s == null ? void 0 : s.style;
227
- n && (P(e).forEach(([r, u]) => {
228
- n[r] = u, delete c[r];
231
+ const c = { ...t }, r = s == null ? void 0 : s.style;
232
+ r && (P(e).forEach(([n, u]) => {
233
+ r[n] = u, delete c[n];
229
234
  }), P(c).forEach(
230
- ([r]) => n[r] = ""
235
+ ([n]) => r[n] = ""
231
236
  ));
232
- }, O = (e) => {
233
- const t = v(e.type);
234
- return e.isRoot && t ? e.wrapElement : t ? O(h(e)) : e.el;
235
- }, A = (e, t) => qe(
237
+ }, A = (e) => {
238
+ const t = C(e.type);
239
+ return e.isRoot && t ? e.wrapElement : t ? A(i(e)) : e.el;
240
+ }, M = (e, t) => qe(
236
241
  e,
237
- ve[Ce(e)](e, t),
242
+ ke[Re(e)](e, t),
238
243
  t
239
244
  ), qe = (e, t, s) => {
240
- const c = Je(e, t, s), n = [
245
+ const c = Xe(e, t, s), r = [
241
246
  c,
242
247
  t,
243
248
  s
244
- ], r = Ie(...n), u = r === "N";
245
- return u || (c.children = Xe(...n)), c.needRerender = r, _e(c, s, r), !u && s && (s.isLegacy = !0, delete s.children), c;
249
+ ], n = Ie(...r), u = n === "N";
250
+ return u || (c.children = Ye(...r)), c.needRerender = n, _e(c, s, n), !u && s && (s.isLegacy = !0, delete s.children), c;
246
251
  }, _e = (e, t, s) => {
247
252
  s !== "A" && t && (e.el = t.el), s && ["D", "R", "SR"].includes(s) && (t && (U(t), F(t)), e.oldChildren = t == null ? void 0 : t.children), e.oldProps = t == null ? void 0 : t.props;
248
253
  }, Ie = (e, t, s) => {
249
- const c = s && s.type, n = K(e), r = e.isRoot, u = s && h(s), l = !r && (u == null ? void 0 : u.type), i = o(e), p = l === "loop" && E(i), y = e.type === "text" && t && e.text === (s == null ? void 0 : s.text), x = e === s;
254
+ const c = s && s.type, r = m(e), n = e.isRoot, u = s && i(s), l = !n && (u == null ? void 0 : u.type), p = o(e), h = l === "loop" && E(p), y = e.type === "text" && t && e.text === (s == null ? void 0 : s.text), N = e === s;
250
255
  let d;
251
- return n ? d = "D" : y || x ? d = "N" : c ? t ? d = p ? "SU" : "U" : d = p ? "SR" : "R" : d = "A", e.type === "loop" && d === "U" && s && ze(e, s) && (d = "CNSU"), d;
256
+ return r ? d = "D" : y || N ? d = "N" : c ? t ? d = h ? "SU" : "U" : d = h ? "SR" : "R" : d = "A", e.type === "loop" && d === "U" && s && ze(e, s) && (d = "CNSU"), d;
252
257
  }, ze = (e, t) => {
253
258
  const s = [...(t == null ? void 0 : t.children) || []], c = [...(e == null ? void 0 : e.children) || []].filter(
254
259
  (u) => s.find((l) => o(u) === o(l))
255
- ), n = s.filter(
260
+ ), r = s.filter(
256
261
  (u) => c.find((l) => o(u) === o(l))
257
262
  );
258
- let r = n.length === c.length;
259
- return r && (r = n.every(
263
+ let n = r.length === c.length;
264
+ return n && (n = r.every(
260
265
  (u, l) => o(u) === o(c[l])
261
- )), r;
266
+ )), n;
262
267
  }, $e = (e, t) => {
263
- e && t !== e && (g(e).forEach((s) => delete e[s]), P(t || {}).forEach(([s, c]) => e[s] = c));
268
+ e && t !== e && (w(e).forEach((s) => delete e[s]), P(t || {}).forEach(([s, c]) => e[s] = c));
264
269
  }, Ge = (e, t) => {
265
270
  e && t !== e && (e.splice(0, e.length), t && t.forEach((s) => e.push(s)));
266
- }, He = (e, t) => {
267
- const { compProps: s, compChild: c } = e, { props: n, children: r } = t;
268
- return s && $e(s, n), c && Ge(c, r), e.reRender && e.reRender();
269
- }, Je = (e, t, s) => b(e) ? t && s ? He(s, e) : e.resolve() : e, Xe = (e, t, s) => t && s ? Ze(e, s) : Ye(e), Ye = (e) => (e.children || []).map(
270
- (t) => T(A(t), { getParent: () => e })
271
- ), Ze = (e, t) => e.type === "loop" && E(o((e.children || [])[0])) ? Ve(e, t) : (e.children || []).map(
272
- (s, c) => T(A(s, (t.children || [])[c]), {
271
+ }, Je = (e, t) => {
272
+ const { compProps: s, compChild: c } = e, { props: r, children: n } = t;
273
+ return s && $e(s, r), c && Ge(c, n), e.reRender && e.reRender();
274
+ }, Xe = (e, t, s) => T(e) ? t && s ? Je(s, e) : e.resolve() : e, Ye = (e, t, s) => t && s ? He(e, s) : Ze(e), Ze = (e) => (e.children || []).map(
275
+ (t) => b(M(t), { getParent: () => e })
276
+ ), He = (e, t) => e.type === "loop" && E(o((e.children || [])[0])) ? Ve(e, t) : (e.children || []).map(
277
+ (s, c) => b(M(s, (t.children || [])[c]), {
273
278
  getParent: () => e
274
279
  })
275
280
  ), Ve = (e, t) => {
@@ -277,13 +282,13 @@ const I = () => {
277
282
  e,
278
283
  t
279
284
  );
280
- return c.forEach((n) => {
281
- U(n), F(n), $(n);
285
+ return c.forEach((r) => {
286
+ U(r), F(r), $(r);
282
287
  }), s;
283
288
  }, Ke = (e, t) => {
284
289
  const s = [...e.children || []], c = [...t.children || []];
285
- return [s.map((r) => {
286
- const u = ge(r, c), l = A(r, u);
290
+ return [s.map((n) => {
291
+ const u = ge(n, c), l = M(n, u);
287
292
  return u && c.splice(c.indexOf(u), 1), l.getParent = () => e, l;
288
293
  }), c];
289
294
  }, ge = (e, t) => t.find(
@@ -291,9 +296,9 @@ const I = () => {
291
296
  ), q = /* @__PURE__ */ new Map();
292
297
  let _ = !1;
293
298
  const me = (e, t) => {
294
- f.get(e).up = () => {
299
+ f.get(e) && (f.get(e).up = () => {
295
300
  q.set(e, t), _ || (_ = !0, queueMicrotask(We));
296
- };
301
+ });
297
302
  }, we = (e) => () => {
298
303
  var c;
299
304
  const t = (c = f.get(e)) == null ? void 0 : c.up;
@@ -304,105 +309,105 @@ const me = (e, t) => {
304
309
  e();
305
310
  }), q.clear(), _ = !1;
306
311
  }, dt = (e, t = () => []) => {
307
- f.get(S()).upR.push(() => Y(e, t)), Y(e, t);
312
+ f.get(x()).upR.push(() => H(e, t)), H(e, t);
308
313
  }, De = () => {
309
314
  var t;
310
- const e = (t = f.get(S())) == null ? void 0 : t.upR;
315
+ const e = (t = f.get(x())) == null ? void 0 : t.upR;
311
316
  e != null && e.length && e.forEach((s) => s());
312
- }, H = (e, ...t) => ({
317
+ }, J = (e, ...t) => ({
313
318
  type: "fragment",
314
- [C]: !0,
319
+ [v]: !0,
315
320
  children: t
316
321
  }), et = (e, t, ...s) => {
317
- const c = { value: void 0 }, n = t || {}, r = fe(c, s), u = rt(e, n, r);
318
- return b(u) || (c.value = u), u;
322
+ const c = { value: void 0 }, r = t || {}, n = de(c, s), u = rt(e, r, n);
323
+ return T(u) || (c.value = u), u;
319
324
  }, pt = (e, t) => et("portal", { portal: t }, e), ht = (e) => (t, s) => e, tt = (e, t, s, c) => {
320
325
  var y;
321
326
  if (c.isLegacy)
322
327
  return;
323
- M.value = !0;
324
- const n = ue(e, t, s), r = A(n, c), { isRoot: u, getParent: l, wrapElement: i, afterElement: p } = c;
325
- if (r.getParent = l, !u && l) {
326
- const x = ((y = l()) == null ? void 0 : y.children) || [], d = x.indexOf(c);
327
- x.splice(d, 1, r);
328
+ O.value = !0;
329
+ const r = fe(e, t, s), n = M(r, c), { isRoot: u, getParent: l, wrapElement: p, afterElement: h } = c;
330
+ if (n.getParent = l, !u && l) {
331
+ const N = ((y = l()) == null ? void 0 : y.children) || [], d = N.indexOf(c);
332
+ N.splice(d, 1, n);
328
333
  } else
329
- r.isRoot = !0, r.wrapElement = i, r.afterElement = p;
330
- M.value = !1, W(r);
331
- }, ue = (e, t, s) => ({ tagName: e.name, ctor: e, props: t, children: s, resolve: (u = t) => {
332
- Pe(u);
333
- const i = e(t, s)(we(u), t, s);
334
+ n.isRoot = !0, n.wrapElement = p, n.afterElement = h;
335
+ O.value = !1, ee(n);
336
+ }, fe = (e, t, s) => ({ tagName: e.name, ctor: e, props: t, children: s, resolve: (u = t) => {
337
+ Se(u);
338
+ const p = e(t, s)(we(u), t, s);
334
339
  return st(
335
- i,
340
+ p,
336
341
  u,
337
342
  e,
338
343
  t,
339
344
  s
340
345
  );
341
- } }), st = (e, t, s, c, n) => {
342
- let r = e, u = e(c);
343
- u.reRender && (r = (i) => {
344
- const p = e(i), y = H({}, p);
345
- return p.getParent = () => y, y;
346
- }, u = r(c));
346
+ } }), st = (e, t, s, c, r) => {
347
+ let n = e, u = e(c);
348
+ u.reRender && (n = (p) => {
349
+ const h = e(p), y = J({}, h);
350
+ return h.getParent = () => y, y;
351
+ }, u = n(c));
347
352
  const l = ct(
348
- r,
353
+ n,
349
354
  t,
350
355
  s,
351
356
  c,
352
- n
357
+ r
353
358
  );
354
- return le(u, t, s, c, n, l), u;
355
- }, ct = (e, t, s, c, n) => {
356
- const r = () => nt(e, t, s, c, n, r);
357
- return r;
358
- }, nt = (e, t, s, c, n, r) => {
359
- Ee(t), De();
359
+ return oe(u, t, s, c, r, l), u;
360
+ }, ct = (e, t, s, c, r) => {
361
+ const n = () => nt(e, t, s, c, r, n);
362
+ return n;
363
+ }, nt = (e, t, s, c, r, n) => {
364
+ Pe(t), De();
360
365
  const u = e(c);
361
- return le(u, t, s, c, n, r), u;
362
- }, le = (e, t, s, c, n, r) => {
363
- T(e, {
366
+ return oe(u, t, s, c, r, n), u;
367
+ }, oe = (e, t, s, c, r, n) => {
368
+ b(e, {
364
369
  compProps: c,
365
- compChild: n,
370
+ compChild: r,
366
371
  ctor: s,
367
372
  tagName: s.name,
368
373
  compKey: t,
369
- reRender: r
374
+ reRender: n
370
375
  }), me(
371
376
  t,
372
- () => tt(s, c, n, e)
373
- ), ke(t, "vd").value = e;
377
+ () => tt(s, c, r, e)
378
+ ), Z(t, "vd") && (Z(t, "vd").value = e);
374
379
  }, rt = (e, t, s) => {
375
- if (V(e))
376
- return H(t, ...s);
377
- if (b(e)) {
378
- const c = ue(e, t, s);
379
- return M.value ? c : c.resolve();
380
+ if (g(e))
381
+ return J(t, ...s);
382
+ if (T(e)) {
383
+ const c = fe(e, t, s);
384
+ return O.value ? c : c.resolve();
380
385
  }
381
386
  return {
382
387
  type: "element",
383
- [C]: !0,
388
+ [v]: !0,
384
389
  tag: e,
385
390
  props: t,
386
391
  children: s
387
392
  };
388
- }, fe = (e, t) => t.map(
389
- (s) => T(ut(s), { getParent: () => e.value })
393
+ }, de = (e, t) => t.map(
394
+ (s) => b(ut(s), { getParent: () => e.value })
390
395
  ), ut = (e) => {
391
396
  if (e == null || e === !1)
392
- return { type: null, [C]: !0 };
397
+ return { type: null, [v]: !0 };
393
398
  if (Array.isArray(e)) {
394
- const t = { value: void 0 }, s = fe(t, e), c = {
399
+ const t = { value: void 0 }, s = de(t, e), c = {
395
400
  type: "loop",
396
- [C]: !0,
401
+ [v]: !0,
397
402
  children: s
398
403
  };
399
404
  return t.value = c, c;
400
405
  } else if (typeof e == "string" || typeof e == "number")
401
- return { type: "text", [C]: !0, text: e };
406
+ return { type: "text", [v]: !0, text: e };
402
407
  return e;
403
408
  }, it = (e) => ({ value: e }), yt = () => Promise.resolve();
404
409
  export {
405
- H as Fragment,
410
+ J as Fragment,
406
411
  et as h,
407
412
  lt as isPropType,
408
413
  ht as mount,