cogsbox-state 0.5.375 → 0.5.376

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