@almadar/ui 4.51.3 → 4.51.5

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.
@@ -58683,20 +58683,21 @@ function TraitInitializer({ traits: traits2, orbitalNames, onNavigate, onLocalFa
58683
58683
  }, [bridge.connected, bridge.sendEvent, orbitalNames, uiSlots, onNavigate, embeddedTraits]);
58684
58684
  const opts = orbitalNames ? { onEventProcessed, navigate: onNavigate, traitConfigsByName, orbitalsByTrait, embeddedTraits } : { navigate: onNavigate, persistence, traitConfigsByName, orbitalsByTrait, embeddedTraits };
58685
58685
  const { sendEvent } = useTraitStateMachine(traits2, uiSlots, opts);
58686
- const prevTraitNamesRef = React93.useRef("");
58686
+ const initSentRef = React93.useRef(false);
58687
+ const prevTraitsRef = React93.useRef(void 0);
58687
58688
  React93.useEffect(() => {
58688
- const traitNames = traits2.map((b) => b.trait?.name ?? "").filter(Boolean).sort().join(",");
58689
- if (prevTraitNamesRef.current && prevTraitNamesRef.current !== traitNames) {
58690
- navLog.debug("page:trait-set-changed", {
58691
- from: prevTraitNamesRef.current,
58692
- to: traitNames,
58693
- action: "clearAll-slots"
58694
- });
58689
+ const refChanged = prevTraitsRef.current !== void 0 && prevTraitsRef.current !== traits2;
58690
+ navLog.warn("page:traits-effect", {
58691
+ refChanged,
58692
+ traitsCount: Array.isArray(traits2) ? traits2.length : -1,
58693
+ hadPrev: prevTraitsRef.current !== void 0
58694
+ });
58695
+ if (refChanged) {
58695
58696
  uiSlots.clearAll();
58697
+ initSentRef.current = false;
58696
58698
  }
58697
- prevTraitNamesRef.current = traitNames;
58699
+ prevTraitsRef.current = traits2;
58698
58700
  }, [traits2, uiSlots]);
58699
- const initSentRef = React93.useRef(false);
58700
58701
  React93.useEffect(() => {
58701
58702
  if (!orbitalNames?.length) {
58702
58703
  const t = setTimeout(() => sendEvent("INIT"), 50);
@@ -58710,10 +58711,6 @@ function TraitInitializer({ traits: traits2, orbitalNames, onNavigate, onLocalFa
58710
58711
  }, 5e3);
58711
58712
  return () => clearTimeout(fallback);
58712
58713
  }, [traits2, orbitalNames, sendEvent, onLocalFallback]);
58713
- const orbitalsKey = (orbitalNames ?? []).slice().sort().join(",");
58714
- React93.useEffect(() => {
58715
- initSentRef.current = false;
58716
- }, [orbitalsKey]);
58717
58714
  React93.useEffect(() => {
58718
58715
  if (!bridge.connected || !orbitalNames?.length || initSentRef.current) return;
58719
58716
  initSentRef.current = true;
package/dist/avl/index.js CHANGED
@@ -58637,20 +58637,21 @@ function TraitInitializer({ traits: traits2, orbitalNames, onNavigate, onLocalFa
58637
58637
  }, [bridge.connected, bridge.sendEvent, orbitalNames, uiSlots, onNavigate, embeddedTraits]);
58638
58638
  const opts = orbitalNames ? { onEventProcessed, navigate: onNavigate, traitConfigsByName, orbitalsByTrait, embeddedTraits } : { navigate: onNavigate, persistence, traitConfigsByName, orbitalsByTrait, embeddedTraits };
58639
58639
  const { sendEvent } = useTraitStateMachine(traits2, uiSlots, opts);
58640
- const prevTraitNamesRef = useRef("");
58640
+ const initSentRef = useRef(false);
58641
+ const prevTraitsRef = useRef(void 0);
58641
58642
  useEffect(() => {
58642
- const traitNames = traits2.map((b) => b.trait?.name ?? "").filter(Boolean).sort().join(",");
58643
- if (prevTraitNamesRef.current && prevTraitNamesRef.current !== traitNames) {
58644
- navLog.debug("page:trait-set-changed", {
58645
- from: prevTraitNamesRef.current,
58646
- to: traitNames,
58647
- action: "clearAll-slots"
58648
- });
58643
+ const refChanged = prevTraitsRef.current !== void 0 && prevTraitsRef.current !== traits2;
58644
+ navLog.warn("page:traits-effect", {
58645
+ refChanged,
58646
+ traitsCount: Array.isArray(traits2) ? traits2.length : -1,
58647
+ hadPrev: prevTraitsRef.current !== void 0
58648
+ });
58649
+ if (refChanged) {
58649
58650
  uiSlots.clearAll();
58651
+ initSentRef.current = false;
58650
58652
  }
58651
- prevTraitNamesRef.current = traitNames;
58653
+ prevTraitsRef.current = traits2;
58652
58654
  }, [traits2, uiSlots]);
58653
- const initSentRef = useRef(false);
58654
58655
  useEffect(() => {
58655
58656
  if (!orbitalNames?.length) {
58656
58657
  const t = setTimeout(() => sendEvent("INIT"), 50);
@@ -58664,10 +58665,6 @@ function TraitInitializer({ traits: traits2, orbitalNames, onNavigate, onLocalFa
58664
58665
  }, 5e3);
58665
58666
  return () => clearTimeout(fallback);
58666
58667
  }, [traits2, orbitalNames, sendEvent, onLocalFallback]);
58667
- const orbitalsKey = (orbitalNames ?? []).slice().sort().join(",");
58668
- useEffect(() => {
58669
- initSentRef.current = false;
58670
- }, [orbitalsKey]);
58671
58668
  useEffect(() => {
58672
58669
  if (!bridge.connected || !orbitalNames?.length || initSentRef.current) return;
58673
58670
  initSentRef.current = true;
@@ -46574,20 +46574,21 @@ function TraitInitializer({ traits: traits2, orbitalNames, onNavigate, onLocalFa
46574
46574
  }, [bridge.connected, bridge.sendEvent, orbitalNames, uiSlots, onNavigate, embeddedTraits]);
46575
46575
  const opts = orbitalNames ? { onEventProcessed, navigate: onNavigate, traitConfigsByName, orbitalsByTrait, embeddedTraits } : { navigate: onNavigate, persistence, traitConfigsByName, orbitalsByTrait, embeddedTraits };
46576
46576
  const { sendEvent } = useTraitStateMachine(traits2, uiSlots, opts);
46577
- const prevTraitNamesRef = React80.useRef("");
46577
+ const initSentRef = React80.useRef(false);
46578
+ const prevTraitsRef = React80.useRef(void 0);
46578
46579
  React80.useEffect(() => {
46579
- const traitNames = traits2.map((b) => b.trait?.name ?? "").filter(Boolean).sort().join(",");
46580
- if (prevTraitNamesRef.current && prevTraitNamesRef.current !== traitNames) {
46581
- navLog.debug("page:trait-set-changed", {
46582
- from: prevTraitNamesRef.current,
46583
- to: traitNames,
46584
- action: "clearAll-slots"
46585
- });
46580
+ const refChanged = prevTraitsRef.current !== void 0 && prevTraitsRef.current !== traits2;
46581
+ navLog.warn("page:traits-effect", {
46582
+ refChanged,
46583
+ traitsCount: Array.isArray(traits2) ? traits2.length : -1,
46584
+ hadPrev: prevTraitsRef.current !== void 0
46585
+ });
46586
+ if (refChanged) {
46586
46587
  uiSlots.clearAll();
46588
+ initSentRef.current = false;
46587
46589
  }
46588
- prevTraitNamesRef.current = traitNames;
46590
+ prevTraitsRef.current = traits2;
46589
46591
  }, [traits2, uiSlots]);
46590
- const initSentRef = React80.useRef(false);
46591
46592
  React80.useEffect(() => {
46592
46593
  if (!orbitalNames?.length) {
46593
46594
  const t = setTimeout(() => sendEvent("INIT"), 50);
@@ -46601,10 +46602,6 @@ function TraitInitializer({ traits: traits2, orbitalNames, onNavigate, onLocalFa
46601
46602
  }, 5e3);
46602
46603
  return () => clearTimeout(fallback);
46603
46604
  }, [traits2, orbitalNames, sendEvent, onLocalFallback]);
46604
- const orbitalsKey = (orbitalNames ?? []).slice().sort().join(",");
46605
- React80.useEffect(() => {
46606
- initSentRef.current = false;
46607
- }, [orbitalsKey]);
46608
46605
  React80.useEffect(() => {
46609
46606
  if (!bridge.connected || !orbitalNames?.length || initSentRef.current) return;
46610
46607
  initSentRef.current = true;
@@ -46528,20 +46528,21 @@ function TraitInitializer({ traits: traits2, orbitalNames, onNavigate, onLocalFa
46528
46528
  }, [bridge.connected, bridge.sendEvent, orbitalNames, uiSlots, onNavigate, embeddedTraits]);
46529
46529
  const opts = orbitalNames ? { onEventProcessed, navigate: onNavigate, traitConfigsByName, orbitalsByTrait, embeddedTraits } : { navigate: onNavigate, persistence, traitConfigsByName, orbitalsByTrait, embeddedTraits };
46530
46530
  const { sendEvent } = useTraitStateMachine(traits2, uiSlots, opts);
46531
- const prevTraitNamesRef = useRef("");
46531
+ const initSentRef = useRef(false);
46532
+ const prevTraitsRef = useRef(void 0);
46532
46533
  useEffect(() => {
46533
- const traitNames = traits2.map((b) => b.trait?.name ?? "").filter(Boolean).sort().join(",");
46534
- if (prevTraitNamesRef.current && prevTraitNamesRef.current !== traitNames) {
46535
- navLog.debug("page:trait-set-changed", {
46536
- from: prevTraitNamesRef.current,
46537
- to: traitNames,
46538
- action: "clearAll-slots"
46539
- });
46534
+ const refChanged = prevTraitsRef.current !== void 0 && prevTraitsRef.current !== traits2;
46535
+ navLog.warn("page:traits-effect", {
46536
+ refChanged,
46537
+ traitsCount: Array.isArray(traits2) ? traits2.length : -1,
46538
+ hadPrev: prevTraitsRef.current !== void 0
46539
+ });
46540
+ if (refChanged) {
46540
46541
  uiSlots.clearAll();
46542
+ initSentRef.current = false;
46541
46543
  }
46542
- prevTraitNamesRef.current = traitNames;
46544
+ prevTraitsRef.current = traits2;
46543
46545
  }, [traits2, uiSlots]);
46544
- const initSentRef = useRef(false);
46545
46546
  useEffect(() => {
46546
46547
  if (!orbitalNames?.length) {
46547
46548
  const t = setTimeout(() => sendEvent("INIT"), 50);
@@ -46555,10 +46556,6 @@ function TraitInitializer({ traits: traits2, orbitalNames, onNavigate, onLocalFa
46555
46556
  }, 5e3);
46556
46557
  return () => clearTimeout(fallback);
46557
46558
  }, [traits2, orbitalNames, sendEvent, onLocalFallback]);
46558
- const orbitalsKey = (orbitalNames ?? []).slice().sort().join(",");
46559
- useEffect(() => {
46560
- initSentRef.current = false;
46561
- }, [orbitalsKey]);
46562
46559
  useEffect(() => {
46563
46560
  if (!bridge.connected || !orbitalNames?.length || initSentRef.current) return;
46564
46561
  initSentRef.current = true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@almadar/ui",
3
- "version": "4.51.3",
3
+ "version": "4.51.5",
4
4
  "description": "React UI components, hooks, and providers for Almadar",
5
5
  "type": "module",
6
6
  "sideEffects": [