@almadar/std 3.2.1 → 3.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/behaviors/exports/atoms/std-async.orb +41 -24
  2. package/behaviors/exports/atoms/std-browse.orb +44 -44
  3. package/behaviors/exports/atoms/std-cache-aside.orb +256 -42
  4. package/behaviors/exports/atoms/std-calendar.orb +770 -0
  5. package/behaviors/exports/atoms/std-circuit-breaker.orb +577 -97
  6. package/behaviors/exports/atoms/std-collision.orb +278 -206
  7. package/behaviors/exports/atoms/std-combat-log.orb +6 -1
  8. package/behaviors/exports/atoms/std-combat.orb +6 -1
  9. package/behaviors/exports/atoms/std-confirmation.orb +212 -7
  10. package/behaviors/exports/atoms/std-dialogue-box.orb +6 -1
  11. package/behaviors/exports/atoms/std-display.orb +1186 -376
  12. package/behaviors/exports/atoms/std-drawer.orb +307 -101
  13. package/behaviors/exports/atoms/std-filter.orb +211 -18
  14. package/behaviors/exports/atoms/std-flip-card.orb +596 -0
  15. package/behaviors/exports/atoms/std-gallery.orb +382 -0
  16. package/behaviors/exports/atoms/std-game-audio.orb +6 -1
  17. package/behaviors/exports/atoms/std-game-canvas2d.orb +6 -1
  18. package/behaviors/exports/atoms/std-game-canvas3d.orb +6 -1
  19. package/behaviors/exports/atoms/std-game-hud.orb +6 -1
  20. package/behaviors/exports/atoms/std-game-menu.orb +6 -1
  21. package/behaviors/exports/atoms/std-game-over-screen.orb +6 -1
  22. package/behaviors/exports/atoms/std-gameflow.orb +100 -5
  23. package/behaviors/exports/atoms/std-input.orb +142 -137
  24. package/behaviors/exports/atoms/std-inventory-panel.orb +6 -1
  25. package/behaviors/exports/atoms/std-isometric-canvas.orb +6 -1
  26. package/behaviors/exports/atoms/std-loading.orb +149 -170
  27. package/behaviors/exports/atoms/std-modal.orb +159 -94
  28. package/behaviors/exports/atoms/std-movement.orb +401 -31
  29. package/behaviors/exports/atoms/std-notification.orb +117 -95
  30. package/behaviors/exports/atoms/std-overworld.orb +44 -16
  31. package/behaviors/exports/atoms/std-pagination.orb +44 -115
  32. package/behaviors/exports/atoms/std-physics2d.orb +6 -1
  33. package/behaviors/exports/atoms/std-platformer-canvas.orb +6 -1
  34. package/behaviors/exports/atoms/std-quest.orb +309 -34
  35. package/behaviors/exports/atoms/std-rate-limiter.orb +410 -157
  36. package/behaviors/exports/atoms/std-rating.orb +328 -0
  37. package/behaviors/exports/atoms/std-score-board.orb +6 -1
  38. package/behaviors/exports/atoms/std-score.orb +252 -11
  39. package/behaviors/exports/atoms/std-search.orb +62 -47
  40. package/behaviors/exports/atoms/std-selection.orb +180 -149
  41. package/behaviors/exports/atoms/std-simulation-canvas.orb +6 -1
  42. package/behaviors/exports/atoms/std-sort.orb +192 -60
  43. package/behaviors/exports/atoms/std-sprite.orb +6 -1
  44. package/behaviors/exports/atoms/std-tabs.orb +25 -15
  45. package/behaviors/exports/atoms/std-text-effects.orb +658 -0
  46. package/behaviors/exports/atoms/std-theme.orb +573 -0
  47. package/behaviors/exports/atoms/std-timer.orb +483 -91
  48. package/behaviors/exports/atoms/std-undo.orb +211 -81
  49. package/behaviors/exports/atoms/std-upload.orb +535 -0
  50. package/behaviors/exports/atoms/std-wizard.orb +677 -240
  51. package/behaviors/exports/molecules/std-builder-game.orb +49 -4
  52. package/behaviors/exports/molecules/std-cart.orb +325 -102
  53. package/behaviors/exports/molecules/std-classifier-game.orb +49 -4
  54. package/behaviors/exports/molecules/std-debugger-game.orb +49 -4
  55. package/behaviors/exports/molecules/std-detail.orb +52 -48
  56. package/behaviors/exports/molecules/std-event-handler-game.orb +49 -4
  57. package/behaviors/exports/molecules/std-form-advanced.orb +654 -0
  58. package/behaviors/exports/molecules/std-geospatial.orb +70 -51
  59. package/behaviors/exports/molecules/std-inventory.orb +92 -53
  60. package/behaviors/exports/molecules/std-list.orb +416 -52
  61. package/behaviors/exports/molecules/std-messaging.orb +41 -49
  62. package/behaviors/exports/molecules/std-negotiator-game.orb +49 -4
  63. package/behaviors/exports/molecules/std-platformer-game.orb +58 -3
  64. package/behaviors/exports/molecules/std-puzzle-game.orb +58 -7
  65. package/behaviors/exports/molecules/std-quiz.orb +1045 -0
  66. package/behaviors/exports/molecules/std-sequencer-game.orb +49 -4
  67. package/behaviors/exports/molecules/std-simulator-game.orb +49 -4
  68. package/behaviors/exports/molecules/std-turn-based-battle.orb +66 -1
  69. package/behaviors/exports/organisms/std-api-gateway.orb +2615 -867
  70. package/behaviors/exports/organisms/std-arcade-game.orb +399 -197
  71. package/behaviors/exports/organisms/std-booking-system.orb +3154 -1305
  72. package/behaviors/exports/organisms/std-cicd-pipeline.orb +2298 -779
  73. package/behaviors/exports/organisms/std-cms.orb +1150 -277
  74. package/behaviors/exports/organisms/std-coding-academy.orb +1222 -533
  75. package/behaviors/exports/organisms/std-crm.orb +2357 -821
  76. package/behaviors/exports/organisms/std-devops-dashboard.orb +4230 -1281
  77. package/behaviors/exports/organisms/std-ecommerce.orb +2660 -1098
  78. package/behaviors/exports/organisms/std-finance-tracker.orb +1749 -737
  79. package/behaviors/exports/organisms/std-healthcare.orb +3593 -1478
  80. package/behaviors/exports/organisms/std-helpdesk.orb +1870 -738
  81. package/behaviors/exports/organisms/std-hr-portal.orb +3290 -1385
  82. package/behaviors/exports/organisms/std-iot-dashboard.orb +2704 -788
  83. package/behaviors/exports/organisms/std-lms.orb +2548 -1192
  84. package/behaviors/exports/organisms/std-logic-training.orb +220 -66
  85. package/behaviors/exports/organisms/std-platformer-app.orb +373 -194
  86. package/behaviors/exports/organisms/std-project-manager.orb +2347 -806
  87. package/behaviors/exports/organisms/std-puzzle-app.orb +240 -95
  88. package/behaviors/exports/organisms/std-realtime-chat.orb +2020 -660
  89. package/behaviors/exports/organisms/std-rpg-game.orb +1303 -740
  90. package/behaviors/exports/organisms/std-social-feed.orb +184 -168
  91. package/behaviors/exports/organisms/std-stem-lab.orb +1223 -512
  92. package/behaviors/exports/organisms/std-strategy-game.orb +1412 -731
  93. package/behaviors/exports/organisms/std-trading-dashboard.orb +1869 -695
  94. package/behaviors/exports/validation-report.json +3 -750
  95. package/behaviors/exports/verify-results.json +13 -0
  96. package/dist/behaviors/exports/atoms/std-async.orb +41 -24
  97. package/dist/behaviors/exports/atoms/std-browse.orb +44 -44
  98. package/dist/behaviors/exports/atoms/std-cache-aside.orb +256 -42
  99. package/dist/behaviors/exports/atoms/std-calendar.orb +770 -0
  100. package/dist/behaviors/exports/atoms/std-circuit-breaker.orb +577 -97
  101. package/dist/behaviors/exports/atoms/std-collision.orb +278 -206
  102. package/dist/behaviors/exports/atoms/std-combat-log.orb +6 -1
  103. package/dist/behaviors/exports/atoms/std-combat.orb +6 -1
  104. package/dist/behaviors/exports/atoms/std-confirmation.orb +212 -7
  105. package/dist/behaviors/exports/atoms/std-dialogue-box.orb +6 -1
  106. package/dist/behaviors/exports/atoms/std-display.orb +1186 -376
  107. package/dist/behaviors/exports/atoms/std-drawer.orb +307 -101
  108. package/dist/behaviors/exports/atoms/std-filter.orb +211 -18
  109. package/dist/behaviors/exports/atoms/std-flip-card.orb +596 -0
  110. package/dist/behaviors/exports/atoms/std-gallery.orb +382 -0
  111. package/dist/behaviors/exports/atoms/std-game-audio.orb +6 -1
  112. package/dist/behaviors/exports/atoms/std-game-canvas2d.orb +6 -1
  113. package/dist/behaviors/exports/atoms/std-game-canvas3d.orb +6 -1
  114. package/dist/behaviors/exports/atoms/std-game-hud.orb +6 -1
  115. package/dist/behaviors/exports/atoms/std-game-menu.orb +6 -1
  116. package/dist/behaviors/exports/atoms/std-game-over-screen.orb +6 -1
  117. package/dist/behaviors/exports/atoms/std-gameflow.orb +100 -5
  118. package/dist/behaviors/exports/atoms/std-input.orb +142 -137
  119. package/dist/behaviors/exports/atoms/std-inventory-panel.orb +6 -1
  120. package/dist/behaviors/exports/atoms/std-isometric-canvas.orb +6 -1
  121. package/dist/behaviors/exports/atoms/std-loading.orb +149 -170
  122. package/dist/behaviors/exports/atoms/std-modal.orb +159 -94
  123. package/dist/behaviors/exports/atoms/std-movement.orb +401 -31
  124. package/dist/behaviors/exports/atoms/std-notification.orb +117 -95
  125. package/dist/behaviors/exports/atoms/std-overworld.orb +44 -16
  126. package/dist/behaviors/exports/atoms/std-pagination.orb +44 -115
  127. package/dist/behaviors/exports/atoms/std-physics2d.orb +6 -1
  128. package/dist/behaviors/exports/atoms/std-platformer-canvas.orb +6 -1
  129. package/dist/behaviors/exports/atoms/std-quest.orb +309 -34
  130. package/dist/behaviors/exports/atoms/std-rate-limiter.orb +410 -157
  131. package/dist/behaviors/exports/atoms/std-rating.orb +328 -0
  132. package/dist/behaviors/exports/atoms/std-score-board.orb +6 -1
  133. package/dist/behaviors/exports/atoms/std-score.orb +252 -11
  134. package/dist/behaviors/exports/atoms/std-search.orb +62 -47
  135. package/dist/behaviors/exports/atoms/std-selection.orb +180 -149
  136. package/dist/behaviors/exports/atoms/std-simulation-canvas.orb +6 -1
  137. package/dist/behaviors/exports/atoms/std-sort.orb +192 -60
  138. package/dist/behaviors/exports/atoms/std-sprite.orb +6 -1
  139. package/dist/behaviors/exports/atoms/std-tabs.orb +25 -15
  140. package/dist/behaviors/exports/atoms/std-text-effects.orb +658 -0
  141. package/dist/behaviors/exports/atoms/std-theme.orb +573 -0
  142. package/dist/behaviors/exports/atoms/std-timer.orb +483 -91
  143. package/dist/behaviors/exports/atoms/std-undo.orb +211 -81
  144. package/dist/behaviors/exports/atoms/std-upload.orb +535 -0
  145. package/dist/behaviors/exports/atoms/std-wizard.orb +677 -240
  146. package/dist/behaviors/exports/molecules/std-builder-game.orb +49 -4
  147. package/dist/behaviors/exports/molecules/std-cart.orb +325 -102
  148. package/dist/behaviors/exports/molecules/std-classifier-game.orb +49 -4
  149. package/dist/behaviors/exports/molecules/std-debugger-game.orb +49 -4
  150. package/dist/behaviors/exports/molecules/std-detail.orb +52 -48
  151. package/dist/behaviors/exports/molecules/std-event-handler-game.orb +49 -4
  152. package/dist/behaviors/exports/molecules/std-form-advanced.orb +654 -0
  153. package/dist/behaviors/exports/molecules/std-geospatial.orb +70 -51
  154. package/dist/behaviors/exports/molecules/std-inventory.orb +92 -53
  155. package/dist/behaviors/exports/molecules/std-list.orb +416 -52
  156. package/dist/behaviors/exports/molecules/std-messaging.orb +41 -49
  157. package/dist/behaviors/exports/molecules/std-negotiator-game.orb +49 -4
  158. package/dist/behaviors/exports/molecules/std-platformer-game.orb +58 -3
  159. package/dist/behaviors/exports/molecules/std-puzzle-game.orb +58 -7
  160. package/dist/behaviors/exports/molecules/std-quiz.orb +1045 -0
  161. package/dist/behaviors/exports/molecules/std-sequencer-game.orb +49 -4
  162. package/dist/behaviors/exports/molecules/std-simulator-game.orb +49 -4
  163. package/dist/behaviors/exports/molecules/std-turn-based-battle.orb +66 -1
  164. package/dist/behaviors/exports/organisms/std-api-gateway.orb +2615 -867
  165. package/dist/behaviors/exports/organisms/std-arcade-game.orb +399 -197
  166. package/dist/behaviors/exports/organisms/std-booking-system.orb +3154 -1305
  167. package/dist/behaviors/exports/organisms/std-cicd-pipeline.orb +2298 -779
  168. package/dist/behaviors/exports/organisms/std-cms.orb +1150 -277
  169. package/dist/behaviors/exports/organisms/std-coding-academy.orb +1222 -533
  170. package/dist/behaviors/exports/organisms/std-crm.orb +2357 -821
  171. package/dist/behaviors/exports/organisms/std-devops-dashboard.orb +4230 -1281
  172. package/dist/behaviors/exports/organisms/std-ecommerce.orb +2660 -1098
  173. package/dist/behaviors/exports/organisms/std-finance-tracker.orb +1749 -737
  174. package/dist/behaviors/exports/organisms/std-healthcare.orb +3593 -1478
  175. package/dist/behaviors/exports/organisms/std-helpdesk.orb +1870 -738
  176. package/dist/behaviors/exports/organisms/std-hr-portal.orb +3290 -1385
  177. package/dist/behaviors/exports/organisms/std-iot-dashboard.orb +2704 -788
  178. package/dist/behaviors/exports/organisms/std-lms.orb +2548 -1192
  179. package/dist/behaviors/exports/organisms/std-logic-training.orb +220 -66
  180. package/dist/behaviors/exports/organisms/std-platformer-app.orb +373 -194
  181. package/dist/behaviors/exports/organisms/std-project-manager.orb +2347 -806
  182. package/dist/behaviors/exports/organisms/std-puzzle-app.orb +240 -95
  183. package/dist/behaviors/exports/organisms/std-realtime-chat.orb +2020 -660
  184. package/dist/behaviors/exports/organisms/std-rpg-game.orb +1303 -740
  185. package/dist/behaviors/exports/organisms/std-social-feed.orb +184 -168
  186. package/dist/behaviors/exports/organisms/std-stem-lab.orb +1223 -512
  187. package/dist/behaviors/exports/organisms/std-strategy-game.orb +1412 -731
  188. package/dist/behaviors/exports/organisms/std-trading-dashboard.orb +1869 -695
  189. package/dist/behaviors/exports/validation-report.json +3 -750
  190. package/dist/behaviors/exports/verify-results.json +13 -0
  191. package/dist/behaviors/functions/index.d.ts +270 -1
  192. package/dist/behaviors/functions/index.js +3811 -1333
  193. package/dist/behaviors/functions/index.js.map +1 -1
  194. package/dist/behaviors/index.d.ts +1 -1
  195. package/dist/behaviors/index.js +3811 -1333
  196. package/dist/behaviors/index.js.map +1 -1
  197. package/dist/exports/atoms/std-async.orb +41 -24
  198. package/dist/exports/atoms/std-browse.orb +44 -44
  199. package/dist/exports/atoms/std-cache-aside.orb +256 -42
  200. package/dist/exports/atoms/std-calendar.orb +770 -0
  201. package/dist/exports/atoms/std-circuit-breaker.orb +577 -97
  202. package/dist/exports/atoms/std-collision.orb +278 -206
  203. package/dist/exports/atoms/std-combat-log.orb +6 -1
  204. package/dist/exports/atoms/std-combat.orb +6 -1
  205. package/dist/exports/atoms/std-confirmation.orb +212 -7
  206. package/dist/exports/atoms/std-dialogue-box.orb +6 -1
  207. package/dist/exports/atoms/std-display.orb +1186 -376
  208. package/dist/exports/atoms/std-drawer.orb +307 -101
  209. package/dist/exports/atoms/std-filter.orb +211 -18
  210. package/dist/exports/atoms/std-flip-card.orb +596 -0
  211. package/dist/exports/atoms/std-gallery.orb +382 -0
  212. package/dist/exports/atoms/std-game-audio.orb +6 -1
  213. package/dist/exports/atoms/std-game-canvas2d.orb +6 -1
  214. package/dist/exports/atoms/std-game-canvas3d.orb +6 -1
  215. package/dist/exports/atoms/std-game-hud.orb +6 -1
  216. package/dist/exports/atoms/std-game-menu.orb +6 -1
  217. package/dist/exports/atoms/std-game-over-screen.orb +6 -1
  218. package/dist/exports/atoms/std-gameflow.orb +100 -5
  219. package/dist/exports/atoms/std-input.orb +142 -137
  220. package/dist/exports/atoms/std-inventory-panel.orb +6 -1
  221. package/dist/exports/atoms/std-isometric-canvas.orb +6 -1
  222. package/dist/exports/atoms/std-loading.orb +149 -170
  223. package/dist/exports/atoms/std-modal.orb +159 -94
  224. package/dist/exports/atoms/std-movement.orb +401 -31
  225. package/dist/exports/atoms/std-notification.orb +117 -95
  226. package/dist/exports/atoms/std-overworld.orb +44 -16
  227. package/dist/exports/atoms/std-pagination.orb +44 -115
  228. package/dist/exports/atoms/std-physics2d.orb +6 -1
  229. package/dist/exports/atoms/std-platformer-canvas.orb +6 -1
  230. package/dist/exports/atoms/std-quest.orb +309 -34
  231. package/dist/exports/atoms/std-rate-limiter.orb +410 -157
  232. package/dist/exports/atoms/std-rating.orb +328 -0
  233. package/dist/exports/atoms/std-score-board.orb +6 -1
  234. package/dist/exports/atoms/std-score.orb +252 -11
  235. package/dist/exports/atoms/std-search.orb +62 -47
  236. package/dist/exports/atoms/std-selection.orb +180 -149
  237. package/dist/exports/atoms/std-simulation-canvas.orb +6 -1
  238. package/dist/exports/atoms/std-sort.orb +192 -60
  239. package/dist/exports/atoms/std-sprite.orb +6 -1
  240. package/dist/exports/atoms/std-tabs.orb +25 -15
  241. package/dist/exports/atoms/std-text-effects.orb +658 -0
  242. package/dist/exports/atoms/std-theme.orb +573 -0
  243. package/dist/exports/atoms/std-timer.orb +483 -91
  244. package/dist/exports/atoms/std-undo.orb +211 -81
  245. package/dist/exports/atoms/std-upload.orb +535 -0
  246. package/dist/exports/atoms/std-wizard.orb +677 -240
  247. package/dist/exports/molecules/std-builder-game.orb +49 -4
  248. package/dist/exports/molecules/std-cart.orb +325 -102
  249. package/dist/exports/molecules/std-classifier-game.orb +49 -4
  250. package/dist/exports/molecules/std-debugger-game.orb +49 -4
  251. package/dist/exports/molecules/std-detail.orb +52 -48
  252. package/dist/exports/molecules/std-event-handler-game.orb +49 -4
  253. package/dist/exports/molecules/std-form-advanced.orb +654 -0
  254. package/dist/exports/molecules/std-geospatial.orb +70 -51
  255. package/dist/exports/molecules/std-inventory.orb +92 -53
  256. package/dist/exports/molecules/std-list.orb +416 -52
  257. package/dist/exports/molecules/std-messaging.orb +41 -49
  258. package/dist/exports/molecules/std-negotiator-game.orb +49 -4
  259. package/dist/exports/molecules/std-platformer-game.orb +58 -3
  260. package/dist/exports/molecules/std-puzzle-game.orb +58 -7
  261. package/dist/exports/molecules/std-quiz.orb +1045 -0
  262. package/dist/exports/molecules/std-sequencer-game.orb +49 -4
  263. package/dist/exports/molecules/std-simulator-game.orb +49 -4
  264. package/dist/exports/molecules/std-turn-based-battle.orb +66 -1
  265. package/dist/exports/organisms/std-api-gateway.orb +2615 -867
  266. package/dist/exports/organisms/std-arcade-game.orb +399 -197
  267. package/dist/exports/organisms/std-booking-system.orb +3154 -1305
  268. package/dist/exports/organisms/std-cicd-pipeline.orb +2298 -779
  269. package/dist/exports/organisms/std-cms.orb +1150 -277
  270. package/dist/exports/organisms/std-coding-academy.orb +1222 -533
  271. package/dist/exports/organisms/std-crm.orb +2357 -821
  272. package/dist/exports/organisms/std-devops-dashboard.orb +4230 -1281
  273. package/dist/exports/organisms/std-ecommerce.orb +2660 -1098
  274. package/dist/exports/organisms/std-finance-tracker.orb +1749 -737
  275. package/dist/exports/organisms/std-healthcare.orb +3593 -1478
  276. package/dist/exports/organisms/std-helpdesk.orb +1870 -738
  277. package/dist/exports/organisms/std-hr-portal.orb +3290 -1385
  278. package/dist/exports/organisms/std-iot-dashboard.orb +2704 -788
  279. package/dist/exports/organisms/std-lms.orb +2548 -1192
  280. package/dist/exports/organisms/std-logic-training.orb +220 -66
  281. package/dist/exports/organisms/std-platformer-app.orb +373 -194
  282. package/dist/exports/organisms/std-project-manager.orb +2347 -806
  283. package/dist/exports/organisms/std-puzzle-app.orb +240 -95
  284. package/dist/exports/organisms/std-realtime-chat.orb +2020 -660
  285. package/dist/exports/organisms/std-rpg-game.orb +1303 -740
  286. package/dist/exports/organisms/std-social-feed.orb +184 -168
  287. package/dist/exports/organisms/std-stem-lab.orb +1223 -512
  288. package/dist/exports/organisms/std-strategy-game.orb +1412 -731
  289. package/dist/exports/organisms/std-trading-dashboard.orb +1869 -695
  290. package/dist/exports/validation-report.json +3 -750
  291. package/dist/exports/verify-results.json +13 -0
  292. package/dist/index.d.ts +1 -1
  293. package/dist/index.js +3808 -1330
  294. package/dist/index.js.map +1 -1
  295. package/package.json +1 -1
@@ -26,12 +26,24 @@
26
26
  {
27
27
  "name": "priority",
28
28
  "type": "string",
29
- "default": "medium"
29
+ "default": "medium",
30
+ "values": [
31
+ "low",
32
+ "medium",
33
+ "high",
34
+ "critical"
35
+ ]
30
36
  },
31
37
  {
32
38
  "name": "status",
33
39
  "type": "string",
34
- "default": "open"
40
+ "default": "open",
41
+ "values": [
42
+ "open",
43
+ "in-progress",
44
+ "resolved",
45
+ "closed"
46
+ ]
35
47
  },
36
48
  {
37
49
  "name": "assignee",
@@ -156,118 +168,145 @@
156
168
  "render-ui",
157
169
  "main",
158
170
  {
159
- "type": "stack",
160
- "direction": "vertical",
161
- "gap": "lg",
171
+ "type": "dashboard-layout",
172
+ "appName": "Helpdesk",
173
+ "navItems": [
174
+ {
175
+ "label": "Tickets",
176
+ "href": "/tickets",
177
+ "icon": "inbox"
178
+ },
179
+ {
180
+ "label": "Responses",
181
+ "href": "/responses",
182
+ "icon": "message-circle"
183
+ },
184
+ {
185
+ "label": "Metrics",
186
+ "href": "/metrics",
187
+ "icon": "layout-list"
188
+ }
189
+ ],
162
190
  "children": [
163
191
  {
164
192
  "type": "stack",
165
- "direction": "horizontal",
166
- "gap": "md",
167
- "justify": "space-between",
193
+ "direction": "vertical",
194
+ "gap": "lg",
195
+ "className": "max-w-5xl mx-auto w-full",
168
196
  "children": [
169
197
  {
170
198
  "type": "stack",
171
199
  "direction": "horizontal",
172
- "gap": "sm",
200
+ "gap": "md",
201
+ "justify": "space-between",
173
202
  "align": "center",
174
203
  "children": [
175
204
  {
176
- "type": "icon",
177
- "name": "inbox",
178
- "size": "lg"
205
+ "type": "stack",
206
+ "direction": "horizontal",
207
+ "gap": "sm",
208
+ "align": "center",
209
+ "children": [
210
+ {
211
+ "type": "icon",
212
+ "name": "inbox",
213
+ "size": "lg"
214
+ },
215
+ {
216
+ "type": "typography",
217
+ "content": "Tickets",
218
+ "variant": "h2"
219
+ }
220
+ ]
179
221
  },
180
222
  {
181
- "type": "typography",
182
- "content": "Tickets",
183
- "variant": "h2"
223
+ "type": "stack",
224
+ "direction": "horizontal",
225
+ "gap": "sm",
226
+ "children": [
227
+ {
228
+ "type": "button",
229
+ "label": "New Ticket",
230
+ "event": "CREATE",
231
+ "variant": "primary",
232
+ "icon": "plus"
233
+ }
234
+ ]
184
235
  }
185
236
  ]
186
237
  },
187
238
  {
188
- "type": "stack",
189
- "direction": "horizontal",
190
- "gap": "sm",
239
+ "type": "divider"
240
+ },
241
+ {
242
+ "type": "simple-grid",
243
+ "columns": 1,
191
244
  "children": [
192
245
  {
193
- "type": "button",
194
- "label": "New Ticket",
195
- "event": "CREATE",
196
- "variant": "primary",
197
- "icon": "plus"
246
+ "type": "stat-display",
247
+ "label": "Open Tickets",
248
+ "value": [
249
+ "array/len",
250
+ "@entity"
251
+ ],
252
+ "icon": "inbox"
198
253
  }
199
254
  ]
200
- }
201
- ]
202
- },
203
- {
204
- "type": "divider"
205
- },
206
- {
207
- "type": "data-grid",
208
- "entity": "Ticket",
209
- "emptyIcon": "inbox",
210
- "emptyTitle": "No tickets yet",
211
- "emptyDescription": "Create your first ticket to get started.",
212
- "itemActions": [
213
- {
214
- "label": "View",
215
- "event": "VIEW"
216
255
  },
217
256
  {
218
- "label": "Edit",
219
- "event": "EDIT"
257
+ "type": "divider"
220
258
  },
221
259
  {
222
- "label": "Delete",
223
- "event": "DELETE",
224
- "variant": "danger"
225
- }
226
- ],
227
- "className": "transition-shadow hover:shadow-md cursor-pointer",
228
- "children": [
229
- {
230
- "type": "stack",
231
- "direction": "vertical",
232
- "gap": "sm",
233
- "children": [
260
+ "type": "data-list",
261
+ "entity": "Ticket",
262
+ "emptyIcon": "inbox",
263
+ "emptyTitle": "No tickets filed",
264
+ "emptyDescription": "Your support queue is clear.",
265
+ "itemActions": [
234
266
  {
235
- "type": "stack",
236
- "direction": "horizontal",
237
- "justify": "space-between",
238
- "align": "center",
239
- "children": [
240
- {
241
- "type": "stack",
242
- "direction": "horizontal",
243
- "gap": "sm",
244
- "align": "center",
245
- "children": [
246
- {
247
- "type": "icon",
248
- "name": "inbox",
249
- "size": "sm"
250
- },
251
- {
252
- "type": "typography",
253
- "variant": "h4",
254
- "content": "@entity.subject"
255
- }
256
- ]
257
- },
258
- {
259
- "type": "badge",
260
- "label": "@entity.description"
261
- }
262
- ]
267
+ "label": "View",
268
+ "event": "VIEW",
269
+ "variant": "ghost",
270
+ "size": "sm"
263
271
  },
264
272
  {
265
- "type": "typography",
266
- "variant": "caption",
267
- "color": "muted",
268
- "content": "@entity.priority"
273
+ "label": "Edit",
274
+ "event": "EDIT",
275
+ "variant": "ghost",
276
+ "size": "sm"
277
+ },
278
+ {
279
+ "label": "Delete",
280
+ "event": "DELETE",
281
+ "variant": "danger",
282
+ "size": "sm"
269
283
  }
270
- ]
284
+ ],
285
+ "columns": [
286
+ {
287
+ "name": "subject",
288
+ "variant": "h3",
289
+ "icon": "inbox"
290
+ },
291
+ {
292
+ "name": "priority",
293
+ "variant": "badge"
294
+ },
295
+ {
296
+ "name": "status",
297
+ "variant": "badge"
298
+ },
299
+ {
300
+ "name": "assignee",
301
+ "variant": "body"
302
+ },
303
+ {
304
+ "name": "description",
305
+ "variant": "caption"
306
+ }
307
+ ],
308
+ "variant": "card",
309
+ "gap": "sm"
271
310
  }
272
311
  ]
273
312
  }
@@ -387,6 +426,155 @@
387
426
  "fetch",
388
427
  "Ticket"
389
428
  ],
429
+ [
430
+ "render-ui",
431
+ "main",
432
+ {
433
+ "type": "dashboard-layout",
434
+ "appName": "Helpdesk",
435
+ "navItems": [
436
+ {
437
+ "label": "Tickets",
438
+ "href": "/tickets",
439
+ "icon": "inbox"
440
+ },
441
+ {
442
+ "label": "Responses",
443
+ "href": "/responses",
444
+ "icon": "message-circle"
445
+ },
446
+ {
447
+ "label": "Metrics",
448
+ "href": "/metrics",
449
+ "icon": "layout-list"
450
+ }
451
+ ],
452
+ "children": [
453
+ {
454
+ "type": "stack",
455
+ "direction": "vertical",
456
+ "gap": "lg",
457
+ "className": "max-w-5xl mx-auto w-full",
458
+ "children": [
459
+ {
460
+ "type": "stack",
461
+ "direction": "horizontal",
462
+ "gap": "md",
463
+ "justify": "space-between",
464
+ "align": "center",
465
+ "children": [
466
+ {
467
+ "type": "stack",
468
+ "direction": "horizontal",
469
+ "gap": "sm",
470
+ "align": "center",
471
+ "children": [
472
+ {
473
+ "type": "icon",
474
+ "name": "inbox",
475
+ "size": "lg"
476
+ },
477
+ {
478
+ "type": "typography",
479
+ "content": "Tickets",
480
+ "variant": "h2"
481
+ }
482
+ ]
483
+ },
484
+ {
485
+ "type": "stack",
486
+ "direction": "horizontal",
487
+ "gap": "sm",
488
+ "children": [
489
+ {
490
+ "type": "button",
491
+ "label": "New Ticket",
492
+ "event": "CREATE",
493
+ "variant": "primary",
494
+ "icon": "plus"
495
+ }
496
+ ]
497
+ }
498
+ ]
499
+ },
500
+ {
501
+ "type": "divider"
502
+ },
503
+ {
504
+ "type": "simple-grid",
505
+ "columns": 1,
506
+ "children": [
507
+ {
508
+ "type": "stat-display",
509
+ "label": "Open Tickets",
510
+ "value": [
511
+ "array/len",
512
+ "@entity"
513
+ ],
514
+ "icon": "inbox"
515
+ }
516
+ ]
517
+ },
518
+ {
519
+ "type": "divider"
520
+ },
521
+ {
522
+ "type": "data-list",
523
+ "entity": "Ticket",
524
+ "emptyIcon": "inbox",
525
+ "emptyTitle": "No tickets filed",
526
+ "emptyDescription": "Your support queue is clear.",
527
+ "itemActions": [
528
+ {
529
+ "label": "View",
530
+ "event": "VIEW",
531
+ "variant": "ghost",
532
+ "size": "sm"
533
+ },
534
+ {
535
+ "label": "Edit",
536
+ "event": "EDIT",
537
+ "variant": "ghost",
538
+ "size": "sm"
539
+ },
540
+ {
541
+ "label": "Delete",
542
+ "event": "DELETE",
543
+ "variant": "danger",
544
+ "size": "sm"
545
+ }
546
+ ],
547
+ "columns": [
548
+ {
549
+ "name": "subject",
550
+ "variant": "h3",
551
+ "icon": "inbox"
552
+ },
553
+ {
554
+ "name": "priority",
555
+ "variant": "badge"
556
+ },
557
+ {
558
+ "name": "status",
559
+ "variant": "badge"
560
+ },
561
+ {
562
+ "name": "assignee",
563
+ "variant": "body"
564
+ },
565
+ {
566
+ "name": "description",
567
+ "variant": "caption"
568
+ }
569
+ ],
570
+ "variant": "card",
571
+ "gap": "sm"
572
+ }
573
+ ]
574
+ }
575
+ ]
576
+ }
577
+ ],
390
578
  [
391
579
  "notify",
392
580
  "Ticket deleted successfully"
@@ -402,6 +590,159 @@
402
590
  "render-ui",
403
591
  "modal",
404
592
  null
593
+ ],
594
+ [
595
+ "fetch",
596
+ "Ticket"
597
+ ],
598
+ [
599
+ "render-ui",
600
+ "main",
601
+ {
602
+ "type": "dashboard-layout",
603
+ "appName": "Helpdesk",
604
+ "navItems": [
605
+ {
606
+ "label": "Tickets",
607
+ "href": "/tickets",
608
+ "icon": "inbox"
609
+ },
610
+ {
611
+ "label": "Responses",
612
+ "href": "/responses",
613
+ "icon": "message-circle"
614
+ },
615
+ {
616
+ "label": "Metrics",
617
+ "href": "/metrics",
618
+ "icon": "layout-list"
619
+ }
620
+ ],
621
+ "children": [
622
+ {
623
+ "type": "stack",
624
+ "direction": "vertical",
625
+ "gap": "lg",
626
+ "className": "max-w-5xl mx-auto w-full",
627
+ "children": [
628
+ {
629
+ "type": "stack",
630
+ "direction": "horizontal",
631
+ "gap": "md",
632
+ "justify": "space-between",
633
+ "align": "center",
634
+ "children": [
635
+ {
636
+ "type": "stack",
637
+ "direction": "horizontal",
638
+ "gap": "sm",
639
+ "align": "center",
640
+ "children": [
641
+ {
642
+ "type": "icon",
643
+ "name": "inbox",
644
+ "size": "lg"
645
+ },
646
+ {
647
+ "type": "typography",
648
+ "content": "Tickets",
649
+ "variant": "h2"
650
+ }
651
+ ]
652
+ },
653
+ {
654
+ "type": "stack",
655
+ "direction": "horizontal",
656
+ "gap": "sm",
657
+ "children": [
658
+ {
659
+ "type": "button",
660
+ "label": "New Ticket",
661
+ "event": "CREATE",
662
+ "variant": "primary",
663
+ "icon": "plus"
664
+ }
665
+ ]
666
+ }
667
+ ]
668
+ },
669
+ {
670
+ "type": "divider"
671
+ },
672
+ {
673
+ "type": "simple-grid",
674
+ "columns": 1,
675
+ "children": [
676
+ {
677
+ "type": "stat-display",
678
+ "label": "Open Tickets",
679
+ "value": [
680
+ "array/len",
681
+ "@entity"
682
+ ],
683
+ "icon": "inbox"
684
+ }
685
+ ]
686
+ },
687
+ {
688
+ "type": "divider"
689
+ },
690
+ {
691
+ "type": "data-list",
692
+ "entity": "Ticket",
693
+ "emptyIcon": "inbox",
694
+ "emptyTitle": "No tickets filed",
695
+ "emptyDescription": "Your support queue is clear.",
696
+ "itemActions": [
697
+ {
698
+ "label": "View",
699
+ "event": "VIEW",
700
+ "variant": "ghost",
701
+ "size": "sm"
702
+ },
703
+ {
704
+ "label": "Edit",
705
+ "event": "EDIT",
706
+ "variant": "ghost",
707
+ "size": "sm"
708
+ },
709
+ {
710
+ "label": "Delete",
711
+ "event": "DELETE",
712
+ "variant": "danger",
713
+ "size": "sm"
714
+ }
715
+ ],
716
+ "columns": [
717
+ {
718
+ "name": "subject",
719
+ "variant": "h3",
720
+ "icon": "inbox"
721
+ },
722
+ {
723
+ "name": "priority",
724
+ "variant": "badge"
725
+ },
726
+ {
727
+ "name": "status",
728
+ "variant": "badge"
729
+ },
730
+ {
731
+ "name": "assignee",
732
+ "variant": "body"
733
+ },
734
+ {
735
+ "name": "description",
736
+ "variant": "caption"
737
+ }
738
+ ],
739
+ "variant": "card",
740
+ "gap": "sm"
741
+ }
742
+ ]
743
+ }
744
+ ]
745
+ }
405
746
  ]
406
747
  ]
407
748
  },
@@ -414,17 +755,170 @@
414
755
  "render-ui",
415
756
  "modal",
416
757
  null
417
- ]
418
- ]
419
- }
420
- ]
421
- },
422
- "emits": [
423
- {
424
- "event": "ASSIGN",
425
- "description": "Assign ticket and open response thread",
426
- "payload": [
427
- {
758
+ ],
759
+ [
760
+ "fetch",
761
+ "Ticket"
762
+ ],
763
+ [
764
+ "render-ui",
765
+ "main",
766
+ {
767
+ "type": "dashboard-layout",
768
+ "appName": "Helpdesk",
769
+ "navItems": [
770
+ {
771
+ "label": "Tickets",
772
+ "href": "/tickets",
773
+ "icon": "inbox"
774
+ },
775
+ {
776
+ "label": "Responses",
777
+ "href": "/responses",
778
+ "icon": "message-circle"
779
+ },
780
+ {
781
+ "label": "Metrics",
782
+ "href": "/metrics",
783
+ "icon": "layout-list"
784
+ }
785
+ ],
786
+ "children": [
787
+ {
788
+ "type": "stack",
789
+ "direction": "vertical",
790
+ "gap": "lg",
791
+ "className": "max-w-5xl mx-auto w-full",
792
+ "children": [
793
+ {
794
+ "type": "stack",
795
+ "direction": "horizontal",
796
+ "gap": "md",
797
+ "justify": "space-between",
798
+ "align": "center",
799
+ "children": [
800
+ {
801
+ "type": "stack",
802
+ "direction": "horizontal",
803
+ "gap": "sm",
804
+ "align": "center",
805
+ "children": [
806
+ {
807
+ "type": "icon",
808
+ "name": "inbox",
809
+ "size": "lg"
810
+ },
811
+ {
812
+ "type": "typography",
813
+ "content": "Tickets",
814
+ "variant": "h2"
815
+ }
816
+ ]
817
+ },
818
+ {
819
+ "type": "stack",
820
+ "direction": "horizontal",
821
+ "gap": "sm",
822
+ "children": [
823
+ {
824
+ "type": "button",
825
+ "label": "New Ticket",
826
+ "event": "CREATE",
827
+ "variant": "primary",
828
+ "icon": "plus"
829
+ }
830
+ ]
831
+ }
832
+ ]
833
+ },
834
+ {
835
+ "type": "divider"
836
+ },
837
+ {
838
+ "type": "simple-grid",
839
+ "columns": 1,
840
+ "children": [
841
+ {
842
+ "type": "stat-display",
843
+ "label": "Open Tickets",
844
+ "value": [
845
+ "array/len",
846
+ "@entity"
847
+ ],
848
+ "icon": "inbox"
849
+ }
850
+ ]
851
+ },
852
+ {
853
+ "type": "divider"
854
+ },
855
+ {
856
+ "type": "data-list",
857
+ "entity": "Ticket",
858
+ "emptyIcon": "inbox",
859
+ "emptyTitle": "No tickets filed",
860
+ "emptyDescription": "Your support queue is clear.",
861
+ "itemActions": [
862
+ {
863
+ "label": "View",
864
+ "event": "VIEW",
865
+ "variant": "ghost",
866
+ "size": "sm"
867
+ },
868
+ {
869
+ "label": "Edit",
870
+ "event": "EDIT",
871
+ "variant": "ghost",
872
+ "size": "sm"
873
+ },
874
+ {
875
+ "label": "Delete",
876
+ "event": "DELETE",
877
+ "variant": "danger",
878
+ "size": "sm"
879
+ }
880
+ ],
881
+ "columns": [
882
+ {
883
+ "name": "subject",
884
+ "variant": "h3",
885
+ "icon": "inbox"
886
+ },
887
+ {
888
+ "name": "priority",
889
+ "variant": "badge"
890
+ },
891
+ {
892
+ "name": "status",
893
+ "variant": "badge"
894
+ },
895
+ {
896
+ "name": "assignee",
897
+ "variant": "body"
898
+ },
899
+ {
900
+ "name": "description",
901
+ "variant": "caption"
902
+ }
903
+ ],
904
+ "variant": "card",
905
+ "gap": "sm"
906
+ }
907
+ ]
908
+ }
909
+ ]
910
+ }
911
+ ]
912
+ ]
913
+ }
914
+ ]
915
+ },
916
+ "emits": [
917
+ {
918
+ "event": "ASSIGN",
919
+ "description": "Assign ticket and open response thread",
920
+ "payload": [
921
+ {
428
922
  "name": "id",
429
923
  "type": "string",
430
924
  "required": true
@@ -555,6 +1049,11 @@
555
1049
  "render-ui",
556
1050
  "modal",
557
1051
  null
1052
+ ],
1053
+ [
1054
+ "notify",
1055
+ "Cancelled",
1056
+ "info"
558
1057
  ]
559
1058
  ]
560
1059
  },
@@ -721,6 +1220,11 @@
721
1220
  "render-ui",
722
1221
  "modal",
723
1222
  null
1223
+ ],
1224
+ [
1225
+ "notify",
1226
+ "Cancelled",
1227
+ "info"
724
1228
  ]
725
1229
  ]
726
1230
  },
@@ -966,6 +1470,11 @@
966
1470
  "render-ui",
967
1471
  "modal",
968
1472
  null
1473
+ ],
1474
+ [
1475
+ "notify",
1476
+ "Cancelled",
1477
+ "info"
969
1478
  ]
970
1479
  ]
971
1480
  }
@@ -1023,7 +1532,7 @@
1023
1532
  },
1024
1533
  {
1025
1534
  "name": "createdAt",
1026
- "type": "string",
1535
+ "type": "date",
1027
1536
  "default": ""
1028
1537
  }
1029
1538
  ]
@@ -1097,109 +1606,108 @@
1097
1606
  "render-ui",
1098
1607
  "main",
1099
1608
  {
1100
- "type": "stack",
1101
- "direction": "vertical",
1102
- "gap": "lg",
1103
- "children": [
1609
+ "type": "dashboard-layout",
1610
+ "appName": "Helpdesk",
1611
+ "navItems": [
1104
1612
  {
1105
- "type": "stack",
1106
- "direction": "horizontal",
1107
- "gap": "md",
1108
- "justify": "space-between",
1109
- "children": [
1110
- {
1111
- "type": "stack",
1112
- "direction": "horizontal",
1113
- "gap": "sm",
1114
- "align": "center",
1115
- "children": [
1116
- {
1117
- "type": "icon",
1118
- "name": "message-circle",
1119
- "size": "lg"
1120
- },
1121
- {
1122
- "type": "typography",
1123
- "content": "Responses",
1124
- "variant": "h2"
1125
- }
1126
- ]
1127
- },
1128
- {
1129
- "type": "stack",
1130
- "direction": "horizontal",
1131
- "gap": "sm",
1132
- "children": [
1133
- {
1134
- "type": "button",
1135
- "label": "Compose",
1136
- "event": "COMPOSE",
1137
- "variant": "primary",
1138
- "icon": "edit"
1139
- }
1140
- ]
1141
- }
1142
- ]
1613
+ "label": "Tickets",
1614
+ "href": "/tickets",
1615
+ "icon": "inbox"
1143
1616
  },
1144
1617
  {
1145
- "type": "divider"
1618
+ "label": "Responses",
1619
+ "href": "/responses",
1620
+ "icon": "message-circle"
1146
1621
  },
1147
1622
  {
1148
- "type": "data-grid",
1149
- "entity": "Response",
1150
- "emptyIcon": "inbox",
1151
- "emptyTitle": "No messages yet",
1152
- "emptyDescription": "Start a new conversation.",
1153
- "itemActions": [
1154
- {
1155
- "label": "View",
1156
- "event": "VIEW"
1157
- }
1158
- ],
1159
- "className": "transition-shadow hover:shadow-md cursor-pointer",
1623
+ "label": "Metrics",
1624
+ "href": "/metrics",
1625
+ "icon": "layout-list"
1626
+ }
1627
+ ],
1628
+ "children": [
1629
+ {
1630
+ "type": "stack",
1631
+ "direction": "vertical",
1632
+ "gap": "lg",
1633
+ "className": "max-w-5xl mx-auto w-full",
1160
1634
  "children": [
1161
1635
  {
1162
1636
  "type": "stack",
1163
- "direction": "vertical",
1164
- "gap": "sm",
1637
+ "direction": "horizontal",
1638
+ "gap": "md",
1639
+ "justify": "space-between",
1640
+ "align": "center",
1165
1641
  "children": [
1166
1642
  {
1167
1643
  "type": "stack",
1168
1644
  "direction": "horizontal",
1169
- "justify": "space-between",
1645
+ "gap": "sm",
1170
1646
  "align": "center",
1171
1647
  "children": [
1172
1648
  {
1173
- "type": "stack",
1174
- "direction": "horizontal",
1175
- "gap": "sm",
1176
- "align": "center",
1177
- "children": [
1178
- {
1179
- "type": "icon",
1180
- "name": "message-circle",
1181
- "size": "sm"
1182
- },
1183
- {
1184
- "type": "typography",
1185
- "variant": "h4",
1186
- "content": "@entity.ticketId"
1187
- }
1188
- ]
1649
+ "type": "icon",
1650
+ "name": "message-circle",
1651
+ "size": "lg"
1189
1652
  },
1190
1653
  {
1191
- "type": "badge",
1192
- "label": "@entity.body"
1654
+ "type": "typography",
1655
+ "content": "Responses",
1656
+ "variant": "h2"
1193
1657
  }
1194
1658
  ]
1195
1659
  },
1196
1660
  {
1197
- "type": "typography",
1198
- "variant": "caption",
1199
- "color": "muted",
1200
- "content": "@entity.author"
1661
+ "type": "stack",
1662
+ "direction": "horizontal",
1663
+ "gap": "sm",
1664
+ "children": [
1665
+ {
1666
+ "type": "button",
1667
+ "label": "Compose",
1668
+ "event": "COMPOSE",
1669
+ "variant": "primary",
1670
+ "icon": "edit"
1671
+ }
1672
+ ]
1201
1673
  }
1202
1674
  ]
1675
+ },
1676
+ {
1677
+ "type": "divider"
1678
+ },
1679
+ {
1680
+ "type": "data-list",
1681
+ "entity": "Response",
1682
+ "emptyIcon": "inbox",
1683
+ "emptyTitle": "No messages yet",
1684
+ "emptyDescription": "Start a new conversation.",
1685
+ "itemActions": [
1686
+ {
1687
+ "label": "View",
1688
+ "event": "VIEW",
1689
+ "variant": "ghost",
1690
+ "size": "sm"
1691
+ }
1692
+ ],
1693
+ "columns": [
1694
+ {
1695
+ "name": "author",
1696
+ "variant": "h4",
1697
+ "icon": "message-circle"
1698
+ },
1699
+ {
1700
+ "name": "body",
1701
+ "variant": "body"
1702
+ },
1703
+ {
1704
+ "name": "createdAt",
1705
+ "variant": "caption",
1706
+ "format": "date"
1707
+ }
1708
+ ],
1709
+ "variant": "card",
1710
+ "gap": "sm"
1203
1711
  }
1204
1712
  ]
1205
1713
  }
@@ -1334,8 +1842,7 @@
1334
1842
  "fields": [
1335
1843
  "ticketId",
1336
1844
  "body",
1337
- "author",
1338
- "createdAt"
1845
+ "author"
1339
1846
  ]
1340
1847
  }
1341
1848
  ]
@@ -1352,6 +1859,11 @@
1352
1859
  "render-ui",
1353
1860
  "modal",
1354
1861
  null
1862
+ ],
1863
+ [
1864
+ "notify",
1865
+ "Cancelled",
1866
+ "info"
1355
1867
  ]
1356
1868
  ]
1357
1869
  },
@@ -1482,7 +1994,7 @@
1482
1994
  {
1483
1995
  "type": "typography",
1484
1996
  "variant": "caption",
1485
- "content": "TicketId"
1997
+ "content": "Ticket ID"
1486
1998
  },
1487
1999
  {
1488
2000
  "type": "typography",
@@ -1533,7 +2045,7 @@
1533
2045
  {
1534
2046
  "type": "typography",
1535
2047
  "variant": "caption",
1536
- "content": "CreatedAt"
2048
+ "content": "Created At"
1537
2049
  },
1538
2050
  {
1539
2051
  "type": "typography",
@@ -1573,6 +2085,11 @@
1573
2085
  "render-ui",
1574
2086
  "modal",
1575
2087
  null
2088
+ ],
2089
+ [
2090
+ "notify",
2091
+ "Cancelled",
2092
+ "info"
1576
2093
  ]
1577
2094
  ]
1578
2095
  }
@@ -1686,156 +2203,279 @@
1686
2203
  "render-ui",
1687
2204
  "main",
1688
2205
  {
1689
- "type": "stack",
1690
- "direction": "vertical",
1691
- "gap": "lg",
1692
- "children": [
2206
+ "type": "dashboard-layout",
2207
+ "appName": "Helpdesk",
2208
+ "navItems": [
1693
2209
  {
1694
- "type": "stack",
1695
- "direction": "horizontal",
1696
- "gap": "md",
1697
- "justify": "space-between",
1698
- "children": [
1699
- {
1700
- "type": "stack",
1701
- "direction": "horizontal",
1702
- "gap": "md",
1703
- "children": [
1704
- {
1705
- "type": "icon",
1706
- "name": "activity",
1707
- "size": "lg"
1708
- },
1709
- {
1710
- "type": "typography",
1711
- "content": "Support Metrics",
1712
- "variant": "h2"
1713
- }
1714
- ]
1715
- },
1716
- {
1717
- "type": "button",
1718
- "label": "Refresh",
1719
- "event": "REFRESH",
1720
- "variant": "secondary",
1721
- "icon": "refresh-cw"
1722
- }
1723
- ]
2210
+ "label": "Tickets",
2211
+ "href": "/tickets",
2212
+ "icon": "inbox"
1724
2213
  },
1725
2214
  {
1726
- "type": "divider"
2215
+ "label": "Responses",
2216
+ "href": "/responses",
2217
+ "icon": "message-circle"
1727
2218
  },
1728
2219
  {
1729
- "type": "simple-grid",
1730
- "columns": 3,
2220
+ "label": "Metrics",
2221
+ "href": "/metrics",
2222
+ "icon": "layout-list"
2223
+ }
2224
+ ],
2225
+ "children": [
2226
+ {
2227
+ "type": "scaled-diagram",
1731
2228
  "children": [
1732
2229
  {
1733
- "type": "card",
2230
+ "type": "stack",
2231
+ "direction": "vertical",
2232
+ "gap": "lg",
1734
2233
  "children": [
1735
2234
  {
1736
- "type": "stack",
1737
- "direction": "vertical",
1738
- "gap": "sm",
1739
- "children": [
2235
+ "type": "breadcrumb",
2236
+ "items": [
1740
2237
  {
1741
- "type": "typography",
1742
- "variant": "caption",
1743
- "content": "OpenTickets"
2238
+ "label": "Home",
2239
+ "href": "/"
1744
2240
  },
1745
2241
  {
1746
- "type": "typography",
1747
- "variant": "h3",
1748
- "content": "@entity.openTickets"
2242
+ "label": "Support Metrics"
1749
2243
  }
1750
2244
  ]
1751
- }
1752
- ]
1753
- },
1754
- {
1755
- "type": "card",
1756
- "children": [
2245
+ },
1757
2246
  {
1758
2247
  "type": "stack",
1759
- "direction": "vertical",
1760
- "gap": "sm",
2248
+ "direction": "horizontal",
2249
+ "gap": "md",
2250
+ "justify": "space-between",
1761
2251
  "children": [
1762
2252
  {
1763
- "type": "typography",
1764
- "variant": "caption",
1765
- "content": "ResolvedTickets"
2253
+ "type": "stack",
2254
+ "direction": "horizontal",
2255
+ "gap": "md",
2256
+ "children": [
2257
+ {
2258
+ "type": "icon",
2259
+ "name": "activity",
2260
+ "size": "lg"
2261
+ },
2262
+ {
2263
+ "type": "typography",
2264
+ "content": "Support Metrics",
2265
+ "variant": "h2"
2266
+ }
2267
+ ]
1766
2268
  },
1767
2269
  {
1768
- "type": "typography",
1769
- "variant": "h3",
1770
- "content": "@entity.resolvedTickets"
2270
+ "type": "button",
2271
+ "label": "Refresh",
2272
+ "event": "REFRESH",
2273
+ "variant": "secondary",
2274
+ "icon": "refresh-cw"
1771
2275
  }
1772
2276
  ]
1773
- }
1774
- ]
1775
- },
1776
- {
1777
- "type": "card",
1778
- "children": [
2277
+ },
1779
2278
  {
1780
- "type": "stack",
1781
- "direction": "vertical",
1782
- "gap": "sm",
2279
+ "type": "divider"
2280
+ },
2281
+ {
2282
+ "type": "box",
2283
+ "padding": "md",
1783
2284
  "children": [
1784
2285
  {
1785
- "type": "typography",
1786
- "variant": "caption",
1787
- "content": "AvgResponseTime"
1788
- },
1789
- {
1790
- "type": "typography",
1791
- "variant": "h3",
1792
- "content": "@entity.avgResponseTime"
1793
- }
1794
- ]
1795
- }
1796
- ]
1797
- },
1798
- {
1799
- "type": "card",
1800
- "children": [
2286
+ "type": "simple-grid",
2287
+ "columns": 3,
2288
+ "children": [
2289
+ {
2290
+ "type": "stat-display",
2291
+ "label": "OpenTickets",
2292
+ "value": [
2293
+ "object/get",
2294
+ [
2295
+ "array/first",
2296
+ "@entity"
2297
+ ],
2298
+ "openTickets"
2299
+ ]
2300
+ },
2301
+ {
2302
+ "type": "stat-display",
2303
+ "label": "ResolvedTickets",
2304
+ "value": [
2305
+ "object/get",
2306
+ [
2307
+ "array/first",
2308
+ "@entity"
2309
+ ],
2310
+ "resolvedTickets"
2311
+ ]
2312
+ },
2313
+ {
2314
+ "type": "card",
2315
+ "children": [
2316
+ {
2317
+ "type": "stack",
2318
+ "direction": "vertical",
2319
+ "gap": "sm",
2320
+ "children": [
2321
+ {
2322
+ "type": "typography",
2323
+ "variant": "caption",
2324
+ "content": "AvgResponseTime"
2325
+ },
2326
+ {
2327
+ "type": "typography",
2328
+ "variant": "h3",
2329
+ "content": [
2330
+ "object/get",
2331
+ [
2332
+ "array/first",
2333
+ "@entity"
2334
+ ],
2335
+ "avgResponseTime"
2336
+ ]
2337
+ }
2338
+ ]
2339
+ }
2340
+ ]
2341
+ },
2342
+ {
2343
+ "type": "stat-display",
2344
+ "label": "SatisfactionScore",
2345
+ "value": [
2346
+ "object/get",
2347
+ [
2348
+ "array/first",
2349
+ "@entity"
2350
+ ],
2351
+ "satisfactionScore"
2352
+ ]
2353
+ },
2354
+ {
2355
+ "type": "stat-display",
2356
+ "label": "ActiveAgents",
2357
+ "value": [
2358
+ "object/get",
2359
+ [
2360
+ "array/first",
2361
+ "@entity"
2362
+ ],
2363
+ "activeAgents"
2364
+ ]
2365
+ }
2366
+ ]
2367
+ }
2368
+ ]
2369
+ },
1801
2370
  {
1802
- "type": "stack",
1803
- "direction": "vertical",
1804
- "gap": "sm",
2371
+ "type": "divider"
2372
+ },
2373
+ {
2374
+ "type": "grid",
2375
+ "columns": 2,
2376
+ "gap": "md",
1805
2377
  "children": [
1806
2378
  {
1807
- "type": "typography",
1808
- "variant": "caption",
1809
- "content": "SatisfactionScore"
2379
+ "type": "card",
2380
+ "children": [
2381
+ {
2382
+ "type": "typography",
2383
+ "variant": "caption",
2384
+ "content": "Chart View"
2385
+ }
2386
+ ]
1810
2387
  },
1811
2388
  {
1812
- "type": "typography",
1813
- "variant": "h3",
1814
- "content": "@entity.satisfactionScore"
2389
+ "type": "card",
2390
+ "children": [
2391
+ {
2392
+ "type": "typography",
2393
+ "variant": "caption",
2394
+ "content": "Graph View"
2395
+ }
2396
+ ]
1815
2397
  }
1816
2398
  ]
1817
- }
1818
- ]
1819
- },
1820
- {
1821
- "type": "card",
1822
- "children": [
2399
+ },
1823
2400
  {
1824
- "type": "stack",
1825
- "direction": "vertical",
1826
- "gap": "sm",
1827
- "children": [
2401
+ "type": "line-chart",
2402
+ "data": [
1828
2403
  {
1829
- "type": "typography",
1830
- "variant": "caption",
1831
- "content": "ActiveAgents"
2404
+ "date": "Jan",
2405
+ "value": 12
1832
2406
  },
1833
2407
  {
1834
- "type": "typography",
1835
- "variant": "h3",
1836
- "content": "@entity.activeAgents"
2408
+ "date": "Feb",
2409
+ "value": 19
2410
+ },
2411
+ {
2412
+ "date": "Mar",
2413
+ "value": 15
2414
+ },
2415
+ {
2416
+ "date": "Apr",
2417
+ "value": 25
2418
+ },
2419
+ {
2420
+ "date": "May",
2421
+ "value": 22
2422
+ },
2423
+ {
2424
+ "date": "Jun",
2425
+ "value": 30
2426
+ }
2427
+ ],
2428
+ "xKey": "date",
2429
+ "yKey": "value",
2430
+ "title": "Trend"
2431
+ },
2432
+ {
2433
+ "type": "chart-legend",
2434
+ "items": [
2435
+ {
2436
+ "label": "Current",
2437
+ "color": "primary"
2438
+ },
2439
+ {
2440
+ "label": "Previous",
2441
+ "color": "muted"
1837
2442
  }
1838
2443
  ]
2444
+ },
2445
+ {
2446
+ "type": "graph-view",
2447
+ "nodes": [
2448
+ {
2449
+ "id": "a",
2450
+ "label": "Start",
2451
+ "x": 50,
2452
+ "y": 100
2453
+ },
2454
+ {
2455
+ "id": "b",
2456
+ "label": "Process",
2457
+ "x": 200,
2458
+ "y": 50
2459
+ },
2460
+ {
2461
+ "id": "c",
2462
+ "label": "End",
2463
+ "x": 350,
2464
+ "y": 100
2465
+ }
2466
+ ],
2467
+ "edges": [
2468
+ {
2469
+ "from": "a",
2470
+ "to": "b"
2471
+ },
2472
+ {
2473
+ "from": "b",
2474
+ "to": "c"
2475
+ }
2476
+ ],
2477
+ "width": 400,
2478
+ "height": 200
1839
2479
  }
1840
2480
  ]
1841
2481
  }
@@ -1859,156 +2499,279 @@
1859
2499
  "render-ui",
1860
2500
  "main",
1861
2501
  {
1862
- "type": "stack",
1863
- "direction": "vertical",
1864
- "gap": "lg",
1865
- "children": [
2502
+ "type": "dashboard-layout",
2503
+ "appName": "Helpdesk",
2504
+ "navItems": [
1866
2505
  {
1867
- "type": "stack",
1868
- "direction": "horizontal",
1869
- "gap": "md",
1870
- "justify": "space-between",
1871
- "children": [
1872
- {
1873
- "type": "stack",
1874
- "direction": "horizontal",
1875
- "gap": "md",
1876
- "children": [
1877
- {
1878
- "type": "icon",
1879
- "name": "activity",
1880
- "size": "lg"
1881
- },
1882
- {
1883
- "type": "typography",
1884
- "content": "Support Metrics",
1885
- "variant": "h2"
1886
- }
1887
- ]
1888
- },
1889
- {
1890
- "type": "button",
1891
- "label": "Refresh",
1892
- "event": "REFRESH",
1893
- "variant": "secondary",
1894
- "icon": "refresh-cw"
1895
- }
1896
- ]
2506
+ "label": "Tickets",
2507
+ "href": "/tickets",
2508
+ "icon": "inbox"
1897
2509
  },
1898
2510
  {
1899
- "type": "divider"
2511
+ "label": "Responses",
2512
+ "href": "/responses",
2513
+ "icon": "message-circle"
1900
2514
  },
1901
2515
  {
1902
- "type": "simple-grid",
1903
- "columns": 3,
2516
+ "label": "Metrics",
2517
+ "href": "/metrics",
2518
+ "icon": "layout-list"
2519
+ }
2520
+ ],
2521
+ "children": [
2522
+ {
2523
+ "type": "scaled-diagram",
1904
2524
  "children": [
1905
2525
  {
1906
- "type": "card",
2526
+ "type": "stack",
2527
+ "direction": "vertical",
2528
+ "gap": "lg",
1907
2529
  "children": [
1908
2530
  {
1909
- "type": "stack",
1910
- "direction": "vertical",
1911
- "gap": "sm",
1912
- "children": [
2531
+ "type": "breadcrumb",
2532
+ "items": [
1913
2533
  {
1914
- "type": "typography",
1915
- "variant": "caption",
1916
- "content": "OpenTickets"
2534
+ "label": "Home",
2535
+ "href": "/"
1917
2536
  },
1918
2537
  {
1919
- "type": "typography",
1920
- "variant": "h3",
1921
- "content": "@entity.openTickets"
2538
+ "label": "Support Metrics"
1922
2539
  }
1923
2540
  ]
1924
- }
1925
- ]
1926
- },
1927
- {
1928
- "type": "card",
1929
- "children": [
2541
+ },
1930
2542
  {
1931
2543
  "type": "stack",
1932
- "direction": "vertical",
1933
- "gap": "sm",
2544
+ "direction": "horizontal",
2545
+ "gap": "md",
2546
+ "justify": "space-between",
1934
2547
  "children": [
1935
2548
  {
1936
- "type": "typography",
1937
- "variant": "caption",
1938
- "content": "ResolvedTickets"
2549
+ "type": "stack",
2550
+ "direction": "horizontal",
2551
+ "gap": "md",
2552
+ "children": [
2553
+ {
2554
+ "type": "icon",
2555
+ "name": "activity",
2556
+ "size": "lg"
2557
+ },
2558
+ {
2559
+ "type": "typography",
2560
+ "content": "Support Metrics",
2561
+ "variant": "h2"
2562
+ }
2563
+ ]
1939
2564
  },
1940
2565
  {
1941
- "type": "typography",
1942
- "variant": "h3",
1943
- "content": "@entity.resolvedTickets"
2566
+ "type": "button",
2567
+ "label": "Refresh",
2568
+ "event": "REFRESH",
2569
+ "variant": "secondary",
2570
+ "icon": "refresh-cw"
1944
2571
  }
1945
2572
  ]
1946
- }
1947
- ]
1948
- },
1949
- {
1950
- "type": "card",
1951
- "children": [
2573
+ },
1952
2574
  {
1953
- "type": "stack",
1954
- "direction": "vertical",
1955
- "gap": "sm",
2575
+ "type": "divider"
2576
+ },
2577
+ {
2578
+ "type": "box",
2579
+ "padding": "md",
1956
2580
  "children": [
1957
2581
  {
1958
- "type": "typography",
1959
- "variant": "caption",
1960
- "content": "AvgResponseTime"
1961
- },
1962
- {
1963
- "type": "typography",
1964
- "variant": "h3",
1965
- "content": "@entity.avgResponseTime"
2582
+ "type": "simple-grid",
2583
+ "columns": 3,
2584
+ "children": [
2585
+ {
2586
+ "type": "stat-display",
2587
+ "label": "OpenTickets",
2588
+ "value": [
2589
+ "object/get",
2590
+ [
2591
+ "array/first",
2592
+ "@entity"
2593
+ ],
2594
+ "openTickets"
2595
+ ]
2596
+ },
2597
+ {
2598
+ "type": "stat-display",
2599
+ "label": "ResolvedTickets",
2600
+ "value": [
2601
+ "object/get",
2602
+ [
2603
+ "array/first",
2604
+ "@entity"
2605
+ ],
2606
+ "resolvedTickets"
2607
+ ]
2608
+ },
2609
+ {
2610
+ "type": "card",
2611
+ "children": [
2612
+ {
2613
+ "type": "stack",
2614
+ "direction": "vertical",
2615
+ "gap": "sm",
2616
+ "children": [
2617
+ {
2618
+ "type": "typography",
2619
+ "variant": "caption",
2620
+ "content": "AvgResponseTime"
2621
+ },
2622
+ {
2623
+ "type": "typography",
2624
+ "variant": "h3",
2625
+ "content": [
2626
+ "object/get",
2627
+ [
2628
+ "array/first",
2629
+ "@entity"
2630
+ ],
2631
+ "avgResponseTime"
2632
+ ]
2633
+ }
2634
+ ]
2635
+ }
2636
+ ]
2637
+ },
2638
+ {
2639
+ "type": "stat-display",
2640
+ "label": "SatisfactionScore",
2641
+ "value": [
2642
+ "object/get",
2643
+ [
2644
+ "array/first",
2645
+ "@entity"
2646
+ ],
2647
+ "satisfactionScore"
2648
+ ]
2649
+ },
2650
+ {
2651
+ "type": "stat-display",
2652
+ "label": "ActiveAgents",
2653
+ "value": [
2654
+ "object/get",
2655
+ [
2656
+ "array/first",
2657
+ "@entity"
2658
+ ],
2659
+ "activeAgents"
2660
+ ]
2661
+ }
2662
+ ]
1966
2663
  }
1967
2664
  ]
1968
- }
1969
- ]
1970
- },
1971
- {
1972
- "type": "card",
1973
- "children": [
2665
+ },
1974
2666
  {
1975
- "type": "stack",
1976
- "direction": "vertical",
1977
- "gap": "sm",
2667
+ "type": "divider"
2668
+ },
2669
+ {
2670
+ "type": "grid",
2671
+ "columns": 2,
2672
+ "gap": "md",
1978
2673
  "children": [
1979
2674
  {
1980
- "type": "typography",
1981
- "variant": "caption",
1982
- "content": "SatisfactionScore"
2675
+ "type": "card",
2676
+ "children": [
2677
+ {
2678
+ "type": "typography",
2679
+ "variant": "caption",
2680
+ "content": "Chart View"
2681
+ }
2682
+ ]
1983
2683
  },
1984
2684
  {
1985
- "type": "typography",
1986
- "variant": "h3",
1987
- "content": "@entity.satisfactionScore"
2685
+ "type": "card",
2686
+ "children": [
2687
+ {
2688
+ "type": "typography",
2689
+ "variant": "caption",
2690
+ "content": "Graph View"
2691
+ }
2692
+ ]
1988
2693
  }
1989
2694
  ]
1990
- }
1991
- ]
1992
- },
1993
- {
1994
- "type": "card",
1995
- "children": [
2695
+ },
1996
2696
  {
1997
- "type": "stack",
1998
- "direction": "vertical",
1999
- "gap": "sm",
2000
- "children": [
2697
+ "type": "line-chart",
2698
+ "data": [
2001
2699
  {
2002
- "type": "typography",
2003
- "variant": "caption",
2004
- "content": "ActiveAgents"
2700
+ "date": "Jan",
2701
+ "value": 12
2005
2702
  },
2006
2703
  {
2007
- "type": "typography",
2008
- "variant": "h3",
2009
- "content": "@entity.activeAgents"
2704
+ "date": "Feb",
2705
+ "value": 19
2706
+ },
2707
+ {
2708
+ "date": "Mar",
2709
+ "value": 15
2710
+ },
2711
+ {
2712
+ "date": "Apr",
2713
+ "value": 25
2714
+ },
2715
+ {
2716
+ "date": "May",
2717
+ "value": 22
2718
+ },
2719
+ {
2720
+ "date": "Jun",
2721
+ "value": 30
2722
+ }
2723
+ ],
2724
+ "xKey": "date",
2725
+ "yKey": "value",
2726
+ "title": "Trend"
2727
+ },
2728
+ {
2729
+ "type": "chart-legend",
2730
+ "items": [
2731
+ {
2732
+ "label": "Current",
2733
+ "color": "primary"
2734
+ },
2735
+ {
2736
+ "label": "Previous",
2737
+ "color": "muted"
2010
2738
  }
2011
2739
  ]
2740
+ },
2741
+ {
2742
+ "type": "graph-view",
2743
+ "nodes": [
2744
+ {
2745
+ "id": "a",
2746
+ "label": "Start",
2747
+ "x": 50,
2748
+ "y": 100
2749
+ },
2750
+ {
2751
+ "id": "b",
2752
+ "label": "Process",
2753
+ "x": 200,
2754
+ "y": 50
2755
+ },
2756
+ {
2757
+ "id": "c",
2758
+ "label": "End",
2759
+ "x": 350,
2760
+ "y": 100
2761
+ }
2762
+ ],
2763
+ "edges": [
2764
+ {
2765
+ "from": "a",
2766
+ "to": "b"
2767
+ },
2768
+ {
2769
+ "from": "b",
2770
+ "to": "c"
2771
+ }
2772
+ ],
2773
+ "width": 400,
2774
+ "height": 200
2012
2775
  }
2013
2776
  ]
2014
2777
  }
@@ -2032,156 +2795,279 @@
2032
2795
  "render-ui",
2033
2796
  "main",
2034
2797
  {
2035
- "type": "stack",
2036
- "direction": "vertical",
2037
- "gap": "lg",
2038
- "children": [
2798
+ "type": "dashboard-layout",
2799
+ "appName": "Helpdesk",
2800
+ "navItems": [
2039
2801
  {
2040
- "type": "stack",
2041
- "direction": "horizontal",
2042
- "gap": "md",
2043
- "justify": "space-between",
2044
- "children": [
2045
- {
2046
- "type": "stack",
2047
- "direction": "horizontal",
2048
- "gap": "md",
2049
- "children": [
2050
- {
2051
- "type": "icon",
2052
- "name": "activity",
2053
- "size": "lg"
2054
- },
2055
- {
2056
- "type": "typography",
2057
- "content": "Support Metrics",
2058
- "variant": "h2"
2059
- }
2060
- ]
2061
- },
2062
- {
2063
- "type": "button",
2064
- "label": "Refresh",
2065
- "event": "REFRESH",
2066
- "variant": "secondary",
2067
- "icon": "refresh-cw"
2068
- }
2069
- ]
2802
+ "label": "Tickets",
2803
+ "href": "/tickets",
2804
+ "icon": "inbox"
2070
2805
  },
2071
2806
  {
2072
- "type": "divider"
2807
+ "label": "Responses",
2808
+ "href": "/responses",
2809
+ "icon": "message-circle"
2073
2810
  },
2074
2811
  {
2075
- "type": "simple-grid",
2076
- "columns": 3,
2812
+ "label": "Metrics",
2813
+ "href": "/metrics",
2814
+ "icon": "layout-list"
2815
+ }
2816
+ ],
2817
+ "children": [
2818
+ {
2819
+ "type": "scaled-diagram",
2077
2820
  "children": [
2078
2821
  {
2079
- "type": "card",
2822
+ "type": "stack",
2823
+ "direction": "vertical",
2824
+ "gap": "lg",
2080
2825
  "children": [
2081
2826
  {
2082
- "type": "stack",
2083
- "direction": "vertical",
2084
- "gap": "sm",
2085
- "children": [
2827
+ "type": "breadcrumb",
2828
+ "items": [
2086
2829
  {
2087
- "type": "typography",
2088
- "variant": "caption",
2089
- "content": "OpenTickets"
2830
+ "label": "Home",
2831
+ "href": "/"
2090
2832
  },
2091
2833
  {
2092
- "type": "typography",
2093
- "variant": "h3",
2094
- "content": "@entity.openTickets"
2834
+ "label": "Support Metrics"
2095
2835
  }
2096
2836
  ]
2097
- }
2098
- ]
2099
- },
2100
- {
2101
- "type": "card",
2102
- "children": [
2837
+ },
2103
2838
  {
2104
2839
  "type": "stack",
2105
- "direction": "vertical",
2106
- "gap": "sm",
2840
+ "direction": "horizontal",
2841
+ "gap": "md",
2842
+ "justify": "space-between",
2107
2843
  "children": [
2108
2844
  {
2109
- "type": "typography",
2110
- "variant": "caption",
2111
- "content": "ResolvedTickets"
2112
- },
2113
- {
2114
- "type": "typography",
2115
- "variant": "h3",
2116
- "content": "@entity.resolvedTickets"
2117
- }
2118
- ]
2119
- }
2120
- ]
2121
- },
2122
- {
2123
- "type": "card",
2124
- "children": [
2845
+ "type": "stack",
2846
+ "direction": "horizontal",
2847
+ "gap": "md",
2848
+ "children": [
2849
+ {
2850
+ "type": "icon",
2851
+ "name": "activity",
2852
+ "size": "lg"
2853
+ },
2854
+ {
2855
+ "type": "typography",
2856
+ "content": "Support Metrics",
2857
+ "variant": "h2"
2858
+ }
2859
+ ]
2860
+ },
2861
+ {
2862
+ "type": "button",
2863
+ "label": "Refresh",
2864
+ "event": "REFRESH",
2865
+ "variant": "secondary",
2866
+ "icon": "refresh-cw"
2867
+ }
2868
+ ]
2869
+ },
2125
2870
  {
2126
- "type": "stack",
2127
- "direction": "vertical",
2128
- "gap": "sm",
2871
+ "type": "divider"
2872
+ },
2873
+ {
2874
+ "type": "box",
2875
+ "padding": "md",
2129
2876
  "children": [
2130
2877
  {
2131
- "type": "typography",
2132
- "variant": "caption",
2133
- "content": "AvgResponseTime"
2134
- },
2135
- {
2136
- "type": "typography",
2137
- "variant": "h3",
2138
- "content": "@entity.avgResponseTime"
2878
+ "type": "simple-grid",
2879
+ "columns": 3,
2880
+ "children": [
2881
+ {
2882
+ "type": "stat-display",
2883
+ "label": "OpenTickets",
2884
+ "value": [
2885
+ "object/get",
2886
+ [
2887
+ "array/first",
2888
+ "@entity"
2889
+ ],
2890
+ "openTickets"
2891
+ ]
2892
+ },
2893
+ {
2894
+ "type": "stat-display",
2895
+ "label": "ResolvedTickets",
2896
+ "value": [
2897
+ "object/get",
2898
+ [
2899
+ "array/first",
2900
+ "@entity"
2901
+ ],
2902
+ "resolvedTickets"
2903
+ ]
2904
+ },
2905
+ {
2906
+ "type": "card",
2907
+ "children": [
2908
+ {
2909
+ "type": "stack",
2910
+ "direction": "vertical",
2911
+ "gap": "sm",
2912
+ "children": [
2913
+ {
2914
+ "type": "typography",
2915
+ "variant": "caption",
2916
+ "content": "AvgResponseTime"
2917
+ },
2918
+ {
2919
+ "type": "typography",
2920
+ "variant": "h3",
2921
+ "content": [
2922
+ "object/get",
2923
+ [
2924
+ "array/first",
2925
+ "@entity"
2926
+ ],
2927
+ "avgResponseTime"
2928
+ ]
2929
+ }
2930
+ ]
2931
+ }
2932
+ ]
2933
+ },
2934
+ {
2935
+ "type": "stat-display",
2936
+ "label": "SatisfactionScore",
2937
+ "value": [
2938
+ "object/get",
2939
+ [
2940
+ "array/first",
2941
+ "@entity"
2942
+ ],
2943
+ "satisfactionScore"
2944
+ ]
2945
+ },
2946
+ {
2947
+ "type": "stat-display",
2948
+ "label": "ActiveAgents",
2949
+ "value": [
2950
+ "object/get",
2951
+ [
2952
+ "array/first",
2953
+ "@entity"
2954
+ ],
2955
+ "activeAgents"
2956
+ ]
2957
+ }
2958
+ ]
2139
2959
  }
2140
2960
  ]
2141
- }
2142
- ]
2143
- },
2144
- {
2145
- "type": "card",
2146
- "children": [
2961
+ },
2147
2962
  {
2148
- "type": "stack",
2149
- "direction": "vertical",
2150
- "gap": "sm",
2963
+ "type": "divider"
2964
+ },
2965
+ {
2966
+ "type": "grid",
2967
+ "columns": 2,
2968
+ "gap": "md",
2151
2969
  "children": [
2152
2970
  {
2153
- "type": "typography",
2154
- "variant": "caption",
2155
- "content": "SatisfactionScore"
2971
+ "type": "card",
2972
+ "children": [
2973
+ {
2974
+ "type": "typography",
2975
+ "variant": "caption",
2976
+ "content": "Chart View"
2977
+ }
2978
+ ]
2156
2979
  },
2157
2980
  {
2158
- "type": "typography",
2159
- "variant": "h3",
2160
- "content": "@entity.satisfactionScore"
2981
+ "type": "card",
2982
+ "children": [
2983
+ {
2984
+ "type": "typography",
2985
+ "variant": "caption",
2986
+ "content": "Graph View"
2987
+ }
2988
+ ]
2161
2989
  }
2162
2990
  ]
2163
- }
2164
- ]
2165
- },
2166
- {
2167
- "type": "card",
2168
- "children": [
2991
+ },
2169
2992
  {
2170
- "type": "stack",
2171
- "direction": "vertical",
2172
- "gap": "sm",
2173
- "children": [
2993
+ "type": "line-chart",
2994
+ "data": [
2174
2995
  {
2175
- "type": "typography",
2176
- "variant": "caption",
2177
- "content": "ActiveAgents"
2996
+ "date": "Jan",
2997
+ "value": 12
2178
2998
  },
2179
2999
  {
2180
- "type": "typography",
2181
- "variant": "h3",
2182
- "content": "@entity.activeAgents"
3000
+ "date": "Feb",
3001
+ "value": 19
3002
+ },
3003
+ {
3004
+ "date": "Mar",
3005
+ "value": 15
3006
+ },
3007
+ {
3008
+ "date": "Apr",
3009
+ "value": 25
3010
+ },
3011
+ {
3012
+ "date": "May",
3013
+ "value": 22
3014
+ },
3015
+ {
3016
+ "date": "Jun",
3017
+ "value": 30
3018
+ }
3019
+ ],
3020
+ "xKey": "date",
3021
+ "yKey": "value",
3022
+ "title": "Trend"
3023
+ },
3024
+ {
3025
+ "type": "chart-legend",
3026
+ "items": [
3027
+ {
3028
+ "label": "Current",
3029
+ "color": "primary"
3030
+ },
3031
+ {
3032
+ "label": "Previous",
3033
+ "color": "muted"
2183
3034
  }
2184
3035
  ]
3036
+ },
3037
+ {
3038
+ "type": "graph-view",
3039
+ "nodes": [
3040
+ {
3041
+ "id": "a",
3042
+ "label": "Start",
3043
+ "x": 50,
3044
+ "y": 100
3045
+ },
3046
+ {
3047
+ "id": "b",
3048
+ "label": "Process",
3049
+ "x": 200,
3050
+ "y": 50
3051
+ },
3052
+ {
3053
+ "id": "c",
3054
+ "label": "End",
3055
+ "x": 350,
3056
+ "y": 100
3057
+ }
3058
+ ],
3059
+ "edges": [
3060
+ {
3061
+ "from": "a",
3062
+ "to": "b"
3063
+ },
3064
+ {
3065
+ "from": "b",
3066
+ "to": "c"
3067
+ }
3068
+ ],
3069
+ "width": 400,
3070
+ "height": 200
2185
3071
  }
2186
3072
  ]
2187
3073
  }
@@ -2205,156 +3091,279 @@
2205
3091
  "render-ui",
2206
3092
  "main",
2207
3093
  {
2208
- "type": "stack",
2209
- "direction": "vertical",
2210
- "gap": "lg",
2211
- "children": [
3094
+ "type": "dashboard-layout",
3095
+ "appName": "Helpdesk",
3096
+ "navItems": [
2212
3097
  {
2213
- "type": "stack",
2214
- "direction": "horizontal",
2215
- "gap": "md",
2216
- "justify": "space-between",
2217
- "children": [
2218
- {
2219
- "type": "stack",
2220
- "direction": "horizontal",
2221
- "gap": "md",
2222
- "children": [
2223
- {
2224
- "type": "icon",
2225
- "name": "activity",
2226
- "size": "lg"
2227
- },
2228
- {
2229
- "type": "typography",
2230
- "content": "Support Metrics",
2231
- "variant": "h2"
2232
- }
2233
- ]
2234
- },
2235
- {
2236
- "type": "button",
2237
- "label": "Refresh",
2238
- "event": "REFRESH",
2239
- "variant": "secondary",
2240
- "icon": "refresh-cw"
2241
- }
2242
- ]
3098
+ "label": "Tickets",
3099
+ "href": "/tickets",
3100
+ "icon": "inbox"
2243
3101
  },
2244
3102
  {
2245
- "type": "divider"
3103
+ "label": "Responses",
3104
+ "href": "/responses",
3105
+ "icon": "message-circle"
2246
3106
  },
2247
3107
  {
2248
- "type": "simple-grid",
2249
- "columns": 3,
3108
+ "label": "Metrics",
3109
+ "href": "/metrics",
3110
+ "icon": "layout-list"
3111
+ }
3112
+ ],
3113
+ "children": [
3114
+ {
3115
+ "type": "scaled-diagram",
2250
3116
  "children": [
2251
3117
  {
2252
- "type": "card",
3118
+ "type": "stack",
3119
+ "direction": "vertical",
3120
+ "gap": "lg",
2253
3121
  "children": [
2254
3122
  {
2255
- "type": "stack",
2256
- "direction": "vertical",
2257
- "gap": "sm",
2258
- "children": [
3123
+ "type": "breadcrumb",
3124
+ "items": [
2259
3125
  {
2260
- "type": "typography",
2261
- "variant": "caption",
2262
- "content": "OpenTickets"
3126
+ "label": "Home",
3127
+ "href": "/"
2263
3128
  },
2264
3129
  {
2265
- "type": "typography",
2266
- "variant": "h3",
2267
- "content": "@entity.openTickets"
3130
+ "label": "Support Metrics"
2268
3131
  }
2269
3132
  ]
2270
- }
2271
- ]
2272
- },
2273
- {
2274
- "type": "card",
2275
- "children": [
3133
+ },
2276
3134
  {
2277
3135
  "type": "stack",
2278
- "direction": "vertical",
2279
- "gap": "sm",
3136
+ "direction": "horizontal",
3137
+ "gap": "md",
3138
+ "justify": "space-between",
2280
3139
  "children": [
2281
3140
  {
2282
- "type": "typography",
2283
- "variant": "caption",
2284
- "content": "ResolvedTickets"
3141
+ "type": "stack",
3142
+ "direction": "horizontal",
3143
+ "gap": "md",
3144
+ "children": [
3145
+ {
3146
+ "type": "icon",
3147
+ "name": "activity",
3148
+ "size": "lg"
3149
+ },
3150
+ {
3151
+ "type": "typography",
3152
+ "content": "Support Metrics",
3153
+ "variant": "h2"
3154
+ }
3155
+ ]
2285
3156
  },
2286
3157
  {
2287
- "type": "typography",
2288
- "variant": "h3",
2289
- "content": "@entity.resolvedTickets"
3158
+ "type": "button",
3159
+ "label": "Refresh",
3160
+ "event": "REFRESH",
3161
+ "variant": "secondary",
3162
+ "icon": "refresh-cw"
2290
3163
  }
2291
3164
  ]
2292
- }
2293
- ]
2294
- },
2295
- {
2296
- "type": "card",
2297
- "children": [
3165
+ },
2298
3166
  {
2299
- "type": "stack",
2300
- "direction": "vertical",
2301
- "gap": "sm",
3167
+ "type": "divider"
3168
+ },
3169
+ {
3170
+ "type": "box",
3171
+ "padding": "md",
2302
3172
  "children": [
2303
3173
  {
2304
- "type": "typography",
2305
- "variant": "caption",
2306
- "content": "AvgResponseTime"
2307
- },
2308
- {
2309
- "type": "typography",
2310
- "variant": "h3",
2311
- "content": "@entity.avgResponseTime"
3174
+ "type": "simple-grid",
3175
+ "columns": 3,
3176
+ "children": [
3177
+ {
3178
+ "type": "stat-display",
3179
+ "label": "OpenTickets",
3180
+ "value": [
3181
+ "object/get",
3182
+ [
3183
+ "array/first",
3184
+ "@entity"
3185
+ ],
3186
+ "openTickets"
3187
+ ]
3188
+ },
3189
+ {
3190
+ "type": "stat-display",
3191
+ "label": "ResolvedTickets",
3192
+ "value": [
3193
+ "object/get",
3194
+ [
3195
+ "array/first",
3196
+ "@entity"
3197
+ ],
3198
+ "resolvedTickets"
3199
+ ]
3200
+ },
3201
+ {
3202
+ "type": "card",
3203
+ "children": [
3204
+ {
3205
+ "type": "stack",
3206
+ "direction": "vertical",
3207
+ "gap": "sm",
3208
+ "children": [
3209
+ {
3210
+ "type": "typography",
3211
+ "variant": "caption",
3212
+ "content": "AvgResponseTime"
3213
+ },
3214
+ {
3215
+ "type": "typography",
3216
+ "variant": "h3",
3217
+ "content": [
3218
+ "object/get",
3219
+ [
3220
+ "array/first",
3221
+ "@entity"
3222
+ ],
3223
+ "avgResponseTime"
3224
+ ]
3225
+ }
3226
+ ]
3227
+ }
3228
+ ]
3229
+ },
3230
+ {
3231
+ "type": "stat-display",
3232
+ "label": "SatisfactionScore",
3233
+ "value": [
3234
+ "object/get",
3235
+ [
3236
+ "array/first",
3237
+ "@entity"
3238
+ ],
3239
+ "satisfactionScore"
3240
+ ]
3241
+ },
3242
+ {
3243
+ "type": "stat-display",
3244
+ "label": "ActiveAgents",
3245
+ "value": [
3246
+ "object/get",
3247
+ [
3248
+ "array/first",
3249
+ "@entity"
3250
+ ],
3251
+ "activeAgents"
3252
+ ]
3253
+ }
3254
+ ]
2312
3255
  }
2313
3256
  ]
2314
- }
2315
- ]
2316
- },
2317
- {
2318
- "type": "card",
2319
- "children": [
3257
+ },
2320
3258
  {
2321
- "type": "stack",
2322
- "direction": "vertical",
2323
- "gap": "sm",
3259
+ "type": "divider"
3260
+ },
3261
+ {
3262
+ "type": "grid",
3263
+ "columns": 2,
3264
+ "gap": "md",
2324
3265
  "children": [
2325
3266
  {
2326
- "type": "typography",
2327
- "variant": "caption",
2328
- "content": "SatisfactionScore"
3267
+ "type": "card",
3268
+ "children": [
3269
+ {
3270
+ "type": "typography",
3271
+ "variant": "caption",
3272
+ "content": "Chart View"
3273
+ }
3274
+ ]
2329
3275
  },
2330
3276
  {
2331
- "type": "typography",
2332
- "variant": "h3",
2333
- "content": "@entity.satisfactionScore"
3277
+ "type": "card",
3278
+ "children": [
3279
+ {
3280
+ "type": "typography",
3281
+ "variant": "caption",
3282
+ "content": "Graph View"
3283
+ }
3284
+ ]
2334
3285
  }
2335
3286
  ]
2336
- }
2337
- ]
2338
- },
2339
- {
2340
- "type": "card",
2341
- "children": [
3287
+ },
2342
3288
  {
2343
- "type": "stack",
2344
- "direction": "vertical",
2345
- "gap": "sm",
2346
- "children": [
3289
+ "type": "line-chart",
3290
+ "data": [
2347
3291
  {
2348
- "type": "typography",
2349
- "variant": "caption",
2350
- "content": "ActiveAgents"
3292
+ "date": "Jan",
3293
+ "value": 12
2351
3294
  },
2352
3295
  {
2353
- "type": "typography",
2354
- "variant": "h3",
2355
- "content": "@entity.activeAgents"
3296
+ "date": "Feb",
3297
+ "value": 19
3298
+ },
3299
+ {
3300
+ "date": "Mar",
3301
+ "value": 15
3302
+ },
3303
+ {
3304
+ "date": "Apr",
3305
+ "value": 25
3306
+ },
3307
+ {
3308
+ "date": "May",
3309
+ "value": 22
3310
+ },
3311
+ {
3312
+ "date": "Jun",
3313
+ "value": 30
3314
+ }
3315
+ ],
3316
+ "xKey": "date",
3317
+ "yKey": "value",
3318
+ "title": "Trend"
3319
+ },
3320
+ {
3321
+ "type": "chart-legend",
3322
+ "items": [
3323
+ {
3324
+ "label": "Current",
3325
+ "color": "primary"
3326
+ },
3327
+ {
3328
+ "label": "Previous",
3329
+ "color": "muted"
2356
3330
  }
2357
3331
  ]
3332
+ },
3333
+ {
3334
+ "type": "graph-view",
3335
+ "nodes": [
3336
+ {
3337
+ "id": "a",
3338
+ "label": "Start",
3339
+ "x": 50,
3340
+ "y": 100
3341
+ },
3342
+ {
3343
+ "id": "b",
3344
+ "label": "Process",
3345
+ "x": 200,
3346
+ "y": 50
3347
+ },
3348
+ {
3349
+ "id": "c",
3350
+ "label": "End",
3351
+ "x": 350,
3352
+ "y": 100
3353
+ }
3354
+ ],
3355
+ "edges": [
3356
+ {
3357
+ "from": "a",
3358
+ "to": "b"
3359
+ },
3360
+ {
3361
+ "from": "b",
3362
+ "to": "c"
3363
+ }
3364
+ ],
3365
+ "width": 400,
3366
+ "height": 200
2358
3367
  }
2359
3368
  ]
2360
3369
  }
@@ -2378,156 +3387,279 @@
2378
3387
  "render-ui",
2379
3388
  "main",
2380
3389
  {
2381
- "type": "stack",
2382
- "direction": "vertical",
2383
- "gap": "lg",
2384
- "children": [
3390
+ "type": "dashboard-layout",
3391
+ "appName": "Helpdesk",
3392
+ "navItems": [
2385
3393
  {
2386
- "type": "stack",
2387
- "direction": "horizontal",
2388
- "gap": "md",
2389
- "justify": "space-between",
2390
- "children": [
2391
- {
2392
- "type": "stack",
2393
- "direction": "horizontal",
2394
- "gap": "md",
2395
- "children": [
2396
- {
2397
- "type": "icon",
2398
- "name": "activity",
2399
- "size": "lg"
2400
- },
2401
- {
2402
- "type": "typography",
2403
- "content": "Support Metrics",
2404
- "variant": "h2"
2405
- }
2406
- ]
2407
- },
2408
- {
2409
- "type": "button",
2410
- "label": "Refresh",
2411
- "event": "REFRESH",
2412
- "variant": "secondary",
2413
- "icon": "refresh-cw"
2414
- }
2415
- ]
3394
+ "label": "Tickets",
3395
+ "href": "/tickets",
3396
+ "icon": "inbox"
2416
3397
  },
2417
3398
  {
2418
- "type": "divider"
3399
+ "label": "Responses",
3400
+ "href": "/responses",
3401
+ "icon": "message-circle"
2419
3402
  },
2420
3403
  {
2421
- "type": "simple-grid",
2422
- "columns": 3,
3404
+ "label": "Metrics",
3405
+ "href": "/metrics",
3406
+ "icon": "layout-list"
3407
+ }
3408
+ ],
3409
+ "children": [
3410
+ {
3411
+ "type": "scaled-diagram",
2423
3412
  "children": [
2424
3413
  {
2425
- "type": "card",
3414
+ "type": "stack",
3415
+ "direction": "vertical",
3416
+ "gap": "lg",
2426
3417
  "children": [
2427
3418
  {
2428
- "type": "stack",
2429
- "direction": "vertical",
2430
- "gap": "sm",
2431
- "children": [
3419
+ "type": "breadcrumb",
3420
+ "items": [
2432
3421
  {
2433
- "type": "typography",
2434
- "variant": "caption",
2435
- "content": "OpenTickets"
3422
+ "label": "Home",
3423
+ "href": "/"
2436
3424
  },
2437
3425
  {
2438
- "type": "typography",
2439
- "variant": "h3",
2440
- "content": "@entity.openTickets"
3426
+ "label": "Support Metrics"
2441
3427
  }
2442
3428
  ]
2443
- }
2444
- ]
2445
- },
2446
- {
2447
- "type": "card",
2448
- "children": [
3429
+ },
2449
3430
  {
2450
3431
  "type": "stack",
2451
- "direction": "vertical",
2452
- "gap": "sm",
3432
+ "direction": "horizontal",
3433
+ "gap": "md",
3434
+ "justify": "space-between",
2453
3435
  "children": [
2454
3436
  {
2455
- "type": "typography",
2456
- "variant": "caption",
2457
- "content": "ResolvedTickets"
3437
+ "type": "stack",
3438
+ "direction": "horizontal",
3439
+ "gap": "md",
3440
+ "children": [
3441
+ {
3442
+ "type": "icon",
3443
+ "name": "activity",
3444
+ "size": "lg"
3445
+ },
3446
+ {
3447
+ "type": "typography",
3448
+ "content": "Support Metrics",
3449
+ "variant": "h2"
3450
+ }
3451
+ ]
2458
3452
  },
2459
3453
  {
2460
- "type": "typography",
2461
- "variant": "h3",
2462
- "content": "@entity.resolvedTickets"
3454
+ "type": "button",
3455
+ "label": "Refresh",
3456
+ "event": "REFRESH",
3457
+ "variant": "secondary",
3458
+ "icon": "refresh-cw"
2463
3459
  }
2464
3460
  ]
2465
- }
2466
- ]
2467
- },
2468
- {
2469
- "type": "card",
2470
- "children": [
3461
+ },
2471
3462
  {
2472
- "type": "stack",
2473
- "direction": "vertical",
2474
- "gap": "sm",
3463
+ "type": "divider"
3464
+ },
3465
+ {
3466
+ "type": "box",
3467
+ "padding": "md",
2475
3468
  "children": [
2476
3469
  {
2477
- "type": "typography",
2478
- "variant": "caption",
2479
- "content": "AvgResponseTime"
2480
- },
2481
- {
2482
- "type": "typography",
2483
- "variant": "h3",
2484
- "content": "@entity.avgResponseTime"
3470
+ "type": "simple-grid",
3471
+ "columns": 3,
3472
+ "children": [
3473
+ {
3474
+ "type": "stat-display",
3475
+ "label": "OpenTickets",
3476
+ "value": [
3477
+ "object/get",
3478
+ [
3479
+ "array/first",
3480
+ "@entity"
3481
+ ],
3482
+ "openTickets"
3483
+ ]
3484
+ },
3485
+ {
3486
+ "type": "stat-display",
3487
+ "label": "ResolvedTickets",
3488
+ "value": [
3489
+ "object/get",
3490
+ [
3491
+ "array/first",
3492
+ "@entity"
3493
+ ],
3494
+ "resolvedTickets"
3495
+ ]
3496
+ },
3497
+ {
3498
+ "type": "card",
3499
+ "children": [
3500
+ {
3501
+ "type": "stack",
3502
+ "direction": "vertical",
3503
+ "gap": "sm",
3504
+ "children": [
3505
+ {
3506
+ "type": "typography",
3507
+ "variant": "caption",
3508
+ "content": "AvgResponseTime"
3509
+ },
3510
+ {
3511
+ "type": "typography",
3512
+ "variant": "h3",
3513
+ "content": [
3514
+ "object/get",
3515
+ [
3516
+ "array/first",
3517
+ "@entity"
3518
+ ],
3519
+ "avgResponseTime"
3520
+ ]
3521
+ }
3522
+ ]
3523
+ }
3524
+ ]
3525
+ },
3526
+ {
3527
+ "type": "stat-display",
3528
+ "label": "SatisfactionScore",
3529
+ "value": [
3530
+ "object/get",
3531
+ [
3532
+ "array/first",
3533
+ "@entity"
3534
+ ],
3535
+ "satisfactionScore"
3536
+ ]
3537
+ },
3538
+ {
3539
+ "type": "stat-display",
3540
+ "label": "ActiveAgents",
3541
+ "value": [
3542
+ "object/get",
3543
+ [
3544
+ "array/first",
3545
+ "@entity"
3546
+ ],
3547
+ "activeAgents"
3548
+ ]
3549
+ }
3550
+ ]
2485
3551
  }
2486
3552
  ]
2487
- }
2488
- ]
2489
- },
2490
- {
2491
- "type": "card",
2492
- "children": [
3553
+ },
2493
3554
  {
2494
- "type": "stack",
2495
- "direction": "vertical",
2496
- "gap": "sm",
3555
+ "type": "divider"
3556
+ },
3557
+ {
3558
+ "type": "grid",
3559
+ "columns": 2,
3560
+ "gap": "md",
2497
3561
  "children": [
2498
3562
  {
2499
- "type": "typography",
2500
- "variant": "caption",
2501
- "content": "SatisfactionScore"
3563
+ "type": "card",
3564
+ "children": [
3565
+ {
3566
+ "type": "typography",
3567
+ "variant": "caption",
3568
+ "content": "Chart View"
3569
+ }
3570
+ ]
2502
3571
  },
2503
3572
  {
2504
- "type": "typography",
2505
- "variant": "h3",
2506
- "content": "@entity.satisfactionScore"
3573
+ "type": "card",
3574
+ "children": [
3575
+ {
3576
+ "type": "typography",
3577
+ "variant": "caption",
3578
+ "content": "Graph View"
3579
+ }
3580
+ ]
2507
3581
  }
2508
3582
  ]
2509
- }
2510
- ]
2511
- },
2512
- {
2513
- "type": "card",
2514
- "children": [
3583
+ },
2515
3584
  {
2516
- "type": "stack",
2517
- "direction": "vertical",
2518
- "gap": "sm",
2519
- "children": [
3585
+ "type": "line-chart",
3586
+ "data": [
2520
3587
  {
2521
- "type": "typography",
2522
- "variant": "caption",
2523
- "content": "ActiveAgents"
3588
+ "date": "Jan",
3589
+ "value": 12
2524
3590
  },
2525
3591
  {
2526
- "type": "typography",
2527
- "variant": "h3",
2528
- "content": "@entity.activeAgents"
3592
+ "date": "Feb",
3593
+ "value": 19
3594
+ },
3595
+ {
3596
+ "date": "Mar",
3597
+ "value": 15
3598
+ },
3599
+ {
3600
+ "date": "Apr",
3601
+ "value": 25
3602
+ },
3603
+ {
3604
+ "date": "May",
3605
+ "value": 22
3606
+ },
3607
+ {
3608
+ "date": "Jun",
3609
+ "value": 30
3610
+ }
3611
+ ],
3612
+ "xKey": "date",
3613
+ "yKey": "value",
3614
+ "title": "Trend"
3615
+ },
3616
+ {
3617
+ "type": "chart-legend",
3618
+ "items": [
3619
+ {
3620
+ "label": "Current",
3621
+ "color": "primary"
3622
+ },
3623
+ {
3624
+ "label": "Previous",
3625
+ "color": "muted"
2529
3626
  }
2530
3627
  ]
3628
+ },
3629
+ {
3630
+ "type": "graph-view",
3631
+ "nodes": [
3632
+ {
3633
+ "id": "a",
3634
+ "label": "Start",
3635
+ "x": 50,
3636
+ "y": 100
3637
+ },
3638
+ {
3639
+ "id": "b",
3640
+ "label": "Process",
3641
+ "x": 200,
3642
+ "y": 50
3643
+ },
3644
+ {
3645
+ "id": "c",
3646
+ "label": "End",
3647
+ "x": 350,
3648
+ "y": 100
3649
+ }
3650
+ ],
3651
+ "edges": [
3652
+ {
3653
+ "from": "a",
3654
+ "to": "b"
3655
+ },
3656
+ {
3657
+ "from": "b",
3658
+ "to": "c"
3659
+ }
3660
+ ],
3661
+ "width": 400,
3662
+ "height": 200
2531
3663
  }
2532
3664
  ]
2533
3665
  }