@almadar/std 15.6.1 → 15.7.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 (727) hide show
  1. package/behaviors/registry/agent/atoms/std-agent-activity-log.orb +77 -77
  2. package/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +105 -105
  3. package/behaviors/registry/agent/atoms/std-agent-classifier.orb +102 -102
  4. package/behaviors/registry/agent/atoms/std-agent-completion.orb +111 -111
  5. package/behaviors/registry/agent/atoms/std-agent-context-window.orb +375 -375
  6. package/behaviors/registry/agent/atoms/std-agent-conversation.orb +94 -94
  7. package/behaviors/registry/agent/atoms/std-agent-memory.orb +79 -79
  8. package/behaviors/registry/agent/atoms/std-agent-provider.orb +125 -125
  9. package/behaviors/registry/agent/atoms/std-agent-search.orb +63 -63
  10. package/behaviors/registry/agent/atoms/std-agent-session.orb +106 -106
  11. package/behaviors/registry/agent/atoms/std-agent-step-progress.orb +202 -202
  12. package/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +350 -350
  13. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +58 -58
  14. package/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +193 -193
  15. package/behaviors/registry/agent/molecules/std-agent-learner.orb +173 -173
  16. package/behaviors/registry/agent/molecules/std-agent-planner.orb +136 -136
  17. package/behaviors/registry/agent/molecules/std-agent-rag.orb +118 -118
  18. package/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +186 -186
  19. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1088 -1088
  20. package/behaviors/registry/agent/organisms/std-agent-builder.orb +3046 -3046
  21. package/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2089 -2089
  22. package/behaviors/registry/agent/organisms/std-agent-reviewer.orb +926 -926
  23. package/behaviors/registry/agent/organisms/std-agent-tutor.orb +760 -760
  24. package/behaviors/registry/app/atoms/std-ap-bill.orb +126 -126
  25. package/behaviors/registry/app/atoms/std-applicant.orb +124 -124
  26. package/behaviors/registry/app/atoms/std-application.orb +136 -136
  27. package/behaviors/registry/app/atoms/std-approval-request.orb +206 -206
  28. package/behaviors/registry/app/atoms/std-campaign-goal.orb +124 -124
  29. package/behaviors/registry/app/atoms/std-change-order.orb +168 -168
  30. package/behaviors/registry/app/atoms/std-chart-of-accounts.orb +120 -120
  31. package/behaviors/registry/app/atoms/std-checkin.orb +146 -146
  32. package/behaviors/registry/app/atoms/std-checkout-terminal.orb +129 -129
  33. package/behaviors/registry/app/atoms/std-class-roster.orb +104 -104
  34. package/behaviors/registry/app/atoms/std-class-session.orb +128 -128
  35. package/behaviors/registry/app/atoms/std-court-deadline.orb +152 -152
  36. package/behaviors/registry/app/atoms/std-customer-account.orb +148 -148
  37. package/behaviors/registry/app/atoms/std-donation-receipt.orb +139 -139
  38. package/behaviors/registry/app/atoms/std-donor.orb +135 -135
  39. package/behaviors/registry/app/atoms/std-drip-sequence.orb +122 -122
  40. package/behaviors/registry/app/atoms/std-driver.orb +144 -144
  41. package/behaviors/registry/app/atoms/std-dunning.orb +183 -183
  42. package/behaviors/registry/app/atoms/std-email-broadcast.orb +128 -128
  43. package/behaviors/registry/app/atoms/std-event.orb +149 -149
  44. package/behaviors/registry/app/atoms/std-form-builder.orb +168 -168
  45. package/behaviors/registry/app/atoms/std-health-score.orb +150 -150
  46. package/behaviors/registry/app/atoms/std-help-article.orb +129 -129
  47. package/behaviors/registry/app/atoms/std-help-category.orb +141 -141
  48. package/behaviors/registry/app/atoms/std-interview-slot.orb +142 -142
  49. package/behaviors/registry/app/atoms/std-invoice.orb +168 -168
  50. package/behaviors/registry/app/atoms/std-kitchen-display.orb +152 -152
  51. package/behaviors/registry/app/atoms/std-lease.orb +136 -136
  52. package/behaviors/registry/app/atoms/std-ledger-entry.orb +134 -134
  53. package/behaviors/registry/app/atoms/std-maintenance-request.orb +156 -156
  54. package/behaviors/registry/app/atoms/std-matter.orb +129 -129
  55. package/behaviors/registry/app/atoms/std-membership.orb +132 -132
  56. package/behaviors/registry/app/atoms/std-menu.orb +158 -158
  57. package/behaviors/registry/app/atoms/std-modifier-group.orb +126 -126
  58. package/behaviors/registry/app/atoms/std-nps-survey.orb +120 -120
  59. package/behaviors/registry/app/atoms/std-offer-letter.orb +130 -130
  60. package/behaviors/registry/app/atoms/std-payout-ledger.orb +141 -141
  61. package/behaviors/registry/app/atoms/std-question-bank.orb +123 -123
  62. package/behaviors/registry/app/atoms/std-receipt.orb +157 -157
  63. package/behaviors/registry/app/atoms/std-recurring-charge.orb +137 -137
  64. package/behaviors/registry/app/atoms/std-renewal-risk.orb +152 -152
  65. package/behaviors/registry/app/atoms/std-rent-charge.orb +152 -152
  66. package/behaviors/registry/app/atoms/std-reorder-rule.orb +139 -139
  67. package/behaviors/registry/app/atoms/std-response-collector.orb +142 -142
  68. package/behaviors/registry/app/atoms/std-rfi.orb +153 -153
  69. package/behaviors/registry/app/atoms/std-route-optimize.orb +114 -114
  70. package/behaviors/registry/app/atoms/std-segment.orb +119 -119
  71. package/behaviors/registry/app/atoms/std-stock-level.orb +136 -136
  72. package/behaviors/registry/app/atoms/std-submittal.orb +165 -165
  73. package/behaviors/registry/app/atoms/std-table-map.orb +67 -67
  74. package/behaviors/registry/app/atoms/std-technician-dispatch.orb +134 -134
  75. package/behaviors/registry/app/atoms/std-telematics-event.orb +111 -111
  76. package/behaviors/registry/app/atoms/std-template-editor.orb +157 -157
  77. package/behaviors/registry/app/atoms/std-tenant.orb +127 -127
  78. package/behaviors/registry/app/atoms/std-ticket-tier.orb +178 -178
  79. package/behaviors/registry/app/atoms/std-time-entry.orb +136 -136
  80. package/behaviors/registry/app/atoms/std-timesheet.orb +174 -174
  81. package/behaviors/registry/app/atoms/std-trial.orb +147 -147
  82. package/behaviors/registry/app/atoms/std-vehicle.orb +147 -147
  83. package/behaviors/registry/app/atoms/std-vendor-onboarding.orb +232 -232
  84. package/behaviors/registry/app/atoms/std-waitlist.orb +142 -142
  85. package/behaviors/registry/app/atoms/std-warehouse.orb +82 -82
  86. package/behaviors/registry/app/atoms/std-work-order.orb +160 -160
  87. package/behaviors/registry/app/molecules/std-applicant-form.orb +65 -65
  88. package/behaviors/registry/app/molecules/std-approval-chain.orb +5 -5
  89. package/behaviors/registry/app/molecules/std-broadcast-builder.orb +59 -59
  90. package/behaviors/registry/app/molecules/std-cart.orb +45 -45
  91. package/behaviors/registry/app/molecules/std-ledger-entry-form.orb +159 -159
  92. package/behaviors/registry/app/molecules/std-multi-party-transaction.orb +12 -12
  93. package/behaviors/registry/app/molecules/std-pipeline.orb +20 -20
  94. package/behaviors/registry/app/molecules/std-recurring-schedule.orb +2 -2
  95. package/behaviors/registry/app/molecules/std-stock-adjustment.orb +111 -111
  96. package/behaviors/registry/app/molecules/std-timeline.orb +6 -6
  97. package/behaviors/registry/app/molecules/std-wizard-branching.orb +15 -15
  98. package/behaviors/registry/app/organisms/std-accounting.orb +91 -91
  99. package/behaviors/registry/app/organisms/std-api-gateway.orb +175 -175
  100. package/behaviors/registry/app/organisms/std-ats-recruiting.orb +132 -132
  101. package/behaviors/registry/app/organisms/std-booking-system.orb +686 -681
  102. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +277 -277
  103. package/behaviors/registry/app/organisms/std-cms.orb +271 -271
  104. package/behaviors/registry/app/organisms/std-coding-academy.orb +204 -204
  105. package/behaviors/registry/app/organisms/std-construction-pm.orb +129 -129
  106. package/behaviors/registry/app/organisms/std-crm.orb +270 -270
  107. package/behaviors/registry/app/organisms/std-customer-success.orb +91 -91
  108. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +404 -404
  109. package/behaviors/registry/app/organisms/std-document-mgmt.orb +85 -85
  110. package/behaviors/registry/app/organisms/std-ecommerce.orb +705 -705
  111. package/behaviors/registry/app/organisms/std-embedded-dashboard.orb +151 -151
  112. package/behaviors/registry/app/organisms/std-event-ticketing.orb +213 -213
  113. package/behaviors/registry/app/organisms/std-field-service.orb +200 -200
  114. package/behaviors/registry/app/organisms/std-finance-tracker.orb +204 -204
  115. package/behaviors/registry/app/organisms/std-fitness-studio.orb +162 -162
  116. package/behaviors/registry/app/organisms/std-fleet-mgmt.orb +157 -157
  117. package/behaviors/registry/app/organisms/std-forum.orb +144 -144
  118. package/behaviors/registry/app/organisms/std-healthcare.orb +537 -537
  119. package/behaviors/registry/app/organisms/std-helpdesk.orb +182 -182
  120. package/behaviors/registry/app/organisms/std-hr-portal.orb +464 -464
  121. package/behaviors/registry/app/organisms/std-inventory.orb +186 -186
  122. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +361 -361
  123. package/behaviors/registry/app/organisms/std-legal-case.orb +169 -169
  124. package/behaviors/registry/app/organisms/std-listings.orb +151 -151
  125. package/behaviors/registry/app/organisms/std-lms.orb +599 -416
  126. package/behaviors/registry/app/organisms/std-marketing-campaign.orb +127 -127
  127. package/behaviors/registry/app/organisms/std-marketplace.orb +224 -224
  128. package/behaviors/registry/app/organisms/std-nonprofit-donations.orb +111 -111
  129. package/behaviors/registry/app/organisms/std-notes.orb +111 -111
  130. package/behaviors/registry/app/organisms/std-project-manager.orb +222 -222
  131. package/behaviors/registry/app/organisms/std-property-mgmt.orb +182 -182
  132. package/behaviors/registry/app/organisms/std-public-help-center.orb +134 -134
  133. package/behaviors/registry/app/organisms/std-realtime-chat.orb +253 -253
  134. package/behaviors/registry/app/organisms/std-restaurant-pos.orb +134 -134
  135. package/behaviors/registry/app/organisms/std-retail-pos.orb +140 -140
  136. package/behaviors/registry/app/organisms/std-social-feed.orb +145 -145
  137. package/behaviors/registry/app/organisms/std-subscription-billing.orb +172 -172
  138. package/behaviors/registry/app/organisms/std-survey.orb +131 -131
  139. package/behaviors/registry/app/organisms/std-time-tracking.orb +180 -180
  140. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +272 -272
  141. package/behaviors/registry/app/organisms/std-wiki.orb +120 -120
  142. package/behaviors/registry/core/atoms/std-app-layout.orb +44 -44
  143. package/behaviors/registry/core/atoms/std-audit-capture.orb +17 -17
  144. package/behaviors/registry/core/atoms/std-billable-hour.orb +126 -126
  145. package/behaviors/registry/core/atoms/std-board.orb +220 -208
  146. package/behaviors/registry/core/atoms/std-branching-logic.orb +110 -110
  147. package/behaviors/registry/core/atoms/std-browse.orb +69 -69
  148. package/behaviors/registry/core/atoms/std-cache-aside.orb +83 -83
  149. package/behaviors/registry/core/atoms/std-calendar.orb +53 -53
  150. package/behaviors/registry/core/atoms/std-cascade-on-delete.orb +12 -12
  151. package/behaviors/registry/core/atoms/std-circuit-breaker.orb +175 -175
  152. package/behaviors/registry/core/atoms/std-confirmation.orb +30 -30
  153. package/behaviors/registry/core/atoms/std-cross-reference.orb +14 -14
  154. package/behaviors/registry/core/atoms/std-dashboard-grid-embedded.orb +72 -72
  155. package/behaviors/registry/core/atoms/std-dashboard-grid-layout.orb +98 -98
  156. package/behaviors/registry/core/atoms/std-date-range.orb +23 -23
  157. package/behaviors/registry/core/atoms/std-display.orb +3 -3
  158. package/behaviors/registry/core/atoms/std-drawer.orb +12 -12
  159. package/behaviors/registry/core/atoms/std-esign-request.orb +29 -29
  160. package/behaviors/registry/core/atoms/std-event-log.orb +193 -178
  161. package/behaviors/registry/core/atoms/std-export.orb +48 -42
  162. package/behaviors/registry/core/atoms/std-file-store.orb +131 -131
  163. package/behaviors/registry/core/atoms/std-filter.orb +10 -10
  164. package/behaviors/registry/core/atoms/std-flag.orb +87 -87
  165. package/behaviors/registry/core/atoms/std-form-advanced.orb +48 -48
  166. package/behaviors/registry/core/atoms/std-gallery.orb +35 -35
  167. package/behaviors/registry/core/atoms/std-geosearch.orb +29 -29
  168. package/behaviors/registry/core/atoms/std-graphs.orb +162 -154
  169. package/behaviors/registry/core/atoms/std-image-upload-multi.orb +64 -64
  170. package/behaviors/registry/core/atoms/std-mod-queue.orb +56 -56
  171. package/behaviors/registry/core/atoms/std-modal.orb +30 -30
  172. package/behaviors/registry/core/atoms/std-multi-party-flow.orb +557 -545
  173. package/behaviors/registry/core/atoms/std-notify-on-event.orb +11 -11
  174. package/behaviors/registry/core/atoms/std-page-tree.orb +126 -126
  175. package/behaviors/registry/core/atoms/std-pagination.orb +18 -18
  176. package/behaviors/registry/core/atoms/std-push.orb +49 -49
  177. package/behaviors/registry/core/atoms/std-rate-limiter.orb +181 -181
  178. package/behaviors/registry/core/atoms/std-rating-review.orb +587 -571
  179. package/behaviors/registry/core/atoms/std-recurrence.orb +150 -144
  180. package/behaviors/registry/core/atoms/std-related.orb +29 -29
  181. package/behaviors/registry/core/atoms/std-rich-editor.orb +113 -113
  182. package/behaviors/registry/core/atoms/std-row-access-control.orb +6 -6
  183. package/behaviors/registry/core/atoms/std-saved-search.orb +74 -74
  184. package/behaviors/registry/core/atoms/std-scatter.orb +75 -70
  185. package/behaviors/registry/core/atoms/std-search.orb +4 -4
  186. package/behaviors/registry/core/atoms/std-selection.orb +104 -104
  187. package/behaviors/registry/core/atoms/std-signature-capture.orb +96 -96
  188. package/behaviors/registry/core/atoms/std-stack-layout.orb +11 -11
  189. package/behaviors/registry/core/atoms/std-stats.orb +258 -228
  190. package/behaviors/registry/core/atoms/std-step-flow.orb +201 -198
  191. package/behaviors/registry/core/atoms/std-tabs.orb +45 -40
  192. package/behaviors/registry/core/atoms/std-tag-taxonomy.orb +71 -71
  193. package/behaviors/registry/core/atoms/std-thread.orb +62 -62
  194. package/behaviors/registry/core/atoms/std-version-history.orb +157 -157
  195. package/behaviors/registry/core/atoms/std-vote.orb +34 -34
  196. package/behaviors/registry/core/atoms/std-wizard-form.orb +167 -167
  197. package/behaviors/registry/core/atoms/std-wizard.orb +180 -177
  198. package/behaviors/registry/core/molecules/std-dashboard.orb +47 -47
  199. package/behaviors/registry/core/molecules/std-esign-flow.orb +96 -96
  200. package/behaviors/registry/core/molecules/std-filtered-list.orb +20 -20
  201. package/behaviors/registry/core/molecules/std-list.orb +65 -65
  202. package/behaviors/registry/core/molecules/std-master-detail-layout.orb +14 -14
  203. package/behaviors/registry/core/molecules/std-tabs-layout.orb +17 -17
  204. package/behaviors/registry/core/organisms/std-generic-app.orb +554 -554
  205. package/behaviors/registry/factory-signatures.json +20759 -67
  206. package/behaviors/registry/game/atoms/std-collision.orb +140 -140
  207. package/behaviors/registry/game/atoms/std-combat.orb +50 -50
  208. package/behaviors/registry/game/atoms/std-dialogue-box.orb +22 -22
  209. package/behaviors/registry/game/atoms/std-game-canvas2d.orb +38 -38
  210. package/behaviors/registry/game/atoms/std-gameflow.orb +31 -31
  211. package/behaviors/registry/game/atoms/std-movement.orb +285 -285
  212. package/behaviors/registry/game/atoms/std-overworld.orb +77 -77
  213. package/behaviors/registry/game/atoms/std-physics2d.orb +73 -73
  214. package/behaviors/registry/game/atoms/std-quest.orb +132 -132
  215. package/behaviors/registry/game/atoms/std-timer.orb +294 -294
  216. package/behaviors/registry/game/organisms/std-arcade-game.orb +156 -156
  217. package/behaviors/registry/game/organisms/std-logic-training.orb +78 -78
  218. package/behaviors/registry/game/organisms/std-platformer-app.orb +273 -260
  219. package/behaviors/registry/game/organisms/std-puzzle-app.orb +100 -100
  220. package/behaviors/registry/game/organisms/std-rpg-game.orb +365 -365
  221. package/behaviors/registry/game/organisms/std-stem-lab.orb +376 -376
  222. package/behaviors/registry/game/organisms/std-strategy-game.orb +561 -561
  223. package/behaviors/registry/probes/molecules/std-source-scope-probe.orb +26 -26
  224. package/behaviors/registry/service/atoms/std-service-calendar-ical.orb +59 -59
  225. package/behaviors/registry/service/atoms/std-service-custom-bearer.orb +68 -68
  226. package/behaviors/registry/service/atoms/std-service-email.orb +75 -75
  227. package/behaviors/registry/service/atoms/std-service-github.orb +71 -71
  228. package/behaviors/registry/service/atoms/std-service-llm.orb +65 -65
  229. package/behaviors/registry/service/atoms/std-service-maps.orb +89 -89
  230. package/behaviors/registry/service/atoms/std-service-oauth.orb +52 -52
  231. package/behaviors/registry/service/atoms/std-service-print.orb +115 -115
  232. package/behaviors/registry/service/atoms/std-service-redis.orb +71 -71
  233. package/behaviors/registry/service/atoms/std-service-storage.orb +54 -54
  234. package/behaviors/registry/service/atoms/std-service-stripe.orb +104 -104
  235. package/behaviors/registry/service/atoms/std-service-twilio.orb +61 -61
  236. package/behaviors/registry/service/atoms/std-service-youtube.orb +56 -56
  237. package/behaviors/registry/service/organisms/std-service-marketplace.orb +1015 -1015
  238. package/behaviors/registry/service/organisms/std-service-research-assistant.orb +910 -910
  239. package/behaviors/registry/variations/chrome/std-app-layout-bottomnav.orb +7 -7
  240. package/behaviors/registry/variations/chrome/std-app-layout-minimal.orb +5 -5
  241. package/behaviors/registry/variations/chrome/std-app-layout-topnav.orb +9 -9
  242. package/behaviors/registry/variations/views/std-stats-sparkline.orb +14 -14
  243. package/dist/behaviors/registry/agent/atoms/std-agent-activity-log.orb +77 -77
  244. package/dist/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +105 -105
  245. package/dist/behaviors/registry/agent/atoms/std-agent-classifier.orb +102 -102
  246. package/dist/behaviors/registry/agent/atoms/std-agent-completion.orb +111 -111
  247. package/dist/behaviors/registry/agent/atoms/std-agent-context-window.orb +375 -375
  248. package/dist/behaviors/registry/agent/atoms/std-agent-conversation.orb +94 -94
  249. package/dist/behaviors/registry/agent/atoms/std-agent-memory.orb +79 -79
  250. package/dist/behaviors/registry/agent/atoms/std-agent-provider.orb +125 -125
  251. package/dist/behaviors/registry/agent/atoms/std-agent-search.orb +63 -63
  252. package/dist/behaviors/registry/agent/atoms/std-agent-session.orb +106 -106
  253. package/dist/behaviors/registry/agent/atoms/std-agent-step-progress.orb +202 -202
  254. package/dist/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +350 -350
  255. package/dist/behaviors/registry/agent/atoms/std-agent-tool-call.orb +58 -58
  256. package/dist/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +193 -193
  257. package/dist/behaviors/registry/agent/molecules/std-agent-learner.orb +173 -173
  258. package/dist/behaviors/registry/agent/molecules/std-agent-planner.orb +136 -136
  259. package/dist/behaviors/registry/agent/molecules/std-agent-rag.orb +118 -118
  260. package/dist/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +186 -186
  261. package/dist/behaviors/registry/agent/organisms/std-agent-assistant.orb +1088 -1088
  262. package/dist/behaviors/registry/agent/organisms/std-agent-builder.orb +3046 -3046
  263. package/dist/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2089 -2089
  264. package/dist/behaviors/registry/agent/organisms/std-agent-reviewer.orb +926 -926
  265. package/dist/behaviors/registry/agent/organisms/std-agent-tutor.orb +760 -760
  266. package/dist/behaviors/registry/app/atoms/std-ap-bill.orb +126 -126
  267. package/dist/behaviors/registry/app/atoms/std-applicant.orb +124 -124
  268. package/dist/behaviors/registry/app/atoms/std-application.orb +136 -136
  269. package/dist/behaviors/registry/app/atoms/std-approval-request.orb +206 -206
  270. package/dist/behaviors/registry/app/atoms/std-campaign-goal.orb +124 -124
  271. package/dist/behaviors/registry/app/atoms/std-change-order.orb +168 -168
  272. package/dist/behaviors/registry/app/atoms/std-chart-of-accounts.orb +120 -120
  273. package/dist/behaviors/registry/app/atoms/std-checkin.orb +146 -146
  274. package/dist/behaviors/registry/app/atoms/std-checkout-terminal.orb +129 -129
  275. package/dist/behaviors/registry/app/atoms/std-class-roster.orb +104 -104
  276. package/dist/behaviors/registry/app/atoms/std-class-session.orb +128 -128
  277. package/dist/behaviors/registry/app/atoms/std-court-deadline.orb +152 -152
  278. package/dist/behaviors/registry/app/atoms/std-customer-account.orb +148 -148
  279. package/dist/behaviors/registry/app/atoms/std-donation-receipt.orb +139 -139
  280. package/dist/behaviors/registry/app/atoms/std-donor.orb +135 -135
  281. package/dist/behaviors/registry/app/atoms/std-drip-sequence.orb +122 -122
  282. package/dist/behaviors/registry/app/atoms/std-driver.orb +144 -144
  283. package/dist/behaviors/registry/app/atoms/std-dunning.orb +183 -183
  284. package/dist/behaviors/registry/app/atoms/std-email-broadcast.orb +128 -128
  285. package/dist/behaviors/registry/app/atoms/std-event.orb +149 -149
  286. package/dist/behaviors/registry/app/atoms/std-form-builder.orb +168 -168
  287. package/dist/behaviors/registry/app/atoms/std-health-score.orb +150 -150
  288. package/dist/behaviors/registry/app/atoms/std-help-article.orb +129 -129
  289. package/dist/behaviors/registry/app/atoms/std-help-category.orb +141 -141
  290. package/dist/behaviors/registry/app/atoms/std-interview-slot.orb +142 -142
  291. package/dist/behaviors/registry/app/atoms/std-invoice.orb +168 -168
  292. package/dist/behaviors/registry/app/atoms/std-kitchen-display.orb +152 -152
  293. package/dist/behaviors/registry/app/atoms/std-lease.orb +136 -136
  294. package/dist/behaviors/registry/app/atoms/std-ledger-entry.orb +134 -134
  295. package/dist/behaviors/registry/app/atoms/std-maintenance-request.orb +156 -156
  296. package/dist/behaviors/registry/app/atoms/std-matter.orb +129 -129
  297. package/dist/behaviors/registry/app/atoms/std-membership.orb +132 -132
  298. package/dist/behaviors/registry/app/atoms/std-menu.orb +158 -158
  299. package/dist/behaviors/registry/app/atoms/std-modifier-group.orb +126 -126
  300. package/dist/behaviors/registry/app/atoms/std-nps-survey.orb +120 -120
  301. package/dist/behaviors/registry/app/atoms/std-offer-letter.orb +130 -130
  302. package/dist/behaviors/registry/app/atoms/std-payout-ledger.orb +141 -141
  303. package/dist/behaviors/registry/app/atoms/std-question-bank.orb +123 -123
  304. package/dist/behaviors/registry/app/atoms/std-receipt.orb +157 -157
  305. package/dist/behaviors/registry/app/atoms/std-recurring-charge.orb +137 -137
  306. package/dist/behaviors/registry/app/atoms/std-renewal-risk.orb +152 -152
  307. package/dist/behaviors/registry/app/atoms/std-rent-charge.orb +152 -152
  308. package/dist/behaviors/registry/app/atoms/std-reorder-rule.orb +139 -139
  309. package/dist/behaviors/registry/app/atoms/std-response-collector.orb +142 -142
  310. package/dist/behaviors/registry/app/atoms/std-rfi.orb +153 -153
  311. package/dist/behaviors/registry/app/atoms/std-route-optimize.orb +114 -114
  312. package/dist/behaviors/registry/app/atoms/std-segment.orb +119 -119
  313. package/dist/behaviors/registry/app/atoms/std-stock-level.orb +136 -136
  314. package/dist/behaviors/registry/app/atoms/std-submittal.orb +165 -165
  315. package/dist/behaviors/registry/app/atoms/std-table-map.orb +67 -67
  316. package/dist/behaviors/registry/app/atoms/std-technician-dispatch.orb +134 -134
  317. package/dist/behaviors/registry/app/atoms/std-telematics-event.orb +111 -111
  318. package/dist/behaviors/registry/app/atoms/std-template-editor.orb +157 -157
  319. package/dist/behaviors/registry/app/atoms/std-tenant.orb +127 -127
  320. package/dist/behaviors/registry/app/atoms/std-ticket-tier.orb +178 -178
  321. package/dist/behaviors/registry/app/atoms/std-time-entry.orb +136 -136
  322. package/dist/behaviors/registry/app/atoms/std-timesheet.orb +174 -174
  323. package/dist/behaviors/registry/app/atoms/std-trial.orb +147 -147
  324. package/dist/behaviors/registry/app/atoms/std-vehicle.orb +147 -147
  325. package/dist/behaviors/registry/app/atoms/std-vendor-onboarding.orb +232 -232
  326. package/dist/behaviors/registry/app/atoms/std-waitlist.orb +142 -142
  327. package/dist/behaviors/registry/app/atoms/std-warehouse.orb +82 -82
  328. package/dist/behaviors/registry/app/atoms/std-work-order.orb +160 -160
  329. package/dist/behaviors/registry/app/molecules/std-applicant-form.orb +65 -65
  330. package/dist/behaviors/registry/app/molecules/std-approval-chain.orb +5 -5
  331. package/dist/behaviors/registry/app/molecules/std-broadcast-builder.orb +59 -59
  332. package/dist/behaviors/registry/app/molecules/std-cart.orb +45 -45
  333. package/dist/behaviors/registry/app/molecules/std-ledger-entry-form.orb +159 -159
  334. package/dist/behaviors/registry/app/molecules/std-multi-party-transaction.orb +12 -12
  335. package/dist/behaviors/registry/app/molecules/std-pipeline.orb +20 -20
  336. package/dist/behaviors/registry/app/molecules/std-recurring-schedule.orb +2 -2
  337. package/dist/behaviors/registry/app/molecules/std-stock-adjustment.orb +111 -111
  338. package/dist/behaviors/registry/app/molecules/std-timeline.orb +6 -6
  339. package/dist/behaviors/registry/app/molecules/std-wizard-branching.orb +15 -15
  340. package/dist/behaviors/registry/app/organisms/std-accounting.orb +91 -91
  341. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +175 -175
  342. package/dist/behaviors/registry/app/organisms/std-ats-recruiting.orb +132 -132
  343. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +686 -681
  344. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +277 -277
  345. package/dist/behaviors/registry/app/organisms/std-cms.orb +271 -271
  346. package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +204 -204
  347. package/dist/behaviors/registry/app/organisms/std-construction-pm.orb +129 -129
  348. package/dist/behaviors/registry/app/organisms/std-crm.orb +270 -270
  349. package/dist/behaviors/registry/app/organisms/std-customer-success.orb +91 -91
  350. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +404 -404
  351. package/dist/behaviors/registry/app/organisms/std-document-mgmt.orb +85 -85
  352. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +705 -705
  353. package/dist/behaviors/registry/app/organisms/std-embedded-dashboard.orb +151 -151
  354. package/dist/behaviors/registry/app/organisms/std-event-ticketing.orb +213 -213
  355. package/dist/behaviors/registry/app/organisms/std-field-service.orb +200 -200
  356. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +204 -204
  357. package/dist/behaviors/registry/app/organisms/std-fitness-studio.orb +162 -162
  358. package/dist/behaviors/registry/app/organisms/std-fleet-mgmt.orb +157 -157
  359. package/dist/behaviors/registry/app/organisms/std-forum.orb +144 -144
  360. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +537 -537
  361. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +182 -182
  362. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +464 -464
  363. package/dist/behaviors/registry/app/organisms/std-inventory.orb +186 -186
  364. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +361 -361
  365. package/dist/behaviors/registry/app/organisms/std-legal-case.orb +169 -169
  366. package/dist/behaviors/registry/app/organisms/std-listings.orb +151 -151
  367. package/dist/behaviors/registry/app/organisms/std-lms.orb +599 -416
  368. package/dist/behaviors/registry/app/organisms/std-marketing-campaign.orb +127 -127
  369. package/dist/behaviors/registry/app/organisms/std-marketplace.orb +224 -224
  370. package/dist/behaviors/registry/app/organisms/std-nonprofit-donations.orb +111 -111
  371. package/dist/behaviors/registry/app/organisms/std-notes.orb +111 -111
  372. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +222 -222
  373. package/dist/behaviors/registry/app/organisms/std-property-mgmt.orb +182 -182
  374. package/dist/behaviors/registry/app/organisms/std-public-help-center.orb +134 -134
  375. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +253 -253
  376. package/dist/behaviors/registry/app/organisms/std-restaurant-pos.orb +134 -134
  377. package/dist/behaviors/registry/app/organisms/std-retail-pos.orb +140 -140
  378. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +145 -145
  379. package/dist/behaviors/registry/app/organisms/std-subscription-billing.orb +172 -172
  380. package/dist/behaviors/registry/app/organisms/std-survey.orb +131 -131
  381. package/dist/behaviors/registry/app/organisms/std-time-tracking.orb +180 -180
  382. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +272 -272
  383. package/dist/behaviors/registry/app/organisms/std-wiki.orb +120 -120
  384. package/dist/behaviors/registry/core/atoms/std-app-layout.orb +44 -44
  385. package/dist/behaviors/registry/core/atoms/std-audit-capture.orb +17 -17
  386. package/dist/behaviors/registry/core/atoms/std-billable-hour.orb +126 -126
  387. package/dist/behaviors/registry/core/atoms/std-board.orb +220 -208
  388. package/dist/behaviors/registry/core/atoms/std-branching-logic.orb +110 -110
  389. package/dist/behaviors/registry/core/atoms/std-browse.orb +69 -69
  390. package/dist/behaviors/registry/core/atoms/std-cache-aside.orb +83 -83
  391. package/dist/behaviors/registry/core/atoms/std-calendar.orb +53 -53
  392. package/dist/behaviors/registry/core/atoms/std-cascade-on-delete.orb +12 -12
  393. package/dist/behaviors/registry/core/atoms/std-circuit-breaker.orb +175 -175
  394. package/dist/behaviors/registry/core/atoms/std-confirmation.orb +30 -30
  395. package/dist/behaviors/registry/core/atoms/std-cross-reference.orb +14 -14
  396. package/dist/behaviors/registry/core/atoms/std-dashboard-grid-embedded.orb +72 -72
  397. package/dist/behaviors/registry/core/atoms/std-dashboard-grid-layout.orb +98 -98
  398. package/dist/behaviors/registry/core/atoms/std-date-range.orb +23 -23
  399. package/dist/behaviors/registry/core/atoms/std-display.orb +3 -3
  400. package/dist/behaviors/registry/core/atoms/std-drawer.orb +12 -12
  401. package/dist/behaviors/registry/core/atoms/std-esign-request.orb +29 -29
  402. package/dist/behaviors/registry/core/atoms/std-event-log.orb +193 -178
  403. package/dist/behaviors/registry/core/atoms/std-export.orb +48 -42
  404. package/dist/behaviors/registry/core/atoms/std-file-store.orb +131 -131
  405. package/dist/behaviors/registry/core/atoms/std-filter.orb +10 -10
  406. package/dist/behaviors/registry/core/atoms/std-flag.orb +87 -87
  407. package/dist/behaviors/registry/core/atoms/std-form-advanced.orb +48 -48
  408. package/dist/behaviors/registry/core/atoms/std-gallery.orb +35 -35
  409. package/dist/behaviors/registry/core/atoms/std-geosearch.orb +29 -29
  410. package/dist/behaviors/registry/core/atoms/std-graphs.orb +162 -154
  411. package/dist/behaviors/registry/core/atoms/std-image-upload-multi.orb +64 -64
  412. package/dist/behaviors/registry/core/atoms/std-mod-queue.orb +56 -56
  413. package/dist/behaviors/registry/core/atoms/std-modal.orb +30 -30
  414. package/dist/behaviors/registry/core/atoms/std-multi-party-flow.orb +557 -545
  415. package/dist/behaviors/registry/core/atoms/std-notify-on-event.orb +11 -11
  416. package/dist/behaviors/registry/core/atoms/std-page-tree.orb +126 -126
  417. package/dist/behaviors/registry/core/atoms/std-pagination.orb +18 -18
  418. package/dist/behaviors/registry/core/atoms/std-push.orb +49 -49
  419. package/dist/behaviors/registry/core/atoms/std-rate-limiter.orb +181 -181
  420. package/dist/behaviors/registry/core/atoms/std-rating-review.orb +587 -571
  421. package/dist/behaviors/registry/core/atoms/std-recurrence.orb +150 -144
  422. package/dist/behaviors/registry/core/atoms/std-related.orb +29 -29
  423. package/dist/behaviors/registry/core/atoms/std-rich-editor.orb +113 -113
  424. package/dist/behaviors/registry/core/atoms/std-row-access-control.orb +6 -6
  425. package/dist/behaviors/registry/core/atoms/std-saved-search.orb +74 -74
  426. package/dist/behaviors/registry/core/atoms/std-scatter.orb +75 -70
  427. package/dist/behaviors/registry/core/atoms/std-search.orb +4 -4
  428. package/dist/behaviors/registry/core/atoms/std-selection.orb +104 -104
  429. package/dist/behaviors/registry/core/atoms/std-signature-capture.orb +96 -96
  430. package/dist/behaviors/registry/core/atoms/std-stack-layout.orb +11 -11
  431. package/dist/behaviors/registry/core/atoms/std-stats.orb +258 -228
  432. package/dist/behaviors/registry/core/atoms/std-step-flow.orb +201 -198
  433. package/dist/behaviors/registry/core/atoms/std-tabs.orb +45 -40
  434. package/dist/behaviors/registry/core/atoms/std-tag-taxonomy.orb +71 -71
  435. package/dist/behaviors/registry/core/atoms/std-thread.orb +62 -62
  436. package/dist/behaviors/registry/core/atoms/std-version-history.orb +157 -157
  437. package/dist/behaviors/registry/core/atoms/std-vote.orb +34 -34
  438. package/dist/behaviors/registry/core/atoms/std-wizard-form.orb +167 -167
  439. package/dist/behaviors/registry/core/atoms/std-wizard.orb +180 -177
  440. package/dist/behaviors/registry/core/molecules/std-dashboard.orb +47 -47
  441. package/dist/behaviors/registry/core/molecules/std-esign-flow.orb +96 -96
  442. package/dist/behaviors/registry/core/molecules/std-filtered-list.orb +20 -20
  443. package/dist/behaviors/registry/core/molecules/std-list.orb +65 -65
  444. package/dist/behaviors/registry/core/molecules/std-master-detail-layout.orb +14 -14
  445. package/dist/behaviors/registry/core/molecules/std-tabs-layout.orb +17 -17
  446. package/dist/behaviors/registry/core/organisms/std-generic-app.orb +554 -554
  447. package/dist/behaviors/registry/factory-signatures.json +20759 -67
  448. package/dist/behaviors/registry/game/atoms/std-collision.orb +140 -140
  449. package/dist/behaviors/registry/game/atoms/std-combat.orb +50 -50
  450. package/dist/behaviors/registry/game/atoms/std-dialogue-box.orb +22 -22
  451. package/dist/behaviors/registry/game/atoms/std-game-canvas2d.orb +38 -38
  452. package/dist/behaviors/registry/game/atoms/std-gameflow.orb +31 -31
  453. package/dist/behaviors/registry/game/atoms/std-movement.orb +285 -285
  454. package/dist/behaviors/registry/game/atoms/std-overworld.orb +77 -77
  455. package/dist/behaviors/registry/game/atoms/std-physics2d.orb +73 -73
  456. package/dist/behaviors/registry/game/atoms/std-quest.orb +132 -132
  457. package/dist/behaviors/registry/game/atoms/std-timer.orb +294 -294
  458. package/dist/behaviors/registry/game/organisms/std-arcade-game.orb +156 -156
  459. package/dist/behaviors/registry/game/organisms/std-logic-training.orb +78 -78
  460. package/dist/behaviors/registry/game/organisms/std-platformer-app.orb +273 -260
  461. package/dist/behaviors/registry/game/organisms/std-puzzle-app.orb +100 -100
  462. package/dist/behaviors/registry/game/organisms/std-rpg-game.orb +365 -365
  463. package/dist/behaviors/registry/game/organisms/std-stem-lab.orb +376 -376
  464. package/dist/behaviors/registry/game/organisms/std-strategy-game.orb +561 -561
  465. package/dist/behaviors/registry/probes/molecules/std-source-scope-probe.orb +26 -26
  466. package/dist/behaviors/registry/service/atoms/std-service-calendar-ical.orb +59 -59
  467. package/dist/behaviors/registry/service/atoms/std-service-custom-bearer.orb +68 -68
  468. package/dist/behaviors/registry/service/atoms/std-service-email.orb +75 -75
  469. package/dist/behaviors/registry/service/atoms/std-service-github.orb +71 -71
  470. package/dist/behaviors/registry/service/atoms/std-service-llm.orb +65 -65
  471. package/dist/behaviors/registry/service/atoms/std-service-maps.orb +89 -89
  472. package/dist/behaviors/registry/service/atoms/std-service-oauth.orb +52 -52
  473. package/dist/behaviors/registry/service/atoms/std-service-print.orb +115 -115
  474. package/dist/behaviors/registry/service/atoms/std-service-redis.orb +71 -71
  475. package/dist/behaviors/registry/service/atoms/std-service-storage.orb +54 -54
  476. package/dist/behaviors/registry/service/atoms/std-service-stripe.orb +104 -104
  477. package/dist/behaviors/registry/service/atoms/std-service-twilio.orb +61 -61
  478. package/dist/behaviors/registry/service/atoms/std-service-youtube.orb +56 -56
  479. package/dist/behaviors/registry/service/organisms/std-service-marketplace.orb +1015 -1015
  480. package/dist/behaviors/registry/service/organisms/std-service-research-assistant.orb +910 -910
  481. package/dist/behaviors/registry/variations/chrome/std-app-layout-bottomnav.orb +7 -7
  482. package/dist/behaviors/registry/variations/chrome/std-app-layout-minimal.orb +5 -5
  483. package/dist/behaviors/registry/variations/chrome/std-app-layout-topnav.orb +9 -9
  484. package/dist/behaviors/registry/variations/views/std-stats-sparkline.orb +14 -14
  485. package/dist/registry/agent/atoms/std-agent-activity-log.orb +77 -77
  486. package/dist/registry/agent/atoms/std-agent-chat-thread.orb +105 -105
  487. package/dist/registry/agent/atoms/std-agent-classifier.orb +102 -102
  488. package/dist/registry/agent/atoms/std-agent-completion.orb +111 -111
  489. package/dist/registry/agent/atoms/std-agent-context-window.orb +375 -375
  490. package/dist/registry/agent/atoms/std-agent-conversation.orb +94 -94
  491. package/dist/registry/agent/atoms/std-agent-memory.orb +79 -79
  492. package/dist/registry/agent/atoms/std-agent-provider.orb +125 -125
  493. package/dist/registry/agent/atoms/std-agent-search.orb +63 -63
  494. package/dist/registry/agent/atoms/std-agent-session.orb +106 -106
  495. package/dist/registry/agent/atoms/std-agent-step-progress.orb +202 -202
  496. package/dist/registry/agent/atoms/std-agent-token-gauge.orb +350 -350
  497. package/dist/registry/agent/atoms/std-agent-tool-call.orb +58 -58
  498. package/dist/registry/agent/molecules/std-agent-fix-loop.orb +193 -193
  499. package/dist/registry/agent/molecules/std-agent-learner.orb +173 -173
  500. package/dist/registry/agent/molecules/std-agent-planner.orb +136 -136
  501. package/dist/registry/agent/molecules/std-agent-rag.orb +118 -118
  502. package/dist/registry/agent/molecules/std-agent-tool-loop.orb +186 -186
  503. package/dist/registry/agent/organisms/std-agent-assistant.orb +1088 -1088
  504. package/dist/registry/agent/organisms/std-agent-builder.orb +3046 -3046
  505. package/dist/registry/agent/organisms/std-agent-pipeline.orb +2089 -2089
  506. package/dist/registry/agent/organisms/std-agent-reviewer.orb +926 -926
  507. package/dist/registry/agent/organisms/std-agent-tutor.orb +760 -760
  508. package/dist/registry/app/atoms/std-ap-bill.orb +126 -126
  509. package/dist/registry/app/atoms/std-applicant.orb +124 -124
  510. package/dist/registry/app/atoms/std-application.orb +136 -136
  511. package/dist/registry/app/atoms/std-approval-request.orb +206 -206
  512. package/dist/registry/app/atoms/std-campaign-goal.orb +124 -124
  513. package/dist/registry/app/atoms/std-change-order.orb +168 -168
  514. package/dist/registry/app/atoms/std-chart-of-accounts.orb +120 -120
  515. package/dist/registry/app/atoms/std-checkin.orb +146 -146
  516. package/dist/registry/app/atoms/std-checkout-terminal.orb +129 -129
  517. package/dist/registry/app/atoms/std-class-roster.orb +104 -104
  518. package/dist/registry/app/atoms/std-class-session.orb +128 -128
  519. package/dist/registry/app/atoms/std-court-deadline.orb +152 -152
  520. package/dist/registry/app/atoms/std-customer-account.orb +148 -148
  521. package/dist/registry/app/atoms/std-donation-receipt.orb +139 -139
  522. package/dist/registry/app/atoms/std-donor.orb +135 -135
  523. package/dist/registry/app/atoms/std-drip-sequence.orb +122 -122
  524. package/dist/registry/app/atoms/std-driver.orb +144 -144
  525. package/dist/registry/app/atoms/std-dunning.orb +183 -183
  526. package/dist/registry/app/atoms/std-email-broadcast.orb +128 -128
  527. package/dist/registry/app/atoms/std-event.orb +149 -149
  528. package/dist/registry/app/atoms/std-form-builder.orb +168 -168
  529. package/dist/registry/app/atoms/std-health-score.orb +150 -150
  530. package/dist/registry/app/atoms/std-help-article.orb +129 -129
  531. package/dist/registry/app/atoms/std-help-category.orb +141 -141
  532. package/dist/registry/app/atoms/std-interview-slot.orb +142 -142
  533. package/dist/registry/app/atoms/std-invoice.orb +168 -168
  534. package/dist/registry/app/atoms/std-kitchen-display.orb +152 -152
  535. package/dist/registry/app/atoms/std-lease.orb +136 -136
  536. package/dist/registry/app/atoms/std-ledger-entry.orb +134 -134
  537. package/dist/registry/app/atoms/std-maintenance-request.orb +156 -156
  538. package/dist/registry/app/atoms/std-matter.orb +129 -129
  539. package/dist/registry/app/atoms/std-membership.orb +132 -132
  540. package/dist/registry/app/atoms/std-menu.orb +158 -158
  541. package/dist/registry/app/atoms/std-modifier-group.orb +126 -126
  542. package/dist/registry/app/atoms/std-nps-survey.orb +120 -120
  543. package/dist/registry/app/atoms/std-offer-letter.orb +130 -130
  544. package/dist/registry/app/atoms/std-payout-ledger.orb +141 -141
  545. package/dist/registry/app/atoms/std-question-bank.orb +123 -123
  546. package/dist/registry/app/atoms/std-receipt.orb +157 -157
  547. package/dist/registry/app/atoms/std-recurring-charge.orb +137 -137
  548. package/dist/registry/app/atoms/std-renewal-risk.orb +152 -152
  549. package/dist/registry/app/atoms/std-rent-charge.orb +152 -152
  550. package/dist/registry/app/atoms/std-reorder-rule.orb +139 -139
  551. package/dist/registry/app/atoms/std-response-collector.orb +142 -142
  552. package/dist/registry/app/atoms/std-rfi.orb +153 -153
  553. package/dist/registry/app/atoms/std-route-optimize.orb +114 -114
  554. package/dist/registry/app/atoms/std-segment.orb +119 -119
  555. package/dist/registry/app/atoms/std-stock-level.orb +136 -136
  556. package/dist/registry/app/atoms/std-submittal.orb +165 -165
  557. package/dist/registry/app/atoms/std-table-map.orb +67 -67
  558. package/dist/registry/app/atoms/std-technician-dispatch.orb +134 -134
  559. package/dist/registry/app/atoms/std-telematics-event.orb +111 -111
  560. package/dist/registry/app/atoms/std-template-editor.orb +157 -157
  561. package/dist/registry/app/atoms/std-tenant.orb +127 -127
  562. package/dist/registry/app/atoms/std-ticket-tier.orb +178 -178
  563. package/dist/registry/app/atoms/std-time-entry.orb +136 -136
  564. package/dist/registry/app/atoms/std-timesheet.orb +174 -174
  565. package/dist/registry/app/atoms/std-trial.orb +147 -147
  566. package/dist/registry/app/atoms/std-vehicle.orb +147 -147
  567. package/dist/registry/app/atoms/std-vendor-onboarding.orb +232 -232
  568. package/dist/registry/app/atoms/std-waitlist.orb +142 -142
  569. package/dist/registry/app/atoms/std-warehouse.orb +82 -82
  570. package/dist/registry/app/atoms/std-work-order.orb +160 -160
  571. package/dist/registry/app/molecules/std-applicant-form.orb +65 -65
  572. package/dist/registry/app/molecules/std-approval-chain.orb +5 -5
  573. package/dist/registry/app/molecules/std-broadcast-builder.orb +59 -59
  574. package/dist/registry/app/molecules/std-cart.orb +45 -45
  575. package/dist/registry/app/molecules/std-ledger-entry-form.orb +159 -159
  576. package/dist/registry/app/molecules/std-multi-party-transaction.orb +12 -12
  577. package/dist/registry/app/molecules/std-pipeline.orb +20 -20
  578. package/dist/registry/app/molecules/std-recurring-schedule.orb +2 -2
  579. package/dist/registry/app/molecules/std-stock-adjustment.orb +111 -111
  580. package/dist/registry/app/molecules/std-timeline.orb +6 -6
  581. package/dist/registry/app/molecules/std-wizard-branching.orb +15 -15
  582. package/dist/registry/app/organisms/std-accounting.orb +91 -91
  583. package/dist/registry/app/organisms/std-api-gateway.orb +175 -175
  584. package/dist/registry/app/organisms/std-ats-recruiting.orb +132 -132
  585. package/dist/registry/app/organisms/std-booking-system.orb +686 -681
  586. package/dist/registry/app/organisms/std-cicd-pipeline.orb +277 -277
  587. package/dist/registry/app/organisms/std-cms.orb +271 -271
  588. package/dist/registry/app/organisms/std-coding-academy.orb +204 -204
  589. package/dist/registry/app/organisms/std-construction-pm.orb +129 -129
  590. package/dist/registry/app/organisms/std-crm.orb +270 -270
  591. package/dist/registry/app/organisms/std-customer-success.orb +91 -91
  592. package/dist/registry/app/organisms/std-devops-dashboard.orb +404 -404
  593. package/dist/registry/app/organisms/std-document-mgmt.orb +85 -85
  594. package/dist/registry/app/organisms/std-ecommerce.orb +705 -705
  595. package/dist/registry/app/organisms/std-embedded-dashboard.orb +151 -151
  596. package/dist/registry/app/organisms/std-event-ticketing.orb +213 -213
  597. package/dist/registry/app/organisms/std-field-service.orb +200 -200
  598. package/dist/registry/app/organisms/std-finance-tracker.orb +204 -204
  599. package/dist/registry/app/organisms/std-fitness-studio.orb +162 -162
  600. package/dist/registry/app/organisms/std-fleet-mgmt.orb +157 -157
  601. package/dist/registry/app/organisms/std-forum.orb +144 -144
  602. package/dist/registry/app/organisms/std-healthcare.orb +537 -537
  603. package/dist/registry/app/organisms/std-helpdesk.orb +182 -182
  604. package/dist/registry/app/organisms/std-hr-portal.orb +464 -464
  605. package/dist/registry/app/organisms/std-inventory.orb +186 -186
  606. package/dist/registry/app/organisms/std-iot-dashboard.orb +361 -361
  607. package/dist/registry/app/organisms/std-legal-case.orb +169 -169
  608. package/dist/registry/app/organisms/std-listings.orb +151 -151
  609. package/dist/registry/app/organisms/std-lms.orb +599 -416
  610. package/dist/registry/app/organisms/std-marketing-campaign.orb +127 -127
  611. package/dist/registry/app/organisms/std-marketplace.orb +224 -224
  612. package/dist/registry/app/organisms/std-nonprofit-donations.orb +111 -111
  613. package/dist/registry/app/organisms/std-notes.orb +111 -111
  614. package/dist/registry/app/organisms/std-project-manager.orb +222 -222
  615. package/dist/registry/app/organisms/std-property-mgmt.orb +182 -182
  616. package/dist/registry/app/organisms/std-public-help-center.orb +134 -134
  617. package/dist/registry/app/organisms/std-realtime-chat.orb +253 -253
  618. package/dist/registry/app/organisms/std-restaurant-pos.orb +134 -134
  619. package/dist/registry/app/organisms/std-retail-pos.orb +140 -140
  620. package/dist/registry/app/organisms/std-social-feed.orb +145 -145
  621. package/dist/registry/app/organisms/std-subscription-billing.orb +172 -172
  622. package/dist/registry/app/organisms/std-survey.orb +131 -131
  623. package/dist/registry/app/organisms/std-time-tracking.orb +180 -180
  624. package/dist/registry/app/organisms/std-trading-dashboard.orb +272 -272
  625. package/dist/registry/app/organisms/std-wiki.orb +120 -120
  626. package/dist/registry/core/atoms/std-app-layout.orb +44 -44
  627. package/dist/registry/core/atoms/std-audit-capture.orb +17 -17
  628. package/dist/registry/core/atoms/std-billable-hour.orb +126 -126
  629. package/dist/registry/core/atoms/std-board.orb +220 -208
  630. package/dist/registry/core/atoms/std-branching-logic.orb +110 -110
  631. package/dist/registry/core/atoms/std-browse.orb +69 -69
  632. package/dist/registry/core/atoms/std-cache-aside.orb +83 -83
  633. package/dist/registry/core/atoms/std-calendar.orb +53 -53
  634. package/dist/registry/core/atoms/std-cascade-on-delete.orb +12 -12
  635. package/dist/registry/core/atoms/std-circuit-breaker.orb +175 -175
  636. package/dist/registry/core/atoms/std-confirmation.orb +30 -30
  637. package/dist/registry/core/atoms/std-cross-reference.orb +14 -14
  638. package/dist/registry/core/atoms/std-dashboard-grid-embedded.orb +72 -72
  639. package/dist/registry/core/atoms/std-dashboard-grid-layout.orb +98 -98
  640. package/dist/registry/core/atoms/std-date-range.orb +23 -23
  641. package/dist/registry/core/atoms/std-display.orb +3 -3
  642. package/dist/registry/core/atoms/std-drawer.orb +12 -12
  643. package/dist/registry/core/atoms/std-esign-request.orb +29 -29
  644. package/dist/registry/core/atoms/std-event-log.orb +193 -178
  645. package/dist/registry/core/atoms/std-export.orb +48 -42
  646. package/dist/registry/core/atoms/std-file-store.orb +131 -131
  647. package/dist/registry/core/atoms/std-filter.orb +10 -10
  648. package/dist/registry/core/atoms/std-flag.orb +87 -87
  649. package/dist/registry/core/atoms/std-form-advanced.orb +48 -48
  650. package/dist/registry/core/atoms/std-gallery.orb +35 -35
  651. package/dist/registry/core/atoms/std-geosearch.orb +29 -29
  652. package/dist/registry/core/atoms/std-graphs.orb +162 -154
  653. package/dist/registry/core/atoms/std-image-upload-multi.orb +64 -64
  654. package/dist/registry/core/atoms/std-mod-queue.orb +56 -56
  655. package/dist/registry/core/atoms/std-modal.orb +30 -30
  656. package/dist/registry/core/atoms/std-multi-party-flow.orb +557 -545
  657. package/dist/registry/core/atoms/std-notify-on-event.orb +11 -11
  658. package/dist/registry/core/atoms/std-page-tree.orb +126 -126
  659. package/dist/registry/core/atoms/std-pagination.orb +18 -18
  660. package/dist/registry/core/atoms/std-push.orb +49 -49
  661. package/dist/registry/core/atoms/std-rate-limiter.orb +181 -181
  662. package/dist/registry/core/atoms/std-rating-review.orb +587 -571
  663. package/dist/registry/core/atoms/std-recurrence.orb +150 -144
  664. package/dist/registry/core/atoms/std-related.orb +29 -29
  665. package/dist/registry/core/atoms/std-rich-editor.orb +113 -113
  666. package/dist/registry/core/atoms/std-row-access-control.orb +6 -6
  667. package/dist/registry/core/atoms/std-saved-search.orb +74 -74
  668. package/dist/registry/core/atoms/std-scatter.orb +75 -70
  669. package/dist/registry/core/atoms/std-search.orb +4 -4
  670. package/dist/registry/core/atoms/std-selection.orb +104 -104
  671. package/dist/registry/core/atoms/std-signature-capture.orb +96 -96
  672. package/dist/registry/core/atoms/std-stack-layout.orb +11 -11
  673. package/dist/registry/core/atoms/std-stats.orb +258 -228
  674. package/dist/registry/core/atoms/std-step-flow.orb +201 -198
  675. package/dist/registry/core/atoms/std-tabs.orb +45 -40
  676. package/dist/registry/core/atoms/std-tag-taxonomy.orb +71 -71
  677. package/dist/registry/core/atoms/std-thread.orb +62 -62
  678. package/dist/registry/core/atoms/std-version-history.orb +157 -157
  679. package/dist/registry/core/atoms/std-vote.orb +34 -34
  680. package/dist/registry/core/atoms/std-wizard-form.orb +167 -167
  681. package/dist/registry/core/atoms/std-wizard.orb +180 -177
  682. package/dist/registry/core/molecules/std-dashboard.orb +47 -47
  683. package/dist/registry/core/molecules/std-esign-flow.orb +96 -96
  684. package/dist/registry/core/molecules/std-filtered-list.orb +20 -20
  685. package/dist/registry/core/molecules/std-list.orb +65 -65
  686. package/dist/registry/core/molecules/std-master-detail-layout.orb +14 -14
  687. package/dist/registry/core/molecules/std-tabs-layout.orb +17 -17
  688. package/dist/registry/core/organisms/std-generic-app.orb +554 -554
  689. package/dist/registry/factory-signatures.json +20759 -67
  690. package/dist/registry/game/atoms/std-collision.orb +140 -140
  691. package/dist/registry/game/atoms/std-combat.orb +50 -50
  692. package/dist/registry/game/atoms/std-dialogue-box.orb +22 -22
  693. package/dist/registry/game/atoms/std-game-canvas2d.orb +38 -38
  694. package/dist/registry/game/atoms/std-gameflow.orb +31 -31
  695. package/dist/registry/game/atoms/std-movement.orb +285 -285
  696. package/dist/registry/game/atoms/std-overworld.orb +77 -77
  697. package/dist/registry/game/atoms/std-physics2d.orb +73 -73
  698. package/dist/registry/game/atoms/std-quest.orb +132 -132
  699. package/dist/registry/game/atoms/std-timer.orb +294 -294
  700. package/dist/registry/game/organisms/std-arcade-game.orb +156 -156
  701. package/dist/registry/game/organisms/std-logic-training.orb +78 -78
  702. package/dist/registry/game/organisms/std-platformer-app.orb +273 -260
  703. package/dist/registry/game/organisms/std-puzzle-app.orb +100 -100
  704. package/dist/registry/game/organisms/std-rpg-game.orb +365 -365
  705. package/dist/registry/game/organisms/std-stem-lab.orb +376 -376
  706. package/dist/registry/game/organisms/std-strategy-game.orb +561 -561
  707. package/dist/registry/probes/molecules/std-source-scope-probe.orb +26 -26
  708. package/dist/registry/service/atoms/std-service-calendar-ical.orb +59 -59
  709. package/dist/registry/service/atoms/std-service-custom-bearer.orb +68 -68
  710. package/dist/registry/service/atoms/std-service-email.orb +75 -75
  711. package/dist/registry/service/atoms/std-service-github.orb +71 -71
  712. package/dist/registry/service/atoms/std-service-llm.orb +65 -65
  713. package/dist/registry/service/atoms/std-service-maps.orb +89 -89
  714. package/dist/registry/service/atoms/std-service-oauth.orb +52 -52
  715. package/dist/registry/service/atoms/std-service-print.orb +115 -115
  716. package/dist/registry/service/atoms/std-service-redis.orb +71 -71
  717. package/dist/registry/service/atoms/std-service-storage.orb +54 -54
  718. package/dist/registry/service/atoms/std-service-stripe.orb +104 -104
  719. package/dist/registry/service/atoms/std-service-twilio.orb +61 -61
  720. package/dist/registry/service/atoms/std-service-youtube.orb +56 -56
  721. package/dist/registry/service/organisms/std-service-marketplace.orb +1015 -1015
  722. package/dist/registry/service/organisms/std-service-research-assistant.orb +910 -910
  723. package/dist/registry/variations/chrome/std-app-layout-bottomnav.orb +7 -7
  724. package/dist/registry/variations/chrome/std-app-layout-minimal.orb +5 -5
  725. package/dist/registry/variations/chrome/std-app-layout-topnav.orb +9 -9
  726. package/dist/registry/variations/views/std-stats-sparkline.orb +14 -14
  727. package/package.json +1 -1
@@ -86,10 +86,6 @@
86
86
  "ref": "AppShell.traits.AppLayout",
87
87
  "name": "BookingProviderAppLayout",
88
88
  "config": {
89
- "notificationClickEvent": "BOOKING_NOTIFICATIONS_OPEN",
90
- "appName": "BookingSystemApp",
91
- "notifications": [],
92
- "searchEvent": "BOOKING_SEARCH",
93
89
  "contentTrait": "@trait.ProviderCatalog",
94
90
  "navItems": [
95
91
  {
@@ -103,20 +99,24 @@
103
99
  "icon": "calendar-plus"
104
100
  },
105
101
  {
102
+ "href": "/appointments",
106
103
  "label": "Appointments",
107
- "icon": "calendar",
108
- "href": "/appointments"
104
+ "icon": "calendar"
109
105
  },
110
106
  {
107
+ "icon": "clock",
111
108
  "label": "Schedule",
112
- "href": "/schedule",
113
- "icon": "clock"
109
+ "href": "/schedule"
114
110
  }
115
- ]
111
+ ],
112
+ "appName": "BookingSystemApp",
113
+ "notifications": [],
114
+ "searchEvent": "BOOKING_SEARCH",
115
+ "notificationClickEvent": "BOOKING_NOTIFICATIONS_OPEN"
116
116
  },
117
117
  "events": {
118
- "SEARCH": "BOOKING_SEARCH",
119
- "NOTIFY_CLICK": "BOOKING_NOTIFICATIONS_OPEN"
118
+ "NOTIFY_CLICK": "BOOKING_NOTIFICATIONS_OPEN",
119
+ "SEARCH": "BOOKING_SEARCH"
120
120
  }
121
121
  },
122
122
  {
@@ -199,58 +199,57 @@
199
199
  "render-ui",
200
200
  "main",
201
201
  {
202
- "type": "stack",
203
- "gap": "lg",
204
202
  "direction": "vertical",
203
+ "gap": "lg",
205
204
  "children": [
206
205
  {
206
+ "justify": "between",
207
207
  "align": "center",
208
208
  "gap": "md",
209
209
  "children": [
210
210
  {
211
+ "align": "center",
211
212
  "direction": "horizontal",
213
+ "gap": "sm",
214
+ "type": "stack",
212
215
  "children": [
213
216
  {
214
- "name": "user",
215
- "type": "icon"
217
+ "type": "icon",
218
+ "name": "user"
216
219
  },
217
220
  {
218
221
  "content": "Providers",
219
222
  "type": "typography",
220
223
  "variant": "h2"
221
224
  }
222
- ],
223
- "gap": "sm",
224
- "type": "stack",
225
- "align": "center"
225
+ ]
226
226
  },
227
227
  {
228
- "gap": "sm",
229
- "type": "stack",
230
228
  "direction": "horizontal",
229
+ "type": "stack",
230
+ "gap": "sm",
231
231
  "children": [
232
232
  {
233
+ "icon": "plus",
233
234
  "action": "CREATE",
234
- "type": "button",
235
- "label": "Add Provider",
236
235
  "variant": "primary",
237
- "icon": "plus"
236
+ "type": "button",
237
+ "label": "Add Provider"
238
238
  }
239
239
  ]
240
240
  }
241
241
  ],
242
- "justify": "between",
243
- "type": "stack",
244
- "direction": "horizontal"
242
+ "direction": "horizontal",
243
+ "type": "stack"
245
244
  },
246
245
  {
246
+ "direction": "horizontal",
247
+ "type": "stack",
248
+ "align": "center",
247
249
  "children": [
248
250
  "@trait.ProviderSearch",
249
251
  "@trait.ProviderFilter"
250
252
  ],
251
- "align": "center",
252
- "type": "stack",
253
- "direction": "horizontal",
254
253
  "gap": "md"
255
254
  },
256
255
  {
@@ -262,7 +261,8 @@
262
261
  "type": "divider"
263
262
  },
264
263
  "@trait.ProviderBrowseList"
265
- ]
264
+ ],
265
+ "type": "stack"
266
266
  }
267
267
  ]
268
268
  ]
@@ -281,25 +281,26 @@
281
281
  "render-ui",
282
282
  "main",
283
283
  {
284
+ "direction": "vertical",
285
+ "className": "py-8",
284
286
  "gap": "md",
287
+ "type": "stack",
285
288
  "align": "center",
286
- "className": "py-8",
287
- "direction": "vertical",
288
289
  "children": [
289
290
  {
290
291
  "type": "icon",
291
292
  "name": "bell"
292
293
  },
293
294
  {
294
- "content": "No notifications",
295
+ "variant": "h3",
295
296
  "type": "typography",
296
- "variant": "h3"
297
+ "content": "No notifications"
297
298
  },
298
299
  {
299
- "content": "You're all caught up.",
300
- "color": "muted",
301
300
  "type": "typography",
302
- "variant": "caption"
301
+ "content": "You're all caught up.",
302
+ "variant": "caption",
303
+ "color": "muted"
303
304
  },
304
305
  {
305
306
  "label": "Back to providers",
@@ -307,8 +308,7 @@
307
308
  "action": "INIT",
308
309
  "variant": "ghost"
309
310
  }
310
- ],
311
- "type": "stack"
311
+ ]
312
312
  }
313
313
  ]
314
314
  ]
@@ -321,36 +321,41 @@
321
321
  "ref": "Search.traits.SearchResultSearch",
322
322
  "name": "ProviderSearch",
323
323
  "config": {
324
- "event": "SEARCH",
325
- "placeholder": "Search providers…"
324
+ "placeholder": "Search providers…",
325
+ "event": "SEARCH"
326
326
  }
327
327
  },
328
328
  {
329
329
  "ref": "Filter.traits.FilterTargetFilter",
330
330
  "name": "ProviderFilter",
331
331
  "config": {
332
+ "event": "FILTER",
332
333
  "filters": [
333
334
  {
334
- "filterType": "select",
335
- "field": "specialty",
336
- "label": "Specialty",
337
335
  "options": [
338
336
  "general",
339
337
  "dental",
340
338
  "dermatology",
341
339
  "cardiology",
342
340
  "psychiatry"
343
- ]
341
+ ],
342
+ "label": "Specialty",
343
+ "filterType": "select",
344
+ "field": "specialty"
344
345
  },
345
346
  {
346
- "filterType": "range",
347
- "label": "Rating",
348
- "max": 5.0,
349
347
  "field": "rating",
350
- "min": 0.0
348
+ "options": [
349
+ "1",
350
+ "2",
351
+ "3",
352
+ "4",
353
+ "5"
354
+ ],
355
+ "filterType": "select",
356
+ "label": "Rating"
351
357
  }
352
- ],
353
- "event": "FILTER"
358
+ ]
354
359
  }
355
360
  },
356
361
  {
@@ -360,37 +365,37 @@
360
365
  "title": "Provider Overview",
361
366
  "metrics": [
362
367
  {
363
- "variant": "primary",
364
- "icon": "users",
365
368
  "aggregation": "count",
366
369
  "format": "number",
370
+ "variant": "primary",
371
+ "icon": "users",
367
372
  "label": "Total Providers"
368
373
  },
369
374
  {
375
+ "format": "number",
376
+ "aggregation": "count",
370
377
  "filter": {
371
378
  "available": true
372
379
  },
373
380
  "label": "Active",
374
381
  "icon": "check-circle",
375
- "aggregation": "count",
376
- "format": "number",
377
382
  "variant": "success"
378
383
  },
379
384
  {
380
- "icon": "star",
381
- "field": "rating",
382
- "aggregation": "avg",
383
- "variant": "info",
384
385
  "format": "number",
385
- "label": "Avg Rating"
386
+ "aggregation": "avg",
387
+ "field": "rating",
388
+ "label": "Avg Rating",
389
+ "icon": "star",
390
+ "variant": "info"
386
391
  },
387
392
  {
388
- "aggregation": "avg",
389
- "format": "currency",
390
- "variant": "info",
391
- "label": "Avg Hourly Rate",
392
393
  "icon": "dollar-sign",
393
- "field": "hourlyRate"
394
+ "field": "hourlyRate",
395
+ "label": "Avg Hourly Rate",
396
+ "variant": "info",
397
+ "format": "currency",
398
+ "aggregation": "avg"
394
399
  }
395
400
  ]
396
401
  },
@@ -409,11 +414,11 @@
409
414
  "ref": "Graphs.traits.GraphItemGraph",
410
415
  "name": "ProviderGraphs",
411
416
  "config": {
412
- "chartType": "pie",
417
+ "aggregation": "count",
418
+ "subtitle": "Distribution across specialties",
413
419
  "categoryField": "specialty",
414
420
  "title": "Providers by Specialty",
415
- "aggregation": "count",
416
- "subtitle": "Distribution across specialties"
421
+ "chartType": "pie"
417
422
  },
418
423
  "listens": [
419
424
  {
@@ -431,39 +436,41 @@
431
436
  "name": "ProviderBrowseList",
432
437
  "linkedEntity": "Provider",
433
438
  "config": {
439
+ "cols": 2.0,
440
+ "gap": "md",
434
441
  "fields": [
435
442
  {
436
443
  "icon": "user",
437
- "name": "name",
438
- "variant": "h3"
444
+ "variant": "h3",
445
+ "name": "name"
439
446
  },
440
447
  {
441
- "name": "specialty",
442
- "variant": "badge"
448
+ "variant": "badge",
449
+ "name": "specialty"
443
450
  },
444
451
  {
452
+ "format": "number",
445
453
  "name": "rating",
446
- "variant": "body",
447
- "format": "number"
454
+ "variant": "body"
448
455
  },
449
456
  {
450
- "variant": "h4",
451
- "format": "currency",
452
457
  "label": "Hourly Rate",
458
+ "format": "currency",
459
+ "variant": "h4",
453
460
  "name": "hourlyRate"
454
461
  },
455
462
  {
456
- "format": "boolean",
457
- "name": "available",
458
463
  "variant": "body",
459
- "label": "Availability"
464
+ "label": "Availability",
465
+ "format": "boolean",
466
+ "name": "available"
460
467
  }
461
468
  ],
462
469
  "itemActions": [
463
470
  {
464
- "variant": "ghost",
465
471
  "label": "View",
466
- "event": "VIEW"
472
+ "event": "VIEW",
473
+ "variant": "ghost"
467
474
  },
468
475
  {
469
476
  "label": "Edit",
@@ -471,13 +478,11 @@
471
478
  "variant": "ghost"
472
479
  },
473
480
  {
481
+ "label": "Delete",
474
482
  "event": "DELETE",
475
- "variant": "danger",
476
- "label": "Delete"
483
+ "variant": "danger"
477
484
  }
478
- ],
479
- "cols": 2.0,
480
- "gap": "md"
485
+ ]
481
486
  },
482
487
  "listens": [
483
488
  {
@@ -713,8 +718,8 @@
713
718
  "Provider",
714
719
  {
715
720
  "emit": {
716
- "success": "ProviderLoaded",
717
- "failure": "ProviderLoadFailed"
721
+ "failure": "ProviderLoadFailed",
722
+ "success": "ProviderLoaded"
718
723
  }
719
724
  }
720
725
  ],
@@ -722,31 +727,28 @@
722
727
  "render-ui",
723
728
  "modal",
724
729
  {
725
- "gap": "md",
726
730
  "direction": "vertical",
727
731
  "children": [
728
732
  {
729
- "gap": "sm",
730
- "type": "stack",
731
733
  "children": [
732
734
  {
733
735
  "type": "icon",
734
736
  "name": "plus-circle"
735
737
  },
736
738
  {
737
- "variant": "h3",
738
739
  "content": "Add Provider",
740
+ "variant": "h3",
739
741
  "type": "typography"
740
742
  }
741
743
  ],
742
- "direction": "horizontal"
744
+ "gap": "sm",
745
+ "direction": "horizontal",
746
+ "type": "stack"
743
747
  },
744
748
  {
745
749
  "type": "divider"
746
750
  },
747
751
  {
748
- "cancelEvent": "CLOSE",
749
- "type": "form-section",
750
752
  "fields": [
751
753
  "name",
752
754
  "specialty",
@@ -757,10 +759,13 @@
757
759
  "available"
758
760
  ],
759
761
  "mode": "create",
760
- "submitEvent": "SAVE"
762
+ "type": "form-section",
763
+ "submitEvent": "SAVE",
764
+ "cancelEvent": "CLOSE"
761
765
  }
762
766
  ],
763
- "type": "stack"
767
+ "type": "stack",
768
+ "gap": "md"
764
769
  }
765
770
  ]
766
771
  ]
@@ -1039,8 +1044,8 @@
1039
1044
  {
1040
1045
  "id": "@payload.id",
1041
1046
  "emit": {
1042
- "success": "ProviderLoaded",
1043
- "failure": "ProviderLoadFailed"
1047
+ "failure": "ProviderLoadFailed",
1048
+ "success": "ProviderLoaded"
1044
1049
  }
1045
1050
  }
1046
1051
  ],
@@ -1048,29 +1053,31 @@
1048
1053
  "render-ui",
1049
1054
  "modal",
1050
1055
  {
1056
+ "direction": "vertical",
1051
1057
  "type": "stack",
1052
1058
  "children": [
1053
1059
  {
1054
- "gap": "sm",
1060
+ "direction": "horizontal",
1055
1061
  "type": "stack",
1062
+ "gap": "sm",
1056
1063
  "children": [
1057
1064
  {
1058
- "name": "edit",
1059
- "type": "icon"
1065
+ "type": "icon",
1066
+ "name": "edit"
1060
1067
  },
1061
1068
  {
1069
+ "type": "typography",
1062
1070
  "content": "Edit Provider",
1063
- "variant": "h3",
1064
- "type": "typography"
1071
+ "variant": "h3"
1065
1072
  }
1066
- ],
1067
- "direction": "horizontal"
1073
+ ]
1068
1074
  },
1069
1075
  {
1070
1076
  "type": "divider"
1071
1077
  },
1072
1078
  {
1073
- "mode": "edit",
1079
+ "submitEvent": "SAVE",
1080
+ "entity": "@payload.row",
1074
1081
  "cancelEvent": "CLOSE",
1075
1082
  "fields": [
1076
1083
  "name",
@@ -1082,12 +1089,10 @@
1082
1089
  "available"
1083
1090
  ],
1084
1091
  "type": "form-section",
1085
- "entity": "@payload.row",
1086
- "submitEvent": "SAVE"
1092
+ "mode": "edit"
1087
1093
  }
1088
1094
  ],
1089
- "gap": "md",
1090
- "direction": "vertical"
1095
+ "gap": "md"
1091
1096
  }
1092
1097
  ]
1093
1098
  ]
@@ -1128,8 +1133,8 @@
1128
1133
  "@payload.data",
1129
1134
  {
1130
1135
  "emit": {
1131
- "failure": "ProviderUpdateFailed",
1132
- "success": "ProviderUpdated"
1136
+ "success": "ProviderUpdated",
1137
+ "failure": "ProviderUpdateFailed"
1133
1138
  }
1134
1139
  }
1135
1140
  ],
@@ -1349,116 +1354,118 @@
1349
1354
  "render-ui",
1350
1355
  "modal",
1351
1356
  {
1352
- "gap": "md",
1357
+ "direction": "vertical",
1358
+ "type": "stack",
1353
1359
  "children": [
1354
1360
  {
1355
- "type": "stack",
1356
1361
  "direction": "horizontal",
1357
- "gap": "sm",
1358
- "align": "center",
1359
1362
  "children": [
1360
1363
  {
1361
- "name": "eye",
1362
- "type": "icon"
1364
+ "type": "icon",
1365
+ "name": "eye"
1363
1366
  },
1364
1367
  {
1365
- "content": "@entity.name",
1368
+ "type": "typography",
1366
1369
  "variant": "h3",
1367
- "type": "typography"
1370
+ "content": "@entity.name"
1368
1371
  }
1369
- ]
1372
+ ],
1373
+ "type": "stack",
1374
+ "gap": "sm",
1375
+ "align": "center"
1370
1376
  },
1371
1377
  {
1372
1378
  "type": "divider"
1373
1379
  },
1374
1380
  {
1375
- "gap": "md",
1376
1381
  "children": [
1377
1382
  {
1383
+ "type": "typography",
1378
1384
  "content": "Name",
1379
- "variant": "caption",
1380
- "type": "typography"
1385
+ "variant": "caption"
1381
1386
  },
1382
1387
  {
1383
- "variant": "body",
1384
1388
  "content": "@entity.name",
1385
- "type": "typography"
1389
+ "type": "typography",
1390
+ "variant": "body"
1386
1391
  }
1387
1392
  ],
1388
- "direction": "horizontal",
1389
- "type": "stack"
1393
+ "type": "stack",
1394
+ "gap": "md",
1395
+ "direction": "horizontal"
1390
1396
  },
1391
1397
  {
1398
+ "gap": "md",
1392
1399
  "type": "stack",
1393
1400
  "children": [
1394
1401
  {
1395
1402
  "variant": "caption",
1396
- "type": "typography",
1397
- "content": "Specialty"
1403
+ "content": "Specialty",
1404
+ "type": "typography"
1398
1405
  },
1399
1406
  {
1400
- "content": "@entity.specialty",
1407
+ "type": "typography",
1401
1408
  "variant": "body",
1402
- "type": "typography"
1409
+ "content": "@entity.specialty"
1403
1410
  }
1404
1411
  ],
1405
- "direction": "horizontal",
1406
- "gap": "md"
1412
+ "direction": "horizontal"
1407
1413
  },
1408
1414
  {
1415
+ "gap": "md",
1409
1416
  "type": "stack",
1417
+ "direction": "horizontal",
1410
1418
  "children": [
1411
1419
  {
1412
- "variant": "caption",
1413
1420
  "type": "typography",
1421
+ "variant": "caption",
1414
1422
  "content": "Location"
1415
1423
  },
1416
1424
  {
1425
+ "variant": "body",
1417
1426
  "type": "typography",
1418
- "content": "@entity.location",
1419
- "variant": "body"
1427
+ "content": "@entity.location"
1420
1428
  }
1421
- ],
1422
- "direction": "horizontal",
1423
- "gap": "md"
1429
+ ]
1424
1430
  },
1425
1431
  {
1426
1432
  "type": "stack",
1433
+ "direction": "horizontal",
1434
+ "gap": "md",
1427
1435
  "children": [
1428
1436
  {
1429
- "type": "typography",
1430
1437
  "variant": "caption",
1431
- "content": "Phone"
1438
+ "content": "Phone",
1439
+ "type": "typography"
1432
1440
  },
1433
1441
  {
1434
- "type": "typography",
1435
1442
  "content": "@entity.phone",
1436
- "variant": "body"
1443
+ "variant": "body",
1444
+ "type": "typography"
1437
1445
  }
1438
- ],
1439
- "gap": "md",
1440
- "direction": "horizontal"
1446
+ ]
1441
1447
  },
1442
1448
  {
1449
+ "type": "stack",
1450
+ "gap": "md",
1443
1451
  "children": [
1444
1452
  {
1453
+ "type": "typography",
1445
1454
  "variant": "caption",
1446
- "content": "Rating",
1447
- "type": "typography"
1455
+ "content": "Rating"
1448
1456
  },
1449
1457
  {
1458
+ "variant": "body",
1450
1459
  "type": "typography",
1451
- "content": "@entity.rating",
1452
- "variant": "body"
1460
+ "content": "@entity.rating"
1453
1461
  }
1454
1462
  ],
1455
- "type": "stack",
1456
- "gap": "md",
1457
1463
  "direction": "horizontal"
1458
1464
  },
1459
1465
  {
1460
- "gap": "md",
1466
+ "type": "stack",
1461
1467
  "direction": "horizontal",
1468
+ "gap": "md",
1462
1469
  "children": [
1463
1470
  {
1464
1471
  "variant": "caption",
@@ -1470,53 +1477,51 @@
1470
1477
  "variant": "body",
1471
1478
  "type": "typography"
1472
1479
  }
1473
- ],
1474
- "type": "stack"
1480
+ ]
1475
1481
  },
1476
1482
  {
1483
+ "type": "stack",
1477
1484
  "gap": "md",
1485
+ "direction": "horizontal",
1478
1486
  "children": [
1479
1487
  {
1480
- "variant": "caption",
1481
1488
  "type": "typography",
1482
- "content": "Available"
1489
+ "content": "Available",
1490
+ "variant": "caption"
1483
1491
  },
1484
1492
  {
1493
+ "type": "typography",
1485
1494
  "variant": "body",
1486
- "content": "@entity.available",
1487
- "type": "typography"
1495
+ "content": "@entity.available"
1488
1496
  }
1489
- ],
1490
- "type": "stack",
1491
- "direction": "horizontal"
1497
+ ]
1492
1498
  },
1493
1499
  {
1494
1500
  "type": "divider"
1495
1501
  },
1496
1502
  {
1497
1503
  "justify": "end",
1498
- "direction": "horizontal",
1499
- "type": "stack",
1500
1504
  "children": [
1501
1505
  {
1502
- "label": "Edit",
1506
+ "type": "button",
1503
1507
  "icon": "edit",
1504
- "action": "EDIT",
1505
1508
  "variant": "primary",
1506
- "type": "button"
1509
+ "label": "Edit",
1510
+ "action": "EDIT"
1507
1511
  },
1508
1512
  {
1509
- "label": "Close",
1510
1513
  "type": "button",
1514
+ "variant": "ghost",
1511
1515
  "action": "CLOSE",
1512
- "variant": "ghost"
1516
+ "label": "Close"
1513
1517
  }
1514
1518
  ],
1515
- "gap": "sm"
1519
+ "gap": "sm",
1520
+ "type": "stack",
1521
+ "direction": "horizontal"
1516
1522
  }
1517
1523
  ],
1518
- "type": "stack",
1519
- "direction": "vertical"
1524
+ "gap": "md"
1520
1525
  }
1521
1526
  ]
1522
1527
  ]
@@ -1746,8 +1751,8 @@
1746
1751
  "Provider",
1747
1752
  {
1748
1753
  "emit": {
1749
- "failure": "ProviderLoadFailed",
1750
- "success": "ProviderLoaded"
1754
+ "success": "ProviderLoaded",
1755
+ "failure": "ProviderLoadFailed"
1751
1756
  }
1752
1757
  }
1753
1758
  ]
@@ -1778,24 +1783,23 @@
1778
1783
  "render-ui",
1779
1784
  "modal",
1780
1785
  {
1781
- "gap": "md",
1782
1786
  "children": [
1783
1787
  {
1784
1788
  "gap": "sm",
1785
- "direction": "horizontal",
1786
1789
  "type": "stack",
1787
1790
  "align": "center",
1788
1791
  "children": [
1789
1792
  {
1790
- "type": "icon",
1791
- "name": "alert-triangle"
1793
+ "name": "alert-triangle",
1794
+ "type": "icon"
1792
1795
  },
1793
1796
  {
1794
- "type": "typography",
1795
1797
  "content": "Delete Provider",
1798
+ "type": "typography",
1796
1799
  "variant": "h3"
1797
1800
  }
1798
- ]
1801
+ ],
1802
+ "direction": "horizontal"
1799
1803
  },
1800
1804
  {
1801
1805
  "type": "divider"
@@ -1806,28 +1810,29 @@
1806
1810
  "message": "This action cannot be undone."
1807
1811
  },
1808
1812
  {
1809
- "gap": "sm",
1813
+ "type": "stack",
1810
1814
  "children": [
1811
1815
  {
1816
+ "variant": "ghost",
1812
1817
  "action": "CANCEL",
1813
- "label": "Cancel",
1814
1818
  "type": "button",
1815
- "variant": "ghost"
1819
+ "label": "Cancel"
1816
1820
  },
1817
1821
  {
1818
- "icon": "check",
1819
- "action": "CONFIRM_DELETE",
1820
1822
  "label": "Delete",
1823
+ "action": "CONFIRM_DELETE",
1821
1824
  "type": "button",
1822
- "variant": "danger"
1825
+ "variant": "danger",
1826
+ "icon": "check"
1823
1827
  }
1824
1828
  ],
1829
+ "direction": "horizontal",
1825
1830
  "justify": "end",
1826
- "type": "stack",
1827
- "direction": "horizontal"
1831
+ "gap": "sm"
1828
1832
  }
1829
1833
  ],
1830
1834
  "direction": "vertical",
1835
+ "gap": "md",
1831
1836
  "type": "stack"
1832
1837
  }
1833
1838
  ]
@@ -1867,8 +1872,8 @@
1867
1872
  "Provider",
1868
1873
  {
1869
1874
  "emit": {
1870
- "failure": "ProviderLoadFailed",
1871
- "success": "ProviderLoaded"
1875
+ "success": "ProviderLoaded",
1876
+ "failure": "ProviderLoadFailed"
1872
1877
  }
1873
1878
  }
1874
1879
  ],
@@ -2051,34 +2056,34 @@
2051
2056
  "name": "BookingAppLayout",
2052
2057
  "linkedEntity": "Booking",
2053
2058
  "config": {
2059
+ "notificationClickEvent": "BOOKING_NOTIFICATIONS_OPEN",
2060
+ "searchEvent": "BOOKING_SEARCH",
2054
2061
  "topBarActions": [],
2062
+ "appName": "BookingSystemApp",
2063
+ "contentTrait": "@trait.BookingWizard",
2064
+ "notifications": [],
2055
2065
  "navItems": [
2056
2066
  {
2057
- "label": "Providers",
2058
2067
  "icon": "user-check",
2068
+ "label": "Providers",
2059
2069
  "href": "/providers"
2060
2070
  },
2061
2071
  {
2072
+ "icon": "calendar-plus",
2062
2073
  "href": "/book",
2063
- "label": "Book",
2064
- "icon": "calendar-plus"
2074
+ "label": "Book"
2065
2075
  },
2066
2076
  {
2077
+ "href": "/appointments",
2067
2078
  "icon": "calendar",
2068
- "label": "Appointments",
2069
- "href": "/appointments"
2079
+ "label": "Appointments"
2070
2080
  },
2071
2081
  {
2072
- "icon": "clock",
2082
+ "href": "/schedule",
2073
2083
  "label": "Schedule",
2074
- "href": "/schedule"
2084
+ "icon": "clock"
2075
2085
  }
2076
- ],
2077
- "appName": "BookingSystemApp",
2078
- "notifications": [],
2079
- "searchEvent": "BOOKING_SEARCH",
2080
- "contentTrait": "@trait.BookingWizard",
2081
- "notificationClickEvent": "BOOKING_NOTIFICATIONS_OPEN"
2086
+ ]
2082
2087
  },
2083
2088
  "events": {
2084
2089
  "SEARCH": "BOOKING_SEARCH",
@@ -2089,10 +2094,10 @@
2089
2094
  "ref": "Stripe.traits.ServiceStripeStripe",
2090
2095
  "name": "BookingPayment",
2091
2096
  "config": {
2092
- "currency": "usd",
2093
- "amount": 0.0,
2094
2097
  "metadata": {},
2095
- "uiTrait": "@trait.BookingPaymentForm"
2098
+ "uiTrait": "@trait.BookingPaymentForm",
2099
+ "amount": 0.0,
2100
+ "currency": "usd"
2096
2101
  },
2097
2102
  "listens": [
2098
2103
  {
@@ -2147,8 +2152,8 @@
2147
2152
  "render-ui",
2148
2153
  "main",
2149
2154
  {
2150
- "direction": "vertical",
2151
2155
  "type": "stack",
2156
+ "direction": "vertical",
2152
2157
  "children": [
2153
2158
  {
2154
2159
  "type": "alert",
@@ -2156,13 +2161,14 @@
2156
2161
  "message": "Enter card details to pay your booking deposit."
2157
2162
  },
2158
2163
  {
2159
- "inputType": "text",
2160
2164
  "placeholder": "Card number",
2161
- "type": "input"
2165
+ "type": "input",
2166
+ "inputType": "text"
2162
2167
  },
2163
2168
  {
2164
2169
  "direction": "horizontal",
2165
2170
  "type": "stack",
2171
+ "gap": "sm",
2166
2172
  "children": [
2167
2173
  {
2168
2174
  "placeholder": "MM/YY",
@@ -2170,19 +2176,18 @@
2170
2176
  "inputType": "text"
2171
2177
  },
2172
2178
  {
2179
+ "placeholder": "CVC",
2173
2180
  "type": "input",
2174
- "inputType": "text",
2175
- "placeholder": "CVC"
2181
+ "inputType": "text"
2176
2182
  }
2177
- ],
2178
- "gap": "sm"
2183
+ ]
2179
2184
  },
2180
2185
  {
2181
- "action": "CREATE_PAYMENT",
2182
2186
  "label": "Pay deposit",
2183
2187
  "variant": "primary",
2184
- "icon": "credit-card",
2185
- "type": "button"
2188
+ "type": "button",
2189
+ "action": "CREATE_PAYMENT",
2190
+ "icon": "credit-card"
2186
2191
  }
2187
2192
  ],
2188
2193
  "gap": "md"
@@ -2540,7 +2545,8 @@
2540
2545
  "render-ui",
2541
2546
  "main",
2542
2547
  {
2543
- "direction": "vertical",
2548
+ "className": "max-w-xl mx-auto w-full",
2549
+ "gap": "lg",
2544
2550
  "children": [
2545
2551
  {
2546
2552
  "variant": "h2",
@@ -2548,29 +2554,28 @@
2548
2554
  "content": "Book Appointment"
2549
2555
  },
2550
2556
  {
2557
+ "currentStep": 0.0,
2558
+ "type": "wizard-progress",
2551
2559
  "steps": [
2552
2560
  "Select Provider",
2553
2561
  "Select Time",
2554
2562
  "Your Details",
2555
2563
  "Payment",
2556
2564
  "Confirmation"
2557
- ],
2558
- "currentStep": 0.0,
2559
- "type": "wizard-progress"
2565
+ ]
2560
2566
  },
2561
2567
  {
2562
2568
  "type": "divider"
2563
2569
  },
2564
2570
  {
2565
- "content": "Select Provider",
2571
+ "variant": "h3",
2566
2572
  "type": "typography",
2567
- "variant": "h3"
2573
+ "content": "Select Provider"
2568
2574
  },
2569
2575
  {
2570
- "showCancel": false,
2571
- "mode": "create",
2572
- "type": "form-section",
2573
2576
  "submitEvent": "NEXT",
2577
+ "mode": "create",
2578
+ "showCancel": false,
2574
2579
  "fields": [
2575
2580
  {
2576
2581
  "min": 2.0,
@@ -2578,12 +2583,12 @@
2578
2583
  "required": true
2579
2584
  }
2580
2585
  ],
2586
+ "type": "form-section",
2581
2587
  "submitLabel": "Continue"
2582
2588
  }
2583
2589
  ],
2584
2590
  "type": "stack",
2585
- "className": "max-w-xl mx-auto w-full",
2586
- "gap": "lg"
2591
+ "direction": "vertical"
2587
2592
  }
2588
2593
  ]
2589
2594
  ]
@@ -2605,49 +2610,49 @@
2605
2610
  {
2606
2611
  "children": [
2607
2612
  {
2608
- "variant": "h2",
2609
2613
  "content": "Book Appointment",
2610
- "type": "typography"
2614
+ "type": "typography",
2615
+ "variant": "h2"
2611
2616
  },
2612
2617
  {
2618
+ "type": "wizard-progress",
2619
+ "currentStep": 1.0,
2613
2620
  "steps": [
2614
2621
  "Select Provider",
2615
2622
  "Select Time",
2616
2623
  "Your Details",
2617
2624
  "Payment",
2618
2625
  "Confirmation"
2619
- ],
2620
- "currentStep": 1.0,
2621
- "type": "wizard-progress"
2626
+ ]
2622
2627
  },
2623
2628
  {
2624
2629
  "type": "divider"
2625
2630
  },
2626
2631
  {
2627
- "variant": "h3",
2628
2632
  "type": "typography",
2629
- "content": "Select Time"
2633
+ "content": "Select Time",
2634
+ "variant": "h3"
2630
2635
  },
2631
2636
  {
2637
+ "mode": "edit",
2638
+ "type": "form-section",
2632
2639
  "cancelEvent": "PREV",
2640
+ "submitLabel": "Continue",
2641
+ "cancelLabel": "Back",
2642
+ "entity": "@entity",
2633
2643
  "submitEvent": "NEXT",
2634
2644
  "fields": [
2635
2645
  {
2636
2646
  "required": true,
2637
2647
  "name": "scheduledAt"
2638
2648
  }
2639
- ],
2640
- "submitLabel": "Continue",
2641
- "cancelLabel": "Back",
2642
- "mode": "edit",
2643
- "entity": "@entity",
2644
- "type": "form-section"
2649
+ ]
2645
2650
  }
2646
2651
  ],
2647
2652
  "direction": "vertical",
2648
- "type": "stack",
2649
2653
  "gap": "lg",
2650
- "className": "max-w-xl mx-auto w-full"
2654
+ "className": "max-w-xl mx-auto w-full",
2655
+ "type": "stack"
2651
2656
  }
2652
2657
  ]
2653
2658
  ]
@@ -2671,17 +2676,16 @@
2671
2676
  "render-ui",
2672
2677
  "main",
2673
2678
  {
2674
- "direction": "vertical",
2675
2679
  "className": "max-w-xl mx-auto w-full",
2676
2680
  "children": [
2677
2681
  {
2678
- "type": "typography",
2679
2682
  "content": "Book Appointment",
2683
+ "type": "typography",
2680
2684
  "variant": "h2"
2681
2685
  },
2682
2686
  {
2683
- "currentStep": 2.0,
2684
2687
  "type": "wizard-progress",
2688
+ "currentStep": 2.0,
2685
2689
  "steps": [
2686
2690
  "Select Provider",
2687
2691
  "Select Time",
@@ -2694,41 +2698,42 @@
2694
2698
  "type": "divider"
2695
2699
  },
2696
2700
  {
2697
- "type": "typography",
2698
2701
  "variant": "h3",
2699
- "content": "Your Details"
2702
+ "content": "Your Details",
2703
+ "type": "typography"
2700
2704
  },
2701
2705
  {
2702
- "cancelEvent": "PREV",
2703
2706
  "submitEvent": "NEXT",
2704
- "mode": "edit",
2705
- "submitLabel": "Continue",
2706
- "type": "form-section",
2707
- "cancelLabel": "Back",
2708
2707
  "fields": [
2709
2708
  {
2709
+ "min": 2.0,
2710
2710
  "name": "customerName",
2711
- "required": true,
2712
- "min": 2.0
2711
+ "required": true
2713
2712
  },
2714
2713
  {
2715
- "type": "email",
2716
2714
  "name": "email",
2715
+ "type": "email",
2717
2716
  "required": true
2718
2717
  },
2719
2718
  {
2720
- "required": true,
2721
- "name": "phone"
2719
+ "name": "phone",
2720
+ "required": true
2722
2721
  },
2723
2722
  {
2724
2723
  "name": "notes"
2725
2724
  }
2726
2725
  ],
2727
- "entity": "@entity"
2726
+ "mode": "edit",
2727
+ "cancelEvent": "PREV",
2728
+ "entity": "@entity",
2729
+ "cancelLabel": "Back",
2730
+ "type": "form-section",
2731
+ "submitLabel": "Continue"
2728
2732
  }
2729
2733
  ],
2730
- "gap": "lg",
2731
- "type": "stack"
2734
+ "direction": "vertical",
2735
+ "type": "stack",
2736
+ "gap": "lg"
2732
2737
  }
2733
2738
  ]
2734
2739
  ]
@@ -2742,17 +2747,17 @@
2742
2747
  "render-ui",
2743
2748
  "main",
2744
2749
  {
2745
- "direction": "vertical",
2750
+ "className": "max-w-xl mx-auto w-full",
2746
2751
  "type": "stack",
2747
- "gap": "lg",
2752
+ "direction": "vertical",
2748
2753
  "children": [
2749
2754
  {
2750
2755
  "type": "typography",
2751
- "content": "Book Appointment",
2752
- "variant": "h2"
2756
+ "variant": "h2",
2757
+ "content": "Book Appointment"
2753
2758
  },
2754
2759
  {
2755
- "type": "wizard-progress",
2760
+ "currentStep": 0.0,
2756
2761
  "steps": [
2757
2762
  "Select Provider",
2758
2763
  "Select Time",
@@ -2760,7 +2765,7 @@
2760
2765
  "Payment",
2761
2766
  "Confirmation"
2762
2767
  ],
2763
- "currentStep": 0.0
2768
+ "type": "wizard-progress"
2764
2769
  },
2765
2770
  {
2766
2771
  "type": "divider"
@@ -2771,22 +2776,22 @@
2771
2776
  "content": "Select Provider"
2772
2777
  },
2773
2778
  {
2774
- "submitEvent": "NEXT",
2779
+ "type": "form-section",
2775
2780
  "entity": "@entity",
2776
- "mode": "edit",
2777
- "submitLabel": "Continue",
2781
+ "submitEvent": "NEXT",
2778
2782
  "showCancel": false,
2779
2783
  "fields": [
2780
2784
  {
2785
+ "name": "providerName",
2781
2786
  "min": 2.0,
2782
- "required": true,
2783
- "name": "providerName"
2787
+ "required": true
2784
2788
  }
2785
2789
  ],
2786
- "type": "form-section"
2790
+ "mode": "edit",
2791
+ "submitLabel": "Continue"
2787
2792
  }
2788
2793
  ],
2789
- "className": "max-w-xl mx-auto w-full"
2794
+ "gap": "lg"
2790
2795
  }
2791
2796
  ]
2792
2797
  ]
@@ -2826,13 +2831,13 @@
2826
2831
  "render-ui",
2827
2832
  "main",
2828
2833
  {
2829
- "direction": "vertical",
2830
2834
  "type": "stack",
2831
- "className": "max-w-xl mx-auto w-full",
2835
+ "direction": "vertical",
2836
+ "gap": "lg",
2832
2837
  "children": [
2833
2838
  {
2834
- "type": "typography",
2835
2839
  "content": "Book Appointment",
2840
+ "type": "typography",
2836
2841
  "variant": "h2"
2837
2842
  },
2838
2843
  {
@@ -2850,28 +2855,28 @@
2850
2855
  "type": "divider"
2851
2856
  },
2852
2857
  {
2853
- "content": "Pay Deposit",
2858
+ "variant": "h3",
2854
2859
  "type": "typography",
2855
- "variant": "h3"
2860
+ "content": "Pay Deposit"
2856
2861
  },
2857
2862
  "@trait.BookingPayment",
2858
2863
  {
2859
2864
  "children": [
2860
2865
  {
2861
- "action": "PREV",
2862
2866
  "label": "Back",
2863
- "variant": "ghost",
2864
2867
  "type": "button",
2865
- "icon": "arrow-left"
2868
+ "variant": "ghost",
2869
+ "icon": "arrow-left",
2870
+ "action": "PREV"
2866
2871
  }
2867
2872
  ],
2868
- "justify": "start",
2869
- "type": "stack",
2870
2873
  "direction": "horizontal",
2871
- "gap": "sm"
2874
+ "type": "stack",
2875
+ "gap": "sm",
2876
+ "justify": "start"
2872
2877
  }
2873
2878
  ],
2874
- "gap": "lg"
2879
+ "className": "max-w-xl mx-auto w-full"
2875
2880
  }
2876
2881
  ]
2877
2882
  ]
@@ -2885,15 +2890,13 @@
2885
2890
  "render-ui",
2886
2891
  "main",
2887
2892
  {
2888
- "gap": "lg",
2889
2893
  "type": "stack",
2890
- "className": "max-w-xl mx-auto w-full",
2891
- "direction": "vertical",
2894
+ "gap": "lg",
2892
2895
  "children": [
2893
2896
  {
2894
- "content": "Book Appointment",
2897
+ "variant": "h2",
2895
2898
  "type": "typography",
2896
- "variant": "h2"
2899
+ "content": "Book Appointment"
2897
2900
  },
2898
2901
  {
2899
2902
  "steps": [
@@ -2903,33 +2906,35 @@
2903
2906
  "Payment",
2904
2907
  "Confirmation"
2905
2908
  ],
2906
- "currentStep": 1.0,
2907
- "type": "wizard-progress"
2909
+ "type": "wizard-progress",
2910
+ "currentStep": 1.0
2908
2911
  },
2909
2912
  {
2910
2913
  "type": "divider"
2911
2914
  },
2912
2915
  {
2913
- "type": "typography",
2914
2916
  "variant": "h3",
2915
- "content": "Select Time"
2917
+ "content": "Select Time",
2918
+ "type": "typography"
2916
2919
  },
2917
2920
  {
2918
- "cancelEvent": "PREV",
2919
- "cancelLabel": "Back",
2920
2921
  "entity": "@entity",
2922
+ "cancelEvent": "PREV",
2923
+ "submitLabel": "Continue",
2924
+ "mode": "edit",
2925
+ "type": "form-section",
2926
+ "submitEvent": "NEXT",
2921
2927
  "fields": [
2922
2928
  {
2923
- "required": true,
2924
- "name": "scheduledAt"
2929
+ "name": "scheduledAt",
2930
+ "required": true
2925
2931
  }
2926
2932
  ],
2927
- "submitEvent": "NEXT",
2928
- "type": "form-section",
2929
- "mode": "edit",
2930
- "submitLabel": "Continue"
2933
+ "cancelLabel": "Back"
2931
2934
  }
2932
- ]
2935
+ ],
2936
+ "className": "max-w-xl mx-auto w-full",
2937
+ "direction": "vertical"
2933
2938
  }
2934
2939
  ]
2935
2940
  ]
@@ -2951,14 +2956,17 @@
2951
2956
  "render-ui",
2952
2957
  "main",
2953
2958
  {
2959
+ "type": "stack",
2960
+ "direction": "vertical",
2954
2961
  "className": "max-w-xl mx-auto w-full",
2955
2962
  "children": [
2956
2963
  {
2957
2964
  "type": "typography",
2958
- "variant": "h2",
2959
- "content": "Review your booking"
2965
+ "content": "Review your booking",
2966
+ "variant": "h2"
2960
2967
  },
2961
2968
  {
2969
+ "currentStep": 4.0,
2962
2970
  "type": "wizard-progress",
2963
2971
  "steps": [
2964
2972
  "Select Provider",
@@ -2966,124 +2974,123 @@
2966
2974
  "Your Details",
2967
2975
  "Payment",
2968
2976
  "Confirmation"
2969
- ],
2970
- "currentStep": 4.0
2977
+ ]
2971
2978
  },
2972
2979
  {
2973
2980
  "type": "divider"
2974
2981
  },
2975
2982
  {
2976
- "gap": "sm",
2977
2983
  "direction": "vertical",
2984
+ "gap": "sm",
2978
2985
  "type": "stack",
2979
2986
  "children": [
2980
2987
  {
2981
- "type": "stack",
2982
2988
  "direction": "horizontal",
2983
- "gap": "md",
2984
2989
  "justify": "between",
2990
+ "gap": "md",
2991
+ "type": "stack",
2985
2992
  "children": [
2986
2993
  {
2987
- "variant": "caption",
2988
2994
  "type": "typography",
2989
- "content": "Provider"
2995
+ "content": "Provider",
2996
+ "variant": "caption"
2990
2997
  },
2991
2998
  {
2999
+ "type": "typography",
2992
3000
  "variant": "body",
2993
- "content": "@entity.providerName",
2994
- "type": "typography"
3001
+ "content": "@entity.providerName"
2995
3002
  }
2996
3003
  ]
2997
3004
  },
2998
3005
  {
2999
3006
  "direction": "horizontal",
3007
+ "type": "stack",
3000
3008
  "children": [
3001
3009
  {
3002
- "content": "When",
3003
3010
  "type": "typography",
3011
+ "content": "When",
3004
3012
  "variant": "caption"
3005
3013
  },
3006
3014
  {
3007
- "content": "@entity.scheduledAt",
3008
3015
  "variant": "body",
3016
+ "content": "@entity.scheduledAt",
3009
3017
  "type": "typography"
3010
3018
  }
3011
3019
  ],
3012
- "type": "stack",
3013
- "gap": "md",
3014
- "justify": "between"
3020
+ "justify": "between",
3021
+ "gap": "md"
3015
3022
  },
3016
3023
  {
3017
3024
  "type": "stack",
3025
+ "gap": "md",
3018
3026
  "direction": "horizontal",
3027
+ "justify": "between",
3019
3028
  "children": [
3020
3029
  {
3021
- "type": "typography",
3022
3030
  "content": "Customer",
3031
+ "type": "typography",
3023
3032
  "variant": "caption"
3024
3033
  },
3025
3034
  {
3026
- "variant": "body",
3027
3035
  "content": "@entity.customerName",
3036
+ "variant": "body",
3028
3037
  "type": "typography"
3029
3038
  }
3030
- ],
3031
- "justify": "between",
3032
- "gap": "md"
3039
+ ]
3033
3040
  },
3034
3041
  {
3035
- "justify": "between",
3042
+ "type": "stack",
3036
3043
  "children": [
3037
3044
  {
3038
- "variant": "caption",
3045
+ "type": "typography",
3039
3046
  "content": "Email",
3040
- "type": "typography"
3047
+ "variant": "caption"
3041
3048
  },
3042
3049
  {
3050
+ "content": "@entity.email",
3043
3051
  "type": "typography",
3044
- "variant": "body",
3045
- "content": "@entity.email"
3052
+ "variant": "body"
3046
3053
  }
3047
3054
  ],
3048
- "direction": "horizontal",
3049
3055
  "gap": "md",
3050
- "type": "stack"
3056
+ "direction": "horizontal",
3057
+ "justify": "between"
3051
3058
  },
3052
3059
  {
3060
+ "type": "stack",
3061
+ "justify": "between",
3053
3062
  "children": [
3054
3063
  {
3064
+ "content": "Phone",
3055
3065
  "type": "typography",
3056
- "variant": "caption",
3057
- "content": "Phone"
3066
+ "variant": "caption"
3058
3067
  },
3059
3068
  {
3060
- "content": "@entity.phone",
3061
3069
  "type": "typography",
3062
- "variant": "body"
3070
+ "variant": "body",
3071
+ "content": "@entity.phone"
3063
3072
  }
3064
3073
  ],
3065
- "type": "stack",
3066
- "gap": "md",
3067
3074
  "direction": "horizontal",
3068
- "justify": "between"
3075
+ "gap": "md"
3069
3076
  },
3070
3077
  {
3078
+ "type": "stack",
3071
3079
  "direction": "horizontal",
3080
+ "gap": "md",
3081
+ "justify": "between",
3072
3082
  "children": [
3073
3083
  {
3074
- "content": "Deposit Paid",
3075
3084
  "type": "typography",
3085
+ "content": "Deposit Paid",
3076
3086
  "variant": "caption"
3077
3087
  },
3078
3088
  {
3079
- "content": "@entity.depositAmount",
3080
3089
  "variant": "body",
3081
- "type": "typography"
3090
+ "type": "typography",
3091
+ "content": "@entity.depositAmount"
3082
3092
  }
3083
- ],
3084
- "gap": "md",
3085
- "justify": "between",
3086
- "type": "stack"
3093
+ ]
3087
3094
  }
3088
3095
  ]
3089
3096
  },
@@ -3091,31 +3098,29 @@
3091
3098
  "type": "divider"
3092
3099
  },
3093
3100
  {
3101
+ "direction": "horizontal",
3102
+ "justify": "between",
3103
+ "type": "stack",
3104
+ "gap": "sm",
3094
3105
  "children": [
3095
3106
  {
3096
3107
  "type": "button",
3097
- "label": "Back",
3098
3108
  "icon": "arrow-left",
3109
+ "label": "Back",
3099
3110
  "action": "PREV",
3100
3111
  "variant": "ghost"
3101
3112
  },
3102
3113
  {
3103
- "icon": "check",
3114
+ "label": "Confirm booking",
3104
3115
  "action": "COMPLETE",
3116
+ "variant": "primary",
3105
3117
  "type": "button",
3106
- "label": "Confirm booking",
3107
- "variant": "primary"
3118
+ "icon": "check"
3108
3119
  }
3109
- ],
3110
- "gap": "sm",
3111
- "justify": "between",
3112
- "type": "stack",
3113
- "direction": "horizontal"
3120
+ ]
3114
3121
  }
3115
3122
  ],
3116
- "gap": "lg",
3117
- "type": "stack",
3118
- "direction": "vertical"
3123
+ "gap": "lg"
3119
3124
  }
3120
3125
  ]
3121
3126
  ]
@@ -3130,47 +3135,49 @@
3130
3135
  "main",
3131
3136
  {
3132
3137
  "type": "stack",
3138
+ "gap": "lg",
3133
3139
  "children": [
3134
3140
  {
3135
3141
  "type": "typography",
3136
- "content": "Book Appointment",
3137
- "variant": "h2"
3142
+ "variant": "h2",
3143
+ "content": "Book Appointment"
3138
3144
  },
3139
3145
  {
3140
- "currentStep": 2.0,
3141
- "type": "wizard-progress",
3142
3146
  "steps": [
3143
3147
  "Select Provider",
3144
3148
  "Select Time",
3145
3149
  "Your Details",
3146
3150
  "Payment",
3147
3151
  "Confirmation"
3148
- ]
3152
+ ],
3153
+ "currentStep": 2.0,
3154
+ "type": "wizard-progress"
3149
3155
  },
3150
3156
  {
3151
3157
  "type": "divider"
3152
3158
  },
3153
3159
  {
3154
- "content": "Your Details",
3155
3160
  "type": "typography",
3156
- "variant": "h3"
3161
+ "variant": "h3",
3162
+ "content": "Your Details"
3157
3163
  },
3158
3164
  {
3159
- "submitEvent": "NEXT",
3160
- "cancelLabel": "Back",
3165
+ "cancelEvent": "PREV",
3161
3166
  "type": "form-section",
3162
- "entity": "@entity",
3163
3167
  "mode": "edit",
3168
+ "submitLabel": "Continue",
3169
+ "entity": "@entity",
3170
+ "cancelLabel": "Back",
3164
3171
  "fields": [
3165
3172
  {
3173
+ "min": 2.0,
3166
3174
  "name": "customerName",
3167
- "required": true,
3168
- "min": 2.0
3175
+ "required": true
3169
3176
  },
3170
3177
  {
3178
+ "name": "email",
3171
3179
  "type": "email",
3172
- "required": true,
3173
- "name": "email"
3180
+ "required": true
3174
3181
  },
3175
3182
  {
3176
3183
  "required": true,
@@ -3180,12 +3187,10 @@
3180
3187
  "name": "notes"
3181
3188
  }
3182
3189
  ],
3183
- "submitLabel": "Continue",
3184
- "cancelEvent": "PREV"
3190
+ "submitEvent": "NEXT"
3185
3191
  }
3186
3192
  ],
3187
3193
  "className": "max-w-xl mx-auto w-full",
3188
- "gap": "lg",
3189
3194
  "direction": "vertical"
3190
3195
  }
3191
3196
  ]
@@ -3216,8 +3221,8 @@
3216
3221
  "@entity",
3217
3222
  {
3218
3223
  "emit": {
3219
- "failure": "BookingSaveFailed",
3220
- "success": "BookingSaved"
3224
+ "success": "BookingSaved",
3225
+ "failure": "BookingSaveFailed"
3221
3226
  }
3222
3227
  }
3223
3228
  ],
@@ -3226,15 +3231,15 @@
3226
3231
  "email",
3227
3232
  "send",
3228
3233
  {
3229
- "subject": "Booking Confirmed",
3234
+ "sender": "noreply@bookings.example",
3230
3235
  "body": "Your booking is confirmed.",
3231
- "recipient": "@entity.email",
3232
- "sender": "noreply@bookings.example"
3236
+ "subject": "Booking Confirmed",
3237
+ "recipient": "@entity.email"
3233
3238
  },
3234
3239
  {
3235
3240
  "emit": {
3236
- "success": "BookingEmailSent",
3237
- "failure": "BookingEmailFailed"
3241
+ "failure": "BookingEmailFailed",
3242
+ "success": "BookingEmailSent"
3238
3243
  }
3239
3244
  }
3240
3245
  ],
@@ -3243,14 +3248,14 @@
3243
3248
  "twilio",
3244
3249
  "sendSMS",
3245
3250
  {
3246
- "recipient": "@entity.phone",
3247
3251
  "body": "Booking confirmed for @entity.scheduledAt",
3252
+ "recipient": "@entity.phone",
3248
3253
  "sender": "+15551234567"
3249
3254
  },
3250
3255
  {
3251
3256
  "emit": {
3252
- "failure": "BookingSmsFailed",
3253
- "success": "BookingSmsSent"
3257
+ "success": "BookingSmsSent",
3258
+ "failure": "BookingSmsFailed"
3254
3259
  }
3255
3260
  }
3256
3261
  ],
@@ -3270,35 +3275,35 @@
3270
3275
  "render-ui",
3271
3276
  "main",
3272
3277
  {
3273
- "gap": "lg",
3274
- "direction": "vertical",
3275
3278
  "className": "max-w-xl mx-auto w-full py-12",
3276
3279
  "children": [
3277
3280
  {
3278
- "type": "icon",
3279
- "name": "check-circle"
3281
+ "name": "check-circle",
3282
+ "type": "icon"
3280
3283
  },
3281
3284
  {
3282
- "type": "typography",
3283
3285
  "variant": "h2",
3286
+ "type": "typography",
3284
3287
  "content": "Booking confirmed"
3285
3288
  },
3286
3289
  {
3287
- "content": "We have emailed and SMS-confirmed your appointment.",
3288
3290
  "type": "typography",
3291
+ "content": "We have emailed and SMS-confirmed your appointment.",
3289
3292
  "color": "muted",
3290
3293
  "variant": "body"
3291
3294
  },
3292
3295
  {
3293
- "icon": "rotate-ccw",
3294
- "action": "RESTART",
3296
+ "variant": "ghost",
3295
3297
  "label": "Book another",
3296
3298
  "type": "button",
3297
- "variant": "ghost"
3299
+ "icon": "rotate-ccw",
3300
+ "action": "RESTART"
3298
3301
  }
3299
3302
  ],
3300
- "type": "stack",
3301
- "align": "center"
3303
+ "gap": "lg",
3304
+ "direction": "vertical",
3305
+ "align": "center",
3306
+ "type": "stack"
3302
3307
  }
3303
3308
  ]
3304
3309
  ]
@@ -3312,52 +3317,52 @@
3312
3317
  "render-ui",
3313
3318
  "main",
3314
3319
  {
3315
- "gap": "lg",
3320
+ "type": "stack",
3321
+ "direction": "vertical",
3322
+ "className": "max-w-xl mx-auto w-full",
3316
3323
  "children": [
3317
3324
  {
3325
+ "content": "Book Appointment",
3318
3326
  "type": "typography",
3319
- "variant": "h2",
3320
- "content": "Book Appointment"
3327
+ "variant": "h2"
3321
3328
  },
3322
3329
  {
3323
- "type": "wizard-progress",
3324
- "currentStep": 3.0,
3325
3330
  "steps": [
3326
3331
  "Select Provider",
3327
3332
  "Select Time",
3328
3333
  "Your Details",
3329
3334
  "Payment",
3330
3335
  "Confirmation"
3331
- ]
3336
+ ],
3337
+ "type": "wizard-progress",
3338
+ "currentStep": 3.0
3332
3339
  },
3333
3340
  {
3334
3341
  "type": "divider"
3335
3342
  },
3336
3343
  {
3337
- "content": "Pay Deposit",
3338
3344
  "variant": "h3",
3339
- "type": "typography"
3345
+ "type": "typography",
3346
+ "content": "Pay Deposit"
3340
3347
  },
3341
3348
  "@trait.BookingPayment",
3342
3349
  {
3343
- "type": "stack",
3344
- "justify": "start",
3345
3350
  "direction": "horizontal",
3351
+ "justify": "start",
3352
+ "type": "stack",
3346
3353
  "gap": "sm",
3347
3354
  "children": [
3348
3355
  {
3349
3356
  "label": "Back",
3350
- "type": "button",
3351
- "icon": "arrow-left",
3352
3357
  "action": "PREV",
3353
- "variant": "ghost"
3358
+ "variant": "ghost",
3359
+ "type": "button",
3360
+ "icon": "arrow-left"
3354
3361
  }
3355
3362
  ]
3356
3363
  }
3357
3364
  ],
3358
- "className": "max-w-xl mx-auto w-full",
3359
- "type": "stack",
3360
- "direction": "vertical"
3365
+ "gap": "lg"
3361
3366
  }
3362
3367
  ]
3363
3368
  ]
@@ -3412,14 +3417,11 @@
3412
3417
  "main",
3413
3418
  {
3414
3419
  "direction": "vertical",
3415
- "className": "max-w-xl mx-auto w-full",
3416
- "type": "stack",
3417
- "gap": "lg",
3418
3420
  "children": [
3419
3421
  {
3422
+ "variant": "h2",
3420
3423
  "content": "Book Appointment",
3421
- "type": "typography",
3422
- "variant": "h2"
3424
+ "type": "typography"
3423
3425
  },
3424
3426
  {
3425
3427
  "steps": [
@@ -3436,25 +3438,28 @@
3436
3438
  "type": "divider"
3437
3439
  },
3438
3440
  {
3439
- "content": "Select Provider",
3440
3441
  "variant": "h3",
3442
+ "content": "Select Provider",
3441
3443
  "type": "typography"
3442
3444
  },
3443
3445
  {
3444
- "mode": "create",
3445
- "submitLabel": "Continue",
3446
3446
  "type": "form-section",
3447
- "showCancel": false,
3448
- "submitEvent": "NEXT",
3449
3447
  "fields": [
3450
3448
  {
3451
3449
  "required": true,
3452
- "min": 2.0,
3453
- "name": "providerName"
3450
+ "name": "providerName",
3451
+ "min": 2.0
3454
3452
  }
3455
- ]
3453
+ ],
3454
+ "mode": "create",
3455
+ "showCancel": false,
3456
+ "submitLabel": "Continue",
3457
+ "submitEvent": "NEXT"
3456
3458
  }
3457
- ]
3459
+ ],
3460
+ "type": "stack",
3461
+ "gap": "lg",
3462
+ "className": "max-w-xl mx-auto w-full"
3458
3463
  }
3459
3464
  ]
3460
3465
  ]
@@ -3558,6 +3563,7 @@
3558
3563
  "name": "AppointmentAppLayout",
3559
3564
  "linkedEntity": "Appointment",
3560
3565
  "config": {
3566
+ "appName": "BookingSystemApp",
3561
3567
  "navItems": [
3562
3568
  {
3563
3569
  "icon": "user-check",
@@ -3565,31 +3571,30 @@
3565
3571
  "href": "/providers"
3566
3572
  },
3567
3573
  {
3568
- "icon": "calendar-plus",
3569
3574
  "label": "Book",
3570
- "href": "/book"
3575
+ "href": "/book",
3576
+ "icon": "calendar-plus"
3571
3577
  },
3572
3578
  {
3579
+ "icon": "calendar",
3573
3580
  "label": "Appointments",
3574
- "href": "/appointments",
3575
- "icon": "calendar"
3581
+ "href": "/appointments"
3576
3582
  },
3577
3583
  {
3578
- "label": "Schedule",
3579
3584
  "href": "/schedule",
3580
- "icon": "clock"
3585
+ "icon": "clock",
3586
+ "label": "Schedule"
3581
3587
  }
3582
3588
  ],
3583
3589
  "searchEvent": "APPOINTMENT_SEARCH",
3584
- "appName": "BookingSystemApp",
3585
3590
  "topBarActions": [],
3586
3591
  "notificationClickEvent": "APPOINTMENT_NOTIFICATIONS_OPEN",
3587
3592
  "notifications": [],
3588
3593
  "contentTrait": "@trait.AppointmentDashboard"
3589
3594
  },
3590
3595
  "events": {
3591
- "SEARCH": "APPOINTMENT_SEARCH",
3592
- "NOTIFY_CLICK": "APPOINTMENT_NOTIFICATIONS_OPEN"
3596
+ "NOTIFY_CLICK": "APPOINTMENT_NOTIFICATIONS_OPEN",
3597
+ "SEARCH": "APPOINTMENT_SEARCH"
3593
3598
  }
3594
3599
  },
3595
3600
  {
@@ -3634,19 +3639,19 @@
3634
3639
  "render-ui",
3635
3640
  "main",
3636
3641
  {
3637
- "gap": "lg",
3638
3642
  "type": "stack",
3643
+ "gap": "lg",
3639
3644
  "direction": "vertical",
3640
3645
  "children": [
3641
3646
  {
3642
- "gap": "md",
3643
- "justify": "between",
3644
3647
  "align": "center",
3648
+ "gap": "md",
3649
+ "type": "stack",
3645
3650
  "direction": "horizontal",
3651
+ "justify": "between",
3646
3652
  "children": [
3647
3653
  {
3648
- "direction": "horizontal",
3649
- "align": "center",
3654
+ "gap": "sm",
3650
3655
  "children": [
3651
3656
  {
3652
3657
  "name": "calendar",
@@ -3659,24 +3664,24 @@
3659
3664
  }
3660
3665
  ],
3661
3666
  "type": "stack",
3662
- "gap": "sm"
3667
+ "align": "center",
3668
+ "direction": "horizontal"
3663
3669
  },
3664
3670
  {
3671
+ "gap": "sm",
3665
3672
  "direction": "horizontal",
3666
3673
  "type": "stack",
3667
3674
  "children": [
3668
3675
  {
3669
- "variant": "primary",
3676
+ "type": "button",
3677
+ "label": "Create Appointment",
3670
3678
  "action": "CREATE",
3671
3679
  "icon": "plus",
3672
- "label": "Create Appointment",
3673
- "type": "button"
3680
+ "variant": "primary"
3674
3681
  }
3675
- ],
3676
- "gap": "sm"
3682
+ ]
3677
3683
  }
3678
- ],
3679
- "type": "stack"
3684
+ ]
3680
3685
  },
3681
3686
  {
3682
3687
  "type": "divider"
@@ -3700,9 +3705,9 @@
3700
3705
  "name": "AppointmentCalendar",
3701
3706
  "linkedEntity": "Appointment",
3702
3707
  "config": {
3708
+ "colorField": "status",
3703
3709
  "dateField": "scheduledAt",
3704
- "titleField": "summary",
3705
- "colorField": "status"
3710
+ "titleField": "summary"
3706
3711
  },
3707
3712
  "listens": [
3708
3713
  {
@@ -3745,40 +3750,21 @@
3745
3750
  "name": "AppointmentBrowseList",
3746
3751
  "linkedEntity": "Appointment",
3747
3752
  "config": {
3748
- "itemActions": [
3749
- {
3750
- "event": "VIEW",
3751
- "label": "View",
3752
- "variant": "ghost"
3753
- },
3754
- {
3755
- "label": "Edit",
3756
- "event": "EDIT",
3757
- "variant": "ghost"
3758
- },
3759
- {
3760
- "event": "DELETE",
3761
- "variant": "danger",
3762
- "label": "Delete"
3763
- }
3764
- ],
3765
- "cols": 1.0,
3766
- "gap": "sm",
3767
3753
  "fields": [
3768
3754
  {
3769
- "label": "Summary",
3770
- "icon": "calendar",
3771
3755
  "name": "summary",
3772
- "variant": "h3"
3756
+ "variant": "h3",
3757
+ "icon": "calendar",
3758
+ "label": "Summary"
3773
3759
  },
3774
3760
  {
3775
- "label": "Provider",
3776
3761
  "name": "providerName",
3762
+ "label": "Provider",
3777
3763
  "variant": "body"
3778
3764
  },
3779
3765
  {
3780
- "label": "Customer",
3781
3766
  "name": "customerName",
3767
+ "label": "Customer",
3782
3768
  "variant": "body"
3783
3769
  },
3784
3770
  {
@@ -3795,6 +3781,25 @@
3795
3781
  "variant": "badge",
3796
3782
  "name": "status"
3797
3783
  }
3784
+ ],
3785
+ "cols": 1.0,
3786
+ "gap": "sm",
3787
+ "itemActions": [
3788
+ {
3789
+ "event": "VIEW",
3790
+ "label": "View",
3791
+ "variant": "ghost"
3792
+ },
3793
+ {
3794
+ "label": "Edit",
3795
+ "variant": "ghost",
3796
+ "event": "EDIT"
3797
+ },
3798
+ {
3799
+ "variant": "danger",
3800
+ "event": "DELETE",
3801
+ "label": "Delete"
3802
+ }
3798
3803
  ]
3799
3804
  },
3800
3805
  "listens": [
@@ -3999,8 +4004,8 @@
3999
4004
  "Appointment",
4000
4005
  {
4001
4006
  "emit": {
4002
- "failure": "AppointmentLoadFailed",
4003
- "success": "AppointmentLoaded"
4007
+ "success": "AppointmentLoaded",
4008
+ "failure": "AppointmentLoadFailed"
4004
4009
  }
4005
4010
  }
4006
4011
  ]
@@ -4016,8 +4021,8 @@
4016
4021
  "Appointment",
4017
4022
  {
4018
4023
  "emit": {
4019
- "success": "AppointmentLoaded",
4020
- "failure": "AppointmentLoadFailed"
4024
+ "failure": "AppointmentLoadFailed",
4025
+ "success": "AppointmentLoaded"
4021
4026
  }
4022
4027
  }
4023
4028
  ],
@@ -4025,16 +4030,15 @@
4025
4030
  "render-ui",
4026
4031
  "modal",
4027
4032
  {
4028
- "type": "stack",
4029
4033
  "gap": "md",
4034
+ "type": "stack",
4030
4035
  "direction": "vertical",
4031
4036
  "children": [
4032
4037
  {
4033
- "direction": "horizontal",
4034
4038
  "children": [
4035
4039
  {
4036
- "name": "plus-circle",
4037
- "type": "icon"
4040
+ "type": "icon",
4041
+ "name": "plus-circle"
4038
4042
  },
4039
4043
  {
4040
4044
  "type": "typography",
@@ -4042,6 +4046,7 @@
4042
4046
  "content": "Create Appointment"
4043
4047
  }
4044
4048
  ],
4049
+ "direction": "horizontal",
4045
4050
  "gap": "sm",
4046
4051
  "type": "stack"
4047
4052
  },
@@ -4049,9 +4054,10 @@
4049
4054
  "type": "divider"
4050
4055
  },
4051
4056
  {
4057
+ "mode": "create",
4052
4058
  "submitEvent": "SAVE",
4053
- "cancelEvent": "CLOSE",
4054
4059
  "type": "form-section",
4060
+ "cancelEvent": "CLOSE",
4055
4061
  "fields": [
4056
4062
  "providerName",
4057
4063
  "customerName",
@@ -4060,8 +4066,7 @@
4060
4066
  "time",
4061
4067
  "status",
4062
4068
  "notes"
4063
- ],
4064
- "mode": "create"
4069
+ ]
4065
4070
  }
4066
4071
  ]
4067
4072
  }
@@ -4331,43 +4336,40 @@
4331
4336
  "fetch",
4332
4337
  "Appointment",
4333
4338
  {
4334
- "id": "@payload.id",
4335
4339
  "emit": {
4336
- "success": "AppointmentLoaded",
4337
- "failure": "AppointmentLoadFailed"
4338
- }
4340
+ "failure": "AppointmentLoadFailed",
4341
+ "success": "AppointmentLoaded"
4342
+ },
4343
+ "id": "@payload.id"
4339
4344
  }
4340
4345
  ],
4341
4346
  [
4342
4347
  "render-ui",
4343
4348
  "modal",
4344
4349
  {
4350
+ "gap": "md",
4345
4351
  "children": [
4346
4352
  {
4353
+ "gap": "sm",
4354
+ "direction": "horizontal",
4347
4355
  "children": [
4348
4356
  {
4349
- "name": "edit",
4350
- "type": "icon"
4357
+ "type": "icon",
4358
+ "name": "edit"
4351
4359
  },
4352
4360
  {
4353
- "type": "typography",
4354
4361
  "content": "Edit Appointment",
4355
- "variant": "h3"
4362
+ "variant": "h3",
4363
+ "type": "typography"
4356
4364
  }
4357
4365
  ],
4358
- "direction": "horizontal",
4359
- "gap": "sm",
4360
4366
  "type": "stack"
4361
4367
  },
4362
4368
  {
4363
4369
  "type": "divider"
4364
4370
  },
4365
4371
  {
4366
- "entity": "@payload.row",
4367
- "mode": "edit",
4368
- "type": "form-section",
4369
4372
  "cancelEvent": "CLOSE",
4370
- "submitEvent": "SAVE",
4371
4373
  "fields": [
4372
4374
  "providerName",
4373
4375
  "customerName",
@@ -4376,11 +4378,14 @@
4376
4378
  "time",
4377
4379
  "status",
4378
4380
  "notes"
4379
- ]
4381
+ ],
4382
+ "type": "form-section",
4383
+ "entity": "@payload.row",
4384
+ "submitEvent": "SAVE",
4385
+ "mode": "edit"
4380
4386
  }
4381
4387
  ],
4382
4388
  "type": "stack",
4383
- "gap": "md",
4384
4389
  "direction": "vertical"
4385
4390
  }
4386
4391
  ]
@@ -4422,8 +4427,8 @@
4422
4427
  "@payload.data",
4423
4428
  {
4424
4429
  "emit": {
4425
- "success": "AppointmentUpdated",
4426
- "failure": "AppointmentUpdateFailed"
4430
+ "failure": "AppointmentUpdateFailed",
4431
+ "success": "AppointmentUpdated"
4427
4432
  }
4428
4433
  }
4429
4434
  ],
@@ -4608,8 +4613,8 @@
4608
4613
  "Appointment",
4609
4614
  {
4610
4615
  "emit": {
4611
- "success": "AppointmentLoaded",
4612
- "failure": "AppointmentLoadFailed"
4616
+ "failure": "AppointmentLoadFailed",
4617
+ "success": "AppointmentLoaded"
4613
4618
  }
4614
4619
  }
4615
4620
  ]
@@ -4624,21 +4629,22 @@
4624
4629
  "fetch",
4625
4630
  "Appointment",
4626
4631
  {
4627
- "id": "@payload.id",
4628
4632
  "emit": {
4629
- "success": "AppointmentLoaded",
4630
- "failure": "AppointmentLoadFailed"
4631
- }
4633
+ "failure": "AppointmentLoadFailed",
4634
+ "success": "AppointmentLoaded"
4635
+ },
4636
+ "id": "@payload.id"
4632
4637
  }
4633
4638
  ],
4634
4639
  [
4635
4640
  "render-ui",
4636
4641
  "modal",
4637
4642
  {
4638
- "gap": "md",
4643
+ "type": "stack",
4639
4644
  "children": [
4640
4645
  {
4641
4646
  "gap": "sm",
4647
+ "type": "stack",
4642
4648
  "direction": "horizontal",
4643
4649
  "align": "center",
4644
4650
  "children": [
@@ -4651,21 +4657,20 @@
4651
4657
  "variant": "h3",
4652
4658
  "content": "@entity.summary"
4653
4659
  }
4654
- ],
4655
- "type": "stack"
4660
+ ]
4656
4661
  },
4657
4662
  {
4658
4663
  "type": "divider"
4659
4664
  },
4660
4665
  {
4661
- "type": "stack",
4662
- "direction": "horizontal",
4663
4666
  "gap": "md",
4667
+ "direction": "horizontal",
4668
+ "type": "stack",
4664
4669
  "children": [
4665
4670
  {
4666
- "variant": "caption",
4671
+ "content": "Provider",
4667
4672
  "type": "typography",
4668
- "content": "Provider"
4673
+ "variant": "caption"
4669
4674
  },
4670
4675
  {
4671
4676
  "content": "@entity.providerName",
@@ -4675,40 +4680,43 @@
4675
4680
  ]
4676
4681
  },
4677
4682
  {
4678
- "gap": "md",
4679
4683
  "type": "stack",
4684
+ "gap": "md",
4680
4685
  "children": [
4681
4686
  {
4682
- "type": "typography",
4683
4687
  "variant": "caption",
4688
+ "type": "typography",
4684
4689
  "content": "Customer"
4685
4690
  },
4686
4691
  {
4687
- "type": "typography",
4688
4692
  "variant": "body",
4689
- "content": "@entity.customerName"
4693
+ "content": "@entity.customerName",
4694
+ "type": "typography"
4690
4695
  }
4691
4696
  ],
4692
4697
  "direction": "horizontal"
4693
4698
  },
4694
4699
  {
4700
+ "type": "stack",
4695
4701
  "gap": "md",
4696
4702
  "direction": "horizontal",
4697
- "type": "stack",
4698
4703
  "children": [
4699
4704
  {
4700
- "type": "typography",
4701
4705
  "variant": "caption",
4706
+ "type": "typography",
4702
4707
  "content": "When"
4703
4708
  },
4704
4709
  {
4705
- "variant": "body",
4706
4710
  "content": "@entity.scheduledAt",
4707
- "type": "typography"
4711
+ "type": "typography",
4712
+ "variant": "body"
4708
4713
  }
4709
4714
  ]
4710
4715
  },
4711
4716
  {
4717
+ "direction": "horizontal",
4718
+ "type": "stack",
4719
+ "gap": "md",
4712
4720
  "children": [
4713
4721
  {
4714
4722
  "type": "typography",
@@ -4717,20 +4725,19 @@
4717
4725
  },
4718
4726
  {
4719
4727
  "variant": "body",
4720
- "type": "typography",
4721
- "content": "@entity.time"
4728
+ "content": "@entity.time",
4729
+ "type": "typography"
4722
4730
  }
4723
- ],
4724
- "gap": "md",
4725
- "type": "stack",
4726
- "direction": "horizontal"
4731
+ ]
4727
4732
  },
4728
4733
  {
4734
+ "direction": "horizontal",
4735
+ "gap": "md",
4729
4736
  "children": [
4730
4737
  {
4731
4738
  "content": "Status",
4732
- "variant": "caption",
4733
- "type": "typography"
4739
+ "type": "typography",
4740
+ "variant": "caption"
4734
4741
  },
4735
4742
  {
4736
4743
  "type": "typography",
@@ -4738,13 +4745,12 @@
4738
4745
  "content": "@entity.status"
4739
4746
  }
4740
4747
  ],
4741
- "gap": "md",
4742
- "type": "stack",
4743
- "direction": "horizontal"
4748
+ "type": "stack"
4744
4749
  },
4745
4750
  {
4746
- "gap": "md",
4747
4751
  "type": "stack",
4752
+ "gap": "md",
4753
+ "direction": "horizontal",
4748
4754
  "children": [
4749
4755
  {
4750
4756
  "variant": "caption",
@@ -4753,39 +4759,38 @@
4753
4759
  },
4754
4760
  {
4755
4761
  "variant": "body",
4756
- "type": "typography",
4757
- "content": "@entity.notes"
4762
+ "content": "@entity.notes",
4763
+ "type": "typography"
4758
4764
  }
4759
- ],
4760
- "direction": "horizontal"
4765
+ ]
4761
4766
  },
4762
4767
  {
4763
4768
  "type": "divider"
4764
4769
  },
4765
4770
  {
4766
- "type": "stack",
4767
- "gap": "sm",
4768
4771
  "justify": "end",
4769
4772
  "children": [
4770
4773
  {
4771
- "icon": "edit",
4772
4774
  "type": "button",
4773
- "action": "EDIT",
4774
4775
  "variant": "primary",
4775
- "label": "Edit"
4776
+ "icon": "edit",
4777
+ "label": "Edit",
4778
+ "action": "EDIT"
4776
4779
  },
4777
4780
  {
4778
- "variant": "ghost",
4779
4781
  "action": "CLOSE",
4780
- "label": "Close",
4781
- "type": "button"
4782
+ "type": "button",
4783
+ "variant": "ghost",
4784
+ "label": "Close"
4782
4785
  }
4783
4786
  ],
4784
- "direction": "horizontal"
4787
+ "direction": "horizontal",
4788
+ "type": "stack",
4789
+ "gap": "sm"
4785
4790
  }
4786
4791
  ],
4787
- "type": "stack",
4788
- "direction": "vertical"
4792
+ "direction": "vertical",
4793
+ "gap": "md"
4789
4794
  }
4790
4795
  ]
4791
4796
  ]
@@ -5028,11 +5033,11 @@
5028
5033
  "fetch",
5029
5034
  "Appointment",
5030
5035
  {
5036
+ "id": "@payload.id",
5031
5037
  "emit": {
5032
- "success": "AppointmentLoaded",
5033
- "failure": "AppointmentLoadFailed"
5034
- },
5035
- "id": "@payload.id"
5038
+ "failure": "AppointmentLoadFailed",
5039
+ "success": "AppointmentLoaded"
5040
+ }
5036
5041
  }
5037
5042
  ],
5038
5043
  [
@@ -5044,50 +5049,50 @@
5044
5049
  "direction": "vertical",
5045
5050
  "children": [
5046
5051
  {
5047
- "direction": "horizontal",
5048
- "type": "stack",
5049
5052
  "children": [
5050
5053
  {
5051
5054
  "name": "alert-triangle",
5052
5055
  "type": "icon"
5053
5056
  },
5054
5057
  {
5055
- "variant": "h3",
5056
5058
  "type": "typography",
5057
- "content": "Delete Appointment"
5059
+ "content": "Delete Appointment",
5060
+ "variant": "h3"
5058
5061
  }
5059
5062
  ],
5060
5063
  "gap": "sm",
5061
- "align": "center"
5064
+ "align": "center",
5065
+ "type": "stack",
5066
+ "direction": "horizontal"
5062
5067
  },
5063
5068
  {
5064
5069
  "type": "divider"
5065
5070
  },
5066
5071
  {
5067
5072
  "type": "alert",
5068
- "message": "This action cannot be undone.",
5069
- "variant": "error"
5073
+ "variant": "error",
5074
+ "message": "This action cannot be undone."
5070
5075
  },
5071
5076
  {
5072
- "justify": "end",
5073
- "direction": "horizontal",
5074
5077
  "type": "stack",
5078
+ "direction": "horizontal",
5079
+ "gap": "sm",
5080
+ "justify": "end",
5075
5081
  "children": [
5076
5082
  {
5077
- "action": "CANCEL",
5078
5083
  "type": "button",
5079
- "label": "Cancel",
5080
- "variant": "ghost"
5084
+ "action": "CANCEL",
5085
+ "variant": "ghost",
5086
+ "label": "Cancel"
5081
5087
  },
5082
5088
  {
5083
- "variant": "danger",
5084
- "type": "button",
5085
5089
  "label": "Delete",
5086
5090
  "icon": "check",
5087
- "action": "CONFIRM_DELETE"
5091
+ "action": "CONFIRM_DELETE",
5092
+ "variant": "danger",
5093
+ "type": "button"
5088
5094
  }
5089
- ],
5090
- "gap": "sm"
5095
+ ]
5091
5096
  }
5092
5097
  ]
5093
5098
  }
@@ -5128,8 +5133,8 @@
5128
5133
  "Appointment",
5129
5134
  {
5130
5135
  "emit": {
5131
- "failure": "AppointmentLoadFailed",
5132
- "success": "AppointmentLoaded"
5136
+ "success": "AppointmentLoaded",
5137
+ "failure": "AppointmentLoadFailed"
5133
5138
  }
5134
5139
  }
5135
5140
  ],
@@ -5280,33 +5285,33 @@
5280
5285
  "name": "ScheduleAppLayout",
5281
5286
  "linkedEntity": "Schedule",
5282
5287
  "config": {
5283
- "contentTrait": "@trait.ScheduleDisplay",
5284
5288
  "notifications": [],
5285
- "topBarActions": [],
5286
5289
  "appName": "BookingSystemApp",
5287
5290
  "navItems": [
5288
5291
  {
5289
- "icon": "user-check",
5290
5292
  "href": "/providers",
5293
+ "icon": "user-check",
5291
5294
  "label": "Providers"
5292
5295
  },
5293
5296
  {
5294
- "icon": "calendar-plus",
5295
5297
  "href": "/book",
5298
+ "icon": "calendar-plus",
5296
5299
  "label": "Book"
5297
5300
  },
5298
5301
  {
5299
5302
  "icon": "calendar",
5300
- "href": "/appointments",
5301
- "label": "Appointments"
5303
+ "label": "Appointments",
5304
+ "href": "/appointments"
5302
5305
  },
5303
5306
  {
5307
+ "icon": "clock",
5304
5308
  "href": "/schedule",
5305
- "label": "Schedule",
5306
- "icon": "clock"
5309
+ "label": "Schedule"
5307
5310
  }
5308
5311
  ],
5309
5312
  "searchEvent": "SCHEDULE_SEARCH",
5313
+ "contentTrait": "@trait.ScheduleDisplay",
5314
+ "topBarActions": [],
5310
5315
  "notificationClickEvent": "SCHEDULE_NOTIFICATIONS_OPEN"
5311
5316
  },
5312
5317
  "events": {
@@ -5435,8 +5440,8 @@
5435
5440
  "Schedule",
5436
5441
  {
5437
5442
  "emit": {
5438
- "success": "ScheduleLoaded",
5439
- "failure": "ScheduleLoadFailed"
5443
+ "failure": "ScheduleLoadFailed",
5444
+ "success": "ScheduleLoaded"
5440
5445
  }
5441
5446
  }
5442
5447
  ],
@@ -5444,37 +5449,39 @@
5444
5449
  "render-ui",
5445
5450
  "main",
5446
5451
  {
5452
+ "type": "stack",
5453
+ "gap": "lg",
5447
5454
  "children": [
5448
5455
  {
5449
- "type": "stack",
5450
5456
  "gap": "md",
5451
- "justify": "between",
5452
- "align": "center",
5453
5457
  "direction": "horizontal",
5458
+ "type": "stack",
5459
+ "align": "center",
5460
+ "justify": "between",
5454
5461
  "children": [
5455
5462
  {
5456
- "align": "center",
5457
- "gap": "sm",
5463
+ "type": "stack",
5458
5464
  "children": [
5459
5465
  {
5460
- "name": "clock",
5461
- "type": "icon"
5466
+ "type": "icon",
5467
+ "name": "clock"
5462
5468
  },
5463
5469
  {
5464
- "content": "Schedule Overview",
5465
5470
  "variant": "h2",
5466
- "type": "typography"
5471
+ "type": "typography",
5472
+ "content": "Schedule Overview"
5467
5473
  }
5468
5474
  ],
5469
- "type": "stack",
5470
- "direction": "horizontal"
5475
+ "direction": "horizontal",
5476
+ "align": "center",
5477
+ "gap": "sm"
5471
5478
  },
5472
5479
  {
5480
+ "action": "REFRESH",
5481
+ "variant": "secondary",
5473
5482
  "type": "button",
5474
5483
  "label": "Refresh",
5475
- "icon": "refresh-cw",
5476
- "action": "REFRESH",
5477
- "variant": "secondary"
5484
+ "icon": "refresh-cw"
5478
5485
  }
5479
5486
  ]
5480
5487
  },
@@ -5482,34 +5489,34 @@
5482
5489
  "type": "divider"
5483
5490
  },
5484
5491
  {
5492
+ "cols": 4.0,
5485
5493
  "children": [
5486
5494
  {
5487
- "type": "stat-display",
5488
5495
  "value": "@entity.totalBookings",
5489
5496
  "icon": "calendar",
5497
+ "type": "stat-display",
5490
5498
  "label": "Total Bookings"
5491
5499
  },
5492
5500
  {
5501
+ "type": "stat-display",
5493
5502
  "value": "@entity.confirmedToday",
5494
- "label": "Confirmed Today",
5495
5503
  "icon": "check-circle",
5496
- "type": "stat-display"
5504
+ "label": "Confirmed Today"
5497
5505
  },
5498
5506
  {
5499
- "type": "stat-display",
5500
5507
  "icon": "clock",
5501
- "value": "@entity.pendingBookings",
5502
- "label": "Pending"
5508
+ "type": "stat-display",
5509
+ "label": "Pending",
5510
+ "value": "@entity.pendingBookings"
5503
5511
  },
5504
5512
  {
5505
- "label": "Available Slots",
5506
- "icon": "calendar-plus",
5507
5513
  "type": "stat-display",
5508
- "value": "@entity.availableSlots"
5514
+ "value": "@entity.availableSlots",
5515
+ "icon": "calendar-plus",
5516
+ "label": "Available Slots"
5509
5517
  }
5510
5518
  ],
5511
- "type": "simple-grid",
5512
- "cols": 4.0
5519
+ "type": "simple-grid"
5513
5520
  },
5514
5521
  {
5515
5522
  "type": "divider"
@@ -5518,8 +5525,6 @@
5518
5525
  "type": "calendar-grid"
5519
5526
  }
5520
5527
  ],
5521
- "gap": "lg",
5522
- "type": "stack",
5523
5528
  "direction": "vertical"
5524
5529
  }
5525
5530
  ]
@@ -5535,8 +5540,8 @@
5535
5540
  "Schedule",
5536
5541
  {
5537
5542
  "emit": {
5538
- "success": "ScheduleLoaded",
5539
- "failure": "ScheduleLoadFailed"
5543
+ "failure": "ScheduleLoadFailed",
5544
+ "success": "ScheduleLoaded"
5540
5545
  }
5541
5546
  }
5542
5547
  ],
@@ -5545,19 +5550,19 @@
5545
5550
  "main",
5546
5551
  {
5547
5552
  "type": "stack",
5548
- "gap": "md",
5549
- "direction": "vertical",
5550
5553
  "align": "center",
5554
+ "direction": "vertical",
5555
+ "gap": "md",
5551
5556
  "className": "py-12",
5552
5557
  "children": [
5553
5558
  {
5554
5559
  "type": "spinner"
5555
5560
  },
5556
5561
  {
5557
- "color": "muted",
5558
- "variant": "caption",
5562
+ "type": "typography",
5559
5563
  "content": "Refreshing…",
5560
- "type": "typography"
5564
+ "color": "muted",
5565
+ "variant": "caption"
5561
5566
  }
5562
5567
  ]
5563
5568
  }
@@ -5573,74 +5578,73 @@
5573
5578
  "render-ui",
5574
5579
  "main",
5575
5580
  {
5576
- "direction": "vertical",
5577
5581
  "gap": "lg",
5578
5582
  "children": [
5579
5583
  {
5580
5584
  "gap": "md",
5585
+ "type": "stack",
5581
5586
  "justify": "between",
5582
5587
  "children": [
5583
5588
  {
5584
- "type": "stack",
5585
5589
  "direction": "horizontal",
5590
+ "type": "stack",
5591
+ "gap": "sm",
5586
5592
  "align": "center",
5587
5593
  "children": [
5588
5594
  {
5589
- "name": "clock",
5590
- "type": "icon"
5595
+ "type": "icon",
5596
+ "name": "clock"
5591
5597
  },
5592
5598
  {
5593
- "variant": "h2",
5594
5599
  "type": "typography",
5600
+ "variant": "h2",
5595
5601
  "content": "Schedule Overview"
5596
5602
  }
5597
- ],
5598
- "gap": "sm"
5603
+ ]
5599
5604
  },
5600
5605
  {
5601
5606
  "icon": "refresh-cw",
5602
- "type": "button",
5603
5607
  "label": "Refresh",
5604
- "action": "REFRESH",
5605
- "variant": "secondary"
5608
+ "type": "button",
5609
+ "variant": "secondary",
5610
+ "action": "REFRESH"
5606
5611
  }
5607
5612
  ],
5608
- "direction": "horizontal",
5609
- "type": "stack",
5610
- "align": "center"
5613
+ "align": "center",
5614
+ "direction": "horizontal"
5611
5615
  },
5612
5616
  {
5613
5617
  "type": "divider"
5614
5618
  },
5615
5619
  {
5616
5620
  "type": "simple-grid",
5621
+ "cols": 4.0,
5617
5622
  "children": [
5618
5623
  {
5619
5624
  "label": "Total Bookings",
5625
+ "type": "stat-display",
5620
5626
  "value": "@entity.totalBookings",
5621
- "icon": "calendar",
5622
- "type": "stat-display"
5627
+ "icon": "calendar"
5623
5628
  },
5624
5629
  {
5630
+ "icon": "check-circle",
5625
5631
  "label": "Confirmed Today",
5626
5632
  "value": "@entity.confirmedToday",
5627
- "type": "stat-display",
5628
- "icon": "check-circle"
5633
+ "type": "stat-display"
5629
5634
  },
5630
5635
  {
5636
+ "value": "@entity.pendingBookings",
5631
5637
  "label": "Pending",
5632
5638
  "type": "stat-display",
5633
- "icon": "clock",
5634
- "value": "@entity.pendingBookings"
5639
+ "icon": "clock"
5635
5640
  },
5636
5641
  {
5642
+ "label": "Available Slots",
5637
5643
  "icon": "calendar-plus",
5638
5644
  "type": "stat-display",
5639
- "label": "Available Slots",
5640
5645
  "value": "@entity.availableSlots"
5641
5646
  }
5642
- ],
5643
- "cols": 4.0
5647
+ ]
5644
5648
  },
5645
5649
  {
5646
5650
  "type": "divider"
@@ -5649,6 +5653,7 @@
5649
5653
  "type": "calendar-grid"
5650
5654
  }
5651
5655
  ],
5656
+ "direction": "vertical",
5652
5657
  "type": "stack"
5653
5658
  }
5654
5659
  ]
@@ -5664,39 +5669,40 @@
5664
5669
  "main",
5665
5670
  {
5666
5671
  "type": "stack",
5672
+ "gap": "lg",
5667
5673
  "children": [
5668
5674
  {
5675
+ "direction": "horizontal",
5676
+ "align": "center",
5677
+ "justify": "between",
5678
+ "type": "stack",
5669
5679
  "children": [
5670
5680
  {
5681
+ "align": "center",
5671
5682
  "type": "stack",
5683
+ "direction": "horizontal",
5672
5684
  "children": [
5673
5685
  {
5674
- "type": "icon",
5675
- "name": "clock"
5686
+ "name": "clock",
5687
+ "type": "icon"
5676
5688
  },
5677
5689
  {
5678
- "variant": "h2",
5679
5690
  "type": "typography",
5691
+ "variant": "h2",
5680
5692
  "content": "Schedule Overview"
5681
5693
  }
5682
5694
  ],
5683
- "direction": "horizontal",
5684
- "gap": "sm",
5685
- "align": "center"
5695
+ "gap": "sm"
5686
5696
  },
5687
5697
  {
5688
- "variant": "secondary",
5689
- "action": "REFRESH",
5690
5698
  "type": "button",
5691
5699
  "icon": "refresh-cw",
5700
+ "variant": "secondary",
5701
+ "action": "REFRESH",
5692
5702
  "label": "Refresh"
5693
5703
  }
5694
5704
  ],
5695
- "justify": "between",
5696
- "type": "stack",
5697
- "direction": "horizontal",
5698
- "gap": "md",
5699
- "align": "center"
5705
+ "gap": "md"
5700
5706
  },
5701
5707
  {
5702
5708
  "type": "divider"
@@ -5705,27 +5711,27 @@
5705
5711
  "children": [
5706
5712
  {
5707
5713
  "type": "stat-display",
5708
- "label": "Total Bookings",
5714
+ "value": "@entity.totalBookings",
5709
5715
  "icon": "calendar",
5710
- "value": "@entity.totalBookings"
5716
+ "label": "Total Bookings"
5711
5717
  },
5712
5718
  {
5713
- "type": "stat-display",
5714
- "icon": "check-circle",
5715
5719
  "label": "Confirmed Today",
5720
+ "icon": "check-circle",
5721
+ "type": "stat-display",
5716
5722
  "value": "@entity.confirmedToday"
5717
5723
  },
5718
5724
  {
5719
5725
  "icon": "clock",
5720
- "value": "@entity.pendingBookings",
5726
+ "label": "Pending",
5721
5727
  "type": "stat-display",
5722
- "label": "Pending"
5728
+ "value": "@entity.pendingBookings"
5723
5729
  },
5724
5730
  {
5725
- "icon": "calendar-plus",
5726
- "type": "stat-display",
5727
5731
  "value": "@entity.availableSlots",
5728
- "label": "Available Slots"
5732
+ "type": "stat-display",
5733
+ "label": "Available Slots",
5734
+ "icon": "calendar-plus"
5729
5735
  }
5730
5736
  ],
5731
5737
  "type": "simple-grid",
@@ -5738,8 +5744,7 @@
5738
5744
  "type": "calendar-grid"
5739
5745
  }
5740
5746
  ],
5741
- "direction": "vertical",
5742
- "gap": "lg"
5747
+ "direction": "vertical"
5743
5748
  }
5744
5749
  ]
5745
5750
  ]
@@ -5753,36 +5758,36 @@
5753
5758
  "render-ui",
5754
5759
  "main",
5755
5760
  {
5761
+ "type": "stack",
5762
+ "align": "center",
5763
+ "className": "py-12",
5756
5764
  "children": [
5757
5765
  {
5758
- "type": "icon",
5766
+ "color": "destructive",
5759
5767
  "name": "alert-triangle",
5760
- "color": "destructive"
5768
+ "type": "icon"
5761
5769
  },
5762
5770
  {
5771
+ "content": "Failed to refresh schedule",
5763
5772
  "type": "typography",
5764
- "variant": "h3",
5765
- "content": "Failed to refresh schedule"
5773
+ "variant": "h3"
5766
5774
  },
5767
5775
  {
5768
- "variant": "body",
5769
- "content": "@payload.error",
5776
+ "type": "typography",
5770
5777
  "color": "muted",
5771
- "type": "typography"
5778
+ "content": "@payload.error",
5779
+ "variant": "body"
5772
5780
  },
5773
5781
  {
5774
- "icon": "rotate-ccw",
5775
- "type": "button",
5776
- "label": "Retry",
5782
+ "variant": "primary",
5777
5783
  "action": "REFRESH",
5778
- "variant": "primary"
5784
+ "label": "Retry",
5785
+ "type": "button",
5786
+ "icon": "rotate-ccw"
5779
5787
  }
5780
5788
  ],
5781
- "type": "stack",
5782
- "align": "center",
5783
- "gap": "md",
5784
5789
  "direction": "vertical",
5785
- "className": "py-12"
5790
+ "gap": "md"
5786
5791
  }
5787
5792
  ]
5788
5793
  ]