cogsbox-state 0.5.399 → 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 +256 -262
- package/dist/CogsState.jsx.map +1 -1
- package/dist/Functions.jsx +1 -1
- package/package.json +1 -1
- package/src/CogsState.tsx +7 -14
package/dist/CogsState.jsx
CHANGED
|
@@ -1,53 +1,53 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as Ot } from "react/jsx-runtime";
|
|
3
|
-
import { useState as K, useRef as q, useEffect as
|
|
4
|
-
import { transformStateFunc as
|
|
5
|
-
import {
|
|
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
|
|
13
|
+
function Mt(t, c) {
|
|
14
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
|
-
options:
|
|
22
|
+
options: c,
|
|
23
23
|
initialOptionsPart: m
|
|
24
24
|
}) {
|
|
25
|
-
const g =
|
|
25
|
+
const g = rt(t) || {}, I = m[t] || {}, N = o.getState().setInitialStateOptions, p = { ...I, ...g };
|
|
26
26
|
let v = !1;
|
|
27
|
-
if (
|
|
28
|
-
for (const s in
|
|
29
|
-
|
|
30
|
-
!J(
|
|
31
|
-
v && N(t,
|
|
27
|
+
if (c)
|
|
28
|
+
for (const s in c)
|
|
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 Ie(t, { formElements:
|
|
34
|
-
return { initialState: t, formElements:
|
|
33
|
+
function Ie(t, { formElements: c, validation: m }) {
|
|
34
|
+
return { initialState: t, formElements: c, validation: m };
|
|
35
35
|
}
|
|
36
|
-
const ve = (t,
|
|
36
|
+
const ve = (t, c) => {
|
|
37
37
|
let m = t;
|
|
38
|
-
const [g, I] =
|
|
39
|
-
(Object.keys(I).length > 0 ||
|
|
38
|
+
const [g, I] = Bt(m);
|
|
39
|
+
(Object.keys(I).length > 0 || c && Object.keys(c).length > 0) && Object.keys(I).forEach((v) => {
|
|
40
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
|
-
},
|
|
46
|
+
}, rt(v) || o.getState().setInitialStateOptions(v, I[v]);
|
|
47
47
|
}), o.getState().setInitialStates(g), o.getState().setCreatedState(g);
|
|
48
48
|
const N = (v, s) => {
|
|
49
49
|
const [T] = K(s?.componentId ?? At());
|
|
50
|
-
|
|
50
|
+
xt({
|
|
51
51
|
stateKey: v,
|
|
52
52
|
options: s,
|
|
53
53
|
initialOptionsPart: I
|
|
@@ -70,34 +70,34 @@ const ve = (t, i) => {
|
|
|
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: N, setCogsOptions:
|
|
76
|
+
return { useCogsState: N, setCogsOptions: p };
|
|
77
77
|
}, {
|
|
78
78
|
setUpdaterState: Tt,
|
|
79
79
|
setState: nt,
|
|
80
|
-
getInitialOptions:
|
|
81
|
-
getKeyState:
|
|
80
|
+
getInitialOptions: rt,
|
|
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
95
|
const N = tt(m?.localStorage?.key) ? m.localStorage?.key(t) : m?.localStorage?.key;
|
|
96
96
|
if (N && g) {
|
|
97
|
-
const
|
|
97
|
+
const p = `${g}-${c}-${N}`;
|
|
98
98
|
let v;
|
|
99
99
|
try {
|
|
100
|
-
v = vt(
|
|
100
|
+
v = vt(p)?.lastSyncedWithServer;
|
|
101
101
|
} catch {
|
|
102
102
|
}
|
|
103
103
|
const s = {
|
|
@@ -106,20 +106,20 @@ const ve = (t, i) => {
|
|
|
106
106
|
lastSyncedWithServer: I ?? v
|
|
107
107
|
}, T = Jt.serialize(s);
|
|
108
108
|
window.localStorage.setItem(
|
|
109
|
-
|
|
109
|
+
p,
|
|
110
110
|
JSON.stringify(T.json)
|
|
111
111
|
);
|
|
112
112
|
}
|
|
113
113
|
}, vt = (t) => {
|
|
114
114
|
if (!t) return null;
|
|
115
115
|
try {
|
|
116
|
-
const
|
|
117
|
-
return
|
|
118
|
-
} catch (
|
|
119
|
-
return console.error("Error loading from localStorage:",
|
|
116
|
+
const c = window.localStorage.getItem(t);
|
|
117
|
+
return c ? JSON.parse(c) : null;
|
|
118
|
+
} catch (c) {
|
|
119
|
+
return console.error("Error loading from localStorage:", c), null;
|
|
120
120
|
}
|
|
121
|
-
}, te = (t,
|
|
122
|
-
const m = o.getState().cogsStateStore[t], { sessionId: g } =
|
|
121
|
+
}, te = (t, c) => {
|
|
122
|
+
const m = o.getState().cogsStateStore[t], { sessionId: g } = Gt(), I = tt(c?.localStorage?.key) ? c.localStorage.key(m) : c?.localStorage?.key;
|
|
123
123
|
if (I && g) {
|
|
124
124
|
const N = vt(
|
|
125
125
|
`${g}-${t}-${I}`
|
|
@@ -128,9 +128,9 @@ const ve = (t, i) => {
|
|
|
128
128
|
return nt(t, N.state), dt(t), !0;
|
|
129
129
|
}
|
|
130
130
|
return !1;
|
|
131
|
-
},
|
|
132
|
-
const
|
|
133
|
-
initialState:
|
|
131
|
+
}, Dt = (t, c, m, g, I, N) => {
|
|
132
|
+
const p = {
|
|
133
|
+
initialState: c,
|
|
134
134
|
updaterState: It(
|
|
135
135
|
t,
|
|
136
136
|
g,
|
|
@@ -139,29 +139,29 @@ const ve = (t, i) => {
|
|
|
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
|
-
const
|
|
145
|
-
if (!
|
|
144
|
+
const c = o.getState().stateComponents.get(t);
|
|
145
|
+
if (!c) return;
|
|
146
146
|
const m = /* @__PURE__ */ new Set();
|
|
147
|
-
|
|
147
|
+
c.components.forEach((g) => {
|
|
148
148
|
(g ? Array.isArray(g.reactiveType) ? g.reactiveType : [g.reactiveType || "component"] : null)?.includes("none") || m.add(() => g.forceUpdate());
|
|
149
149
|
}), queueMicrotask(() => {
|
|
150
150
|
m.forEach((g) => g());
|
|
151
151
|
});
|
|
152
|
-
}, ye = (t,
|
|
152
|
+
}, ye = (t, c) => {
|
|
153
153
|
const m = o.getState().stateComponents.get(t);
|
|
154
154
|
if (m) {
|
|
155
|
-
const g = `${t}////${
|
|
155
|
+
const g = `${t}////${c}`, I = m.components.get(g);
|
|
156
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
|
-
}, ee = (t,
|
|
160
|
+
}, ee = (t, c, m, g) => {
|
|
161
161
|
switch (t) {
|
|
162
162
|
case "update":
|
|
163
163
|
return {
|
|
164
|
-
oldValue: Z(
|
|
164
|
+
oldValue: Z(c, g),
|
|
165
165
|
newValue: Z(m, g)
|
|
166
166
|
};
|
|
167
167
|
case "insert":
|
|
@@ -172,7 +172,7 @@ const ve = (t, i) => {
|
|
|
172
172
|
};
|
|
173
173
|
case "cut":
|
|
174
174
|
return {
|
|
175
|
-
oldValue: Z(
|
|
175
|
+
oldValue: Z(c, g),
|
|
176
176
|
newValue: null
|
|
177
177
|
// or undefined
|
|
178
178
|
};
|
|
@@ -181,24 +181,24 @@ const ve = (t, i) => {
|
|
|
181
181
|
}
|
|
182
182
|
};
|
|
183
183
|
function ne(t, {
|
|
184
|
-
stateKey:
|
|
184
|
+
stateKey: c,
|
|
185
185
|
serverSync: m,
|
|
186
186
|
localStorage: g,
|
|
187
187
|
formElements: I,
|
|
188
188
|
reactiveDeps: N,
|
|
189
|
-
reactiveType:
|
|
189
|
+
reactiveType: p,
|
|
190
190
|
componentId: v,
|
|
191
191
|
initialState: s,
|
|
192
192
|
syncUpdate: T,
|
|
193
193
|
dependencies: r,
|
|
194
194
|
serverState: S
|
|
195
195
|
} = {}) {
|
|
196
|
-
const [W, j] = K({}), { sessionId: U } =
|
|
197
|
-
let z = !
|
|
198
|
-
const [h] = K(
|
|
196
|
+
const [W, j] = K({}), { sessionId: U } = Gt();
|
|
197
|
+
let z = !c;
|
|
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
|
-
L.current =
|
|
201
|
+
L.current = rt(h) ?? null, ot(() => {
|
|
202
202
|
if (T && T.stateKey === h && T.path?.[0]) {
|
|
203
203
|
nt(h, (n) => ({
|
|
204
204
|
...n,
|
|
@@ -210,35 +210,35 @@ function ne(t, {
|
|
|
210
210
|
userId: T.userId
|
|
211
211
|
});
|
|
212
212
|
}
|
|
213
|
-
}, [T]),
|
|
213
|
+
}, [T]), ot(() => {
|
|
214
214
|
if (s) {
|
|
215
|
-
|
|
215
|
+
Mt(h, {
|
|
216
216
|
initialState: s
|
|
217
217
|
});
|
|
218
|
-
const e = L.current, a = e?.serverState?.id !== void 0 && e?.serverState?.status === "success" && e?.serverState?.data,
|
|
219
|
-
if (!(
|
|
218
|
+
const e = L.current, a = e?.serverState?.id !== void 0 && e?.serverState?.status === "success" && e?.serverState?.data, i = o.getState().initialStateGlobal[h];
|
|
219
|
+
if (!(i && !J(i, s) || !i) && !a)
|
|
220
220
|
return;
|
|
221
221
|
let u = null;
|
|
222
|
-
const
|
|
223
|
-
|
|
224
|
-
let
|
|
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
225
|
const C = a ? Date.now() : 0, A = u?.lastUpdated || 0, b = u?.lastSyncedWithServer || 0;
|
|
226
|
-
a && C > A ? (
|
|
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
|
-
|
|
230
|
-
|
|
229
|
+
y,
|
|
230
|
+
at,
|
|
231
231
|
et.current,
|
|
232
232
|
U
|
|
233
|
-
), w &&
|
|
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
237
|
S?.status,
|
|
238
238
|
S?.data,
|
|
239
239
|
...r || []
|
|
240
|
-
]),
|
|
241
|
-
z &&
|
|
240
|
+
]), ct(() => {
|
|
241
|
+
z && Mt(h, {
|
|
242
242
|
serverSync: m,
|
|
243
243
|
formElements: I,
|
|
244
244
|
initialState: s,
|
|
@@ -253,23 +253,23 @@ function ne(t, {
|
|
|
253
253
|
paths: /* @__PURE__ */ new Set(),
|
|
254
254
|
deps: [],
|
|
255
255
|
depsFunction: N || void 0,
|
|
256
|
-
reactiveType:
|
|
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
|
};
|
|
260
260
|
}, []);
|
|
261
|
-
const
|
|
261
|
+
const at = (e, n, a, i) => {
|
|
262
262
|
if (Array.isArray(n)) {
|
|
263
263
|
const u = `${h}-${n.join(".")}`;
|
|
264
264
|
ut.current.add(u);
|
|
265
265
|
}
|
|
266
266
|
const f = o.getState();
|
|
267
267
|
nt(h, (u) => {
|
|
268
|
-
const
|
|
269
|
-
if (
|
|
270
|
-
let M = !1, $ = f.signalDomElements.get(
|
|
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(".")}`;
|
|
@@ -277,7 +277,7 @@ function ne(t, {
|
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
279
|
if ($) {
|
|
280
|
-
const R = M ? Z(
|
|
280
|
+
const R = M ? Z(E, n.slice(0, -1)) : Z(E, n);
|
|
281
281
|
$.forEach(({ parentId: V, position: O, effect: _ }) => {
|
|
282
282
|
const D = document.querySelector(
|
|
283
283
|
`[data-parent-id="${V}"]`
|
|
@@ -292,8 +292,8 @@ function ne(t, {
|
|
|
292
292
|
});
|
|
293
293
|
}
|
|
294
294
|
}
|
|
295
|
-
console.log("shadowState", f.shadowStateStore), a.updateType === "update" && (
|
|
296
|
-
(
|
|
295
|
+
console.log("shadowState", f.shadowStateStore), a.updateType === "update" && (i || L.current?.validation?.key) && n && X(
|
|
296
|
+
(i || L.current?.validation?.key) + "." + n.join(".")
|
|
297
297
|
);
|
|
298
298
|
const w = n.slice(0, n.length - 1);
|
|
299
299
|
a.updateType === "cut" && L.current?.validation?.key && X(
|
|
@@ -304,12 +304,12 @@ function ne(t, {
|
|
|
304
304
|
let V = $?.split(".").length;
|
|
305
305
|
if ($ == w.join(".") && V == w.length - 1) {
|
|
306
306
|
let O = $ + "." + w;
|
|
307
|
-
X($),
|
|
307
|
+
X($), Rt(O, R);
|
|
308
308
|
}
|
|
309
309
|
});
|
|
310
310
|
const C = f.stateComponents.get(h);
|
|
311
311
|
if (console.log("stateEntry >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", C), C) {
|
|
312
|
-
const M = _t(u,
|
|
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
|
|
@@ -329,14 +329,14 @@ function ne(t, {
|
|
|
329
329
|
_ = !0;
|
|
330
330
|
break;
|
|
331
331
|
}
|
|
332
|
-
const
|
|
333
|
-
if (
|
|
332
|
+
const st = B.lastIndexOf(".");
|
|
333
|
+
if (st !== -1) {
|
|
334
334
|
const gt = B.substring(
|
|
335
335
|
0,
|
|
336
|
-
|
|
336
|
+
st
|
|
337
337
|
);
|
|
338
338
|
if (!isNaN(
|
|
339
|
-
Number(B.substring(
|
|
339
|
+
Number(B.substring(st + 1))
|
|
340
340
|
) && O.paths.has(gt)) {
|
|
341
341
|
_ = !0;
|
|
342
342
|
break;
|
|
@@ -350,7 +350,7 @@ function ne(t, {
|
|
|
350
350
|
if (_) break;
|
|
351
351
|
}
|
|
352
352
|
if (!_ && D.includes("deps") && O.depsFunction) {
|
|
353
|
-
const G = O.depsFunction(
|
|
353
|
+
const G = O.depsFunction(E);
|
|
354
354
|
let B = !1;
|
|
355
355
|
typeof G == "boolean" ? G && (B = !0) : J(O.deps, G) || (O.deps = G, B = !0), B && (_ = !0);
|
|
356
356
|
}
|
|
@@ -360,13 +360,13 @@ function ne(t, {
|
|
|
360
360
|
}
|
|
361
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
366
|
const { oldValue: b, newValue: F } = ee(
|
|
367
367
|
a.updateType,
|
|
368
368
|
u,
|
|
369
|
-
|
|
369
|
+
E,
|
|
370
370
|
n
|
|
371
371
|
), Y = {
|
|
372
372
|
timeStamp: A,
|
|
@@ -379,7 +379,7 @@ function ne(t, {
|
|
|
379
379
|
};
|
|
380
380
|
switch (a.updateType) {
|
|
381
381
|
case "update":
|
|
382
|
-
f.updateShadowAtPath(h, n,
|
|
382
|
+
f.updateShadowAtPath(h, n, E);
|
|
383
383
|
break;
|
|
384
384
|
case "insert":
|
|
385
385
|
const M = n.slice(0, -1);
|
|
@@ -396,8 +396,8 @@ function ne(t, {
|
|
|
396
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
|
|
@@ -407,36 +407,36 @@ function ne(t, {
|
|
|
407
407
|
}), L.current?.serverSync) {
|
|
408
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
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 It(t,
|
|
436
|
+
function It(t, c, m, g) {
|
|
437
437
|
const I = /* @__PURE__ */ new Map();
|
|
438
438
|
let N = 0;
|
|
439
|
-
const
|
|
439
|
+
const p = (T) => {
|
|
440
440
|
const r = T.join(".");
|
|
441
441
|
for (const [S] of I)
|
|
442
442
|
(S === r || S.startsWith(r + ".")) && I.delete(S);
|
|
@@ -450,7 +450,7 @@ function It(t, i, m, g) {
|
|
|
450
450
|
r?.key && X(r?.key), T?.validationKey && X(T.validationKey);
|
|
451
451
|
const S = o.getState().initialStateGlobal[t];
|
|
452
452
|
o.getState().clearSelectedIndexesForState(t), I.clear(), N++;
|
|
453
|
-
const W = s(S, []), j =
|
|
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
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) => {
|
|
@@ -461,11 +461,11 @@ function It(t, i, m, g) {
|
|
|
461
461
|
I.clear(), N++;
|
|
462
462
|
const r = It(
|
|
463
463
|
t,
|
|
464
|
-
|
|
464
|
+
c,
|
|
465
465
|
m,
|
|
466
466
|
g
|
|
467
|
-
), S = o.getState().initialStateGlobal[t], W =
|
|
468
|
-
return localStorage.getItem(U) && localStorage.removeItem(U),
|
|
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
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) => {
|
|
@@ -480,7 +480,7 @@ function It(t, i, m, g) {
|
|
|
480
480
|
_isLoading: o.getState().isLoadingGlobal[t],
|
|
481
481
|
_isServerSynced: () => {
|
|
482
482
|
const T = o.getState().serverState[t];
|
|
483
|
-
return !!(T && J(T,
|
|
483
|
+
return !!(T && J(T, Lt(t)));
|
|
484
484
|
}
|
|
485
485
|
};
|
|
486
486
|
function s(T, r = [], S) {
|
|
@@ -529,13 +529,13 @@ function It(t, i, m, g) {
|
|
|
529
529
|
const n = e.components.get(d);
|
|
530
530
|
if (n && !n.paths.has("")) {
|
|
531
531
|
const a = r.join(".");
|
|
532
|
-
let
|
|
532
|
+
let i = !0;
|
|
533
533
|
for (const f of n.paths)
|
|
534
534
|
if (a.startsWith(f) && (a === f || a[f.length] === ".")) {
|
|
535
|
-
|
|
535
|
+
i = !1;
|
|
536
536
|
break;
|
|
537
537
|
}
|
|
538
|
-
|
|
538
|
+
i && n.paths.add(a);
|
|
539
539
|
}
|
|
540
540
|
}
|
|
541
541
|
}
|
|
@@ -551,20 +551,20 @@ function It(t, i, m, g) {
|
|
|
551
551
|
return console.error(`No mutation defined for state key "${t}"`), { success: !1, error: "No mutation defined" };
|
|
552
552
|
const n = o.getState().getNestedState(t, []), a = d?.validation?.key;
|
|
553
553
|
try {
|
|
554
|
-
const
|
|
555
|
-
if (
|
|
556
|
-
o.getState().removeValidationError(a),
|
|
557
|
-
const
|
|
558
|
-
o.getState().addValidationError(
|
|
554
|
+
const i = await e.action(n);
|
|
555
|
+
if (i && !i.success && i.errors && a) {
|
|
556
|
+
o.getState().removeValidationError(a), i.errors.forEach((u) => {
|
|
557
|
+
const E = [a, ...u.path].join(".");
|
|
558
|
+
o.getState().addValidationError(E, u.message);
|
|
559
559
|
});
|
|
560
560
|
const f = o.getState().stateComponents.get(t);
|
|
561
561
|
f && f.components.forEach((u) => {
|
|
562
562
|
u.forceUpdate();
|
|
563
563
|
});
|
|
564
564
|
}
|
|
565
|
-
return
|
|
566
|
-
} catch (
|
|
567
|
-
return e.onError && e.onError(
|
|
565
|
+
return i?.success && e.onSuccess ? e.onSuccess(i.data) : !i?.success && e.onError && e.onError(i.error), i;
|
|
566
|
+
} catch (i) {
|
|
567
|
+
return e.onError && e.onError(i), { success: !1, error: i };
|
|
568
568
|
}
|
|
569
569
|
};
|
|
570
570
|
if (l === "_status") {
|
|
@@ -581,7 +581,7 @@ function It(t, i, m, g) {
|
|
|
581
581
|
};
|
|
582
582
|
if (l === "removeStorage")
|
|
583
583
|
return () => {
|
|
584
|
-
const d = o.getState().initialStateGlobal[t], e =
|
|
584
|
+
const d = o.getState().initialStateGlobal[t], e = rt(t), n = tt(e?.localStorage?.key) ? e?.localStorage?.key(d) : e?.localStorage?.key, a = `${g}-${t}-${n}`;
|
|
585
585
|
a && localStorage.removeItem(a);
|
|
586
586
|
};
|
|
587
587
|
if (l === "showValidationErrors")
|
|
@@ -620,13 +620,13 @@ function It(t, i, m, g) {
|
|
|
620
620
|
const {
|
|
621
621
|
itemHeight: n = 50,
|
|
622
622
|
overscan: a = 6,
|
|
623
|
-
stickToBottom:
|
|
623
|
+
stickToBottom: i = !1,
|
|
624
624
|
dependencies: f = []
|
|
625
|
-
} = e, u = q(!1),
|
|
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(
|
|
@@ -649,7 +649,7 @@ function It(t, i, m, g) {
|
|
|
649
649
|
n,
|
|
650
650
|
$
|
|
651
651
|
]), B = wt(() => {
|
|
652
|
-
const k = Math.max(0,
|
|
652
|
+
const k = Math.max(0, y.startIndex), x = Math.min(_, y.endIndex), H = Array.from(
|
|
653
653
|
{ length: x - k },
|
|
654
654
|
(Q, ft) => k + ft
|
|
655
655
|
), P = H.map((Q) => O[Q]);
|
|
@@ -657,9 +657,9 @@ function It(t, i, m, g) {
|
|
|
657
657
|
...S,
|
|
658
658
|
validIndices: H
|
|
659
659
|
});
|
|
660
|
-
}, [
|
|
661
|
-
|
|
662
|
-
const k =
|
|
660
|
+
}, [y.startIndex, y.endIndex, O, _]);
|
|
661
|
+
ct(() => {
|
|
662
|
+
const k = E.current;
|
|
663
663
|
if (!k) return;
|
|
664
664
|
const x = _ > F.current;
|
|
665
665
|
if (x && V.current) {
|
|
@@ -677,16 +677,16 @@ function It(t, i, m, g) {
|
|
|
677
677
|
console.log("TRANSITION: Deps changed -> IDLE_AT_TOP"), A("IDLE_AT_TOP");
|
|
678
678
|
return;
|
|
679
679
|
}
|
|
680
|
-
x && C === "LOCKED_AT_BOTTOM" &&
|
|
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
684
|
F.current = _, Y.current = f;
|
|
685
|
-
}, [_, ...f]),
|
|
686
|
-
const k =
|
|
685
|
+
}, [_, ...f]), ct(() => {
|
|
686
|
+
const k = E.current;
|
|
687
687
|
if (!k) return;
|
|
688
688
|
let x;
|
|
689
|
-
if (C === "IDLE_AT_TOP" &&
|
|
689
|
+
if (C === "IDLE_AT_TOP" && i && _ > 0)
|
|
690
690
|
console.log(
|
|
691
691
|
"ACTION (IDLE_AT_TOP): Data has arrived -> GETTING_HEIGHTS"
|
|
692
692
|
), A("GETTING_HEIGHTS");
|
|
@@ -724,8 +724,8 @@ function It(t, i, m, g) {
|
|
|
724
724
|
return () => {
|
|
725
725
|
x && clearInterval(x);
|
|
726
726
|
};
|
|
727
|
-
}, [C, _, G]),
|
|
728
|
-
const k =
|
|
727
|
+
}, [C, _, G]), ot(() => {
|
|
728
|
+
const k = E.current;
|
|
729
729
|
if (!k) return;
|
|
730
730
|
const x = n, H = () => {
|
|
731
731
|
if (b.current)
|
|
@@ -746,8 +746,8 @@ function It(t, i, m, g) {
|
|
|
746
746
|
}
|
|
747
747
|
const $t = Math.max(0, Ct - a);
|
|
748
748
|
let St = $t;
|
|
749
|
-
const
|
|
750
|
-
for (; St < _ && G[St] <
|
|
749
|
+
const Ut = P + ft;
|
|
750
|
+
for (; St < _ && G[St] < Ut; )
|
|
751
751
|
St++;
|
|
752
752
|
w({
|
|
753
753
|
startIndex: $t,
|
|
@@ -758,21 +758,21 @@ function It(t, i, m, g) {
|
|
|
758
758
|
passive: !0
|
|
759
759
|
}), () => k.removeEventListener("scroll", H);
|
|
760
760
|
}, [_, G, n, a, C]);
|
|
761
|
-
const
|
|
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
766
|
(k, x = "smooth") => {
|
|
767
|
-
|
|
767
|
+
E.current && G[k] !== void 0 && (A("IDLE_NOT_AT_BOTTOM"), E.current.scrollTo({
|
|
768
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,56 +783,56 @@ function It(t, i, 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:
|
|
793
|
-
scrollToBottom:
|
|
792
|
+
virtualizerProps: jt,
|
|
793
|
+
scrollToBottom: st,
|
|
794
794
|
scrollToIndex: gt
|
|
795
795
|
};
|
|
796
796
|
};
|
|
797
797
|
if (l === "stateSort")
|
|
798
798
|
return (e) => {
|
|
799
799
|
const a = [...d()].sort(
|
|
800
|
-
(u,
|
|
801
|
-
),
|
|
800
|
+
(u, E) => e(u.item, E.item)
|
|
801
|
+
), i = a.map(({ item: u }) => u), f = {
|
|
802
802
|
...S,
|
|
803
803
|
validIndices: a.map(
|
|
804
804
|
({ originalIndex: u }) => u
|
|
805
805
|
)
|
|
806
806
|
};
|
|
807
|
-
return s(
|
|
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
|
-
),
|
|
812
|
+
({ item: u }, E) => e(u, E)
|
|
813
|
+
), i = a.map(({ item: u }) => u), f = {
|
|
814
814
|
...S,
|
|
815
815
|
validIndices: a.map(
|
|
816
816
|
({ originalIndex: u }) => u
|
|
817
817
|
)
|
|
818
818
|
};
|
|
819
|
-
return s(
|
|
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) ? (S?.validIndices || Array.from({ length: n.length }, (
|
|
825
|
-
const u = n[
|
|
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 [, C] = K({}), A = `${m}-${r.join(".")}-${
|
|
829
|
-
|
|
828
|
+
const [, C] = K({}), A = `${m}-${r.join(".")}-${i}`;
|
|
829
|
+
ct(() => {
|
|
830
830
|
const b = `${t}////${A}`, F = o.getState().stateComponents.get(t) || {
|
|
831
831
|
components: /* @__PURE__ */ new Map()
|
|
832
832
|
};
|
|
833
833
|
return F.components.set(b, {
|
|
834
834
|
forceUpdate: () => C({}),
|
|
835
|
-
paths: /* @__PURE__ */ new Set([
|
|
835
|
+
paths: /* @__PURE__ */ new Set([E.join(".")])
|
|
836
836
|
}), o.getState().stateComponents.set(t, F), () => {
|
|
837
837
|
const Y = o.getState().stateComponents.get(t);
|
|
838
838
|
Y && Y.components.delete(b);
|
|
@@ -840,7 +840,7 @@ function It(t, i, m, g) {
|
|
|
840
840
|
}, [t, A]);
|
|
841
841
|
},
|
|
842
842
|
index: f,
|
|
843
|
-
originalIndex:
|
|
843
|
+
originalIndex: i
|
|
844
844
|
});
|
|
845
845
|
}) : (console.warn(
|
|
846
846
|
`stateMap called on a non-array value at path: ${r.join(".")}. The current value is:`,
|
|
@@ -848,20 +848,20 @@ function It(t, i, m, g) {
|
|
|
848
848
|
), null);
|
|
849
849
|
};
|
|
850
850
|
if (l === "stateMapNoRender")
|
|
851
|
-
return (e) => T.map((a,
|
|
851
|
+
return (e) => T.map((a, i) => {
|
|
852
852
|
let f;
|
|
853
|
-
S?.validIndices && S.validIndices[
|
|
854
|
-
const u = [...r, f.toString()],
|
|
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
|
-
|
|
858
|
-
|
|
857
|
+
E,
|
|
858
|
+
i,
|
|
859
859
|
T,
|
|
860
860
|
s(T, r, S)
|
|
861
861
|
);
|
|
862
862
|
});
|
|
863
863
|
if (l === "$stateMap")
|
|
864
|
-
return (e) =>
|
|
864
|
+
return (e) => lt(re, {
|
|
865
865
|
proxy: {
|
|
866
866
|
_stateKey: t,
|
|
867
867
|
_path: r,
|
|
@@ -873,26 +873,20 @@ function It(t, i, 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) ? (S?.validIndices || Array.from({ length: n.length }, (
|
|
877
|
-
const u = n[
|
|
878
|
-
return
|
|
879
|
-
key:
|
|
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}`;
|
|
878
|
+
return lt(ae, {
|
|
879
|
+
key: i,
|
|
880
880
|
stateKey: t,
|
|
881
881
|
itemComponentId: w,
|
|
882
|
-
itemPath:
|
|
883
|
-
children:
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
{ localIndex: f, originalIndex: c },
|
|
891
|
-
n,
|
|
892
|
-
s(n, r, S)
|
|
893
|
-
),
|
|
894
|
-
formOpts: void 0
|
|
895
|
-
})
|
|
882
|
+
itemPath: E,
|
|
883
|
+
children: e(
|
|
884
|
+
u,
|
|
885
|
+
y,
|
|
886
|
+
{ localIndex: f, originalIndex: i },
|
|
887
|
+
n,
|
|
888
|
+
s(n, r, S)
|
|
889
|
+
)
|
|
896
890
|
});
|
|
897
891
|
}) : (console.warn(
|
|
898
892
|
`stateList called on a non-array value at path: ${r.join(".")}.`
|
|
@@ -903,7 +897,7 @@ function It(t, i, m, g) {
|
|
|
903
897
|
const n = T;
|
|
904
898
|
I.clear(), N++;
|
|
905
899
|
const a = n.flatMap(
|
|
906
|
-
(
|
|
900
|
+
(i) => i[e] ?? []
|
|
907
901
|
);
|
|
908
902
|
return s(
|
|
909
903
|
a,
|
|
@@ -920,40 +914,40 @@ function It(t, i, m, g) {
|
|
|
920
914
|
return () => {
|
|
921
915
|
const e = o.getState().getNestedState(t, r);
|
|
922
916
|
if (e.length === 0) return;
|
|
923
|
-
const n = e.length - 1, a = e[n],
|
|
924
|
-
return s(a,
|
|
917
|
+
const n = e.length - 1, a = e[n], i = [...r, n.toString()];
|
|
918
|
+
return s(a, i);
|
|
925
919
|
};
|
|
926
920
|
if (l === "insert")
|
|
927
|
-
return (e) => (
|
|
921
|
+
return (e) => (p(r), Et(c, e, r, t), s(
|
|
928
922
|
o.getState().getNestedState(t, r),
|
|
929
923
|
r
|
|
930
924
|
));
|
|
931
925
|
if (l === "uniqueInsert")
|
|
932
926
|
return (e, n, a) => {
|
|
933
|
-
const
|
|
927
|
+
const i = o.getState().getNestedState(t, r), f = tt(e) ? e(i) : e;
|
|
934
928
|
let u = null;
|
|
935
|
-
if (!
|
|
929
|
+
if (!i.some((y) => {
|
|
936
930
|
if (n) {
|
|
937
931
|
const C = n.every(
|
|
938
|
-
(A) => J(
|
|
932
|
+
(A) => J(y[A], f[A])
|
|
939
933
|
);
|
|
940
|
-
return C && (u =
|
|
934
|
+
return C && (u = y), C;
|
|
941
935
|
}
|
|
942
|
-
const w = J(
|
|
943
|
-
return w && (u =
|
|
936
|
+
const w = J(y, f);
|
|
937
|
+
return w && (u = y), w;
|
|
944
938
|
}))
|
|
945
|
-
|
|
939
|
+
p(r), Et(c, f, r, t);
|
|
946
940
|
else if (a && u) {
|
|
947
|
-
const
|
|
948
|
-
(C) => J(C, u) ?
|
|
941
|
+
const y = a(u), w = i.map(
|
|
942
|
+
(C) => J(C, u) ? y : C
|
|
949
943
|
);
|
|
950
|
-
|
|
944
|
+
p(r), it(c, w, r);
|
|
951
945
|
}
|
|
952
946
|
};
|
|
953
947
|
if (l === "cut")
|
|
954
948
|
return (e, n) => {
|
|
955
949
|
if (!n?.waitForSync)
|
|
956
|
-
return
|
|
950
|
+
return p(r), ht(c, r, t, e), s(
|
|
957
951
|
o.getState().getNestedState(t, r),
|
|
958
952
|
r
|
|
959
953
|
);
|
|
@@ -961,12 +955,12 @@ function It(t, i, m, g) {
|
|
|
961
955
|
if (l === "cutByValue")
|
|
962
956
|
return (e) => {
|
|
963
957
|
for (let n = 0; n < T.length; n++)
|
|
964
|
-
T[n] === e && ht(
|
|
958
|
+
T[n] === e && ht(c, r, t, n);
|
|
965
959
|
};
|
|
966
960
|
if (l === "toggleByValue")
|
|
967
961
|
return (e) => {
|
|
968
962
|
const n = T.findIndex((a) => a === e);
|
|
969
|
-
n > -1 ? ht(
|
|
963
|
+
n > -1 ? ht(c, r, t, n) : Et(c, e, r, t);
|
|
970
964
|
};
|
|
971
965
|
if (l === "stateFind")
|
|
972
966
|
return (e) => {
|
|
@@ -974,17 +968,17 @@ function It(t, i, m, g) {
|
|
|
974
968
|
({ item: f }, u) => e(f, u)
|
|
975
969
|
);
|
|
976
970
|
if (!a) return;
|
|
977
|
-
const
|
|
978
|
-
return s(a.item,
|
|
971
|
+
const i = [...r, a.originalIndex.toString()];
|
|
972
|
+
return s(a.item, i, S);
|
|
979
973
|
};
|
|
980
974
|
if (l === "findWith")
|
|
981
975
|
return (e, n) => {
|
|
982
|
-
const
|
|
976
|
+
const i = d().find(
|
|
983
977
|
({ item: u }) => u[e] === n
|
|
984
978
|
);
|
|
985
|
-
if (!
|
|
986
|
-
const f = [...r,
|
|
987
|
-
return s(
|
|
979
|
+
if (!i) return;
|
|
980
|
+
const f = [...r, i.originalIndex.toString()];
|
|
981
|
+
return s(i.item, f, S);
|
|
988
982
|
};
|
|
989
983
|
}
|
|
990
984
|
const et = r[r.length - 1];
|
|
@@ -992,7 +986,7 @@ function It(t, i, m, g) {
|
|
|
992
986
|
const d = r.slice(0, -1), e = o.getState().getNestedState(t, d);
|
|
993
987
|
if (Array.isArray(e) && l === "cut")
|
|
994
988
|
return () => ht(
|
|
995
|
-
|
|
989
|
+
c,
|
|
996
990
|
d,
|
|
997
991
|
t,
|
|
998
992
|
Number(et)
|
|
@@ -1007,13 +1001,13 @@ function It(t, i, m, g) {
|
|
|
1007
1001
|
return o.getState().getNestedState(t, r);
|
|
1008
1002
|
};
|
|
1009
1003
|
if (l === "$derive")
|
|
1010
|
-
return (d) =>
|
|
1004
|
+
return (d) => Vt({
|
|
1011
1005
|
_stateKey: t,
|
|
1012
1006
|
_path: r,
|
|
1013
1007
|
_effect: d.toString()
|
|
1014
1008
|
});
|
|
1015
1009
|
if (l === "$get")
|
|
1016
|
-
return () =>
|
|
1010
|
+
return () => Vt({
|
|
1017
1011
|
_stateKey: t,
|
|
1018
1012
|
_path: r
|
|
1019
1013
|
});
|
|
@@ -1031,8 +1025,8 @@ function It(t, i, m, g) {
|
|
|
1031
1025
|
return (d) => {
|
|
1032
1026
|
const e = r.slice(0, -1), n = Number(r[r.length - 1]), a = e.join(".");
|
|
1033
1027
|
d ? o.getState().setSelectedIndex(t, a, n) : o.getState().setSelectedIndex(t, a, void 0);
|
|
1034
|
-
const
|
|
1035
|
-
|
|
1028
|
+
const i = o.getState().getNestedState(t, [...e]);
|
|
1029
|
+
it(c, i, e), p(e);
|
|
1036
1030
|
};
|
|
1037
1031
|
if (l === "toggleSelected")
|
|
1038
1032
|
return () => {
|
|
@@ -1042,8 +1036,8 @@ function It(t, i, m, g) {
|
|
|
1042
1036
|
n,
|
|
1043
1037
|
a === e ? void 0 : e
|
|
1044
1038
|
);
|
|
1045
|
-
const
|
|
1046
|
-
|
|
1039
|
+
const i = o.getState().getNestedState(t, [...d]);
|
|
1040
|
+
it(c, i, d), p(d);
|
|
1047
1041
|
};
|
|
1048
1042
|
if (r.length == 0) {
|
|
1049
1043
|
if (l === "addValidation")
|
|
@@ -1053,44 +1047,44 @@ function It(t, i, m, g) {
|
|
|
1053
1047
|
throw new Error("Validation key not found");
|
|
1054
1048
|
X(e.key), console.log("addValidationError", d), d.forEach((n) => {
|
|
1055
1049
|
const a = [e.key, ...n.path].join(".");
|
|
1056
|
-
console.log("fullErrorPath", a),
|
|
1050
|
+
console.log("fullErrorPath", a), Rt(a, n.message);
|
|
1057
1051
|
}), dt(t);
|
|
1058
1052
|
};
|
|
1059
1053
|
if (l === "applyJsonPatch")
|
|
1060
1054
|
return (d) => {
|
|
1061
1055
|
const e = o.getState().cogsStateStore[t], a = Yt(e, d).newDocument;
|
|
1062
|
-
|
|
1056
|
+
Dt(
|
|
1063
1057
|
t,
|
|
1064
1058
|
o.getState().initialStateGlobal[t],
|
|
1065
1059
|
a,
|
|
1066
|
-
|
|
1060
|
+
c,
|
|
1067
1061
|
m,
|
|
1068
1062
|
g
|
|
1069
1063
|
);
|
|
1070
|
-
const
|
|
1071
|
-
if (
|
|
1064
|
+
const i = o.getState().stateComponents.get(t);
|
|
1065
|
+
if (i) {
|
|
1072
1066
|
const f = _t(e, a), u = new Set(f);
|
|
1073
1067
|
for (const [
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
] of
|
|
1068
|
+
E,
|
|
1069
|
+
y
|
|
1070
|
+
] of i.components.entries()) {
|
|
1077
1071
|
let w = !1;
|
|
1078
|
-
const C = Array.isArray(
|
|
1072
|
+
const C = Array.isArray(y.reactiveType) ? y.reactiveType : [y.reactiveType || "component"];
|
|
1079
1073
|
if (!C.includes("none")) {
|
|
1080
1074
|
if (C.includes("all")) {
|
|
1081
|
-
|
|
1075
|
+
y.forceUpdate();
|
|
1082
1076
|
continue;
|
|
1083
1077
|
}
|
|
1084
|
-
if (C.includes("component") && (
|
|
1078
|
+
if (C.includes("component") && (y.paths.has("") && (w = !0), !w))
|
|
1085
1079
|
for (const A of u) {
|
|
1086
|
-
if (
|
|
1080
|
+
if (y.paths.has(A)) {
|
|
1087
1081
|
w = !0;
|
|
1088
1082
|
break;
|
|
1089
1083
|
}
|
|
1090
1084
|
let b = A.lastIndexOf(".");
|
|
1091
1085
|
for (; b !== -1; ) {
|
|
1092
1086
|
const F = A.substring(0, b);
|
|
1093
|
-
if (
|
|
1087
|
+
if (y.paths.has(F)) {
|
|
1094
1088
|
w = !0;
|
|
1095
1089
|
break;
|
|
1096
1090
|
}
|
|
@@ -1104,7 +1098,7 @@ function It(t, i, m, g) {
|
|
|
1104
1098
|
0,
|
|
1105
1099
|
M
|
|
1106
1100
|
);
|
|
1107
|
-
if (
|
|
1101
|
+
if (y.paths.has($)) {
|
|
1108
1102
|
w = !0;
|
|
1109
1103
|
break;
|
|
1110
1104
|
}
|
|
@@ -1114,12 +1108,12 @@ function It(t, i, m, g) {
|
|
|
1114
1108
|
}
|
|
1115
1109
|
if (w) break;
|
|
1116
1110
|
}
|
|
1117
|
-
if (!w && C.includes("deps") &&
|
|
1118
|
-
const A =
|
|
1111
|
+
if (!w && C.includes("deps") && y.depsFunction) {
|
|
1112
|
+
const A = y.depsFunction(a);
|
|
1119
1113
|
let b = !1;
|
|
1120
|
-
typeof A == "boolean" ? A && (b = !0) : J(
|
|
1114
|
+
typeof A == "boolean" ? A && (b = !0) : J(y.deps, A) || (y.deps = A, b = !0), b && (w = !0);
|
|
1121
1115
|
}
|
|
1122
|
-
w &&
|
|
1116
|
+
w && y.forceUpdate();
|
|
1123
1117
|
}
|
|
1124
1118
|
}
|
|
1125
1119
|
}
|
|
@@ -1138,10 +1132,10 @@ function It(t, i, m, g) {
|
|
|
1138
1132
|
a && a.length > 0 && a.forEach(([f]) => {
|
|
1139
1133
|
f && f.startsWith(d.key) && X(f);
|
|
1140
1134
|
});
|
|
1141
|
-
const
|
|
1142
|
-
return
|
|
1143
|
-
const
|
|
1144
|
-
e(w,
|
|
1135
|
+
const i = d.zodSchema.safeParse(n);
|
|
1136
|
+
return i.success ? !0 : (i.error.errors.forEach((u) => {
|
|
1137
|
+
const E = u.path, y = u.message, w = [d.key, ...E].join(".");
|
|
1138
|
+
e(w, y);
|
|
1145
1139
|
}), dt(t), !1);
|
|
1146
1140
|
} catch (a) {
|
|
1147
1141
|
return console.error("Zod schema validation failed", a), !1;
|
|
@@ -1151,7 +1145,7 @@ function It(t, i, m, g) {
|
|
|
1151
1145
|
if (l === "getComponents")
|
|
1152
1146
|
return () => o().stateComponents.get(t);
|
|
1153
1147
|
if (l === "getAllFormRefs")
|
|
1154
|
-
return () =>
|
|
1148
|
+
return () => bt.getState().getFormRefsByStateKey(t);
|
|
1155
1149
|
if (l === "_initialState")
|
|
1156
1150
|
return o.getState().initialStateGlobal[t];
|
|
1157
1151
|
if (l === "_serverState")
|
|
@@ -1164,13 +1158,13 @@ function It(t, i, m, g) {
|
|
|
1164
1158
|
if (l === "removeValidation") return v.removeValidation;
|
|
1165
1159
|
}
|
|
1166
1160
|
if (l === "getFormRef")
|
|
1167
|
-
return () =>
|
|
1161
|
+
return () => bt.getState().getFormRef(t + "." + r.join("."));
|
|
1168
1162
|
if (l === "validationWrapper")
|
|
1169
1163
|
return ({
|
|
1170
1164
|
children: d,
|
|
1171
1165
|
hideMessage: e
|
|
1172
1166
|
}) => /* @__PURE__ */ Ot(
|
|
1173
|
-
|
|
1167
|
+
zt,
|
|
1174
1168
|
{
|
|
1175
1169
|
formOpts: e ? { validation: { message: "" } } : void 0,
|
|
1176
1170
|
path: r,
|
|
@@ -1186,31 +1180,31 @@ function It(t, i, m, g) {
|
|
|
1186
1180
|
if (l === "update")
|
|
1187
1181
|
return (d, e) => {
|
|
1188
1182
|
if (e?.debounce)
|
|
1189
|
-
|
|
1190
|
-
|
|
1183
|
+
Wt(() => {
|
|
1184
|
+
it(c, d, r, "");
|
|
1191
1185
|
const n = o.getState().getNestedState(t, r);
|
|
1192
1186
|
e?.afterUpdate && e.afterUpdate(n);
|
|
1193
1187
|
}, e.debounce);
|
|
1194
1188
|
else {
|
|
1195
|
-
|
|
1189
|
+
it(c, d, r, "");
|
|
1196
1190
|
const n = o.getState().getNestedState(t, r);
|
|
1197
1191
|
e?.afterUpdate && e.afterUpdate(n);
|
|
1198
1192
|
}
|
|
1199
|
-
|
|
1193
|
+
p(r);
|
|
1200
1194
|
};
|
|
1201
1195
|
if (l === "formElement")
|
|
1202
1196
|
return (d, e) => /* @__PURE__ */ Ot(
|
|
1203
|
-
|
|
1197
|
+
qt,
|
|
1204
1198
|
{
|
|
1205
|
-
setState:
|
|
1199
|
+
setState: c,
|
|
1206
1200
|
stateKey: t,
|
|
1207
1201
|
path: r,
|
|
1208
1202
|
child: d,
|
|
1209
1203
|
formOpts: e
|
|
1210
1204
|
}
|
|
1211
1205
|
);
|
|
1212
|
-
const L = [...r, l],
|
|
1213
|
-
return s(
|
|
1206
|
+
const L = [...r, l], at = o.getState().getNestedState(t, L);
|
|
1207
|
+
return s(at, L, S);
|
|
1214
1208
|
}
|
|
1215
1209
|
}, z = new Proxy(j, U);
|
|
1216
1210
|
return I.set(W, {
|
|
@@ -1222,35 +1216,35 @@ function It(t, i, m, g) {
|
|
|
1222
1216
|
o.getState().getNestedState(t, [])
|
|
1223
1217
|
);
|
|
1224
1218
|
}
|
|
1225
|
-
function
|
|
1226
|
-
return
|
|
1219
|
+
function Vt(t) {
|
|
1220
|
+
return lt(oe, { proxy: t });
|
|
1227
1221
|
}
|
|
1228
1222
|
function re({
|
|
1229
1223
|
proxy: t,
|
|
1230
|
-
rebuildStateShape:
|
|
1224
|
+
rebuildStateShape: c
|
|
1231
1225
|
}) {
|
|
1232
1226
|
const m = o().getNestedState(t._stateKey, t._path);
|
|
1233
|
-
return Array.isArray(m) ?
|
|
1227
|
+
return Array.isArray(m) ? c(
|
|
1234
1228
|
m,
|
|
1235
1229
|
t._path
|
|
1236
1230
|
).stateMapNoRender(
|
|
1237
|
-
(I, N,
|
|
1231
|
+
(I, N, p, v, s) => t._mapFn(I, N, p, v, s)
|
|
1238
1232
|
) : null;
|
|
1239
1233
|
}
|
|
1240
1234
|
function oe({
|
|
1241
1235
|
proxy: t
|
|
1242
1236
|
}) {
|
|
1243
|
-
const
|
|
1244
|
-
return
|
|
1245
|
-
const g =
|
|
1237
|
+
const c = q(null), m = `${t._stateKey}-${t._path.join(".")}`;
|
|
1238
|
+
return ot(() => {
|
|
1239
|
+
const g = c.current;
|
|
1246
1240
|
if (!g || !g.parentElement) return;
|
|
1247
|
-
const I = g.parentElement,
|
|
1241
|
+
const I = g.parentElement, p = Array.from(I.childNodes).indexOf(g);
|
|
1248
1242
|
let v = I.getAttribute("data-parent-id");
|
|
1249
1243
|
v || (v = `parent-${crypto.randomUUID()}`, I.setAttribute("data-parent-id", v));
|
|
1250
1244
|
const T = {
|
|
1251
1245
|
instanceId: `instance-${crypto.randomUUID()}`,
|
|
1252
1246
|
parentId: v,
|
|
1253
|
-
position:
|
|
1247
|
+
position: p,
|
|
1254
1248
|
effect: t._effect
|
|
1255
1249
|
};
|
|
1256
1250
|
o.getState().addSignalElement(m, T);
|
|
@@ -1270,14 +1264,14 @@ function oe({
|
|
|
1270
1264
|
S !== null && typeof S == "object" && (S = JSON.stringify(S));
|
|
1271
1265
|
const W = document.createTextNode(String(S));
|
|
1272
1266
|
g.replaceWith(W);
|
|
1273
|
-
}, [t._stateKey, t._path.join("."), t._effect]),
|
|
1274
|
-
ref:
|
|
1267
|
+
}, [t._stateKey, t._path.join("."), t._effect]), lt("span", {
|
|
1268
|
+
ref: c,
|
|
1275
1269
|
style: { display: "none" },
|
|
1276
1270
|
"data-signal-id": m
|
|
1277
1271
|
});
|
|
1278
1272
|
}
|
|
1279
1273
|
function pe(t) {
|
|
1280
|
-
const
|
|
1274
|
+
const c = Ht(
|
|
1281
1275
|
(m) => {
|
|
1282
1276
|
const g = o.getState().stateComponents.get(t._stateKey) || {
|
|
1283
1277
|
components: /* @__PURE__ */ new Map()
|
|
@@ -1289,23 +1283,23 @@ function pe(t) {
|
|
|
1289
1283
|
},
|
|
1290
1284
|
() => o.getState().getNestedState(t._stateKey, t._path)
|
|
1291
1285
|
);
|
|
1292
|
-
return
|
|
1286
|
+
return lt("text", {}, String(c));
|
|
1293
1287
|
}
|
|
1294
1288
|
function ae({
|
|
1295
1289
|
stateKey: t,
|
|
1296
|
-
itemComponentId:
|
|
1290
|
+
itemComponentId: c,
|
|
1297
1291
|
itemPath: m,
|
|
1298
1292
|
children: g
|
|
1299
1293
|
}) {
|
|
1300
|
-
const [, I] = K({}), [N,
|
|
1301
|
-
return
|
|
1302
|
-
|
|
1294
|
+
const [, I] = K({}), [N, p] = Zt(), v = q(null);
|
|
1295
|
+
return ot(() => {
|
|
1296
|
+
p.height > 0 && p.height !== v.current && (v.current = p.height, o.getState().setShadowMetadata(t, m, {
|
|
1303
1297
|
virtualizer: {
|
|
1304
|
-
itemHeight:
|
|
1298
|
+
itemHeight: p.height
|
|
1305
1299
|
}
|
|
1306
1300
|
}));
|
|
1307
|
-
}, [
|
|
1308
|
-
const s = `${t}////${
|
|
1301
|
+
}, [p.height, t, m]), ct(() => {
|
|
1302
|
+
const s = `${t}////${c}`, T = o.getState().stateComponents.get(t) || {
|
|
1309
1303
|
components: /* @__PURE__ */ new Map()
|
|
1310
1304
|
};
|
|
1311
1305
|
return T.components.set(s, {
|
|
@@ -1315,10 +1309,10 @@ function ae({
|
|
|
1315
1309
|
const r = o.getState().stateComponents.get(t);
|
|
1316
1310
|
r && r.components.delete(s);
|
|
1317
1311
|
};
|
|
1318
|
-
}, [t,
|
|
1312
|
+
}, [t, c, m.join(".")]), /* @__PURE__ */ Ot("div", { ref: N, children: g });
|
|
1319
1313
|
}
|
|
1320
1314
|
export {
|
|
1321
|
-
|
|
1315
|
+
Vt as $cogsSignal,
|
|
1322
1316
|
pe as $cogsSignalStore,
|
|
1323
1317
|
Ie as addStateOptions,
|
|
1324
1318
|
ve as createCogsState,
|