cogsbox-state 0.5.398 → 0.5.400
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.
- package/dist/CogsState.jsx +390 -404
- package/dist/CogsState.jsx.map +1 -1
- package/package.json +1 -1
- package/src/CogsState.tsx +8 -31
package/dist/CogsState.jsx
CHANGED
|
@@ -1,63 +1,63 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as
|
|
3
|
-
import { useState as K, useRef as q, useEffect as ot, useLayoutEffect as ct, useMemo as wt, createElement as lt, useSyncExternalStore as
|
|
4
|
-
import { transformStateFunc as
|
|
5
|
-
import {
|
|
2
|
+
import { jsx as Ot } from "react/jsx-runtime";
|
|
3
|
+
import { useState as K, useRef as q, useEffect as ot, useLayoutEffect as ct, useMemo as wt, createElement as lt, useSyncExternalStore as Ht, startTransition as Ft, useCallback as kt } from "react";
|
|
4
|
+
import { transformStateFunc as Bt, isDeepEqual as J, isFunction as tt, getNestedValue as Z, getDifferences as _t, debounce as Wt } from "./utility.js";
|
|
5
|
+
import { pushFunc as Et, updateFn as it, cutFunc as ht, ValidationWrapper as zt, FormControlComponent as qt } from "./Functions.jsx";
|
|
6
6
|
import Jt from "superjson";
|
|
7
7
|
import { v4 as At } from "uuid";
|
|
8
8
|
import "zod";
|
|
9
|
-
import { getGlobalStore as o, formRefStore as
|
|
10
|
-
import { useCogsConfig as
|
|
9
|
+
import { getGlobalStore as o, formRefStore as bt } from "./store.js";
|
|
10
|
+
import { useCogsConfig as Gt } from "./CogsStateClient.jsx";
|
|
11
11
|
import { applyPatch as Yt } from "fast-json-patch";
|
|
12
12
|
import Zt from "react-use-measure";
|
|
13
|
-
function
|
|
14
|
-
const m = o.getState().getInitialOptions, g = o.getState().setInitialStateOptions,
|
|
13
|
+
function Mt(t, c) {
|
|
14
|
+
const m = o.getState().getInitialOptions, g = o.getState().setInitialStateOptions, I = m(t) || {};
|
|
15
15
|
g(t, {
|
|
16
|
-
...
|
|
16
|
+
...I,
|
|
17
17
|
...c
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
|
-
function
|
|
20
|
+
function xt({
|
|
21
21
|
stateKey: t,
|
|
22
22
|
options: c,
|
|
23
23
|
initialOptionsPart: m
|
|
24
24
|
}) {
|
|
25
|
-
const g = rt(t) || {},
|
|
25
|
+
const g = rt(t) || {}, I = m[t] || {}, N = o.getState().setInitialStateOptions, p = { ...I, ...g };
|
|
26
26
|
let v = !1;
|
|
27
27
|
if (c)
|
|
28
28
|
for (const s in c)
|
|
29
|
-
|
|
30
|
-
!J(
|
|
31
|
-
v &&
|
|
29
|
+
p.hasOwnProperty(s) ? (s == "localStorage" && c[s] && p[s].key !== c[s]?.key && (v = !0, p[s] = c[s]), s == "initialState" && c[s] && p[s] !== c[s] && // Different references
|
|
30
|
+
!J(p[s], c[s]) && (v = !0, p[s] = c[s])) : (v = !0, p[s] = c[s]);
|
|
31
|
+
v && N(t, p);
|
|
32
32
|
}
|
|
33
|
-
function
|
|
33
|
+
function Ie(t, { formElements: c, validation: m }) {
|
|
34
34
|
return { initialState: t, formElements: c, validation: m };
|
|
35
35
|
}
|
|
36
36
|
const ve = (t, c) => {
|
|
37
37
|
let m = t;
|
|
38
|
-
const [g,
|
|
39
|
-
(Object.keys(
|
|
40
|
-
|
|
38
|
+
const [g, I] = Bt(m);
|
|
39
|
+
(Object.keys(I).length > 0 || c && Object.keys(c).length > 0) && Object.keys(I).forEach((v) => {
|
|
40
|
+
I[v] = I[v] || {}, I[v].formElements = {
|
|
41
41
|
...c?.formElements,
|
|
42
42
|
// Global defaults first
|
|
43
43
|
...c?.validation,
|
|
44
|
-
...
|
|
44
|
+
...I[v].formElements || {}
|
|
45
45
|
// State-specific overrides
|
|
46
|
-
}, rt(v) || o.getState().setInitialStateOptions(v,
|
|
46
|
+
}, rt(v) || o.getState().setInitialStateOptions(v, I[v]);
|
|
47
47
|
}), o.getState().setInitialStates(g), o.getState().setCreatedState(g);
|
|
48
|
-
const
|
|
49
|
-
const [
|
|
50
|
-
|
|
48
|
+
const N = (v, s) => {
|
|
49
|
+
const [T] = K(s?.componentId ?? At());
|
|
50
|
+
xt({
|
|
51
51
|
stateKey: v,
|
|
52
52
|
options: s,
|
|
53
|
-
initialOptionsPart:
|
|
53
|
+
initialOptionsPart: I
|
|
54
54
|
});
|
|
55
|
-
const r = o.getState().cogsStateStore[v] || g[v],
|
|
56
|
-
|
|
55
|
+
const r = o.getState().cogsStateStore[v] || g[v], S = s?.modifyState ? s.modifyState(r) : r, [W, j] = ne(
|
|
56
|
+
S,
|
|
57
57
|
{
|
|
58
58
|
stateKey: v,
|
|
59
59
|
syncUpdate: s?.syncUpdate,
|
|
60
|
-
componentId:
|
|
60
|
+
componentId: T,
|
|
61
61
|
localStorage: s?.localStorage,
|
|
62
62
|
middleware: s?.middleware,
|
|
63
63
|
enabledSync: s?.enabledSync,
|
|
@@ -70,47 +70,47 @@ const ve = (t, c) => {
|
|
|
70
70
|
);
|
|
71
71
|
return j;
|
|
72
72
|
};
|
|
73
|
-
function
|
|
74
|
-
|
|
73
|
+
function p(v, s) {
|
|
74
|
+
xt({ stateKey: v, options: s, initialOptionsPart: I }), s.localStorage && te(v, s), dt(v);
|
|
75
75
|
}
|
|
76
|
-
return { useCogsState:
|
|
76
|
+
return { useCogsState: N, setCogsOptions: p };
|
|
77
77
|
}, {
|
|
78
78
|
setUpdaterState: Tt,
|
|
79
79
|
setState: nt,
|
|
80
80
|
getInitialOptions: rt,
|
|
81
|
-
getKeyState:
|
|
81
|
+
getKeyState: Lt,
|
|
82
82
|
getValidationErrors: Xt,
|
|
83
83
|
setStateLog: Qt,
|
|
84
84
|
updateInitialStateGlobal: Nt,
|
|
85
|
-
addValidationError:
|
|
85
|
+
addValidationError: Rt,
|
|
86
86
|
removeValidationError: X,
|
|
87
87
|
setServerSyncActions: Kt
|
|
88
|
-
} = o.getState(),
|
|
88
|
+
} = o.getState(), Pt = (t, c, m, g, I) => {
|
|
89
89
|
m?.log && console.log(
|
|
90
90
|
"saving to localstorage",
|
|
91
91
|
c,
|
|
92
92
|
m.localStorage?.key,
|
|
93
93
|
g
|
|
94
94
|
);
|
|
95
|
-
const
|
|
96
|
-
if (
|
|
97
|
-
const
|
|
95
|
+
const N = tt(m?.localStorage?.key) ? m.localStorage?.key(t) : m?.localStorage?.key;
|
|
96
|
+
if (N && g) {
|
|
97
|
+
const p = `${g}-${c}-${N}`;
|
|
98
98
|
let v;
|
|
99
99
|
try {
|
|
100
|
-
v =
|
|
100
|
+
v = vt(p)?.lastSyncedWithServer;
|
|
101
101
|
} catch {
|
|
102
102
|
}
|
|
103
103
|
const s = {
|
|
104
104
|
state: t,
|
|
105
105
|
lastUpdated: Date.now(),
|
|
106
|
-
lastSyncedWithServer:
|
|
107
|
-
},
|
|
106
|
+
lastSyncedWithServer: I ?? v
|
|
107
|
+
}, T = Jt.serialize(s);
|
|
108
108
|
window.localStorage.setItem(
|
|
109
|
-
|
|
110
|
-
JSON.stringify(
|
|
109
|
+
p,
|
|
110
|
+
JSON.stringify(T.json)
|
|
111
111
|
);
|
|
112
112
|
}
|
|
113
|
-
},
|
|
113
|
+
}, vt = (t) => {
|
|
114
114
|
if (!t) return null;
|
|
115
115
|
try {
|
|
116
116
|
const c = window.localStorage.getItem(t);
|
|
@@ -119,27 +119,27 @@ const ve = (t, c) => {
|
|
|
119
119
|
return console.error("Error loading from localStorage:", c), null;
|
|
120
120
|
}
|
|
121
121
|
}, te = (t, c) => {
|
|
122
|
-
const m = o.getState().cogsStateStore[t], { sessionId: g } =
|
|
123
|
-
if (
|
|
124
|
-
const
|
|
125
|
-
`${g}-${t}-${
|
|
122
|
+
const m = o.getState().cogsStateStore[t], { sessionId: g } = Gt(), I = tt(c?.localStorage?.key) ? c.localStorage.key(m) : c?.localStorage?.key;
|
|
123
|
+
if (I && g) {
|
|
124
|
+
const N = vt(
|
|
125
|
+
`${g}-${t}-${I}`
|
|
126
126
|
);
|
|
127
|
-
if (
|
|
128
|
-
return nt(t,
|
|
127
|
+
if (N && N.lastUpdated > (N.lastSyncedWithServer || 0))
|
|
128
|
+
return nt(t, N.state), dt(t), !0;
|
|
129
129
|
}
|
|
130
130
|
return !1;
|
|
131
|
-
},
|
|
132
|
-
const
|
|
131
|
+
}, Dt = (t, c, m, g, I, N) => {
|
|
132
|
+
const p = {
|
|
133
133
|
initialState: c,
|
|
134
|
-
updaterState:
|
|
134
|
+
updaterState: It(
|
|
135
135
|
t,
|
|
136
136
|
g,
|
|
137
|
-
|
|
138
|
-
|
|
137
|
+
I,
|
|
138
|
+
N
|
|
139
139
|
),
|
|
140
140
|
state: m
|
|
141
141
|
};
|
|
142
|
-
Nt(t,
|
|
142
|
+
Nt(t, p.initialState), Tt(t, p.updaterState), nt(t, p.state);
|
|
143
143
|
}, dt = (t) => {
|
|
144
144
|
const c = o.getState().stateComponents.get(t);
|
|
145
145
|
if (!c) return;
|
|
@@ -152,10 +152,10 @@ const ve = (t, c) => {
|
|
|
152
152
|
}, ye = (t, c) => {
|
|
153
153
|
const m = o.getState().stateComponents.get(t);
|
|
154
154
|
if (m) {
|
|
155
|
-
const g = `${t}////${c}`,
|
|
156
|
-
if ((
|
|
155
|
+
const g = `${t}////${c}`, I = m.components.get(g);
|
|
156
|
+
if ((I ? Array.isArray(I.reactiveType) ? I.reactiveType : [I.reactiveType || "component"] : null)?.includes("none"))
|
|
157
157
|
return;
|
|
158
|
-
|
|
158
|
+
I && I.forceUpdate();
|
|
159
159
|
}
|
|
160
160
|
}, ee = (t, c, m, g) => {
|
|
161
161
|
switch (t) {
|
|
@@ -184,63 +184,63 @@ function ne(t, {
|
|
|
184
184
|
stateKey: c,
|
|
185
185
|
serverSync: m,
|
|
186
186
|
localStorage: g,
|
|
187
|
-
formElements:
|
|
188
|
-
reactiveDeps:
|
|
189
|
-
reactiveType:
|
|
187
|
+
formElements: I,
|
|
188
|
+
reactiveDeps: N,
|
|
189
|
+
reactiveType: p,
|
|
190
190
|
componentId: v,
|
|
191
191
|
initialState: s,
|
|
192
|
-
syncUpdate:
|
|
192
|
+
syncUpdate: T,
|
|
193
193
|
dependencies: r,
|
|
194
|
-
serverState:
|
|
194
|
+
serverState: S
|
|
195
195
|
} = {}) {
|
|
196
|
-
const [W, j] = K({}), { sessionId: U } =
|
|
196
|
+
const [W, j] = K({}), { sessionId: U } = Gt();
|
|
197
197
|
let z = !c;
|
|
198
198
|
const [h] = K(c ?? At()), l = o.getState().stateLog[h], ut = q(/* @__PURE__ */ new Set()), et = q(v ?? At()), L = q(
|
|
199
199
|
null
|
|
200
200
|
);
|
|
201
201
|
L.current = rt(h) ?? null, ot(() => {
|
|
202
|
-
if (
|
|
202
|
+
if (T && T.stateKey === h && T.path?.[0]) {
|
|
203
203
|
nt(h, (n) => ({
|
|
204
204
|
...n,
|
|
205
|
-
[
|
|
205
|
+
[T.path[0]]: T.newValue
|
|
206
206
|
}));
|
|
207
|
-
const e = `${
|
|
207
|
+
const e = `${T.stateKey}:${T.path.join(".")}`;
|
|
208
208
|
o.getState().setSyncInfo(e, {
|
|
209
|
-
timeStamp:
|
|
210
|
-
userId:
|
|
209
|
+
timeStamp: T.timeStamp,
|
|
210
|
+
userId: T.userId
|
|
211
211
|
});
|
|
212
212
|
}
|
|
213
|
-
}, [
|
|
213
|
+
}, [T]), ot(() => {
|
|
214
214
|
if (s) {
|
|
215
|
-
|
|
215
|
+
Mt(h, {
|
|
216
216
|
initialState: s
|
|
217
217
|
});
|
|
218
218
|
const e = L.current, a = e?.serverState?.id !== void 0 && e?.serverState?.status === "success" && e?.serverState?.data, i = o.getState().initialStateGlobal[h];
|
|
219
219
|
if (!(i && !J(i, s) || !i) && !a)
|
|
220
220
|
return;
|
|
221
221
|
let u = null;
|
|
222
|
-
const
|
|
223
|
-
|
|
224
|
-
let
|
|
225
|
-
const
|
|
226
|
-
a &&
|
|
222
|
+
const E = tt(e?.localStorage?.key) ? e?.localStorage?.key(s) : e?.localStorage?.key;
|
|
223
|
+
E && U && (u = vt(`${U}-${h}-${E}`));
|
|
224
|
+
let y = s, w = !1;
|
|
225
|
+
const C = a ? Date.now() : 0, A = u?.lastUpdated || 0, b = u?.lastSyncedWithServer || 0;
|
|
226
|
+
a && C > A ? (y = e.serverState.data, w = !0) : u && A > b && (y = u.state, e?.localStorage?.onChange && e?.localStorage?.onChange(y)), o.getState().initializeShadowState(h, s), Dt(
|
|
227
227
|
h,
|
|
228
228
|
s,
|
|
229
|
-
|
|
229
|
+
y,
|
|
230
230
|
at,
|
|
231
231
|
et.current,
|
|
232
232
|
U
|
|
233
|
-
),
|
|
233
|
+
), w && E && U && Pt(y, h, e, U, Date.now()), dt(h), (Array.isArray(p) ? p : [p || "component"]).includes("none") || j({});
|
|
234
234
|
}
|
|
235
235
|
}, [
|
|
236
236
|
s,
|
|
237
|
-
|
|
238
|
-
|
|
237
|
+
S?.status,
|
|
238
|
+
S?.data,
|
|
239
239
|
...r || []
|
|
240
240
|
]), ct(() => {
|
|
241
|
-
z &&
|
|
241
|
+
z && Mt(h, {
|
|
242
242
|
serverSync: m,
|
|
243
|
-
formElements:
|
|
243
|
+
formElements: I,
|
|
244
244
|
initialState: s,
|
|
245
245
|
localStorage: g,
|
|
246
246
|
middleware: L.current?.middleware
|
|
@@ -252,8 +252,8 @@ function ne(t, {
|
|
|
252
252
|
forceUpdate: () => j({}),
|
|
253
253
|
paths: /* @__PURE__ */ new Set(),
|
|
254
254
|
deps: [],
|
|
255
|
-
depsFunction:
|
|
256
|
-
reactiveType:
|
|
255
|
+
depsFunction: N || void 0,
|
|
256
|
+
reactiveType: p ?? ["component", "deps"]
|
|
257
257
|
}), o.getState().stateComponents.set(h, n), j({}), () => {
|
|
258
258
|
n && (n.components.delete(e), n.components.size === 0 && o.getState().stateComponents.delete(h));
|
|
259
259
|
};
|
|
@@ -263,70 +263,70 @@ function ne(t, {
|
|
|
263
263
|
const u = `${h}-${n.join(".")}`;
|
|
264
264
|
ut.current.add(u);
|
|
265
265
|
}
|
|
266
|
-
const
|
|
266
|
+
const f = o.getState();
|
|
267
267
|
nt(h, (u) => {
|
|
268
|
-
const
|
|
269
|
-
if (
|
|
270
|
-
let M = !1, $ =
|
|
268
|
+
const E = tt(e) ? e(u) : e, y = `${h}-${n.join(".")}`;
|
|
269
|
+
if (y) {
|
|
270
|
+
let M = !1, $ = f.signalDomElements.get(y);
|
|
271
271
|
if ((!$ || $.size === 0) && (a.updateType === "insert" || a.updateType === "cut")) {
|
|
272
|
-
const R = n.slice(0, -1), V = Z(
|
|
272
|
+
const R = n.slice(0, -1), V = Z(E, R);
|
|
273
273
|
if (Array.isArray(V)) {
|
|
274
274
|
M = !0;
|
|
275
275
|
const O = `${h}-${R.join(".")}`;
|
|
276
|
-
$ =
|
|
276
|
+
$ = f.signalDomElements.get(O);
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
279
|
if ($) {
|
|
280
|
-
const R = M ? Z(
|
|
281
|
-
$.forEach(({ parentId: V, position: O, effect:
|
|
280
|
+
const R = M ? Z(E, n.slice(0, -1)) : Z(E, n);
|
|
281
|
+
$.forEach(({ parentId: V, position: O, effect: _ }) => {
|
|
282
282
|
const D = document.querySelector(
|
|
283
283
|
`[data-parent-id="${V}"]`
|
|
284
284
|
);
|
|
285
285
|
if (D) {
|
|
286
286
|
const G = Array.from(D.childNodes);
|
|
287
287
|
if (G[O]) {
|
|
288
|
-
const B =
|
|
288
|
+
const B = _ ? new Function("state", `return (${_})(state)`)(R) : R;
|
|
289
289
|
G[O].textContent = String(B);
|
|
290
290
|
}
|
|
291
291
|
}
|
|
292
292
|
});
|
|
293
293
|
}
|
|
294
294
|
}
|
|
295
|
-
console.log("shadowState",
|
|
295
|
+
console.log("shadowState", f.shadowStateStore), a.updateType === "update" && (i || L.current?.validation?.key) && n && X(
|
|
296
296
|
(i || L.current?.validation?.key) + "." + n.join(".")
|
|
297
297
|
);
|
|
298
|
-
const
|
|
298
|
+
const w = n.slice(0, n.length - 1);
|
|
299
299
|
a.updateType === "cut" && L.current?.validation?.key && X(
|
|
300
|
-
L.current?.validation?.key + "." +
|
|
300
|
+
L.current?.validation?.key + "." + w.join(".")
|
|
301
301
|
), a.updateType === "insert" && L.current?.validation?.key && Xt(
|
|
302
|
-
L.current?.validation?.key + "." +
|
|
302
|
+
L.current?.validation?.key + "." + w.join(".")
|
|
303
303
|
).filter(([$, R]) => {
|
|
304
304
|
let V = $?.split(".").length;
|
|
305
|
-
if ($ ==
|
|
306
|
-
let O = $ + "." +
|
|
307
|
-
X($),
|
|
305
|
+
if ($ == w.join(".") && V == w.length - 1) {
|
|
306
|
+
let O = $ + "." + w;
|
|
307
|
+
X($), Rt(O, R);
|
|
308
308
|
}
|
|
309
309
|
});
|
|
310
|
-
const
|
|
311
|
-
if (console.log("stateEntry >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>",
|
|
312
|
-
const M = _t(u,
|
|
310
|
+
const C = f.stateComponents.get(h);
|
|
311
|
+
if (console.log("stateEntry >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", C), C) {
|
|
312
|
+
const M = _t(u, E), $ = new Set(M), R = a.updateType === "update" ? n.join(".") : n.slice(0, -1).join(".") || "";
|
|
313
313
|
for (const [
|
|
314
314
|
V,
|
|
315
315
|
O
|
|
316
|
-
] of
|
|
317
|
-
let
|
|
316
|
+
] of C.components.entries()) {
|
|
317
|
+
let _ = !1;
|
|
318
318
|
const D = Array.isArray(O.reactiveType) ? O.reactiveType : [O.reactiveType || "component"];
|
|
319
319
|
if (console.log("component", O), !D.includes("none")) {
|
|
320
320
|
if (D.includes("all")) {
|
|
321
321
|
O.forceUpdate();
|
|
322
322
|
continue;
|
|
323
323
|
}
|
|
324
|
-
if (D.includes("component") && ((O.paths.has(R) || O.paths.has("")) && (
|
|
324
|
+
if (D.includes("component") && ((O.paths.has(R) || O.paths.has("")) && (_ = !0), !_))
|
|
325
325
|
for (const G of $) {
|
|
326
326
|
let B = G;
|
|
327
327
|
for (; ; ) {
|
|
328
328
|
if (O.paths.has(B)) {
|
|
329
|
-
|
|
329
|
+
_ = !0;
|
|
330
330
|
break;
|
|
331
331
|
}
|
|
332
332
|
const st = B.lastIndexOf(".");
|
|
@@ -338,7 +338,7 @@ function ne(t, {
|
|
|
338
338
|
if (!isNaN(
|
|
339
339
|
Number(B.substring(st + 1))
|
|
340
340
|
) && O.paths.has(gt)) {
|
|
341
|
-
|
|
341
|
+
_ = !0;
|
|
342
342
|
break;
|
|
343
343
|
}
|
|
344
344
|
B = gt;
|
|
@@ -347,57 +347,57 @@ function ne(t, {
|
|
|
347
347
|
if (B === "")
|
|
348
348
|
break;
|
|
349
349
|
}
|
|
350
|
-
if (
|
|
350
|
+
if (_) break;
|
|
351
351
|
}
|
|
352
|
-
if (!
|
|
353
|
-
const G = O.depsFunction(
|
|
352
|
+
if (!_ && D.includes("deps") && O.depsFunction) {
|
|
353
|
+
const G = O.depsFunction(E);
|
|
354
354
|
let B = !1;
|
|
355
|
-
typeof G == "boolean" ? G && (B = !0) : J(O.deps, G) || (O.deps = G, B = !0), B && (
|
|
355
|
+
typeof G == "boolean" ? G && (B = !0) : J(O.deps, G) || (O.deps = G, B = !0), B && (_ = !0);
|
|
356
356
|
}
|
|
357
|
-
|
|
357
|
+
_ && O.forceUpdate();
|
|
358
358
|
}
|
|
359
359
|
}
|
|
360
360
|
}
|
|
361
|
-
const
|
|
361
|
+
const A = Date.now();
|
|
362
362
|
n = n.map((M, $) => {
|
|
363
|
-
const R = n.slice(0, -1), V = Z(
|
|
363
|
+
const R = n.slice(0, -1), V = Z(E, R);
|
|
364
364
|
return $ === n.length - 1 && ["insert", "cut"].includes(a.updateType) ? (V.length - 1).toString() : M;
|
|
365
365
|
});
|
|
366
|
-
const { oldValue:
|
|
366
|
+
const { oldValue: b, newValue: F } = ee(
|
|
367
367
|
a.updateType,
|
|
368
368
|
u,
|
|
369
|
-
|
|
369
|
+
E,
|
|
370
370
|
n
|
|
371
371
|
), Y = {
|
|
372
|
-
timeStamp:
|
|
372
|
+
timeStamp: A,
|
|
373
373
|
stateKey: h,
|
|
374
374
|
path: n,
|
|
375
375
|
updateType: a.updateType,
|
|
376
376
|
status: "new",
|
|
377
|
-
oldValue:
|
|
378
|
-
newValue:
|
|
377
|
+
oldValue: b,
|
|
378
|
+
newValue: F
|
|
379
379
|
};
|
|
380
380
|
switch (a.updateType) {
|
|
381
381
|
case "update":
|
|
382
|
-
|
|
382
|
+
f.updateShadowAtPath(h, n, E);
|
|
383
383
|
break;
|
|
384
384
|
case "insert":
|
|
385
385
|
const M = n.slice(0, -1);
|
|
386
|
-
|
|
386
|
+
f.insertShadowArrayElement(h, M, F);
|
|
387
387
|
break;
|
|
388
388
|
case "cut":
|
|
389
389
|
const $ = n.slice(0, -1), R = parseInt(n[n.length - 1]);
|
|
390
|
-
|
|
390
|
+
f.removeShadowArrayElement(h, $, R);
|
|
391
391
|
break;
|
|
392
392
|
}
|
|
393
393
|
if (Qt(h, (M) => {
|
|
394
394
|
const R = [...M ?? [], Y].reduce((V, O) => {
|
|
395
|
-
const
|
|
396
|
-
return D ? (D.timeStamp = Math.max(D.timeStamp, O.timeStamp), D.newValue = O.newValue, D.oldValue = D.oldValue ?? O.oldValue, D.updateType = O.updateType) : V.set(
|
|
395
|
+
const _ = `${O.stateKey}:${JSON.stringify(O.path)}`, D = V.get(_);
|
|
396
|
+
return D ? (D.timeStamp = Math.max(D.timeStamp, O.timeStamp), D.newValue = O.newValue, D.oldValue = D.oldValue ?? O.oldValue, D.updateType = O.updateType) : V.set(_, { ...O }), V;
|
|
397
397
|
}, /* @__PURE__ */ new Map());
|
|
398
398
|
return Array.from(R.values());
|
|
399
|
-
}),
|
|
400
|
-
|
|
399
|
+
}), Pt(
|
|
400
|
+
E,
|
|
401
401
|
h,
|
|
402
402
|
L.current,
|
|
403
403
|
U
|
|
@@ -405,68 +405,68 @@ function ne(t, {
|
|
|
405
405
|
updateLog: l,
|
|
406
406
|
update: Y
|
|
407
407
|
}), L.current?.serverSync) {
|
|
408
|
-
const M =
|
|
408
|
+
const M = f.serverState[h], $ = L.current?.serverSync;
|
|
409
409
|
Kt(h, {
|
|
410
|
-
syncKey: typeof $.syncKey == "string" ? $.syncKey : $.syncKey({ state:
|
|
410
|
+
syncKey: typeof $.syncKey == "string" ? $.syncKey : $.syncKey({ state: E }),
|
|
411
411
|
rollBackState: M,
|
|
412
412
|
actionTimeStamp: Date.now() + ($.debounce ?? 3e3),
|
|
413
413
|
status: "waiting"
|
|
414
414
|
});
|
|
415
415
|
}
|
|
416
|
-
return
|
|
416
|
+
return E;
|
|
417
417
|
});
|
|
418
418
|
};
|
|
419
419
|
o.getState().updaterState[h] || (Tt(
|
|
420
420
|
h,
|
|
421
|
-
|
|
421
|
+
It(
|
|
422
422
|
h,
|
|
423
423
|
at,
|
|
424
424
|
et.current,
|
|
425
425
|
U
|
|
426
426
|
)
|
|
427
427
|
), o.getState().cogsStateStore[h] || nt(h, t), o.getState().initialStateGlobal[h] || Nt(h, t));
|
|
428
|
-
const d = wt(() =>
|
|
428
|
+
const d = wt(() => It(
|
|
429
429
|
h,
|
|
430
430
|
at,
|
|
431
431
|
et.current,
|
|
432
432
|
U
|
|
433
433
|
), [h, U]);
|
|
434
|
-
return [
|
|
434
|
+
return [Lt(h), d];
|
|
435
435
|
}
|
|
436
|
-
function
|
|
437
|
-
const
|
|
438
|
-
let
|
|
439
|
-
const
|
|
440
|
-
const r =
|
|
441
|
-
for (const [
|
|
442
|
-
(
|
|
443
|
-
|
|
436
|
+
function It(t, c, m, g) {
|
|
437
|
+
const I = /* @__PURE__ */ new Map();
|
|
438
|
+
let N = 0;
|
|
439
|
+
const p = (T) => {
|
|
440
|
+
const r = T.join(".");
|
|
441
|
+
for (const [S] of I)
|
|
442
|
+
(S === r || S.startsWith(r + ".")) && I.delete(S);
|
|
443
|
+
N++;
|
|
444
444
|
}, v = {
|
|
445
|
-
removeValidation: (
|
|
446
|
-
|
|
445
|
+
removeValidation: (T) => {
|
|
446
|
+
T?.validationKey && X(T.validationKey);
|
|
447
447
|
},
|
|
448
|
-
revertToInitialState: (
|
|
448
|
+
revertToInitialState: (T) => {
|
|
449
449
|
const r = o.getState().getInitialOptions(t)?.validation;
|
|
450
|
-
r?.key && X(r?.key),
|
|
451
|
-
const
|
|
452
|
-
o.getState().clearSelectedIndexesForState(t),
|
|
453
|
-
const W = s(
|
|
454
|
-
z && localStorage.removeItem(z), Tt(t, W), nt(t,
|
|
450
|
+
r?.key && X(r?.key), T?.validationKey && X(T.validationKey);
|
|
451
|
+
const S = o.getState().initialStateGlobal[t];
|
|
452
|
+
o.getState().clearSelectedIndexesForState(t), I.clear(), N++;
|
|
453
|
+
const W = s(S, []), j = rt(t), U = tt(j?.localStorage?.key) ? j?.localStorage?.key(S) : j?.localStorage?.key, z = `${g}-${t}-${U}`;
|
|
454
|
+
z && localStorage.removeItem(z), Tt(t, W), nt(t, S);
|
|
455
455
|
const h = o.getState().stateComponents.get(t);
|
|
456
456
|
return h && h.components.forEach((l) => {
|
|
457
457
|
l.forceUpdate();
|
|
458
|
-
}),
|
|
458
|
+
}), S;
|
|
459
459
|
},
|
|
460
|
-
updateInitialState: (
|
|
461
|
-
|
|
462
|
-
const r =
|
|
460
|
+
updateInitialState: (T) => {
|
|
461
|
+
I.clear(), N++;
|
|
462
|
+
const r = It(
|
|
463
463
|
t,
|
|
464
464
|
c,
|
|
465
465
|
m,
|
|
466
466
|
g
|
|
467
|
-
),
|
|
468
|
-
return localStorage.getItem(U) && localStorage.removeItem(U),
|
|
469
|
-
Nt(t,
|
|
467
|
+
), S = o.getState().initialStateGlobal[t], W = rt(t), j = tt(W?.localStorage?.key) ? W?.localStorage?.key(S) : W?.localStorage?.key, U = `${g}-${t}-${j}`;
|
|
468
|
+
return localStorage.getItem(U) && localStorage.removeItem(U), Ft(() => {
|
|
469
|
+
Nt(t, T), o.getState().initializeShadowState(t, T), Tt(t, r), nt(t, T);
|
|
470
470
|
const z = o.getState().stateComponents.get(t);
|
|
471
471
|
z && z.components.forEach((h) => {
|
|
472
472
|
h.forceUpdate();
|
|
@@ -479,13 +479,13 @@ function vt(t, c, m, g) {
|
|
|
479
479
|
_serverState: o.getState().serverState[t],
|
|
480
480
|
_isLoading: o.getState().isLoadingGlobal[t],
|
|
481
481
|
_isServerSynced: () => {
|
|
482
|
-
const
|
|
483
|
-
return !!(
|
|
482
|
+
const T = o.getState().serverState[t];
|
|
483
|
+
return !!(T && J(T, Lt(t)));
|
|
484
484
|
}
|
|
485
485
|
};
|
|
486
|
-
function s(
|
|
486
|
+
function s(T, r = [], S) {
|
|
487
487
|
const W = r.map(String).join(".");
|
|
488
|
-
|
|
488
|
+
I.get(W);
|
|
489
489
|
const j = function() {
|
|
490
490
|
return o().getNestedState(t, r);
|
|
491
491
|
};
|
|
@@ -499,7 +499,7 @@ function vt(t, c, m, g) {
|
|
|
499
499
|
), console.trace("Apply trap stack trace"), o().getNestedState(t, r);
|
|
500
500
|
},
|
|
501
501
|
get(h, l) {
|
|
502
|
-
|
|
502
|
+
S?.validIndices && !Array.isArray(T) && (S = { ...S, validIndices: void 0 });
|
|
503
503
|
const ut = /* @__PURE__ */ new Set([
|
|
504
504
|
"insert",
|
|
505
505
|
"cut",
|
|
@@ -530,8 +530,8 @@ function vt(t, c, m, g) {
|
|
|
530
530
|
if (n && !n.paths.has("")) {
|
|
531
531
|
const a = r.join(".");
|
|
532
532
|
let i = !0;
|
|
533
|
-
for (const
|
|
534
|
-
if (a.startsWith(
|
|
533
|
+
for (const f of n.paths)
|
|
534
|
+
if (a.startsWith(f) && (a === f || a[f.length] === ".")) {
|
|
535
535
|
i = !1;
|
|
536
536
|
break;
|
|
537
537
|
}
|
|
@@ -554,11 +554,11 @@ function vt(t, c, m, g) {
|
|
|
554
554
|
const i = await e.action(n);
|
|
555
555
|
if (i && !i.success && i.errors && a) {
|
|
556
556
|
o.getState().removeValidationError(a), i.errors.forEach((u) => {
|
|
557
|
-
const
|
|
558
|
-
o.getState().addValidationError(
|
|
557
|
+
const E = [a, ...u.path].join(".");
|
|
558
|
+
o.getState().addValidationError(E, u.message);
|
|
559
559
|
});
|
|
560
|
-
const
|
|
561
|
-
|
|
560
|
+
const f = o.getState().stateComponents.get(t);
|
|
561
|
+
f && f.components.forEach((u) => {
|
|
562
562
|
u.forceUpdate();
|
|
563
563
|
});
|
|
564
564
|
}
|
|
@@ -591,10 +591,10 @@ function vt(t, c, m, g) {
|
|
|
591
591
|
throw new Error("Validation key not found");
|
|
592
592
|
return o.getState().getValidationErrors(d.key + "." + r.join("."));
|
|
593
593
|
};
|
|
594
|
-
if (Array.isArray(
|
|
595
|
-
const d = () =>
|
|
594
|
+
if (Array.isArray(T)) {
|
|
595
|
+
const d = () => S?.validIndices ? T.map((n, a) => ({
|
|
596
596
|
item: n,
|
|
597
|
-
originalIndex:
|
|
597
|
+
originalIndex: S.validIndices[a]
|
|
598
598
|
})) : o.getState().getNestedState(t, r).map((n, a) => ({
|
|
599
599
|
item: n,
|
|
600
600
|
originalIndex: a
|
|
@@ -604,9 +604,9 @@ function vt(t, c, m, g) {
|
|
|
604
604
|
const e = o.getState().getSelectedIndex(t, r.join("."));
|
|
605
605
|
if (e !== void 0)
|
|
606
606
|
return s(
|
|
607
|
-
|
|
607
|
+
T[e],
|
|
608
608
|
[...r, e.toString()],
|
|
609
|
-
|
|
609
|
+
S
|
|
610
610
|
);
|
|
611
611
|
};
|
|
612
612
|
if (l === "clearSelected")
|
|
@@ -621,117 +621,117 @@ function vt(t, c, m, g) {
|
|
|
621
621
|
itemHeight: n = 50,
|
|
622
622
|
overscan: a = 6,
|
|
623
623
|
stickToBottom: i = !1,
|
|
624
|
-
dependencies:
|
|
625
|
-
} = e, u = q(!1),
|
|
624
|
+
dependencies: f = []
|
|
625
|
+
} = e, u = q(!1), E = q(null), [y, w] = K({
|
|
626
626
|
startIndex: 0,
|
|
627
627
|
endIndex: 10
|
|
628
|
-
}), [
|
|
628
|
+
}), [C, A] = K("IDLE_AT_TOP"), b = q(!1), F = q(0), Y = q(f), M = q(0), [$, R] = K(0), V = q(null);
|
|
629
629
|
ot(() => o.getState().subscribeToShadowState(t, () => {
|
|
630
630
|
R((x) => x + 1);
|
|
631
631
|
}), [t]);
|
|
632
632
|
const O = o().getNestedState(
|
|
633
633
|
t,
|
|
634
634
|
r
|
|
635
|
-
),
|
|
636
|
-
const
|
|
635
|
+
), _ = O.length, { totalHeight: D, positions: G } = wt(() => {
|
|
636
|
+
const k = o.getState().getShadowMetadata(t, r) || [];
|
|
637
637
|
let x = 0;
|
|
638
|
-
const
|
|
639
|
-
for (let P = 0; P <
|
|
640
|
-
|
|
641
|
-
const Q =
|
|
638
|
+
const H = [];
|
|
639
|
+
for (let P = 0; P < _; P++) {
|
|
640
|
+
H[P] = x;
|
|
641
|
+
const Q = k[P]?.virtualizer?.itemHeight;
|
|
642
642
|
x += Q || n;
|
|
643
643
|
}
|
|
644
|
-
return { totalHeight: x, positions:
|
|
644
|
+
return { totalHeight: x, positions: H };
|
|
645
645
|
}, [
|
|
646
|
-
|
|
646
|
+
_,
|
|
647
647
|
t,
|
|
648
648
|
r.join("."),
|
|
649
649
|
n,
|
|
650
650
|
$
|
|
651
651
|
]), B = wt(() => {
|
|
652
|
-
const
|
|
653
|
-
{ length: x -
|
|
654
|
-
(Q, ft) =>
|
|
655
|
-
), P =
|
|
652
|
+
const k = Math.max(0, y.startIndex), x = Math.min(_, y.endIndex), H = Array.from(
|
|
653
|
+
{ length: x - k },
|
|
654
|
+
(Q, ft) => k + ft
|
|
655
|
+
), P = H.map((Q) => O[Q]);
|
|
656
656
|
return s(P, r, {
|
|
657
|
-
...
|
|
658
|
-
validIndices:
|
|
657
|
+
...S,
|
|
658
|
+
validIndices: H
|
|
659
659
|
});
|
|
660
|
-
}, [
|
|
660
|
+
}, [y.startIndex, y.endIndex, O, _]);
|
|
661
661
|
ct(() => {
|
|
662
|
-
const
|
|
663
|
-
if (!
|
|
664
|
-
const x =
|
|
662
|
+
const k = E.current;
|
|
663
|
+
if (!k) return;
|
|
664
|
+
const x = _ > F.current;
|
|
665
665
|
if (x && V.current) {
|
|
666
|
-
const { top:
|
|
667
|
-
|
|
668
|
-
`ANCHOR RESTORED to scrollTop: ${
|
|
666
|
+
const { top: H, height: P } = V.current;
|
|
667
|
+
b.current = !0, k.scrollTop = H + (k.scrollHeight - P), console.log(
|
|
668
|
+
`ANCHOR RESTORED to scrollTop: ${k.scrollTop}`
|
|
669
669
|
), setTimeout(() => {
|
|
670
|
-
|
|
670
|
+
b.current = !1;
|
|
671
671
|
}, 100), V.current = null;
|
|
672
672
|
} else {
|
|
673
673
|
if (!J(
|
|
674
|
-
|
|
674
|
+
f,
|
|
675
675
|
Y.current
|
|
676
676
|
)) {
|
|
677
|
-
console.log("TRANSITION: Deps changed -> IDLE_AT_TOP"),
|
|
677
|
+
console.log("TRANSITION: Deps changed -> IDLE_AT_TOP"), A("IDLE_AT_TOP");
|
|
678
678
|
return;
|
|
679
679
|
}
|
|
680
|
-
x &&
|
|
680
|
+
x && C === "LOCKED_AT_BOTTOM" && i && (console.log(
|
|
681
681
|
"TRANSITION: New items arrived while locked -> GETTING_HEIGHTS"
|
|
682
|
-
),
|
|
682
|
+
), A("GETTING_HEIGHTS"));
|
|
683
683
|
}
|
|
684
|
-
|
|
685
|
-
}, [
|
|
686
|
-
const
|
|
687
|
-
if (!
|
|
684
|
+
F.current = _, Y.current = f;
|
|
685
|
+
}, [_, ...f]), ct(() => {
|
|
686
|
+
const k = E.current;
|
|
687
|
+
if (!k) return;
|
|
688
688
|
let x;
|
|
689
|
-
if (
|
|
689
|
+
if (C === "IDLE_AT_TOP" && i && _ > 0)
|
|
690
690
|
console.log(
|
|
691
691
|
"ACTION (IDLE_AT_TOP): Data has arrived -> GETTING_HEIGHTS"
|
|
692
|
-
),
|
|
693
|
-
else if (
|
|
692
|
+
), A("GETTING_HEIGHTS");
|
|
693
|
+
else if (C === "GETTING_HEIGHTS")
|
|
694
694
|
console.log(
|
|
695
695
|
"ACTION (GETTING_HEIGHTS): Setting range to end and starting loop."
|
|
696
|
-
),
|
|
697
|
-
startIndex: Math.max(0,
|
|
698
|
-
endIndex:
|
|
696
|
+
), w({
|
|
697
|
+
startIndex: Math.max(0, _ - 10 - a),
|
|
698
|
+
endIndex: _
|
|
699
699
|
}), x = setInterval(() => {
|
|
700
|
-
const
|
|
701
|
-
((o.getState().getShadowMetadata(t, r) || [])[
|
|
700
|
+
const H = _ - 1;
|
|
701
|
+
((o.getState().getShadowMetadata(t, r) || [])[H]?.virtualizer?.itemHeight || 0) > 0 && (clearInterval(x), u.current || (console.log(
|
|
702
702
|
"ACTION (GETTING_HEIGHTS): Measurement success -> SCROLLING_TO_BOTTOM"
|
|
703
|
-
),
|
|
703
|
+
), A("SCROLLING_TO_BOTTOM")));
|
|
704
704
|
}, 100);
|
|
705
|
-
else if (
|
|
705
|
+
else if (C === "SCROLLING_TO_BOTTOM") {
|
|
706
706
|
console.log(
|
|
707
707
|
"ACTION (SCROLLING_TO_BOTTOM): Executing scroll."
|
|
708
|
-
),
|
|
709
|
-
const
|
|
710
|
-
|
|
711
|
-
top:
|
|
712
|
-
behavior:
|
|
708
|
+
), b.current = !0;
|
|
709
|
+
const H = F.current === 0 ? "auto" : "smooth";
|
|
710
|
+
k.scrollTo({
|
|
711
|
+
top: k.scrollHeight,
|
|
712
|
+
behavior: H
|
|
713
713
|
});
|
|
714
714
|
const P = setTimeout(
|
|
715
715
|
() => {
|
|
716
716
|
console.log(
|
|
717
717
|
"ACTION (SCROLLING_TO_BOTTOM): Scroll finished -> LOCKED_AT_BOTTOM"
|
|
718
|
-
),
|
|
718
|
+
), b.current = !1, u.current = !1, A("LOCKED_AT_BOTTOM");
|
|
719
719
|
},
|
|
720
|
-
|
|
720
|
+
H === "smooth" ? 500 : 50
|
|
721
721
|
);
|
|
722
722
|
return () => clearTimeout(P);
|
|
723
723
|
}
|
|
724
724
|
return () => {
|
|
725
725
|
x && clearInterval(x);
|
|
726
726
|
};
|
|
727
|
-
}, [
|
|
728
|
-
const
|
|
729
|
-
if (!
|
|
730
|
-
const x = n,
|
|
731
|
-
if (
|
|
727
|
+
}, [C, _, G]), ot(() => {
|
|
728
|
+
const k = E.current;
|
|
729
|
+
if (!k) return;
|
|
730
|
+
const x = n, H = () => {
|
|
731
|
+
if (b.current)
|
|
732
732
|
return;
|
|
733
|
-
const { scrollTop: P, scrollHeight: Q, clientHeight: ft } =
|
|
734
|
-
if (Q - P - ft < 10 ? (
|
|
733
|
+
const { scrollTop: P, scrollHeight: Q, clientHeight: ft } = k;
|
|
734
|
+
if (Q - P - ft < 10 ? (C !== "LOCKED_AT_BOTTOM" && A("LOCKED_AT_BOTTOM"), V.current = null) : (C !== "IDLE_NOT_AT_BOTTOM" && A("IDLE_NOT_AT_BOTTOM"), V.current = {
|
|
735
735
|
top: P,
|
|
736
736
|
height: Q
|
|
737
737
|
}), Math.abs(P - M.current) < x)
|
|
@@ -739,40 +739,40 @@ function vt(t, c, m, g) {
|
|
|
739
739
|
console.log(
|
|
740
740
|
`Threshold passed at ${P}px. Recalculating range...`
|
|
741
741
|
);
|
|
742
|
-
let
|
|
743
|
-
for (;
|
|
744
|
-
const mt = Math.floor((
|
|
745
|
-
G[mt] < P ? (Ct = mt,
|
|
742
|
+
let yt = _ - 1, pt = 0, Ct = 0;
|
|
743
|
+
for (; pt <= yt; ) {
|
|
744
|
+
const mt = Math.floor((pt + yt) / 2);
|
|
745
|
+
G[mt] < P ? (Ct = mt, pt = mt + 1) : yt = mt - 1;
|
|
746
746
|
}
|
|
747
747
|
const $t = Math.max(0, Ct - a);
|
|
748
748
|
let St = $t;
|
|
749
|
-
const
|
|
750
|
-
for (; St <
|
|
749
|
+
const Ut = P + ft;
|
|
750
|
+
for (; St < _ && G[St] < Ut; )
|
|
751
751
|
St++;
|
|
752
|
-
|
|
752
|
+
w({
|
|
753
753
|
startIndex: $t,
|
|
754
|
-
endIndex: Math.min(
|
|
754
|
+
endIndex: Math.min(_, St + a)
|
|
755
755
|
}), M.current = P;
|
|
756
756
|
};
|
|
757
|
-
return
|
|
757
|
+
return k.addEventListener("scroll", H, {
|
|
758
758
|
passive: !0
|
|
759
|
-
}), () =>
|
|
760
|
-
}, [
|
|
759
|
+
}), () => k.removeEventListener("scroll", H);
|
|
760
|
+
}, [_, G, n, a, C]);
|
|
761
761
|
const st = kt(() => {
|
|
762
762
|
console.log(
|
|
763
763
|
"USER ACTION: Clicked scroll button -> SCROLLING_TO_BOTTOM"
|
|
764
|
-
),
|
|
764
|
+
), A("SCROLLING_TO_BOTTOM");
|
|
765
765
|
}, []), gt = kt(
|
|
766
|
-
(
|
|
767
|
-
|
|
768
|
-
top: G[
|
|
766
|
+
(k, x = "smooth") => {
|
|
767
|
+
E.current && G[k] !== void 0 && (A("IDLE_NOT_AT_BOTTOM"), E.current.scrollTo({
|
|
768
|
+
top: G[k],
|
|
769
769
|
behavior: x
|
|
770
770
|
}));
|
|
771
771
|
},
|
|
772
772
|
[G]
|
|
773
|
-
),
|
|
773
|
+
), jt = {
|
|
774
774
|
outer: {
|
|
775
|
-
ref:
|
|
775
|
+
ref: E,
|
|
776
776
|
style: { overflowY: "auto", height: "100%" }
|
|
777
777
|
},
|
|
778
778
|
inner: {
|
|
@@ -783,13 +783,13 @@ function vt(t, c, m, g) {
|
|
|
783
783
|
},
|
|
784
784
|
list: {
|
|
785
785
|
style: {
|
|
786
|
-
transform: `translateY(${G[
|
|
786
|
+
transform: `translateY(${G[y.startIndex] || 0}px)`
|
|
787
787
|
}
|
|
788
788
|
}
|
|
789
789
|
};
|
|
790
790
|
return {
|
|
791
791
|
virtualState: B,
|
|
792
|
-
virtualizerProps:
|
|
792
|
+
virtualizerProps: jt,
|
|
793
793
|
scrollToBottom: st,
|
|
794
794
|
scrollToIndex: gt
|
|
795
795
|
};
|
|
@@ -797,49 +797,49 @@ function vt(t, c, m, g) {
|
|
|
797
797
|
if (l === "stateSort")
|
|
798
798
|
return (e) => {
|
|
799
799
|
const a = [...d()].sort(
|
|
800
|
-
(u,
|
|
801
|
-
), i = a.map(({ item: u }) => u),
|
|
802
|
-
...
|
|
800
|
+
(u, E) => e(u.item, E.item)
|
|
801
|
+
), i = a.map(({ item: u }) => u), f = {
|
|
802
|
+
...S,
|
|
803
803
|
validIndices: a.map(
|
|
804
804
|
({ originalIndex: u }) => u
|
|
805
805
|
)
|
|
806
806
|
};
|
|
807
|
-
return s(i, r,
|
|
807
|
+
return s(i, r, f);
|
|
808
808
|
};
|
|
809
809
|
if (l === "stateFilter")
|
|
810
810
|
return (e) => {
|
|
811
811
|
const a = d().filter(
|
|
812
|
-
({ item: u },
|
|
813
|
-
), i = a.map(({ item: u }) => u),
|
|
814
|
-
...
|
|
812
|
+
({ item: u }, E) => e(u, E)
|
|
813
|
+
), i = a.map(({ item: u }) => u), f = {
|
|
814
|
+
...S,
|
|
815
815
|
validIndices: a.map(
|
|
816
816
|
({ originalIndex: u }) => u
|
|
817
817
|
)
|
|
818
818
|
};
|
|
819
|
-
return s(i, r,
|
|
819
|
+
return s(i, r, f);
|
|
820
820
|
};
|
|
821
821
|
if (l === "stateMap")
|
|
822
822
|
return (e) => {
|
|
823
823
|
const n = o.getState().getNestedState(t, r);
|
|
824
|
-
return Array.isArray(n) ? (
|
|
825
|
-
const u = n[i],
|
|
826
|
-
return e(u,
|
|
824
|
+
return Array.isArray(n) ? (S?.validIndices || Array.from({ length: n.length }, (i, f) => f)).map((i, f) => {
|
|
825
|
+
const u = n[i], E = [...r, i.toString()], y = s(u, E, S);
|
|
826
|
+
return e(u, y, {
|
|
827
827
|
register: () => {
|
|
828
|
-
const [,
|
|
828
|
+
const [, C] = K({}), A = `${m}-${r.join(".")}-${i}`;
|
|
829
829
|
ct(() => {
|
|
830
|
-
const
|
|
830
|
+
const b = `${t}////${A}`, F = o.getState().stateComponents.get(t) || {
|
|
831
831
|
components: /* @__PURE__ */ new Map()
|
|
832
832
|
};
|
|
833
|
-
return
|
|
834
|
-
forceUpdate: () =>
|
|
835
|
-
paths: /* @__PURE__ */ new Set([
|
|
836
|
-
}), o.getState().stateComponents.set(t,
|
|
833
|
+
return F.components.set(b, {
|
|
834
|
+
forceUpdate: () => C({}),
|
|
835
|
+
paths: /* @__PURE__ */ new Set([E.join(".")])
|
|
836
|
+
}), o.getState().stateComponents.set(t, F), () => {
|
|
837
837
|
const Y = o.getState().stateComponents.get(t);
|
|
838
|
-
Y && Y.components.delete(
|
|
838
|
+
Y && Y.components.delete(b);
|
|
839
839
|
};
|
|
840
|
-
}, [t,
|
|
840
|
+
}, [t, A]);
|
|
841
841
|
},
|
|
842
|
-
index:
|
|
842
|
+
index: f,
|
|
843
843
|
originalIndex: i
|
|
844
844
|
});
|
|
845
845
|
}) : (console.warn(
|
|
@@ -848,16 +848,16 @@ function vt(t, c, m, g) {
|
|
|
848
848
|
), null);
|
|
849
849
|
};
|
|
850
850
|
if (l === "stateMapNoRender")
|
|
851
|
-
return (e) =>
|
|
852
|
-
let
|
|
853
|
-
|
|
854
|
-
const u = [...r,
|
|
851
|
+
return (e) => T.map((a, i) => {
|
|
852
|
+
let f;
|
|
853
|
+
S?.validIndices && S.validIndices[i] !== void 0 ? f = S.validIndices[i] : f = i;
|
|
854
|
+
const u = [...r, f.toString()], E = s(a, u, S);
|
|
855
855
|
return e(
|
|
856
856
|
a,
|
|
857
|
-
|
|
857
|
+
E,
|
|
858
858
|
i,
|
|
859
|
-
|
|
860
|
-
s(
|
|
859
|
+
T,
|
|
860
|
+
s(T, r, S)
|
|
861
861
|
);
|
|
862
862
|
});
|
|
863
863
|
if (l === "$stateMap")
|
|
@@ -873,34 +873,20 @@ function vt(t, c, m, g) {
|
|
|
873
873
|
if (l === "stateList")
|
|
874
874
|
return (e) => {
|
|
875
875
|
const n = o.getState().getNestedState(t, r);
|
|
876
|
-
return Array.isArray(n) ? (
|
|
877
|
-
const u = n[i],
|
|
878
|
-
u,
|
|
879
|
-
p,
|
|
880
|
-
i,
|
|
881
|
-
// Use originalIndex here
|
|
882
|
-
n,
|
|
883
|
-
s(n, r, f)
|
|
884
|
-
);
|
|
876
|
+
return Array.isArray(n) ? (S?.validIndices || Array.from({ length: n.length }, (i, f) => f)).map((i, f) => {
|
|
877
|
+
const u = n[i], E = [...r, i.toString()], y = s(u, E, S), w = `${m}-${r.join(".")}-${i}`;
|
|
885
878
|
return lt(ae, {
|
|
886
879
|
key: i,
|
|
887
880
|
stateKey: t,
|
|
888
|
-
itemComponentId:
|
|
889
|
-
itemPath:
|
|
890
|
-
children:
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
validationKey: N?.validation?.key || "",
|
|
898
|
-
stateKey: t,
|
|
899
|
-
validIndices: f?.validIndices,
|
|
900
|
-
children: k
|
|
901
|
-
}
|
|
902
|
-
)
|
|
903
|
-
) : k
|
|
881
|
+
itemComponentId: w,
|
|
882
|
+
itemPath: E,
|
|
883
|
+
children: e(
|
|
884
|
+
u,
|
|
885
|
+
y,
|
|
886
|
+
{ localIndex: f, originalIndex: i },
|
|
887
|
+
n,
|
|
888
|
+
s(n, r, S)
|
|
889
|
+
)
|
|
904
890
|
});
|
|
905
891
|
}) : (console.warn(
|
|
906
892
|
`stateList called on a non-array value at path: ${r.join(".")}.`
|
|
@@ -908,20 +894,20 @@ function vt(t, c, m, g) {
|
|
|
908
894
|
};
|
|
909
895
|
if (l === "stateFlattenOn")
|
|
910
896
|
return (e) => {
|
|
911
|
-
const n =
|
|
912
|
-
|
|
897
|
+
const n = T;
|
|
898
|
+
I.clear(), N++;
|
|
913
899
|
const a = n.flatMap(
|
|
914
900
|
(i) => i[e] ?? []
|
|
915
901
|
);
|
|
916
902
|
return s(
|
|
917
903
|
a,
|
|
918
904
|
[...r, "[*]", e],
|
|
919
|
-
|
|
905
|
+
S
|
|
920
906
|
);
|
|
921
907
|
};
|
|
922
908
|
if (l === "index")
|
|
923
909
|
return (e) => {
|
|
924
|
-
const n =
|
|
910
|
+
const n = T[e];
|
|
925
911
|
return s(n, [...r, e.toString()]);
|
|
926
912
|
};
|
|
927
913
|
if (l === "last")
|
|
@@ -932,58 +918,58 @@ function vt(t, c, m, g) {
|
|
|
932
918
|
return s(a, i);
|
|
933
919
|
};
|
|
934
920
|
if (l === "insert")
|
|
935
|
-
return (e) => (
|
|
921
|
+
return (e) => (p(r), Et(c, e, r, t), s(
|
|
936
922
|
o.getState().getNestedState(t, r),
|
|
937
923
|
r
|
|
938
924
|
));
|
|
939
925
|
if (l === "uniqueInsert")
|
|
940
926
|
return (e, n, a) => {
|
|
941
|
-
const i = o.getState().getNestedState(t, r),
|
|
927
|
+
const i = o.getState().getNestedState(t, r), f = tt(e) ? e(i) : e;
|
|
942
928
|
let u = null;
|
|
943
|
-
if (!i.some((
|
|
929
|
+
if (!i.some((y) => {
|
|
944
930
|
if (n) {
|
|
945
|
-
const
|
|
946
|
-
(
|
|
931
|
+
const C = n.every(
|
|
932
|
+
(A) => J(y[A], f[A])
|
|
947
933
|
);
|
|
948
|
-
return
|
|
934
|
+
return C && (u = y), C;
|
|
949
935
|
}
|
|
950
|
-
const
|
|
951
|
-
return
|
|
936
|
+
const w = J(y, f);
|
|
937
|
+
return w && (u = y), w;
|
|
952
938
|
}))
|
|
953
|
-
|
|
939
|
+
p(r), Et(c, f, r, t);
|
|
954
940
|
else if (a && u) {
|
|
955
|
-
const
|
|
956
|
-
(
|
|
941
|
+
const y = a(u), w = i.map(
|
|
942
|
+
(C) => J(C, u) ? y : C
|
|
957
943
|
);
|
|
958
|
-
|
|
944
|
+
p(r), it(c, w, r);
|
|
959
945
|
}
|
|
960
946
|
};
|
|
961
947
|
if (l === "cut")
|
|
962
948
|
return (e, n) => {
|
|
963
949
|
if (!n?.waitForSync)
|
|
964
|
-
return
|
|
950
|
+
return p(r), ht(c, r, t, e), s(
|
|
965
951
|
o.getState().getNestedState(t, r),
|
|
966
952
|
r
|
|
967
953
|
);
|
|
968
954
|
};
|
|
969
955
|
if (l === "cutByValue")
|
|
970
956
|
return (e) => {
|
|
971
|
-
for (let n = 0; n <
|
|
972
|
-
|
|
957
|
+
for (let n = 0; n < T.length; n++)
|
|
958
|
+
T[n] === e && ht(c, r, t, n);
|
|
973
959
|
};
|
|
974
960
|
if (l === "toggleByValue")
|
|
975
961
|
return (e) => {
|
|
976
|
-
const n =
|
|
977
|
-
n > -1 ? ht(c, r, t, n) :
|
|
962
|
+
const n = T.findIndex((a) => a === e);
|
|
963
|
+
n > -1 ? ht(c, r, t, n) : Et(c, e, r, t);
|
|
978
964
|
};
|
|
979
965
|
if (l === "stateFind")
|
|
980
966
|
return (e) => {
|
|
981
967
|
const a = d().find(
|
|
982
|
-
({ item:
|
|
968
|
+
({ item: f }, u) => e(f, u)
|
|
983
969
|
);
|
|
984
970
|
if (!a) return;
|
|
985
971
|
const i = [...r, a.originalIndex.toString()];
|
|
986
|
-
return s(a.item, i,
|
|
972
|
+
return s(a.item, i, S);
|
|
987
973
|
};
|
|
988
974
|
if (l === "findWith")
|
|
989
975
|
return (e, n) => {
|
|
@@ -991,8 +977,8 @@ function vt(t, c, m, g) {
|
|
|
991
977
|
({ item: u }) => u[e] === n
|
|
992
978
|
);
|
|
993
979
|
if (!i) return;
|
|
994
|
-
const
|
|
995
|
-
return s(i.item,
|
|
980
|
+
const f = [...r, i.originalIndex.toString()];
|
|
981
|
+
return s(i.item, f, S);
|
|
996
982
|
};
|
|
997
983
|
}
|
|
998
984
|
const et = r[r.length - 1];
|
|
@@ -1008,20 +994,20 @@ function vt(t, c, m, g) {
|
|
|
1008
994
|
}
|
|
1009
995
|
if (l === "get")
|
|
1010
996
|
return () => {
|
|
1011
|
-
if (
|
|
997
|
+
if (S?.validIndices && Array.isArray(T)) {
|
|
1012
998
|
const d = o.getState().getNestedState(t, r);
|
|
1013
|
-
return
|
|
999
|
+
return S.validIndices.map((e) => d[e]);
|
|
1014
1000
|
}
|
|
1015
1001
|
return o.getState().getNestedState(t, r);
|
|
1016
1002
|
};
|
|
1017
1003
|
if (l === "$derive")
|
|
1018
|
-
return (d) =>
|
|
1004
|
+
return (d) => Vt({
|
|
1019
1005
|
_stateKey: t,
|
|
1020
1006
|
_path: r,
|
|
1021
1007
|
_effect: d.toString()
|
|
1022
1008
|
});
|
|
1023
1009
|
if (l === "$get")
|
|
1024
|
-
return () =>
|
|
1010
|
+
return () => Vt({
|
|
1025
1011
|
_stateKey: t,
|
|
1026
1012
|
_path: r
|
|
1027
1013
|
});
|
|
@@ -1030,7 +1016,7 @@ function vt(t, c, m, g) {
|
|
|
1030
1016
|
return o.getState().getSyncInfo(d);
|
|
1031
1017
|
}
|
|
1032
1018
|
if (l == "getLocalStorage")
|
|
1033
|
-
return (d) =>
|
|
1019
|
+
return (d) => vt(g + "-" + t + "-" + d);
|
|
1034
1020
|
if (l === "_selected") {
|
|
1035
1021
|
const d = r.slice(0, -1), e = d.join("."), n = o.getState().getNestedState(t, d);
|
|
1036
1022
|
return Array.isArray(n) ? Number(r[r.length - 1]) === o.getState().getSelectedIndex(t, e) : void 0;
|
|
@@ -1040,7 +1026,7 @@ function vt(t, c, m, g) {
|
|
|
1040
1026
|
const e = r.slice(0, -1), n = Number(r[r.length - 1]), a = e.join(".");
|
|
1041
1027
|
d ? o.getState().setSelectedIndex(t, a, n) : o.getState().setSelectedIndex(t, a, void 0);
|
|
1042
1028
|
const i = o.getState().getNestedState(t, [...e]);
|
|
1043
|
-
it(c, i, e),
|
|
1029
|
+
it(c, i, e), p(e);
|
|
1044
1030
|
};
|
|
1045
1031
|
if (l === "toggleSelected")
|
|
1046
1032
|
return () => {
|
|
@@ -1051,7 +1037,7 @@ function vt(t, c, m, g) {
|
|
|
1051
1037
|
a === e ? void 0 : e
|
|
1052
1038
|
);
|
|
1053
1039
|
const i = o.getState().getNestedState(t, [...d]);
|
|
1054
|
-
it(c, i, d),
|
|
1040
|
+
it(c, i, d), p(d);
|
|
1055
1041
|
};
|
|
1056
1042
|
if (r.length == 0) {
|
|
1057
1043
|
if (l === "addValidation")
|
|
@@ -1061,13 +1047,13 @@ function vt(t, c, m, g) {
|
|
|
1061
1047
|
throw new Error("Validation key not found");
|
|
1062
1048
|
X(e.key), console.log("addValidationError", d), d.forEach((n) => {
|
|
1063
1049
|
const a = [e.key, ...n.path].join(".");
|
|
1064
|
-
console.log("fullErrorPath", a),
|
|
1050
|
+
console.log("fullErrorPath", a), Rt(a, n.message);
|
|
1065
1051
|
}), dt(t);
|
|
1066
1052
|
};
|
|
1067
1053
|
if (l === "applyJsonPatch")
|
|
1068
1054
|
return (d) => {
|
|
1069
1055
|
const e = o.getState().cogsStateStore[t], a = Yt(e, d).newDocument;
|
|
1070
|
-
|
|
1056
|
+
Dt(
|
|
1071
1057
|
t,
|
|
1072
1058
|
o.getState().initialStateGlobal[t],
|
|
1073
1059
|
a,
|
|
@@ -1077,57 +1063,57 @@ function vt(t, c, m, g) {
|
|
|
1077
1063
|
);
|
|
1078
1064
|
const i = o.getState().stateComponents.get(t);
|
|
1079
1065
|
if (i) {
|
|
1080
|
-
const
|
|
1066
|
+
const f = _t(e, a), u = new Set(f);
|
|
1081
1067
|
for (const [
|
|
1082
|
-
|
|
1083
|
-
|
|
1068
|
+
E,
|
|
1069
|
+
y
|
|
1084
1070
|
] of i.components.entries()) {
|
|
1085
|
-
let
|
|
1086
|
-
const
|
|
1087
|
-
if (!
|
|
1088
|
-
if (
|
|
1089
|
-
|
|
1071
|
+
let w = !1;
|
|
1072
|
+
const C = Array.isArray(y.reactiveType) ? y.reactiveType : [y.reactiveType || "component"];
|
|
1073
|
+
if (!C.includes("none")) {
|
|
1074
|
+
if (C.includes("all")) {
|
|
1075
|
+
y.forceUpdate();
|
|
1090
1076
|
continue;
|
|
1091
1077
|
}
|
|
1092
|
-
if (
|
|
1093
|
-
for (const
|
|
1094
|
-
if (
|
|
1095
|
-
|
|
1078
|
+
if (C.includes("component") && (y.paths.has("") && (w = !0), !w))
|
|
1079
|
+
for (const A of u) {
|
|
1080
|
+
if (y.paths.has(A)) {
|
|
1081
|
+
w = !0;
|
|
1096
1082
|
break;
|
|
1097
1083
|
}
|
|
1098
|
-
let
|
|
1099
|
-
for (;
|
|
1100
|
-
const
|
|
1101
|
-
if (
|
|
1102
|
-
|
|
1084
|
+
let b = A.lastIndexOf(".");
|
|
1085
|
+
for (; b !== -1; ) {
|
|
1086
|
+
const F = A.substring(0, b);
|
|
1087
|
+
if (y.paths.has(F)) {
|
|
1088
|
+
w = !0;
|
|
1103
1089
|
break;
|
|
1104
1090
|
}
|
|
1105
|
-
const Y =
|
|
1106
|
-
|
|
1091
|
+
const Y = A.substring(
|
|
1092
|
+
b + 1
|
|
1107
1093
|
);
|
|
1108
1094
|
if (!isNaN(Number(Y))) {
|
|
1109
|
-
const M =
|
|
1095
|
+
const M = F.lastIndexOf(".");
|
|
1110
1096
|
if (M !== -1) {
|
|
1111
|
-
const $ =
|
|
1097
|
+
const $ = F.substring(
|
|
1112
1098
|
0,
|
|
1113
1099
|
M
|
|
1114
1100
|
);
|
|
1115
|
-
if (
|
|
1116
|
-
|
|
1101
|
+
if (y.paths.has($)) {
|
|
1102
|
+
w = !0;
|
|
1117
1103
|
break;
|
|
1118
1104
|
}
|
|
1119
1105
|
}
|
|
1120
1106
|
}
|
|
1121
|
-
|
|
1107
|
+
b = F.lastIndexOf(".");
|
|
1122
1108
|
}
|
|
1123
|
-
if (
|
|
1109
|
+
if (w) break;
|
|
1124
1110
|
}
|
|
1125
|
-
if (!
|
|
1126
|
-
const
|
|
1127
|
-
let
|
|
1128
|
-
typeof
|
|
1111
|
+
if (!w && C.includes("deps") && y.depsFunction) {
|
|
1112
|
+
const A = y.depsFunction(a);
|
|
1113
|
+
let b = !1;
|
|
1114
|
+
typeof A == "boolean" ? A && (b = !0) : J(y.deps, A) || (y.deps = A, b = !0), b && (w = !0);
|
|
1129
1115
|
}
|
|
1130
|
-
|
|
1116
|
+
w && y.forceUpdate();
|
|
1131
1117
|
}
|
|
1132
1118
|
}
|
|
1133
1119
|
}
|
|
@@ -1143,13 +1129,13 @@ function vt(t, c, m, g) {
|
|
|
1143
1129
|
const n = o.getState().cogsStateStore[t];
|
|
1144
1130
|
try {
|
|
1145
1131
|
const a = o.getState().getValidationErrors(d.key);
|
|
1146
|
-
a && a.length > 0 && a.forEach(([
|
|
1147
|
-
|
|
1132
|
+
a && a.length > 0 && a.forEach(([f]) => {
|
|
1133
|
+
f && f.startsWith(d.key) && X(f);
|
|
1148
1134
|
});
|
|
1149
1135
|
const i = d.zodSchema.safeParse(n);
|
|
1150
1136
|
return i.success ? !0 : (i.error.errors.forEach((u) => {
|
|
1151
|
-
const
|
|
1152
|
-
e(
|
|
1137
|
+
const E = u.path, y = u.message, w = [d.key, ...E].join(".");
|
|
1138
|
+
e(w, y);
|
|
1153
1139
|
}), dt(t), !1);
|
|
1154
1140
|
} catch (a) {
|
|
1155
1141
|
return console.error("Zod schema validation failed", a), !1;
|
|
@@ -1159,7 +1145,7 @@ function vt(t, c, m, g) {
|
|
|
1159
1145
|
if (l === "getComponents")
|
|
1160
1146
|
return () => o().stateComponents.get(t);
|
|
1161
1147
|
if (l === "getAllFormRefs")
|
|
1162
|
-
return () =>
|
|
1148
|
+
return () => bt.getState().getFormRefsByStateKey(t);
|
|
1163
1149
|
if (l === "_initialState")
|
|
1164
1150
|
return o.getState().initialStateGlobal[t];
|
|
1165
1151
|
if (l === "_serverState")
|
|
@@ -1172,19 +1158,19 @@ function vt(t, c, m, g) {
|
|
|
1172
1158
|
if (l === "removeValidation") return v.removeValidation;
|
|
1173
1159
|
}
|
|
1174
1160
|
if (l === "getFormRef")
|
|
1175
|
-
return () =>
|
|
1161
|
+
return () => bt.getState().getFormRef(t + "." + r.join("."));
|
|
1176
1162
|
if (l === "validationWrapper")
|
|
1177
1163
|
return ({
|
|
1178
1164
|
children: d,
|
|
1179
1165
|
hideMessage: e
|
|
1180
|
-
}) => /* @__PURE__ */
|
|
1181
|
-
|
|
1166
|
+
}) => /* @__PURE__ */ Ot(
|
|
1167
|
+
zt,
|
|
1182
1168
|
{
|
|
1183
1169
|
formOpts: e ? { validation: { message: "" } } : void 0,
|
|
1184
1170
|
path: r,
|
|
1185
1171
|
validationKey: o.getState().getInitialOptions(t)?.validation?.key || "",
|
|
1186
1172
|
stateKey: t,
|
|
1187
|
-
validIndices:
|
|
1173
|
+
validIndices: S?.validIndices,
|
|
1188
1174
|
children: d
|
|
1189
1175
|
}
|
|
1190
1176
|
);
|
|
@@ -1194,7 +1180,7 @@ function vt(t, c, m, g) {
|
|
|
1194
1180
|
if (l === "update")
|
|
1195
1181
|
return (d, e) => {
|
|
1196
1182
|
if (e?.debounce)
|
|
1197
|
-
|
|
1183
|
+
Wt(() => {
|
|
1198
1184
|
it(c, d, r, "");
|
|
1199
1185
|
const n = o.getState().getNestedState(t, r);
|
|
1200
1186
|
e?.afterUpdate && e.afterUpdate(n);
|
|
@@ -1204,10 +1190,10 @@ function vt(t, c, m, g) {
|
|
|
1204
1190
|
const n = o.getState().getNestedState(t, r);
|
|
1205
1191
|
e?.afterUpdate && e.afterUpdate(n);
|
|
1206
1192
|
}
|
|
1207
|
-
|
|
1193
|
+
p(r);
|
|
1208
1194
|
};
|
|
1209
1195
|
if (l === "formElement")
|
|
1210
|
-
return (d, e) => /* @__PURE__ */
|
|
1196
|
+
return (d, e) => /* @__PURE__ */ Ot(
|
|
1211
1197
|
qt,
|
|
1212
1198
|
{
|
|
1213
1199
|
setState: c,
|
|
@@ -1218,19 +1204,19 @@ function vt(t, c, m, g) {
|
|
|
1218
1204
|
}
|
|
1219
1205
|
);
|
|
1220
1206
|
const L = [...r, l], at = o.getState().getNestedState(t, L);
|
|
1221
|
-
return s(at, L,
|
|
1207
|
+
return s(at, L, S);
|
|
1222
1208
|
}
|
|
1223
1209
|
}, z = new Proxy(j, U);
|
|
1224
|
-
return
|
|
1210
|
+
return I.set(W, {
|
|
1225
1211
|
proxy: z,
|
|
1226
|
-
stateVersion:
|
|
1212
|
+
stateVersion: N
|
|
1227
1213
|
}), z;
|
|
1228
1214
|
}
|
|
1229
1215
|
return s(
|
|
1230
1216
|
o.getState().getNestedState(t, [])
|
|
1231
1217
|
);
|
|
1232
1218
|
}
|
|
1233
|
-
function
|
|
1219
|
+
function Vt(t) {
|
|
1234
1220
|
return lt(oe, { proxy: t });
|
|
1235
1221
|
}
|
|
1236
1222
|
function re({
|
|
@@ -1242,7 +1228,7 @@ function re({
|
|
|
1242
1228
|
m,
|
|
1243
1229
|
t._path
|
|
1244
1230
|
).stateMapNoRender(
|
|
1245
|
-
(
|
|
1231
|
+
(I, N, p, v, s) => t._mapFn(I, N, p, v, s)
|
|
1246
1232
|
) : null;
|
|
1247
1233
|
}
|
|
1248
1234
|
function oe({
|
|
@@ -1252,31 +1238,31 @@ function oe({
|
|
|
1252
1238
|
return ot(() => {
|
|
1253
1239
|
const g = c.current;
|
|
1254
1240
|
if (!g || !g.parentElement) return;
|
|
1255
|
-
const
|
|
1256
|
-
let v =
|
|
1257
|
-
v || (v = `parent-${crypto.randomUUID()}`,
|
|
1258
|
-
const
|
|
1241
|
+
const I = g.parentElement, p = Array.from(I.childNodes).indexOf(g);
|
|
1242
|
+
let v = I.getAttribute("data-parent-id");
|
|
1243
|
+
v || (v = `parent-${crypto.randomUUID()}`, I.setAttribute("data-parent-id", v));
|
|
1244
|
+
const T = {
|
|
1259
1245
|
instanceId: `instance-${crypto.randomUUID()}`,
|
|
1260
1246
|
parentId: v,
|
|
1261
|
-
position:
|
|
1247
|
+
position: p,
|
|
1262
1248
|
effect: t._effect
|
|
1263
1249
|
};
|
|
1264
|
-
o.getState().addSignalElement(m,
|
|
1250
|
+
o.getState().addSignalElement(m, T);
|
|
1265
1251
|
const r = o.getState().getNestedState(t._stateKey, t._path);
|
|
1266
|
-
let
|
|
1252
|
+
let S;
|
|
1267
1253
|
if (t._effect)
|
|
1268
1254
|
try {
|
|
1269
|
-
|
|
1255
|
+
S = new Function(
|
|
1270
1256
|
"state",
|
|
1271
1257
|
`return (${t._effect})(state)`
|
|
1272
1258
|
)(r);
|
|
1273
1259
|
} catch (j) {
|
|
1274
|
-
console.error("Error evaluating effect function during mount:", j),
|
|
1260
|
+
console.error("Error evaluating effect function during mount:", j), S = r;
|
|
1275
1261
|
}
|
|
1276
1262
|
else
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
const W = document.createTextNode(String(
|
|
1263
|
+
S = r;
|
|
1264
|
+
S !== null && typeof S == "object" && (S = JSON.stringify(S));
|
|
1265
|
+
const W = document.createTextNode(String(S));
|
|
1280
1266
|
g.replaceWith(W);
|
|
1281
1267
|
}, [t._stateKey, t._path.join("."), t._effect]), lt("span", {
|
|
1282
1268
|
ref: c,
|
|
@@ -1285,7 +1271,7 @@ function oe({
|
|
|
1285
1271
|
});
|
|
1286
1272
|
}
|
|
1287
1273
|
function pe(t) {
|
|
1288
|
-
const c =
|
|
1274
|
+
const c = Ht(
|
|
1289
1275
|
(m) => {
|
|
1290
1276
|
const g = o.getState().stateComponents.get(t._stateKey) || {
|
|
1291
1277
|
components: /* @__PURE__ */ new Map()
|
|
@@ -1305,30 +1291,30 @@ function ae({
|
|
|
1305
1291
|
itemPath: m,
|
|
1306
1292
|
children: g
|
|
1307
1293
|
}) {
|
|
1308
|
-
const [,
|
|
1294
|
+
const [, I] = K({}), [N, p] = Zt(), v = q(null);
|
|
1309
1295
|
return ot(() => {
|
|
1310
|
-
|
|
1296
|
+
p.height > 0 && p.height !== v.current && (v.current = p.height, o.getState().setShadowMetadata(t, m, {
|
|
1311
1297
|
virtualizer: {
|
|
1312
|
-
itemHeight:
|
|
1298
|
+
itemHeight: p.height
|
|
1313
1299
|
}
|
|
1314
1300
|
}));
|
|
1315
|
-
}, [
|
|
1316
|
-
const s = `${t}////${c}`,
|
|
1301
|
+
}, [p.height, t, m]), ct(() => {
|
|
1302
|
+
const s = `${t}////${c}`, T = o.getState().stateComponents.get(t) || {
|
|
1317
1303
|
components: /* @__PURE__ */ new Map()
|
|
1318
1304
|
};
|
|
1319
|
-
return
|
|
1320
|
-
forceUpdate: () =>
|
|
1305
|
+
return T.components.set(s, {
|
|
1306
|
+
forceUpdate: () => I({}),
|
|
1321
1307
|
paths: /* @__PURE__ */ new Set([m.join(".")])
|
|
1322
|
-
}), o.getState().stateComponents.set(t,
|
|
1308
|
+
}), o.getState().stateComponents.set(t, T), () => {
|
|
1323
1309
|
const r = o.getState().stateComponents.get(t);
|
|
1324
1310
|
r && r.components.delete(s);
|
|
1325
1311
|
};
|
|
1326
|
-
}, [t, c, m.join(".")]), /* @__PURE__ */
|
|
1312
|
+
}, [t, c, m.join(".")]), /* @__PURE__ */ Ot("div", { ref: N, children: g });
|
|
1327
1313
|
}
|
|
1328
1314
|
export {
|
|
1329
|
-
|
|
1315
|
+
Vt as $cogsSignal,
|
|
1330
1316
|
pe as $cogsSignalStore,
|
|
1331
|
-
|
|
1317
|
+
Ie as addStateOptions,
|
|
1332
1318
|
ve as createCogsState,
|
|
1333
1319
|
ye as notifyComponent,
|
|
1334
1320
|
ne as useCogsStateFn
|