cogsbox-state 0.5.423 → 0.5.425

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