@almadar/std 3.2.0 → 3.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/behaviors/exports/atoms/std-async.orb +41 -24
  2. package/behaviors/exports/atoms/std-browse.orb +12 -5
  3. package/behaviors/exports/atoms/std-cache-aside.orb +256 -42
  4. package/behaviors/exports/atoms/std-circuit-breaker.orb +577 -97
  5. package/behaviors/exports/atoms/std-collision.orb +278 -206
  6. package/behaviors/exports/atoms/std-combat-log.orb +6 -1
  7. package/behaviors/exports/atoms/std-combat.orb +6 -1
  8. package/behaviors/exports/atoms/std-confirmation.orb +212 -7
  9. package/behaviors/exports/atoms/std-dialogue-box.orb +6 -1
  10. package/behaviors/exports/atoms/std-display.orb +166 -21
  11. package/behaviors/exports/atoms/std-drawer.orb +208 -104
  12. package/behaviors/exports/atoms/std-filter.orb +211 -18
  13. package/behaviors/exports/atoms/std-game-audio.orb +6 -1
  14. package/behaviors/exports/atoms/std-game-canvas2d.orb +6 -1
  15. package/behaviors/exports/atoms/std-game-canvas3d.orb +6 -1
  16. package/behaviors/exports/atoms/std-game-hud.orb +6 -1
  17. package/behaviors/exports/atoms/std-game-menu.orb +6 -1
  18. package/behaviors/exports/atoms/std-game-over-screen.orb +6 -1
  19. package/behaviors/exports/atoms/std-gameflow.orb +100 -5
  20. package/behaviors/exports/atoms/std-input.orb +142 -137
  21. package/behaviors/exports/atoms/std-inventory-panel.orb +6 -1
  22. package/behaviors/exports/atoms/std-isometric-canvas.orb +6 -1
  23. package/behaviors/exports/atoms/std-loading.orb +27 -76
  24. package/behaviors/exports/atoms/std-modal.orb +177 -93
  25. package/behaviors/exports/atoms/std-movement.orb +401 -31
  26. package/behaviors/exports/atoms/std-notification.orb +46 -95
  27. package/behaviors/exports/atoms/std-overworld.orb +44 -16
  28. package/behaviors/exports/atoms/std-pagination.orb +26 -89
  29. package/behaviors/exports/atoms/std-physics2d.orb +6 -1
  30. package/behaviors/exports/atoms/std-platformer-canvas.orb +6 -1
  31. package/behaviors/exports/atoms/std-quest.orb +309 -34
  32. package/behaviors/exports/atoms/std-rate-limiter.orb +410 -157
  33. package/behaviors/exports/atoms/std-score-board.orb +6 -1
  34. package/behaviors/exports/atoms/std-score.orb +211 -11
  35. package/behaviors/exports/atoms/std-search.orb +28 -27
  36. package/behaviors/exports/atoms/std-selection.orb +160 -121
  37. package/behaviors/exports/atoms/std-simulation-canvas.orb +6 -1
  38. package/behaviors/exports/atoms/std-sort.orb +134 -24
  39. package/behaviors/exports/atoms/std-sprite.orb +6 -1
  40. package/behaviors/exports/atoms/std-tabs.orb +25 -15
  41. package/behaviors/exports/atoms/std-timer.orb +483 -91
  42. package/behaviors/exports/atoms/std-undo.orb +211 -81
  43. package/behaviors/exports/atoms/std-wizard.orb +31 -34
  44. package/behaviors/exports/molecules/std-builder-game.orb +6 -1
  45. package/behaviors/exports/molecules/std-cart.orb +6 -1
  46. package/behaviors/exports/molecules/std-classifier-game.orb +6 -1
  47. package/behaviors/exports/molecules/std-debugger-game.orb +6 -1
  48. package/behaviors/exports/molecules/std-detail.orb +12 -5
  49. package/behaviors/exports/molecules/std-event-handler-game.orb +6 -1
  50. package/behaviors/exports/molecules/std-geospatial.orb +28 -9
  51. package/behaviors/exports/molecules/std-inventory.orb +28 -9
  52. package/behaviors/exports/molecules/std-list.orb +392 -5
  53. package/behaviors/exports/molecules/std-messaging.orb +12 -5
  54. package/behaviors/exports/molecules/std-negotiator-game.orb +6 -1
  55. package/behaviors/exports/molecules/std-platformer-game.orb +40 -1
  56. package/behaviors/exports/molecules/std-puzzle-game.orb +26 -1
  57. package/behaviors/exports/molecules/std-sequencer-game.orb +6 -1
  58. package/behaviors/exports/molecules/std-simulator-game.orb +6 -1
  59. package/behaviors/exports/molecules/std-turn-based-battle.orb +40 -1
  60. package/behaviors/exports/organisms/std-api-gateway.orb +1145 -403
  61. package/behaviors/exports/organisms/std-arcade-game.orb +214 -16
  62. package/behaviors/exports/organisms/std-booking-system.orb +2165 -1605
  63. package/behaviors/exports/organisms/std-cicd-pipeline.orb +581 -47
  64. package/behaviors/exports/organisms/std-cms.orb +1713 -947
  65. package/behaviors/exports/organisms/std-coding-academy.orb +180 -380
  66. package/behaviors/exports/organisms/std-crm.orb +1669 -1153
  67. package/behaviors/exports/organisms/std-devops-dashboard.orb +1430 -378
  68. package/behaviors/exports/organisms/std-ecommerce.orb +2361 -1601
  69. package/behaviors/exports/organisms/std-finance-tracker.orb +622 -438
  70. package/behaviors/exports/organisms/std-healthcare.orb +1687 -1125
  71. package/behaviors/exports/organisms/std-helpdesk.orb +626 -407
  72. package/behaviors/exports/organisms/std-hr-portal.orb +1309 -714
  73. package/behaviors/exports/organisms/std-iot-dashboard.orb +1247 -335
  74. package/behaviors/exports/organisms/std-lms.orb +658 -362
  75. package/behaviors/exports/organisms/std-platformer-app.orb +56 -8
  76. package/behaviors/exports/organisms/std-project-manager.orb +1697 -1183
  77. package/behaviors/exports/organisms/std-puzzle-app.orb +20 -0
  78. package/behaviors/exports/organisms/std-realtime-chat.orb +552 -28
  79. package/behaviors/exports/organisms/std-rpg-game.orb +397 -56
  80. package/behaviors/exports/organisms/std-social-feed.orb +12 -8
  81. package/behaviors/exports/organisms/std-stem-lab.orb +175 -290
  82. package/behaviors/exports/organisms/std-strategy-game.orb +252 -395
  83. package/behaviors/exports/organisms/std-trading-dashboard.orb +718 -524
  84. package/behaviors/exports/validation-report.json +747 -0
  85. package/behaviors/exports/verify-results.json +13 -0
  86. package/dist/behaviors/exports/atoms/std-async.orb +41 -24
  87. package/dist/behaviors/exports/atoms/std-browse.orb +12 -5
  88. package/dist/behaviors/exports/atoms/std-cache-aside.orb +256 -42
  89. package/dist/behaviors/exports/atoms/std-circuit-breaker.orb +577 -97
  90. package/dist/behaviors/exports/atoms/std-collision.orb +278 -206
  91. package/dist/behaviors/exports/atoms/std-combat-log.orb +6 -1
  92. package/dist/behaviors/exports/atoms/std-combat.orb +6 -1
  93. package/dist/behaviors/exports/atoms/std-confirmation.orb +212 -7
  94. package/dist/behaviors/exports/atoms/std-dialogue-box.orb +6 -1
  95. package/dist/behaviors/exports/atoms/std-display.orb +166 -21
  96. package/dist/behaviors/exports/atoms/std-drawer.orb +208 -104
  97. package/dist/behaviors/exports/atoms/std-filter.orb +211 -18
  98. package/dist/behaviors/exports/atoms/std-game-audio.orb +6 -1
  99. package/dist/behaviors/exports/atoms/std-game-canvas2d.orb +6 -1
  100. package/dist/behaviors/exports/atoms/std-game-canvas3d.orb +6 -1
  101. package/dist/behaviors/exports/atoms/std-game-hud.orb +6 -1
  102. package/dist/behaviors/exports/atoms/std-game-menu.orb +6 -1
  103. package/dist/behaviors/exports/atoms/std-game-over-screen.orb +6 -1
  104. package/dist/behaviors/exports/atoms/std-gameflow.orb +100 -5
  105. package/dist/behaviors/exports/atoms/std-input.orb +142 -137
  106. package/dist/behaviors/exports/atoms/std-inventory-panel.orb +6 -1
  107. package/dist/behaviors/exports/atoms/std-isometric-canvas.orb +6 -1
  108. package/dist/behaviors/exports/atoms/std-loading.orb +27 -76
  109. package/dist/behaviors/exports/atoms/std-modal.orb +177 -93
  110. package/dist/behaviors/exports/atoms/std-movement.orb +401 -31
  111. package/dist/behaviors/exports/atoms/std-notification.orb +46 -95
  112. package/dist/behaviors/exports/atoms/std-overworld.orb +44 -16
  113. package/dist/behaviors/exports/atoms/std-pagination.orb +26 -89
  114. package/dist/behaviors/exports/atoms/std-physics2d.orb +6 -1
  115. package/dist/behaviors/exports/atoms/std-platformer-canvas.orb +6 -1
  116. package/dist/behaviors/exports/atoms/std-quest.orb +309 -34
  117. package/dist/behaviors/exports/atoms/std-rate-limiter.orb +410 -157
  118. package/dist/behaviors/exports/atoms/std-score-board.orb +6 -1
  119. package/dist/behaviors/exports/atoms/std-score.orb +211 -11
  120. package/dist/behaviors/exports/atoms/std-search.orb +28 -27
  121. package/dist/behaviors/exports/atoms/std-selection.orb +160 -121
  122. package/dist/behaviors/exports/atoms/std-simulation-canvas.orb +6 -1
  123. package/dist/behaviors/exports/atoms/std-sort.orb +134 -24
  124. package/dist/behaviors/exports/atoms/std-sprite.orb +6 -1
  125. package/dist/behaviors/exports/atoms/std-tabs.orb +25 -15
  126. package/dist/behaviors/exports/atoms/std-timer.orb +483 -91
  127. package/dist/behaviors/exports/atoms/std-undo.orb +211 -81
  128. package/dist/behaviors/exports/atoms/std-wizard.orb +31 -34
  129. package/dist/behaviors/exports/molecules/std-builder-game.orb +6 -1
  130. package/dist/behaviors/exports/molecules/std-cart.orb +6 -1
  131. package/dist/behaviors/exports/molecules/std-classifier-game.orb +6 -1
  132. package/dist/behaviors/exports/molecules/std-debugger-game.orb +6 -1
  133. package/dist/behaviors/exports/molecules/std-detail.orb +12 -5
  134. package/dist/behaviors/exports/molecules/std-event-handler-game.orb +6 -1
  135. package/dist/behaviors/exports/molecules/std-geospatial.orb +28 -9
  136. package/dist/behaviors/exports/molecules/std-inventory.orb +28 -9
  137. package/dist/behaviors/exports/molecules/std-list.orb +392 -5
  138. package/dist/behaviors/exports/molecules/std-messaging.orb +12 -5
  139. package/dist/behaviors/exports/molecules/std-negotiator-game.orb +6 -1
  140. package/dist/behaviors/exports/molecules/std-platformer-game.orb +40 -1
  141. package/dist/behaviors/exports/molecules/std-puzzle-game.orb +26 -1
  142. package/dist/behaviors/exports/molecules/std-sequencer-game.orb +6 -1
  143. package/dist/behaviors/exports/molecules/std-simulator-game.orb +6 -1
  144. package/dist/behaviors/exports/molecules/std-turn-based-battle.orb +40 -1
  145. package/dist/behaviors/exports/organisms/std-api-gateway.orb +1145 -403
  146. package/dist/behaviors/exports/organisms/std-arcade-game.orb +214 -16
  147. package/dist/behaviors/exports/organisms/std-booking-system.orb +2165 -1605
  148. package/dist/behaviors/exports/organisms/std-cicd-pipeline.orb +581 -47
  149. package/dist/behaviors/exports/organisms/std-cms.orb +1713 -947
  150. package/dist/behaviors/exports/organisms/std-coding-academy.orb +180 -380
  151. package/dist/behaviors/exports/organisms/std-crm.orb +1669 -1153
  152. package/dist/behaviors/exports/organisms/std-devops-dashboard.orb +1430 -378
  153. package/dist/behaviors/exports/organisms/std-ecommerce.orb +2361 -1601
  154. package/dist/behaviors/exports/organisms/std-finance-tracker.orb +622 -438
  155. package/dist/behaviors/exports/organisms/std-healthcare.orb +1687 -1125
  156. package/dist/behaviors/exports/organisms/std-helpdesk.orb +626 -407
  157. package/dist/behaviors/exports/organisms/std-hr-portal.orb +1309 -714
  158. package/dist/behaviors/exports/organisms/std-iot-dashboard.orb +1247 -335
  159. package/dist/behaviors/exports/organisms/std-lms.orb +658 -362
  160. package/dist/behaviors/exports/organisms/std-platformer-app.orb +56 -8
  161. package/dist/behaviors/exports/organisms/std-project-manager.orb +1697 -1183
  162. package/dist/behaviors/exports/organisms/std-puzzle-app.orb +20 -0
  163. package/dist/behaviors/exports/organisms/std-realtime-chat.orb +552 -28
  164. package/dist/behaviors/exports/organisms/std-rpg-game.orb +397 -56
  165. package/dist/behaviors/exports/organisms/std-social-feed.orb +12 -8
  166. package/dist/behaviors/exports/organisms/std-stem-lab.orb +175 -290
  167. package/dist/behaviors/exports/organisms/std-strategy-game.orb +252 -395
  168. package/dist/behaviors/exports/organisms/std-trading-dashboard.orb +718 -524
  169. package/dist/behaviors/exports/validation-report.json +747 -0
  170. package/dist/behaviors/exports/verify-results.json +13 -0
  171. package/dist/behaviors/functions/index.js +715 -593
  172. package/dist/behaviors/functions/index.js.map +1 -1
  173. package/dist/behaviors/index.js +715 -593
  174. package/dist/behaviors/index.js.map +1 -1
  175. package/dist/exports/atoms/std-async.orb +41 -24
  176. package/dist/exports/atoms/std-browse.orb +12 -5
  177. package/dist/exports/atoms/std-cache-aside.orb +256 -42
  178. package/dist/exports/atoms/std-circuit-breaker.orb +577 -97
  179. package/dist/exports/atoms/std-collision.orb +278 -206
  180. package/dist/exports/atoms/std-combat-log.orb +6 -1
  181. package/dist/exports/atoms/std-combat.orb +6 -1
  182. package/dist/exports/atoms/std-confirmation.orb +212 -7
  183. package/dist/exports/atoms/std-dialogue-box.orb +6 -1
  184. package/dist/exports/atoms/std-display.orb +166 -21
  185. package/dist/exports/atoms/std-drawer.orb +208 -104
  186. package/dist/exports/atoms/std-filter.orb +211 -18
  187. package/dist/exports/atoms/std-game-audio.orb +6 -1
  188. package/dist/exports/atoms/std-game-canvas2d.orb +6 -1
  189. package/dist/exports/atoms/std-game-canvas3d.orb +6 -1
  190. package/dist/exports/atoms/std-game-hud.orb +6 -1
  191. package/dist/exports/atoms/std-game-menu.orb +6 -1
  192. package/dist/exports/atoms/std-game-over-screen.orb +6 -1
  193. package/dist/exports/atoms/std-gameflow.orb +100 -5
  194. package/dist/exports/atoms/std-input.orb +142 -137
  195. package/dist/exports/atoms/std-inventory-panel.orb +6 -1
  196. package/dist/exports/atoms/std-isometric-canvas.orb +6 -1
  197. package/dist/exports/atoms/std-loading.orb +27 -76
  198. package/dist/exports/atoms/std-modal.orb +177 -93
  199. package/dist/exports/atoms/std-movement.orb +401 -31
  200. package/dist/exports/atoms/std-notification.orb +46 -95
  201. package/dist/exports/atoms/std-overworld.orb +44 -16
  202. package/dist/exports/atoms/std-pagination.orb +26 -89
  203. package/dist/exports/atoms/std-physics2d.orb +6 -1
  204. package/dist/exports/atoms/std-platformer-canvas.orb +6 -1
  205. package/dist/exports/atoms/std-quest.orb +309 -34
  206. package/dist/exports/atoms/std-rate-limiter.orb +410 -157
  207. package/dist/exports/atoms/std-score-board.orb +6 -1
  208. package/dist/exports/atoms/std-score.orb +211 -11
  209. package/dist/exports/atoms/std-search.orb +28 -27
  210. package/dist/exports/atoms/std-selection.orb +160 -121
  211. package/dist/exports/atoms/std-simulation-canvas.orb +6 -1
  212. package/dist/exports/atoms/std-sort.orb +134 -24
  213. package/dist/exports/atoms/std-sprite.orb +6 -1
  214. package/dist/exports/atoms/std-tabs.orb +25 -15
  215. package/dist/exports/atoms/std-timer.orb +483 -91
  216. package/dist/exports/atoms/std-undo.orb +211 -81
  217. package/dist/exports/atoms/std-wizard.orb +31 -34
  218. package/dist/exports/molecules/std-builder-game.orb +6 -1
  219. package/dist/exports/molecules/std-cart.orb +6 -1
  220. package/dist/exports/molecules/std-classifier-game.orb +6 -1
  221. package/dist/exports/molecules/std-debugger-game.orb +6 -1
  222. package/dist/exports/molecules/std-detail.orb +12 -5
  223. package/dist/exports/molecules/std-event-handler-game.orb +6 -1
  224. package/dist/exports/molecules/std-geospatial.orb +28 -9
  225. package/dist/exports/molecules/std-inventory.orb +28 -9
  226. package/dist/exports/molecules/std-list.orb +392 -5
  227. package/dist/exports/molecules/std-messaging.orb +12 -5
  228. package/dist/exports/molecules/std-negotiator-game.orb +6 -1
  229. package/dist/exports/molecules/std-platformer-game.orb +40 -1
  230. package/dist/exports/molecules/std-puzzle-game.orb +26 -1
  231. package/dist/exports/molecules/std-sequencer-game.orb +6 -1
  232. package/dist/exports/molecules/std-simulator-game.orb +6 -1
  233. package/dist/exports/molecules/std-turn-based-battle.orb +40 -1
  234. package/dist/exports/organisms/std-api-gateway.orb +1145 -403
  235. package/dist/exports/organisms/std-arcade-game.orb +214 -16
  236. package/dist/exports/organisms/std-booking-system.orb +2165 -1605
  237. package/dist/exports/organisms/std-cicd-pipeline.orb +581 -47
  238. package/dist/exports/organisms/std-cms.orb +1713 -947
  239. package/dist/exports/organisms/std-coding-academy.orb +180 -380
  240. package/dist/exports/organisms/std-crm.orb +1669 -1153
  241. package/dist/exports/organisms/std-devops-dashboard.orb +1430 -378
  242. package/dist/exports/organisms/std-ecommerce.orb +2361 -1601
  243. package/dist/exports/organisms/std-finance-tracker.orb +622 -438
  244. package/dist/exports/organisms/std-healthcare.orb +1687 -1125
  245. package/dist/exports/organisms/std-helpdesk.orb +626 -407
  246. package/dist/exports/organisms/std-hr-portal.orb +1309 -714
  247. package/dist/exports/organisms/std-iot-dashboard.orb +1247 -335
  248. package/dist/exports/organisms/std-lms.orb +658 -362
  249. package/dist/exports/organisms/std-platformer-app.orb +56 -8
  250. package/dist/exports/organisms/std-project-manager.orb +1697 -1183
  251. package/dist/exports/organisms/std-puzzle-app.orb +20 -0
  252. package/dist/exports/organisms/std-realtime-chat.orb +552 -28
  253. package/dist/exports/organisms/std-rpg-game.orb +397 -56
  254. package/dist/exports/organisms/std-social-feed.orb +12 -8
  255. package/dist/exports/organisms/std-stem-lab.orb +175 -290
  256. package/dist/exports/organisms/std-strategy-game.orb +252 -395
  257. package/dist/exports/organisms/std-trading-dashboard.orb +718 -524
  258. package/dist/exports/validation-report.json +747 -0
  259. package/dist/exports/verify-results.json +13 -0
  260. package/dist/index.js +715 -593
  261. package/dist/index.js.map +1 -1
  262. package/package.json +1 -1
@@ -30,6 +30,21 @@
30
30
  {
31
31
  "name": "lastChecked",
32
32
  "type": "string"
33
+ },
34
+ {
35
+ "name": "failureCount",
36
+ "type": "number",
37
+ "default": 0
38
+ },
39
+ {
40
+ "name": "successCount",
41
+ "type": "number",
42
+ "default": 0
43
+ },
44
+ {
45
+ "name": "threshold",
46
+ "type": "number",
47
+ "default": 5
33
48
  }
34
49
  ]
35
50
  },
@@ -90,23 +105,37 @@
90
105
  "type": "stack",
91
106
  "direction": "vertical",
92
107
  "gap": "lg",
93
- "align": "center",
94
108
  "children": [
95
109
  {
96
110
  "type": "stack",
97
111
  "direction": "horizontal",
98
112
  "gap": "md",
99
113
  "align": "center",
114
+ "justify": "space-between",
100
115
  "children": [
101
116
  {
102
- "type": "icon",
103
- "name": "server",
104
- "size": "lg"
117
+ "type": "stack",
118
+ "direction": "horizontal",
119
+ "gap": "md",
120
+ "align": "center",
121
+ "children": [
122
+ {
123
+ "type": "icon",
124
+ "name": "server",
125
+ "size": "lg"
126
+ },
127
+ {
128
+ "type": "typography",
129
+ "content": "ServiceNode",
130
+ "variant": "h2"
131
+ }
132
+ ]
105
133
  },
106
134
  {
107
- "type": "typography",
108
- "content": "ServiceNode",
109
- "variant": "h2"
135
+ "type": "status-dot",
136
+ "status": "success",
137
+ "pulse": false,
138
+ "label": "Circuit Closed"
110
139
  }
111
140
  ]
112
141
  },
@@ -114,13 +143,59 @@
114
143
  "type": "divider"
115
144
  },
116
145
  {
117
- "type": "badge",
118
- "label": "Circuit Closed"
146
+ "type": "alert",
147
+ "variant": "success",
148
+ "message": "Service is healthy. All requests are being processed."
119
149
  },
120
150
  {
121
- "type": "typography",
122
- "content": "Service is healthy. All requests are being processed.",
123
- "variant": "body"
151
+ "type": "simple-grid",
152
+ "columns": 2,
153
+ "children": [
154
+ {
155
+ "type": "stat-display",
156
+ "label": "Failures",
157
+ "value": [
158
+ "object/get",
159
+ [
160
+ "array/first",
161
+ "@entity"
162
+ ],
163
+ "failureCount"
164
+ ]
165
+ },
166
+ {
167
+ "type": "stat-display",
168
+ "label": "Successes",
169
+ "value": [
170
+ "object/get",
171
+ [
172
+ "array/first",
173
+ "@entity"
174
+ ],
175
+ "successCount"
176
+ ]
177
+ }
178
+ ]
179
+ },
180
+ {
181
+ "type": "meter",
182
+ "value": [
183
+ "object/get",
184
+ [
185
+ "array/first",
186
+ "@entity"
187
+ ],
188
+ "failureCount"
189
+ ],
190
+ "min": 0,
191
+ "max": [
192
+ "object/get",
193
+ [
194
+ "array/first",
195
+ "@entity"
196
+ ],
197
+ "threshold"
198
+ ]
124
199
  }
125
200
  ]
126
201
  }
@@ -139,23 +214,37 @@
139
214
  "type": "stack",
140
215
  "direction": "vertical",
141
216
  "gap": "lg",
142
- "align": "center",
143
217
  "children": [
144
218
  {
145
219
  "type": "stack",
146
220
  "direction": "horizontal",
147
221
  "gap": "md",
148
222
  "align": "center",
223
+ "justify": "space-between",
149
224
  "children": [
150
225
  {
151
- "type": "icon",
152
- "name": "alert-triangle",
153
- "size": "lg"
226
+ "type": "stack",
227
+ "direction": "horizontal",
228
+ "gap": "md",
229
+ "align": "center",
230
+ "children": [
231
+ {
232
+ "type": "icon",
233
+ "name": "alert-triangle",
234
+ "size": "lg"
235
+ },
236
+ {
237
+ "type": "typography",
238
+ "content": "ServiceNode",
239
+ "variant": "h2"
240
+ }
241
+ ]
154
242
  },
155
243
  {
156
- "type": "typography",
157
- "content": "ServiceNode",
158
- "variant": "h2"
244
+ "type": "status-dot",
245
+ "status": "error",
246
+ "pulse": true,
247
+ "label": "Circuit Open"
159
248
  }
160
249
  ]
161
250
  },
@@ -163,13 +252,59 @@
163
252
  "type": "divider"
164
253
  },
165
254
  {
166
- "type": "badge",
167
- "label": "Circuit Open"
255
+ "type": "alert",
256
+ "variant": "danger",
257
+ "message": "Circuit is open. Requests are being rejected to prevent cascading failures."
168
258
  },
169
259
  {
170
- "type": "typography",
171
- "content": "Circuit is open. Requests are being rejected to prevent cascading failures.",
172
- "variant": "body"
260
+ "type": "simple-grid",
261
+ "columns": 2,
262
+ "children": [
263
+ {
264
+ "type": "stat-display",
265
+ "label": "Failures",
266
+ "value": [
267
+ "object/get",
268
+ [
269
+ "array/first",
270
+ "@entity"
271
+ ],
272
+ "failureCount"
273
+ ]
274
+ },
275
+ {
276
+ "type": "stat-display",
277
+ "label": "Successes",
278
+ "value": [
279
+ "object/get",
280
+ [
281
+ "array/first",
282
+ "@entity"
283
+ ],
284
+ "successCount"
285
+ ]
286
+ }
287
+ ]
288
+ },
289
+ {
290
+ "type": "meter",
291
+ "value": [
292
+ "object/get",
293
+ [
294
+ "array/first",
295
+ "@entity"
296
+ ],
297
+ "failureCount"
298
+ ],
299
+ "min": 0,
300
+ "max": [
301
+ "object/get",
302
+ [
303
+ "array/first",
304
+ "@entity"
305
+ ],
306
+ "threshold"
307
+ ]
173
308
  },
174
309
  {
175
310
  "type": "button",
@@ -195,23 +330,37 @@
195
330
  "type": "stack",
196
331
  "direction": "vertical",
197
332
  "gap": "lg",
198
- "align": "center",
199
333
  "children": [
200
334
  {
201
335
  "type": "stack",
202
336
  "direction": "horizontal",
203
337
  "gap": "md",
204
338
  "align": "center",
339
+ "justify": "space-between",
205
340
  "children": [
206
341
  {
207
- "type": "icon",
208
- "name": "server",
209
- "size": "lg"
342
+ "type": "stack",
343
+ "direction": "horizontal",
344
+ "gap": "md",
345
+ "align": "center",
346
+ "children": [
347
+ {
348
+ "type": "icon",
349
+ "name": "server",
350
+ "size": "lg"
351
+ },
352
+ {
353
+ "type": "typography",
354
+ "content": "ServiceNode",
355
+ "variant": "h2"
356
+ }
357
+ ]
210
358
  },
211
359
  {
212
- "type": "typography",
213
- "content": "ServiceNode",
214
- "variant": "h2"
360
+ "type": "status-dot",
361
+ "status": "success",
362
+ "pulse": false,
363
+ "label": "Circuit Closed"
215
364
  }
216
365
  ]
217
366
  },
@@ -219,13 +368,59 @@
219
368
  "type": "divider"
220
369
  },
221
370
  {
222
- "type": "badge",
223
- "label": "Circuit Closed"
371
+ "type": "alert",
372
+ "variant": "success",
373
+ "message": "Service is healthy. All requests are being processed."
224
374
  },
225
375
  {
226
- "type": "typography",
227
- "content": "Service is healthy. All requests are being processed.",
228
- "variant": "body"
376
+ "type": "simple-grid",
377
+ "columns": 2,
378
+ "children": [
379
+ {
380
+ "type": "stat-display",
381
+ "label": "Failures",
382
+ "value": [
383
+ "object/get",
384
+ [
385
+ "array/first",
386
+ "@entity"
387
+ ],
388
+ "failureCount"
389
+ ]
390
+ },
391
+ {
392
+ "type": "stat-display",
393
+ "label": "Successes",
394
+ "value": [
395
+ "object/get",
396
+ [
397
+ "array/first",
398
+ "@entity"
399
+ ],
400
+ "successCount"
401
+ ]
402
+ }
403
+ ]
404
+ },
405
+ {
406
+ "type": "meter",
407
+ "value": [
408
+ "object/get",
409
+ [
410
+ "array/first",
411
+ "@entity"
412
+ ],
413
+ "failureCount"
414
+ ],
415
+ "min": 0,
416
+ "max": [
417
+ "object/get",
418
+ [
419
+ "array/first",
420
+ "@entity"
421
+ ],
422
+ "threshold"
423
+ ]
229
424
  }
230
425
  ]
231
426
  }
@@ -244,23 +439,37 @@
244
439
  "type": "stack",
245
440
  "direction": "vertical",
246
441
  "gap": "lg",
247
- "align": "center",
248
442
  "children": [
249
443
  {
250
444
  "type": "stack",
251
445
  "direction": "horizontal",
252
446
  "gap": "md",
253
447
  "align": "center",
448
+ "justify": "space-between",
254
449
  "children": [
255
450
  {
256
- "type": "icon",
257
- "name": "activity",
258
- "size": "lg"
451
+ "type": "stack",
452
+ "direction": "horizontal",
453
+ "gap": "md",
454
+ "align": "center",
455
+ "children": [
456
+ {
457
+ "type": "icon",
458
+ "name": "activity",
459
+ "size": "lg"
460
+ },
461
+ {
462
+ "type": "typography",
463
+ "content": "ServiceNode",
464
+ "variant": "h2"
465
+ }
466
+ ]
259
467
  },
260
468
  {
261
- "type": "typography",
262
- "content": "ServiceNode",
263
- "variant": "h2"
469
+ "type": "status-dot",
470
+ "status": "warning",
471
+ "pulse": true,
472
+ "label": "Circuit Half-Open"
264
473
  }
265
474
  ]
266
475
  },
@@ -268,13 +477,39 @@
268
477
  "type": "divider"
269
478
  },
270
479
  {
271
- "type": "badge",
272
- "label": "Circuit Half-Open"
480
+ "type": "alert",
481
+ "variant": "warning",
482
+ "message": "Testing recovery. Limited requests are being allowed through."
273
483
  },
274
484
  {
275
- "type": "typography",
276
- "content": "Testing recovery. Limited requests are being allowed through.",
277
- "variant": "body"
485
+ "type": "simple-grid",
486
+ "columns": 2,
487
+ "children": [
488
+ {
489
+ "type": "stat-display",
490
+ "label": "Failures",
491
+ "value": [
492
+ "object/get",
493
+ [
494
+ "array/first",
495
+ "@entity"
496
+ ],
497
+ "failureCount"
498
+ ]
499
+ },
500
+ {
501
+ "type": "stat-display",
502
+ "label": "Successes",
503
+ "value": [
504
+ "object/get",
505
+ [
506
+ "array/first",
507
+ "@entity"
508
+ ],
509
+ "successCount"
510
+ ]
511
+ }
512
+ ]
278
513
  }
279
514
  ]
280
515
  }
@@ -293,23 +528,37 @@
293
528
  "type": "stack",
294
529
  "direction": "vertical",
295
530
  "gap": "lg",
296
- "align": "center",
297
531
  "children": [
298
532
  {
299
533
  "type": "stack",
300
534
  "direction": "horizontal",
301
535
  "gap": "md",
302
536
  "align": "center",
537
+ "justify": "space-between",
303
538
  "children": [
304
539
  {
305
- "type": "icon",
306
- "name": "server",
307
- "size": "lg"
540
+ "type": "stack",
541
+ "direction": "horizontal",
542
+ "gap": "md",
543
+ "align": "center",
544
+ "children": [
545
+ {
546
+ "type": "icon",
547
+ "name": "server",
548
+ "size": "lg"
549
+ },
550
+ {
551
+ "type": "typography",
552
+ "content": "ServiceNode",
553
+ "variant": "h2"
554
+ }
555
+ ]
308
556
  },
309
557
  {
310
- "type": "typography",
311
- "content": "ServiceNode",
312
- "variant": "h2"
558
+ "type": "status-dot",
559
+ "status": "success",
560
+ "pulse": false,
561
+ "label": "Circuit Closed"
313
562
  }
314
563
  ]
315
564
  },
@@ -317,13 +566,59 @@
317
566
  "type": "divider"
318
567
  },
319
568
  {
320
- "type": "badge",
321
- "label": "Circuit Closed"
569
+ "type": "alert",
570
+ "variant": "success",
571
+ "message": "Service is healthy. All requests are being processed."
322
572
  },
323
573
  {
324
- "type": "typography",
325
- "content": "Service is healthy. All requests are being processed.",
326
- "variant": "body"
574
+ "type": "simple-grid",
575
+ "columns": 2,
576
+ "children": [
577
+ {
578
+ "type": "stat-display",
579
+ "label": "Failures",
580
+ "value": [
581
+ "object/get",
582
+ [
583
+ "array/first",
584
+ "@entity"
585
+ ],
586
+ "failureCount"
587
+ ]
588
+ },
589
+ {
590
+ "type": "stat-display",
591
+ "label": "Successes",
592
+ "value": [
593
+ "object/get",
594
+ [
595
+ "array/first",
596
+ "@entity"
597
+ ],
598
+ "successCount"
599
+ ]
600
+ }
601
+ ]
602
+ },
603
+ {
604
+ "type": "meter",
605
+ "value": [
606
+ "object/get",
607
+ [
608
+ "array/first",
609
+ "@entity"
610
+ ],
611
+ "failureCount"
612
+ ],
613
+ "min": 0,
614
+ "max": [
615
+ "object/get",
616
+ [
617
+ "array/first",
618
+ "@entity"
619
+ ],
620
+ "threshold"
621
+ ]
327
622
  }
328
623
  ]
329
624
  }
@@ -342,23 +637,37 @@
342
637
  "type": "stack",
343
638
  "direction": "vertical",
344
639
  "gap": "lg",
345
- "align": "center",
346
640
  "children": [
347
641
  {
348
642
  "type": "stack",
349
643
  "direction": "horizontal",
350
644
  "gap": "md",
351
645
  "align": "center",
646
+ "justify": "space-between",
352
647
  "children": [
353
648
  {
354
- "type": "icon",
355
- "name": "server",
356
- "size": "lg"
649
+ "type": "stack",
650
+ "direction": "horizontal",
651
+ "gap": "md",
652
+ "align": "center",
653
+ "children": [
654
+ {
655
+ "type": "icon",
656
+ "name": "server",
657
+ "size": "lg"
658
+ },
659
+ {
660
+ "type": "typography",
661
+ "content": "ServiceNode",
662
+ "variant": "h2"
663
+ }
664
+ ]
357
665
  },
358
666
  {
359
- "type": "typography",
360
- "content": "ServiceNode",
361
- "variant": "h2"
667
+ "type": "status-dot",
668
+ "status": "success",
669
+ "pulse": false,
670
+ "label": "Circuit Closed"
362
671
  }
363
672
  ]
364
673
  },
@@ -366,13 +675,59 @@
366
675
  "type": "divider"
367
676
  },
368
677
  {
369
- "type": "badge",
370
- "label": "Circuit Closed"
678
+ "type": "alert",
679
+ "variant": "success",
680
+ "message": "Service is healthy. All requests are being processed."
371
681
  },
372
682
  {
373
- "type": "typography",
374
- "content": "Service is healthy. All requests are being processed.",
375
- "variant": "body"
683
+ "type": "simple-grid",
684
+ "columns": 2,
685
+ "children": [
686
+ {
687
+ "type": "stat-display",
688
+ "label": "Failures",
689
+ "value": [
690
+ "object/get",
691
+ [
692
+ "array/first",
693
+ "@entity"
694
+ ],
695
+ "failureCount"
696
+ ]
697
+ },
698
+ {
699
+ "type": "stat-display",
700
+ "label": "Successes",
701
+ "value": [
702
+ "object/get",
703
+ [
704
+ "array/first",
705
+ "@entity"
706
+ ],
707
+ "successCount"
708
+ ]
709
+ }
710
+ ]
711
+ },
712
+ {
713
+ "type": "meter",
714
+ "value": [
715
+ "object/get",
716
+ [
717
+ "array/first",
718
+ "@entity"
719
+ ],
720
+ "failureCount"
721
+ ],
722
+ "min": 0,
723
+ "max": [
724
+ "object/get",
725
+ [
726
+ "array/first",
727
+ "@entity"
728
+ ],
729
+ "threshold"
730
+ ]
376
731
  }
377
732
  ]
378
733
  }
@@ -391,23 +746,37 @@
391
746
  "type": "stack",
392
747
  "direction": "vertical",
393
748
  "gap": "lg",
394
- "align": "center",
395
749
  "children": [
396
750
  {
397
751
  "type": "stack",
398
752
  "direction": "horizontal",
399
753
  "gap": "md",
400
754
  "align": "center",
755
+ "justify": "space-between",
401
756
  "children": [
402
757
  {
403
- "type": "icon",
404
- "name": "alert-triangle",
405
- "size": "lg"
758
+ "type": "stack",
759
+ "direction": "horizontal",
760
+ "gap": "md",
761
+ "align": "center",
762
+ "children": [
763
+ {
764
+ "type": "icon",
765
+ "name": "alert-triangle",
766
+ "size": "lg"
767
+ },
768
+ {
769
+ "type": "typography",
770
+ "content": "ServiceNode",
771
+ "variant": "h2"
772
+ }
773
+ ]
406
774
  },
407
775
  {
408
- "type": "typography",
409
- "content": "ServiceNode",
410
- "variant": "h2"
776
+ "type": "status-dot",
777
+ "status": "error",
778
+ "pulse": true,
779
+ "label": "Circuit Open"
411
780
  }
412
781
  ]
413
782
  },
@@ -415,13 +784,59 @@
415
784
  "type": "divider"
416
785
  },
417
786
  {
418
- "type": "badge",
419
- "label": "Circuit Open"
787
+ "type": "alert",
788
+ "variant": "danger",
789
+ "message": "Circuit is open. Requests are being rejected to prevent cascading failures."
420
790
  },
421
791
  {
422
- "type": "typography",
423
- "content": "Circuit is open. Requests are being rejected to prevent cascading failures.",
424
- "variant": "body"
792
+ "type": "simple-grid",
793
+ "columns": 2,
794
+ "children": [
795
+ {
796
+ "type": "stat-display",
797
+ "label": "Failures",
798
+ "value": [
799
+ "object/get",
800
+ [
801
+ "array/first",
802
+ "@entity"
803
+ ],
804
+ "failureCount"
805
+ ]
806
+ },
807
+ {
808
+ "type": "stat-display",
809
+ "label": "Successes",
810
+ "value": [
811
+ "object/get",
812
+ [
813
+ "array/first",
814
+ "@entity"
815
+ ],
816
+ "successCount"
817
+ ]
818
+ }
819
+ ]
820
+ },
821
+ {
822
+ "type": "meter",
823
+ "value": [
824
+ "object/get",
825
+ [
826
+ "array/first",
827
+ "@entity"
828
+ ],
829
+ "failureCount"
830
+ ],
831
+ "min": 0,
832
+ "max": [
833
+ "object/get",
834
+ [
835
+ "array/first",
836
+ "@entity"
837
+ ],
838
+ "threshold"
839
+ ]
425
840
  },
426
841
  {
427
842
  "type": "button",
@@ -447,23 +862,37 @@
447
862
  "type": "stack",
448
863
  "direction": "vertical",
449
864
  "gap": "lg",
450
- "align": "center",
451
865
  "children": [
452
866
  {
453
867
  "type": "stack",
454
868
  "direction": "horizontal",
455
869
  "gap": "md",
456
870
  "align": "center",
871
+ "justify": "space-between",
457
872
  "children": [
458
873
  {
459
- "type": "icon",
460
- "name": "server",
461
- "size": "lg"
874
+ "type": "stack",
875
+ "direction": "horizontal",
876
+ "gap": "md",
877
+ "align": "center",
878
+ "children": [
879
+ {
880
+ "type": "icon",
881
+ "name": "server",
882
+ "size": "lg"
883
+ },
884
+ {
885
+ "type": "typography",
886
+ "content": "ServiceNode",
887
+ "variant": "h2"
888
+ }
889
+ ]
462
890
  },
463
891
  {
464
- "type": "typography",
465
- "content": "ServiceNode",
466
- "variant": "h2"
892
+ "type": "status-dot",
893
+ "status": "success",
894
+ "pulse": false,
895
+ "label": "Circuit Closed"
467
896
  }
468
897
  ]
469
898
  },
@@ -471,18 +900,64 @@
471
900
  "type": "divider"
472
901
  },
473
902
  {
474
- "type": "badge",
475
- "label": "Circuit Closed"
903
+ "type": "alert",
904
+ "variant": "success",
905
+ "message": "Service is healthy. All requests are being processed."
476
906
  },
477
907
  {
478
- "type": "typography",
479
- "content": "Service is healthy. All requests are being processed.",
480
- "variant": "body"
481
- }
482
- ]
483
- }
484
- ]
485
- ]
908
+ "type": "simple-grid",
909
+ "columns": 2,
910
+ "children": [
911
+ {
912
+ "type": "stat-display",
913
+ "label": "Failures",
914
+ "value": [
915
+ "object/get",
916
+ [
917
+ "array/first",
918
+ "@entity"
919
+ ],
920
+ "failureCount"
921
+ ]
922
+ },
923
+ {
924
+ "type": "stat-display",
925
+ "label": "Successes",
926
+ "value": [
927
+ "object/get",
928
+ [
929
+ "array/first",
930
+ "@entity"
931
+ ],
932
+ "successCount"
933
+ ]
934
+ }
935
+ ]
936
+ },
937
+ {
938
+ "type": "meter",
939
+ "value": [
940
+ "object/get",
941
+ [
942
+ "array/first",
943
+ "@entity"
944
+ ],
945
+ "failureCount"
946
+ ],
947
+ "min": 0,
948
+ "max": [
949
+ "object/get",
950
+ [
951
+ "array/first",
952
+ "@entity"
953
+ ],
954
+ "threshold"
955
+ ]
956
+ }
957
+ ]
958
+ }
959
+ ]
960
+ ]
486
961
  }
487
962
  ]
488
963
  }
@@ -641,7 +1116,14 @@
641
1116
  {
642
1117
  "type": "typography",
643
1118
  "variant": "h3",
644
- "content": "@entity.severity"
1119
+ "content": [
1120
+ "object/get",
1121
+ [
1122
+ "array/first",
1123
+ "@entity"
1124
+ ],
1125
+ "severity"
1126
+ ]
645
1127
  }
646
1128
  ]
647
1129
  }
@@ -663,7 +1145,14 @@
663
1145
  {
664
1146
  "type": "typography",
665
1147
  "variant": "h3",
666
- "content": "@entity.message"
1148
+ "content": [
1149
+ "object/get",
1150
+ [
1151
+ "array/first",
1152
+ "@entity"
1153
+ ],
1154
+ "message"
1155
+ ]
667
1156
  }
668
1157
  ]
669
1158
  }
@@ -685,7 +1174,14 @@
685
1174
  {
686
1175
  "type": "typography",
687
1176
  "variant": "h3",
688
- "content": "@entity.timestamp"
1177
+ "content": [
1178
+ "object/get",
1179
+ [
1180
+ "array/first",
1181
+ "@entity"
1182
+ ],
1183
+ "timestamp"
1184
+ ]
689
1185
  }
690
1186
  ]
691
1187
  }
@@ -707,7 +1203,14 @@
707
1203
  {
708
1204
  "type": "typography",
709
1205
  "variant": "h3",
710
- "content": "@entity.source"
1206
+ "content": [
1207
+ "object/get",
1208
+ [
1209
+ "array/first",
1210
+ "@entity"
1211
+ ],
1212
+ "source"
1213
+ ]
711
1214
  }
712
1215
  ]
713
1216
  }
@@ -792,7 +1295,14 @@
792
1295
  {
793
1296
  "type": "typography",
794
1297
  "variant": "h3",
795
- "content": "@entity.severity"
1298
+ "content": [
1299
+ "object/get",
1300
+ [
1301
+ "array/first",
1302
+ "@entity"
1303
+ ],
1304
+ "severity"
1305
+ ]
796
1306
  }
797
1307
  ]
798
1308
  }
@@ -814,7 +1324,14 @@
814
1324
  {
815
1325
  "type": "typography",
816
1326
  "variant": "h3",
817
- "content": "@entity.message"
1327
+ "content": [
1328
+ "object/get",
1329
+ [
1330
+ "array/first",
1331
+ "@entity"
1332
+ ],
1333
+ "message"
1334
+ ]
818
1335
  }
819
1336
  ]
820
1337
  }
@@ -836,7 +1353,14 @@
836
1353
  {
837
1354
  "type": "typography",
838
1355
  "variant": "h3",
839
- "content": "@entity.timestamp"
1356
+ "content": [
1357
+ "object/get",
1358
+ [
1359
+ "array/first",
1360
+ "@entity"
1361
+ ],
1362
+ "timestamp"
1363
+ ]
840
1364
  }
841
1365
  ]
842
1366
  }
@@ -858,7 +1382,14 @@
858
1382
  {
859
1383
  "type": "typography",
860
1384
  "variant": "h3",
861
- "content": "@entity.source"
1385
+ "content": [
1386
+ "object/get",
1387
+ [
1388
+ "array/first",
1389
+ "@entity"
1390
+ ],
1391
+ "source"
1392
+ ]
862
1393
  }
863
1394
  ]
864
1395
  }
@@ -943,7 +1474,14 @@
943
1474
  {
944
1475
  "type": "typography",
945
1476
  "variant": "h3",
946
- "content": "@entity.severity"
1477
+ "content": [
1478
+ "object/get",
1479
+ [
1480
+ "array/first",
1481
+ "@entity"
1482
+ ],
1483
+ "severity"
1484
+ ]
947
1485
  }
948
1486
  ]
949
1487
  }
@@ -965,7 +1503,14 @@
965
1503
  {
966
1504
  "type": "typography",
967
1505
  "variant": "h3",
968
- "content": "@entity.message"
1506
+ "content": [
1507
+ "object/get",
1508
+ [
1509
+ "array/first",
1510
+ "@entity"
1511
+ ],
1512
+ "message"
1513
+ ]
969
1514
  }
970
1515
  ]
971
1516
  }
@@ -987,7 +1532,14 @@
987
1532
  {
988
1533
  "type": "typography",
989
1534
  "variant": "h3",
990
- "content": "@entity.timestamp"
1535
+ "content": [
1536
+ "object/get",
1537
+ [
1538
+ "array/first",
1539
+ "@entity"
1540
+ ],
1541
+ "timestamp"
1542
+ ]
991
1543
  }
992
1544
  ]
993
1545
  }
@@ -1009,7 +1561,14 @@
1009
1561
  {
1010
1562
  "type": "typography",
1011
1563
  "variant": "h3",
1012
- "content": "@entity.source"
1564
+ "content": [
1565
+ "object/get",
1566
+ [
1567
+ "array/first",
1568
+ "@entity"
1569
+ ],
1570
+ "source"
1571
+ ]
1013
1572
  }
1014
1573
  ]
1015
1574
  }
@@ -1094,7 +1653,14 @@
1094
1653
  {
1095
1654
  "type": "typography",
1096
1655
  "variant": "h3",
1097
- "content": "@entity.severity"
1656
+ "content": [
1657
+ "object/get",
1658
+ [
1659
+ "array/first",
1660
+ "@entity"
1661
+ ],
1662
+ "severity"
1663
+ ]
1098
1664
  }
1099
1665
  ]
1100
1666
  }
@@ -1116,7 +1682,14 @@
1116
1682
  {
1117
1683
  "type": "typography",
1118
1684
  "variant": "h3",
1119
- "content": "@entity.message"
1685
+ "content": [
1686
+ "object/get",
1687
+ [
1688
+ "array/first",
1689
+ "@entity"
1690
+ ],
1691
+ "message"
1692
+ ]
1120
1693
  }
1121
1694
  ]
1122
1695
  }
@@ -1138,7 +1711,14 @@
1138
1711
  {
1139
1712
  "type": "typography",
1140
1713
  "variant": "h3",
1141
- "content": "@entity.timestamp"
1714
+ "content": [
1715
+ "object/get",
1716
+ [
1717
+ "array/first",
1718
+ "@entity"
1719
+ ],
1720
+ "timestamp"
1721
+ ]
1142
1722
  }
1143
1723
  ]
1144
1724
  }
@@ -1160,7 +1740,14 @@
1160
1740
  {
1161
1741
  "type": "typography",
1162
1742
  "variant": "h3",
1163
- "content": "@entity.source"
1743
+ "content": [
1744
+ "object/get",
1745
+ [
1746
+ "array/first",
1747
+ "@entity"
1748
+ ],
1749
+ "source"
1750
+ ]
1164
1751
  }
1165
1752
  ]
1166
1753
  }
@@ -1245,7 +1832,14 @@
1245
1832
  {
1246
1833
  "type": "typography",
1247
1834
  "variant": "h3",
1248
- "content": "@entity.severity"
1835
+ "content": [
1836
+ "object/get",
1837
+ [
1838
+ "array/first",
1839
+ "@entity"
1840
+ ],
1841
+ "severity"
1842
+ ]
1249
1843
  }
1250
1844
  ]
1251
1845
  }
@@ -1267,7 +1861,14 @@
1267
1861
  {
1268
1862
  "type": "typography",
1269
1863
  "variant": "h3",
1270
- "content": "@entity.message"
1864
+ "content": [
1865
+ "object/get",
1866
+ [
1867
+ "array/first",
1868
+ "@entity"
1869
+ ],
1870
+ "message"
1871
+ ]
1271
1872
  }
1272
1873
  ]
1273
1874
  }
@@ -1289,7 +1890,14 @@
1289
1890
  {
1290
1891
  "type": "typography",
1291
1892
  "variant": "h3",
1292
- "content": "@entity.timestamp"
1893
+ "content": [
1894
+ "object/get",
1895
+ [
1896
+ "array/first",
1897
+ "@entity"
1898
+ ],
1899
+ "timestamp"
1900
+ ]
1293
1901
  }
1294
1902
  ]
1295
1903
  }
@@ -1311,7 +1919,14 @@
1311
1919
  {
1312
1920
  "type": "typography",
1313
1921
  "variant": "h3",
1314
- "content": "@entity.source"
1922
+ "content": [
1923
+ "object/get",
1924
+ [
1925
+ "array/first",
1926
+ "@entity"
1927
+ ],
1928
+ "source"
1929
+ ]
1315
1930
  }
1316
1931
  ]
1317
1932
  }
@@ -1476,10 +2091,531 @@
1476
2091
  ],
1477
2092
  "transitions": [
1478
2093
  {
1479
- "from": "browsing",
2094
+ "from": "browsing",
2095
+ "to": "browsing",
2096
+ "event": "INIT",
2097
+ "effects": [
2098
+ [
2099
+ "fetch",
2100
+ "LogEntry"
2101
+ ],
2102
+ [
2103
+ "render-ui",
2104
+ "main",
2105
+ {
2106
+ "type": "stack",
2107
+ "direction": "vertical",
2108
+ "gap": "lg",
2109
+ "children": [
2110
+ {
2111
+ "type": "stack",
2112
+ "direction": "horizontal",
2113
+ "gap": "md",
2114
+ "justify": "space-between",
2115
+ "children": [
2116
+ {
2117
+ "type": "stack",
2118
+ "direction": "horizontal",
2119
+ "gap": "sm",
2120
+ "align": "center",
2121
+ "children": [
2122
+ {
2123
+ "type": "icon",
2124
+ "name": "file-text",
2125
+ "size": "lg"
2126
+ },
2127
+ {
2128
+ "type": "typography",
2129
+ "content": "Logs",
2130
+ "variant": "h2"
2131
+ }
2132
+ ]
2133
+ },
2134
+ {
2135
+ "type": "stack",
2136
+ "direction": "horizontal",
2137
+ "gap": "sm",
2138
+ "children": [
2139
+ {
2140
+ "type": "button",
2141
+ "label": "Create LogEntry",
2142
+ "event": "CREATE",
2143
+ "variant": "primary",
2144
+ "icon": "plus"
2145
+ }
2146
+ ]
2147
+ }
2148
+ ]
2149
+ },
2150
+ {
2151
+ "type": "divider"
2152
+ },
2153
+ {
2154
+ "type": "data-grid",
2155
+ "entity": "LogEntry",
2156
+ "emptyIcon": "inbox",
2157
+ "emptyTitle": "No logentrys yet",
2158
+ "emptyDescription": "Create your first logentry to get started.",
2159
+ "itemActions": [
2160
+ {
2161
+ "label": "View",
2162
+ "event": "VIEW"
2163
+ },
2164
+ {
2165
+ "label": "Edit",
2166
+ "event": "EDIT"
2167
+ },
2168
+ {
2169
+ "label": "Delete",
2170
+ "event": "DELETE",
2171
+ "variant": "danger"
2172
+ }
2173
+ ],
2174
+ "className": "transition-shadow hover:shadow-md cursor-pointer",
2175
+ "renderItem": [
2176
+ "fn",
2177
+ "item",
2178
+ {
2179
+ "type": "stack",
2180
+ "direction": "vertical",
2181
+ "gap": "sm",
2182
+ "children": [
2183
+ {
2184
+ "type": "stack",
2185
+ "direction": "horizontal",
2186
+ "justify": "space-between",
2187
+ "align": "center",
2188
+ "children": [
2189
+ {
2190
+ "type": "stack",
2191
+ "direction": "horizontal",
2192
+ "gap": "sm",
2193
+ "align": "center",
2194
+ "children": [
2195
+ {
2196
+ "type": "icon",
2197
+ "name": "file-text",
2198
+ "size": "sm"
2199
+ },
2200
+ {
2201
+ "type": "typography",
2202
+ "variant": "h4",
2203
+ "content": "@item.level"
2204
+ }
2205
+ ]
2206
+ },
2207
+ {
2208
+ "type": "badge",
2209
+ "label": "@item.message"
2210
+ }
2211
+ ]
2212
+ },
2213
+ {
2214
+ "type": "typography",
2215
+ "variant": "caption",
2216
+ "color": "muted",
2217
+ "content": "@item.timestamp"
2218
+ }
2219
+ ]
2220
+ }
2221
+ ]
2222
+ }
2223
+ ]
2224
+ }
2225
+ ]
2226
+ ]
2227
+ },
2228
+ {
2229
+ "from": "browsing",
2230
+ "to": "browsing",
2231
+ "event": "LOG_ENTRY_CREATED",
2232
+ "effects": [
2233
+ [
2234
+ "fetch",
2235
+ "LogEntry"
2236
+ ]
2237
+ ]
2238
+ },
2239
+ {
2240
+ "from": "browsing",
2241
+ "to": "browsing",
2242
+ "event": "LOG_ENTRY_UPDATED",
2243
+ "effects": [
2244
+ [
2245
+ "fetch",
2246
+ "LogEntry"
2247
+ ]
2248
+ ]
2249
+ },
2250
+ {
2251
+ "from": "browsing",
2252
+ "to": "deleting",
2253
+ "event": "DELETE",
2254
+ "effects": [
2255
+ [
2256
+ "fetch",
2257
+ "LogEntry",
2258
+ "@payload.id"
2259
+ ],
2260
+ [
2261
+ "render-ui",
2262
+ "modal",
2263
+ {
2264
+ "type": "stack",
2265
+ "direction": "vertical",
2266
+ "gap": "md",
2267
+ "children": [
2268
+ {
2269
+ "type": "stack",
2270
+ "direction": "horizontal",
2271
+ "gap": "sm",
2272
+ "children": [
2273
+ {
2274
+ "type": "icon",
2275
+ "name": "trash-2",
2276
+ "size": "md"
2277
+ },
2278
+ {
2279
+ "type": "typography",
2280
+ "content": "Delete LogEntry",
2281
+ "variant": "h3"
2282
+ }
2283
+ ]
2284
+ },
2285
+ {
2286
+ "type": "divider"
2287
+ },
2288
+ {
2289
+ "type": "typography",
2290
+ "content": "Are you sure you want to delete this logentry?",
2291
+ "variant": "body"
2292
+ },
2293
+ {
2294
+ "type": "stack",
2295
+ "direction": "horizontal",
2296
+ "gap": "sm",
2297
+ "justify": "end",
2298
+ "children": [
2299
+ {
2300
+ "type": "button",
2301
+ "label": "Cancel",
2302
+ "event": "CANCEL",
2303
+ "variant": "ghost"
2304
+ },
2305
+ {
2306
+ "type": "button",
2307
+ "label": "Delete",
2308
+ "event": "CONFIRM_DELETE",
2309
+ "variant": "danger",
2310
+ "icon": "trash"
2311
+ }
2312
+ ]
2313
+ }
2314
+ ]
2315
+ }
2316
+ ]
2317
+ ]
2318
+ },
2319
+ {
2320
+ "from": "deleting",
2321
+ "to": "browsing",
2322
+ "event": "CONFIRM_DELETE",
2323
+ "effects": [
2324
+ [
2325
+ "persist",
2326
+ "delete",
2327
+ "LogEntry",
2328
+ "@entity.id"
2329
+ ],
2330
+ [
2331
+ "render-ui",
2332
+ "modal",
2333
+ null
2334
+ ],
2335
+ [
2336
+ "fetch",
2337
+ "LogEntry"
2338
+ ],
2339
+ [
2340
+ "render-ui",
2341
+ "main",
2342
+ {
2343
+ "type": "stack",
2344
+ "direction": "vertical",
2345
+ "gap": "lg",
2346
+ "children": [
2347
+ {
2348
+ "type": "stack",
2349
+ "direction": "horizontal",
2350
+ "gap": "md",
2351
+ "justify": "space-between",
2352
+ "children": [
2353
+ {
2354
+ "type": "stack",
2355
+ "direction": "horizontal",
2356
+ "gap": "sm",
2357
+ "align": "center",
2358
+ "children": [
2359
+ {
2360
+ "type": "icon",
2361
+ "name": "file-text",
2362
+ "size": "lg"
2363
+ },
2364
+ {
2365
+ "type": "typography",
2366
+ "content": "Logs",
2367
+ "variant": "h2"
2368
+ }
2369
+ ]
2370
+ },
2371
+ {
2372
+ "type": "stack",
2373
+ "direction": "horizontal",
2374
+ "gap": "sm",
2375
+ "children": [
2376
+ {
2377
+ "type": "button",
2378
+ "label": "Create LogEntry",
2379
+ "event": "CREATE",
2380
+ "variant": "primary",
2381
+ "icon": "plus"
2382
+ }
2383
+ ]
2384
+ }
2385
+ ]
2386
+ },
2387
+ {
2388
+ "type": "divider"
2389
+ },
2390
+ {
2391
+ "type": "data-grid",
2392
+ "entity": "LogEntry",
2393
+ "emptyIcon": "inbox",
2394
+ "emptyTitle": "No logentrys yet",
2395
+ "emptyDescription": "Create your first logentry to get started.",
2396
+ "itemActions": [
2397
+ {
2398
+ "label": "View",
2399
+ "event": "VIEW"
2400
+ },
2401
+ {
2402
+ "label": "Edit",
2403
+ "event": "EDIT"
2404
+ },
2405
+ {
2406
+ "label": "Delete",
2407
+ "event": "DELETE",
2408
+ "variant": "danger"
2409
+ }
2410
+ ],
2411
+ "className": "transition-shadow hover:shadow-md cursor-pointer",
2412
+ "renderItem": [
2413
+ "fn",
2414
+ "item",
2415
+ {
2416
+ "type": "stack",
2417
+ "direction": "vertical",
2418
+ "gap": "sm",
2419
+ "children": [
2420
+ {
2421
+ "type": "stack",
2422
+ "direction": "horizontal",
2423
+ "justify": "space-between",
2424
+ "align": "center",
2425
+ "children": [
2426
+ {
2427
+ "type": "stack",
2428
+ "direction": "horizontal",
2429
+ "gap": "sm",
2430
+ "align": "center",
2431
+ "children": [
2432
+ {
2433
+ "type": "icon",
2434
+ "name": "file-text",
2435
+ "size": "sm"
2436
+ },
2437
+ {
2438
+ "type": "typography",
2439
+ "variant": "h4",
2440
+ "content": "@item.level"
2441
+ }
2442
+ ]
2443
+ },
2444
+ {
2445
+ "type": "badge",
2446
+ "label": "@item.message"
2447
+ }
2448
+ ]
2449
+ },
2450
+ {
2451
+ "type": "typography",
2452
+ "variant": "caption",
2453
+ "color": "muted",
2454
+ "content": "@item.timestamp"
2455
+ }
2456
+ ]
2457
+ }
2458
+ ]
2459
+ }
2460
+ ]
2461
+ }
2462
+ ],
2463
+ [
2464
+ "notify",
2465
+ "LogEntry deleted successfully"
2466
+ ]
2467
+ ]
2468
+ },
2469
+ {
2470
+ "from": "deleting",
2471
+ "to": "browsing",
2472
+ "event": "CANCEL",
2473
+ "effects": [
2474
+ [
2475
+ "render-ui",
2476
+ "modal",
2477
+ null
2478
+ ],
2479
+ [
2480
+ "fetch",
2481
+ "LogEntry"
2482
+ ],
2483
+ [
2484
+ "render-ui",
2485
+ "main",
2486
+ {
2487
+ "type": "stack",
2488
+ "direction": "vertical",
2489
+ "gap": "lg",
2490
+ "children": [
2491
+ {
2492
+ "type": "stack",
2493
+ "direction": "horizontal",
2494
+ "gap": "md",
2495
+ "justify": "space-between",
2496
+ "children": [
2497
+ {
2498
+ "type": "stack",
2499
+ "direction": "horizontal",
2500
+ "gap": "sm",
2501
+ "align": "center",
2502
+ "children": [
2503
+ {
2504
+ "type": "icon",
2505
+ "name": "file-text",
2506
+ "size": "lg"
2507
+ },
2508
+ {
2509
+ "type": "typography",
2510
+ "content": "Logs",
2511
+ "variant": "h2"
2512
+ }
2513
+ ]
2514
+ },
2515
+ {
2516
+ "type": "stack",
2517
+ "direction": "horizontal",
2518
+ "gap": "sm",
2519
+ "children": [
2520
+ {
2521
+ "type": "button",
2522
+ "label": "Create LogEntry",
2523
+ "event": "CREATE",
2524
+ "variant": "primary",
2525
+ "icon": "plus"
2526
+ }
2527
+ ]
2528
+ }
2529
+ ]
2530
+ },
2531
+ {
2532
+ "type": "divider"
2533
+ },
2534
+ {
2535
+ "type": "data-grid",
2536
+ "entity": "LogEntry",
2537
+ "emptyIcon": "inbox",
2538
+ "emptyTitle": "No logentrys yet",
2539
+ "emptyDescription": "Create your first logentry to get started.",
2540
+ "itemActions": [
2541
+ {
2542
+ "label": "View",
2543
+ "event": "VIEW"
2544
+ },
2545
+ {
2546
+ "label": "Edit",
2547
+ "event": "EDIT"
2548
+ },
2549
+ {
2550
+ "label": "Delete",
2551
+ "event": "DELETE",
2552
+ "variant": "danger"
2553
+ }
2554
+ ],
2555
+ "className": "transition-shadow hover:shadow-md cursor-pointer",
2556
+ "renderItem": [
2557
+ "fn",
2558
+ "item",
2559
+ {
2560
+ "type": "stack",
2561
+ "direction": "vertical",
2562
+ "gap": "sm",
2563
+ "children": [
2564
+ {
2565
+ "type": "stack",
2566
+ "direction": "horizontal",
2567
+ "justify": "space-between",
2568
+ "align": "center",
2569
+ "children": [
2570
+ {
2571
+ "type": "stack",
2572
+ "direction": "horizontal",
2573
+ "gap": "sm",
2574
+ "align": "center",
2575
+ "children": [
2576
+ {
2577
+ "type": "icon",
2578
+ "name": "file-text",
2579
+ "size": "sm"
2580
+ },
2581
+ {
2582
+ "type": "typography",
2583
+ "variant": "h4",
2584
+ "content": "@item.level"
2585
+ }
2586
+ ]
2587
+ },
2588
+ {
2589
+ "type": "badge",
2590
+ "label": "@item.message"
2591
+ }
2592
+ ]
2593
+ },
2594
+ {
2595
+ "type": "typography",
2596
+ "variant": "caption",
2597
+ "color": "muted",
2598
+ "content": "@item.timestamp"
2599
+ }
2600
+ ]
2601
+ }
2602
+ ]
2603
+ }
2604
+ ]
2605
+ }
2606
+ ]
2607
+ ]
2608
+ },
2609
+ {
2610
+ "from": "deleting",
1480
2611
  "to": "browsing",
1481
- "event": "INIT",
2612
+ "event": "CLOSE",
1482
2613
  "effects": [
2614
+ [
2615
+ "render-ui",
2616
+ "modal",
2617
+ null
2618
+ ],
1483
2619
  [
1484
2620
  "fetch",
1485
2621
  "LogEntry"
@@ -1557,7 +2693,9 @@
1557
2693
  }
1558
2694
  ],
1559
2695
  "className": "transition-shadow hover:shadow-md cursor-pointer",
1560
- "children": [
2696
+ "renderItem": [
2697
+ "fn",
2698
+ "item",
1561
2699
  {
1562
2700
  "type": "stack",
1563
2701
  "direction": "vertical",
@@ -1583,13 +2721,13 @@
1583
2721
  {
1584
2722
  "type": "typography",
1585
2723
  "variant": "h4",
1586
- "content": "@entity.level"
2724
+ "content": "@item.level"
1587
2725
  }
1588
2726
  ]
1589
2727
  },
1590
2728
  {
1591
2729
  "type": "badge",
1592
- "label": "@entity.message"
2730
+ "label": "@item.message"
1593
2731
  }
1594
2732
  ]
1595
2733
  },
@@ -1597,7 +2735,7 @@
1597
2735
  "type": "typography",
1598
2736
  "variant": "caption",
1599
2737
  "color": "muted",
1600
- "content": "@entity.timestamp"
2738
+ "content": "@item.timestamp"
1601
2739
  }
1602
2740
  ]
1603
2741
  }
@@ -1607,147 +2745,6 @@
1607
2745
  }
1608
2746
  ]
1609
2747
  ]
1610
- },
1611
- {
1612
- "from": "browsing",
1613
- "to": "browsing",
1614
- "event": "LOG_ENTRY_CREATED",
1615
- "effects": [
1616
- [
1617
- "fetch",
1618
- "LogEntry"
1619
- ]
1620
- ]
1621
- },
1622
- {
1623
- "from": "browsing",
1624
- "to": "browsing",
1625
- "event": "LOG_ENTRY_UPDATED",
1626
- "effects": [
1627
- [
1628
- "fetch",
1629
- "LogEntry"
1630
- ]
1631
- ]
1632
- },
1633
- {
1634
- "from": "browsing",
1635
- "to": "deleting",
1636
- "event": "DELETE",
1637
- "effects": [
1638
- [
1639
- "fetch",
1640
- "LogEntry",
1641
- "@payload.id"
1642
- ],
1643
- [
1644
- "render-ui",
1645
- "modal",
1646
- {
1647
- "type": "stack",
1648
- "direction": "vertical",
1649
- "gap": "md",
1650
- "children": [
1651
- {
1652
- "type": "stack",
1653
- "direction": "horizontal",
1654
- "gap": "sm",
1655
- "children": [
1656
- {
1657
- "type": "icon",
1658
- "name": "trash-2",
1659
- "size": "md"
1660
- },
1661
- {
1662
- "type": "typography",
1663
- "content": "Delete LogEntry",
1664
- "variant": "h3"
1665
- }
1666
- ]
1667
- },
1668
- {
1669
- "type": "divider"
1670
- },
1671
- {
1672
- "type": "typography",
1673
- "content": "Are you sure you want to delete this logentry?",
1674
- "variant": "body"
1675
- },
1676
- {
1677
- "type": "stack",
1678
- "direction": "horizontal",
1679
- "gap": "sm",
1680
- "justify": "end",
1681
- "children": [
1682
- {
1683
- "type": "button",
1684
- "label": "Cancel",
1685
- "event": "CANCEL",
1686
- "variant": "ghost"
1687
- },
1688
- {
1689
- "type": "button",
1690
- "label": "Delete",
1691
- "event": "CONFIRM_DELETE",
1692
- "variant": "danger",
1693
- "icon": "trash"
1694
- }
1695
- ]
1696
- }
1697
- ]
1698
- }
1699
- ]
1700
- ]
1701
- },
1702
- {
1703
- "from": "deleting",
1704
- "to": "browsing",
1705
- "event": "CONFIRM_DELETE",
1706
- "effects": [
1707
- [
1708
- "persist",
1709
- "delete",
1710
- "LogEntry",
1711
- "@entity.id"
1712
- ],
1713
- [
1714
- "render-ui",
1715
- "modal",
1716
- null
1717
- ],
1718
- [
1719
- "fetch",
1720
- "LogEntry"
1721
- ],
1722
- [
1723
- "notify",
1724
- "LogEntry deleted successfully"
1725
- ]
1726
- ]
1727
- },
1728
- {
1729
- "from": "deleting",
1730
- "to": "browsing",
1731
- "event": "CANCEL",
1732
- "effects": [
1733
- [
1734
- "render-ui",
1735
- "modal",
1736
- null
1737
- ]
1738
- ]
1739
- },
1740
- {
1741
- "from": "deleting",
1742
- "to": "browsing",
1743
- "event": "CLOSE",
1744
- "effects": [
1745
- [
1746
- "render-ui",
1747
- "modal",
1748
- null
1749
- ]
1750
- ]
1751
2748
  }
1752
2749
  ]
1753
2750
  }
@@ -2433,32 +3430,29 @@
2433
3430
  {
2434
3431
  "type": "typography",
2435
3432
  "variant": "h3",
2436
- "content": "@entity.name"
3433
+ "content": [
3434
+ "object/get",
3435
+ [
3436
+ "array/first",
3437
+ "@entity"
3438
+ ],
3439
+ "name"
3440
+ ]
2437
3441
  }
2438
3442
  ]
2439
3443
  }
2440
3444
  ]
2441
3445
  },
2442
3446
  {
2443
- "type": "card",
2444
- "children": [
2445
- {
2446
- "type": "stack",
2447
- "direction": "vertical",
2448
- "gap": "sm",
2449
- "children": [
2450
- {
2451
- "type": "typography",
2452
- "variant": "caption",
2453
- "content": "Value"
2454
- },
2455
- {
2456
- "type": "typography",
2457
- "variant": "h3",
2458
- "content": "@entity.value"
2459
- }
2460
- ]
2461
- }
3447
+ "type": "stat-display",
3448
+ "label": "Value",
3449
+ "value": [
3450
+ "object/get",
3451
+ [
3452
+ "array/first",
3453
+ "@entity"
3454
+ ],
3455
+ "value"
2462
3456
  ]
2463
3457
  },
2464
3458
  {
@@ -2477,7 +3471,14 @@
2477
3471
  {
2478
3472
  "type": "typography",
2479
3473
  "variant": "h3",
2480
- "content": "@entity.unit"
3474
+ "content": [
3475
+ "object/get",
3476
+ [
3477
+ "array/first",
3478
+ "@entity"
3479
+ ],
3480
+ "unit"
3481
+ ]
2481
3482
  }
2482
3483
  ]
2483
3484
  }
@@ -2499,7 +3500,14 @@
2499
3500
  {
2500
3501
  "type": "typography",
2501
3502
  "variant": "h3",
2502
- "content": "@entity.trend"
3503
+ "content": [
3504
+ "object/get",
3505
+ [
3506
+ "array/first",
3507
+ "@entity"
3508
+ ],
3509
+ "trend"
3510
+ ]
2503
3511
  }
2504
3512
  ]
2505
3513
  }
@@ -2584,32 +3592,29 @@
2584
3592
  {
2585
3593
  "type": "typography",
2586
3594
  "variant": "h3",
2587
- "content": "@entity.name"
3595
+ "content": [
3596
+ "object/get",
3597
+ [
3598
+ "array/first",
3599
+ "@entity"
3600
+ ],
3601
+ "name"
3602
+ ]
2588
3603
  }
2589
3604
  ]
2590
3605
  }
2591
3606
  ]
2592
3607
  },
2593
3608
  {
2594
- "type": "card",
2595
- "children": [
2596
- {
2597
- "type": "stack",
2598
- "direction": "vertical",
2599
- "gap": "sm",
2600
- "children": [
2601
- {
2602
- "type": "typography",
2603
- "variant": "caption",
2604
- "content": "Value"
2605
- },
2606
- {
2607
- "type": "typography",
2608
- "variant": "h3",
2609
- "content": "@entity.value"
2610
- }
2611
- ]
2612
- }
3609
+ "type": "stat-display",
3610
+ "label": "Value",
3611
+ "value": [
3612
+ "object/get",
3613
+ [
3614
+ "array/first",
3615
+ "@entity"
3616
+ ],
3617
+ "value"
2613
3618
  ]
2614
3619
  },
2615
3620
  {
@@ -2628,7 +3633,14 @@
2628
3633
  {
2629
3634
  "type": "typography",
2630
3635
  "variant": "h3",
2631
- "content": "@entity.unit"
3636
+ "content": [
3637
+ "object/get",
3638
+ [
3639
+ "array/first",
3640
+ "@entity"
3641
+ ],
3642
+ "unit"
3643
+ ]
2632
3644
  }
2633
3645
  ]
2634
3646
  }
@@ -2650,7 +3662,14 @@
2650
3662
  {
2651
3663
  "type": "typography",
2652
3664
  "variant": "h3",
2653
- "content": "@entity.trend"
3665
+ "content": [
3666
+ "object/get",
3667
+ [
3668
+ "array/first",
3669
+ "@entity"
3670
+ ],
3671
+ "trend"
3672
+ ]
2654
3673
  }
2655
3674
  ]
2656
3675
  }
@@ -2735,32 +3754,29 @@
2735
3754
  {
2736
3755
  "type": "typography",
2737
3756
  "variant": "h3",
2738
- "content": "@entity.name"
3757
+ "content": [
3758
+ "object/get",
3759
+ [
3760
+ "array/first",
3761
+ "@entity"
3762
+ ],
3763
+ "name"
3764
+ ]
2739
3765
  }
2740
3766
  ]
2741
3767
  }
2742
3768
  ]
2743
3769
  },
2744
3770
  {
2745
- "type": "card",
2746
- "children": [
2747
- {
2748
- "type": "stack",
2749
- "direction": "vertical",
2750
- "gap": "sm",
2751
- "children": [
2752
- {
2753
- "type": "typography",
2754
- "variant": "caption",
2755
- "content": "Value"
2756
- },
2757
- {
2758
- "type": "typography",
2759
- "variant": "h3",
2760
- "content": "@entity.value"
2761
- }
2762
- ]
2763
- }
3771
+ "type": "stat-display",
3772
+ "label": "Value",
3773
+ "value": [
3774
+ "object/get",
3775
+ [
3776
+ "array/first",
3777
+ "@entity"
3778
+ ],
3779
+ "value"
2764
3780
  ]
2765
3781
  },
2766
3782
  {
@@ -2779,7 +3795,14 @@
2779
3795
  {
2780
3796
  "type": "typography",
2781
3797
  "variant": "h3",
2782
- "content": "@entity.unit"
3798
+ "content": [
3799
+ "object/get",
3800
+ [
3801
+ "array/first",
3802
+ "@entity"
3803
+ ],
3804
+ "unit"
3805
+ ]
2783
3806
  }
2784
3807
  ]
2785
3808
  }
@@ -2801,7 +3824,14 @@
2801
3824
  {
2802
3825
  "type": "typography",
2803
3826
  "variant": "h3",
2804
- "content": "@entity.trend"
3827
+ "content": [
3828
+ "object/get",
3829
+ [
3830
+ "array/first",
3831
+ "@entity"
3832
+ ],
3833
+ "trend"
3834
+ ]
2805
3835
  }
2806
3836
  ]
2807
3837
  }
@@ -2886,32 +3916,29 @@
2886
3916
  {
2887
3917
  "type": "typography",
2888
3918
  "variant": "h3",
2889
- "content": "@entity.name"
3919
+ "content": [
3920
+ "object/get",
3921
+ [
3922
+ "array/first",
3923
+ "@entity"
3924
+ ],
3925
+ "name"
3926
+ ]
2890
3927
  }
2891
3928
  ]
2892
3929
  }
2893
3930
  ]
2894
3931
  },
2895
3932
  {
2896
- "type": "card",
2897
- "children": [
2898
- {
2899
- "type": "stack",
2900
- "direction": "vertical",
2901
- "gap": "sm",
2902
- "children": [
2903
- {
2904
- "type": "typography",
2905
- "variant": "caption",
2906
- "content": "Value"
2907
- },
2908
- {
2909
- "type": "typography",
2910
- "variant": "h3",
2911
- "content": "@entity.value"
2912
- }
2913
- ]
2914
- }
3933
+ "type": "stat-display",
3934
+ "label": "Value",
3935
+ "value": [
3936
+ "object/get",
3937
+ [
3938
+ "array/first",
3939
+ "@entity"
3940
+ ],
3941
+ "value"
2915
3942
  ]
2916
3943
  },
2917
3944
  {
@@ -2930,7 +3957,14 @@
2930
3957
  {
2931
3958
  "type": "typography",
2932
3959
  "variant": "h3",
2933
- "content": "@entity.unit"
3960
+ "content": [
3961
+ "object/get",
3962
+ [
3963
+ "array/first",
3964
+ "@entity"
3965
+ ],
3966
+ "unit"
3967
+ ]
2934
3968
  }
2935
3969
  ]
2936
3970
  }
@@ -2952,7 +3986,14 @@
2952
3986
  {
2953
3987
  "type": "typography",
2954
3988
  "variant": "h3",
2955
- "content": "@entity.trend"
3989
+ "content": [
3990
+ "object/get",
3991
+ [
3992
+ "array/first",
3993
+ "@entity"
3994
+ ],
3995
+ "trend"
3996
+ ]
2956
3997
  }
2957
3998
  ]
2958
3999
  }
@@ -3037,32 +4078,29 @@
3037
4078
  {
3038
4079
  "type": "typography",
3039
4080
  "variant": "h3",
3040
- "content": "@entity.name"
4081
+ "content": [
4082
+ "object/get",
4083
+ [
4084
+ "array/first",
4085
+ "@entity"
4086
+ ],
4087
+ "name"
4088
+ ]
3041
4089
  }
3042
4090
  ]
3043
4091
  }
3044
4092
  ]
3045
4093
  },
3046
4094
  {
3047
- "type": "card",
3048
- "children": [
3049
- {
3050
- "type": "stack",
3051
- "direction": "vertical",
3052
- "gap": "sm",
3053
- "children": [
3054
- {
3055
- "type": "typography",
3056
- "variant": "caption",
3057
- "content": "Value"
3058
- },
3059
- {
3060
- "type": "typography",
3061
- "variant": "h3",
3062
- "content": "@entity.value"
3063
- }
3064
- ]
3065
- }
4095
+ "type": "stat-display",
4096
+ "label": "Value",
4097
+ "value": [
4098
+ "object/get",
4099
+ [
4100
+ "array/first",
4101
+ "@entity"
4102
+ ],
4103
+ "value"
3066
4104
  ]
3067
4105
  },
3068
4106
  {
@@ -3081,7 +4119,14 @@
3081
4119
  {
3082
4120
  "type": "typography",
3083
4121
  "variant": "h3",
3084
- "content": "@entity.unit"
4122
+ "content": [
4123
+ "object/get",
4124
+ [
4125
+ "array/first",
4126
+ "@entity"
4127
+ ],
4128
+ "unit"
4129
+ ]
3085
4130
  }
3086
4131
  ]
3087
4132
  }
@@ -3103,7 +4148,14 @@
3103
4148
  {
3104
4149
  "type": "typography",
3105
4150
  "variant": "h3",
3106
- "content": "@entity.trend"
4151
+ "content": [
4152
+ "object/get",
4153
+ [
4154
+ "array/first",
4155
+ "@entity"
4156
+ ],
4157
+ "trend"
4158
+ ]
3107
4159
  }
3108
4160
  ]
3109
4161
  }