@almadar/ui 4.16.1 → 4.16.2

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.
@@ -51772,6 +51772,13 @@ var crossTraitLog = createLogger("almadar:ui:cross-trait");
51772
51772
  var reducerMirrorLog = createLogger("almadar:ui:reducer-mirror");
51773
51773
  var flushLog = createLogger("almadar:ui:slot-flush");
51774
51774
  var stateLog = createLogger("almadar:ui:state-transitions");
51775
+ function readPayloadRows(payload) {
51776
+ const data = payload?.["data"];
51777
+ if (!Array.isArray(data)) return null;
51778
+ return data.filter(
51779
+ (v) => v !== null && typeof v === "object" && !Array.isArray(v) && !(v instanceof Date)
51780
+ );
51781
+ }
51775
51782
  function toTraitDefinition(binding) {
51776
51783
  return {
51777
51784
  name: binding.trait.name,
@@ -52436,11 +52443,27 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
52436
52443
  }
52437
52444
  const selfBusKey = `UI:${orbitalName}.${traitName}.${eventKey}`;
52438
52445
  crossTraitLog.debug("self:subscribe", { traitName, busKey: selfBusKey, eventKey });
52446
+ const selfLinkedEntity = binding.linkedEntity;
52439
52447
  const unsub = eventBus.on(selfBusKey, (event) => {
52440
52448
  if (event.source && event.source.fromBridge) {
52441
52449
  crossTraitLog.debug("self:fire-skipped-bridge-echo", { traitName, busKey: selfBusKey, eventKey });
52442
52450
  return;
52443
52451
  }
52452
+ if (selfLinkedEntity) {
52453
+ const rowsFromPayload = readPayloadRows(event.payload);
52454
+ if (rowsFromPayload !== null) {
52455
+ const snapNow = traitSnapshotDataRef.current.get(traitName);
52456
+ if (snapNow) {
52457
+ snapNow.data[selfLinkedEntity] = rowsFromPayload;
52458
+ reducerMirrorLog.info("write:self-emit", {
52459
+ traitName,
52460
+ eventKey,
52461
+ linkedEntity: selfLinkedEntity,
52462
+ rowCount: rowsFromPayload.length
52463
+ });
52464
+ }
52465
+ }
52466
+ }
52444
52467
  crossTraitLog.info("self:fire", { traitName, busKey: selfBusKey, eventKey });
52445
52468
  enqueueAndDrain(eventKey, event.payload);
52446
52469
  });
package/dist/avl/index.js CHANGED
@@ -51726,6 +51726,13 @@ var crossTraitLog = createLogger("almadar:ui:cross-trait");
51726
51726
  var reducerMirrorLog = createLogger("almadar:ui:reducer-mirror");
51727
51727
  var flushLog = createLogger("almadar:ui:slot-flush");
51728
51728
  var stateLog = createLogger("almadar:ui:state-transitions");
51729
+ function readPayloadRows(payload) {
51730
+ const data = payload?.["data"];
51731
+ if (!Array.isArray(data)) return null;
51732
+ return data.filter(
51733
+ (v) => v !== null && typeof v === "object" && !Array.isArray(v) && !(v instanceof Date)
51734
+ );
51735
+ }
51729
51736
  function toTraitDefinition(binding) {
51730
51737
  return {
51731
51738
  name: binding.trait.name,
@@ -52390,11 +52397,27 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
52390
52397
  }
52391
52398
  const selfBusKey = `UI:${orbitalName}.${traitName}.${eventKey}`;
52392
52399
  crossTraitLog.debug("self:subscribe", { traitName, busKey: selfBusKey, eventKey });
52400
+ const selfLinkedEntity = binding.linkedEntity;
52393
52401
  const unsub = eventBus.on(selfBusKey, (event) => {
52394
52402
  if (event.source && event.source.fromBridge) {
52395
52403
  crossTraitLog.debug("self:fire-skipped-bridge-echo", { traitName, busKey: selfBusKey, eventKey });
52396
52404
  return;
52397
52405
  }
52406
+ if (selfLinkedEntity) {
52407
+ const rowsFromPayload = readPayloadRows(event.payload);
52408
+ if (rowsFromPayload !== null) {
52409
+ const snapNow = traitSnapshotDataRef.current.get(traitName);
52410
+ if (snapNow) {
52411
+ snapNow.data[selfLinkedEntity] = rowsFromPayload;
52412
+ reducerMirrorLog.info("write:self-emit", {
52413
+ traitName,
52414
+ eventKey,
52415
+ linkedEntity: selfLinkedEntity,
52416
+ rowCount: rowsFromPayload.length
52417
+ });
52418
+ }
52419
+ }
52420
+ }
52398
52421
  crossTraitLog.info("self:fire", { traitName, busKey: selfBusKey, eventKey });
52399
52422
  enqueueAndDrain(eventKey, event.payload);
52400
52423
  });
@@ -38299,6 +38299,13 @@ var crossTraitLog = createLogger("almadar:ui:cross-trait");
38299
38299
  var reducerMirrorLog = createLogger("almadar:ui:reducer-mirror");
38300
38300
  var flushLog = createLogger("almadar:ui:slot-flush");
38301
38301
  var stateLog = createLogger("almadar:ui:state-transitions");
38302
+ function readPayloadRows(payload) {
38303
+ const data = payload?.["data"];
38304
+ if (!Array.isArray(data)) return null;
38305
+ return data.filter(
38306
+ (v) => v !== null && typeof v === "object" && !Array.isArray(v) && !(v instanceof Date)
38307
+ );
38308
+ }
38302
38309
  function toTraitDefinition(binding) {
38303
38310
  return {
38304
38311
  name: binding.trait.name,
@@ -38963,11 +38970,27 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
38963
38970
  }
38964
38971
  const selfBusKey = `UI:${orbitalName}.${traitName}.${eventKey}`;
38965
38972
  crossTraitLog.debug("self:subscribe", { traitName, busKey: selfBusKey, eventKey });
38973
+ const selfLinkedEntity = binding.linkedEntity;
38966
38974
  const unsub = eventBus.on(selfBusKey, (event) => {
38967
38975
  if (event.source && event.source.fromBridge) {
38968
38976
  crossTraitLog.debug("self:fire-skipped-bridge-echo", { traitName, busKey: selfBusKey, eventKey });
38969
38977
  return;
38970
38978
  }
38979
+ if (selfLinkedEntity) {
38980
+ const rowsFromPayload = readPayloadRows(event.payload);
38981
+ if (rowsFromPayload !== null) {
38982
+ const snapNow = traitSnapshotDataRef.current.get(traitName);
38983
+ if (snapNow) {
38984
+ snapNow.data[selfLinkedEntity] = rowsFromPayload;
38985
+ reducerMirrorLog.info("write:self-emit", {
38986
+ traitName,
38987
+ eventKey,
38988
+ linkedEntity: selfLinkedEntity,
38989
+ rowCount: rowsFromPayload.length
38990
+ });
38991
+ }
38992
+ }
38993
+ }
38971
38994
  crossTraitLog.info("self:fire", { traitName, busKey: selfBusKey, eventKey });
38972
38995
  enqueueAndDrain(eventKey, event.payload);
38973
38996
  });
@@ -38254,6 +38254,13 @@ var crossTraitLog = createLogger("almadar:ui:cross-trait");
38254
38254
  var reducerMirrorLog = createLogger("almadar:ui:reducer-mirror");
38255
38255
  var flushLog = createLogger("almadar:ui:slot-flush");
38256
38256
  var stateLog = createLogger("almadar:ui:state-transitions");
38257
+ function readPayloadRows(payload) {
38258
+ const data = payload?.["data"];
38259
+ if (!Array.isArray(data)) return null;
38260
+ return data.filter(
38261
+ (v) => v !== null && typeof v === "object" && !Array.isArray(v) && !(v instanceof Date)
38262
+ );
38263
+ }
38257
38264
  function toTraitDefinition(binding) {
38258
38265
  return {
38259
38266
  name: binding.trait.name,
@@ -38918,11 +38925,27 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
38918
38925
  }
38919
38926
  const selfBusKey = `UI:${orbitalName}.${traitName}.${eventKey}`;
38920
38927
  crossTraitLog.debug("self:subscribe", { traitName, busKey: selfBusKey, eventKey });
38928
+ const selfLinkedEntity = binding.linkedEntity;
38921
38929
  const unsub = eventBus.on(selfBusKey, (event) => {
38922
38930
  if (event.source && event.source.fromBridge) {
38923
38931
  crossTraitLog.debug("self:fire-skipped-bridge-echo", { traitName, busKey: selfBusKey, eventKey });
38924
38932
  return;
38925
38933
  }
38934
+ if (selfLinkedEntity) {
38935
+ const rowsFromPayload = readPayloadRows(event.payload);
38936
+ if (rowsFromPayload !== null) {
38937
+ const snapNow = traitSnapshotDataRef.current.get(traitName);
38938
+ if (snapNow) {
38939
+ snapNow.data[selfLinkedEntity] = rowsFromPayload;
38940
+ reducerMirrorLog.info("write:self-emit", {
38941
+ traitName,
38942
+ eventKey,
38943
+ linkedEntity: selfLinkedEntity,
38944
+ rowCount: rowsFromPayload.length
38945
+ });
38946
+ }
38947
+ }
38948
+ }
38926
38949
  crossTraitLog.info("self:fire", { traitName, busKey: selfBusKey, eventKey });
38927
38950
  enqueueAndDrain(eventKey, event.payload);
38928
38951
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@almadar/ui",
3
- "version": "4.16.1",
3
+ "version": "4.16.2",
4
4
  "description": "React UI components, hooks, and providers for Almadar",
5
5
  "type": "module",
6
6
  "main": "./dist/components/index.js",