cogsbox-state 0.5.295 → 0.5.297

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