@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
@@ -36,7 +36,13 @@
36
36
  {
37
37
  "name": "status",
38
38
  "type": "string",
39
- "default": "lead"
39
+ "default": "lead",
40
+ "values": [
41
+ "lead",
42
+ "prospect",
43
+ "customer",
44
+ "inactive"
45
+ ]
40
46
  }
41
47
  ]
42
48
  },
@@ -156,118 +162,150 @@
156
162
  "render-ui",
157
163
  "main",
158
164
  {
159
- "type": "stack",
160
- "direction": "vertical",
161
- "gap": "lg",
165
+ "type": "dashboard-layout",
166
+ "appName": "CRM",
167
+ "navItems": [
168
+ {
169
+ "label": "Contacts",
170
+ "href": "/contacts",
171
+ "icon": "users"
172
+ },
173
+ {
174
+ "label": "Deals",
175
+ "href": "/deals",
176
+ "icon": "briefcase"
177
+ },
178
+ {
179
+ "label": "Pipeline",
180
+ "href": "/pipeline",
181
+ "icon": "bar-chart-2"
182
+ },
183
+ {
184
+ "label": "Notes",
185
+ "href": "/notes",
186
+ "icon": "file-text"
187
+ }
188
+ ],
162
189
  "children": [
163
190
  {
164
191
  "type": "stack",
165
- "direction": "horizontal",
166
- "gap": "md",
167
- "justify": "space-between",
192
+ "direction": "vertical",
193
+ "gap": "lg",
194
+ "className": "max-w-5xl mx-auto w-full",
168
195
  "children": [
169
196
  {
170
197
  "type": "stack",
171
198
  "direction": "horizontal",
172
- "gap": "sm",
199
+ "gap": "md",
200
+ "justify": "space-between",
173
201
  "align": "center",
174
202
  "children": [
175
203
  {
176
- "type": "icon",
177
- "name": "users",
178
- "size": "lg"
204
+ "type": "stack",
205
+ "direction": "horizontal",
206
+ "gap": "sm",
207
+ "align": "center",
208
+ "children": [
209
+ {
210
+ "type": "icon",
211
+ "name": "users",
212
+ "size": "lg"
213
+ },
214
+ {
215
+ "type": "typography",
216
+ "content": "Contacts",
217
+ "variant": "h2"
218
+ }
219
+ ]
179
220
  },
180
221
  {
181
- "type": "typography",
182
- "content": "Contacts",
183
- "variant": "h2"
222
+ "type": "stack",
223
+ "direction": "horizontal",
224
+ "gap": "sm",
225
+ "children": [
226
+ {
227
+ "type": "button",
228
+ "label": "Add Contact",
229
+ "event": "CREATE",
230
+ "variant": "primary",
231
+ "icon": "plus"
232
+ }
233
+ ]
184
234
  }
185
235
  ]
186
236
  },
187
237
  {
188
- "type": "stack",
189
- "direction": "horizontal",
190
- "gap": "sm",
238
+ "type": "divider"
239
+ },
240
+ {
241
+ "type": "simple-grid",
242
+ "columns": 1,
191
243
  "children": [
192
244
  {
193
- "type": "button",
194
- "label": "Add Contact",
195
- "event": "CREATE",
196
- "variant": "primary",
197
- "icon": "plus"
245
+ "type": "stat-display",
246
+ "label": "Total Contacts",
247
+ "value": [
248
+ "array/len",
249
+ "@entity"
250
+ ],
251
+ "icon": "users"
198
252
  }
199
253
  ]
200
- }
201
- ]
202
- },
203
- {
204
- "type": "divider"
205
- },
206
- {
207
- "type": "data-grid",
208
- "entity": "Contact",
209
- "emptyIcon": "inbox",
210
- "emptyTitle": "No contacts yet",
211
- "emptyDescription": "Create your first contact to get started.",
212
- "itemActions": [
213
- {
214
- "label": "View",
215
- "event": "VIEW"
216
254
  },
217
255
  {
218
- "label": "Edit",
219
- "event": "EDIT"
256
+ "type": "divider"
220
257
  },
221
258
  {
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": [
259
+ "type": "data-list",
260
+ "entity": "Contact",
261
+ "emptyIcon": "inbox",
262
+ "emptyTitle": "No contacts yet",
263
+ "emptyDescription": "Add your first contact to start building your CRM.",
264
+ "itemActions": [
234
265
  {
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": "users",
249
- "size": "sm"
250
- },
251
- {
252
- "type": "typography",
253
- "variant": "h4",
254
- "content": "@entity.name"
255
- }
256
- ]
257
- },
258
- {
259
- "type": "badge",
260
- "label": "@entity.company"
261
- }
262
- ]
266
+ "label": "View",
267
+ "event": "VIEW",
268
+ "variant": "ghost",
269
+ "size": "sm"
263
270
  },
264
271
  {
265
- "type": "typography",
266
- "variant": "caption",
267
- "color": "muted",
268
- "content": "@entity.email"
272
+ "label": "Edit",
273
+ "event": "EDIT",
274
+ "variant": "ghost",
275
+ "size": "sm"
276
+ },
277
+ {
278
+ "label": "Delete",
279
+ "event": "DELETE",
280
+ "variant": "danger",
281
+ "size": "sm"
269
282
  }
270
- ]
283
+ ],
284
+ "columns": [
285
+ {
286
+ "name": "name",
287
+ "variant": "h3",
288
+ "icon": "user"
289
+ },
290
+ {
291
+ "name": "status",
292
+ "variant": "badge"
293
+ },
294
+ {
295
+ "name": "company",
296
+ "variant": "body"
297
+ },
298
+ {
299
+ "name": "email",
300
+ "variant": "caption"
301
+ },
302
+ {
303
+ "name": "phone",
304
+ "variant": "caption"
305
+ }
306
+ ],
307
+ "variant": "card",
308
+ "gap": "sm"
271
309
  }
272
310
  ]
273
311
  }
@@ -387,6 +425,160 @@
387
425
  "fetch",
388
426
  "Contact"
389
427
  ],
428
+ [
429
+ "render-ui",
430
+ "main",
431
+ {
432
+ "type": "dashboard-layout",
433
+ "appName": "CRM",
434
+ "navItems": [
435
+ {
436
+ "label": "Contacts",
437
+ "href": "/contacts",
438
+ "icon": "users"
439
+ },
440
+ {
441
+ "label": "Deals",
442
+ "href": "/deals",
443
+ "icon": "briefcase"
444
+ },
445
+ {
446
+ "label": "Pipeline",
447
+ "href": "/pipeline",
448
+ "icon": "bar-chart-2"
449
+ },
450
+ {
451
+ "label": "Notes",
452
+ "href": "/notes",
453
+ "icon": "file-text"
454
+ }
455
+ ],
456
+ "children": [
457
+ {
458
+ "type": "stack",
459
+ "direction": "vertical",
460
+ "gap": "lg",
461
+ "className": "max-w-5xl mx-auto w-full",
462
+ "children": [
463
+ {
464
+ "type": "stack",
465
+ "direction": "horizontal",
466
+ "gap": "md",
467
+ "justify": "space-between",
468
+ "align": "center",
469
+ "children": [
470
+ {
471
+ "type": "stack",
472
+ "direction": "horizontal",
473
+ "gap": "sm",
474
+ "align": "center",
475
+ "children": [
476
+ {
477
+ "type": "icon",
478
+ "name": "users",
479
+ "size": "lg"
480
+ },
481
+ {
482
+ "type": "typography",
483
+ "content": "Contacts",
484
+ "variant": "h2"
485
+ }
486
+ ]
487
+ },
488
+ {
489
+ "type": "stack",
490
+ "direction": "horizontal",
491
+ "gap": "sm",
492
+ "children": [
493
+ {
494
+ "type": "button",
495
+ "label": "Add Contact",
496
+ "event": "CREATE",
497
+ "variant": "primary",
498
+ "icon": "plus"
499
+ }
500
+ ]
501
+ }
502
+ ]
503
+ },
504
+ {
505
+ "type": "divider"
506
+ },
507
+ {
508
+ "type": "simple-grid",
509
+ "columns": 1,
510
+ "children": [
511
+ {
512
+ "type": "stat-display",
513
+ "label": "Total Contacts",
514
+ "value": [
515
+ "array/len",
516
+ "@entity"
517
+ ],
518
+ "icon": "users"
519
+ }
520
+ ]
521
+ },
522
+ {
523
+ "type": "divider"
524
+ },
525
+ {
526
+ "type": "data-list",
527
+ "entity": "Contact",
528
+ "emptyIcon": "inbox",
529
+ "emptyTitle": "No contacts yet",
530
+ "emptyDescription": "Add your first contact to start building your CRM.",
531
+ "itemActions": [
532
+ {
533
+ "label": "View",
534
+ "event": "VIEW",
535
+ "variant": "ghost",
536
+ "size": "sm"
537
+ },
538
+ {
539
+ "label": "Edit",
540
+ "event": "EDIT",
541
+ "variant": "ghost",
542
+ "size": "sm"
543
+ },
544
+ {
545
+ "label": "Delete",
546
+ "event": "DELETE",
547
+ "variant": "danger",
548
+ "size": "sm"
549
+ }
550
+ ],
551
+ "columns": [
552
+ {
553
+ "name": "name",
554
+ "variant": "h3",
555
+ "icon": "user"
556
+ },
557
+ {
558
+ "name": "status",
559
+ "variant": "badge"
560
+ },
561
+ {
562
+ "name": "company",
563
+ "variant": "body"
564
+ },
565
+ {
566
+ "name": "email",
567
+ "variant": "caption"
568
+ },
569
+ {
570
+ "name": "phone",
571
+ "variant": "caption"
572
+ }
573
+ ],
574
+ "variant": "card",
575
+ "gap": "sm"
576
+ }
577
+ ]
578
+ }
579
+ ]
580
+ }
581
+ ],
390
582
  [
391
583
  "notify",
392
584
  "Contact deleted successfully"
@@ -402,6 +594,164 @@
402
594
  "render-ui",
403
595
  "modal",
404
596
  null
597
+ ],
598
+ [
599
+ "fetch",
600
+ "Contact"
601
+ ],
602
+ [
603
+ "render-ui",
604
+ "main",
605
+ {
606
+ "type": "dashboard-layout",
607
+ "appName": "CRM",
608
+ "navItems": [
609
+ {
610
+ "label": "Contacts",
611
+ "href": "/contacts",
612
+ "icon": "users"
613
+ },
614
+ {
615
+ "label": "Deals",
616
+ "href": "/deals",
617
+ "icon": "briefcase"
618
+ },
619
+ {
620
+ "label": "Pipeline",
621
+ "href": "/pipeline",
622
+ "icon": "bar-chart-2"
623
+ },
624
+ {
625
+ "label": "Notes",
626
+ "href": "/notes",
627
+ "icon": "file-text"
628
+ }
629
+ ],
630
+ "children": [
631
+ {
632
+ "type": "stack",
633
+ "direction": "vertical",
634
+ "gap": "lg",
635
+ "className": "max-w-5xl mx-auto w-full",
636
+ "children": [
637
+ {
638
+ "type": "stack",
639
+ "direction": "horizontal",
640
+ "gap": "md",
641
+ "justify": "space-between",
642
+ "align": "center",
643
+ "children": [
644
+ {
645
+ "type": "stack",
646
+ "direction": "horizontal",
647
+ "gap": "sm",
648
+ "align": "center",
649
+ "children": [
650
+ {
651
+ "type": "icon",
652
+ "name": "users",
653
+ "size": "lg"
654
+ },
655
+ {
656
+ "type": "typography",
657
+ "content": "Contacts",
658
+ "variant": "h2"
659
+ }
660
+ ]
661
+ },
662
+ {
663
+ "type": "stack",
664
+ "direction": "horizontal",
665
+ "gap": "sm",
666
+ "children": [
667
+ {
668
+ "type": "button",
669
+ "label": "Add Contact",
670
+ "event": "CREATE",
671
+ "variant": "primary",
672
+ "icon": "plus"
673
+ }
674
+ ]
675
+ }
676
+ ]
677
+ },
678
+ {
679
+ "type": "divider"
680
+ },
681
+ {
682
+ "type": "simple-grid",
683
+ "columns": 1,
684
+ "children": [
685
+ {
686
+ "type": "stat-display",
687
+ "label": "Total Contacts",
688
+ "value": [
689
+ "array/len",
690
+ "@entity"
691
+ ],
692
+ "icon": "users"
693
+ }
694
+ ]
695
+ },
696
+ {
697
+ "type": "divider"
698
+ },
699
+ {
700
+ "type": "data-list",
701
+ "entity": "Contact",
702
+ "emptyIcon": "inbox",
703
+ "emptyTitle": "No contacts yet",
704
+ "emptyDescription": "Add your first contact to start building your CRM.",
705
+ "itemActions": [
706
+ {
707
+ "label": "View",
708
+ "event": "VIEW",
709
+ "variant": "ghost",
710
+ "size": "sm"
711
+ },
712
+ {
713
+ "label": "Edit",
714
+ "event": "EDIT",
715
+ "variant": "ghost",
716
+ "size": "sm"
717
+ },
718
+ {
719
+ "label": "Delete",
720
+ "event": "DELETE",
721
+ "variant": "danger",
722
+ "size": "sm"
723
+ }
724
+ ],
725
+ "columns": [
726
+ {
727
+ "name": "name",
728
+ "variant": "h3",
729
+ "icon": "user"
730
+ },
731
+ {
732
+ "name": "status",
733
+ "variant": "badge"
734
+ },
735
+ {
736
+ "name": "company",
737
+ "variant": "body"
738
+ },
739
+ {
740
+ "name": "email",
741
+ "variant": "caption"
742
+ },
743
+ {
744
+ "name": "phone",
745
+ "variant": "caption"
746
+ }
747
+ ],
748
+ "variant": "card",
749
+ "gap": "sm"
750
+ }
751
+ ]
752
+ }
753
+ ]
754
+ }
405
755
  ]
406
756
  ]
407
757
  },
@@ -414,12 +764,170 @@
414
764
  "render-ui",
415
765
  "modal",
416
766
  null
417
- ]
418
- ]
419
- }
420
- ]
421
- },
422
- "emits": [
767
+ ],
768
+ [
769
+ "fetch",
770
+ "Contact"
771
+ ],
772
+ [
773
+ "render-ui",
774
+ "main",
775
+ {
776
+ "type": "dashboard-layout",
777
+ "appName": "CRM",
778
+ "navItems": [
779
+ {
780
+ "label": "Contacts",
781
+ "href": "/contacts",
782
+ "icon": "users"
783
+ },
784
+ {
785
+ "label": "Deals",
786
+ "href": "/deals",
787
+ "icon": "briefcase"
788
+ },
789
+ {
790
+ "label": "Pipeline",
791
+ "href": "/pipeline",
792
+ "icon": "bar-chart-2"
793
+ },
794
+ {
795
+ "label": "Notes",
796
+ "href": "/notes",
797
+ "icon": "file-text"
798
+ }
799
+ ],
800
+ "children": [
801
+ {
802
+ "type": "stack",
803
+ "direction": "vertical",
804
+ "gap": "lg",
805
+ "className": "max-w-5xl mx-auto w-full",
806
+ "children": [
807
+ {
808
+ "type": "stack",
809
+ "direction": "horizontal",
810
+ "gap": "md",
811
+ "justify": "space-between",
812
+ "align": "center",
813
+ "children": [
814
+ {
815
+ "type": "stack",
816
+ "direction": "horizontal",
817
+ "gap": "sm",
818
+ "align": "center",
819
+ "children": [
820
+ {
821
+ "type": "icon",
822
+ "name": "users",
823
+ "size": "lg"
824
+ },
825
+ {
826
+ "type": "typography",
827
+ "content": "Contacts",
828
+ "variant": "h2"
829
+ }
830
+ ]
831
+ },
832
+ {
833
+ "type": "stack",
834
+ "direction": "horizontal",
835
+ "gap": "sm",
836
+ "children": [
837
+ {
838
+ "type": "button",
839
+ "label": "Add Contact",
840
+ "event": "CREATE",
841
+ "variant": "primary",
842
+ "icon": "plus"
843
+ }
844
+ ]
845
+ }
846
+ ]
847
+ },
848
+ {
849
+ "type": "divider"
850
+ },
851
+ {
852
+ "type": "simple-grid",
853
+ "columns": 1,
854
+ "children": [
855
+ {
856
+ "type": "stat-display",
857
+ "label": "Total Contacts",
858
+ "value": [
859
+ "array/len",
860
+ "@entity"
861
+ ],
862
+ "icon": "users"
863
+ }
864
+ ]
865
+ },
866
+ {
867
+ "type": "divider"
868
+ },
869
+ {
870
+ "type": "data-list",
871
+ "entity": "Contact",
872
+ "emptyIcon": "inbox",
873
+ "emptyTitle": "No contacts yet",
874
+ "emptyDescription": "Add your first contact to start building your CRM.",
875
+ "itemActions": [
876
+ {
877
+ "label": "View",
878
+ "event": "VIEW",
879
+ "variant": "ghost",
880
+ "size": "sm"
881
+ },
882
+ {
883
+ "label": "Edit",
884
+ "event": "EDIT",
885
+ "variant": "ghost",
886
+ "size": "sm"
887
+ },
888
+ {
889
+ "label": "Delete",
890
+ "event": "DELETE",
891
+ "variant": "danger",
892
+ "size": "sm"
893
+ }
894
+ ],
895
+ "columns": [
896
+ {
897
+ "name": "name",
898
+ "variant": "h3",
899
+ "icon": "user"
900
+ },
901
+ {
902
+ "name": "status",
903
+ "variant": "badge"
904
+ },
905
+ {
906
+ "name": "company",
907
+ "variant": "body"
908
+ },
909
+ {
910
+ "name": "email",
911
+ "variant": "caption"
912
+ },
913
+ {
914
+ "name": "phone",
915
+ "variant": "caption"
916
+ }
917
+ ],
918
+ "variant": "card",
919
+ "gap": "sm"
920
+ }
921
+ ]
922
+ }
923
+ ]
924
+ }
925
+ ]
926
+ ]
927
+ }
928
+ ]
929
+ },
930
+ "emits": [
423
931
  {
424
932
  "event": "CONVERT_LEAD",
425
933
  "description": "Convert contact lead to a deal",
@@ -555,6 +1063,11 @@
555
1063
  "render-ui",
556
1064
  "modal",
557
1065
  null
1066
+ ],
1067
+ [
1068
+ "notify",
1069
+ "Cancelled",
1070
+ "info"
558
1071
  ]
559
1072
  ]
560
1073
  },
@@ -721,6 +1234,11 @@
721
1234
  "render-ui",
722
1235
  "modal",
723
1236
  null
1237
+ ],
1238
+ [
1239
+ "notify",
1240
+ "Cancelled",
1241
+ "info"
724
1242
  ]
725
1243
  ]
726
1244
  },
@@ -966,6 +1484,11 @@
966
1484
  "render-ui",
967
1485
  "modal",
968
1486
  null
1487
+ ],
1488
+ [
1489
+ "notify",
1490
+ "Cancelled",
1491
+ "info"
969
1492
  ]
970
1493
  ]
971
1494
  }
@@ -1024,11 +1547,19 @@
1024
1547
  {
1025
1548
  "name": "stage",
1026
1549
  "type": "string",
1027
- "default": "prospecting"
1550
+ "default": "prospecting",
1551
+ "values": [
1552
+ "prospecting",
1553
+ "qualification",
1554
+ "proposal",
1555
+ "negotiation",
1556
+ "closed-won",
1557
+ "closed-lost"
1558
+ ]
1028
1559
  },
1029
1560
  {
1030
1561
  "name": "closedAt",
1031
- "type": "string",
1562
+ "type": "date",
1032
1563
  "default": ""
1033
1564
  }
1034
1565
  ]
@@ -1154,118 +1685,130 @@
1154
1685
  "render-ui",
1155
1686
  "main",
1156
1687
  {
1157
- "type": "stack",
1158
- "direction": "vertical",
1159
- "gap": "lg",
1160
- "children": [
1688
+ "type": "dashboard-layout",
1689
+ "appName": "CRM",
1690
+ "navItems": [
1161
1691
  {
1162
- "type": "stack",
1163
- "direction": "horizontal",
1164
- "gap": "md",
1165
- "justify": "space-between",
1166
- "children": [
1167
- {
1168
- "type": "stack",
1169
- "direction": "horizontal",
1170
- "gap": "sm",
1171
- "align": "center",
1172
- "children": [
1173
- {
1174
- "type": "icon",
1175
- "name": "briefcase",
1176
- "size": "lg"
1177
- },
1178
- {
1179
- "type": "typography",
1180
- "content": "Deals",
1181
- "variant": "h2"
1182
- }
1183
- ]
1184
- },
1185
- {
1186
- "type": "stack",
1187
- "direction": "horizontal",
1188
- "gap": "sm",
1189
- "children": [
1190
- {
1191
- "type": "button",
1192
- "label": "New Deal",
1193
- "event": "CREATE",
1194
- "variant": "primary",
1195
- "icon": "plus"
1196
- }
1197
- ]
1198
- }
1199
- ]
1692
+ "label": "Contacts",
1693
+ "href": "/contacts",
1694
+ "icon": "users"
1200
1695
  },
1201
1696
  {
1202
- "type": "divider"
1697
+ "label": "Deals",
1698
+ "href": "/deals",
1699
+ "icon": "briefcase"
1203
1700
  },
1204
1701
  {
1205
- "type": "data-grid",
1206
- "entity": "Deal",
1207
- "emptyIcon": "inbox",
1208
- "emptyTitle": "No deals yet",
1209
- "emptyDescription": "Create your first deal to get started.",
1210
- "itemActions": [
1211
- {
1212
- "label": "View",
1213
- "event": "VIEW"
1214
- },
1215
- {
1216
- "label": "Edit",
1217
- "event": "EDIT"
1218
- },
1219
- {
1220
- "label": "Delete",
1221
- "event": "DELETE",
1222
- "variant": "danger"
1223
- }
1224
- ],
1225
- "className": "transition-shadow hover:shadow-md cursor-pointer",
1702
+ "label": "Pipeline",
1703
+ "href": "/pipeline",
1704
+ "icon": "bar-chart-2"
1705
+ },
1706
+ {
1707
+ "label": "Notes",
1708
+ "href": "/notes",
1709
+ "icon": "file-text"
1710
+ }
1711
+ ],
1712
+ "children": [
1713
+ {
1714
+ "type": "stack",
1715
+ "direction": "vertical",
1716
+ "gap": "lg",
1717
+ "className": "max-w-5xl mx-auto w-full",
1226
1718
  "children": [
1227
1719
  {
1228
1720
  "type": "stack",
1229
- "direction": "vertical",
1230
- "gap": "sm",
1721
+ "direction": "horizontal",
1722
+ "gap": "md",
1723
+ "justify": "space-between",
1724
+ "align": "center",
1231
1725
  "children": [
1232
1726
  {
1233
1727
  "type": "stack",
1234
1728
  "direction": "horizontal",
1235
- "justify": "space-between",
1729
+ "gap": "sm",
1236
1730
  "align": "center",
1237
1731
  "children": [
1238
1732
  {
1239
- "type": "stack",
1240
- "direction": "horizontal",
1241
- "gap": "sm",
1242
- "align": "center",
1243
- "children": [
1244
- {
1245
- "type": "icon",
1246
- "name": "briefcase",
1247
- "size": "sm"
1248
- },
1249
- {
1250
- "type": "typography",
1251
- "variant": "h4",
1252
- "content": "@entity.title"
1253
- }
1254
- ]
1733
+ "type": "icon",
1734
+ "name": "briefcase",
1735
+ "size": "lg"
1255
1736
  },
1256
1737
  {
1257
- "type": "badge",
1258
- "label": "@entity.contactId"
1738
+ "type": "typography",
1739
+ "content": "Deals",
1740
+ "variant": "h2"
1259
1741
  }
1260
1742
  ]
1261
1743
  },
1262
1744
  {
1263
- "type": "typography",
1264
- "variant": "caption",
1265
- "color": "muted",
1266
- "content": "@entity.value"
1745
+ "type": "stack",
1746
+ "direction": "horizontal",
1747
+ "gap": "sm",
1748
+ "children": [
1749
+ {
1750
+ "type": "button",
1751
+ "label": "New Deal",
1752
+ "event": "CREATE",
1753
+ "variant": "primary",
1754
+ "icon": "plus"
1755
+ }
1756
+ ]
1267
1757
  }
1268
1758
  ]
1759
+ },
1760
+ {
1761
+ "type": "divider"
1762
+ },
1763
+ {
1764
+ "type": "data-grid",
1765
+ "entity": "Deal",
1766
+ "emptyIcon": "inbox",
1767
+ "emptyTitle": "No deals yet",
1768
+ "emptyDescription": "Create a deal to track your sales pipeline.",
1769
+ "itemActions": [
1770
+ {
1771
+ "label": "View",
1772
+ "event": "VIEW",
1773
+ "variant": "ghost",
1774
+ "size": "sm"
1775
+ },
1776
+ {
1777
+ "label": "Edit",
1778
+ "event": "EDIT",
1779
+ "variant": "ghost",
1780
+ "size": "sm"
1781
+ },
1782
+ {
1783
+ "label": "Delete",
1784
+ "event": "DELETE",
1785
+ "variant": "danger",
1786
+ "size": "sm"
1787
+ }
1788
+ ],
1789
+ "columns": [
1790
+ {
1791
+ "name": "title",
1792
+ "variant": "h3",
1793
+ "icon": "briefcase"
1794
+ },
1795
+ {
1796
+ "name": "stage",
1797
+ "variant": "badge"
1798
+ },
1799
+ {
1800
+ "name": "value",
1801
+ "variant": "h4",
1802
+ "format": "currency"
1803
+ },
1804
+ {
1805
+ "name": "contactId",
1806
+ "label": "Contact",
1807
+ "variant": "caption"
1808
+ }
1809
+ ],
1810
+ "cols": 2,
1811
+ "gap": "md"
1269
1812
  }
1270
1813
  ]
1271
1814
  }
@@ -1385,6 +1928,140 @@
1385
1928
  "fetch",
1386
1929
  "Deal"
1387
1930
  ],
1931
+ [
1932
+ "render-ui",
1933
+ "main",
1934
+ {
1935
+ "type": "dashboard-layout",
1936
+ "appName": "CRM",
1937
+ "navItems": [
1938
+ {
1939
+ "label": "Contacts",
1940
+ "href": "/contacts",
1941
+ "icon": "users"
1942
+ },
1943
+ {
1944
+ "label": "Deals",
1945
+ "href": "/deals",
1946
+ "icon": "briefcase"
1947
+ },
1948
+ {
1949
+ "label": "Pipeline",
1950
+ "href": "/pipeline",
1951
+ "icon": "bar-chart-2"
1952
+ },
1953
+ {
1954
+ "label": "Notes",
1955
+ "href": "/notes",
1956
+ "icon": "file-text"
1957
+ }
1958
+ ],
1959
+ "children": [
1960
+ {
1961
+ "type": "stack",
1962
+ "direction": "vertical",
1963
+ "gap": "lg",
1964
+ "className": "max-w-5xl mx-auto w-full",
1965
+ "children": [
1966
+ {
1967
+ "type": "stack",
1968
+ "direction": "horizontal",
1969
+ "gap": "md",
1970
+ "justify": "space-between",
1971
+ "align": "center",
1972
+ "children": [
1973
+ {
1974
+ "type": "stack",
1975
+ "direction": "horizontal",
1976
+ "gap": "sm",
1977
+ "align": "center",
1978
+ "children": [
1979
+ {
1980
+ "type": "icon",
1981
+ "name": "briefcase",
1982
+ "size": "lg"
1983
+ },
1984
+ {
1985
+ "type": "typography",
1986
+ "content": "Deals",
1987
+ "variant": "h2"
1988
+ }
1989
+ ]
1990
+ },
1991
+ {
1992
+ "type": "stack",
1993
+ "direction": "horizontal",
1994
+ "gap": "sm",
1995
+ "children": [
1996
+ {
1997
+ "type": "button",
1998
+ "label": "New Deal",
1999
+ "event": "CREATE",
2000
+ "variant": "primary",
2001
+ "icon": "plus"
2002
+ }
2003
+ ]
2004
+ }
2005
+ ]
2006
+ },
2007
+ {
2008
+ "type": "divider"
2009
+ },
2010
+ {
2011
+ "type": "data-grid",
2012
+ "entity": "Deal",
2013
+ "emptyIcon": "inbox",
2014
+ "emptyTitle": "No deals yet",
2015
+ "emptyDescription": "Create a deal to track your sales pipeline.",
2016
+ "itemActions": [
2017
+ {
2018
+ "label": "View",
2019
+ "event": "VIEW",
2020
+ "variant": "ghost",
2021
+ "size": "sm"
2022
+ },
2023
+ {
2024
+ "label": "Edit",
2025
+ "event": "EDIT",
2026
+ "variant": "ghost",
2027
+ "size": "sm"
2028
+ },
2029
+ {
2030
+ "label": "Delete",
2031
+ "event": "DELETE",
2032
+ "variant": "danger",
2033
+ "size": "sm"
2034
+ }
2035
+ ],
2036
+ "columns": [
2037
+ {
2038
+ "name": "title",
2039
+ "variant": "h3",
2040
+ "icon": "briefcase"
2041
+ },
2042
+ {
2043
+ "name": "stage",
2044
+ "variant": "badge"
2045
+ },
2046
+ {
2047
+ "name": "value",
2048
+ "variant": "h4",
2049
+ "format": "currency"
2050
+ },
2051
+ {
2052
+ "name": "contactId",
2053
+ "label": "Contact",
2054
+ "variant": "caption"
2055
+ }
2056
+ ],
2057
+ "cols": 2,
2058
+ "gap": "md"
2059
+ }
2060
+ ]
2061
+ }
2062
+ ]
2063
+ }
2064
+ ],
1388
2065
  [
1389
2066
  "notify",
1390
2067
  "Deal deleted successfully"
@@ -1400,6 +2077,144 @@
1400
2077
  "render-ui",
1401
2078
  "modal",
1402
2079
  null
2080
+ ],
2081
+ [
2082
+ "fetch",
2083
+ "Deal"
2084
+ ],
2085
+ [
2086
+ "render-ui",
2087
+ "main",
2088
+ {
2089
+ "type": "dashboard-layout",
2090
+ "appName": "CRM",
2091
+ "navItems": [
2092
+ {
2093
+ "label": "Contacts",
2094
+ "href": "/contacts",
2095
+ "icon": "users"
2096
+ },
2097
+ {
2098
+ "label": "Deals",
2099
+ "href": "/deals",
2100
+ "icon": "briefcase"
2101
+ },
2102
+ {
2103
+ "label": "Pipeline",
2104
+ "href": "/pipeline",
2105
+ "icon": "bar-chart-2"
2106
+ },
2107
+ {
2108
+ "label": "Notes",
2109
+ "href": "/notes",
2110
+ "icon": "file-text"
2111
+ }
2112
+ ],
2113
+ "children": [
2114
+ {
2115
+ "type": "stack",
2116
+ "direction": "vertical",
2117
+ "gap": "lg",
2118
+ "className": "max-w-5xl mx-auto w-full",
2119
+ "children": [
2120
+ {
2121
+ "type": "stack",
2122
+ "direction": "horizontal",
2123
+ "gap": "md",
2124
+ "justify": "space-between",
2125
+ "align": "center",
2126
+ "children": [
2127
+ {
2128
+ "type": "stack",
2129
+ "direction": "horizontal",
2130
+ "gap": "sm",
2131
+ "align": "center",
2132
+ "children": [
2133
+ {
2134
+ "type": "icon",
2135
+ "name": "briefcase",
2136
+ "size": "lg"
2137
+ },
2138
+ {
2139
+ "type": "typography",
2140
+ "content": "Deals",
2141
+ "variant": "h2"
2142
+ }
2143
+ ]
2144
+ },
2145
+ {
2146
+ "type": "stack",
2147
+ "direction": "horizontal",
2148
+ "gap": "sm",
2149
+ "children": [
2150
+ {
2151
+ "type": "button",
2152
+ "label": "New Deal",
2153
+ "event": "CREATE",
2154
+ "variant": "primary",
2155
+ "icon": "plus"
2156
+ }
2157
+ ]
2158
+ }
2159
+ ]
2160
+ },
2161
+ {
2162
+ "type": "divider"
2163
+ },
2164
+ {
2165
+ "type": "data-grid",
2166
+ "entity": "Deal",
2167
+ "emptyIcon": "inbox",
2168
+ "emptyTitle": "No deals yet",
2169
+ "emptyDescription": "Create a deal to track your sales pipeline.",
2170
+ "itemActions": [
2171
+ {
2172
+ "label": "View",
2173
+ "event": "VIEW",
2174
+ "variant": "ghost",
2175
+ "size": "sm"
2176
+ },
2177
+ {
2178
+ "label": "Edit",
2179
+ "event": "EDIT",
2180
+ "variant": "ghost",
2181
+ "size": "sm"
2182
+ },
2183
+ {
2184
+ "label": "Delete",
2185
+ "event": "DELETE",
2186
+ "variant": "danger",
2187
+ "size": "sm"
2188
+ }
2189
+ ],
2190
+ "columns": [
2191
+ {
2192
+ "name": "title",
2193
+ "variant": "h3",
2194
+ "icon": "briefcase"
2195
+ },
2196
+ {
2197
+ "name": "stage",
2198
+ "variant": "badge"
2199
+ },
2200
+ {
2201
+ "name": "value",
2202
+ "variant": "h4",
2203
+ "format": "currency"
2204
+ },
2205
+ {
2206
+ "name": "contactId",
2207
+ "label": "Contact",
2208
+ "variant": "caption"
2209
+ }
2210
+ ],
2211
+ "cols": 2,
2212
+ "gap": "md"
2213
+ }
2214
+ ]
2215
+ }
2216
+ ]
2217
+ }
1403
2218
  ]
1404
2219
  ]
1405
2220
  },
@@ -1412,6 +2227,144 @@
1412
2227
  "render-ui",
1413
2228
  "modal",
1414
2229
  null
2230
+ ],
2231
+ [
2232
+ "fetch",
2233
+ "Deal"
2234
+ ],
2235
+ [
2236
+ "render-ui",
2237
+ "main",
2238
+ {
2239
+ "type": "dashboard-layout",
2240
+ "appName": "CRM",
2241
+ "navItems": [
2242
+ {
2243
+ "label": "Contacts",
2244
+ "href": "/contacts",
2245
+ "icon": "users"
2246
+ },
2247
+ {
2248
+ "label": "Deals",
2249
+ "href": "/deals",
2250
+ "icon": "briefcase"
2251
+ },
2252
+ {
2253
+ "label": "Pipeline",
2254
+ "href": "/pipeline",
2255
+ "icon": "bar-chart-2"
2256
+ },
2257
+ {
2258
+ "label": "Notes",
2259
+ "href": "/notes",
2260
+ "icon": "file-text"
2261
+ }
2262
+ ],
2263
+ "children": [
2264
+ {
2265
+ "type": "stack",
2266
+ "direction": "vertical",
2267
+ "gap": "lg",
2268
+ "className": "max-w-5xl mx-auto w-full",
2269
+ "children": [
2270
+ {
2271
+ "type": "stack",
2272
+ "direction": "horizontal",
2273
+ "gap": "md",
2274
+ "justify": "space-between",
2275
+ "align": "center",
2276
+ "children": [
2277
+ {
2278
+ "type": "stack",
2279
+ "direction": "horizontal",
2280
+ "gap": "sm",
2281
+ "align": "center",
2282
+ "children": [
2283
+ {
2284
+ "type": "icon",
2285
+ "name": "briefcase",
2286
+ "size": "lg"
2287
+ },
2288
+ {
2289
+ "type": "typography",
2290
+ "content": "Deals",
2291
+ "variant": "h2"
2292
+ }
2293
+ ]
2294
+ },
2295
+ {
2296
+ "type": "stack",
2297
+ "direction": "horizontal",
2298
+ "gap": "sm",
2299
+ "children": [
2300
+ {
2301
+ "type": "button",
2302
+ "label": "New Deal",
2303
+ "event": "CREATE",
2304
+ "variant": "primary",
2305
+ "icon": "plus"
2306
+ }
2307
+ ]
2308
+ }
2309
+ ]
2310
+ },
2311
+ {
2312
+ "type": "divider"
2313
+ },
2314
+ {
2315
+ "type": "data-grid",
2316
+ "entity": "Deal",
2317
+ "emptyIcon": "inbox",
2318
+ "emptyTitle": "No deals yet",
2319
+ "emptyDescription": "Create a deal to track your sales pipeline.",
2320
+ "itemActions": [
2321
+ {
2322
+ "label": "View",
2323
+ "event": "VIEW",
2324
+ "variant": "ghost",
2325
+ "size": "sm"
2326
+ },
2327
+ {
2328
+ "label": "Edit",
2329
+ "event": "EDIT",
2330
+ "variant": "ghost",
2331
+ "size": "sm"
2332
+ },
2333
+ {
2334
+ "label": "Delete",
2335
+ "event": "DELETE",
2336
+ "variant": "danger",
2337
+ "size": "sm"
2338
+ }
2339
+ ],
2340
+ "columns": [
2341
+ {
2342
+ "name": "title",
2343
+ "variant": "h3",
2344
+ "icon": "briefcase"
2345
+ },
2346
+ {
2347
+ "name": "stage",
2348
+ "variant": "badge"
2349
+ },
2350
+ {
2351
+ "name": "value",
2352
+ "variant": "h4",
2353
+ "format": "currency"
2354
+ },
2355
+ {
2356
+ "name": "contactId",
2357
+ "label": "Contact",
2358
+ "variant": "caption"
2359
+ }
2360
+ ],
2361
+ "cols": 2,
2362
+ "gap": "md"
2363
+ }
2364
+ ]
2365
+ }
2366
+ ]
2367
+ }
1415
2368
  ]
1416
2369
  ]
1417
2370
  }
@@ -1553,6 +2506,11 @@
1553
2506
  "render-ui",
1554
2507
  "modal",
1555
2508
  null
2509
+ ],
2510
+ [
2511
+ "notify",
2512
+ "Cancelled",
2513
+ "info"
1556
2514
  ]
1557
2515
  ]
1558
2516
  },
@@ -1719,6 +2677,11 @@
1719
2677
  "render-ui",
1720
2678
  "modal",
1721
2679
  null
2680
+ ],
2681
+ [
2682
+ "notify",
2683
+ "Cancelled",
2684
+ "info"
1722
2685
  ]
1723
2686
  ]
1724
2687
  },
@@ -1866,7 +2829,7 @@
1866
2829
  {
1867
2830
  "type": "typography",
1868
2831
  "variant": "caption",
1869
- "content": "ContactId"
2832
+ "content": "Contact ID"
1870
2833
  },
1871
2834
  {
1872
2835
  "type": "typography",
@@ -1917,7 +2880,7 @@
1917
2880
  {
1918
2881
  "type": "typography",
1919
2882
  "variant": "caption",
1920
- "content": "ClosedAt"
2883
+ "content": "Closed At"
1921
2884
  },
1922
2885
  {
1923
2886
  "type": "typography",
@@ -1964,6 +2927,11 @@
1964
2927
  "render-ui",
1965
2928
  "modal",
1966
2929
  null
2930
+ ],
2931
+ [
2932
+ "notify",
2933
+ "Cancelled",
2934
+ "info"
1967
2935
  ]
1968
2936
  ]
1969
2937
  }
@@ -2080,156 +3048,267 @@
2080
3048
  "render-ui",
2081
3049
  "main",
2082
3050
  {
2083
- "type": "stack",
2084
- "direction": "vertical",
2085
- "gap": "lg",
2086
- "children": [
3051
+ "type": "dashboard-layout",
3052
+ "appName": "CRM",
3053
+ "navItems": [
2087
3054
  {
2088
- "type": "stack",
2089
- "direction": "horizontal",
2090
- "gap": "md",
2091
- "justify": "space-between",
2092
- "children": [
2093
- {
2094
- "type": "stack",
2095
- "direction": "horizontal",
2096
- "gap": "md",
2097
- "children": [
2098
- {
2099
- "type": "icon",
2100
- "name": "bar-chart-2",
2101
- "size": "lg"
2102
- },
2103
- {
2104
- "type": "typography",
2105
- "content": "Pipeline",
2106
- "variant": "h2"
2107
- }
2108
- ]
2109
- },
2110
- {
2111
- "type": "button",
2112
- "label": "Refresh",
2113
- "event": "REFRESH",
2114
- "variant": "secondary",
2115
- "icon": "refresh-cw"
2116
- }
2117
- ]
3055
+ "label": "Contacts",
3056
+ "href": "/contacts",
3057
+ "icon": "users"
2118
3058
  },
2119
3059
  {
2120
- "type": "divider"
3060
+ "label": "Deals",
3061
+ "href": "/deals",
3062
+ "icon": "briefcase"
3063
+ },
3064
+ {
3065
+ "label": "Pipeline",
3066
+ "href": "/pipeline",
3067
+ "icon": "bar-chart-2"
2121
3068
  },
2122
3069
  {
2123
- "type": "simple-grid",
2124
- "columns": 3,
3070
+ "label": "Notes",
3071
+ "href": "/notes",
3072
+ "icon": "file-text"
3073
+ }
3074
+ ],
3075
+ "children": [
3076
+ {
3077
+ "type": "scaled-diagram",
2125
3078
  "children": [
2126
3079
  {
2127
- "type": "card",
3080
+ "type": "stack",
3081
+ "direction": "vertical",
3082
+ "gap": "lg",
2128
3083
  "children": [
2129
3084
  {
2130
- "type": "stack",
2131
- "direction": "vertical",
2132
- "gap": "sm",
2133
- "children": [
3085
+ "type": "breadcrumb",
3086
+ "items": [
2134
3087
  {
2135
- "type": "typography",
2136
- "variant": "caption",
2137
- "content": "TotalDeals"
3088
+ "label": "Home",
3089
+ "href": "/"
2138
3090
  },
2139
3091
  {
2140
- "type": "typography",
2141
- "variant": "h3",
2142
- "content": "@entity.totalDeals"
3092
+ "label": "Pipeline"
2143
3093
  }
2144
3094
  ]
2145
- }
2146
- ]
2147
- },
2148
- {
2149
- "type": "card",
2150
- "children": [
3095
+ },
2151
3096
  {
2152
3097
  "type": "stack",
2153
- "direction": "vertical",
2154
- "gap": "sm",
3098
+ "direction": "horizontal",
3099
+ "gap": "md",
3100
+ "justify": "space-between",
2155
3101
  "children": [
2156
3102
  {
2157
- "type": "typography",
2158
- "variant": "caption",
2159
- "content": "TotalValue"
3103
+ "type": "stack",
3104
+ "direction": "horizontal",
3105
+ "gap": "md",
3106
+ "children": [
3107
+ {
3108
+ "type": "icon",
3109
+ "name": "bar-chart-2",
3110
+ "size": "lg"
3111
+ },
3112
+ {
3113
+ "type": "typography",
3114
+ "content": "Pipeline",
3115
+ "variant": "h2"
3116
+ }
3117
+ ]
2160
3118
  },
2161
3119
  {
2162
- "type": "typography",
2163
- "variant": "h3",
2164
- "content": "@entity.totalValue"
3120
+ "type": "button",
3121
+ "label": "Refresh",
3122
+ "event": "REFRESH",
3123
+ "variant": "secondary",
3124
+ "icon": "refresh-cw"
2165
3125
  }
2166
3126
  ]
2167
- }
2168
- ]
2169
- },
2170
- {
2171
- "type": "card",
2172
- "children": [
3127
+ },
2173
3128
  {
2174
- "type": "stack",
2175
- "direction": "vertical",
2176
- "gap": "sm",
3129
+ "type": "divider"
3130
+ },
3131
+ {
3132
+ "type": "box",
3133
+ "padding": "md",
2177
3134
  "children": [
2178
3135
  {
2179
- "type": "typography",
2180
- "variant": "caption",
2181
- "content": "WonDeals"
2182
- },
2183
- {
2184
- "type": "typography",
2185
- "variant": "h3",
2186
- "content": "@entity.wonDeals"
3136
+ "type": "simple-grid",
3137
+ "columns": 3,
3138
+ "children": [
3139
+ {
3140
+ "type": "stat-display",
3141
+ "label": "TotalDeals",
3142
+ "value": [
3143
+ "object/get",
3144
+ [
3145
+ "array/first",
3146
+ "@entity"
3147
+ ],
3148
+ "totalDeals"
3149
+ ]
3150
+ },
3151
+ {
3152
+ "type": "stat-display",
3153
+ "label": "TotalValue",
3154
+ "value": [
3155
+ "object/get",
3156
+ [
3157
+ "array/first",
3158
+ "@entity"
3159
+ ],
3160
+ "totalValue"
3161
+ ]
3162
+ },
3163
+ {
3164
+ "type": "stat-display",
3165
+ "label": "WonDeals",
3166
+ "value": [
3167
+ "object/get",
3168
+ [
3169
+ "array/first",
3170
+ "@entity"
3171
+ ],
3172
+ "wonDeals"
3173
+ ]
3174
+ },
3175
+ {
3176
+ "type": "stat-display",
3177
+ "label": "LostDeals",
3178
+ "value": [
3179
+ "object/get",
3180
+ [
3181
+ "array/first",
3182
+ "@entity"
3183
+ ],
3184
+ "lostDeals"
3185
+ ]
3186
+ },
3187
+ {
3188
+ "type": "stat-display",
3189
+ "label": "ConversionRate",
3190
+ "value": [
3191
+ "object/get",
3192
+ [
3193
+ "array/first",
3194
+ "@entity"
3195
+ ],
3196
+ "conversionRate"
3197
+ ]
3198
+ }
3199
+ ]
2187
3200
  }
2188
3201
  ]
2189
- }
2190
- ]
2191
- },
2192
- {
2193
- "type": "card",
2194
- "children": [
3202
+ },
2195
3203
  {
2196
- "type": "stack",
2197
- "direction": "vertical",
2198
- "gap": "sm",
3204
+ "type": "divider"
3205
+ },
3206
+ {
3207
+ "type": "grid",
3208
+ "columns": 2,
3209
+ "gap": "md",
2199
3210
  "children": [
2200
3211
  {
2201
- "type": "typography",
2202
- "variant": "caption",
2203
- "content": "LostDeals"
3212
+ "type": "card",
3213
+ "children": [
3214
+ {
3215
+ "type": "typography",
3216
+ "variant": "caption",
3217
+ "content": "Chart View"
3218
+ }
3219
+ ]
2204
3220
  },
2205
3221
  {
2206
- "type": "typography",
2207
- "variant": "h3",
2208
- "content": "@entity.lostDeals"
2209
- }
2210
- ]
2211
- }
2212
- ]
2213
- },
2214
- {
2215
- "type": "card",
2216
- "children": [
3222
+ "type": "card",
3223
+ "children": [
3224
+ {
3225
+ "type": "typography",
3226
+ "variant": "caption",
3227
+ "content": "Graph View"
3228
+ }
3229
+ ]
3230
+ }
3231
+ ]
3232
+ },
2217
3233
  {
2218
- "type": "stack",
2219
- "direction": "vertical",
2220
- "gap": "sm",
2221
- "children": [
3234
+ "type": "line-chart",
3235
+ "data": [
2222
3236
  {
2223
- "type": "typography",
2224
- "variant": "caption",
2225
- "content": "ConversionRate"
3237
+ "date": "Jan",
3238
+ "value": 12
2226
3239
  },
2227
3240
  {
2228
- "type": "typography",
2229
- "variant": "h3",
2230
- "content": "@entity.conversionRate"
3241
+ "date": "Feb",
3242
+ "value": 19
3243
+ },
3244
+ {
3245
+ "date": "Mar",
3246
+ "value": 15
3247
+ },
3248
+ {
3249
+ "date": "Apr",
3250
+ "value": 25
3251
+ },
3252
+ {
3253
+ "date": "May",
3254
+ "value": 22
3255
+ },
3256
+ {
3257
+ "date": "Jun",
3258
+ "value": 30
3259
+ }
3260
+ ],
3261
+ "xKey": "date",
3262
+ "yKey": "value",
3263
+ "title": "Trend"
3264
+ },
3265
+ {
3266
+ "type": "chart-legend",
3267
+ "items": [
3268
+ {
3269
+ "label": "Current",
3270
+ "color": "primary"
3271
+ },
3272
+ {
3273
+ "label": "Previous",
3274
+ "color": "muted"
2231
3275
  }
2232
3276
  ]
3277
+ },
3278
+ {
3279
+ "type": "graph-view",
3280
+ "nodes": [
3281
+ {
3282
+ "id": "a",
3283
+ "label": "Start",
3284
+ "x": 50,
3285
+ "y": 100
3286
+ },
3287
+ {
3288
+ "id": "b",
3289
+ "label": "Process",
3290
+ "x": 200,
3291
+ "y": 50
3292
+ },
3293
+ {
3294
+ "id": "c",
3295
+ "label": "End",
3296
+ "x": 350,
3297
+ "y": 100
3298
+ }
3299
+ ],
3300
+ "edges": [
3301
+ {
3302
+ "from": "a",
3303
+ "to": "b"
3304
+ },
3305
+ {
3306
+ "from": "b",
3307
+ "to": "c"
3308
+ }
3309
+ ],
3310
+ "width": 400,
3311
+ "height": 200
2233
3312
  }
2234
3313
  ]
2235
3314
  }
@@ -2253,156 +3332,267 @@
2253
3332
  "render-ui",
2254
3333
  "main",
2255
3334
  {
2256
- "type": "stack",
2257
- "direction": "vertical",
2258
- "gap": "lg",
2259
- "children": [
3335
+ "type": "dashboard-layout",
3336
+ "appName": "CRM",
3337
+ "navItems": [
2260
3338
  {
2261
- "type": "stack",
2262
- "direction": "horizontal",
2263
- "gap": "md",
2264
- "justify": "space-between",
2265
- "children": [
2266
- {
2267
- "type": "stack",
2268
- "direction": "horizontal",
2269
- "gap": "md",
2270
- "children": [
2271
- {
2272
- "type": "icon",
2273
- "name": "bar-chart-2",
2274
- "size": "lg"
2275
- },
2276
- {
2277
- "type": "typography",
2278
- "content": "Pipeline",
2279
- "variant": "h2"
2280
- }
2281
- ]
2282
- },
2283
- {
2284
- "type": "button",
2285
- "label": "Refresh",
2286
- "event": "REFRESH",
2287
- "variant": "secondary",
2288
- "icon": "refresh-cw"
2289
- }
2290
- ]
3339
+ "label": "Contacts",
3340
+ "href": "/contacts",
3341
+ "icon": "users"
2291
3342
  },
2292
3343
  {
2293
- "type": "divider"
3344
+ "label": "Deals",
3345
+ "href": "/deals",
3346
+ "icon": "briefcase"
3347
+ },
3348
+ {
3349
+ "label": "Pipeline",
3350
+ "href": "/pipeline",
3351
+ "icon": "bar-chart-2"
2294
3352
  },
2295
3353
  {
2296
- "type": "simple-grid",
2297
- "columns": 3,
3354
+ "label": "Notes",
3355
+ "href": "/notes",
3356
+ "icon": "file-text"
3357
+ }
3358
+ ],
3359
+ "children": [
3360
+ {
3361
+ "type": "scaled-diagram",
2298
3362
  "children": [
2299
3363
  {
2300
- "type": "card",
3364
+ "type": "stack",
3365
+ "direction": "vertical",
3366
+ "gap": "lg",
2301
3367
  "children": [
2302
3368
  {
2303
- "type": "stack",
2304
- "direction": "vertical",
2305
- "gap": "sm",
2306
- "children": [
3369
+ "type": "breadcrumb",
3370
+ "items": [
2307
3371
  {
2308
- "type": "typography",
2309
- "variant": "caption",
2310
- "content": "TotalDeals"
3372
+ "label": "Home",
3373
+ "href": "/"
2311
3374
  },
2312
3375
  {
2313
- "type": "typography",
2314
- "variant": "h3",
2315
- "content": "@entity.totalDeals"
3376
+ "label": "Pipeline"
2316
3377
  }
2317
3378
  ]
2318
- }
2319
- ]
2320
- },
2321
- {
2322
- "type": "card",
2323
- "children": [
3379
+ },
2324
3380
  {
2325
3381
  "type": "stack",
2326
- "direction": "vertical",
2327
- "gap": "sm",
3382
+ "direction": "horizontal",
3383
+ "gap": "md",
3384
+ "justify": "space-between",
2328
3385
  "children": [
2329
3386
  {
2330
- "type": "typography",
2331
- "variant": "caption",
2332
- "content": "TotalValue"
3387
+ "type": "stack",
3388
+ "direction": "horizontal",
3389
+ "gap": "md",
3390
+ "children": [
3391
+ {
3392
+ "type": "icon",
3393
+ "name": "bar-chart-2",
3394
+ "size": "lg"
3395
+ },
3396
+ {
3397
+ "type": "typography",
3398
+ "content": "Pipeline",
3399
+ "variant": "h2"
3400
+ }
3401
+ ]
2333
3402
  },
2334
3403
  {
2335
- "type": "typography",
2336
- "variant": "h3",
2337
- "content": "@entity.totalValue"
3404
+ "type": "button",
3405
+ "label": "Refresh",
3406
+ "event": "REFRESH",
3407
+ "variant": "secondary",
3408
+ "icon": "refresh-cw"
2338
3409
  }
2339
3410
  ]
2340
- }
2341
- ]
2342
- },
2343
- {
2344
- "type": "card",
2345
- "children": [
3411
+ },
2346
3412
  {
2347
- "type": "stack",
2348
- "direction": "vertical",
2349
- "gap": "sm",
3413
+ "type": "divider"
3414
+ },
3415
+ {
3416
+ "type": "box",
3417
+ "padding": "md",
2350
3418
  "children": [
2351
3419
  {
2352
- "type": "typography",
2353
- "variant": "caption",
2354
- "content": "WonDeals"
2355
- },
2356
- {
2357
- "type": "typography",
2358
- "variant": "h3",
2359
- "content": "@entity.wonDeals"
3420
+ "type": "simple-grid",
3421
+ "columns": 3,
3422
+ "children": [
3423
+ {
3424
+ "type": "stat-display",
3425
+ "label": "TotalDeals",
3426
+ "value": [
3427
+ "object/get",
3428
+ [
3429
+ "array/first",
3430
+ "@entity"
3431
+ ],
3432
+ "totalDeals"
3433
+ ]
3434
+ },
3435
+ {
3436
+ "type": "stat-display",
3437
+ "label": "TotalValue",
3438
+ "value": [
3439
+ "object/get",
3440
+ [
3441
+ "array/first",
3442
+ "@entity"
3443
+ ],
3444
+ "totalValue"
3445
+ ]
3446
+ },
3447
+ {
3448
+ "type": "stat-display",
3449
+ "label": "WonDeals",
3450
+ "value": [
3451
+ "object/get",
3452
+ [
3453
+ "array/first",
3454
+ "@entity"
3455
+ ],
3456
+ "wonDeals"
3457
+ ]
3458
+ },
3459
+ {
3460
+ "type": "stat-display",
3461
+ "label": "LostDeals",
3462
+ "value": [
3463
+ "object/get",
3464
+ [
3465
+ "array/first",
3466
+ "@entity"
3467
+ ],
3468
+ "lostDeals"
3469
+ ]
3470
+ },
3471
+ {
3472
+ "type": "stat-display",
3473
+ "label": "ConversionRate",
3474
+ "value": [
3475
+ "object/get",
3476
+ [
3477
+ "array/first",
3478
+ "@entity"
3479
+ ],
3480
+ "conversionRate"
3481
+ ]
3482
+ }
3483
+ ]
2360
3484
  }
2361
3485
  ]
2362
- }
2363
- ]
2364
- },
2365
- {
2366
- "type": "card",
2367
- "children": [
3486
+ },
2368
3487
  {
2369
- "type": "stack",
2370
- "direction": "vertical",
2371
- "gap": "sm",
3488
+ "type": "divider"
3489
+ },
3490
+ {
3491
+ "type": "grid",
3492
+ "columns": 2,
3493
+ "gap": "md",
2372
3494
  "children": [
2373
3495
  {
2374
- "type": "typography",
2375
- "variant": "caption",
2376
- "content": "LostDeals"
3496
+ "type": "card",
3497
+ "children": [
3498
+ {
3499
+ "type": "typography",
3500
+ "variant": "caption",
3501
+ "content": "Chart View"
3502
+ }
3503
+ ]
2377
3504
  },
2378
3505
  {
2379
- "type": "typography",
2380
- "variant": "h3",
2381
- "content": "@entity.lostDeals"
3506
+ "type": "card",
3507
+ "children": [
3508
+ {
3509
+ "type": "typography",
3510
+ "variant": "caption",
3511
+ "content": "Graph View"
3512
+ }
3513
+ ]
2382
3514
  }
2383
3515
  ]
2384
- }
2385
- ]
2386
- },
2387
- {
2388
- "type": "card",
2389
- "children": [
3516
+ },
2390
3517
  {
2391
- "type": "stack",
2392
- "direction": "vertical",
2393
- "gap": "sm",
2394
- "children": [
3518
+ "type": "line-chart",
3519
+ "data": [
2395
3520
  {
2396
- "type": "typography",
2397
- "variant": "caption",
2398
- "content": "ConversionRate"
3521
+ "date": "Jan",
3522
+ "value": 12
2399
3523
  },
2400
3524
  {
2401
- "type": "typography",
2402
- "variant": "h3",
2403
- "content": "@entity.conversionRate"
3525
+ "date": "Feb",
3526
+ "value": 19
3527
+ },
3528
+ {
3529
+ "date": "Mar",
3530
+ "value": 15
3531
+ },
3532
+ {
3533
+ "date": "Apr",
3534
+ "value": 25
3535
+ },
3536
+ {
3537
+ "date": "May",
3538
+ "value": 22
3539
+ },
3540
+ {
3541
+ "date": "Jun",
3542
+ "value": 30
3543
+ }
3544
+ ],
3545
+ "xKey": "date",
3546
+ "yKey": "value",
3547
+ "title": "Trend"
3548
+ },
3549
+ {
3550
+ "type": "chart-legend",
3551
+ "items": [
3552
+ {
3553
+ "label": "Current",
3554
+ "color": "primary"
3555
+ },
3556
+ {
3557
+ "label": "Previous",
3558
+ "color": "muted"
2404
3559
  }
2405
3560
  ]
3561
+ },
3562
+ {
3563
+ "type": "graph-view",
3564
+ "nodes": [
3565
+ {
3566
+ "id": "a",
3567
+ "label": "Start",
3568
+ "x": 50,
3569
+ "y": 100
3570
+ },
3571
+ {
3572
+ "id": "b",
3573
+ "label": "Process",
3574
+ "x": 200,
3575
+ "y": 50
3576
+ },
3577
+ {
3578
+ "id": "c",
3579
+ "label": "End",
3580
+ "x": 350,
3581
+ "y": 100
3582
+ }
3583
+ ],
3584
+ "edges": [
3585
+ {
3586
+ "from": "a",
3587
+ "to": "b"
3588
+ },
3589
+ {
3590
+ "from": "b",
3591
+ "to": "c"
3592
+ }
3593
+ ],
3594
+ "width": 400,
3595
+ "height": 200
2406
3596
  }
2407
3597
  ]
2408
3598
  }
@@ -2426,156 +3616,267 @@
2426
3616
  "render-ui",
2427
3617
  "main",
2428
3618
  {
2429
- "type": "stack",
2430
- "direction": "vertical",
2431
- "gap": "lg",
2432
- "children": [
3619
+ "type": "dashboard-layout",
3620
+ "appName": "CRM",
3621
+ "navItems": [
2433
3622
  {
2434
- "type": "stack",
2435
- "direction": "horizontal",
2436
- "gap": "md",
2437
- "justify": "space-between",
2438
- "children": [
2439
- {
2440
- "type": "stack",
2441
- "direction": "horizontal",
2442
- "gap": "md",
2443
- "children": [
2444
- {
2445
- "type": "icon",
2446
- "name": "bar-chart-2",
2447
- "size": "lg"
2448
- },
2449
- {
2450
- "type": "typography",
2451
- "content": "Pipeline",
2452
- "variant": "h2"
2453
- }
2454
- ]
2455
- },
2456
- {
2457
- "type": "button",
2458
- "label": "Refresh",
2459
- "event": "REFRESH",
2460
- "variant": "secondary",
2461
- "icon": "refresh-cw"
2462
- }
2463
- ]
3623
+ "label": "Contacts",
3624
+ "href": "/contacts",
3625
+ "icon": "users"
2464
3626
  },
2465
3627
  {
2466
- "type": "divider"
3628
+ "label": "Deals",
3629
+ "href": "/deals",
3630
+ "icon": "briefcase"
3631
+ },
3632
+ {
3633
+ "label": "Pipeline",
3634
+ "href": "/pipeline",
3635
+ "icon": "bar-chart-2"
2467
3636
  },
2468
3637
  {
2469
- "type": "simple-grid",
2470
- "columns": 3,
3638
+ "label": "Notes",
3639
+ "href": "/notes",
3640
+ "icon": "file-text"
3641
+ }
3642
+ ],
3643
+ "children": [
3644
+ {
3645
+ "type": "scaled-diagram",
2471
3646
  "children": [
2472
3647
  {
2473
- "type": "card",
3648
+ "type": "stack",
3649
+ "direction": "vertical",
3650
+ "gap": "lg",
2474
3651
  "children": [
2475
3652
  {
2476
- "type": "stack",
2477
- "direction": "vertical",
2478
- "gap": "sm",
2479
- "children": [
3653
+ "type": "breadcrumb",
3654
+ "items": [
2480
3655
  {
2481
- "type": "typography",
2482
- "variant": "caption",
2483
- "content": "TotalDeals"
3656
+ "label": "Home",
3657
+ "href": "/"
2484
3658
  },
2485
3659
  {
2486
- "type": "typography",
2487
- "variant": "h3",
2488
- "content": "@entity.totalDeals"
3660
+ "label": "Pipeline"
2489
3661
  }
2490
3662
  ]
2491
- }
2492
- ]
2493
- },
2494
- {
2495
- "type": "card",
2496
- "children": [
3663
+ },
2497
3664
  {
2498
3665
  "type": "stack",
2499
- "direction": "vertical",
2500
- "gap": "sm",
3666
+ "direction": "horizontal",
3667
+ "gap": "md",
3668
+ "justify": "space-between",
2501
3669
  "children": [
2502
3670
  {
2503
- "type": "typography",
2504
- "variant": "caption",
2505
- "content": "TotalValue"
3671
+ "type": "stack",
3672
+ "direction": "horizontal",
3673
+ "gap": "md",
3674
+ "children": [
3675
+ {
3676
+ "type": "icon",
3677
+ "name": "bar-chart-2",
3678
+ "size": "lg"
3679
+ },
3680
+ {
3681
+ "type": "typography",
3682
+ "content": "Pipeline",
3683
+ "variant": "h2"
3684
+ }
3685
+ ]
2506
3686
  },
2507
3687
  {
2508
- "type": "typography",
2509
- "variant": "h3",
2510
- "content": "@entity.totalValue"
3688
+ "type": "button",
3689
+ "label": "Refresh",
3690
+ "event": "REFRESH",
3691
+ "variant": "secondary",
3692
+ "icon": "refresh-cw"
2511
3693
  }
2512
3694
  ]
2513
- }
2514
- ]
2515
- },
2516
- {
2517
- "type": "card",
2518
- "children": [
3695
+ },
2519
3696
  {
2520
- "type": "stack",
2521
- "direction": "vertical",
2522
- "gap": "sm",
3697
+ "type": "divider"
3698
+ },
3699
+ {
3700
+ "type": "box",
3701
+ "padding": "md",
2523
3702
  "children": [
2524
3703
  {
2525
- "type": "typography",
2526
- "variant": "caption",
2527
- "content": "WonDeals"
2528
- },
2529
- {
2530
- "type": "typography",
2531
- "variant": "h3",
2532
- "content": "@entity.wonDeals"
3704
+ "type": "simple-grid",
3705
+ "columns": 3,
3706
+ "children": [
3707
+ {
3708
+ "type": "stat-display",
3709
+ "label": "TotalDeals",
3710
+ "value": [
3711
+ "object/get",
3712
+ [
3713
+ "array/first",
3714
+ "@entity"
3715
+ ],
3716
+ "totalDeals"
3717
+ ]
3718
+ },
3719
+ {
3720
+ "type": "stat-display",
3721
+ "label": "TotalValue",
3722
+ "value": [
3723
+ "object/get",
3724
+ [
3725
+ "array/first",
3726
+ "@entity"
3727
+ ],
3728
+ "totalValue"
3729
+ ]
3730
+ },
3731
+ {
3732
+ "type": "stat-display",
3733
+ "label": "WonDeals",
3734
+ "value": [
3735
+ "object/get",
3736
+ [
3737
+ "array/first",
3738
+ "@entity"
3739
+ ],
3740
+ "wonDeals"
3741
+ ]
3742
+ },
3743
+ {
3744
+ "type": "stat-display",
3745
+ "label": "LostDeals",
3746
+ "value": [
3747
+ "object/get",
3748
+ [
3749
+ "array/first",
3750
+ "@entity"
3751
+ ],
3752
+ "lostDeals"
3753
+ ]
3754
+ },
3755
+ {
3756
+ "type": "stat-display",
3757
+ "label": "ConversionRate",
3758
+ "value": [
3759
+ "object/get",
3760
+ [
3761
+ "array/first",
3762
+ "@entity"
3763
+ ],
3764
+ "conversionRate"
3765
+ ]
3766
+ }
3767
+ ]
2533
3768
  }
2534
3769
  ]
2535
- }
2536
- ]
2537
- },
2538
- {
2539
- "type": "card",
2540
- "children": [
3770
+ },
2541
3771
  {
2542
- "type": "stack",
2543
- "direction": "vertical",
2544
- "gap": "sm",
3772
+ "type": "divider"
3773
+ },
3774
+ {
3775
+ "type": "grid",
3776
+ "columns": 2,
3777
+ "gap": "md",
2545
3778
  "children": [
2546
3779
  {
2547
- "type": "typography",
2548
- "variant": "caption",
2549
- "content": "LostDeals"
3780
+ "type": "card",
3781
+ "children": [
3782
+ {
3783
+ "type": "typography",
3784
+ "variant": "caption",
3785
+ "content": "Chart View"
3786
+ }
3787
+ ]
2550
3788
  },
2551
3789
  {
2552
- "type": "typography",
2553
- "variant": "h3",
2554
- "content": "@entity.lostDeals"
3790
+ "type": "card",
3791
+ "children": [
3792
+ {
3793
+ "type": "typography",
3794
+ "variant": "caption",
3795
+ "content": "Graph View"
3796
+ }
3797
+ ]
2555
3798
  }
2556
3799
  ]
2557
- }
2558
- ]
2559
- },
2560
- {
2561
- "type": "card",
2562
- "children": [
3800
+ },
2563
3801
  {
2564
- "type": "stack",
2565
- "direction": "vertical",
2566
- "gap": "sm",
2567
- "children": [
3802
+ "type": "line-chart",
3803
+ "data": [
2568
3804
  {
2569
- "type": "typography",
2570
- "variant": "caption",
2571
- "content": "ConversionRate"
3805
+ "date": "Jan",
3806
+ "value": 12
2572
3807
  },
2573
3808
  {
2574
- "type": "typography",
2575
- "variant": "h3",
2576
- "content": "@entity.conversionRate"
3809
+ "date": "Feb",
3810
+ "value": 19
3811
+ },
3812
+ {
3813
+ "date": "Mar",
3814
+ "value": 15
3815
+ },
3816
+ {
3817
+ "date": "Apr",
3818
+ "value": 25
3819
+ },
3820
+ {
3821
+ "date": "May",
3822
+ "value": 22
3823
+ },
3824
+ {
3825
+ "date": "Jun",
3826
+ "value": 30
3827
+ }
3828
+ ],
3829
+ "xKey": "date",
3830
+ "yKey": "value",
3831
+ "title": "Trend"
3832
+ },
3833
+ {
3834
+ "type": "chart-legend",
3835
+ "items": [
3836
+ {
3837
+ "label": "Current",
3838
+ "color": "primary"
3839
+ },
3840
+ {
3841
+ "label": "Previous",
3842
+ "color": "muted"
2577
3843
  }
2578
3844
  ]
3845
+ },
3846
+ {
3847
+ "type": "graph-view",
3848
+ "nodes": [
3849
+ {
3850
+ "id": "a",
3851
+ "label": "Start",
3852
+ "x": 50,
3853
+ "y": 100
3854
+ },
3855
+ {
3856
+ "id": "b",
3857
+ "label": "Process",
3858
+ "x": 200,
3859
+ "y": 50
3860
+ },
3861
+ {
3862
+ "id": "c",
3863
+ "label": "End",
3864
+ "x": 350,
3865
+ "y": 100
3866
+ }
3867
+ ],
3868
+ "edges": [
3869
+ {
3870
+ "from": "a",
3871
+ "to": "b"
3872
+ },
3873
+ {
3874
+ "from": "b",
3875
+ "to": "c"
3876
+ }
3877
+ ],
3878
+ "width": 400,
3879
+ "height": 200
2579
3880
  }
2580
3881
  ]
2581
3882
  }
@@ -2599,156 +3900,267 @@
2599
3900
  "render-ui",
2600
3901
  "main",
2601
3902
  {
2602
- "type": "stack",
2603
- "direction": "vertical",
2604
- "gap": "lg",
2605
- "children": [
3903
+ "type": "dashboard-layout",
3904
+ "appName": "CRM",
3905
+ "navItems": [
2606
3906
  {
2607
- "type": "stack",
2608
- "direction": "horizontal",
2609
- "gap": "md",
2610
- "justify": "space-between",
2611
- "children": [
2612
- {
2613
- "type": "stack",
2614
- "direction": "horizontal",
2615
- "gap": "md",
2616
- "children": [
2617
- {
2618
- "type": "icon",
2619
- "name": "bar-chart-2",
2620
- "size": "lg"
2621
- },
2622
- {
2623
- "type": "typography",
2624
- "content": "Pipeline",
2625
- "variant": "h2"
2626
- }
2627
- ]
2628
- },
2629
- {
2630
- "type": "button",
2631
- "label": "Refresh",
2632
- "event": "REFRESH",
2633
- "variant": "secondary",
2634
- "icon": "refresh-cw"
2635
- }
2636
- ]
3907
+ "label": "Contacts",
3908
+ "href": "/contacts",
3909
+ "icon": "users"
2637
3910
  },
2638
3911
  {
2639
- "type": "divider"
3912
+ "label": "Deals",
3913
+ "href": "/deals",
3914
+ "icon": "briefcase"
2640
3915
  },
2641
3916
  {
2642
- "type": "simple-grid",
2643
- "columns": 3,
3917
+ "label": "Pipeline",
3918
+ "href": "/pipeline",
3919
+ "icon": "bar-chart-2"
3920
+ },
3921
+ {
3922
+ "label": "Notes",
3923
+ "href": "/notes",
3924
+ "icon": "file-text"
3925
+ }
3926
+ ],
3927
+ "children": [
3928
+ {
3929
+ "type": "scaled-diagram",
2644
3930
  "children": [
2645
3931
  {
2646
- "type": "card",
3932
+ "type": "stack",
3933
+ "direction": "vertical",
3934
+ "gap": "lg",
2647
3935
  "children": [
2648
3936
  {
2649
- "type": "stack",
2650
- "direction": "vertical",
2651
- "gap": "sm",
2652
- "children": [
3937
+ "type": "breadcrumb",
3938
+ "items": [
2653
3939
  {
2654
- "type": "typography",
2655
- "variant": "caption",
2656
- "content": "TotalDeals"
3940
+ "label": "Home",
3941
+ "href": "/"
2657
3942
  },
2658
3943
  {
2659
- "type": "typography",
2660
- "variant": "h3",
2661
- "content": "@entity.totalDeals"
3944
+ "label": "Pipeline"
2662
3945
  }
2663
3946
  ]
2664
- }
2665
- ]
2666
- },
2667
- {
2668
- "type": "card",
2669
- "children": [
3947
+ },
2670
3948
  {
2671
3949
  "type": "stack",
2672
- "direction": "vertical",
2673
- "gap": "sm",
3950
+ "direction": "horizontal",
3951
+ "gap": "md",
3952
+ "justify": "space-between",
2674
3953
  "children": [
2675
3954
  {
2676
- "type": "typography",
2677
- "variant": "caption",
2678
- "content": "TotalValue"
3955
+ "type": "stack",
3956
+ "direction": "horizontal",
3957
+ "gap": "md",
3958
+ "children": [
3959
+ {
3960
+ "type": "icon",
3961
+ "name": "bar-chart-2",
3962
+ "size": "lg"
3963
+ },
3964
+ {
3965
+ "type": "typography",
3966
+ "content": "Pipeline",
3967
+ "variant": "h2"
3968
+ }
3969
+ ]
2679
3970
  },
2680
3971
  {
2681
- "type": "typography",
2682
- "variant": "h3",
2683
- "content": "@entity.totalValue"
3972
+ "type": "button",
3973
+ "label": "Refresh",
3974
+ "event": "REFRESH",
3975
+ "variant": "secondary",
3976
+ "icon": "refresh-cw"
2684
3977
  }
2685
3978
  ]
2686
- }
2687
- ]
2688
- },
2689
- {
2690
- "type": "card",
2691
- "children": [
3979
+ },
2692
3980
  {
2693
- "type": "stack",
2694
- "direction": "vertical",
2695
- "gap": "sm",
3981
+ "type": "divider"
3982
+ },
3983
+ {
3984
+ "type": "box",
3985
+ "padding": "md",
3986
+ "children": [
3987
+ {
3988
+ "type": "simple-grid",
3989
+ "columns": 3,
3990
+ "children": [
3991
+ {
3992
+ "type": "stat-display",
3993
+ "label": "TotalDeals",
3994
+ "value": [
3995
+ "object/get",
3996
+ [
3997
+ "array/first",
3998
+ "@entity"
3999
+ ],
4000
+ "totalDeals"
4001
+ ]
4002
+ },
4003
+ {
4004
+ "type": "stat-display",
4005
+ "label": "TotalValue",
4006
+ "value": [
4007
+ "object/get",
4008
+ [
4009
+ "array/first",
4010
+ "@entity"
4011
+ ],
4012
+ "totalValue"
4013
+ ]
4014
+ },
4015
+ {
4016
+ "type": "stat-display",
4017
+ "label": "WonDeals",
4018
+ "value": [
4019
+ "object/get",
4020
+ [
4021
+ "array/first",
4022
+ "@entity"
4023
+ ],
4024
+ "wonDeals"
4025
+ ]
4026
+ },
4027
+ {
4028
+ "type": "stat-display",
4029
+ "label": "LostDeals",
4030
+ "value": [
4031
+ "object/get",
4032
+ [
4033
+ "array/first",
4034
+ "@entity"
4035
+ ],
4036
+ "lostDeals"
4037
+ ]
4038
+ },
4039
+ {
4040
+ "type": "stat-display",
4041
+ "label": "ConversionRate",
4042
+ "value": [
4043
+ "object/get",
4044
+ [
4045
+ "array/first",
4046
+ "@entity"
4047
+ ],
4048
+ "conversionRate"
4049
+ ]
4050
+ }
4051
+ ]
4052
+ }
4053
+ ]
4054
+ },
4055
+ {
4056
+ "type": "divider"
4057
+ },
4058
+ {
4059
+ "type": "grid",
4060
+ "columns": 2,
4061
+ "gap": "md",
2696
4062
  "children": [
2697
4063
  {
2698
- "type": "typography",
2699
- "variant": "caption",
2700
- "content": "WonDeals"
4064
+ "type": "card",
4065
+ "children": [
4066
+ {
4067
+ "type": "typography",
4068
+ "variant": "caption",
4069
+ "content": "Chart View"
4070
+ }
4071
+ ]
4072
+ },
4073
+ {
4074
+ "type": "card",
4075
+ "children": [
4076
+ {
4077
+ "type": "typography",
4078
+ "variant": "caption",
4079
+ "content": "Graph View"
4080
+ }
4081
+ ]
4082
+ }
4083
+ ]
4084
+ },
4085
+ {
4086
+ "type": "line-chart",
4087
+ "data": [
4088
+ {
4089
+ "date": "Jan",
4090
+ "value": 12
4091
+ },
4092
+ {
4093
+ "date": "Feb",
4094
+ "value": 19
4095
+ },
4096
+ {
4097
+ "date": "Mar",
4098
+ "value": 15
4099
+ },
4100
+ {
4101
+ "date": "Apr",
4102
+ "value": 25
4103
+ },
4104
+ {
4105
+ "date": "May",
4106
+ "value": 22
2701
4107
  },
2702
4108
  {
2703
- "type": "typography",
2704
- "variant": "h3",
2705
- "content": "@entity.wonDeals"
4109
+ "date": "Jun",
4110
+ "value": 30
2706
4111
  }
2707
- ]
2708
- }
2709
- ]
2710
- },
2711
- {
2712
- "type": "card",
2713
- "children": [
4112
+ ],
4113
+ "xKey": "date",
4114
+ "yKey": "value",
4115
+ "title": "Trend"
4116
+ },
2714
4117
  {
2715
- "type": "stack",
2716
- "direction": "vertical",
2717
- "gap": "sm",
2718
- "children": [
4118
+ "type": "chart-legend",
4119
+ "items": [
2719
4120
  {
2720
- "type": "typography",
2721
- "variant": "caption",
2722
- "content": "LostDeals"
4121
+ "label": "Current",
4122
+ "color": "primary"
2723
4123
  },
2724
4124
  {
2725
- "type": "typography",
2726
- "variant": "h3",
2727
- "content": "@entity.lostDeals"
4125
+ "label": "Previous",
4126
+ "color": "muted"
2728
4127
  }
2729
4128
  ]
2730
- }
2731
- ]
2732
- },
2733
- {
2734
- "type": "card",
2735
- "children": [
4129
+ },
2736
4130
  {
2737
- "type": "stack",
2738
- "direction": "vertical",
2739
- "gap": "sm",
2740
- "children": [
4131
+ "type": "graph-view",
4132
+ "nodes": [
2741
4133
  {
2742
- "type": "typography",
2743
- "variant": "caption",
2744
- "content": "ConversionRate"
4134
+ "id": "a",
4135
+ "label": "Start",
4136
+ "x": 50,
4137
+ "y": 100
2745
4138
  },
2746
4139
  {
2747
- "type": "typography",
2748
- "variant": "h3",
2749
- "content": "@entity.conversionRate"
4140
+ "id": "b",
4141
+ "label": "Process",
4142
+ "x": 200,
4143
+ "y": 50
4144
+ },
4145
+ {
4146
+ "id": "c",
4147
+ "label": "End",
4148
+ "x": 350,
4149
+ "y": 100
2750
4150
  }
2751
- ]
4151
+ ],
4152
+ "edges": [
4153
+ {
4154
+ "from": "a",
4155
+ "to": "b"
4156
+ },
4157
+ {
4158
+ "from": "b",
4159
+ "to": "c"
4160
+ }
4161
+ ],
4162
+ "width": 400,
4163
+ "height": 200
2752
4164
  }
2753
4165
  ]
2754
4166
  }
@@ -2772,156 +4184,267 @@
2772
4184
  "render-ui",
2773
4185
  "main",
2774
4186
  {
2775
- "type": "stack",
2776
- "direction": "vertical",
2777
- "gap": "lg",
2778
- "children": [
4187
+ "type": "dashboard-layout",
4188
+ "appName": "CRM",
4189
+ "navItems": [
2779
4190
  {
2780
- "type": "stack",
2781
- "direction": "horizontal",
2782
- "gap": "md",
2783
- "justify": "space-between",
2784
- "children": [
2785
- {
2786
- "type": "stack",
2787
- "direction": "horizontal",
2788
- "gap": "md",
2789
- "children": [
2790
- {
2791
- "type": "icon",
2792
- "name": "bar-chart-2",
2793
- "size": "lg"
2794
- },
2795
- {
2796
- "type": "typography",
2797
- "content": "Pipeline",
2798
- "variant": "h2"
2799
- }
2800
- ]
2801
- },
2802
- {
2803
- "type": "button",
2804
- "label": "Refresh",
2805
- "event": "REFRESH",
2806
- "variant": "secondary",
2807
- "icon": "refresh-cw"
2808
- }
2809
- ]
4191
+ "label": "Contacts",
4192
+ "href": "/contacts",
4193
+ "icon": "users"
2810
4194
  },
2811
4195
  {
2812
- "type": "divider"
4196
+ "label": "Deals",
4197
+ "href": "/deals",
4198
+ "icon": "briefcase"
4199
+ },
4200
+ {
4201
+ "label": "Pipeline",
4202
+ "href": "/pipeline",
4203
+ "icon": "bar-chart-2"
2813
4204
  },
2814
4205
  {
2815
- "type": "simple-grid",
2816
- "columns": 3,
4206
+ "label": "Notes",
4207
+ "href": "/notes",
4208
+ "icon": "file-text"
4209
+ }
4210
+ ],
4211
+ "children": [
4212
+ {
4213
+ "type": "scaled-diagram",
2817
4214
  "children": [
2818
4215
  {
2819
- "type": "card",
4216
+ "type": "stack",
4217
+ "direction": "vertical",
4218
+ "gap": "lg",
2820
4219
  "children": [
2821
4220
  {
2822
- "type": "stack",
2823
- "direction": "vertical",
2824
- "gap": "sm",
2825
- "children": [
4221
+ "type": "breadcrumb",
4222
+ "items": [
2826
4223
  {
2827
- "type": "typography",
2828
- "variant": "caption",
2829
- "content": "TotalDeals"
4224
+ "label": "Home",
4225
+ "href": "/"
2830
4226
  },
2831
4227
  {
2832
- "type": "typography",
2833
- "variant": "h3",
2834
- "content": "@entity.totalDeals"
4228
+ "label": "Pipeline"
2835
4229
  }
2836
4230
  ]
2837
- }
2838
- ]
2839
- },
2840
- {
2841
- "type": "card",
2842
- "children": [
4231
+ },
2843
4232
  {
2844
4233
  "type": "stack",
2845
- "direction": "vertical",
2846
- "gap": "sm",
4234
+ "direction": "horizontal",
4235
+ "gap": "md",
4236
+ "justify": "space-between",
2847
4237
  "children": [
2848
4238
  {
2849
- "type": "typography",
2850
- "variant": "caption",
2851
- "content": "TotalValue"
4239
+ "type": "stack",
4240
+ "direction": "horizontal",
4241
+ "gap": "md",
4242
+ "children": [
4243
+ {
4244
+ "type": "icon",
4245
+ "name": "bar-chart-2",
4246
+ "size": "lg"
4247
+ },
4248
+ {
4249
+ "type": "typography",
4250
+ "content": "Pipeline",
4251
+ "variant": "h2"
4252
+ }
4253
+ ]
2852
4254
  },
2853
4255
  {
2854
- "type": "typography",
2855
- "variant": "h3",
2856
- "content": "@entity.totalValue"
4256
+ "type": "button",
4257
+ "label": "Refresh",
4258
+ "event": "REFRESH",
4259
+ "variant": "secondary",
4260
+ "icon": "refresh-cw"
2857
4261
  }
2858
4262
  ]
2859
- }
2860
- ]
2861
- },
2862
- {
2863
- "type": "card",
2864
- "children": [
4263
+ },
2865
4264
  {
2866
- "type": "stack",
2867
- "direction": "vertical",
2868
- "gap": "sm",
4265
+ "type": "divider"
4266
+ },
4267
+ {
4268
+ "type": "box",
4269
+ "padding": "md",
2869
4270
  "children": [
2870
4271
  {
2871
- "type": "typography",
2872
- "variant": "caption",
2873
- "content": "WonDeals"
2874
- },
2875
- {
2876
- "type": "typography",
2877
- "variant": "h3",
2878
- "content": "@entity.wonDeals"
4272
+ "type": "simple-grid",
4273
+ "columns": 3,
4274
+ "children": [
4275
+ {
4276
+ "type": "stat-display",
4277
+ "label": "TotalDeals",
4278
+ "value": [
4279
+ "object/get",
4280
+ [
4281
+ "array/first",
4282
+ "@entity"
4283
+ ],
4284
+ "totalDeals"
4285
+ ]
4286
+ },
4287
+ {
4288
+ "type": "stat-display",
4289
+ "label": "TotalValue",
4290
+ "value": [
4291
+ "object/get",
4292
+ [
4293
+ "array/first",
4294
+ "@entity"
4295
+ ],
4296
+ "totalValue"
4297
+ ]
4298
+ },
4299
+ {
4300
+ "type": "stat-display",
4301
+ "label": "WonDeals",
4302
+ "value": [
4303
+ "object/get",
4304
+ [
4305
+ "array/first",
4306
+ "@entity"
4307
+ ],
4308
+ "wonDeals"
4309
+ ]
4310
+ },
4311
+ {
4312
+ "type": "stat-display",
4313
+ "label": "LostDeals",
4314
+ "value": [
4315
+ "object/get",
4316
+ [
4317
+ "array/first",
4318
+ "@entity"
4319
+ ],
4320
+ "lostDeals"
4321
+ ]
4322
+ },
4323
+ {
4324
+ "type": "stat-display",
4325
+ "label": "ConversionRate",
4326
+ "value": [
4327
+ "object/get",
4328
+ [
4329
+ "array/first",
4330
+ "@entity"
4331
+ ],
4332
+ "conversionRate"
4333
+ ]
4334
+ }
4335
+ ]
2879
4336
  }
2880
4337
  ]
2881
- }
2882
- ]
2883
- },
2884
- {
2885
- "type": "card",
2886
- "children": [
4338
+ },
2887
4339
  {
2888
- "type": "stack",
2889
- "direction": "vertical",
2890
- "gap": "sm",
4340
+ "type": "divider"
4341
+ },
4342
+ {
4343
+ "type": "grid",
4344
+ "columns": 2,
4345
+ "gap": "md",
2891
4346
  "children": [
2892
4347
  {
2893
- "type": "typography",
2894
- "variant": "caption",
2895
- "content": "LostDeals"
4348
+ "type": "card",
4349
+ "children": [
4350
+ {
4351
+ "type": "typography",
4352
+ "variant": "caption",
4353
+ "content": "Chart View"
4354
+ }
4355
+ ]
2896
4356
  },
2897
4357
  {
2898
- "type": "typography",
2899
- "variant": "h3",
2900
- "content": "@entity.lostDeals"
4358
+ "type": "card",
4359
+ "children": [
4360
+ {
4361
+ "type": "typography",
4362
+ "variant": "caption",
4363
+ "content": "Graph View"
4364
+ }
4365
+ ]
2901
4366
  }
2902
4367
  ]
2903
- }
2904
- ]
2905
- },
2906
- {
2907
- "type": "card",
2908
- "children": [
4368
+ },
2909
4369
  {
2910
- "type": "stack",
2911
- "direction": "vertical",
2912
- "gap": "sm",
2913
- "children": [
4370
+ "type": "line-chart",
4371
+ "data": [
2914
4372
  {
2915
- "type": "typography",
2916
- "variant": "caption",
2917
- "content": "ConversionRate"
4373
+ "date": "Jan",
4374
+ "value": 12
2918
4375
  },
2919
4376
  {
2920
- "type": "typography",
2921
- "variant": "h3",
2922
- "content": "@entity.conversionRate"
4377
+ "date": "Feb",
4378
+ "value": 19
4379
+ },
4380
+ {
4381
+ "date": "Mar",
4382
+ "value": 15
4383
+ },
4384
+ {
4385
+ "date": "Apr",
4386
+ "value": 25
4387
+ },
4388
+ {
4389
+ "date": "May",
4390
+ "value": 22
4391
+ },
4392
+ {
4393
+ "date": "Jun",
4394
+ "value": 30
4395
+ }
4396
+ ],
4397
+ "xKey": "date",
4398
+ "yKey": "value",
4399
+ "title": "Trend"
4400
+ },
4401
+ {
4402
+ "type": "chart-legend",
4403
+ "items": [
4404
+ {
4405
+ "label": "Current",
4406
+ "color": "primary"
4407
+ },
4408
+ {
4409
+ "label": "Previous",
4410
+ "color": "muted"
2923
4411
  }
2924
4412
  ]
4413
+ },
4414
+ {
4415
+ "type": "graph-view",
4416
+ "nodes": [
4417
+ {
4418
+ "id": "a",
4419
+ "label": "Start",
4420
+ "x": 50,
4421
+ "y": 100
4422
+ },
4423
+ {
4424
+ "id": "b",
4425
+ "label": "Process",
4426
+ "x": 200,
4427
+ "y": 50
4428
+ },
4429
+ {
4430
+ "id": "c",
4431
+ "label": "End",
4432
+ "x": 350,
4433
+ "y": 100
4434
+ }
4435
+ ],
4436
+ "edges": [
4437
+ {
4438
+ "from": "a",
4439
+ "to": "b"
4440
+ },
4441
+ {
4442
+ "from": "b",
4443
+ "to": "c"
4444
+ }
4445
+ ],
4446
+ "width": 400,
4447
+ "height": 200
2925
4448
  }
2926
4449
  ]
2927
4450
  }
@@ -2983,7 +4506,7 @@
2983
4506
  },
2984
4507
  {
2985
4508
  "name": "createdAt",
2986
- "type": "string",
4509
+ "type": "date",
2987
4510
  "default": ""
2988
4511
  }
2989
4512
  ]
@@ -3052,109 +4575,113 @@
3052
4575
  "render-ui",
3053
4576
  "main",
3054
4577
  {
3055
- "type": "stack",
3056
- "direction": "vertical",
3057
- "gap": "lg",
3058
- "children": [
4578
+ "type": "dashboard-layout",
4579
+ "appName": "CRM",
4580
+ "navItems": [
3059
4581
  {
3060
- "type": "stack",
3061
- "direction": "horizontal",
3062
- "gap": "md",
3063
- "justify": "space-between",
3064
- "children": [
3065
- {
3066
- "type": "stack",
3067
- "direction": "horizontal",
3068
- "gap": "sm",
3069
- "align": "center",
3070
- "children": [
3071
- {
3072
- "type": "icon",
3073
- "name": "file-text",
3074
- "size": "lg"
3075
- },
3076
- {
3077
- "type": "typography",
3078
- "content": "Notes",
3079
- "variant": "h2"
3080
- }
3081
- ]
3082
- },
3083
- {
3084
- "type": "stack",
3085
- "direction": "horizontal",
3086
- "gap": "sm",
3087
- "children": [
3088
- {
3089
- "type": "button",
3090
- "label": "Compose",
3091
- "event": "COMPOSE",
3092
- "variant": "primary",
3093
- "icon": "edit"
3094
- }
3095
- ]
3096
- }
3097
- ]
4582
+ "label": "Contacts",
4583
+ "href": "/contacts",
4584
+ "icon": "users"
3098
4585
  },
3099
4586
  {
3100
- "type": "divider"
4587
+ "label": "Deals",
4588
+ "href": "/deals",
4589
+ "icon": "briefcase"
3101
4590
  },
3102
4591
  {
3103
- "type": "data-grid",
3104
- "entity": "Note",
3105
- "emptyIcon": "inbox",
3106
- "emptyTitle": "No messages yet",
3107
- "emptyDescription": "Start a new conversation.",
3108
- "itemActions": [
3109
- {
3110
- "label": "View",
3111
- "event": "VIEW"
3112
- }
3113
- ],
3114
- "className": "transition-shadow hover:shadow-md cursor-pointer",
4592
+ "label": "Pipeline",
4593
+ "href": "/pipeline",
4594
+ "icon": "bar-chart-2"
4595
+ },
4596
+ {
4597
+ "label": "Notes",
4598
+ "href": "/notes",
4599
+ "icon": "file-text"
4600
+ }
4601
+ ],
4602
+ "children": [
4603
+ {
4604
+ "type": "stack",
4605
+ "direction": "vertical",
4606
+ "gap": "lg",
4607
+ "className": "max-w-5xl mx-auto w-full",
3115
4608
  "children": [
3116
4609
  {
3117
4610
  "type": "stack",
3118
- "direction": "vertical",
3119
- "gap": "sm",
4611
+ "direction": "horizontal",
4612
+ "gap": "md",
4613
+ "justify": "space-between",
4614
+ "align": "center",
3120
4615
  "children": [
3121
4616
  {
3122
4617
  "type": "stack",
3123
4618
  "direction": "horizontal",
3124
- "justify": "space-between",
4619
+ "gap": "sm",
3125
4620
  "align": "center",
3126
4621
  "children": [
3127
4622
  {
3128
- "type": "stack",
3129
- "direction": "horizontal",
3130
- "gap": "sm",
3131
- "align": "center",
3132
- "children": [
3133
- {
3134
- "type": "icon",
3135
- "name": "file-text",
3136
- "size": "sm"
3137
- },
3138
- {
3139
- "type": "typography",
3140
- "variant": "h4",
3141
- "content": "@entity.subject"
3142
- }
3143
- ]
4623
+ "type": "icon",
4624
+ "name": "file-text",
4625
+ "size": "lg"
3144
4626
  },
3145
4627
  {
3146
- "type": "badge",
3147
- "label": "@entity.body"
4628
+ "type": "typography",
4629
+ "content": "Notes",
4630
+ "variant": "h2"
3148
4631
  }
3149
4632
  ]
3150
4633
  },
3151
4634
  {
3152
- "type": "typography",
3153
- "variant": "caption",
3154
- "color": "muted",
3155
- "content": "@entity.author"
4635
+ "type": "stack",
4636
+ "direction": "horizontal",
4637
+ "gap": "sm",
4638
+ "children": [
4639
+ {
4640
+ "type": "button",
4641
+ "label": "Compose",
4642
+ "event": "COMPOSE",
4643
+ "variant": "primary",
4644
+ "icon": "edit"
4645
+ }
4646
+ ]
3156
4647
  }
3157
4648
  ]
4649
+ },
4650
+ {
4651
+ "type": "divider"
4652
+ },
4653
+ {
4654
+ "type": "data-list",
4655
+ "entity": "Note",
4656
+ "emptyIcon": "inbox",
4657
+ "emptyTitle": "No messages yet",
4658
+ "emptyDescription": "Start a new conversation.",
4659
+ "itemActions": [
4660
+ {
4661
+ "label": "View",
4662
+ "event": "VIEW",
4663
+ "variant": "ghost",
4664
+ "size": "sm"
4665
+ }
4666
+ ],
4667
+ "columns": [
4668
+ {
4669
+ "name": "subject",
4670
+ "variant": "h4",
4671
+ "icon": "file-text"
4672
+ },
4673
+ {
4674
+ "name": "author",
4675
+ "variant": "caption"
4676
+ },
4677
+ {
4678
+ "name": "createdAt",
4679
+ "variant": "caption",
4680
+ "format": "date"
4681
+ }
4682
+ ],
4683
+ "variant": "card",
4684
+ "gap": "sm"
3158
4685
  }
3159
4686
  ]
3160
4687
  }
@@ -3275,8 +4802,7 @@
3275
4802
  "fields": [
3276
4803
  "subject",
3277
4804
  "body",
3278
- "author",
3279
- "createdAt"
4805
+ "author"
3280
4806
  ]
3281
4807
  }
3282
4808
  ]
@@ -3293,6 +4819,11 @@
3293
4819
  "render-ui",
3294
4820
  "modal",
3295
4821
  null
4822
+ ],
4823
+ [
4824
+ "notify",
4825
+ "Cancelled",
4826
+ "info"
3296
4827
  ]
3297
4828
  ]
3298
4829
  },
@@ -3474,7 +5005,7 @@
3474
5005
  {
3475
5006
  "type": "typography",
3476
5007
  "variant": "caption",
3477
- "content": "CreatedAt"
5008
+ "content": "Created At"
3478
5009
  },
3479
5010
  {
3480
5011
  "type": "typography",
@@ -3514,6 +5045,11 @@
3514
5045
  "render-ui",
3515
5046
  "modal",
3516
5047
  null
5048
+ ],
5049
+ [
5050
+ "notify",
5051
+ "Cancelled",
5052
+ "info"
3517
5053
  ]
3518
5054
  ]
3519
5055
  }