cogsbox-state 0.5.296 → 0.5.297

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