@almadar/std 3.2.2 → 3.3.4

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 (343) hide show
  1. package/LICENSE +72 -21
  2. package/README.md +1 -1
  3. package/behaviors/exports/atoms/std-browse.orb +38 -45
  4. package/behaviors/exports/atoms/std-calendar.orb +770 -0
  5. package/behaviors/exports/atoms/std-combat-log.orb +12 -12
  6. package/behaviors/exports/atoms/std-dialogue-box.orb +11 -11
  7. package/behaviors/exports/atoms/std-display.orb +1175 -510
  8. package/behaviors/exports/atoms/std-drawer.orb +235 -133
  9. package/behaviors/exports/atoms/std-flip-card.orb +596 -0
  10. package/behaviors/exports/atoms/std-gallery.orb +382 -0
  11. package/behaviors/exports/atoms/std-game-audio.orb +9 -9
  12. package/behaviors/exports/atoms/std-game-canvas3d.orb +24 -24
  13. package/behaviors/exports/atoms/std-game-hud.orb +10 -10
  14. package/behaviors/exports/atoms/std-game-menu.orb +12 -12
  15. package/behaviors/exports/atoms/std-game-over-screen.orb +9 -9
  16. package/behaviors/exports/atoms/std-inventory-panel.orb +13 -13
  17. package/behaviors/exports/atoms/std-isometric-canvas.orb +9 -9
  18. package/behaviors/exports/atoms/std-loading.orb +131 -103
  19. package/behaviors/exports/atoms/std-modal.orb +5 -24
  20. package/behaviors/exports/atoms/std-notification.orb +71 -0
  21. package/behaviors/exports/atoms/std-pagination.orb +32 -40
  22. package/behaviors/exports/atoms/std-platformer-canvas.orb +9 -9
  23. package/behaviors/exports/atoms/std-rating.orb +328 -0
  24. package/behaviors/exports/atoms/std-score-board.orb +9 -9
  25. package/behaviors/exports/atoms/std-score.orb +41 -0
  26. package/behaviors/exports/atoms/std-search.orb +44 -30
  27. package/behaviors/exports/atoms/std-selection.orb +30 -24
  28. package/behaviors/exports/atoms/std-service-custom-bearer.orb +557 -0
  29. package/behaviors/exports/atoms/std-service-custom-header.orb +559 -0
  30. package/behaviors/exports/atoms/std-service-custom-noauth.orb +553 -0
  31. package/behaviors/exports/atoms/std-service-custom-query.orb +559 -0
  32. package/behaviors/exports/atoms/std-service-email.orb +540 -0
  33. package/behaviors/exports/atoms/std-service-github.orb +586 -0
  34. package/behaviors/exports/atoms/std-service-llm.orb +671 -0
  35. package/behaviors/exports/atoms/std-service-oauth.orb +764 -0
  36. package/behaviors/exports/atoms/std-service-redis.orb +580 -0
  37. package/behaviors/exports/atoms/std-service-storage.orb +664 -0
  38. package/behaviors/exports/atoms/std-service-stripe.orb +639 -0
  39. package/behaviors/exports/atoms/std-service-twilio.orb +611 -0
  40. package/behaviors/exports/atoms/std-service-youtube.orb +696 -0
  41. package/behaviors/exports/atoms/std-simulation-canvas.orb +9 -9
  42. package/behaviors/exports/atoms/std-sort.orb +82 -60
  43. package/behaviors/exports/atoms/std-sprite.orb +17 -17
  44. package/behaviors/exports/atoms/std-text-effects.orb +658 -0
  45. package/behaviors/exports/atoms/std-theme.orb +573 -0
  46. package/behaviors/exports/atoms/std-upload.orb +535 -0
  47. package/behaviors/exports/atoms/std-validate-on-save.orb +623 -0
  48. package/behaviors/exports/atoms/std-wizard.orb +664 -224
  49. package/behaviors/exports/molecules/std-builder-game.orb +43 -3
  50. package/behaviors/exports/molecules/std-cart.orb +319 -101
  51. package/behaviors/exports/molecules/std-classifier-game.orb +43 -3
  52. package/behaviors/exports/molecules/std-debugger-game.orb +43 -3
  53. package/behaviors/exports/molecules/std-detail.orb +46 -49
  54. package/behaviors/exports/molecules/std-event-handler-game.orb +43 -3
  55. package/behaviors/exports/molecules/std-form-advanced.orb +654 -0
  56. package/behaviors/exports/molecules/std-geospatial.orb +48 -48
  57. package/behaviors/exports/molecules/std-inventory.orb +70 -50
  58. package/behaviors/exports/molecules/std-list.orb +174 -197
  59. package/behaviors/exports/molecules/std-messaging.orb +35 -50
  60. package/behaviors/exports/molecules/std-negotiator-game.orb +43 -3
  61. package/behaviors/exports/molecules/std-platformer-game.orb +18 -2
  62. package/behaviors/exports/molecules/std-puzzle-game.orb +32 -6
  63. package/behaviors/exports/molecules/std-quiz.orb +1069 -0
  64. package/behaviors/exports/molecules/std-sequencer-game.orb +43 -3
  65. package/behaviors/exports/molecules/std-service-content-pipeline.orb +915 -0
  66. package/behaviors/exports/molecules/std-service-custom-api-tester.orb +860 -0
  67. package/behaviors/exports/molecules/std-service-devops-toolkit.orb +1526 -0
  68. package/behaviors/exports/molecules/std-service-notification-hub.orb +696 -0
  69. package/behaviors/exports/molecules/std-service-payment-flow.orb +873 -0
  70. package/behaviors/exports/molecules/std-simulator-game.orb +43 -3
  71. package/behaviors/exports/molecules/std-turn-based-battle.orb +26 -0
  72. package/behaviors/exports/organisms/std-api-gateway.orb +2326 -1320
  73. package/behaviors/exports/organisms/std-arcade-game.orb +377 -265
  74. package/behaviors/exports/organisms/std-booking-system.orb +3144 -1855
  75. package/behaviors/exports/organisms/std-cicd-pipeline.orb +2107 -1122
  76. package/behaviors/exports/organisms/std-cms.orb +929 -822
  77. package/behaviors/exports/organisms/std-coding-academy.orb +1347 -458
  78. package/behaviors/exports/organisms/std-crm.orb +2302 -1282
  79. package/behaviors/exports/organisms/std-devops-dashboard.orb +3902 -2005
  80. package/behaviors/exports/organisms/std-ecommerce.orb +2432 -1630
  81. package/behaviors/exports/organisms/std-finance-tracker.orb +1674 -846
  82. package/behaviors/exports/organisms/std-healthcare.orb +3545 -1992
  83. package/behaviors/exports/organisms/std-helpdesk.orb +1853 -940
  84. package/behaviors/exports/organisms/std-hr-portal.orb +3249 -1939
  85. package/behaviors/exports/organisms/std-iot-dashboard.orb +2422 -1418
  86. package/behaviors/exports/organisms/std-lms.orb +2495 -1435
  87. package/behaviors/exports/organisms/std-logic-training.orb +220 -66
  88. package/behaviors/exports/organisms/std-platformer-app.orb +345 -214
  89. package/behaviors/exports/organisms/std-project-manager.orb +2217 -1190
  90. package/behaviors/exports/organisms/std-puzzle-app.orb +228 -103
  91. package/behaviors/exports/organisms/std-realtime-chat.orb +1887 -1051
  92. package/behaviors/exports/organisms/std-rpg-game.orb +1170 -948
  93. package/behaviors/exports/organisms/std-service-marketplace.orb +5191 -0
  94. package/behaviors/exports/organisms/std-service-research-assistant.orb +3568 -0
  95. package/behaviors/exports/organisms/std-social-feed.orb +184 -172
  96. package/behaviors/exports/organisms/std-stem-lab.orb +1308 -482
  97. package/behaviors/exports/organisms/std-strategy-game.orb +1520 -696
  98. package/behaviors/exports/organisms/std-trading-dashboard.orb +1884 -904
  99. package/behaviors/exports/test-schemas/os-trigger-simulation.orb +202 -0
  100. package/behaviors/exports/validation-report.json +0 -747
  101. package/dist/behaviors/exports/atoms/std-browse.orb +38 -45
  102. package/dist/behaviors/exports/atoms/std-calendar.orb +770 -0
  103. package/dist/behaviors/exports/atoms/std-combat-log.orb +12 -12
  104. package/dist/behaviors/exports/atoms/std-dialogue-box.orb +11 -11
  105. package/dist/behaviors/exports/atoms/std-display.orb +1175 -510
  106. package/dist/behaviors/exports/atoms/std-drawer.orb +235 -133
  107. package/dist/behaviors/exports/atoms/std-flip-card.orb +596 -0
  108. package/dist/behaviors/exports/atoms/std-gallery.orb +382 -0
  109. package/dist/behaviors/exports/atoms/std-game-audio.orb +9 -9
  110. package/dist/behaviors/exports/atoms/std-game-canvas3d.orb +24 -24
  111. package/dist/behaviors/exports/atoms/std-game-hud.orb +10 -10
  112. package/dist/behaviors/exports/atoms/std-game-menu.orb +12 -12
  113. package/dist/behaviors/exports/atoms/std-game-over-screen.orb +9 -9
  114. package/dist/behaviors/exports/atoms/std-inventory-panel.orb +13 -13
  115. package/dist/behaviors/exports/atoms/std-isometric-canvas.orb +9 -9
  116. package/dist/behaviors/exports/atoms/std-loading.orb +131 -103
  117. package/dist/behaviors/exports/atoms/std-modal.orb +5 -24
  118. package/dist/behaviors/exports/atoms/std-notification.orb +71 -0
  119. package/dist/behaviors/exports/atoms/std-pagination.orb +32 -40
  120. package/dist/behaviors/exports/atoms/std-platformer-canvas.orb +9 -9
  121. package/dist/behaviors/exports/atoms/std-rating.orb +328 -0
  122. package/dist/behaviors/exports/atoms/std-score-board.orb +9 -9
  123. package/dist/behaviors/exports/atoms/std-score.orb +41 -0
  124. package/dist/behaviors/exports/atoms/std-search.orb +44 -30
  125. package/dist/behaviors/exports/atoms/std-selection.orb +30 -24
  126. package/dist/behaviors/exports/atoms/std-service-custom-bearer.orb +557 -0
  127. package/dist/behaviors/exports/atoms/std-service-custom-header.orb +559 -0
  128. package/dist/behaviors/exports/atoms/std-service-custom-noauth.orb +553 -0
  129. package/dist/behaviors/exports/atoms/std-service-custom-query.orb +559 -0
  130. package/dist/behaviors/exports/atoms/std-service-email.orb +540 -0
  131. package/dist/behaviors/exports/atoms/std-service-github.orb +586 -0
  132. package/dist/behaviors/exports/atoms/std-service-llm.orb +671 -0
  133. package/dist/behaviors/exports/atoms/std-service-oauth.orb +764 -0
  134. package/dist/behaviors/exports/atoms/std-service-redis.orb +580 -0
  135. package/dist/behaviors/exports/atoms/std-service-storage.orb +664 -0
  136. package/dist/behaviors/exports/atoms/std-service-stripe.orb +639 -0
  137. package/dist/behaviors/exports/atoms/std-service-twilio.orb +611 -0
  138. package/dist/behaviors/exports/atoms/std-service-youtube.orb +696 -0
  139. package/dist/behaviors/exports/atoms/std-simulation-canvas.orb +9 -9
  140. package/dist/behaviors/exports/atoms/std-sort.orb +82 -60
  141. package/dist/behaviors/exports/atoms/std-sprite.orb +17 -17
  142. package/dist/behaviors/exports/atoms/std-text-effects.orb +658 -0
  143. package/dist/behaviors/exports/atoms/std-theme.orb +573 -0
  144. package/dist/behaviors/exports/atoms/std-upload.orb +535 -0
  145. package/dist/behaviors/exports/atoms/std-validate-on-save.orb +623 -0
  146. package/dist/behaviors/exports/atoms/std-wizard.orb +664 -224
  147. package/dist/behaviors/exports/molecules/std-builder-game.orb +43 -3
  148. package/dist/behaviors/exports/molecules/std-cart.orb +319 -101
  149. package/dist/behaviors/exports/molecules/std-classifier-game.orb +43 -3
  150. package/dist/behaviors/exports/molecules/std-debugger-game.orb +43 -3
  151. package/dist/behaviors/exports/molecules/std-detail.orb +46 -49
  152. package/dist/behaviors/exports/molecules/std-event-handler-game.orb +43 -3
  153. package/dist/behaviors/exports/molecules/std-form-advanced.orb +654 -0
  154. package/dist/behaviors/exports/molecules/std-geospatial.orb +48 -48
  155. package/dist/behaviors/exports/molecules/std-inventory.orb +70 -50
  156. package/dist/behaviors/exports/molecules/std-list.orb +174 -197
  157. package/dist/behaviors/exports/molecules/std-messaging.orb +35 -50
  158. package/dist/behaviors/exports/molecules/std-negotiator-game.orb +43 -3
  159. package/dist/behaviors/exports/molecules/std-platformer-game.orb +18 -2
  160. package/dist/behaviors/exports/molecules/std-puzzle-game.orb +32 -6
  161. package/dist/behaviors/exports/molecules/std-quiz.orb +1069 -0
  162. package/dist/behaviors/exports/molecules/std-sequencer-game.orb +43 -3
  163. package/dist/behaviors/exports/molecules/std-service-content-pipeline.orb +915 -0
  164. package/dist/behaviors/exports/molecules/std-service-custom-api-tester.orb +860 -0
  165. package/dist/behaviors/exports/molecules/std-service-devops-toolkit.orb +1526 -0
  166. package/dist/behaviors/exports/molecules/std-service-notification-hub.orb +696 -0
  167. package/dist/behaviors/exports/molecules/std-service-payment-flow.orb +873 -0
  168. package/dist/behaviors/exports/molecules/std-simulator-game.orb +43 -3
  169. package/dist/behaviors/exports/molecules/std-turn-based-battle.orb +26 -0
  170. package/dist/behaviors/exports/organisms/std-api-gateway.orb +2326 -1320
  171. package/dist/behaviors/exports/organisms/std-arcade-game.orb +377 -265
  172. package/dist/behaviors/exports/organisms/std-booking-system.orb +3144 -1855
  173. package/dist/behaviors/exports/organisms/std-cicd-pipeline.orb +2107 -1122
  174. package/dist/behaviors/exports/organisms/std-cms.orb +929 -822
  175. package/dist/behaviors/exports/organisms/std-coding-academy.orb +1347 -458
  176. package/dist/behaviors/exports/organisms/std-crm.orb +2302 -1282
  177. package/dist/behaviors/exports/organisms/std-devops-dashboard.orb +3902 -2005
  178. package/dist/behaviors/exports/organisms/std-ecommerce.orb +2432 -1630
  179. package/dist/behaviors/exports/organisms/std-finance-tracker.orb +1674 -846
  180. package/dist/behaviors/exports/organisms/std-healthcare.orb +3545 -1992
  181. package/dist/behaviors/exports/organisms/std-helpdesk.orb +1853 -940
  182. package/dist/behaviors/exports/organisms/std-hr-portal.orb +3249 -1939
  183. package/dist/behaviors/exports/organisms/std-iot-dashboard.orb +2422 -1418
  184. package/dist/behaviors/exports/organisms/std-lms.orb +2495 -1435
  185. package/dist/behaviors/exports/organisms/std-logic-training.orb +220 -66
  186. package/dist/behaviors/exports/organisms/std-platformer-app.orb +345 -214
  187. package/dist/behaviors/exports/organisms/std-project-manager.orb +2217 -1190
  188. package/dist/behaviors/exports/organisms/std-puzzle-app.orb +228 -103
  189. package/dist/behaviors/exports/organisms/std-realtime-chat.orb +1887 -1051
  190. package/dist/behaviors/exports/organisms/std-rpg-game.orb +1170 -948
  191. package/dist/behaviors/exports/organisms/std-service-marketplace.orb +5191 -0
  192. package/dist/behaviors/exports/organisms/std-service-research-assistant.orb +3568 -0
  193. package/dist/behaviors/exports/organisms/std-social-feed.orb +184 -172
  194. package/dist/behaviors/exports/organisms/std-stem-lab.orb +1308 -482
  195. package/dist/behaviors/exports/organisms/std-strategy-game.orb +1520 -696
  196. package/dist/behaviors/exports/organisms/std-trading-dashboard.orb +1884 -904
  197. package/dist/behaviors/exports/test-schemas/os-trigger-simulation.orb +202 -0
  198. package/dist/behaviors/exports/validation-report.json +0 -747
  199. package/dist/behaviors/functions/index.d.ts +931 -1
  200. package/dist/behaviors/functions/index.js +12511 -4634
  201. package/dist/behaviors/functions/index.js.map +1 -1
  202. package/dist/behaviors/index.d.ts +1 -1
  203. package/dist/behaviors/index.js +12434 -4557
  204. package/dist/behaviors/index.js.map +1 -1
  205. package/dist/exports/atoms/std-browse.orb +38 -45
  206. package/dist/exports/atoms/std-calendar.orb +770 -0
  207. package/dist/exports/atoms/std-combat-log.orb +12 -12
  208. package/dist/exports/atoms/std-dialogue-box.orb +11 -11
  209. package/dist/exports/atoms/std-display.orb +1175 -510
  210. package/dist/exports/atoms/std-drawer.orb +235 -133
  211. package/dist/exports/atoms/std-flip-card.orb +596 -0
  212. package/dist/exports/atoms/std-gallery.orb +382 -0
  213. package/dist/exports/atoms/std-game-audio.orb +9 -9
  214. package/dist/exports/atoms/std-game-canvas3d.orb +24 -24
  215. package/dist/exports/atoms/std-game-hud.orb +10 -10
  216. package/dist/exports/atoms/std-game-menu.orb +12 -12
  217. package/dist/exports/atoms/std-game-over-screen.orb +9 -9
  218. package/dist/exports/atoms/std-inventory-panel.orb +13 -13
  219. package/dist/exports/atoms/std-isometric-canvas.orb +9 -9
  220. package/dist/exports/atoms/std-loading.orb +131 -103
  221. package/dist/exports/atoms/std-modal.orb +5 -24
  222. package/dist/exports/atoms/std-notification.orb +71 -0
  223. package/dist/exports/atoms/std-pagination.orb +32 -40
  224. package/dist/exports/atoms/std-platformer-canvas.orb +9 -9
  225. package/dist/exports/atoms/std-rating.orb +328 -0
  226. package/dist/exports/atoms/std-score-board.orb +9 -9
  227. package/dist/exports/atoms/std-score.orb +41 -0
  228. package/dist/exports/atoms/std-search.orb +44 -30
  229. package/dist/exports/atoms/std-selection.orb +30 -24
  230. package/dist/exports/atoms/std-service-custom-bearer.orb +557 -0
  231. package/dist/exports/atoms/std-service-custom-header.orb +559 -0
  232. package/dist/exports/atoms/std-service-custom-noauth.orb +553 -0
  233. package/dist/exports/atoms/std-service-custom-query.orb +559 -0
  234. package/dist/exports/atoms/std-service-email.orb +540 -0
  235. package/dist/exports/atoms/std-service-github.orb +586 -0
  236. package/dist/exports/atoms/std-service-llm.orb +671 -0
  237. package/dist/exports/atoms/std-service-oauth.orb +764 -0
  238. package/dist/exports/atoms/std-service-redis.orb +580 -0
  239. package/dist/exports/atoms/std-service-storage.orb +664 -0
  240. package/dist/exports/atoms/std-service-stripe.orb +639 -0
  241. package/dist/exports/atoms/std-service-twilio.orb +611 -0
  242. package/dist/exports/atoms/std-service-youtube.orb +696 -0
  243. package/dist/exports/atoms/std-simulation-canvas.orb +9 -9
  244. package/dist/exports/atoms/std-sort.orb +82 -60
  245. package/dist/exports/atoms/std-sprite.orb +17 -17
  246. package/dist/exports/atoms/std-text-effects.orb +658 -0
  247. package/dist/exports/atoms/std-theme.orb +573 -0
  248. package/dist/exports/atoms/std-upload.orb +535 -0
  249. package/dist/exports/atoms/std-validate-on-save.orb +623 -0
  250. package/dist/exports/atoms/std-wizard.orb +664 -224
  251. package/dist/exports/molecules/std-builder-game.orb +43 -3
  252. package/dist/exports/molecules/std-cart.orb +319 -101
  253. package/dist/exports/molecules/std-classifier-game.orb +43 -3
  254. package/dist/exports/molecules/std-debugger-game.orb +43 -3
  255. package/dist/exports/molecules/std-detail.orb +46 -49
  256. package/dist/exports/molecules/std-event-handler-game.orb +43 -3
  257. package/dist/exports/molecules/std-form-advanced.orb +654 -0
  258. package/dist/exports/molecules/std-geospatial.orb +48 -48
  259. package/dist/exports/molecules/std-inventory.orb +70 -50
  260. package/dist/exports/molecules/std-list.orb +174 -197
  261. package/dist/exports/molecules/std-messaging.orb +35 -50
  262. package/dist/exports/molecules/std-negotiator-game.orb +43 -3
  263. package/dist/exports/molecules/std-platformer-game.orb +18 -2
  264. package/dist/exports/molecules/std-puzzle-game.orb +32 -6
  265. package/dist/exports/molecules/std-quiz.orb +1069 -0
  266. package/dist/exports/molecules/std-sequencer-game.orb +43 -3
  267. package/dist/exports/molecules/std-service-content-pipeline.orb +915 -0
  268. package/dist/exports/molecules/std-service-custom-api-tester.orb +860 -0
  269. package/dist/exports/molecules/std-service-devops-toolkit.orb +1526 -0
  270. package/dist/exports/molecules/std-service-notification-hub.orb +696 -0
  271. package/dist/exports/molecules/std-service-payment-flow.orb +873 -0
  272. package/dist/exports/molecules/std-simulator-game.orb +43 -3
  273. package/dist/exports/molecules/std-turn-based-battle.orb +26 -0
  274. package/dist/exports/organisms/std-api-gateway.orb +2326 -1320
  275. package/dist/exports/organisms/std-arcade-game.orb +377 -265
  276. package/dist/exports/organisms/std-booking-system.orb +3144 -1855
  277. package/dist/exports/organisms/std-cicd-pipeline.orb +2107 -1122
  278. package/dist/exports/organisms/std-cms.orb +929 -822
  279. package/dist/exports/organisms/std-coding-academy.orb +1347 -458
  280. package/dist/exports/organisms/std-crm.orb +2302 -1282
  281. package/dist/exports/organisms/std-devops-dashboard.orb +3902 -2005
  282. package/dist/exports/organisms/std-ecommerce.orb +2432 -1630
  283. package/dist/exports/organisms/std-finance-tracker.orb +1674 -846
  284. package/dist/exports/organisms/std-healthcare.orb +3545 -1992
  285. package/dist/exports/organisms/std-helpdesk.orb +1853 -940
  286. package/dist/exports/organisms/std-hr-portal.orb +3249 -1939
  287. package/dist/exports/organisms/std-iot-dashboard.orb +2422 -1418
  288. package/dist/exports/organisms/std-lms.orb +2495 -1435
  289. package/dist/exports/organisms/std-logic-training.orb +220 -66
  290. package/dist/exports/organisms/std-platformer-app.orb +345 -214
  291. package/dist/exports/organisms/std-project-manager.orb +2217 -1190
  292. package/dist/exports/organisms/std-puzzle-app.orb +228 -103
  293. package/dist/exports/organisms/std-realtime-chat.orb +1887 -1051
  294. package/dist/exports/organisms/std-rpg-game.orb +1170 -948
  295. package/dist/exports/organisms/std-service-marketplace.orb +5191 -0
  296. package/dist/exports/organisms/std-service-research-assistant.orb +3568 -0
  297. package/dist/exports/organisms/std-social-feed.orb +184 -172
  298. package/dist/exports/organisms/std-stem-lab.orb +1308 -482
  299. package/dist/exports/organisms/std-strategy-game.orb +1520 -696
  300. package/dist/exports/organisms/std-trading-dashboard.orb +1884 -904
  301. package/dist/exports/test-schemas/os-trigger-simulation.orb +202 -0
  302. package/dist/exports/validation-report.json +0 -747
  303. package/dist/index.d.ts +3 -3
  304. package/dist/index.js +12826 -4799
  305. package/dist/index.js.map +1 -1
  306. package/dist/modules/array.d.ts +1 -1
  307. package/dist/modules/async.d.ts +1 -1
  308. package/dist/modules/contract.d.ts +22 -0
  309. package/dist/modules/contract.js +100 -0
  310. package/dist/modules/contract.js.map +1 -0
  311. package/dist/modules/data.d.ts +22 -0
  312. package/dist/modules/data.js +117 -0
  313. package/dist/modules/data.js.map +1 -0
  314. package/dist/modules/format.d.ts +1 -1
  315. package/dist/modules/graph.d.ts +23 -0
  316. package/dist/modules/graph.js +209 -0
  317. package/dist/modules/graph.js.map +1 -0
  318. package/dist/modules/index.d.ts +5 -1
  319. package/dist/modules/index.js +593 -63
  320. package/dist/modules/index.js.map +1 -1
  321. package/dist/modules/math.d.ts +1 -1
  322. package/dist/modules/nn.d.ts +1 -1
  323. package/dist/modules/nn.js +14 -14
  324. package/dist/modules/nn.js.map +1 -1
  325. package/dist/modules/object.d.ts +1 -1
  326. package/dist/modules/os.d.ts +19 -0
  327. package/dist/modules/os.js +116 -0
  328. package/dist/modules/os.js.map +1 -0
  329. package/dist/modules/prob.d.ts +1 -1
  330. package/dist/modules/str.d.ts +1 -1
  331. package/dist/modules/tensor.d.ts +1 -1
  332. package/dist/modules/tensor.js +29 -29
  333. package/dist/modules/tensor.js.map +1 -1
  334. package/dist/modules/time.d.ts +1 -1
  335. package/dist/modules/train.d.ts +1 -1
  336. package/dist/modules/train.js +19 -19
  337. package/dist/modules/train.js.map +1 -1
  338. package/dist/modules/validate.d.ts +1 -1
  339. package/dist/registry.d.ts +2 -2
  340. package/dist/registry.js +184 -65
  341. package/dist/registry.js.map +1 -1
  342. package/dist/{types-CmNM_IbV.d.ts → types-DOeGXRCm.d.ts} +3 -3
  343. package/package.json +2 -2
@@ -85,96 +85,252 @@
85
85
  "render-ui",
86
86
  "main",
87
87
  {
88
- "type": "stack",
89
- "direction": "vertical",
90
- "gap": "lg",
88
+ "type": "dashboard-layout",
89
+ "appName": "Trading Dashboard",
90
+ "navItems": [
91
+ {
92
+ "label": "Portfolio",
93
+ "href": "/portfolio",
94
+ "icon": "layout-list"
95
+ },
96
+ {
97
+ "label": "Orders",
98
+ "href": "/orders",
99
+ "icon": "clipboard-list"
100
+ },
101
+ {
102
+ "label": "Market",
103
+ "href": "/market",
104
+ "icon": "layout-list"
105
+ }
106
+ ],
91
107
  "children": [
92
108
  {
93
- "type": "stack",
94
- "direction": "horizontal",
95
- "gap": "md",
96
- "justify": "space-between",
109
+ "type": "scaled-diagram",
97
110
  "children": [
98
111
  {
99
112
  "type": "stack",
100
- "direction": "horizontal",
101
- "gap": "md",
113
+ "direction": "vertical",
114
+ "gap": "lg",
102
115
  "children": [
103
116
  {
104
- "type": "icon",
105
- "name": "trending-up",
106
- "size": "lg"
117
+ "type": "breadcrumb",
118
+ "items": [
119
+ {
120
+ "label": "Home",
121
+ "href": "/"
122
+ },
123
+ {
124
+ "label": "Portfolio"
125
+ }
126
+ ]
107
127
  },
108
128
  {
109
- "type": "typography",
110
- "content": "Portfolio",
111
- "variant": "h2"
129
+ "type": "stack",
130
+ "direction": "horizontal",
131
+ "gap": "md",
132
+ "justify": "space-between",
133
+ "children": [
134
+ {
135
+ "type": "stack",
136
+ "direction": "horizontal",
137
+ "gap": "md",
138
+ "children": [
139
+ {
140
+ "type": "icon",
141
+ "name": "trending-up",
142
+ "size": "lg"
143
+ },
144
+ {
145
+ "type": "typography",
146
+ "content": "Portfolio",
147
+ "variant": "h2"
148
+ }
149
+ ]
150
+ },
151
+ {
152
+ "type": "button",
153
+ "label": "Refresh",
154
+ "event": "REFRESH",
155
+ "variant": "secondary",
156
+ "icon": "refresh-cw"
157
+ }
158
+ ]
159
+ },
160
+ {
161
+ "type": "divider"
162
+ },
163
+ {
164
+ "type": "box",
165
+ "padding": "md",
166
+ "children": [
167
+ {
168
+ "type": "simple-grid",
169
+ "columns": 3,
170
+ "children": [
171
+ {
172
+ "type": "stat-display",
173
+ "label": "TotalValue",
174
+ "value": [
175
+ "object/get",
176
+ [
177
+ "array/first",
178
+ "@entity"
179
+ ],
180
+ "totalValue"
181
+ ]
182
+ },
183
+ {
184
+ "type": "stat-display",
185
+ "label": "DailyChange",
186
+ "value": [
187
+ "object/get",
188
+ [
189
+ "array/first",
190
+ "@entity"
191
+ ],
192
+ "dailyChange"
193
+ ]
194
+ },
195
+ {
196
+ "type": "stat-display",
197
+ "label": "Positions",
198
+ "value": [
199
+ "object/get",
200
+ [
201
+ "array/first",
202
+ "@entity"
203
+ ],
204
+ "positions"
205
+ ]
206
+ },
207
+ {
208
+ "type": "stat-display",
209
+ "label": "CashBalance",
210
+ "value": [
211
+ "object/get",
212
+ [
213
+ "array/first",
214
+ "@entity"
215
+ ],
216
+ "cashBalance"
217
+ ]
218
+ }
219
+ ]
220
+ }
221
+ ]
222
+ },
223
+ {
224
+ "type": "divider"
225
+ },
226
+ {
227
+ "type": "grid",
228
+ "columns": 2,
229
+ "gap": "md",
230
+ "children": [
231
+ {
232
+ "type": "card",
233
+ "children": [
234
+ {
235
+ "type": "typography",
236
+ "variant": "caption",
237
+ "content": "Chart View"
238
+ }
239
+ ]
240
+ },
241
+ {
242
+ "type": "card",
243
+ "children": [
244
+ {
245
+ "type": "typography",
246
+ "variant": "caption",
247
+ "content": "Graph View"
248
+ }
249
+ ]
250
+ }
251
+ ]
252
+ },
253
+ {
254
+ "type": "line-chart",
255
+ "data": [
256
+ {
257
+ "date": "Jan",
258
+ "value": 12
259
+ },
260
+ {
261
+ "date": "Feb",
262
+ "value": 19
263
+ },
264
+ {
265
+ "date": "Mar",
266
+ "value": 15
267
+ },
268
+ {
269
+ "date": "Apr",
270
+ "value": 25
271
+ },
272
+ {
273
+ "date": "May",
274
+ "value": 22
275
+ },
276
+ {
277
+ "date": "Jun",
278
+ "value": 30
279
+ }
280
+ ],
281
+ "xKey": "date",
282
+ "yKey": "value",
283
+ "title": "Trend"
284
+ },
285
+ {
286
+ "type": "chart-legend",
287
+ "items": [
288
+ {
289
+ "label": "Current",
290
+ "color": "primary"
291
+ },
292
+ {
293
+ "label": "Previous",
294
+ "color": "muted"
295
+ }
296
+ ]
297
+ },
298
+ {
299
+ "type": "graph-view",
300
+ "nodes": [
301
+ {
302
+ "id": "a",
303
+ "label": "Start",
304
+ "x": 50,
305
+ "y": 100
306
+ },
307
+ {
308
+ "id": "b",
309
+ "label": "Process",
310
+ "x": 200,
311
+ "y": 50
312
+ },
313
+ {
314
+ "id": "c",
315
+ "label": "End",
316
+ "x": 350,
317
+ "y": 100
318
+ }
319
+ ],
320
+ "edges": [
321
+ {
322
+ "from": "a",
323
+ "to": "b"
324
+ },
325
+ {
326
+ "from": "b",
327
+ "to": "c"
328
+ }
329
+ ],
330
+ "width": 400,
331
+ "height": 200
112
332
  }
113
333
  ]
114
- },
115
- {
116
- "type": "button",
117
- "label": "Refresh",
118
- "event": "REFRESH",
119
- "variant": "secondary",
120
- "icon": "refresh-cw"
121
- }
122
- ]
123
- },
124
- {
125
- "type": "divider"
126
- },
127
- {
128
- "type": "simple-grid",
129
- "columns": 3,
130
- "children": [
131
- {
132
- "type": "stat-display",
133
- "label": "TotalValue",
134
- "value": [
135
- "object/get",
136
- [
137
- "array/first",
138
- "@entity"
139
- ],
140
- "totalValue"
141
- ]
142
- },
143
- {
144
- "type": "stat-display",
145
- "label": "DailyChange",
146
- "value": [
147
- "object/get",
148
- [
149
- "array/first",
150
- "@entity"
151
- ],
152
- "dailyChange"
153
- ]
154
- },
155
- {
156
- "type": "stat-display",
157
- "label": "Positions",
158
- "value": [
159
- "object/get",
160
- [
161
- "array/first",
162
- "@entity"
163
- ],
164
- "positions"
165
- ]
166
- },
167
- {
168
- "type": "stat-display",
169
- "label": "CashBalance",
170
- "value": [
171
- "object/get",
172
- [
173
- "array/first",
174
- "@entity"
175
- ],
176
- "cashBalance"
177
- ]
178
334
  }
179
335
  ]
180
336
  }
@@ -196,96 +352,252 @@
196
352
  "render-ui",
197
353
  "main",
198
354
  {
199
- "type": "stack",
200
- "direction": "vertical",
201
- "gap": "lg",
355
+ "type": "dashboard-layout",
356
+ "appName": "Trading Dashboard",
357
+ "navItems": [
358
+ {
359
+ "label": "Portfolio",
360
+ "href": "/portfolio",
361
+ "icon": "layout-list"
362
+ },
363
+ {
364
+ "label": "Orders",
365
+ "href": "/orders",
366
+ "icon": "clipboard-list"
367
+ },
368
+ {
369
+ "label": "Market",
370
+ "href": "/market",
371
+ "icon": "layout-list"
372
+ }
373
+ ],
202
374
  "children": [
203
375
  {
204
- "type": "stack",
205
- "direction": "horizontal",
206
- "gap": "md",
207
- "justify": "space-between",
376
+ "type": "scaled-diagram",
208
377
  "children": [
209
378
  {
210
379
  "type": "stack",
211
- "direction": "horizontal",
212
- "gap": "md",
380
+ "direction": "vertical",
381
+ "gap": "lg",
213
382
  "children": [
214
383
  {
215
- "type": "icon",
216
- "name": "trending-up",
217
- "size": "lg"
384
+ "type": "breadcrumb",
385
+ "items": [
386
+ {
387
+ "label": "Home",
388
+ "href": "/"
389
+ },
390
+ {
391
+ "label": "Portfolio"
392
+ }
393
+ ]
218
394
  },
219
395
  {
220
- "type": "typography",
221
- "content": "Portfolio",
222
- "variant": "h2"
396
+ "type": "stack",
397
+ "direction": "horizontal",
398
+ "gap": "md",
399
+ "justify": "space-between",
400
+ "children": [
401
+ {
402
+ "type": "stack",
403
+ "direction": "horizontal",
404
+ "gap": "md",
405
+ "children": [
406
+ {
407
+ "type": "icon",
408
+ "name": "trending-up",
409
+ "size": "lg"
410
+ },
411
+ {
412
+ "type": "typography",
413
+ "content": "Portfolio",
414
+ "variant": "h2"
415
+ }
416
+ ]
417
+ },
418
+ {
419
+ "type": "button",
420
+ "label": "Refresh",
421
+ "event": "REFRESH",
422
+ "variant": "secondary",
423
+ "icon": "refresh-cw"
424
+ }
425
+ ]
426
+ },
427
+ {
428
+ "type": "divider"
429
+ },
430
+ {
431
+ "type": "box",
432
+ "padding": "md",
433
+ "children": [
434
+ {
435
+ "type": "simple-grid",
436
+ "columns": 3,
437
+ "children": [
438
+ {
439
+ "type": "stat-display",
440
+ "label": "TotalValue",
441
+ "value": [
442
+ "object/get",
443
+ [
444
+ "array/first",
445
+ "@entity"
446
+ ],
447
+ "totalValue"
448
+ ]
449
+ },
450
+ {
451
+ "type": "stat-display",
452
+ "label": "DailyChange",
453
+ "value": [
454
+ "object/get",
455
+ [
456
+ "array/first",
457
+ "@entity"
458
+ ],
459
+ "dailyChange"
460
+ ]
461
+ },
462
+ {
463
+ "type": "stat-display",
464
+ "label": "Positions",
465
+ "value": [
466
+ "object/get",
467
+ [
468
+ "array/first",
469
+ "@entity"
470
+ ],
471
+ "positions"
472
+ ]
473
+ },
474
+ {
475
+ "type": "stat-display",
476
+ "label": "CashBalance",
477
+ "value": [
478
+ "object/get",
479
+ [
480
+ "array/first",
481
+ "@entity"
482
+ ],
483
+ "cashBalance"
484
+ ]
485
+ }
486
+ ]
487
+ }
488
+ ]
489
+ },
490
+ {
491
+ "type": "divider"
492
+ },
493
+ {
494
+ "type": "grid",
495
+ "columns": 2,
496
+ "gap": "md",
497
+ "children": [
498
+ {
499
+ "type": "card",
500
+ "children": [
501
+ {
502
+ "type": "typography",
503
+ "variant": "caption",
504
+ "content": "Chart View"
505
+ }
506
+ ]
507
+ },
508
+ {
509
+ "type": "card",
510
+ "children": [
511
+ {
512
+ "type": "typography",
513
+ "variant": "caption",
514
+ "content": "Graph View"
515
+ }
516
+ ]
517
+ }
518
+ ]
519
+ },
520
+ {
521
+ "type": "line-chart",
522
+ "data": [
523
+ {
524
+ "date": "Jan",
525
+ "value": 12
526
+ },
527
+ {
528
+ "date": "Feb",
529
+ "value": 19
530
+ },
531
+ {
532
+ "date": "Mar",
533
+ "value": 15
534
+ },
535
+ {
536
+ "date": "Apr",
537
+ "value": 25
538
+ },
539
+ {
540
+ "date": "May",
541
+ "value": 22
542
+ },
543
+ {
544
+ "date": "Jun",
545
+ "value": 30
546
+ }
547
+ ],
548
+ "xKey": "date",
549
+ "yKey": "value",
550
+ "title": "Trend"
551
+ },
552
+ {
553
+ "type": "chart-legend",
554
+ "items": [
555
+ {
556
+ "label": "Current",
557
+ "color": "primary"
558
+ },
559
+ {
560
+ "label": "Previous",
561
+ "color": "muted"
562
+ }
563
+ ]
564
+ },
565
+ {
566
+ "type": "graph-view",
567
+ "nodes": [
568
+ {
569
+ "id": "a",
570
+ "label": "Start",
571
+ "x": 50,
572
+ "y": 100
573
+ },
574
+ {
575
+ "id": "b",
576
+ "label": "Process",
577
+ "x": 200,
578
+ "y": 50
579
+ },
580
+ {
581
+ "id": "c",
582
+ "label": "End",
583
+ "x": 350,
584
+ "y": 100
585
+ }
586
+ ],
587
+ "edges": [
588
+ {
589
+ "from": "a",
590
+ "to": "b"
591
+ },
592
+ {
593
+ "from": "b",
594
+ "to": "c"
595
+ }
596
+ ],
597
+ "width": 400,
598
+ "height": 200
223
599
  }
224
600
  ]
225
- },
226
- {
227
- "type": "button",
228
- "label": "Refresh",
229
- "event": "REFRESH",
230
- "variant": "secondary",
231
- "icon": "refresh-cw"
232
- }
233
- ]
234
- },
235
- {
236
- "type": "divider"
237
- },
238
- {
239
- "type": "simple-grid",
240
- "columns": 3,
241
- "children": [
242
- {
243
- "type": "stat-display",
244
- "label": "TotalValue",
245
- "value": [
246
- "object/get",
247
- [
248
- "array/first",
249
- "@entity"
250
- ],
251
- "totalValue"
252
- ]
253
- },
254
- {
255
- "type": "stat-display",
256
- "label": "DailyChange",
257
- "value": [
258
- "object/get",
259
- [
260
- "array/first",
261
- "@entity"
262
- ],
263
- "dailyChange"
264
- ]
265
- },
266
- {
267
- "type": "stat-display",
268
- "label": "Positions",
269
- "value": [
270
- "object/get",
271
- [
272
- "array/first",
273
- "@entity"
274
- ],
275
- "positions"
276
- ]
277
- },
278
- {
279
- "type": "stat-display",
280
- "label": "CashBalance",
281
- "value": [
282
- "object/get",
283
- [
284
- "array/first",
285
- "@entity"
286
- ],
287
- "cashBalance"
288
- ]
289
601
  }
290
602
  ]
291
603
  }
@@ -307,96 +619,252 @@
307
619
  "render-ui",
308
620
  "main",
309
621
  {
310
- "type": "stack",
311
- "direction": "vertical",
312
- "gap": "lg",
622
+ "type": "dashboard-layout",
623
+ "appName": "Trading Dashboard",
624
+ "navItems": [
625
+ {
626
+ "label": "Portfolio",
627
+ "href": "/portfolio",
628
+ "icon": "layout-list"
629
+ },
630
+ {
631
+ "label": "Orders",
632
+ "href": "/orders",
633
+ "icon": "clipboard-list"
634
+ },
635
+ {
636
+ "label": "Market",
637
+ "href": "/market",
638
+ "icon": "layout-list"
639
+ }
640
+ ],
313
641
  "children": [
314
642
  {
315
- "type": "stack",
316
- "direction": "horizontal",
317
- "gap": "md",
318
- "justify": "space-between",
643
+ "type": "scaled-diagram",
319
644
  "children": [
320
645
  {
321
646
  "type": "stack",
322
- "direction": "horizontal",
323
- "gap": "md",
647
+ "direction": "vertical",
648
+ "gap": "lg",
324
649
  "children": [
325
650
  {
326
- "type": "icon",
327
- "name": "trending-up",
328
- "size": "lg"
651
+ "type": "breadcrumb",
652
+ "items": [
653
+ {
654
+ "label": "Home",
655
+ "href": "/"
656
+ },
657
+ {
658
+ "label": "Portfolio"
659
+ }
660
+ ]
329
661
  },
330
662
  {
331
- "type": "typography",
332
- "content": "Portfolio",
333
- "variant": "h2"
663
+ "type": "stack",
664
+ "direction": "horizontal",
665
+ "gap": "md",
666
+ "justify": "space-between",
667
+ "children": [
668
+ {
669
+ "type": "stack",
670
+ "direction": "horizontal",
671
+ "gap": "md",
672
+ "children": [
673
+ {
674
+ "type": "icon",
675
+ "name": "trending-up",
676
+ "size": "lg"
677
+ },
678
+ {
679
+ "type": "typography",
680
+ "content": "Portfolio",
681
+ "variant": "h2"
682
+ }
683
+ ]
684
+ },
685
+ {
686
+ "type": "button",
687
+ "label": "Refresh",
688
+ "event": "REFRESH",
689
+ "variant": "secondary",
690
+ "icon": "refresh-cw"
691
+ }
692
+ ]
693
+ },
694
+ {
695
+ "type": "divider"
696
+ },
697
+ {
698
+ "type": "box",
699
+ "padding": "md",
700
+ "children": [
701
+ {
702
+ "type": "simple-grid",
703
+ "columns": 3,
704
+ "children": [
705
+ {
706
+ "type": "stat-display",
707
+ "label": "TotalValue",
708
+ "value": [
709
+ "object/get",
710
+ [
711
+ "array/first",
712
+ "@entity"
713
+ ],
714
+ "totalValue"
715
+ ]
716
+ },
717
+ {
718
+ "type": "stat-display",
719
+ "label": "DailyChange",
720
+ "value": [
721
+ "object/get",
722
+ [
723
+ "array/first",
724
+ "@entity"
725
+ ],
726
+ "dailyChange"
727
+ ]
728
+ },
729
+ {
730
+ "type": "stat-display",
731
+ "label": "Positions",
732
+ "value": [
733
+ "object/get",
734
+ [
735
+ "array/first",
736
+ "@entity"
737
+ ],
738
+ "positions"
739
+ ]
740
+ },
741
+ {
742
+ "type": "stat-display",
743
+ "label": "CashBalance",
744
+ "value": [
745
+ "object/get",
746
+ [
747
+ "array/first",
748
+ "@entity"
749
+ ],
750
+ "cashBalance"
751
+ ]
752
+ }
753
+ ]
754
+ }
755
+ ]
756
+ },
757
+ {
758
+ "type": "divider"
759
+ },
760
+ {
761
+ "type": "grid",
762
+ "columns": 2,
763
+ "gap": "md",
764
+ "children": [
765
+ {
766
+ "type": "card",
767
+ "children": [
768
+ {
769
+ "type": "typography",
770
+ "variant": "caption",
771
+ "content": "Chart View"
772
+ }
773
+ ]
774
+ },
775
+ {
776
+ "type": "card",
777
+ "children": [
778
+ {
779
+ "type": "typography",
780
+ "variant": "caption",
781
+ "content": "Graph View"
782
+ }
783
+ ]
784
+ }
785
+ ]
786
+ },
787
+ {
788
+ "type": "line-chart",
789
+ "data": [
790
+ {
791
+ "date": "Jan",
792
+ "value": 12
793
+ },
794
+ {
795
+ "date": "Feb",
796
+ "value": 19
797
+ },
798
+ {
799
+ "date": "Mar",
800
+ "value": 15
801
+ },
802
+ {
803
+ "date": "Apr",
804
+ "value": 25
805
+ },
806
+ {
807
+ "date": "May",
808
+ "value": 22
809
+ },
810
+ {
811
+ "date": "Jun",
812
+ "value": 30
813
+ }
814
+ ],
815
+ "xKey": "date",
816
+ "yKey": "value",
817
+ "title": "Trend"
818
+ },
819
+ {
820
+ "type": "chart-legend",
821
+ "items": [
822
+ {
823
+ "label": "Current",
824
+ "color": "primary"
825
+ },
826
+ {
827
+ "label": "Previous",
828
+ "color": "muted"
829
+ }
830
+ ]
831
+ },
832
+ {
833
+ "type": "graph-view",
834
+ "nodes": [
835
+ {
836
+ "id": "a",
837
+ "label": "Start",
838
+ "x": 50,
839
+ "y": 100
840
+ },
841
+ {
842
+ "id": "b",
843
+ "label": "Process",
844
+ "x": 200,
845
+ "y": 50
846
+ },
847
+ {
848
+ "id": "c",
849
+ "label": "End",
850
+ "x": 350,
851
+ "y": 100
852
+ }
853
+ ],
854
+ "edges": [
855
+ {
856
+ "from": "a",
857
+ "to": "b"
858
+ },
859
+ {
860
+ "from": "b",
861
+ "to": "c"
862
+ }
863
+ ],
864
+ "width": 400,
865
+ "height": 200
334
866
  }
335
867
  ]
336
- },
337
- {
338
- "type": "button",
339
- "label": "Refresh",
340
- "event": "REFRESH",
341
- "variant": "secondary",
342
- "icon": "refresh-cw"
343
- }
344
- ]
345
- },
346
- {
347
- "type": "divider"
348
- },
349
- {
350
- "type": "simple-grid",
351
- "columns": 3,
352
- "children": [
353
- {
354
- "type": "stat-display",
355
- "label": "TotalValue",
356
- "value": [
357
- "object/get",
358
- [
359
- "array/first",
360
- "@entity"
361
- ],
362
- "totalValue"
363
- ]
364
- },
365
- {
366
- "type": "stat-display",
367
- "label": "DailyChange",
368
- "value": [
369
- "object/get",
370
- [
371
- "array/first",
372
- "@entity"
373
- ],
374
- "dailyChange"
375
- ]
376
- },
377
- {
378
- "type": "stat-display",
379
- "label": "Positions",
380
- "value": [
381
- "object/get",
382
- [
383
- "array/first",
384
- "@entity"
385
- ],
386
- "positions"
387
- ]
388
- },
389
- {
390
- "type": "stat-display",
391
- "label": "CashBalance",
392
- "value": [
393
- "object/get",
394
- [
395
- "array/first",
396
- "@entity"
397
- ],
398
- "cashBalance"
399
- ]
400
868
  }
401
869
  ]
402
870
  }
@@ -418,96 +886,252 @@
418
886
  "render-ui",
419
887
  "main",
420
888
  {
421
- "type": "stack",
422
- "direction": "vertical",
423
- "gap": "lg",
889
+ "type": "dashboard-layout",
890
+ "appName": "Trading Dashboard",
891
+ "navItems": [
892
+ {
893
+ "label": "Portfolio",
894
+ "href": "/portfolio",
895
+ "icon": "layout-list"
896
+ },
897
+ {
898
+ "label": "Orders",
899
+ "href": "/orders",
900
+ "icon": "clipboard-list"
901
+ },
902
+ {
903
+ "label": "Market",
904
+ "href": "/market",
905
+ "icon": "layout-list"
906
+ }
907
+ ],
424
908
  "children": [
425
909
  {
426
- "type": "stack",
427
- "direction": "horizontal",
428
- "gap": "md",
429
- "justify": "space-between",
910
+ "type": "scaled-diagram",
430
911
  "children": [
431
912
  {
432
913
  "type": "stack",
433
- "direction": "horizontal",
434
- "gap": "md",
914
+ "direction": "vertical",
915
+ "gap": "lg",
435
916
  "children": [
436
917
  {
437
- "type": "icon",
438
- "name": "trending-up",
439
- "size": "lg"
918
+ "type": "breadcrumb",
919
+ "items": [
920
+ {
921
+ "label": "Home",
922
+ "href": "/"
923
+ },
924
+ {
925
+ "label": "Portfolio"
926
+ }
927
+ ]
928
+ },
929
+ {
930
+ "type": "stack",
931
+ "direction": "horizontal",
932
+ "gap": "md",
933
+ "justify": "space-between",
934
+ "children": [
935
+ {
936
+ "type": "stack",
937
+ "direction": "horizontal",
938
+ "gap": "md",
939
+ "children": [
940
+ {
941
+ "type": "icon",
942
+ "name": "trending-up",
943
+ "size": "lg"
944
+ },
945
+ {
946
+ "type": "typography",
947
+ "content": "Portfolio",
948
+ "variant": "h2"
949
+ }
950
+ ]
951
+ },
952
+ {
953
+ "type": "button",
954
+ "label": "Refresh",
955
+ "event": "REFRESH",
956
+ "variant": "secondary",
957
+ "icon": "refresh-cw"
958
+ }
959
+ ]
960
+ },
961
+ {
962
+ "type": "divider"
963
+ },
964
+ {
965
+ "type": "box",
966
+ "padding": "md",
967
+ "children": [
968
+ {
969
+ "type": "simple-grid",
970
+ "columns": 3,
971
+ "children": [
972
+ {
973
+ "type": "stat-display",
974
+ "label": "TotalValue",
975
+ "value": [
976
+ "object/get",
977
+ [
978
+ "array/first",
979
+ "@entity"
980
+ ],
981
+ "totalValue"
982
+ ]
983
+ },
984
+ {
985
+ "type": "stat-display",
986
+ "label": "DailyChange",
987
+ "value": [
988
+ "object/get",
989
+ [
990
+ "array/first",
991
+ "@entity"
992
+ ],
993
+ "dailyChange"
994
+ ]
995
+ },
996
+ {
997
+ "type": "stat-display",
998
+ "label": "Positions",
999
+ "value": [
1000
+ "object/get",
1001
+ [
1002
+ "array/first",
1003
+ "@entity"
1004
+ ],
1005
+ "positions"
1006
+ ]
1007
+ },
1008
+ {
1009
+ "type": "stat-display",
1010
+ "label": "CashBalance",
1011
+ "value": [
1012
+ "object/get",
1013
+ [
1014
+ "array/first",
1015
+ "@entity"
1016
+ ],
1017
+ "cashBalance"
1018
+ ]
1019
+ }
1020
+ ]
1021
+ }
1022
+ ]
1023
+ },
1024
+ {
1025
+ "type": "divider"
1026
+ },
1027
+ {
1028
+ "type": "grid",
1029
+ "columns": 2,
1030
+ "gap": "md",
1031
+ "children": [
1032
+ {
1033
+ "type": "card",
1034
+ "children": [
1035
+ {
1036
+ "type": "typography",
1037
+ "variant": "caption",
1038
+ "content": "Chart View"
1039
+ }
1040
+ ]
1041
+ },
1042
+ {
1043
+ "type": "card",
1044
+ "children": [
1045
+ {
1046
+ "type": "typography",
1047
+ "variant": "caption",
1048
+ "content": "Graph View"
1049
+ }
1050
+ ]
1051
+ }
1052
+ ]
1053
+ },
1054
+ {
1055
+ "type": "line-chart",
1056
+ "data": [
1057
+ {
1058
+ "date": "Jan",
1059
+ "value": 12
1060
+ },
1061
+ {
1062
+ "date": "Feb",
1063
+ "value": 19
1064
+ },
1065
+ {
1066
+ "date": "Mar",
1067
+ "value": 15
1068
+ },
1069
+ {
1070
+ "date": "Apr",
1071
+ "value": 25
1072
+ },
1073
+ {
1074
+ "date": "May",
1075
+ "value": 22
1076
+ },
1077
+ {
1078
+ "date": "Jun",
1079
+ "value": 30
1080
+ }
1081
+ ],
1082
+ "xKey": "date",
1083
+ "yKey": "value",
1084
+ "title": "Trend"
1085
+ },
1086
+ {
1087
+ "type": "chart-legend",
1088
+ "items": [
1089
+ {
1090
+ "label": "Current",
1091
+ "color": "primary"
1092
+ },
1093
+ {
1094
+ "label": "Previous",
1095
+ "color": "muted"
1096
+ }
1097
+ ]
440
1098
  },
441
1099
  {
442
- "type": "typography",
443
- "content": "Portfolio",
444
- "variant": "h2"
1100
+ "type": "graph-view",
1101
+ "nodes": [
1102
+ {
1103
+ "id": "a",
1104
+ "label": "Start",
1105
+ "x": 50,
1106
+ "y": 100
1107
+ },
1108
+ {
1109
+ "id": "b",
1110
+ "label": "Process",
1111
+ "x": 200,
1112
+ "y": 50
1113
+ },
1114
+ {
1115
+ "id": "c",
1116
+ "label": "End",
1117
+ "x": 350,
1118
+ "y": 100
1119
+ }
1120
+ ],
1121
+ "edges": [
1122
+ {
1123
+ "from": "a",
1124
+ "to": "b"
1125
+ },
1126
+ {
1127
+ "from": "b",
1128
+ "to": "c"
1129
+ }
1130
+ ],
1131
+ "width": 400,
1132
+ "height": 200
445
1133
  }
446
1134
  ]
447
- },
448
- {
449
- "type": "button",
450
- "label": "Refresh",
451
- "event": "REFRESH",
452
- "variant": "secondary",
453
- "icon": "refresh-cw"
454
- }
455
- ]
456
- },
457
- {
458
- "type": "divider"
459
- },
460
- {
461
- "type": "simple-grid",
462
- "columns": 3,
463
- "children": [
464
- {
465
- "type": "stat-display",
466
- "label": "TotalValue",
467
- "value": [
468
- "object/get",
469
- [
470
- "array/first",
471
- "@entity"
472
- ],
473
- "totalValue"
474
- ]
475
- },
476
- {
477
- "type": "stat-display",
478
- "label": "DailyChange",
479
- "value": [
480
- "object/get",
481
- [
482
- "array/first",
483
- "@entity"
484
- ],
485
- "dailyChange"
486
- ]
487
- },
488
- {
489
- "type": "stat-display",
490
- "label": "Positions",
491
- "value": [
492
- "object/get",
493
- [
494
- "array/first",
495
- "@entity"
496
- ],
497
- "positions"
498
- ]
499
- },
500
- {
501
- "type": "stat-display",
502
- "label": "CashBalance",
503
- "value": [
504
- "object/get",
505
- [
506
- "array/first",
507
- "@entity"
508
- ],
509
- "cashBalance"
510
- ]
511
1135
  }
512
1136
  ]
513
1137
  }
@@ -529,96 +1153,252 @@
529
1153
  "render-ui",
530
1154
  "main",
531
1155
  {
532
- "type": "stack",
533
- "direction": "vertical",
534
- "gap": "lg",
1156
+ "type": "dashboard-layout",
1157
+ "appName": "Trading Dashboard",
1158
+ "navItems": [
1159
+ {
1160
+ "label": "Portfolio",
1161
+ "href": "/portfolio",
1162
+ "icon": "layout-list"
1163
+ },
1164
+ {
1165
+ "label": "Orders",
1166
+ "href": "/orders",
1167
+ "icon": "clipboard-list"
1168
+ },
1169
+ {
1170
+ "label": "Market",
1171
+ "href": "/market",
1172
+ "icon": "layout-list"
1173
+ }
1174
+ ],
535
1175
  "children": [
536
1176
  {
537
- "type": "stack",
538
- "direction": "horizontal",
539
- "gap": "md",
540
- "justify": "space-between",
1177
+ "type": "scaled-diagram",
541
1178
  "children": [
542
1179
  {
543
1180
  "type": "stack",
544
- "direction": "horizontal",
545
- "gap": "md",
1181
+ "direction": "vertical",
1182
+ "gap": "lg",
546
1183
  "children": [
547
1184
  {
548
- "type": "icon",
549
- "name": "trending-up",
550
- "size": "lg"
1185
+ "type": "breadcrumb",
1186
+ "items": [
1187
+ {
1188
+ "label": "Home",
1189
+ "href": "/"
1190
+ },
1191
+ {
1192
+ "label": "Portfolio"
1193
+ }
1194
+ ]
551
1195
  },
552
1196
  {
553
- "type": "typography",
554
- "content": "Portfolio",
555
- "variant": "h2"
1197
+ "type": "stack",
1198
+ "direction": "horizontal",
1199
+ "gap": "md",
1200
+ "justify": "space-between",
1201
+ "children": [
1202
+ {
1203
+ "type": "stack",
1204
+ "direction": "horizontal",
1205
+ "gap": "md",
1206
+ "children": [
1207
+ {
1208
+ "type": "icon",
1209
+ "name": "trending-up",
1210
+ "size": "lg"
1211
+ },
1212
+ {
1213
+ "type": "typography",
1214
+ "content": "Portfolio",
1215
+ "variant": "h2"
1216
+ }
1217
+ ]
1218
+ },
1219
+ {
1220
+ "type": "button",
1221
+ "label": "Refresh",
1222
+ "event": "REFRESH",
1223
+ "variant": "secondary",
1224
+ "icon": "refresh-cw"
1225
+ }
1226
+ ]
1227
+ },
1228
+ {
1229
+ "type": "divider"
1230
+ },
1231
+ {
1232
+ "type": "box",
1233
+ "padding": "md",
1234
+ "children": [
1235
+ {
1236
+ "type": "simple-grid",
1237
+ "columns": 3,
1238
+ "children": [
1239
+ {
1240
+ "type": "stat-display",
1241
+ "label": "TotalValue",
1242
+ "value": [
1243
+ "object/get",
1244
+ [
1245
+ "array/first",
1246
+ "@entity"
1247
+ ],
1248
+ "totalValue"
1249
+ ]
1250
+ },
1251
+ {
1252
+ "type": "stat-display",
1253
+ "label": "DailyChange",
1254
+ "value": [
1255
+ "object/get",
1256
+ [
1257
+ "array/first",
1258
+ "@entity"
1259
+ ],
1260
+ "dailyChange"
1261
+ ]
1262
+ },
1263
+ {
1264
+ "type": "stat-display",
1265
+ "label": "Positions",
1266
+ "value": [
1267
+ "object/get",
1268
+ [
1269
+ "array/first",
1270
+ "@entity"
1271
+ ],
1272
+ "positions"
1273
+ ]
1274
+ },
1275
+ {
1276
+ "type": "stat-display",
1277
+ "label": "CashBalance",
1278
+ "value": [
1279
+ "object/get",
1280
+ [
1281
+ "array/first",
1282
+ "@entity"
1283
+ ],
1284
+ "cashBalance"
1285
+ ]
1286
+ }
1287
+ ]
1288
+ }
1289
+ ]
1290
+ },
1291
+ {
1292
+ "type": "divider"
1293
+ },
1294
+ {
1295
+ "type": "grid",
1296
+ "columns": 2,
1297
+ "gap": "md",
1298
+ "children": [
1299
+ {
1300
+ "type": "card",
1301
+ "children": [
1302
+ {
1303
+ "type": "typography",
1304
+ "variant": "caption",
1305
+ "content": "Chart View"
1306
+ }
1307
+ ]
1308
+ },
1309
+ {
1310
+ "type": "card",
1311
+ "children": [
1312
+ {
1313
+ "type": "typography",
1314
+ "variant": "caption",
1315
+ "content": "Graph View"
1316
+ }
1317
+ ]
1318
+ }
1319
+ ]
1320
+ },
1321
+ {
1322
+ "type": "line-chart",
1323
+ "data": [
1324
+ {
1325
+ "date": "Jan",
1326
+ "value": 12
1327
+ },
1328
+ {
1329
+ "date": "Feb",
1330
+ "value": 19
1331
+ },
1332
+ {
1333
+ "date": "Mar",
1334
+ "value": 15
1335
+ },
1336
+ {
1337
+ "date": "Apr",
1338
+ "value": 25
1339
+ },
1340
+ {
1341
+ "date": "May",
1342
+ "value": 22
1343
+ },
1344
+ {
1345
+ "date": "Jun",
1346
+ "value": 30
1347
+ }
1348
+ ],
1349
+ "xKey": "date",
1350
+ "yKey": "value",
1351
+ "title": "Trend"
1352
+ },
1353
+ {
1354
+ "type": "chart-legend",
1355
+ "items": [
1356
+ {
1357
+ "label": "Current",
1358
+ "color": "primary"
1359
+ },
1360
+ {
1361
+ "label": "Previous",
1362
+ "color": "muted"
1363
+ }
1364
+ ]
1365
+ },
1366
+ {
1367
+ "type": "graph-view",
1368
+ "nodes": [
1369
+ {
1370
+ "id": "a",
1371
+ "label": "Start",
1372
+ "x": 50,
1373
+ "y": 100
1374
+ },
1375
+ {
1376
+ "id": "b",
1377
+ "label": "Process",
1378
+ "x": 200,
1379
+ "y": 50
1380
+ },
1381
+ {
1382
+ "id": "c",
1383
+ "label": "End",
1384
+ "x": 350,
1385
+ "y": 100
1386
+ }
1387
+ ],
1388
+ "edges": [
1389
+ {
1390
+ "from": "a",
1391
+ "to": "b"
1392
+ },
1393
+ {
1394
+ "from": "b",
1395
+ "to": "c"
1396
+ }
1397
+ ],
1398
+ "width": 400,
1399
+ "height": 200
556
1400
  }
557
1401
  ]
558
- },
559
- {
560
- "type": "button",
561
- "label": "Refresh",
562
- "event": "REFRESH",
563
- "variant": "secondary",
564
- "icon": "refresh-cw"
565
- }
566
- ]
567
- },
568
- {
569
- "type": "divider"
570
- },
571
- {
572
- "type": "simple-grid",
573
- "columns": 3,
574
- "children": [
575
- {
576
- "type": "stat-display",
577
- "label": "TotalValue",
578
- "value": [
579
- "object/get",
580
- [
581
- "array/first",
582
- "@entity"
583
- ],
584
- "totalValue"
585
- ]
586
- },
587
- {
588
- "type": "stat-display",
589
- "label": "DailyChange",
590
- "value": [
591
- "object/get",
592
- [
593
- "array/first",
594
- "@entity"
595
- ],
596
- "dailyChange"
597
- ]
598
- },
599
- {
600
- "type": "stat-display",
601
- "label": "Positions",
602
- "value": [
603
- "object/get",
604
- [
605
- "array/first",
606
- "@entity"
607
- ],
608
- "positions"
609
- ]
610
- },
611
- {
612
- "type": "stat-display",
613
- "label": "CashBalance",
614
- "value": [
615
- "object/get",
616
- [
617
- "array/first",
618
- "@entity"
619
- ],
620
- "cashBalance"
621
- ]
622
1402
  }
623
1403
  ]
624
1404
  }
@@ -664,7 +1444,11 @@
664
1444
  {
665
1445
  "name": "side",
666
1446
  "type": "string",
667
- "required": true
1447
+ "required": true,
1448
+ "values": [
1449
+ "buy",
1450
+ "sell"
1451
+ ]
668
1452
  },
669
1453
  {
670
1454
  "name": "quantity",
@@ -793,120 +1577,125 @@
793
1577
  "render-ui",
794
1578
  "main",
795
1579
  {
796
- "type": "stack",
797
- "direction": "vertical",
798
- "gap": "lg",
1580
+ "type": "dashboard-layout",
1581
+ "appName": "Trading Dashboard",
1582
+ "navItems": [
1583
+ {
1584
+ "label": "Portfolio",
1585
+ "href": "/portfolio",
1586
+ "icon": "layout-list"
1587
+ },
1588
+ {
1589
+ "label": "Orders",
1590
+ "href": "/orders",
1591
+ "icon": "clipboard-list"
1592
+ },
1593
+ {
1594
+ "label": "Market",
1595
+ "href": "/market",
1596
+ "icon": "layout-list"
1597
+ }
1598
+ ],
799
1599
  "children": [
800
1600
  {
801
1601
  "type": "stack",
802
- "direction": "horizontal",
803
- "gap": "md",
804
- "justify": "space-between",
1602
+ "direction": "vertical",
1603
+ "gap": "lg",
1604
+ "className": "max-w-5xl mx-auto w-full",
805
1605
  "children": [
806
1606
  {
807
1607
  "type": "stack",
808
1608
  "direction": "horizontal",
809
- "gap": "sm",
1609
+ "gap": "md",
1610
+ "justify": "space-between",
810
1611
  "align": "center",
811
- "children": [
812
- {
813
- "type": "icon",
814
- "name": "shopping-cart",
815
- "size": "lg"
816
- },
817
- {
818
- "type": "typography",
819
- "content": "Trade Orders",
820
- "variant": "h2"
821
- }
822
- ]
823
- },
824
- {
825
- "type": "stack",
826
- "direction": "horizontal",
827
- "gap": "sm",
828
- "children": [
829
- {
830
- "type": "button",
831
- "label": "Create TradeOrder",
832
- "event": "CREATE",
833
- "variant": "primary",
834
- "icon": "plus"
835
- }
836
- ]
837
- }
838
- ]
839
- },
840
- {
841
- "type": "divider"
842
- },
843
- {
844
- "type": "data-grid",
845
- "entity": "TradeOrder",
846
- "emptyIcon": "inbox",
847
- "emptyTitle": "No tradeorders yet",
848
- "emptyDescription": "Create your first tradeorder to get started.",
849
- "itemActions": [
850
- {
851
- "label": "View",
852
- "event": "VIEW"
853
- },
854
- {
855
- "label": "Edit",
856
- "event": "EDIT"
857
- },
858
- {
859
- "label": "Delete",
860
- "event": "DELETE",
861
- "variant": "danger"
862
- }
863
- ],
864
- "className": "transition-shadow hover:shadow-md cursor-pointer",
865
- "renderItem": [
866
- "fn",
867
- "item",
868
- {
869
- "type": "stack",
870
- "direction": "vertical",
871
- "gap": "sm",
872
1612
  "children": [
873
1613
  {
874
1614
  "type": "stack",
875
1615
  "direction": "horizontal",
876
- "justify": "space-between",
1616
+ "gap": "sm",
877
1617
  "align": "center",
878
1618
  "children": [
879
- {
880
- "type": "stack",
881
- "direction": "horizontal",
882
- "gap": "sm",
883
- "align": "center",
884
- "children": [
885
- {
886
- "type": "icon",
887
- "name": "shopping-cart",
888
- "size": "sm"
889
- },
890
- {
891
- "type": "typography",
892
- "variant": "h4",
893
- "content": "@item.symbol"
894
- }
895
- ]
1619
+ {
1620
+ "type": "icon",
1621
+ "name": "shopping-cart",
1622
+ "size": "lg"
896
1623
  },
897
1624
  {
898
- "type": "badge",
899
- "label": "@item.side"
1625
+ "type": "typography",
1626
+ "content": "Trade Orders",
1627
+ "variant": "h2"
900
1628
  }
901
1629
  ]
902
1630
  },
903
1631
  {
904
- "type": "typography",
905
- "variant": "caption",
906
- "color": "muted",
907
- "content": "@item.quantity"
1632
+ "type": "stack",
1633
+ "direction": "horizontal",
1634
+ "gap": "sm",
1635
+ "children": [
1636
+ {
1637
+ "type": "button",
1638
+ "label": "Create TradeOrder",
1639
+ "event": "CREATE",
1640
+ "variant": "primary",
1641
+ "icon": "plus"
1642
+ }
1643
+ ]
908
1644
  }
909
1645
  ]
1646
+ },
1647
+ {
1648
+ "type": "divider"
1649
+ },
1650
+ {
1651
+ "type": "data-list",
1652
+ "entity": "TradeOrder",
1653
+ "emptyIcon": "inbox",
1654
+ "emptyTitle": "No orders yet",
1655
+ "emptyDescription": "Place your first trade.",
1656
+ "itemActions": [
1657
+ {
1658
+ "label": "View",
1659
+ "event": "VIEW",
1660
+ "variant": "ghost",
1661
+ "size": "sm"
1662
+ },
1663
+ {
1664
+ "label": "Edit",
1665
+ "event": "EDIT",
1666
+ "variant": "ghost",
1667
+ "size": "sm"
1668
+ },
1669
+ {
1670
+ "label": "Delete",
1671
+ "event": "DELETE",
1672
+ "variant": "danger",
1673
+ "size": "sm"
1674
+ }
1675
+ ],
1676
+ "columns": [
1677
+ {
1678
+ "name": "symbol",
1679
+ "variant": "h3",
1680
+ "icon": "trending-up"
1681
+ },
1682
+ {
1683
+ "name": "side",
1684
+ "variant": "badge"
1685
+ },
1686
+ {
1687
+ "name": "quantity",
1688
+ "variant": "body",
1689
+ "format": "number"
1690
+ },
1691
+ {
1692
+ "name": "price",
1693
+ "variant": "h4",
1694
+ "format": "currency"
1695
+ }
1696
+ ],
1697
+ "variant": "card",
1698
+ "gap": "sm"
910
1699
  }
911
1700
  ]
912
1701
  }
@@ -1030,120 +1819,125 @@
1030
1819
  "render-ui",
1031
1820
  "main",
1032
1821
  {
1033
- "type": "stack",
1034
- "direction": "vertical",
1035
- "gap": "lg",
1822
+ "type": "dashboard-layout",
1823
+ "appName": "Trading Dashboard",
1824
+ "navItems": [
1825
+ {
1826
+ "label": "Portfolio",
1827
+ "href": "/portfolio",
1828
+ "icon": "layout-list"
1829
+ },
1830
+ {
1831
+ "label": "Orders",
1832
+ "href": "/orders",
1833
+ "icon": "clipboard-list"
1834
+ },
1835
+ {
1836
+ "label": "Market",
1837
+ "href": "/market",
1838
+ "icon": "layout-list"
1839
+ }
1840
+ ],
1036
1841
  "children": [
1037
1842
  {
1038
1843
  "type": "stack",
1039
- "direction": "horizontal",
1040
- "gap": "md",
1041
- "justify": "space-between",
1844
+ "direction": "vertical",
1845
+ "gap": "lg",
1846
+ "className": "max-w-5xl mx-auto w-full",
1042
1847
  "children": [
1043
1848
  {
1044
1849
  "type": "stack",
1045
1850
  "direction": "horizontal",
1046
- "gap": "sm",
1851
+ "gap": "md",
1852
+ "justify": "space-between",
1047
1853
  "align": "center",
1048
- "children": [
1049
- {
1050
- "type": "icon",
1051
- "name": "shopping-cart",
1052
- "size": "lg"
1053
- },
1054
- {
1055
- "type": "typography",
1056
- "content": "Trade Orders",
1057
- "variant": "h2"
1058
- }
1059
- ]
1060
- },
1061
- {
1062
- "type": "stack",
1063
- "direction": "horizontal",
1064
- "gap": "sm",
1065
- "children": [
1066
- {
1067
- "type": "button",
1068
- "label": "Create TradeOrder",
1069
- "event": "CREATE",
1070
- "variant": "primary",
1071
- "icon": "plus"
1072
- }
1073
- ]
1074
- }
1075
- ]
1076
- },
1077
- {
1078
- "type": "divider"
1079
- },
1080
- {
1081
- "type": "data-grid",
1082
- "entity": "TradeOrder",
1083
- "emptyIcon": "inbox",
1084
- "emptyTitle": "No tradeorders yet",
1085
- "emptyDescription": "Create your first tradeorder to get started.",
1086
- "itemActions": [
1087
- {
1088
- "label": "View",
1089
- "event": "VIEW"
1090
- },
1091
- {
1092
- "label": "Edit",
1093
- "event": "EDIT"
1094
- },
1095
- {
1096
- "label": "Delete",
1097
- "event": "DELETE",
1098
- "variant": "danger"
1099
- }
1100
- ],
1101
- "className": "transition-shadow hover:shadow-md cursor-pointer",
1102
- "renderItem": [
1103
- "fn",
1104
- "item",
1105
- {
1106
- "type": "stack",
1107
- "direction": "vertical",
1108
- "gap": "sm",
1109
1854
  "children": [
1110
1855
  {
1111
1856
  "type": "stack",
1112
1857
  "direction": "horizontal",
1113
- "justify": "space-between",
1858
+ "gap": "sm",
1114
1859
  "align": "center",
1115
1860
  "children": [
1116
1861
  {
1117
- "type": "stack",
1118
- "direction": "horizontal",
1119
- "gap": "sm",
1120
- "align": "center",
1121
- "children": [
1122
- {
1123
- "type": "icon",
1124
- "name": "shopping-cart",
1125
- "size": "sm"
1126
- },
1127
- {
1128
- "type": "typography",
1129
- "variant": "h4",
1130
- "content": "@item.symbol"
1131
- }
1132
- ]
1862
+ "type": "icon",
1863
+ "name": "shopping-cart",
1864
+ "size": "lg"
1133
1865
  },
1134
1866
  {
1135
- "type": "badge",
1136
- "label": "@item.side"
1867
+ "type": "typography",
1868
+ "content": "Trade Orders",
1869
+ "variant": "h2"
1137
1870
  }
1138
1871
  ]
1139
1872
  },
1140
1873
  {
1141
- "type": "typography",
1142
- "variant": "caption",
1143
- "color": "muted",
1144
- "content": "@item.quantity"
1874
+ "type": "stack",
1875
+ "direction": "horizontal",
1876
+ "gap": "sm",
1877
+ "children": [
1878
+ {
1879
+ "type": "button",
1880
+ "label": "Create TradeOrder",
1881
+ "event": "CREATE",
1882
+ "variant": "primary",
1883
+ "icon": "plus"
1884
+ }
1885
+ ]
1145
1886
  }
1146
1887
  ]
1888
+ },
1889
+ {
1890
+ "type": "divider"
1891
+ },
1892
+ {
1893
+ "type": "data-list",
1894
+ "entity": "TradeOrder",
1895
+ "emptyIcon": "inbox",
1896
+ "emptyTitle": "No orders yet",
1897
+ "emptyDescription": "Place your first trade.",
1898
+ "itemActions": [
1899
+ {
1900
+ "label": "View",
1901
+ "event": "VIEW",
1902
+ "variant": "ghost",
1903
+ "size": "sm"
1904
+ },
1905
+ {
1906
+ "label": "Edit",
1907
+ "event": "EDIT",
1908
+ "variant": "ghost",
1909
+ "size": "sm"
1910
+ },
1911
+ {
1912
+ "label": "Delete",
1913
+ "event": "DELETE",
1914
+ "variant": "danger",
1915
+ "size": "sm"
1916
+ }
1917
+ ],
1918
+ "columns": [
1919
+ {
1920
+ "name": "symbol",
1921
+ "variant": "h3",
1922
+ "icon": "trending-up"
1923
+ },
1924
+ {
1925
+ "name": "side",
1926
+ "variant": "badge"
1927
+ },
1928
+ {
1929
+ "name": "quantity",
1930
+ "variant": "body",
1931
+ "format": "number"
1932
+ },
1933
+ {
1934
+ "name": "price",
1935
+ "variant": "h4",
1936
+ "format": "currency"
1937
+ }
1938
+ ],
1939
+ "variant": "card",
1940
+ "gap": "sm"
1147
1941
  }
1148
1942
  ]
1149
1943
  }
@@ -1174,120 +1968,125 @@
1174
1968
  "render-ui",
1175
1969
  "main",
1176
1970
  {
1177
- "type": "stack",
1178
- "direction": "vertical",
1179
- "gap": "lg",
1971
+ "type": "dashboard-layout",
1972
+ "appName": "Trading Dashboard",
1973
+ "navItems": [
1974
+ {
1975
+ "label": "Portfolio",
1976
+ "href": "/portfolio",
1977
+ "icon": "layout-list"
1978
+ },
1979
+ {
1980
+ "label": "Orders",
1981
+ "href": "/orders",
1982
+ "icon": "clipboard-list"
1983
+ },
1984
+ {
1985
+ "label": "Market",
1986
+ "href": "/market",
1987
+ "icon": "layout-list"
1988
+ }
1989
+ ],
1180
1990
  "children": [
1181
1991
  {
1182
1992
  "type": "stack",
1183
- "direction": "horizontal",
1184
- "gap": "md",
1185
- "justify": "space-between",
1993
+ "direction": "vertical",
1994
+ "gap": "lg",
1995
+ "className": "max-w-5xl mx-auto w-full",
1186
1996
  "children": [
1187
1997
  {
1188
1998
  "type": "stack",
1189
1999
  "direction": "horizontal",
1190
- "gap": "sm",
2000
+ "gap": "md",
2001
+ "justify": "space-between",
1191
2002
  "align": "center",
1192
- "children": [
1193
- {
1194
- "type": "icon",
1195
- "name": "shopping-cart",
1196
- "size": "lg"
1197
- },
1198
- {
1199
- "type": "typography",
1200
- "content": "Trade Orders",
1201
- "variant": "h2"
1202
- }
1203
- ]
1204
- },
1205
- {
1206
- "type": "stack",
1207
- "direction": "horizontal",
1208
- "gap": "sm",
1209
- "children": [
1210
- {
1211
- "type": "button",
1212
- "label": "Create TradeOrder",
1213
- "event": "CREATE",
1214
- "variant": "primary",
1215
- "icon": "plus"
1216
- }
1217
- ]
1218
- }
1219
- ]
1220
- },
1221
- {
1222
- "type": "divider"
1223
- },
1224
- {
1225
- "type": "data-grid",
1226
- "entity": "TradeOrder",
1227
- "emptyIcon": "inbox",
1228
- "emptyTitle": "No tradeorders yet",
1229
- "emptyDescription": "Create your first tradeorder to get started.",
1230
- "itemActions": [
1231
- {
1232
- "label": "View",
1233
- "event": "VIEW"
1234
- },
1235
- {
1236
- "label": "Edit",
1237
- "event": "EDIT"
1238
- },
1239
- {
1240
- "label": "Delete",
1241
- "event": "DELETE",
1242
- "variant": "danger"
1243
- }
1244
- ],
1245
- "className": "transition-shadow hover:shadow-md cursor-pointer",
1246
- "renderItem": [
1247
- "fn",
1248
- "item",
1249
- {
1250
- "type": "stack",
1251
- "direction": "vertical",
1252
- "gap": "sm",
1253
2003
  "children": [
1254
2004
  {
1255
2005
  "type": "stack",
1256
2006
  "direction": "horizontal",
1257
- "justify": "space-between",
2007
+ "gap": "sm",
1258
2008
  "align": "center",
1259
2009
  "children": [
1260
2010
  {
1261
- "type": "stack",
1262
- "direction": "horizontal",
1263
- "gap": "sm",
1264
- "align": "center",
1265
- "children": [
1266
- {
1267
- "type": "icon",
1268
- "name": "shopping-cart",
1269
- "size": "sm"
1270
- },
1271
- {
1272
- "type": "typography",
1273
- "variant": "h4",
1274
- "content": "@item.symbol"
1275
- }
1276
- ]
2011
+ "type": "icon",
2012
+ "name": "shopping-cart",
2013
+ "size": "lg"
1277
2014
  },
1278
2015
  {
1279
- "type": "badge",
1280
- "label": "@item.side"
2016
+ "type": "typography",
2017
+ "content": "Trade Orders",
2018
+ "variant": "h2"
1281
2019
  }
1282
2020
  ]
1283
2021
  },
1284
2022
  {
1285
- "type": "typography",
1286
- "variant": "caption",
1287
- "color": "muted",
1288
- "content": "@item.quantity"
2023
+ "type": "stack",
2024
+ "direction": "horizontal",
2025
+ "gap": "sm",
2026
+ "children": [
2027
+ {
2028
+ "type": "button",
2029
+ "label": "Create TradeOrder",
2030
+ "event": "CREATE",
2031
+ "variant": "primary",
2032
+ "icon": "plus"
2033
+ }
2034
+ ]
1289
2035
  }
1290
2036
  ]
2037
+ },
2038
+ {
2039
+ "type": "divider"
2040
+ },
2041
+ {
2042
+ "type": "data-list",
2043
+ "entity": "TradeOrder",
2044
+ "emptyIcon": "inbox",
2045
+ "emptyTitle": "No orders yet",
2046
+ "emptyDescription": "Place your first trade.",
2047
+ "itemActions": [
2048
+ {
2049
+ "label": "View",
2050
+ "event": "VIEW",
2051
+ "variant": "ghost",
2052
+ "size": "sm"
2053
+ },
2054
+ {
2055
+ "label": "Edit",
2056
+ "event": "EDIT",
2057
+ "variant": "ghost",
2058
+ "size": "sm"
2059
+ },
2060
+ {
2061
+ "label": "Delete",
2062
+ "event": "DELETE",
2063
+ "variant": "danger",
2064
+ "size": "sm"
2065
+ }
2066
+ ],
2067
+ "columns": [
2068
+ {
2069
+ "name": "symbol",
2070
+ "variant": "h3",
2071
+ "icon": "trending-up"
2072
+ },
2073
+ {
2074
+ "name": "side",
2075
+ "variant": "badge"
2076
+ },
2077
+ {
2078
+ "name": "quantity",
2079
+ "variant": "body",
2080
+ "format": "number"
2081
+ },
2082
+ {
2083
+ "name": "price",
2084
+ "variant": "h4",
2085
+ "format": "currency"
2086
+ }
2087
+ ],
2088
+ "variant": "card",
2089
+ "gap": "sm"
1291
2090
  }
1292
2091
  ]
1293
2092
  }
@@ -1314,120 +2113,125 @@
1314
2113
  "render-ui",
1315
2114
  "main",
1316
2115
  {
1317
- "type": "stack",
1318
- "direction": "vertical",
1319
- "gap": "lg",
1320
- "children": [
2116
+ "type": "dashboard-layout",
2117
+ "appName": "Trading Dashboard",
2118
+ "navItems": [
1321
2119
  {
1322
- "type": "stack",
1323
- "direction": "horizontal",
1324
- "gap": "md",
1325
- "justify": "space-between",
1326
- "children": [
1327
- {
1328
- "type": "stack",
1329
- "direction": "horizontal",
1330
- "gap": "sm",
1331
- "align": "center",
1332
- "children": [
1333
- {
1334
- "type": "icon",
1335
- "name": "shopping-cart",
1336
- "size": "lg"
1337
- },
1338
- {
1339
- "type": "typography",
1340
- "content": "Trade Orders",
1341
- "variant": "h2"
1342
- }
1343
- ]
1344
- },
1345
- {
1346
- "type": "stack",
1347
- "direction": "horizontal",
1348
- "gap": "sm",
1349
- "children": [
1350
- {
1351
- "type": "button",
1352
- "label": "Create TradeOrder",
1353
- "event": "CREATE",
1354
- "variant": "primary",
1355
- "icon": "plus"
1356
- }
1357
- ]
1358
- }
1359
- ]
2120
+ "label": "Portfolio",
2121
+ "href": "/portfolio",
2122
+ "icon": "layout-list"
1360
2123
  },
1361
2124
  {
1362
- "type": "divider"
2125
+ "label": "Orders",
2126
+ "href": "/orders",
2127
+ "icon": "clipboard-list"
1363
2128
  },
1364
2129
  {
1365
- "type": "data-grid",
1366
- "entity": "TradeOrder",
1367
- "emptyIcon": "inbox",
1368
- "emptyTitle": "No tradeorders yet",
1369
- "emptyDescription": "Create your first tradeorder to get started.",
1370
- "itemActions": [
1371
- {
1372
- "label": "View",
1373
- "event": "VIEW"
1374
- },
1375
- {
1376
- "label": "Edit",
1377
- "event": "EDIT"
1378
- },
1379
- {
1380
- "label": "Delete",
1381
- "event": "DELETE",
1382
- "variant": "danger"
1383
- }
1384
- ],
1385
- "className": "transition-shadow hover:shadow-md cursor-pointer",
1386
- "renderItem": [
1387
- "fn",
1388
- "item",
2130
+ "label": "Market",
2131
+ "href": "/market",
2132
+ "icon": "layout-list"
2133
+ }
2134
+ ],
2135
+ "children": [
2136
+ {
2137
+ "type": "stack",
2138
+ "direction": "vertical",
2139
+ "gap": "lg",
2140
+ "className": "max-w-5xl mx-auto w-full",
2141
+ "children": [
1389
2142
  {
1390
2143
  "type": "stack",
1391
- "direction": "vertical",
1392
- "gap": "sm",
2144
+ "direction": "horizontal",
2145
+ "gap": "md",
2146
+ "justify": "space-between",
2147
+ "align": "center",
1393
2148
  "children": [
1394
2149
  {
1395
2150
  "type": "stack",
1396
2151
  "direction": "horizontal",
1397
- "justify": "space-between",
2152
+ "gap": "sm",
1398
2153
  "align": "center",
1399
2154
  "children": [
1400
2155
  {
1401
- "type": "stack",
1402
- "direction": "horizontal",
1403
- "gap": "sm",
1404
- "align": "center",
1405
- "children": [
1406
- {
1407
- "type": "icon",
1408
- "name": "shopping-cart",
1409
- "size": "sm"
1410
- },
1411
- {
1412
- "type": "typography",
1413
- "variant": "h4",
1414
- "content": "@item.symbol"
1415
- }
1416
- ]
2156
+ "type": "icon",
2157
+ "name": "shopping-cart",
2158
+ "size": "lg"
1417
2159
  },
1418
2160
  {
1419
- "type": "badge",
1420
- "label": "@item.side"
2161
+ "type": "typography",
2162
+ "content": "Trade Orders",
2163
+ "variant": "h2"
1421
2164
  }
1422
2165
  ]
1423
2166
  },
1424
2167
  {
1425
- "type": "typography",
1426
- "variant": "caption",
1427
- "color": "muted",
1428
- "content": "@item.quantity"
2168
+ "type": "stack",
2169
+ "direction": "horizontal",
2170
+ "gap": "sm",
2171
+ "children": [
2172
+ {
2173
+ "type": "button",
2174
+ "label": "Create TradeOrder",
2175
+ "event": "CREATE",
2176
+ "variant": "primary",
2177
+ "icon": "plus"
2178
+ }
2179
+ ]
1429
2180
  }
1430
2181
  ]
2182
+ },
2183
+ {
2184
+ "type": "divider"
2185
+ },
2186
+ {
2187
+ "type": "data-list",
2188
+ "entity": "TradeOrder",
2189
+ "emptyIcon": "inbox",
2190
+ "emptyTitle": "No orders yet",
2191
+ "emptyDescription": "Place your first trade.",
2192
+ "itemActions": [
2193
+ {
2194
+ "label": "View",
2195
+ "event": "VIEW",
2196
+ "variant": "ghost",
2197
+ "size": "sm"
2198
+ },
2199
+ {
2200
+ "label": "Edit",
2201
+ "event": "EDIT",
2202
+ "variant": "ghost",
2203
+ "size": "sm"
2204
+ },
2205
+ {
2206
+ "label": "Delete",
2207
+ "event": "DELETE",
2208
+ "variant": "danger",
2209
+ "size": "sm"
2210
+ }
2211
+ ],
2212
+ "columns": [
2213
+ {
2214
+ "name": "symbol",
2215
+ "variant": "h3",
2216
+ "icon": "trending-up"
2217
+ },
2218
+ {
2219
+ "name": "side",
2220
+ "variant": "badge"
2221
+ },
2222
+ {
2223
+ "name": "quantity",
2224
+ "variant": "body",
2225
+ "format": "number"
2226
+ },
2227
+ {
2228
+ "name": "price",
2229
+ "variant": "h4",
2230
+ "format": "currency"
2231
+ }
2232
+ ],
2233
+ "variant": "card",
2234
+ "gap": "sm"
1431
2235
  }
1432
2236
  ]
1433
2237
  }
@@ -1559,6 +2363,11 @@
1559
2363
  "render-ui",
1560
2364
  "modal",
1561
2365
  null
2366
+ ],
2367
+ [
2368
+ "notify",
2369
+ "Cancelled",
2370
+ "info"
1562
2371
  ]
1563
2372
  ]
1564
2373
  },
@@ -1724,6 +2533,11 @@
1724
2533
  "render-ui",
1725
2534
  "modal",
1726
2535
  null
2536
+ ],
2537
+ [
2538
+ "notify",
2539
+ "Cancelled",
2540
+ "info"
1727
2541
  ]
1728
2542
  ]
1729
2543
  },
@@ -1952,6 +2766,11 @@
1952
2766
  "render-ui",
1953
2767
  "modal",
1954
2768
  null
2769
+ ],
2770
+ [
2771
+ "notify",
2772
+ "Cancelled",
2773
+ "info"
1955
2774
  ]
1956
2775
  ]
1957
2776
  }
@@ -2086,44 +2905,67 @@
2086
2905
  "render-ui",
2087
2906
  "main",
2088
2907
  {
2089
- "type": "stack",
2090
- "direction": "vertical",
2091
- "gap": "lg",
2092
- "align": "center",
2908
+ "type": "dashboard-layout",
2909
+ "appName": "Trading Dashboard",
2910
+ "navItems": [
2911
+ {
2912
+ "label": "Portfolio",
2913
+ "href": "/portfolio",
2914
+ "icon": "layout-list"
2915
+ },
2916
+ {
2917
+ "label": "Orders",
2918
+ "href": "/orders",
2919
+ "icon": "clipboard-list"
2920
+ },
2921
+ {
2922
+ "label": "Market",
2923
+ "href": "/market",
2924
+ "icon": "layout-list"
2925
+ }
2926
+ ],
2093
2927
  "children": [
2094
2928
  {
2095
2929
  "type": "stack",
2096
- "direction": "horizontal",
2097
- "gap": "md",
2930
+ "direction": "vertical",
2931
+ "gap": "lg",
2098
2932
  "align": "center",
2099
2933
  "children": [
2100
2934
  {
2101
- "type": "icon",
2102
- "name": "activity",
2103
- "size": "lg"
2935
+ "type": "stack",
2936
+ "direction": "horizontal",
2937
+ "gap": "md",
2938
+ "align": "center",
2939
+ "children": [
2940
+ {
2941
+ "type": "icon",
2942
+ "name": "activity",
2943
+ "size": "lg"
2944
+ },
2945
+ {
2946
+ "type": "typography",
2947
+ "content": "MarketFeed",
2948
+ "variant": "h2"
2949
+ }
2950
+ ]
2951
+ },
2952
+ {
2953
+ "type": "divider"
2104
2954
  },
2105
2955
  {
2106
2956
  "type": "typography",
2107
- "content": "MarketFeed",
2108
- "variant": "h2"
2957
+ "variant": "body",
2958
+ "color": "muted",
2959
+ "content": "Ready to start marketfeed operation."
2960
+ },
2961
+ {
2962
+ "type": "button",
2963
+ "label": "Start",
2964
+ "event": "START",
2965
+ "variant": "primary",
2966
+ "icon": "play"
2109
2967
  }
2110
2968
  ]
2111
- },
2112
- {
2113
- "type": "divider"
2114
- },
2115
- {
2116
- "type": "typography",
2117
- "variant": "body",
2118
- "color": "muted",
2119
- "content": "Ready to start marketfeed operation."
2120
- },
2121
- {
2122
- "type": "button",
2123
- "label": "Start",
2124
- "event": "START",
2125
- "variant": "primary",
2126
- "icon": "play"
2127
2969
  }
2128
2970
  ]
2129
2971
  }
@@ -2139,19 +2981,42 @@
2139
2981
  "render-ui",
2140
2982
  "main",
2141
2983
  {
2142
- "type": "stack",
2143
- "direction": "vertical",
2144
- "gap": "lg",
2145
- "align": "center",
2146
- "children": [
2984
+ "type": "dashboard-layout",
2985
+ "appName": "Trading Dashboard",
2986
+ "navItems": [
2987
+ {
2988
+ "label": "Portfolio",
2989
+ "href": "/portfolio",
2990
+ "icon": "layout-list"
2991
+ },
2147
2992
  {
2148
- "type": "loading-state",
2149
- "title": "Connecting to market feed...",
2150
- "message": "Processing marketfeed..."
2993
+ "label": "Orders",
2994
+ "href": "/orders",
2995
+ "icon": "clipboard-list"
2151
2996
  },
2152
2997
  {
2153
- "type": "skeleton",
2154
- "variant": "text"
2998
+ "label": "Market",
2999
+ "href": "/market",
3000
+ "icon": "layout-list"
3001
+ }
3002
+ ],
3003
+ "children": [
3004
+ {
3005
+ "type": "stack",
3006
+ "direction": "vertical",
3007
+ "gap": "lg",
3008
+ "align": "center",
3009
+ "children": [
3010
+ {
3011
+ "type": "loading-state",
3012
+ "title": "Connecting to market feed...",
3013
+ "message": "Processing marketfeed..."
3014
+ },
3015
+ {
3016
+ "type": "skeleton",
3017
+ "variant": "text"
3018
+ }
3019
+ ]
2155
3020
  }
2156
3021
  ]
2157
3022
  }
@@ -2173,33 +3038,56 @@
2173
3038
  "render-ui",
2174
3039
  "main",
2175
3040
  {
2176
- "type": "stack",
2177
- "direction": "vertical",
2178
- "gap": "lg",
2179
- "align": "center",
2180
- "children": [
3041
+ "type": "dashboard-layout",
3042
+ "appName": "Trading Dashboard",
3043
+ "navItems": [
2181
3044
  {
2182
- "type": "icon",
2183
- "name": "check-circle",
2184
- "size": "lg"
3045
+ "label": "Portfolio",
3046
+ "href": "/portfolio",
3047
+ "icon": "layout-list"
2185
3048
  },
2186
3049
  {
2187
- "type": "alert",
2188
- "variant": "success",
2189
- "message": "Market feed connected."
3050
+ "label": "Orders",
3051
+ "href": "/orders",
3052
+ "icon": "clipboard-list"
2190
3053
  },
3054
+ {
3055
+ "label": "Market",
3056
+ "href": "/market",
3057
+ "icon": "layout-list"
3058
+ }
3059
+ ],
3060
+ "children": [
2191
3061
  {
2192
3062
  "type": "stack",
2193
- "direction": "horizontal",
2194
- "gap": "sm",
2195
- "justify": "center",
3063
+ "direction": "vertical",
3064
+ "gap": "lg",
3065
+ "align": "center",
2196
3066
  "children": [
2197
3067
  {
2198
- "type": "button",
2199
- "label": "Reset",
2200
- "event": "RESET",
2201
- "variant": "ghost",
2202
- "icon": "rotate-ccw"
3068
+ "type": "icon",
3069
+ "name": "check-circle",
3070
+ "size": "lg"
3071
+ },
3072
+ {
3073
+ "type": "alert",
3074
+ "variant": "success",
3075
+ "message": "Market feed connected."
3076
+ },
3077
+ {
3078
+ "type": "stack",
3079
+ "direction": "horizontal",
3080
+ "gap": "sm",
3081
+ "justify": "center",
3082
+ "children": [
3083
+ {
3084
+ "type": "button",
3085
+ "label": "Reset",
3086
+ "event": "RESET",
3087
+ "variant": "ghost",
3088
+ "icon": "rotate-ccw"
3089
+ }
3090
+ ]
2203
3091
  }
2204
3092
  ]
2205
3093
  }
@@ -2221,36 +3109,59 @@
2221
3109
  "render-ui",
2222
3110
  "main",
2223
3111
  {
2224
- "type": "stack",
2225
- "direction": "vertical",
2226
- "gap": "lg",
2227
- "align": "center",
2228
- "children": [
3112
+ "type": "dashboard-layout",
3113
+ "appName": "Trading Dashboard",
3114
+ "navItems": [
3115
+ {
3116
+ "label": "Portfolio",
3117
+ "href": "/portfolio",
3118
+ "icon": "layout-list"
3119
+ },
2229
3120
  {
2230
- "type": "error-state",
2231
- "title": "Operation Failed",
2232
- "message": "Market feed disconnected.",
2233
- "onRetry": "RETRY"
3121
+ "label": "Orders",
3122
+ "href": "/orders",
3123
+ "icon": "clipboard-list"
2234
3124
  },
3125
+ {
3126
+ "label": "Market",
3127
+ "href": "/market",
3128
+ "icon": "layout-list"
3129
+ }
3130
+ ],
3131
+ "children": [
2235
3132
  {
2236
3133
  "type": "stack",
2237
- "direction": "horizontal",
2238
- "gap": "sm",
2239
- "justify": "center",
3134
+ "direction": "vertical",
3135
+ "gap": "lg",
3136
+ "align": "center",
2240
3137
  "children": [
2241
3138
  {
2242
- "type": "button",
2243
- "label": "Retry",
2244
- "event": "RETRY",
2245
- "variant": "primary",
2246
- "icon": "refresh-cw"
3139
+ "type": "error-state",
3140
+ "title": "Operation Failed",
3141
+ "message": "Market feed disconnected.",
3142
+ "onRetry": "RETRY"
2247
3143
  },
2248
3144
  {
2249
- "type": "button",
2250
- "label": "Reset",
2251
- "event": "RESET",
2252
- "variant": "ghost",
2253
- "icon": "rotate-ccw"
3145
+ "type": "stack",
3146
+ "direction": "horizontal",
3147
+ "gap": "sm",
3148
+ "justify": "center",
3149
+ "children": [
3150
+ {
3151
+ "type": "button",
3152
+ "label": "Retry",
3153
+ "event": "RETRY",
3154
+ "variant": "primary",
3155
+ "icon": "refresh-cw"
3156
+ },
3157
+ {
3158
+ "type": "button",
3159
+ "label": "Reset",
3160
+ "event": "RESET",
3161
+ "variant": "ghost",
3162
+ "icon": "rotate-ccw"
3163
+ }
3164
+ ]
2254
3165
  }
2255
3166
  ]
2256
3167
  }
@@ -2268,44 +3179,67 @@
2268
3179
  "render-ui",
2269
3180
  "main",
2270
3181
  {
2271
- "type": "stack",
2272
- "direction": "vertical",
2273
- "gap": "lg",
2274
- "align": "center",
3182
+ "type": "dashboard-layout",
3183
+ "appName": "Trading Dashboard",
3184
+ "navItems": [
3185
+ {
3186
+ "label": "Portfolio",
3187
+ "href": "/portfolio",
3188
+ "icon": "layout-list"
3189
+ },
3190
+ {
3191
+ "label": "Orders",
3192
+ "href": "/orders",
3193
+ "icon": "clipboard-list"
3194
+ },
3195
+ {
3196
+ "label": "Market",
3197
+ "href": "/market",
3198
+ "icon": "layout-list"
3199
+ }
3200
+ ],
2275
3201
  "children": [
2276
3202
  {
2277
3203
  "type": "stack",
2278
- "direction": "horizontal",
2279
- "gap": "md",
3204
+ "direction": "vertical",
3205
+ "gap": "lg",
2280
3206
  "align": "center",
2281
3207
  "children": [
2282
3208
  {
2283
- "type": "icon",
2284
- "name": "activity",
2285
- "size": "lg"
3209
+ "type": "stack",
3210
+ "direction": "horizontal",
3211
+ "gap": "md",
3212
+ "align": "center",
3213
+ "children": [
3214
+ {
3215
+ "type": "icon",
3216
+ "name": "activity",
3217
+ "size": "lg"
3218
+ },
3219
+ {
3220
+ "type": "typography",
3221
+ "content": "MarketFeed",
3222
+ "variant": "h2"
3223
+ }
3224
+ ]
3225
+ },
3226
+ {
3227
+ "type": "divider"
2286
3228
  },
2287
3229
  {
2288
3230
  "type": "typography",
2289
- "content": "MarketFeed",
2290
- "variant": "h2"
3231
+ "variant": "body",
3232
+ "color": "muted",
3233
+ "content": "Ready to start marketfeed operation."
3234
+ },
3235
+ {
3236
+ "type": "button",
3237
+ "label": "Start",
3238
+ "event": "START",
3239
+ "variant": "primary",
3240
+ "icon": "play"
2291
3241
  }
2292
3242
  ]
2293
- },
2294
- {
2295
- "type": "divider"
2296
- },
2297
- {
2298
- "type": "typography",
2299
- "variant": "body",
2300
- "color": "muted",
2301
- "content": "Ready to start marketfeed operation."
2302
- },
2303
- {
2304
- "type": "button",
2305
- "label": "Start",
2306
- "event": "START",
2307
- "variant": "primary",
2308
- "icon": "play"
2309
3243
  }
2310
3244
  ]
2311
3245
  }
@@ -2321,44 +3255,67 @@
2321
3255
  "render-ui",
2322
3256
  "main",
2323
3257
  {
2324
- "type": "stack",
2325
- "direction": "vertical",
2326
- "gap": "lg",
2327
- "align": "center",
3258
+ "type": "dashboard-layout",
3259
+ "appName": "Trading Dashboard",
3260
+ "navItems": [
3261
+ {
3262
+ "label": "Portfolio",
3263
+ "href": "/portfolio",
3264
+ "icon": "layout-list"
3265
+ },
3266
+ {
3267
+ "label": "Orders",
3268
+ "href": "/orders",
3269
+ "icon": "clipboard-list"
3270
+ },
3271
+ {
3272
+ "label": "Market",
3273
+ "href": "/market",
3274
+ "icon": "layout-list"
3275
+ }
3276
+ ],
2328
3277
  "children": [
2329
3278
  {
2330
3279
  "type": "stack",
2331
- "direction": "horizontal",
2332
- "gap": "md",
3280
+ "direction": "vertical",
3281
+ "gap": "lg",
2333
3282
  "align": "center",
2334
3283
  "children": [
2335
3284
  {
2336
- "type": "icon",
2337
- "name": "activity",
2338
- "size": "lg"
3285
+ "type": "stack",
3286
+ "direction": "horizontal",
3287
+ "gap": "md",
3288
+ "align": "center",
3289
+ "children": [
3290
+ {
3291
+ "type": "icon",
3292
+ "name": "activity",
3293
+ "size": "lg"
3294
+ },
3295
+ {
3296
+ "type": "typography",
3297
+ "content": "MarketFeed",
3298
+ "variant": "h2"
3299
+ }
3300
+ ]
3301
+ },
3302
+ {
3303
+ "type": "divider"
2339
3304
  },
2340
3305
  {
2341
3306
  "type": "typography",
2342
- "content": "MarketFeed",
2343
- "variant": "h2"
3307
+ "variant": "body",
3308
+ "color": "muted",
3309
+ "content": "Ready to start marketfeed operation."
3310
+ },
3311
+ {
3312
+ "type": "button",
3313
+ "label": "Start",
3314
+ "event": "START",
3315
+ "variant": "primary",
3316
+ "icon": "play"
2344
3317
  }
2345
3318
  ]
2346
- },
2347
- {
2348
- "type": "divider"
2349
- },
2350
- {
2351
- "type": "typography",
2352
- "variant": "body",
2353
- "color": "muted",
2354
- "content": "Ready to start marketfeed operation."
2355
- },
2356
- {
2357
- "type": "button",
2358
- "label": "Start",
2359
- "event": "START",
2360
- "variant": "primary",
2361
- "icon": "play"
2362
3319
  }
2363
3320
  ]
2364
3321
  }
@@ -2374,19 +3331,42 @@
2374
3331
  "render-ui",
2375
3332
  "main",
2376
3333
  {
2377
- "type": "stack",
2378
- "direction": "vertical",
2379
- "gap": "lg",
2380
- "align": "center",
2381
- "children": [
3334
+ "type": "dashboard-layout",
3335
+ "appName": "Trading Dashboard",
3336
+ "navItems": [
3337
+ {
3338
+ "label": "Portfolio",
3339
+ "href": "/portfolio",
3340
+ "icon": "layout-list"
3341
+ },
2382
3342
  {
2383
- "type": "loading-state",
2384
- "title": "Connecting to market feed...",
2385
- "message": "Processing marketfeed..."
3343
+ "label": "Orders",
3344
+ "href": "/orders",
3345
+ "icon": "clipboard-list"
2386
3346
  },
2387
3347
  {
2388
- "type": "skeleton",
2389
- "variant": "text"
3348
+ "label": "Market",
3349
+ "href": "/market",
3350
+ "icon": "layout-list"
3351
+ }
3352
+ ],
3353
+ "children": [
3354
+ {
3355
+ "type": "stack",
3356
+ "direction": "vertical",
3357
+ "gap": "lg",
3358
+ "align": "center",
3359
+ "children": [
3360
+ {
3361
+ "type": "loading-state",
3362
+ "title": "Connecting to market feed...",
3363
+ "message": "Processing marketfeed..."
3364
+ },
3365
+ {
3366
+ "type": "skeleton",
3367
+ "variant": "text"
3368
+ }
3369
+ ]
2390
3370
  }
2391
3371
  ]
2392
3372
  }