plutonium 0.61.0 → 0.62.1

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 (75) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/skills/plutonium-kanban/SKILL.md +89 -24
  3. data/CHANGELOG.md +45 -3
  4. data/SECURITY.md +57 -0
  5. data/app/assets/plutonium.css +1 -1
  6. data/app/assets/plutonium.js +315 -38
  7. data/app/assets/plutonium.js.map +4 -4
  8. data/app/assets/plutonium.min.js +31 -31
  9. data/app/assets/plutonium.min.js.map +4 -4
  10. data/app/views/resource/_kanban_move_action_form.html.erb +1 -0
  11. data/app/views/resource/kanban_move_form.html.erb +1 -0
  12. data/config/brakeman.ignore +2 -2
  13. data/docs/.vitepress/config.ts +21 -1
  14. data/docs/.vitepress/sync-skills.mjs +45 -0
  15. data/docs/ai.md +99 -0
  16. data/docs/guides/kanban.md +128 -18
  17. data/docs/reference/kanban/authorization.md +25 -5
  18. data/docs/reference/kanban/dsl.md +49 -8
  19. data/docs/reference/kanban/index.md +3 -3
  20. data/docs/reference/kanban/positioning.md +1 -1
  21. data/docs/reference/resource/definition.md +10 -1
  22. data/docs/reference/resource/model.md +26 -0
  23. data/docs/reference/ui/forms.md +41 -0
  24. data/docs/reference/wizard/dsl.md +5 -0
  25. data/docs/superpowers/plans/2026-07-02-kanban-drop-interactions.md +714 -0
  26. data/docs/superpowers/plans/2026-07-02-kanban-drop-interactions.md.tasks.json +68 -0
  27. data/docs/superpowers/specs/2026-07-03-kanban-auth-simplification.md +159 -0
  28. data/gemfiles/rails_8.1.gemfile.lock +1 -1
  29. data/lib/generators/pu/gem/active_shrine/active_shrine_generator.rb +5 -0
  30. data/lib/plutonium/action/base.rb +8 -0
  31. data/lib/plutonium/configuration.rb +12 -0
  32. data/lib/plutonium/definition/index_views.rb +16 -0
  33. data/lib/plutonium/kanban/column.rb +80 -27
  34. data/lib/plutonium/models/has_cents.rb +30 -2
  35. data/lib/plutonium/resource/controller.rb +22 -1
  36. data/lib/plutonium/resource/controllers/crud_actions.rb +21 -1
  37. data/lib/plutonium/resource/controllers/kanban_actions.rb +489 -93
  38. data/lib/plutonium/resource/policy.rb +6 -0
  39. data/lib/plutonium/routing/mapper_extensions.rb +1 -0
  40. data/lib/plutonium/ui/display/components/currency.rb +41 -9
  41. data/lib/plutonium/ui/display/options/inferred_types.rb +2 -5
  42. data/lib/plutonium/ui/form/base.rb +6 -0
  43. data/lib/plutonium/ui/form/components/currency.rb +64 -0
  44. data/lib/plutonium/ui/form/components/intl_tel_input.rb +27 -1
  45. data/lib/plutonium/ui/form/components/uppy.rb +20 -2
  46. data/lib/plutonium/ui/form/kanban_move.rb +46 -0
  47. data/lib/plutonium/ui/form/options/inferred_types.rb +6 -0
  48. data/lib/plutonium/ui/form/resource.rb +12 -0
  49. data/lib/plutonium/ui/form/theme.rb +7 -0
  50. data/lib/plutonium/ui/grid/card.rb +40 -13
  51. data/lib/plutonium/ui/kanban/column.rb +111 -24
  52. data/lib/plutonium/ui/kanban/resource.rb +118 -11
  53. data/lib/plutonium/ui/layout/base.rb +1 -1
  54. data/lib/plutonium/ui/options/has_cents_field.rb +21 -0
  55. data/lib/plutonium/ui/page/index.rb +1 -1
  56. data/lib/plutonium/ui/page/interactive_action.rb +12 -2
  57. data/lib/plutonium/ui/page/kanban_move.rb +20 -0
  58. data/lib/plutonium/ui/page/show.rb +7 -2
  59. data/lib/plutonium/ui/table/resource.rb +1 -1
  60. data/lib/plutonium/ui/wizard/summary_display.rb +33 -0
  61. data/lib/plutonium/version.rb +1 -1
  62. data/lib/plutonium/wizard/not_anchored_error.rb +8 -0
  63. data/lib/plutonium/wizard/{errors.rb → step_error.rb} +0 -8
  64. data/lib/plutonium/wizard/unknown_wizard_error.rb +10 -0
  65. data/lib/plutonium/wizard.rb +0 -1
  66. data/lib/tasks/release.rake +16 -0
  67. data/package.json +5 -3
  68. data/plutonium.gemspec +3 -0
  69. data/src/css/components.css +5 -0
  70. data/src/js/controllers/currency_input_controller.js +39 -0
  71. data/src/js/controllers/intl_tel_input_controller.js +4 -0
  72. data/src/js/controllers/kanban_controller.js +442 -55
  73. data/src/js/controllers/register_controllers.js +2 -0
  74. data/yarn.lock +674 -4
  75. metadata +19 -3
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plutonium
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.61.0
4
+ version: 0.62.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefan Froelich
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-06-30 00:00:00.000000000 Z
10
+ date: 2026-07-07 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: zeitwerk
@@ -467,6 +467,7 @@ files:
467
467
  - LICENSE.txt
468
468
  - README.md
469
469
  - Rakefile
470
+ - SECURITY.md
470
471
  - app/assets/plutonium.css
471
472
  - app/assets/plutonium.ico
472
473
  - app/assets/plutonium.js
@@ -484,6 +485,7 @@ files:
484
485
  - app/views/plutonium/_resource_sidebar.html.erb
485
486
  - app/views/plutonium/_toast.html.erb
486
487
  - app/views/resource/_interactive_action_form.html.erb
488
+ - app/views/resource/_kanban_move_action_form.html.erb
487
489
  - app/views/resource/_metric_card.html.erb
488
490
  - app/views/resource/_resource_details.html.erb
489
491
  - app/views/resource/_resource_details.rabl
@@ -498,6 +500,7 @@ files:
498
500
  - app/views/resource/interactive_bulk_action.html.erb
499
501
  - app/views/resource/interactive_record_action.html.erb
500
502
  - app/views/resource/interactive_resource_action.html.erb
503
+ - app/views/resource/kanban_move_form.html.erb
501
504
  - app/views/resource/new.html.erb
502
505
  - app/views/resource/readme.md
503
506
  - app/views/resource/show.html.erb
@@ -552,6 +555,7 @@ files:
552
555
  - config/initializers/sqlite_alias.rb
553
556
  - db/migrate/wizard/20260615000001_create_plutonium_wizard_sessions.rb
554
557
  - docs/.vitepress/config.ts
558
+ - docs/.vitepress/sync-skills.mjs
555
559
  - docs/.vitepress/theme/components/HomeAudienceSplit.vue
556
560
  - docs/.vitepress/theme/components/HomeCta.vue
557
561
  - docs/.vitepress/theme/components/HomeHero.vue
@@ -562,6 +566,7 @@ files:
562
566
  - docs/.vitepress/theme/components/SectionLanding.vue
563
567
  - docs/.vitepress/theme/custom.css
564
568
  - docs/.vitepress/theme/index.ts
569
+ - docs/ai.md
565
570
  - docs/getting-started/index.md
566
571
  - docs/getting-started/installation.md
567
572
  - docs/getting-started/tutorial/01-setup.md
@@ -722,6 +727,8 @@ files:
722
727
  - docs/superpowers/plans/2026-06-15-wizard-dsl.md.tasks.json
723
728
  - docs/superpowers/plans/2026-06-26-kanban-dsl.md
724
729
  - docs/superpowers/plans/2026-06-26-kanban-dsl.md.tasks.json
730
+ - docs/superpowers/plans/2026-07-02-kanban-drop-interactions.md
731
+ - docs/superpowers/plans/2026-07-02-kanban-drop-interactions.md.tasks.json
725
732
  - docs/superpowers/specs/2026-04-08-plutonium-skills-overhaul-design.md
726
733
  - docs/superpowers/specs/2026-04-14-plutonium-testing-design.md
727
734
  - docs/superpowers/specs/2026-05-07-ui-layout-overhaul-design.md
@@ -741,6 +748,7 @@ files:
741
748
  - docs/superpowers/specs/2026-06-18-wizard-attachments-design.md
742
749
  - docs/superpowers/specs/2026-06-18-wizard-hosting-design.md
743
750
  - docs/superpowers/specs/2026-06-26-kanban-dsl-design.md
751
+ - docs/superpowers/specs/2026-07-03-kanban-auth-simplification.md
744
752
  - esbuild.config.js
745
753
  - exe/pug
746
754
  - gemfiles/postgres.gemfile
@@ -1188,6 +1196,7 @@ files:
1188
1196
  - lib/plutonium/ui/empty_card.rb
1189
1197
  - lib/plutonium/ui/export_button.rb
1190
1198
  - lib/plutonium/ui/form/base.rb
1199
+ - lib/plutonium/ui/form/components/currency.rb
1191
1200
  - lib/plutonium/ui/form/components/easymde.rb
1192
1201
  - lib/plutonium/ui/form/components/flatpickr.rb
1193
1202
  - lib/plutonium/ui/form/components/hidden_wrapper.rb
@@ -1208,6 +1217,7 @@ files:
1208
1217
  - lib/plutonium/ui/form/concerns/repeater_field_styles.rb
1209
1218
  - lib/plutonium/ui/form/concerns/typeahead_attributes.rb
1210
1219
  - lib/plutonium/ui/form/interaction.rb
1220
+ - lib/plutonium/ui/form/kanban_move.rb
1211
1221
  - lib/plutonium/ui/form/options/inferred_types.rb
1212
1222
  - lib/plutonium/ui/form/query.rb
1213
1223
  - lib/plutonium/ui/form/resource.rb
@@ -1233,10 +1243,12 @@ files:
1233
1243
  - lib/plutonium/ui/modal/slideover.rb
1234
1244
  - lib/plutonium/ui/nav_grid_menu.rb
1235
1245
  - lib/plutonium/ui/nav_user.rb
1246
+ - lib/plutonium/ui/options/has_cents_field.rb
1236
1247
  - lib/plutonium/ui/page/base.rb
1237
1248
  - lib/plutonium/ui/page/edit.rb
1238
1249
  - lib/plutonium/ui/page/index.rb
1239
1250
  - lib/plutonium/ui/page/interactive_action.rb
1251
+ - lib/plutonium/ui/page/kanban_move.rb
1240
1252
  - lib/plutonium/ui/page/new.rb
1241
1253
  - lib/plutonium/ui/page/show.rb
1242
1254
  - lib/plutonium/ui/page/wizard.rb
@@ -1278,12 +1290,12 @@ files:
1278
1290
  - lib/plutonium/wizard/data.rb
1279
1291
  - lib/plutonium/wizard/driving.rb
1280
1292
  - lib/plutonium/wizard/dsl.rb
1281
- - lib/plutonium/wizard/errors.rb
1282
1293
  - lib/plutonium/wizard/field_capture.rb
1283
1294
  - lib/plutonium/wizard/field_importer.rb
1284
1295
  - lib/plutonium/wizard/gate.rb
1285
1296
  - lib/plutonium/wizard/instance_key.rb
1286
1297
  - lib/plutonium/wizard/lazy_persisted.rb
1298
+ - lib/plutonium/wizard/not_anchored_error.rb
1287
1299
  - lib/plutonium/wizard/resume.rb
1288
1300
  - lib/plutonium/wizard/review_step.rb
1289
1301
  - lib/plutonium/wizard/route_resolution.rb
@@ -1292,10 +1304,12 @@ files:
1292
1304
  - lib/plutonium/wizard/state.rb
1293
1305
  - lib/plutonium/wizard/step.rb
1294
1306
  - lib/plutonium/wizard/step_adapter.rb
1307
+ - lib/plutonium/wizard/step_error.rb
1295
1308
  - lib/plutonium/wizard/store/active_record.rb
1296
1309
  - lib/plutonium/wizard/store/base.rb
1297
1310
  - lib/plutonium/wizard/store/memory.rb
1298
1311
  - lib/plutonium/wizard/sweep_job.rb
1312
+ - lib/plutonium/wizard/unknown_wizard_error.rb
1299
1313
  - lib/rodauth/features/case_insensitive_login.rb
1300
1314
  - lib/rodauth/plugins.rb
1301
1315
  - lib/tasks/.keep
@@ -1327,6 +1341,7 @@ files:
1327
1341
  - src/js/controllers/capture_url_controller.js
1328
1342
  - src/js/controllers/clipboard_controller.js
1329
1343
  - src/js/controllers/color_mode_controller.js
1344
+ - src/js/controllers/currency_input_controller.js
1330
1345
  - src/js/controllers/dirty_form_guard_controller.js
1331
1346
  - src/js/controllers/easymde_controller.js
1332
1347
  - src/js/controllers/filter_panel_controller.js
@@ -1375,6 +1390,7 @@ licenses:
1375
1390
  - MIT
1376
1391
  metadata:
1377
1392
  allowed_push_host: https://rubygems.org
1393
+ rubygems_mfa_required: 'true'
1378
1394
  homepage_uri: https://radioactive-labs.github.io/plutonium-core/
1379
1395
  source_code_uri: https://github.com/radioactive-labs/plutonium-core
1380
1396
  post_install_message: |