plutonium 0.60.5 → 0.61.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. checksums.yaml +4 -4
  2. data/.claude/skills/plutonium/SKILL.md +19 -1
  3. data/.claude/skills/plutonium-app/SKILL.md +41 -0
  4. data/.claude/skills/plutonium-auth/SKILL.md +40 -0
  5. data/.claude/skills/plutonium-behavior/SKILL.md +47 -1
  6. data/.claude/skills/plutonium-kanban/SKILL.md +313 -0
  7. data/.claude/skills/plutonium-resource/SKILL.md +40 -0
  8. data/.claude/skills/plutonium-tenancy/SKILL.md +43 -0
  9. data/.claude/skills/plutonium-testing/SKILL.md +38 -0
  10. data/.claude/skills/plutonium-ui/SKILL.md +51 -0
  11. data/.claude/skills/plutonium-wizard/SKILL.md +469 -0
  12. data/.cliff.toml +6 -0
  13. data/Appraisals +3 -0
  14. data/CHANGELOG.md +549 -439
  15. data/CLAUDE.md +15 -7
  16. data/app/assets/plutonium.css +1 -1
  17. data/app/assets/plutonium.js +895 -193
  18. data/app/assets/plutonium.js.map +4 -4
  19. data/app/assets/plutonium.min.js +53 -53
  20. data/app/assets/plutonium.min.js.map +4 -4
  21. data/app/views/layouts/basic.html.erb +7 -0
  22. data/app/views/plutonium/_flash_toasts.html.erb +2 -46
  23. data/app/views/plutonium/_toast.html.erb +52 -0
  24. data/app/views/resource/_resource_kanban.html.erb +1 -0
  25. data/db/migrate/wizard/20260615000001_create_plutonium_wizard_sessions.rb +57 -0
  26. data/docs/.vitepress/config.ts +24 -0
  27. data/docs/guides/index.md +2 -0
  28. data/docs/guides/kanban.md +447 -0
  29. data/docs/guides/wizards.md +447 -0
  30. data/docs/public/images/guides/kanban-after-move.png +0 -0
  31. data/docs/public/images/guides/kanban-board-light.png +0 -0
  32. data/docs/public/images/guides/kanban-board.png +0 -0
  33. data/docs/public/images/guides/kanban-show-centered-modal.png +0 -0
  34. data/docs/public/images/guides/kanban-wip-toast.png +0 -0
  35. data/docs/public/images/guides/wizards-chooser.png +0 -0
  36. data/docs/public/images/guides/wizards-completed.png +0 -0
  37. data/docs/public/images/guides/wizards-index-action.png +0 -0
  38. data/docs/public/images/guides/wizards-repeater.png +0 -0
  39. data/docs/public/images/guides/wizards-review.png +0 -0
  40. data/docs/public/images/guides/wizards-step.png +0 -0
  41. data/docs/reference/behavior/policies.md +1 -1
  42. data/docs/reference/index.md +14 -0
  43. data/docs/reference/kanban/authorization.md +62 -0
  44. data/docs/reference/kanban/dsl.md +293 -0
  45. data/docs/reference/kanban/index.md +40 -0
  46. data/docs/reference/kanban/positioning.md +162 -0
  47. data/docs/reference/resource/definition.md +16 -0
  48. data/docs/reference/ui/forms.md +36 -0
  49. data/docs/reference/ui/pages.md +2 -0
  50. data/docs/reference/wizard/anchoring-resume.md +194 -0
  51. data/docs/reference/wizard/dsl.md +332 -0
  52. data/docs/reference/wizard/index.md +33 -0
  53. data/docs/reference/wizard/one-time.md +129 -0
  54. data/docs/reference/wizard/registration-launch.md +177 -0
  55. data/docs/reference/wizard/storage-config.md +151 -0
  56. data/docs/superpowers/plans/2026-06-14-form-sectioning.md +2 -2
  57. data/docs/superpowers/plans/2026-06-15-wizard-dsl.md +1619 -0
  58. data/docs/superpowers/plans/2026-06-15-wizard-dsl.md.tasks.json +68 -0
  59. data/docs/superpowers/plans/2026-06-26-kanban-dsl.md +1128 -0
  60. data/docs/superpowers/plans/2026-06-26-kanban-dsl.md.tasks.json +24 -0
  61. data/docs/superpowers/specs/2026-06-15-wizard-dsl-design.md +836 -0
  62. data/docs/superpowers/specs/2026-06-15-wizard-dsl-examples.rb +245 -0
  63. data/docs/superpowers/specs/2026-06-17-wizard-relaunch-prompt-design.md +86 -0
  64. data/docs/superpowers/specs/2026-06-18-wizard-attachments-design.md +101 -0
  65. data/docs/superpowers/specs/2026-06-18-wizard-hosting-design.md +220 -0
  66. data/docs/superpowers/specs/2026-06-26-kanban-dsl-design.md +388 -0
  67. data/gemfiles/postgres.gemfile +8 -0
  68. data/gemfiles/postgres.gemfile.lock +321 -0
  69. data/gemfiles/rails_7.gemfile +1 -0
  70. data/gemfiles/rails_7.gemfile.lock +1 -1
  71. data/gemfiles/rails_8.0.gemfile +1 -0
  72. data/gemfiles/rails_8.0.gemfile.lock +1 -1
  73. data/gemfiles/rails_8.1.gemfile +1 -0
  74. data/gemfiles/rails_8.1.gemfile.lock +14 -1
  75. data/lib/generators/pu/invites/templates/packages/invites/app/controllers/invites/user_invitations_controller.rb.tt +6 -1
  76. data/lib/plutonium/action/base.rb +9 -0
  77. data/lib/plutonium/auth/rodauth.rb +1 -2
  78. data/lib/plutonium/configuration.rb +4 -0
  79. data/lib/plutonium/core/controller.rb +20 -1
  80. data/lib/plutonium/definition/base.rb +25 -0
  81. data/lib/plutonium/definition/form_layout.rb +54 -35
  82. data/lib/plutonium/definition/index_views.rb +54 -1
  83. data/lib/plutonium/definition/wizards.rb +209 -0
  84. data/lib/plutonium/invites/concerns/invite_token.rb +9 -0
  85. data/lib/plutonium/invites/concerns/invite_user.rb +9 -0
  86. data/lib/plutonium/invites/controller.rb +4 -1
  87. data/lib/plutonium/kanban/action.rb +7 -0
  88. data/lib/plutonium/kanban/board.rb +40 -0
  89. data/lib/plutonium/kanban/broadcaster.rb +54 -0
  90. data/lib/plutonium/kanban/column.rb +69 -0
  91. data/lib/plutonium/kanban/context.rb +15 -0
  92. data/lib/plutonium/kanban/dsl.rb +71 -0
  93. data/lib/plutonium/kanban/grouping.rb +51 -0
  94. data/lib/plutonium/kanban/positioning.rb +75 -0
  95. data/lib/plutonium/kanban.rb +11 -0
  96. data/lib/plutonium/migrations.rb +40 -0
  97. data/lib/plutonium/positioning.rb +146 -0
  98. data/lib/plutonium/railtie.rb +33 -0
  99. data/lib/plutonium/resource/controller.rb +2 -0
  100. data/lib/plutonium/resource/controllers/crud_actions.rb +1 -1
  101. data/lib/plutonium/resource/controllers/kanban_actions.rb +455 -0
  102. data/lib/plutonium/resource/controllers/wizard_actions.rb +165 -0
  103. data/lib/plutonium/resource/policy.rb +8 -0
  104. data/lib/plutonium/routing/mapper_extensions.rb +44 -0
  105. data/lib/plutonium/routing/wizard_registration.rb +289 -0
  106. data/lib/plutonium/ui/display/resource.rb +17 -12
  107. data/lib/plutonium/ui/form/base.rb +19 -5
  108. data/lib/plutonium/ui/form/components/password.rb +126 -0
  109. data/lib/plutonium/ui/form/components/uppy.rb +6 -3
  110. data/lib/plutonium/ui/form/options/inferred_types.rb +20 -0
  111. data/lib/plutonium/ui/form/resource.rb +1 -1
  112. data/lib/plutonium/ui/form/wizard.rb +63 -0
  113. data/lib/plutonium/ui/grid/card.rb +16 -5
  114. data/lib/plutonium/ui/kanban/card.rb +67 -0
  115. data/lib/plutonium/ui/kanban/color_dot.rb +36 -0
  116. data/lib/plutonium/ui/kanban/column.rb +324 -0
  117. data/lib/plutonium/ui/kanban/resource.rb +212 -0
  118. data/lib/plutonium/ui/layout/resource_layout.rb +7 -1
  119. data/lib/plutonium/ui/modal/base.rb +30 -3
  120. data/lib/plutonium/ui/modal/centered.rb +5 -2
  121. data/lib/plutonium/ui/page/index.rb +1 -0
  122. data/lib/plutonium/ui/page/show.rb +23 -0
  123. data/lib/plutonium/ui/page/wizard.rb +371 -0
  124. data/lib/plutonium/ui/page/wizard_chooser.rb +97 -0
  125. data/lib/plutonium/ui/page/wizard_completed.rb +86 -0
  126. data/lib/plutonium/ui/table/base.rb +1 -1
  127. data/lib/plutonium/ui/table/components/view_switcher.rb +2 -1
  128. data/lib/plutonium/ui/wizard/review.rb +196 -0
  129. data/lib/plutonium/ui/wizard/stepper.rb +122 -0
  130. data/lib/plutonium/ui/wizard/summary_display.rb +59 -0
  131. data/lib/plutonium/version.rb +1 -1
  132. data/lib/plutonium/wizard/attachment_data.rb +42 -0
  133. data/lib/plutonium/wizard/attachments.rb +226 -0
  134. data/lib/plutonium/wizard/base.rb +216 -0
  135. data/lib/plutonium/wizard/base_controller.rb +31 -0
  136. data/lib/plutonium/wizard/configuration.rb +42 -0
  137. data/lib/plutonium/wizard/controller.rb +162 -0
  138. data/lib/plutonium/wizard/data.rb +134 -0
  139. data/lib/plutonium/wizard/driving.rb +639 -0
  140. data/lib/plutonium/wizard/dsl.rb +336 -0
  141. data/lib/plutonium/wizard/errors.rb +27 -0
  142. data/lib/plutonium/wizard/field_capture.rb +157 -0
  143. data/lib/plutonium/wizard/field_importer.rb +208 -0
  144. data/lib/plutonium/wizard/gate.rb +171 -0
  145. data/lib/plutonium/wizard/instance_key.rb +97 -0
  146. data/lib/plutonium/wizard/lazy_persisted.rb +77 -0
  147. data/lib/plutonium/wizard/resume.rb +250 -0
  148. data/lib/plutonium/wizard/review_step.rb +48 -0
  149. data/lib/plutonium/wizard/route_resolution.rb +40 -0
  150. data/lib/plutonium/wizard/runner.rb +684 -0
  151. data/lib/plutonium/wizard/session.rb +53 -0
  152. data/lib/plutonium/wizard/state.rb +35 -0
  153. data/lib/plutonium/wizard/step.rb +61 -0
  154. data/lib/plutonium/wizard/step_adapter.rb +103 -0
  155. data/lib/plutonium/wizard/store/active_record.rb +174 -0
  156. data/lib/plutonium/wizard/store/base.rb +42 -0
  157. data/lib/plutonium/wizard/store/memory.rb +44 -0
  158. data/lib/plutonium/wizard/sweep_job.rb +76 -0
  159. data/lib/plutonium/wizard.rb +86 -0
  160. data/lib/plutonium.rb +5 -0
  161. data/lib/rodauth/features/case_insensitive_login.rb +1 -1
  162. data/lib/tasks/release.rake +144 -191
  163. data/package.json +3 -3
  164. data/src/css/components.css +132 -0
  165. data/src/js/controllers/attachment_input_controller.js +15 -1
  166. data/src/js/controllers/dirty_form_guard_controller.js +155 -27
  167. data/src/js/controllers/kanban_controller.js +330 -0
  168. data/src/js/controllers/password_sentinel_controller.js +39 -0
  169. data/src/js/controllers/register_controllers.js +6 -0
  170. data/src/js/controllers/remote_modal_controller.js +10 -0
  171. data/src/js/controllers/row_click_controller.js +14 -1
  172. data/src/js/controllers/wizard_controller.js +54 -0
  173. data/src/js/turbo/turbo_confirm.js +1 -1
  174. data/yarn.lock +271 -282
  175. metadata +100 -1
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plutonium
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.60.5
4
+ version: 0.61.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefan Froelich
@@ -444,10 +444,12 @@ files:
444
444
  - ".claude/skills/plutonium-app/SKILL.md"
445
445
  - ".claude/skills/plutonium-auth/SKILL.md"
446
446
  - ".claude/skills/plutonium-behavior/SKILL.md"
447
+ - ".claude/skills/plutonium-kanban/SKILL.md"
447
448
  - ".claude/skills/plutonium-resource/SKILL.md"
448
449
  - ".claude/skills/plutonium-tenancy/SKILL.md"
449
450
  - ".claude/skills/plutonium-testing/SKILL.md"
450
451
  - ".claude/skills/plutonium-ui/SKILL.md"
452
+ - ".claude/skills/plutonium-wizard/SKILL.md"
451
453
  - ".claude/skills/plutonium/SKILL.md"
452
454
  - ".cliff.toml"
453
455
  - ".node-version"
@@ -472,6 +474,7 @@ files:
472
474
  - app/assets/plutonium.min.js
473
475
  - app/assets/plutonium.min.js.map
474
476
  - app/assets/plutonium.png
477
+ - app/views/layouts/basic.html.erb
475
478
  - app/views/layouts/resource.html.erb
476
479
  - app/views/layouts/rodauth.html.erb
477
480
  - app/views/plutonium/_flash.html.erb
@@ -479,12 +482,14 @@ files:
479
482
  - app/views/plutonium/_flash_toasts.html.erb
480
483
  - app/views/plutonium/_resource_header.html.erb
481
484
  - app/views/plutonium/_resource_sidebar.html.erb
485
+ - app/views/plutonium/_toast.html.erb
482
486
  - app/views/resource/_interactive_action_form.html.erb
483
487
  - app/views/resource/_metric_card.html.erb
484
488
  - app/views/resource/_resource_details.html.erb
485
489
  - app/views/resource/_resource_details.rabl
486
490
  - app/views/resource/_resource_form.html.erb
487
491
  - app/views/resource/_resource_grid.html.erb
492
+ - app/views/resource/_resource_kanban.html.erb
488
493
  - app/views/resource/_resource_table.html.erb
489
494
  - app/views/resource/edit.html.erb
490
495
  - app/views/resource/errors.rabl
@@ -545,6 +550,7 @@ files:
545
550
  - config/initializers/pagy.rb
546
551
  - config/initializers/rabl.rb
547
552
  - config/initializers/sqlite_alias.rb
553
+ - db/migrate/wizard/20260615000001_create_plutonium_wizard_sessions.rb
548
554
  - docs/.vitepress/config.ts
549
555
  - docs/.vitepress/theme/components/HomeAudienceSplit.vue
550
556
  - docs/.vitepress/theme/components/HomeCta.vue
@@ -574,6 +580,7 @@ files:
574
580
  - docs/guides/custom-actions.md
575
581
  - docs/guides/customizing-ui.md
576
582
  - docs/guides/index.md
583
+ - docs/guides/kanban.md
577
584
  - docs/guides/multi-tenancy.md
578
585
  - docs/guides/nested-resources.md
579
586
  - docs/guides/search-filtering.md
@@ -582,6 +589,7 @@ files:
582
589
  - docs/guides/troubleshooting.md
583
590
  - docs/guides/user-invites.md
584
591
  - docs/guides/user-profile.md
592
+ - docs/guides/wizards.md
585
593
  - docs/index.md
586
594
  - docs/og-image.html
587
595
  - docs/public/android-chrome-192x192.png
@@ -593,6 +601,11 @@ files:
593
601
  - docs/public/favicon.ico
594
602
  - docs/public/images/components/avatar.png
595
603
  - docs/public/images/guides/custom-actions-bulk.png
604
+ - docs/public/images/guides/kanban-after-move.png
605
+ - docs/public/images/guides/kanban-board-light.png
606
+ - docs/public/images/guides/kanban-board.png
607
+ - docs/public/images/guides/kanban-show-centered-modal.png
608
+ - docs/public/images/guides/kanban-wip-toast.png
596
609
  - docs/public/images/guides/multi-tenancy-dashboard.png
597
610
  - docs/public/images/guides/multi-tenancy-welcome.png
598
611
  - docs/public/images/guides/nested-inputs.png
@@ -604,6 +617,12 @@ files:
604
617
  - docs/public/images/guides/user-invites-landing.png
605
618
  - docs/public/images/guides/user-profile-edit.png
606
619
  - docs/public/images/guides/user-profile-show.png
620
+ - docs/public/images/guides/wizards-chooser.png
621
+ - docs/public/images/guides/wizards-completed.png
622
+ - docs/public/images/guides/wizards-index-action.png
623
+ - docs/public/images/guides/wizards-repeater.png
624
+ - docs/public/images/guides/wizards-review.png
625
+ - docs/public/images/guides/wizards-step.png
607
626
  - docs/public/images/home-index.png
608
627
  - docs/public/images/home-new.png
609
628
  - docs/public/images/home-show.png
@@ -653,6 +672,10 @@ files:
653
672
  - docs/reference/configuration.md
654
673
  - docs/reference/generators/lite.md
655
674
  - docs/reference/index.md
675
+ - docs/reference/kanban/authorization.md
676
+ - docs/reference/kanban/dsl.md
677
+ - docs/reference/kanban/index.md
678
+ - docs/reference/kanban/positioning.md
656
679
  - docs/reference/resource/actions.md
657
680
  - docs/reference/resource/definition.md
658
681
  - docs/reference/resource/export.md
@@ -672,6 +695,12 @@ files:
672
695
  - docs/reference/ui/layouts.md
673
696
  - docs/reference/ui/pages.md
674
697
  - docs/reference/ui/tables.md
698
+ - docs/reference/wizard/anchoring-resume.md
699
+ - docs/reference/wizard/dsl.md
700
+ - docs/reference/wizard/index.md
701
+ - docs/reference/wizard/one-time.md
702
+ - docs/reference/wizard/registration-launch.md
703
+ - docs/reference/wizard/storage-config.md
675
704
  - docs/superpowers/plans/2026-04-08-plutonium-skills-overhaul.md
676
705
  - docs/superpowers/plans/2026-04-14-plutonium-testing.md
677
706
  - docs/superpowers/plans/2026-04-14-plutonium-testing.md.tasks.json
@@ -689,6 +718,10 @@ files:
689
718
  - docs/superpowers/plans/2026-06-14-form-sectioning.md.tasks.json
690
719
  - docs/superpowers/plans/2026-06-14-railless-portal.md
691
720
  - docs/superpowers/plans/2026-06-14-railless-portal.md.tasks.json
721
+ - docs/superpowers/plans/2026-06-15-wizard-dsl.md
722
+ - docs/superpowers/plans/2026-06-15-wizard-dsl.md.tasks.json
723
+ - docs/superpowers/plans/2026-06-26-kanban-dsl.md
724
+ - docs/superpowers/plans/2026-06-26-kanban-dsl.md.tasks.json
692
725
  - docs/superpowers/specs/2026-04-08-plutonium-skills-overhaul-design.md
693
726
  - docs/superpowers/specs/2026-04-14-plutonium-testing-design.md
694
727
  - docs/superpowers/specs/2026-05-07-ui-layout-overhaul-design.md
@@ -702,8 +735,16 @@ files:
702
735
  - docs/superpowers/specs/2026-06-12-export-csv-default-action-design.md
703
736
  - docs/superpowers/specs/2026-06-14-form-sectioning-design.md
704
737
  - docs/superpowers/specs/2026-06-14-railless-portal-design.md
738
+ - docs/superpowers/specs/2026-06-15-wizard-dsl-design.md
739
+ - docs/superpowers/specs/2026-06-15-wizard-dsl-examples.rb
740
+ - docs/superpowers/specs/2026-06-17-wizard-relaunch-prompt-design.md
741
+ - docs/superpowers/specs/2026-06-18-wizard-attachments-design.md
742
+ - docs/superpowers/specs/2026-06-18-wizard-hosting-design.md
743
+ - docs/superpowers/specs/2026-06-26-kanban-dsl-design.md
705
744
  - esbuild.config.js
706
745
  - exe/pug
746
+ - gemfiles/postgres.gemfile
747
+ - gemfiles/postgres.gemfile.lock
707
748
  - gemfiles/rails_7.gemfile
708
749
  - gemfiles/rails_7.gemfile.lock
709
750
  - gemfiles/rails_8.0.gemfile
@@ -1012,6 +1053,7 @@ files:
1012
1053
  - lib/plutonium/definition/search.rb
1013
1054
  - lib/plutonium/definition/sorting.rb
1014
1055
  - lib/plutonium/definition/structured_inputs.rb
1056
+ - lib/plutonium/definition/wizards.rb
1015
1057
  - lib/plutonium/engine.rb
1016
1058
  - lib/plutonium/engine/validator.rb
1017
1059
  - lib/plutonium/helpers.rb
@@ -1040,16 +1082,27 @@ files:
1040
1082
  - lib/plutonium/invites/concerns/resend_invite.rb
1041
1083
  - lib/plutonium/invites/controller.rb
1042
1084
  - lib/plutonium/invites/pending_invite_check.rb
1085
+ - lib/plutonium/kanban.rb
1086
+ - lib/plutonium/kanban/action.rb
1087
+ - lib/plutonium/kanban/board.rb
1088
+ - lib/plutonium/kanban/broadcaster.rb
1089
+ - lib/plutonium/kanban/column.rb
1090
+ - lib/plutonium/kanban/context.rb
1091
+ - lib/plutonium/kanban/dsl.rb
1092
+ - lib/plutonium/kanban/grouping.rb
1093
+ - lib/plutonium/kanban/positioning.rb
1043
1094
  - lib/plutonium/lib/after_commit.rb
1044
1095
  - lib/plutonium/lib/bit_flags.rb
1045
1096
  - lib/plutonium/lib/deep_freezer.rb
1046
1097
  - lib/plutonium/lib/overlayed_hash.rb
1047
1098
  - lib/plutonium/lib/smart_cache.rb
1099
+ - lib/plutonium/migrations.rb
1048
1100
  - lib/plutonium/models/has_cents.rb
1049
1101
  - lib/plutonium/package/engine.rb
1050
1102
  - lib/plutonium/portal/controller.rb
1051
1103
  - lib/plutonium/portal/dynamic_controllers.rb
1052
1104
  - lib/plutonium/portal/engine.rb
1105
+ - lib/plutonium/positioning.rb
1053
1106
  - lib/plutonium/profile/security_section.rb
1054
1107
  - lib/plutonium/query/adhoc_block.rb
1055
1108
  - lib/plutonium/query/base.rb
@@ -1071,9 +1124,11 @@ files:
1071
1124
  - lib/plutonium/resource/controllers/defineable.rb
1072
1125
  - lib/plutonium/resource/controllers/export_csv.rb
1073
1126
  - lib/plutonium/resource/controllers/interactive_actions.rb
1127
+ - lib/plutonium/resource/controllers/kanban_actions.rb
1074
1128
  - lib/plutonium/resource/controllers/presentable.rb
1075
1129
  - lib/plutonium/resource/controllers/queryable.rb
1076
1130
  - lib/plutonium/resource/controllers/typeahead.rb
1131
+ - lib/plutonium/resource/controllers/wizard_actions.rb
1077
1132
  - lib/plutonium/resource/definition.rb
1078
1133
  - lib/plutonium/resource/interaction.rb
1079
1134
  - lib/plutonium/resource/policy.rb
@@ -1089,6 +1144,7 @@ files:
1089
1144
  - lib/plutonium/routing/mapper_extensions.rb
1090
1145
  - lib/plutonium/routing/resource_registration.rb
1091
1146
  - lib/plutonium/routing/route_set_extensions.rb
1147
+ - lib/plutonium/routing/wizard_registration.rb
1092
1148
  - lib/plutonium/structured_inputs/param_cleaner.rb
1093
1149
  - lib/plutonium/structured_inputs/params_concern.rb
1094
1150
  - lib/plutonium/support/parameters.rb
@@ -1138,6 +1194,7 @@ files:
1138
1194
  - lib/plutonium/ui/form/components/intl_tel_input.rb
1139
1195
  - lib/plutonium/ui/form/components/json.rb
1140
1196
  - lib/plutonium/ui/form/components/key_value_store.rb
1197
+ - lib/plutonium/ui/form/components/password.rb
1141
1198
  - lib/plutonium/ui/form/components/resource_select.rb
1142
1199
  - lib/plutonium/ui/form/components/section.rb
1143
1200
  - lib/plutonium/ui/form/components/secure_association.rb
@@ -1155,9 +1212,14 @@ files:
1155
1212
  - lib/plutonium/ui/form/query.rb
1156
1213
  - lib/plutonium/ui/form/resource.rb
1157
1214
  - lib/plutonium/ui/form/theme.rb
1215
+ - lib/plutonium/ui/form/wizard.rb
1158
1216
  - lib/plutonium/ui/frame_navigator_panel.rb
1159
1217
  - lib/plutonium/ui/grid/card.rb
1160
1218
  - lib/plutonium/ui/grid/resource.rb
1219
+ - lib/plutonium/ui/kanban/card.rb
1220
+ - lib/plutonium/ui/kanban/color_dot.rb
1221
+ - lib/plutonium/ui/kanban/column.rb
1222
+ - lib/plutonium/ui/kanban/resource.rb
1161
1223
  - lib/plutonium/ui/layout/base.rb
1162
1224
  - lib/plutonium/ui/layout/basic_layout.rb
1163
1225
  - lib/plutonium/ui/layout/header.rb
@@ -1177,6 +1239,9 @@ files:
1177
1239
  - lib/plutonium/ui/page/interactive_action.rb
1178
1240
  - lib/plutonium/ui/page/new.rb
1179
1241
  - lib/plutonium/ui/page/show.rb
1242
+ - lib/plutonium/ui/page/wizard.rb
1243
+ - lib/plutonium/ui/page/wizard_chooser.rb
1244
+ - lib/plutonium/ui/page/wizard_completed.rb
1180
1245
  - lib/plutonium/ui/page_header.rb
1181
1246
  - lib/plutonium/ui/panel.rb
1182
1247
  - lib/plutonium/ui/sidebar_menu.rb
@@ -1199,7 +1264,38 @@ files:
1199
1264
  - lib/plutonium/ui/table/display_theme.rb
1200
1265
  - lib/plutonium/ui/table/resource.rb
1201
1266
  - lib/plutonium/ui/table/theme.rb
1267
+ - lib/plutonium/ui/wizard/review.rb
1268
+ - lib/plutonium/ui/wizard/stepper.rb
1269
+ - lib/plutonium/ui/wizard/summary_display.rb
1202
1270
  - lib/plutonium/version.rb
1271
+ - lib/plutonium/wizard.rb
1272
+ - lib/plutonium/wizard/attachment_data.rb
1273
+ - lib/plutonium/wizard/attachments.rb
1274
+ - lib/plutonium/wizard/base.rb
1275
+ - lib/plutonium/wizard/base_controller.rb
1276
+ - lib/plutonium/wizard/configuration.rb
1277
+ - lib/plutonium/wizard/controller.rb
1278
+ - lib/plutonium/wizard/data.rb
1279
+ - lib/plutonium/wizard/driving.rb
1280
+ - lib/plutonium/wizard/dsl.rb
1281
+ - lib/plutonium/wizard/errors.rb
1282
+ - lib/plutonium/wizard/field_capture.rb
1283
+ - lib/plutonium/wizard/field_importer.rb
1284
+ - lib/plutonium/wizard/gate.rb
1285
+ - lib/plutonium/wizard/instance_key.rb
1286
+ - lib/plutonium/wizard/lazy_persisted.rb
1287
+ - lib/plutonium/wizard/resume.rb
1288
+ - lib/plutonium/wizard/review_step.rb
1289
+ - lib/plutonium/wizard/route_resolution.rb
1290
+ - lib/plutonium/wizard/runner.rb
1291
+ - lib/plutonium/wizard/session.rb
1292
+ - lib/plutonium/wizard/state.rb
1293
+ - lib/plutonium/wizard/step.rb
1294
+ - lib/plutonium/wizard/step_adapter.rb
1295
+ - lib/plutonium/wizard/store/active_record.rb
1296
+ - lib/plutonium/wizard/store/base.rb
1297
+ - lib/plutonium/wizard/store/memory.rb
1298
+ - lib/plutonium/wizard/sweep_job.rb
1203
1299
  - lib/rodauth/features/case_insensitive_login.rb
1204
1300
  - lib/rodauth/plugins.rb
1205
1301
  - lib/tasks/.keep
@@ -1240,8 +1336,10 @@ files:
1240
1336
  - src/js/controllers/icon_rail_controller.js
1241
1337
  - src/js/controllers/icon_rail_flyout_controller.js
1242
1338
  - src/js/controllers/intl_tel_input_controller.js
1339
+ - src/js/controllers/kanban_controller.js
1243
1340
  - src/js/controllers/key_value_store_controller.js
1244
1341
  - src/js/controllers/nested_resource_form_fields_controller.js
1342
+ - src/js/controllers/password_sentinel_controller.js
1245
1343
  - src/js/controllers/password_visibility_controller.js
1246
1344
  - src/js/controllers/register_controllers.js
1247
1345
  - src/js/controllers/remote_modal_controller.js
@@ -1259,6 +1357,7 @@ files:
1259
1357
  - src/js/controllers/table_header_controller.js
1260
1358
  - src/js/controllers/textarea_autogrow_controller.js
1261
1359
  - src/js/controllers/view_switcher_controller.js
1360
+ - src/js/controllers/wizard_controller.js
1262
1361
  - src/js/core.js
1263
1362
  - src/js/plutonium.js
1264
1363
  - src/js/support/dom_element.js