@almadar/std 3.4.4 → 3.6.0

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.
Files changed (97) hide show
  1. package/behaviors/exports/atoms/std-browse.orb +1 -1
  2. package/behaviors/exports/atoms/std-confirmation.orb +4 -4
  3. package/behaviors/exports/atoms/std-modal.orb +2 -2
  4. package/behaviors/exports/molecules/std-cart.orb +11 -85
  5. package/behaviors/exports/molecules/std-detail.orb +4 -8
  6. package/behaviors/exports/molecules/std-geospatial.orb +7 -7
  7. package/behaviors/exports/molecules/std-inventory.orb +10 -22
  8. package/behaviors/exports/molecules/std-list.orb +6 -18
  9. package/behaviors/exports/molecules/std-messaging.orb +4 -8
  10. package/behaviors/exports/organisms/std-api-gateway.orb +6 -18
  11. package/behaviors/exports/organisms/std-booking-system.orb +12 -36
  12. package/behaviors/exports/organisms/std-cicd-pipeline.orb +6 -18
  13. package/behaviors/exports/organisms/std-cms.orb +16 -44
  14. package/behaviors/exports/organisms/std-crm.orb +16 -44
  15. package/behaviors/exports/organisms/std-devops-dashboard.orb +6 -18
  16. package/behaviors/exports/organisms/std-ecommerce.orb +28 -108
  17. package/behaviors/exports/organisms/std-finance-tracker.orb +10 -26
  18. package/behaviors/exports/organisms/std-healthcare.orb +16 -44
  19. package/behaviors/exports/organisms/std-helpdesk.orb +10 -26
  20. package/behaviors/exports/organisms/std-hr-portal.orb +12 -36
  21. package/behaviors/exports/organisms/std-iot-dashboard.orb +6 -18
  22. package/behaviors/exports/organisms/std-lms.orb +6 -18
  23. package/behaviors/exports/organisms/std-platformer-app.orb +10 -22
  24. package/behaviors/exports/organisms/std-project-manager.orb +12 -36
  25. package/behaviors/exports/organisms/std-realtime-chat.orb +10 -26
  26. package/behaviors/exports/organisms/std-rpg-game.orb +10 -22
  27. package/behaviors/exports/organisms/std-service-marketplace.orb +12 -36
  28. package/behaviors/exports/organisms/std-social-feed.orb +8 -16
  29. package/behaviors/exports/organisms/std-trading-dashboard.orb +6 -18
  30. package/behaviors/exports/validation-report.json +2 -2
  31. package/dist/behaviors/exports/atoms/std-browse.orb +1 -1
  32. package/dist/behaviors/exports/atoms/std-confirmation.orb +4 -4
  33. package/dist/behaviors/exports/atoms/std-modal.orb +2 -2
  34. package/dist/behaviors/exports/molecules/std-cart.orb +11 -85
  35. package/dist/behaviors/exports/molecules/std-detail.orb +4 -8
  36. package/dist/behaviors/exports/molecules/std-geospatial.orb +7 -7
  37. package/dist/behaviors/exports/molecules/std-inventory.orb +10 -22
  38. package/dist/behaviors/exports/molecules/std-list.orb +6 -18
  39. package/dist/behaviors/exports/molecules/std-messaging.orb +4 -8
  40. package/dist/behaviors/exports/organisms/std-api-gateway.orb +6 -18
  41. package/dist/behaviors/exports/organisms/std-booking-system.orb +12 -36
  42. package/dist/behaviors/exports/organisms/std-cicd-pipeline.orb +6 -18
  43. package/dist/behaviors/exports/organisms/std-cms.orb +16 -44
  44. package/dist/behaviors/exports/organisms/std-crm.orb +16 -44
  45. package/dist/behaviors/exports/organisms/std-devops-dashboard.orb +6 -18
  46. package/dist/behaviors/exports/organisms/std-ecommerce.orb +28 -108
  47. package/dist/behaviors/exports/organisms/std-finance-tracker.orb +10 -26
  48. package/dist/behaviors/exports/organisms/std-healthcare.orb +16 -44
  49. package/dist/behaviors/exports/organisms/std-helpdesk.orb +10 -26
  50. package/dist/behaviors/exports/organisms/std-hr-portal.orb +12 -36
  51. package/dist/behaviors/exports/organisms/std-iot-dashboard.orb +6 -18
  52. package/dist/behaviors/exports/organisms/std-lms.orb +6 -18
  53. package/dist/behaviors/exports/organisms/std-platformer-app.orb +10 -22
  54. package/dist/behaviors/exports/organisms/std-project-manager.orb +12 -36
  55. package/dist/behaviors/exports/organisms/std-realtime-chat.orb +10 -26
  56. package/dist/behaviors/exports/organisms/std-rpg-game.orb +10 -22
  57. package/dist/behaviors/exports/organisms/std-service-marketplace.orb +12 -36
  58. package/dist/behaviors/exports/organisms/std-social-feed.orb +8 -16
  59. package/dist/behaviors/exports/organisms/std-trading-dashboard.orb +6 -18
  60. package/dist/behaviors/exports/validation-report.json +2 -2
  61. package/dist/behaviors/functions/index.js +20 -37
  62. package/dist/behaviors/functions/index.js.map +1 -1
  63. package/dist/behaviors/index.js +20 -37
  64. package/dist/behaviors/index.js.map +1 -1
  65. package/dist/exports/atoms/std-browse.orb +1 -1
  66. package/dist/exports/atoms/std-confirmation.orb +4 -4
  67. package/dist/exports/atoms/std-modal.orb +2 -2
  68. package/dist/exports/molecules/std-cart.orb +11 -85
  69. package/dist/exports/molecules/std-detail.orb +4 -8
  70. package/dist/exports/molecules/std-geospatial.orb +7 -7
  71. package/dist/exports/molecules/std-inventory.orb +10 -22
  72. package/dist/exports/molecules/std-list.orb +6 -18
  73. package/dist/exports/molecules/std-messaging.orb +4 -8
  74. package/dist/exports/organisms/std-api-gateway.orb +6 -18
  75. package/dist/exports/organisms/std-booking-system.orb +12 -36
  76. package/dist/exports/organisms/std-cicd-pipeline.orb +6 -18
  77. package/dist/exports/organisms/std-cms.orb +16 -44
  78. package/dist/exports/organisms/std-crm.orb +16 -44
  79. package/dist/exports/organisms/std-devops-dashboard.orb +6 -18
  80. package/dist/exports/organisms/std-ecommerce.orb +28 -108
  81. package/dist/exports/organisms/std-finance-tracker.orb +10 -26
  82. package/dist/exports/organisms/std-healthcare.orb +16 -44
  83. package/dist/exports/organisms/std-helpdesk.orb +10 -26
  84. package/dist/exports/organisms/std-hr-portal.orb +12 -36
  85. package/dist/exports/organisms/std-iot-dashboard.orb +6 -18
  86. package/dist/exports/organisms/std-lms.orb +6 -18
  87. package/dist/exports/organisms/std-platformer-app.orb +10 -22
  88. package/dist/exports/organisms/std-project-manager.orb +12 -36
  89. package/dist/exports/organisms/std-realtime-chat.orb +10 -26
  90. package/dist/exports/organisms/std-rpg-game.orb +10 -22
  91. package/dist/exports/organisms/std-service-marketplace.orb +12 -36
  92. package/dist/exports/organisms/std-social-feed.orb +8 -16
  93. package/dist/exports/organisms/std-trading-dashboard.orb +6 -18
  94. package/dist/exports/validation-report.json +2 -2
  95. package/dist/index.js +20 -37
  96. package/dist/index.js.map +1 -1
  97. package/package.json +1 -1
@@ -320,7 +320,7 @@ function buildTrait(c) {
320
320
  to: "browsing",
321
321
  event: "INIT",
322
322
  effects: [
323
- ["fetch", entityName],
323
+ ["ref", entityName],
324
324
  ["render-ui", "main", {
325
325
  type: "stack",
326
326
  direction: "vertical",
@@ -348,7 +348,7 @@ function buildTrait(c) {
348
348
  from: "browsing",
349
349
  to: "browsing",
350
350
  event: evt,
351
- effects: [["fetch", entityName]]
351
+ effects: [["ref", entityName]]
352
352
  }))
353
353
  ]
354
354
  }
@@ -447,7 +447,7 @@ function buildTrait2(c) {
447
447
  from: "closed",
448
448
  to: "closed",
449
449
  event: "INIT",
450
- effects: c.standalone ? [["fetch", c.entityName], ["render-ui", "main", {
450
+ effects: c.standalone ? [["ref", c.entityName], ["render-ui", "main", {
451
451
  type: "stack",
452
452
  direction: "vertical",
453
453
  gap: "lg",
@@ -462,7 +462,7 @@ function buildTrait2(c) {
462
462
  { type: "divider" },
463
463
  { type: "empty-state", icon: c.headerIcon, title: "Nothing open", description: "Click Open to view details in a modal overlay." }
464
464
  ]
465
- }]] : [["fetch", c.entityName]]
465
+ }]] : [["ref", c.entityName]]
466
466
  },
467
467
  // OPEN: closed → open (Modal component in CompiledPortal provides backdrop)
468
468
  {
@@ -475,7 +475,7 @@ function buildTrait2(c) {
475
475
  { from: "open", to: "closed", event: c.closeEvent, effects: [
476
476
  ["render-ui", "modal", null],
477
477
  ["notify", "Cancelled", "info"],
478
- ...c.standalone ? [["fetch", c.entityName], ["render-ui", "main", {
478
+ ...c.standalone ? [["ref", c.entityName], ["render-ui", "main", {
479
479
  type: "stack",
480
480
  direction: "vertical",
481
481
  gap: "lg",
@@ -628,7 +628,7 @@ function buildTrait3(c) {
628
628
  };
629
629
  const dismissAndRefresh = [
630
630
  ["render-ui", "modal", null],
631
- ...c.standalone ? [["fetch", entityName], ["render-ui", "main", idleMainView]] : [["fetch", entityName]]
631
+ ...c.standalone ? [["ref", entityName], ["render-ui", "main", idleMainView]] : [["ref", entityName]]
632
632
  ];
633
633
  return {
634
634
  name: c.traitName,
@@ -652,7 +652,7 @@ function buildTrait3(c) {
652
652
  from: "idle",
653
653
  to: "idle",
654
654
  event: "INIT",
655
- effects: c.standalone ? [["fetch", entityName], ["render-ui", "main", idleMainView]] : [["fetch", entityName]]
655
+ effects: c.standalone ? [["ref", entityName], ["render-ui", "main", idleMainView]] : [["ref", entityName]]
656
656
  },
657
657
  {
658
658
  from: "idle",
@@ -8567,7 +8567,7 @@ function stdList(params) {
8567
8567
  closeEvent: "CLOSE",
8568
8568
  openEffects: [["fetch", entityName]],
8569
8569
  saveEvent: "SAVE",
8570
- saveEffects: [["persist", "create", entityName, "@payload.data"], ["fetch", entityName]],
8570
+ saveEffects: [["persist", "create", entityName, "@payload.data"]],
8571
8571
  emitOnSave: CREATED
8572
8572
  }));
8573
8573
  const editTrait = extractTrait(stdModal({
@@ -8583,7 +8583,7 @@ function stdList(params) {
8583
8583
  closeEvent: "CLOSE",
8584
8584
  openEffects: [["fetch", entityName, "@payload.id"]],
8585
8585
  saveEvent: "SAVE",
8586
- saveEffects: [["persist", "update", entityName, "@payload.data"], ["fetch", entityName]],
8586
+ saveEffects: [["persist", "update", entityName, "@payload.data"]],
8587
8587
  emitOnSave: UPDATED
8588
8588
  }));
8589
8589
  const viewTrait = extractTrait(stdModal({
@@ -8636,7 +8636,6 @@ function stdList(params) {
8636
8636
  { from: "deleting", to: "browsing", event: "CONFIRM_DELETE", effects: [
8637
8637
  ["persist", "delete", entityName, "@entity.id"],
8638
8638
  ["render-ui", "modal", null],
8639
- ["fetch", entityName],
8640
8639
  ["render-ui", "main", browseMainView]
8641
8640
  ] },
8642
8641
  // CANCEL/CLOSE from deleting (dismiss modal, re-render main)
@@ -8731,7 +8730,6 @@ function buildCartTrait(c) {
8731
8730
  name: `${entityName}CartBrowse`,
8732
8731
  linkedEntity: entityName,
8733
8732
  category: "interaction",
8734
- listens: [{ event: "CONFIRM_REMOVE", triggers: "CONFIRM_REMOVE" }],
8735
8733
  stateMachine: {
8736
8734
  states: [
8737
8735
  { name: "browsing", isInitial: true },
@@ -8740,9 +8738,7 @@ function buildCartTrait(c) {
8740
8738
  events: [
8741
8739
  { key: "INIT", name: "Initialize" },
8742
8740
  { key: "ADD_ITEM", name: "Add Item" },
8743
- { key: "SAVE", name: "Save", payload: [{ name: "data", type: "object", required: true }] },
8744
8741
  { key: "REQUEST_REMOVE", name: "Request Remove", payload: [{ name: "id", type: "string", required: true }] },
8745
- { key: "CONFIRM_REMOVE", name: "Confirm Remove", payload: [{ name: "data", type: "object", required: true }] },
8746
8742
  { key: "PROCEED_CHECKOUT", name: "Proceed to Checkout" },
8747
8743
  { key: "BACK_TO_CART", name: "Back to Cart" },
8748
8744
  { key: "CONFIRM_ORDER", name: "Confirm Order" }
@@ -8750,7 +8746,7 @@ function buildCartTrait(c) {
8750
8746
  transitions: [
8751
8747
  // browsing + INIT (data-grid handles empty vs populated automatically)
8752
8748
  { from: "browsing", to: "browsing", event: "INIT", effects: [
8753
- ["fetch", entityName],
8749
+ ["ref", entityName],
8754
8750
  ["render-ui", "main", { type: "stack", direction: "vertical", gap: "lg", children: [
8755
8751
  headerBar,
8756
8752
  { type: "divider" },
@@ -8769,13 +8765,9 @@ function buildCartTrait(c) {
8769
8765
  { type: "button", label: checkoutButtonLabel, event: "PROCEED_CHECKOUT", variant: "primary", icon: "arrow-right" }
8770
8766
  ] }]
8771
8767
  ] },
8772
- // SAVE: re-fetch after modal adds an item (shared event bus)
8773
- { from: "browsing", to: "browsing", event: "SAVE", effects: [["fetch", entityName]] },
8774
- // CONFIRM_REMOVE: re-fetch after confirmation trait deletes item
8775
- { from: "browsing", to: "browsing", event: "CONFIRM_REMOVE", effects: [["fetch", entityName]] },
8776
8768
  // PROCEED_CHECKOUT
8777
8769
  { from: "browsing", to: "checkout", event: "PROCEED_CHECKOUT", effects: [
8778
- ["fetch", entityName],
8770
+ ["ref", entityName],
8779
8771
  ["render-ui", "main", { type: "stack", direction: "vertical", gap: "lg", children: [
8780
8772
  { type: "stack", direction: "horizontal", gap: "sm", children: [
8781
8773
  { type: "icon", name: "clipboard", size: "lg" },
@@ -8790,10 +8782,10 @@ function buildCartTrait(c) {
8790
8782
  ] }]
8791
8783
  ] },
8792
8784
  // BACK_TO_CART
8793
- { from: "checkout", to: "browsing", event: "BACK_TO_CART", effects: [["fetch", entityName]] },
8785
+ { from: "checkout", to: "browsing", event: "BACK_TO_CART", effects: [["ref", entityName]] },
8794
8786
  // CONFIRM_ORDER
8795
8787
  { from: "checkout", to: "browsing", event: "CONFIRM_ORDER", effects: [
8796
- ["fetch", entityName],
8788
+ ["ref", entityName],
8797
8789
  ["render-ui", "main", { type: "stack", direction: "vertical", gap: "lg", align: "center", children: [
8798
8790
  { type: "icon", name: "check-circle", size: "lg" },
8799
8791
  { type: "typography", content: "Order Confirmed", variant: "h2" },
@@ -8849,7 +8841,7 @@ function stdCart(params) {
8849
8841
  closeEvent: "CLOSE",
8850
8842
  openEffects: [["fetch", entityName]],
8851
8843
  saveEvent: "SAVE",
8852
- saveEffects: [["persist", "create", entityName, "@payload.data"], ["fetch", entityName]]
8844
+ saveEffects: [["persist", "create", entityName, "@payload.data"]]
8853
8845
  }));
8854
8846
  const removeTrait = extractTrait(stdConfirmation({
8855
8847
  standalone: false,
@@ -8862,17 +8854,8 @@ function stdCart(params) {
8862
8854
  headerIcon: "trash-2",
8863
8855
  requestEvent: "REQUEST_REMOVE",
8864
8856
  confirmEvent: "CONFIRM_REMOVE",
8865
- confirmEffects: [["persist", "delete", entityName, "@payload.id"], ["fetch", entityName]],
8866
- emitOnConfirm: "CONFIRM_REMOVE"
8857
+ confirmEffects: [["persist", "delete", entityName, "@entity.pendingId"]]
8867
8858
  }));
8868
- const removeSm = removeTrait.stateMachine;
8869
- if (removeSm && "events" in removeSm) {
8870
- const events = removeSm.events;
8871
- const confirmEvt = events.find((e) => e.key === "CONFIRM_REMOVE");
8872
- if (confirmEvt && !confirmEvt.payload) {
8873
- confirmEvt.payload = [{ name: "id", type: "string", required: true }];
8874
- }
8875
- }
8876
8859
  const entity = makeEntity({ name: entityName, fields, persistence: c.persistence, collection: c.collection });
8877
8860
  const page = {
8878
8861
  name: c.pageName,
@@ -8973,7 +8956,7 @@ function stdDetail(params) {
8973
8956
  closeEvent: "CLOSE",
8974
8957
  openEffects: [["fetch", entityName]],
8975
8958
  saveEvent: "SAVE",
8976
- saveEffects: [["persist", "create", entityName, "@payload.data"], ["fetch", entityName]],
8959
+ saveEffects: [["persist", "create", entityName, "@payload.data"]],
8977
8960
  emitOnSave: "SAVE"
8978
8961
  }));
8979
8962
  const viewTrait = extractTrait(stdModal({
@@ -9140,7 +9123,7 @@ function stdInventory(params) {
9140
9123
  closeEvent: "CLOSE",
9141
9124
  openEffects: [["fetch", entityName]],
9142
9125
  saveEvent: "SAVE",
9143
- saveEffects: [["persist", "create", entityName, "@payload.data"], ["fetch", entityName]],
9126
+ saveEffects: [["persist", "create", entityName, "@payload.data"]],
9144
9127
  emitOnSave: "ITEM_ADDED"
9145
9128
  }));
9146
9129
  const useTrait = extractTrait(stdModal({
@@ -9156,7 +9139,7 @@ function stdInventory(params) {
9156
9139
  closeEvent: "CLOSE",
9157
9140
  openEffects: [["fetch", entityName, "@payload.id"]],
9158
9141
  saveEvent: "SAVE",
9159
- saveEffects: [["persist", "update", entityName, "@payload.data"], ["fetch", entityName]],
9142
+ saveEffects: [["persist", "update", entityName, "@payload.data"]],
9160
9143
  emitOnSave: "ITEM_USED"
9161
9144
  }));
9162
9145
  const dropTrait = extractTrait(stdConfirmation({
@@ -9170,7 +9153,7 @@ function stdInventory(params) {
9170
9153
  headerIcon: "trash-2",
9171
9154
  requestEvent: "DROP",
9172
9155
  confirmEvent: "CONFIRM_DROP",
9173
- confirmEffects: [["persist", "delete", entityName, "@payload.id"], ["fetch", entityName]],
9156
+ confirmEffects: [["persist", "delete", entityName, "@payload.id"]],
9174
9157
  emitOnConfirm: "CONFIRM_DROP"
9175
9158
  }));
9176
9159
  const dropSm = dropTrait.stateMachine;
@@ -9326,7 +9309,7 @@ function stdMessaging(params) {
9326
9309
  openEvent: "COMPOSE",
9327
9310
  closeEvent: "CLOSE",
9328
9311
  saveEvent: "SEND",
9329
- saveEffects: [["persist", "create", entityName, "@payload.data"], ["fetch", entityName]],
9312
+ saveEffects: [["persist", "create", entityName, "@payload.data"]],
9330
9313
  emitOnSave: "SEND"
9331
9314
  }));
9332
9315
  const viewTrait = extractTrait(stdModal({