@almadar/std 8.2.0 → 8.3.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 (187) hide show
  1. package/behaviors/registry/agent/atoms/std-agent-activity-log.orb +83 -83
  2. package/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +112 -112
  3. package/behaviors/registry/agent/atoms/std-agent-classifier.orb +107 -101
  4. package/behaviors/registry/agent/atoms/std-agent-completion.orb +131 -116
  5. package/behaviors/registry/agent/atoms/std-agent-context-window.orb +408 -402
  6. package/behaviors/registry/agent/atoms/std-agent-conversation.orb +82 -82
  7. package/behaviors/registry/agent/atoms/std-agent-memory.orb +81 -81
  8. package/behaviors/registry/agent/atoms/std-agent-provider.orb +124 -118
  9. package/behaviors/registry/agent/atoms/std-agent-search.orb +74 -74
  10. package/behaviors/registry/agent/atoms/std-agent-session.orb +129 -129
  11. package/behaviors/registry/agent/atoms/std-agent-step-progress.orb +202 -202
  12. package/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +312 -312
  13. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +59 -59
  14. package/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +206 -206
  15. package/behaviors/registry/agent/molecules/std-agent-learner.orb +186 -186
  16. package/behaviors/registry/agent/molecules/std-agent-planner.orb +136 -136
  17. package/behaviors/registry/agent/molecules/std-agent-rag.orb +116 -116
  18. package/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +206 -206
  19. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1131 -1131
  20. package/behaviors/registry/agent/organisms/std-agent-builder.orb +3061 -3061
  21. package/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2114 -2114
  22. package/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1007 -1007
  23. package/behaviors/registry/agent/organisms/std-agent-tutor.orb +735 -735
  24. package/behaviors/registry/app/organisms/std-api-gateway.orb +805 -805
  25. package/behaviors/registry/app/organisms/std-booking-system.orb +1178 -1178
  26. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +781 -781
  27. package/behaviors/registry/app/organisms/std-cms.orb +445 -445
  28. package/behaviors/registry/app/organisms/std-coding-academy.orb +368 -368
  29. package/behaviors/registry/app/organisms/std-crm.orb +781 -781
  30. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +1344 -1344
  31. package/behaviors/registry/app/organisms/std-ecommerce.orb +968 -968
  32. package/behaviors/registry/app/organisms/std-finance-tracker.orb +626 -626
  33. package/behaviors/registry/app/organisms/std-healthcare.orb +1286 -1286
  34. package/behaviors/registry/app/organisms/std-helpdesk.orb +636 -636
  35. package/behaviors/registry/app/organisms/std-hr-portal.orb +1160 -1160
  36. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +828 -828
  37. package/behaviors/registry/app/organisms/std-lms.orb +863 -863
  38. package/behaviors/registry/app/organisms/std-project-manager.orb +686 -686
  39. package/behaviors/registry/app/organisms/std-realtime-chat.orb +739 -739
  40. package/behaviors/registry/app/organisms/std-social-feed.orb +239 -239
  41. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +661 -661
  42. package/behaviors/registry/core/atoms/std-browse.orb +60 -60
  43. package/behaviors/registry/core/atoms/std-cache-aside.orb +92 -92
  44. package/behaviors/registry/core/atoms/std-calendar.orb +55 -55
  45. package/behaviors/registry/core/atoms/std-circuit-breaker.orb +176 -176
  46. package/behaviors/registry/core/atoms/std-confirmation.orb +24 -42
  47. package/behaviors/registry/core/atoms/std-display.orb +371 -371
  48. package/behaviors/registry/core/atoms/std-drawer.orb +56 -56
  49. package/behaviors/registry/core/atoms/std-filter.orb +46 -46
  50. package/behaviors/registry/core/atoms/std-gallery.orb +50 -50
  51. package/behaviors/registry/core/atoms/std-modal.orb +14 -32
  52. package/behaviors/registry/core/atoms/std-pagination.orb +45 -45
  53. package/behaviors/registry/core/atoms/std-push.orb +42 -42
  54. package/behaviors/registry/core/atoms/std-rate-limiter.orb +172 -172
  55. package/behaviors/registry/core/atoms/std-related.orb +36 -36
  56. package/behaviors/registry/core/atoms/std-search.orb +71 -71
  57. package/behaviors/registry/core/atoms/std-selection.orb +89 -89
  58. package/behaviors/registry/core/atoms/std-tabs.orb +49 -49
  59. package/behaviors/registry/core/molecules/std-cart.orb +54 -54
  60. package/behaviors/registry/core/molecules/std-filtered-list.orb +5 -5
  61. package/behaviors/registry/core/molecules/std-form-advanced.orb +116 -116
  62. package/behaviors/registry/core/molecules/std-list.orb +60 -60
  63. package/behaviors/registry/core/molecules/std-wizard-form.orb +140 -140
  64. package/behaviors/registry/game/atoms/std-collision.orb +143 -143
  65. package/behaviors/registry/game/atoms/std-combat.orb +80 -80
  66. package/behaviors/registry/game/atoms/std-dialogue-box.orb +26 -26
  67. package/behaviors/registry/game/atoms/std-game-canvas2d.orb +43 -43
  68. package/behaviors/registry/game/atoms/std-gameflow.orb +35 -35
  69. package/behaviors/registry/game/atoms/std-movement.orb +300 -300
  70. package/behaviors/registry/game/atoms/std-overworld.orb +63 -63
  71. package/behaviors/registry/game/atoms/std-physics2d.orb +76 -76
  72. package/behaviors/registry/game/atoms/std-quest.orb +124 -124
  73. package/behaviors/registry/game/atoms/std-timer.orb +251 -260
  74. package/behaviors/registry/game/organisms/std-arcade-game.orb +149 -149
  75. package/behaviors/registry/game/organisms/std-logic-training.orb +77 -77
  76. package/behaviors/registry/game/organisms/std-platformer-app.orb +230 -230
  77. package/behaviors/registry/game/organisms/std-puzzle-app.orb +105 -105
  78. package/behaviors/registry/game/organisms/std-rpg-game.orb +350 -350
  79. package/behaviors/registry/game/organisms/std-stem-lab.orb +377 -377
  80. package/behaviors/registry/game/organisms/std-strategy-game.orb +529 -529
  81. package/behaviors/registry/probes/molecules/std-source-scope-probe.orb +12 -12
  82. package/behaviors/registry/service/atoms/std-service-custom-bearer.orb +70 -70
  83. package/behaviors/registry/service/atoms/std-service-email.orb +84 -84
  84. package/behaviors/registry/service/atoms/std-service-github.orb +99 -99
  85. package/behaviors/registry/service/atoms/std-service-llm.orb +115 -115
  86. package/behaviors/registry/service/atoms/std-service-oauth.orb +116 -116
  87. package/behaviors/registry/service/atoms/std-service-redis.orb +95 -95
  88. package/behaviors/registry/service/atoms/std-service-storage.orb +105 -105
  89. package/behaviors/registry/service/atoms/std-service-stripe.orb +98 -98
  90. package/behaviors/registry/service/atoms/std-service-twilio.orb +99 -99
  91. package/behaviors/registry/service/atoms/std-service-youtube.orb +115 -115
  92. package/behaviors/registry/service/organisms/std-service-marketplace.orb +917 -917
  93. package/behaviors/registry/service/organisms/std-service-research-assistant.orb +933 -933
  94. package/dist/behaviors/registry/agent/atoms/std-agent-activity-log.orb +83 -83
  95. package/dist/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +112 -112
  96. package/dist/behaviors/registry/agent/atoms/std-agent-classifier.orb +107 -101
  97. package/dist/behaviors/registry/agent/atoms/std-agent-completion.orb +131 -116
  98. package/dist/behaviors/registry/agent/atoms/std-agent-context-window.orb +408 -402
  99. package/dist/behaviors/registry/agent/atoms/std-agent-conversation.orb +82 -82
  100. package/dist/behaviors/registry/agent/atoms/std-agent-memory.orb +81 -81
  101. package/dist/behaviors/registry/agent/atoms/std-agent-provider.orb +124 -118
  102. package/dist/behaviors/registry/agent/atoms/std-agent-search.orb +74 -74
  103. package/dist/behaviors/registry/agent/atoms/std-agent-session.orb +129 -129
  104. package/dist/behaviors/registry/agent/atoms/std-agent-step-progress.orb +202 -202
  105. package/dist/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +312 -312
  106. package/dist/behaviors/registry/agent/atoms/std-agent-tool-call.orb +59 -59
  107. package/dist/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +206 -206
  108. package/dist/behaviors/registry/agent/molecules/std-agent-learner.orb +186 -186
  109. package/dist/behaviors/registry/agent/molecules/std-agent-planner.orb +136 -136
  110. package/dist/behaviors/registry/agent/molecules/std-agent-rag.orb +116 -116
  111. package/dist/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +206 -206
  112. package/dist/behaviors/registry/agent/organisms/std-agent-assistant.orb +1131 -1131
  113. package/dist/behaviors/registry/agent/organisms/std-agent-builder.orb +3061 -3061
  114. package/dist/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2114 -2114
  115. package/dist/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1007 -1007
  116. package/dist/behaviors/registry/agent/organisms/std-agent-tutor.orb +735 -735
  117. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +805 -805
  118. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +1178 -1178
  119. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +781 -781
  120. package/dist/behaviors/registry/app/organisms/std-cms.orb +445 -445
  121. package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +368 -368
  122. package/dist/behaviors/registry/app/organisms/std-crm.orb +781 -781
  123. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +1344 -1344
  124. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +968 -968
  125. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +626 -626
  126. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +1286 -1286
  127. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +636 -636
  128. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +1160 -1160
  129. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +828 -828
  130. package/dist/behaviors/registry/app/organisms/std-lms.orb +863 -863
  131. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +686 -686
  132. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +739 -739
  133. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +239 -239
  134. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +661 -661
  135. package/dist/behaviors/registry/core/atoms/std-browse.orb +60 -60
  136. package/dist/behaviors/registry/core/atoms/std-cache-aside.orb +92 -92
  137. package/dist/behaviors/registry/core/atoms/std-calendar.orb +55 -55
  138. package/dist/behaviors/registry/core/atoms/std-circuit-breaker.orb +176 -176
  139. package/dist/behaviors/registry/core/atoms/std-confirmation.orb +24 -42
  140. package/dist/behaviors/registry/core/atoms/std-display.orb +371 -371
  141. package/dist/behaviors/registry/core/atoms/std-drawer.orb +56 -56
  142. package/dist/behaviors/registry/core/atoms/std-filter.orb +46 -46
  143. package/dist/behaviors/registry/core/atoms/std-gallery.orb +50 -50
  144. package/dist/behaviors/registry/core/atoms/std-modal.orb +14 -32
  145. package/dist/behaviors/registry/core/atoms/std-pagination.orb +45 -45
  146. package/dist/behaviors/registry/core/atoms/std-push.orb +42 -42
  147. package/dist/behaviors/registry/core/atoms/std-rate-limiter.orb +172 -172
  148. package/dist/behaviors/registry/core/atoms/std-related.orb +36 -36
  149. package/dist/behaviors/registry/core/atoms/std-search.orb +71 -71
  150. package/dist/behaviors/registry/core/atoms/std-selection.orb +89 -89
  151. package/dist/behaviors/registry/core/atoms/std-tabs.orb +49 -49
  152. package/dist/behaviors/registry/core/molecules/std-cart.orb +54 -54
  153. package/dist/behaviors/registry/core/molecules/std-filtered-list.orb +5 -5
  154. package/dist/behaviors/registry/core/molecules/std-form-advanced.orb +116 -116
  155. package/dist/behaviors/registry/core/molecules/std-list.orb +60 -60
  156. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +140 -140
  157. package/dist/behaviors/registry/game/atoms/std-collision.orb +143 -143
  158. package/dist/behaviors/registry/game/atoms/std-combat.orb +80 -80
  159. package/dist/behaviors/registry/game/atoms/std-dialogue-box.orb +26 -26
  160. package/dist/behaviors/registry/game/atoms/std-game-canvas2d.orb +43 -43
  161. package/dist/behaviors/registry/game/atoms/std-gameflow.orb +35 -35
  162. package/dist/behaviors/registry/game/atoms/std-movement.orb +300 -300
  163. package/dist/behaviors/registry/game/atoms/std-overworld.orb +63 -63
  164. package/dist/behaviors/registry/game/atoms/std-physics2d.orb +76 -76
  165. package/dist/behaviors/registry/game/atoms/std-quest.orb +124 -124
  166. package/dist/behaviors/registry/game/atoms/std-timer.orb +251 -260
  167. package/dist/behaviors/registry/game/organisms/std-arcade-game.orb +149 -149
  168. package/dist/behaviors/registry/game/organisms/std-logic-training.orb +77 -77
  169. package/dist/behaviors/registry/game/organisms/std-platformer-app.orb +230 -230
  170. package/dist/behaviors/registry/game/organisms/std-puzzle-app.orb +105 -105
  171. package/dist/behaviors/registry/game/organisms/std-rpg-game.orb +350 -350
  172. package/dist/behaviors/registry/game/organisms/std-stem-lab.orb +377 -377
  173. package/dist/behaviors/registry/game/organisms/std-strategy-game.orb +529 -529
  174. package/dist/behaviors/registry/probes/molecules/std-source-scope-probe.orb +12 -12
  175. package/dist/behaviors/registry/service/atoms/std-service-custom-bearer.orb +70 -70
  176. package/dist/behaviors/registry/service/atoms/std-service-email.orb +84 -84
  177. package/dist/behaviors/registry/service/atoms/std-service-github.orb +99 -99
  178. package/dist/behaviors/registry/service/atoms/std-service-llm.orb +115 -115
  179. package/dist/behaviors/registry/service/atoms/std-service-oauth.orb +116 -116
  180. package/dist/behaviors/registry/service/atoms/std-service-redis.orb +95 -95
  181. package/dist/behaviors/registry/service/atoms/std-service-storage.orb +105 -105
  182. package/dist/behaviors/registry/service/atoms/std-service-stripe.orb +98 -98
  183. package/dist/behaviors/registry/service/atoms/std-service-twilio.orb +99 -99
  184. package/dist/behaviors/registry/service/atoms/std-service-youtube.orb +115 -115
  185. package/dist/behaviors/registry/service/organisms/std-service-marketplace.orb +917 -917
  186. package/dist/behaviors/registry/service/organisms/std-service-research-assistant.orb +933 -933
  187. package/package.json +1 -1
@@ -571,8 +571,8 @@
571
571
  "Article",
572
572
  {
573
573
  "emit": {
574
- "failure": "ArticleLoadFailed",
575
- "success": "ArticleLoaded"
574
+ "success": "ArticleLoaded",
575
+ "failure": "ArticleLoadFailed"
576
576
  }
577
577
  }
578
578
  ],
@@ -580,22 +580,22 @@
580
580
  "render-ui",
581
581
  "main",
582
582
  {
583
- "gap": "md",
584
- "className": "py-12",
585
- "direction": "vertical",
586
583
  "align": "center",
587
- "type": "stack",
588
584
  "children": [
589
585
  {
590
586
  "type": "spinner"
591
587
  },
592
588
  {
593
589
  "color": "muted",
594
- "variant": "caption",
595
590
  "type": "typography",
596
- "content": "Loading…"
591
+ "content": "Loading…",
592
+ "variant": "caption"
597
593
  }
598
- ]
594
+ ],
595
+ "type": "stack",
596
+ "direction": "vertical",
597
+ "className": "py-12",
598
+ "gap": "md"
599
599
  }
600
600
  ]
601
601
  ]
@@ -616,120 +616,120 @@
616
616
  "href": "/articles"
617
617
  },
618
618
  {
619
+ "href": "/media",
619
620
  "icon": "image",
620
- "label": "Media",
621
- "href": "/media"
621
+ "label": "Media"
622
622
  },
623
623
  {
624
+ "icon": "folder",
624
625
  "href": "/categories",
625
- "label": "Categories",
626
- "icon": "folder"
626
+ "label": "Categories"
627
627
  }
628
628
  ],
629
+ "type": "dashboard-layout",
630
+ "appName": "CmsApp",
629
631
  "children": [
630
632
  {
631
- "type": "stack",
632
- "gap": "lg",
633
+ "className": "max-w-5xl mx-auto w-full",
633
634
  "children": [
634
635
  {
635
- "gap": "md",
636
- "direction": "horizontal",
637
- "justify": "between",
638
- "type": "stack",
636
+ "align": "center",
639
637
  "children": [
640
638
  {
641
- "direction": "horizontal",
642
639
  "gap": "sm",
640
+ "type": "stack",
643
641
  "children": [
644
642
  {
645
- "type": "icon",
646
- "name": "file-text"
643
+ "name": "file-text",
644
+ "type": "icon"
647
645
  },
648
646
  {
649
- "type": "typography",
647
+ "variant": "h2",
650
648
  "content": "Articles",
651
- "variant": "h2"
649
+ "type": "typography"
652
650
  }
653
651
  ],
654
652
  "align": "center",
655
- "type": "stack"
653
+ "direction": "horizontal"
656
654
  },
657
655
  {
656
+ "direction": "horizontal",
658
657
  "children": [
659
658
  {
660
- "icon": "plus",
661
- "action": "CREATE",
662
- "label": "Create Article",
663
659
  "type": "button",
664
- "variant": "primary"
660
+ "variant": "primary",
661
+ "label": "Create Article",
662
+ "icon": "plus",
663
+ "action": "CREATE"
665
664
  }
666
665
  ],
667
666
  "type": "stack",
668
- "direction": "horizontal",
669
667
  "gap": "sm"
670
668
  }
671
669
  ],
672
- "align": "center"
670
+ "gap": "md",
671
+ "justify": "between",
672
+ "type": "stack",
673
+ "direction": "horizontal"
673
674
  },
674
675
  {
675
676
  "type": "divider"
676
677
  },
677
678
  {
678
- "variant": "card",
679
- "type": "data-list",
680
- "fields": [],
681
679
  "itemActions": [
682
680
  {
683
- "variant": "ghost",
684
681
  "label": "View",
685
- "event": "VIEW"
682
+ "event": "VIEW",
683
+ "variant": "ghost"
686
684
  },
687
685
  {
688
- "event": "EDIT",
689
686
  "label": "Edit",
687
+ "event": "EDIT",
690
688
  "variant": "ghost"
691
689
  },
692
690
  {
693
- "label": "Delete",
691
+ "event": "DELETE",
694
692
  "variant": "danger",
695
- "event": "DELETE"
693
+ "label": "Delete"
696
694
  }
697
695
  ],
696
+ "type": "data-list",
698
697
  "entity": "@payload.data",
698
+ "variant": "card",
699
+ "gap": "sm",
699
700
  "columns": [
700
701
  {
701
- "icon": "file-text",
702
+ "variant": "h3",
702
703
  "name": "title",
703
- "variant": "h3"
704
+ "icon": "file-text"
704
705
  },
705
706
  {
706
707
  "name": "status",
707
708
  "variant": "badge"
708
709
  },
709
710
  {
710
- "variant": "body",
711
- "name": "author"
711
+ "name": "author",
712
+ "variant": "body"
712
713
  },
713
714
  {
714
715
  "variant": "caption",
715
716
  "name": "slug"
716
717
  },
717
718
  {
718
- "name": "publishedAt",
719
- "format": "date",
720
719
  "label": "Published",
721
- "variant": "caption"
720
+ "format": "date",
721
+ "variant": "caption",
722
+ "name": "publishedAt"
722
723
  }
723
724
  ],
724
- "gap": "sm"
725
+ "fields": []
725
726
  }
726
727
  ],
728
+ "type": "stack",
727
729
  "direction": "vertical",
728
- "className": "max-w-5xl mx-auto w-full"
730
+ "gap": "lg"
729
731
  }
730
- ],
731
- "type": "dashboard-layout",
732
- "appName": "CmsApp"
732
+ ]
733
733
  }
734
734
  ]
735
735
  ]
@@ -743,36 +743,36 @@
743
743
  "render-ui",
744
744
  "main",
745
745
  {
746
+ "type": "stack",
746
747
  "className": "py-12",
747
- "align": "center",
748
+ "direction": "vertical",
749
+ "gap": "md",
748
750
  "children": [
749
751
  {
750
- "color": "destructive",
751
752
  "name": "alert-triangle",
753
+ "color": "destructive",
752
754
  "type": "icon"
753
755
  },
754
756
  {
755
- "content": "Failed to load article",
756
757
  "variant": "h3",
757
- "type": "typography"
758
+ "type": "typography",
759
+ "content": "Failed to load article"
758
760
  },
759
761
  {
760
- "content": "@payload.error",
761
- "type": "typography",
762
762
  "color": "muted",
763
+ "type": "typography",
764
+ "content": "@payload.error",
763
765
  "variant": "body"
764
766
  },
765
767
  {
766
768
  "type": "button",
769
+ "label": "Retry",
767
770
  "variant": "primary",
768
- "icon": "rotate-ccw",
769
771
  "action": "INIT",
770
- "label": "Retry"
772
+ "icon": "rotate-ccw"
771
773
  }
772
774
  ],
773
- "type": "stack",
774
- "direction": "vertical",
775
- "gap": "md"
775
+ "align": "center"
776
776
  }
777
777
  ]
778
778
  ]
@@ -965,6 +965,9 @@
965
965
  "render-ui",
966
966
  "modal",
967
967
  {
968
+ "type": "stack",
969
+ "direction": "vertical",
970
+ "gap": "md",
968
971
  "children": [
969
972
  {
970
973
  "children": [
@@ -973,9 +976,9 @@
973
976
  "name": "plus-circle"
974
977
  },
975
978
  {
976
- "type": "typography",
977
979
  "content": "Create Article",
978
- "variant": "h3"
980
+ "variant": "h3",
981
+ "type": "typography"
979
982
  }
980
983
  ],
981
984
  "gap": "sm",
@@ -987,8 +990,6 @@
987
990
  },
988
991
  {
989
992
  "type": "form-section",
990
- "mode": "create",
991
- "submitEvent": "SAVE",
992
993
  "cancelEvent": "CLOSE",
993
994
  "fields": [
994
995
  "title",
@@ -997,12 +998,11 @@
997
998
  "author",
998
999
  "status",
999
1000
  "publishedAt"
1000
- ]
1001
+ ],
1002
+ "mode": "create",
1003
+ "submitEvent": "SAVE"
1001
1004
  }
1002
- ],
1003
- "direction": "vertical",
1004
- "type": "stack",
1005
- "gap": "md"
1005
+ ]
1006
1006
  }
1007
1007
  ]
1008
1008
  ]
@@ -1255,11 +1255,11 @@
1255
1255
  "fetch",
1256
1256
  "Article",
1257
1257
  {
1258
- "id": "@payload.id",
1259
1258
  "emit": {
1260
- "success": "ArticleLoaded",
1261
- "failure": "ArticleLoadFailed"
1262
- }
1259
+ "failure": "ArticleLoadFailed",
1260
+ "success": "ArticleLoaded"
1261
+ },
1262
+ "id": "@payload.id"
1263
1263
  }
1264
1264
  ],
1265
1265
  [
@@ -1267,32 +1267,30 @@
1267
1267
  "modal",
1268
1268
  {
1269
1269
  "gap": "md",
1270
- "direction": "vertical",
1271
1270
  "type": "stack",
1271
+ "direction": "vertical",
1272
1272
  "children": [
1273
1273
  {
1274
+ "type": "stack",
1274
1275
  "gap": "sm",
1275
- "direction": "horizontal",
1276
1276
  "children": [
1277
1277
  {
1278
1278
  "name": "edit",
1279
1279
  "type": "icon"
1280
1280
  },
1281
1281
  {
1282
- "content": "Edit Article",
1283
1282
  "variant": "h3",
1284
- "type": "typography"
1283
+ "type": "typography",
1284
+ "content": "Edit Article"
1285
1285
  }
1286
1286
  ],
1287
- "type": "stack"
1287
+ "direction": "horizontal"
1288
1288
  },
1289
1289
  {
1290
1290
  "type": "divider"
1291
1291
  },
1292
1292
  {
1293
1293
  "type": "form-section",
1294
- "submitEvent": "SAVE",
1295
- "mode": "edit",
1296
1294
  "fields": [
1297
1295
  "title",
1298
1296
  "slug",
@@ -1302,6 +1300,8 @@
1302
1300
  "publishedAt"
1303
1301
  ],
1304
1302
  "entity": "@payload.row",
1303
+ "mode": "edit",
1304
+ "submitEvent": "SAVE",
1305
1305
  "cancelEvent": "CLOSE"
1306
1306
  }
1307
1307
  ]
@@ -1345,8 +1345,8 @@
1345
1345
  "@payload.data",
1346
1346
  {
1347
1347
  "emit": {
1348
- "success": "ArticleUpdated",
1349
- "failure": "ArticleUpdateFailed"
1348
+ "failure": "ArticleUpdateFailed",
1349
+ "success": "ArticleUpdated"
1350
1350
  }
1351
1351
  }
1352
1352
  ],
@@ -1491,25 +1491,25 @@
1491
1491
  "fetch",
1492
1492
  "Article",
1493
1493
  {
1494
+ "id": "@payload.id",
1494
1495
  "emit": {
1495
1496
  "success": "ArticleLoaded",
1496
1497
  "failure": "ArticleLoadFailed"
1497
- },
1498
- "id": "@payload.id"
1498
+ }
1499
1499
  }
1500
1500
  ],
1501
1501
  [
1502
1502
  "render-ui",
1503
1503
  "modal",
1504
1504
  {
1505
- "gap": "md",
1506
1505
  "type": "stack",
1507
1506
  "direction": "vertical",
1507
+ "gap": "md",
1508
1508
  "children": [
1509
1509
  {
1510
+ "type": "stack",
1510
1511
  "direction": "horizontal",
1511
1512
  "align": "center",
1512
- "type": "stack",
1513
1513
  "gap": "sm",
1514
1514
  "children": [
1515
1515
  {
@@ -1532,54 +1532,52 @@
1532
1532
  "direction": "horizontal",
1533
1533
  "children": [
1534
1534
  {
1535
+ "type": "typography",
1535
1536
  "content": "Title",
1536
- "variant": "caption",
1537
- "type": "typography"
1537
+ "variant": "caption"
1538
1538
  },
1539
1539
  {
1540
+ "content": "@entity.title",
1540
1541
  "type": "typography",
1541
- "variant": "body",
1542
- "content": "@entity.title"
1542
+ "variant": "body"
1543
1543
  }
1544
1544
  ]
1545
1545
  },
1546
1546
  {
1547
1547
  "type": "stack",
1548
+ "gap": "md",
1548
1549
  "direction": "horizontal",
1549
1550
  "children": [
1550
1551
  {
1551
- "variant": "caption",
1552
1552
  "content": "Slug",
1553
- "type": "typography"
1553
+ "type": "typography",
1554
+ "variant": "caption"
1554
1555
  },
1555
1556
  {
1556
- "variant": "body",
1557
1557
  "content": "@entity.slug",
1558
+ "variant": "body",
1558
1559
  "type": "typography"
1559
1560
  }
1560
- ],
1561
- "gap": "md"
1561
+ ]
1562
1562
  },
1563
1563
  {
1564
- "type": "stack",
1565
1564
  "gap": "md",
1565
+ "type": "stack",
1566
1566
  "direction": "horizontal",
1567
1567
  "children": [
1568
1568
  {
1569
- "variant": "caption",
1569
+ "content": "Content",
1570
1570
  "type": "typography",
1571
- "content": "Content"
1571
+ "variant": "caption"
1572
1572
  },
1573
1573
  {
1574
- "content": "@entity.content",
1575
1574
  "type": "typography",
1576
- "variant": "body"
1575
+ "variant": "body",
1576
+ "content": "@entity.content"
1577
1577
  }
1578
1578
  ]
1579
1579
  },
1580
1580
  {
1581
- "direction": "horizontal",
1582
- "type": "stack",
1583
1581
  "gap": "md",
1584
1582
  "children": [
1585
1583
  {
@@ -1588,37 +1586,39 @@
1588
1586
  "variant": "caption"
1589
1587
  },
1590
1588
  {
1589
+ "type": "typography",
1591
1590
  "variant": "body",
1592
- "content": "@entity.author",
1593
- "type": "typography"
1591
+ "content": "@entity.author"
1594
1592
  }
1595
- ]
1593
+ ],
1594
+ "type": "stack",
1595
+ "direction": "horizontal"
1596
1596
  },
1597
1597
  {
1598
- "direction": "horizontal",
1599
- "gap": "md",
1600
- "type": "stack",
1601
1598
  "children": [
1602
1599
  {
1603
- "type": "typography",
1600
+ "variant": "caption",
1604
1601
  "content": "Status",
1605
- "variant": "caption"
1602
+ "type": "typography"
1606
1603
  },
1607
1604
  {
1605
+ "variant": "body",
1608
1606
  "content": "@entity.status",
1609
- "type": "typography",
1610
- "variant": "body"
1607
+ "type": "typography"
1611
1608
  }
1612
- ]
1609
+ ],
1610
+ "type": "stack",
1611
+ "gap": "md",
1612
+ "direction": "horizontal"
1613
1613
  },
1614
1614
  {
1615
+ "gap": "md",
1615
1616
  "type": "stack",
1616
- "direction": "horizontal",
1617
1617
  "children": [
1618
1618
  {
1619
- "type": "typography",
1620
1619
  "variant": "caption",
1621
- "content": "Published At"
1620
+ "content": "Published At",
1621
+ "type": "typography"
1622
1622
  },
1623
1623
  {
1624
1624
  "variant": "body",
@@ -1626,31 +1626,31 @@
1626
1626
  "content": "@entity.publishedAt"
1627
1627
  }
1628
1628
  ],
1629
- "gap": "md"
1629
+ "direction": "horizontal"
1630
1630
  },
1631
1631
  {
1632
1632
  "type": "divider"
1633
1633
  },
1634
1634
  {
1635
- "type": "stack",
1636
- "direction": "horizontal",
1635
+ "justify": "end",
1637
1636
  "children": [
1638
1637
  {
1639
- "variant": "primary",
1640
1638
  "type": "button",
1639
+ "variant": "primary",
1641
1640
  "action": "EDIT",
1642
1641
  "label": "Edit",
1643
1642
  "icon": "edit"
1644
1643
  },
1645
1644
  {
1646
1645
  "label": "Close",
1647
- "action": "CLOSE",
1646
+ "variant": "ghost",
1648
1647
  "type": "button",
1649
- "variant": "ghost"
1648
+ "action": "CLOSE"
1650
1649
  }
1651
1650
  ],
1651
+ "type": "stack",
1652
1652
  "gap": "sm",
1653
- "justify": "end"
1653
+ "direction": "horizontal"
1654
1654
  }
1655
1655
  ]
1656
1656
  }
@@ -1887,68 +1887,68 @@
1887
1887
  "fetch",
1888
1888
  "Article",
1889
1889
  {
1890
- "id": "@payload.id",
1891
1890
  "emit": {
1892
1891
  "success": "ArticleLoaded",
1893
1892
  "failure": "ArticleLoadFailed"
1894
- }
1893
+ },
1894
+ "id": "@payload.id"
1895
1895
  }
1896
1896
  ],
1897
1897
  [
1898
1898
  "render-ui",
1899
1899
  "modal",
1900
1900
  {
1901
+ "direction": "vertical",
1902
+ "type": "stack",
1903
+ "gap": "md",
1901
1904
  "children": [
1902
1905
  {
1903
- "direction": "horizontal",
1904
1906
  "gap": "sm",
1907
+ "direction": "horizontal",
1908
+ "align": "center",
1905
1909
  "type": "stack",
1906
1910
  "children": [
1907
1911
  {
1908
- "type": "icon",
1909
- "name": "alert-triangle"
1912
+ "name": "alert-triangle",
1913
+ "type": "icon"
1910
1914
  },
1911
1915
  {
1912
- "content": "Delete Article",
1913
1916
  "type": "typography",
1914
- "variant": "h3"
1917
+ "variant": "h3",
1918
+ "content": "Delete Article"
1915
1919
  }
1916
- ],
1917
- "align": "center"
1920
+ ]
1918
1921
  },
1919
1922
  {
1920
1923
  "type": "divider"
1921
1924
  },
1922
1925
  {
1926
+ "message": "This action cannot be undone.",
1923
1927
  "type": "alert",
1924
- "variant": "error",
1925
- "message": "This action cannot be undone."
1928
+ "variant": "error"
1926
1929
  },
1927
1930
  {
1928
- "direction": "horizontal",
1929
- "type": "stack",
1930
1931
  "gap": "sm",
1932
+ "direction": "horizontal",
1931
1933
  "justify": "end",
1934
+ "type": "stack",
1932
1935
  "children": [
1933
1936
  {
1934
- "type": "button",
1935
1937
  "label": "Cancel",
1936
1938
  "variant": "ghost",
1939
+ "type": "button",
1937
1940
  "action": "CANCEL"
1938
1941
  },
1939
1942
  {
1940
- "icon": "check",
1943
+ "variant": "danger",
1941
1944
  "action": "CONFIRM_DELETE",
1945
+ "type": "button",
1942
1946
  "label": "Delete",
1943
- "variant": "danger",
1944
- "type": "button"
1947
+ "icon": "check"
1945
1948
  }
1946
1949
  ]
1947
1950
  }
1948
- ],
1949
- "gap": "md",
1950
- "direction": "vertical",
1951
- "type": "stack"
1951
+ ]
1952
1952
  }
1953
1953
  ]
1954
1954
  ]
@@ -1965,8 +1965,8 @@
1965
1965
  "@entity.pendingId",
1966
1966
  {
1967
1967
  "emit": {
1968
- "success": "ArticleDeleted",
1969
- "failure": "ArticleDeleteFailed"
1968
+ "failure": "ArticleDeleteFailed",
1969
+ "success": "ArticleDeleted"
1970
1970
  }
1971
1971
  }
1972
1972
  ],
@@ -2206,22 +2206,22 @@
2206
2206
  "render-ui",
2207
2207
  "main",
2208
2208
  {
2209
+ "gap": "md",
2210
+ "align": "center",
2209
2211
  "children": [
2210
2212
  {
2211
2213
  "type": "spinner"
2212
2214
  },
2213
2215
  {
2214
- "type": "typography",
2215
2216
  "variant": "caption",
2216
- "color": "muted",
2217
- "content": "Loading…"
2217
+ "type": "typography",
2218
+ "content": "Loading…",
2219
+ "color": "muted"
2218
2220
  }
2219
2221
  ],
2220
- "className": "py-12",
2221
- "direction": "vertical",
2222
2222
  "type": "stack",
2223
- "gap": "md",
2224
- "align": "center"
2223
+ "className": "py-12",
2224
+ "direction": "vertical"
2225
2225
  }
2226
2226
  ]
2227
2227
  ]
@@ -2235,20 +2235,37 @@
2235
2235
  "render-ui",
2236
2236
  "main",
2237
2237
  {
2238
- "children": [
2238
+ "navItems": [
2239
2239
  {
2240
- "className": "max-w-5xl mx-auto w-full",
2241
- "children": [
2242
- {
2243
- "align": "center",
2244
- "direction": "horizontal",
2245
- "gap": "md",
2246
- "type": "stack",
2240
+ "href": "/articles",
2241
+ "label": "Articles",
2242
+ "icon": "file-text"
2243
+ },
2244
+ {
2245
+ "href": "/media",
2246
+ "label": "Media",
2247
+ "icon": "image"
2248
+ },
2249
+ {
2250
+ "icon": "folder",
2251
+ "label": "Categories",
2252
+ "href": "/categories"
2253
+ }
2254
+ ],
2255
+ "children": [
2256
+ {
2257
+ "gap": "lg",
2258
+ "type": "stack",
2259
+ "direction": "vertical",
2260
+ "className": "max-w-5xl mx-auto w-full",
2261
+ "children": [
2262
+ {
2247
2263
  "children": [
2248
2264
  {
2249
- "align": "center",
2250
- "direction": "horizontal",
2251
2265
  "gap": "sm",
2266
+ "type": "stack",
2267
+ "direction": "horizontal",
2268
+ "align": "center",
2252
2269
  "children": [
2253
2270
  {
2254
2271
  "type": "icon",
@@ -2259,46 +2276,49 @@
2259
2276
  "content": "Media Library",
2260
2277
  "type": "typography"
2261
2278
  }
2262
- ],
2263
- "type": "stack"
2279
+ ]
2264
2280
  },
2265
2281
  {
2266
- "gap": "sm",
2267
- "direction": "horizontal",
2268
2282
  "children": [
2269
2283
  {
2270
- "action": "CREATE",
2271
- "variant": "primary",
2272
2284
  "icon": "plus",
2273
- "label": "Create MediaAsset",
2274
- "type": "button"
2285
+ "type": "button",
2286
+ "variant": "primary",
2287
+ "action": "CREATE",
2288
+ "label": "Create MediaAsset"
2275
2289
  }
2276
2290
  ],
2277
- "type": "stack"
2291
+ "gap": "sm",
2292
+ "type": "stack",
2293
+ "direction": "horizontal"
2278
2294
  }
2279
2295
  ],
2280
- "justify": "between"
2296
+ "justify": "between",
2297
+ "type": "stack",
2298
+ "direction": "horizontal",
2299
+ "gap": "md",
2300
+ "align": "center"
2281
2301
  },
2282
2302
  {
2283
2303
  "type": "divider"
2284
2304
  },
2285
2305
  {
2306
+ "type": "data-grid",
2286
2307
  "entity": "@payload.data",
2308
+ "fields": [],
2287
2309
  "itemActions": [
2288
2310
  {
2289
2311
  "label": "View",
2290
- "event": "VIEW",
2291
- "variant": "ghost"
2312
+ "variant": "ghost",
2313
+ "event": "VIEW"
2292
2314
  }
2293
2315
  ],
2294
- "cols": 3.0,
2295
- "fields": [],
2296
2316
  "columns": [
2297
2317
  {
2298
2318
  "name": "fileName",
2299
- "icon": "image",
2300
2319
  "label": "File",
2301
- "variant": "h3"
2320
+ "variant": "h3",
2321
+ "icon": "image"
2302
2322
  },
2303
2323
  {
2304
2324
  "label": "Type",
@@ -2306,45 +2326,25 @@
2306
2326
  "name": "fileType"
2307
2327
  },
2308
2328
  {
2309
- "label": "Size",
2310
- "name": "fileSize",
2311
2329
  "format": "number",
2312
- "variant": "body"
2330
+ "variant": "body",
2331
+ "label": "Size",
2332
+ "name": "fileSize"
2313
2333
  },
2314
2334
  {
2315
- "label": "Alt Text",
2335
+ "variant": "caption",
2316
2336
  "name": "altText",
2317
- "variant": "caption"
2337
+ "label": "Alt Text"
2318
2338
  }
2319
2339
  ],
2320
- "gap": "md",
2321
- "type": "data-grid"
2340
+ "cols": 3.0,
2341
+ "gap": "md"
2322
2342
  }
2323
- ],
2324
- "type": "stack",
2325
- "direction": "vertical",
2326
- "gap": "lg"
2343
+ ]
2327
2344
  }
2328
2345
  ],
2329
2346
  "type": "dashboard-layout",
2330
- "appName": "CmsApp",
2331
- "navItems": [
2332
- {
2333
- "href": "/articles",
2334
- "label": "Articles",
2335
- "icon": "file-text"
2336
- },
2337
- {
2338
- "icon": "image",
2339
- "label": "Media",
2340
- "href": "/media"
2341
- },
2342
- {
2343
- "icon": "folder",
2344
- "label": "Categories",
2345
- "href": "/categories"
2346
- }
2347
- ]
2347
+ "appName": "CmsApp"
2348
2348
  }
2349
2349
  ]
2350
2350
  ]
@@ -2358,36 +2358,36 @@
2358
2358
  "render-ui",
2359
2359
  "main",
2360
2360
  {
2361
- "type": "stack",
2361
+ "gap": "md",
2362
+ "className": "py-12",
2363
+ "direction": "vertical",
2364
+ "align": "center",
2362
2365
  "children": [
2363
2366
  {
2364
2367
  "name": "alert-triangle",
2365
- "color": "destructive",
2366
- "type": "icon"
2368
+ "type": "icon",
2369
+ "color": "destructive"
2367
2370
  },
2368
2371
  {
2369
- "content": "Failed to load mediaasset",
2372
+ "type": "typography",
2370
2373
  "variant": "h3",
2371
- "type": "typography"
2374
+ "content": "Failed to load mediaasset"
2372
2375
  },
2373
2376
  {
2374
- "type": "typography",
2375
- "content": "@payload.error",
2376
2377
  "color": "muted",
2378
+ "content": "@payload.error",
2379
+ "type": "typography",
2377
2380
  "variant": "body"
2378
2381
  },
2379
2382
  {
2380
- "label": "Retry",
2381
- "icon": "rotate-ccw",
2382
2383
  "variant": "primary",
2384
+ "icon": "rotate-ccw",
2385
+ "action": "INIT",
2383
2386
  "type": "button",
2384
- "action": "INIT"
2387
+ "label": "Retry"
2385
2388
  }
2386
2389
  ],
2387
- "gap": "md",
2388
- "align": "center",
2389
- "className": "py-12",
2390
- "direction": "vertical"
2390
+ "type": "stack"
2391
2391
  }
2392
2392
  ]
2393
2393
  ]
@@ -2565,23 +2565,22 @@
2565
2565
  "render-ui",
2566
2566
  "modal",
2567
2567
  {
2568
- "gap": "md",
2569
2568
  "type": "stack",
2570
- "direction": "vertical",
2569
+ "gap": "md",
2571
2570
  "children": [
2572
2571
  {
2573
2572
  "type": "stack",
2574
- "direction": "horizontal",
2575
2573
  "gap": "sm",
2574
+ "direction": "horizontal",
2576
2575
  "children": [
2577
2576
  {
2578
2577
  "type": "icon",
2579
2578
  "name": "plus-circle"
2580
2579
  },
2581
2580
  {
2581
+ "content": "New MediaAsset",
2582
2582
  "variant": "h3",
2583
- "type": "typography",
2584
- "content": "New MediaAsset"
2583
+ "type": "typography"
2585
2584
  }
2586
2585
  ]
2587
2586
  },
@@ -2589,9 +2588,6 @@
2589
2588
  "type": "divider"
2590
2589
  },
2591
2590
  {
2592
- "type": "form-section",
2593
- "mode": "create",
2594
- "cancelEvent": "CLOSE",
2595
2591
  "fields": [
2596
2592
  "fileName",
2597
2593
  "fileType",
@@ -2600,9 +2596,13 @@
2600
2596
  "altText",
2601
2597
  "uploadedAt"
2602
2598
  ],
2603
- "submitEvent": "SAVE"
2599
+ "submitEvent": "SAVE",
2600
+ "type": "form-section",
2601
+ "mode": "create",
2602
+ "cancelEvent": "CLOSE"
2604
2603
  }
2605
- ]
2604
+ ],
2605
+ "direction": "vertical"
2606
2606
  }
2607
2607
  ]
2608
2608
  ]
@@ -2643,8 +2643,8 @@
2643
2643
  "@payload.data",
2644
2644
  {
2645
2645
  "emit": {
2646
- "failure": "MediaAssetSaveFailed",
2647
- "success": "MediaAssetSaved"
2646
+ "success": "MediaAssetSaved",
2647
+ "failure": "MediaAssetSaveFailed"
2648
2648
  }
2649
2649
  }
2650
2650
  ],
@@ -2778,8 +2778,8 @@
2778
2778
  "MediaAsset",
2779
2779
  {
2780
2780
  "emit": {
2781
- "success": "MediaAssetLoaded",
2782
- "failure": "MediaAssetLoadFailed"
2781
+ "failure": "MediaAssetLoadFailed",
2782
+ "success": "MediaAssetLoaded"
2783
2783
  },
2784
2784
  "id": "@payload.id"
2785
2785
  }
@@ -2788,129 +2788,127 @@
2788
2788
  "render-ui",
2789
2789
  "modal",
2790
2790
  {
2791
- "type": "stack",
2792
- "gap": "md",
2793
2791
  "direction": "vertical",
2794
2792
  "children": [
2795
2793
  {
2796
- "gap": "sm",
2797
2794
  "direction": "horizontal",
2798
2795
  "type": "stack",
2799
- "align": "center",
2796
+ "gap": "sm",
2800
2797
  "children": [
2801
2798
  {
2802
2799
  "type": "icon",
2803
2800
  "name": "eye"
2804
2801
  },
2805
2802
  {
2806
- "variant": "h3",
2807
2803
  "content": "@entity.fileName",
2808
- "type": "typography"
2804
+ "type": "typography",
2805
+ "variant": "h3"
2809
2806
  }
2810
- ]
2807
+ ],
2808
+ "align": "center"
2811
2809
  },
2812
2810
  {
2813
2811
  "type": "divider"
2814
2812
  },
2815
2813
  {
2816
- "type": "stack",
2817
2814
  "gap": "md",
2818
2815
  "children": [
2819
2816
  {
2820
- "content": "File Name",
2821
2817
  "type": "typography",
2822
- "variant": "caption"
2818
+ "variant": "caption",
2819
+ "content": "File Name"
2823
2820
  },
2824
2821
  {
2825
2822
  "type": "typography",
2826
- "variant": "body",
2827
- "content": "@entity.fileName"
2823
+ "content": "@entity.fileName",
2824
+ "variant": "body"
2828
2825
  }
2829
2826
  ],
2827
+ "type": "stack",
2830
2828
  "direction": "horizontal"
2831
2829
  },
2832
2830
  {
2833
- "direction": "horizontal",
2834
- "gap": "md",
2835
2831
  "children": [
2836
2832
  {
2837
- "type": "typography",
2838
2833
  "content": "File Type",
2834
+ "type": "typography",
2839
2835
  "variant": "caption"
2840
2836
  },
2841
2837
  {
2842
- "content": "@entity.fileType",
2838
+ "variant": "body",
2843
2839
  "type": "typography",
2844
- "variant": "body"
2840
+ "content": "@entity.fileType"
2845
2841
  }
2846
2842
  ],
2843
+ "gap": "md",
2844
+ "direction": "horizontal",
2847
2845
  "type": "stack"
2848
2846
  },
2849
2847
  {
2850
- "direction": "horizontal",
2851
2848
  "type": "stack",
2852
- "gap": "md",
2849
+ "direction": "horizontal",
2853
2850
  "children": [
2854
2851
  {
2852
+ "variant": "caption",
2855
2853
  "content": "File Size",
2856
- "type": "typography",
2857
- "variant": "caption"
2854
+ "type": "typography"
2858
2855
  },
2859
2856
  {
2857
+ "type": "typography",
2860
2858
  "variant": "body",
2861
- "content": "@entity.fileSize",
2862
- "type": "typography"
2859
+ "content": "@entity.fileSize"
2863
2860
  }
2864
- ]
2861
+ ],
2862
+ "gap": "md"
2865
2863
  },
2866
2864
  {
2867
2865
  "direction": "horizontal",
2868
2866
  "gap": "md",
2869
- "type": "stack",
2870
2867
  "children": [
2871
2868
  {
2869
+ "content": "Url",
2872
2870
  "type": "typography",
2873
- "variant": "caption",
2874
- "content": "Url"
2871
+ "variant": "caption"
2875
2872
  },
2876
2873
  {
2877
- "variant": "body",
2878
2874
  "content": "@entity.url",
2875
+ "variant": "body",
2879
2876
  "type": "typography"
2880
2877
  }
2881
- ]
2878
+ ],
2879
+ "type": "stack"
2882
2880
  },
2883
2881
  {
2884
- "gap": "md",
2885
- "direction": "horizontal",
2886
- "type": "stack",
2887
2882
  "children": [
2888
2883
  {
2884
+ "content": "Alt Text",
2889
2885
  "type": "typography",
2890
- "variant": "caption",
2891
- "content": "Alt Text"
2886
+ "variant": "caption"
2892
2887
  },
2893
2888
  {
2894
2889
  "variant": "body",
2895
2890
  "type": "typography",
2896
2891
  "content": "@entity.altText"
2897
2892
  }
2898
- ]
2893
+ ],
2894
+ "direction": "horizontal",
2895
+ "type": "stack",
2896
+ "gap": "md"
2899
2897
  },
2900
2898
  {
2901
- "direction": "horizontal",
2902
2899
  "type": "stack",
2903
2900
  "gap": "md",
2901
+ "direction": "horizontal",
2904
2902
  "children": [
2905
2903
  {
2906
- "content": "Uploaded At",
2907
2904
  "variant": "caption",
2905
+ "content": "Uploaded At",
2908
2906
  "type": "typography"
2909
2907
  },
2910
2908
  {
2911
- "type": "typography",
2912
2909
  "content": "@entity.uploadedAt",
2913
- "variant": "body"
2910
+ "variant": "body",
2911
+ "type": "typography"
2914
2912
  }
2915
2913
  ]
2916
2914
  },
@@ -2920,18 +2918,20 @@
2920
2918
  {
2921
2919
  "direction": "horizontal",
2922
2920
  "type": "stack",
2923
- "gap": "sm",
2924
- "justify": "end",
2925
2921
  "children": [
2926
2922
  {
2927
- "variant": "ghost",
2928
- "label": "Close",
2929
2923
  "type": "button",
2930
- "action": "CLOSE"
2924
+ "label": "Close",
2925
+ "action": "CLOSE",
2926
+ "variant": "ghost"
2931
2927
  }
2932
- ]
2928
+ ],
2929
+ "justify": "end",
2930
+ "gap": "sm"
2933
2931
  }
2934
- ]
2932
+ ],
2933
+ "gap": "md",
2934
+ "type": "stack"
2935
2935
  }
2936
2936
  ]
2937
2937
  ]
@@ -3166,22 +3166,22 @@
3166
3166
  "render-ui",
3167
3167
  "main",
3168
3168
  {
3169
- "type": "stack",
3170
- "align": "center",
3169
+ "className": "py-12",
3171
3170
  "children": [
3172
3171
  {
3173
3172
  "type": "spinner"
3174
3173
  },
3175
3174
  {
3176
- "type": "typography",
3177
3175
  "color": "muted",
3178
- "variant": "caption",
3179
- "content": "Loading…"
3176
+ "type": "typography",
3177
+ "content": "Loading…",
3178
+ "variant": "caption"
3180
3179
  }
3181
3180
  ],
3181
+ "direction": "vertical",
3182
3182
  "gap": "md",
3183
- "className": "py-12",
3184
- "direction": "vertical"
3183
+ "type": "stack",
3184
+ "align": "center"
3185
3185
  }
3186
3186
  ]
3187
3187
  ]
@@ -3195,18 +3195,36 @@
3195
3195
  "render-ui",
3196
3196
  "main",
3197
3197
  {
3198
+ "appName": "CmsApp",
3199
+ "navItems": [
3200
+ {
3201
+ "icon": "file-text",
3202
+ "label": "Articles",
3203
+ "href": "/articles"
3204
+ },
3205
+ {
3206
+ "label": "Media",
3207
+ "href": "/media",
3208
+ "icon": "image"
3209
+ },
3210
+ {
3211
+ "label": "Categories",
3212
+ "href": "/categories",
3213
+ "icon": "folder"
3214
+ }
3215
+ ],
3198
3216
  "children": [
3199
3217
  {
3200
- "className": "max-w-5xl mx-auto w-full",
3201
- "direction": "vertical",
3202
3218
  "type": "stack",
3219
+ "direction": "vertical",
3203
3220
  "gap": "lg",
3221
+ "className": "max-w-5xl mx-auto w-full",
3204
3222
  "children": [
3205
3223
  {
3206
- "justify": "between",
3207
3224
  "type": "stack",
3208
3225
  "gap": "md",
3209
- "direction": "horizontal",
3226
+ "justify": "between",
3227
+ "align": "center",
3210
3228
  "children": [
3211
3229
  {
3212
3230
  "children": [
@@ -3215,64 +3233,41 @@
3215
3233
  "type": "icon"
3216
3234
  },
3217
3235
  {
3218
- "variant": "h2",
3219
3236
  "type": "typography",
3220
- "content": "Categories"
3237
+ "content": "Categories",
3238
+ "variant": "h2"
3221
3239
  }
3222
3240
  ],
3223
- "gap": "sm",
3224
- "align": "center",
3225
3241
  "direction": "horizontal",
3226
- "type": "stack"
3242
+ "type": "stack",
3243
+ "gap": "sm",
3244
+ "align": "center"
3227
3245
  },
3228
3246
  {
3247
+ "type": "stack",
3229
3248
  "gap": "sm",
3230
3249
  "direction": "horizontal",
3231
3250
  "children": [
3232
3251
  {
3233
- "type": "button",
3234
3252
  "variant": "primary",
3253
+ "label": "Create Category",
3235
3254
  "icon": "plus",
3236
3255
  "action": "CREATE",
3237
- "label": "Create Category"
3256
+ "type": "button"
3238
3257
  }
3239
- ],
3240
- "type": "stack"
3258
+ ]
3241
3259
  }
3242
3260
  ],
3243
- "align": "center"
3261
+ "direction": "horizontal"
3244
3262
  },
3245
3263
  {
3246
3264
  "type": "divider"
3247
3265
  },
3248
3266
  {
3249
- "gap": "sm",
3250
- "columns": [
3251
- {
3252
- "name": "name",
3253
- "variant": "h3",
3254
- "icon": "folder"
3255
- },
3256
- {
3257
- "name": "articleCount",
3258
- "label": "Articles",
3259
- "variant": "badge",
3260
- "format": "number"
3261
- },
3262
- {
3263
- "variant": "body",
3264
- "name": "description"
3265
- },
3266
- {
3267
- "variant": "caption",
3268
- "name": "slug"
3269
- }
3270
- ],
3271
- "entity": "@payload.data",
3272
3267
  "itemActions": [
3273
3268
  {
3274
- "label": "View",
3275
3269
  "variant": "ghost",
3270
+ "label": "View",
3276
3271
  "event": "VIEW"
3277
3272
  },
3278
3273
  {
@@ -3281,37 +3276,42 @@
3281
3276
  "event": "EDIT"
3282
3277
  },
3283
3278
  {
3284
- "variant": "danger",
3285
3279
  "label": "Delete",
3286
- "event": "DELETE"
3280
+ "event": "DELETE",
3281
+ "variant": "danger"
3287
3282
  }
3288
3283
  ],
3284
+ "gap": "sm",
3285
+ "type": "data-list",
3289
3286
  "variant": "card",
3290
3287
  "fields": [],
3291
- "type": "data-list"
3288
+ "entity": "@payload.data",
3289
+ "columns": [
3290
+ {
3291
+ "icon": "folder",
3292
+ "name": "name",
3293
+ "variant": "h3"
3294
+ },
3295
+ {
3296
+ "format": "number",
3297
+ "name": "articleCount",
3298
+ "label": "Articles",
3299
+ "variant": "badge"
3300
+ },
3301
+ {
3302
+ "name": "description",
3303
+ "variant": "body"
3304
+ },
3305
+ {
3306
+ "name": "slug",
3307
+ "variant": "caption"
3308
+ }
3309
+ ]
3292
3310
  }
3293
3311
  ]
3294
3312
  }
3295
3313
  ],
3296
- "type": "dashboard-layout",
3297
- "navItems": [
3298
- {
3299
- "icon": "file-text",
3300
- "label": "Articles",
3301
- "href": "/articles"
3302
- },
3303
- {
3304
- "href": "/media",
3305
- "icon": "image",
3306
- "label": "Media"
3307
- },
3308
- {
3309
- "icon": "folder",
3310
- "label": "Categories",
3311
- "href": "/categories"
3312
- }
3313
- ],
3314
- "appName": "CmsApp"
3314
+ "type": "dashboard-layout"
3315
3315
  }
3316
3316
  ]
3317
3317
  ]
@@ -3326,35 +3326,35 @@
3326
3326
  "main",
3327
3327
  {
3328
3328
  "type": "stack",
3329
+ "align": "center",
3329
3330
  "children": [
3330
3331
  {
3331
3332
  "type": "icon",
3332
- "name": "alert-triangle",
3333
- "color": "destructive"
3333
+ "color": "destructive",
3334
+ "name": "alert-triangle"
3334
3335
  },
3335
3336
  {
3336
3337
  "variant": "h3",
3337
- "content": "Failed to load category",
3338
- "type": "typography"
3338
+ "type": "typography",
3339
+ "content": "Failed to load category"
3339
3340
  },
3340
3341
  {
3341
- "type": "typography",
3342
- "variant": "body",
3343
3342
  "color": "muted",
3344
- "content": "@payload.error"
3343
+ "content": "@payload.error",
3344
+ "type": "typography",
3345
+ "variant": "body"
3345
3346
  },
3346
3347
  {
3347
- "type": "button",
3348
- "variant": "primary",
3349
3348
  "label": "Retry",
3349
+ "variant": "primary",
3350
3350
  "icon": "rotate-ccw",
3351
+ "type": "button",
3351
3352
  "action": "INIT"
3352
3353
  }
3353
3354
  ],
3354
3355
  "direction": "vertical",
3355
- "className": "py-12",
3356
- "align": "center",
3357
- "gap": "md"
3356
+ "gap": "md",
3357
+ "className": "py-12"
3358
3358
  }
3359
3359
  ]
3360
3360
  ]
@@ -3540,10 +3540,11 @@
3540
3540
  "modal",
3541
3541
  {
3542
3542
  "type": "stack",
3543
- "gap": "md",
3544
3543
  "direction": "vertical",
3544
+ "gap": "md",
3545
3545
  "children": [
3546
3546
  {
3547
+ "type": "stack",
3547
3548
  "direction": "horizontal",
3548
3549
  "gap": "sm",
3549
3550
  "children": [
@@ -3552,28 +3553,27 @@
3552
3553
  "name": "plus-circle"
3553
3554
  },
3554
3555
  {
3555
- "type": "typography",
3556
3556
  "content": "Create Category",
3557
- "variant": "h3"
3557
+ "variant": "h3",
3558
+ "type": "typography"
3558
3559
  }
3559
- ],
3560
- "type": "stack"
3560
+ ]
3561
3561
  },
3562
3562
  {
3563
3563
  "type": "divider"
3564
3564
  },
3565
3565
  {
3566
+ "mode": "create",
3567
+ "submitEvent": "SAVE",
3568
+ "cancelEvent": "CLOSE",
3569
+ "type": "form-section",
3566
3570
  "fields": [
3567
3571
  "name",
3568
3572
  "slug",
3569
3573
  "description",
3570
3574
  "parentCategory",
3571
3575
  "articleCount"
3572
- ],
3573
- "submitEvent": "SAVE",
3574
- "cancelEvent": "CLOSE",
3575
- "type": "form-section",
3576
- "mode": "create"
3576
+ ]
3577
3577
  }
3578
3578
  ]
3579
3579
  }
@@ -3821,8 +3821,8 @@
3821
3821
  {
3822
3822
  "id": "@payload.id",
3823
3823
  "emit": {
3824
- "success": "CategoryLoaded",
3825
- "failure": "CategoryLoadFailed"
3824
+ "failure": "CategoryLoadFailed",
3825
+ "success": "CategoryLoaded"
3826
3826
  }
3827
3827
  }
3828
3828
  ],
@@ -3830,17 +3830,18 @@
3830
3830
  "render-ui",
3831
3831
  "modal",
3832
3832
  {
3833
+ "direction": "vertical",
3833
3834
  "type": "stack",
3834
3835
  "gap": "md",
3835
3836
  "children": [
3836
3837
  {
3838
+ "type": "stack",
3837
3839
  "direction": "horizontal",
3838
3840
  "gap": "sm",
3839
- "type": "stack",
3840
3841
  "children": [
3841
3842
  {
3842
- "type": "icon",
3843
- "name": "edit"
3843
+ "name": "edit",
3844
+ "type": "icon"
3844
3845
  },
3845
3846
  {
3846
3847
  "variant": "h3",
@@ -3854,8 +3855,8 @@
3854
3855
  },
3855
3856
  {
3856
3857
  "mode": "edit",
3857
- "type": "form-section",
3858
3858
  "submitEvent": "SAVE",
3859
+ "type": "form-section",
3859
3860
  "cancelEvent": "CLOSE",
3860
3861
  "fields": [
3861
3862
  "name",
@@ -3866,8 +3867,7 @@
3866
3867
  ],
3867
3868
  "entity": "@payload.row"
3868
3869
  }
3869
- ],
3870
- "direction": "vertical"
3870
+ ]
3871
3871
  }
3872
3872
  ]
3873
3873
  ]
@@ -4046,21 +4046,20 @@
4046
4046
  "fetch",
4047
4047
  "Category",
4048
4048
  {
4049
- "id": "@payload.id",
4050
4049
  "emit": {
4051
4050
  "success": "CategoryLoaded",
4052
4051
  "failure": "CategoryLoadFailed"
4053
- }
4052
+ },
4053
+ "id": "@payload.id"
4054
4054
  }
4055
4055
  ],
4056
4056
  [
4057
4057
  "render-ui",
4058
4058
  "modal",
4059
4059
  {
4060
+ "direction": "vertical",
4060
4061
  "children": [
4061
4062
  {
4062
- "align": "center",
4063
- "direction": "horizontal",
4064
4063
  "type": "stack",
4065
4064
  "children": [
4066
4065
  {
@@ -4068,83 +4067,85 @@
4068
4067
  "name": "eye"
4069
4068
  },
4070
4069
  {
4071
- "variant": "h3",
4072
4070
  "content": "@entity.name",
4073
- "type": "typography"
4071
+ "type": "typography",
4072
+ "variant": "h3"
4074
4073
  }
4075
4074
  ],
4076
- "gap": "sm"
4075
+ "direction": "horizontal",
4076
+ "gap": "sm",
4077
+ "align": "center"
4077
4078
  },
4078
4079
  {
4079
4080
  "type": "divider"
4080
4081
  },
4081
4082
  {
4083
+ "gap": "md",
4082
4084
  "type": "stack",
4083
4085
  "direction": "horizontal",
4084
4086
  "children": [
4085
4087
  {
4086
4088
  "content": "Name",
4087
- "variant": "caption",
4088
- "type": "typography"
4089
+ "type": "typography",
4090
+ "variant": "caption"
4089
4091
  },
4090
4092
  {
4091
- "content": "@entity.name",
4093
+ "variant": "body",
4092
4094
  "type": "typography",
4093
- "variant": "body"
4095
+ "content": "@entity.name"
4094
4096
  }
4095
- ],
4096
- "gap": "md"
4097
+ ]
4097
4098
  },
4098
4099
  {
4099
4100
  "type": "stack",
4101
+ "direction": "horizontal",
4100
4102
  "children": [
4101
4103
  {
4102
- "type": "typography",
4104
+ "content": "Slug",
4103
4105
  "variant": "caption",
4104
- "content": "Slug"
4106
+ "type": "typography"
4105
4107
  },
4106
4108
  {
4107
- "variant": "body",
4108
4109
  "content": "@entity.slug",
4110
+ "variant": "body",
4109
4111
  "type": "typography"
4110
4112
  }
4111
4113
  ],
4112
- "gap": "md",
4113
- "direction": "horizontal"
4114
+ "gap": "md"
4114
4115
  },
4115
4116
  {
4116
- "type": "stack",
4117
4117
  "direction": "horizontal",
4118
- "gap": "md",
4119
4118
  "children": [
4120
4119
  {
4121
- "content": "Description",
4122
4120
  "variant": "caption",
4121
+ "content": "Description",
4123
4122
  "type": "typography"
4124
4123
  },
4125
4124
  {
4126
- "type": "typography",
4127
4125
  "content": "@entity.description",
4128
- "variant": "body"
4126
+ "variant": "body",
4127
+ "type": "typography"
4129
4128
  }
4130
- ]
4129
+ ],
4130
+ "gap": "md",
4131
+ "type": "stack"
4131
4132
  },
4132
4133
  {
4133
- "gap": "md",
4134
- "type": "stack",
4135
- "direction": "horizontal",
4136
4134
  "children": [
4137
4135
  {
4138
4136
  "variant": "caption",
4139
- "type": "typography",
4140
- "content": "Parent Category"
4137
+ "content": "Parent Category",
4138
+ "type": "typography"
4141
4139
  },
4142
4140
  {
4143
- "type": "typography",
4141
+ "variant": "body",
4144
4142
  "content": "@entity.parentCategory",
4145
- "variant": "body"
4143
+ "type": "typography"
4146
4144
  }
4147
- ]
4145
+ ],
4146
+ "gap": "md",
4147
+ "direction": "horizontal",
4148
+ "type": "stack"
4148
4149
  },
4149
4150
  {
4150
4151
  "type": "stack",
@@ -4158,8 +4159,8 @@
4158
4159
  },
4159
4160
  {
4160
4161
  "type": "typography",
4161
- "variant": "body",
4162
- "content": "@entity.articleCount"
4162
+ "content": "@entity.articleCount",
4163
+ "variant": "body"
4163
4164
  }
4164
4165
  ]
4165
4166
  },
@@ -4167,29 +4168,28 @@
4167
4168
  "type": "divider"
4168
4169
  },
4169
4170
  {
4170
- "type": "stack",
4171
+ "justify": "end",
4171
4172
  "children": [
4172
4173
  {
4173
- "action": "EDIT",
4174
4174
  "type": "button",
4175
4175
  "label": "Edit",
4176
+ "action": "EDIT",
4176
4177
  "variant": "primary",
4177
4178
  "icon": "edit"
4178
4179
  },
4179
4180
  {
4180
4181
  "label": "Close",
4181
- "variant": "ghost",
4182
4182
  "action": "CLOSE",
4183
- "type": "button"
4183
+ "type": "button",
4184
+ "variant": "ghost"
4184
4185
  }
4185
4186
  ],
4186
- "gap": "sm",
4187
+ "type": "stack",
4187
4188
  "direction": "horizontal",
4188
- "justify": "end"
4189
+ "gap": "sm"
4189
4190
  }
4190
4191
  ],
4191
4192
  "type": "stack",
4192
- "direction": "vertical",
4193
4193
  "gap": "md"
4194
4194
  }
4195
4195
  ]
@@ -4419,8 +4419,8 @@
4419
4419
  {
4420
4420
  "id": "@payload.id",
4421
4421
  "emit": {
4422
- "failure": "CategoryLoadFailed",
4423
- "success": "CategoryLoaded"
4422
+ "success": "CategoryLoaded",
4423
+ "failure": "CategoryLoadFailed"
4424
4424
  }
4425
4425
  }
4426
4426
  ],
@@ -4428,57 +4428,57 @@
4428
4428
  "render-ui",
4429
4429
  "modal",
4430
4430
  {
4431
- "gap": "md",
4432
- "type": "stack",
4433
- "direction": "vertical",
4434
4431
  "children": [
4435
4432
  {
4433
+ "align": "center",
4436
4434
  "type": "stack",
4435
+ "direction": "horizontal",
4437
4436
  "gap": "sm",
4438
4437
  "children": [
4439
4438
  {
4440
- "name": "alert-triangle",
4441
- "type": "icon"
4439
+ "type": "icon",
4440
+ "name": "alert-triangle"
4442
4441
  },
4443
4442
  {
4444
4443
  "content": "Delete Category",
4445
4444
  "variant": "h3",
4446
4445
  "type": "typography"
4447
4446
  }
4448
- ],
4449
- "direction": "horizontal",
4450
- "align": "center"
4447
+ ]
4451
4448
  },
4452
4449
  {
4453
4450
  "type": "divider"
4454
4451
  },
4455
4452
  {
4456
- "variant": "error",
4457
4453
  "type": "alert",
4458
- "message": "This action cannot be undone."
4454
+ "message": "This action cannot be undone.",
4455
+ "variant": "error"
4459
4456
  },
4460
4457
  {
4458
+ "direction": "horizontal",
4461
4459
  "gap": "sm",
4460
+ "justify": "end",
4461
+ "type": "stack",
4462
4462
  "children": [
4463
4463
  {
4464
- "action": "CANCEL",
4465
4464
  "label": "Cancel",
4466
4465
  "type": "button",
4467
- "variant": "ghost"
4466
+ "variant": "ghost",
4467
+ "action": "CANCEL"
4468
4468
  },
4469
4469
  {
4470
- "label": "Delete",
4471
- "type": "button",
4472
- "variant": "danger",
4473
4470
  "icon": "check",
4471
+ "variant": "danger",
4472
+ "type": "button",
4473
+ "label": "Delete",
4474
4474
  "action": "CONFIRM_DELETE"
4475
4475
  }
4476
- ],
4477
- "type": "stack",
4478
- "justify": "end",
4479
- "direction": "horizontal"
4476
+ ]
4480
4477
  }
4481
- ]
4478
+ ],
4479
+ "type": "stack",
4480
+ "direction": "vertical",
4481
+ "gap": "md"
4482
4482
  }
4483
4483
  ]
4484
4484
  ]
@@ -4598,4 +4598,4 @@
4598
4598
  ]
4599
4599
  }
4600
4600
  ]
4601
- }
4601
+ }