cogsbox-state 0.5.405 → 0.5.406

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