cogsbox-state 0.5.398 → 0.5.400

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,63 +1,63 @@
1
1
  "use client";
2
- import { jsx as It } from "react/jsx-runtime";
3
- import { useState as K, useRef as q, useEffect as ot, useLayoutEffect as ct, useMemo as wt, createElement as lt, useSyncExternalStore as Ft, startTransition as Bt, useCallback as kt } from "react";
4
- import { transformStateFunc as Wt, isDeepEqual as J, isFunction as tt, getNestedValue as Z, getDifferences as _t, debounce as zt } from "./utility.js";
5
- import { ValidationWrapper as bt, pushFunc as Ot, updateFn as it, cutFunc as ht, FormControlComponent as qt } from "./Functions.jsx";
2
+ import { jsx as Ot } from "react/jsx-runtime";
3
+ import { useState as K, useRef as q, useEffect as ot, useLayoutEffect as ct, useMemo as wt, createElement as lt, useSyncExternalStore as Ht, startTransition as Ft, useCallback as kt } from "react";
4
+ import { transformStateFunc as Bt, isDeepEqual as J, isFunction as tt, getNestedValue as Z, getDifferences as _t, debounce as Wt } from "./utility.js";
5
+ import { pushFunc as Et, updateFn as it, cutFunc as ht, ValidationWrapper as zt, FormControlComponent as qt } from "./Functions.jsx";
6
6
  import Jt from "superjson";
7
7
  import { v4 as At } from "uuid";
8
8
  import "zod";
9
- import { getGlobalStore as o, formRefStore as Mt } from "./store.js";
10
- import { useCogsConfig as Lt } from "./CogsStateClient.jsx";
9
+ import { getGlobalStore as o, formRefStore as bt } from "./store.js";
10
+ import { useCogsConfig as Gt } from "./CogsStateClient.jsx";
11
11
  import { applyPatch as Yt } from "fast-json-patch";
12
12
  import Zt from "react-use-measure";
13
- function xt(t, c) {
14
- const m = o.getState().getInitialOptions, g = o.getState().setInitialStateOptions, T = m(t) || {};
13
+ function Mt(t, c) {
14
+ const m = o.getState().getInitialOptions, g = o.getState().setInitialStateOptions, I = m(t) || {};
15
15
  g(t, {
16
- ...T,
16
+ ...I,
17
17
  ...c
18
18
  });
19
19
  }
20
- function Pt({
20
+ function xt({
21
21
  stateKey: t,
22
22
  options: c,
23
23
  initialOptionsPart: m
24
24
  }) {
25
- const g = rt(t) || {}, T = m[t] || {}, C = o.getState().setInitialStateOptions, E = { ...T, ...g };
25
+ const g = rt(t) || {}, I = m[t] || {}, N = o.getState().setInitialStateOptions, p = { ...I, ...g };
26
26
  let v = !1;
27
27
  if (c)
28
28
  for (const s in c)
29
- E.hasOwnProperty(s) ? (s == "localStorage" && c[s] && E[s].key !== c[s]?.key && (v = !0, E[s] = c[s]), s == "initialState" && c[s] && E[s] !== c[s] && // Different references
30
- !J(E[s], c[s]) && (v = !0, E[s] = c[s])) : (v = !0, E[s] = c[s]);
31
- v && C(t, E);
29
+ p.hasOwnProperty(s) ? (s == "localStorage" && c[s] && p[s].key !== c[s]?.key && (v = !0, p[s] = c[s]), s == "initialState" && c[s] && p[s] !== c[s] && // Different references
30
+ !J(p[s], c[s]) && (v = !0, p[s] = c[s])) : (v = !0, p[s] = c[s]);
31
+ v && N(t, p);
32
32
  }
33
- function Te(t, { formElements: c, validation: m }) {
33
+ function Ie(t, { formElements: c, validation: m }) {
34
34
  return { initialState: t, formElements: c, validation: m };
35
35
  }
36
36
  const ve = (t, c) => {
37
37
  let m = t;
38
- const [g, T] = Wt(m);
39
- (Object.keys(T).length > 0 || c && Object.keys(c).length > 0) && Object.keys(T).forEach((v) => {
40
- T[v] = T[v] || {}, T[v].formElements = {
38
+ const [g, I] = Bt(m);
39
+ (Object.keys(I).length > 0 || c && Object.keys(c).length > 0) && Object.keys(I).forEach((v) => {
40
+ I[v] = I[v] || {}, I[v].formElements = {
41
41
  ...c?.formElements,
42
42
  // Global defaults first
43
43
  ...c?.validation,
44
- ...T[v].formElements || {}
44
+ ...I[v].formElements || {}
45
45
  // State-specific overrides
46
- }, rt(v) || o.getState().setInitialStateOptions(v, T[v]);
46
+ }, rt(v) || o.getState().setInitialStateOptions(v, I[v]);
47
47
  }), o.getState().setInitialStates(g), o.getState().setCreatedState(g);
48
- const C = (v, s) => {
49
- const [I] = K(s?.componentId ?? At());
50
- Pt({
48
+ const N = (v, s) => {
49
+ const [T] = K(s?.componentId ?? At());
50
+ xt({
51
51
  stateKey: v,
52
52
  options: s,
53
- initialOptionsPart: T
53
+ initialOptionsPart: I
54
54
  });
55
- const r = o.getState().cogsStateStore[v] || g[v], f = s?.modifyState ? s.modifyState(r) : r, [W, j] = ne(
56
- f,
55
+ const r = o.getState().cogsStateStore[v] || g[v], S = s?.modifyState ? s.modifyState(r) : r, [W, j] = ne(
56
+ S,
57
57
  {
58
58
  stateKey: v,
59
59
  syncUpdate: s?.syncUpdate,
60
- componentId: I,
60
+ componentId: T,
61
61
  localStorage: s?.localStorage,
62
62
  middleware: s?.middleware,
63
63
  enabledSync: s?.enabledSync,
@@ -70,47 +70,47 @@ const ve = (t, c) => {
70
70
  );
71
71
  return j;
72
72
  };
73
- function E(v, s) {
74
- Pt({ stateKey: v, options: s, initialOptionsPart: T }), s.localStorage && te(v, s), dt(v);
73
+ function p(v, s) {
74
+ xt({ stateKey: v, options: s, initialOptionsPart: I }), s.localStorage && te(v, s), dt(v);
75
75
  }
76
- return { useCogsState: C, setCogsOptions: E };
76
+ return { useCogsState: N, setCogsOptions: p };
77
77
  }, {
78
78
  setUpdaterState: Tt,
79
79
  setState: nt,
80
80
  getInitialOptions: rt,
81
- getKeyState: Rt,
81
+ getKeyState: Lt,
82
82
  getValidationErrors: Xt,
83
83
  setStateLog: Qt,
84
84
  updateInitialStateGlobal: Nt,
85
- addValidationError: Dt,
85
+ addValidationError: Rt,
86
86
  removeValidationError: X,
87
87
  setServerSyncActions: Kt
88
- } = o.getState(), Vt = (t, c, m, g, T) => {
88
+ } = o.getState(), Pt = (t, c, m, g, I) => {
89
89
  m?.log && console.log(
90
90
  "saving to localstorage",
91
91
  c,
92
92
  m.localStorage?.key,
93
93
  g
94
94
  );
95
- const C = tt(m?.localStorage?.key) ? m.localStorage?.key(t) : m?.localStorage?.key;
96
- if (C && g) {
97
- const E = `${g}-${c}-${C}`;
95
+ const N = tt(m?.localStorage?.key) ? m.localStorage?.key(t) : m?.localStorage?.key;
96
+ if (N && g) {
97
+ const p = `${g}-${c}-${N}`;
98
98
  let v;
99
99
  try {
100
- v = yt(E)?.lastSyncedWithServer;
100
+ v = vt(p)?.lastSyncedWithServer;
101
101
  } catch {
102
102
  }
103
103
  const s = {
104
104
  state: t,
105
105
  lastUpdated: Date.now(),
106
- lastSyncedWithServer: T ?? v
107
- }, I = Jt.serialize(s);
106
+ lastSyncedWithServer: I ?? v
107
+ }, T = Jt.serialize(s);
108
108
  window.localStorage.setItem(
109
- E,
110
- JSON.stringify(I.json)
109
+ p,
110
+ JSON.stringify(T.json)
111
111
  );
112
112
  }
113
- }, yt = (t) => {
113
+ }, vt = (t) => {
114
114
  if (!t) return null;
115
115
  try {
116
116
  const c = window.localStorage.getItem(t);
@@ -119,27 +119,27 @@ const ve = (t, c) => {
119
119
  return console.error("Error loading from localStorage:", c), null;
120
120
  }
121
121
  }, te = (t, c) => {
122
- const m = o.getState().cogsStateStore[t], { sessionId: g } = Lt(), T = tt(c?.localStorage?.key) ? c.localStorage.key(m) : c?.localStorage?.key;
123
- if (T && g) {
124
- const C = yt(
125
- `${g}-${t}-${T}`
122
+ const m = o.getState().cogsStateStore[t], { sessionId: g } = Gt(), I = tt(c?.localStorage?.key) ? c.localStorage.key(m) : c?.localStorage?.key;
123
+ if (I && g) {
124
+ const N = vt(
125
+ `${g}-${t}-${I}`
126
126
  );
127
- if (C && C.lastUpdated > (C.lastSyncedWithServer || 0))
128
- return nt(t, C.state), dt(t), !0;
127
+ if (N && N.lastUpdated > (N.lastSyncedWithServer || 0))
128
+ return nt(t, N.state), dt(t), !0;
129
129
  }
130
130
  return !1;
131
- }, jt = (t, c, m, g, T, C) => {
132
- const E = {
131
+ }, Dt = (t, c, m, g, I, N) => {
132
+ const p = {
133
133
  initialState: c,
134
- updaterState: vt(
134
+ updaterState: It(
135
135
  t,
136
136
  g,
137
- T,
138
- C
137
+ I,
138
+ N
139
139
  ),
140
140
  state: m
141
141
  };
142
- Nt(t, E.initialState), Tt(t, E.updaterState), nt(t, E.state);
142
+ Nt(t, p.initialState), Tt(t, p.updaterState), nt(t, p.state);
143
143
  }, dt = (t) => {
144
144
  const c = o.getState().stateComponents.get(t);
145
145
  if (!c) return;
@@ -152,10 +152,10 @@ const ve = (t, c) => {
152
152
  }, ye = (t, c) => {
153
153
  const m = o.getState().stateComponents.get(t);
154
154
  if (m) {
155
- const g = `${t}////${c}`, T = m.components.get(g);
156
- if ((T ? Array.isArray(T.reactiveType) ? T.reactiveType : [T.reactiveType || "component"] : null)?.includes("none"))
155
+ const g = `${t}////${c}`, I = m.components.get(g);
156
+ if ((I ? Array.isArray(I.reactiveType) ? I.reactiveType : [I.reactiveType || "component"] : null)?.includes("none"))
157
157
  return;
158
- T && T.forceUpdate();
158
+ I && I.forceUpdate();
159
159
  }
160
160
  }, ee = (t, c, m, g) => {
161
161
  switch (t) {
@@ -184,63 +184,63 @@ function ne(t, {
184
184
  stateKey: c,
185
185
  serverSync: m,
186
186
  localStorage: g,
187
- formElements: T,
188
- reactiveDeps: C,
189
- reactiveType: E,
187
+ formElements: I,
188
+ reactiveDeps: N,
189
+ reactiveType: p,
190
190
  componentId: v,
191
191
  initialState: s,
192
- syncUpdate: I,
192
+ syncUpdate: T,
193
193
  dependencies: r,
194
- serverState: f
194
+ serverState: S
195
195
  } = {}) {
196
- const [W, j] = K({}), { sessionId: U } = Lt();
196
+ const [W, j] = K({}), { sessionId: U } = Gt();
197
197
  let z = !c;
198
198
  const [h] = K(c ?? At()), l = o.getState().stateLog[h], ut = q(/* @__PURE__ */ new Set()), et = q(v ?? At()), L = q(
199
199
  null
200
200
  );
201
201
  L.current = rt(h) ?? null, ot(() => {
202
- if (I && I.stateKey === h && I.path?.[0]) {
202
+ if (T && T.stateKey === h && T.path?.[0]) {
203
203
  nt(h, (n) => ({
204
204
  ...n,
205
- [I.path[0]]: I.newValue
205
+ [T.path[0]]: T.newValue
206
206
  }));
207
- const e = `${I.stateKey}:${I.path.join(".")}`;
207
+ const e = `${T.stateKey}:${T.path.join(".")}`;
208
208
  o.getState().setSyncInfo(e, {
209
- timeStamp: I.timeStamp,
210
- userId: I.userId
209
+ timeStamp: T.timeStamp,
210
+ userId: T.userId
211
211
  });
212
212
  }
213
- }, [I]), ot(() => {
213
+ }, [T]), ot(() => {
214
214
  if (s) {
215
- xt(h, {
215
+ Mt(h, {
216
216
  initialState: s
217
217
  });
218
218
  const e = L.current, a = e?.serverState?.id !== void 0 && e?.serverState?.status === "success" && e?.serverState?.data, i = o.getState().initialStateGlobal[h];
219
219
  if (!(i && !J(i, s) || !i) && !a)
220
220
  return;
221
221
  let u = null;
222
- const y = tt(e?.localStorage?.key) ? e?.localStorage?.key(s) : e?.localStorage?.key;
223
- y && U && (u = yt(`${U}-${h}-${y}`));
224
- let p = s, _ = !1;
225
- const N = a ? Date.now() : 0, w = u?.lastUpdated || 0, k = u?.lastSyncedWithServer || 0;
226
- a && N > w ? (p = e.serverState.data, _ = !0) : u && w > k && (p = u.state, e?.localStorage?.onChange && e?.localStorage?.onChange(p)), o.getState().initializeShadowState(h, s), jt(
222
+ const E = tt(e?.localStorage?.key) ? e?.localStorage?.key(s) : e?.localStorage?.key;
223
+ E && U && (u = vt(`${U}-${h}-${E}`));
224
+ let y = s, w = !1;
225
+ const C = a ? Date.now() : 0, A = u?.lastUpdated || 0, b = u?.lastSyncedWithServer || 0;
226
+ a && C > A ? (y = e.serverState.data, w = !0) : u && A > b && (y = u.state, e?.localStorage?.onChange && e?.localStorage?.onChange(y)), o.getState().initializeShadowState(h, s), Dt(
227
227
  h,
228
228
  s,
229
- p,
229
+ y,
230
230
  at,
231
231
  et.current,
232
232
  U
233
- ), _ && y && U && Vt(p, h, e, U, Date.now()), dt(h), (Array.isArray(E) ? E : [E || "component"]).includes("none") || j({});
233
+ ), w && E && U && Pt(y, h, e, U, Date.now()), dt(h), (Array.isArray(p) ? p : [p || "component"]).includes("none") || j({});
234
234
  }
235
235
  }, [
236
236
  s,
237
- f?.status,
238
- f?.data,
237
+ S?.status,
238
+ S?.data,
239
239
  ...r || []
240
240
  ]), ct(() => {
241
- z && xt(h, {
241
+ z && Mt(h, {
242
242
  serverSync: m,
243
- formElements: T,
243
+ formElements: I,
244
244
  initialState: s,
245
245
  localStorage: g,
246
246
  middleware: L.current?.middleware
@@ -252,8 +252,8 @@ function ne(t, {
252
252
  forceUpdate: () => j({}),
253
253
  paths: /* @__PURE__ */ new Set(),
254
254
  deps: [],
255
- depsFunction: C || void 0,
256
- reactiveType: E ?? ["component", "deps"]
255
+ depsFunction: N || void 0,
256
+ reactiveType: p ?? ["component", "deps"]
257
257
  }), o.getState().stateComponents.set(h, n), j({}), () => {
258
258
  n && (n.components.delete(e), n.components.size === 0 && o.getState().stateComponents.delete(h));
259
259
  };
@@ -263,70 +263,70 @@ function ne(t, {
263
263
  const u = `${h}-${n.join(".")}`;
264
264
  ut.current.add(u);
265
265
  }
266
- const S = o.getState();
266
+ const f = o.getState();
267
267
  nt(h, (u) => {
268
- const y = tt(e) ? e(u) : e, p = `${h}-${n.join(".")}`;
269
- if (p) {
270
- let M = !1, $ = S.signalDomElements.get(p);
268
+ const E = tt(e) ? e(u) : e, y = `${h}-${n.join(".")}`;
269
+ if (y) {
270
+ let M = !1, $ = f.signalDomElements.get(y);
271
271
  if ((!$ || $.size === 0) && (a.updateType === "insert" || a.updateType === "cut")) {
272
- const R = n.slice(0, -1), V = Z(y, R);
272
+ const R = n.slice(0, -1), V = Z(E, R);
273
273
  if (Array.isArray(V)) {
274
274
  M = !0;
275
275
  const O = `${h}-${R.join(".")}`;
276
- $ = S.signalDomElements.get(O);
276
+ $ = f.signalDomElements.get(O);
277
277
  }
278
278
  }
279
279
  if ($) {
280
- const R = M ? Z(y, n.slice(0, -1)) : Z(y, n);
281
- $.forEach(({ parentId: V, position: O, effect: A }) => {
280
+ const R = M ? Z(E, n.slice(0, -1)) : Z(E, n);
281
+ $.forEach(({ parentId: V, position: O, effect: _ }) => {
282
282
  const D = document.querySelector(
283
283
  `[data-parent-id="${V}"]`
284
284
  );
285
285
  if (D) {
286
286
  const G = Array.from(D.childNodes);
287
287
  if (G[O]) {
288
- const B = A ? new Function("state", `return (${A})(state)`)(R) : R;
288
+ const B = _ ? new Function("state", `return (${_})(state)`)(R) : R;
289
289
  G[O].textContent = String(B);
290
290
  }
291
291
  }
292
292
  });
293
293
  }
294
294
  }
295
- console.log("shadowState", S.shadowStateStore), a.updateType === "update" && (i || L.current?.validation?.key) && n && X(
295
+ console.log("shadowState", f.shadowStateStore), a.updateType === "update" && (i || L.current?.validation?.key) && n && X(
296
296
  (i || L.current?.validation?.key) + "." + n.join(".")
297
297
  );
298
- const _ = n.slice(0, n.length - 1);
298
+ const w = n.slice(0, n.length - 1);
299
299
  a.updateType === "cut" && L.current?.validation?.key && X(
300
- L.current?.validation?.key + "." + _.join(".")
300
+ L.current?.validation?.key + "." + w.join(".")
301
301
  ), a.updateType === "insert" && L.current?.validation?.key && Xt(
302
- L.current?.validation?.key + "." + _.join(".")
302
+ L.current?.validation?.key + "." + w.join(".")
303
303
  ).filter(([$, R]) => {
304
304
  let V = $?.split(".").length;
305
- if ($ == _.join(".") && V == _.length - 1) {
306
- let O = $ + "." + _;
307
- X($), Dt(O, R);
305
+ if ($ == w.join(".") && V == w.length - 1) {
306
+ let O = $ + "." + w;
307
+ X($), Rt(O, R);
308
308
  }
309
309
  });
310
- const N = S.stateComponents.get(h);
311
- if (console.log("stateEntry >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", N), N) {
312
- const M = _t(u, y), $ = new Set(M), R = a.updateType === "update" ? n.join(".") : n.slice(0, -1).join(".") || "";
310
+ const C = f.stateComponents.get(h);
311
+ if (console.log("stateEntry >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", C), C) {
312
+ const M = _t(u, E), $ = new Set(M), R = a.updateType === "update" ? n.join(".") : n.slice(0, -1).join(".") || "";
313
313
  for (const [
314
314
  V,
315
315
  O
316
- ] of N.components.entries()) {
317
- let A = !1;
316
+ ] of C.components.entries()) {
317
+ let _ = !1;
318
318
  const D = Array.isArray(O.reactiveType) ? O.reactiveType : [O.reactiveType || "component"];
319
319
  if (console.log("component", O), !D.includes("none")) {
320
320
  if (D.includes("all")) {
321
321
  O.forceUpdate();
322
322
  continue;
323
323
  }
324
- if (D.includes("component") && ((O.paths.has(R) || O.paths.has("")) && (A = !0), !A))
324
+ if (D.includes("component") && ((O.paths.has(R) || O.paths.has("")) && (_ = !0), !_))
325
325
  for (const G of $) {
326
326
  let B = G;
327
327
  for (; ; ) {
328
328
  if (O.paths.has(B)) {
329
- A = !0;
329
+ _ = !0;
330
330
  break;
331
331
  }
332
332
  const st = B.lastIndexOf(".");
@@ -338,7 +338,7 @@ function ne(t, {
338
338
  if (!isNaN(
339
339
  Number(B.substring(st + 1))
340
340
  ) && O.paths.has(gt)) {
341
- A = !0;
341
+ _ = !0;
342
342
  break;
343
343
  }
344
344
  B = gt;
@@ -347,57 +347,57 @@ function ne(t, {
347
347
  if (B === "")
348
348
  break;
349
349
  }
350
- if (A) break;
350
+ if (_) break;
351
351
  }
352
- if (!A && D.includes("deps") && O.depsFunction) {
353
- const G = O.depsFunction(y);
352
+ if (!_ && D.includes("deps") && O.depsFunction) {
353
+ const G = O.depsFunction(E);
354
354
  let B = !1;
355
- typeof G == "boolean" ? G && (B = !0) : J(O.deps, G) || (O.deps = G, B = !0), B && (A = !0);
355
+ typeof G == "boolean" ? G && (B = !0) : J(O.deps, G) || (O.deps = G, B = !0), B && (_ = !0);
356
356
  }
357
- A && O.forceUpdate();
357
+ _ && O.forceUpdate();
358
358
  }
359
359
  }
360
360
  }
361
- const w = Date.now();
361
+ const A = Date.now();
362
362
  n = n.map((M, $) => {
363
- const R = n.slice(0, -1), V = Z(y, R);
363
+ const R = n.slice(0, -1), V = Z(E, R);
364
364
  return $ === n.length - 1 && ["insert", "cut"].includes(a.updateType) ? (V.length - 1).toString() : M;
365
365
  });
366
- const { oldValue: k, newValue: H } = ee(
366
+ const { oldValue: b, newValue: F } = ee(
367
367
  a.updateType,
368
368
  u,
369
- y,
369
+ E,
370
370
  n
371
371
  ), Y = {
372
- timeStamp: w,
372
+ timeStamp: A,
373
373
  stateKey: h,
374
374
  path: n,
375
375
  updateType: a.updateType,
376
376
  status: "new",
377
- oldValue: k,
378
- newValue: H
377
+ oldValue: b,
378
+ newValue: F
379
379
  };
380
380
  switch (a.updateType) {
381
381
  case "update":
382
- S.updateShadowAtPath(h, n, y);
382
+ f.updateShadowAtPath(h, n, E);
383
383
  break;
384
384
  case "insert":
385
385
  const M = n.slice(0, -1);
386
- S.insertShadowArrayElement(h, M, H);
386
+ f.insertShadowArrayElement(h, M, F);
387
387
  break;
388
388
  case "cut":
389
389
  const $ = n.slice(0, -1), R = parseInt(n[n.length - 1]);
390
- S.removeShadowArrayElement(h, $, R);
390
+ f.removeShadowArrayElement(h, $, R);
391
391
  break;
392
392
  }
393
393
  if (Qt(h, (M) => {
394
394
  const R = [...M ?? [], Y].reduce((V, O) => {
395
- const A = `${O.stateKey}:${JSON.stringify(O.path)}`, D = V.get(A);
396
- return D ? (D.timeStamp = Math.max(D.timeStamp, O.timeStamp), D.newValue = O.newValue, D.oldValue = D.oldValue ?? O.oldValue, D.updateType = O.updateType) : V.set(A, { ...O }), V;
395
+ const _ = `${O.stateKey}:${JSON.stringify(O.path)}`, D = V.get(_);
396
+ return D ? (D.timeStamp = Math.max(D.timeStamp, O.timeStamp), D.newValue = O.newValue, D.oldValue = D.oldValue ?? O.oldValue, D.updateType = O.updateType) : V.set(_, { ...O }), V;
397
397
  }, /* @__PURE__ */ new Map());
398
398
  return Array.from(R.values());
399
- }), Vt(
400
- y,
399
+ }), Pt(
400
+ E,
401
401
  h,
402
402
  L.current,
403
403
  U
@@ -405,68 +405,68 @@ function ne(t, {
405
405
  updateLog: l,
406
406
  update: Y
407
407
  }), L.current?.serverSync) {
408
- const M = S.serverState[h], $ = L.current?.serverSync;
408
+ const M = f.serverState[h], $ = L.current?.serverSync;
409
409
  Kt(h, {
410
- syncKey: typeof $.syncKey == "string" ? $.syncKey : $.syncKey({ state: y }),
410
+ syncKey: typeof $.syncKey == "string" ? $.syncKey : $.syncKey({ state: E }),
411
411
  rollBackState: M,
412
412
  actionTimeStamp: Date.now() + ($.debounce ?? 3e3),
413
413
  status: "waiting"
414
414
  });
415
415
  }
416
- return y;
416
+ return E;
417
417
  });
418
418
  };
419
419
  o.getState().updaterState[h] || (Tt(
420
420
  h,
421
- vt(
421
+ It(
422
422
  h,
423
423
  at,
424
424
  et.current,
425
425
  U
426
426
  )
427
427
  ), o.getState().cogsStateStore[h] || nt(h, t), o.getState().initialStateGlobal[h] || Nt(h, t));
428
- const d = wt(() => vt(
428
+ const d = wt(() => It(
429
429
  h,
430
430
  at,
431
431
  et.current,
432
432
  U
433
433
  ), [h, U]);
434
- return [Rt(h), d];
434
+ return [Lt(h), d];
435
435
  }
436
- function vt(t, c, m, g) {
437
- const T = /* @__PURE__ */ new Map();
438
- let C = 0;
439
- const E = (I) => {
440
- const r = I.join(".");
441
- for (const [f] of T)
442
- (f === r || f.startsWith(r + ".")) && T.delete(f);
443
- C++;
436
+ function It(t, c, m, g) {
437
+ const I = /* @__PURE__ */ new Map();
438
+ let N = 0;
439
+ const p = (T) => {
440
+ const r = T.join(".");
441
+ for (const [S] of I)
442
+ (S === r || S.startsWith(r + ".")) && I.delete(S);
443
+ N++;
444
444
  }, v = {
445
- removeValidation: (I) => {
446
- I?.validationKey && X(I.validationKey);
445
+ removeValidation: (T) => {
446
+ T?.validationKey && X(T.validationKey);
447
447
  },
448
- revertToInitialState: (I) => {
448
+ revertToInitialState: (T) => {
449
449
  const r = o.getState().getInitialOptions(t)?.validation;
450
- r?.key && X(r?.key), I?.validationKey && X(I.validationKey);
451
- const f = o.getState().initialStateGlobal[t];
452
- o.getState().clearSelectedIndexesForState(t), T.clear(), C++;
453
- const W = s(f, []), j = rt(t), U = tt(j?.localStorage?.key) ? j?.localStorage?.key(f) : j?.localStorage?.key, z = `${g}-${t}-${U}`;
454
- z && localStorage.removeItem(z), Tt(t, W), nt(t, f);
450
+ r?.key && X(r?.key), T?.validationKey && X(T.validationKey);
451
+ const S = o.getState().initialStateGlobal[t];
452
+ o.getState().clearSelectedIndexesForState(t), I.clear(), N++;
453
+ const W = s(S, []), j = rt(t), U = tt(j?.localStorage?.key) ? j?.localStorage?.key(S) : j?.localStorage?.key, z = `${g}-${t}-${U}`;
454
+ z && localStorage.removeItem(z), Tt(t, W), nt(t, S);
455
455
  const h = o.getState().stateComponents.get(t);
456
456
  return h && h.components.forEach((l) => {
457
457
  l.forceUpdate();
458
- }), f;
458
+ }), S;
459
459
  },
460
- updateInitialState: (I) => {
461
- T.clear(), C++;
462
- const r = vt(
460
+ updateInitialState: (T) => {
461
+ I.clear(), N++;
462
+ const r = It(
463
463
  t,
464
464
  c,
465
465
  m,
466
466
  g
467
- ), f = o.getState().initialStateGlobal[t], W = rt(t), j = tt(W?.localStorage?.key) ? W?.localStorage?.key(f) : W?.localStorage?.key, U = `${g}-${t}-${j}`;
468
- return localStorage.getItem(U) && localStorage.removeItem(U), Bt(() => {
469
- Nt(t, I), o.getState().initializeShadowState(t, I), Tt(t, r), nt(t, I);
467
+ ), S = o.getState().initialStateGlobal[t], W = rt(t), j = tt(W?.localStorage?.key) ? W?.localStorage?.key(S) : W?.localStorage?.key, U = `${g}-${t}-${j}`;
468
+ return localStorage.getItem(U) && localStorage.removeItem(U), Ft(() => {
469
+ Nt(t, T), o.getState().initializeShadowState(t, T), Tt(t, r), nt(t, T);
470
470
  const z = o.getState().stateComponents.get(t);
471
471
  z && z.components.forEach((h) => {
472
472
  h.forceUpdate();
@@ -479,13 +479,13 @@ function vt(t, c, m, g) {
479
479
  _serverState: o.getState().serverState[t],
480
480
  _isLoading: o.getState().isLoadingGlobal[t],
481
481
  _isServerSynced: () => {
482
- const I = o.getState().serverState[t];
483
- return !!(I && J(I, Rt(t)));
482
+ const T = o.getState().serverState[t];
483
+ return !!(T && J(T, Lt(t)));
484
484
  }
485
485
  };
486
- function s(I, r = [], f) {
486
+ function s(T, r = [], S) {
487
487
  const W = r.map(String).join(".");
488
- T.get(W);
488
+ I.get(W);
489
489
  const j = function() {
490
490
  return o().getNestedState(t, r);
491
491
  };
@@ -499,7 +499,7 @@ function vt(t, c, m, g) {
499
499
  ), console.trace("Apply trap stack trace"), o().getNestedState(t, r);
500
500
  },
501
501
  get(h, l) {
502
- f?.validIndices && !Array.isArray(I) && (f = { ...f, validIndices: void 0 });
502
+ S?.validIndices && !Array.isArray(T) && (S = { ...S, validIndices: void 0 });
503
503
  const ut = /* @__PURE__ */ new Set([
504
504
  "insert",
505
505
  "cut",
@@ -530,8 +530,8 @@ function vt(t, c, m, g) {
530
530
  if (n && !n.paths.has("")) {
531
531
  const a = r.join(".");
532
532
  let i = !0;
533
- for (const S of n.paths)
534
- if (a.startsWith(S) && (a === S || a[S.length] === ".")) {
533
+ for (const f of n.paths)
534
+ if (a.startsWith(f) && (a === f || a[f.length] === ".")) {
535
535
  i = !1;
536
536
  break;
537
537
  }
@@ -554,11 +554,11 @@ function vt(t, c, m, g) {
554
554
  const i = await e.action(n);
555
555
  if (i && !i.success && i.errors && a) {
556
556
  o.getState().removeValidationError(a), i.errors.forEach((u) => {
557
- const y = [a, ...u.path].join(".");
558
- o.getState().addValidationError(y, u.message);
557
+ const E = [a, ...u.path].join(".");
558
+ o.getState().addValidationError(E, u.message);
559
559
  });
560
- const S = o.getState().stateComponents.get(t);
561
- S && S.components.forEach((u) => {
560
+ const f = o.getState().stateComponents.get(t);
561
+ f && f.components.forEach((u) => {
562
562
  u.forceUpdate();
563
563
  });
564
564
  }
@@ -591,10 +591,10 @@ function vt(t, c, m, g) {
591
591
  throw new Error("Validation key not found");
592
592
  return o.getState().getValidationErrors(d.key + "." + r.join("."));
593
593
  };
594
- if (Array.isArray(I)) {
595
- const d = () => f?.validIndices ? I.map((n, a) => ({
594
+ if (Array.isArray(T)) {
595
+ const d = () => S?.validIndices ? T.map((n, a) => ({
596
596
  item: n,
597
- originalIndex: f.validIndices[a]
597
+ originalIndex: S.validIndices[a]
598
598
  })) : o.getState().getNestedState(t, r).map((n, a) => ({
599
599
  item: n,
600
600
  originalIndex: a
@@ -604,9 +604,9 @@ function vt(t, c, m, g) {
604
604
  const e = o.getState().getSelectedIndex(t, r.join("."));
605
605
  if (e !== void 0)
606
606
  return s(
607
- I[e],
607
+ T[e],
608
608
  [...r, e.toString()],
609
- f
609
+ S
610
610
  );
611
611
  };
612
612
  if (l === "clearSelected")
@@ -621,117 +621,117 @@ function vt(t, c, m, g) {
621
621
  itemHeight: n = 50,
622
622
  overscan: a = 6,
623
623
  stickToBottom: i = !1,
624
- dependencies: S = []
625
- } = e, u = q(!1), y = q(null), [p, _] = K({
624
+ dependencies: f = []
625
+ } = e, u = q(!1), E = q(null), [y, w] = K({
626
626
  startIndex: 0,
627
627
  endIndex: 10
628
- }), [N, w] = K("IDLE_AT_TOP"), k = q(!1), H = q(0), Y = q(S), M = q(0), [$, R] = K(0), V = q(null);
628
+ }), [C, A] = K("IDLE_AT_TOP"), b = q(!1), F = q(0), Y = q(f), M = q(0), [$, R] = K(0), V = q(null);
629
629
  ot(() => o.getState().subscribeToShadowState(t, () => {
630
630
  R((x) => x + 1);
631
631
  }), [t]);
632
632
  const O = o().getNestedState(
633
633
  t,
634
634
  r
635
- ), A = O.length, { totalHeight: D, positions: G } = wt(() => {
636
- const b = o.getState().getShadowMetadata(t, r) || [];
635
+ ), _ = O.length, { totalHeight: D, positions: G } = wt(() => {
636
+ const k = o.getState().getShadowMetadata(t, r) || [];
637
637
  let x = 0;
638
- const F = [];
639
- for (let P = 0; P < A; P++) {
640
- F[P] = x;
641
- const Q = b[P]?.virtualizer?.itemHeight;
638
+ const H = [];
639
+ for (let P = 0; P < _; P++) {
640
+ H[P] = x;
641
+ const Q = k[P]?.virtualizer?.itemHeight;
642
642
  x += Q || n;
643
643
  }
644
- return { totalHeight: x, positions: F };
644
+ return { totalHeight: x, positions: H };
645
645
  }, [
646
- A,
646
+ _,
647
647
  t,
648
648
  r.join("."),
649
649
  n,
650
650
  $
651
651
  ]), B = wt(() => {
652
- const b = Math.max(0, p.startIndex), x = Math.min(A, p.endIndex), F = Array.from(
653
- { length: x - b },
654
- (Q, ft) => b + ft
655
- ), P = F.map((Q) => O[Q]);
652
+ const k = Math.max(0, y.startIndex), x = Math.min(_, y.endIndex), H = Array.from(
653
+ { length: x - k },
654
+ (Q, ft) => k + ft
655
+ ), P = H.map((Q) => O[Q]);
656
656
  return s(P, r, {
657
- ...f,
658
- validIndices: F
657
+ ...S,
658
+ validIndices: H
659
659
  });
660
- }, [p.startIndex, p.endIndex, O, A]);
660
+ }, [y.startIndex, y.endIndex, O, _]);
661
661
  ct(() => {
662
- const b = y.current;
663
- if (!b) return;
664
- const x = A > H.current;
662
+ const k = E.current;
663
+ if (!k) return;
664
+ const x = _ > F.current;
665
665
  if (x && V.current) {
666
- const { top: F, height: P } = V.current;
667
- k.current = !0, b.scrollTop = F + (b.scrollHeight - P), console.log(
668
- `ANCHOR RESTORED to scrollTop: ${b.scrollTop}`
666
+ const { top: H, height: P } = V.current;
667
+ b.current = !0, k.scrollTop = H + (k.scrollHeight - P), console.log(
668
+ `ANCHOR RESTORED to scrollTop: ${k.scrollTop}`
669
669
  ), setTimeout(() => {
670
- k.current = !1;
670
+ b.current = !1;
671
671
  }, 100), V.current = null;
672
672
  } else {
673
673
  if (!J(
674
- S,
674
+ f,
675
675
  Y.current
676
676
  )) {
677
- console.log("TRANSITION: Deps changed -> IDLE_AT_TOP"), w("IDLE_AT_TOP");
677
+ console.log("TRANSITION: Deps changed -> IDLE_AT_TOP"), A("IDLE_AT_TOP");
678
678
  return;
679
679
  }
680
- x && N === "LOCKED_AT_BOTTOM" && i && (console.log(
680
+ x && C === "LOCKED_AT_BOTTOM" && i && (console.log(
681
681
  "TRANSITION: New items arrived while locked -> GETTING_HEIGHTS"
682
- ), w("GETTING_HEIGHTS"));
682
+ ), A("GETTING_HEIGHTS"));
683
683
  }
684
- H.current = A, Y.current = S;
685
- }, [A, ...S]), ct(() => {
686
- const b = y.current;
687
- if (!b) return;
684
+ F.current = _, Y.current = f;
685
+ }, [_, ...f]), ct(() => {
686
+ const k = E.current;
687
+ if (!k) return;
688
688
  let x;
689
- if (N === "IDLE_AT_TOP" && i && A > 0)
689
+ if (C === "IDLE_AT_TOP" && i && _ > 0)
690
690
  console.log(
691
691
  "ACTION (IDLE_AT_TOP): Data has arrived -> GETTING_HEIGHTS"
692
- ), w("GETTING_HEIGHTS");
693
- else if (N === "GETTING_HEIGHTS")
692
+ ), A("GETTING_HEIGHTS");
693
+ else if (C === "GETTING_HEIGHTS")
694
694
  console.log(
695
695
  "ACTION (GETTING_HEIGHTS): Setting range to end and starting loop."
696
- ), _({
697
- startIndex: Math.max(0, A - 10 - a),
698
- endIndex: A
696
+ ), w({
697
+ startIndex: Math.max(0, _ - 10 - a),
698
+ endIndex: _
699
699
  }), x = setInterval(() => {
700
- const F = A - 1;
701
- ((o.getState().getShadowMetadata(t, r) || [])[F]?.virtualizer?.itemHeight || 0) > 0 && (clearInterval(x), u.current || (console.log(
700
+ const H = _ - 1;
701
+ ((o.getState().getShadowMetadata(t, r) || [])[H]?.virtualizer?.itemHeight || 0) > 0 && (clearInterval(x), u.current || (console.log(
702
702
  "ACTION (GETTING_HEIGHTS): Measurement success -> SCROLLING_TO_BOTTOM"
703
- ), w("SCROLLING_TO_BOTTOM")));
703
+ ), A("SCROLLING_TO_BOTTOM")));
704
704
  }, 100);
705
- else if (N === "SCROLLING_TO_BOTTOM") {
705
+ else if (C === "SCROLLING_TO_BOTTOM") {
706
706
  console.log(
707
707
  "ACTION (SCROLLING_TO_BOTTOM): Executing scroll."
708
- ), k.current = !0;
709
- const F = H.current === 0 ? "auto" : "smooth";
710
- b.scrollTo({
711
- top: b.scrollHeight,
712
- behavior: F
708
+ ), b.current = !0;
709
+ const H = F.current === 0 ? "auto" : "smooth";
710
+ k.scrollTo({
711
+ top: k.scrollHeight,
712
+ behavior: H
713
713
  });
714
714
  const P = setTimeout(
715
715
  () => {
716
716
  console.log(
717
717
  "ACTION (SCROLLING_TO_BOTTOM): Scroll finished -> LOCKED_AT_BOTTOM"
718
- ), k.current = !1, u.current = !1, w("LOCKED_AT_BOTTOM");
718
+ ), b.current = !1, u.current = !1, A("LOCKED_AT_BOTTOM");
719
719
  },
720
- F === "smooth" ? 500 : 50
720
+ H === "smooth" ? 500 : 50
721
721
  );
722
722
  return () => clearTimeout(P);
723
723
  }
724
724
  return () => {
725
725
  x && clearInterval(x);
726
726
  };
727
- }, [N, A, G]), ot(() => {
728
- const b = y.current;
729
- if (!b) return;
730
- const x = n, F = () => {
731
- if (k.current)
727
+ }, [C, _, G]), ot(() => {
728
+ const k = E.current;
729
+ if (!k) return;
730
+ const x = n, H = () => {
731
+ if (b.current)
732
732
  return;
733
- const { scrollTop: P, scrollHeight: Q, clientHeight: ft } = b;
734
- if (Q - P - ft < 10 ? (N !== "LOCKED_AT_BOTTOM" && w("LOCKED_AT_BOTTOM"), V.current = null) : (N !== "IDLE_NOT_AT_BOTTOM" && w("IDLE_NOT_AT_BOTTOM"), V.current = {
733
+ const { scrollTop: P, scrollHeight: Q, clientHeight: ft } = k;
734
+ if (Q - P - ft < 10 ? (C !== "LOCKED_AT_BOTTOM" && A("LOCKED_AT_BOTTOM"), V.current = null) : (C !== "IDLE_NOT_AT_BOTTOM" && A("IDLE_NOT_AT_BOTTOM"), V.current = {
735
735
  top: P,
736
736
  height: Q
737
737
  }), Math.abs(P - M.current) < x)
@@ -739,40 +739,40 @@ function vt(t, c, m, g) {
739
739
  console.log(
740
740
  `Threshold passed at ${P}px. Recalculating range...`
741
741
  );
742
- let pt = A - 1, Et = 0, Ct = 0;
743
- for (; Et <= pt; ) {
744
- const mt = Math.floor((Et + pt) / 2);
745
- G[mt] < P ? (Ct = mt, Et = mt + 1) : pt = mt - 1;
742
+ let yt = _ - 1, pt = 0, Ct = 0;
743
+ for (; pt <= yt; ) {
744
+ const mt = Math.floor((pt + yt) / 2);
745
+ G[mt] < P ? (Ct = mt, pt = mt + 1) : yt = mt - 1;
746
746
  }
747
747
  const $t = Math.max(0, Ct - a);
748
748
  let St = $t;
749
- const Ht = P + ft;
750
- for (; St < A && G[St] < Ht; )
749
+ const Ut = P + ft;
750
+ for (; St < _ && G[St] < Ut; )
751
751
  St++;
752
- _({
752
+ w({
753
753
  startIndex: $t,
754
- endIndex: Math.min(A, St + a)
754
+ endIndex: Math.min(_, St + a)
755
755
  }), M.current = P;
756
756
  };
757
- return b.addEventListener("scroll", F, {
757
+ return k.addEventListener("scroll", H, {
758
758
  passive: !0
759
- }), () => b.removeEventListener("scroll", F);
760
- }, [A, G, n, a, N]);
759
+ }), () => k.removeEventListener("scroll", H);
760
+ }, [_, G, n, a, C]);
761
761
  const st = kt(() => {
762
762
  console.log(
763
763
  "USER ACTION: Clicked scroll button -> SCROLLING_TO_BOTTOM"
764
- ), w("SCROLLING_TO_BOTTOM");
764
+ ), A("SCROLLING_TO_BOTTOM");
765
765
  }, []), gt = kt(
766
- (b, x = "smooth") => {
767
- y.current && G[b] !== void 0 && (w("IDLE_NOT_AT_BOTTOM"), y.current.scrollTo({
768
- top: G[b],
766
+ (k, x = "smooth") => {
767
+ E.current && G[k] !== void 0 && (A("IDLE_NOT_AT_BOTTOM"), E.current.scrollTo({
768
+ top: G[k],
769
769
  behavior: x
770
770
  }));
771
771
  },
772
772
  [G]
773
- ), Ut = {
773
+ ), jt = {
774
774
  outer: {
775
- ref: y,
775
+ ref: E,
776
776
  style: { overflowY: "auto", height: "100%" }
777
777
  },
778
778
  inner: {
@@ -783,13 +783,13 @@ function vt(t, c, m, g) {
783
783
  },
784
784
  list: {
785
785
  style: {
786
- transform: `translateY(${G[p.startIndex] || 0}px)`
786
+ transform: `translateY(${G[y.startIndex] || 0}px)`
787
787
  }
788
788
  }
789
789
  };
790
790
  return {
791
791
  virtualState: B,
792
- virtualizerProps: Ut,
792
+ virtualizerProps: jt,
793
793
  scrollToBottom: st,
794
794
  scrollToIndex: gt
795
795
  };
@@ -797,49 +797,49 @@ function vt(t, c, m, g) {
797
797
  if (l === "stateSort")
798
798
  return (e) => {
799
799
  const a = [...d()].sort(
800
- (u, y) => e(u.item, y.item)
801
- ), i = a.map(({ item: u }) => u), S = {
802
- ...f,
800
+ (u, E) => e(u.item, E.item)
801
+ ), i = a.map(({ item: u }) => u), f = {
802
+ ...S,
803
803
  validIndices: a.map(
804
804
  ({ originalIndex: u }) => u
805
805
  )
806
806
  };
807
- return s(i, r, S);
807
+ return s(i, r, f);
808
808
  };
809
809
  if (l === "stateFilter")
810
810
  return (e) => {
811
811
  const a = d().filter(
812
- ({ item: u }, y) => e(u, y)
813
- ), i = a.map(({ item: u }) => u), S = {
814
- ...f,
812
+ ({ item: u }, E) => e(u, E)
813
+ ), i = a.map(({ item: u }) => u), f = {
814
+ ...S,
815
815
  validIndices: a.map(
816
816
  ({ originalIndex: u }) => u
817
817
  )
818
818
  };
819
- return s(i, r, S);
819
+ return s(i, r, f);
820
820
  };
821
821
  if (l === "stateMap")
822
822
  return (e) => {
823
823
  const n = o.getState().getNestedState(t, r);
824
- return Array.isArray(n) ? (f?.validIndices || Array.from({ length: n.length }, (i, S) => S)).map((i, S) => {
825
- const u = n[i], y = [...r, i.toString()], p = s(u, y, f);
826
- return e(u, p, {
824
+ return Array.isArray(n) ? (S?.validIndices || Array.from({ length: n.length }, (i, f) => f)).map((i, f) => {
825
+ const u = n[i], E = [...r, i.toString()], y = s(u, E, S);
826
+ return e(u, y, {
827
827
  register: () => {
828
- const [, N] = K({}), w = `${m}-${r.join(".")}-${i}`;
828
+ const [, C] = K({}), A = `${m}-${r.join(".")}-${i}`;
829
829
  ct(() => {
830
- const k = `${t}////${w}`, H = o.getState().stateComponents.get(t) || {
830
+ const b = `${t}////${A}`, F = o.getState().stateComponents.get(t) || {
831
831
  components: /* @__PURE__ */ new Map()
832
832
  };
833
- return H.components.set(k, {
834
- forceUpdate: () => N({}),
835
- paths: /* @__PURE__ */ new Set([y.join(".")])
836
- }), o.getState().stateComponents.set(t, H), () => {
833
+ return F.components.set(b, {
834
+ forceUpdate: () => C({}),
835
+ paths: /* @__PURE__ */ new Set([E.join(".")])
836
+ }), o.getState().stateComponents.set(t, F), () => {
837
837
  const Y = o.getState().stateComponents.get(t);
838
- Y && Y.components.delete(k);
838
+ Y && Y.components.delete(b);
839
839
  };
840
- }, [t, w]);
840
+ }, [t, A]);
841
841
  },
842
- index: S,
842
+ index: f,
843
843
  originalIndex: i
844
844
  });
845
845
  }) : (console.warn(
@@ -848,16 +848,16 @@ function vt(t, c, m, g) {
848
848
  ), null);
849
849
  };
850
850
  if (l === "stateMapNoRender")
851
- return (e) => I.map((a, i) => {
852
- let S;
853
- f?.validIndices && f.validIndices[i] !== void 0 ? S = f.validIndices[i] : S = i;
854
- const u = [...r, S.toString()], y = s(a, u, f);
851
+ return (e) => T.map((a, i) => {
852
+ let f;
853
+ S?.validIndices && S.validIndices[i] !== void 0 ? f = S.validIndices[i] : f = i;
854
+ const u = [...r, f.toString()], E = s(a, u, S);
855
855
  return e(
856
856
  a,
857
- y,
857
+ E,
858
858
  i,
859
- I,
860
- s(I, r, f)
859
+ T,
860
+ s(T, r, S)
861
861
  );
862
862
  });
863
863
  if (l === "$stateMap")
@@ -873,34 +873,20 @@ function vt(t, c, m, g) {
873
873
  if (l === "stateList")
874
874
  return (e) => {
875
875
  const n = o.getState().getNestedState(t, r);
876
- return Array.isArray(n) ? (f?.validIndices || Array.from({ length: n.length }, (i, S) => S)).map((i, S) => {
877
- const u = n[i], y = [...r, i.toString()], p = s(u, y, f), _ = `${m}-${r.join(".")}-${i}`, N = o.getState().getInitialOptions(t), w = N?.formElements?.validation, k = e(
878
- u,
879
- p,
880
- i,
881
- // Use originalIndex here
882
- n,
883
- s(n, r, f)
884
- );
876
+ return Array.isArray(n) ? (S?.validIndices || Array.from({ length: n.length }, (i, f) => f)).map((i, f) => {
877
+ const u = n[i], E = [...r, i.toString()], y = s(u, E, S), w = `${m}-${r.join(".")}-${i}`;
885
878
  return lt(ae, {
886
879
  key: i,
887
880
  stateKey: t,
888
- itemComponentId: _,
889
- itemPath: y,
890
- children: w ? (
891
- // Automatically wrap with validation wrapper
892
- /* @__PURE__ */ It(
893
- bt,
894
- {
895
- formOpts: void 0,
896
- path: y,
897
- validationKey: N?.validation?.key || "",
898
- stateKey: t,
899
- validIndices: f?.validIndices,
900
- children: k
901
- }
902
- )
903
- ) : k
881
+ itemComponentId: w,
882
+ itemPath: E,
883
+ children: e(
884
+ u,
885
+ y,
886
+ { localIndex: f, originalIndex: i },
887
+ n,
888
+ s(n, r, S)
889
+ )
904
890
  });
905
891
  }) : (console.warn(
906
892
  `stateList called on a non-array value at path: ${r.join(".")}.`
@@ -908,20 +894,20 @@ function vt(t, c, m, g) {
908
894
  };
909
895
  if (l === "stateFlattenOn")
910
896
  return (e) => {
911
- const n = I;
912
- T.clear(), C++;
897
+ const n = T;
898
+ I.clear(), N++;
913
899
  const a = n.flatMap(
914
900
  (i) => i[e] ?? []
915
901
  );
916
902
  return s(
917
903
  a,
918
904
  [...r, "[*]", e],
919
- f
905
+ S
920
906
  );
921
907
  };
922
908
  if (l === "index")
923
909
  return (e) => {
924
- const n = I[e];
910
+ const n = T[e];
925
911
  return s(n, [...r, e.toString()]);
926
912
  };
927
913
  if (l === "last")
@@ -932,58 +918,58 @@ function vt(t, c, m, g) {
932
918
  return s(a, i);
933
919
  };
934
920
  if (l === "insert")
935
- return (e) => (E(r), Ot(c, e, r, t), s(
921
+ return (e) => (p(r), Et(c, e, r, t), s(
936
922
  o.getState().getNestedState(t, r),
937
923
  r
938
924
  ));
939
925
  if (l === "uniqueInsert")
940
926
  return (e, n, a) => {
941
- const i = o.getState().getNestedState(t, r), S = tt(e) ? e(i) : e;
927
+ const i = o.getState().getNestedState(t, r), f = tt(e) ? e(i) : e;
942
928
  let u = null;
943
- if (!i.some((p) => {
929
+ if (!i.some((y) => {
944
930
  if (n) {
945
- const N = n.every(
946
- (w) => J(p[w], S[w])
931
+ const C = n.every(
932
+ (A) => J(y[A], f[A])
947
933
  );
948
- return N && (u = p), N;
934
+ return C && (u = y), C;
949
935
  }
950
- const _ = J(p, S);
951
- return _ && (u = p), _;
936
+ const w = J(y, f);
937
+ return w && (u = y), w;
952
938
  }))
953
- E(r), Ot(c, S, r, t);
939
+ p(r), Et(c, f, r, t);
954
940
  else if (a && u) {
955
- const p = a(u), _ = i.map(
956
- (N) => J(N, u) ? p : N
941
+ const y = a(u), w = i.map(
942
+ (C) => J(C, u) ? y : C
957
943
  );
958
- E(r), it(c, _, r);
944
+ p(r), it(c, w, r);
959
945
  }
960
946
  };
961
947
  if (l === "cut")
962
948
  return (e, n) => {
963
949
  if (!n?.waitForSync)
964
- return E(r), ht(c, r, t, e), s(
950
+ return p(r), ht(c, r, t, e), s(
965
951
  o.getState().getNestedState(t, r),
966
952
  r
967
953
  );
968
954
  };
969
955
  if (l === "cutByValue")
970
956
  return (e) => {
971
- for (let n = 0; n < I.length; n++)
972
- I[n] === e && ht(c, r, t, n);
957
+ for (let n = 0; n < T.length; n++)
958
+ T[n] === e && ht(c, r, t, n);
973
959
  };
974
960
  if (l === "toggleByValue")
975
961
  return (e) => {
976
- const n = I.findIndex((a) => a === e);
977
- n > -1 ? ht(c, r, t, n) : Ot(c, e, r, t);
962
+ const n = T.findIndex((a) => a === e);
963
+ n > -1 ? ht(c, r, t, n) : Et(c, e, r, t);
978
964
  };
979
965
  if (l === "stateFind")
980
966
  return (e) => {
981
967
  const a = d().find(
982
- ({ item: S }, u) => e(S, u)
968
+ ({ item: f }, u) => e(f, u)
983
969
  );
984
970
  if (!a) return;
985
971
  const i = [...r, a.originalIndex.toString()];
986
- return s(a.item, i, f);
972
+ return s(a.item, i, S);
987
973
  };
988
974
  if (l === "findWith")
989
975
  return (e, n) => {
@@ -991,8 +977,8 @@ function vt(t, c, m, g) {
991
977
  ({ item: u }) => u[e] === n
992
978
  );
993
979
  if (!i) return;
994
- const S = [...r, i.originalIndex.toString()];
995
- return s(i.item, S, f);
980
+ const f = [...r, i.originalIndex.toString()];
981
+ return s(i.item, f, S);
996
982
  };
997
983
  }
998
984
  const et = r[r.length - 1];
@@ -1008,20 +994,20 @@ function vt(t, c, m, g) {
1008
994
  }
1009
995
  if (l === "get")
1010
996
  return () => {
1011
- if (f?.validIndices && Array.isArray(I)) {
997
+ if (S?.validIndices && Array.isArray(T)) {
1012
998
  const d = o.getState().getNestedState(t, r);
1013
- return f.validIndices.map((e) => d[e]);
999
+ return S.validIndices.map((e) => d[e]);
1014
1000
  }
1015
1001
  return o.getState().getNestedState(t, r);
1016
1002
  };
1017
1003
  if (l === "$derive")
1018
- return (d) => Gt({
1004
+ return (d) => Vt({
1019
1005
  _stateKey: t,
1020
1006
  _path: r,
1021
1007
  _effect: d.toString()
1022
1008
  });
1023
1009
  if (l === "$get")
1024
- return () => Gt({
1010
+ return () => Vt({
1025
1011
  _stateKey: t,
1026
1012
  _path: r
1027
1013
  });
@@ -1030,7 +1016,7 @@ function vt(t, c, m, g) {
1030
1016
  return o.getState().getSyncInfo(d);
1031
1017
  }
1032
1018
  if (l == "getLocalStorage")
1033
- return (d) => yt(g + "-" + t + "-" + d);
1019
+ return (d) => vt(g + "-" + t + "-" + d);
1034
1020
  if (l === "_selected") {
1035
1021
  const d = r.slice(0, -1), e = d.join("."), n = o.getState().getNestedState(t, d);
1036
1022
  return Array.isArray(n) ? Number(r[r.length - 1]) === o.getState().getSelectedIndex(t, e) : void 0;
@@ -1040,7 +1026,7 @@ function vt(t, c, m, g) {
1040
1026
  const e = r.slice(0, -1), n = Number(r[r.length - 1]), a = e.join(".");
1041
1027
  d ? o.getState().setSelectedIndex(t, a, n) : o.getState().setSelectedIndex(t, a, void 0);
1042
1028
  const i = o.getState().getNestedState(t, [...e]);
1043
- it(c, i, e), E(e);
1029
+ it(c, i, e), p(e);
1044
1030
  };
1045
1031
  if (l === "toggleSelected")
1046
1032
  return () => {
@@ -1051,7 +1037,7 @@ function vt(t, c, m, g) {
1051
1037
  a === e ? void 0 : e
1052
1038
  );
1053
1039
  const i = o.getState().getNestedState(t, [...d]);
1054
- it(c, i, d), E(d);
1040
+ it(c, i, d), p(d);
1055
1041
  };
1056
1042
  if (r.length == 0) {
1057
1043
  if (l === "addValidation")
@@ -1061,13 +1047,13 @@ function vt(t, c, m, g) {
1061
1047
  throw new Error("Validation key not found");
1062
1048
  X(e.key), console.log("addValidationError", d), d.forEach((n) => {
1063
1049
  const a = [e.key, ...n.path].join(".");
1064
- console.log("fullErrorPath", a), Dt(a, n.message);
1050
+ console.log("fullErrorPath", a), Rt(a, n.message);
1065
1051
  }), dt(t);
1066
1052
  };
1067
1053
  if (l === "applyJsonPatch")
1068
1054
  return (d) => {
1069
1055
  const e = o.getState().cogsStateStore[t], a = Yt(e, d).newDocument;
1070
- jt(
1056
+ Dt(
1071
1057
  t,
1072
1058
  o.getState().initialStateGlobal[t],
1073
1059
  a,
@@ -1077,57 +1063,57 @@ function vt(t, c, m, g) {
1077
1063
  );
1078
1064
  const i = o.getState().stateComponents.get(t);
1079
1065
  if (i) {
1080
- const S = _t(e, a), u = new Set(S);
1066
+ const f = _t(e, a), u = new Set(f);
1081
1067
  for (const [
1082
- y,
1083
- p
1068
+ E,
1069
+ y
1084
1070
  ] of i.components.entries()) {
1085
- let _ = !1;
1086
- const N = Array.isArray(p.reactiveType) ? p.reactiveType : [p.reactiveType || "component"];
1087
- if (!N.includes("none")) {
1088
- if (N.includes("all")) {
1089
- p.forceUpdate();
1071
+ let w = !1;
1072
+ const C = Array.isArray(y.reactiveType) ? y.reactiveType : [y.reactiveType || "component"];
1073
+ if (!C.includes("none")) {
1074
+ if (C.includes("all")) {
1075
+ y.forceUpdate();
1090
1076
  continue;
1091
1077
  }
1092
- if (N.includes("component") && (p.paths.has("") && (_ = !0), !_))
1093
- for (const w of u) {
1094
- if (p.paths.has(w)) {
1095
- _ = !0;
1078
+ if (C.includes("component") && (y.paths.has("") && (w = !0), !w))
1079
+ for (const A of u) {
1080
+ if (y.paths.has(A)) {
1081
+ w = !0;
1096
1082
  break;
1097
1083
  }
1098
- let k = w.lastIndexOf(".");
1099
- for (; k !== -1; ) {
1100
- const H = w.substring(0, k);
1101
- if (p.paths.has(H)) {
1102
- _ = !0;
1084
+ let b = A.lastIndexOf(".");
1085
+ for (; b !== -1; ) {
1086
+ const F = A.substring(0, b);
1087
+ if (y.paths.has(F)) {
1088
+ w = !0;
1103
1089
  break;
1104
1090
  }
1105
- const Y = w.substring(
1106
- k + 1
1091
+ const Y = A.substring(
1092
+ b + 1
1107
1093
  );
1108
1094
  if (!isNaN(Number(Y))) {
1109
- const M = H.lastIndexOf(".");
1095
+ const M = F.lastIndexOf(".");
1110
1096
  if (M !== -1) {
1111
- const $ = H.substring(
1097
+ const $ = F.substring(
1112
1098
  0,
1113
1099
  M
1114
1100
  );
1115
- if (p.paths.has($)) {
1116
- _ = !0;
1101
+ if (y.paths.has($)) {
1102
+ w = !0;
1117
1103
  break;
1118
1104
  }
1119
1105
  }
1120
1106
  }
1121
- k = H.lastIndexOf(".");
1107
+ b = F.lastIndexOf(".");
1122
1108
  }
1123
- if (_) break;
1109
+ if (w) break;
1124
1110
  }
1125
- if (!_ && N.includes("deps") && p.depsFunction) {
1126
- const w = p.depsFunction(a);
1127
- let k = !1;
1128
- typeof w == "boolean" ? w && (k = !0) : J(p.deps, w) || (p.deps = w, k = !0), k && (_ = !0);
1111
+ if (!w && C.includes("deps") && y.depsFunction) {
1112
+ const A = y.depsFunction(a);
1113
+ let b = !1;
1114
+ typeof A == "boolean" ? A && (b = !0) : J(y.deps, A) || (y.deps = A, b = !0), b && (w = !0);
1129
1115
  }
1130
- _ && p.forceUpdate();
1116
+ w && y.forceUpdate();
1131
1117
  }
1132
1118
  }
1133
1119
  }
@@ -1143,13 +1129,13 @@ function vt(t, c, m, g) {
1143
1129
  const n = o.getState().cogsStateStore[t];
1144
1130
  try {
1145
1131
  const a = o.getState().getValidationErrors(d.key);
1146
- a && a.length > 0 && a.forEach(([S]) => {
1147
- S && S.startsWith(d.key) && X(S);
1132
+ a && a.length > 0 && a.forEach(([f]) => {
1133
+ f && f.startsWith(d.key) && X(f);
1148
1134
  });
1149
1135
  const i = d.zodSchema.safeParse(n);
1150
1136
  return i.success ? !0 : (i.error.errors.forEach((u) => {
1151
- const y = u.path, p = u.message, _ = [d.key, ...y].join(".");
1152
- e(_, p);
1137
+ const E = u.path, y = u.message, w = [d.key, ...E].join(".");
1138
+ e(w, y);
1153
1139
  }), dt(t), !1);
1154
1140
  } catch (a) {
1155
1141
  return console.error("Zod schema validation failed", a), !1;
@@ -1159,7 +1145,7 @@ function vt(t, c, m, g) {
1159
1145
  if (l === "getComponents")
1160
1146
  return () => o().stateComponents.get(t);
1161
1147
  if (l === "getAllFormRefs")
1162
- return () => Mt.getState().getFormRefsByStateKey(t);
1148
+ return () => bt.getState().getFormRefsByStateKey(t);
1163
1149
  if (l === "_initialState")
1164
1150
  return o.getState().initialStateGlobal[t];
1165
1151
  if (l === "_serverState")
@@ -1172,19 +1158,19 @@ function vt(t, c, m, g) {
1172
1158
  if (l === "removeValidation") return v.removeValidation;
1173
1159
  }
1174
1160
  if (l === "getFormRef")
1175
- return () => Mt.getState().getFormRef(t + "." + r.join("."));
1161
+ return () => bt.getState().getFormRef(t + "." + r.join("."));
1176
1162
  if (l === "validationWrapper")
1177
1163
  return ({
1178
1164
  children: d,
1179
1165
  hideMessage: e
1180
- }) => /* @__PURE__ */ It(
1181
- bt,
1166
+ }) => /* @__PURE__ */ Ot(
1167
+ zt,
1182
1168
  {
1183
1169
  formOpts: e ? { validation: { message: "" } } : void 0,
1184
1170
  path: r,
1185
1171
  validationKey: o.getState().getInitialOptions(t)?.validation?.key || "",
1186
1172
  stateKey: t,
1187
- validIndices: f?.validIndices,
1173
+ validIndices: S?.validIndices,
1188
1174
  children: d
1189
1175
  }
1190
1176
  );
@@ -1194,7 +1180,7 @@ function vt(t, c, m, g) {
1194
1180
  if (l === "update")
1195
1181
  return (d, e) => {
1196
1182
  if (e?.debounce)
1197
- zt(() => {
1183
+ Wt(() => {
1198
1184
  it(c, d, r, "");
1199
1185
  const n = o.getState().getNestedState(t, r);
1200
1186
  e?.afterUpdate && e.afterUpdate(n);
@@ -1204,10 +1190,10 @@ function vt(t, c, m, g) {
1204
1190
  const n = o.getState().getNestedState(t, r);
1205
1191
  e?.afterUpdate && e.afterUpdate(n);
1206
1192
  }
1207
- E(r);
1193
+ p(r);
1208
1194
  };
1209
1195
  if (l === "formElement")
1210
- return (d, e) => /* @__PURE__ */ It(
1196
+ return (d, e) => /* @__PURE__ */ Ot(
1211
1197
  qt,
1212
1198
  {
1213
1199
  setState: c,
@@ -1218,19 +1204,19 @@ function vt(t, c, m, g) {
1218
1204
  }
1219
1205
  );
1220
1206
  const L = [...r, l], at = o.getState().getNestedState(t, L);
1221
- return s(at, L, f);
1207
+ return s(at, L, S);
1222
1208
  }
1223
1209
  }, z = new Proxy(j, U);
1224
- return T.set(W, {
1210
+ return I.set(W, {
1225
1211
  proxy: z,
1226
- stateVersion: C
1212
+ stateVersion: N
1227
1213
  }), z;
1228
1214
  }
1229
1215
  return s(
1230
1216
  o.getState().getNestedState(t, [])
1231
1217
  );
1232
1218
  }
1233
- function Gt(t) {
1219
+ function Vt(t) {
1234
1220
  return lt(oe, { proxy: t });
1235
1221
  }
1236
1222
  function re({
@@ -1242,7 +1228,7 @@ function re({
1242
1228
  m,
1243
1229
  t._path
1244
1230
  ).stateMapNoRender(
1245
- (T, C, E, v, s) => t._mapFn(T, C, E, v, s)
1231
+ (I, N, p, v, s) => t._mapFn(I, N, p, v, s)
1246
1232
  ) : null;
1247
1233
  }
1248
1234
  function oe({
@@ -1252,31 +1238,31 @@ function oe({
1252
1238
  return ot(() => {
1253
1239
  const g = c.current;
1254
1240
  if (!g || !g.parentElement) return;
1255
- const T = g.parentElement, E = Array.from(T.childNodes).indexOf(g);
1256
- let v = T.getAttribute("data-parent-id");
1257
- v || (v = `parent-${crypto.randomUUID()}`, T.setAttribute("data-parent-id", v));
1258
- const I = {
1241
+ const I = g.parentElement, p = Array.from(I.childNodes).indexOf(g);
1242
+ let v = I.getAttribute("data-parent-id");
1243
+ v || (v = `parent-${crypto.randomUUID()}`, I.setAttribute("data-parent-id", v));
1244
+ const T = {
1259
1245
  instanceId: `instance-${crypto.randomUUID()}`,
1260
1246
  parentId: v,
1261
- position: E,
1247
+ position: p,
1262
1248
  effect: t._effect
1263
1249
  };
1264
- o.getState().addSignalElement(m, I);
1250
+ o.getState().addSignalElement(m, T);
1265
1251
  const r = o.getState().getNestedState(t._stateKey, t._path);
1266
- let f;
1252
+ let S;
1267
1253
  if (t._effect)
1268
1254
  try {
1269
- f = new Function(
1255
+ S = new Function(
1270
1256
  "state",
1271
1257
  `return (${t._effect})(state)`
1272
1258
  )(r);
1273
1259
  } catch (j) {
1274
- console.error("Error evaluating effect function during mount:", j), f = r;
1260
+ console.error("Error evaluating effect function during mount:", j), S = r;
1275
1261
  }
1276
1262
  else
1277
- f = r;
1278
- f !== null && typeof f == "object" && (f = JSON.stringify(f));
1279
- const W = document.createTextNode(String(f));
1263
+ S = r;
1264
+ S !== null && typeof S == "object" && (S = JSON.stringify(S));
1265
+ const W = document.createTextNode(String(S));
1280
1266
  g.replaceWith(W);
1281
1267
  }, [t._stateKey, t._path.join("."), t._effect]), lt("span", {
1282
1268
  ref: c,
@@ -1285,7 +1271,7 @@ function oe({
1285
1271
  });
1286
1272
  }
1287
1273
  function pe(t) {
1288
- const c = Ft(
1274
+ const c = Ht(
1289
1275
  (m) => {
1290
1276
  const g = o.getState().stateComponents.get(t._stateKey) || {
1291
1277
  components: /* @__PURE__ */ new Map()
@@ -1305,30 +1291,30 @@ function ae({
1305
1291
  itemPath: m,
1306
1292
  children: g
1307
1293
  }) {
1308
- const [, T] = K({}), [C, E] = Zt(), v = q(null);
1294
+ const [, I] = K({}), [N, p] = Zt(), v = q(null);
1309
1295
  return ot(() => {
1310
- E.height > 0 && E.height !== v.current && (v.current = E.height, o.getState().setShadowMetadata(t, m, {
1296
+ p.height > 0 && p.height !== v.current && (v.current = p.height, o.getState().setShadowMetadata(t, m, {
1311
1297
  virtualizer: {
1312
- itemHeight: E.height
1298
+ itemHeight: p.height
1313
1299
  }
1314
1300
  }));
1315
- }, [E.height, t, m]), ct(() => {
1316
- const s = `${t}////${c}`, I = o.getState().stateComponents.get(t) || {
1301
+ }, [p.height, t, m]), ct(() => {
1302
+ const s = `${t}////${c}`, T = o.getState().stateComponents.get(t) || {
1317
1303
  components: /* @__PURE__ */ new Map()
1318
1304
  };
1319
- return I.components.set(s, {
1320
- forceUpdate: () => T({}),
1305
+ return T.components.set(s, {
1306
+ forceUpdate: () => I({}),
1321
1307
  paths: /* @__PURE__ */ new Set([m.join(".")])
1322
- }), o.getState().stateComponents.set(t, I), () => {
1308
+ }), o.getState().stateComponents.set(t, T), () => {
1323
1309
  const r = o.getState().stateComponents.get(t);
1324
1310
  r && r.components.delete(s);
1325
1311
  };
1326
- }, [t, c, m.join(".")]), /* @__PURE__ */ It("div", { ref: C, children: g });
1312
+ }, [t, c, m.join(".")]), /* @__PURE__ */ Ot("div", { ref: N, children: g });
1327
1313
  }
1328
1314
  export {
1329
- Gt as $cogsSignal,
1315
+ Vt as $cogsSignal,
1330
1316
  pe as $cogsSignalStore,
1331
- Te as addStateOptions,
1317
+ Ie as addStateOptions,
1332
1318
  ve as createCogsState,
1333
1319
  ye as notifyComponent,
1334
1320
  ne as useCogsStateFn