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