cogsbox-state 0.5.326 → 0.5.328

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