ddd-react 1.3.11 → 1.5.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.
@@ -23,7 +23,7 @@ export declare abstract class Component<P = {}, S = ComponentState, ContextValue
23
23
  notify(): void;
24
24
  onMount(): void | Promise<void>;
25
25
  onUnmount(): void | Promise<void>;
26
- onUpdate(): void | Promise<void>;
26
+ onUpdate(prevProps: P, prevState: S): void | Promise<void>;
27
27
  onWillUnmount(): void | Promise<void>;
28
28
  abstract render(): VDOMNode;
29
29
  get elements(): HTMLElement[];
package/dist/index.mjs CHANGED
@@ -1,157 +1,157 @@
1
- import { D as c, e as v, a as U, A as g, b as q, h as I, c as $ } from "./h-BbaMkkC7.mjs";
2
- import { d as me, f as Oe } from "./h-BbaMkkC7.mjs";
3
- function E(t, e) {
4
- if (t === null || e === null || t === void 0 || e === void 0)
5
- return t === e;
6
- if (typeof t != typeof e)
1
+ import { D as c, e as v, a as x, A as y, b as F, h as U, c as I } from "./h-BbaMkkC7.mjs";
2
+ import { d as Ot, f as mt } from "./h-BbaMkkC7.mjs";
3
+ function g(e, t) {
4
+ if (e === null || t === null || e === void 0 || t === void 0)
5
+ return e === t;
6
+ if (typeof e != typeof t)
7
7
  return !1;
8
- if (Object.is(t, e))
8
+ if (Object.is(e, t))
9
9
  return !0;
10
- if (typeof t == "object") {
11
- if (t.constructor !== e.constructor)
10
+ if (typeof e == "object") {
11
+ if (e.constructor !== t.constructor)
12
12
  return !1;
13
- if (Array.isArray(t)) {
14
- if (t.length !== e.length)
13
+ if (Array.isArray(e)) {
14
+ if (e.length !== t.length)
15
15
  return !1;
16
- for (let r = 0; r < t.length; ++r)
17
- if (!E(t[r], e[r]))
16
+ for (let r = 0; r < e.length; ++r)
17
+ if (!g(e[r], t[r]))
18
18
  return !1;
19
19
  return !0;
20
20
  }
21
- if (t.constructor === RegExp)
22
- return t.source === e.source && t.flags === e.flags;
23
- if (t.valueOf !== Object.prototype.valueOf)
24
- return t.valueOf() === e.valueOf();
25
- if (t.toString !== Object.prototype.toString)
26
- return t.toString() === e.toString();
27
- const n = Object.keys(t);
28
- if (n.length !== Object.keys(e).length)
21
+ if (e.constructor === RegExp)
22
+ return e.source === t.source && e.flags === t.flags;
23
+ if (e.valueOf !== Object.prototype.valueOf)
24
+ return e.valueOf() === t.valueOf();
25
+ if (e.toString !== Object.prototype.toString)
26
+ return e.toString() === t.toString();
27
+ const n = Object.keys(e);
28
+ if (n.length !== Object.keys(t).length)
29
29
  return !1;
30
30
  for (let r = 0; r < n.length; ++r)
31
- if (!Object.prototype.hasOwnProperty.call(e, n[r]))
31
+ if (!Object.prototype.hasOwnProperty.call(t, n[r]))
32
32
  return !1;
33
33
  for (let r = 0; r < n.length; ++r) {
34
34
  const s = n[r];
35
- if (!(s === "_owner" && t.$$typeof) && !E(t[s], e[s]))
35
+ if (!(s === "_owner" && e.$$typeof) && !g(e[s], t[s]))
36
36
  return !1;
37
37
  }
38
38
  return !0;
39
39
  }
40
40
  return !1;
41
41
  }
42
- function w(t, e, n, r = null) {
42
+ function S(e, t, n, r = null) {
43
43
  function s(o) {
44
44
  const i = o;
45
- r ? e.call(r, i) : e(i);
45
+ r ? t.call(r, i) : t(i);
46
46
  }
47
- return n.addEventListener(t, s), s;
47
+ return n.addEventListener(e, s), s;
48
48
  }
49
- function G(t = {}, e, n = null) {
49
+ function $(e = {}, t, n = null) {
50
50
  const r = {};
51
- return Object.entries(t).forEach(([s, o]) => {
52
- r[s] = w(
51
+ return Object.entries(e).forEach(([s, o]) => {
52
+ r[s] = S(
53
53
  s,
54
54
  o,
55
- e,
55
+ t,
56
56
  n
57
57
  );
58
58
  }), r;
59
59
  }
60
- function W(t = {}, e) {
61
- Object.entries(t).forEach(([n, r]) => {
62
- e.removeEventListener(n, r);
60
+ function q(e = {}, t) {
61
+ Object.entries(e).forEach(([n, r]) => {
62
+ t.removeEventListener(n, r);
63
63
  });
64
64
  }
65
- function p(t) {
66
- const { type: e } = t;
67
- switch (e) {
65
+ function p(e) {
66
+ const { type: t } = e;
67
+ switch (t) {
68
68
  case c.TEXT: {
69
- B(t);
69
+ G(e);
70
70
  break;
71
71
  }
72
72
  case c.ELEMENT: {
73
- X(t);
73
+ W(e);
74
74
  break;
75
75
  }
76
76
  case c.FRAGMENT: {
77
- _(t);
77
+ B(e);
78
78
  break;
79
79
  }
80
80
  case c.COMPONENT: {
81
- t.component?.unmount();
81
+ e.component?.unmount();
82
82
  break;
83
83
  }
84
84
  case c.PORTAL: {
85
- J(t);
85
+ X(e);
86
86
  break;
87
87
  }
88
88
  default:
89
- throw new Error(`Can't destroy DOM of type: ${e}`);
89
+ throw new Error(`Can't destroy DOM of type: ${t}`);
90
90
  }
91
- delete t.el;
91
+ delete e.el;
92
92
  }
93
- function B(t) {
94
- const { el: e } = t;
95
- e && e.remove();
93
+ function G(e) {
94
+ const { el: t } = e;
95
+ t && t.remove();
96
96
  }
97
- function X(t) {
98
- const { el: e, children: n, listeners: r, props: s } = t;
99
- s?.ref && typeof s.ref == "object" && "current" in s.ref && (s.ref.current = null), e && e.remove(), n && n.forEach(p), r && e && (W(r, e), delete t.listeners);
97
+ function W(e) {
98
+ const { el: t, children: n, listeners: r, props: s } = e;
99
+ s?.ref && typeof s.ref == "object" && "current" in s.ref && (s.ref.current = null), t && t.remove(), n && n.forEach(p), r && t && (q(r, t), delete e.listeners);
100
100
  }
101
- function _(t) {
102
- const { children: e } = t;
103
- e && e.forEach(p);
101
+ function B(e) {
102
+ const { children: t } = e;
103
+ t && t.forEach(p);
104
104
  }
105
- function J(t) {
106
- const { children: e } = t;
107
- e && e.forEach(p);
105
+ function X(e) {
106
+ const { children: t } = e;
107
+ t && t.forEach(p);
108
108
  }
109
- function L(t, e, n) {
110
- t.style[e] = n.toString();
109
+ function C(e, t, n) {
110
+ e.style[t] = n.toString();
111
111
  }
112
- function K(t, e) {
113
- t.style[e] = null;
112
+ function _(e, t) {
113
+ e.style[t] = null;
114
114
  }
115
- function Y(t, e) {
116
- const { class: n, style: r, ...s } = e;
117
- n && H(t, n), r && Object.entries(r).forEach(([o, i]) => {
118
- L(t, o, i);
115
+ function J(e, t) {
116
+ const { class: n, style: r, ...s } = t;
117
+ n && K(e, n), r && Object.entries(r).forEach(([o, i]) => {
118
+ C(e, o, i);
119
119
  });
120
120
  for (const [o, i] of Object.entries(s))
121
- j(t, o, i);
121
+ L(e, o, i);
122
122
  }
123
- function H(t, e) {
124
- if (t instanceof SVGElement) {
125
- t.removeAttribute("class"), typeof e == "string" ? t.setAttribute("class", e) : Array.isArray(e) && t.classList.add(...e);
123
+ function K(e, t) {
124
+ if (e instanceof SVGElement) {
125
+ e.removeAttribute("class"), typeof t == "string" ? e.setAttribute("class", t) : Array.isArray(t) && e.classList.add(...t);
126
126
  return;
127
127
  }
128
- t.className = "", typeof e == "string" ? t.className = e : Array.isArray(e) && t.classList.add(...e);
128
+ e.className = "", typeof t == "string" ? e.className = t : Array.isArray(t) && e.classList.add(...t);
129
129
  }
130
- function j(t, e, n) {
131
- n == null ? x(t, e) : t.setAttribute(e, String(n));
130
+ function L(e, t, n) {
131
+ n == null ? w(e, t) : e.setAttribute(t, String(n));
132
132
  }
133
- function x(t, e) {
134
- t[e] = null, t.removeAttribute(e);
133
+ function w(e, t) {
134
+ e[t] = null, e.removeAttribute(t);
135
135
  }
136
136
  let P = !1;
137
- const m = [];
138
- function y(t) {
139
- m.push(t), z();
137
+ const O = [];
138
+ function E(e) {
139
+ O.push(e), Y();
140
140
  }
141
- function z() {
142
- P || (P = !0, queueMicrotask(Q));
141
+ function Y() {
142
+ P || (P = !0, queueMicrotask(H));
143
143
  }
144
- function Q() {
145
- for (; m.length > 0; ) {
146
- const t = m.shift();
147
- let e;
144
+ function H() {
145
+ for (; O.length > 0; ) {
146
+ const e = O.shift();
147
+ let t;
148
148
  try {
149
- e = t();
149
+ t = e();
150
150
  } catch (n) {
151
151
  console.error(`[scheduler]: ${n}`);
152
152
  continue;
153
153
  }
154
- Promise.resolve(e).then(
154
+ Promise.resolve(t).then(
155
155
  () => {
156
156
  },
157
157
  (n) => {
@@ -161,166 +161,166 @@ function Q() {
161
161
  }
162
162
  P = !1;
163
163
  }
164
- function A(t) {
165
- const { on: e = {}, ...n } = t.props;
166
- return delete n.key, { props: n, events: e };
164
+ function A(e) {
165
+ const { on: t = {}, ...n } = e.props;
166
+ return delete n.key, { props: n, events: t };
167
167
  }
168
- function h(t, e, n = null, r = null) {
169
- switch (t.type) {
168
+ function h(e, t, n = null, r = null) {
169
+ switch (e.type) {
170
170
  case c.TEXT: {
171
- Z(t, e, n);
171
+ z(e, t, n);
172
172
  break;
173
173
  }
174
174
  case c.ELEMENT: {
175
- ee(t, e, n, r);
175
+ Z(e, t, n, r);
176
176
  break;
177
177
  }
178
178
  case c.FRAGMENT: {
179
- V(t, e, n, r);
179
+ Q(e, t, n, r);
180
180
  break;
181
181
  }
182
182
  case c.COMPONENT: {
183
- ne(t, e, n, r);
184
- const s = t.component;
185
- s && y(() => s.onMount());
183
+ tt(e, t, n, r);
184
+ const s = e.component;
185
+ s && E(() => s.onMount());
186
186
  break;
187
187
  }
188
188
  case c.PORTAL: {
189
- re(t, r);
189
+ et(e, r);
190
190
  break;
191
191
  }
192
192
  default:
193
- throw new Error(`Can't mount DOM of type: ${t.type}`);
193
+ throw new Error(`Can't mount DOM of type: ${e.type}`);
194
194
  }
195
195
  }
196
- function Z(t, e, n) {
197
- const { value: r } = t, s = document.createTextNode(r);
198
- t.el = s, D(s, e, n);
196
+ function z(e, t, n) {
197
+ const { value: r } = e, s = document.createTextNode(r);
198
+ e.el = s, j(s, t, n);
199
199
  }
200
- function V(t, e, n, r) {
201
- const { children: s } = t;
202
- t.el = e, s?.forEach((o, i) => {
203
- h(o, e, n != null ? n + i : null, r);
200
+ function Q(e, t, n, r) {
201
+ const { children: s } = e;
202
+ e.el = t, s?.forEach((o, i) => {
203
+ h(o, t, n != null ? n + i : null, r);
204
204
  });
205
205
  }
206
- function ee(t, e, n, r) {
207
- const { tag: s, children: o } = t, u = s === "svg" || e instanceof SVGElement ? document.createElementNS("http://www.w3.org/2000/svg", s) : document.createElement(s);
208
- te(u, t, r), t.el = u, o?.forEach((f) => {
209
- h(f, u, null, r);
210
- }), D(u, e, n);
206
+ function Z(e, t, n, r) {
207
+ const { tag: s, children: o } = e, f = s === "svg" || t instanceof SVGElement ? document.createElementNS("http://www.w3.org/2000/svg", s) : document.createElement(s);
208
+ V(f, e, r), e.el = f, o?.forEach((l) => {
209
+ h(l, f, null, r);
210
+ }), j(f, t, n);
211
211
  }
212
- function te(t, e, n) {
213
- const { props: r, events: s } = A(e);
214
- r.ref && typeof r.ref == "object" && "current" in r.ref && (r.ref.current = t, delete r.ref), e.listeners = G(s, t, n), Y(t, r);
212
+ function V(e, t, n) {
213
+ const { props: r, events: s } = A(t);
214
+ r.ref && typeof r.ref == "object" && "current" in r.ref && (r.ref.current = e, delete r.ref), t.listeners = $(s, e, n), J(e, r);
215
215
  }
216
- function ne(t, e, n, r) {
217
- const s = t.tag, { props: o } = A(t), i = new s(o, r);
218
- i.mount(e, n), t.component = i, t.el = i.firstElement || null;
216
+ function tt(e, t, n, r) {
217
+ const s = e.tag, { props: o } = A(e), i = new s(o, r);
218
+ i.mount(t, n), e.component = i, e.el = i.firstElement || null;
219
219
  }
220
- function D(t, e, n) {
220
+ function j(e, t, n) {
221
221
  if (n == null) {
222
- e.append(t);
222
+ t.append(e);
223
223
  return;
224
224
  }
225
225
  if (n < 0)
226
226
  throw new Error(`Index must be a positive integer, got ${n}`);
227
- const r = e.childNodes;
228
- n >= r.length ? e.append(t) : e.insertBefore(t, r[n]);
227
+ const r = t.childNodes;
228
+ n >= r.length ? t.append(e) : t.insertBefore(e, r[n]);
229
229
  }
230
- function re(t, e) {
231
- const { children: n, container: r } = t;
230
+ function et(e, t) {
231
+ const { children: n, container: r } = e;
232
232
  n?.forEach((s) => {
233
- h(s, r, null, e);
233
+ h(s, r, null, t);
234
234
  });
235
235
  }
236
- function R(t, e) {
237
- if (t.type !== e.type)
236
+ function D(e, t) {
237
+ if (e.type !== t.type)
238
238
  return !1;
239
- if (t.type === c.ELEMENT) {
240
- const n = t, r = e, {
239
+ if (e.type === c.ELEMENT) {
240
+ const n = e, r = t, {
241
241
  tag: s,
242
242
  props: { key: o }
243
243
  } = n, {
244
244
  tag: i,
245
- props: { key: u }
245
+ props: { key: f }
246
246
  } = r;
247
- return s === i && o === u;
247
+ return s === i && o === f;
248
248
  }
249
- if (t.type === c.COMPONENT) {
250
- const n = t, r = e, { tag: s } = n, { tag: o } = r;
249
+ if (e.type === c.COMPONENT) {
250
+ const n = e, r = t, { tag: s } = n, { tag: o } = r;
251
251
  return s === o;
252
252
  }
253
- if (t.type === c.PORTAL) {
254
- const n = t, r = e;
253
+ if (e.type === c.PORTAL) {
254
+ const n = e, r = t;
255
255
  return n.container === r.container;
256
256
  }
257
257
  return !0;
258
258
  }
259
- function T(t, e) {
260
- const n = Object.keys(t), r = Object.keys(e), s = [], o = [];
259
+ function T(e, t) {
260
+ const n = Object.keys(e), r = Object.keys(t), s = [], o = [];
261
261
  for (const i of r)
262
- i in t ? t[i] !== e[i] && o.push(i) : s.push(i);
262
+ i in e ? e[i] !== t[i] && o.push(i) : s.push(i);
263
263
  return {
264
264
  added: s,
265
- removed: n.filter((i) => !(i in e)),
265
+ removed: n.filter((i) => !(i in t)),
266
266
  updated: o
267
267
  };
268
268
  }
269
- function se(t) {
270
- return t !== "";
269
+ function nt(e) {
270
+ return e !== "";
271
271
  }
272
- function N(t) {
273
- return se(t.trim());
272
+ function N(e) {
273
+ return nt(e.trim());
274
274
  }
275
- function O(t, e, n, r = null) {
276
- if (!R(t, e)) {
277
- const s = oe(n, t.el);
278
- return p(t), h(e, n, s, r), e;
275
+ function m(e, t, n, r = null) {
276
+ if (!D(e, t)) {
277
+ const s = rt(n, e.el);
278
+ return p(e), h(t, n, s, r), t;
279
279
  }
280
- switch (e.el = t.el, e.type) {
280
+ switch (t.el = e.el, t.type) {
281
281
  case c.TEXT:
282
- return ie(t, e), e;
282
+ return st(e, t), t;
283
283
  case c.ELEMENT: {
284
- ce(t, e, r);
284
+ ot(e, t, r);
285
285
  break;
286
286
  }
287
287
  case c.COMPONENT: {
288
- he(t, e);
288
+ lt(e, t);
289
289
  break;
290
290
  }
291
291
  case c.PORTAL: {
292
- pe(t, e, r);
292
+ at(e, t, r);
293
293
  break;
294
294
  }
295
295
  }
296
- return F(t, e, r), e;
296
+ return R(e, t, r), t;
297
297
  }
298
- function oe(t, e) {
299
- if (!e) return null;
300
- const n = Array.from(t.childNodes).indexOf(e);
298
+ function rt(e, t) {
299
+ if (!t) return null;
300
+ const n = Array.from(e.childNodes).indexOf(t);
301
301
  return n < 0 ? null : n;
302
302
  }
303
- function ie(t, e) {
304
- const n = t.el, { value: r } = t, { value: s } = e;
303
+ function st(e, t) {
304
+ const n = e.el, { value: r } = e, { value: s } = t;
305
305
  r !== s && n && (n.nodeValue = s);
306
306
  }
307
- function ce(t, e, n) {
308
- const r = t.el, {
307
+ function ot(e, t, n) {
308
+ const r = e.el, {
309
309
  class: s,
310
310
  style: o,
311
311
  on: i,
312
- ...u
313
- } = t.props ?? {}, {
314
- class: f,
315
- style: l,
312
+ ...f
313
+ } = e.props ?? {}, {
314
+ class: l,
315
+ style: u,
316
316
  on: a,
317
317
  ...d
318
- } = e.props ?? {}, { listeners: b } = t;
319
- le(r, u, d), ue(r, s, f), fe(
318
+ } = t.props ?? {}, { listeners: b } = e;
319
+ it(r, f, d), ct(r, s, l), ut(
320
320
  r,
321
321
  o,
322
- l
323
- ), e.listeners = ae(
322
+ u
323
+ ), t.listeners = ft(
324
324
  r,
325
325
  b,
326
326
  i ?? {},
@@ -328,102 +328,99 @@ function ce(t, e, n) {
328
328
  n
329
329
  );
330
330
  }
331
- function le(t, e = {}, n = {}) {
332
- const r = e.ref, s = n.ref;
333
- r !== s && (r && typeof r == "object" && "current" in r && (r.current = null), s && typeof s == "object" && "current" in s && (s.current = t));
334
- const o = { ...e }, i = { ...n };
331
+ function it(e, t = {}, n = {}) {
332
+ const r = t.ref, s = n.ref;
333
+ r !== s && (r && typeof r == "object" && "current" in r && (r.current = null), s && typeof s == "object" && "current" in s && (s.current = e));
334
+ const o = { ...t }, i = { ...n };
335
335
  delete o.ref, delete i.ref;
336
- const { added: u, removed: f, updated: l } = T(o, i);
337
- for (const a of f)
338
- x(t, a);
339
- for (const a of u.concat(l))
340
- j(t, a, i[a]);
336
+ const { added: f, removed: l, updated: u } = T(o, i);
337
+ for (const a of l)
338
+ w(e, a);
339
+ for (const a of f.concat(u))
340
+ L(e, a, i[a]);
341
341
  }
342
- function ue(t, e, n) {
343
- const r = M(e), s = M(n), { added: o, removed: i } = q(r, s);
344
- i.length > 0 && t.classList.remove(...i), o.length > 0 && t.classList.add(...o);
342
+ function ct(e, t, n) {
343
+ const r = M(t), s = M(n), { added: o, removed: i } = F(r, s);
344
+ i.length > 0 && e.classList.remove(...i), o.length > 0 && e.classList.add(...o);
345
345
  }
346
- function M(t = "") {
347
- return Array.isArray(t) ? t.filter(N) : String(t).split(/(\s+)/).filter(N);
346
+ function M(e = "") {
347
+ return Array.isArray(e) ? e.filter(N) : String(e).split(/(\s+)/).filter(N);
348
348
  }
349
- function fe(t, e = {}, n = {}) {
350
- const { added: r, removed: s, updated: o } = T(e, n);
349
+ function ut(e, t = {}, n = {}) {
350
+ const { added: r, removed: s, updated: o } = T(t, n);
351
351
  for (const i of s)
352
- K(t, i);
352
+ _(e, i);
353
353
  for (const i of r.concat(o))
354
- L(t, i, n[i]);
355
- }
356
- function ae(t, e = {}, n = {}, r = {}, s = null) {
357
- const { removed: o, added: i, updated: u } = T(n, r);
358
- for (const l of o.concat(u)) {
359
- const a = e?.[l];
360
- a && t.removeEventListener(l, a);
361
- }
362
- const f = {};
363
- for (const l of i.concat(u))
364
- f[l] = w(
365
- l,
366
- r[l],
367
- t,
354
+ C(e, i, n[i]);
355
+ }
356
+ function ft(e, t = {}, n = {}, r = {}, s = null) {
357
+ const { removed: o, added: i, updated: f } = T(n, r);
358
+ for (const u of o.concat(f)) {
359
+ const a = t?.[u];
360
+ a && e.removeEventListener(u, a);
361
+ }
362
+ const l = {};
363
+ for (const u of i.concat(f))
364
+ l[u] = S(
365
+ u,
366
+ r[u],
367
+ e,
368
368
  s
369
369
  );
370
- return f;
371
- }
372
- function F(t, e, n) {
373
- const r = v(t), s = v(e), o = t.el, i = U(r, s, R), u = n?.offset ?? 0;
374
- for (const f of i)
375
- if (f.op === g.NOOP) {
376
- const { originalIndex: l, index: a } = f;
377
- O(r[l], s[a], o, n);
370
+ return l;
371
+ }
372
+ function R(e, t, n) {
373
+ const r = v(e), s = v(t), o = e.el, i = x(r, s, D), f = n?.offset ?? 0;
374
+ for (const l of i)
375
+ if (l.op === y.NOOP) {
376
+ const { originalIndex: u, index: a } = l;
377
+ m(r[u], s[a], o, n);
378
378
  }
379
- for (const f of i)
380
- switch (f.op) {
381
- case g.MOVE: {
382
- const { from: l, index: a } = f, d = r[l].el, b = o.childNodes[a + u];
383
- d && (o.insertBefore(d, b), O(r[l], s[a], o, n));
379
+ for (const l of i)
380
+ switch (l.op) {
381
+ case y.MOVE: {
382
+ const { from: u, index: a } = l, d = r[u].el, b = o.childNodes[a + f];
383
+ d && (o.insertBefore(d, b), m(r[u], s[a], o, n));
384
384
  break;
385
385
  }
386
- case g.REMOVE: {
387
- const { item: l } = f;
388
- p(l);
386
+ case y.REMOVE: {
387
+ const { item: u } = l;
388
+ p(u);
389
389
  break;
390
390
  }
391
- case g.ADD: {
392
- const { index: l, item: a } = f;
393
- h(a, o, l + u, n);
391
+ case y.ADD: {
392
+ const { index: u, item: a } = l;
393
+ h(a, o, u + f, n);
394
394
  break;
395
395
  }
396
396
  }
397
397
  }
398
- function he(t, e) {
399
- const { component: n } = t, { props: r } = A(e);
400
- n.updateProps(r), e.component = n, e.el = n.firstElement;
398
+ function lt(e, t) {
399
+ const { component: n } = e, { props: r } = A(t);
400
+ n.updateProps(r), t.component = n, t.el = n.firstElement;
401
401
  }
402
- function pe(t, e, n) {
403
- if (t.container !== e.container) {
404
- p(t), h(e, document.body, null, n);
402
+ function at(e, t, n) {
403
+ if (e.container !== t.container) {
404
+ p(e), h(t, document.body, null, n);
405
405
  return;
406
406
  }
407
- F(t, e, n);
407
+ R(e, t, n);
408
408
  }
409
- const k = (t) => (console.log("isProvider"), console.log("component.constructor.name", t.constructor.name), t.isProvider), C = (t) => (console.log("isConsumer"), console.log("component.constructor.name", t.constructor.name), t.isConsumer);
410
- class S {
411
- constructor(e = {}, n) {
412
- this.isMounted = !1, this.vdom = null, this.hostEl = null, this.parent = null, this.state = {}, this.context = null, this.dependencies = [], this.subscribedProvider = null, this.isProvider = !1, this.isConsumer = !1, this.props = e, this.parent = n;
409
+ const ht = (e) => e.isProvider, pt = (e) => e.isConsumer;
410
+ class k {
411
+ constructor(t = {}, n) {
412
+ this.isMounted = !1, this.vdom = null, this.hostEl = null, this.parent = null, this.state = {}, this.context = null, this.dependencies = [], this.subscribedProvider = null, this.isProvider = !1, this.isConsumer = !1, this.props = t, this.parent = n;
413
413
  }
414
- addDependency({ consumer: e }) {
415
- this.dependencies.some((n) => n.consumer === e) || (this.dependencies.push({ consumer: e }), e.subscribedProvider = this);
414
+ addDependency({ consumer: t }) {
415
+ this.dependencies.some((n) => n.consumer === t) || (this.dependencies.push({ consumer: t }), t.subscribedProvider = this);
416
416
  }
417
- removeDependency({ consumer: e }) {
418
- const n = this.dependencies.findIndex((r) => r.consumer === e);
419
- n !== -1 && (this.dependencies.splice(n, 1), e.subscribedProvider = null);
417
+ removeDependency({ consumer: t }) {
418
+ const n = this.dependencies.findIndex((r) => r.consumer === t);
419
+ n !== -1 && (this.dependencies.splice(n, 1), t.subscribedProvider = null);
420
420
  }
421
421
  notify() {
422
- console.log("notify"), console.log("this.dependencies", this.dependencies), this.dependencies.forEach(({ consumer: e }) => {
423
- if (console.log("consumer", e), console.log("consumer.isMounted", e.isMounted), e.isMounted) {
424
- const n = e.updateContext();
425
- console.log("changed", n), n && (console.log("consumer.patch"), e.patch());
426
- }
422
+ this.dependencies.forEach(({ consumer: t }) => {
423
+ t.isMounted && t.updateContext() && t.patch(t.props, t.state);
427
424
  });
428
425
  }
429
426
  onMount() {
@@ -432,14 +429,14 @@ class S {
432
429
  onUnmount() {
433
430
  return Promise.resolve();
434
431
  }
435
- onUpdate() {
432
+ onUpdate(t, n) {
436
433
  return Promise.resolve();
437
434
  }
438
435
  onWillUnmount() {
439
436
  return Promise.resolve();
440
437
  }
441
438
  get elements() {
442
- return this.vdom == null ? [] : this.vdom.type === c.FRAGMENT ? v(this.vdom).flatMap((e) => e.type === c.COMPONENT && e.component ? e.component.elements : e.el ? [e.el] : []) : this.vdom.el ? [this.vdom.el] : [];
439
+ return this.vdom == null ? [] : this.vdom.type === c.FRAGMENT ? v(this.vdom).flatMap((t) => t.type === c.COMPONENT && t.component ? t.component.elements : t.el ? [t.el] : []) : this.vdom.el ? [this.vdom.el] : [];
443
440
  }
444
441
  get firstElement() {
445
442
  return this.elements[0];
@@ -447,61 +444,55 @@ class S {
447
444
  get offset() {
448
445
  return this.vdom?.type === c.FRAGMENT && this.hostEl && this.firstElement ? Array.from(this.hostEl.children).indexOf(this.firstElement) : 0;
449
446
  }
450
- updateProps(e) {
451
- console.log("updateProps", this);
452
- const n = { ...this.props, ...e }, r = this.props;
447
+ updateProps(t) {
448
+ const n = { ...this.props, ...t }, r = this.props;
453
449
  this.props = n;
454
450
  let s = this.updateContext();
455
- if (console.log("isEqual(oldProps, newProps)", E(r, n)), console.log("isContextUpdated", s), E(r, n) && !s) {
456
- console.log("return");
457
- return;
458
- }
459
- console.log("isProvider(this as Component)", k(this)), k(this) && this.notify(), this.patch();
451
+ g(r, n) && !s || (ht(this) && this.notify(), this.patch(r, this.state));
460
452
  }
461
- setState(e) {
462
- typeof e == "function" ? this.state = {
453
+ setState(t) {
454
+ let n = this.state;
455
+ typeof t == "function" ? this.state = {
463
456
  ...this.state,
464
- ...e(this.state, this.props)
465
- } : this.state = { ...this.state, ...e }, this.patch();
457
+ ...t(this.state, this.props)
458
+ } : this.state = { ...this.state, ...t }, this.patch(this.props, n);
466
459
  }
467
- mount(e, n = null) {
460
+ mount(t, n = null) {
468
461
  if (this.isMounted)
469
462
  throw new Error("Component is already mounted");
470
- console.log("this", this), console.log("isConsumer(this as Component)", C(this)), C(this) && !this.subscribedProvider && (console.log(" this.subscribeToProvider()"), this.subscribeToProvider()), this.updateContext(), this.vdom = this.render(), h(this.vdom, e, n, this), this.hostEl = e, this.isMounted = !0;
463
+ pt(this) && !this.subscribedProvider && this.subscribeToProvider(), this.updateContext(), this.vdom = this.render(), h(this.vdom, t, n, this), this.hostEl = t, this.isMounted = !0;
471
464
  }
472
465
  unmount() {
473
- this.isMounted && (y(() => this.onWillUnmount()), this.subscribedProvider && this.subscribedProvider.removeDependency({ consumer: this }), this.dependencies.forEach(({ consumer: e }) => {
474
- e.subscribedProvider = null;
475
- }), this.dependencies = [], this.vdom && p(this.vdom), y(() => this.onUnmount()), this.vdom = null, this.hostEl = null, this.isMounted = !1);
466
+ this.isMounted && (E(() => this.onWillUnmount()), this.subscribedProvider && this.subscribedProvider.removeDependency({ consumer: this }), this.dependencies.forEach(({ consumer: t }) => {
467
+ t.subscribedProvider = null;
468
+ }), this.dependencies = [], this.vdom && p(this.vdom), E(() => this.onUnmount()), this.vdom = null, this.hostEl = null, this.isMounted = !1);
476
469
  }
477
- patch() {
470
+ patch(t, n) {
478
471
  if (!this.isMounted || !this.hostEl || !this.vdom)
479
472
  return;
480
- const e = this.render();
481
- this.vdom = O(this.vdom, e, this.hostEl, this), y(() => this.onUpdate());
473
+ const r = this.render();
474
+ this.vdom = m(this.vdom, r, this.hostEl, this), E(() => this.onUpdate(t, n));
482
475
  }
483
476
  updateContext() {
484
- console.log("updateContext");
485
- const e = Object.getPrototypeOf(this).constructor.contextType;
486
- console.log("context", e);
477
+ const t = Object.getPrototypeOf(this).constructor.contextType;
487
478
  let n = this.parent;
488
- if (e != null) {
489
- for (console.log(1); n; ) {
490
- if (console.log(2), Object.getPrototypeOf(n).constructor === e.Provider)
491
- return this.context = n.props.value, console.log("this.context", this.context), console.log(3), !0;
479
+ if (t != null) {
480
+ for (; n; ) {
481
+ if (Object.getPrototypeOf(n).constructor === t.Provider)
482
+ return this.context = n.props.value, !0;
492
483
  n = n.parent;
493
484
  }
494
- n == null && (console.log(4), this.context = e.defaultValue);
485
+ n == null && (this.context = t.defaultValue);
495
486
  }
496
- return console.log(5), !1;
487
+ return !1;
497
488
  }
498
489
  subscribeToProvider() {
499
- const e = Object.getPrototypeOf(this).constructor.contextType;
500
- if (!e)
490
+ const t = Object.getPrototypeOf(this).constructor.contextType;
491
+ if (!t)
501
492
  return;
502
493
  let n = this.parent;
503
494
  for (; n; ) {
504
- if (Object.getPrototypeOf(n).constructor === e.Provider) {
495
+ if (Object.getPrototypeOf(n).constructor === t.Provider) {
505
496
  n.addDependency({ consumer: this });
506
497
  break;
507
498
  }
@@ -509,17 +500,17 @@ class S {
509
500
  }
510
501
  }
511
502
  }
512
- function ge(t) {
513
- class e extends S {
503
+ function yt(e) {
504
+ class t extends k {
514
505
  constructor() {
515
506
  super(...arguments), this.isProvider = !0;
516
507
  }
517
508
  render() {
518
509
  let o = [];
519
- return Array.isArray(this.props.children) ? o = this.props.children : this.props.children ? o = [this.props.children] : o = [], I(o);
510
+ return Array.isArray(this.props.children) ? o = this.props.children : this.props.children ? o = [this.props.children] : o = [], U(o);
520
511
  }
521
512
  }
522
- const r = class r extends S {
513
+ const r = class r extends k {
523
514
  constructor() {
524
515
  super(...arguments), this.isConsumer = !0;
525
516
  }
@@ -538,37 +529,37 @@ function ge(t) {
538
529
  }
539
530
  };
540
531
  r.contextType = {
541
- Provider: e,
542
- defaultValue: t
532
+ Provider: t,
533
+ defaultValue: e
543
534
  };
544
535
  let n = r;
545
536
  return {
546
- Provider: e,
537
+ Provider: t,
547
538
  Consumer: n,
548
- defaultValue: t
539
+ defaultValue: e
549
540
  };
550
541
  }
551
- function ye(t, e) {
552
- if (!e)
542
+ function Et(e, t) {
543
+ if (!t)
553
544
  throw new Error("Container element is not provided for rendering.");
554
- h(t, e);
545
+ h(e, t);
555
546
  }
556
- function Ee(t = null) {
547
+ function bt(e = null) {
557
548
  return {
558
- current: t
549
+ current: e
559
550
  };
560
551
  }
561
- function be(t, e) {
562
- const n = Array.isArray(t) ? t : [t];
563
- return $(n, e);
552
+ function vt(e, t) {
553
+ const n = Array.isArray(e) ? e : [e];
554
+ return I(n, t);
564
555
  }
565
556
  export {
566
- S as Component,
567
- ge as createContext,
568
- be as createPortal,
569
- Ee as createRef,
570
- me as h,
571
- I as hFragment,
572
- Oe as hString,
573
- ye as render
557
+ k as Component,
558
+ yt as createContext,
559
+ vt as createPortal,
560
+ bt as createRef,
561
+ Ot as h,
562
+ U as hFragment,
563
+ mt as hString,
564
+ Et as render
574
565
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ddd-react",
3
- "version": "1.3.11",
3
+ "version": "1.5.0",
4
4
  "scripts": {
5
5
  "test": "echo \"Error: no test specified\" && exit 1",
6
6
  "type-check": "tsc --noEmit",