@almadar/std 14.26.0 → 14.28.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 (175) hide show
  1. package/behaviors/registry/app/atoms/std-applicant.orb +496 -42
  2. package/behaviors/registry/app/atoms/std-approval-chain.orb +106 -0
  3. package/behaviors/registry/app/atoms/std-approval-request.orb +433 -593
  4. package/behaviors/registry/app/atoms/std-campaign-goal.orb +438 -228
  5. package/behaviors/registry/app/atoms/std-change-order.orb +565 -307
  6. package/behaviors/registry/app/atoms/std-chart-of-accounts.orb +434 -97
  7. package/behaviors/registry/app/atoms/std-checkin.orb +434 -270
  8. package/behaviors/registry/app/atoms/std-class-roster.orb +495 -61
  9. package/behaviors/registry/app/atoms/std-class-session.orb +485 -104
  10. package/behaviors/registry/app/atoms/std-court-deadline.orb +519 -88
  11. package/behaviors/registry/app/atoms/std-customer-account.orb +577 -97
  12. package/behaviors/registry/app/atoms/std-donation-receipt.orb +498 -55
  13. package/behaviors/registry/app/atoms/std-donor.orb +445 -135
  14. package/behaviors/registry/app/atoms/std-drip-sequence.orb +445 -62
  15. package/behaviors/registry/app/atoms/std-driver.orb +465 -480
  16. package/behaviors/registry/app/atoms/std-dunning.orb +450 -512
  17. package/behaviors/registry/app/atoms/std-email-broadcast.orb +517 -64
  18. package/behaviors/registry/app/atoms/std-event.orb +465 -667
  19. package/behaviors/registry/app/atoms/std-health-score.orb +368 -371
  20. package/behaviors/registry/app/atoms/std-help-article.orb +373 -506
  21. package/behaviors/registry/app/atoms/std-help-category.orb +344 -359
  22. package/behaviors/registry/app/atoms/std-interview-slot.orb +490 -48
  23. package/behaviors/registry/app/atoms/std-invoice.orb +494 -291
  24. package/behaviors/registry/app/atoms/std-kitchen-display.orb +588 -96
  25. package/behaviors/registry/app/atoms/std-lease.orb +506 -190
  26. package/behaviors/registry/app/atoms/std-ledger-entry.orb +483 -154
  27. package/behaviors/registry/app/atoms/std-maintenance-request.orb +642 -192
  28. package/behaviors/registry/app/atoms/std-matter.orb +486 -318
  29. package/behaviors/registry/app/atoms/std-membership.orb +512 -102
  30. package/behaviors/registry/app/atoms/std-menu.orb +775 -183
  31. package/behaviors/registry/app/atoms/std-modifier-group.orb +522 -104
  32. package/behaviors/registry/app/atoms/std-multi-party-transaction.orb +130 -0
  33. package/behaviors/registry/app/atoms/std-nps-survey.orb +319 -327
  34. package/behaviors/registry/app/atoms/std-offer-letter.orb +497 -47
  35. package/behaviors/registry/app/atoms/std-payout-ledger.orb +378 -362
  36. package/behaviors/registry/app/atoms/std-pipeline.orb +139 -0
  37. package/behaviors/registry/app/atoms/std-question-bank.orb +379 -346
  38. package/behaviors/registry/app/atoms/std-receipt.orb +553 -44
  39. package/behaviors/registry/app/atoms/std-recurring-charge.orb +419 -832
  40. package/behaviors/registry/app/atoms/std-recurring-schedule.orb +94 -0
  41. package/behaviors/registry/app/atoms/std-renewal-risk.orb +370 -421
  42. package/behaviors/registry/app/atoms/std-rent-charge.orb +657 -55
  43. package/behaviors/registry/app/atoms/std-reorder-rule.orb +510 -59
  44. package/behaviors/registry/app/atoms/std-response-collector.orb +451 -144
  45. package/behaviors/registry/app/atoms/std-rfi.orb +502 -461
  46. package/behaviors/registry/app/atoms/std-route-optimize.orb +448 -158
  47. package/behaviors/registry/app/atoms/std-segment.orb +360 -98
  48. package/behaviors/registry/app/atoms/std-stock-level.orb +486 -103
  49. package/behaviors/registry/app/atoms/std-submittal.orb +538 -526
  50. package/behaviors/registry/app/atoms/std-table-map.orb +88 -51
  51. package/behaviors/registry/app/atoms/std-technician-dispatch.orb +653 -71
  52. package/behaviors/registry/app/atoms/std-telematics-event.orb +310 -215
  53. package/behaviors/registry/app/atoms/std-template-editor.orb +513 -90
  54. package/behaviors/registry/app/atoms/std-tenant.orb +525 -66
  55. package/behaviors/registry/app/atoms/std-ticket-tier.orb +472 -460
  56. package/behaviors/registry/app/atoms/std-time-entry.orb +354 -317
  57. package/behaviors/registry/app/atoms/std-timeline.orb +108 -0
  58. package/behaviors/registry/app/atoms/std-timesheet.orb +551 -284
  59. package/behaviors/registry/app/atoms/std-trial.orb +410 -317
  60. package/behaviors/registry/app/atoms/std-vehicle.orb +398 -563
  61. package/behaviors/registry/app/atoms/std-waitlist.orb +372 -283
  62. package/behaviors/registry/app/atoms/std-warehouse.orb +273 -214
  63. package/behaviors/registry/app/atoms/std-wizard-branching.orb +129 -0
  64. package/behaviors/registry/app/atoms/std-work-order.orb +628 -240
  65. package/behaviors/registry/app/molecules/std-applicant-form.orb +89 -83
  66. package/behaviors/registry/app/molecules/std-application.orb +178 -263
  67. package/behaviors/registry/app/molecules/std-broadcast-builder.orb +67 -176
  68. package/behaviors/registry/app/molecules/std-cart.orb +78 -72
  69. package/behaviors/registry/app/molecules/std-form-builder.orb +437 -176
  70. package/behaviors/registry/app/molecules/std-ledger-entry-form.orb +608 -89
  71. package/behaviors/registry/app/molecules/std-stock-adjustment.orb +501 -102
  72. package/behaviors/registry/app/molecules/std-vendor-onboarding.orb +383 -469
  73. package/behaviors/registry/core/atoms/std-billable-hour.orb +495 -91
  74. package/behaviors/registry/core/atoms/std-board.orb +1367 -0
  75. package/behaviors/registry/core/atoms/std-branching-logic.orb +271 -600
  76. package/behaviors/registry/core/atoms/std-event-log.orb +777 -0
  77. package/behaviors/registry/core/atoms/std-file-store.orb +534 -164
  78. package/behaviors/registry/core/atoms/std-gallery.orb +118 -101
  79. package/behaviors/registry/core/atoms/std-image-upload-multi.orb +87 -57
  80. package/behaviors/registry/core/atoms/std-multi-party-flow.orb +1313 -0
  81. package/behaviors/registry/core/atoms/std-page-tree.orb +342 -484
  82. package/behaviors/registry/core/atoms/std-recurrence.orb +937 -0
  83. package/behaviors/registry/core/atoms/std-rich-editor.orb +288 -416
  84. package/behaviors/registry/core/atoms/std-step-flow.orb +1155 -0
  85. package/behaviors/registry/core/atoms/std-version-history.orb +454 -430
  86. package/behaviors/registry/core/atoms/std-wizard.orb +1085 -0
  87. package/behaviors/registry/core/molecules/std-wizard-form.orb +222 -147
  88. package/dist/behaviors/registry/app/atoms/std-applicant.orb +496 -42
  89. package/dist/behaviors/registry/app/atoms/std-approval-chain.orb +106 -0
  90. package/dist/behaviors/registry/app/atoms/std-approval-request.orb +433 -593
  91. package/dist/behaviors/registry/app/atoms/std-campaign-goal.orb +438 -228
  92. package/dist/behaviors/registry/app/atoms/std-change-order.orb +565 -307
  93. package/dist/behaviors/registry/app/atoms/std-chart-of-accounts.orb +434 -97
  94. package/dist/behaviors/registry/app/atoms/std-checkin.orb +434 -270
  95. package/dist/behaviors/registry/app/atoms/std-class-roster.orb +495 -61
  96. package/dist/behaviors/registry/app/atoms/std-class-session.orb +485 -104
  97. package/dist/behaviors/registry/app/atoms/std-court-deadline.orb +519 -88
  98. package/dist/behaviors/registry/app/atoms/std-customer-account.orb +577 -97
  99. package/dist/behaviors/registry/app/atoms/std-donation-receipt.orb +498 -55
  100. package/dist/behaviors/registry/app/atoms/std-donor.orb +445 -135
  101. package/dist/behaviors/registry/app/atoms/std-drip-sequence.orb +445 -62
  102. package/dist/behaviors/registry/app/atoms/std-driver.orb +465 -480
  103. package/dist/behaviors/registry/app/atoms/std-dunning.orb +450 -512
  104. package/dist/behaviors/registry/app/atoms/std-email-broadcast.orb +517 -64
  105. package/dist/behaviors/registry/app/atoms/std-event.orb +465 -667
  106. package/dist/behaviors/registry/app/atoms/std-health-score.orb +368 -371
  107. package/dist/behaviors/registry/app/atoms/std-help-article.orb +373 -506
  108. package/dist/behaviors/registry/app/atoms/std-help-category.orb +344 -359
  109. package/dist/behaviors/registry/app/atoms/std-interview-slot.orb +490 -48
  110. package/dist/behaviors/registry/app/atoms/std-invoice.orb +494 -291
  111. package/dist/behaviors/registry/app/atoms/std-kitchen-display.orb +588 -96
  112. package/dist/behaviors/registry/app/atoms/std-lease.orb +506 -190
  113. package/dist/behaviors/registry/app/atoms/std-ledger-entry.orb +483 -154
  114. package/dist/behaviors/registry/app/atoms/std-maintenance-request.orb +642 -192
  115. package/dist/behaviors/registry/app/atoms/std-matter.orb +486 -318
  116. package/dist/behaviors/registry/app/atoms/std-membership.orb +512 -102
  117. package/dist/behaviors/registry/app/atoms/std-menu.orb +775 -183
  118. package/dist/behaviors/registry/app/atoms/std-modifier-group.orb +522 -104
  119. package/dist/behaviors/registry/app/atoms/std-multi-party-transaction.orb +130 -0
  120. package/dist/behaviors/registry/app/atoms/std-nps-survey.orb +319 -327
  121. package/dist/behaviors/registry/app/atoms/std-offer-letter.orb +497 -47
  122. package/dist/behaviors/registry/app/atoms/std-payout-ledger.orb +378 -362
  123. package/dist/behaviors/registry/app/atoms/std-pipeline.orb +139 -0
  124. package/dist/behaviors/registry/app/atoms/std-question-bank.orb +379 -346
  125. package/dist/behaviors/registry/app/atoms/std-receipt.orb +553 -44
  126. package/dist/behaviors/registry/app/atoms/std-recurring-charge.orb +419 -832
  127. package/dist/behaviors/registry/app/atoms/std-recurring-schedule.orb +94 -0
  128. package/dist/behaviors/registry/app/atoms/std-renewal-risk.orb +370 -421
  129. package/dist/behaviors/registry/app/atoms/std-rent-charge.orb +657 -55
  130. package/dist/behaviors/registry/app/atoms/std-reorder-rule.orb +510 -59
  131. package/dist/behaviors/registry/app/atoms/std-response-collector.orb +451 -144
  132. package/dist/behaviors/registry/app/atoms/std-rfi.orb +502 -461
  133. package/dist/behaviors/registry/app/atoms/std-route-optimize.orb +448 -158
  134. package/dist/behaviors/registry/app/atoms/std-segment.orb +360 -98
  135. package/dist/behaviors/registry/app/atoms/std-stock-level.orb +486 -103
  136. package/dist/behaviors/registry/app/atoms/std-submittal.orb +538 -526
  137. package/dist/behaviors/registry/app/atoms/std-table-map.orb +88 -51
  138. package/dist/behaviors/registry/app/atoms/std-technician-dispatch.orb +653 -71
  139. package/dist/behaviors/registry/app/atoms/std-telematics-event.orb +310 -215
  140. package/dist/behaviors/registry/app/atoms/std-template-editor.orb +513 -90
  141. package/dist/behaviors/registry/app/atoms/std-tenant.orb +525 -66
  142. package/dist/behaviors/registry/app/atoms/std-ticket-tier.orb +472 -460
  143. package/dist/behaviors/registry/app/atoms/std-time-entry.orb +354 -317
  144. package/dist/behaviors/registry/app/atoms/std-timeline.orb +108 -0
  145. package/dist/behaviors/registry/app/atoms/std-timesheet.orb +551 -284
  146. package/dist/behaviors/registry/app/atoms/std-trial.orb +410 -317
  147. package/dist/behaviors/registry/app/atoms/std-vehicle.orb +398 -563
  148. package/dist/behaviors/registry/app/atoms/std-waitlist.orb +372 -283
  149. package/dist/behaviors/registry/app/atoms/std-warehouse.orb +273 -214
  150. package/dist/behaviors/registry/app/atoms/std-wizard-branching.orb +129 -0
  151. package/dist/behaviors/registry/app/atoms/std-work-order.orb +628 -240
  152. package/dist/behaviors/registry/app/molecules/std-applicant-form.orb +89 -83
  153. package/dist/behaviors/registry/app/molecules/std-application.orb +178 -263
  154. package/dist/behaviors/registry/app/molecules/std-broadcast-builder.orb +67 -176
  155. package/dist/behaviors/registry/app/molecules/std-cart.orb +78 -72
  156. package/dist/behaviors/registry/app/molecules/std-form-builder.orb +437 -176
  157. package/dist/behaviors/registry/app/molecules/std-ledger-entry-form.orb +608 -89
  158. package/dist/behaviors/registry/app/molecules/std-stock-adjustment.orb +501 -102
  159. package/dist/behaviors/registry/app/molecules/std-vendor-onboarding.orb +383 -469
  160. package/dist/behaviors/registry/core/atoms/std-billable-hour.orb +495 -91
  161. package/dist/behaviors/registry/core/atoms/std-board.orb +1367 -0
  162. package/dist/behaviors/registry/core/atoms/std-branching-logic.orb +271 -600
  163. package/dist/behaviors/registry/core/atoms/std-event-log.orb +777 -0
  164. package/dist/behaviors/registry/core/atoms/std-file-store.orb +534 -164
  165. package/dist/behaviors/registry/core/atoms/std-gallery.orb +118 -101
  166. package/dist/behaviors/registry/core/atoms/std-image-upload-multi.orb +87 -57
  167. package/dist/behaviors/registry/core/atoms/std-multi-party-flow.orb +1313 -0
  168. package/dist/behaviors/registry/core/atoms/std-page-tree.orb +342 -484
  169. package/dist/behaviors/registry/core/atoms/std-recurrence.orb +937 -0
  170. package/dist/behaviors/registry/core/atoms/std-rich-editor.orb +288 -416
  171. package/dist/behaviors/registry/core/atoms/std-step-flow.orb +1155 -0
  172. package/dist/behaviors/registry/core/atoms/std-version-history.orb +454 -430
  173. package/dist/behaviors/registry/core/atoms/std-wizard.orb +1085 -0
  174. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +222 -147
  175. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "std-gallery",
3
3
  "version": "1.0.0",
4
- "description": "std-gallery as a Function",
4
+ "description": "std-gallery image gallery primitive. Browses GalleryItems in a media-gallery grid; opens a lightbox modal for full-size viewing.",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "GalleryItemOrbital",
@@ -50,10 +50,47 @@
50
50
  "category": "interaction",
51
51
  "linkedEntity": "GalleryItem",
52
52
  "emits": [
53
+ {
54
+ "event": "VIEW",
55
+ "payloadSchema": [
56
+ {
57
+ "name": "id",
58
+ "type": "string",
59
+ "required": true
60
+ },
61
+ {
62
+ "name": "row.id",
63
+ "type": "string",
64
+ "required": true
65
+ },
66
+ {
67
+ "name": "row.name",
68
+ "type": "string",
69
+ "required": true
70
+ },
71
+ {
72
+ "name": "row.description",
73
+ "type": "string"
74
+ },
75
+ {
76
+ "name": "row.status",
77
+ "type": "string"
78
+ },
79
+ {
80
+ "name": "row.createdAt",
81
+ "type": "string"
82
+ },
83
+ {
84
+ "name": "row.imageUrl",
85
+ "type": "string"
86
+ }
87
+ ]
88
+ },
89
+ {
90
+ "event": "CLOSE"
91
+ },
53
92
  {
54
93
  "event": "GalleryItemLoaded",
55
- "description": "Fired when GalleryItem finishes loading; payload.data holds the gallery",
56
- "scope": "internal",
57
94
  "payloadSchema": [
58
95
  {
59
96
  "name": "data",
@@ -63,8 +100,6 @@
63
100
  },
64
101
  {
65
102
  "event": "GalleryItemLoadFailed",
66
- "description": "Fired when GalleryItem fails to load",
67
- "scope": "internal",
68
103
  "payloadSchema": [
69
104
  {
70
105
  "name": "error",
@@ -130,6 +165,10 @@
130
165
  "name": "id",
131
166
  "type": "string",
132
167
  "required": true
168
+ },
169
+ {
170
+ "name": "row",
171
+ "type": "GalleryItem"
133
172
  }
134
173
  ]
135
174
  },
@@ -158,22 +197,22 @@
158
197
  "render-ui",
159
198
  "main",
160
199
  {
161
- "align": "center",
200
+ "gap": "md",
201
+ "direction": "vertical",
202
+ "type": "stack",
162
203
  "className": "py-12",
204
+ "align": "center",
163
205
  "children": [
164
206
  {
165
207
  "type": "spinner"
166
208
  },
167
209
  {
168
- "content": "Loading…",
210
+ "type": "typography",
211
+ "content": "Loading gallery…",
169
212
  "color": "muted",
170
- "variant": "caption",
171
- "type": "typography"
213
+ "variant": "caption"
172
214
  }
173
- ],
174
- "gap": "md",
175
- "direction": "vertical",
176
- "type": "stack"
215
+ ]
177
216
  }
178
217
  ]
179
218
  ]
@@ -187,72 +226,35 @@
187
226
  "render-ui",
188
227
  "main",
189
228
  {
229
+ "gap": "md",
230
+ "direction": "vertical",
231
+ "type": "stack",
190
232
  "children": [
191
233
  {
234
+ "gap": "sm",
235
+ "align": "center",
192
236
  "children": [
193
237
  {
194
- "gap": "sm",
195
- "type": "stack",
196
- "direction": "horizontal",
197
- "align": "center",
198
- "children": [
199
- {
200
- "type": "icon",
201
- "name": "image"
202
- },
203
- {
204
- "type": "typography",
205
- "content": "GalleryItems Gallery",
206
- "variant": "h2"
207
- }
208
- ]
238
+ "type": "icon",
239
+ "name": "image"
209
240
  },
210
241
  {
211
- "color": "muted",
242
+ "content": "@config.title",
212
243
  "type": "typography",
213
- "variant": "caption",
214
- "content": "Click any image to view full size"
244
+ "variant": "h3"
215
245
  }
216
246
  ],
217
- "justify": "between",
218
- "align": "center",
219
247
  "direction": "horizontal",
220
- "gap": "md",
221
248
  "type": "stack"
222
249
  },
223
250
  {
224
251
  "type": "divider"
225
252
  },
226
253
  {
227
- "gap": "md",
228
- "imageField": "imageUrl",
229
- "type": "data-grid",
230
- "itemActions": [
231
- {
232
- "icon": "maximize",
233
- "label": "View",
234
- "event": "VIEW"
235
- }
236
- ],
237
- "fields": [
238
- {
239
- "label": "Title",
240
- "variant": "h4",
241
- "name": "name"
242
- },
243
- {
244
- "name": "status",
245
- "variant": "badge",
246
- "label": "Status"
247
- }
248
- ],
249
- "cols": 3.0,
254
+ "type": "media-gallery",
250
255
  "entity": "@payload.data"
251
256
  }
252
- ],
253
- "type": "stack",
254
- "gap": "lg",
255
- "direction": "vertical"
257
+ ]
256
258
  }
257
259
  ]
258
260
  ]
@@ -266,36 +268,9 @@
266
268
  "render-ui",
267
269
  "main",
268
270
  {
269
- "children": [
270
- {
271
- "type": "icon",
272
- "name": "alert-triangle",
273
- "color": "destructive"
274
- },
275
- {
276
- "variant": "h3",
277
- "content": "Failed to load",
278
- "type": "typography"
279
- },
280
- {
281
- "type": "typography",
282
- "variant": "body",
283
- "content": "@payload.error",
284
- "color": "muted"
285
- },
286
- {
287
- "icon": "rotate-ccw",
288
- "type": "button",
289
- "action": "INIT",
290
- "label": "Retry",
291
- "variant": "primary"
292
- }
293
- ],
294
- "gap": "md",
295
- "direction": "vertical",
296
- "align": "center",
297
- "className": "py-12",
298
- "type": "stack"
271
+ "message": "@payload.error",
272
+ "type": "alert",
273
+ "variant": "error"
299
274
  }
300
275
  ]
301
276
  ]
@@ -305,22 +280,42 @@
305
280
  "to": "viewing",
306
281
  "event": "VIEW",
307
282
  "effects": [
283
+ [
284
+ "set",
285
+ "@entity.id",
286
+ "@payload.id"
287
+ ],
288
+ [
289
+ "set",
290
+ "@entity.name",
291
+ "@payload.row.name"
292
+ ],
293
+ [
294
+ "set",
295
+ "@entity.description",
296
+ "@payload.row.description"
297
+ ],
298
+ [
299
+ "set",
300
+ "@entity.imageUrl",
301
+ "@payload.row.imageUrl"
302
+ ],
308
303
  [
309
304
  "render-ui",
310
305
  "modal",
311
306
  {
312
- "type": "lightbox",
313
- "closeAction": "CLOSE",
314
307
  "images": [
315
308
  {
316
- "src": "https://picsum.photos/seed/gallery1/800/600",
317
- "alt": "Image",
318
- "caption": "Image"
309
+ "alt": "@entity.name",
310
+ "src": "@entity.imageUrl",
311
+ "caption": "@entity.name"
319
312
  }
320
313
  ],
321
- "isOpen": true,
322
314
  "showCounter": true,
323
- "currentIndex": 0.0
315
+ "type": "lightbox",
316
+ "isOpen": true,
317
+ "currentIndex": 0.0,
318
+ "closeAction": "CLOSE"
324
319
  }
325
320
  ]
326
321
  ]
@@ -340,8 +335,8 @@
340
335
  "GalleryItem",
341
336
  {
342
337
  "emit": {
343
- "failure": "GalleryItemLoadFailed",
344
- "success": "GalleryItemLoaded"
338
+ "success": "GalleryItemLoaded",
339
+ "failure": "GalleryItemLoadFailed"
345
340
  }
346
341
  }
347
342
  ],
@@ -349,7 +344,22 @@
349
344
  "render-ui",
350
345
  "main",
351
346
  {
352
- "type": "spinner"
347
+ "className": "py-12",
348
+ "children": [
349
+ {
350
+ "type": "spinner"
351
+ },
352
+ {
353
+ "type": "typography",
354
+ "variant": "caption",
355
+ "content": "Loading gallery…",
356
+ "color": "muted"
357
+ }
358
+ ],
359
+ "gap": "md",
360
+ "type": "stack",
361
+ "align": "center",
362
+ "direction": "vertical"
353
363
  }
354
364
  ]
355
365
  ]
@@ -373,6 +383,7 @@
373
383
  "render-ui",
374
384
  "main",
375
385
  {
386
+ "size": "sm",
376
387
  "type": "spinner"
377
388
  }
378
389
  ]
@@ -380,6 +391,12 @@
380
391
  }
381
392
  ]
382
393
  },
394
+ "config": {
395
+ "title": {
396
+ "type": "string",
397
+ "default": "Gallery"
398
+ }
399
+ },
383
400
  "scope": "collection"
384
401
  }
385
402
  ],
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "std-image-upload-multi",
3
3
  "version": "1.0.0",
4
- "description": "std-image-upload-multi — multi-image upload with drop zone, gallery preview, and per-batch progress. Owns an UploadedImage entity scoped by parentId/parentType so listings, marketplaces, restaurant menus, and vendor onboarding can all reuse the same upload contract.",
4
+ "description": "std-image-upload-multi — multi-image upload with drop zone, gallery preview, and per-batch progress.",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "UploadedImageOrbital",
@@ -314,8 +314,8 @@
314
314
  "UploadedImage",
315
315
  {
316
316
  "emit": {
317
- "failure": "UploadedImageLoadFailed",
318
- "success": "UploadedImageLoaded"
317
+ "success": "UploadedImageLoaded",
318
+ "failure": "UploadedImageLoadFailed"
319
319
  }
320
320
  }
321
321
  ],
@@ -323,19 +323,19 @@
323
323
  "render-ui",
324
324
  "main",
325
325
  {
326
- "type": "stack",
327
326
  "align": "center",
328
- "direction": "vertical",
329
327
  "gap": "md",
330
328
  "className": "py-12",
329
+ "type": "stack",
330
+ "direction": "vertical",
331
331
  "children": [
332
332
  {
333
333
  "type": "spinner"
334
334
  },
335
335
  {
336
336
  "type": "typography",
337
- "variant": "caption",
338
337
  "color": "muted",
338
+ "variant": "caption",
339
339
  "content": "Loading images…"
340
340
  }
341
341
  ]
@@ -352,30 +352,45 @@
352
352
  "render-ui",
353
353
  "main",
354
354
  {
355
- "direction": "vertical",
356
355
  "children": [
357
356
  {
358
- "variant": "h3",
359
- "content": "@config.title",
360
- "type": "typography"
357
+ "children": [
358
+ {
359
+ "type": "icon",
360
+ "name": "image-plus"
361
+ },
362
+ {
363
+ "type": "typography",
364
+ "content": "@config.title",
365
+ "variant": "h3"
366
+ }
367
+ ],
368
+ "direction": "horizontal",
369
+ "gap": "sm",
370
+ "type": "stack",
371
+ "align": "center"
372
+ },
373
+ {
374
+ "type": "divider"
361
375
  },
362
376
  {
363
- "type": "upload-drop-zone",
364
- "maxFiles": "@config.maxImages",
365
- "label": "Drop images here",
366
- "description": "or click to browse",
367
- "icon": "image-plus",
368
377
  "action": "UPLOAD",
378
+ "description": "or click to browse",
379
+ "maxFiles": "@config.maxImages",
369
380
  "maxSize": "@config.maxBytesPerImage",
370
- "accept": "@config.accept"
381
+ "label": "Drop images here",
382
+ "type": "upload-drop-zone",
383
+ "accept": "@config.accept",
384
+ "icon": "image-plus"
371
385
  },
372
386
  {
373
387
  "entity": "@payload.data",
374
388
  "type": "media-gallery"
375
389
  }
376
390
  ],
377
- "gap": "md",
378
- "type": "stack"
391
+ "type": "stack",
392
+ "direction": "vertical",
393
+ "gap": "md"
379
394
  }
380
395
  ]
381
396
  ]
@@ -389,9 +404,9 @@
389
404
  "render-ui",
390
405
  "main",
391
406
  {
392
- "variant": "error",
407
+ "message": "@payload.error",
393
408
  "type": "alert",
394
- "message": "@payload.error"
409
+ "variant": "error"
395
410
  }
396
411
  ]
397
412
  ]
@@ -408,8 +423,8 @@
408
423
  "@payload.files",
409
424
  {
410
425
  "emit": {
411
- "success": "UploadedImageCreated",
412
- "failure": "UploadedImageUploadFailed"
426
+ "failure": "UploadedImageUploadFailed",
427
+ "success": "UploadedImageCreated"
413
428
  }
414
429
  }
415
430
  ],
@@ -417,24 +432,24 @@
417
432
  "render-ui",
418
433
  "main",
419
434
  {
435
+ "className": "py-12",
420
436
  "gap": "md",
421
437
  "direction": "vertical",
422
- "className": "py-12",
423
438
  "children": [
424
439
  {
425
- "content": "Uploading images…",
426
440
  "type": "typography",
427
- "variant": "h3"
441
+ "variant": "h3",
442
+ "content": "Uploading images…"
428
443
  },
429
444
  {
430
- "max": 100.0,
431
445
  "progressType": "linear",
432
446
  "value": 0.0,
433
- "type": "progress-bar"
447
+ "type": "progress-bar",
448
+ "max": 100.0
434
449
  }
435
450
  ],
436
- "align": "center",
437
- "type": "stack"
451
+ "type": "stack",
452
+ "align": "center"
438
453
  }
439
454
  ]
440
455
  ]
@@ -501,8 +516,8 @@
501
516
  "UploadedImage",
502
517
  {
503
518
  "emit": {
504
- "success": "UploadedImageLoaded",
505
- "failure": "UploadedImageLoadFailed"
519
+ "failure": "UploadedImageLoadFailed",
520
+ "success": "UploadedImageLoaded"
506
521
  }
507
522
  }
508
523
  ],
@@ -510,23 +525,23 @@
510
525
  "render-ui",
511
526
  "main",
512
527
  {
528
+ "gap": "md",
529
+ "align": "center",
513
530
  "direction": "vertical",
531
+ "className": "py-12",
532
+ "type": "stack",
514
533
  "children": [
515
534
  {
516
- "name": "check-circle",
535
+ "color": "success",
517
536
  "type": "icon",
518
- "color": "success"
537
+ "name": "check-circle"
519
538
  },
520
539
  {
540
+ "type": "typography",
521
541
  "variant": "h3",
522
- "content": "Upload complete",
523
- "type": "typography"
542
+ "content": "Upload complete"
524
543
  }
525
- ],
526
- "align": "center",
527
- "gap": "md",
528
- "type": "stack",
529
- "className": "py-12"
544
+ ]
530
545
  }
531
546
  ]
532
547
  ]
@@ -540,9 +555,9 @@
540
555
  "render-ui",
541
556
  "main",
542
557
  {
543
- "type": "alert",
544
558
  "variant": "error",
545
- "message": "@payload.error"
559
+ "message": "@payload.error",
560
+ "type": "alert"
546
561
  }
547
562
  ]
548
563
  ]
@@ -558,28 +573,43 @@
558
573
  {
559
574
  "children": [
560
575
  {
561
- "type": "typography",
562
- "variant": "h3",
563
- "content": "@config.title"
576
+ "type": "stack",
577
+ "direction": "horizontal",
578
+ "align": "center",
579
+ "children": [
580
+ {
581
+ "name": "image-plus",
582
+ "type": "icon"
583
+ },
584
+ {
585
+ "type": "typography",
586
+ "content": "@config.title",
587
+ "variant": "h3"
588
+ }
589
+ ],
590
+ "gap": "sm"
564
591
  },
565
592
  {
566
- "type": "upload-drop-zone",
593
+ "type": "divider"
594
+ },
595
+ {
596
+ "action": "UPLOAD",
567
597
  "description": "or click to browse",
568
- "maxSize": "@config.maxBytesPerImage",
569
- "maxFiles": "@config.maxImages",
570
598
  "accept": "@config.accept",
599
+ "maxFiles": "@config.maxImages",
571
600
  "label": "Drop images here",
572
- "action": "UPLOAD",
601
+ "maxSize": "@config.maxBytesPerImage",
602
+ "type": "upload-drop-zone",
573
603
  "icon": "image-plus"
574
604
  },
575
605
  {
576
- "entity": "@payload.data",
577
- "type": "media-gallery"
606
+ "type": "media-gallery",
607
+ "entity": "@payload.data"
578
608
  }
579
609
  ],
580
- "type": "stack",
581
610
  "gap": "md",
582
- "direction": "vertical"
611
+ "direction": "vertical",
612
+ "type": "stack"
583
613
  }
584
614
  ]
585
615
  ]
@@ -591,14 +621,14 @@
591
621
  "type": "string",
592
622
  "default": "Upload Images"
593
623
  },
594
- "maxBytesPerImage": {
595
- "type": "number",
596
- "default": 10485760.0
597
- },
598
624
  "accept": {
599
625
  "type": "string",
600
626
  "default": "image/*"
601
627
  },
628
+ "maxBytesPerImage": {
629
+ "type": "number",
630
+ "default": 10485760.0
631
+ },
602
632
  "maxImages": {
603
633
  "type": "number",
604
634
  "default": 10.0