@almadar/std 3.2.1 → 3.2.3

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 (295) hide show
  1. package/behaviors/exports/atoms/std-async.orb +41 -24
  2. package/behaviors/exports/atoms/std-browse.orb +44 -44
  3. package/behaviors/exports/atoms/std-cache-aside.orb +256 -42
  4. package/behaviors/exports/atoms/std-calendar.orb +770 -0
  5. package/behaviors/exports/atoms/std-circuit-breaker.orb +577 -97
  6. package/behaviors/exports/atoms/std-collision.orb +278 -206
  7. package/behaviors/exports/atoms/std-combat-log.orb +6 -1
  8. package/behaviors/exports/atoms/std-combat.orb +6 -1
  9. package/behaviors/exports/atoms/std-confirmation.orb +212 -7
  10. package/behaviors/exports/atoms/std-dialogue-box.orb +6 -1
  11. package/behaviors/exports/atoms/std-display.orb +1186 -376
  12. package/behaviors/exports/atoms/std-drawer.orb +307 -101
  13. package/behaviors/exports/atoms/std-filter.orb +211 -18
  14. package/behaviors/exports/atoms/std-flip-card.orb +596 -0
  15. package/behaviors/exports/atoms/std-gallery.orb +382 -0
  16. package/behaviors/exports/atoms/std-game-audio.orb +6 -1
  17. package/behaviors/exports/atoms/std-game-canvas2d.orb +6 -1
  18. package/behaviors/exports/atoms/std-game-canvas3d.orb +6 -1
  19. package/behaviors/exports/atoms/std-game-hud.orb +6 -1
  20. package/behaviors/exports/atoms/std-game-menu.orb +6 -1
  21. package/behaviors/exports/atoms/std-game-over-screen.orb +6 -1
  22. package/behaviors/exports/atoms/std-gameflow.orb +100 -5
  23. package/behaviors/exports/atoms/std-input.orb +142 -137
  24. package/behaviors/exports/atoms/std-inventory-panel.orb +6 -1
  25. package/behaviors/exports/atoms/std-isometric-canvas.orb +6 -1
  26. package/behaviors/exports/atoms/std-loading.orb +149 -170
  27. package/behaviors/exports/atoms/std-modal.orb +159 -94
  28. package/behaviors/exports/atoms/std-movement.orb +401 -31
  29. package/behaviors/exports/atoms/std-notification.orb +117 -95
  30. package/behaviors/exports/atoms/std-overworld.orb +44 -16
  31. package/behaviors/exports/atoms/std-pagination.orb +44 -115
  32. package/behaviors/exports/atoms/std-physics2d.orb +6 -1
  33. package/behaviors/exports/atoms/std-platformer-canvas.orb +6 -1
  34. package/behaviors/exports/atoms/std-quest.orb +309 -34
  35. package/behaviors/exports/atoms/std-rate-limiter.orb +410 -157
  36. package/behaviors/exports/atoms/std-rating.orb +328 -0
  37. package/behaviors/exports/atoms/std-score-board.orb +6 -1
  38. package/behaviors/exports/atoms/std-score.orb +252 -11
  39. package/behaviors/exports/atoms/std-search.orb +62 -47
  40. package/behaviors/exports/atoms/std-selection.orb +180 -149
  41. package/behaviors/exports/atoms/std-simulation-canvas.orb +6 -1
  42. package/behaviors/exports/atoms/std-sort.orb +192 -60
  43. package/behaviors/exports/atoms/std-sprite.orb +6 -1
  44. package/behaviors/exports/atoms/std-tabs.orb +25 -15
  45. package/behaviors/exports/atoms/std-text-effects.orb +658 -0
  46. package/behaviors/exports/atoms/std-theme.orb +573 -0
  47. package/behaviors/exports/atoms/std-timer.orb +483 -91
  48. package/behaviors/exports/atoms/std-undo.orb +211 -81
  49. package/behaviors/exports/atoms/std-upload.orb +535 -0
  50. package/behaviors/exports/atoms/std-wizard.orb +677 -240
  51. package/behaviors/exports/molecules/std-builder-game.orb +49 -4
  52. package/behaviors/exports/molecules/std-cart.orb +325 -102
  53. package/behaviors/exports/molecules/std-classifier-game.orb +49 -4
  54. package/behaviors/exports/molecules/std-debugger-game.orb +49 -4
  55. package/behaviors/exports/molecules/std-detail.orb +52 -48
  56. package/behaviors/exports/molecules/std-event-handler-game.orb +49 -4
  57. package/behaviors/exports/molecules/std-form-advanced.orb +654 -0
  58. package/behaviors/exports/molecules/std-geospatial.orb +70 -51
  59. package/behaviors/exports/molecules/std-inventory.orb +92 -53
  60. package/behaviors/exports/molecules/std-list.orb +416 -52
  61. package/behaviors/exports/molecules/std-messaging.orb +41 -49
  62. package/behaviors/exports/molecules/std-negotiator-game.orb +49 -4
  63. package/behaviors/exports/molecules/std-platformer-game.orb +58 -3
  64. package/behaviors/exports/molecules/std-puzzle-game.orb +58 -7
  65. package/behaviors/exports/molecules/std-quiz.orb +1045 -0
  66. package/behaviors/exports/molecules/std-sequencer-game.orb +49 -4
  67. package/behaviors/exports/molecules/std-simulator-game.orb +49 -4
  68. package/behaviors/exports/molecules/std-turn-based-battle.orb +66 -1
  69. package/behaviors/exports/organisms/std-api-gateway.orb +2615 -867
  70. package/behaviors/exports/organisms/std-arcade-game.orb +399 -197
  71. package/behaviors/exports/organisms/std-booking-system.orb +3154 -1305
  72. package/behaviors/exports/organisms/std-cicd-pipeline.orb +2298 -779
  73. package/behaviors/exports/organisms/std-cms.orb +1150 -277
  74. package/behaviors/exports/organisms/std-coding-academy.orb +1222 -533
  75. package/behaviors/exports/organisms/std-crm.orb +2357 -821
  76. package/behaviors/exports/organisms/std-devops-dashboard.orb +4230 -1281
  77. package/behaviors/exports/organisms/std-ecommerce.orb +2660 -1098
  78. package/behaviors/exports/organisms/std-finance-tracker.orb +1749 -737
  79. package/behaviors/exports/organisms/std-healthcare.orb +3593 -1478
  80. package/behaviors/exports/organisms/std-helpdesk.orb +1870 -738
  81. package/behaviors/exports/organisms/std-hr-portal.orb +3290 -1385
  82. package/behaviors/exports/organisms/std-iot-dashboard.orb +2704 -788
  83. package/behaviors/exports/organisms/std-lms.orb +2548 -1192
  84. package/behaviors/exports/organisms/std-logic-training.orb +220 -66
  85. package/behaviors/exports/organisms/std-platformer-app.orb +373 -194
  86. package/behaviors/exports/organisms/std-project-manager.orb +2347 -806
  87. package/behaviors/exports/organisms/std-puzzle-app.orb +240 -95
  88. package/behaviors/exports/organisms/std-realtime-chat.orb +2020 -660
  89. package/behaviors/exports/organisms/std-rpg-game.orb +1303 -740
  90. package/behaviors/exports/organisms/std-social-feed.orb +184 -168
  91. package/behaviors/exports/organisms/std-stem-lab.orb +1223 -512
  92. package/behaviors/exports/organisms/std-strategy-game.orb +1412 -731
  93. package/behaviors/exports/organisms/std-trading-dashboard.orb +1869 -695
  94. package/behaviors/exports/validation-report.json +3 -750
  95. package/behaviors/exports/verify-results.json +13 -0
  96. package/dist/behaviors/exports/atoms/std-async.orb +41 -24
  97. package/dist/behaviors/exports/atoms/std-browse.orb +44 -44
  98. package/dist/behaviors/exports/atoms/std-cache-aside.orb +256 -42
  99. package/dist/behaviors/exports/atoms/std-calendar.orb +770 -0
  100. package/dist/behaviors/exports/atoms/std-circuit-breaker.orb +577 -97
  101. package/dist/behaviors/exports/atoms/std-collision.orb +278 -206
  102. package/dist/behaviors/exports/atoms/std-combat-log.orb +6 -1
  103. package/dist/behaviors/exports/atoms/std-combat.orb +6 -1
  104. package/dist/behaviors/exports/atoms/std-confirmation.orb +212 -7
  105. package/dist/behaviors/exports/atoms/std-dialogue-box.orb +6 -1
  106. package/dist/behaviors/exports/atoms/std-display.orb +1186 -376
  107. package/dist/behaviors/exports/atoms/std-drawer.orb +307 -101
  108. package/dist/behaviors/exports/atoms/std-filter.orb +211 -18
  109. package/dist/behaviors/exports/atoms/std-flip-card.orb +596 -0
  110. package/dist/behaviors/exports/atoms/std-gallery.orb +382 -0
  111. package/dist/behaviors/exports/atoms/std-game-audio.orb +6 -1
  112. package/dist/behaviors/exports/atoms/std-game-canvas2d.orb +6 -1
  113. package/dist/behaviors/exports/atoms/std-game-canvas3d.orb +6 -1
  114. package/dist/behaviors/exports/atoms/std-game-hud.orb +6 -1
  115. package/dist/behaviors/exports/atoms/std-game-menu.orb +6 -1
  116. package/dist/behaviors/exports/atoms/std-game-over-screen.orb +6 -1
  117. package/dist/behaviors/exports/atoms/std-gameflow.orb +100 -5
  118. package/dist/behaviors/exports/atoms/std-input.orb +142 -137
  119. package/dist/behaviors/exports/atoms/std-inventory-panel.orb +6 -1
  120. package/dist/behaviors/exports/atoms/std-isometric-canvas.orb +6 -1
  121. package/dist/behaviors/exports/atoms/std-loading.orb +149 -170
  122. package/dist/behaviors/exports/atoms/std-modal.orb +159 -94
  123. package/dist/behaviors/exports/atoms/std-movement.orb +401 -31
  124. package/dist/behaviors/exports/atoms/std-notification.orb +117 -95
  125. package/dist/behaviors/exports/atoms/std-overworld.orb +44 -16
  126. package/dist/behaviors/exports/atoms/std-pagination.orb +44 -115
  127. package/dist/behaviors/exports/atoms/std-physics2d.orb +6 -1
  128. package/dist/behaviors/exports/atoms/std-platformer-canvas.orb +6 -1
  129. package/dist/behaviors/exports/atoms/std-quest.orb +309 -34
  130. package/dist/behaviors/exports/atoms/std-rate-limiter.orb +410 -157
  131. package/dist/behaviors/exports/atoms/std-rating.orb +328 -0
  132. package/dist/behaviors/exports/atoms/std-score-board.orb +6 -1
  133. package/dist/behaviors/exports/atoms/std-score.orb +252 -11
  134. package/dist/behaviors/exports/atoms/std-search.orb +62 -47
  135. package/dist/behaviors/exports/atoms/std-selection.orb +180 -149
  136. package/dist/behaviors/exports/atoms/std-simulation-canvas.orb +6 -1
  137. package/dist/behaviors/exports/atoms/std-sort.orb +192 -60
  138. package/dist/behaviors/exports/atoms/std-sprite.orb +6 -1
  139. package/dist/behaviors/exports/atoms/std-tabs.orb +25 -15
  140. package/dist/behaviors/exports/atoms/std-text-effects.orb +658 -0
  141. package/dist/behaviors/exports/atoms/std-theme.orb +573 -0
  142. package/dist/behaviors/exports/atoms/std-timer.orb +483 -91
  143. package/dist/behaviors/exports/atoms/std-undo.orb +211 -81
  144. package/dist/behaviors/exports/atoms/std-upload.orb +535 -0
  145. package/dist/behaviors/exports/atoms/std-wizard.orb +677 -240
  146. package/dist/behaviors/exports/molecules/std-builder-game.orb +49 -4
  147. package/dist/behaviors/exports/molecules/std-cart.orb +325 -102
  148. package/dist/behaviors/exports/molecules/std-classifier-game.orb +49 -4
  149. package/dist/behaviors/exports/molecules/std-debugger-game.orb +49 -4
  150. package/dist/behaviors/exports/molecules/std-detail.orb +52 -48
  151. package/dist/behaviors/exports/molecules/std-event-handler-game.orb +49 -4
  152. package/dist/behaviors/exports/molecules/std-form-advanced.orb +654 -0
  153. package/dist/behaviors/exports/molecules/std-geospatial.orb +70 -51
  154. package/dist/behaviors/exports/molecules/std-inventory.orb +92 -53
  155. package/dist/behaviors/exports/molecules/std-list.orb +416 -52
  156. package/dist/behaviors/exports/molecules/std-messaging.orb +41 -49
  157. package/dist/behaviors/exports/molecules/std-negotiator-game.orb +49 -4
  158. package/dist/behaviors/exports/molecules/std-platformer-game.orb +58 -3
  159. package/dist/behaviors/exports/molecules/std-puzzle-game.orb +58 -7
  160. package/dist/behaviors/exports/molecules/std-quiz.orb +1045 -0
  161. package/dist/behaviors/exports/molecules/std-sequencer-game.orb +49 -4
  162. package/dist/behaviors/exports/molecules/std-simulator-game.orb +49 -4
  163. package/dist/behaviors/exports/molecules/std-turn-based-battle.orb +66 -1
  164. package/dist/behaviors/exports/organisms/std-api-gateway.orb +2615 -867
  165. package/dist/behaviors/exports/organisms/std-arcade-game.orb +399 -197
  166. package/dist/behaviors/exports/organisms/std-booking-system.orb +3154 -1305
  167. package/dist/behaviors/exports/organisms/std-cicd-pipeline.orb +2298 -779
  168. package/dist/behaviors/exports/organisms/std-cms.orb +1150 -277
  169. package/dist/behaviors/exports/organisms/std-coding-academy.orb +1222 -533
  170. package/dist/behaviors/exports/organisms/std-crm.orb +2357 -821
  171. package/dist/behaviors/exports/organisms/std-devops-dashboard.orb +4230 -1281
  172. package/dist/behaviors/exports/organisms/std-ecommerce.orb +2660 -1098
  173. package/dist/behaviors/exports/organisms/std-finance-tracker.orb +1749 -737
  174. package/dist/behaviors/exports/organisms/std-healthcare.orb +3593 -1478
  175. package/dist/behaviors/exports/organisms/std-helpdesk.orb +1870 -738
  176. package/dist/behaviors/exports/organisms/std-hr-portal.orb +3290 -1385
  177. package/dist/behaviors/exports/organisms/std-iot-dashboard.orb +2704 -788
  178. package/dist/behaviors/exports/organisms/std-lms.orb +2548 -1192
  179. package/dist/behaviors/exports/organisms/std-logic-training.orb +220 -66
  180. package/dist/behaviors/exports/organisms/std-platformer-app.orb +373 -194
  181. package/dist/behaviors/exports/organisms/std-project-manager.orb +2347 -806
  182. package/dist/behaviors/exports/organisms/std-puzzle-app.orb +240 -95
  183. package/dist/behaviors/exports/organisms/std-realtime-chat.orb +2020 -660
  184. package/dist/behaviors/exports/organisms/std-rpg-game.orb +1303 -740
  185. package/dist/behaviors/exports/organisms/std-social-feed.orb +184 -168
  186. package/dist/behaviors/exports/organisms/std-stem-lab.orb +1223 -512
  187. package/dist/behaviors/exports/organisms/std-strategy-game.orb +1412 -731
  188. package/dist/behaviors/exports/organisms/std-trading-dashboard.orb +1869 -695
  189. package/dist/behaviors/exports/validation-report.json +3 -750
  190. package/dist/behaviors/exports/verify-results.json +13 -0
  191. package/dist/behaviors/functions/index.d.ts +270 -1
  192. package/dist/behaviors/functions/index.js +3811 -1333
  193. package/dist/behaviors/functions/index.js.map +1 -1
  194. package/dist/behaviors/index.d.ts +1 -1
  195. package/dist/behaviors/index.js +3811 -1333
  196. package/dist/behaviors/index.js.map +1 -1
  197. package/dist/exports/atoms/std-async.orb +41 -24
  198. package/dist/exports/atoms/std-browse.orb +44 -44
  199. package/dist/exports/atoms/std-cache-aside.orb +256 -42
  200. package/dist/exports/atoms/std-calendar.orb +770 -0
  201. package/dist/exports/atoms/std-circuit-breaker.orb +577 -97
  202. package/dist/exports/atoms/std-collision.orb +278 -206
  203. package/dist/exports/atoms/std-combat-log.orb +6 -1
  204. package/dist/exports/atoms/std-combat.orb +6 -1
  205. package/dist/exports/atoms/std-confirmation.orb +212 -7
  206. package/dist/exports/atoms/std-dialogue-box.orb +6 -1
  207. package/dist/exports/atoms/std-display.orb +1186 -376
  208. package/dist/exports/atoms/std-drawer.orb +307 -101
  209. package/dist/exports/atoms/std-filter.orb +211 -18
  210. package/dist/exports/atoms/std-flip-card.orb +596 -0
  211. package/dist/exports/atoms/std-gallery.orb +382 -0
  212. package/dist/exports/atoms/std-game-audio.orb +6 -1
  213. package/dist/exports/atoms/std-game-canvas2d.orb +6 -1
  214. package/dist/exports/atoms/std-game-canvas3d.orb +6 -1
  215. package/dist/exports/atoms/std-game-hud.orb +6 -1
  216. package/dist/exports/atoms/std-game-menu.orb +6 -1
  217. package/dist/exports/atoms/std-game-over-screen.orb +6 -1
  218. package/dist/exports/atoms/std-gameflow.orb +100 -5
  219. package/dist/exports/atoms/std-input.orb +142 -137
  220. package/dist/exports/atoms/std-inventory-panel.orb +6 -1
  221. package/dist/exports/atoms/std-isometric-canvas.orb +6 -1
  222. package/dist/exports/atoms/std-loading.orb +149 -170
  223. package/dist/exports/atoms/std-modal.orb +159 -94
  224. package/dist/exports/atoms/std-movement.orb +401 -31
  225. package/dist/exports/atoms/std-notification.orb +117 -95
  226. package/dist/exports/atoms/std-overworld.orb +44 -16
  227. package/dist/exports/atoms/std-pagination.orb +44 -115
  228. package/dist/exports/atoms/std-physics2d.orb +6 -1
  229. package/dist/exports/atoms/std-platformer-canvas.orb +6 -1
  230. package/dist/exports/atoms/std-quest.orb +309 -34
  231. package/dist/exports/atoms/std-rate-limiter.orb +410 -157
  232. package/dist/exports/atoms/std-rating.orb +328 -0
  233. package/dist/exports/atoms/std-score-board.orb +6 -1
  234. package/dist/exports/atoms/std-score.orb +252 -11
  235. package/dist/exports/atoms/std-search.orb +62 -47
  236. package/dist/exports/atoms/std-selection.orb +180 -149
  237. package/dist/exports/atoms/std-simulation-canvas.orb +6 -1
  238. package/dist/exports/atoms/std-sort.orb +192 -60
  239. package/dist/exports/atoms/std-sprite.orb +6 -1
  240. package/dist/exports/atoms/std-tabs.orb +25 -15
  241. package/dist/exports/atoms/std-text-effects.orb +658 -0
  242. package/dist/exports/atoms/std-theme.orb +573 -0
  243. package/dist/exports/atoms/std-timer.orb +483 -91
  244. package/dist/exports/atoms/std-undo.orb +211 -81
  245. package/dist/exports/atoms/std-upload.orb +535 -0
  246. package/dist/exports/atoms/std-wizard.orb +677 -240
  247. package/dist/exports/molecules/std-builder-game.orb +49 -4
  248. package/dist/exports/molecules/std-cart.orb +325 -102
  249. package/dist/exports/molecules/std-classifier-game.orb +49 -4
  250. package/dist/exports/molecules/std-debugger-game.orb +49 -4
  251. package/dist/exports/molecules/std-detail.orb +52 -48
  252. package/dist/exports/molecules/std-event-handler-game.orb +49 -4
  253. package/dist/exports/molecules/std-form-advanced.orb +654 -0
  254. package/dist/exports/molecules/std-geospatial.orb +70 -51
  255. package/dist/exports/molecules/std-inventory.orb +92 -53
  256. package/dist/exports/molecules/std-list.orb +416 -52
  257. package/dist/exports/molecules/std-messaging.orb +41 -49
  258. package/dist/exports/molecules/std-negotiator-game.orb +49 -4
  259. package/dist/exports/molecules/std-platformer-game.orb +58 -3
  260. package/dist/exports/molecules/std-puzzle-game.orb +58 -7
  261. package/dist/exports/molecules/std-quiz.orb +1045 -0
  262. package/dist/exports/molecules/std-sequencer-game.orb +49 -4
  263. package/dist/exports/molecules/std-simulator-game.orb +49 -4
  264. package/dist/exports/molecules/std-turn-based-battle.orb +66 -1
  265. package/dist/exports/organisms/std-api-gateway.orb +2615 -867
  266. package/dist/exports/organisms/std-arcade-game.orb +399 -197
  267. package/dist/exports/organisms/std-booking-system.orb +3154 -1305
  268. package/dist/exports/organisms/std-cicd-pipeline.orb +2298 -779
  269. package/dist/exports/organisms/std-cms.orb +1150 -277
  270. package/dist/exports/organisms/std-coding-academy.orb +1222 -533
  271. package/dist/exports/organisms/std-crm.orb +2357 -821
  272. package/dist/exports/organisms/std-devops-dashboard.orb +4230 -1281
  273. package/dist/exports/organisms/std-ecommerce.orb +2660 -1098
  274. package/dist/exports/organisms/std-finance-tracker.orb +1749 -737
  275. package/dist/exports/organisms/std-healthcare.orb +3593 -1478
  276. package/dist/exports/organisms/std-helpdesk.orb +1870 -738
  277. package/dist/exports/organisms/std-hr-portal.orb +3290 -1385
  278. package/dist/exports/organisms/std-iot-dashboard.orb +2704 -788
  279. package/dist/exports/organisms/std-lms.orb +2548 -1192
  280. package/dist/exports/organisms/std-logic-training.orb +220 -66
  281. package/dist/exports/organisms/std-platformer-app.orb +373 -194
  282. package/dist/exports/organisms/std-project-manager.orb +2347 -806
  283. package/dist/exports/organisms/std-puzzle-app.orb +240 -95
  284. package/dist/exports/organisms/std-realtime-chat.orb +2020 -660
  285. package/dist/exports/organisms/std-rpg-game.orb +1303 -740
  286. package/dist/exports/organisms/std-social-feed.orb +184 -168
  287. package/dist/exports/organisms/std-stem-lab.orb +1223 -512
  288. package/dist/exports/organisms/std-strategy-game.orb +1412 -731
  289. package/dist/exports/organisms/std-trading-dashboard.orb +1869 -695
  290. package/dist/exports/validation-report.json +3 -750
  291. package/dist/exports/verify-results.json +13 -0
  292. package/dist/index.d.ts +1 -1
  293. package/dist/index.js +3808 -1330
  294. package/dist/index.js.map +1 -1
  295. package/package.json +1 -1
@@ -22,7 +22,13 @@
22
22
  {
23
23
  "name": "status",
24
24
  "type": "string",
25
- "required": true
25
+ "required": true,
26
+ "values": [
27
+ "pending",
28
+ "running",
29
+ "success",
30
+ "failed"
31
+ ]
26
32
  },
27
33
  {
28
34
  "name": "commit",
@@ -150,118 +156,124 @@
150
156
  "render-ui",
151
157
  "main",
152
158
  {
153
- "type": "stack",
154
- "direction": "vertical",
155
- "gap": "lg",
156
- "children": [
159
+ "type": "dashboard-layout",
160
+ "appName": "CI/CD Pipeline",
161
+ "navItems": [
157
162
  {
158
- "type": "stack",
159
- "direction": "horizontal",
160
- "gap": "md",
161
- "justify": "space-between",
162
- "children": [
163
- {
164
- "type": "stack",
165
- "direction": "horizontal",
166
- "gap": "sm",
167
- "align": "center",
168
- "children": [
169
- {
170
- "type": "icon",
171
- "name": "package",
172
- "size": "lg"
173
- },
174
- {
175
- "type": "typography",
176
- "content": "Builds",
177
- "variant": "h2"
178
- }
179
- ]
180
- },
181
- {
182
- "type": "stack",
183
- "direction": "horizontal",
184
- "gap": "sm",
185
- "children": [
186
- {
187
- "type": "button",
188
- "label": "Create Build",
189
- "event": "CREATE",
190
- "variant": "primary",
191
- "icon": "plus"
192
- }
193
- ]
194
- }
195
- ]
163
+ "label": "Builds",
164
+ "href": "/builds",
165
+ "icon": "hammer"
196
166
  },
197
167
  {
198
- "type": "divider"
168
+ "label": "Stages",
169
+ "href": "/stages",
170
+ "icon": "layers"
199
171
  },
200
172
  {
201
- "type": "data-grid",
202
- "entity": "Build",
203
- "emptyIcon": "inbox",
204
- "emptyTitle": "No builds yet",
205
- "emptyDescription": "Create your first build to get started.",
206
- "itemActions": [
207
- {
208
- "label": "View",
209
- "event": "VIEW"
210
- },
211
- {
212
- "label": "Edit",
213
- "event": "EDIT"
214
- },
215
- {
216
- "label": "Delete",
217
- "event": "DELETE",
218
- "variant": "danger"
219
- }
220
- ],
221
- "className": "transition-shadow hover:shadow-md cursor-pointer",
173
+ "label": "Deploy",
174
+ "href": "/deploy",
175
+ "icon": "rocket"
176
+ }
177
+ ],
178
+ "children": [
179
+ {
180
+ "type": "stack",
181
+ "direction": "vertical",
182
+ "gap": "lg",
183
+ "className": "max-w-5xl mx-auto w-full",
222
184
  "children": [
223
185
  {
224
186
  "type": "stack",
225
- "direction": "vertical",
226
- "gap": "sm",
187
+ "direction": "horizontal",
188
+ "gap": "md",
189
+ "justify": "space-between",
190
+ "align": "center",
227
191
  "children": [
228
192
  {
229
193
  "type": "stack",
230
194
  "direction": "horizontal",
231
- "justify": "space-between",
195
+ "gap": "sm",
232
196
  "align": "center",
233
197
  "children": [
234
198
  {
235
- "type": "stack",
236
- "direction": "horizontal",
237
- "gap": "sm",
238
- "align": "center",
239
- "children": [
240
- {
241
- "type": "icon",
242
- "name": "package",
243
- "size": "sm"
244
- },
245
- {
246
- "type": "typography",
247
- "variant": "h4",
248
- "content": "@entity.branch"
249
- }
250
- ]
199
+ "type": "icon",
200
+ "name": "package",
201
+ "size": "lg"
251
202
  },
252
203
  {
253
- "type": "badge",
254
- "label": "@entity.status"
204
+ "type": "typography",
205
+ "content": "Builds",
206
+ "variant": "h2"
255
207
  }
256
208
  ]
257
209
  },
258
210
  {
259
- "type": "typography",
260
- "variant": "caption",
261
- "color": "muted",
262
- "content": "@entity.commit"
211
+ "type": "stack",
212
+ "direction": "horizontal",
213
+ "gap": "sm",
214
+ "children": [
215
+ {
216
+ "type": "button",
217
+ "label": "Create Build",
218
+ "event": "CREATE",
219
+ "variant": "primary",
220
+ "icon": "plus"
221
+ }
222
+ ]
263
223
  }
264
224
  ]
225
+ },
226
+ {
227
+ "type": "divider"
228
+ },
229
+ {
230
+ "type": "data-list",
231
+ "entity": "Build",
232
+ "emptyIcon": "inbox",
233
+ "emptyTitle": "No builds yet",
234
+ "emptyDescription": "Trigger a build to get started.",
235
+ "itemActions": [
236
+ {
237
+ "label": "View",
238
+ "event": "VIEW",
239
+ "variant": "ghost",
240
+ "size": "sm"
241
+ },
242
+ {
243
+ "label": "Edit",
244
+ "event": "EDIT",
245
+ "variant": "ghost",
246
+ "size": "sm"
247
+ },
248
+ {
249
+ "label": "Delete",
250
+ "event": "DELETE",
251
+ "variant": "danger",
252
+ "size": "sm"
253
+ }
254
+ ],
255
+ "columns": [
256
+ {
257
+ "name": "branch",
258
+ "variant": "h3",
259
+ "icon": "git-branch"
260
+ },
261
+ {
262
+ "name": "status",
263
+ "variant": "badge"
264
+ },
265
+ {
266
+ "name": "commit",
267
+ "variant": "body"
268
+ },
269
+ {
270
+ "name": "triggeredBy",
271
+ "label": "Triggered By",
272
+ "variant": "caption"
273
+ }
274
+ ],
275
+ "variant": "card",
276
+ "gap": "sm"
265
277
  }
266
278
  ]
267
279
  }
@@ -381,6 +393,134 @@
381
393
  "fetch",
382
394
  "Build"
383
395
  ],
396
+ [
397
+ "render-ui",
398
+ "main",
399
+ {
400
+ "type": "dashboard-layout",
401
+ "appName": "CI/CD Pipeline",
402
+ "navItems": [
403
+ {
404
+ "label": "Builds",
405
+ "href": "/builds",
406
+ "icon": "hammer"
407
+ },
408
+ {
409
+ "label": "Stages",
410
+ "href": "/stages",
411
+ "icon": "layers"
412
+ },
413
+ {
414
+ "label": "Deploy",
415
+ "href": "/deploy",
416
+ "icon": "rocket"
417
+ }
418
+ ],
419
+ "children": [
420
+ {
421
+ "type": "stack",
422
+ "direction": "vertical",
423
+ "gap": "lg",
424
+ "className": "max-w-5xl mx-auto w-full",
425
+ "children": [
426
+ {
427
+ "type": "stack",
428
+ "direction": "horizontal",
429
+ "gap": "md",
430
+ "justify": "space-between",
431
+ "align": "center",
432
+ "children": [
433
+ {
434
+ "type": "stack",
435
+ "direction": "horizontal",
436
+ "gap": "sm",
437
+ "align": "center",
438
+ "children": [
439
+ {
440
+ "type": "icon",
441
+ "name": "package",
442
+ "size": "lg"
443
+ },
444
+ {
445
+ "type": "typography",
446
+ "content": "Builds",
447
+ "variant": "h2"
448
+ }
449
+ ]
450
+ },
451
+ {
452
+ "type": "stack",
453
+ "direction": "horizontal",
454
+ "gap": "sm",
455
+ "children": [
456
+ {
457
+ "type": "button",
458
+ "label": "Create Build",
459
+ "event": "CREATE",
460
+ "variant": "primary",
461
+ "icon": "plus"
462
+ }
463
+ ]
464
+ }
465
+ ]
466
+ },
467
+ {
468
+ "type": "divider"
469
+ },
470
+ {
471
+ "type": "data-list",
472
+ "entity": "Build",
473
+ "emptyIcon": "inbox",
474
+ "emptyTitle": "No builds yet",
475
+ "emptyDescription": "Trigger a build to get started.",
476
+ "itemActions": [
477
+ {
478
+ "label": "View",
479
+ "event": "VIEW",
480
+ "variant": "ghost",
481
+ "size": "sm"
482
+ },
483
+ {
484
+ "label": "Edit",
485
+ "event": "EDIT",
486
+ "variant": "ghost",
487
+ "size": "sm"
488
+ },
489
+ {
490
+ "label": "Delete",
491
+ "event": "DELETE",
492
+ "variant": "danger",
493
+ "size": "sm"
494
+ }
495
+ ],
496
+ "columns": [
497
+ {
498
+ "name": "branch",
499
+ "variant": "h3",
500
+ "icon": "git-branch"
501
+ },
502
+ {
503
+ "name": "status",
504
+ "variant": "badge"
505
+ },
506
+ {
507
+ "name": "commit",
508
+ "variant": "body"
509
+ },
510
+ {
511
+ "name": "triggeredBy",
512
+ "label": "Triggered By",
513
+ "variant": "caption"
514
+ }
515
+ ],
516
+ "variant": "card",
517
+ "gap": "sm"
518
+ }
519
+ ]
520
+ }
521
+ ]
522
+ }
523
+ ],
384
524
  [
385
525
  "notify",
386
526
  "Build deleted successfully"
@@ -396,101 +536,365 @@
396
536
  "render-ui",
397
537
  "modal",
398
538
  null
399
- ]
400
- ]
401
- },
402
- {
403
- "from": "deleting",
404
- "to": "browsing",
405
- "event": "CLOSE",
406
- "effects": [
407
- [
408
- "render-ui",
409
- "modal",
410
- null
411
- ]
412
- ]
413
- }
414
- ]
415
- }
416
- },
417
- {
418
- "name": "BuildCreate",
419
- "linkedEntity": "Build",
420
- "category": "interaction",
421
- "emits": [
422
- {
423
- "event": "BUILD_CREATED"
424
- }
425
- ],
426
- "stateMachine": {
427
- "states": [
428
- {
429
- "name": "closed",
430
- "isInitial": true
431
- },
432
- {
433
- "name": "open"
434
- }
435
- ],
436
- "events": [
437
- {
438
- "key": "INIT",
439
- "name": "Initialize"
440
- },
441
- {
442
- "key": "CREATE",
443
- "name": "Open"
444
- },
445
- {
446
- "key": "CLOSE",
447
- "name": "Close"
448
- },
449
- {
450
- "key": "SAVE",
451
- "name": "Save",
452
- "payload": [
453
- {
454
- "name": "data",
455
- "type": "object",
456
- "required": true
457
- }
458
- ]
459
- }
460
- ],
461
- "transitions": [
462
- {
463
- "from": "closed",
464
- "to": "closed",
465
- "event": "INIT",
466
- "effects": [
467
- [
468
- "fetch",
469
- "Build"
470
- ]
471
- ]
472
- },
473
- {
474
- "from": "closed",
475
- "to": "open",
476
- "event": "CREATE",
477
- "effects": [
539
+ ],
478
540
  [
479
541
  "fetch",
480
542
  "Build"
481
543
  ],
482
544
  [
483
545
  "render-ui",
484
- "modal",
546
+ "main",
485
547
  {
486
- "type": "stack",
487
- "direction": "vertical",
488
- "gap": "md",
548
+ "type": "dashboard-layout",
549
+ "appName": "CI/CD Pipeline",
550
+ "navItems": [
551
+ {
552
+ "label": "Builds",
553
+ "href": "/builds",
554
+ "icon": "hammer"
555
+ },
556
+ {
557
+ "label": "Stages",
558
+ "href": "/stages",
559
+ "icon": "layers"
560
+ },
561
+ {
562
+ "label": "Deploy",
563
+ "href": "/deploy",
564
+ "icon": "rocket"
565
+ }
566
+ ],
489
567
  "children": [
490
568
  {
491
569
  "type": "stack",
492
- "direction": "horizontal",
493
- "gap": "sm",
570
+ "direction": "vertical",
571
+ "gap": "lg",
572
+ "className": "max-w-5xl mx-auto w-full",
573
+ "children": [
574
+ {
575
+ "type": "stack",
576
+ "direction": "horizontal",
577
+ "gap": "md",
578
+ "justify": "space-between",
579
+ "align": "center",
580
+ "children": [
581
+ {
582
+ "type": "stack",
583
+ "direction": "horizontal",
584
+ "gap": "sm",
585
+ "align": "center",
586
+ "children": [
587
+ {
588
+ "type": "icon",
589
+ "name": "package",
590
+ "size": "lg"
591
+ },
592
+ {
593
+ "type": "typography",
594
+ "content": "Builds",
595
+ "variant": "h2"
596
+ }
597
+ ]
598
+ },
599
+ {
600
+ "type": "stack",
601
+ "direction": "horizontal",
602
+ "gap": "sm",
603
+ "children": [
604
+ {
605
+ "type": "button",
606
+ "label": "Create Build",
607
+ "event": "CREATE",
608
+ "variant": "primary",
609
+ "icon": "plus"
610
+ }
611
+ ]
612
+ }
613
+ ]
614
+ },
615
+ {
616
+ "type": "divider"
617
+ },
618
+ {
619
+ "type": "data-list",
620
+ "entity": "Build",
621
+ "emptyIcon": "inbox",
622
+ "emptyTitle": "No builds yet",
623
+ "emptyDescription": "Trigger a build to get started.",
624
+ "itemActions": [
625
+ {
626
+ "label": "View",
627
+ "event": "VIEW",
628
+ "variant": "ghost",
629
+ "size": "sm"
630
+ },
631
+ {
632
+ "label": "Edit",
633
+ "event": "EDIT",
634
+ "variant": "ghost",
635
+ "size": "sm"
636
+ },
637
+ {
638
+ "label": "Delete",
639
+ "event": "DELETE",
640
+ "variant": "danger",
641
+ "size": "sm"
642
+ }
643
+ ],
644
+ "columns": [
645
+ {
646
+ "name": "branch",
647
+ "variant": "h3",
648
+ "icon": "git-branch"
649
+ },
650
+ {
651
+ "name": "status",
652
+ "variant": "badge"
653
+ },
654
+ {
655
+ "name": "commit",
656
+ "variant": "body"
657
+ },
658
+ {
659
+ "name": "triggeredBy",
660
+ "label": "Triggered By",
661
+ "variant": "caption"
662
+ }
663
+ ],
664
+ "variant": "card",
665
+ "gap": "sm"
666
+ }
667
+ ]
668
+ }
669
+ ]
670
+ }
671
+ ]
672
+ ]
673
+ },
674
+ {
675
+ "from": "deleting",
676
+ "to": "browsing",
677
+ "event": "CLOSE",
678
+ "effects": [
679
+ [
680
+ "render-ui",
681
+ "modal",
682
+ null
683
+ ],
684
+ [
685
+ "fetch",
686
+ "Build"
687
+ ],
688
+ [
689
+ "render-ui",
690
+ "main",
691
+ {
692
+ "type": "dashboard-layout",
693
+ "appName": "CI/CD Pipeline",
694
+ "navItems": [
695
+ {
696
+ "label": "Builds",
697
+ "href": "/builds",
698
+ "icon": "hammer"
699
+ },
700
+ {
701
+ "label": "Stages",
702
+ "href": "/stages",
703
+ "icon": "layers"
704
+ },
705
+ {
706
+ "label": "Deploy",
707
+ "href": "/deploy",
708
+ "icon": "rocket"
709
+ }
710
+ ],
711
+ "children": [
712
+ {
713
+ "type": "stack",
714
+ "direction": "vertical",
715
+ "gap": "lg",
716
+ "className": "max-w-5xl mx-auto w-full",
717
+ "children": [
718
+ {
719
+ "type": "stack",
720
+ "direction": "horizontal",
721
+ "gap": "md",
722
+ "justify": "space-between",
723
+ "align": "center",
724
+ "children": [
725
+ {
726
+ "type": "stack",
727
+ "direction": "horizontal",
728
+ "gap": "sm",
729
+ "align": "center",
730
+ "children": [
731
+ {
732
+ "type": "icon",
733
+ "name": "package",
734
+ "size": "lg"
735
+ },
736
+ {
737
+ "type": "typography",
738
+ "content": "Builds",
739
+ "variant": "h2"
740
+ }
741
+ ]
742
+ },
743
+ {
744
+ "type": "stack",
745
+ "direction": "horizontal",
746
+ "gap": "sm",
747
+ "children": [
748
+ {
749
+ "type": "button",
750
+ "label": "Create Build",
751
+ "event": "CREATE",
752
+ "variant": "primary",
753
+ "icon": "plus"
754
+ }
755
+ ]
756
+ }
757
+ ]
758
+ },
759
+ {
760
+ "type": "divider"
761
+ },
762
+ {
763
+ "type": "data-list",
764
+ "entity": "Build",
765
+ "emptyIcon": "inbox",
766
+ "emptyTitle": "No builds yet",
767
+ "emptyDescription": "Trigger a build to get started.",
768
+ "itemActions": [
769
+ {
770
+ "label": "View",
771
+ "event": "VIEW",
772
+ "variant": "ghost",
773
+ "size": "sm"
774
+ },
775
+ {
776
+ "label": "Edit",
777
+ "event": "EDIT",
778
+ "variant": "ghost",
779
+ "size": "sm"
780
+ },
781
+ {
782
+ "label": "Delete",
783
+ "event": "DELETE",
784
+ "variant": "danger",
785
+ "size": "sm"
786
+ }
787
+ ],
788
+ "columns": [
789
+ {
790
+ "name": "branch",
791
+ "variant": "h3",
792
+ "icon": "git-branch"
793
+ },
794
+ {
795
+ "name": "status",
796
+ "variant": "badge"
797
+ },
798
+ {
799
+ "name": "commit",
800
+ "variant": "body"
801
+ },
802
+ {
803
+ "name": "triggeredBy",
804
+ "label": "Triggered By",
805
+ "variant": "caption"
806
+ }
807
+ ],
808
+ "variant": "card",
809
+ "gap": "sm"
810
+ }
811
+ ]
812
+ }
813
+ ]
814
+ }
815
+ ]
816
+ ]
817
+ }
818
+ ]
819
+ }
820
+ },
821
+ {
822
+ "name": "BuildCreate",
823
+ "linkedEntity": "Build",
824
+ "category": "interaction",
825
+ "emits": [
826
+ {
827
+ "event": "BUILD_CREATED"
828
+ }
829
+ ],
830
+ "stateMachine": {
831
+ "states": [
832
+ {
833
+ "name": "closed",
834
+ "isInitial": true
835
+ },
836
+ {
837
+ "name": "open"
838
+ }
839
+ ],
840
+ "events": [
841
+ {
842
+ "key": "INIT",
843
+ "name": "Initialize"
844
+ },
845
+ {
846
+ "key": "CREATE",
847
+ "name": "Open"
848
+ },
849
+ {
850
+ "key": "CLOSE",
851
+ "name": "Close"
852
+ },
853
+ {
854
+ "key": "SAVE",
855
+ "name": "Save",
856
+ "payload": [
857
+ {
858
+ "name": "data",
859
+ "type": "object",
860
+ "required": true
861
+ }
862
+ ]
863
+ }
864
+ ],
865
+ "transitions": [
866
+ {
867
+ "from": "closed",
868
+ "to": "closed",
869
+ "event": "INIT",
870
+ "effects": [
871
+ [
872
+ "fetch",
873
+ "Build"
874
+ ]
875
+ ]
876
+ },
877
+ {
878
+ "from": "closed",
879
+ "to": "open",
880
+ "event": "CREATE",
881
+ "effects": [
882
+ [
883
+ "fetch",
884
+ "Build"
885
+ ],
886
+ [
887
+ "render-ui",
888
+ "modal",
889
+ {
890
+ "type": "stack",
891
+ "direction": "vertical",
892
+ "gap": "md",
893
+ "children": [
894
+ {
895
+ "type": "stack",
896
+ "direction": "horizontal",
897
+ "gap": "sm",
494
898
  "children": [
495
899
  {
496
900
  "type": "icon",
@@ -534,6 +938,11 @@
534
938
  "render-ui",
535
939
  "modal",
536
940
  null
941
+ ],
942
+ [
943
+ "notify",
944
+ "Cancelled",
945
+ "info"
537
946
  ]
538
947
  ]
539
948
  },
@@ -699,6 +1108,11 @@
699
1108
  "render-ui",
700
1109
  "modal",
701
1110
  null
1111
+ ],
1112
+ [
1113
+ "notify",
1114
+ "Cancelled",
1115
+ "info"
702
1116
  ]
703
1117
  ]
704
1118
  },
@@ -880,7 +1294,7 @@
880
1294
  {
881
1295
  "type": "typography",
882
1296
  "variant": "caption",
883
- "content": "TriggeredBy"
1297
+ "content": "Triggered By"
884
1298
  },
885
1299
  {
886
1300
  "type": "typography",
@@ -927,6 +1341,11 @@
927
1341
  "render-ui",
928
1342
  "modal",
929
1343
  null
1344
+ ],
1345
+ [
1346
+ "notify",
1347
+ "Cancelled",
1348
+ "info"
930
1349
  ]
931
1350
  ]
932
1351
  }
@@ -1037,134 +1456,318 @@
1037
1456
  "render-ui",
1038
1457
  "main",
1039
1458
  {
1040
- "type": "stack",
1041
- "direction": "vertical",
1042
- "gap": "lg",
1459
+ "type": "dashboard-layout",
1460
+ "appName": "CI/CD Pipeline",
1461
+ "navItems": [
1462
+ {
1463
+ "label": "Builds",
1464
+ "href": "/builds",
1465
+ "icon": "hammer"
1466
+ },
1467
+ {
1468
+ "label": "Stages",
1469
+ "href": "/stages",
1470
+ "icon": "layers"
1471
+ },
1472
+ {
1473
+ "label": "Deploy",
1474
+ "href": "/deploy",
1475
+ "icon": "rocket"
1476
+ }
1477
+ ],
1043
1478
  "children": [
1044
1479
  {
1045
- "type": "stack",
1046
- "direction": "horizontal",
1047
- "gap": "md",
1048
- "justify": "space-between",
1480
+ "type": "scaled-diagram",
1049
1481
  "children": [
1050
1482
  {
1051
1483
  "type": "stack",
1052
- "direction": "horizontal",
1053
- "gap": "md",
1484
+ "direction": "vertical",
1485
+ "gap": "lg",
1054
1486
  "children": [
1055
1487
  {
1056
- "type": "icon",
1057
- "name": "layers",
1058
- "size": "lg"
1488
+ "type": "breadcrumb",
1489
+ "items": [
1490
+ {
1491
+ "label": "Home",
1492
+ "href": "/"
1493
+ },
1494
+ {
1495
+ "label": "Stages"
1496
+ }
1497
+ ]
1059
1498
  },
1060
- {
1061
- "type": "typography",
1062
- "content": "Stages",
1063
- "variant": "h2"
1064
- }
1065
- ]
1066
- },
1067
- {
1068
- "type": "button",
1069
- "label": "Refresh",
1070
- "event": "REFRESH",
1071
- "variant": "secondary",
1072
- "icon": "refresh-cw"
1073
- }
1074
- ]
1075
- },
1076
- {
1077
- "type": "divider"
1078
- },
1079
- {
1080
- "type": "simple-grid",
1081
- "columns": 3,
1082
- "children": [
1083
- {
1084
- "type": "card",
1085
- "children": [
1086
1499
  {
1087
1500
  "type": "stack",
1088
- "direction": "vertical",
1089
- "gap": "sm",
1501
+ "direction": "horizontal",
1502
+ "gap": "md",
1503
+ "justify": "space-between",
1090
1504
  "children": [
1091
1505
  {
1092
- "type": "typography",
1093
- "variant": "caption",
1094
- "content": "Name"
1506
+ "type": "stack",
1507
+ "direction": "horizontal",
1508
+ "gap": "md",
1509
+ "children": [
1510
+ {
1511
+ "type": "icon",
1512
+ "name": "layers",
1513
+ "size": "lg"
1514
+ },
1515
+ {
1516
+ "type": "typography",
1517
+ "content": "Stages",
1518
+ "variant": "h2"
1519
+ }
1520
+ ]
1095
1521
  },
1096
1522
  {
1097
- "type": "typography",
1098
- "variant": "h3",
1099
- "content": "@entity.name"
1523
+ "type": "button",
1524
+ "label": "Refresh",
1525
+ "event": "REFRESH",
1526
+ "variant": "secondary",
1527
+ "icon": "refresh-cw"
1100
1528
  }
1101
1529
  ]
1102
- }
1103
- ]
1104
- },
1105
- {
1106
- "type": "card",
1107
- "children": [
1530
+ },
1108
1531
  {
1109
- "type": "stack",
1110
- "direction": "vertical",
1111
- "gap": "sm",
1532
+ "type": "divider"
1533
+ },
1534
+ {
1535
+ "type": "box",
1536
+ "padding": "md",
1112
1537
  "children": [
1113
1538
  {
1114
- "type": "typography",
1115
- "variant": "caption",
1116
- "content": "Status"
1117
- },
1118
- {
1119
- "type": "typography",
1120
- "variant": "h3",
1121
- "content": "@entity.status"
1539
+ "type": "simple-grid",
1540
+ "columns": 3,
1541
+ "children": [
1542
+ {
1543
+ "type": "card",
1544
+ "children": [
1545
+ {
1546
+ "type": "stack",
1547
+ "direction": "vertical",
1548
+ "gap": "sm",
1549
+ "children": [
1550
+ {
1551
+ "type": "typography",
1552
+ "variant": "caption",
1553
+ "content": "Name"
1554
+ },
1555
+ {
1556
+ "type": "typography",
1557
+ "variant": "h3",
1558
+ "content": [
1559
+ "object/get",
1560
+ [
1561
+ "array/first",
1562
+ "@entity"
1563
+ ],
1564
+ "name"
1565
+ ]
1566
+ }
1567
+ ]
1568
+ }
1569
+ ]
1570
+ },
1571
+ {
1572
+ "type": "card",
1573
+ "children": [
1574
+ {
1575
+ "type": "stack",
1576
+ "direction": "vertical",
1577
+ "gap": "sm",
1578
+ "children": [
1579
+ {
1580
+ "type": "typography",
1581
+ "variant": "caption",
1582
+ "content": "Status"
1583
+ },
1584
+ {
1585
+ "type": "typography",
1586
+ "variant": "h3",
1587
+ "content": [
1588
+ "object/get",
1589
+ [
1590
+ "array/first",
1591
+ "@entity"
1592
+ ],
1593
+ "status"
1594
+ ]
1595
+ }
1596
+ ]
1597
+ }
1598
+ ]
1599
+ },
1600
+ {
1601
+ "type": "card",
1602
+ "children": [
1603
+ {
1604
+ "type": "stack",
1605
+ "direction": "vertical",
1606
+ "gap": "sm",
1607
+ "children": [
1608
+ {
1609
+ "type": "typography",
1610
+ "variant": "caption",
1611
+ "content": "Duration"
1612
+ },
1613
+ {
1614
+ "type": "typography",
1615
+ "variant": "h3",
1616
+ "content": [
1617
+ "object/get",
1618
+ [
1619
+ "array/first",
1620
+ "@entity"
1621
+ ],
1622
+ "duration"
1623
+ ]
1624
+ }
1625
+ ]
1626
+ }
1627
+ ]
1628
+ },
1629
+ {
1630
+ "type": "card",
1631
+ "children": [
1632
+ {
1633
+ "type": "stack",
1634
+ "direction": "vertical",
1635
+ "gap": "sm",
1636
+ "children": [
1637
+ {
1638
+ "type": "typography",
1639
+ "variant": "caption",
1640
+ "content": "Output"
1641
+ },
1642
+ {
1643
+ "type": "typography",
1644
+ "variant": "h3",
1645
+ "content": [
1646
+ "object/get",
1647
+ [
1648
+ "array/first",
1649
+ "@entity"
1650
+ ],
1651
+ "output"
1652
+ ]
1653
+ }
1654
+ ]
1655
+ }
1656
+ ]
1657
+ }
1658
+ ]
1122
1659
  }
1123
1660
  ]
1124
- }
1125
- ]
1126
- },
1127
- {
1128
- "type": "card",
1129
- "children": [
1661
+ },
1130
1662
  {
1131
- "type": "stack",
1132
- "direction": "vertical",
1133
- "gap": "sm",
1663
+ "type": "divider"
1664
+ },
1665
+ {
1666
+ "type": "grid",
1667
+ "columns": 2,
1668
+ "gap": "md",
1134
1669
  "children": [
1135
1670
  {
1136
- "type": "typography",
1137
- "variant": "caption",
1138
- "content": "Duration"
1671
+ "type": "card",
1672
+ "children": [
1673
+ {
1674
+ "type": "typography",
1675
+ "variant": "caption",
1676
+ "content": "Chart View"
1677
+ }
1678
+ ]
1139
1679
  },
1140
1680
  {
1141
- "type": "typography",
1142
- "variant": "h3",
1143
- "content": "@entity.duration"
1681
+ "type": "card",
1682
+ "children": [
1683
+ {
1684
+ "type": "typography",
1685
+ "variant": "caption",
1686
+ "content": "Graph View"
1687
+ }
1688
+ ]
1144
1689
  }
1145
1690
  ]
1146
- }
1147
- ]
1148
- },
1149
- {
1150
- "type": "card",
1151
- "children": [
1691
+ },
1152
1692
  {
1153
- "type": "stack",
1154
- "direction": "vertical",
1155
- "gap": "sm",
1156
- "children": [
1693
+ "type": "line-chart",
1694
+ "data": [
1157
1695
  {
1158
- "type": "typography",
1159
- "variant": "caption",
1160
- "content": "Output"
1696
+ "date": "Jan",
1697
+ "value": 12
1161
1698
  },
1162
1699
  {
1163
- "type": "typography",
1164
- "variant": "h3",
1165
- "content": "@entity.output"
1700
+ "date": "Feb",
1701
+ "value": 19
1702
+ },
1703
+ {
1704
+ "date": "Mar",
1705
+ "value": 15
1706
+ },
1707
+ {
1708
+ "date": "Apr",
1709
+ "value": 25
1710
+ },
1711
+ {
1712
+ "date": "May",
1713
+ "value": 22
1714
+ },
1715
+ {
1716
+ "date": "Jun",
1717
+ "value": 30
1718
+ }
1719
+ ],
1720
+ "xKey": "date",
1721
+ "yKey": "value",
1722
+ "title": "Trend"
1723
+ },
1724
+ {
1725
+ "type": "chart-legend",
1726
+ "items": [
1727
+ {
1728
+ "label": "Current",
1729
+ "color": "primary"
1730
+ },
1731
+ {
1732
+ "label": "Previous",
1733
+ "color": "muted"
1166
1734
  }
1167
1735
  ]
1736
+ },
1737
+ {
1738
+ "type": "graph-view",
1739
+ "nodes": [
1740
+ {
1741
+ "id": "a",
1742
+ "label": "Start",
1743
+ "x": 50,
1744
+ "y": 100
1745
+ },
1746
+ {
1747
+ "id": "b",
1748
+ "label": "Process",
1749
+ "x": 200,
1750
+ "y": 50
1751
+ },
1752
+ {
1753
+ "id": "c",
1754
+ "label": "End",
1755
+ "x": 350,
1756
+ "y": 100
1757
+ }
1758
+ ],
1759
+ "edges": [
1760
+ {
1761
+ "from": "a",
1762
+ "to": "b"
1763
+ },
1764
+ {
1765
+ "from": "b",
1766
+ "to": "c"
1767
+ }
1768
+ ],
1769
+ "width": 400,
1770
+ "height": 200
1168
1771
  }
1169
1772
  ]
1170
1773
  }
@@ -1188,134 +1791,318 @@
1188
1791
  "render-ui",
1189
1792
  "main",
1190
1793
  {
1191
- "type": "stack",
1192
- "direction": "vertical",
1193
- "gap": "lg",
1194
- "children": [
1794
+ "type": "dashboard-layout",
1795
+ "appName": "CI/CD Pipeline",
1796
+ "navItems": [
1195
1797
  {
1196
- "type": "stack",
1197
- "direction": "horizontal",
1198
- "gap": "md",
1199
- "justify": "space-between",
1200
- "children": [
1201
- {
1202
- "type": "stack",
1203
- "direction": "horizontal",
1204
- "gap": "md",
1205
- "children": [
1206
- {
1207
- "type": "icon",
1208
- "name": "layers",
1209
- "size": "lg"
1210
- },
1211
- {
1212
- "type": "typography",
1213
- "content": "Stages",
1214
- "variant": "h2"
1215
- }
1216
- ]
1217
- },
1218
- {
1219
- "type": "button",
1220
- "label": "Refresh",
1221
- "event": "REFRESH",
1222
- "variant": "secondary",
1223
- "icon": "refresh-cw"
1224
- }
1225
- ]
1798
+ "label": "Builds",
1799
+ "href": "/builds",
1800
+ "icon": "hammer"
1226
1801
  },
1227
1802
  {
1228
- "type": "divider"
1803
+ "label": "Stages",
1804
+ "href": "/stages",
1805
+ "icon": "layers"
1229
1806
  },
1230
1807
  {
1231
- "type": "simple-grid",
1232
- "columns": 3,
1808
+ "label": "Deploy",
1809
+ "href": "/deploy",
1810
+ "icon": "rocket"
1811
+ }
1812
+ ],
1813
+ "children": [
1814
+ {
1815
+ "type": "scaled-diagram",
1233
1816
  "children": [
1234
1817
  {
1235
- "type": "card",
1818
+ "type": "stack",
1819
+ "direction": "vertical",
1820
+ "gap": "lg",
1236
1821
  "children": [
1237
1822
  {
1238
- "type": "stack",
1239
- "direction": "vertical",
1240
- "gap": "sm",
1241
- "children": [
1823
+ "type": "breadcrumb",
1824
+ "items": [
1242
1825
  {
1243
- "type": "typography",
1244
- "variant": "caption",
1245
- "content": "Name"
1826
+ "label": "Home",
1827
+ "href": "/"
1246
1828
  },
1247
1829
  {
1248
- "type": "typography",
1249
- "variant": "h3",
1250
- "content": "@entity.name"
1830
+ "label": "Stages"
1251
1831
  }
1252
1832
  ]
1253
- }
1254
- ]
1255
- },
1256
- {
1257
- "type": "card",
1258
- "children": [
1833
+ },
1259
1834
  {
1260
1835
  "type": "stack",
1261
- "direction": "vertical",
1262
- "gap": "sm",
1836
+ "direction": "horizontal",
1837
+ "gap": "md",
1838
+ "justify": "space-between",
1263
1839
  "children": [
1264
1840
  {
1265
- "type": "typography",
1266
- "variant": "caption",
1267
- "content": "Status"
1841
+ "type": "stack",
1842
+ "direction": "horizontal",
1843
+ "gap": "md",
1844
+ "children": [
1845
+ {
1846
+ "type": "icon",
1847
+ "name": "layers",
1848
+ "size": "lg"
1849
+ },
1850
+ {
1851
+ "type": "typography",
1852
+ "content": "Stages",
1853
+ "variant": "h2"
1854
+ }
1855
+ ]
1268
1856
  },
1269
1857
  {
1270
- "type": "typography",
1271
- "variant": "h3",
1272
- "content": "@entity.status"
1858
+ "type": "button",
1859
+ "label": "Refresh",
1860
+ "event": "REFRESH",
1861
+ "variant": "secondary",
1862
+ "icon": "refresh-cw"
1273
1863
  }
1274
1864
  ]
1275
- }
1276
- ]
1277
- },
1278
- {
1279
- "type": "card",
1280
- "children": [
1865
+ },
1281
1866
  {
1282
- "type": "stack",
1283
- "direction": "vertical",
1284
- "gap": "sm",
1867
+ "type": "divider"
1868
+ },
1869
+ {
1870
+ "type": "box",
1871
+ "padding": "md",
1285
1872
  "children": [
1286
1873
  {
1287
- "type": "typography",
1288
- "variant": "caption",
1289
- "content": "Duration"
1874
+ "type": "simple-grid",
1875
+ "columns": 3,
1876
+ "children": [
1877
+ {
1878
+ "type": "card",
1879
+ "children": [
1880
+ {
1881
+ "type": "stack",
1882
+ "direction": "vertical",
1883
+ "gap": "sm",
1884
+ "children": [
1885
+ {
1886
+ "type": "typography",
1887
+ "variant": "caption",
1888
+ "content": "Name"
1889
+ },
1890
+ {
1891
+ "type": "typography",
1892
+ "variant": "h3",
1893
+ "content": [
1894
+ "object/get",
1895
+ [
1896
+ "array/first",
1897
+ "@entity"
1898
+ ],
1899
+ "name"
1900
+ ]
1901
+ }
1902
+ ]
1903
+ }
1904
+ ]
1905
+ },
1906
+ {
1907
+ "type": "card",
1908
+ "children": [
1909
+ {
1910
+ "type": "stack",
1911
+ "direction": "vertical",
1912
+ "gap": "sm",
1913
+ "children": [
1914
+ {
1915
+ "type": "typography",
1916
+ "variant": "caption",
1917
+ "content": "Status"
1918
+ },
1919
+ {
1920
+ "type": "typography",
1921
+ "variant": "h3",
1922
+ "content": [
1923
+ "object/get",
1924
+ [
1925
+ "array/first",
1926
+ "@entity"
1927
+ ],
1928
+ "status"
1929
+ ]
1930
+ }
1931
+ ]
1932
+ }
1933
+ ]
1934
+ },
1935
+ {
1936
+ "type": "card",
1937
+ "children": [
1938
+ {
1939
+ "type": "stack",
1940
+ "direction": "vertical",
1941
+ "gap": "sm",
1942
+ "children": [
1943
+ {
1944
+ "type": "typography",
1945
+ "variant": "caption",
1946
+ "content": "Duration"
1947
+ },
1948
+ {
1949
+ "type": "typography",
1950
+ "variant": "h3",
1951
+ "content": [
1952
+ "object/get",
1953
+ [
1954
+ "array/first",
1955
+ "@entity"
1956
+ ],
1957
+ "duration"
1958
+ ]
1959
+ }
1960
+ ]
1961
+ }
1962
+ ]
1963
+ },
1964
+ {
1965
+ "type": "card",
1966
+ "children": [
1967
+ {
1968
+ "type": "stack",
1969
+ "direction": "vertical",
1970
+ "gap": "sm",
1971
+ "children": [
1972
+ {
1973
+ "type": "typography",
1974
+ "variant": "caption",
1975
+ "content": "Output"
1976
+ },
1977
+ {
1978
+ "type": "typography",
1979
+ "variant": "h3",
1980
+ "content": [
1981
+ "object/get",
1982
+ [
1983
+ "array/first",
1984
+ "@entity"
1985
+ ],
1986
+ "output"
1987
+ ]
1988
+ }
1989
+ ]
1990
+ }
1991
+ ]
1992
+ }
1993
+ ]
1994
+ }
1995
+ ]
1996
+ },
1997
+ {
1998
+ "type": "divider"
1999
+ },
2000
+ {
2001
+ "type": "grid",
2002
+ "columns": 2,
2003
+ "gap": "md",
2004
+ "children": [
2005
+ {
2006
+ "type": "card",
2007
+ "children": [
2008
+ {
2009
+ "type": "typography",
2010
+ "variant": "caption",
2011
+ "content": "Chart View"
2012
+ }
2013
+ ]
1290
2014
  },
1291
2015
  {
1292
- "type": "typography",
1293
- "variant": "h3",
1294
- "content": "@entity.duration"
2016
+ "type": "card",
2017
+ "children": [
2018
+ {
2019
+ "type": "typography",
2020
+ "variant": "caption",
2021
+ "content": "Graph View"
2022
+ }
2023
+ ]
1295
2024
  }
1296
2025
  ]
1297
- }
1298
- ]
1299
- },
1300
- {
1301
- "type": "card",
1302
- "children": [
2026
+ },
1303
2027
  {
1304
- "type": "stack",
1305
- "direction": "vertical",
1306
- "gap": "sm",
1307
- "children": [
2028
+ "type": "line-chart",
2029
+ "data": [
1308
2030
  {
1309
- "type": "typography",
1310
- "variant": "caption",
1311
- "content": "Output"
2031
+ "date": "Jan",
2032
+ "value": 12
1312
2033
  },
1313
2034
  {
1314
- "type": "typography",
1315
- "variant": "h3",
1316
- "content": "@entity.output"
2035
+ "date": "Feb",
2036
+ "value": 19
2037
+ },
2038
+ {
2039
+ "date": "Mar",
2040
+ "value": 15
2041
+ },
2042
+ {
2043
+ "date": "Apr",
2044
+ "value": 25
2045
+ },
2046
+ {
2047
+ "date": "May",
2048
+ "value": 22
2049
+ },
2050
+ {
2051
+ "date": "Jun",
2052
+ "value": 30
2053
+ }
2054
+ ],
2055
+ "xKey": "date",
2056
+ "yKey": "value",
2057
+ "title": "Trend"
2058
+ },
2059
+ {
2060
+ "type": "chart-legend",
2061
+ "items": [
2062
+ {
2063
+ "label": "Current",
2064
+ "color": "primary"
2065
+ },
2066
+ {
2067
+ "label": "Previous",
2068
+ "color": "muted"
1317
2069
  }
1318
2070
  ]
2071
+ },
2072
+ {
2073
+ "type": "graph-view",
2074
+ "nodes": [
2075
+ {
2076
+ "id": "a",
2077
+ "label": "Start",
2078
+ "x": 50,
2079
+ "y": 100
2080
+ },
2081
+ {
2082
+ "id": "b",
2083
+ "label": "Process",
2084
+ "x": 200,
2085
+ "y": 50
2086
+ },
2087
+ {
2088
+ "id": "c",
2089
+ "label": "End",
2090
+ "x": 350,
2091
+ "y": 100
2092
+ }
2093
+ ],
2094
+ "edges": [
2095
+ {
2096
+ "from": "a",
2097
+ "to": "b"
2098
+ },
2099
+ {
2100
+ "from": "b",
2101
+ "to": "c"
2102
+ }
2103
+ ],
2104
+ "width": 400,
2105
+ "height": 200
1319
2106
  }
1320
2107
  ]
1321
2108
  }
@@ -1339,134 +2126,318 @@
1339
2126
  "render-ui",
1340
2127
  "main",
1341
2128
  {
1342
- "type": "stack",
1343
- "direction": "vertical",
1344
- "gap": "lg",
2129
+ "type": "dashboard-layout",
2130
+ "appName": "CI/CD Pipeline",
2131
+ "navItems": [
2132
+ {
2133
+ "label": "Builds",
2134
+ "href": "/builds",
2135
+ "icon": "hammer"
2136
+ },
2137
+ {
2138
+ "label": "Stages",
2139
+ "href": "/stages",
2140
+ "icon": "layers"
2141
+ },
2142
+ {
2143
+ "label": "Deploy",
2144
+ "href": "/deploy",
2145
+ "icon": "rocket"
2146
+ }
2147
+ ],
1345
2148
  "children": [
1346
2149
  {
1347
- "type": "stack",
1348
- "direction": "horizontal",
1349
- "gap": "md",
1350
- "justify": "space-between",
2150
+ "type": "scaled-diagram",
1351
2151
  "children": [
1352
2152
  {
1353
2153
  "type": "stack",
1354
- "direction": "horizontal",
1355
- "gap": "md",
2154
+ "direction": "vertical",
2155
+ "gap": "lg",
1356
2156
  "children": [
1357
2157
  {
1358
- "type": "icon",
1359
- "name": "layers",
1360
- "size": "lg"
2158
+ "type": "breadcrumb",
2159
+ "items": [
2160
+ {
2161
+ "label": "Home",
2162
+ "href": "/"
2163
+ },
2164
+ {
2165
+ "label": "Stages"
2166
+ }
2167
+ ]
1361
2168
  },
1362
- {
1363
- "type": "typography",
1364
- "content": "Stages",
1365
- "variant": "h2"
1366
- }
1367
- ]
1368
- },
1369
- {
1370
- "type": "button",
1371
- "label": "Refresh",
1372
- "event": "REFRESH",
1373
- "variant": "secondary",
1374
- "icon": "refresh-cw"
1375
- }
1376
- ]
1377
- },
1378
- {
1379
- "type": "divider"
1380
- },
1381
- {
1382
- "type": "simple-grid",
1383
- "columns": 3,
1384
- "children": [
1385
- {
1386
- "type": "card",
1387
- "children": [
1388
2169
  {
1389
2170
  "type": "stack",
1390
- "direction": "vertical",
1391
- "gap": "sm",
2171
+ "direction": "horizontal",
2172
+ "gap": "md",
2173
+ "justify": "space-between",
1392
2174
  "children": [
1393
2175
  {
1394
- "type": "typography",
1395
- "variant": "caption",
1396
- "content": "Name"
2176
+ "type": "stack",
2177
+ "direction": "horizontal",
2178
+ "gap": "md",
2179
+ "children": [
2180
+ {
2181
+ "type": "icon",
2182
+ "name": "layers",
2183
+ "size": "lg"
2184
+ },
2185
+ {
2186
+ "type": "typography",
2187
+ "content": "Stages",
2188
+ "variant": "h2"
2189
+ }
2190
+ ]
1397
2191
  },
1398
2192
  {
1399
- "type": "typography",
1400
- "variant": "h3",
1401
- "content": "@entity.name"
2193
+ "type": "button",
2194
+ "label": "Refresh",
2195
+ "event": "REFRESH",
2196
+ "variant": "secondary",
2197
+ "icon": "refresh-cw"
1402
2198
  }
1403
2199
  ]
1404
- }
1405
- ]
1406
- },
1407
- {
1408
- "type": "card",
1409
- "children": [
2200
+ },
1410
2201
  {
1411
- "type": "stack",
1412
- "direction": "vertical",
1413
- "gap": "sm",
2202
+ "type": "divider"
2203
+ },
2204
+ {
2205
+ "type": "box",
2206
+ "padding": "md",
1414
2207
  "children": [
1415
2208
  {
1416
- "type": "typography",
1417
- "variant": "caption",
1418
- "content": "Status"
1419
- },
1420
- {
1421
- "type": "typography",
1422
- "variant": "h3",
1423
- "content": "@entity.status"
2209
+ "type": "simple-grid",
2210
+ "columns": 3,
2211
+ "children": [
2212
+ {
2213
+ "type": "card",
2214
+ "children": [
2215
+ {
2216
+ "type": "stack",
2217
+ "direction": "vertical",
2218
+ "gap": "sm",
2219
+ "children": [
2220
+ {
2221
+ "type": "typography",
2222
+ "variant": "caption",
2223
+ "content": "Name"
2224
+ },
2225
+ {
2226
+ "type": "typography",
2227
+ "variant": "h3",
2228
+ "content": [
2229
+ "object/get",
2230
+ [
2231
+ "array/first",
2232
+ "@entity"
2233
+ ],
2234
+ "name"
2235
+ ]
2236
+ }
2237
+ ]
2238
+ }
2239
+ ]
2240
+ },
2241
+ {
2242
+ "type": "card",
2243
+ "children": [
2244
+ {
2245
+ "type": "stack",
2246
+ "direction": "vertical",
2247
+ "gap": "sm",
2248
+ "children": [
2249
+ {
2250
+ "type": "typography",
2251
+ "variant": "caption",
2252
+ "content": "Status"
2253
+ },
2254
+ {
2255
+ "type": "typography",
2256
+ "variant": "h3",
2257
+ "content": [
2258
+ "object/get",
2259
+ [
2260
+ "array/first",
2261
+ "@entity"
2262
+ ],
2263
+ "status"
2264
+ ]
2265
+ }
2266
+ ]
2267
+ }
2268
+ ]
2269
+ },
2270
+ {
2271
+ "type": "card",
2272
+ "children": [
2273
+ {
2274
+ "type": "stack",
2275
+ "direction": "vertical",
2276
+ "gap": "sm",
2277
+ "children": [
2278
+ {
2279
+ "type": "typography",
2280
+ "variant": "caption",
2281
+ "content": "Duration"
2282
+ },
2283
+ {
2284
+ "type": "typography",
2285
+ "variant": "h3",
2286
+ "content": [
2287
+ "object/get",
2288
+ [
2289
+ "array/first",
2290
+ "@entity"
2291
+ ],
2292
+ "duration"
2293
+ ]
2294
+ }
2295
+ ]
2296
+ }
2297
+ ]
2298
+ },
2299
+ {
2300
+ "type": "card",
2301
+ "children": [
2302
+ {
2303
+ "type": "stack",
2304
+ "direction": "vertical",
2305
+ "gap": "sm",
2306
+ "children": [
2307
+ {
2308
+ "type": "typography",
2309
+ "variant": "caption",
2310
+ "content": "Output"
2311
+ },
2312
+ {
2313
+ "type": "typography",
2314
+ "variant": "h3",
2315
+ "content": [
2316
+ "object/get",
2317
+ [
2318
+ "array/first",
2319
+ "@entity"
2320
+ ],
2321
+ "output"
2322
+ ]
2323
+ }
2324
+ ]
2325
+ }
2326
+ ]
2327
+ }
2328
+ ]
1424
2329
  }
1425
2330
  ]
1426
- }
1427
- ]
1428
- },
1429
- {
1430
- "type": "card",
1431
- "children": [
2331
+ },
1432
2332
  {
1433
- "type": "stack",
1434
- "direction": "vertical",
1435
- "gap": "sm",
2333
+ "type": "divider"
2334
+ },
2335
+ {
2336
+ "type": "grid",
2337
+ "columns": 2,
2338
+ "gap": "md",
1436
2339
  "children": [
1437
2340
  {
1438
- "type": "typography",
1439
- "variant": "caption",
1440
- "content": "Duration"
2341
+ "type": "card",
2342
+ "children": [
2343
+ {
2344
+ "type": "typography",
2345
+ "variant": "caption",
2346
+ "content": "Chart View"
2347
+ }
2348
+ ]
1441
2349
  },
1442
2350
  {
1443
- "type": "typography",
1444
- "variant": "h3",
1445
- "content": "@entity.duration"
2351
+ "type": "card",
2352
+ "children": [
2353
+ {
2354
+ "type": "typography",
2355
+ "variant": "caption",
2356
+ "content": "Graph View"
2357
+ }
2358
+ ]
1446
2359
  }
1447
2360
  ]
1448
- }
1449
- ]
1450
- },
1451
- {
1452
- "type": "card",
1453
- "children": [
2361
+ },
1454
2362
  {
1455
- "type": "stack",
1456
- "direction": "vertical",
1457
- "gap": "sm",
1458
- "children": [
2363
+ "type": "line-chart",
2364
+ "data": [
1459
2365
  {
1460
- "type": "typography",
1461
- "variant": "caption",
1462
- "content": "Output"
2366
+ "date": "Jan",
2367
+ "value": 12
1463
2368
  },
1464
2369
  {
1465
- "type": "typography",
1466
- "variant": "h3",
1467
- "content": "@entity.output"
2370
+ "date": "Feb",
2371
+ "value": 19
2372
+ },
2373
+ {
2374
+ "date": "Mar",
2375
+ "value": 15
2376
+ },
2377
+ {
2378
+ "date": "Apr",
2379
+ "value": 25
2380
+ },
2381
+ {
2382
+ "date": "May",
2383
+ "value": 22
2384
+ },
2385
+ {
2386
+ "date": "Jun",
2387
+ "value": 30
2388
+ }
2389
+ ],
2390
+ "xKey": "date",
2391
+ "yKey": "value",
2392
+ "title": "Trend"
2393
+ },
2394
+ {
2395
+ "type": "chart-legend",
2396
+ "items": [
2397
+ {
2398
+ "label": "Current",
2399
+ "color": "primary"
2400
+ },
2401
+ {
2402
+ "label": "Previous",
2403
+ "color": "muted"
1468
2404
  }
1469
2405
  ]
2406
+ },
2407
+ {
2408
+ "type": "graph-view",
2409
+ "nodes": [
2410
+ {
2411
+ "id": "a",
2412
+ "label": "Start",
2413
+ "x": 50,
2414
+ "y": 100
2415
+ },
2416
+ {
2417
+ "id": "b",
2418
+ "label": "Process",
2419
+ "x": 200,
2420
+ "y": 50
2421
+ },
2422
+ {
2423
+ "id": "c",
2424
+ "label": "End",
2425
+ "x": 350,
2426
+ "y": 100
2427
+ }
2428
+ ],
2429
+ "edges": [
2430
+ {
2431
+ "from": "a",
2432
+ "to": "b"
2433
+ },
2434
+ {
2435
+ "from": "b",
2436
+ "to": "c"
2437
+ }
2438
+ ],
2439
+ "width": 400,
2440
+ "height": 200
1470
2441
  }
1471
2442
  ]
1472
2443
  }
@@ -1490,134 +2461,318 @@
1490
2461
  "render-ui",
1491
2462
  "main",
1492
2463
  {
1493
- "type": "stack",
1494
- "direction": "vertical",
1495
- "gap": "lg",
1496
- "children": [
2464
+ "type": "dashboard-layout",
2465
+ "appName": "CI/CD Pipeline",
2466
+ "navItems": [
1497
2467
  {
1498
- "type": "stack",
1499
- "direction": "horizontal",
1500
- "gap": "md",
1501
- "justify": "space-between",
1502
- "children": [
1503
- {
1504
- "type": "stack",
1505
- "direction": "horizontal",
1506
- "gap": "md",
1507
- "children": [
1508
- {
1509
- "type": "icon",
1510
- "name": "layers",
1511
- "size": "lg"
1512
- },
1513
- {
1514
- "type": "typography",
1515
- "content": "Stages",
1516
- "variant": "h2"
1517
- }
1518
- ]
1519
- },
1520
- {
1521
- "type": "button",
1522
- "label": "Refresh",
1523
- "event": "REFRESH",
1524
- "variant": "secondary",
1525
- "icon": "refresh-cw"
1526
- }
1527
- ]
2468
+ "label": "Builds",
2469
+ "href": "/builds",
2470
+ "icon": "hammer"
1528
2471
  },
1529
2472
  {
1530
- "type": "divider"
2473
+ "label": "Stages",
2474
+ "href": "/stages",
2475
+ "icon": "layers"
1531
2476
  },
1532
2477
  {
1533
- "type": "simple-grid",
1534
- "columns": 3,
2478
+ "label": "Deploy",
2479
+ "href": "/deploy",
2480
+ "icon": "rocket"
2481
+ }
2482
+ ],
2483
+ "children": [
2484
+ {
2485
+ "type": "scaled-diagram",
1535
2486
  "children": [
1536
2487
  {
1537
- "type": "card",
2488
+ "type": "stack",
2489
+ "direction": "vertical",
2490
+ "gap": "lg",
1538
2491
  "children": [
1539
2492
  {
1540
- "type": "stack",
1541
- "direction": "vertical",
1542
- "gap": "sm",
1543
- "children": [
2493
+ "type": "breadcrumb",
2494
+ "items": [
1544
2495
  {
1545
- "type": "typography",
1546
- "variant": "caption",
1547
- "content": "Name"
2496
+ "label": "Home",
2497
+ "href": "/"
1548
2498
  },
1549
2499
  {
1550
- "type": "typography",
1551
- "variant": "h3",
1552
- "content": "@entity.name"
2500
+ "label": "Stages"
1553
2501
  }
1554
2502
  ]
1555
- }
1556
- ]
1557
- },
1558
- {
1559
- "type": "card",
1560
- "children": [
2503
+ },
1561
2504
  {
1562
2505
  "type": "stack",
1563
- "direction": "vertical",
1564
- "gap": "sm",
2506
+ "direction": "horizontal",
2507
+ "gap": "md",
2508
+ "justify": "space-between",
1565
2509
  "children": [
1566
2510
  {
1567
- "type": "typography",
1568
- "variant": "caption",
1569
- "content": "Status"
2511
+ "type": "stack",
2512
+ "direction": "horizontal",
2513
+ "gap": "md",
2514
+ "children": [
2515
+ {
2516
+ "type": "icon",
2517
+ "name": "layers",
2518
+ "size": "lg"
2519
+ },
2520
+ {
2521
+ "type": "typography",
2522
+ "content": "Stages",
2523
+ "variant": "h2"
2524
+ }
2525
+ ]
1570
2526
  },
1571
2527
  {
1572
- "type": "typography",
1573
- "variant": "h3",
1574
- "content": "@entity.status"
2528
+ "type": "button",
2529
+ "label": "Refresh",
2530
+ "event": "REFRESH",
2531
+ "variant": "secondary",
2532
+ "icon": "refresh-cw"
1575
2533
  }
1576
2534
  ]
1577
- }
1578
- ]
1579
- },
1580
- {
1581
- "type": "card",
1582
- "children": [
2535
+ },
1583
2536
  {
1584
- "type": "stack",
1585
- "direction": "vertical",
1586
- "gap": "sm",
2537
+ "type": "divider"
2538
+ },
2539
+ {
2540
+ "type": "box",
2541
+ "padding": "md",
1587
2542
  "children": [
1588
2543
  {
1589
- "type": "typography",
1590
- "variant": "caption",
1591
- "content": "Duration"
2544
+ "type": "simple-grid",
2545
+ "columns": 3,
2546
+ "children": [
2547
+ {
2548
+ "type": "card",
2549
+ "children": [
2550
+ {
2551
+ "type": "stack",
2552
+ "direction": "vertical",
2553
+ "gap": "sm",
2554
+ "children": [
2555
+ {
2556
+ "type": "typography",
2557
+ "variant": "caption",
2558
+ "content": "Name"
2559
+ },
2560
+ {
2561
+ "type": "typography",
2562
+ "variant": "h3",
2563
+ "content": [
2564
+ "object/get",
2565
+ [
2566
+ "array/first",
2567
+ "@entity"
2568
+ ],
2569
+ "name"
2570
+ ]
2571
+ }
2572
+ ]
2573
+ }
2574
+ ]
2575
+ },
2576
+ {
2577
+ "type": "card",
2578
+ "children": [
2579
+ {
2580
+ "type": "stack",
2581
+ "direction": "vertical",
2582
+ "gap": "sm",
2583
+ "children": [
2584
+ {
2585
+ "type": "typography",
2586
+ "variant": "caption",
2587
+ "content": "Status"
2588
+ },
2589
+ {
2590
+ "type": "typography",
2591
+ "variant": "h3",
2592
+ "content": [
2593
+ "object/get",
2594
+ [
2595
+ "array/first",
2596
+ "@entity"
2597
+ ],
2598
+ "status"
2599
+ ]
2600
+ }
2601
+ ]
2602
+ }
2603
+ ]
2604
+ },
2605
+ {
2606
+ "type": "card",
2607
+ "children": [
2608
+ {
2609
+ "type": "stack",
2610
+ "direction": "vertical",
2611
+ "gap": "sm",
2612
+ "children": [
2613
+ {
2614
+ "type": "typography",
2615
+ "variant": "caption",
2616
+ "content": "Duration"
2617
+ },
2618
+ {
2619
+ "type": "typography",
2620
+ "variant": "h3",
2621
+ "content": [
2622
+ "object/get",
2623
+ [
2624
+ "array/first",
2625
+ "@entity"
2626
+ ],
2627
+ "duration"
2628
+ ]
2629
+ }
2630
+ ]
2631
+ }
2632
+ ]
2633
+ },
2634
+ {
2635
+ "type": "card",
2636
+ "children": [
2637
+ {
2638
+ "type": "stack",
2639
+ "direction": "vertical",
2640
+ "gap": "sm",
2641
+ "children": [
2642
+ {
2643
+ "type": "typography",
2644
+ "variant": "caption",
2645
+ "content": "Output"
2646
+ },
2647
+ {
2648
+ "type": "typography",
2649
+ "variant": "h3",
2650
+ "content": [
2651
+ "object/get",
2652
+ [
2653
+ "array/first",
2654
+ "@entity"
2655
+ ],
2656
+ "output"
2657
+ ]
2658
+ }
2659
+ ]
2660
+ }
2661
+ ]
2662
+ }
2663
+ ]
2664
+ }
2665
+ ]
2666
+ },
2667
+ {
2668
+ "type": "divider"
2669
+ },
2670
+ {
2671
+ "type": "grid",
2672
+ "columns": 2,
2673
+ "gap": "md",
2674
+ "children": [
2675
+ {
2676
+ "type": "card",
2677
+ "children": [
2678
+ {
2679
+ "type": "typography",
2680
+ "variant": "caption",
2681
+ "content": "Chart View"
2682
+ }
2683
+ ]
1592
2684
  },
1593
2685
  {
1594
- "type": "typography",
1595
- "variant": "h3",
1596
- "content": "@entity.duration"
2686
+ "type": "card",
2687
+ "children": [
2688
+ {
2689
+ "type": "typography",
2690
+ "variant": "caption",
2691
+ "content": "Graph View"
2692
+ }
2693
+ ]
1597
2694
  }
1598
2695
  ]
1599
- }
1600
- ]
1601
- },
1602
- {
1603
- "type": "card",
1604
- "children": [
2696
+ },
1605
2697
  {
1606
- "type": "stack",
1607
- "direction": "vertical",
1608
- "gap": "sm",
1609
- "children": [
2698
+ "type": "line-chart",
2699
+ "data": [
1610
2700
  {
1611
- "type": "typography",
1612
- "variant": "caption",
1613
- "content": "Output"
2701
+ "date": "Jan",
2702
+ "value": 12
1614
2703
  },
1615
2704
  {
1616
- "type": "typography",
1617
- "variant": "h3",
1618
- "content": "@entity.output"
2705
+ "date": "Feb",
2706
+ "value": 19
2707
+ },
2708
+ {
2709
+ "date": "Mar",
2710
+ "value": 15
2711
+ },
2712
+ {
2713
+ "date": "Apr",
2714
+ "value": 25
2715
+ },
2716
+ {
2717
+ "date": "May",
2718
+ "value": 22
2719
+ },
2720
+ {
2721
+ "date": "Jun",
2722
+ "value": 30
2723
+ }
2724
+ ],
2725
+ "xKey": "date",
2726
+ "yKey": "value",
2727
+ "title": "Trend"
2728
+ },
2729
+ {
2730
+ "type": "chart-legend",
2731
+ "items": [
2732
+ {
2733
+ "label": "Current",
2734
+ "color": "primary"
2735
+ },
2736
+ {
2737
+ "label": "Previous",
2738
+ "color": "muted"
1619
2739
  }
1620
2740
  ]
2741
+ },
2742
+ {
2743
+ "type": "graph-view",
2744
+ "nodes": [
2745
+ {
2746
+ "id": "a",
2747
+ "label": "Start",
2748
+ "x": 50,
2749
+ "y": 100
2750
+ },
2751
+ {
2752
+ "id": "b",
2753
+ "label": "Process",
2754
+ "x": 200,
2755
+ "y": 50
2756
+ },
2757
+ {
2758
+ "id": "c",
2759
+ "label": "End",
2760
+ "x": 350,
2761
+ "y": 100
2762
+ }
2763
+ ],
2764
+ "edges": [
2765
+ {
2766
+ "from": "a",
2767
+ "to": "b"
2768
+ },
2769
+ {
2770
+ "from": "b",
2771
+ "to": "c"
2772
+ }
2773
+ ],
2774
+ "width": 400,
2775
+ "height": 200
1621
2776
  }
1622
2777
  ]
1623
2778
  }
@@ -1641,134 +2796,318 @@
1641
2796
  "render-ui",
1642
2797
  "main",
1643
2798
  {
1644
- "type": "stack",
1645
- "direction": "vertical",
1646
- "gap": "lg",
2799
+ "type": "dashboard-layout",
2800
+ "appName": "CI/CD Pipeline",
2801
+ "navItems": [
2802
+ {
2803
+ "label": "Builds",
2804
+ "href": "/builds",
2805
+ "icon": "hammer"
2806
+ },
2807
+ {
2808
+ "label": "Stages",
2809
+ "href": "/stages",
2810
+ "icon": "layers"
2811
+ },
2812
+ {
2813
+ "label": "Deploy",
2814
+ "href": "/deploy",
2815
+ "icon": "rocket"
2816
+ }
2817
+ ],
1647
2818
  "children": [
1648
2819
  {
1649
- "type": "stack",
1650
- "direction": "horizontal",
1651
- "gap": "md",
1652
- "justify": "space-between",
2820
+ "type": "scaled-diagram",
1653
2821
  "children": [
1654
2822
  {
1655
2823
  "type": "stack",
1656
- "direction": "horizontal",
1657
- "gap": "md",
2824
+ "direction": "vertical",
2825
+ "gap": "lg",
1658
2826
  "children": [
1659
2827
  {
1660
- "type": "icon",
1661
- "name": "layers",
1662
- "size": "lg"
2828
+ "type": "breadcrumb",
2829
+ "items": [
2830
+ {
2831
+ "label": "Home",
2832
+ "href": "/"
2833
+ },
2834
+ {
2835
+ "label": "Stages"
2836
+ }
2837
+ ]
1663
2838
  },
1664
2839
  {
1665
- "type": "typography",
1666
- "content": "Stages",
1667
- "variant": "h2"
1668
- }
1669
- ]
1670
- },
1671
- {
1672
- "type": "button",
1673
- "label": "Refresh",
1674
- "event": "REFRESH",
1675
- "variant": "secondary",
1676
- "icon": "refresh-cw"
1677
- }
1678
- ]
1679
- },
1680
- {
1681
- "type": "divider"
1682
- },
1683
- {
1684
- "type": "simple-grid",
1685
- "columns": 3,
1686
- "children": [
1687
- {
1688
- "type": "card",
1689
- "children": [
2840
+ "type": "stack",
2841
+ "direction": "horizontal",
2842
+ "gap": "md",
2843
+ "justify": "space-between",
2844
+ "children": [
2845
+ {
2846
+ "type": "stack",
2847
+ "direction": "horizontal",
2848
+ "gap": "md",
2849
+ "children": [
2850
+ {
2851
+ "type": "icon",
2852
+ "name": "layers",
2853
+ "size": "lg"
2854
+ },
2855
+ {
2856
+ "type": "typography",
2857
+ "content": "Stages",
2858
+ "variant": "h2"
2859
+ }
2860
+ ]
2861
+ },
2862
+ {
2863
+ "type": "button",
2864
+ "label": "Refresh",
2865
+ "event": "REFRESH",
2866
+ "variant": "secondary",
2867
+ "icon": "refresh-cw"
2868
+ }
2869
+ ]
2870
+ },
2871
+ {
2872
+ "type": "divider"
2873
+ },
2874
+ {
2875
+ "type": "box",
2876
+ "padding": "md",
2877
+ "children": [
2878
+ {
2879
+ "type": "simple-grid",
2880
+ "columns": 3,
2881
+ "children": [
2882
+ {
2883
+ "type": "card",
2884
+ "children": [
2885
+ {
2886
+ "type": "stack",
2887
+ "direction": "vertical",
2888
+ "gap": "sm",
2889
+ "children": [
2890
+ {
2891
+ "type": "typography",
2892
+ "variant": "caption",
2893
+ "content": "Name"
2894
+ },
2895
+ {
2896
+ "type": "typography",
2897
+ "variant": "h3",
2898
+ "content": [
2899
+ "object/get",
2900
+ [
2901
+ "array/first",
2902
+ "@entity"
2903
+ ],
2904
+ "name"
2905
+ ]
2906
+ }
2907
+ ]
2908
+ }
2909
+ ]
2910
+ },
2911
+ {
2912
+ "type": "card",
2913
+ "children": [
2914
+ {
2915
+ "type": "stack",
2916
+ "direction": "vertical",
2917
+ "gap": "sm",
2918
+ "children": [
2919
+ {
2920
+ "type": "typography",
2921
+ "variant": "caption",
2922
+ "content": "Status"
2923
+ },
2924
+ {
2925
+ "type": "typography",
2926
+ "variant": "h3",
2927
+ "content": [
2928
+ "object/get",
2929
+ [
2930
+ "array/first",
2931
+ "@entity"
2932
+ ],
2933
+ "status"
2934
+ ]
2935
+ }
2936
+ ]
2937
+ }
2938
+ ]
2939
+ },
2940
+ {
2941
+ "type": "card",
2942
+ "children": [
2943
+ {
2944
+ "type": "stack",
2945
+ "direction": "vertical",
2946
+ "gap": "sm",
2947
+ "children": [
2948
+ {
2949
+ "type": "typography",
2950
+ "variant": "caption",
2951
+ "content": "Duration"
2952
+ },
2953
+ {
2954
+ "type": "typography",
2955
+ "variant": "h3",
2956
+ "content": [
2957
+ "object/get",
2958
+ [
2959
+ "array/first",
2960
+ "@entity"
2961
+ ],
2962
+ "duration"
2963
+ ]
2964
+ }
2965
+ ]
2966
+ }
2967
+ ]
2968
+ },
2969
+ {
2970
+ "type": "card",
2971
+ "children": [
2972
+ {
2973
+ "type": "stack",
2974
+ "direction": "vertical",
2975
+ "gap": "sm",
2976
+ "children": [
2977
+ {
2978
+ "type": "typography",
2979
+ "variant": "caption",
2980
+ "content": "Output"
2981
+ },
2982
+ {
2983
+ "type": "typography",
2984
+ "variant": "h3",
2985
+ "content": [
2986
+ "object/get",
2987
+ [
2988
+ "array/first",
2989
+ "@entity"
2990
+ ],
2991
+ "output"
2992
+ ]
2993
+ }
2994
+ ]
2995
+ }
2996
+ ]
2997
+ }
2998
+ ]
2999
+ }
3000
+ ]
3001
+ },
3002
+ {
3003
+ "type": "divider"
3004
+ },
3005
+ {
3006
+ "type": "grid",
3007
+ "columns": 2,
3008
+ "gap": "md",
3009
+ "children": [
3010
+ {
3011
+ "type": "card",
3012
+ "children": [
3013
+ {
3014
+ "type": "typography",
3015
+ "variant": "caption",
3016
+ "content": "Chart View"
3017
+ }
3018
+ ]
3019
+ },
3020
+ {
3021
+ "type": "card",
3022
+ "children": [
3023
+ {
3024
+ "type": "typography",
3025
+ "variant": "caption",
3026
+ "content": "Graph View"
3027
+ }
3028
+ ]
3029
+ }
3030
+ ]
3031
+ },
1690
3032
  {
1691
- "type": "stack",
1692
- "direction": "vertical",
1693
- "gap": "sm",
1694
- "children": [
3033
+ "type": "line-chart",
3034
+ "data": [
1695
3035
  {
1696
- "type": "typography",
1697
- "variant": "caption",
1698
- "content": "Name"
3036
+ "date": "Jan",
3037
+ "value": 12
1699
3038
  },
1700
3039
  {
1701
- "type": "typography",
1702
- "variant": "h3",
1703
- "content": "@entity.name"
3040
+ "date": "Feb",
3041
+ "value": 19
3042
+ },
3043
+ {
3044
+ "date": "Mar",
3045
+ "value": 15
3046
+ },
3047
+ {
3048
+ "date": "Apr",
3049
+ "value": 25
3050
+ },
3051
+ {
3052
+ "date": "May",
3053
+ "value": 22
3054
+ },
3055
+ {
3056
+ "date": "Jun",
3057
+ "value": 30
1704
3058
  }
1705
- ]
1706
- }
1707
- ]
1708
- },
1709
- {
1710
- "type": "card",
1711
- "children": [
3059
+ ],
3060
+ "xKey": "date",
3061
+ "yKey": "value",
3062
+ "title": "Trend"
3063
+ },
1712
3064
  {
1713
- "type": "stack",
1714
- "direction": "vertical",
1715
- "gap": "sm",
1716
- "children": [
3065
+ "type": "chart-legend",
3066
+ "items": [
1717
3067
  {
1718
- "type": "typography",
1719
- "variant": "caption",
1720
- "content": "Status"
3068
+ "label": "Current",
3069
+ "color": "primary"
1721
3070
  },
1722
3071
  {
1723
- "type": "typography",
1724
- "variant": "h3",
1725
- "content": "@entity.status"
3072
+ "label": "Previous",
3073
+ "color": "muted"
1726
3074
  }
1727
3075
  ]
1728
- }
1729
- ]
1730
- },
1731
- {
1732
- "type": "card",
1733
- "children": [
3076
+ },
1734
3077
  {
1735
- "type": "stack",
1736
- "direction": "vertical",
1737
- "gap": "sm",
1738
- "children": [
3078
+ "type": "graph-view",
3079
+ "nodes": [
1739
3080
  {
1740
- "type": "typography",
1741
- "variant": "caption",
1742
- "content": "Duration"
3081
+ "id": "a",
3082
+ "label": "Start",
3083
+ "x": 50,
3084
+ "y": 100
1743
3085
  },
1744
3086
  {
1745
- "type": "typography",
1746
- "variant": "h3",
1747
- "content": "@entity.duration"
3087
+ "id": "b",
3088
+ "label": "Process",
3089
+ "x": 200,
3090
+ "y": 50
3091
+ },
3092
+ {
3093
+ "id": "c",
3094
+ "label": "End",
3095
+ "x": 350,
3096
+ "y": 100
1748
3097
  }
1749
- ]
1750
- }
1751
- ]
1752
- },
1753
- {
1754
- "type": "card",
1755
- "children": [
1756
- {
1757
- "type": "stack",
1758
- "direction": "vertical",
1759
- "gap": "sm",
1760
- "children": [
3098
+ ],
3099
+ "edges": [
1761
3100
  {
1762
- "type": "typography",
1763
- "variant": "caption",
1764
- "content": "Output"
3101
+ "from": "a",
3102
+ "to": "b"
1765
3103
  },
1766
3104
  {
1767
- "type": "typography",
1768
- "variant": "h3",
1769
- "content": "@entity.output"
3105
+ "from": "b",
3106
+ "to": "c"
1770
3107
  }
1771
- ]
3108
+ ],
3109
+ "width": 400,
3110
+ "height": 200
1772
3111
  }
1773
3112
  ]
1774
3113
  }
@@ -1818,11 +3157,18 @@
1818
3157
  },
1819
3158
  {
1820
3159
  "name": "status",
1821
- "type": "string"
3160
+ "type": "string",
3161
+ "values": [
3162
+ "pending",
3163
+ "deploying",
3164
+ "success",
3165
+ "failed",
3166
+ "rolled-back"
3167
+ ]
1822
3168
  },
1823
3169
  {
1824
3170
  "name": "deployedAt",
1825
- "type": "string"
3171
+ "type": "date"
1826
3172
  }
1827
3173
  ]
1828
3174
  },
@@ -1901,38 +3247,67 @@
1901
3247
  "render-ui",
1902
3248
  "main",
1903
3249
  {
1904
- "type": "stack",
1905
- "direction": "vertical",
1906
- "gap": "lg",
1907
- "align": "center",
3250
+ "type": "dashboard-layout",
3251
+ "appName": "CI/CD Pipeline",
3252
+ "navItems": [
3253
+ {
3254
+ "label": "Builds",
3255
+ "href": "/builds",
3256
+ "icon": "hammer"
3257
+ },
3258
+ {
3259
+ "label": "Stages",
3260
+ "href": "/stages",
3261
+ "icon": "layers"
3262
+ },
3263
+ {
3264
+ "label": "Deploy",
3265
+ "href": "/deploy",
3266
+ "icon": "rocket"
3267
+ }
3268
+ ],
1908
3269
  "children": [
1909
3270
  {
1910
3271
  "type": "stack",
1911
- "direction": "horizontal",
1912
- "gap": "md",
3272
+ "direction": "vertical",
3273
+ "gap": "lg",
1913
3274
  "align": "center",
1914
3275
  "children": [
1915
3276
  {
1916
- "type": "icon",
1917
- "name": "upload-cloud",
1918
- "size": "lg"
3277
+ "type": "stack",
3278
+ "direction": "horizontal",
3279
+ "gap": "md",
3280
+ "align": "center",
3281
+ "children": [
3282
+ {
3283
+ "type": "icon",
3284
+ "name": "upload-cloud",
3285
+ "size": "lg"
3286
+ },
3287
+ {
3288
+ "type": "typography",
3289
+ "content": "Deployment",
3290
+ "variant": "h2"
3291
+ }
3292
+ ]
3293
+ },
3294
+ {
3295
+ "type": "divider"
1919
3296
  },
1920
3297
  {
1921
3298
  "type": "typography",
1922
- "content": "Deployment",
1923
- "variant": "h2"
3299
+ "variant": "body",
3300
+ "color": "muted",
3301
+ "content": "Ready to start deployment operation."
3302
+ },
3303
+ {
3304
+ "type": "button",
3305
+ "label": "Start",
3306
+ "event": "START",
3307
+ "variant": "primary",
3308
+ "icon": "play"
1924
3309
  }
1925
3310
  ]
1926
- },
1927
- {
1928
- "type": "divider"
1929
- },
1930
- {
1931
- "type": "button",
1932
- "label": "Start",
1933
- "event": "START",
1934
- "variant": "primary",
1935
- "icon": "play"
1936
3311
  }
1937
3312
  ]
1938
3313
  }
@@ -1948,20 +3323,42 @@
1948
3323
  "render-ui",
1949
3324
  "main",
1950
3325
  {
1951
- "type": "stack",
1952
- "direction": "vertical",
1953
- "gap": "lg",
1954
- "align": "center",
1955
- "children": [
3326
+ "type": "dashboard-layout",
3327
+ "appName": "CI/CD Pipeline",
3328
+ "navItems": [
1956
3329
  {
1957
- "type": "icon",
1958
- "name": "loader",
1959
- "size": "lg"
3330
+ "label": "Builds",
3331
+ "href": "/builds",
3332
+ "icon": "hammer"
1960
3333
  },
1961
3334
  {
1962
- "type": "typography",
1963
- "content": "Deploying...",
1964
- "variant": "h3"
3335
+ "label": "Stages",
3336
+ "href": "/stages",
3337
+ "icon": "layers"
3338
+ },
3339
+ {
3340
+ "label": "Deploy",
3341
+ "href": "/deploy",
3342
+ "icon": "rocket"
3343
+ }
3344
+ ],
3345
+ "children": [
3346
+ {
3347
+ "type": "stack",
3348
+ "direction": "vertical",
3349
+ "gap": "lg",
3350
+ "align": "center",
3351
+ "children": [
3352
+ {
3353
+ "type": "loading-state",
3354
+ "title": "Deploying...",
3355
+ "message": "Processing deployment..."
3356
+ },
3357
+ {
3358
+ "type": "skeleton",
3359
+ "variant": "text"
3360
+ }
3361
+ ]
1965
3362
  }
1966
3363
  ]
1967
3364
  }
@@ -1983,33 +3380,56 @@
1983
3380
  "render-ui",
1984
3381
  "main",
1985
3382
  {
1986
- "type": "stack",
1987
- "direction": "vertical",
1988
- "gap": "lg",
1989
- "align": "center",
1990
- "children": [
3383
+ "type": "dashboard-layout",
3384
+ "appName": "CI/CD Pipeline",
3385
+ "navItems": [
1991
3386
  {
1992
- "type": "icon",
1993
- "name": "check-circle",
1994
- "size": "lg"
3387
+ "label": "Builds",
3388
+ "href": "/builds",
3389
+ "icon": "hammer"
1995
3390
  },
1996
3391
  {
1997
- "type": "typography",
1998
- "content": "Deployment successful.",
1999
- "variant": "h3"
3392
+ "label": "Stages",
3393
+ "href": "/stages",
3394
+ "icon": "layers"
2000
3395
  },
3396
+ {
3397
+ "label": "Deploy",
3398
+ "href": "/deploy",
3399
+ "icon": "rocket"
3400
+ }
3401
+ ],
3402
+ "children": [
2001
3403
  {
2002
3404
  "type": "stack",
2003
- "direction": "horizontal",
2004
- "gap": "sm",
2005
- "justify": "center",
3405
+ "direction": "vertical",
3406
+ "gap": "lg",
3407
+ "align": "center",
2006
3408
  "children": [
2007
3409
  {
2008
- "type": "button",
2009
- "label": "Reset",
2010
- "event": "RESET",
2011
- "variant": "ghost",
2012
- "icon": "rotate-ccw"
3410
+ "type": "icon",
3411
+ "name": "check-circle",
3412
+ "size": "lg"
3413
+ },
3414
+ {
3415
+ "type": "alert",
3416
+ "variant": "success",
3417
+ "message": "Deployment successful."
3418
+ },
3419
+ {
3420
+ "type": "stack",
3421
+ "direction": "horizontal",
3422
+ "gap": "sm",
3423
+ "justify": "center",
3424
+ "children": [
3425
+ {
3426
+ "type": "button",
3427
+ "label": "Reset",
3428
+ "event": "RESET",
3429
+ "variant": "ghost",
3430
+ "icon": "rotate-ccw"
3431
+ }
3432
+ ]
2013
3433
  }
2014
3434
  ]
2015
3435
  }
@@ -2031,40 +3451,59 @@
2031
3451
  "render-ui",
2032
3452
  "main",
2033
3453
  {
2034
- "type": "stack",
2035
- "direction": "vertical",
2036
- "gap": "lg",
2037
- "align": "center",
2038
- "children": [
3454
+ "type": "dashboard-layout",
3455
+ "appName": "CI/CD Pipeline",
3456
+ "navItems": [
2039
3457
  {
2040
- "type": "icon",
2041
- "name": "alert-circle",
2042
- "size": "lg"
3458
+ "label": "Builds",
3459
+ "href": "/builds",
3460
+ "icon": "hammer"
2043
3461
  },
2044
3462
  {
2045
- "type": "typography",
2046
- "content": "Deployment failed.",
2047
- "variant": "h3"
3463
+ "label": "Stages",
3464
+ "href": "/stages",
3465
+ "icon": "layers"
2048
3466
  },
3467
+ {
3468
+ "label": "Deploy",
3469
+ "href": "/deploy",
3470
+ "icon": "rocket"
3471
+ }
3472
+ ],
3473
+ "children": [
2049
3474
  {
2050
3475
  "type": "stack",
2051
- "direction": "horizontal",
2052
- "gap": "sm",
2053
- "justify": "center",
3476
+ "direction": "vertical",
3477
+ "gap": "lg",
3478
+ "align": "center",
2054
3479
  "children": [
2055
3480
  {
2056
- "type": "button",
2057
- "label": "Retry",
2058
- "event": "RETRY",
2059
- "variant": "primary",
2060
- "icon": "refresh-cw"
3481
+ "type": "error-state",
3482
+ "title": "Operation Failed",
3483
+ "message": "Deployment failed.",
3484
+ "onRetry": "RETRY"
2061
3485
  },
2062
3486
  {
2063
- "type": "button",
2064
- "label": "Reset",
2065
- "event": "RESET",
2066
- "variant": "ghost",
2067
- "icon": "rotate-ccw"
3487
+ "type": "stack",
3488
+ "direction": "horizontal",
3489
+ "gap": "sm",
3490
+ "justify": "center",
3491
+ "children": [
3492
+ {
3493
+ "type": "button",
3494
+ "label": "Retry",
3495
+ "event": "RETRY",
3496
+ "variant": "primary",
3497
+ "icon": "refresh-cw"
3498
+ },
3499
+ {
3500
+ "type": "button",
3501
+ "label": "Reset",
3502
+ "event": "RESET",
3503
+ "variant": "ghost",
3504
+ "icon": "rotate-ccw"
3505
+ }
3506
+ ]
2068
3507
  }
2069
3508
  ]
2070
3509
  }
@@ -2082,38 +3521,67 @@
2082
3521
  "render-ui",
2083
3522
  "main",
2084
3523
  {
2085
- "type": "stack",
2086
- "direction": "vertical",
2087
- "gap": "lg",
2088
- "align": "center",
3524
+ "type": "dashboard-layout",
3525
+ "appName": "CI/CD Pipeline",
3526
+ "navItems": [
3527
+ {
3528
+ "label": "Builds",
3529
+ "href": "/builds",
3530
+ "icon": "hammer"
3531
+ },
3532
+ {
3533
+ "label": "Stages",
3534
+ "href": "/stages",
3535
+ "icon": "layers"
3536
+ },
3537
+ {
3538
+ "label": "Deploy",
3539
+ "href": "/deploy",
3540
+ "icon": "rocket"
3541
+ }
3542
+ ],
2089
3543
  "children": [
2090
3544
  {
2091
3545
  "type": "stack",
2092
- "direction": "horizontal",
2093
- "gap": "md",
3546
+ "direction": "vertical",
3547
+ "gap": "lg",
2094
3548
  "align": "center",
2095
3549
  "children": [
2096
3550
  {
2097
- "type": "icon",
2098
- "name": "upload-cloud",
2099
- "size": "lg"
3551
+ "type": "stack",
3552
+ "direction": "horizontal",
3553
+ "gap": "md",
3554
+ "align": "center",
3555
+ "children": [
3556
+ {
3557
+ "type": "icon",
3558
+ "name": "upload-cloud",
3559
+ "size": "lg"
3560
+ },
3561
+ {
3562
+ "type": "typography",
3563
+ "content": "Deployment",
3564
+ "variant": "h2"
3565
+ }
3566
+ ]
3567
+ },
3568
+ {
3569
+ "type": "divider"
2100
3570
  },
2101
3571
  {
2102
3572
  "type": "typography",
2103
- "content": "Deployment",
2104
- "variant": "h2"
3573
+ "variant": "body",
3574
+ "color": "muted",
3575
+ "content": "Ready to start deployment operation."
3576
+ },
3577
+ {
3578
+ "type": "button",
3579
+ "label": "Start",
3580
+ "event": "START",
3581
+ "variant": "primary",
3582
+ "icon": "play"
2105
3583
  }
2106
3584
  ]
2107
- },
2108
- {
2109
- "type": "divider"
2110
- },
2111
- {
2112
- "type": "button",
2113
- "label": "Start",
2114
- "event": "START",
2115
- "variant": "primary",
2116
- "icon": "play"
2117
3585
  }
2118
3586
  ]
2119
3587
  }
@@ -2129,38 +3597,67 @@
2129
3597
  "render-ui",
2130
3598
  "main",
2131
3599
  {
2132
- "type": "stack",
2133
- "direction": "vertical",
2134
- "gap": "lg",
2135
- "align": "center",
3600
+ "type": "dashboard-layout",
3601
+ "appName": "CI/CD Pipeline",
3602
+ "navItems": [
3603
+ {
3604
+ "label": "Builds",
3605
+ "href": "/builds",
3606
+ "icon": "hammer"
3607
+ },
3608
+ {
3609
+ "label": "Stages",
3610
+ "href": "/stages",
3611
+ "icon": "layers"
3612
+ },
3613
+ {
3614
+ "label": "Deploy",
3615
+ "href": "/deploy",
3616
+ "icon": "rocket"
3617
+ }
3618
+ ],
2136
3619
  "children": [
2137
3620
  {
2138
3621
  "type": "stack",
2139
- "direction": "horizontal",
2140
- "gap": "md",
3622
+ "direction": "vertical",
3623
+ "gap": "lg",
2141
3624
  "align": "center",
2142
3625
  "children": [
2143
3626
  {
2144
- "type": "icon",
2145
- "name": "upload-cloud",
2146
- "size": "lg"
3627
+ "type": "stack",
3628
+ "direction": "horizontal",
3629
+ "gap": "md",
3630
+ "align": "center",
3631
+ "children": [
3632
+ {
3633
+ "type": "icon",
3634
+ "name": "upload-cloud",
3635
+ "size": "lg"
3636
+ },
3637
+ {
3638
+ "type": "typography",
3639
+ "content": "Deployment",
3640
+ "variant": "h2"
3641
+ }
3642
+ ]
3643
+ },
3644
+ {
3645
+ "type": "divider"
2147
3646
  },
2148
3647
  {
2149
3648
  "type": "typography",
2150
- "content": "Deployment",
2151
- "variant": "h2"
3649
+ "variant": "body",
3650
+ "color": "muted",
3651
+ "content": "Ready to start deployment operation."
3652
+ },
3653
+ {
3654
+ "type": "button",
3655
+ "label": "Start",
3656
+ "event": "START",
3657
+ "variant": "primary",
3658
+ "icon": "play"
2152
3659
  }
2153
3660
  ]
2154
- },
2155
- {
2156
- "type": "divider"
2157
- },
2158
- {
2159
- "type": "button",
2160
- "label": "Start",
2161
- "event": "START",
2162
- "variant": "primary",
2163
- "icon": "play"
2164
3661
  }
2165
3662
  ]
2166
3663
  }
@@ -2176,20 +3673,42 @@
2176
3673
  "render-ui",
2177
3674
  "main",
2178
3675
  {
2179
- "type": "stack",
2180
- "direction": "vertical",
2181
- "gap": "lg",
2182
- "align": "center",
2183
- "children": [
3676
+ "type": "dashboard-layout",
3677
+ "appName": "CI/CD Pipeline",
3678
+ "navItems": [
2184
3679
  {
2185
- "type": "icon",
2186
- "name": "loader",
2187
- "size": "lg"
3680
+ "label": "Builds",
3681
+ "href": "/builds",
3682
+ "icon": "hammer"
2188
3683
  },
2189
3684
  {
2190
- "type": "typography",
2191
- "content": "Deploying...",
2192
- "variant": "h3"
3685
+ "label": "Stages",
3686
+ "href": "/stages",
3687
+ "icon": "layers"
3688
+ },
3689
+ {
3690
+ "label": "Deploy",
3691
+ "href": "/deploy",
3692
+ "icon": "rocket"
3693
+ }
3694
+ ],
3695
+ "children": [
3696
+ {
3697
+ "type": "stack",
3698
+ "direction": "vertical",
3699
+ "gap": "lg",
3700
+ "align": "center",
3701
+ "children": [
3702
+ {
3703
+ "type": "loading-state",
3704
+ "title": "Deploying...",
3705
+ "message": "Processing deployment..."
3706
+ },
3707
+ {
3708
+ "type": "skeleton",
3709
+ "variant": "text"
3710
+ }
3711
+ ]
2193
3712
  }
2194
3713
  ]
2195
3714
  }