cogsbox-state 0.5.382 → 0.5.384

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