cogsbox-state 0.5.404 → 0.5.405

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