@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
@@ -142,32 +142,29 @@
142
142
  {
143
143
  "type": "typography",
144
144
  "variant": "h3",
145
- "content": "@entity.sensorId"
145
+ "content": [
146
+ "object/get",
147
+ [
148
+ "array/first",
149
+ "@entity"
150
+ ],
151
+ "sensorId"
152
+ ]
146
153
  }
147
154
  ]
148
155
  }
149
156
  ]
150
157
  },
151
158
  {
152
- "type": "card",
153
- "children": [
154
- {
155
- "type": "stack",
156
- "direction": "vertical",
157
- "gap": "sm",
158
- "children": [
159
- {
160
- "type": "typography",
161
- "variant": "caption",
162
- "content": "Value"
163
- },
164
- {
165
- "type": "typography",
166
- "variant": "h3",
167
- "content": "@entity.value"
168
- }
169
- ]
170
- }
159
+ "type": "stat-display",
160
+ "label": "Value",
161
+ "value": [
162
+ "object/get",
163
+ [
164
+ "array/first",
165
+ "@entity"
166
+ ],
167
+ "value"
171
168
  ]
172
169
  },
173
170
  {
@@ -186,7 +183,14 @@
186
183
  {
187
184
  "type": "typography",
188
185
  "variant": "h3",
189
- "content": "@entity.unit"
186
+ "content": [
187
+ "object/get",
188
+ [
189
+ "array/first",
190
+ "@entity"
191
+ ],
192
+ "unit"
193
+ ]
190
194
  }
191
195
  ]
192
196
  }
@@ -208,7 +212,14 @@
208
212
  {
209
213
  "type": "typography",
210
214
  "variant": "h3",
211
- "content": "@entity.timestamp"
215
+ "content": [
216
+ "object/get",
217
+ [
218
+ "array/first",
219
+ "@entity"
220
+ ],
221
+ "timestamp"
222
+ ]
212
223
  }
213
224
  ]
214
225
  }
@@ -293,32 +304,29 @@
293
304
  {
294
305
  "type": "typography",
295
306
  "variant": "h3",
296
- "content": "@entity.sensorId"
307
+ "content": [
308
+ "object/get",
309
+ [
310
+ "array/first",
311
+ "@entity"
312
+ ],
313
+ "sensorId"
314
+ ]
297
315
  }
298
316
  ]
299
317
  }
300
318
  ]
301
319
  },
302
320
  {
303
- "type": "card",
304
- "children": [
305
- {
306
- "type": "stack",
307
- "direction": "vertical",
308
- "gap": "sm",
309
- "children": [
310
- {
311
- "type": "typography",
312
- "variant": "caption",
313
- "content": "Value"
314
- },
315
- {
316
- "type": "typography",
317
- "variant": "h3",
318
- "content": "@entity.value"
319
- }
320
- ]
321
- }
321
+ "type": "stat-display",
322
+ "label": "Value",
323
+ "value": [
324
+ "object/get",
325
+ [
326
+ "array/first",
327
+ "@entity"
328
+ ],
329
+ "value"
322
330
  ]
323
331
  },
324
332
  {
@@ -337,7 +345,14 @@
337
345
  {
338
346
  "type": "typography",
339
347
  "variant": "h3",
340
- "content": "@entity.unit"
348
+ "content": [
349
+ "object/get",
350
+ [
351
+ "array/first",
352
+ "@entity"
353
+ ],
354
+ "unit"
355
+ ]
341
356
  }
342
357
  ]
343
358
  }
@@ -359,7 +374,14 @@
359
374
  {
360
375
  "type": "typography",
361
376
  "variant": "h3",
362
- "content": "@entity.timestamp"
377
+ "content": [
378
+ "object/get",
379
+ [
380
+ "array/first",
381
+ "@entity"
382
+ ],
383
+ "timestamp"
384
+ ]
363
385
  }
364
386
  ]
365
387
  }
@@ -444,32 +466,29 @@
444
466
  {
445
467
  "type": "typography",
446
468
  "variant": "h3",
447
- "content": "@entity.sensorId"
469
+ "content": [
470
+ "object/get",
471
+ [
472
+ "array/first",
473
+ "@entity"
474
+ ],
475
+ "sensorId"
476
+ ]
448
477
  }
449
478
  ]
450
479
  }
451
480
  ]
452
481
  },
453
482
  {
454
- "type": "card",
455
- "children": [
456
- {
457
- "type": "stack",
458
- "direction": "vertical",
459
- "gap": "sm",
460
- "children": [
461
- {
462
- "type": "typography",
463
- "variant": "caption",
464
- "content": "Value"
465
- },
466
- {
467
- "type": "typography",
468
- "variant": "h3",
469
- "content": "@entity.value"
470
- }
471
- ]
472
- }
483
+ "type": "stat-display",
484
+ "label": "Value",
485
+ "value": [
486
+ "object/get",
487
+ [
488
+ "array/first",
489
+ "@entity"
490
+ ],
491
+ "value"
473
492
  ]
474
493
  },
475
494
  {
@@ -488,7 +507,14 @@
488
507
  {
489
508
  "type": "typography",
490
509
  "variant": "h3",
491
- "content": "@entity.unit"
510
+ "content": [
511
+ "object/get",
512
+ [
513
+ "array/first",
514
+ "@entity"
515
+ ],
516
+ "unit"
517
+ ]
492
518
  }
493
519
  ]
494
520
  }
@@ -510,7 +536,14 @@
510
536
  {
511
537
  "type": "typography",
512
538
  "variant": "h3",
513
- "content": "@entity.timestamp"
539
+ "content": [
540
+ "object/get",
541
+ [
542
+ "array/first",
543
+ "@entity"
544
+ ],
545
+ "timestamp"
546
+ ]
514
547
  }
515
548
  ]
516
549
  }
@@ -595,32 +628,29 @@
595
628
  {
596
629
  "type": "typography",
597
630
  "variant": "h3",
598
- "content": "@entity.sensorId"
631
+ "content": [
632
+ "object/get",
633
+ [
634
+ "array/first",
635
+ "@entity"
636
+ ],
637
+ "sensorId"
638
+ ]
599
639
  }
600
640
  ]
601
641
  }
602
642
  ]
603
643
  },
604
644
  {
605
- "type": "card",
606
- "children": [
607
- {
608
- "type": "stack",
609
- "direction": "vertical",
610
- "gap": "sm",
611
- "children": [
612
- {
613
- "type": "typography",
614
- "variant": "caption",
615
- "content": "Value"
616
- },
617
- {
618
- "type": "typography",
619
- "variant": "h3",
620
- "content": "@entity.value"
621
- }
622
- ]
623
- }
645
+ "type": "stat-display",
646
+ "label": "Value",
647
+ "value": [
648
+ "object/get",
649
+ [
650
+ "array/first",
651
+ "@entity"
652
+ ],
653
+ "value"
624
654
  ]
625
655
  },
626
656
  {
@@ -639,7 +669,14 @@
639
669
  {
640
670
  "type": "typography",
641
671
  "variant": "h3",
642
- "content": "@entity.unit"
672
+ "content": [
673
+ "object/get",
674
+ [
675
+ "array/first",
676
+ "@entity"
677
+ ],
678
+ "unit"
679
+ ]
643
680
  }
644
681
  ]
645
682
  }
@@ -661,7 +698,14 @@
661
698
  {
662
699
  "type": "typography",
663
700
  "variant": "h3",
664
- "content": "@entity.timestamp"
701
+ "content": [
702
+ "object/get",
703
+ [
704
+ "array/first",
705
+ "@entity"
706
+ ],
707
+ "timestamp"
708
+ ]
665
709
  }
666
710
  ]
667
711
  }
@@ -746,32 +790,29 @@
746
790
  {
747
791
  "type": "typography",
748
792
  "variant": "h3",
749
- "content": "@entity.sensorId"
793
+ "content": [
794
+ "object/get",
795
+ [
796
+ "array/first",
797
+ "@entity"
798
+ ],
799
+ "sensorId"
800
+ ]
750
801
  }
751
802
  ]
752
803
  }
753
804
  ]
754
805
  },
755
806
  {
756
- "type": "card",
757
- "children": [
758
- {
759
- "type": "stack",
760
- "direction": "vertical",
761
- "gap": "sm",
762
- "children": [
763
- {
764
- "type": "typography",
765
- "variant": "caption",
766
- "content": "Value"
767
- },
768
- {
769
- "type": "typography",
770
- "variant": "h3",
771
- "content": "@entity.value"
772
- }
773
- ]
774
- }
807
+ "type": "stat-display",
808
+ "label": "Value",
809
+ "value": [
810
+ "object/get",
811
+ [
812
+ "array/first",
813
+ "@entity"
814
+ ],
815
+ "value"
775
816
  ]
776
817
  },
777
818
  {
@@ -790,7 +831,14 @@
790
831
  {
791
832
  "type": "typography",
792
833
  "variant": "h3",
793
- "content": "@entity.unit"
834
+ "content": [
835
+ "object/get",
836
+ [
837
+ "array/first",
838
+ "@entity"
839
+ ],
840
+ "unit"
841
+ ]
794
842
  }
795
843
  ]
796
844
  }
@@ -812,7 +860,14 @@
812
860
  {
813
861
  "type": "typography",
814
862
  "variant": "h3",
815
- "content": "@entity.timestamp"
863
+ "content": [
864
+ "object/get",
865
+ [
866
+ "array/first",
867
+ "@entity"
868
+ ],
869
+ "timestamp"
870
+ ]
816
871
  }
817
872
  ]
818
873
  }
@@ -1060,7 +1115,9 @@
1060
1115
  }
1061
1116
  ],
1062
1117
  "className": "transition-shadow hover:shadow-md cursor-pointer",
1063
- "children": [
1118
+ "renderItem": [
1119
+ "fn",
1120
+ "item",
1064
1121
  {
1065
1122
  "type": "stack",
1066
1123
  "direction": "vertical",
@@ -1086,13 +1143,13 @@
1086
1143
  {
1087
1144
  "type": "typography",
1088
1145
  "variant": "h4",
1089
- "content": "@entity.name"
1146
+ "content": "@item.name"
1090
1147
  }
1091
1148
  ]
1092
1149
  },
1093
1150
  {
1094
1151
  "type": "badge",
1095
- "label": "@entity.type"
1152
+ "label": "@item.type"
1096
1153
  }
1097
1154
  ]
1098
1155
  },
@@ -1100,7 +1157,7 @@
1100
1157
  "type": "typography",
1101
1158
  "variant": "caption",
1102
1159
  "color": "muted",
1103
- "content": "@entity.status"
1160
+ "content": "@item.status"
1104
1161
  }
1105
1162
  ]
1106
1163
  }
@@ -1218,130 +1275,55 @@
1218
1275
  "modal",
1219
1276
  null
1220
1277
  ],
1221
- [
1222
- "fetch",
1223
- "Device"
1224
- ],
1225
- [
1226
- "notify",
1227
- "Device deleted successfully"
1228
- ]
1229
- ]
1230
- },
1231
- {
1232
- "from": "deleting",
1233
- "to": "browsing",
1234
- "event": "CANCEL",
1235
- "effects": [
1236
- [
1237
- "render-ui",
1238
- "modal",
1239
- null
1240
- ]
1241
- ]
1242
- },
1243
- {
1244
- "from": "deleting",
1245
- "to": "browsing",
1246
- "event": "CLOSE",
1247
- "effects": [
1248
- [
1249
- "render-ui",
1250
- "modal",
1251
- null
1252
- ]
1253
- ]
1254
- }
1255
- ]
1256
- }
1257
- },
1258
- {
1259
- "name": "DeviceCreate",
1260
- "linkedEntity": "Device",
1261
- "category": "interaction",
1262
- "emits": [
1263
- {
1264
- "event": "DEVICE_CREATED"
1265
- }
1266
- ],
1267
- "stateMachine": {
1268
- "states": [
1269
- {
1270
- "name": "closed",
1271
- "isInitial": true
1272
- },
1273
- {
1274
- "name": "open"
1275
- }
1276
- ],
1277
- "events": [
1278
- {
1279
- "key": "INIT",
1280
- "name": "Initialize"
1281
- },
1282
- {
1283
- "key": "CREATE",
1284
- "name": "Open"
1285
- },
1286
- {
1287
- "key": "CLOSE",
1288
- "name": "Close"
1289
- },
1290
- {
1291
- "key": "SAVE",
1292
- "name": "Save",
1293
- "payload": [
1294
- {
1295
- "name": "data",
1296
- "type": "object",
1297
- "required": true
1298
- }
1299
- ]
1300
- }
1301
- ],
1302
- "transitions": [
1303
- {
1304
- "from": "closed",
1305
- "to": "closed",
1306
- "event": "INIT",
1307
- "effects": [
1308
- [
1309
- "fetch",
1310
- "Device"
1311
- ]
1312
- ]
1313
- },
1314
- {
1315
- "from": "closed",
1316
- "to": "open",
1317
- "event": "CREATE",
1318
- "effects": [
1319
1278
  [
1320
1279
  "fetch",
1321
1280
  "Device"
1322
1281
  ],
1323
1282
  [
1324
1283
  "render-ui",
1325
- "modal",
1284
+ "main",
1326
1285
  {
1327
1286
  "type": "stack",
1328
1287
  "direction": "vertical",
1329
- "gap": "md",
1288
+ "gap": "lg",
1330
1289
  "children": [
1331
1290
  {
1332
1291
  "type": "stack",
1333
1292
  "direction": "horizontal",
1334
- "gap": "sm",
1293
+ "gap": "md",
1294
+ "justify": "space-between",
1335
1295
  "children": [
1336
1296
  {
1337
- "type": "icon",
1338
- "name": "plus-circle",
1339
- "size": "md"
1297
+ "type": "stack",
1298
+ "direction": "horizontal",
1299
+ "gap": "sm",
1300
+ "align": "center",
1301
+ "children": [
1302
+ {
1303
+ "type": "icon",
1304
+ "name": "cpu",
1305
+ "size": "lg"
1306
+ },
1307
+ {
1308
+ "type": "typography",
1309
+ "content": "Devices",
1310
+ "variant": "h2"
1311
+ }
1312
+ ]
1340
1313
  },
1341
1314
  {
1342
- "type": "typography",
1343
- "content": "Create Device",
1344
- "variant": "h3"
1315
+ "type": "stack",
1316
+ "direction": "horizontal",
1317
+ "gap": "sm",
1318
+ "children": [
1319
+ {
1320
+ "type": "button",
1321
+ "label": "Create Device",
1322
+ "event": "CREATE",
1323
+ "variant": "primary",
1324
+ "icon": "plus"
1325
+ }
1326
+ ]
1345
1327
  }
1346
1328
  ]
1347
1329
  },
@@ -1349,22 +1331,477 @@
1349
1331
  "type": "divider"
1350
1332
  },
1351
1333
  {
1352
- "type": "form-section",
1334
+ "type": "data-grid",
1353
1335
  "entity": "Device",
1354
- "mode": "create",
1355
- "submitEvent": "SAVE",
1356
- "cancelEvent": "CLOSE",
1357
- "fields": [
1358
- "name",
1359
- "type",
1360
- "status",
1361
- "lastSeen"
1362
- ]
1363
- }
1364
- ]
1365
- }
1366
- ]
1367
- ]
1336
+ "emptyIcon": "inbox",
1337
+ "emptyTitle": "No devices yet",
1338
+ "emptyDescription": "Create your first device to get started.",
1339
+ "itemActions": [
1340
+ {
1341
+ "label": "View",
1342
+ "event": "VIEW"
1343
+ },
1344
+ {
1345
+ "label": "Edit",
1346
+ "event": "EDIT"
1347
+ },
1348
+ {
1349
+ "label": "Delete",
1350
+ "event": "DELETE",
1351
+ "variant": "danger"
1352
+ }
1353
+ ],
1354
+ "className": "transition-shadow hover:shadow-md cursor-pointer",
1355
+ "renderItem": [
1356
+ "fn",
1357
+ "item",
1358
+ {
1359
+ "type": "stack",
1360
+ "direction": "vertical",
1361
+ "gap": "sm",
1362
+ "children": [
1363
+ {
1364
+ "type": "stack",
1365
+ "direction": "horizontal",
1366
+ "justify": "space-between",
1367
+ "align": "center",
1368
+ "children": [
1369
+ {
1370
+ "type": "stack",
1371
+ "direction": "horizontal",
1372
+ "gap": "sm",
1373
+ "align": "center",
1374
+ "children": [
1375
+ {
1376
+ "type": "icon",
1377
+ "name": "cpu",
1378
+ "size": "sm"
1379
+ },
1380
+ {
1381
+ "type": "typography",
1382
+ "variant": "h4",
1383
+ "content": "@item.name"
1384
+ }
1385
+ ]
1386
+ },
1387
+ {
1388
+ "type": "badge",
1389
+ "label": "@item.type"
1390
+ }
1391
+ ]
1392
+ },
1393
+ {
1394
+ "type": "typography",
1395
+ "variant": "caption",
1396
+ "color": "muted",
1397
+ "content": "@item.status"
1398
+ }
1399
+ ]
1400
+ }
1401
+ ]
1402
+ }
1403
+ ]
1404
+ }
1405
+ ],
1406
+ [
1407
+ "notify",
1408
+ "Device deleted successfully"
1409
+ ]
1410
+ ]
1411
+ },
1412
+ {
1413
+ "from": "deleting",
1414
+ "to": "browsing",
1415
+ "event": "CANCEL",
1416
+ "effects": [
1417
+ [
1418
+ "render-ui",
1419
+ "modal",
1420
+ null
1421
+ ],
1422
+ [
1423
+ "fetch",
1424
+ "Device"
1425
+ ],
1426
+ [
1427
+ "render-ui",
1428
+ "main",
1429
+ {
1430
+ "type": "stack",
1431
+ "direction": "vertical",
1432
+ "gap": "lg",
1433
+ "children": [
1434
+ {
1435
+ "type": "stack",
1436
+ "direction": "horizontal",
1437
+ "gap": "md",
1438
+ "justify": "space-between",
1439
+ "children": [
1440
+ {
1441
+ "type": "stack",
1442
+ "direction": "horizontal",
1443
+ "gap": "sm",
1444
+ "align": "center",
1445
+ "children": [
1446
+ {
1447
+ "type": "icon",
1448
+ "name": "cpu",
1449
+ "size": "lg"
1450
+ },
1451
+ {
1452
+ "type": "typography",
1453
+ "content": "Devices",
1454
+ "variant": "h2"
1455
+ }
1456
+ ]
1457
+ },
1458
+ {
1459
+ "type": "stack",
1460
+ "direction": "horizontal",
1461
+ "gap": "sm",
1462
+ "children": [
1463
+ {
1464
+ "type": "button",
1465
+ "label": "Create Device",
1466
+ "event": "CREATE",
1467
+ "variant": "primary",
1468
+ "icon": "plus"
1469
+ }
1470
+ ]
1471
+ }
1472
+ ]
1473
+ },
1474
+ {
1475
+ "type": "divider"
1476
+ },
1477
+ {
1478
+ "type": "data-grid",
1479
+ "entity": "Device",
1480
+ "emptyIcon": "inbox",
1481
+ "emptyTitle": "No devices yet",
1482
+ "emptyDescription": "Create your first device to get started.",
1483
+ "itemActions": [
1484
+ {
1485
+ "label": "View",
1486
+ "event": "VIEW"
1487
+ },
1488
+ {
1489
+ "label": "Edit",
1490
+ "event": "EDIT"
1491
+ },
1492
+ {
1493
+ "label": "Delete",
1494
+ "event": "DELETE",
1495
+ "variant": "danger"
1496
+ }
1497
+ ],
1498
+ "className": "transition-shadow hover:shadow-md cursor-pointer",
1499
+ "renderItem": [
1500
+ "fn",
1501
+ "item",
1502
+ {
1503
+ "type": "stack",
1504
+ "direction": "vertical",
1505
+ "gap": "sm",
1506
+ "children": [
1507
+ {
1508
+ "type": "stack",
1509
+ "direction": "horizontal",
1510
+ "justify": "space-between",
1511
+ "align": "center",
1512
+ "children": [
1513
+ {
1514
+ "type": "stack",
1515
+ "direction": "horizontal",
1516
+ "gap": "sm",
1517
+ "align": "center",
1518
+ "children": [
1519
+ {
1520
+ "type": "icon",
1521
+ "name": "cpu",
1522
+ "size": "sm"
1523
+ },
1524
+ {
1525
+ "type": "typography",
1526
+ "variant": "h4",
1527
+ "content": "@item.name"
1528
+ }
1529
+ ]
1530
+ },
1531
+ {
1532
+ "type": "badge",
1533
+ "label": "@item.type"
1534
+ }
1535
+ ]
1536
+ },
1537
+ {
1538
+ "type": "typography",
1539
+ "variant": "caption",
1540
+ "color": "muted",
1541
+ "content": "@item.status"
1542
+ }
1543
+ ]
1544
+ }
1545
+ ]
1546
+ }
1547
+ ]
1548
+ }
1549
+ ]
1550
+ ]
1551
+ },
1552
+ {
1553
+ "from": "deleting",
1554
+ "to": "browsing",
1555
+ "event": "CLOSE",
1556
+ "effects": [
1557
+ [
1558
+ "render-ui",
1559
+ "modal",
1560
+ null
1561
+ ],
1562
+ [
1563
+ "fetch",
1564
+ "Device"
1565
+ ],
1566
+ [
1567
+ "render-ui",
1568
+ "main",
1569
+ {
1570
+ "type": "stack",
1571
+ "direction": "vertical",
1572
+ "gap": "lg",
1573
+ "children": [
1574
+ {
1575
+ "type": "stack",
1576
+ "direction": "horizontal",
1577
+ "gap": "md",
1578
+ "justify": "space-between",
1579
+ "children": [
1580
+ {
1581
+ "type": "stack",
1582
+ "direction": "horizontal",
1583
+ "gap": "sm",
1584
+ "align": "center",
1585
+ "children": [
1586
+ {
1587
+ "type": "icon",
1588
+ "name": "cpu",
1589
+ "size": "lg"
1590
+ },
1591
+ {
1592
+ "type": "typography",
1593
+ "content": "Devices",
1594
+ "variant": "h2"
1595
+ }
1596
+ ]
1597
+ },
1598
+ {
1599
+ "type": "stack",
1600
+ "direction": "horizontal",
1601
+ "gap": "sm",
1602
+ "children": [
1603
+ {
1604
+ "type": "button",
1605
+ "label": "Create Device",
1606
+ "event": "CREATE",
1607
+ "variant": "primary",
1608
+ "icon": "plus"
1609
+ }
1610
+ ]
1611
+ }
1612
+ ]
1613
+ },
1614
+ {
1615
+ "type": "divider"
1616
+ },
1617
+ {
1618
+ "type": "data-grid",
1619
+ "entity": "Device",
1620
+ "emptyIcon": "inbox",
1621
+ "emptyTitle": "No devices yet",
1622
+ "emptyDescription": "Create your first device to get started.",
1623
+ "itemActions": [
1624
+ {
1625
+ "label": "View",
1626
+ "event": "VIEW"
1627
+ },
1628
+ {
1629
+ "label": "Edit",
1630
+ "event": "EDIT"
1631
+ },
1632
+ {
1633
+ "label": "Delete",
1634
+ "event": "DELETE",
1635
+ "variant": "danger"
1636
+ }
1637
+ ],
1638
+ "className": "transition-shadow hover:shadow-md cursor-pointer",
1639
+ "renderItem": [
1640
+ "fn",
1641
+ "item",
1642
+ {
1643
+ "type": "stack",
1644
+ "direction": "vertical",
1645
+ "gap": "sm",
1646
+ "children": [
1647
+ {
1648
+ "type": "stack",
1649
+ "direction": "horizontal",
1650
+ "justify": "space-between",
1651
+ "align": "center",
1652
+ "children": [
1653
+ {
1654
+ "type": "stack",
1655
+ "direction": "horizontal",
1656
+ "gap": "sm",
1657
+ "align": "center",
1658
+ "children": [
1659
+ {
1660
+ "type": "icon",
1661
+ "name": "cpu",
1662
+ "size": "sm"
1663
+ },
1664
+ {
1665
+ "type": "typography",
1666
+ "variant": "h4",
1667
+ "content": "@item.name"
1668
+ }
1669
+ ]
1670
+ },
1671
+ {
1672
+ "type": "badge",
1673
+ "label": "@item.type"
1674
+ }
1675
+ ]
1676
+ },
1677
+ {
1678
+ "type": "typography",
1679
+ "variant": "caption",
1680
+ "color": "muted",
1681
+ "content": "@item.status"
1682
+ }
1683
+ ]
1684
+ }
1685
+ ]
1686
+ }
1687
+ ]
1688
+ }
1689
+ ]
1690
+ ]
1691
+ }
1692
+ ]
1693
+ }
1694
+ },
1695
+ {
1696
+ "name": "DeviceCreate",
1697
+ "linkedEntity": "Device",
1698
+ "category": "interaction",
1699
+ "emits": [
1700
+ {
1701
+ "event": "DEVICE_CREATED"
1702
+ }
1703
+ ],
1704
+ "stateMachine": {
1705
+ "states": [
1706
+ {
1707
+ "name": "closed",
1708
+ "isInitial": true
1709
+ },
1710
+ {
1711
+ "name": "open"
1712
+ }
1713
+ ],
1714
+ "events": [
1715
+ {
1716
+ "key": "INIT",
1717
+ "name": "Initialize"
1718
+ },
1719
+ {
1720
+ "key": "CREATE",
1721
+ "name": "Open"
1722
+ },
1723
+ {
1724
+ "key": "CLOSE",
1725
+ "name": "Close"
1726
+ },
1727
+ {
1728
+ "key": "SAVE",
1729
+ "name": "Save",
1730
+ "payload": [
1731
+ {
1732
+ "name": "data",
1733
+ "type": "object",
1734
+ "required": true
1735
+ }
1736
+ ]
1737
+ }
1738
+ ],
1739
+ "transitions": [
1740
+ {
1741
+ "from": "closed",
1742
+ "to": "closed",
1743
+ "event": "INIT",
1744
+ "effects": [
1745
+ [
1746
+ "fetch",
1747
+ "Device"
1748
+ ]
1749
+ ]
1750
+ },
1751
+ {
1752
+ "from": "closed",
1753
+ "to": "open",
1754
+ "event": "CREATE",
1755
+ "effects": [
1756
+ [
1757
+ "fetch",
1758
+ "Device"
1759
+ ],
1760
+ [
1761
+ "render-ui",
1762
+ "modal",
1763
+ {
1764
+ "type": "stack",
1765
+ "direction": "vertical",
1766
+ "gap": "md",
1767
+ "children": [
1768
+ {
1769
+ "type": "stack",
1770
+ "direction": "horizontal",
1771
+ "gap": "sm",
1772
+ "children": [
1773
+ {
1774
+ "type": "icon",
1775
+ "name": "plus-circle",
1776
+ "size": "md"
1777
+ },
1778
+ {
1779
+ "type": "typography",
1780
+ "content": "Create Device",
1781
+ "variant": "h3"
1782
+ }
1783
+ ]
1784
+ },
1785
+ {
1786
+ "type": "divider"
1787
+ },
1788
+ {
1789
+ "type": "form-section",
1790
+ "entity": "Device",
1791
+ "mode": "create",
1792
+ "submitEvent": "SAVE",
1793
+ "cancelEvent": "CLOSE",
1794
+ "fields": [
1795
+ "name",
1796
+ "type",
1797
+ "status",
1798
+ "lastSeen"
1799
+ ]
1800
+ }
1801
+ ]
1802
+ }
1803
+ ]
1804
+ ]
1368
1805
  },
1369
1806
  {
1370
1807
  "from": "open",
@@ -1822,9 +2259,24 @@
1822
2259
  "type": "string"
1823
2260
  },
1824
2261
  {
1825
- "name": "acknowledged",
1826
- "type": "boolean",
1827
- "default": false
2262
+ "name": "acknowledged",
2263
+ "type": "boolean",
2264
+ "default": false
2265
+ },
2266
+ {
2267
+ "name": "failureCount",
2268
+ "type": "number",
2269
+ "default": 0
2270
+ },
2271
+ {
2272
+ "name": "successCount",
2273
+ "type": "number",
2274
+ "default": 0
2275
+ },
2276
+ {
2277
+ "name": "threshold",
2278
+ "type": "number",
2279
+ "default": 5
1828
2280
  }
1829
2281
  ]
1830
2282
  },
@@ -1885,23 +2337,37 @@
1885
2337
  "type": "stack",
1886
2338
  "direction": "vertical",
1887
2339
  "gap": "lg",
1888
- "align": "center",
1889
2340
  "children": [
1890
2341
  {
1891
2342
  "type": "stack",
1892
2343
  "direction": "horizontal",
1893
2344
  "gap": "md",
1894
2345
  "align": "center",
2346
+ "justify": "space-between",
1895
2347
  "children": [
1896
2348
  {
1897
- "type": "icon",
1898
- "name": "bell",
1899
- "size": "lg"
2349
+ "type": "stack",
2350
+ "direction": "horizontal",
2351
+ "gap": "md",
2352
+ "align": "center",
2353
+ "children": [
2354
+ {
2355
+ "type": "icon",
2356
+ "name": "bell",
2357
+ "size": "lg"
2358
+ },
2359
+ {
2360
+ "type": "typography",
2361
+ "content": "DeviceAlert",
2362
+ "variant": "h2"
2363
+ }
2364
+ ]
1900
2365
  },
1901
2366
  {
1902
- "type": "typography",
1903
- "content": "DeviceAlert",
1904
- "variant": "h2"
2367
+ "type": "status-dot",
2368
+ "status": "success",
2369
+ "pulse": false,
2370
+ "label": "Circuit Closed"
1905
2371
  }
1906
2372
  ]
1907
2373
  },
@@ -1909,13 +2375,59 @@
1909
2375
  "type": "divider"
1910
2376
  },
1911
2377
  {
1912
- "type": "badge",
1913
- "label": "Circuit Closed"
2378
+ "type": "alert",
2379
+ "variant": "success",
2380
+ "message": "Service is healthy. All requests are being processed."
1914
2381
  },
1915
2382
  {
1916
- "type": "typography",
1917
- "content": "Service is healthy. All requests are being processed.",
1918
- "variant": "body"
2383
+ "type": "simple-grid",
2384
+ "columns": 2,
2385
+ "children": [
2386
+ {
2387
+ "type": "stat-display",
2388
+ "label": "Failures",
2389
+ "value": [
2390
+ "object/get",
2391
+ [
2392
+ "array/first",
2393
+ "@entity"
2394
+ ],
2395
+ "failureCount"
2396
+ ]
2397
+ },
2398
+ {
2399
+ "type": "stat-display",
2400
+ "label": "Successes",
2401
+ "value": [
2402
+ "object/get",
2403
+ [
2404
+ "array/first",
2405
+ "@entity"
2406
+ ],
2407
+ "successCount"
2408
+ ]
2409
+ }
2410
+ ]
2411
+ },
2412
+ {
2413
+ "type": "meter",
2414
+ "value": [
2415
+ "object/get",
2416
+ [
2417
+ "array/first",
2418
+ "@entity"
2419
+ ],
2420
+ "failureCount"
2421
+ ],
2422
+ "min": 0,
2423
+ "max": [
2424
+ "object/get",
2425
+ [
2426
+ "array/first",
2427
+ "@entity"
2428
+ ],
2429
+ "threshold"
2430
+ ]
1919
2431
  }
1920
2432
  ]
1921
2433
  }
@@ -1934,23 +2446,37 @@
1934
2446
  "type": "stack",
1935
2447
  "direction": "vertical",
1936
2448
  "gap": "lg",
1937
- "align": "center",
1938
2449
  "children": [
1939
2450
  {
1940
2451
  "type": "stack",
1941
2452
  "direction": "horizontal",
1942
2453
  "gap": "md",
1943
2454
  "align": "center",
2455
+ "justify": "space-between",
1944
2456
  "children": [
1945
2457
  {
1946
- "type": "icon",
1947
- "name": "alert-triangle",
1948
- "size": "lg"
2458
+ "type": "stack",
2459
+ "direction": "horizontal",
2460
+ "gap": "md",
2461
+ "align": "center",
2462
+ "children": [
2463
+ {
2464
+ "type": "icon",
2465
+ "name": "alert-triangle",
2466
+ "size": "lg"
2467
+ },
2468
+ {
2469
+ "type": "typography",
2470
+ "content": "DeviceAlert",
2471
+ "variant": "h2"
2472
+ }
2473
+ ]
1949
2474
  },
1950
2475
  {
1951
- "type": "typography",
1952
- "content": "DeviceAlert",
1953
- "variant": "h2"
2476
+ "type": "status-dot",
2477
+ "status": "error",
2478
+ "pulse": true,
2479
+ "label": "Circuit Open"
1954
2480
  }
1955
2481
  ]
1956
2482
  },
@@ -1958,13 +2484,59 @@
1958
2484
  "type": "divider"
1959
2485
  },
1960
2486
  {
1961
- "type": "badge",
1962
- "label": "Circuit Open"
2487
+ "type": "alert",
2488
+ "variant": "danger",
2489
+ "message": "Circuit is open. Requests are being rejected to prevent cascading failures."
1963
2490
  },
1964
2491
  {
1965
- "type": "typography",
1966
- "content": "Circuit is open. Requests are being rejected to prevent cascading failures.",
1967
- "variant": "body"
2492
+ "type": "simple-grid",
2493
+ "columns": 2,
2494
+ "children": [
2495
+ {
2496
+ "type": "stat-display",
2497
+ "label": "Failures",
2498
+ "value": [
2499
+ "object/get",
2500
+ [
2501
+ "array/first",
2502
+ "@entity"
2503
+ ],
2504
+ "failureCount"
2505
+ ]
2506
+ },
2507
+ {
2508
+ "type": "stat-display",
2509
+ "label": "Successes",
2510
+ "value": [
2511
+ "object/get",
2512
+ [
2513
+ "array/first",
2514
+ "@entity"
2515
+ ],
2516
+ "successCount"
2517
+ ]
2518
+ }
2519
+ ]
2520
+ },
2521
+ {
2522
+ "type": "meter",
2523
+ "value": [
2524
+ "object/get",
2525
+ [
2526
+ "array/first",
2527
+ "@entity"
2528
+ ],
2529
+ "failureCount"
2530
+ ],
2531
+ "min": 0,
2532
+ "max": [
2533
+ "object/get",
2534
+ [
2535
+ "array/first",
2536
+ "@entity"
2537
+ ],
2538
+ "threshold"
2539
+ ]
1968
2540
  },
1969
2541
  {
1970
2542
  "type": "button",
@@ -1990,23 +2562,37 @@
1990
2562
  "type": "stack",
1991
2563
  "direction": "vertical",
1992
2564
  "gap": "lg",
1993
- "align": "center",
1994
2565
  "children": [
1995
2566
  {
1996
2567
  "type": "stack",
1997
2568
  "direction": "horizontal",
1998
2569
  "gap": "md",
1999
2570
  "align": "center",
2571
+ "justify": "space-between",
2000
2572
  "children": [
2001
2573
  {
2002
- "type": "icon",
2003
- "name": "bell",
2004
- "size": "lg"
2574
+ "type": "stack",
2575
+ "direction": "horizontal",
2576
+ "gap": "md",
2577
+ "align": "center",
2578
+ "children": [
2579
+ {
2580
+ "type": "icon",
2581
+ "name": "bell",
2582
+ "size": "lg"
2583
+ },
2584
+ {
2585
+ "type": "typography",
2586
+ "content": "DeviceAlert",
2587
+ "variant": "h2"
2588
+ }
2589
+ ]
2005
2590
  },
2006
2591
  {
2007
- "type": "typography",
2008
- "content": "DeviceAlert",
2009
- "variant": "h2"
2592
+ "type": "status-dot",
2593
+ "status": "success",
2594
+ "pulse": false,
2595
+ "label": "Circuit Closed"
2010
2596
  }
2011
2597
  ]
2012
2598
  },
@@ -2014,13 +2600,59 @@
2014
2600
  "type": "divider"
2015
2601
  },
2016
2602
  {
2017
- "type": "badge",
2018
- "label": "Circuit Closed"
2603
+ "type": "alert",
2604
+ "variant": "success",
2605
+ "message": "Service is healthy. All requests are being processed."
2019
2606
  },
2020
2607
  {
2021
- "type": "typography",
2022
- "content": "Service is healthy. All requests are being processed.",
2023
- "variant": "body"
2608
+ "type": "simple-grid",
2609
+ "columns": 2,
2610
+ "children": [
2611
+ {
2612
+ "type": "stat-display",
2613
+ "label": "Failures",
2614
+ "value": [
2615
+ "object/get",
2616
+ [
2617
+ "array/first",
2618
+ "@entity"
2619
+ ],
2620
+ "failureCount"
2621
+ ]
2622
+ },
2623
+ {
2624
+ "type": "stat-display",
2625
+ "label": "Successes",
2626
+ "value": [
2627
+ "object/get",
2628
+ [
2629
+ "array/first",
2630
+ "@entity"
2631
+ ],
2632
+ "successCount"
2633
+ ]
2634
+ }
2635
+ ]
2636
+ },
2637
+ {
2638
+ "type": "meter",
2639
+ "value": [
2640
+ "object/get",
2641
+ [
2642
+ "array/first",
2643
+ "@entity"
2644
+ ],
2645
+ "failureCount"
2646
+ ],
2647
+ "min": 0,
2648
+ "max": [
2649
+ "object/get",
2650
+ [
2651
+ "array/first",
2652
+ "@entity"
2653
+ ],
2654
+ "threshold"
2655
+ ]
2024
2656
  }
2025
2657
  ]
2026
2658
  }
@@ -2039,23 +2671,37 @@
2039
2671
  "type": "stack",
2040
2672
  "direction": "vertical",
2041
2673
  "gap": "lg",
2042
- "align": "center",
2043
2674
  "children": [
2044
2675
  {
2045
2676
  "type": "stack",
2046
2677
  "direction": "horizontal",
2047
2678
  "gap": "md",
2048
2679
  "align": "center",
2680
+ "justify": "space-between",
2049
2681
  "children": [
2050
2682
  {
2051
- "type": "icon",
2052
- "name": "activity",
2053
- "size": "lg"
2683
+ "type": "stack",
2684
+ "direction": "horizontal",
2685
+ "gap": "md",
2686
+ "align": "center",
2687
+ "children": [
2688
+ {
2689
+ "type": "icon",
2690
+ "name": "activity",
2691
+ "size": "lg"
2692
+ },
2693
+ {
2694
+ "type": "typography",
2695
+ "content": "DeviceAlert",
2696
+ "variant": "h2"
2697
+ }
2698
+ ]
2054
2699
  },
2055
2700
  {
2056
- "type": "typography",
2057
- "content": "DeviceAlert",
2058
- "variant": "h2"
2701
+ "type": "status-dot",
2702
+ "status": "warning",
2703
+ "pulse": true,
2704
+ "label": "Circuit Half-Open"
2059
2705
  }
2060
2706
  ]
2061
2707
  },
@@ -2063,13 +2709,39 @@
2063
2709
  "type": "divider"
2064
2710
  },
2065
2711
  {
2066
- "type": "badge",
2067
- "label": "Circuit Half-Open"
2712
+ "type": "alert",
2713
+ "variant": "warning",
2714
+ "message": "Testing recovery. Limited requests are being allowed through."
2068
2715
  },
2069
2716
  {
2070
- "type": "typography",
2071
- "content": "Testing recovery. Limited requests are being allowed through.",
2072
- "variant": "body"
2717
+ "type": "simple-grid",
2718
+ "columns": 2,
2719
+ "children": [
2720
+ {
2721
+ "type": "stat-display",
2722
+ "label": "Failures",
2723
+ "value": [
2724
+ "object/get",
2725
+ [
2726
+ "array/first",
2727
+ "@entity"
2728
+ ],
2729
+ "failureCount"
2730
+ ]
2731
+ },
2732
+ {
2733
+ "type": "stat-display",
2734
+ "label": "Successes",
2735
+ "value": [
2736
+ "object/get",
2737
+ [
2738
+ "array/first",
2739
+ "@entity"
2740
+ ],
2741
+ "successCount"
2742
+ ]
2743
+ }
2744
+ ]
2073
2745
  }
2074
2746
  ]
2075
2747
  }
@@ -2088,23 +2760,37 @@
2088
2760
  "type": "stack",
2089
2761
  "direction": "vertical",
2090
2762
  "gap": "lg",
2091
- "align": "center",
2092
2763
  "children": [
2093
2764
  {
2094
2765
  "type": "stack",
2095
2766
  "direction": "horizontal",
2096
2767
  "gap": "md",
2097
2768
  "align": "center",
2769
+ "justify": "space-between",
2098
2770
  "children": [
2099
2771
  {
2100
- "type": "icon",
2101
- "name": "bell",
2102
- "size": "lg"
2772
+ "type": "stack",
2773
+ "direction": "horizontal",
2774
+ "gap": "md",
2775
+ "align": "center",
2776
+ "children": [
2777
+ {
2778
+ "type": "icon",
2779
+ "name": "bell",
2780
+ "size": "lg"
2781
+ },
2782
+ {
2783
+ "type": "typography",
2784
+ "content": "DeviceAlert",
2785
+ "variant": "h2"
2786
+ }
2787
+ ]
2103
2788
  },
2104
2789
  {
2105
- "type": "typography",
2106
- "content": "DeviceAlert",
2107
- "variant": "h2"
2790
+ "type": "status-dot",
2791
+ "status": "success",
2792
+ "pulse": false,
2793
+ "label": "Circuit Closed"
2108
2794
  }
2109
2795
  ]
2110
2796
  },
@@ -2112,13 +2798,59 @@
2112
2798
  "type": "divider"
2113
2799
  },
2114
2800
  {
2115
- "type": "badge",
2116
- "label": "Circuit Closed"
2801
+ "type": "alert",
2802
+ "variant": "success",
2803
+ "message": "Service is healthy. All requests are being processed."
2117
2804
  },
2118
2805
  {
2119
- "type": "typography",
2120
- "content": "Service is healthy. All requests are being processed.",
2121
- "variant": "body"
2806
+ "type": "simple-grid",
2807
+ "columns": 2,
2808
+ "children": [
2809
+ {
2810
+ "type": "stat-display",
2811
+ "label": "Failures",
2812
+ "value": [
2813
+ "object/get",
2814
+ [
2815
+ "array/first",
2816
+ "@entity"
2817
+ ],
2818
+ "failureCount"
2819
+ ]
2820
+ },
2821
+ {
2822
+ "type": "stat-display",
2823
+ "label": "Successes",
2824
+ "value": [
2825
+ "object/get",
2826
+ [
2827
+ "array/first",
2828
+ "@entity"
2829
+ ],
2830
+ "successCount"
2831
+ ]
2832
+ }
2833
+ ]
2834
+ },
2835
+ {
2836
+ "type": "meter",
2837
+ "value": [
2838
+ "object/get",
2839
+ [
2840
+ "array/first",
2841
+ "@entity"
2842
+ ],
2843
+ "failureCount"
2844
+ ],
2845
+ "min": 0,
2846
+ "max": [
2847
+ "object/get",
2848
+ [
2849
+ "array/first",
2850
+ "@entity"
2851
+ ],
2852
+ "threshold"
2853
+ ]
2122
2854
  }
2123
2855
  ]
2124
2856
  }
@@ -2137,23 +2869,37 @@
2137
2869
  "type": "stack",
2138
2870
  "direction": "vertical",
2139
2871
  "gap": "lg",
2140
- "align": "center",
2141
2872
  "children": [
2142
2873
  {
2143
2874
  "type": "stack",
2144
2875
  "direction": "horizontal",
2145
2876
  "gap": "md",
2146
2877
  "align": "center",
2878
+ "justify": "space-between",
2147
2879
  "children": [
2148
2880
  {
2149
- "type": "icon",
2150
- "name": "bell",
2151
- "size": "lg"
2881
+ "type": "stack",
2882
+ "direction": "horizontal",
2883
+ "gap": "md",
2884
+ "align": "center",
2885
+ "children": [
2886
+ {
2887
+ "type": "icon",
2888
+ "name": "bell",
2889
+ "size": "lg"
2890
+ },
2891
+ {
2892
+ "type": "typography",
2893
+ "content": "DeviceAlert",
2894
+ "variant": "h2"
2895
+ }
2896
+ ]
2152
2897
  },
2153
2898
  {
2154
- "type": "typography",
2155
- "content": "DeviceAlert",
2156
- "variant": "h2"
2899
+ "type": "status-dot",
2900
+ "status": "success",
2901
+ "pulse": false,
2902
+ "label": "Circuit Closed"
2157
2903
  }
2158
2904
  ]
2159
2905
  },
@@ -2161,13 +2907,59 @@
2161
2907
  "type": "divider"
2162
2908
  },
2163
2909
  {
2164
- "type": "badge",
2165
- "label": "Circuit Closed"
2910
+ "type": "alert",
2911
+ "variant": "success",
2912
+ "message": "Service is healthy. All requests are being processed."
2166
2913
  },
2167
2914
  {
2168
- "type": "typography",
2169
- "content": "Service is healthy. All requests are being processed.",
2170
- "variant": "body"
2915
+ "type": "simple-grid",
2916
+ "columns": 2,
2917
+ "children": [
2918
+ {
2919
+ "type": "stat-display",
2920
+ "label": "Failures",
2921
+ "value": [
2922
+ "object/get",
2923
+ [
2924
+ "array/first",
2925
+ "@entity"
2926
+ ],
2927
+ "failureCount"
2928
+ ]
2929
+ },
2930
+ {
2931
+ "type": "stat-display",
2932
+ "label": "Successes",
2933
+ "value": [
2934
+ "object/get",
2935
+ [
2936
+ "array/first",
2937
+ "@entity"
2938
+ ],
2939
+ "successCount"
2940
+ ]
2941
+ }
2942
+ ]
2943
+ },
2944
+ {
2945
+ "type": "meter",
2946
+ "value": [
2947
+ "object/get",
2948
+ [
2949
+ "array/first",
2950
+ "@entity"
2951
+ ],
2952
+ "failureCount"
2953
+ ],
2954
+ "min": 0,
2955
+ "max": [
2956
+ "object/get",
2957
+ [
2958
+ "array/first",
2959
+ "@entity"
2960
+ ],
2961
+ "threshold"
2962
+ ]
2171
2963
  }
2172
2964
  ]
2173
2965
  }
@@ -2186,23 +2978,37 @@
2186
2978
  "type": "stack",
2187
2979
  "direction": "vertical",
2188
2980
  "gap": "lg",
2189
- "align": "center",
2190
2981
  "children": [
2191
2982
  {
2192
2983
  "type": "stack",
2193
2984
  "direction": "horizontal",
2194
2985
  "gap": "md",
2195
2986
  "align": "center",
2987
+ "justify": "space-between",
2196
2988
  "children": [
2197
2989
  {
2198
- "type": "icon",
2199
- "name": "alert-triangle",
2200
- "size": "lg"
2990
+ "type": "stack",
2991
+ "direction": "horizontal",
2992
+ "gap": "md",
2993
+ "align": "center",
2994
+ "children": [
2995
+ {
2996
+ "type": "icon",
2997
+ "name": "alert-triangle",
2998
+ "size": "lg"
2999
+ },
3000
+ {
3001
+ "type": "typography",
3002
+ "content": "DeviceAlert",
3003
+ "variant": "h2"
3004
+ }
3005
+ ]
2201
3006
  },
2202
3007
  {
2203
- "type": "typography",
2204
- "content": "DeviceAlert",
2205
- "variant": "h2"
3008
+ "type": "status-dot",
3009
+ "status": "error",
3010
+ "pulse": true,
3011
+ "label": "Circuit Open"
2206
3012
  }
2207
3013
  ]
2208
3014
  },
@@ -2210,13 +3016,59 @@
2210
3016
  "type": "divider"
2211
3017
  },
2212
3018
  {
2213
- "type": "badge",
2214
- "label": "Circuit Open"
3019
+ "type": "alert",
3020
+ "variant": "danger",
3021
+ "message": "Circuit is open. Requests are being rejected to prevent cascading failures."
2215
3022
  },
2216
3023
  {
2217
- "type": "typography",
2218
- "content": "Circuit is open. Requests are being rejected to prevent cascading failures.",
2219
- "variant": "body"
3024
+ "type": "simple-grid",
3025
+ "columns": 2,
3026
+ "children": [
3027
+ {
3028
+ "type": "stat-display",
3029
+ "label": "Failures",
3030
+ "value": [
3031
+ "object/get",
3032
+ [
3033
+ "array/first",
3034
+ "@entity"
3035
+ ],
3036
+ "failureCount"
3037
+ ]
3038
+ },
3039
+ {
3040
+ "type": "stat-display",
3041
+ "label": "Successes",
3042
+ "value": [
3043
+ "object/get",
3044
+ [
3045
+ "array/first",
3046
+ "@entity"
3047
+ ],
3048
+ "successCount"
3049
+ ]
3050
+ }
3051
+ ]
3052
+ },
3053
+ {
3054
+ "type": "meter",
3055
+ "value": [
3056
+ "object/get",
3057
+ [
3058
+ "array/first",
3059
+ "@entity"
3060
+ ],
3061
+ "failureCount"
3062
+ ],
3063
+ "min": 0,
3064
+ "max": [
3065
+ "object/get",
3066
+ [
3067
+ "array/first",
3068
+ "@entity"
3069
+ ],
3070
+ "threshold"
3071
+ ]
2220
3072
  },
2221
3073
  {
2222
3074
  "type": "button",
@@ -2242,23 +3094,37 @@
2242
3094
  "type": "stack",
2243
3095
  "direction": "vertical",
2244
3096
  "gap": "lg",
2245
- "align": "center",
2246
3097
  "children": [
2247
3098
  {
2248
3099
  "type": "stack",
2249
3100
  "direction": "horizontal",
2250
3101
  "gap": "md",
2251
3102
  "align": "center",
3103
+ "justify": "space-between",
2252
3104
  "children": [
2253
3105
  {
2254
- "type": "icon",
2255
- "name": "bell",
2256
- "size": "lg"
3106
+ "type": "stack",
3107
+ "direction": "horizontal",
3108
+ "gap": "md",
3109
+ "align": "center",
3110
+ "children": [
3111
+ {
3112
+ "type": "icon",
3113
+ "name": "bell",
3114
+ "size": "lg"
3115
+ },
3116
+ {
3117
+ "type": "typography",
3118
+ "content": "DeviceAlert",
3119
+ "variant": "h2"
3120
+ }
3121
+ ]
2257
3122
  },
2258
3123
  {
2259
- "type": "typography",
2260
- "content": "DeviceAlert",
2261
- "variant": "h2"
3124
+ "type": "status-dot",
3125
+ "status": "success",
3126
+ "pulse": false,
3127
+ "label": "Circuit Closed"
2262
3128
  }
2263
3129
  ]
2264
3130
  },
@@ -2266,13 +3132,59 @@
2266
3132
  "type": "divider"
2267
3133
  },
2268
3134
  {
2269
- "type": "badge",
2270
- "label": "Circuit Closed"
3135
+ "type": "alert",
3136
+ "variant": "success",
3137
+ "message": "Service is healthy. All requests are being processed."
2271
3138
  },
2272
3139
  {
2273
- "type": "typography",
2274
- "content": "Service is healthy. All requests are being processed.",
2275
- "variant": "body"
3140
+ "type": "simple-grid",
3141
+ "columns": 2,
3142
+ "children": [
3143
+ {
3144
+ "type": "stat-display",
3145
+ "label": "Failures",
3146
+ "value": [
3147
+ "object/get",
3148
+ [
3149
+ "array/first",
3150
+ "@entity"
3151
+ ],
3152
+ "failureCount"
3153
+ ]
3154
+ },
3155
+ {
3156
+ "type": "stat-display",
3157
+ "label": "Successes",
3158
+ "value": [
3159
+ "object/get",
3160
+ [
3161
+ "array/first",
3162
+ "@entity"
3163
+ ],
3164
+ "successCount"
3165
+ ]
3166
+ }
3167
+ ]
3168
+ },
3169
+ {
3170
+ "type": "meter",
3171
+ "value": [
3172
+ "object/get",
3173
+ [
3174
+ "array/first",
3175
+ "@entity"
3176
+ ],
3177
+ "failureCount"
3178
+ ],
3179
+ "min": 0,
3180
+ "max": [
3181
+ "object/get",
3182
+ [
3183
+ "array/first",
3184
+ "@entity"
3185
+ ],
3186
+ "threshold"
3187
+ ]
2276
3188
  }
2277
3189
  ]
2278
3190
  }