@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-trial",
3
3
  "version": "1.0.0",
4
- "description": "std-trial — subscription trial countdown with auto-convert at expiry. Owns a Trial entity; CONVERT flips status to converted and stamps convertedAt, EXPIRE flips to expired, CANCEL flips to cancelled. Persists results back to the row and emits TrialUpdated / TrialConverted for downstream listeners.",
4
+ "description": "std-trial — subscription trial countdown with auto-convert at expiry. Lists trials in `browsing`; opens detail in `viewing_single` with Convert / Expire / Cancel actions.",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "TrialOrbital",
@@ -67,15 +67,10 @@
67
67
  "linkedEntity": "Trial",
68
68
  "emits": [
69
69
  {
70
- "event": "CONVERT",
70
+ "event": "OPEN_TRIAL",
71
71
  "payloadSchema": [
72
72
  {
73
- "name": "trialId",
74
- "type": "string",
75
- "required": true
76
- },
77
- {
78
- "name": "convertedAt",
73
+ "name": "id",
79
74
  "type": "string",
80
75
  "required": true
81
76
  },
@@ -123,13 +118,21 @@
123
118
  ]
124
119
  },
125
120
  {
126
- "event": "EXPIRE",
121
+ "event": "CLOSE_VIEW"
122
+ },
123
+ {
124
+ "event": "CONVERT",
127
125
  "payloadSchema": [
128
126
  {
129
127
  "name": "trialId",
130
128
  "type": "string",
131
129
  "required": true
132
130
  },
131
+ {
132
+ "name": "convertedAt",
133
+ "type": "string",
134
+ "required": true
135
+ },
133
136
  {
134
137
  "name": "row.id",
135
138
  "type": "string",
@@ -174,7 +177,7 @@
174
177
  ]
175
178
  },
176
179
  {
177
- "event": "CANCEL",
180
+ "event": "EXPIRE",
178
181
  "payloadSchema": [
179
182
  {
180
183
  "name": "trialId",
@@ -225,30 +228,13 @@
225
228
  ]
226
229
  },
227
230
  {
228
- "event": "TrialLoaded",
229
- "payloadSchema": [
230
- {
231
- "name": "data",
232
- "type": "[Trial]"
233
- }
234
- ]
235
- },
236
- {
237
- "event": "TrialLoadFailed",
231
+ "event": "CANCEL",
238
232
  "payloadSchema": [
239
233
  {
240
- "name": "error",
241
- "type": "string"
234
+ "name": "trialId",
235
+ "type": "string",
236
+ "required": true
242
237
  },
243
- {
244
- "name": "code",
245
- "type": "string"
246
- }
247
- ]
248
- },
249
- {
250
- "event": "TrialUpdated",
251
- "payloadSchema": [
252
238
  {
253
239
  "name": "row.id",
254
240
  "type": "string",
@@ -293,47 +279,23 @@
293
279
  ]
294
280
  },
295
281
  {
296
- "event": "TrialConverted",
282
+ "event": "TrialLoaded",
297
283
  "payloadSchema": [
298
284
  {
299
- "name": "row.id",
300
- "type": "string",
301
- "required": true
302
- },
303
- {
304
- "name": "row.subscriptionId",
305
- "type": "string",
306
- "required": true
307
- },
308
- {
309
- "name": "row.customerId",
310
- "type": "string",
311
- "required": true
312
- },
313
- {
314
- "name": "row.planId",
315
- "type": "string",
316
- "required": true
317
- },
318
- {
319
- "name": "row.startedAt",
320
- "type": "string"
321
- },
322
- {
323
- "name": "row.expiresAt",
324
- "type": "string",
325
- "required": true
326
- },
327
- {
328
- "name": "row.status",
329
- "type": "string"
330
- },
285
+ "name": "data",
286
+ "type": "[Trial]"
287
+ }
288
+ ]
289
+ },
290
+ {
291
+ "event": "TrialLoadFailed",
292
+ "payloadSchema": [
331
293
  {
332
- "name": "row.convertedAt",
294
+ "name": "error",
333
295
  "type": "string"
334
296
  },
335
297
  {
336
- "name": "row.notifiedAt",
298
+ "name": "code",
337
299
  "type": "string"
338
300
  }
339
301
  ]
@@ -349,7 +311,7 @@
349
311
  "name": "browsing"
350
312
  },
351
313
  {
352
- "name": "converting"
314
+ "name": "viewing_single"
353
315
  },
354
316
  {
355
317
  "name": "error"
@@ -385,16 +347,11 @@
385
347
  ]
386
348
  },
387
349
  {
388
- "key": "CONVERT",
389
- "name": "Convert",
350
+ "key": "OPEN_TRIAL",
351
+ "name": "Open Trial",
390
352
  "payloadSchema": [
391
353
  {
392
- "name": "trialId",
393
- "type": "string",
394
- "required": true
395
- },
396
- {
397
- "name": "convertedAt",
354
+ "name": "id",
398
355
  "type": "string",
399
356
  "required": true
400
357
  },
@@ -405,8 +362,8 @@
405
362
  ]
406
363
  },
407
364
  {
408
- "key": "EXPIRE",
409
- "name": "Expire",
365
+ "key": "CANCEL",
366
+ "name": "Cancel",
410
367
  "payloadSchema": [
411
368
  {
412
369
  "name": "trialId",
@@ -420,8 +377,12 @@
420
377
  ]
421
378
  },
422
379
  {
423
- "key": "CANCEL",
424
- "name": "Cancel",
380
+ "key": "CLOSE_VIEW",
381
+ "name": "Close View"
382
+ },
383
+ {
384
+ "key": "CONVERT",
385
+ "name": "Convert",
425
386
  "payloadSchema": [
426
387
  {
427
388
  "name": "trialId",
@@ -429,15 +390,10 @@
429
390
  "required": true
430
391
  },
431
392
  {
432
- "name": "row",
433
- "type": "Trial"
434
- }
435
- ]
436
- },
437
- {
438
- "key": "TrialUpdated",
439
- "name": "Trial updated",
440
- "payloadSchema": [
393
+ "name": "convertedAt",
394
+ "type": "string",
395
+ "required": true
396
+ },
441
397
  {
442
398
  "name": "row",
443
399
  "type": "Trial"
@@ -445,9 +401,14 @@
445
401
  ]
446
402
  },
447
403
  {
448
- "key": "TrialConverted",
449
- "name": "Trial converted",
404
+ "key": "EXPIRE",
405
+ "name": "Expire",
450
406
  "payloadSchema": [
407
+ {
408
+ "name": "trialId",
409
+ "type": "string",
410
+ "required": true
411
+ },
451
412
  {
452
413
  "name": "row",
453
414
  "type": "Trial"
@@ -475,22 +436,22 @@
475
436
  "render-ui",
476
437
  "main",
477
438
  {
478
- "align": "center",
479
439
  "type": "stack",
480
- "className": "py-12",
440
+ "direction": "vertical",
441
+ "align": "center",
481
442
  "gap": "md",
443
+ "className": "py-12",
482
444
  "children": [
483
445
  {
484
446
  "type": "spinner"
485
447
  },
486
448
  {
487
- "content": "Loading trials…",
488
- "variant": "caption",
489
449
  "color": "muted",
490
- "type": "typography"
450
+ "content": "Loading trials…",
451
+ "type": "typography",
452
+ "variant": "caption"
491
453
  }
492
- ],
493
- "direction": "vertical"
454
+ ]
494
455
  }
495
456
  ]
496
457
  ]
@@ -507,92 +468,54 @@
507
468
  "gap": "md",
508
469
  "children": [
509
470
  {
471
+ "gap": "sm",
472
+ "direction": "horizontal",
510
473
  "children": [
511
474
  {
512
475
  "name": "clock",
513
476
  "type": "icon"
514
477
  },
515
478
  {
516
- "content": "@config.title",
479
+ "type": "typography",
517
480
  "variant": "h3",
518
- "type": "typography"
481
+ "content": "@config.title"
519
482
  }
520
483
  ],
521
- "direction": "horizontal",
522
- "gap": "sm",
523
- "type": "stack"
524
- },
525
- {
526
- "type": "divider"
527
- },
528
- {
529
- "showPercentage": false,
530
- "max": 14.0,
531
- "label": "Trial day nine of fourteen",
532
- "type": "progress-bar",
533
- "value": 9.0,
534
- "color": "primary"
535
- },
536
- {
537
- "back": {
538
- "align": "center",
539
- "direction": "vertical",
540
- "className": "p-6",
541
- "children": [
542
- {
543
- "content": "Upgrade soon",
544
- "type": "typography",
545
- "variant": "h4"
546
- },
547
- {
548
- "type": "typography",
549
- "variant": "caption",
550
- "content": "Convert to keep your data and unlock unlimited usage."
551
- }
552
- ],
553
- "type": "stack",
554
- "gap": "sm"
555
- },
556
- "type": "flip-card",
557
- "height": "h-48",
558
- "front": {
559
- "className": "p-6",
560
- "type": "stack",
561
- "align": "center",
562
- "direction": "vertical",
563
- "children": [
564
- {
565
- "type": "icon",
566
- "name": "sparkles"
567
- },
568
- {
569
- "type": "typography",
570
- "variant": "h4",
571
- "content": "Your trial"
572
- },
573
- {
574
- "type": "typography",
575
- "color": "muted",
576
- "variant": "caption",
577
- "content": "Hover or tap to see what's next"
578
- }
579
- ],
580
- "gap": "sm"
581
- }
484
+ "type": "stack",
485
+ "align": "center"
582
486
  },
583
487
  {
584
- "trigger": "scroll",
585
- "animation": "fade-up",
586
- "duration": 600.0,
587
488
  "children": [
588
489
  {
589
- "type": "alert",
590
- "message": "Convert your trial today to keep your current usage tier.",
591
- "title": "Lock in your plan",
592
- "variant": "info"
490
+ "icon": "clock",
491
+ "type": "stat-display",
492
+ "value": "@payload.data.length",
493
+ "label": "Active trials"
494
+ },
495
+ {
496
+ "type": "stat-display",
497
+ "value": "42%",
498
+ "label": "Conversion rate",
499
+ "icon": "trending-up"
500
+ },
501
+ {
502
+ "icon": "alert-triangle",
503
+ "label": "Expiring 7d",
504
+ "type": "stat-display",
505
+ "value": "18"
506
+ },
507
+ {
508
+ "label": "Converted this mo",
509
+ "type": "stat-display",
510
+ "value": "31",
511
+ "icon": "check-circle"
593
512
  }
594
513
  ],
595
- "type": "animated-reveal"
514
+ "cols": 4.0,
515
+ "type": "simple-grid"
516
+ },
517
+ {
518
+ "type": "divider"
596
519
  },
597
520
  {
598
521
  "type": "data-grid",
@@ -600,61 +523,55 @@
600
523
  "fields": [
601
524
  {
602
525
  "name": "customerId",
603
- "label": "Customer",
604
- "variant": "caption"
526
+ "variant": "caption",
527
+ "label": "Customer"
605
528
  },
606
529
  {
607
- "label": "Plan",
608
530
  "variant": "caption",
609
- "name": "planId"
531
+ "name": "planId",
532
+ "label": "Plan"
610
533
  },
611
534
  {
612
535
  "variant": "badge",
613
- "name": "status",
614
- "label": "Status"
536
+ "label": "Status",
537
+ "name": "status"
615
538
  },
616
539
  {
540
+ "variant": "caption",
617
541
  "label": "Started",
618
- "name": "startedAt",
619
- "variant": "caption"
542
+ "name": "startedAt"
620
543
  },
621
544
  {
545
+ "variant": "caption",
622
546
  "name": "expiresAt",
623
- "label": "Expires",
624
- "variant": "caption"
547
+ "label": "Expires"
625
548
  },
626
549
  {
550
+ "variant": "caption",
627
551
  "name": "convertedAt",
628
- "label": "Converted",
629
- "variant": "caption"
552
+ "label": "Converted"
630
553
  },
631
554
  {
632
- "label": "Notified",
633
555
  "variant": "caption",
556
+ "label": "Notified",
634
557
  "name": "notifiedAt"
635
558
  }
636
559
  ],
637
- "cols": 1.0,
638
560
  "itemActions": [
639
561
  {
640
- "label": "Convert",
562
+ "event": "OPEN_TRIAL",
563
+ "icon": "arrow-right",
641
564
  "variant": "primary",
642
- "icon": "check",
643
- "event": "CONVERT"
565
+ "label": "Open"
644
566
  },
645
567
  {
646
- "variant": "secondary",
647
- "event": "EXPIRE",
648
- "label": "Expire",
649
- "icon": "clock"
650
- },
651
- {
652
- "label": "Cancel",
568
+ "variant": "danger",
653
569
  "icon": "x",
654
- "event": "CANCEL",
655
- "variant": "danger"
570
+ "label": "Cancel",
571
+ "event": "CANCEL"
656
572
  }
657
573
  ],
574
+ "cols": 1.0,
658
575
  "gap": "sm"
659
576
  }
660
577
  ],
@@ -673,8 +590,8 @@
673
590
  "render-ui",
674
591
  "main",
675
592
  {
676
- "variant": "error",
677
593
  "type": "alert",
594
+ "variant": "error",
678
595
  "message": "@payload.error"
679
596
  }
680
597
  ]
@@ -682,13 +599,13 @@
682
599
  },
683
600
  {
684
601
  "from": "browsing",
685
- "to": "converting",
686
- "event": "CONVERT",
602
+ "to": "viewing_single",
603
+ "event": "OPEN_TRIAL",
687
604
  "effects": [
688
605
  [
689
606
  "set",
690
607
  "@entity.id",
691
- "@payload.trialId"
608
+ "@payload.row.id"
692
609
  ],
693
610
  [
694
611
  "set",
@@ -718,12 +635,12 @@
718
635
  [
719
636
  "set",
720
637
  "@entity.status",
721
- "converted"
638
+ "@payload.row.status"
722
639
  ],
723
640
  [
724
641
  "set",
725
642
  "@entity.convertedAt",
726
- "@payload.convertedAt"
643
+ "@payload.row.convertedAt"
727
644
  ],
728
645
  [
729
646
  "set",
@@ -731,13 +648,180 @@
731
648
  "@payload.row.notifiedAt"
732
649
  ],
733
650
  [
734
- "persist",
735
- "update",
651
+ "render-ui",
652
+ "main",
653
+ {
654
+ "type": "stack",
655
+ "gap": "md",
656
+ "direction": "vertical",
657
+ "children": [
658
+ {
659
+ "children": [
660
+ {
661
+ "variant": "ghost",
662
+ "action": "CLOSE_VIEW",
663
+ "type": "button",
664
+ "label": "Back"
665
+ },
666
+ {
667
+ "name": "clock",
668
+ "type": "icon"
669
+ },
670
+ {
671
+ "content": "@entity.customerId",
672
+ "variant": "h3",
673
+ "type": "typography"
674
+ },
675
+ {
676
+ "type": "badge",
677
+ "label": "@entity.status",
678
+ "variant": "primary"
679
+ }
680
+ ],
681
+ "align": "center",
682
+ "direction": "horizontal",
683
+ "type": "stack",
684
+ "gap": "sm"
685
+ },
686
+ {
687
+ "type": "divider"
688
+ },
689
+ {
690
+ "type": "stack",
691
+ "gap": "sm",
692
+ "children": [
693
+ {
694
+ "gap": "md",
695
+ "children": [
696
+ {
697
+ "color": "muted",
698
+ "content": "Plan",
699
+ "type": "typography",
700
+ "variant": "caption"
701
+ },
702
+ {
703
+ "type": "typography",
704
+ "variant": "body",
705
+ "content": "@entity.planId"
706
+ }
707
+ ],
708
+ "type": "stack",
709
+ "direction": "horizontal"
710
+ },
711
+ {
712
+ "children": [
713
+ {
714
+ "color": "muted",
715
+ "type": "typography",
716
+ "content": "Subscription",
717
+ "variant": "caption"
718
+ },
719
+ {
720
+ "variant": "body",
721
+ "content": "@entity.subscriptionId",
722
+ "type": "typography"
723
+ }
724
+ ],
725
+ "direction": "horizontal",
726
+ "type": "stack",
727
+ "gap": "md"
728
+ }
729
+ ],
730
+ "direction": "vertical"
731
+ },
732
+ {
733
+ "type": "divider"
734
+ },
735
+ {
736
+ "type": "simple-grid",
737
+ "cols": 4.0,
738
+ "children": [
739
+ {
740
+ "type": "stat-display",
741
+ "icon": "calendar",
742
+ "label": "Started",
743
+ "value": "@entity.startedAt"
744
+ },
745
+ {
746
+ "icon": "calendar-clock",
747
+ "value": "@entity.expiresAt",
748
+ "label": "Expires",
749
+ "type": "stat-display"
750
+ },
751
+ {
752
+ "type": "stat-display",
753
+ "label": "Converted",
754
+ "icon": "check-circle",
755
+ "value": "@entity.convertedAt"
756
+ },
757
+ {
758
+ "label": "Notified",
759
+ "type": "stat-display",
760
+ "value": "@entity.notifiedAt",
761
+ "icon": "bell"
762
+ }
763
+ ]
764
+ },
765
+ {
766
+ "direction": "horizontal",
767
+ "type": "stack",
768
+ "align": "center",
769
+ "gap": "sm",
770
+ "children": [
771
+ {
772
+ "variant": "primary",
773
+ "action": "CONVERT",
774
+ "actionPayload": {
775
+ "trialId": "@entity.id",
776
+ "convertedAt": "@entity.expiresAt",
777
+ "row": "@entity"
778
+ },
779
+ "type": "button",
780
+ "label": "Convert"
781
+ },
782
+ {
783
+ "action": "EXPIRE",
784
+ "actionPayload": {
785
+ "trialId": "@entity.id",
786
+ "row": "@entity"
787
+ },
788
+ "variant": "secondary",
789
+ "type": "button",
790
+ "label": "Expire"
791
+ },
792
+ {
793
+ "type": "button",
794
+ "label": "Cancel",
795
+ "actionPayload": {
796
+ "trialId": "@entity.id",
797
+ "row": "@entity"
798
+ },
799
+ "action": "CANCEL",
800
+ "variant": "danger"
801
+ }
802
+ ]
803
+ }
804
+ ]
805
+ }
806
+ ]
807
+ ]
808
+ },
809
+ {
810
+ "from": "browsing",
811
+ "to": "loading",
812
+ "event": "CANCEL",
813
+ "effects": [
814
+ [
815
+ "set",
816
+ "@entity.id",
817
+ "@payload.trialId"
818
+ ],
819
+ [
820
+ "fetch",
736
821
  "Trial",
737
- "@entity",
738
822
  {
739
823
  "emit": {
740
- "success": "TrialConverted",
824
+ "success": "TrialLoaded",
741
825
  "failure": "TrialLoadFailed"
742
826
  }
743
827
  }
@@ -746,20 +830,20 @@
746
830
  "render-ui",
747
831
  "main",
748
832
  {
833
+ "gap": "md",
749
834
  "direction": "vertical",
750
- "className": "py-12",
751
835
  "type": "stack",
752
- "gap": "md",
836
+ "className": "py-12",
753
837
  "align": "center",
754
838
  "children": [
755
839
  {
756
840
  "type": "spinner"
757
841
  },
758
842
  {
759
- "color": "muted",
760
843
  "type": "typography",
761
- "variant": "caption",
762
- "content": "Converting trial…"
844
+ "color": "muted",
845
+ "content": "Cancelling trial…",
846
+ "variant": "caption"
763
847
  }
764
848
  ]
765
849
  }
@@ -767,73 +851,48 @@
767
851
  ]
768
852
  },
769
853
  {
770
- "from": "browsing",
771
- "to": "browsing",
772
- "event": "EXPIRE",
854
+ "from": "viewing_single",
855
+ "to": "loading",
856
+ "event": "CLOSE_VIEW",
773
857
  "effects": [
774
858
  [
775
- "set",
776
- "@entity.id",
777
- "@payload.trialId"
778
- ],
779
- [
780
- "set",
781
- "@entity.subscriptionId",
782
- "@payload.row.subscriptionId"
783
- ],
784
- [
785
- "set",
786
- "@entity.customerId",
787
- "@payload.row.customerId"
788
- ],
789
- [
790
- "set",
791
- "@entity.planId",
792
- "@payload.row.planId"
793
- ],
794
- [
795
- "set",
796
- "@entity.startedAt",
797
- "@payload.row.startedAt"
798
- ],
799
- [
800
- "set",
801
- "@entity.expiresAt",
802
- "@payload.row.expiresAt"
803
- ],
804
- [
805
- "set",
806
- "@entity.status",
807
- "expired"
808
- ],
809
- [
810
- "set",
811
- "@entity.convertedAt",
812
- "@payload.row.convertedAt"
813
- ],
814
- [
815
- "set",
816
- "@entity.notifiedAt",
817
- "@payload.row.notifiedAt"
818
- ],
819
- [
820
- "persist",
821
- "update",
859
+ "fetch",
822
860
  "Trial",
823
- "@entity",
824
861
  {
825
862
  "emit": {
826
- "success": "TrialUpdated",
827
- "failure": "TrialLoadFailed"
863
+ "failure": "TrialLoadFailed",
864
+ "success": "TrialLoaded"
828
865
  }
829
866
  }
867
+ ],
868
+ [
869
+ "render-ui",
870
+ "main",
871
+ {
872
+ "children": [
873
+ {
874
+ "type": "spinner"
875
+ },
876
+ {
877
+ "type": "typography",
878
+ "content": "Loading trials…",
879
+ "color": "muted",
880
+ "variant": "caption"
881
+ }
882
+ ],
883
+ "direction": "vertical",
884
+ "gap": "md",
885
+ "className": "py-12",
886
+ "align": "center",
887
+ "type": "stack"
888
+ }
830
889
  ]
831
890
  ]
832
891
  },
833
892
  {
834
- "from": "browsing",
835
- "to": "browsing",
836
- "event": "CANCEL",
893
+ "from": "viewing_single",
894
+ "to": "loading",
895
+ "event": "CONVERT",
837
896
  "effects": [
838
897
  [
839
898
  "set",
@@ -841,64 +900,49 @@
841
900
  "@payload.trialId"
842
901
  ],
843
902
  [
844
- "set",
845
- "@entity.subscriptionId",
846
- "@payload.row.subscriptionId"
847
- ],
848
- [
849
- "set",
850
- "@entity.customerId",
851
- "@payload.row.customerId"
852
- ],
853
- [
854
- "set",
855
- "@entity.planId",
856
- "@payload.row.planId"
857
- ],
858
- [
859
- "set",
860
- "@entity.startedAt",
861
- "@payload.row.startedAt"
862
- ],
863
- [
864
- "set",
865
- "@entity.expiresAt",
866
- "@payload.row.expiresAt"
867
- ],
868
- [
869
- "set",
870
- "@entity.status",
871
- "cancelled"
872
- ],
873
- [
874
- "set",
875
- "@entity.convertedAt",
876
- "@payload.row.convertedAt"
877
- ],
878
- [
879
- "set",
880
- "@entity.notifiedAt",
881
- "@payload.row.notifiedAt"
882
- ],
883
- [
884
- "persist",
885
- "update",
903
+ "fetch",
886
904
  "Trial",
887
- "@entity",
888
905
  {
889
906
  "emit": {
890
907
  "failure": "TrialLoadFailed",
891
- "success": "TrialUpdated"
908
+ "success": "TrialLoaded"
892
909
  }
893
910
  }
911
+ ],
912
+ [
913
+ "render-ui",
914
+ "main",
915
+ {
916
+ "type": "stack",
917
+ "gap": "md",
918
+ "direction": "vertical",
919
+ "align": "center",
920
+ "className": "py-12",
921
+ "children": [
922
+ {
923
+ "type": "spinner"
924
+ },
925
+ {
926
+ "color": "muted",
927
+ "type": "typography",
928
+ "content": "Converting trial…",
929
+ "variant": "caption"
930
+ }
931
+ ]
932
+ }
894
933
  ]
895
934
  ]
896
935
  },
897
936
  {
898
- "from": "browsing",
937
+ "from": "viewing_single",
899
938
  "to": "loading",
900
- "event": "TrialUpdated",
939
+ "event": "EXPIRE",
901
940
  "effects": [
941
+ [
942
+ "set",
943
+ "@entity.id",
944
+ "@payload.trialId"
945
+ ],
902
946
  [
903
947
  "fetch",
904
948
  "Trial",
@@ -908,23 +952,72 @@
908
952
  "success": "TrialLoaded"
909
953
  }
910
954
  }
955
+ ],
956
+ [
957
+ "render-ui",
958
+ "main",
959
+ {
960
+ "direction": "vertical",
961
+ "type": "stack",
962
+ "className": "py-12",
963
+ "children": [
964
+ {
965
+ "type": "spinner"
966
+ },
967
+ {
968
+ "content": "Expiring trial…",
969
+ "type": "typography",
970
+ "color": "muted",
971
+ "variant": "caption"
972
+ }
973
+ ],
974
+ "gap": "md",
975
+ "align": "center"
976
+ }
911
977
  ]
912
978
  ]
913
979
  },
914
980
  {
915
- "from": "converting",
981
+ "from": "viewing_single",
916
982
  "to": "loading",
917
- "event": "TrialConverted",
983
+ "event": "CANCEL",
918
984
  "effects": [
985
+ [
986
+ "set",
987
+ "@entity.id",
988
+ "@payload.trialId"
989
+ ],
919
990
  [
920
991
  "fetch",
921
992
  "Trial",
922
993
  {
923
994
  "emit": {
924
- "failure": "TrialLoadFailed",
925
- "success": "TrialLoaded"
995
+ "success": "TrialLoaded",
996
+ "failure": "TrialLoadFailed"
926
997
  }
927
998
  }
999
+ ],
1000
+ [
1001
+ "render-ui",
1002
+ "main",
1003
+ {
1004
+ "children": [
1005
+ {
1006
+ "type": "spinner"
1007
+ },
1008
+ {
1009
+ "color": "muted",
1010
+ "content": "Cancelling trial…",
1011
+ "variant": "caption",
1012
+ "type": "typography"
1013
+ }
1014
+ ],
1015
+ "type": "stack",
1016
+ "direction": "vertical",
1017
+ "className": "py-12",
1018
+ "gap": "md",
1019
+ "align": "center"
1020
+ }
928
1021
  ]
929
1022
  ]
930
1023
  },
@@ -938,8 +1031,8 @@
938
1031
  "Trial",
939
1032
  {
940
1033
  "emit": {
941
- "success": "TrialLoaded",
942
- "failure": "TrialLoadFailed"
1034
+ "failure": "TrialLoadFailed",
1035
+ "success": "TrialLoaded"
943
1036
  }
944
1037
  }
945
1038
  ],