cogsbox-state 0.5.397 → 0.5.399
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 +262 -256
- package/dist/CogsState.jsx.map +1 -1
- package/dist/Functions.jsx +1 -1
- package/package.json +1 -1
- package/src/CogsState.tsx +14 -7
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 { pushFunc as Et, updateFn as
|
|
3
|
+
import { useState as K, useRef as q, useEffect as at, useLayoutEffect as lt, useMemo as wt, createElement as rt, useSyncExternalStore as Ft, startTransition as Bt, useCallback as kt } from "react";
|
|
4
|
+
import { transformStateFunc as Wt, isDeepEqual as J, isFunction as tt, getNestedValue as Z, getDifferences as _t, debounce as zt } from "./utility.js";
|
|
5
|
+
import { FormControlComponent as bt, pushFunc as Et, updateFn as ct, cutFunc as ht, ValidationWrapper 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 Mt } from "./store.js";
|
|
10
|
+
import { useCogsConfig as Lt } 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 xt(t, i) {
|
|
14
14
|
const m = o.getState().getInitialOptions, g = o.getState().setInitialStateOptions, I = m(t) || {};
|
|
15
15
|
g(t, {
|
|
16
16
|
...I,
|
|
17
|
-
...
|
|
17
|
+
...i
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
|
-
function
|
|
20
|
+
function Pt({
|
|
21
21
|
stateKey: t,
|
|
22
|
-
options:
|
|
22
|
+
options: i,
|
|
23
23
|
initialOptionsPart: m
|
|
24
24
|
}) {
|
|
25
|
-
const g =
|
|
25
|
+
const g = ot(t) || {}, I = m[t] || {}, N = o.getState().setInitialStateOptions, E = { ...I, ...g };
|
|
26
26
|
let v = !1;
|
|
27
|
-
if (
|
|
28
|
-
for (const s in
|
|
29
|
-
|
|
30
|
-
!J(
|
|
31
|
-
v && N(t,
|
|
27
|
+
if (i)
|
|
28
|
+
for (const s in i)
|
|
29
|
+
E.hasOwnProperty(s) ? (s == "localStorage" && i[s] && E[s].key !== i[s]?.key && (v = !0, E[s] = i[s]), s == "initialState" && i[s] && E[s] !== i[s] && // Different references
|
|
30
|
+
!J(E[s], i[s]) && (v = !0, E[s] = i[s])) : (v = !0, E[s] = i[s]);
|
|
31
|
+
v && N(t, E);
|
|
32
32
|
}
|
|
33
|
-
function Ie(t, { formElements:
|
|
34
|
-
return { initialState: t, formElements:
|
|
33
|
+
function Ie(t, { formElements: i, validation: m }) {
|
|
34
|
+
return { initialState: t, formElements: i, validation: m };
|
|
35
35
|
}
|
|
36
|
-
const ve = (t,
|
|
36
|
+
const ve = (t, i) => {
|
|
37
37
|
let m = t;
|
|
38
|
-
const [g, I] =
|
|
39
|
-
(Object.keys(I).length > 0 ||
|
|
38
|
+
const [g, I] = Wt(m);
|
|
39
|
+
(Object.keys(I).length > 0 || i && Object.keys(i).length > 0) && Object.keys(I).forEach((v) => {
|
|
40
40
|
I[v] = I[v] || {}, I[v].formElements = {
|
|
41
|
-
...
|
|
41
|
+
...i?.formElements,
|
|
42
42
|
// Global defaults first
|
|
43
|
-
...
|
|
43
|
+
...i?.validation,
|
|
44
44
|
...I[v].formElements || {}
|
|
45
45
|
// State-specific overrides
|
|
46
|
-
},
|
|
46
|
+
}, ot(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
|
+
Pt({
|
|
51
51
|
stateKey: v,
|
|
52
52
|
options: s,
|
|
53
53
|
initialOptionsPart: I
|
|
@@ -70,34 +70,34 @@ const ve = (t, c) => {
|
|
|
70
70
|
);
|
|
71
71
|
return j;
|
|
72
72
|
};
|
|
73
|
-
function
|
|
74
|
-
|
|
73
|
+
function E(v, s) {
|
|
74
|
+
Pt({ 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: E };
|
|
77
77
|
}, {
|
|
78
78
|
setUpdaterState: Tt,
|
|
79
79
|
setState: nt,
|
|
80
|
-
getInitialOptions:
|
|
81
|
-
getKeyState:
|
|
80
|
+
getInitialOptions: ot,
|
|
81
|
+
getKeyState: Rt,
|
|
82
82
|
getValidationErrors: Xt,
|
|
83
83
|
setStateLog: Qt,
|
|
84
84
|
updateInitialStateGlobal: Nt,
|
|
85
|
-
addValidationError:
|
|
85
|
+
addValidationError: Dt,
|
|
86
86
|
removeValidationError: X,
|
|
87
87
|
setServerSyncActions: Kt
|
|
88
|
-
} = o.getState(),
|
|
88
|
+
} = o.getState(), Vt = (t, i, m, g, I) => {
|
|
89
89
|
m?.log && console.log(
|
|
90
90
|
"saving to localstorage",
|
|
91
|
-
|
|
91
|
+
i,
|
|
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 E = `${g}-${i}-${N}`;
|
|
98
98
|
let v;
|
|
99
99
|
try {
|
|
100
|
-
v = vt(
|
|
100
|
+
v = vt(E)?.lastSyncedWithServer;
|
|
101
101
|
} catch {
|
|
102
102
|
}
|
|
103
103
|
const s = {
|
|
@@ -106,20 +106,20 @@ const ve = (t, c) => {
|
|
|
106
106
|
lastSyncedWithServer: I ?? v
|
|
107
107
|
}, T = Jt.serialize(s);
|
|
108
108
|
window.localStorage.setItem(
|
|
109
|
-
|
|
109
|
+
E,
|
|
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 i = window.localStorage.getItem(t);
|
|
117
|
+
return i ? JSON.parse(i) : null;
|
|
118
|
+
} catch (i) {
|
|
119
|
+
return console.error("Error loading from localStorage:", i), null;
|
|
120
120
|
}
|
|
121
|
-
}, te = (t,
|
|
122
|
-
const m = o.getState().cogsStateStore[t], { sessionId: g } =
|
|
121
|
+
}, te = (t, i) => {
|
|
122
|
+
const m = o.getState().cogsStateStore[t], { sessionId: g } = Lt(), I = tt(i?.localStorage?.key) ? i.localStorage.key(m) : i?.localStorage?.key;
|
|
123
123
|
if (I && g) {
|
|
124
124
|
const N = vt(
|
|
125
125
|
`${g}-${t}-${I}`
|
|
@@ -128,9 +128,9 @@ const ve = (t, c) => {
|
|
|
128
128
|
return nt(t, N.state), dt(t), !0;
|
|
129
129
|
}
|
|
130
130
|
return !1;
|
|
131
|
-
},
|
|
132
|
-
const
|
|
133
|
-
initialState:
|
|
131
|
+
}, jt = (t, i, m, g, I, N) => {
|
|
132
|
+
const E = {
|
|
133
|
+
initialState: i,
|
|
134
134
|
updaterState: It(
|
|
135
135
|
t,
|
|
136
136
|
g,
|
|
@@ -139,29 +139,29 @@ const ve = (t, c) => {
|
|
|
139
139
|
),
|
|
140
140
|
state: m
|
|
141
141
|
};
|
|
142
|
-
Nt(t,
|
|
142
|
+
Nt(t, E.initialState), Tt(t, E.updaterState), nt(t, E.state);
|
|
143
143
|
}, dt = (t) => {
|
|
144
|
-
const
|
|
145
|
-
if (!
|
|
144
|
+
const i = o.getState().stateComponents.get(t);
|
|
145
|
+
if (!i) return;
|
|
146
146
|
const m = /* @__PURE__ */ new Set();
|
|
147
|
-
|
|
147
|
+
i.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, i) => {
|
|
153
153
|
const m = o.getState().stateComponents.get(t);
|
|
154
154
|
if (m) {
|
|
155
|
-
const g = `${t}////${
|
|
155
|
+
const g = `${t}////${i}`, 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, i, m, g) => {
|
|
161
161
|
switch (t) {
|
|
162
162
|
case "update":
|
|
163
163
|
return {
|
|
164
|
-
oldValue: Z(
|
|
164
|
+
oldValue: Z(i, g),
|
|
165
165
|
newValue: Z(m, g)
|
|
166
166
|
};
|
|
167
167
|
case "insert":
|
|
@@ -172,7 +172,7 @@ const ve = (t, c) => {
|
|
|
172
172
|
};
|
|
173
173
|
case "cut":
|
|
174
174
|
return {
|
|
175
|
-
oldValue: Z(
|
|
175
|
+
oldValue: Z(i, g),
|
|
176
176
|
newValue: null
|
|
177
177
|
// or undefined
|
|
178
178
|
};
|
|
@@ -181,24 +181,24 @@ const ve = (t, c) => {
|
|
|
181
181
|
}
|
|
182
182
|
};
|
|
183
183
|
function ne(t, {
|
|
184
|
-
stateKey:
|
|
184
|
+
stateKey: i,
|
|
185
185
|
serverSync: m,
|
|
186
186
|
localStorage: g,
|
|
187
187
|
formElements: I,
|
|
188
188
|
reactiveDeps: N,
|
|
189
|
-
reactiveType:
|
|
189
|
+
reactiveType: E,
|
|
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 } = Lt();
|
|
197
|
+
let z = !i;
|
|
198
|
+
const [h] = K(i ?? 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 = ot(h) ?? null, at(() => {
|
|
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]), at(() => {
|
|
214
214
|
if (s) {
|
|
215
|
-
|
|
215
|
+
xt(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, c = o.getState().initialStateGlobal[h];
|
|
219
|
+
if (!(c && !J(c, s) || !c) && !a)
|
|
220
220
|
return;
|
|
221
221
|
let u = null;
|
|
222
|
-
const
|
|
223
|
-
|
|
224
|
-
let
|
|
222
|
+
const y = tt(e?.localStorage?.key) ? e?.localStorage?.key(s) : e?.localStorage?.key;
|
|
223
|
+
y && U && (u = vt(`${U}-${h}-${y}`));
|
|
224
|
+
let p = 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 ? (p = e.serverState.data, w = !0) : u && A > b && (p = u.state, e?.localStorage?.onChange && e?.localStorage?.onChange(p)), o.getState().initializeShadowState(h, s), jt(
|
|
227
227
|
h,
|
|
228
228
|
s,
|
|
229
|
-
|
|
230
|
-
|
|
229
|
+
p,
|
|
230
|
+
st,
|
|
231
231
|
et.current,
|
|
232
232
|
U
|
|
233
|
-
), w &&
|
|
233
|
+
), w && y && U && Vt(p, h, e, U, Date.now()), dt(h), (Array.isArray(E) ? E : [E || "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
|
+
]), lt(() => {
|
|
241
|
+
z && xt(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: E ?? ["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 st = (e, n, a, c) => {
|
|
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 y = tt(e) ? e(u) : e, p = `${h}-${n.join(".")}`;
|
|
269
|
+
if (p) {
|
|
270
|
+
let M = !1, $ = f.signalDomElements.get(p);
|
|
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(y, 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(y, n.slice(0, -1)) : Z(y, 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" && (c || L.current?.validation?.key) && n && X(
|
|
296
|
+
(c || 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($), Dt(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, y), $ = 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 it = B.lastIndexOf(".");
|
|
333
|
+
if (it !== -1) {
|
|
334
334
|
const gt = B.substring(
|
|
335
335
|
0,
|
|
336
|
-
|
|
336
|
+
it
|
|
337
337
|
);
|
|
338
338
|
if (!isNaN(
|
|
339
|
-
Number(B.substring(
|
|
339
|
+
Number(B.substring(it + 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(y);
|
|
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(y, 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
|
+
y,
|
|
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, y);
|
|
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
|
+
}), Vt(
|
|
400
|
+
y,
|
|
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: y }),
|
|
411
411
|
rollBackState: M,
|
|
412
412
|
actionTimeStamp: Date.now() + ($.debounce ?? 3e3),
|
|
413
413
|
status: "waiting"
|
|
414
414
|
});
|
|
415
415
|
}
|
|
416
|
-
return
|
|
416
|
+
return y;
|
|
417
417
|
});
|
|
418
418
|
};
|
|
419
419
|
o.getState().updaterState[h] || (Tt(
|
|
420
420
|
h,
|
|
421
421
|
It(
|
|
422
422
|
h,
|
|
423
|
-
|
|
423
|
+
st,
|
|
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
|
+
st,
|
|
431
431
|
et.current,
|
|
432
432
|
U
|
|
433
433
|
), [h, U]);
|
|
434
|
-
return [
|
|
434
|
+
return [Rt(h), d];
|
|
435
435
|
}
|
|
436
|
-
function It(t,
|
|
436
|
+
function It(t, i, m, g) {
|
|
437
437
|
const I = /* @__PURE__ */ new Map();
|
|
438
438
|
let N = 0;
|
|
439
|
-
const
|
|
439
|
+
const E = (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, c, 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 = ot(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, c, m, g) {
|
|
|
461
461
|
I.clear(), N++;
|
|
462
462
|
const r = It(
|
|
463
463
|
t,
|
|
464
|
-
|
|
464
|
+
i,
|
|
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 = ot(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), Bt(() => {
|
|
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, c, 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, Rt(t)));
|
|
484
484
|
}
|
|
485
485
|
};
|
|
486
486
|
function s(T, r = [], S) {
|
|
@@ -529,13 +529,13 @@ function It(t, c, 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 c = !0;
|
|
533
533
|
for (const f of n.paths)
|
|
534
534
|
if (a.startsWith(f) && (a === f || a[f.length] === ".")) {
|
|
535
|
-
|
|
535
|
+
c = !1;
|
|
536
536
|
break;
|
|
537
537
|
}
|
|
538
|
-
|
|
538
|
+
c && n.paths.add(a);
|
|
539
539
|
}
|
|
540
540
|
}
|
|
541
541
|
}
|
|
@@ -551,20 +551,20 @@ function It(t, c, 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 c = await e.action(n);
|
|
555
|
+
if (c && !c.success && c.errors && a) {
|
|
556
|
+
o.getState().removeValidationError(a), c.errors.forEach((u) => {
|
|
557
|
+
const y = [a, ...u.path].join(".");
|
|
558
|
+
o.getState().addValidationError(y, 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 c?.success && e.onSuccess ? e.onSuccess(c.data) : !c?.success && e.onError && e.onError(c.error), c;
|
|
566
|
+
} catch (c) {
|
|
567
|
+
return e.onError && e.onError(c), { success: !1, error: c };
|
|
568
568
|
}
|
|
569
569
|
};
|
|
570
570
|
if (l === "_status") {
|
|
@@ -581,7 +581,7 @@ function It(t, c, 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 = ot(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, c, m, g) {
|
|
|
620
620
|
const {
|
|
621
621
|
itemHeight: n = 50,
|
|
622
622
|
overscan: a = 6,
|
|
623
|
-
stickToBottom:
|
|
623
|
+
stickToBottom: c = !1,
|
|
624
624
|
dependencies: f = []
|
|
625
|
-
} = e, u = q(!1),
|
|
625
|
+
} = e, u = q(!1), y = q(null), [p, 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
|
+
at(() => 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, c, m, g) {
|
|
|
649
649
|
n,
|
|
650
650
|
$
|
|
651
651
|
]), B = wt(() => {
|
|
652
|
-
const k = Math.max(0,
|
|
652
|
+
const k = Math.max(0, p.startIndex), x = Math.min(_, p.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, c, m, g) {
|
|
|
657
657
|
...S,
|
|
658
658
|
validIndices: H
|
|
659
659
|
});
|
|
660
|
-
}, [
|
|
661
|
-
|
|
662
|
-
const k =
|
|
660
|
+
}, [p.startIndex, p.endIndex, O, _]);
|
|
661
|
+
lt(() => {
|
|
662
|
+
const k = y.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, c, 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" && c && (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]), lt(() => {
|
|
686
|
+
const k = y.current;
|
|
687
687
|
if (!k) return;
|
|
688
688
|
let x;
|
|
689
|
-
if (C === "IDLE_AT_TOP" &&
|
|
689
|
+
if (C === "IDLE_AT_TOP" && c && _ > 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, c, m, g) {
|
|
|
724
724
|
return () => {
|
|
725
725
|
x && clearInterval(x);
|
|
726
726
|
};
|
|
727
|
-
}, [C, _, G]),
|
|
728
|
-
const k =
|
|
727
|
+
}, [C, _, G]), at(() => {
|
|
728
|
+
const k = y.current;
|
|
729
729
|
if (!k) return;
|
|
730
730
|
const x = n, H = () => {
|
|
731
731
|
if (b.current)
|
|
@@ -746,8 +746,8 @@ function It(t, c, 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 Ht = P + ft;
|
|
750
|
+
for (; St < _ && G[St] < Ht; )
|
|
751
751
|
St++;
|
|
752
752
|
w({
|
|
753
753
|
startIndex: $t,
|
|
@@ -758,21 +758,21 @@ function It(t, c, m, g) {
|
|
|
758
758
|
passive: !0
|
|
759
759
|
}), () => k.removeEventListener("scroll", H);
|
|
760
760
|
}, [_, G, n, a, C]);
|
|
761
|
-
const
|
|
761
|
+
const it = 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
|
+
y.current && G[k] !== void 0 && (A("IDLE_NOT_AT_BOTTOM"), y.current.scrollTo({
|
|
768
768
|
top: G[k],
|
|
769
769
|
behavior: x
|
|
770
770
|
}));
|
|
771
771
|
},
|
|
772
772
|
[G]
|
|
773
|
-
),
|
|
773
|
+
), Ut = {
|
|
774
774
|
outer: {
|
|
775
|
-
ref:
|
|
775
|
+
ref: y,
|
|
776
776
|
style: { overflowY: "auto", height: "100%" }
|
|
777
777
|
},
|
|
778
778
|
inner: {
|
|
@@ -783,56 +783,56 @@ function It(t, c, m, g) {
|
|
|
783
783
|
},
|
|
784
784
|
list: {
|
|
785
785
|
style: {
|
|
786
|
-
transform: `translateY(${G[
|
|
786
|
+
transform: `translateY(${G[p.startIndex] || 0}px)`
|
|
787
787
|
}
|
|
788
788
|
}
|
|
789
789
|
};
|
|
790
790
|
return {
|
|
791
791
|
virtualState: B,
|
|
792
|
-
virtualizerProps:
|
|
793
|
-
scrollToBottom:
|
|
792
|
+
virtualizerProps: Ut,
|
|
793
|
+
scrollToBottom: it,
|
|
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, y) => e(u.item, y.item)
|
|
801
|
+
), c = 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(c, 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 }, y) => e(u, y)
|
|
813
|
+
), c = 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(c, 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 }, (c, f) => f)).map((c, f) => {
|
|
825
|
+
const u = n[c], y = [...r, c.toString()], p = s(u, y, S);
|
|
826
|
+
return e(u, p, {
|
|
827
827
|
register: () => {
|
|
828
|
-
const [, C] = K({}), A = `${m}-${r.join(".")}-${
|
|
829
|
-
|
|
828
|
+
const [, C] = K({}), A = `${m}-${r.join(".")}-${c}`;
|
|
829
|
+
lt(() => {
|
|
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([y.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, c, m, g) {
|
|
|
840
840
|
}, [t, A]);
|
|
841
841
|
},
|
|
842
842
|
index: f,
|
|
843
|
-
originalIndex:
|
|
843
|
+
originalIndex: c
|
|
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, c, m, g) {
|
|
|
848
848
|
), null);
|
|
849
849
|
};
|
|
850
850
|
if (l === "stateMapNoRender")
|
|
851
|
-
return (e) => T.map((a,
|
|
851
|
+
return (e) => T.map((a, c) => {
|
|
852
852
|
let f;
|
|
853
|
-
S?.validIndices && S.validIndices[
|
|
854
|
-
const u = [...r, f.toString()],
|
|
853
|
+
S?.validIndices && S.validIndices[c] !== void 0 ? f = S.validIndices[c] : f = c;
|
|
854
|
+
const u = [...r, f.toString()], y = s(a, u, S);
|
|
855
855
|
return e(
|
|
856
856
|
a,
|
|
857
|
-
|
|
858
|
-
|
|
857
|
+
y,
|
|
858
|
+
c,
|
|
859
859
|
T,
|
|
860
860
|
s(T, r, S)
|
|
861
861
|
);
|
|
862
862
|
});
|
|
863
863
|
if (l === "$stateMap")
|
|
864
|
-
return (e) =>
|
|
864
|
+
return (e) => rt(re, {
|
|
865
865
|
proxy: {
|
|
866
866
|
_stateKey: t,
|
|
867
867
|
_path: r,
|
|
@@ -873,20 +873,26 @@ function It(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) ? (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 }, (c, f) => f)).map((c, f) => {
|
|
877
|
+
const u = n[c], y = [...r, c.toString()], p = s(u, y, S), w = `${m}-${r.join(".")}-${c}`;
|
|
878
|
+
return rt(ae, {
|
|
879
|
+
key: c,
|
|
880
880
|
stateKey: t,
|
|
881
881
|
itemComponentId: w,
|
|
882
|
-
itemPath:
|
|
883
|
-
children:
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
882
|
+
itemPath: y,
|
|
883
|
+
children: rt(bt, {
|
|
884
|
+
setState: i,
|
|
885
|
+
stateKey: t,
|
|
886
|
+
path: y,
|
|
887
|
+
child: () => e(
|
|
888
|
+
u,
|
|
889
|
+
p,
|
|
890
|
+
{ localIndex: f, originalIndex: c },
|
|
891
|
+
n,
|
|
892
|
+
s(n, r, S)
|
|
893
|
+
),
|
|
894
|
+
formOpts: void 0
|
|
895
|
+
})
|
|
890
896
|
});
|
|
891
897
|
}) : (console.warn(
|
|
892
898
|
`stateList called on a non-array value at path: ${r.join(".")}.`
|
|
@@ -897,7 +903,7 @@ function It(t, c, m, g) {
|
|
|
897
903
|
const n = T;
|
|
898
904
|
I.clear(), N++;
|
|
899
905
|
const a = n.flatMap(
|
|
900
|
-
(
|
|
906
|
+
(c) => c[e] ?? []
|
|
901
907
|
);
|
|
902
908
|
return s(
|
|
903
909
|
a,
|
|
@@ -914,40 +920,40 @@ function It(t, c, m, g) {
|
|
|
914
920
|
return () => {
|
|
915
921
|
const e = o.getState().getNestedState(t, r);
|
|
916
922
|
if (e.length === 0) return;
|
|
917
|
-
const n = e.length - 1, a = e[n],
|
|
918
|
-
return s(a,
|
|
923
|
+
const n = e.length - 1, a = e[n], c = [...r, n.toString()];
|
|
924
|
+
return s(a, c);
|
|
919
925
|
};
|
|
920
926
|
if (l === "insert")
|
|
921
|
-
return (e) => (
|
|
927
|
+
return (e) => (E(r), Et(i, e, r, t), s(
|
|
922
928
|
o.getState().getNestedState(t, r),
|
|
923
929
|
r
|
|
924
930
|
));
|
|
925
931
|
if (l === "uniqueInsert")
|
|
926
932
|
return (e, n, a) => {
|
|
927
|
-
const
|
|
933
|
+
const c = o.getState().getNestedState(t, r), f = tt(e) ? e(c) : e;
|
|
928
934
|
let u = null;
|
|
929
|
-
if (!
|
|
935
|
+
if (!c.some((p) => {
|
|
930
936
|
if (n) {
|
|
931
937
|
const C = n.every(
|
|
932
|
-
(A) => J(
|
|
938
|
+
(A) => J(p[A], f[A])
|
|
933
939
|
);
|
|
934
|
-
return C && (u =
|
|
940
|
+
return C && (u = p), C;
|
|
935
941
|
}
|
|
936
|
-
const w = J(
|
|
937
|
-
return w && (u =
|
|
942
|
+
const w = J(p, f);
|
|
943
|
+
return w && (u = p), w;
|
|
938
944
|
}))
|
|
939
|
-
|
|
945
|
+
E(r), Et(i, f, r, t);
|
|
940
946
|
else if (a && u) {
|
|
941
|
-
const
|
|
942
|
-
(C) => J(C, u) ?
|
|
947
|
+
const p = a(u), w = c.map(
|
|
948
|
+
(C) => J(C, u) ? p : C
|
|
943
949
|
);
|
|
944
|
-
|
|
950
|
+
E(r), ct(i, w, r);
|
|
945
951
|
}
|
|
946
952
|
};
|
|
947
953
|
if (l === "cut")
|
|
948
954
|
return (e, n) => {
|
|
949
955
|
if (!n?.waitForSync)
|
|
950
|
-
return
|
|
956
|
+
return E(r), ht(i, r, t, e), s(
|
|
951
957
|
o.getState().getNestedState(t, r),
|
|
952
958
|
r
|
|
953
959
|
);
|
|
@@ -955,12 +961,12 @@ function It(t, c, m, g) {
|
|
|
955
961
|
if (l === "cutByValue")
|
|
956
962
|
return (e) => {
|
|
957
963
|
for (let n = 0; n < T.length; n++)
|
|
958
|
-
T[n] === e && ht(
|
|
964
|
+
T[n] === e && ht(i, r, t, n);
|
|
959
965
|
};
|
|
960
966
|
if (l === "toggleByValue")
|
|
961
967
|
return (e) => {
|
|
962
968
|
const n = T.findIndex((a) => a === e);
|
|
963
|
-
n > -1 ? ht(
|
|
969
|
+
n > -1 ? ht(i, r, t, n) : Et(i, e, r, t);
|
|
964
970
|
};
|
|
965
971
|
if (l === "stateFind")
|
|
966
972
|
return (e) => {
|
|
@@ -968,17 +974,17 @@ function It(t, c, m, g) {
|
|
|
968
974
|
({ item: f }, u) => e(f, u)
|
|
969
975
|
);
|
|
970
976
|
if (!a) return;
|
|
971
|
-
const
|
|
972
|
-
return s(a.item,
|
|
977
|
+
const c = [...r, a.originalIndex.toString()];
|
|
978
|
+
return s(a.item, c, S);
|
|
973
979
|
};
|
|
974
980
|
if (l === "findWith")
|
|
975
981
|
return (e, n) => {
|
|
976
|
-
const
|
|
982
|
+
const c = d().find(
|
|
977
983
|
({ item: u }) => u[e] === n
|
|
978
984
|
);
|
|
979
|
-
if (!
|
|
980
|
-
const f = [...r,
|
|
981
|
-
return s(
|
|
985
|
+
if (!c) return;
|
|
986
|
+
const f = [...r, c.originalIndex.toString()];
|
|
987
|
+
return s(c.item, f, S);
|
|
982
988
|
};
|
|
983
989
|
}
|
|
984
990
|
const et = r[r.length - 1];
|
|
@@ -986,7 +992,7 @@ function It(t, c, m, g) {
|
|
|
986
992
|
const d = r.slice(0, -1), e = o.getState().getNestedState(t, d);
|
|
987
993
|
if (Array.isArray(e) && l === "cut")
|
|
988
994
|
return () => ht(
|
|
989
|
-
|
|
995
|
+
i,
|
|
990
996
|
d,
|
|
991
997
|
t,
|
|
992
998
|
Number(et)
|
|
@@ -1001,13 +1007,13 @@ function It(t, c, m, g) {
|
|
|
1001
1007
|
return o.getState().getNestedState(t, r);
|
|
1002
1008
|
};
|
|
1003
1009
|
if (l === "$derive")
|
|
1004
|
-
return (d) =>
|
|
1010
|
+
return (d) => Gt({
|
|
1005
1011
|
_stateKey: t,
|
|
1006
1012
|
_path: r,
|
|
1007
1013
|
_effect: d.toString()
|
|
1008
1014
|
});
|
|
1009
1015
|
if (l === "$get")
|
|
1010
|
-
return () =>
|
|
1016
|
+
return () => Gt({
|
|
1011
1017
|
_stateKey: t,
|
|
1012
1018
|
_path: r
|
|
1013
1019
|
});
|
|
@@ -1025,8 +1031,8 @@ function It(t, c, m, g) {
|
|
|
1025
1031
|
return (d) => {
|
|
1026
1032
|
const e = r.slice(0, -1), n = Number(r[r.length - 1]), a = e.join(".");
|
|
1027
1033
|
d ? o.getState().setSelectedIndex(t, a, n) : o.getState().setSelectedIndex(t, a, void 0);
|
|
1028
|
-
const
|
|
1029
|
-
|
|
1034
|
+
const c = o.getState().getNestedState(t, [...e]);
|
|
1035
|
+
ct(i, c, e), E(e);
|
|
1030
1036
|
};
|
|
1031
1037
|
if (l === "toggleSelected")
|
|
1032
1038
|
return () => {
|
|
@@ -1036,8 +1042,8 @@ function It(t, c, m, g) {
|
|
|
1036
1042
|
n,
|
|
1037
1043
|
a === e ? void 0 : e
|
|
1038
1044
|
);
|
|
1039
|
-
const
|
|
1040
|
-
|
|
1045
|
+
const c = o.getState().getNestedState(t, [...d]);
|
|
1046
|
+
ct(i, c, d), E(d);
|
|
1041
1047
|
};
|
|
1042
1048
|
if (r.length == 0) {
|
|
1043
1049
|
if (l === "addValidation")
|
|
@@ -1047,44 +1053,44 @@ function It(t, c, m, g) {
|
|
|
1047
1053
|
throw new Error("Validation key not found");
|
|
1048
1054
|
X(e.key), console.log("addValidationError", d), d.forEach((n) => {
|
|
1049
1055
|
const a = [e.key, ...n.path].join(".");
|
|
1050
|
-
console.log("fullErrorPath", a),
|
|
1056
|
+
console.log("fullErrorPath", a), Dt(a, n.message);
|
|
1051
1057
|
}), dt(t);
|
|
1052
1058
|
};
|
|
1053
1059
|
if (l === "applyJsonPatch")
|
|
1054
1060
|
return (d) => {
|
|
1055
1061
|
const e = o.getState().cogsStateStore[t], a = Yt(e, d).newDocument;
|
|
1056
|
-
|
|
1062
|
+
jt(
|
|
1057
1063
|
t,
|
|
1058
1064
|
o.getState().initialStateGlobal[t],
|
|
1059
1065
|
a,
|
|
1060
|
-
|
|
1066
|
+
i,
|
|
1061
1067
|
m,
|
|
1062
1068
|
g
|
|
1063
1069
|
);
|
|
1064
|
-
const
|
|
1065
|
-
if (
|
|
1070
|
+
const c = o.getState().stateComponents.get(t);
|
|
1071
|
+
if (c) {
|
|
1066
1072
|
const f = _t(e, a), u = new Set(f);
|
|
1067
1073
|
for (const [
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
] of
|
|
1074
|
+
y,
|
|
1075
|
+
p
|
|
1076
|
+
] of c.components.entries()) {
|
|
1071
1077
|
let w = !1;
|
|
1072
|
-
const C = Array.isArray(
|
|
1078
|
+
const C = Array.isArray(p.reactiveType) ? p.reactiveType : [p.reactiveType || "component"];
|
|
1073
1079
|
if (!C.includes("none")) {
|
|
1074
1080
|
if (C.includes("all")) {
|
|
1075
|
-
|
|
1081
|
+
p.forceUpdate();
|
|
1076
1082
|
continue;
|
|
1077
1083
|
}
|
|
1078
|
-
if (C.includes("component") && (
|
|
1084
|
+
if (C.includes("component") && (p.paths.has("") && (w = !0), !w))
|
|
1079
1085
|
for (const A of u) {
|
|
1080
|
-
if (
|
|
1086
|
+
if (p.paths.has(A)) {
|
|
1081
1087
|
w = !0;
|
|
1082
1088
|
break;
|
|
1083
1089
|
}
|
|
1084
1090
|
let b = A.lastIndexOf(".");
|
|
1085
1091
|
for (; b !== -1; ) {
|
|
1086
1092
|
const F = A.substring(0, b);
|
|
1087
|
-
if (
|
|
1093
|
+
if (p.paths.has(F)) {
|
|
1088
1094
|
w = !0;
|
|
1089
1095
|
break;
|
|
1090
1096
|
}
|
|
@@ -1098,7 +1104,7 @@ function It(t, c, m, g) {
|
|
|
1098
1104
|
0,
|
|
1099
1105
|
M
|
|
1100
1106
|
);
|
|
1101
|
-
if (
|
|
1107
|
+
if (p.paths.has($)) {
|
|
1102
1108
|
w = !0;
|
|
1103
1109
|
break;
|
|
1104
1110
|
}
|
|
@@ -1108,12 +1114,12 @@ function It(t, c, m, g) {
|
|
|
1108
1114
|
}
|
|
1109
1115
|
if (w) break;
|
|
1110
1116
|
}
|
|
1111
|
-
if (!w && C.includes("deps") &&
|
|
1112
|
-
const A =
|
|
1117
|
+
if (!w && C.includes("deps") && p.depsFunction) {
|
|
1118
|
+
const A = p.depsFunction(a);
|
|
1113
1119
|
let b = !1;
|
|
1114
|
-
typeof A == "boolean" ? A && (b = !0) : J(
|
|
1120
|
+
typeof A == "boolean" ? A && (b = !0) : J(p.deps, A) || (p.deps = A, b = !0), b && (w = !0);
|
|
1115
1121
|
}
|
|
1116
|
-
w &&
|
|
1122
|
+
w && p.forceUpdate();
|
|
1117
1123
|
}
|
|
1118
1124
|
}
|
|
1119
1125
|
}
|
|
@@ -1132,10 +1138,10 @@ function It(t, c, m, g) {
|
|
|
1132
1138
|
a && a.length > 0 && a.forEach(([f]) => {
|
|
1133
1139
|
f && f.startsWith(d.key) && X(f);
|
|
1134
1140
|
});
|
|
1135
|
-
const
|
|
1136
|
-
return
|
|
1137
|
-
const
|
|
1138
|
-
e(w,
|
|
1141
|
+
const c = d.zodSchema.safeParse(n);
|
|
1142
|
+
return c.success ? !0 : (c.error.errors.forEach((u) => {
|
|
1143
|
+
const y = u.path, p = u.message, w = [d.key, ...y].join(".");
|
|
1144
|
+
e(w, p);
|
|
1139
1145
|
}), dt(t), !1);
|
|
1140
1146
|
} catch (a) {
|
|
1141
1147
|
return console.error("Zod schema validation failed", a), !1;
|
|
@@ -1145,7 +1151,7 @@ function It(t, c, m, g) {
|
|
|
1145
1151
|
if (l === "getComponents")
|
|
1146
1152
|
return () => o().stateComponents.get(t);
|
|
1147
1153
|
if (l === "getAllFormRefs")
|
|
1148
|
-
return () =>
|
|
1154
|
+
return () => Mt.getState().getFormRefsByStateKey(t);
|
|
1149
1155
|
if (l === "_initialState")
|
|
1150
1156
|
return o.getState().initialStateGlobal[t];
|
|
1151
1157
|
if (l === "_serverState")
|
|
@@ -1158,13 +1164,13 @@ function It(t, c, m, g) {
|
|
|
1158
1164
|
if (l === "removeValidation") return v.removeValidation;
|
|
1159
1165
|
}
|
|
1160
1166
|
if (l === "getFormRef")
|
|
1161
|
-
return () =>
|
|
1167
|
+
return () => Mt.getState().getFormRef(t + "." + r.join("."));
|
|
1162
1168
|
if (l === "validationWrapper")
|
|
1163
1169
|
return ({
|
|
1164
1170
|
children: d,
|
|
1165
1171
|
hideMessage: e
|
|
1166
1172
|
}) => /* @__PURE__ */ Ot(
|
|
1167
|
-
|
|
1173
|
+
qt,
|
|
1168
1174
|
{
|
|
1169
1175
|
formOpts: e ? { validation: { message: "" } } : void 0,
|
|
1170
1176
|
path: r,
|
|
@@ -1180,31 +1186,31 @@ function It(t, c, m, g) {
|
|
|
1180
1186
|
if (l === "update")
|
|
1181
1187
|
return (d, e) => {
|
|
1182
1188
|
if (e?.debounce)
|
|
1183
|
-
|
|
1184
|
-
|
|
1189
|
+
zt(() => {
|
|
1190
|
+
ct(i, d, r, "");
|
|
1185
1191
|
const n = o.getState().getNestedState(t, r);
|
|
1186
1192
|
e?.afterUpdate && e.afterUpdate(n);
|
|
1187
1193
|
}, e.debounce);
|
|
1188
1194
|
else {
|
|
1189
|
-
|
|
1195
|
+
ct(i, d, r, "");
|
|
1190
1196
|
const n = o.getState().getNestedState(t, r);
|
|
1191
1197
|
e?.afterUpdate && e.afterUpdate(n);
|
|
1192
1198
|
}
|
|
1193
|
-
|
|
1199
|
+
E(r);
|
|
1194
1200
|
};
|
|
1195
1201
|
if (l === "formElement")
|
|
1196
1202
|
return (d, e) => /* @__PURE__ */ Ot(
|
|
1197
|
-
|
|
1203
|
+
bt,
|
|
1198
1204
|
{
|
|
1199
|
-
setState:
|
|
1205
|
+
setState: i,
|
|
1200
1206
|
stateKey: t,
|
|
1201
1207
|
path: r,
|
|
1202
1208
|
child: d,
|
|
1203
1209
|
formOpts: e
|
|
1204
1210
|
}
|
|
1205
1211
|
);
|
|
1206
|
-
const L = [...r, l],
|
|
1207
|
-
return s(
|
|
1212
|
+
const L = [...r, l], st = o.getState().getNestedState(t, L);
|
|
1213
|
+
return s(st, L, S);
|
|
1208
1214
|
}
|
|
1209
1215
|
}, z = new Proxy(j, U);
|
|
1210
1216
|
return I.set(W, {
|
|
@@ -1216,35 +1222,35 @@ function It(t, c, m, g) {
|
|
|
1216
1222
|
o.getState().getNestedState(t, [])
|
|
1217
1223
|
);
|
|
1218
1224
|
}
|
|
1219
|
-
function
|
|
1220
|
-
return
|
|
1225
|
+
function Gt(t) {
|
|
1226
|
+
return rt(oe, { proxy: t });
|
|
1221
1227
|
}
|
|
1222
1228
|
function re({
|
|
1223
1229
|
proxy: t,
|
|
1224
|
-
rebuildStateShape:
|
|
1230
|
+
rebuildStateShape: i
|
|
1225
1231
|
}) {
|
|
1226
1232
|
const m = o().getNestedState(t._stateKey, t._path);
|
|
1227
|
-
return Array.isArray(m) ?
|
|
1233
|
+
return Array.isArray(m) ? i(
|
|
1228
1234
|
m,
|
|
1229
1235
|
t._path
|
|
1230
1236
|
).stateMapNoRender(
|
|
1231
|
-
(I, N,
|
|
1237
|
+
(I, N, E, v, s) => t._mapFn(I, N, E, v, s)
|
|
1232
1238
|
) : null;
|
|
1233
1239
|
}
|
|
1234
1240
|
function oe({
|
|
1235
1241
|
proxy: t
|
|
1236
1242
|
}) {
|
|
1237
|
-
const
|
|
1238
|
-
return
|
|
1239
|
-
const g =
|
|
1243
|
+
const i = q(null), m = `${t._stateKey}-${t._path.join(".")}`;
|
|
1244
|
+
return at(() => {
|
|
1245
|
+
const g = i.current;
|
|
1240
1246
|
if (!g || !g.parentElement) return;
|
|
1241
|
-
const I = g.parentElement,
|
|
1247
|
+
const I = g.parentElement, E = Array.from(I.childNodes).indexOf(g);
|
|
1242
1248
|
let v = I.getAttribute("data-parent-id");
|
|
1243
1249
|
v || (v = `parent-${crypto.randomUUID()}`, I.setAttribute("data-parent-id", v));
|
|
1244
1250
|
const T = {
|
|
1245
1251
|
instanceId: `instance-${crypto.randomUUID()}`,
|
|
1246
1252
|
parentId: v,
|
|
1247
|
-
position:
|
|
1253
|
+
position: E,
|
|
1248
1254
|
effect: t._effect
|
|
1249
1255
|
};
|
|
1250
1256
|
o.getState().addSignalElement(m, T);
|
|
@@ -1264,14 +1270,14 @@ function oe({
|
|
|
1264
1270
|
S !== null && typeof S == "object" && (S = JSON.stringify(S));
|
|
1265
1271
|
const W = document.createTextNode(String(S));
|
|
1266
1272
|
g.replaceWith(W);
|
|
1267
|
-
}, [t._stateKey, t._path.join("."), t._effect]),
|
|
1268
|
-
ref:
|
|
1273
|
+
}, [t._stateKey, t._path.join("."), t._effect]), rt("span", {
|
|
1274
|
+
ref: i,
|
|
1269
1275
|
style: { display: "none" },
|
|
1270
1276
|
"data-signal-id": m
|
|
1271
1277
|
});
|
|
1272
1278
|
}
|
|
1273
1279
|
function pe(t) {
|
|
1274
|
-
const
|
|
1280
|
+
const i = Ft(
|
|
1275
1281
|
(m) => {
|
|
1276
1282
|
const g = o.getState().stateComponents.get(t._stateKey) || {
|
|
1277
1283
|
components: /* @__PURE__ */ new Map()
|
|
@@ -1283,23 +1289,23 @@ function pe(t) {
|
|
|
1283
1289
|
},
|
|
1284
1290
|
() => o.getState().getNestedState(t._stateKey, t._path)
|
|
1285
1291
|
);
|
|
1286
|
-
return
|
|
1292
|
+
return rt("text", {}, String(i));
|
|
1287
1293
|
}
|
|
1288
1294
|
function ae({
|
|
1289
1295
|
stateKey: t,
|
|
1290
|
-
itemComponentId:
|
|
1296
|
+
itemComponentId: i,
|
|
1291
1297
|
itemPath: m,
|
|
1292
1298
|
children: g
|
|
1293
1299
|
}) {
|
|
1294
|
-
const [, I] = K({}), [N,
|
|
1295
|
-
return
|
|
1296
|
-
|
|
1300
|
+
const [, I] = K({}), [N, E] = Zt(), v = q(null);
|
|
1301
|
+
return at(() => {
|
|
1302
|
+
E.height > 0 && E.height !== v.current && (v.current = E.height, o.getState().setShadowMetadata(t, m, {
|
|
1297
1303
|
virtualizer: {
|
|
1298
|
-
itemHeight:
|
|
1304
|
+
itemHeight: E.height
|
|
1299
1305
|
}
|
|
1300
1306
|
}));
|
|
1301
|
-
}, [
|
|
1302
|
-
const s = `${t}////${
|
|
1307
|
+
}, [E.height, t, m]), lt(() => {
|
|
1308
|
+
const s = `${t}////${i}`, T = o.getState().stateComponents.get(t) || {
|
|
1303
1309
|
components: /* @__PURE__ */ new Map()
|
|
1304
1310
|
};
|
|
1305
1311
|
return T.components.set(s, {
|
|
@@ -1309,10 +1315,10 @@ function ae({
|
|
|
1309
1315
|
const r = o.getState().stateComponents.get(t);
|
|
1310
1316
|
r && r.components.delete(s);
|
|
1311
1317
|
};
|
|
1312
|
-
}, [t,
|
|
1318
|
+
}, [t, i, m.join(".")]), /* @__PURE__ */ Ot("div", { ref: N, children: g });
|
|
1313
1319
|
}
|
|
1314
1320
|
export {
|
|
1315
|
-
|
|
1321
|
+
Gt as $cogsSignal,
|
|
1316
1322
|
pe as $cogsSignalStore,
|
|
1317
1323
|
Ie as addStateOptions,
|
|
1318
1324
|
ve as createCogsState,
|