cogsbox-state 0.5.359 → 0.5.360

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