@almadar/std 3.1.0 → 3.1.2

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