cogsbox-state 0.5.300 → 0.5.302

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