@almadar/std 14.27.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 (25) hide show
  1. package/behaviors/registry/app/atoms/std-approval-chain.orb +106 -0
  2. package/behaviors/registry/app/atoms/std-multi-party-transaction.orb +130 -0
  3. package/behaviors/registry/app/atoms/std-pipeline.orb +139 -0
  4. package/behaviors/registry/app/atoms/std-recurring-schedule.orb +94 -0
  5. package/behaviors/registry/app/atoms/std-timeline.orb +108 -0
  6. package/behaviors/registry/app/atoms/std-wizard-branching.orb +129 -0
  7. package/behaviors/registry/core/atoms/std-board.orb +1367 -0
  8. package/behaviors/registry/core/atoms/std-event-log.orb +777 -0
  9. package/behaviors/registry/core/atoms/std-multi-party-flow.orb +1313 -0
  10. package/behaviors/registry/core/atoms/std-recurrence.orb +937 -0
  11. package/behaviors/registry/core/atoms/std-step-flow.orb +1155 -0
  12. package/behaviors/registry/core/atoms/std-wizard.orb +1085 -0
  13. package/dist/behaviors/registry/app/atoms/std-approval-chain.orb +106 -0
  14. package/dist/behaviors/registry/app/atoms/std-multi-party-transaction.orb +130 -0
  15. package/dist/behaviors/registry/app/atoms/std-pipeline.orb +139 -0
  16. package/dist/behaviors/registry/app/atoms/std-recurring-schedule.orb +94 -0
  17. package/dist/behaviors/registry/app/atoms/std-timeline.orb +108 -0
  18. package/dist/behaviors/registry/app/atoms/std-wizard-branching.orb +129 -0
  19. package/dist/behaviors/registry/core/atoms/std-board.orb +1367 -0
  20. package/dist/behaviors/registry/core/atoms/std-event-log.orb +777 -0
  21. package/dist/behaviors/registry/core/atoms/std-multi-party-flow.orb +1313 -0
  22. package/dist/behaviors/registry/core/atoms/std-recurrence.orb +937 -0
  23. package/dist/behaviors/registry/core/atoms/std-step-flow.orb +1155 -0
  24. package/dist/behaviors/registry/core/atoms/std-wizard.orb +1085 -0
  25. package/package.json +1 -1
@@ -0,0 +1,1085 @@
1
+ {
2
+ "name": "std-wizard",
3
+ "version": "2.0.0",
4
+ "description": "std-wizard — generic N-step branching wizard. `config.steps` is an array of step definitions (each with its own `fields` list); @entity.currentStepIndex walks through them; ADVANCE/RETREAT self-loop, COMPLETE/CANCEL terminate. Topology = loading / running / completed / cancelled / error — running state owns N via data, not states.",
5
+ "orbitals": [
6
+ {
7
+ "name": "WizardOrbital",
8
+ "entity": {
9
+ "name": "WizardView",
10
+ "persistence": "runtime",
11
+ "fields": [
12
+ {
13
+ "name": "id",
14
+ "type": "string",
15
+ "required": true
16
+ },
17
+ {
18
+ "name": "steps",
19
+ "type": "array",
20
+ "default": [],
21
+ "items": {
22
+ "type": "object",
23
+ "properties": {
24
+ "label": {
25
+ "name": "label",
26
+ "type": "string"
27
+ },
28
+ "status": {
29
+ "name": "status",
30
+ "type": "string",
31
+ "values": [
32
+ "pending",
33
+ "current",
34
+ "completed"
35
+ ]
36
+ },
37
+ "number": {
38
+ "name": "number",
39
+ "type": "number"
40
+ },
41
+ "key": {
42
+ "name": "key",
43
+ "type": "string"
44
+ },
45
+ "icon": {
46
+ "name": "icon",
47
+ "type": "string"
48
+ },
49
+ "description": {
50
+ "name": "description",
51
+ "type": "string"
52
+ }
53
+ }
54
+ }
55
+ },
56
+ {
57
+ "name": "currentStepIndex",
58
+ "type": "number",
59
+ "default": 0.0
60
+ },
61
+ {
62
+ "name": "totalSteps",
63
+ "type": "number",
64
+ "default": 0.0
65
+ },
66
+ {
67
+ "name": "completionMessage",
68
+ "type": "string",
69
+ "default": ""
70
+ },
71
+ {
72
+ "name": "cancelReason",
73
+ "type": "string",
74
+ "default": ""
75
+ },
76
+ {
77
+ "name": "errorMessage",
78
+ "type": "string",
79
+ "default": ""
80
+ }
81
+ ]
82
+ },
83
+ "traits": [
84
+ {
85
+ "name": "WizardForm",
86
+ "category": "interaction",
87
+ "linkedEntity": "WizardView",
88
+ "emits": [
89
+ {
90
+ "event": "ADVANCE",
91
+ "payloadSchema": [
92
+ {
93
+ "name": "data",
94
+ "type": "object"
95
+ }
96
+ ]
97
+ },
98
+ {
99
+ "event": "RETREAT"
100
+ },
101
+ {
102
+ "event": "SKIP"
103
+ },
104
+ {
105
+ "event": "COMPLETE",
106
+ "payloadSchema": [
107
+ {
108
+ "name": "data",
109
+ "type": "object"
110
+ }
111
+ ]
112
+ },
113
+ {
114
+ "event": "CANCEL",
115
+ "payloadSchema": [
116
+ {
117
+ "name": "reason",
118
+ "type": "string"
119
+ }
120
+ ]
121
+ },
122
+ {
123
+ "event": "RESTART"
124
+ },
125
+ {
126
+ "event": "WizardLoaded",
127
+ "payloadSchema": [
128
+ {
129
+ "name": "data",
130
+ "type": "[object]"
131
+ }
132
+ ]
133
+ },
134
+ {
135
+ "event": "WizardLoadFailed",
136
+ "payloadSchema": [
137
+ {
138
+ "name": "error",
139
+ "type": "string"
140
+ },
141
+ {
142
+ "name": "code",
143
+ "type": "string"
144
+ }
145
+ ]
146
+ }
147
+ ],
148
+ "stateMachine": {
149
+ "states": [
150
+ {
151
+ "name": "loading",
152
+ "isInitial": true
153
+ },
154
+ {
155
+ "name": "running"
156
+ },
157
+ {
158
+ "name": "completed"
159
+ },
160
+ {
161
+ "name": "cancelled"
162
+ },
163
+ {
164
+ "name": "error"
165
+ }
166
+ ],
167
+ "events": [
168
+ {
169
+ "key": "INIT",
170
+ "name": "Initialize"
171
+ },
172
+ {
173
+ "key": "WizardLoaded",
174
+ "name": "Wizard loaded",
175
+ "payloadSchema": [
176
+ {
177
+ "name": "data",
178
+ "type": "[object]"
179
+ }
180
+ ]
181
+ },
182
+ {
183
+ "key": "WizardLoadFailed",
184
+ "name": "Wizard load failed",
185
+ "payloadSchema": [
186
+ {
187
+ "name": "error",
188
+ "type": "string"
189
+ },
190
+ {
191
+ "name": "code",
192
+ "type": "string"
193
+ }
194
+ ]
195
+ },
196
+ {
197
+ "key": "WizardSaved",
198
+ "name": "Wizard saved",
199
+ "payloadSchema": [
200
+ {
201
+ "name": "row",
202
+ "type": "object"
203
+ }
204
+ ]
205
+ },
206
+ {
207
+ "key": "WizardSaveFailed",
208
+ "name": "Wizard save failed",
209
+ "payloadSchema": [
210
+ {
211
+ "name": "error",
212
+ "type": "string"
213
+ },
214
+ {
215
+ "name": "code",
216
+ "type": "string"
217
+ }
218
+ ]
219
+ },
220
+ {
221
+ "key": "ADVANCE",
222
+ "name": "Advance",
223
+ "payloadSchema": [
224
+ {
225
+ "name": "data",
226
+ "type": "object"
227
+ }
228
+ ]
229
+ },
230
+ {
231
+ "key": "RETREAT",
232
+ "name": "Retreat"
233
+ },
234
+ {
235
+ "key": "SKIP",
236
+ "name": "Skip"
237
+ },
238
+ {
239
+ "key": "COMPLETE",
240
+ "name": "Complete",
241
+ "payloadSchema": [
242
+ {
243
+ "name": "data",
244
+ "type": "object"
245
+ }
246
+ ]
247
+ },
248
+ {
249
+ "key": "CANCEL",
250
+ "name": "Cancel",
251
+ "payloadSchema": [
252
+ {
253
+ "name": "reason",
254
+ "type": "string"
255
+ }
256
+ ]
257
+ },
258
+ {
259
+ "key": "RESTART",
260
+ "name": "Restart"
261
+ }
262
+ ],
263
+ "transitions": [
264
+ {
265
+ "from": "loading",
266
+ "to": "loading",
267
+ "event": "INIT",
268
+ "effects": [
269
+ [
270
+ "fetch",
271
+ "WizardView",
272
+ {
273
+ "emit": {
274
+ "failure": "WizardLoadFailed",
275
+ "success": "WizardLoaded"
276
+ }
277
+ }
278
+ ],
279
+ [
280
+ "render-ui",
281
+ "main",
282
+ {
283
+ "type": "loading-state",
284
+ "title": "Loading wizard…"
285
+ }
286
+ ]
287
+ ]
288
+ },
289
+ {
290
+ "from": "loading",
291
+ "to": "running",
292
+ "event": "WizardLoaded",
293
+ "effects": [
294
+ [
295
+ "set",
296
+ "@entity.currentStepIndex",
297
+ 0.0
298
+ ],
299
+ [
300
+ "set",
301
+ "@entity.totalSteps",
302
+ [
303
+ "array/len",
304
+ "@config.steps"
305
+ ]
306
+ ],
307
+ [
308
+ "set",
309
+ "@entity.steps",
310
+ [
311
+ "array/map",
312
+ "@config.steps",
313
+ [
314
+ "fn",
315
+ "step",
316
+ {
317
+ "label": [
318
+ "object/get",
319
+ "@step",
320
+ "label"
321
+ ],
322
+ "key": [
323
+ "object/get",
324
+ "@step",
325
+ "key"
326
+ ],
327
+ "icon": [
328
+ "object/get",
329
+ "@step",
330
+ "icon",
331
+ "circle"
332
+ ],
333
+ "status": "current",
334
+ "number": 1.0,
335
+ "description": [
336
+ "object/get",
337
+ "@step",
338
+ "description",
339
+ ""
340
+ ]
341
+ }
342
+ ]
343
+ ]
344
+ ],
345
+ [
346
+ "render-ui",
347
+ "main",
348
+ {
349
+ "direction": "vertical",
350
+ "children": [
351
+ {
352
+ "children": [
353
+ {
354
+ "type": "icon",
355
+ "name": "list-checks"
356
+ },
357
+ {
358
+ "variant": "h3",
359
+ "type": "typography",
360
+ "content": "@config.title"
361
+ }
362
+ ],
363
+ "direction": "horizontal",
364
+ "type": "stack",
365
+ "gap": "sm",
366
+ "align": "center"
367
+ },
368
+ {
369
+ "type": "divider"
370
+ },
371
+ {
372
+ "gap": "sm",
373
+ "type": "data-list",
374
+ "renderItem": [
375
+ "fn",
376
+ "step",
377
+ {
378
+ "type": "card",
379
+ "children": [
380
+ {
381
+ "type": "stack",
382
+ "align": "center",
383
+ "children": [
384
+ {
385
+ "type": "icon",
386
+ "name": "@step.icon"
387
+ },
388
+ {
389
+ "type": "stack",
390
+ "direction": "vertical",
391
+ "gap": "xs",
392
+ "children": [
393
+ {
394
+ "type": "typography",
395
+ "variant": "h4",
396
+ "content": "@step.label"
397
+ },
398
+ {
399
+ "variant": "caption",
400
+ "color": "muted",
401
+ "type": "typography",
402
+ "content": "@step.description"
403
+ }
404
+ ]
405
+ },
406
+ {
407
+ "type": "badge",
408
+ "variant": "primary",
409
+ "label": "@step.status"
410
+ }
411
+ ],
412
+ "direction": "horizontal",
413
+ "gap": "sm"
414
+ }
415
+ ]
416
+ }
417
+ ],
418
+ "entity": "@entity.steps",
419
+ "fields": []
420
+ },
421
+ {
422
+ "type": "divider"
423
+ },
424
+ {
425
+ "submitEvent": "ADVANCE",
426
+ "cancelEvent": "CANCEL",
427
+ "entity": "@entity",
428
+ "fields": "@config.currentFields",
429
+ "type": "form-section",
430
+ "mode": "edit"
431
+ },
432
+ {
433
+ "type": "stack",
434
+ "direction": "horizontal",
435
+ "gap": "sm",
436
+ "align": "center",
437
+ "children": [
438
+ {
439
+ "icon": "arrow-left",
440
+ "variant": "ghost",
441
+ "action": "RETREAT",
442
+ "type": "button",
443
+ "label": "Back"
444
+ },
445
+ {
446
+ "action": "SKIP",
447
+ "variant": "secondary",
448
+ "icon": "skip-forward",
449
+ "type": "button",
450
+ "label": "Skip"
451
+ },
452
+ {
453
+ "label": "Submit",
454
+ "type": "button",
455
+ "action": "COMPLETE",
456
+ "variant": "success",
457
+ "icon": "check-circle"
458
+ },
459
+ {
460
+ "icon": "x",
461
+ "label": "Cancel",
462
+ "type": "button",
463
+ "action": "CANCEL",
464
+ "variant": "ghost"
465
+ }
466
+ ]
467
+ }
468
+ ],
469
+ "gap": "md",
470
+ "type": "stack"
471
+ }
472
+ ]
473
+ ]
474
+ },
475
+ {
476
+ "from": "loading",
477
+ "to": "error",
478
+ "event": "WizardLoadFailed",
479
+ "effects": [
480
+ [
481
+ "set",
482
+ "@entity.errorMessage",
483
+ "@payload.error"
484
+ ],
485
+ [
486
+ "render-ui",
487
+ "main",
488
+ {
489
+ "type": "error-state",
490
+ "title": "Failed to load",
491
+ "message": "@entity.errorMessage"
492
+ }
493
+ ]
494
+ ]
495
+ },
496
+ {
497
+ "from": "loading",
498
+ "to": "running",
499
+ "event": "WizardSaved",
500
+ "effects": [
501
+ [
502
+ "render-ui",
503
+ "main",
504
+ {
505
+ "title": "Refreshing…",
506
+ "type": "loading-state"
507
+ }
508
+ ]
509
+ ]
510
+ },
511
+ {
512
+ "from": "loading",
513
+ "to": "error",
514
+ "event": "WizardSaveFailed",
515
+ "effects": [
516
+ [
517
+ "set",
518
+ "@entity.errorMessage",
519
+ "@payload.error"
520
+ ],
521
+ [
522
+ "render-ui",
523
+ "main",
524
+ {
525
+ "message": "@entity.errorMessage",
526
+ "type": "error-state",
527
+ "title": "Save failed"
528
+ }
529
+ ]
530
+ ]
531
+ },
532
+ {
533
+ "from": "running",
534
+ "to": "running",
535
+ "event": "ADVANCE",
536
+ "effects": [
537
+ [
538
+ "set",
539
+ "@entity.currentStepIndex",
540
+ [
541
+ "+",
542
+ "@entity.currentStepIndex",
543
+ 1.0
544
+ ]
545
+ ],
546
+ [
547
+ "set",
548
+ "@entity.steps",
549
+ [
550
+ "array/map",
551
+ "@config.steps",
552
+ [
553
+ "fn",
554
+ "step",
555
+ {
556
+ "description": [
557
+ "object/get",
558
+ "@step",
559
+ "description",
560
+ ""
561
+ ],
562
+ "icon": [
563
+ "object/get",
564
+ "@step",
565
+ "icon",
566
+ "circle"
567
+ ],
568
+ "label": [
569
+ "object/get",
570
+ "@step",
571
+ "label"
572
+ ],
573
+ "key": [
574
+ "object/get",
575
+ "@step",
576
+ "key"
577
+ ],
578
+ "number": 1.0,
579
+ "status": "current"
580
+ }
581
+ ]
582
+ ]
583
+ ],
584
+ [
585
+ "render-ui",
586
+ "main",
587
+ {
588
+ "direction": "vertical",
589
+ "type": "stack",
590
+ "children": [
591
+ {
592
+ "direction": "horizontal",
593
+ "children": [
594
+ {
595
+ "type": "icon",
596
+ "name": "list-checks"
597
+ },
598
+ {
599
+ "variant": "h3",
600
+ "content": "@config.title",
601
+ "type": "typography"
602
+ }
603
+ ],
604
+ "align": "center",
605
+ "type": "stack",
606
+ "gap": "sm"
607
+ },
608
+ {
609
+ "type": "divider"
610
+ },
611
+ {
612
+ "fields": [],
613
+ "gap": "sm",
614
+ "entity": "@entity.steps",
615
+ "renderItem": [
616
+ "fn",
617
+ "step",
618
+ {
619
+ "type": "card",
620
+ "children": [
621
+ {
622
+ "direction": "horizontal",
623
+ "align": "center",
624
+ "children": [
625
+ {
626
+ "type": "icon",
627
+ "name": "@step.icon"
628
+ },
629
+ {
630
+ "children": [
631
+ {
632
+ "content": "@step.label",
633
+ "variant": "h4",
634
+ "type": "typography"
635
+ },
636
+ {
637
+ "type": "typography",
638
+ "variant": "caption",
639
+ "color": "muted",
640
+ "content": "@step.description"
641
+ }
642
+ ],
643
+ "direction": "vertical",
644
+ "gap": "xs",
645
+ "type": "stack"
646
+ },
647
+ {
648
+ "variant": "primary",
649
+ "type": "badge",
650
+ "label": "@step.status"
651
+ }
652
+ ],
653
+ "gap": "sm",
654
+ "type": "stack"
655
+ }
656
+ ]
657
+ }
658
+ ],
659
+ "type": "data-list"
660
+ },
661
+ {
662
+ "type": "divider"
663
+ },
664
+ {
665
+ "entity": "@entity",
666
+ "type": "form-section",
667
+ "fields": "@config.currentFields",
668
+ "submitEvent": "ADVANCE",
669
+ "mode": "edit",
670
+ "cancelEvent": "CANCEL"
671
+ },
672
+ {
673
+ "direction": "horizontal",
674
+ "type": "stack",
675
+ "children": [
676
+ {
677
+ "label": "Back",
678
+ "variant": "ghost",
679
+ "action": "RETREAT",
680
+ "icon": "arrow-left",
681
+ "type": "button"
682
+ },
683
+ {
684
+ "type": "button",
685
+ "label": "Skip",
686
+ "variant": "secondary",
687
+ "action": "SKIP",
688
+ "icon": "skip-forward"
689
+ },
690
+ {
691
+ "variant": "success",
692
+ "action": "COMPLETE",
693
+ "type": "button",
694
+ "icon": "check-circle",
695
+ "label": "Submit"
696
+ },
697
+ {
698
+ "variant": "ghost",
699
+ "type": "button",
700
+ "action": "CANCEL",
701
+ "icon": "x",
702
+ "label": "Cancel"
703
+ }
704
+ ],
705
+ "align": "center",
706
+ "gap": "sm"
707
+ }
708
+ ],
709
+ "gap": "md"
710
+ }
711
+ ]
712
+ ]
713
+ },
714
+ {
715
+ "from": "running",
716
+ "to": "running",
717
+ "event": "RETREAT",
718
+ "effects": [
719
+ [
720
+ "set",
721
+ "@entity.currentStepIndex",
722
+ [
723
+ "-",
724
+ "@entity.currentStepIndex",
725
+ 1.0
726
+ ]
727
+ ],
728
+ [
729
+ "render-ui",
730
+ "main",
731
+ {
732
+ "title": "Going back…",
733
+ "type": "loading-state"
734
+ }
735
+ ]
736
+ ]
737
+ },
738
+ {
739
+ "from": "running",
740
+ "to": "running",
741
+ "event": "SKIP",
742
+ "effects": [
743
+ [
744
+ "set",
745
+ "@entity.currentStepIndex",
746
+ [
747
+ "+",
748
+ "@entity.currentStepIndex",
749
+ 1.0
750
+ ]
751
+ ],
752
+ [
753
+ "render-ui",
754
+ "main",
755
+ {
756
+ "type": "loading-state",
757
+ "title": "Skipping…"
758
+ }
759
+ ]
760
+ ]
761
+ },
762
+ {
763
+ "from": "running",
764
+ "to": "completed",
765
+ "event": "COMPLETE",
766
+ "effects": [
767
+ [
768
+ "set",
769
+ "@entity.completionMessage",
770
+ "All steps completed"
771
+ ],
772
+ [
773
+ "set",
774
+ "@entity.steps",
775
+ [
776
+ "array/map",
777
+ "@config.steps",
778
+ [
779
+ "fn",
780
+ "step",
781
+ {
782
+ "key": [
783
+ "object/get",
784
+ "@step",
785
+ "key"
786
+ ],
787
+ "description": [
788
+ "object/get",
789
+ "@step",
790
+ "description",
791
+ ""
792
+ ],
793
+ "number": 1.0,
794
+ "status": "completed",
795
+ "label": [
796
+ "object/get",
797
+ "@step",
798
+ "label"
799
+ ],
800
+ "icon": [
801
+ "object/get",
802
+ "@step",
803
+ "icon",
804
+ "circle"
805
+ ]
806
+ }
807
+ ]
808
+ ]
809
+ ],
810
+ [
811
+ "render-ui",
812
+ "main",
813
+ {
814
+ "type": "stack",
815
+ "gap": "md",
816
+ "direction": "vertical",
817
+ "children": [
818
+ {
819
+ "align": "center",
820
+ "type": "stack",
821
+ "direction": "horizontal",
822
+ "children": [
823
+ {
824
+ "name": "check-circle",
825
+ "type": "icon"
826
+ },
827
+ {
828
+ "type": "typography",
829
+ "variant": "h3",
830
+ "content": "Complete"
831
+ }
832
+ ],
833
+ "gap": "sm"
834
+ },
835
+ {
836
+ "type": "divider"
837
+ },
838
+ {
839
+ "renderItem": [
840
+ "fn",
841
+ "step",
842
+ {
843
+ "type": "card",
844
+ "children": [
845
+ {
846
+ "align": "center",
847
+ "gap": "sm",
848
+ "type": "stack",
849
+ "children": [
850
+ {
851
+ "type": "icon",
852
+ "name": "@step.icon"
853
+ },
854
+ {
855
+ "type": "stack",
856
+ "children": [
857
+ {
858
+ "variant": "h4",
859
+ "content": "@step.label",
860
+ "type": "typography"
861
+ },
862
+ {
863
+ "color": "muted",
864
+ "type": "typography",
865
+ "variant": "caption",
866
+ "content": "@step.description"
867
+ }
868
+ ],
869
+ "direction": "vertical",
870
+ "gap": "xs"
871
+ },
872
+ {
873
+ "variant": "success",
874
+ "type": "badge",
875
+ "label": "@step.status"
876
+ }
877
+ ],
878
+ "direction": "horizontal"
879
+ }
880
+ ]
881
+ }
882
+ ],
883
+ "fields": [],
884
+ "gap": "sm",
885
+ "type": "data-list",
886
+ "entity": "@entity.steps"
887
+ },
888
+ {
889
+ "children": [
890
+ {
891
+ "content": "@entity.completionMessage",
892
+ "type": "typography",
893
+ "variant": "body"
894
+ }
895
+ ],
896
+ "type": "card"
897
+ },
898
+ {
899
+ "type": "button",
900
+ "label": "Restart",
901
+ "icon": "rotate-ccw",
902
+ "action": "RESTART",
903
+ "variant": "secondary"
904
+ }
905
+ ]
906
+ }
907
+ ]
908
+ ]
909
+ },
910
+ {
911
+ "from": "running",
912
+ "to": "cancelled",
913
+ "event": "CANCEL",
914
+ "effects": [
915
+ [
916
+ "set",
917
+ "@entity.cancelReason",
918
+ "@payload.reason"
919
+ ],
920
+ [
921
+ "render-ui",
922
+ "main",
923
+ {
924
+ "direction": "vertical",
925
+ "children": [
926
+ {
927
+ "children": [
928
+ {
929
+ "type": "icon",
930
+ "name": "x-circle"
931
+ },
932
+ {
933
+ "content": "Cancelled",
934
+ "variant": "h3",
935
+ "type": "typography"
936
+ }
937
+ ],
938
+ "gap": "sm",
939
+ "type": "stack",
940
+ "direction": "horizontal",
941
+ "align": "center"
942
+ },
943
+ {
944
+ "type": "divider"
945
+ },
946
+ {
947
+ "type": "typography",
948
+ "variant": "body",
949
+ "content": "Wizard cancelled."
950
+ },
951
+ {
952
+ "icon": "rotate-ccw",
953
+ "label": "Restart",
954
+ "type": "button",
955
+ "variant": "secondary",
956
+ "action": "RESTART"
957
+ }
958
+ ],
959
+ "type": "stack",
960
+ "gap": "md"
961
+ }
962
+ ]
963
+ ]
964
+ },
965
+ {
966
+ "from": "completed",
967
+ "to": "loading",
968
+ "event": "RESTART",
969
+ "effects": [
970
+ [
971
+ "set",
972
+ "@entity.currentStepIndex",
973
+ 0.0
974
+ ],
975
+ [
976
+ "render-ui",
977
+ "main",
978
+ {
979
+ "title": "Restarting…",
980
+ "type": "loading-state"
981
+ }
982
+ ]
983
+ ]
984
+ },
985
+ {
986
+ "from": "cancelled",
987
+ "to": "loading",
988
+ "event": "RESTART",
989
+ "effects": [
990
+ [
991
+ "set",
992
+ "@entity.currentStepIndex",
993
+ 0.0
994
+ ],
995
+ [
996
+ "render-ui",
997
+ "main",
998
+ {
999
+ "type": "loading-state",
1000
+ "title": "Restarting…"
1001
+ }
1002
+ ]
1003
+ ]
1004
+ },
1005
+ {
1006
+ "from": "error",
1007
+ "to": "loading",
1008
+ "event": "INIT",
1009
+ "effects": [
1010
+ [
1011
+ "render-ui",
1012
+ "main",
1013
+ {
1014
+ "type": "loading-state",
1015
+ "title": "Retrying…"
1016
+ }
1017
+ ]
1018
+ ]
1019
+ }
1020
+ ]
1021
+ },
1022
+ "config": {
1023
+ "steps": {
1024
+ "type": "[object]",
1025
+ "default": [
1026
+ {
1027
+ "description": "Basic information",
1028
+ "key": "details",
1029
+ "fields": [
1030
+ "title",
1031
+ "description"
1032
+ ],
1033
+ "icon": "file-text",
1034
+ "label": "Details"
1035
+ },
1036
+ {
1037
+ "icon": "settings",
1038
+ "description": "Configure preferences",
1039
+ "fields": [
1040
+ "category",
1041
+ "priority"
1042
+ ],
1043
+ "label": "Options",
1044
+ "key": "options"
1045
+ },
1046
+ {
1047
+ "key": "review",
1048
+ "label": "Review",
1049
+ "icon": "check-circle",
1050
+ "description": "Confirm and submit",
1051
+ "fields": [
1052
+ "notes"
1053
+ ]
1054
+ }
1055
+ ]
1056
+ },
1057
+ "currentFields": {
1058
+ "type": "[string]",
1059
+ "default": [
1060
+ "title",
1061
+ "description"
1062
+ ]
1063
+ },
1064
+ "title": {
1065
+ "type": "string",
1066
+ "default": "Wizard"
1067
+ }
1068
+ },
1069
+ "scope": "instance"
1070
+ }
1071
+ ],
1072
+ "pages": [
1073
+ {
1074
+ "name": "WizardPage",
1075
+ "path": "/wizard",
1076
+ "traits": [
1077
+ {
1078
+ "ref": "WizardForm"
1079
+ }
1080
+ ]
1081
+ }
1082
+ ]
1083
+ }
1084
+ ]
1085
+ }