cogsbox-state 0.5.327 → 0.5.328

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