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