cogsbox-state 0.5.344 → 0.5.346

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