cogsbox-state 0.5.402 → 0.5.403

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