plutonium 0.49.0 → 0.50.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 (138) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/skills/plutonium-definition/SKILL.md +87 -2
  3. data/.claude/skills/plutonium-installation/SKILL.md +6 -0
  4. data/.claude/skills/plutonium-invites/SKILL.md +41 -0
  5. data/.claude/skills/plutonium-views/SKILL.md +59 -0
  6. data/CHANGELOG.md +27 -0
  7. data/app/assets/plutonium.css +2 -2
  8. data/app/assets/plutonium.js +404 -25
  9. data/app/assets/plutonium.js.map +4 -4
  10. data/app/assets/plutonium.min.js +45 -45
  11. data/app/assets/plutonium.min.js.map +4 -4
  12. data/app/views/plutonium/_flash.html.erb +1 -1
  13. data/app/views/plutonium/_resource_header.html.erb +4 -4
  14. data/app/views/plutonium/_resource_sidebar.html.erb +9 -9
  15. data/app/views/resource/_resource_grid.html.erb +1 -0
  16. data/config/brakeman.ignore +25 -2
  17. data/docs/guides/user-invites.md +64 -0
  18. data/docs/reference/definition/actions.md +14 -1
  19. data/docs/reference/definition/index.md +58 -0
  20. data/docs/reference/views/index.md +43 -0
  21. data/docs/superpowers/plans/2026-05-06-multi-invite-model-support.md +1487 -0
  22. data/docs/superpowers/plans/2026-05-06-multi-invite-model-support.md.tasks.json +15 -0
  23. data/docs/superpowers/plans/2026-05-07-ui-layout-overhaul.md +841 -0
  24. data/docs/superpowers/plans/2026-05-07-ui-layout-overhaul.md.tasks.json +103 -0
  25. data/docs/superpowers/specs/2026-05-07-ui-layout-overhaul-design.md +270 -0
  26. data/gemfiles/rails_7.gemfile.lock +1 -1
  27. data/gemfiles/rails_8.0.gemfile.lock +1 -1
  28. data/gemfiles/rails_8.1.gemfile.lock +1 -1
  29. data/lib/generators/pu/core/install/templates/config/initializers/plutonium.rb +1 -0
  30. data/lib/generators/pu/core/update/update_generator.rb +20 -0
  31. data/lib/generators/pu/invites/install_generator.rb +136 -35
  32. data/lib/generators/pu/invites/templates/app/interactions/invite_user_interaction.rb.tt +8 -2
  33. data/lib/generators/pu/invites/templates/app/interactions/user_invite_user_interaction.rb.tt +7 -1
  34. data/lib/generators/pu/invites/templates/db/migrate/create_user_invites.rb.tt +4 -4
  35. data/lib/generators/pu/invites/templates/packages/invites/app/controllers/invites/user_invitations_controller.rb.tt +9 -4
  36. data/lib/generators/pu/invites/templates/packages/invites/app/controllers/invites/welcome_controller.rb.tt +2 -2
  37. data/lib/generators/pu/invites/templates/packages/invites/app/definitions/invites/user_invite_definition.rb.tt +1 -1
  38. data/lib/generators/pu/invites/templates/packages/invites/app/mailers/invites/user_invite_mailer.rb.tt +8 -8
  39. data/lib/generators/pu/invites/templates/packages/invites/app/models/invites/user_invite.rb.tt +13 -4
  40. data/lib/generators/pu/invites/templates/packages/invites/app/policies/invites/user_invite_policy.rb.tt +3 -3
  41. data/lib/generators/pu/invites/templates/packages/invites/app/views/invites/user_invitations/landing.html.erb.tt +1 -1
  42. data/lib/generators/pu/invites/templates/packages/invites/app/views/invites/user_invitations/show.html.erb.tt +1 -1
  43. data/lib/generators/pu/invites/templates/packages/invites/app/views/invites/user_invitations/signup.html.erb.tt +2 -2
  44. data/lib/generators/pu/invites/templates/packages/invites/app/views/invites/user_invite_mailer/invitation.html.erb.tt +4 -4
  45. data/lib/generators/pu/invites/templates/packages/invites/app/views/invites/user_invite_mailer/invitation.text.erb.tt +4 -4
  46. data/lib/generators/pu/invites/templates/packages/invites/app/views/layouts/invites/invitation.html.erb.tt +5 -1
  47. data/lib/generators/pu/lite/rails_pulse/rails_pulse_generator.rb +54 -5
  48. data/lib/generators/pu/saas/welcome/templates/app/views/layouts/welcome.html.erb.tt +5 -1
  49. data/lib/plutonium/action/base.rb +44 -1
  50. data/lib/plutonium/action/interactive.rb +1 -1
  51. data/lib/plutonium/configuration.rb +4 -0
  52. data/lib/plutonium/definition/actions.rb +3 -0
  53. data/lib/plutonium/definition/base.rb +8 -0
  54. data/lib/plutonium/definition/metadata.rb +40 -0
  55. data/lib/plutonium/definition/views.rb +94 -0
  56. data/lib/plutonium/helpers/turbo_helper.rb +1 -1
  57. data/lib/plutonium/interaction/response/redirect.rb +1 -1
  58. data/lib/plutonium/invites/concerns/invite_token.rb +11 -3
  59. data/lib/plutonium/invites/concerns/invite_user.rb +13 -4
  60. data/lib/plutonium/invites/controller.rb +14 -1
  61. data/lib/plutonium/invites/pending_invite_check.rb +37 -28
  62. data/lib/plutonium/query/base.rb +8 -0
  63. data/lib/plutonium/query/filters/association.rb +30 -8
  64. data/lib/plutonium/query/filters/boolean.rb +5 -0
  65. data/lib/plutonium/resource/controllers/interactive_actions.rb +13 -9
  66. data/lib/plutonium/resource/controllers/presentable.rb +11 -2
  67. data/lib/plutonium/resource/definition.rb +42 -0
  68. data/lib/plutonium/resource/policy.rb +23 -8
  69. data/lib/plutonium/resource/query_object.rb +64 -6
  70. data/lib/plutonium/testing/resource_definition.rb +2 -2
  71. data/lib/plutonium/ui/action_button.rb +4 -2
  72. data/lib/plutonium/ui/component/kit.rb +12 -0
  73. data/lib/plutonium/ui/display/base.rb +3 -1
  74. data/lib/plutonium/ui/display/resource.rb +109 -25
  75. data/lib/plutonium/ui/display/theme.rb +2 -1
  76. data/lib/plutonium/ui/dyna_frame/content.rb +8 -14
  77. data/lib/plutonium/ui/empty_card.rb +1 -1
  78. data/lib/plutonium/ui/form/base.rb +29 -1
  79. data/lib/plutonium/ui/form/components/hidden_wrapper.rb +25 -0
  80. data/lib/plutonium/ui/form/components/resource_select.rb +79 -1
  81. data/lib/plutonium/ui/form/components/secure_association.rb +7 -2
  82. data/lib/plutonium/ui/form/components/sticky_footer.rb +17 -0
  83. data/lib/plutonium/ui/form/resource.rb +48 -9
  84. data/lib/plutonium/ui/form/theme.rb +1 -1
  85. data/lib/plutonium/ui/frame_navigator_panel.rb +7 -4
  86. data/lib/plutonium/ui/grid/card.rb +235 -0
  87. data/lib/plutonium/ui/grid/resource.rb +149 -0
  88. data/lib/plutonium/ui/layout/base.rb +37 -1
  89. data/lib/plutonium/ui/layout/header.rb +1 -2
  90. data/lib/plutonium/ui/layout/icon_rail.rb +212 -0
  91. data/lib/plutonium/ui/layout/resource_layout.rb +10 -3
  92. data/lib/plutonium/ui/layout/sidebar.rb +12 -24
  93. data/lib/plutonium/ui/layout/topbar.rb +100 -0
  94. data/lib/plutonium/ui/modal/base.rb +109 -0
  95. data/lib/plutonium/ui/modal/centered.rb +21 -0
  96. data/lib/plutonium/ui/modal/slideover.rb +26 -0
  97. data/lib/plutonium/ui/page/base.rb +25 -6
  98. data/lib/plutonium/ui/page/edit.rb +13 -1
  99. data/lib/plutonium/ui/page/index.rb +40 -1
  100. data/lib/plutonium/ui/page/interactive_action.rb +8 -39
  101. data/lib/plutonium/ui/page/new.rb +13 -1
  102. data/lib/plutonium/ui/page/show.rb +8 -1
  103. data/lib/plutonium/ui/page_header.rb +8 -13
  104. data/lib/plutonium/ui/panel.rb +10 -19
  105. data/lib/plutonium/ui/sidebar_menu.rb +2 -25
  106. data/lib/plutonium/ui/tab_list.rb +29 -7
  107. data/lib/plutonium/ui/table/base.rb +106 -0
  108. data/lib/plutonium/ui/table/components/bulk_actions_toolbar.rb +12 -4
  109. data/lib/plutonium/ui/table/components/filter_form.rb +171 -0
  110. data/lib/plutonium/ui/table/components/filter_pills.rb +89 -0
  111. data/lib/plutonium/ui/table/components/row_actions_dropdown.rb +13 -12
  112. data/lib/plutonium/ui/table/components/scopes_pills.rb +67 -0
  113. data/lib/plutonium/ui/table/components/selection_column.rb +2 -11
  114. data/lib/plutonium/ui/table/components/toolbar.rb +104 -0
  115. data/lib/plutonium/ui/table/components/view_switcher.rb +81 -0
  116. data/lib/plutonium/ui/table/resource.rb +158 -89
  117. data/lib/plutonium/ui/table/theme.rb +14 -5
  118. data/lib/plutonium/version.rb +1 -1
  119. data/lib/plutonium.rb +6 -0
  120. data/package.json +1 -1
  121. data/src/css/components.css +304 -131
  122. data/src/css/tokens.css +101 -85
  123. data/src/js/controllers/autosubmit_controller.js +24 -0
  124. data/src/js/controllers/bulk_actions_controller.js +15 -16
  125. data/src/js/controllers/capture_url_controller.js +14 -0
  126. data/src/js/controllers/filter_panel_controller.js +77 -19
  127. data/src/js/controllers/flatpickr_controller.js +23 -0
  128. data/src/js/controllers/frame_navigator_controller.js +34 -6
  129. data/src/js/controllers/icon_rail_controller.js +22 -0
  130. data/src/js/controllers/icon_rail_flyout_controller.js +128 -0
  131. data/src/js/controllers/register_controllers.js +16 -0
  132. data/src/js/controllers/resource_tab_list_controller.js +56 -3
  133. data/src/js/controllers/row_click_controller.js +21 -0
  134. data/src/js/controllers/sidebar_controller.js +28 -1
  135. data/src/js/controllers/table_column_menu_controller.js +43 -0
  136. data/src/js/controllers/table_header_controller.js +16 -0
  137. data/src/js/controllers/view_switcher_controller.js +29 -0
  138. metadata +33 -3

There are too many changes on this page to be displayed.


The amount of changes on this page would crash your brower.

You can still verify the content by downloading the gem file manually.