@almadar/std 3.1.0 → 3.1.1

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 (176) hide show
  1. package/dist/behaviors/exports/atoms/std-async.orb +420 -0
  2. package/dist/behaviors/exports/atoms/std-browse.orb +173 -0
  3. package/dist/behaviors/exports/atoms/std-cache-aside.orb +881 -0
  4. package/dist/behaviors/exports/atoms/std-circuit-breaker.orb +501 -0
  5. package/dist/behaviors/exports/atoms/std-collision.orb +616 -0
  6. package/dist/behaviors/exports/atoms/std-combat-log.orb +145 -0
  7. package/dist/behaviors/exports/atoms/std-combat.orb +410 -0
  8. package/dist/behaviors/exports/atoms/std-confirmation.orb +282 -0
  9. package/dist/behaviors/exports/atoms/std-dialogue-box.orb +238 -0
  10. package/dist/behaviors/exports/atoms/std-display.orb +842 -0
  11. package/dist/behaviors/exports/atoms/std-drawer.orb +316 -0
  12. package/dist/behaviors/exports/atoms/std-filter.orb +442 -0
  13. package/dist/behaviors/exports/atoms/std-game-audio.orb +113 -0
  14. package/dist/behaviors/exports/atoms/std-game-canvas-2d.orb +135 -0
  15. package/dist/behaviors/exports/atoms/std-game-canvas-3d.orb +224 -0
  16. package/dist/behaviors/exports/atoms/std-game-hud.orb +151 -0
  17. package/dist/behaviors/exports/atoms/std-game-menu.orb +211 -0
  18. package/dist/behaviors/exports/atoms/std-game-over-screen.orb +195 -0
  19. package/dist/behaviors/exports/atoms/std-gameflow.orb +318 -0
  20. package/dist/behaviors/exports/atoms/std-input.orb +629 -0
  21. package/dist/behaviors/exports/atoms/std-inventory-panel.orb +255 -0
  22. package/dist/behaviors/exports/atoms/std-isometric-canvas.orb +631 -0
  23. package/dist/behaviors/exports/atoms/std-loading.orb +511 -0
  24. package/dist/behaviors/exports/atoms/std-modal.orb +270 -0
  25. package/dist/behaviors/exports/atoms/std-movement.orb +1037 -0
  26. package/dist/behaviors/exports/atoms/std-notification.orb +418 -0
  27. package/dist/behaviors/exports/atoms/std-overworld.orb +483 -0
  28. package/dist/behaviors/exports/atoms/std-pagination.orb +331 -0
  29. package/dist/behaviors/exports/atoms/std-physics2d.orb +419 -0
  30. package/dist/behaviors/exports/atoms/std-platformer-canvas.orb +257 -0
  31. package/dist/behaviors/exports/atoms/std-quest.orb +980 -0
  32. package/dist/behaviors/exports/atoms/std-rate-limiter.orb +638 -0
  33. package/dist/behaviors/exports/atoms/std-score-board.orb +238 -0
  34. package/dist/behaviors/exports/atoms/std-score.orb +466 -0
  35. package/dist/behaviors/exports/atoms/std-search.orb +373 -0
  36. package/dist/behaviors/exports/atoms/std-selection.orb +759 -0
  37. package/dist/behaviors/exports/atoms/std-simulation-canvas.orb +183 -0
  38. package/dist/behaviors/exports/atoms/std-sort.orb +578 -0
  39. package/dist/behaviors/exports/atoms/std-sprite.orb +156 -0
  40. package/dist/behaviors/exports/atoms/std-tabs.orb +274 -0
  41. package/dist/behaviors/exports/atoms/std-timer.orb +1030 -0
  42. package/dist/behaviors/exports/atoms/std-undo.orb +694 -0
  43. package/dist/behaviors/exports/atoms/std-wizard.orb +666 -0
  44. package/dist/behaviors/exports/molecules/std-builder-game.orb +183 -0
  45. package/dist/behaviors/exports/molecules/std-cart.orb +591 -0
  46. package/dist/behaviors/exports/molecules/std-classifier-game.orb +183 -0
  47. package/dist/behaviors/exports/molecules/std-debugger-game.orb +183 -0
  48. package/dist/behaviors/exports/molecules/std-detail.orb +589 -0
  49. package/dist/behaviors/exports/molecules/std-event-handler-game.orb +183 -0
  50. package/dist/behaviors/exports/molecules/std-geospatial.orb +649 -0
  51. package/dist/behaviors/exports/molecules/std-inventory.orb +853 -0
  52. package/dist/behaviors/exports/molecules/std-list.orb +954 -0
  53. package/dist/behaviors/exports/molecules/std-messaging.orb +585 -0
  54. package/dist/behaviors/exports/molecules/std-negotiator-game.orb +183 -0
  55. package/dist/behaviors/exports/molecules/std-platformer-game.orb +496 -0
  56. package/dist/behaviors/exports/molecules/std-puzzle-game.orb +527 -0
  57. package/dist/behaviors/exports/molecules/std-sequencer-game.orb +183 -0
  58. package/dist/behaviors/exports/molecules/std-simulator-game.orb +183 -0
  59. package/dist/behaviors/exports/molecules/std-turn-based-battle.orb +443 -0
  60. package/dist/behaviors/exports/organisms/std-api-gateway.orb +2296 -0
  61. package/dist/behaviors/exports/organisms/std-arcade-game.orb +833 -0
  62. package/dist/behaviors/exports/organisms/std-booking-system.orb +3977 -0
  63. package/dist/behaviors/exports/organisms/std-cicd-pipeline.orb +2214 -0
  64. package/dist/behaviors/exports/organisms/std-cms.orb +2644 -0
  65. package/dist/behaviors/exports/organisms/std-coding-academy.orb +1394 -0
  66. package/dist/behaviors/exports/organisms/std-crm.orb +3541 -0
  67. package/dist/behaviors/exports/organisms/std-devops-dashboard.orb +3134 -0
  68. package/dist/behaviors/exports/organisms/std-ecommerce.orb +3743 -0
  69. package/dist/behaviors/exports/organisms/std-finance-tracker.orb +2385 -0
  70. package/dist/behaviors/exports/organisms/std-healthcare.orb +4679 -0
  71. package/dist/behaviors/exports/organisms/std-helpdesk.orb +2564 -0
  72. package/dist/behaviors/exports/organisms/std-hr-portal.orb +4029 -0
  73. package/dist/behaviors/exports/organisms/std-iot-dashboard.orb +2297 -0
  74. package/dist/behaviors/exports/organisms/std-lms.orb +2854 -0
  75. package/dist/behaviors/exports/organisms/std-logic-training.orb +598 -0
  76. package/dist/behaviors/exports/organisms/std-platformer-app.orb +1569 -0
  77. package/dist/behaviors/exports/organisms/std-project-manager.orb +3021 -0
  78. package/dist/behaviors/exports/organisms/std-puzzle-app.orb +743 -0
  79. package/dist/behaviors/exports/organisms/std-realtime-chat.orb +2380 -0
  80. package/dist/behaviors/exports/organisms/std-rpg-game.orb +2804 -0
  81. package/dist/behaviors/exports/organisms/std-social-feed.orb +1221 -0
  82. package/dist/behaviors/exports/organisms/std-stem-lab.orb +1210 -0
  83. package/dist/behaviors/exports/organisms/std-strategy-game.orb +1761 -0
  84. package/dist/behaviors/exports/organisms/std-trading-dashboard.orb +2217 -0
  85. package/dist/behaviors/exports-reader.d.ts +2 -0
  86. package/dist/behaviors/exports-reader.js +5 -3
  87. package/dist/behaviors/exports-reader.js.map +1 -1
  88. package/dist/behaviors/index.js +5 -3
  89. package/dist/behaviors/index.js.map +1 -1
  90. package/dist/exports/atoms/std-async.orb +420 -0
  91. package/dist/exports/atoms/std-browse.orb +173 -0
  92. package/dist/exports/atoms/std-cache-aside.orb +881 -0
  93. package/dist/exports/atoms/std-circuit-breaker.orb +501 -0
  94. package/dist/exports/atoms/std-collision.orb +616 -0
  95. package/dist/exports/atoms/std-combat-log.orb +145 -0
  96. package/dist/exports/atoms/std-combat.orb +410 -0
  97. package/dist/exports/atoms/std-confirmation.orb +282 -0
  98. package/dist/exports/atoms/std-dialogue-box.orb +238 -0
  99. package/dist/exports/atoms/std-display.orb +842 -0
  100. package/dist/exports/atoms/std-drawer.orb +316 -0
  101. package/dist/exports/atoms/std-filter.orb +442 -0
  102. package/dist/exports/atoms/std-game-audio.orb +113 -0
  103. package/dist/exports/atoms/std-game-canvas-2d.orb +135 -0
  104. package/dist/exports/atoms/std-game-canvas-3d.orb +224 -0
  105. package/dist/exports/atoms/std-game-hud.orb +151 -0
  106. package/dist/exports/atoms/std-game-menu.orb +211 -0
  107. package/dist/exports/atoms/std-game-over-screen.orb +195 -0
  108. package/dist/exports/atoms/std-gameflow.orb +318 -0
  109. package/dist/exports/atoms/std-input.orb +629 -0
  110. package/dist/exports/atoms/std-inventory-panel.orb +255 -0
  111. package/dist/exports/atoms/std-isometric-canvas.orb +631 -0
  112. package/dist/exports/atoms/std-loading.orb +511 -0
  113. package/dist/exports/atoms/std-modal.orb +270 -0
  114. package/dist/exports/atoms/std-movement.orb +1037 -0
  115. package/dist/exports/atoms/std-notification.orb +418 -0
  116. package/dist/exports/atoms/std-overworld.orb +483 -0
  117. package/dist/exports/atoms/std-pagination.orb +331 -0
  118. package/dist/exports/atoms/std-physics2d.orb +419 -0
  119. package/dist/exports/atoms/std-platformer-canvas.orb +257 -0
  120. package/dist/exports/atoms/std-quest.orb +980 -0
  121. package/dist/exports/atoms/std-rate-limiter.orb +638 -0
  122. package/dist/exports/atoms/std-score-board.orb +238 -0
  123. package/dist/exports/atoms/std-score.orb +466 -0
  124. package/dist/exports/atoms/std-search.orb +373 -0
  125. package/dist/exports/atoms/std-selection.orb +759 -0
  126. package/dist/exports/atoms/std-simulation-canvas.orb +183 -0
  127. package/dist/exports/atoms/std-sort.orb +578 -0
  128. package/dist/exports/atoms/std-sprite.orb +156 -0
  129. package/dist/exports/atoms/std-tabs.orb +274 -0
  130. package/dist/exports/atoms/std-timer.orb +1030 -0
  131. package/dist/exports/atoms/std-undo.orb +694 -0
  132. package/dist/exports/atoms/std-wizard.orb +666 -0
  133. package/dist/exports/molecules/std-builder-game.orb +183 -0
  134. package/dist/exports/molecules/std-cart.orb +591 -0
  135. package/dist/exports/molecules/std-classifier-game.orb +183 -0
  136. package/dist/exports/molecules/std-debugger-game.orb +183 -0
  137. package/dist/exports/molecules/std-detail.orb +589 -0
  138. package/dist/exports/molecules/std-event-handler-game.orb +183 -0
  139. package/dist/exports/molecules/std-geospatial.orb +649 -0
  140. package/dist/exports/molecules/std-inventory.orb +853 -0
  141. package/dist/exports/molecules/std-list.orb +954 -0
  142. package/dist/exports/molecules/std-messaging.orb +585 -0
  143. package/dist/exports/molecules/std-negotiator-game.orb +183 -0
  144. package/dist/exports/molecules/std-platformer-game.orb +496 -0
  145. package/dist/exports/molecules/std-puzzle-game.orb +527 -0
  146. package/dist/exports/molecules/std-sequencer-game.orb +183 -0
  147. package/dist/exports/molecules/std-simulator-game.orb +183 -0
  148. package/dist/exports/molecules/std-turn-based-battle.orb +443 -0
  149. package/dist/exports/organisms/std-api-gateway.orb +2296 -0
  150. package/dist/exports/organisms/std-arcade-game.orb +833 -0
  151. package/dist/exports/organisms/std-booking-system.orb +3977 -0
  152. package/dist/exports/organisms/std-cicd-pipeline.orb +2214 -0
  153. package/dist/exports/organisms/std-cms.orb +2644 -0
  154. package/dist/exports/organisms/std-coding-academy.orb +1394 -0
  155. package/dist/exports/organisms/std-crm.orb +3541 -0
  156. package/dist/exports/organisms/std-devops-dashboard.orb +3134 -0
  157. package/dist/exports/organisms/std-ecommerce.orb +3743 -0
  158. package/dist/exports/organisms/std-finance-tracker.orb +2385 -0
  159. package/dist/exports/organisms/std-healthcare.orb +4679 -0
  160. package/dist/exports/organisms/std-helpdesk.orb +2564 -0
  161. package/dist/exports/organisms/std-hr-portal.orb +4029 -0
  162. package/dist/exports/organisms/std-iot-dashboard.orb +2297 -0
  163. package/dist/exports/organisms/std-lms.orb +2854 -0
  164. package/dist/exports/organisms/std-logic-training.orb +598 -0
  165. package/dist/exports/organisms/std-platformer-app.orb +1569 -0
  166. package/dist/exports/organisms/std-project-manager.orb +3021 -0
  167. package/dist/exports/organisms/std-puzzle-app.orb +743 -0
  168. package/dist/exports/organisms/std-realtime-chat.orb +2380 -0
  169. package/dist/exports/organisms/std-rpg-game.orb +2804 -0
  170. package/dist/exports/organisms/std-social-feed.orb +1221 -0
  171. package/dist/exports/organisms/std-stem-lab.orb +1210 -0
  172. package/dist/exports/organisms/std-strategy-game.orb +1761 -0
  173. package/dist/exports/organisms/std-trading-dashboard.orb +2217 -0
  174. package/dist/index.js +5 -3
  175. package/dist/index.js.map +1 -1
  176. package/package.json +1 -1
@@ -0,0 +1,954 @@
1
+ {
2
+ "name": "ItemOrbital",
3
+ "orbitals": [
4
+ {
5
+ "name": "ItemOrbital",
6
+ "entity": {
7
+ "name": "Item",
8
+ "persistence": "runtime",
9
+ "fields": [
10
+ {
11
+ "name": "id",
12
+ "type": "string"
13
+ },
14
+ {
15
+ "name": "name",
16
+ "type": "string"
17
+ },
18
+ {
19
+ "name": "description",
20
+ "type": "string"
21
+ },
22
+ {
23
+ "name": "status",
24
+ "type": "string",
25
+ "default": "active"
26
+ },
27
+ {
28
+ "name": "createdAt",
29
+ "type": "string"
30
+ }
31
+ ]
32
+ },
33
+ "traits": [
34
+ {
35
+ "name": "ItemBrowse",
36
+ "linkedEntity": "Item",
37
+ "category": "interaction",
38
+ "listens": [
39
+ {
40
+ "event": "ITEM_CREATED",
41
+ "triggers": "ITEM_CREATED"
42
+ },
43
+ {
44
+ "event": "ITEM_UPDATED",
45
+ "triggers": "ITEM_UPDATED"
46
+ }
47
+ ],
48
+ "stateMachine": {
49
+ "states": [
50
+ {
51
+ "name": "browsing",
52
+ "isInitial": true
53
+ },
54
+ {
55
+ "name": "deleting"
56
+ }
57
+ ],
58
+ "events": [
59
+ {
60
+ "key": "INIT",
61
+ "name": "Initialize"
62
+ },
63
+ {
64
+ "key": "CREATE",
65
+ "name": "CREATE"
66
+ },
67
+ {
68
+ "key": "VIEW",
69
+ "name": "VIEW",
70
+ "payload": [
71
+ {
72
+ "name": "id",
73
+ "type": "string",
74
+ "required": true
75
+ }
76
+ ]
77
+ },
78
+ {
79
+ "key": "EDIT",
80
+ "name": "EDIT",
81
+ "payload": [
82
+ {
83
+ "name": "id",
84
+ "type": "string",
85
+ "required": true
86
+ }
87
+ ]
88
+ },
89
+ {
90
+ "key": "DELETE",
91
+ "name": "DELETE",
92
+ "payload": [
93
+ {
94
+ "name": "id",
95
+ "type": "string",
96
+ "required": true
97
+ }
98
+ ]
99
+ },
100
+ {
101
+ "key": "ITEM_CREATED",
102
+ "name": "ITEM_CREATED",
103
+ "payload": [
104
+ {
105
+ "name": "data",
106
+ "type": "object",
107
+ "required": true
108
+ }
109
+ ]
110
+ },
111
+ {
112
+ "key": "ITEM_UPDATED",
113
+ "name": "ITEM_UPDATED",
114
+ "payload": [
115
+ {
116
+ "name": "data",
117
+ "type": "object",
118
+ "required": true
119
+ }
120
+ ]
121
+ },
122
+ {
123
+ "key": "CONFIRM_DELETE",
124
+ "name": "Confirm Delete"
125
+ },
126
+ {
127
+ "key": "CANCEL",
128
+ "name": "Cancel"
129
+ },
130
+ {
131
+ "key": "CLOSE",
132
+ "name": "Close"
133
+ }
134
+ ],
135
+ "transitions": [
136
+ {
137
+ "from": "browsing",
138
+ "to": "browsing",
139
+ "event": "INIT",
140
+ "effects": [
141
+ [
142
+ "fetch",
143
+ "Item"
144
+ ],
145
+ [
146
+ "render-ui",
147
+ "main",
148
+ {
149
+ "type": "stack",
150
+ "direction": "vertical",
151
+ "gap": "lg",
152
+ "children": [
153
+ {
154
+ "type": "stack",
155
+ "direction": "horizontal",
156
+ "gap": "md",
157
+ "justify": "space-between",
158
+ "children": [
159
+ {
160
+ "type": "stack",
161
+ "direction": "horizontal",
162
+ "gap": "sm",
163
+ "align": "center",
164
+ "children": [
165
+ {
166
+ "type": "icon",
167
+ "name": "list",
168
+ "size": "lg"
169
+ },
170
+ {
171
+ "type": "typography",
172
+ "content": "Items",
173
+ "variant": "h2"
174
+ }
175
+ ]
176
+ },
177
+ {
178
+ "type": "stack",
179
+ "direction": "horizontal",
180
+ "gap": "sm",
181
+ "children": [
182
+ {
183
+ "type": "button",
184
+ "label": "Create Item",
185
+ "event": "CREATE",
186
+ "variant": "primary",
187
+ "icon": "plus"
188
+ }
189
+ ]
190
+ }
191
+ ]
192
+ },
193
+ {
194
+ "type": "divider"
195
+ },
196
+ {
197
+ "type": "data-grid",
198
+ "entity": "Item",
199
+ "emptyIcon": "inbox",
200
+ "emptyTitle": "No items yet",
201
+ "emptyDescription": "Create your first item to get started.",
202
+ "itemActions": [
203
+ {
204
+ "label": "View",
205
+ "event": "VIEW"
206
+ },
207
+ {
208
+ "label": "Edit",
209
+ "event": "EDIT"
210
+ },
211
+ {
212
+ "label": "Delete",
213
+ "event": "DELETE",
214
+ "variant": "danger"
215
+ }
216
+ ],
217
+ "className": "transition-shadow hover:shadow-md cursor-pointer",
218
+ "children": [
219
+ {
220
+ "type": "stack",
221
+ "direction": "vertical",
222
+ "gap": "sm",
223
+ "children": [
224
+ {
225
+ "type": "stack",
226
+ "direction": "horizontal",
227
+ "justify": "space-between",
228
+ "align": "center",
229
+ "children": [
230
+ {
231
+ "type": "stack",
232
+ "direction": "horizontal",
233
+ "gap": "sm",
234
+ "align": "center",
235
+ "children": [
236
+ {
237
+ "type": "icon",
238
+ "name": "list",
239
+ "size": "sm"
240
+ },
241
+ {
242
+ "type": "typography",
243
+ "variant": "h4",
244
+ "content": "@entity.name"
245
+ }
246
+ ]
247
+ },
248
+ {
249
+ "type": "badge",
250
+ "label": "@entity.description"
251
+ }
252
+ ]
253
+ },
254
+ {
255
+ "type": "typography",
256
+ "variant": "caption",
257
+ "color": "muted",
258
+ "content": "@entity.status"
259
+ }
260
+ ]
261
+ }
262
+ ]
263
+ }
264
+ ]
265
+ }
266
+ ]
267
+ ]
268
+ },
269
+ {
270
+ "from": "browsing",
271
+ "to": "browsing",
272
+ "event": "ITEM_CREATED",
273
+ "effects": [
274
+ [
275
+ "fetch",
276
+ "Item"
277
+ ]
278
+ ]
279
+ },
280
+ {
281
+ "from": "browsing",
282
+ "to": "browsing",
283
+ "event": "ITEM_UPDATED",
284
+ "effects": [
285
+ [
286
+ "fetch",
287
+ "Item"
288
+ ]
289
+ ]
290
+ },
291
+ {
292
+ "from": "browsing",
293
+ "to": "deleting",
294
+ "event": "DELETE",
295
+ "effects": [
296
+ [
297
+ "fetch",
298
+ "Item",
299
+ "@payload.id"
300
+ ],
301
+ [
302
+ "render-ui",
303
+ "modal",
304
+ {
305
+ "type": "stack",
306
+ "direction": "vertical",
307
+ "gap": "md",
308
+ "children": [
309
+ {
310
+ "type": "stack",
311
+ "direction": "horizontal",
312
+ "gap": "sm",
313
+ "children": [
314
+ {
315
+ "type": "icon",
316
+ "name": "trash-2",
317
+ "size": "md"
318
+ },
319
+ {
320
+ "type": "typography",
321
+ "content": "Delete Item",
322
+ "variant": "h3"
323
+ }
324
+ ]
325
+ },
326
+ {
327
+ "type": "divider"
328
+ },
329
+ {
330
+ "type": "typography",
331
+ "content": "Are you sure you want to delete this item?",
332
+ "variant": "body"
333
+ },
334
+ {
335
+ "type": "stack",
336
+ "direction": "horizontal",
337
+ "gap": "sm",
338
+ "justify": "end",
339
+ "children": [
340
+ {
341
+ "type": "button",
342
+ "label": "Cancel",
343
+ "event": "CANCEL",
344
+ "variant": "ghost"
345
+ },
346
+ {
347
+ "type": "button",
348
+ "label": "Delete",
349
+ "event": "CONFIRM_DELETE",
350
+ "variant": "danger",
351
+ "icon": "trash"
352
+ }
353
+ ]
354
+ }
355
+ ]
356
+ }
357
+ ]
358
+ ]
359
+ },
360
+ {
361
+ "from": "deleting",
362
+ "to": "browsing",
363
+ "event": "CONFIRM_DELETE",
364
+ "effects": [
365
+ [
366
+ "persist",
367
+ "delete",
368
+ "Item",
369
+ "@entity.id"
370
+ ],
371
+ [
372
+ "render-ui",
373
+ "modal",
374
+ null
375
+ ],
376
+ [
377
+ "fetch",
378
+ "Item"
379
+ ],
380
+ [
381
+ "notify",
382
+ "Item deleted successfully"
383
+ ]
384
+ ]
385
+ },
386
+ {
387
+ "from": "deleting",
388
+ "to": "browsing",
389
+ "event": "CANCEL",
390
+ "effects": [
391
+ [
392
+ "render-ui",
393
+ "modal",
394
+ null
395
+ ]
396
+ ]
397
+ },
398
+ {
399
+ "from": "deleting",
400
+ "to": "browsing",
401
+ "event": "CLOSE",
402
+ "effects": [
403
+ [
404
+ "render-ui",
405
+ "modal",
406
+ null
407
+ ]
408
+ ]
409
+ }
410
+ ]
411
+ }
412
+ },
413
+ {
414
+ "name": "ItemCreate",
415
+ "linkedEntity": "Item",
416
+ "category": "interaction",
417
+ "emits": [
418
+ {
419
+ "event": "ITEM_CREATED"
420
+ }
421
+ ],
422
+ "stateMachine": {
423
+ "states": [
424
+ {
425
+ "name": "closed",
426
+ "isInitial": true
427
+ },
428
+ {
429
+ "name": "open"
430
+ }
431
+ ],
432
+ "events": [
433
+ {
434
+ "key": "INIT",
435
+ "name": "Initialize"
436
+ },
437
+ {
438
+ "key": "CREATE",
439
+ "name": "Open"
440
+ },
441
+ {
442
+ "key": "CLOSE",
443
+ "name": "Close"
444
+ },
445
+ {
446
+ "key": "SAVE",
447
+ "name": "Save",
448
+ "payload": [
449
+ {
450
+ "name": "data",
451
+ "type": "object",
452
+ "required": true
453
+ }
454
+ ]
455
+ }
456
+ ],
457
+ "transitions": [
458
+ {
459
+ "from": "closed",
460
+ "to": "closed",
461
+ "event": "INIT",
462
+ "effects": [
463
+ [
464
+ "fetch",
465
+ "Item"
466
+ ]
467
+ ]
468
+ },
469
+ {
470
+ "from": "closed",
471
+ "to": "open",
472
+ "event": "CREATE",
473
+ "effects": [
474
+ [
475
+ "fetch",
476
+ "Item"
477
+ ],
478
+ [
479
+ "render-ui",
480
+ "modal",
481
+ {
482
+ "type": "stack",
483
+ "direction": "vertical",
484
+ "gap": "md",
485
+ "children": [
486
+ {
487
+ "type": "stack",
488
+ "direction": "horizontal",
489
+ "gap": "sm",
490
+ "children": [
491
+ {
492
+ "type": "icon",
493
+ "name": "plus-circle",
494
+ "size": "md"
495
+ },
496
+ {
497
+ "type": "typography",
498
+ "content": "Create Item",
499
+ "variant": "h3"
500
+ }
501
+ ]
502
+ },
503
+ {
504
+ "type": "divider"
505
+ },
506
+ {
507
+ "type": "form-section",
508
+ "entity": "Item",
509
+ "mode": "create",
510
+ "submitEvent": "SAVE",
511
+ "cancelEvent": "CLOSE",
512
+ "fields": [
513
+ "name",
514
+ "description",
515
+ "status",
516
+ "createdAt"
517
+ ]
518
+ }
519
+ ]
520
+ }
521
+ ]
522
+ ]
523
+ },
524
+ {
525
+ "from": "open",
526
+ "to": "closed",
527
+ "event": "CLOSE",
528
+ "effects": [
529
+ [
530
+ "render-ui",
531
+ "modal",
532
+ null
533
+ ]
534
+ ]
535
+ },
536
+ {
537
+ "from": "open",
538
+ "to": "closed",
539
+ "event": "SAVE",
540
+ "effects": [
541
+ [
542
+ "persist",
543
+ "create",
544
+ "Item",
545
+ "@payload.data"
546
+ ],
547
+ [
548
+ "fetch",
549
+ "Item"
550
+ ],
551
+ [
552
+ "render-ui",
553
+ "modal",
554
+ null
555
+ ],
556
+ [
557
+ "emit",
558
+ "ITEM_CREATED"
559
+ ],
560
+ [
561
+ "notify",
562
+ "Item created successfully"
563
+ ]
564
+ ]
565
+ }
566
+ ]
567
+ }
568
+ },
569
+ {
570
+ "name": "ItemEdit",
571
+ "linkedEntity": "Item",
572
+ "category": "interaction",
573
+ "emits": [
574
+ {
575
+ "event": "ITEM_UPDATED"
576
+ }
577
+ ],
578
+ "stateMachine": {
579
+ "states": [
580
+ {
581
+ "name": "closed",
582
+ "isInitial": true
583
+ },
584
+ {
585
+ "name": "open"
586
+ }
587
+ ],
588
+ "events": [
589
+ {
590
+ "key": "INIT",
591
+ "name": "Initialize"
592
+ },
593
+ {
594
+ "key": "EDIT",
595
+ "name": "Open",
596
+ "payload": [
597
+ {
598
+ "name": "id",
599
+ "type": "string",
600
+ "required": true
601
+ }
602
+ ]
603
+ },
604
+ {
605
+ "key": "CLOSE",
606
+ "name": "Close"
607
+ },
608
+ {
609
+ "key": "SAVE",
610
+ "name": "Save",
611
+ "payload": [
612
+ {
613
+ "name": "data",
614
+ "type": "object",
615
+ "required": true
616
+ }
617
+ ]
618
+ }
619
+ ],
620
+ "transitions": [
621
+ {
622
+ "from": "closed",
623
+ "to": "closed",
624
+ "event": "INIT",
625
+ "effects": [
626
+ [
627
+ "fetch",
628
+ "Item"
629
+ ]
630
+ ]
631
+ },
632
+ {
633
+ "from": "closed",
634
+ "to": "open",
635
+ "event": "EDIT",
636
+ "effects": [
637
+ [
638
+ "fetch",
639
+ "Item",
640
+ "@payload.id"
641
+ ],
642
+ [
643
+ "render-ui",
644
+ "modal",
645
+ {
646
+ "type": "stack",
647
+ "direction": "vertical",
648
+ "gap": "md",
649
+ "children": [
650
+ {
651
+ "type": "stack",
652
+ "direction": "horizontal",
653
+ "gap": "sm",
654
+ "children": [
655
+ {
656
+ "type": "icon",
657
+ "name": "edit",
658
+ "size": "md"
659
+ },
660
+ {
661
+ "type": "typography",
662
+ "content": "Edit Item",
663
+ "variant": "h3"
664
+ }
665
+ ]
666
+ },
667
+ {
668
+ "type": "divider"
669
+ },
670
+ {
671
+ "type": "form-section",
672
+ "entity": "Item",
673
+ "mode": "edit",
674
+ "submitEvent": "SAVE",
675
+ "cancelEvent": "CLOSE",
676
+ "fields": [
677
+ "name",
678
+ "description",
679
+ "status",
680
+ "createdAt"
681
+ ]
682
+ }
683
+ ]
684
+ }
685
+ ]
686
+ ]
687
+ },
688
+ {
689
+ "from": "open",
690
+ "to": "closed",
691
+ "event": "CLOSE",
692
+ "effects": [
693
+ [
694
+ "render-ui",
695
+ "modal",
696
+ null
697
+ ]
698
+ ]
699
+ },
700
+ {
701
+ "from": "open",
702
+ "to": "closed",
703
+ "event": "SAVE",
704
+ "effects": [
705
+ [
706
+ "persist",
707
+ "update",
708
+ "Item",
709
+ "@payload.data"
710
+ ],
711
+ [
712
+ "fetch",
713
+ "Item"
714
+ ],
715
+ [
716
+ "render-ui",
717
+ "modal",
718
+ null
719
+ ],
720
+ [
721
+ "emit",
722
+ "ITEM_UPDATED"
723
+ ],
724
+ [
725
+ "notify",
726
+ "Item updated successfully"
727
+ ]
728
+ ]
729
+ }
730
+ ]
731
+ }
732
+ },
733
+ {
734
+ "name": "ItemView",
735
+ "linkedEntity": "Item",
736
+ "category": "interaction",
737
+ "stateMachine": {
738
+ "states": [
739
+ {
740
+ "name": "closed",
741
+ "isInitial": true
742
+ },
743
+ {
744
+ "name": "open"
745
+ }
746
+ ],
747
+ "events": [
748
+ {
749
+ "key": "INIT",
750
+ "name": "Initialize"
751
+ },
752
+ {
753
+ "key": "VIEW",
754
+ "name": "Open",
755
+ "payload": [
756
+ {
757
+ "name": "id",
758
+ "type": "string",
759
+ "required": true
760
+ }
761
+ ]
762
+ },
763
+ {
764
+ "key": "CLOSE",
765
+ "name": "Close"
766
+ }
767
+ ],
768
+ "transitions": [
769
+ {
770
+ "from": "closed",
771
+ "to": "closed",
772
+ "event": "INIT",
773
+ "effects": [
774
+ [
775
+ "fetch",
776
+ "Item"
777
+ ]
778
+ ]
779
+ },
780
+ {
781
+ "from": "closed",
782
+ "to": "open",
783
+ "event": "VIEW",
784
+ "effects": [
785
+ [
786
+ "fetch",
787
+ "Item",
788
+ "@payload.id"
789
+ ],
790
+ [
791
+ "render-ui",
792
+ "modal",
793
+ {
794
+ "type": "stack",
795
+ "direction": "vertical",
796
+ "gap": "md",
797
+ "children": [
798
+ {
799
+ "type": "stack",
800
+ "direction": "horizontal",
801
+ "gap": "sm",
802
+ "align": "center",
803
+ "children": [
804
+ {
805
+ "type": "icon",
806
+ "name": "eye",
807
+ "size": "md"
808
+ },
809
+ {
810
+ "type": "typography",
811
+ "variant": "h3",
812
+ "content": "@entity.name"
813
+ }
814
+ ]
815
+ },
816
+ {
817
+ "type": "divider"
818
+ },
819
+ {
820
+ "type": "stack",
821
+ "direction": "horizontal",
822
+ "gap": "md",
823
+ "children": [
824
+ {
825
+ "type": "typography",
826
+ "variant": "caption",
827
+ "content": "Name"
828
+ },
829
+ {
830
+ "type": "typography",
831
+ "variant": "body",
832
+ "content": "@entity.name"
833
+ }
834
+ ]
835
+ },
836
+ {
837
+ "type": "stack",
838
+ "direction": "horizontal",
839
+ "gap": "md",
840
+ "children": [
841
+ {
842
+ "type": "typography",
843
+ "variant": "caption",
844
+ "content": "Description"
845
+ },
846
+ {
847
+ "type": "typography",
848
+ "variant": "body",
849
+ "content": "@entity.description"
850
+ }
851
+ ]
852
+ },
853
+ {
854
+ "type": "stack",
855
+ "direction": "horizontal",
856
+ "gap": "md",
857
+ "children": [
858
+ {
859
+ "type": "typography",
860
+ "variant": "caption",
861
+ "content": "Status"
862
+ },
863
+ {
864
+ "type": "typography",
865
+ "variant": "body",
866
+ "content": "@entity.status"
867
+ }
868
+ ]
869
+ },
870
+ {
871
+ "type": "stack",
872
+ "direction": "horizontal",
873
+ "gap": "md",
874
+ "children": [
875
+ {
876
+ "type": "typography",
877
+ "variant": "caption",
878
+ "content": "CreatedAt"
879
+ },
880
+ {
881
+ "type": "typography",
882
+ "variant": "body",
883
+ "content": "@entity.createdAt"
884
+ }
885
+ ]
886
+ },
887
+ {
888
+ "type": "divider"
889
+ },
890
+ {
891
+ "type": "stack",
892
+ "direction": "horizontal",
893
+ "gap": "sm",
894
+ "justify": "end",
895
+ "children": [
896
+ {
897
+ "type": "button",
898
+ "label": "Edit",
899
+ "event": "EDIT",
900
+ "variant": "primary",
901
+ "icon": "edit"
902
+ },
903
+ {
904
+ "type": "button",
905
+ "label": "Close",
906
+ "event": "CLOSE",
907
+ "variant": "ghost"
908
+ }
909
+ ]
910
+ }
911
+ ]
912
+ }
913
+ ]
914
+ ]
915
+ },
916
+ {
917
+ "from": "open",
918
+ "to": "closed",
919
+ "event": "CLOSE",
920
+ "effects": [
921
+ [
922
+ "render-ui",
923
+ "modal",
924
+ null
925
+ ]
926
+ ]
927
+ }
928
+ ]
929
+ }
930
+ }
931
+ ],
932
+ "pages": [
933
+ {
934
+ "name": "ItemPage",
935
+ "path": "/items",
936
+ "traits": [
937
+ {
938
+ "ref": "ItemBrowse"
939
+ },
940
+ {
941
+ "ref": "ItemCreate"
942
+ },
943
+ {
944
+ "ref": "ItemEdit"
945
+ },
946
+ {
947
+ "ref": "ItemView"
948
+ }
949
+ ]
950
+ }
951
+ ]
952
+ }
953
+ ]
954
+ }