@almadar/std 5.0.0 → 5.2.0

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 (421) hide show
  1. package/behaviors/exports/atoms/std-agent-activity-log.orb +5 -45
  2. package/behaviors/exports/atoms/std-agent-chat-thread.orb +5 -55
  3. package/behaviors/exports/atoms/std-agent-classifier.orb +8 -8
  4. package/behaviors/exports/atoms/std-agent-completion.orb +8 -8
  5. package/behaviors/exports/atoms/std-agent-context-window.orb +5 -4
  6. package/behaviors/exports/atoms/std-agent-conversation.orb +5 -71
  7. package/behaviors/exports/atoms/std-agent-memory.orb +13 -127
  8. package/behaviors/exports/atoms/std-agent-provider.orb +8 -8
  9. package/behaviors/exports/atoms/std-agent-search.orb +6 -27
  10. package/behaviors/exports/atoms/std-agent-session.orb +11 -85
  11. package/behaviors/exports/atoms/std-agent-step-progress.orb +5 -4
  12. package/behaviors/exports/atoms/std-agent-token-gauge.orb +5 -4
  13. package/behaviors/exports/atoms/std-agent-tool-call.orb +8 -8
  14. package/behaviors/exports/atoms/std-async.orb +5 -8
  15. package/behaviors/exports/atoms/std-autoregressive.orb +4 -2
  16. package/behaviors/exports/atoms/std-browse.orb +5 -4
  17. package/behaviors/exports/atoms/std-cache-aside.orb +5 -8
  18. package/behaviors/exports/atoms/std-calendar.orb +5 -4
  19. package/behaviors/exports/atoms/std-circuit-breaker.orb +5 -4
  20. package/behaviors/exports/atoms/std-collision.orb +5 -4
  21. package/behaviors/exports/atoms/std-combat-log.orb +5 -4
  22. package/behaviors/exports/atoms/std-combat.orb +5 -4
  23. package/behaviors/exports/atoms/std-confirmation.orb +10 -4
  24. package/behaviors/exports/atoms/std-dialogue-box.orb +5 -4
  25. package/behaviors/exports/atoms/std-display.orb +5 -4
  26. package/behaviors/exports/atoms/std-drawer.orb +5 -4
  27. package/behaviors/exports/atoms/std-filter.orb +5 -4
  28. package/behaviors/exports/atoms/std-flip-card.orb +5 -4
  29. package/behaviors/exports/atoms/std-gallery.orb +5 -4
  30. package/behaviors/exports/atoms/std-game-audio.orb +5 -4
  31. package/behaviors/exports/atoms/std-game-canvas2d.orb +4 -2
  32. package/behaviors/exports/atoms/std-game-canvas3d.orb +4 -2
  33. package/behaviors/exports/atoms/std-game-hud.orb +5 -4
  34. package/behaviors/exports/atoms/std-game-menu.orb +5 -4
  35. package/behaviors/exports/atoms/std-game-over-screen.orb +5 -4
  36. package/behaviors/exports/atoms/std-gameflow.orb +5 -4
  37. package/behaviors/exports/atoms/std-input.orb +5 -4
  38. package/behaviors/exports/atoms/std-inventory-panel.orb +5 -8
  39. package/behaviors/exports/atoms/std-isometric-canvas.orb +5 -4
  40. package/behaviors/exports/atoms/std-loading.orb +5 -4
  41. package/behaviors/exports/atoms/std-modal.orb +89 -4
  42. package/behaviors/exports/atoms/std-movement.orb +5 -4
  43. package/behaviors/exports/atoms/std-notification.orb +5 -4
  44. package/behaviors/exports/atoms/std-overworld.orb +5 -4
  45. package/behaviors/exports/atoms/std-pagination.orb +5 -4
  46. package/behaviors/exports/atoms/std-physics2d.orb +5 -4
  47. package/behaviors/exports/atoms/std-platformer-canvas.orb +5 -4
  48. package/behaviors/exports/atoms/std-quest.orb +5 -8
  49. package/behaviors/exports/atoms/std-rate-limiter.orb +5 -4
  50. package/behaviors/exports/atoms/std-rating.orb +5 -4
  51. package/behaviors/exports/atoms/std-score-board.orb +5 -4
  52. package/behaviors/exports/atoms/std-score.orb +5 -4
  53. package/behaviors/exports/atoms/std-search.orb +5 -4
  54. package/behaviors/exports/atoms/std-selection.orb +5 -4
  55. package/behaviors/exports/atoms/std-service-custom-bearer.orb +5 -15
  56. package/behaviors/exports/atoms/std-service-custom-header.orb +5 -17
  57. package/behaviors/exports/atoms/std-service-custom-noauth.orb +5 -11
  58. package/behaviors/exports/atoms/std-service-custom-query.orb +5 -17
  59. package/behaviors/exports/atoms/std-service-email.orb +5 -4
  60. package/behaviors/exports/atoms/std-service-github.orb +5 -4
  61. package/behaviors/exports/atoms/std-service-llm.orb +5 -4
  62. package/behaviors/exports/atoms/std-service-oauth.orb +5 -4
  63. package/behaviors/exports/atoms/std-service-redis.orb +5 -4
  64. package/behaviors/exports/atoms/std-service-storage.orb +5 -4
  65. package/behaviors/exports/atoms/std-service-stripe.orb +5 -4
  66. package/behaviors/exports/atoms/std-service-twilio.orb +5 -4
  67. package/behaviors/exports/atoms/std-service-youtube.orb +5 -4
  68. package/behaviors/exports/atoms/std-simulation-canvas.orb +5 -4
  69. package/behaviors/exports/atoms/std-sort.orb +5 -4
  70. package/behaviors/exports/atoms/std-sprite.orb +5 -4
  71. package/behaviors/exports/atoms/std-tabs.orb +5 -4
  72. package/behaviors/exports/atoms/std-text-effects.orb +5 -4
  73. package/behaviors/exports/atoms/std-theme.orb +5 -4
  74. package/behaviors/exports/atoms/std-timer.orb +5 -4
  75. package/behaviors/exports/atoms/std-undo.orb +5 -4
  76. package/behaviors/exports/atoms/std-upload.orb +5 -4
  77. package/behaviors/exports/atoms/std-validate-on-save.orb +5 -32
  78. package/behaviors/exports/atoms/std-wizard.orb +5 -4
  79. package/behaviors/exports/molecules/std-agent-fix-loop.orb +1141 -1709
  80. package/behaviors/exports/molecules/std-agent-learner.orb +608 -938
  81. package/behaviors/exports/molecules/std-agent-planner.orb +613 -961
  82. package/behaviors/exports/molecules/std-agent-rag.orb +586 -915
  83. package/behaviors/exports/molecules/std-agent-tool-loop.orb +915 -2846
  84. package/behaviors/exports/molecules/std-builder-game.orb +5 -4
  85. package/behaviors/exports/molecules/std-cart.orb +196 -307
  86. package/behaviors/exports/molecules/std-classifier-game.orb +5 -4
  87. package/behaviors/exports/molecules/std-debugger-game.orb +5 -4
  88. package/behaviors/exports/molecules/std-detail.orb +309 -467
  89. package/behaviors/exports/molecules/std-event-handler-game.orb +5 -4
  90. package/behaviors/exports/molecules/std-form-advanced.orb +5 -8
  91. package/behaviors/exports/molecules/std-geospatial.orb +363 -539
  92. package/behaviors/exports/molecules/std-inventory.orb +390 -720
  93. package/behaviors/exports/molecules/std-list.orb +526 -1156
  94. package/behaviors/exports/molecules/std-messaging.orb +295 -452
  95. package/behaviors/exports/molecules/std-negotiator-game.orb +5 -4
  96. package/behaviors/exports/molecules/std-platformer-game.orb +5 -4
  97. package/behaviors/exports/molecules/std-puzzle-game.orb +5 -4
  98. package/behaviors/exports/molecules/std-quiz.orb +5 -4
  99. package/behaviors/exports/molecules/std-sequencer-game.orb +5 -4
  100. package/behaviors/exports/molecules/std-service-content-pipeline.orb +5 -4
  101. package/behaviors/exports/molecules/std-service-custom-api-tester.orb +5 -42
  102. package/behaviors/exports/molecules/std-service-devops-toolkit.orb +5 -4
  103. package/behaviors/exports/molecules/std-service-notification-hub.orb +5 -4
  104. package/behaviors/exports/molecules/std-service-payment-flow.orb +5 -4
  105. package/behaviors/exports/molecules/std-simulator-game.orb +5 -4
  106. package/behaviors/exports/molecules/std-turn-based-battle.orb +5 -4
  107. package/behaviors/exports/organisms/std-agent-assistant.orb +15 -143
  108. package/behaviors/exports/organisms/std-agent-builder.orb +814 -1476
  109. package/behaviors/exports/organisms/std-agent-pipeline.orb +785 -1567
  110. package/behaviors/exports/organisms/std-agent-reviewer.orb +299 -502
  111. package/behaviors/exports/organisms/std-agent-tutor.orb +306 -493
  112. package/behaviors/exports/organisms/std-api-gateway.orb +284 -626
  113. package/behaviors/exports/organisms/std-arcade-game.orb +4 -4
  114. package/behaviors/exports/organisms/std-booking-system.orb +1422 -2160
  115. package/behaviors/exports/organisms/std-cicd-pipeline.orb +274 -617
  116. package/behaviors/exports/organisms/std-cms.orb +1274 -1972
  117. package/behaviors/exports/organisms/std-coding-academy.orb +4 -4
  118. package/behaviors/exports/organisms/std-crm.orb +999 -1775
  119. package/behaviors/exports/organisms/std-devops-dashboard.orb +284 -638
  120. package/behaviors/exports/organisms/std-ecommerce.orb +1653 -2398
  121. package/behaviors/exports/organisms/std-finance-tracker.orb +340 -684
  122. package/behaviors/exports/organisms/std-healthcare.orb +984 -1838
  123. package/behaviors/exports/organisms/std-helpdesk.orb +340 -744
  124. package/behaviors/exports/organisms/std-hr-portal.orb +1401 -2151
  125. package/behaviors/exports/organisms/std-iot-dashboard.orb +284 -626
  126. package/behaviors/exports/organisms/std-lms.orb +284 -632
  127. package/behaviors/exports/organisms/std-logic-training.orb +4 -4
  128. package/behaviors/exports/organisms/std-platformer-app.orb +15 -98
  129. package/behaviors/exports/organisms/std-project-manager.orb +970 -1774
  130. package/behaviors/exports/organisms/std-puzzle-app.orb +4 -4
  131. package/behaviors/exports/organisms/std-realtime-chat.orb +364 -714
  132. package/behaviors/exports/organisms/std-rpg-game.orb +15 -102
  133. package/behaviors/exports/organisms/std-service-marketplace.orb +1589 -2361
  134. package/behaviors/exports/organisms/std-service-research-assistant.orb +4 -15
  135. package/behaviors/exports/organisms/std-social-feed.orb +62 -66
  136. package/behaviors/exports/organisms/std-stem-lab.orb +4 -4
  137. package/behaviors/exports/organisms/std-strategy-game.orb +4 -4
  138. package/behaviors/exports/organisms/std-trading-dashboard.orb +274 -620
  139. package/dist/behaviors/exports/atoms/std-agent-activity-log.orb +5 -45
  140. package/dist/behaviors/exports/atoms/std-agent-chat-thread.orb +5 -55
  141. package/dist/behaviors/exports/atoms/std-agent-classifier.orb +8 -8
  142. package/dist/behaviors/exports/atoms/std-agent-completion.orb +8 -8
  143. package/dist/behaviors/exports/atoms/std-agent-context-window.orb +5 -4
  144. package/dist/behaviors/exports/atoms/std-agent-conversation.orb +5 -71
  145. package/dist/behaviors/exports/atoms/std-agent-memory.orb +13 -127
  146. package/dist/behaviors/exports/atoms/std-agent-provider.orb +8 -8
  147. package/dist/behaviors/exports/atoms/std-agent-search.orb +6 -27
  148. package/dist/behaviors/exports/atoms/std-agent-session.orb +11 -85
  149. package/dist/behaviors/exports/atoms/std-agent-step-progress.orb +5 -4
  150. package/dist/behaviors/exports/atoms/std-agent-token-gauge.orb +5 -4
  151. package/dist/behaviors/exports/atoms/std-agent-tool-call.orb +8 -8
  152. package/dist/behaviors/exports/atoms/std-async.orb +5 -8
  153. package/dist/behaviors/exports/atoms/std-autoregressive.orb +4 -2
  154. package/dist/behaviors/exports/atoms/std-browse.orb +5 -4
  155. package/dist/behaviors/exports/atoms/std-cache-aside.orb +5 -8
  156. package/dist/behaviors/exports/atoms/std-calendar.orb +5 -4
  157. package/dist/behaviors/exports/atoms/std-circuit-breaker.orb +5 -4
  158. package/dist/behaviors/exports/atoms/std-collision.orb +5 -4
  159. package/dist/behaviors/exports/atoms/std-combat-log.orb +5 -4
  160. package/dist/behaviors/exports/atoms/std-combat.orb +5 -4
  161. package/dist/behaviors/exports/atoms/std-confirmation.orb +10 -4
  162. package/dist/behaviors/exports/atoms/std-dialogue-box.orb +5 -4
  163. package/dist/behaviors/exports/atoms/std-display.orb +5 -4
  164. package/dist/behaviors/exports/atoms/std-drawer.orb +5 -4
  165. package/dist/behaviors/exports/atoms/std-filter.orb +5 -4
  166. package/dist/behaviors/exports/atoms/std-flip-card.orb +5 -4
  167. package/dist/behaviors/exports/atoms/std-gallery.orb +5 -4
  168. package/dist/behaviors/exports/atoms/std-game-audio.orb +5 -4
  169. package/dist/behaviors/exports/atoms/std-game-canvas2d.orb +4 -2
  170. package/dist/behaviors/exports/atoms/std-game-canvas3d.orb +4 -2
  171. package/dist/behaviors/exports/atoms/std-game-hud.orb +5 -4
  172. package/dist/behaviors/exports/atoms/std-game-menu.orb +5 -4
  173. package/dist/behaviors/exports/atoms/std-game-over-screen.orb +5 -4
  174. package/dist/behaviors/exports/atoms/std-gameflow.orb +5 -4
  175. package/dist/behaviors/exports/atoms/std-input.orb +5 -4
  176. package/dist/behaviors/exports/atoms/std-inventory-panel.orb +5 -8
  177. package/dist/behaviors/exports/atoms/std-isometric-canvas.orb +5 -4
  178. package/dist/behaviors/exports/atoms/std-loading.orb +5 -4
  179. package/dist/behaviors/exports/atoms/std-modal.orb +89 -4
  180. package/dist/behaviors/exports/atoms/std-movement.orb +5 -4
  181. package/dist/behaviors/exports/atoms/std-notification.orb +5 -4
  182. package/dist/behaviors/exports/atoms/std-overworld.orb +5 -4
  183. package/dist/behaviors/exports/atoms/std-pagination.orb +5 -4
  184. package/dist/behaviors/exports/atoms/std-physics2d.orb +5 -4
  185. package/dist/behaviors/exports/atoms/std-platformer-canvas.orb +5 -4
  186. package/dist/behaviors/exports/atoms/std-quest.orb +5 -8
  187. package/dist/behaviors/exports/atoms/std-rate-limiter.orb +5 -4
  188. package/dist/behaviors/exports/atoms/std-rating.orb +5 -4
  189. package/dist/behaviors/exports/atoms/std-score-board.orb +5 -4
  190. package/dist/behaviors/exports/atoms/std-score.orb +5 -4
  191. package/dist/behaviors/exports/atoms/std-search.orb +5 -4
  192. package/dist/behaviors/exports/atoms/std-selection.orb +5 -4
  193. package/dist/behaviors/exports/atoms/std-service-custom-bearer.orb +5 -15
  194. package/dist/behaviors/exports/atoms/std-service-custom-header.orb +5 -17
  195. package/dist/behaviors/exports/atoms/std-service-custom-noauth.orb +5 -11
  196. package/dist/behaviors/exports/atoms/std-service-custom-query.orb +5 -17
  197. package/dist/behaviors/exports/atoms/std-service-email.orb +5 -4
  198. package/dist/behaviors/exports/atoms/std-service-github.orb +5 -4
  199. package/dist/behaviors/exports/atoms/std-service-llm.orb +5 -4
  200. package/dist/behaviors/exports/atoms/std-service-oauth.orb +5 -4
  201. package/dist/behaviors/exports/atoms/std-service-redis.orb +5 -4
  202. package/dist/behaviors/exports/atoms/std-service-storage.orb +5 -4
  203. package/dist/behaviors/exports/atoms/std-service-stripe.orb +5 -4
  204. package/dist/behaviors/exports/atoms/std-service-twilio.orb +5 -4
  205. package/dist/behaviors/exports/atoms/std-service-youtube.orb +5 -4
  206. package/dist/behaviors/exports/atoms/std-simulation-canvas.orb +5 -4
  207. package/dist/behaviors/exports/atoms/std-sort.orb +5 -4
  208. package/dist/behaviors/exports/atoms/std-sprite.orb +5 -4
  209. package/dist/behaviors/exports/atoms/std-tabs.orb +5 -4
  210. package/dist/behaviors/exports/atoms/std-text-effects.orb +5 -4
  211. package/dist/behaviors/exports/atoms/std-theme.orb +5 -4
  212. package/dist/behaviors/exports/atoms/std-timer.orb +5 -4
  213. package/dist/behaviors/exports/atoms/std-undo.orb +5 -4
  214. package/dist/behaviors/exports/atoms/std-upload.orb +5 -4
  215. package/dist/behaviors/exports/atoms/std-validate-on-save.orb +5 -32
  216. package/dist/behaviors/exports/atoms/std-wizard.orb +5 -4
  217. package/dist/behaviors/exports/molecules/std-agent-fix-loop.orb +1141 -1709
  218. package/dist/behaviors/exports/molecules/std-agent-learner.orb +608 -938
  219. package/dist/behaviors/exports/molecules/std-agent-planner.orb +613 -961
  220. package/dist/behaviors/exports/molecules/std-agent-rag.orb +586 -915
  221. package/dist/behaviors/exports/molecules/std-agent-tool-loop.orb +915 -2846
  222. package/dist/behaviors/exports/molecules/std-builder-game.orb +5 -4
  223. package/dist/behaviors/exports/molecules/std-cart.orb +196 -307
  224. package/dist/behaviors/exports/molecules/std-classifier-game.orb +5 -4
  225. package/dist/behaviors/exports/molecules/std-debugger-game.orb +5 -4
  226. package/dist/behaviors/exports/molecules/std-detail.orb +309 -467
  227. package/dist/behaviors/exports/molecules/std-event-handler-game.orb +5 -4
  228. package/dist/behaviors/exports/molecules/std-form-advanced.orb +5 -8
  229. package/dist/behaviors/exports/molecules/std-geospatial.orb +363 -539
  230. package/dist/behaviors/exports/molecules/std-inventory.orb +390 -720
  231. package/dist/behaviors/exports/molecules/std-list.orb +526 -1156
  232. package/dist/behaviors/exports/molecules/std-messaging.orb +295 -452
  233. package/dist/behaviors/exports/molecules/std-negotiator-game.orb +5 -4
  234. package/dist/behaviors/exports/molecules/std-platformer-game.orb +5 -4
  235. package/dist/behaviors/exports/molecules/std-puzzle-game.orb +5 -4
  236. package/dist/behaviors/exports/molecules/std-quiz.orb +5 -4
  237. package/dist/behaviors/exports/molecules/std-sequencer-game.orb +5 -4
  238. package/dist/behaviors/exports/molecules/std-service-content-pipeline.orb +5 -4
  239. package/dist/behaviors/exports/molecules/std-service-custom-api-tester.orb +5 -42
  240. package/dist/behaviors/exports/molecules/std-service-devops-toolkit.orb +5 -4
  241. package/dist/behaviors/exports/molecules/std-service-notification-hub.orb +5 -4
  242. package/dist/behaviors/exports/molecules/std-service-payment-flow.orb +5 -4
  243. package/dist/behaviors/exports/molecules/std-simulator-game.orb +5 -4
  244. package/dist/behaviors/exports/molecules/std-turn-based-battle.orb +5 -4
  245. package/dist/behaviors/exports/organisms/std-agent-assistant.orb +15 -143
  246. package/dist/behaviors/exports/organisms/std-agent-builder.orb +814 -1476
  247. package/dist/behaviors/exports/organisms/std-agent-pipeline.orb +785 -1567
  248. package/dist/behaviors/exports/organisms/std-agent-reviewer.orb +299 -502
  249. package/dist/behaviors/exports/organisms/std-agent-tutor.orb +306 -493
  250. package/dist/behaviors/exports/organisms/std-api-gateway.orb +284 -626
  251. package/dist/behaviors/exports/organisms/std-arcade-game.orb +4 -4
  252. package/dist/behaviors/exports/organisms/std-booking-system.orb +1422 -2160
  253. package/dist/behaviors/exports/organisms/std-cicd-pipeline.orb +274 -617
  254. package/dist/behaviors/exports/organisms/std-cms.orb +1274 -1972
  255. package/dist/behaviors/exports/organisms/std-coding-academy.orb +4 -4
  256. package/dist/behaviors/exports/organisms/std-crm.orb +999 -1775
  257. package/dist/behaviors/exports/organisms/std-devops-dashboard.orb +284 -638
  258. package/dist/behaviors/exports/organisms/std-ecommerce.orb +1653 -2398
  259. package/dist/behaviors/exports/organisms/std-finance-tracker.orb +340 -684
  260. package/dist/behaviors/exports/organisms/std-healthcare.orb +984 -1838
  261. package/dist/behaviors/exports/organisms/std-helpdesk.orb +340 -744
  262. package/dist/behaviors/exports/organisms/std-hr-portal.orb +1401 -2151
  263. package/dist/behaviors/exports/organisms/std-iot-dashboard.orb +284 -626
  264. package/dist/behaviors/exports/organisms/std-lms.orb +284 -632
  265. package/dist/behaviors/exports/organisms/std-logic-training.orb +4 -4
  266. package/dist/behaviors/exports/organisms/std-platformer-app.orb +15 -98
  267. package/dist/behaviors/exports/organisms/std-project-manager.orb +970 -1774
  268. package/dist/behaviors/exports/organisms/std-puzzle-app.orb +4 -4
  269. package/dist/behaviors/exports/organisms/std-realtime-chat.orb +364 -714
  270. package/dist/behaviors/exports/organisms/std-rpg-game.orb +15 -102
  271. package/dist/behaviors/exports/organisms/std-service-marketplace.orb +1589 -2361
  272. package/dist/behaviors/exports/organisms/std-service-research-assistant.orb +4 -15
  273. package/dist/behaviors/exports/organisms/std-social-feed.orb +62 -66
  274. package/dist/behaviors/exports/organisms/std-stem-lab.orb +4 -4
  275. package/dist/behaviors/exports/organisms/std-strategy-game.orb +4 -4
  276. package/dist/behaviors/exports/organisms/std-trading-dashboard.orb +274 -620
  277. package/dist/behaviors/exports-reader.js.map +1 -1
  278. package/dist/behaviors/functions/index.d.ts +2192 -0
  279. package/dist/behaviors/functions/index.js.map +1 -1
  280. package/dist/behaviors/index.js.map +1 -1
  281. package/dist/behaviors/query.js.map +1 -1
  282. package/dist/exports/atoms/std-agent-activity-log.orb +5 -45
  283. package/dist/exports/atoms/std-agent-chat-thread.orb +5 -55
  284. package/dist/exports/atoms/std-agent-classifier.orb +8 -8
  285. package/dist/exports/atoms/std-agent-completion.orb +8 -8
  286. package/dist/exports/atoms/std-agent-context-window.orb +5 -4
  287. package/dist/exports/atoms/std-agent-conversation.orb +5 -71
  288. package/dist/exports/atoms/std-agent-memory.orb +13 -127
  289. package/dist/exports/atoms/std-agent-provider.orb +8 -8
  290. package/dist/exports/atoms/std-agent-search.orb +6 -27
  291. package/dist/exports/atoms/std-agent-session.orb +11 -85
  292. package/dist/exports/atoms/std-agent-step-progress.orb +5 -4
  293. package/dist/exports/atoms/std-agent-token-gauge.orb +5 -4
  294. package/dist/exports/atoms/std-agent-tool-call.orb +8 -8
  295. package/dist/exports/atoms/std-async.orb +5 -8
  296. package/dist/exports/atoms/std-autoregressive.orb +4 -2
  297. package/dist/exports/atoms/std-browse.orb +5 -4
  298. package/dist/exports/atoms/std-cache-aside.orb +5 -8
  299. package/dist/exports/atoms/std-calendar.orb +5 -4
  300. package/dist/exports/atoms/std-circuit-breaker.orb +5 -4
  301. package/dist/exports/atoms/std-collision.orb +5 -4
  302. package/dist/exports/atoms/std-combat-log.orb +5 -4
  303. package/dist/exports/atoms/std-combat.orb +5 -4
  304. package/dist/exports/atoms/std-confirmation.orb +10 -4
  305. package/dist/exports/atoms/std-dialogue-box.orb +5 -4
  306. package/dist/exports/atoms/std-display.orb +5 -4
  307. package/dist/exports/atoms/std-drawer.orb +5 -4
  308. package/dist/exports/atoms/std-filter.orb +5 -4
  309. package/dist/exports/atoms/std-flip-card.orb +5 -4
  310. package/dist/exports/atoms/std-gallery.orb +5 -4
  311. package/dist/exports/atoms/std-game-audio.orb +5 -4
  312. package/dist/exports/atoms/std-game-canvas2d.orb +4 -2
  313. package/dist/exports/atoms/std-game-canvas3d.orb +4 -2
  314. package/dist/exports/atoms/std-game-hud.orb +5 -4
  315. package/dist/exports/atoms/std-game-menu.orb +5 -4
  316. package/dist/exports/atoms/std-game-over-screen.orb +5 -4
  317. package/dist/exports/atoms/std-gameflow.orb +5 -4
  318. package/dist/exports/atoms/std-input.orb +5 -4
  319. package/dist/exports/atoms/std-inventory-panel.orb +5 -8
  320. package/dist/exports/atoms/std-isometric-canvas.orb +5 -4
  321. package/dist/exports/atoms/std-loading.orb +5 -4
  322. package/dist/exports/atoms/std-modal.orb +89 -4
  323. package/dist/exports/atoms/std-movement.orb +5 -4
  324. package/dist/exports/atoms/std-notification.orb +5 -4
  325. package/dist/exports/atoms/std-overworld.orb +5 -4
  326. package/dist/exports/atoms/std-pagination.orb +5 -4
  327. package/dist/exports/atoms/std-physics2d.orb +5 -4
  328. package/dist/exports/atoms/std-platformer-canvas.orb +5 -4
  329. package/dist/exports/atoms/std-quest.orb +5 -8
  330. package/dist/exports/atoms/std-rate-limiter.orb +5 -4
  331. package/dist/exports/atoms/std-rating.orb +5 -4
  332. package/dist/exports/atoms/std-score-board.orb +5 -4
  333. package/dist/exports/atoms/std-score.orb +5 -4
  334. package/dist/exports/atoms/std-search.orb +5 -4
  335. package/dist/exports/atoms/std-selection.orb +5 -4
  336. package/dist/exports/atoms/std-service-custom-bearer.orb +5 -15
  337. package/dist/exports/atoms/std-service-custom-header.orb +5 -17
  338. package/dist/exports/atoms/std-service-custom-noauth.orb +5 -11
  339. package/dist/exports/atoms/std-service-custom-query.orb +5 -17
  340. package/dist/exports/atoms/std-service-email.orb +5 -4
  341. package/dist/exports/atoms/std-service-github.orb +5 -4
  342. package/dist/exports/atoms/std-service-llm.orb +5 -4
  343. package/dist/exports/atoms/std-service-oauth.orb +5 -4
  344. package/dist/exports/atoms/std-service-redis.orb +5 -4
  345. package/dist/exports/atoms/std-service-storage.orb +5 -4
  346. package/dist/exports/atoms/std-service-stripe.orb +5 -4
  347. package/dist/exports/atoms/std-service-twilio.orb +5 -4
  348. package/dist/exports/atoms/std-service-youtube.orb +5 -4
  349. package/dist/exports/atoms/std-simulation-canvas.orb +5 -4
  350. package/dist/exports/atoms/std-sort.orb +5 -4
  351. package/dist/exports/atoms/std-sprite.orb +5 -4
  352. package/dist/exports/atoms/std-tabs.orb +5 -4
  353. package/dist/exports/atoms/std-text-effects.orb +5 -4
  354. package/dist/exports/atoms/std-theme.orb +5 -4
  355. package/dist/exports/atoms/std-timer.orb +5 -4
  356. package/dist/exports/atoms/std-undo.orb +5 -4
  357. package/dist/exports/atoms/std-upload.orb +5 -4
  358. package/dist/exports/atoms/std-validate-on-save.orb +5 -32
  359. package/dist/exports/atoms/std-wizard.orb +5 -4
  360. package/dist/exports/molecules/std-agent-fix-loop.orb +1141 -1709
  361. package/dist/exports/molecules/std-agent-learner.orb +608 -938
  362. package/dist/exports/molecules/std-agent-planner.orb +613 -961
  363. package/dist/exports/molecules/std-agent-rag.orb +586 -915
  364. package/dist/exports/molecules/std-agent-tool-loop.orb +915 -2846
  365. package/dist/exports/molecules/std-builder-game.orb +5 -4
  366. package/dist/exports/molecules/std-cart.orb +196 -307
  367. package/dist/exports/molecules/std-classifier-game.orb +5 -4
  368. package/dist/exports/molecules/std-debugger-game.orb +5 -4
  369. package/dist/exports/molecules/std-detail.orb +309 -467
  370. package/dist/exports/molecules/std-event-handler-game.orb +5 -4
  371. package/dist/exports/molecules/std-form-advanced.orb +5 -8
  372. package/dist/exports/molecules/std-geospatial.orb +363 -539
  373. package/dist/exports/molecules/std-inventory.orb +390 -720
  374. package/dist/exports/molecules/std-list.orb +526 -1156
  375. package/dist/exports/molecules/std-messaging.orb +295 -452
  376. package/dist/exports/molecules/std-negotiator-game.orb +5 -4
  377. package/dist/exports/molecules/std-platformer-game.orb +5 -4
  378. package/dist/exports/molecules/std-puzzle-game.orb +5 -4
  379. package/dist/exports/molecules/std-quiz.orb +5 -4
  380. package/dist/exports/molecules/std-sequencer-game.orb +5 -4
  381. package/dist/exports/molecules/std-service-content-pipeline.orb +5 -4
  382. package/dist/exports/molecules/std-service-custom-api-tester.orb +5 -42
  383. package/dist/exports/molecules/std-service-devops-toolkit.orb +5 -4
  384. package/dist/exports/molecules/std-service-notification-hub.orb +5 -4
  385. package/dist/exports/molecules/std-service-payment-flow.orb +5 -4
  386. package/dist/exports/molecules/std-simulator-game.orb +5 -4
  387. package/dist/exports/molecules/std-turn-based-battle.orb +5 -4
  388. package/dist/exports/organisms/std-agent-assistant.orb +15 -143
  389. package/dist/exports/organisms/std-agent-builder.orb +814 -1476
  390. package/dist/exports/organisms/std-agent-pipeline.orb +785 -1567
  391. package/dist/exports/organisms/std-agent-reviewer.orb +299 -502
  392. package/dist/exports/organisms/std-agent-tutor.orb +306 -493
  393. package/dist/exports/organisms/std-api-gateway.orb +284 -626
  394. package/dist/exports/organisms/std-arcade-game.orb +4 -4
  395. package/dist/exports/organisms/std-booking-system.orb +1422 -2160
  396. package/dist/exports/organisms/std-cicd-pipeline.orb +274 -617
  397. package/dist/exports/organisms/std-cms.orb +1274 -1972
  398. package/dist/exports/organisms/std-coding-academy.orb +4 -4
  399. package/dist/exports/organisms/std-crm.orb +999 -1775
  400. package/dist/exports/organisms/std-devops-dashboard.orb +284 -638
  401. package/dist/exports/organisms/std-ecommerce.orb +1653 -2398
  402. package/dist/exports/organisms/std-finance-tracker.orb +340 -684
  403. package/dist/exports/organisms/std-healthcare.orb +984 -1838
  404. package/dist/exports/organisms/std-helpdesk.orb +340 -744
  405. package/dist/exports/organisms/std-hr-portal.orb +1401 -2151
  406. package/dist/exports/organisms/std-iot-dashboard.orb +284 -626
  407. package/dist/exports/organisms/std-lms.orb +284 -632
  408. package/dist/exports/organisms/std-logic-training.orb +4 -4
  409. package/dist/exports/organisms/std-platformer-app.orb +15 -98
  410. package/dist/exports/organisms/std-project-manager.orb +970 -1774
  411. package/dist/exports/organisms/std-puzzle-app.orb +4 -4
  412. package/dist/exports/organisms/std-realtime-chat.orb +364 -714
  413. package/dist/exports/organisms/std-rpg-game.orb +15 -102
  414. package/dist/exports/organisms/std-service-marketplace.orb +1589 -2361
  415. package/dist/exports/organisms/std-service-research-assistant.orb +4 -15
  416. package/dist/exports/organisms/std-social-feed.orb +62 -66
  417. package/dist/exports/organisms/std-stem-lab.orb +4 -4
  418. package/dist/exports/organisms/std-strategy-game.orb +4 -4
  419. package/dist/exports/organisms/std-trading-dashboard.orb +274 -620
  420. package/dist/index.js.map +1 -1
  421. package/package.json +2 -2
@@ -1,6 +1,7 @@
1
1
  {
2
- "name": "HRPortal",
2
+ "name": "std-hr-portal",
3
3
  "version": "1.0.0",
4
+ "description": "HR portal organism. Composes molecules via compose: - stdList(Employee): CRUD list of employees - stdWizard(Onboarding): multi-step onboarding wizard - stdList(TimeOff): CRUD list of time-off requests - stdDisplay(OrgChart): read-only org chart dashboard",
4
5
  "orbitals": [
5
6
  {
6
7
  "name": "EmployeeOrbital",
@@ -48,11 +49,15 @@
48
49
  "listens": [
49
50
  {
50
51
  "event": "EMPLOYEE_CREATED",
51
- "triggers": "EMPLOYEE_CREATED"
52
+ "triggers": "INIT"
52
53
  },
53
54
  {
54
55
  "event": "EMPLOYEE_UPDATED",
55
- "triggers": "EMPLOYEE_UPDATED"
56
+ "triggers": "INIT"
57
+ },
58
+ {
59
+ "event": "EMPLOYEE_DELETED",
60
+ "triggers": "INIT"
56
61
  }
57
62
  ],
58
63
  "stateMachine": {
@@ -60,9 +65,6 @@
60
65
  {
61
66
  "name": "browsing",
62
67
  "isInitial": true
63
- },
64
- {
65
- "name": "deleting"
66
68
  }
67
69
  ],
68
70
  "events": [
@@ -118,40 +120,6 @@
118
120
  "type": "object"
119
121
  }
120
122
  ]
121
- },
122
- {
123
- "key": "EMPLOYEE_CREATED",
124
- "name": "EMPLOYEE_CREATED",
125
- "payload": [
126
- {
127
- "name": "data",
128
- "type": "object",
129
- "required": true
130
- }
131
- ]
132
- },
133
- {
134
- "key": "EMPLOYEE_UPDATED",
135
- "name": "EMPLOYEE_UPDATED",
136
- "payload": [
137
- {
138
- "name": "data",
139
- "type": "object",
140
- "required": true
141
- }
142
- ]
143
- },
144
- {
145
- "key": "CONFIRM_DELETE",
146
- "name": "Confirm Delete"
147
- },
148
- {
149
- "key": "CANCEL",
150
- "name": "Cancel"
151
- },
152
- {
153
- "key": "CLOSE",
154
- "name": "Close"
155
123
  }
156
124
  ],
157
125
  "transitions": [
@@ -303,22 +271,76 @@
303
271
  }
304
272
  ]
305
273
  ]
274
+ }
275
+ ]
276
+ },
277
+ "emits": [
278
+ {
279
+ "event": "ONBOARD",
280
+ "description": "Start onboarding for a new employee",
281
+ "payload": [
282
+ {
283
+ "name": "id",
284
+ "type": "string",
285
+ "required": true
286
+ }
287
+ ],
288
+ "scope": "external"
289
+ }
290
+ ]
291
+ },
292
+ {
293
+ "name": "EmployeeCreate",
294
+ "linkedEntity": "Employee",
295
+ "category": "interaction",
296
+ "emits": [
297
+ {
298
+ "event": "SAVE"
299
+ },
300
+ {
301
+ "event": "EMPLOYEE_CREATED"
302
+ }
303
+ ],
304
+ "stateMachine": {
305
+ "states": [
306
+ {
307
+ "name": "closed",
308
+ "isInitial": true
306
309
  },
307
310
  {
308
- "from": "browsing",
309
- "to": "browsing",
310
- "event": "EMPLOYEE_CREATED",
311
- "effects": [
312
- [
313
- "ref",
314
- "Employee"
315
- ]
316
- ]
311
+ "name": "open"
312
+ }
313
+ ],
314
+ "events": [
315
+ {
316
+ "key": "INIT",
317
+ "name": "Initialize"
317
318
  },
318
319
  {
319
- "from": "browsing",
320
- "to": "browsing",
321
- "event": "EMPLOYEE_UPDATED",
320
+ "key": "CREATE",
321
+ "name": "Open"
322
+ },
323
+ {
324
+ "key": "CLOSE",
325
+ "name": "Close"
326
+ },
327
+ {
328
+ "key": "SAVE",
329
+ "name": "Save",
330
+ "payload": [
331
+ {
332
+ "name": "data",
333
+ "type": "object",
334
+ "required": true
335
+ }
336
+ ]
337
+ }
338
+ ],
339
+ "transitions": [
340
+ {
341
+ "from": "closed",
342
+ "to": "closed",
343
+ "event": "INIT",
322
344
  "effects": [
323
345
  [
324
346
  "ref",
@@ -327,16 +349,13 @@
327
349
  ]
328
350
  },
329
351
  {
330
- "from": "browsing",
331
- "to": "deleting",
332
- "event": "DELETE",
352
+ "from": "closed",
353
+ "to": "open",
354
+ "event": "CREATE",
333
355
  "effects": [
334
356
  [
335
357
  "fetch",
336
- "Employee",
337
- {
338
- "id": "@payload.id"
339
- }
358
+ "Employee"
340
359
  ],
341
360
  [
342
361
  "render-ui",
@@ -353,12 +372,12 @@
353
372
  "children": [
354
373
  {
355
374
  "type": "icon",
356
- "name": "trash-2",
375
+ "name": "plus-circle",
357
376
  "size": "md"
358
377
  },
359
378
  {
360
379
  "type": "typography",
361
- "content": "Delete Employee",
380
+ "content": "New Employee",
362
381
  "variant": "h3"
363
382
  }
364
383
  ]
@@ -367,34 +386,17 @@
367
386
  "type": "divider"
368
387
  },
369
388
  {
370
- "type": "typography",
371
- "content": "@entity.name",
372
- "variant": "h4"
373
- },
374
- {
375
- "type": "typography",
376
- "content": "This action cannot be undone.",
377
- "variant": "body"
378
- },
379
- {
380
- "type": "stack",
381
- "direction": "horizontal",
382
- "gap": "sm",
383
- "justify": "end",
384
- "children": [
385
- {
386
- "type": "button",
387
- "label": "Cancel",
388
- "event": "CANCEL",
389
- "variant": "ghost"
390
- },
391
- {
392
- "type": "button",
393
- "label": "Delete",
394
- "event": "CONFIRM_DELETE",
395
- "variant": "danger",
396
- "icon": "trash"
397
- }
389
+ "type": "form-section",
390
+ "entity": "Employee",
391
+ "mode": "create",
392
+ "submitEvent": "SAVE",
393
+ "cancelEvent": "CLOSE",
394
+ "fields": [
395
+ "name",
396
+ "email",
397
+ "department",
398
+ "role",
399
+ "startDate"
398
400
  ]
399
401
  }
400
402
  ]
@@ -403,15 +405,32 @@
403
405
  ]
404
406
  },
405
407
  {
406
- "from": "deleting",
407
- "to": "browsing",
408
- "event": "CONFIRM_DELETE",
408
+ "from": "open",
409
+ "to": "closed",
410
+ "event": "CLOSE",
411
+ "effects": [
412
+ [
413
+ "render-ui",
414
+ "modal",
415
+ null
416
+ ],
417
+ [
418
+ "notify",
419
+ "Cancelled",
420
+ "info"
421
+ ]
422
+ ]
423
+ },
424
+ {
425
+ "from": "open",
426
+ "to": "closed",
427
+ "event": "SAVE",
409
428
  "effects": [
410
429
  [
411
430
  "persist",
412
- "delete",
431
+ "create",
413
432
  "Employee",
414
- "@entity.id"
433
+ "@payload.data"
415
434
  ],
416
435
  [
417
436
  "render-ui",
@@ -419,153 +438,144 @@
419
438
  null
420
439
  ],
421
440
  [
422
- "render-ui",
423
- "main",
424
- {
425
- "type": "dashboard-layout",
426
- "appName": "HRPortal",
427
- "navItems": [
428
- {
429
- "label": "Employees",
430
- "href": "/employees",
431
- "icon": "users"
432
- },
433
- {
434
- "label": "Onboarding",
435
- "href": "/onboarding",
436
- "icon": "layout-list"
437
- },
438
- {
439
- "label": "Time Off",
440
- "href": "/timeoff",
441
- "icon": "calendar"
442
- },
443
- {
444
- "label": "Org Chart",
445
- "href": "/org-chart",
446
- "icon": "layout-list"
447
- }
448
- ],
449
- "children": [
450
- {
451
- "type": "stack",
452
- "direction": "vertical",
453
- "gap": "lg",
454
- "className": "max-w-5xl mx-auto w-full",
455
- "children": [
456
- {
457
- "type": "stack",
458
- "direction": "horizontal",
459
- "gap": "md",
460
- "justify": "space-between",
461
- "align": "center",
462
- "children": [
463
- {
464
- "type": "stack",
465
- "direction": "horizontal",
466
- "gap": "sm",
467
- "align": "center",
468
- "children": [
469
- {
470
- "type": "icon",
471
- "name": "users",
472
- "size": "lg"
473
- },
474
- {
475
- "type": "typography",
476
- "content": "Employees",
477
- "variant": "h2"
478
- }
479
- ]
480
- },
481
- {
482
- "type": "stack",
483
- "direction": "horizontal",
484
- "gap": "sm",
485
- "children": [
486
- {
487
- "type": "button",
488
- "label": "Add Employee",
489
- "event": "CREATE",
490
- "variant": "primary",
491
- "icon": "plus"
492
- }
493
- ]
494
- }
495
- ]
496
- },
497
- {
498
- "type": "divider"
499
- },
441
+ "emit",
442
+ "EMPLOYEE_CREATED"
443
+ ]
444
+ ]
445
+ }
446
+ ]
447
+ }
448
+ },
449
+ {
450
+ "name": "EmployeeEdit",
451
+ "linkedEntity": "Employee",
452
+ "category": "interaction",
453
+ "emits": [
454
+ {
455
+ "event": "SAVE"
456
+ },
457
+ {
458
+ "event": "EMPLOYEE_UPDATED"
459
+ }
460
+ ],
461
+ "stateMachine": {
462
+ "states": [
463
+ {
464
+ "name": "closed",
465
+ "isInitial": true
466
+ },
467
+ {
468
+ "name": "open"
469
+ }
470
+ ],
471
+ "events": [
472
+ {
473
+ "key": "INIT",
474
+ "name": "Initialize"
475
+ },
476
+ {
477
+ "key": "EDIT",
478
+ "name": "Open",
479
+ "payload": [
480
+ {
481
+ "name": "id",
482
+ "type": "string",
483
+ "required": true
484
+ }
485
+ ]
486
+ },
487
+ {
488
+ "key": "CLOSE",
489
+ "name": "Close"
490
+ },
491
+ {
492
+ "key": "SAVE",
493
+ "name": "Save",
494
+ "payload": [
495
+ {
496
+ "name": "data",
497
+ "type": "object",
498
+ "required": true
499
+ }
500
+ ]
501
+ }
502
+ ],
503
+ "transitions": [
504
+ {
505
+ "from": "closed",
506
+ "to": "closed",
507
+ "event": "INIT",
508
+ "effects": [
509
+ [
510
+ "ref",
511
+ "Employee"
512
+ ]
513
+ ]
514
+ },
515
+ {
516
+ "from": "closed",
517
+ "to": "open",
518
+ "event": "EDIT",
519
+ "effects": [
520
+ [
521
+ "fetch",
522
+ "Employee",
523
+ {
524
+ "id": "@payload.id"
525
+ }
526
+ ],
527
+ [
528
+ "render-ui",
529
+ "modal",
530
+ {
531
+ "type": "stack",
532
+ "direction": "vertical",
533
+ "gap": "md",
534
+ "children": [
535
+ {
536
+ "type": "stack",
537
+ "direction": "horizontal",
538
+ "gap": "sm",
539
+ "children": [
500
540
  {
501
- "type": "data-list",
502
- "entity": "Employee",
503
- "emptyIcon": "inbox",
504
- "emptyTitle": "No employees yet",
505
- "emptyDescription": "Add employees to your organization.",
506
- "itemActions": [
507
- {
508
- "label": "View",
509
- "event": "VIEW",
510
- "variant": "ghost",
511
- "size": "sm"
512
- },
513
- {
514
- "label": "Edit",
515
- "event": "EDIT",
516
- "variant": "ghost",
517
- "size": "sm"
518
- },
519
- {
520
- "label": "Delete",
521
- "event": "DELETE",
522
- "variant": "danger",
523
- "size": "sm"
524
- }
525
- ],
526
- "columns": [
527
- {
528
- "name": "name",
529
- "variant": "h3",
530
- "icon": "user"
531
- },
532
- {
533
- "name": "department",
534
- "variant": "badge"
535
- },
536
- {
537
- "name": "role",
538
- "variant": "body"
539
- },
540
- {
541
- "name": "email",
542
- "variant": "caption"
543
- },
544
- {
545
- "name": "startDate",
546
- "label": "Joined",
547
- "variant": "caption",
548
- "format": "date"
549
- }
550
- ],
551
- "variant": "card",
552
- "gap": "sm"
541
+ "type": "icon",
542
+ "name": "edit",
543
+ "size": "md"
544
+ },
545
+ {
546
+ "type": "typography",
547
+ "content": "Edit Employee",
548
+ "variant": "h3"
553
549
  }
554
550
  ]
551
+ },
552
+ {
553
+ "type": "divider"
554
+ },
555
+ {
556
+ "type": "form-section",
557
+ "entity": "Employee",
558
+ "mode": "edit",
559
+ "submitEvent": "SAVE",
560
+ "cancelEvent": "CLOSE",
561
+ "fields": [
562
+ "name",
563
+ "email",
564
+ "department",
565
+ "role",
566
+ "startDate"
567
+ ],
568
+ "entityId": "@entity.id"
555
569
  }
556
570
  ]
557
571
  }
558
- ],
559
- [
560
- "notify",
561
- "Employee deleted successfully"
562
572
  ]
563
573
  ]
564
574
  },
565
575
  {
566
- "from": "deleting",
567
- "to": "browsing",
568
- "event": "CANCEL",
576
+ "from": "open",
577
+ "to": "closed",
578
+ "event": "CLOSE",
569
579
  "effects": [
570
580
  [
571
581
  "render-ui",
@@ -573,327 +583,44 @@
573
583
  null
574
584
  ],
575
585
  [
576
- "fetch",
577
- "Employee"
586
+ "notify",
587
+ "Cancelled",
588
+ "info"
589
+ ]
590
+ ]
591
+ },
592
+ {
593
+ "from": "open",
594
+ "to": "closed",
595
+ "event": "SAVE",
596
+ "effects": [
597
+ [
598
+ "persist",
599
+ "update",
600
+ "Employee",
601
+ "@payload.data"
578
602
  ],
579
- [
580
- "render-ui",
581
- "main",
582
- {
583
- "type": "dashboard-layout",
584
- "appName": "HRPortal",
585
- "navItems": [
586
- {
587
- "label": "Employees",
588
- "href": "/employees",
589
- "icon": "users"
590
- },
591
- {
592
- "label": "Onboarding",
593
- "href": "/onboarding",
594
- "icon": "layout-list"
595
- },
596
- {
597
- "label": "Time Off",
598
- "href": "/timeoff",
599
- "icon": "calendar"
600
- },
601
- {
602
- "label": "Org Chart",
603
- "href": "/org-chart",
604
- "icon": "layout-list"
605
- }
606
- ],
607
- "children": [
608
- {
609
- "type": "stack",
610
- "direction": "vertical",
611
- "gap": "lg",
612
- "className": "max-w-5xl mx-auto w-full",
613
- "children": [
614
- {
615
- "type": "stack",
616
- "direction": "horizontal",
617
- "gap": "md",
618
- "justify": "space-between",
619
- "align": "center",
620
- "children": [
621
- {
622
- "type": "stack",
623
- "direction": "horizontal",
624
- "gap": "sm",
625
- "align": "center",
626
- "children": [
627
- {
628
- "type": "icon",
629
- "name": "users",
630
- "size": "lg"
631
- },
632
- {
633
- "type": "typography",
634
- "content": "Employees",
635
- "variant": "h2"
636
- }
637
- ]
638
- },
639
- {
640
- "type": "stack",
641
- "direction": "horizontal",
642
- "gap": "sm",
643
- "children": [
644
- {
645
- "type": "button",
646
- "label": "Add Employee",
647
- "event": "CREATE",
648
- "variant": "primary",
649
- "icon": "plus"
650
- }
651
- ]
652
- }
653
- ]
654
- },
655
- {
656
- "type": "divider"
657
- },
658
- {
659
- "type": "data-list",
660
- "entity": "Employee",
661
- "emptyIcon": "inbox",
662
- "emptyTitle": "No employees yet",
663
- "emptyDescription": "Add employees to your organization.",
664
- "itemActions": [
665
- {
666
- "label": "View",
667
- "event": "VIEW",
668
- "variant": "ghost",
669
- "size": "sm"
670
- },
671
- {
672
- "label": "Edit",
673
- "event": "EDIT",
674
- "variant": "ghost",
675
- "size": "sm"
676
- },
677
- {
678
- "label": "Delete",
679
- "event": "DELETE",
680
- "variant": "danger",
681
- "size": "sm"
682
- }
683
- ],
684
- "columns": [
685
- {
686
- "name": "name",
687
- "variant": "h3",
688
- "icon": "user"
689
- },
690
- {
691
- "name": "department",
692
- "variant": "badge"
693
- },
694
- {
695
- "name": "role",
696
- "variant": "body"
697
- },
698
- {
699
- "name": "email",
700
- "variant": "caption"
701
- },
702
- {
703
- "name": "startDate",
704
- "label": "Joined",
705
- "variant": "caption",
706
- "format": "date"
707
- }
708
- ],
709
- "variant": "card",
710
- "gap": "sm"
711
- }
712
- ]
713
- }
714
- ]
715
- }
716
- ]
717
- ]
718
- },
719
- {
720
- "from": "deleting",
721
- "to": "browsing",
722
- "event": "CLOSE",
723
- "effects": [
724
603
  [
725
604
  "render-ui",
726
605
  "modal",
727
606
  null
728
607
  ],
729
608
  [
730
- "fetch",
731
- "Employee"
732
- ],
733
- [
734
- "render-ui",
735
- "main",
736
- {
737
- "type": "dashboard-layout",
738
- "appName": "HRPortal",
739
- "navItems": [
740
- {
741
- "label": "Employees",
742
- "href": "/employees",
743
- "icon": "users"
744
- },
745
- {
746
- "label": "Onboarding",
747
- "href": "/onboarding",
748
- "icon": "layout-list"
749
- },
750
- {
751
- "label": "Time Off",
752
- "href": "/timeoff",
753
- "icon": "calendar"
754
- },
755
- {
756
- "label": "Org Chart",
757
- "href": "/org-chart",
758
- "icon": "layout-list"
759
- }
760
- ],
761
- "children": [
762
- {
763
- "type": "stack",
764
- "direction": "vertical",
765
- "gap": "lg",
766
- "className": "max-w-5xl mx-auto w-full",
767
- "children": [
768
- {
769
- "type": "stack",
770
- "direction": "horizontal",
771
- "gap": "md",
772
- "justify": "space-between",
773
- "align": "center",
774
- "children": [
775
- {
776
- "type": "stack",
777
- "direction": "horizontal",
778
- "gap": "sm",
779
- "align": "center",
780
- "children": [
781
- {
782
- "type": "icon",
783
- "name": "users",
784
- "size": "lg"
785
- },
786
- {
787
- "type": "typography",
788
- "content": "Employees",
789
- "variant": "h2"
790
- }
791
- ]
792
- },
793
- {
794
- "type": "stack",
795
- "direction": "horizontal",
796
- "gap": "sm",
797
- "children": [
798
- {
799
- "type": "button",
800
- "label": "Add Employee",
801
- "event": "CREATE",
802
- "variant": "primary",
803
- "icon": "plus"
804
- }
805
- ]
806
- }
807
- ]
808
- },
809
- {
810
- "type": "divider"
811
- },
812
- {
813
- "type": "data-list",
814
- "entity": "Employee",
815
- "emptyIcon": "inbox",
816
- "emptyTitle": "No employees yet",
817
- "emptyDescription": "Add employees to your organization.",
818
- "itemActions": [
819
- {
820
- "label": "View",
821
- "event": "VIEW",
822
- "variant": "ghost",
823
- "size": "sm"
824
- },
825
- {
826
- "label": "Edit",
827
- "event": "EDIT",
828
- "variant": "ghost",
829
- "size": "sm"
830
- },
831
- {
832
- "label": "Delete",
833
- "event": "DELETE",
834
- "variant": "danger",
835
- "size": "sm"
836
- }
837
- ],
838
- "columns": [
839
- {
840
- "name": "name",
841
- "variant": "h3",
842
- "icon": "user"
843
- },
844
- {
845
- "name": "department",
846
- "variant": "badge"
847
- },
848
- {
849
- "name": "role",
850
- "variant": "body"
851
- },
852
- {
853
- "name": "email",
854
- "variant": "caption"
855
- },
856
- {
857
- "name": "startDate",
858
- "label": "Joined",
859
- "variant": "caption",
860
- "format": "date"
861
- }
862
- ],
863
- "variant": "card",
864
- "gap": "sm"
865
- }
866
- ]
867
- }
868
- ]
869
- }
609
+ "emit",
610
+ "EMPLOYEE_UPDATED"
870
611
  ]
871
612
  ]
872
613
  }
873
614
  ]
874
- },
875
- "emits": [
876
- {
877
- "event": "ONBOARD",
878
- "description": "Start onboarding for a new employee",
879
- "payload": [
880
- {
881
- "name": "id",
882
- "type": "string",
883
- "required": true
884
- }
885
- ],
886
- "scope": "external"
887
- }
888
- ]
615
+ }
889
616
  },
890
617
  {
891
- "name": "EmployeeCreate",
618
+ "name": "EmployeeView",
892
619
  "linkedEntity": "Employee",
893
620
  "category": "interaction",
894
621
  "emits": [
895
622
  {
896
- "event": "EMPLOYEE_CREATED"
623
+ "event": "SAVE"
897
624
  }
898
625
  ],
899
626
  "stateMachine": {
@@ -912,11 +639,18 @@
912
639
  "name": "Initialize"
913
640
  },
914
641
  {
915
- "key": "CREATE",
916
- "name": "Open"
917
- },
918
- {
919
- "key": "CLOSE",
642
+ "key": "VIEW",
643
+ "name": "Open",
644
+ "payload": [
645
+ {
646
+ "name": "id",
647
+ "type": "string",
648
+ "required": true
649
+ }
650
+ ]
651
+ },
652
+ {
653
+ "key": "CLOSE",
920
654
  "name": "Close"
921
655
  },
922
656
  {
@@ -946,11 +680,14 @@
946
680
  {
947
681
  "from": "closed",
948
682
  "to": "open",
949
- "event": "CREATE",
683
+ "event": "VIEW",
950
684
  "effects": [
951
685
  [
952
686
  "fetch",
953
- "Employee"
687
+ "Employee",
688
+ {
689
+ "id": "@payload.id"
690
+ }
954
691
  ],
955
692
  [
956
693
  "render-ui",
@@ -964,16 +701,17 @@
964
701
  "type": "stack",
965
702
  "direction": "horizontal",
966
703
  "gap": "sm",
704
+ "align": "center",
967
705
  "children": [
968
706
  {
969
707
  "type": "icon",
970
- "name": "plus-circle",
708
+ "name": "eye",
971
709
  "size": "md"
972
710
  },
973
711
  {
974
712
  "type": "typography",
975
- "content": "New Employee",
976
- "variant": "h3"
713
+ "variant": "h3",
714
+ "content": "@entity.name"
977
715
  }
978
716
  ]
979
717
  },
@@ -981,17 +719,112 @@
981
719
  "type": "divider"
982
720
  },
983
721
  {
984
- "type": "form-section",
985
- "entity": "Employee",
986
- "mode": "create",
987
- "submitEvent": "SAVE",
988
- "cancelEvent": "CLOSE",
989
- "fields": [
990
- "name",
991
- "email",
992
- "department",
993
- "role",
994
- "startDate"
722
+ "type": "stack",
723
+ "direction": "horizontal",
724
+ "gap": "md",
725
+ "children": [
726
+ {
727
+ "type": "typography",
728
+ "variant": "caption",
729
+ "content": "Name"
730
+ },
731
+ {
732
+ "type": "typography",
733
+ "variant": "body",
734
+ "content": "@entity.name"
735
+ }
736
+ ]
737
+ },
738
+ {
739
+ "type": "stack",
740
+ "direction": "horizontal",
741
+ "gap": "md",
742
+ "children": [
743
+ {
744
+ "type": "typography",
745
+ "variant": "caption",
746
+ "content": "Email"
747
+ },
748
+ {
749
+ "type": "typography",
750
+ "variant": "body",
751
+ "content": "@entity.email"
752
+ }
753
+ ]
754
+ },
755
+ {
756
+ "type": "stack",
757
+ "direction": "horizontal",
758
+ "gap": "md",
759
+ "children": [
760
+ {
761
+ "type": "typography",
762
+ "variant": "caption",
763
+ "content": "Department"
764
+ },
765
+ {
766
+ "type": "typography",
767
+ "variant": "body",
768
+ "content": "@entity.department"
769
+ }
770
+ ]
771
+ },
772
+ {
773
+ "type": "stack",
774
+ "direction": "horizontal",
775
+ "gap": "md",
776
+ "children": [
777
+ {
778
+ "type": "typography",
779
+ "variant": "caption",
780
+ "content": "Role"
781
+ },
782
+ {
783
+ "type": "typography",
784
+ "variant": "body",
785
+ "content": "@entity.role"
786
+ }
787
+ ]
788
+ },
789
+ {
790
+ "type": "stack",
791
+ "direction": "horizontal",
792
+ "gap": "md",
793
+ "children": [
794
+ {
795
+ "type": "typography",
796
+ "variant": "caption",
797
+ "content": "Start Date"
798
+ },
799
+ {
800
+ "type": "typography",
801
+ "variant": "body",
802
+ "content": "@entity.startDate"
803
+ }
804
+ ]
805
+ },
806
+ {
807
+ "type": "divider"
808
+ },
809
+ {
810
+ "type": "stack",
811
+ "direction": "horizontal",
812
+ "gap": "sm",
813
+ "justify": "end",
814
+ "children": [
815
+ {
816
+ "type": "button",
817
+ "label": "Edit",
818
+ "event": "EDIT",
819
+ "variant": "primary",
820
+ "icon": "edit"
821
+ },
822
+ {
823
+ "type": "button",
824
+ "label": "Close",
825
+ "event": "CLOSE",
826
+ "variant": "ghost"
827
+ }
995
828
  ]
996
829
  }
997
830
  ]
@@ -1021,24 +854,10 @@
1021
854
  "to": "closed",
1022
855
  "event": "SAVE",
1023
856
  "effects": [
1024
- [
1025
- "persist",
1026
- "create",
1027
- "Employee",
1028
- "@payload.data"
1029
- ],
1030
857
  [
1031
858
  "render-ui",
1032
859
  "modal",
1033
860
  null
1034
- ],
1035
- [
1036
- "emit",
1037
- "EMPLOYEE_CREATED"
1038
- ],
1039
- [
1040
- "notify",
1041
- "Employee created successfully"
1042
861
  ]
1043
862
  ]
1044
863
  }
@@ -1046,22 +865,25 @@
1046
865
  }
1047
866
  },
1048
867
  {
1049
- "name": "EmployeeEdit",
868
+ "name": "EmployeeDelete",
1050
869
  "linkedEntity": "Employee",
1051
870
  "category": "interaction",
1052
871
  "emits": [
1053
872
  {
1054
- "event": "EMPLOYEE_UPDATED"
873
+ "event": "CONFIRM_DELETE"
874
+ },
875
+ {
876
+ "event": "EMPLOYEE_DELETED"
1055
877
  }
1056
878
  ],
1057
879
  "stateMachine": {
1058
880
  "states": [
1059
881
  {
1060
- "name": "closed",
882
+ "name": "idle",
1061
883
  "isInitial": true
1062
884
  },
1063
885
  {
1064
- "name": "open"
886
+ "name": "confirming"
1065
887
  }
1066
888
  ],
1067
889
  "events": [
@@ -1070,8 +892,8 @@
1070
892
  "name": "Initialize"
1071
893
  },
1072
894
  {
1073
- "key": "EDIT",
1074
- "name": "Open",
895
+ "key": "DELETE",
896
+ "name": "Request Confirmation",
1075
897
  "payload": [
1076
898
  {
1077
899
  "name": "id",
@@ -1081,25 +903,22 @@
1081
903
  ]
1082
904
  },
1083
905
  {
1084
- "key": "CLOSE",
1085
- "name": "Close"
906
+ "key": "CONFIRM_DELETE",
907
+ "name": "Confirm"
1086
908
  },
1087
909
  {
1088
- "key": "SAVE",
1089
- "name": "Save",
1090
- "payload": [
1091
- {
1092
- "name": "data",
1093
- "type": "object",
1094
- "required": true
1095
- }
1096
- ]
910
+ "key": "CANCEL",
911
+ "name": "Cancel"
912
+ },
913
+ {
914
+ "key": "CLOSE",
915
+ "name": "Close"
1097
916
  }
1098
917
  ],
1099
918
  "transitions": [
1100
919
  {
1101
- "from": "closed",
1102
- "to": "closed",
920
+ "from": "idle",
921
+ "to": "idle",
1103
922
  "event": "INIT",
1104
923
  "effects": [
1105
924
  [
@@ -1109,10 +928,15 @@
1109
928
  ]
1110
929
  },
1111
930
  {
1112
- "from": "closed",
1113
- "to": "open",
1114
- "event": "EDIT",
931
+ "from": "idle",
932
+ "to": "confirming",
933
+ "event": "DELETE",
1115
934
  "effects": [
935
+ [
936
+ "set",
937
+ "@entity.pendingId",
938
+ "@payload.id"
939
+ ],
1116
940
  [
1117
941
  "fetch",
1118
942
  "Employee",
@@ -1132,15 +956,16 @@
1132
956
  "type": "stack",
1133
957
  "direction": "horizontal",
1134
958
  "gap": "sm",
959
+ "align": "center",
1135
960
  "children": [
1136
961
  {
1137
962
  "type": "icon",
1138
- "name": "edit",
963
+ "name": "alert-triangle",
1139
964
  "size": "md"
1140
965
  },
1141
966
  {
1142
967
  "type": "typography",
1143
- "content": "Edit Employee",
968
+ "content": "Delete Employee",
1144
969
  "variant": "h3"
1145
970
  }
1146
971
  ]
@@ -1149,19 +974,30 @@
1149
974
  "type": "divider"
1150
975
  },
1151
976
  {
1152
- "type": "form-section",
1153
- "entity": "Employee",
1154
- "mode": "edit",
1155
- "submitEvent": "SAVE",
1156
- "cancelEvent": "CLOSE",
1157
- "fields": [
1158
- "name",
1159
- "email",
1160
- "department",
1161
- "role",
1162
- "startDate"
1163
- ],
1164
- "entityId": "@entity.id"
977
+ "type": "alert",
978
+ "variant": "danger",
979
+ "message": "This action cannot be undone."
980
+ },
981
+ {
982
+ "type": "stack",
983
+ "direction": "horizontal",
984
+ "gap": "sm",
985
+ "justify": "end",
986
+ "children": [
987
+ {
988
+ "type": "button",
989
+ "label": "Cancel",
990
+ "event": "CANCEL",
991
+ "variant": "ghost"
992
+ },
993
+ {
994
+ "type": "button",
995
+ "label": "Delete",
996
+ "event": "CONFIRM_DELETE",
997
+ "variant": "danger",
998
+ "icon": "check"
999
+ }
1000
+ ]
1165
1001
  }
1166
1002
  ]
1167
1003
  }
@@ -1169,92 +1005,41 @@
1169
1005
  ]
1170
1006
  },
1171
1007
  {
1172
- "from": "open",
1173
- "to": "closed",
1174
- "event": "CLOSE",
1008
+ "from": "confirming",
1009
+ "to": "idle",
1010
+ "event": "CONFIRM_DELETE",
1175
1011
  "effects": [
1012
+ [
1013
+ "persist",
1014
+ "delete",
1015
+ "Employee",
1016
+ "@entity.pendingId"
1017
+ ],
1176
1018
  [
1177
1019
  "render-ui",
1178
1020
  "modal",
1179
1021
  null
1180
1022
  ],
1181
1023
  [
1182
- "notify",
1183
- "Cancelled",
1184
- "info"
1024
+ "ref",
1025
+ "Employee"
1026
+ ],
1027
+ [
1028
+ "emit",
1029
+ "EMPLOYEE_DELETED"
1185
1030
  ]
1186
1031
  ]
1187
1032
  },
1188
1033
  {
1189
- "from": "open",
1190
- "to": "closed",
1191
- "event": "SAVE",
1034
+ "from": "confirming",
1035
+ "to": "idle",
1036
+ "event": "CANCEL",
1192
1037
  "effects": [
1193
- [
1194
- "persist",
1195
- "update",
1196
- "Employee",
1197
- "@payload.data"
1198
- ],
1199
1038
  [
1200
1039
  "render-ui",
1201
1040
  "modal",
1202
1041
  null
1203
1042
  ],
1204
- [
1205
- "emit",
1206
- "EMPLOYEE_UPDATED"
1207
- ],
1208
- [
1209
- "notify",
1210
- "Employee updated successfully"
1211
- ]
1212
- ]
1213
- }
1214
- ]
1215
- }
1216
- },
1217
- {
1218
- "name": "EmployeeView",
1219
- "linkedEntity": "Employee",
1220
- "category": "interaction",
1221
- "stateMachine": {
1222
- "states": [
1223
- {
1224
- "name": "closed",
1225
- "isInitial": true
1226
- },
1227
- {
1228
- "name": "open"
1229
- }
1230
- ],
1231
- "events": [
1232
- {
1233
- "key": "INIT",
1234
- "name": "Initialize"
1235
- },
1236
- {
1237
- "key": "VIEW",
1238
- "name": "Open",
1239
- "payload": [
1240
- {
1241
- "name": "id",
1242
- "type": "string",
1243
- "required": true
1244
- }
1245
- ]
1246
- },
1247
- {
1248
- "key": "CLOSE",
1249
- "name": "Close"
1250
- }
1251
- ],
1252
- "transitions": [
1253
- {
1254
- "from": "closed",
1255
- "to": "closed",
1256
- "event": "INIT",
1257
- "effects": [
1258
1043
  [
1259
1044
  "ref",
1260
1045
  "Employee"
@@ -1262,163 +1047,8 @@
1262
1047
  ]
1263
1048
  },
1264
1049
  {
1265
- "from": "closed",
1266
- "to": "open",
1267
- "event": "VIEW",
1268
- "effects": [
1269
- [
1270
- "fetch",
1271
- "Employee",
1272
- {
1273
- "id": "@payload.id"
1274
- }
1275
- ],
1276
- [
1277
- "render-ui",
1278
- "modal",
1279
- {
1280
- "type": "stack",
1281
- "direction": "vertical",
1282
- "gap": "md",
1283
- "children": [
1284
- {
1285
- "type": "stack",
1286
- "direction": "horizontal",
1287
- "gap": "sm",
1288
- "align": "center",
1289
- "children": [
1290
- {
1291
- "type": "icon",
1292
- "name": "eye",
1293
- "size": "md"
1294
- },
1295
- {
1296
- "type": "typography",
1297
- "variant": "h3",
1298
- "content": "@entity.name"
1299
- }
1300
- ]
1301
- },
1302
- {
1303
- "type": "divider"
1304
- },
1305
- {
1306
- "type": "stack",
1307
- "direction": "horizontal",
1308
- "gap": "md",
1309
- "children": [
1310
- {
1311
- "type": "typography",
1312
- "variant": "caption",
1313
- "content": "Name"
1314
- },
1315
- {
1316
- "type": "typography",
1317
- "variant": "body",
1318
- "content": "@entity.name"
1319
- }
1320
- ]
1321
- },
1322
- {
1323
- "type": "stack",
1324
- "direction": "horizontal",
1325
- "gap": "md",
1326
- "children": [
1327
- {
1328
- "type": "typography",
1329
- "variant": "caption",
1330
- "content": "Email"
1331
- },
1332
- {
1333
- "type": "typography",
1334
- "variant": "body",
1335
- "content": "@entity.email"
1336
- }
1337
- ]
1338
- },
1339
- {
1340
- "type": "stack",
1341
- "direction": "horizontal",
1342
- "gap": "md",
1343
- "children": [
1344
- {
1345
- "type": "typography",
1346
- "variant": "caption",
1347
- "content": "Department"
1348
- },
1349
- {
1350
- "type": "typography",
1351
- "variant": "body",
1352
- "content": "@entity.department"
1353
- }
1354
- ]
1355
- },
1356
- {
1357
- "type": "stack",
1358
- "direction": "horizontal",
1359
- "gap": "md",
1360
- "children": [
1361
- {
1362
- "type": "typography",
1363
- "variant": "caption",
1364
- "content": "Role"
1365
- },
1366
- {
1367
- "type": "typography",
1368
- "variant": "body",
1369
- "content": "@entity.role"
1370
- }
1371
- ]
1372
- },
1373
- {
1374
- "type": "stack",
1375
- "direction": "horizontal",
1376
- "gap": "md",
1377
- "children": [
1378
- {
1379
- "type": "typography",
1380
- "variant": "caption",
1381
- "content": "Start Date"
1382
- },
1383
- {
1384
- "type": "typography",
1385
- "variant": "body",
1386
- "content": "@entity.startDate"
1387
- }
1388
- ]
1389
- },
1390
- {
1391
- "type": "divider"
1392
- },
1393
- {
1394
- "type": "stack",
1395
- "direction": "horizontal",
1396
- "gap": "sm",
1397
- "justify": "end",
1398
- "children": [
1399
- {
1400
- "type": "button",
1401
- "label": "Edit",
1402
- "event": "EDIT",
1403
- "variant": "primary",
1404
- "icon": "edit"
1405
- },
1406
- {
1407
- "type": "button",
1408
- "label": "Close",
1409
- "event": "CLOSE",
1410
- "variant": "ghost"
1411
- }
1412
- ]
1413
- }
1414
- ]
1415
- }
1416
- ]
1417
- ]
1418
- },
1419
- {
1420
- "from": "open",
1421
- "to": "closed",
1050
+ "from": "confirming",
1051
+ "to": "idle",
1422
1052
  "event": "CLOSE",
1423
1053
  "effects": [
1424
1054
  [
@@ -1427,9 +1057,8 @@
1427
1057
  null
1428
1058
  ],
1429
1059
  [
1430
- "notify",
1431
- "Cancelled",
1432
- "info"
1060
+ "ref",
1061
+ "Employee"
1433
1062
  ]
1434
1063
  ]
1435
1064
  }
@@ -1454,6 +1083,9 @@
1454
1083
  },
1455
1084
  {
1456
1085
  "ref": "EmployeeView"
1086
+ },
1087
+ {
1088
+ "ref": "EmployeeDelete"
1457
1089
  }
1458
1090
  ]
1459
1091
  }
@@ -1482,658 +1114,86 @@
1482
1114
  },
1483
1115
  {
1484
1116
  "name": "manager",
1485
- "type": "string",
1486
- "default": ""
1487
- },
1488
- {
1489
- "name": "equipmentReady",
1490
- "type": "boolean",
1491
- "default": false
1492
- },
1493
- {
1494
- "name": "accessGranted",
1495
- "type": "boolean",
1496
- "default": false
1497
- }
1498
- ]
1499
- },
1500
- "traits": [
1501
- {
1502
- "name": "OnboardingWizard",
1503
- "linkedEntity": "Onboarding",
1504
- "category": "interaction",
1505
- "stateMachine": {
1506
- "states": [
1507
- {
1508
- "name": "step1",
1509
- "isInitial": true
1510
- },
1511
- {
1512
- "name": "step2"
1513
- },
1514
- {
1515
- "name": "step3"
1516
- },
1517
- {
1518
- "name": "review"
1519
- },
1520
- {
1521
- "name": "complete"
1522
- }
1523
- ],
1524
- "events": [
1525
- {
1526
- "key": "INIT",
1527
- "name": "Initialize"
1528
- },
1529
- {
1530
- "key": "NEXT",
1531
- "name": "Next Step",
1532
- "payload": [
1533
- {
1534
- "name": "data",
1535
- "type": "object",
1536
- "required": true
1537
- }
1538
- ]
1539
- },
1540
- {
1541
- "key": "PREV",
1542
- "name": "Previous Step"
1543
- },
1544
- {
1545
- "key": "COMPLETE",
1546
- "name": "Complete Wizard",
1547
- "payload": [
1548
- {
1549
- "name": "data",
1550
- "type": "object",
1551
- "required": true
1552
- }
1553
- ]
1554
- },
1555
- {
1556
- "key": "RESTART",
1557
- "name": "Restart Wizard"
1558
- }
1559
- ],
1560
- "transitions": [
1561
- {
1562
- "from": "step1",
1563
- "to": "step1",
1564
- "event": "INIT",
1565
- "effects": [
1566
- [
1567
- "fetch",
1568
- "Onboarding"
1569
- ],
1570
- [
1571
- "render-ui",
1572
- "main",
1573
- {
1574
- "type": "dashboard-layout",
1575
- "appName": "HRPortal",
1576
- "navItems": [
1577
- {
1578
- "label": "Employees",
1579
- "href": "/employees",
1580
- "icon": "users"
1581
- },
1582
- {
1583
- "label": "Onboarding",
1584
- "href": "/onboarding",
1585
- "icon": "layout-list"
1586
- },
1587
- {
1588
- "label": "Time Off",
1589
- "href": "/timeoff",
1590
- "icon": "calendar"
1591
- },
1592
- {
1593
- "label": "Org Chart",
1594
- "href": "/org-chart",
1595
- "icon": "layout-list"
1596
- }
1597
- ],
1598
- "children": [
1599
- {
1600
- "type": "container",
1601
- "maxWidth": "lg",
1602
- "padding": "lg",
1603
- "children": [
1604
- {
1605
- "type": "stack",
1606
- "direction": "vertical",
1607
- "gap": "lg",
1608
- "children": [
1609
- {
1610
- "type": "stack",
1611
- "direction": "horizontal",
1612
- "gap": "sm",
1613
- "align": "center",
1614
- "children": [
1615
- {
1616
- "type": "icon",
1617
- "name": "clipboard-check",
1618
- "size": "lg"
1619
- },
1620
- {
1621
- "type": "typography",
1622
- "content": "Employee Onboarding",
1623
- "variant": "h2"
1624
- }
1625
- ]
1626
- },
1627
- {
1628
- "type": "progress-dots",
1629
- "count": 3,
1630
- "currentIndex": 0
1631
- },
1632
- {
1633
- "type": "wizard-progress",
1634
- "steps": [
1635
- "Employee Details",
1636
- "Manager Assignment",
1637
- "Setup Checklist"
1638
- ],
1639
- "currentStep": 0
1640
- },
1641
- {
1642
- "type": "divider"
1643
- },
1644
- {
1645
- "type": "typography",
1646
- "content": "Employee Details",
1647
- "variant": "h3"
1648
- },
1649
- {
1650
- "type": "form-section",
1651
- "entity": "Onboarding",
1652
- "mode": "create",
1653
- "submitEvent": "NEXT",
1654
- "cancelEvent": "INIT",
1655
- "fields": [
1656
- "employeeName",
1657
- "department"
1658
- ]
1659
- },
1660
- {
1661
- "type": "stack",
1662
- "direction": "horizontal",
1663
- "gap": "sm",
1664
- "justify": "end",
1665
- "children": [
1666
- {
1667
- "type": "button",
1668
- "label": "Next",
1669
- "event": "NEXT",
1670
- "variant": "primary",
1671
- "icon": "arrow-right"
1672
- }
1673
- ]
1674
- }
1675
- ]
1676
- }
1677
- ]
1678
- }
1679
- ]
1680
- }
1681
- ]
1682
- ]
1683
- },
1684
- {
1685
- "from": "step1",
1686
- "to": "step2",
1687
- "event": "NEXT",
1688
- "effects": [
1689
- [
1690
- "fetch",
1691
- "Onboarding"
1692
- ],
1693
- [
1694
- "render-ui",
1695
- "main",
1696
- {
1697
- "type": "dashboard-layout",
1698
- "appName": "HRPortal",
1699
- "navItems": [
1700
- {
1701
- "label": "Employees",
1702
- "href": "/employees",
1703
- "icon": "users"
1704
- },
1705
- {
1706
- "label": "Onboarding",
1707
- "href": "/onboarding",
1708
- "icon": "layout-list"
1709
- },
1710
- {
1711
- "label": "Time Off",
1712
- "href": "/timeoff",
1713
- "icon": "calendar"
1714
- },
1715
- {
1716
- "label": "Org Chart",
1717
- "href": "/org-chart",
1718
- "icon": "layout-list"
1719
- }
1720
- ],
1721
- "children": [
1722
- {
1723
- "type": "container",
1724
- "maxWidth": "lg",
1725
- "padding": "lg",
1726
- "children": [
1727
- {
1728
- "type": "stack",
1729
- "direction": "vertical",
1730
- "gap": "lg",
1731
- "children": [
1732
- {
1733
- "type": "stack",
1734
- "direction": "horizontal",
1735
- "gap": "sm",
1736
- "align": "center",
1737
- "children": [
1738
- {
1739
- "type": "icon",
1740
- "name": "clipboard-check",
1741
- "size": "lg"
1742
- },
1743
- {
1744
- "type": "typography",
1745
- "content": "Employee Onboarding",
1746
- "variant": "h2"
1747
- }
1748
- ]
1749
- },
1750
- {
1751
- "type": "progress-dots",
1752
- "count": 3,
1753
- "currentIndex": 1
1754
- },
1755
- {
1756
- "type": "wizard-progress",
1757
- "steps": [
1758
- "Employee Details",
1759
- "Manager Assignment",
1760
- "Setup Checklist"
1761
- ],
1762
- "currentStep": 1
1763
- },
1764
- {
1765
- "type": "divider"
1766
- },
1767
- {
1768
- "type": "typography",
1769
- "content": "Manager Assignment",
1770
- "variant": "h3"
1771
- },
1772
- {
1773
- "type": "form-section",
1774
- "entity": "Onboarding",
1775
- "mode": "create",
1776
- "submitEvent": "NEXT",
1777
- "cancelEvent": "PREV",
1778
- "fields": [
1779
- "manager"
1780
- ]
1781
- },
1782
- {
1783
- "type": "stack",
1784
- "direction": "horizontal",
1785
- "gap": "sm",
1786
- "justify": "end",
1787
- "children": [
1788
- {
1789
- "type": "button",
1790
- "label": "Back",
1791
- "event": "PREV",
1792
- "variant": "ghost",
1793
- "icon": "arrow-left"
1794
- },
1795
- {
1796
- "type": "button",
1797
- "label": "Next",
1798
- "event": "NEXT",
1799
- "variant": "primary",
1800
- "icon": "arrow-right"
1801
- }
1802
- ]
1803
- }
1804
- ]
1805
- }
1806
- ]
1807
- }
1808
- ]
1809
- }
1810
- ]
1811
- ]
1812
- },
1813
- {
1814
- "from": "step2",
1815
- "to": "step3",
1816
- "event": "NEXT",
1817
- "effects": [
1818
- [
1819
- "fetch",
1820
- "Onboarding"
1821
- ],
1822
- [
1823
- "render-ui",
1824
- "main",
1825
- {
1826
- "type": "dashboard-layout",
1827
- "appName": "HRPortal",
1828
- "navItems": [
1829
- {
1830
- "label": "Employees",
1831
- "href": "/employees",
1832
- "icon": "users"
1833
- },
1834
- {
1835
- "label": "Onboarding",
1836
- "href": "/onboarding",
1837
- "icon": "layout-list"
1838
- },
1839
- {
1840
- "label": "Time Off",
1841
- "href": "/timeoff",
1842
- "icon": "calendar"
1843
- },
1844
- {
1845
- "label": "Org Chart",
1846
- "href": "/org-chart",
1847
- "icon": "layout-list"
1848
- }
1849
- ],
1850
- "children": [
1851
- {
1852
- "type": "container",
1853
- "maxWidth": "lg",
1854
- "padding": "lg",
1855
- "children": [
1856
- {
1857
- "type": "stack",
1858
- "direction": "vertical",
1859
- "gap": "lg",
1860
- "children": [
1861
- {
1862
- "type": "stack",
1863
- "direction": "horizontal",
1864
- "gap": "sm",
1865
- "align": "center",
1866
- "children": [
1867
- {
1868
- "type": "icon",
1869
- "name": "clipboard-check",
1870
- "size": "lg"
1871
- },
1872
- {
1873
- "type": "typography",
1874
- "content": "Employee Onboarding",
1875
- "variant": "h2"
1876
- }
1877
- ]
1878
- },
1879
- {
1880
- "type": "progress-dots",
1881
- "count": 3,
1882
- "currentIndex": 2
1883
- },
1884
- {
1885
- "type": "wizard-progress",
1886
- "steps": [
1887
- "Employee Details",
1888
- "Manager Assignment",
1889
- "Setup Checklist"
1890
- ],
1891
- "currentStep": 2
1892
- },
1893
- {
1894
- "type": "divider"
1895
- },
1896
- {
1897
- "type": "typography",
1898
- "content": "Setup Checklist",
1899
- "variant": "h3"
1900
- },
1901
- {
1902
- "type": "repeatable-form-section",
1903
- "entity": "Onboarding",
1904
- "mode": "create",
1905
- "submitEvent": "NEXT",
1906
- "cancelEvent": "PREV",
1907
- "fields": [
1908
- "equipmentReady",
1909
- "accessGranted"
1910
- ]
1911
- },
1912
- {
1913
- "type": "stack",
1914
- "direction": "horizontal",
1915
- "gap": "sm",
1916
- "justify": "end",
1917
- "children": [
1918
- {
1919
- "type": "button",
1920
- "label": "Back",
1921
- "event": "PREV",
1922
- "variant": "ghost",
1923
- "icon": "arrow-left"
1924
- },
1925
- {
1926
- "type": "button",
1927
- "label": "Next",
1928
- "event": "NEXT",
1929
- "variant": "primary",
1930
- "icon": "arrow-right"
1931
- }
1932
- ]
1933
- }
1934
- ]
1935
- }
1936
- ]
1937
- }
1938
- ]
1939
- }
1940
- ]
1941
- ]
1942
- },
1943
- {
1944
- "from": "step3",
1945
- "to": "review",
1946
- "event": "NEXT",
1947
- "effects": [
1948
- [
1949
- "fetch",
1950
- "Onboarding"
1951
- ],
1952
- [
1953
- "render-ui",
1954
- "main",
1955
- {
1956
- "type": "dashboard-layout",
1957
- "appName": "HRPortal",
1958
- "navItems": [
1959
- {
1960
- "label": "Employees",
1961
- "href": "/employees",
1962
- "icon": "users"
1963
- },
1964
- {
1965
- "label": "Onboarding",
1966
- "href": "/onboarding",
1967
- "icon": "layout-list"
1968
- },
1969
- {
1970
- "label": "Time Off",
1971
- "href": "/timeoff",
1972
- "icon": "calendar"
1973
- },
1974
- {
1975
- "label": "Org Chart",
1976
- "href": "/org-chart",
1977
- "icon": "layout-list"
1978
- }
1979
- ],
1980
- "children": [
1981
- {
1982
- "type": "stack",
1983
- "direction": "vertical",
1984
- "gap": "lg",
1985
- "children": [
1986
- {
1987
- "type": "stack",
1988
- "direction": "horizontal",
1989
- "gap": "sm",
1990
- "align": "center",
1991
- "children": [
1992
- {
1993
- "type": "icon",
1994
- "name": "clipboard-check",
1995
- "size": "lg"
1996
- },
1997
- {
1998
- "type": "typography",
1999
- "content": "Employee Onboarding",
2000
- "variant": "h2"
2001
- }
2002
- ]
2003
- },
2004
- {
2005
- "type": "badge",
2006
- "label": "Review"
2007
- },
2008
- {
2009
- "type": "wizard-progress",
2010
- "steps": [
2011
- "Employee Details",
2012
- "Manager Assignment",
2013
- "Setup Checklist"
2014
- ],
2015
- "currentStep": 3
2016
- },
2017
- {
2018
- "type": "divider"
2019
- },
2020
- {
2021
- "type": "stack",
2022
- "direction": "vertical",
2023
- "gap": "sm",
2024
- "entity": "Onboarding",
2025
- "children": [
2026
- {
2027
- "type": "stack",
2028
- "direction": "horizontal",
2029
- "gap": "md",
2030
- "justify": "space-between",
2031
- "children": [
2032
- {
2033
- "type": "typography",
2034
- "variant": "caption",
2035
- "content": "Employee Name"
2036
- },
2037
- {
2038
- "type": "typography",
2039
- "variant": "body",
2040
- "content": "@entity.employeeName"
2041
- }
2042
- ]
2043
- },
2044
- {
2045
- "type": "stack",
2046
- "direction": "horizontal",
2047
- "gap": "md",
2048
- "justify": "space-between",
2049
- "children": [
2050
- {
2051
- "type": "typography",
2052
- "variant": "caption",
2053
- "content": "Department"
2054
- },
2055
- {
2056
- "type": "typography",
2057
- "variant": "body",
2058
- "content": "@entity.department"
2059
- }
2060
- ]
2061
- },
2062
- {
2063
- "type": "stack",
2064
- "direction": "horizontal",
2065
- "gap": "md",
2066
- "justify": "space-between",
2067
- "children": [
2068
- {
2069
- "type": "typography",
2070
- "variant": "caption",
2071
- "content": "Manager"
2072
- },
2073
- {
2074
- "type": "typography",
2075
- "variant": "body",
2076
- "content": "@entity.manager"
2077
- }
2078
- ]
2079
- },
2080
- {
2081
- "type": "stack",
2082
- "direction": "horizontal",
2083
- "gap": "md",
2084
- "justify": "space-between",
2085
- "children": [
2086
- {
2087
- "type": "typography",
2088
- "variant": "caption",
2089
- "content": "Equipment Ready"
2090
- },
2091
- {
2092
- "type": "typography",
2093
- "variant": "body",
2094
- "content": "@entity.equipmentReady"
2095
- }
2096
- ]
2097
- },
2098
- {
2099
- "type": "stack",
2100
- "direction": "horizontal",
2101
- "gap": "md",
2102
- "justify": "space-between",
2103
- "children": [
2104
- {
2105
- "type": "typography",
2106
- "variant": "caption",
2107
- "content": "Access Granted"
2108
- },
2109
- {
2110
- "type": "typography",
2111
- "variant": "body",
2112
- "content": "@entity.accessGranted"
2113
- }
2114
- ]
2115
- }
2116
- ]
2117
- },
2118
- {
2119
- "type": "wizard-navigation",
2120
- "currentStep": 3,
2121
- "totalSteps": 4,
2122
- "showBack": true,
2123
- "showComplete": true,
2124
- "showNext": false
2125
- }
2126
- ]
2127
- }
2128
- ]
2129
- }
2130
- ]
1117
+ "type": "string",
1118
+ "default": ""
1119
+ },
1120
+ {
1121
+ "name": "equipmentReady",
1122
+ "type": "boolean",
1123
+ "default": false
1124
+ },
1125
+ {
1126
+ "name": "accessGranted",
1127
+ "type": "boolean",
1128
+ "default": false
1129
+ }
1130
+ ]
1131
+ },
1132
+ "traits": [
1133
+ {
1134
+ "name": "OnboardingWizard",
1135
+ "linkedEntity": "Onboarding",
1136
+ "category": "interaction",
1137
+ "stateMachine": {
1138
+ "states": [
1139
+ {
1140
+ "name": "step1",
1141
+ "isInitial": true
1142
+ },
1143
+ {
1144
+ "name": "step2"
1145
+ },
1146
+ {
1147
+ "name": "step3"
1148
+ },
1149
+ {
1150
+ "name": "review"
1151
+ },
1152
+ {
1153
+ "name": "complete"
1154
+ }
1155
+ ],
1156
+ "events": [
1157
+ {
1158
+ "key": "INIT",
1159
+ "name": "Initialize"
1160
+ },
1161
+ {
1162
+ "key": "NEXT",
1163
+ "name": "Next Step",
1164
+ "payload": [
1165
+ {
1166
+ "name": "data",
1167
+ "type": "object",
1168
+ "required": true
1169
+ }
2131
1170
  ]
2132
1171
  },
2133
1172
  {
2134
- "from": "step2",
1173
+ "key": "PREV",
1174
+ "name": "Previous Step"
1175
+ },
1176
+ {
1177
+ "key": "COMPLETE",
1178
+ "name": "Complete Wizard",
1179
+ "payload": [
1180
+ {
1181
+ "name": "data",
1182
+ "type": "object",
1183
+ "required": true
1184
+ }
1185
+ ]
1186
+ },
1187
+ {
1188
+ "key": "RESTART",
1189
+ "name": "Restart Wizard"
1190
+ }
1191
+ ],
1192
+ "transitions": [
1193
+ {
1194
+ "from": "step1",
2135
1195
  "to": "step1",
2136
- "event": "PREV",
1196
+ "event": "INIT",
2137
1197
  "effects": [
2138
1198
  [
2139
1199
  "fetch",
@@ -2254,9 +1314,9 @@
2254
1314
  ]
2255
1315
  },
2256
1316
  {
2257
- "from": "step3",
1317
+ "from": "step1",
2258
1318
  "to": "step2",
2259
- "event": "PREV",
1319
+ "event": "NEXT",
2260
1320
  "effects": [
2261
1321
  [
2262
1322
  "fetch",
@@ -2383,9 +1443,9 @@
2383
1443
  ]
2384
1444
  },
2385
1445
  {
2386
- "from": "review",
1446
+ "from": "step2",
2387
1447
  "to": "step3",
2388
- "event": "PREV",
1448
+ "event": "NEXT",
2389
1449
  "effects": [
2390
1450
  [
2391
1451
  "fetch",
@@ -2513,20 +1573,13 @@
2513
1573
  ]
2514
1574
  },
2515
1575
  {
2516
- "from": "review",
2517
- "to": "complete",
2518
- "event": "COMPLETE",
1576
+ "from": "step3",
1577
+ "to": "review",
1578
+ "event": "NEXT",
2519
1579
  "effects": [
2520
1580
  [
2521
- "persist",
2522
- "create",
2523
- "Onboarding",
2524
- "@payload.data"
2525
- ],
2526
- [
2527
- "notify",
2528
- "success",
2529
- "Onboarding created successfully"
1581
+ "fetch",
1582
+ "Onboarding"
2530
1583
  ],
2531
1584
  [
2532
1585
  "render-ui",
@@ -2561,152 +1614,146 @@
2561
1614
  "type": "stack",
2562
1615
  "direction": "vertical",
2563
1616
  "gap": "lg",
2564
- "align": "center",
2565
1617
  "children": [
2566
1618
  {
2567
- "type": "icon",
2568
- "name": "check-circle",
2569
- "size": "lg"
1619
+ "type": "stack",
1620
+ "direction": "horizontal",
1621
+ "gap": "sm",
1622
+ "align": "center",
1623
+ "children": [
1624
+ {
1625
+ "type": "icon",
1626
+ "name": "clipboard-check",
1627
+ "size": "lg"
1628
+ },
1629
+ {
1630
+ "type": "typography",
1631
+ "content": "Employee Onboarding",
1632
+ "variant": "h2"
1633
+ }
1634
+ ]
2570
1635
  },
2571
1636
  {
2572
- "type": "typography",
2573
- "content": "Onboarding Complete!",
2574
- "variant": "h2"
1637
+ "type": "badge",
1638
+ "label": "Review"
2575
1639
  },
2576
1640
  {
2577
- "type": "typography",
2578
- "content": "The new employee has been fully onboarded.",
2579
- "variant": "body"
1641
+ "type": "wizard-progress",
1642
+ "steps": [
1643
+ "Employee Details",
1644
+ "Manager Assignment",
1645
+ "Setup Checklist"
1646
+ ],
1647
+ "currentStep": 3
2580
1648
  },
2581
1649
  {
2582
- "type": "button",
2583
- "label": "Start New",
2584
- "event": "RESTART",
2585
- "variant": "primary",
2586
- "icon": "refresh-cw"
2587
- }
2588
- ]
2589
- }
2590
- ]
2591
- }
2592
- ]
2593
- ]
2594
- },
2595
- {
2596
- "from": "complete",
2597
- "to": "step1",
2598
- "event": "RESTART",
2599
- "effects": [
2600
- [
2601
- "fetch",
2602
- "Onboarding"
2603
- ],
2604
- [
2605
- "render-ui",
2606
- "main",
2607
- {
2608
- "type": "dashboard-layout",
2609
- "appName": "HRPortal",
2610
- "navItems": [
2611
- {
2612
- "label": "Employees",
2613
- "href": "/employees",
2614
- "icon": "users"
2615
- },
2616
- {
2617
- "label": "Onboarding",
2618
- "href": "/onboarding",
2619
- "icon": "layout-list"
2620
- },
2621
- {
2622
- "label": "Time Off",
2623
- "href": "/timeoff",
2624
- "icon": "calendar"
2625
- },
2626
- {
2627
- "label": "Org Chart",
2628
- "href": "/org-chart",
2629
- "icon": "layout-list"
2630
- }
2631
- ],
2632
- "children": [
2633
- {
2634
- "type": "container",
2635
- "maxWidth": "lg",
2636
- "padding": "lg",
2637
- "children": [
1650
+ "type": "divider"
1651
+ },
2638
1652
  {
2639
1653
  "type": "stack",
2640
1654
  "direction": "vertical",
2641
- "gap": "lg",
1655
+ "gap": "sm",
1656
+ "entity": "Onboarding",
2642
1657
  "children": [
2643
1658
  {
2644
1659
  "type": "stack",
2645
1660
  "direction": "horizontal",
2646
- "gap": "sm",
2647
- "align": "center",
1661
+ "gap": "md",
1662
+ "justify": "space-between",
2648
1663
  "children": [
2649
1664
  {
2650
- "type": "icon",
2651
- "name": "clipboard-check",
2652
- "size": "lg"
1665
+ "type": "typography",
1666
+ "variant": "caption",
1667
+ "content": "Employee Name"
2653
1668
  },
2654
1669
  {
2655
1670
  "type": "typography",
2656
- "content": "Employee Onboarding",
2657
- "variant": "h2"
1671
+ "variant": "body",
1672
+ "content": "@entity.employeeName"
2658
1673
  }
2659
1674
  ]
2660
1675
  },
2661
1676
  {
2662
- "type": "progress-dots",
2663
- "count": 3,
2664
- "currentIndex": 0
2665
- },
2666
- {
2667
- "type": "wizard-progress",
2668
- "steps": [
2669
- "Employee Details",
2670
- "Manager Assignment",
2671
- "Setup Checklist"
2672
- ],
2673
- "currentStep": 0
2674
- },
2675
- {
2676
- "type": "divider"
1677
+ "type": "stack",
1678
+ "direction": "horizontal",
1679
+ "gap": "md",
1680
+ "justify": "space-between",
1681
+ "children": [
1682
+ {
1683
+ "type": "typography",
1684
+ "variant": "caption",
1685
+ "content": "Department"
1686
+ },
1687
+ {
1688
+ "type": "typography",
1689
+ "variant": "body",
1690
+ "content": "@entity.department"
1691
+ }
1692
+ ]
2677
1693
  },
2678
1694
  {
2679
- "type": "typography",
2680
- "content": "Employee Details",
2681
- "variant": "h3"
1695
+ "type": "stack",
1696
+ "direction": "horizontal",
1697
+ "gap": "md",
1698
+ "justify": "space-between",
1699
+ "children": [
1700
+ {
1701
+ "type": "typography",
1702
+ "variant": "caption",
1703
+ "content": "Manager"
1704
+ },
1705
+ {
1706
+ "type": "typography",
1707
+ "variant": "body",
1708
+ "content": "@entity.manager"
1709
+ }
1710
+ ]
2682
1711
  },
2683
1712
  {
2684
- "type": "form-section",
2685
- "entity": "Onboarding",
2686
- "mode": "create",
2687
- "submitEvent": "NEXT",
2688
- "cancelEvent": "INIT",
2689
- "fields": [
2690
- "employeeName",
2691
- "department"
1713
+ "type": "stack",
1714
+ "direction": "horizontal",
1715
+ "gap": "md",
1716
+ "justify": "space-between",
1717
+ "children": [
1718
+ {
1719
+ "type": "typography",
1720
+ "variant": "caption",
1721
+ "content": "Equipment Ready"
1722
+ },
1723
+ {
1724
+ "type": "typography",
1725
+ "variant": "body",
1726
+ "content": "@entity.equipmentReady"
1727
+ }
2692
1728
  ]
2693
1729
  },
2694
1730
  {
2695
1731
  "type": "stack",
2696
1732
  "direction": "horizontal",
2697
- "gap": "sm",
2698
- "justify": "end",
1733
+ "gap": "md",
1734
+ "justify": "space-between",
2699
1735
  "children": [
2700
1736
  {
2701
- "type": "button",
2702
- "label": "Next",
2703
- "event": "NEXT",
2704
- "variant": "primary",
2705
- "icon": "arrow-right"
1737
+ "type": "typography",
1738
+ "variant": "caption",
1739
+ "content": "Access Granted"
1740
+ },
1741
+ {
1742
+ "type": "typography",
1743
+ "variant": "body",
1744
+ "content": "@entity.accessGranted"
2706
1745
  }
2707
1746
  ]
2708
1747
  }
2709
1748
  ]
1749
+ },
1750
+ {
1751
+ "type": "wizard-navigation",
1752
+ "currentStep": 3,
1753
+ "totalSteps": 4,
1754
+ "showBack": true,
1755
+ "showComplete": true,
1756
+ "showNext": false
2710
1757
  }
2711
1758
  ]
2712
1759
  }
@@ -2716,9 +1763,9 @@
2716
1763
  ]
2717
1764
  },
2718
1765
  {
2719
- "from": "complete",
1766
+ "from": "step2",
2720
1767
  "to": "step1",
2721
- "event": "INIT",
1768
+ "event": "PREV",
2722
1769
  "effects": [
2723
1770
  [
2724
1771
  "fetch",
@@ -2805,234 +1852,47 @@
2805
1852
  },
2806
1853
  {
2807
1854
  "type": "form-section",
2808
- "entity": "Onboarding",
2809
- "mode": "create",
2810
- "submitEvent": "NEXT",
2811
- "cancelEvent": "INIT",
2812
- "fields": [
2813
- "employeeName",
2814
- "department"
2815
- ]
2816
- },
2817
- {
2818
- "type": "stack",
2819
- "direction": "horizontal",
2820
- "gap": "sm",
2821
- "justify": "end",
2822
- "children": [
2823
- {
2824
- "type": "button",
2825
- "label": "Next",
2826
- "event": "NEXT",
2827
- "variant": "primary",
2828
- "icon": "arrow-right"
2829
- }
2830
- ]
2831
- }
2832
- ]
2833
- }
2834
- ]
2835
- }
2836
- ]
2837
- }
2838
- ]
2839
- ]
2840
- }
2841
- ]
2842
- },
2843
- "listens": [
2844
- {
2845
- "event": "ONBOARD",
2846
- "triggers": "INIT",
2847
- "scope": "external"
2848
- }
2849
- ]
2850
- }
2851
- ],
2852
- "pages": [
2853
- {
2854
- "name": "OnboardingPage",
2855
- "path": "/onboarding",
2856
- "traits": [
2857
- {
2858
- "ref": "OnboardingWizard"
2859
- }
2860
- ]
2861
- }
2862
- ]
2863
- },
2864
- {
2865
- "name": "TimeOffOrbital",
2866
- "entity": {
2867
- "name": "TimeOff",
2868
- "persistence": "runtime",
2869
- "fields": [
2870
- {
2871
- "name": "id",
2872
- "type": "string",
2873
- "required": true
2874
- },
2875
- {
2876
- "name": "employeeName",
2877
- "type": "string",
2878
- "default": ""
2879
- },
2880
- {
2881
- "name": "leaveType",
2882
- "type": "string",
2883
- "default": "vacation",
2884
- "values": [
2885
- "vacation",
2886
- "sick",
2887
- "personal",
2888
- "parental"
2889
- ]
2890
- },
2891
- {
2892
- "name": "startDate",
2893
- "type": "date",
2894
- "default": ""
2895
- },
2896
- {
2897
- "name": "endDate",
2898
- "type": "date",
2899
- "default": ""
2900
- },
2901
- {
2902
- "name": "status",
2903
- "type": "string",
2904
- "default": "pending",
2905
- "values": [
2906
- "pending",
2907
- "approved",
2908
- "denied"
2909
- ]
2910
- }
2911
- ]
2912
- },
2913
- "traits": [
2914
- {
2915
- "name": "TimeOffBrowse",
2916
- "linkedEntity": "TimeOff",
2917
- "category": "interaction",
2918
- "listens": [
2919
- {
2920
- "event": "TIME_OFF_CREATED",
2921
- "triggers": "TIME_OFF_CREATED"
2922
- },
2923
- {
2924
- "event": "TIME_OFF_UPDATED",
2925
- "triggers": "TIME_OFF_UPDATED"
2926
- }
2927
- ],
2928
- "stateMachine": {
2929
- "states": [
2930
- {
2931
- "name": "browsing",
2932
- "isInitial": true
2933
- },
2934
- {
2935
- "name": "deleting"
2936
- }
2937
- ],
2938
- "events": [
2939
- {
2940
- "key": "INIT",
2941
- "name": "Initialize"
2942
- },
2943
- {
2944
- "key": "CREATE",
2945
- "name": "CREATE"
2946
- },
2947
- {
2948
- "key": "VIEW",
2949
- "name": "VIEW",
2950
- "payload": [
2951
- {
2952
- "name": "id",
2953
- "type": "string",
2954
- "required": true
2955
- },
2956
- {
2957
- "name": "row",
2958
- "type": "object"
2959
- }
2960
- ]
2961
- },
2962
- {
2963
- "key": "EDIT",
2964
- "name": "EDIT",
2965
- "payload": [
2966
- {
2967
- "name": "id",
2968
- "type": "string",
2969
- "required": true
2970
- },
2971
- {
2972
- "name": "row",
2973
- "type": "object"
2974
- }
2975
- ]
2976
- },
2977
- {
2978
- "key": "DELETE",
2979
- "name": "DELETE",
2980
- "payload": [
2981
- {
2982
- "name": "id",
2983
- "type": "string",
2984
- "required": true
2985
- },
2986
- {
2987
- "name": "row",
2988
- "type": "object"
2989
- }
2990
- ]
2991
- },
2992
- {
2993
- "key": "TIME_OFF_CREATED",
2994
- "name": "TIME_OFF_CREATED",
2995
- "payload": [
2996
- {
2997
- "name": "data",
2998
- "type": "object",
2999
- "required": true
3000
- }
3001
- ]
3002
- },
3003
- {
3004
- "key": "TIME_OFF_UPDATED",
3005
- "name": "TIME_OFF_UPDATED",
3006
- "payload": [
3007
- {
3008
- "name": "data",
3009
- "type": "object",
3010
- "required": true
3011
- }
1855
+ "entity": "Onboarding",
1856
+ "mode": "create",
1857
+ "submitEvent": "NEXT",
1858
+ "cancelEvent": "INIT",
1859
+ "fields": [
1860
+ "employeeName",
1861
+ "department"
1862
+ ]
1863
+ },
1864
+ {
1865
+ "type": "stack",
1866
+ "direction": "horizontal",
1867
+ "gap": "sm",
1868
+ "justify": "end",
1869
+ "children": [
1870
+ {
1871
+ "type": "button",
1872
+ "label": "Next",
1873
+ "event": "NEXT",
1874
+ "variant": "primary",
1875
+ "icon": "arrow-right"
1876
+ }
1877
+ ]
1878
+ }
1879
+ ]
1880
+ }
1881
+ ]
1882
+ }
1883
+ ]
1884
+ }
1885
+ ]
3012
1886
  ]
3013
1887
  },
3014
1888
  {
3015
- "key": "CONFIRM_DELETE",
3016
- "name": "Confirm Delete"
3017
- },
3018
- {
3019
- "key": "CANCEL",
3020
- "name": "Cancel"
3021
- },
3022
- {
3023
- "key": "CLOSE",
3024
- "name": "Close"
3025
- }
3026
- ],
3027
- "transitions": [
3028
- {
3029
- "from": "browsing",
3030
- "to": "browsing",
3031
- "event": "INIT",
1889
+ "from": "step3",
1890
+ "to": "step2",
1891
+ "event": "PREV",
3032
1892
  "effects": [
3033
1893
  [
3034
- "ref",
3035
- "TimeOff"
1894
+ "fetch",
1895
+ "Onboarding"
3036
1896
  ],
3037
1897
  [
3038
1898
  "render-ui",
@@ -3064,17 +1924,14 @@
3064
1924
  ],
3065
1925
  "children": [
3066
1926
  {
3067
- "type": "stack",
3068
- "direction": "vertical",
3069
- "gap": "lg",
3070
- "className": "max-w-5xl mx-auto w-full",
1927
+ "type": "container",
1928
+ "maxWidth": "lg",
1929
+ "padding": "lg",
3071
1930
  "children": [
3072
1931
  {
3073
1932
  "type": "stack",
3074
- "direction": "horizontal",
3075
- "gap": "md",
3076
- "justify": "space-between",
3077
- "align": "center",
1933
+ "direction": "vertical",
1934
+ "gap": "lg",
3078
1935
  "children": [
3079
1936
  {
3080
1937
  "type": "stack",
@@ -3084,92 +1941,201 @@
3084
1941
  "children": [
3085
1942
  {
3086
1943
  "type": "icon",
3087
- "name": "calendar",
1944
+ "name": "clipboard-check",
3088
1945
  "size": "lg"
3089
1946
  },
3090
1947
  {
3091
1948
  "type": "typography",
3092
- "content": "Time Off Requests",
1949
+ "content": "Employee Onboarding",
3093
1950
  "variant": "h2"
3094
1951
  }
3095
1952
  ]
3096
1953
  },
1954
+ {
1955
+ "type": "progress-dots",
1956
+ "count": 3,
1957
+ "currentIndex": 1
1958
+ },
1959
+ {
1960
+ "type": "wizard-progress",
1961
+ "steps": [
1962
+ "Employee Details",
1963
+ "Manager Assignment",
1964
+ "Setup Checklist"
1965
+ ],
1966
+ "currentStep": 1
1967
+ },
1968
+ {
1969
+ "type": "divider"
1970
+ },
1971
+ {
1972
+ "type": "typography",
1973
+ "content": "Manager Assignment",
1974
+ "variant": "h3"
1975
+ },
1976
+ {
1977
+ "type": "form-section",
1978
+ "entity": "Onboarding",
1979
+ "mode": "create",
1980
+ "submitEvent": "NEXT",
1981
+ "cancelEvent": "PREV",
1982
+ "fields": [
1983
+ "manager"
1984
+ ]
1985
+ },
3097
1986
  {
3098
1987
  "type": "stack",
3099
1988
  "direction": "horizontal",
3100
1989
  "gap": "sm",
1990
+ "justify": "end",
3101
1991
  "children": [
3102
1992
  {
3103
1993
  "type": "button",
3104
- "label": "Request Time Off",
3105
- "event": "CREATE",
1994
+ "label": "Back",
1995
+ "event": "PREV",
1996
+ "variant": "ghost",
1997
+ "icon": "arrow-left"
1998
+ },
1999
+ {
2000
+ "type": "button",
2001
+ "label": "Next",
2002
+ "event": "NEXT",
3106
2003
  "variant": "primary",
3107
- "icon": "plus"
2004
+ "icon": "arrow-right"
3108
2005
  }
3109
2006
  ]
3110
2007
  }
3111
2008
  ]
3112
- },
3113
- {
3114
- "type": "divider"
3115
- },
2009
+ }
2010
+ ]
2011
+ }
2012
+ ]
2013
+ }
2014
+ ]
2015
+ ]
2016
+ },
2017
+ {
2018
+ "from": "review",
2019
+ "to": "step3",
2020
+ "event": "PREV",
2021
+ "effects": [
2022
+ [
2023
+ "fetch",
2024
+ "Onboarding"
2025
+ ],
2026
+ [
2027
+ "render-ui",
2028
+ "main",
2029
+ {
2030
+ "type": "dashboard-layout",
2031
+ "appName": "HRPortal",
2032
+ "navItems": [
2033
+ {
2034
+ "label": "Employees",
2035
+ "href": "/employees",
2036
+ "icon": "users"
2037
+ },
2038
+ {
2039
+ "label": "Onboarding",
2040
+ "href": "/onboarding",
2041
+ "icon": "layout-list"
2042
+ },
2043
+ {
2044
+ "label": "Time Off",
2045
+ "href": "/timeoff",
2046
+ "icon": "calendar"
2047
+ },
2048
+ {
2049
+ "label": "Org Chart",
2050
+ "href": "/org-chart",
2051
+ "icon": "layout-list"
2052
+ }
2053
+ ],
2054
+ "children": [
2055
+ {
2056
+ "type": "container",
2057
+ "maxWidth": "lg",
2058
+ "padding": "lg",
2059
+ "children": [
3116
2060
  {
3117
- "type": "data-list",
3118
- "entity": "TimeOff",
3119
- "emptyIcon": "inbox",
3120
- "emptyTitle": "No time-off requests",
3121
- "emptyDescription": "Submit a request when you need time off.",
3122
- "itemActions": [
2061
+ "type": "stack",
2062
+ "direction": "vertical",
2063
+ "gap": "lg",
2064
+ "children": [
3123
2065
  {
3124
- "label": "View",
3125
- "event": "VIEW",
3126
- "variant": "ghost",
3127
- "size": "sm"
2066
+ "type": "stack",
2067
+ "direction": "horizontal",
2068
+ "gap": "sm",
2069
+ "align": "center",
2070
+ "children": [
2071
+ {
2072
+ "type": "icon",
2073
+ "name": "clipboard-check",
2074
+ "size": "lg"
2075
+ },
2076
+ {
2077
+ "type": "typography",
2078
+ "content": "Employee Onboarding",
2079
+ "variant": "h2"
2080
+ }
2081
+ ]
3128
2082
  },
3129
2083
  {
3130
- "label": "Edit",
3131
- "event": "EDIT",
3132
- "variant": "ghost",
3133
- "size": "sm"
2084
+ "type": "progress-dots",
2085
+ "count": 3,
2086
+ "currentIndex": 2
3134
2087
  },
3135
2088
  {
3136
- "label": "Delete",
3137
- "event": "DELETE",
3138
- "variant": "danger",
3139
- "size": "sm"
3140
- }
3141
- ],
3142
- "columns": [
3143
- {
3144
- "name": "employeeName",
3145
- "label": "Employee",
3146
- "variant": "h3",
3147
- "icon": "calendar"
2089
+ "type": "wizard-progress",
2090
+ "steps": [
2091
+ "Employee Details",
2092
+ "Manager Assignment",
2093
+ "Setup Checklist"
2094
+ ],
2095
+ "currentStep": 2
3148
2096
  },
3149
2097
  {
3150
- "name": "leaveType",
3151
- "label": "Type",
3152
- "variant": "badge"
2098
+ "type": "divider"
3153
2099
  },
3154
2100
  {
3155
- "name": "status",
3156
- "variant": "badge"
2101
+ "type": "typography",
2102
+ "content": "Setup Checklist",
2103
+ "variant": "h3"
3157
2104
  },
3158
2105
  {
3159
- "name": "startDate",
3160
- "label": "From",
3161
- "variant": "body",
3162
- "format": "date"
2106
+ "type": "repeatable-form-section",
2107
+ "entity": "Onboarding",
2108
+ "mode": "create",
2109
+ "submitEvent": "NEXT",
2110
+ "cancelEvent": "PREV",
2111
+ "fields": [
2112
+ "equipmentReady",
2113
+ "accessGranted"
2114
+ ]
3163
2115
  },
3164
2116
  {
3165
- "name": "endDate",
3166
- "label": "To",
3167
- "variant": "body",
3168
- "format": "date"
2117
+ "type": "stack",
2118
+ "direction": "horizontal",
2119
+ "gap": "sm",
2120
+ "justify": "end",
2121
+ "children": [
2122
+ {
2123
+ "type": "button",
2124
+ "label": "Back",
2125
+ "event": "PREV",
2126
+ "variant": "ghost",
2127
+ "icon": "arrow-left"
2128
+ },
2129
+ {
2130
+ "type": "button",
2131
+ "label": "Next",
2132
+ "event": "NEXT",
2133
+ "variant": "primary",
2134
+ "icon": "arrow-right"
2135
+ }
2136
+ ]
3169
2137
  }
3170
- ],
3171
- "variant": "card",
3172
- "gap": "sm"
2138
+ ]
3173
2139
  }
3174
2140
  ]
3175
2141
  }
@@ -3179,95 +2145,77 @@
3179
2145
  ]
3180
2146
  },
3181
2147
  {
3182
- "from": "browsing",
3183
- "to": "browsing",
3184
- "event": "TIME_OFF_CREATED",
3185
- "effects": [
3186
- [
3187
- "ref",
3188
- "TimeOff"
3189
- ]
3190
- ]
3191
- },
3192
- {
3193
- "from": "browsing",
3194
- "to": "browsing",
3195
- "event": "TIME_OFF_UPDATED",
2148
+ "from": "review",
2149
+ "to": "complete",
2150
+ "event": "COMPLETE",
3196
2151
  "effects": [
3197
2152
  [
3198
- "ref",
3199
- "TimeOff"
3200
- ]
3201
- ]
3202
- },
3203
- {
3204
- "from": "browsing",
3205
- "to": "deleting",
3206
- "event": "DELETE",
3207
- "effects": [
2153
+ "persist",
2154
+ "create",
2155
+ "Onboarding",
2156
+ "@payload.data"
2157
+ ],
3208
2158
  [
3209
- "fetch",
3210
- "TimeOff",
3211
- {
3212
- "id": "@payload.id"
3213
- }
2159
+ "notify",
2160
+ "success",
2161
+ "Onboarding created successfully"
3214
2162
  ],
3215
2163
  [
3216
2164
  "render-ui",
3217
- "modal",
2165
+ "main",
3218
2166
  {
3219
- "type": "stack",
3220
- "direction": "vertical",
3221
- "gap": "md",
3222
- "children": [
2167
+ "type": "dashboard-layout",
2168
+ "appName": "HRPortal",
2169
+ "navItems": [
3223
2170
  {
3224
- "type": "stack",
3225
- "direction": "horizontal",
3226
- "gap": "sm",
3227
- "children": [
3228
- {
3229
- "type": "icon",
3230
- "name": "trash-2",
3231
- "size": "md"
3232
- },
3233
- {
3234
- "type": "typography",
3235
- "content": "Delete TimeOff",
3236
- "variant": "h3"
3237
- }
3238
- ]
2171
+ "label": "Employees",
2172
+ "href": "/employees",
2173
+ "icon": "users"
3239
2174
  },
3240
2175
  {
3241
- "type": "divider"
2176
+ "label": "Onboarding",
2177
+ "href": "/onboarding",
2178
+ "icon": "layout-list"
3242
2179
  },
3243
2180
  {
3244
- "type": "typography",
3245
- "content": "@entity.employeeName",
3246
- "variant": "h4"
2181
+ "label": "Time Off",
2182
+ "href": "/timeoff",
2183
+ "icon": "calendar"
3247
2184
  },
3248
2185
  {
3249
- "type": "typography",
3250
- "content": "This action cannot be undone.",
3251
- "variant": "body"
3252
- },
2186
+ "label": "Org Chart",
2187
+ "href": "/org-chart",
2188
+ "icon": "layout-list"
2189
+ }
2190
+ ],
2191
+ "children": [
3253
2192
  {
3254
2193
  "type": "stack",
3255
- "direction": "horizontal",
3256
- "gap": "sm",
3257
- "justify": "end",
2194
+ "direction": "vertical",
2195
+ "gap": "lg",
2196
+ "align": "center",
3258
2197
  "children": [
3259
2198
  {
3260
- "type": "button",
3261
- "label": "Cancel",
3262
- "event": "CANCEL",
3263
- "variant": "ghost"
2199
+ "type": "icon",
2200
+ "name": "check-circle",
2201
+ "size": "lg"
2202
+ },
2203
+ {
2204
+ "type": "typography",
2205
+ "content": "Onboarding Complete!",
2206
+ "variant": "h2"
2207
+ },
2208
+ {
2209
+ "type": "typography",
2210
+ "content": "The new employee has been fully onboarded.",
2211
+ "variant": "body"
3264
2212
  },
3265
2213
  {
3266
2214
  "type": "button",
3267
- "label": "Delete",
3268
- "event": "CONFIRM_DELETE",
3269
- "variant": "danger",
3270
- "icon": "trash"
2215
+ "label": "Start New",
2216
+ "event": "RESTART",
2217
+ "variant": "primary",
2218
+ "icon": "refresh-cw"
3271
2219
  }
3272
2220
  ]
3273
2221
  }
@@ -3277,20 +2225,13 @@
3277
2225
  ]
3278
2226
  },
3279
2227
  {
3280
- "from": "deleting",
3281
- "to": "browsing",
3282
- "event": "CONFIRM_DELETE",
2228
+ "from": "complete",
2229
+ "to": "step1",
2230
+ "event": "RESTART",
3283
2231
  "effects": [
3284
2232
  [
3285
- "persist",
3286
- "delete",
3287
- "TimeOff",
3288
- "@entity.id"
3289
- ],
3290
- [
3291
- "render-ui",
3292
- "modal",
3293
- null
2233
+ "fetch",
2234
+ "Onboarding"
3294
2235
  ],
3295
2236
  [
3296
2237
  "render-ui",
@@ -3322,17 +2263,14 @@
3322
2263
  ],
3323
2264
  "children": [
3324
2265
  {
3325
- "type": "stack",
3326
- "direction": "vertical",
3327
- "gap": "lg",
3328
- "className": "max-w-5xl mx-auto w-full",
2266
+ "type": "container",
2267
+ "maxWidth": "lg",
2268
+ "padding": "lg",
3329
2269
  "children": [
3330
2270
  {
3331
2271
  "type": "stack",
3332
- "direction": "horizontal",
3333
- "gap": "md",
3334
- "justify": "space-between",
3335
- "align": "center",
2272
+ "direction": "vertical",
2273
+ "gap": "lg",
3336
2274
  "children": [
3337
2275
  {
3338
2276
  "type": "stack",
@@ -3342,117 +2280,81 @@
3342
2280
  "children": [
3343
2281
  {
3344
2282
  "type": "icon",
3345
- "name": "calendar",
2283
+ "name": "clipboard-check",
3346
2284
  "size": "lg"
3347
2285
  },
3348
2286
  {
3349
2287
  "type": "typography",
3350
- "content": "Time Off Requests",
2288
+ "content": "Employee Onboarding",
3351
2289
  "variant": "h2"
3352
2290
  }
3353
2291
  ]
3354
2292
  },
3355
2293
  {
3356
- "type": "stack",
3357
- "direction": "horizontal",
3358
- "gap": "sm",
3359
- "children": [
3360
- {
3361
- "type": "button",
3362
- "label": "Request Time Off",
3363
- "event": "CREATE",
3364
- "variant": "primary",
3365
- "icon": "plus"
3366
- }
3367
- ]
3368
- }
3369
- ]
3370
- },
3371
- {
3372
- "type": "divider"
3373
- },
3374
- {
3375
- "type": "data-list",
3376
- "entity": "TimeOff",
3377
- "emptyIcon": "inbox",
3378
- "emptyTitle": "No time-off requests",
3379
- "emptyDescription": "Submit a request when you need time off.",
3380
- "itemActions": [
3381
- {
3382
- "label": "View",
3383
- "event": "VIEW",
3384
- "variant": "ghost",
3385
- "size": "sm"
3386
- },
3387
- {
3388
- "label": "Edit",
3389
- "event": "EDIT",
3390
- "variant": "ghost",
3391
- "size": "sm"
2294
+ "type": "progress-dots",
2295
+ "count": 3,
2296
+ "currentIndex": 0
3392
2297
  },
3393
2298
  {
3394
- "label": "Delete",
3395
- "event": "DELETE",
3396
- "variant": "danger",
3397
- "size": "sm"
3398
- }
3399
- ],
3400
- "columns": [
3401
- {
3402
- "name": "employeeName",
3403
- "label": "Employee",
3404
- "variant": "h3",
3405
- "icon": "calendar"
2299
+ "type": "wizard-progress",
2300
+ "steps": [
2301
+ "Employee Details",
2302
+ "Manager Assignment",
2303
+ "Setup Checklist"
2304
+ ],
2305
+ "currentStep": 0
3406
2306
  },
3407
2307
  {
3408
- "name": "leaveType",
3409
- "label": "Type",
3410
- "variant": "badge"
2308
+ "type": "divider"
3411
2309
  },
3412
2310
  {
3413
- "name": "status",
3414
- "variant": "badge"
2311
+ "type": "typography",
2312
+ "content": "Employee Details",
2313
+ "variant": "h3"
3415
2314
  },
3416
2315
  {
3417
- "name": "startDate",
3418
- "label": "From",
3419
- "variant": "body",
3420
- "format": "date"
2316
+ "type": "form-section",
2317
+ "entity": "Onboarding",
2318
+ "mode": "create",
2319
+ "submitEvent": "NEXT",
2320
+ "cancelEvent": "INIT",
2321
+ "fields": [
2322
+ "employeeName",
2323
+ "department"
2324
+ ]
3421
2325
  },
3422
2326
  {
3423
- "name": "endDate",
3424
- "label": "To",
3425
- "variant": "body",
3426
- "format": "date"
2327
+ "type": "stack",
2328
+ "direction": "horizontal",
2329
+ "gap": "sm",
2330
+ "justify": "end",
2331
+ "children": [
2332
+ {
2333
+ "type": "button",
2334
+ "label": "Next",
2335
+ "event": "NEXT",
2336
+ "variant": "primary",
2337
+ "icon": "arrow-right"
2338
+ }
2339
+ ]
3427
2340
  }
3428
- ],
3429
- "variant": "card",
3430
- "gap": "sm"
2341
+ ]
3431
2342
  }
3432
2343
  ]
3433
2344
  }
3434
2345
  ]
3435
2346
  }
3436
- ],
3437
- [
3438
- "notify",
3439
- "TimeOff deleted successfully"
3440
2347
  ]
3441
2348
  ]
3442
2349
  },
3443
2350
  {
3444
- "from": "deleting",
3445
- "to": "browsing",
3446
- "event": "CANCEL",
2351
+ "from": "complete",
2352
+ "to": "step1",
2353
+ "event": "INIT",
3447
2354
  "effects": [
3448
- [
3449
- "render-ui",
3450
- "modal",
3451
- null
3452
- ],
3453
2355
  [
3454
2356
  "fetch",
3455
- "TimeOff"
2357
+ "Onboarding"
3456
2358
  ],
3457
2359
  [
3458
2360
  "render-ui",
@@ -3484,17 +2386,14 @@
3484
2386
  ],
3485
2387
  "children": [
3486
2388
  {
3487
- "type": "stack",
3488
- "direction": "vertical",
3489
- "gap": "lg",
3490
- "className": "max-w-5xl mx-auto w-full",
2389
+ "type": "container",
2390
+ "maxWidth": "lg",
2391
+ "padding": "lg",
3491
2392
  "children": [
3492
2393
  {
3493
2394
  "type": "stack",
3494
- "direction": "horizontal",
3495
- "gap": "md",
3496
- "justify": "space-between",
3497
- "align": "center",
2395
+ "direction": "vertical",
2396
+ "gap": "lg",
3498
2397
  "children": [
3499
2398
  {
3500
2399
  "type": "stack",
@@ -3504,92 +2403,65 @@
3504
2403
  "children": [
3505
2404
  {
3506
2405
  "type": "icon",
3507
- "name": "calendar",
2406
+ "name": "clipboard-check",
3508
2407
  "size": "lg"
3509
2408
  },
3510
2409
  {
3511
2410
  "type": "typography",
3512
- "content": "Time Off Requests",
2411
+ "content": "Employee Onboarding",
3513
2412
  "variant": "h2"
3514
2413
  }
3515
2414
  ]
3516
2415
  },
3517
2416
  {
3518
- "type": "stack",
3519
- "direction": "horizontal",
3520
- "gap": "sm",
3521
- "children": [
3522
- {
3523
- "type": "button",
3524
- "label": "Request Time Off",
3525
- "event": "CREATE",
3526
- "variant": "primary",
3527
- "icon": "plus"
3528
- }
3529
- ]
3530
- }
3531
- ]
3532
- },
3533
- {
3534
- "type": "divider"
3535
- },
3536
- {
3537
- "type": "data-list",
3538
- "entity": "TimeOff",
3539
- "emptyIcon": "inbox",
3540
- "emptyTitle": "No time-off requests",
3541
- "emptyDescription": "Submit a request when you need time off.",
3542
- "itemActions": [
3543
- {
3544
- "label": "View",
3545
- "event": "VIEW",
3546
- "variant": "ghost",
3547
- "size": "sm"
3548
- },
3549
- {
3550
- "label": "Edit",
3551
- "event": "EDIT",
3552
- "variant": "ghost",
3553
- "size": "sm"
2417
+ "type": "progress-dots",
2418
+ "count": 3,
2419
+ "currentIndex": 0
3554
2420
  },
3555
2421
  {
3556
- "label": "Delete",
3557
- "event": "DELETE",
3558
- "variant": "danger",
3559
- "size": "sm"
3560
- }
3561
- ],
3562
- "columns": [
3563
- {
3564
- "name": "employeeName",
3565
- "label": "Employee",
3566
- "variant": "h3",
3567
- "icon": "calendar"
2422
+ "type": "wizard-progress",
2423
+ "steps": [
2424
+ "Employee Details",
2425
+ "Manager Assignment",
2426
+ "Setup Checklist"
2427
+ ],
2428
+ "currentStep": 0
3568
2429
  },
3569
2430
  {
3570
- "name": "leaveType",
3571
- "label": "Type",
3572
- "variant": "badge"
2431
+ "type": "divider"
3573
2432
  },
3574
2433
  {
3575
- "name": "status",
3576
- "variant": "badge"
2434
+ "type": "typography",
2435
+ "content": "Employee Details",
2436
+ "variant": "h3"
3577
2437
  },
3578
2438
  {
3579
- "name": "startDate",
3580
- "label": "From",
3581
- "variant": "body",
3582
- "format": "date"
2439
+ "type": "form-section",
2440
+ "entity": "Onboarding",
2441
+ "mode": "create",
2442
+ "submitEvent": "NEXT",
2443
+ "cancelEvent": "INIT",
2444
+ "fields": [
2445
+ "employeeName",
2446
+ "department"
2447
+ ]
3583
2448
  },
3584
2449
  {
3585
- "name": "endDate",
3586
- "label": "To",
3587
- "variant": "body",
3588
- "format": "date"
2450
+ "type": "stack",
2451
+ "direction": "horizontal",
2452
+ "gap": "sm",
2453
+ "justify": "end",
2454
+ "children": [
2455
+ {
2456
+ "type": "button",
2457
+ "label": "Next",
2458
+ "event": "NEXT",
2459
+ "variant": "primary",
2460
+ "icon": "arrow-right"
2461
+ }
2462
+ ]
3589
2463
  }
3590
- ],
3591
- "variant": "card",
3592
- "gap": "sm"
2464
+ ]
3593
2465
  }
3594
2466
  ]
3595
2467
  }
@@ -3597,19 +2469,168 @@
3597
2469
  }
3598
2470
  ]
3599
2471
  ]
2472
+ }
2473
+ ]
2474
+ },
2475
+ "listens": [
2476
+ {
2477
+ "event": "ONBOARD",
2478
+ "triggers": "INIT",
2479
+ "scope": "external"
2480
+ }
2481
+ ]
2482
+ }
2483
+ ],
2484
+ "pages": [
2485
+ {
2486
+ "name": "OnboardingPage",
2487
+ "path": "/onboarding",
2488
+ "traits": [
2489
+ {
2490
+ "ref": "OnboardingWizard"
2491
+ }
2492
+ ]
2493
+ }
2494
+ ]
2495
+ },
2496
+ {
2497
+ "name": "TimeOffOrbital",
2498
+ "entity": {
2499
+ "name": "TimeOff",
2500
+ "persistence": "runtime",
2501
+ "fields": [
2502
+ {
2503
+ "name": "id",
2504
+ "type": "string",
2505
+ "required": true
2506
+ },
2507
+ {
2508
+ "name": "employeeName",
2509
+ "type": "string",
2510
+ "default": ""
2511
+ },
2512
+ {
2513
+ "name": "leaveType",
2514
+ "type": "string",
2515
+ "default": "vacation",
2516
+ "values": [
2517
+ "vacation",
2518
+ "sick",
2519
+ "personal",
2520
+ "parental"
2521
+ ]
2522
+ },
2523
+ {
2524
+ "name": "startDate",
2525
+ "type": "date",
2526
+ "default": ""
2527
+ },
2528
+ {
2529
+ "name": "endDate",
2530
+ "type": "date",
2531
+ "default": ""
2532
+ },
2533
+ {
2534
+ "name": "status",
2535
+ "type": "string",
2536
+ "default": "pending",
2537
+ "values": [
2538
+ "pending",
2539
+ "approved",
2540
+ "denied"
2541
+ ]
2542
+ }
2543
+ ]
2544
+ },
2545
+ "traits": [
2546
+ {
2547
+ "name": "TimeOffBrowse",
2548
+ "linkedEntity": "TimeOff",
2549
+ "category": "interaction",
2550
+ "listens": [
2551
+ {
2552
+ "event": "TIME_OFF_CREATED",
2553
+ "triggers": "INIT"
2554
+ },
2555
+ {
2556
+ "event": "TIME_OFF_UPDATED",
2557
+ "triggers": "INIT"
2558
+ },
2559
+ {
2560
+ "event": "TIME_OFF_DELETED",
2561
+ "triggers": "INIT"
2562
+ }
2563
+ ],
2564
+ "stateMachine": {
2565
+ "states": [
2566
+ {
2567
+ "name": "browsing",
2568
+ "isInitial": true
2569
+ }
2570
+ ],
2571
+ "events": [
2572
+ {
2573
+ "key": "INIT",
2574
+ "name": "Initialize"
2575
+ },
2576
+ {
2577
+ "key": "CREATE",
2578
+ "name": "CREATE"
2579
+ },
2580
+ {
2581
+ "key": "VIEW",
2582
+ "name": "VIEW",
2583
+ "payload": [
2584
+ {
2585
+ "name": "id",
2586
+ "type": "string",
2587
+ "required": true
2588
+ },
2589
+ {
2590
+ "name": "row",
2591
+ "type": "object"
2592
+ }
2593
+ ]
2594
+ },
2595
+ {
2596
+ "key": "EDIT",
2597
+ "name": "EDIT",
2598
+ "payload": [
2599
+ {
2600
+ "name": "id",
2601
+ "type": "string",
2602
+ "required": true
2603
+ },
2604
+ {
2605
+ "name": "row",
2606
+ "type": "object"
2607
+ }
2608
+ ]
3600
2609
  },
3601
2610
  {
3602
- "from": "deleting",
2611
+ "key": "DELETE",
2612
+ "name": "DELETE",
2613
+ "payload": [
2614
+ {
2615
+ "name": "id",
2616
+ "type": "string",
2617
+ "required": true
2618
+ },
2619
+ {
2620
+ "name": "row",
2621
+ "type": "object"
2622
+ }
2623
+ ]
2624
+ }
2625
+ ],
2626
+ "transitions": [
2627
+ {
2628
+ "from": "browsing",
3603
2629
  "to": "browsing",
3604
- "event": "CLOSE",
2630
+ "event": "INIT",
3605
2631
  "effects": [
3606
2632
  [
3607
- "render-ui",
3608
- "modal",
3609
- null
3610
- ],
3611
- [
3612
- "fetch",
2633
+ "ref",
3613
2634
  "TimeOff"
3614
2635
  ],
3615
2636
  [
@@ -3778,6 +2799,9 @@
3778
2799
  "linkedEntity": "TimeOff",
3779
2800
  "category": "interaction",
3780
2801
  "emits": [
2802
+ {
2803
+ "event": "SAVE"
2804
+ },
3781
2805
  {
3782
2806
  "event": "TIME_OFF_CREATED"
3783
2807
  }
@@ -3921,10 +2945,6 @@
3921
2945
  [
3922
2946
  "emit",
3923
2947
  "TIME_OFF_CREATED"
3924
- ],
3925
- [
3926
- "notify",
3927
- "TimeOff created successfully"
3928
2948
  ]
3929
2949
  ]
3930
2950
  }
@@ -3936,6 +2956,9 @@
3936
2956
  "linkedEntity": "TimeOff",
3937
2957
  "category": "interaction",
3938
2958
  "emits": [
2959
+ {
2960
+ "event": "SAVE"
2961
+ },
3939
2962
  {
3940
2963
  "event": "TIME_OFF_UPDATED"
3941
2964
  }
@@ -4090,10 +3113,6 @@
4090
3113
  [
4091
3114
  "emit",
4092
3115
  "TIME_OFF_UPDATED"
4093
- ],
4094
- [
4095
- "notify",
4096
- "TimeOff updated successfully"
4097
3116
  ]
4098
3117
  ]
4099
3118
  }
@@ -4104,6 +3123,11 @@
4104
3123
  "name": "TimeOffView",
4105
3124
  "linkedEntity": "TimeOff",
4106
3125
  "category": "interaction",
3126
+ "emits": [
3127
+ {
3128
+ "event": "SAVE"
3129
+ }
3130
+ ],
4107
3131
  "stateMachine": {
4108
3132
  "states": [
4109
3133
  {
@@ -4133,6 +3157,17 @@
4133
3157
  {
4134
3158
  "key": "CLOSE",
4135
3159
  "name": "Close"
3160
+ },
3161
+ {
3162
+ "key": "SAVE",
3163
+ "name": "Save",
3164
+ "payload": [
3165
+ {
3166
+ "name": "data",
3167
+ "type": "object",
3168
+ "required": true
3169
+ }
3170
+ ]
4136
3171
  }
4137
3172
  ],
4138
3173
  "transitions": [
@@ -4318,6 +3353,219 @@
4318
3353
  "info"
4319
3354
  ]
4320
3355
  ]
3356
+ },
3357
+ {
3358
+ "from": "open",
3359
+ "to": "closed",
3360
+ "event": "SAVE",
3361
+ "effects": [
3362
+ [
3363
+ "render-ui",
3364
+ "modal",
3365
+ null
3366
+ ]
3367
+ ]
3368
+ }
3369
+ ]
3370
+ }
3371
+ },
3372
+ {
3373
+ "name": "TimeOffDelete",
3374
+ "linkedEntity": "TimeOff",
3375
+ "category": "interaction",
3376
+ "emits": [
3377
+ {
3378
+ "event": "CONFIRM_DELETE"
3379
+ },
3380
+ {
3381
+ "event": "TIME_OFF_DELETED"
3382
+ }
3383
+ ],
3384
+ "stateMachine": {
3385
+ "states": [
3386
+ {
3387
+ "name": "idle",
3388
+ "isInitial": true
3389
+ },
3390
+ {
3391
+ "name": "confirming"
3392
+ }
3393
+ ],
3394
+ "events": [
3395
+ {
3396
+ "key": "INIT",
3397
+ "name": "Initialize"
3398
+ },
3399
+ {
3400
+ "key": "DELETE",
3401
+ "name": "Request Confirmation",
3402
+ "payload": [
3403
+ {
3404
+ "name": "id",
3405
+ "type": "string",
3406
+ "required": true
3407
+ }
3408
+ ]
3409
+ },
3410
+ {
3411
+ "key": "CONFIRM_DELETE",
3412
+ "name": "Confirm"
3413
+ },
3414
+ {
3415
+ "key": "CANCEL",
3416
+ "name": "Cancel"
3417
+ },
3418
+ {
3419
+ "key": "CLOSE",
3420
+ "name": "Close"
3421
+ }
3422
+ ],
3423
+ "transitions": [
3424
+ {
3425
+ "from": "idle",
3426
+ "to": "idle",
3427
+ "event": "INIT",
3428
+ "effects": [
3429
+ [
3430
+ "ref",
3431
+ "TimeOff"
3432
+ ]
3433
+ ]
3434
+ },
3435
+ {
3436
+ "from": "idle",
3437
+ "to": "confirming",
3438
+ "event": "DELETE",
3439
+ "effects": [
3440
+ [
3441
+ "set",
3442
+ "@entity.pendingId",
3443
+ "@payload.id"
3444
+ ],
3445
+ [
3446
+ "fetch",
3447
+ "TimeOff",
3448
+ {
3449
+ "id": "@payload.id"
3450
+ }
3451
+ ],
3452
+ [
3453
+ "render-ui",
3454
+ "modal",
3455
+ {
3456
+ "type": "stack",
3457
+ "direction": "vertical",
3458
+ "gap": "md",
3459
+ "children": [
3460
+ {
3461
+ "type": "stack",
3462
+ "direction": "horizontal",
3463
+ "gap": "sm",
3464
+ "align": "center",
3465
+ "children": [
3466
+ {
3467
+ "type": "icon",
3468
+ "name": "alert-triangle",
3469
+ "size": "md"
3470
+ },
3471
+ {
3472
+ "type": "typography",
3473
+ "content": "Delete TimeOff",
3474
+ "variant": "h3"
3475
+ }
3476
+ ]
3477
+ },
3478
+ {
3479
+ "type": "divider"
3480
+ },
3481
+ {
3482
+ "type": "alert",
3483
+ "variant": "danger",
3484
+ "message": "This action cannot be undone."
3485
+ },
3486
+ {
3487
+ "type": "stack",
3488
+ "direction": "horizontal",
3489
+ "gap": "sm",
3490
+ "justify": "end",
3491
+ "children": [
3492
+ {
3493
+ "type": "button",
3494
+ "label": "Cancel",
3495
+ "event": "CANCEL",
3496
+ "variant": "ghost"
3497
+ },
3498
+ {
3499
+ "type": "button",
3500
+ "label": "Delete",
3501
+ "event": "CONFIRM_DELETE",
3502
+ "variant": "danger",
3503
+ "icon": "check"
3504
+ }
3505
+ ]
3506
+ }
3507
+ ]
3508
+ }
3509
+ ]
3510
+ ]
3511
+ },
3512
+ {
3513
+ "from": "confirming",
3514
+ "to": "idle",
3515
+ "event": "CONFIRM_DELETE",
3516
+ "effects": [
3517
+ [
3518
+ "persist",
3519
+ "delete",
3520
+ "TimeOff",
3521
+ "@entity.pendingId"
3522
+ ],
3523
+ [
3524
+ "render-ui",
3525
+ "modal",
3526
+ null
3527
+ ],
3528
+ [
3529
+ "ref",
3530
+ "TimeOff"
3531
+ ],
3532
+ [
3533
+ "emit",
3534
+ "TIME_OFF_DELETED"
3535
+ ]
3536
+ ]
3537
+ },
3538
+ {
3539
+ "from": "confirming",
3540
+ "to": "idle",
3541
+ "event": "CANCEL",
3542
+ "effects": [
3543
+ [
3544
+ "render-ui",
3545
+ "modal",
3546
+ null
3547
+ ],
3548
+ [
3549
+ "ref",
3550
+ "TimeOff"
3551
+ ]
3552
+ ]
3553
+ },
3554
+ {
3555
+ "from": "confirming",
3556
+ "to": "idle",
3557
+ "event": "CLOSE",
3558
+ "effects": [
3559
+ [
3560
+ "render-ui",
3561
+ "modal",
3562
+ null
3563
+ ],
3564
+ [
3565
+ "ref",
3566
+ "TimeOff"
3567
+ ]
3568
+ ]
4321
3569
  }
4322
3570
  ]
4323
3571
  }
@@ -4339,6 +3587,9 @@
4339
3587
  },
4340
3588
  {
4341
3589
  "ref": "TimeOffView"
3590
+ },
3591
+ {
3592
+ "ref": "TimeOffDelete"
4342
3593
  }
4343
3594
  ]
4344
3595
  }
@@ -5947,6 +5198,5 @@
5947
5198
  }
5948
5199
  ]
5949
5200
  }
5950
- ],
5951
- "description": "HR portal organism. Composes molecules via compose: - stdList(Employee): CRUD list of employees - stdWizard(Onboarding): multi-step onboarding wizard - stdList(TimeOff): CRUD list of time-off requests - stdDisplay(OrgChart): read-only org chart dashboard Pages: /employees (initial), /onboarding, /timeoff, /org-chart Connections: ONBOARD (employees->onboarding), APPROVE_LEAVE (timeoff->orgchart)"
5952
- }
5201
+ ]
5202
+ }