@almadar/ui 3.5.2 → 3.5.3

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.
@@ -12098,6 +12098,20 @@ function bindTraitStateGetter(getter) {
12098
12098
  window.__orbitalVerification.getTraitState = getter;
12099
12099
  }
12100
12100
  }
12101
+ function registerTraitSnapshot(traitName, getter) {
12102
+ if (typeof window === "undefined") return () => {
12103
+ };
12104
+ getState().traitSnapshots.set(traitName, getter);
12105
+ exposeOnWindow();
12106
+ notifyListeners();
12107
+ return () => {
12108
+ const s = getState();
12109
+ if (s.traitSnapshots.get(traitName) === getter) {
12110
+ s.traitSnapshots.delete(traitName);
12111
+ notifyListeners();
12112
+ }
12113
+ };
12114
+ }
12101
12115
  function bindCanvasCapture(captureFn) {
12102
12116
  if (typeof window === "undefined") return;
12103
12117
  exposeOnWindow();
@@ -51190,10 +51204,30 @@ function useTraitStateMachine(traitBindings, slotsActions, options) {
51190
51204
  const state = newManager.getState(traitName);
51191
51205
  return typeof state === "string" ? state : void 0;
51192
51206
  });
51207
+ const snapshotUnregs = [];
51208
+ for (const binding of traitBindingsRef.current) {
51209
+ const traitName = binding.trait.name;
51210
+ const unreg = registerTraitSnapshot(traitName, () => {
51211
+ const managerState = managerRef.current.getState(traitName);
51212
+ const currentState = managerState?.currentState ?? binding.trait.states[0]?.name ?? "unknown";
51213
+ return {
51214
+ traitName,
51215
+ currentState,
51216
+ states: binding.trait.states.map((s) => s.name),
51217
+ events: binding.trait.events.map((e) => e.key),
51218
+ data: {},
51219
+ cascadeReceived: []
51220
+ };
51221
+ });
51222
+ snapshotUnregs.push(unreg);
51223
+ }
51193
51224
  console.log(
51194
51225
  "[TraitStateMachine] Reset states for page navigation:",
51195
51226
  Array.from(newManager.getAllStates().keys()).join(", ")
51196
51227
  );
51228
+ return () => {
51229
+ for (const unreg of snapshotUnregs) unreg();
51230
+ };
51197
51231
  }, [traitBindings]);
51198
51232
  const runTickEffects = React126.useCallback((tick, binding) => {
51199
51233
  const actions = slotsActionsRef.current;
package/dist/avl/index.js CHANGED
@@ -12052,6 +12052,20 @@ function bindTraitStateGetter(getter) {
12052
12052
  window.__orbitalVerification.getTraitState = getter;
12053
12053
  }
12054
12054
  }
12055
+ function registerTraitSnapshot(traitName, getter) {
12056
+ if (typeof window === "undefined") return () => {
12057
+ };
12058
+ getState().traitSnapshots.set(traitName, getter);
12059
+ exposeOnWindow();
12060
+ notifyListeners();
12061
+ return () => {
12062
+ const s = getState();
12063
+ if (s.traitSnapshots.get(traitName) === getter) {
12064
+ s.traitSnapshots.delete(traitName);
12065
+ notifyListeners();
12066
+ }
12067
+ };
12068
+ }
12055
12069
  function bindCanvasCapture(captureFn) {
12056
12070
  if (typeof window === "undefined") return;
12057
12071
  exposeOnWindow();
@@ -51144,10 +51158,30 @@ function useTraitStateMachine(traitBindings, slotsActions, options) {
51144
51158
  const state = newManager.getState(traitName);
51145
51159
  return typeof state === "string" ? state : void 0;
51146
51160
  });
51161
+ const snapshotUnregs = [];
51162
+ for (const binding of traitBindingsRef.current) {
51163
+ const traitName = binding.trait.name;
51164
+ const unreg = registerTraitSnapshot(traitName, () => {
51165
+ const managerState = managerRef.current.getState(traitName);
51166
+ const currentState = managerState?.currentState ?? binding.trait.states[0]?.name ?? "unknown";
51167
+ return {
51168
+ traitName,
51169
+ currentState,
51170
+ states: binding.trait.states.map((s) => s.name),
51171
+ events: binding.trait.events.map((e) => e.key),
51172
+ data: {},
51173
+ cascadeReceived: []
51174
+ };
51175
+ });
51176
+ snapshotUnregs.push(unreg);
51177
+ }
51147
51178
  console.log(
51148
51179
  "[TraitStateMachine] Reset states for page navigation:",
51149
51180
  Array.from(newManager.getAllStates().keys()).join(", ")
51150
51181
  );
51182
+ return () => {
51183
+ for (const unreg of snapshotUnregs) unreg();
51184
+ };
51151
51185
  }, [traitBindings]);
51152
51186
  const runTickEffects = useCallback((tick, binding) => {
51153
51187
  const actions = slotsActionsRef.current;
@@ -1048,6 +1048,20 @@ function bindTraitStateGetter(getter) {
1048
1048
  window.__orbitalVerification.getTraitState = getter;
1049
1049
  }
1050
1050
  }
1051
+ function registerTraitSnapshot(traitName, getter) {
1052
+ if (typeof window === "undefined") return () => {
1053
+ };
1054
+ getState().traitSnapshots.set(traitName, getter);
1055
+ exposeOnWindow();
1056
+ notifyListeners2();
1057
+ return () => {
1058
+ const s = getState();
1059
+ if (s.traitSnapshots.get(traitName) === getter) {
1060
+ s.traitSnapshots.delete(traitName);
1061
+ notifyListeners2();
1062
+ }
1063
+ };
1064
+ }
1051
1065
  function bindCanvasCapture(captureFn) {
1052
1066
  if (typeof window === "undefined") return;
1053
1067
  exposeOnWindow();
@@ -37986,10 +38000,30 @@ function useTraitStateMachine(traitBindings, slotsActions, options) {
37986
38000
  const state = newManager.getState(traitName);
37987
38001
  return typeof state === "string" ? state : void 0;
37988
38002
  });
38003
+ const snapshotUnregs = [];
38004
+ for (const binding of traitBindingsRef.current) {
38005
+ const traitName = binding.trait.name;
38006
+ const unreg = registerTraitSnapshot(traitName, () => {
38007
+ const managerState = managerRef.current.getState(traitName);
38008
+ const currentState = managerState?.currentState ?? binding.trait.states[0]?.name ?? "unknown";
38009
+ return {
38010
+ traitName,
38011
+ currentState,
38012
+ states: binding.trait.states.map((s) => s.name),
38013
+ events: binding.trait.events.map((e) => e.key),
38014
+ data: {},
38015
+ cascadeReceived: []
38016
+ };
38017
+ });
38018
+ snapshotUnregs.push(unreg);
38019
+ }
37989
38020
  console.log(
37990
38021
  "[TraitStateMachine] Reset states for page navigation:",
37991
38022
  Array.from(newManager.getAllStates().keys()).join(", ")
37992
38023
  );
38024
+ return () => {
38025
+ for (const unreg of snapshotUnregs) unreg();
38026
+ };
37993
38027
  }, [traitBindings]);
37994
38028
  const runTickEffects = React116.useCallback((tick, binding) => {
37995
38029
  const actions = slotsActionsRef.current;
@@ -1003,6 +1003,20 @@ function bindTraitStateGetter(getter) {
1003
1003
  window.__orbitalVerification.getTraitState = getter;
1004
1004
  }
1005
1005
  }
1006
+ function registerTraitSnapshot(traitName, getter) {
1007
+ if (typeof window === "undefined") return () => {
1008
+ };
1009
+ getState().traitSnapshots.set(traitName, getter);
1010
+ exposeOnWindow();
1011
+ notifyListeners2();
1012
+ return () => {
1013
+ const s = getState();
1014
+ if (s.traitSnapshots.get(traitName) === getter) {
1015
+ s.traitSnapshots.delete(traitName);
1016
+ notifyListeners2();
1017
+ }
1018
+ };
1019
+ }
1006
1020
  function bindCanvasCapture(captureFn) {
1007
1021
  if (typeof window === "undefined") return;
1008
1022
  exposeOnWindow();
@@ -37941,10 +37955,30 @@ function useTraitStateMachine(traitBindings, slotsActions, options) {
37941
37955
  const state = newManager.getState(traitName);
37942
37956
  return typeof state === "string" ? state : void 0;
37943
37957
  });
37958
+ const snapshotUnregs = [];
37959
+ for (const binding of traitBindingsRef.current) {
37960
+ const traitName = binding.trait.name;
37961
+ const unreg = registerTraitSnapshot(traitName, () => {
37962
+ const managerState = managerRef.current.getState(traitName);
37963
+ const currentState = managerState?.currentState ?? binding.trait.states[0]?.name ?? "unknown";
37964
+ return {
37965
+ traitName,
37966
+ currentState,
37967
+ states: binding.trait.states.map((s) => s.name),
37968
+ events: binding.trait.events.map((e) => e.key),
37969
+ data: {},
37970
+ cascadeReceived: []
37971
+ };
37972
+ });
37973
+ snapshotUnregs.push(unreg);
37974
+ }
37944
37975
  console.log(
37945
37976
  "[TraitStateMachine] Reset states for page navigation:",
37946
37977
  Array.from(newManager.getAllStates().keys()).join(", ")
37947
37978
  );
37979
+ return () => {
37980
+ for (const unreg of snapshotUnregs) unreg();
37981
+ };
37948
37982
  }, [traitBindings]);
37949
37983
  const runTickEffects = useCallback((tick, binding) => {
37950
37984
  const actions = slotsActionsRef.current;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@almadar/ui",
3
- "version": "3.5.2",
3
+ "version": "3.5.3",
4
4
  "description": "React UI components, hooks, and providers for Almadar",
5
5
  "type": "module",
6
6
  "main": "./dist/components/index.js",