cogsbox-state 0.5.318 → 0.5.319

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