cogsbox-state 0.5.304 → 0.5.305

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