plutonium 0.9.0 → 0.9.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 (47) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -2
  3. data/Rakefile +10 -0
  4. data/app/assets/build/plutonium.js +5122 -0
  5. data/app/assets/javascripts/controllers/index.js +34 -0
  6. data/app/assets/javascripts/plutonium-app.js +7 -0
  7. data/app/assets/javascripts/plutonium.js +1 -0
  8. data/css.manifest +3 -0
  9. data/esbuild.config.js +44 -0
  10. data/lib/generators/pu/gen/component/component_generator.rb +13 -4
  11. data/lib/generators/pu/lib/plutonium_generators/concerns/actions.rb +86 -72
  12. data/lib/generators/pu/lib/plutonium_generators/model_generator.rb +1 -1
  13. data/lib/generators/pu/rodauth/install_generator.rb +1 -2
  14. data/lib/plutonium/core/fields/renderers/factory.rb +0 -1
  15. data/lib/plutonium/pkg/base.rb +0 -4
  16. data/lib/plutonium/railtie.rb +10 -2
  17. data/lib/plutonium/version.rb +1 -1
  18. data/lib/plutonium.rb +17 -14
  19. data/package-lock.json +0 -7
  20. data/package.json +5 -5
  21. data/postcss.config.js +1 -1
  22. data/public/plutonium-assets/plutonium-app-36KN5FVJ.js +6 -0
  23. data/public/plutonium-assets/plutonium-app-36KN5FVJ.js.map +7 -0
  24. data/public/plutonium-assets/plutonium.50232e35b5495f5ad90d.css +3415 -0
  25. data/tailwind.config.js +11 -12
  26. data/templates/base.rb +1 -1
  27. metadata +19 -22
  28. data/app/assets/js/controllers/application.js +0 -7
  29. data/app/assets/js/controllers/index.js +0 -30
  30. data/app/assets/js/plutonium.js +0 -2
  31. data/build.js +0 -12
  32. data/lib/generators/pu/gem/pagy/pagy_generator.rb +0 -25
  33. data/lib/generators/pu/gem/pagy/templates/config/initializers/pagy.rb +0 -4
  34. data/lib/generators/pu/gem/rabl/rabl_generator.rb +0 -25
  35. data/lib/generators/pu/gem/rabl/templates/.keep +0 -0
  36. data/lib/generators/pu/gem/rabl/templates/config/initializers/rabl.rb +0 -60
  37. data/lib/generators/pu/gem/simple_form/simple_form_generator.rb +0 -25
  38. data/lib/generators/pu/gem/simple_form/templates/.keep +0 -0
  39. data/lib/plutonium/core/fields/renderers/map_renderer.rb +0 -19
  40. /data/{lib/generators/pu/gem/pagy/templates → app/assets/build}/.keep +0 -0
  41. /data/app/assets/{js → javascripts}/controllers/resource_dismiss_controller.js +0 -0
  42. /data/app/assets/{js → javascripts}/controllers/resource_drop_down_controller.js +0 -0
  43. /data/app/assets/{js → javascripts}/turbo/index.js +0 -0
  44. /data/app/assets/{js → javascripts}/turbo/turbo_actions.js +0 -0
  45. /data/app/assets/{js → javascripts}/turbo/turbo_debug.js +0 -0
  46. /data/app/assets/{js → javascripts}/turbo/turbo_frame_monkey_patch.js +0 -0
  47. /data/app/assets/{css → stylesheets}/plutonium.css +0 -0
data/tailwind.config.js CHANGED
@@ -1,17 +1,16 @@
1
- /** @type {import('tailwindcss').Config} */
2
1
 
3
- const colors = require('tailwindcss/colors');
2
+ /** @type {import('tailwindcss').Config} */
4
3
 
5
4
  let safelist = [];
6
- Object.keys(colors).forEach((color) => {
7
- if (typeof colors[color] === 'object') {
8
- Object.keys(colors[color]).forEach((shade) => {
9
- safelist.push(`bg-${color}-${shade}`);
10
- safelist.push(`text-${color}-${shade}`);
11
- // Add other utilities as needed
12
- });
13
- }
14
- });
5
+ // Object.keys(colors).forEach((color) => {
6
+ // if (typeof colors[color] === 'object') {
7
+ // Object.keys(colors[color]).forEach((shade) => {
8
+ // safelist.push(`bg-${color}-${shade}`);
9
+ // safelist.push(`text-${color}-${shade}`);
10
+ // // Add other utilities as needed
11
+ // });
12
+ // }
13
+ // });
15
14
 
16
15
  module.exports = {
17
16
  content: [
@@ -22,7 +21,7 @@ module.exports = {
22
21
  `${__dirname}/config/initializers/simple_form.rb`,
23
22
  // TODO: temporary workaround for buttons flex basis hack.
24
23
  // To be removed after moving buttons_helper to components.
25
- `${__dirname}/lib/plutonium/**/*.{rb,erb}`
24
+ // `${__dirname}/lib/plutonium/**/*.{rb,erb}`
26
25
  ],
27
26
  darkMode: "selector",
28
27
  plugins: [
data/templates/base.rb CHANGED
@@ -4,5 +4,5 @@ after_bundle do
4
4
  generate "pu:core:install"
5
5
 
6
6
  git add: "."
7
- git commit: %( -m 'Install plutonium' )
7
+ git commit: %( -m 'install plutonium' )
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plutonium
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefan Froelich
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-08 00:00:00.000000000 Z
11
+ date: 2024-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: zeitwerk
@@ -220,7 +220,8 @@ files:
220
220
  - README copy.md
221
221
  - README.md
222
222
  - Rakefile
223
- - app/assets/css/plutonium.css
223
+ - app/assets/build/.keep
224
+ - app/assets/build/plutonium.js
224
225
  - app/assets/icons/flags/ghana.svg
225
226
  - app/assets/icons/outline/address-book.svg
226
227
  - app/assets/icons/outline/adjustments-horizontal.svg
@@ -708,15 +709,16 @@ files:
708
709
  - app/assets/icons/solid/youtube.svg
709
710
  - app/assets/icons/solid/zoom-in.svg
710
711
  - app/assets/icons/solid/zoom-out.svg
711
- - app/assets/js/controllers/application.js
712
- - app/assets/js/controllers/index.js
713
- - app/assets/js/controllers/resource_dismiss_controller.js
714
- - app/assets/js/controllers/resource_drop_down_controller.js
715
- - app/assets/js/plutonium.js
716
- - app/assets/js/turbo/index.js
717
- - app/assets/js/turbo/turbo_actions.js
718
- - app/assets/js/turbo/turbo_debug.js
719
- - app/assets/js/turbo/turbo_frame_monkey_patch.js
712
+ - app/assets/javascripts/controllers/index.js
713
+ - app/assets/javascripts/controllers/resource_dismiss_controller.js
714
+ - app/assets/javascripts/controllers/resource_drop_down_controller.js
715
+ - app/assets/javascripts/plutonium-app.js
716
+ - app/assets/javascripts/plutonium.js
717
+ - app/assets/javascripts/turbo/index.js
718
+ - app/assets/javascripts/turbo/turbo_actions.js
719
+ - app/assets/javascripts/turbo/turbo_debug.js
720
+ - app/assets/javascripts/turbo/turbo_frame_monkey_patch.js
721
+ - app/assets/stylesheets/plutonium.css
720
722
  - app/views/application/_color_modes.html.erb
721
723
  - app/views/application/_flash.html.erb
722
724
  - app/views/application/_flash_alerts.html.erb
@@ -838,11 +840,12 @@ files:
838
840
  - app/views/rodauth/webauthn_remove.html.erb
839
841
  - app/views/rodauth/webauthn_setup.html.erb
840
842
  - brakeman.ignore
841
- - build.js
842
843
  - config/initializers/hotwire_turbo_monkey_patches.rb
843
844
  - config/initializers/pagy.rb
844
845
  - config/initializers/rabl.rb
845
846
  - config/initializers/simple_form.rb
847
+ - css.manifest
848
+ - esbuild.config.js
846
849
  - exe/pug
847
850
  - lib/active_model/validations/array_validator.rb
848
851
  - lib/active_model/validations/attached_validator.rb
@@ -857,14 +860,6 @@ files:
857
860
  - lib/generators/pu/core/install/templates/app/query_objects/resource_query_object.rb.tt
858
861
  - lib/generators/pu/core/install/templates/config/initializers/plutonium.rb
859
862
  - lib/generators/pu/core/install/templates/config/packages.rb
860
- - lib/generators/pu/gem/pagy/pagy_generator.rb
861
- - lib/generators/pu/gem/pagy/templates/.keep
862
- - lib/generators/pu/gem/pagy/templates/config/initializers/pagy.rb
863
- - lib/generators/pu/gem/rabl/rabl_generator.rb
864
- - lib/generators/pu/gem/rabl/templates/.keep
865
- - lib/generators/pu/gem/rabl/templates/config/initializers/rabl.rb
866
- - lib/generators/pu/gem/simple_form/simple_form_generator.rb
867
- - lib/generators/pu/gem/simple_form/templates/.keep
868
863
  - lib/generators/pu/gen/component/component_generator.rb
869
864
  - lib/generators/pu/gen/component/templates/component.html.erb.tt
870
865
  - lib/generators/pu/gen/component/templates/component.rb.tt
@@ -1029,7 +1024,6 @@ files:
1029
1024
  - lib/plutonium/core/fields/renderers/attachment_renderer.rb
1030
1025
  - lib/plutonium/core/fields/renderers/basic_renderer.rb
1031
1026
  - lib/plutonium/core/fields/renderers/factory.rb
1032
- - lib/plutonium/core/fields/renderers/map_renderer.rb
1033
1027
  - lib/plutonium/core/ui/collection.rb
1034
1028
  - lib/plutonium/core/ui/detail.rb
1035
1029
  - lib/plutonium/core/ui/form.rb
@@ -1078,6 +1072,9 @@ files:
1078
1072
  - public/plutonium-assets/fonts/bootstrap-icons.woff
1079
1073
  - public/plutonium-assets/fonts/bootstrap-icons.woff2
1080
1074
  - public/plutonium-assets/logo.png
1075
+ - public/plutonium-assets/plutonium-app-36KN5FVJ.js
1076
+ - public/plutonium-assets/plutonium-app-36KN5FVJ.js.map
1077
+ - public/plutonium-assets/plutonium.50232e35b5495f5ad90d.css
1081
1078
  - sig/plutonium.rbs
1082
1079
  - tailwind.config.js
1083
1080
  - templates/base.rb
@@ -1,7 +0,0 @@
1
- import { Application } from "@hotwired/stimulus"
2
- import "mapkick/bundle"
3
-
4
- const application = Application.start()
5
- window.Stimulus = application
6
-
7
- export { application }
@@ -1,30 +0,0 @@
1
- import { application } from "./application"
2
-
3
- // Register controllers here
4
-
5
- import NestedResourceFormFieldsController from "../../../../app/views/components/nested_resource_form_fields/nested_resource_form_fields_controller.js"
6
- application.register("nested-resource-form-fields", NestedResourceFormFieldsController)
7
-
8
- import TabBarController from "../../../../app/views/components/tab_bar/tab_bar_controller.js"
9
- application.register("tab-bar", TabBarController)
10
-
11
- import ToolbarController from "../../../../app/views/components/toolbar/toolbar_controller.js"
12
- application.register("toolbar", ToolbarController)
13
-
14
- import TableSearchInputController from "../../../../app/views/components/table_search_input/table_search_input_controller.js"
15
- application.register("table-search-input", TableSearchInputController)
16
-
17
- import TableToolbarController from "../../../../app/views/components/table_toolbar/table_toolbar_controller.js"
18
- application.register("table-toolbar", TableToolbarController)
19
-
20
- import TableController from "../../../../app/views/components/table/table_controller.js"
21
- application.register("table", TableController)
22
-
23
- import FormController from "../../../../app/views/components/form/form_controller.js"
24
- application.register("form", FormController)
25
-
26
- import ResourceDropDownController from "./resource_drop_down_controller.js"
27
- application.register("resource-drop-down", ResourceDropDownController)
28
-
29
- import ResourceDismissController from "./resource_dismiss_controller.js"
30
- application.register("resource-dismiss", ResourceDismissController)
@@ -1,2 +0,0 @@
1
- import "./controllers"
2
- import "./turbo"
data/build.js DELETED
@@ -1,12 +0,0 @@
1
- const esbuild = require('esbuild');
2
- const manifestPlugin = require('esbuild-plugin-manifest')
3
-
4
- esbuild.context({
5
- entryPoints: ["app/assets/js/plutonium.js"],
6
- bundle: true,
7
- outdir: "public/plutonium-assets/build/",
8
- plugins: [manifestPlugin({
9
- filename: `${__dirname}/js.manifest`,
10
- shortNames: true,
11
- })],
12
- }).then((context) => context.watch().catch((e) => console.error(e.message)))
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../../lib/plutonium_generators"
4
-
5
- module Pu
6
- module Gem
7
- class PagyGenerator < Rails::Generators::Base
8
- include PlutoniumGenerators::Generator
9
-
10
- source_root File.expand_path("templates", __dir__)
11
-
12
- desc "Install Pagy"
13
-
14
- def start
15
- Bundler.with_unbundled_env do
16
- run "bundle add pagy"
17
- end
18
-
19
- directory "config"
20
- rescue => e
21
- exception "#{self.class} failed:", e
22
- end
23
- end
24
- end
25
- end
@@ -1,4 +0,0 @@
1
- require "pagy/extras/bootstrap"
2
- require "pagy/extras/overflow"
3
- require "pagy/extras/trim"
4
- require "pagy/extras/headers"
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../../lib/plutonium_generators"
4
-
5
- module Pu
6
- module Gem
7
- class RablGenerator < Rails::Generators::Base
8
- include PlutoniumGenerators::Generator
9
-
10
- source_root File.expand_path("templates", __dir__)
11
-
12
- desc "Install Rabl"
13
-
14
- def start
15
- Bundler.with_unbundled_env do
16
- run "bundle add rabl"
17
- end
18
-
19
- directory "config"
20
- rescue => e
21
- exception "#{self.class} failed:", e
22
- end
23
- end
24
- end
25
- end
File without changes
@@ -1,60 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # https://github.com/nesquena/rabl#configuration
4
-
5
- Rabl.configure do |config|
6
- config.cache_sources = !Rails.env.development? # Defaults to false
7
- config.raise_on_missing_attribute = !Rails.env.production? # Defaults to false
8
-
9
- # config.cache_all_output = false
10
- # config.cache_engine = Rabl::CacheEngine.new # Defaults to Rails cache
11
- # config.perform_caching = false
12
- # config.escape_all_output = false
13
- # config.json_engine = nil # Class with #dump class method (defaults JSON)
14
- # config.msgpack_engine = nil # Defaults to ::MessagePack
15
- # config.bson_engine = nil # Defaults to ::BSON
16
- # config.plist_engine = nil # Defaults to ::Plist::Emit
17
- # config.include_json_root = true
18
- # config.include_msgpack_root = true
19
- # config.include_bson_root = true
20
- # config.include_plist_root = true
21
- # config.include_xml_root = false
22
- # config.include_child_root = true
23
- # config.enable_json_callbacks = false
24
- # config.xml_options = { :dasherize => true, :skip_types => false }
25
- # config.view_paths = []
26
- # config.replace_nil_values_with_empty_strings = true # Defaults to false
27
- # config.replace_empty_string_values_with_nil_values = true # Defaults to false
28
- # config.exclude_nil_values = true # Defaults to false
29
- # config.exclude_empty_values_in_collections = true # Defaults to false
30
- # config.camelize_keys = :upper # Defaults to false
31
- end
32
-
33
- # Monkey Patch Rabl source lookup to make it compatible with Rails view lookup
34
- module Rabl
35
- module Sources
36
- private
37
-
38
- # Returns the rabl template path for Rails
39
- def fetch_rails_source(file, _options = {})
40
- # use Rails template resolution mechanism if possible (find_template)
41
- source_format = request_format if defined?(request_format)
42
-
43
- lookup_proc = lambda do |partial|
44
- context_scope.lookup_context.find(file, context_scope.lookup_context.prefixes, partial, [],
45
- {formats: [source_format]})
46
- end
47
- template = begin
48
- lookup_proc.call(false)
49
- rescue
50
- nil
51
- end
52
- template ||= begin
53
- lookup_proc.call(true)
54
- rescue
55
- nil
56
- end
57
- template&.identifier
58
- end
59
- end
60
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../../lib/plutonium_generators"
4
-
5
- module Pu
6
- module Gem
7
- class SimpleFormGenerator < Rails::Generators::Base
8
- include PlutoniumGenerators::Generator
9
-
10
- source_root File.expand_path("templates", __dir__)
11
-
12
- desc "Install SimpleForm"
13
-
14
- def start
15
- Bundler.with_unbundled_env do
16
- run "bundle add simple_form"
17
- end
18
-
19
- directory "config"
20
- rescue => e
21
- exception "#{self.class} failed:", e
22
- end
23
- end
24
- end
25
- end
File without changes
@@ -1,19 +0,0 @@
1
- module Plutonium
2
- module Core
3
- module Fields
4
- module Renderers
5
- class MapRenderer < BasicRenderer
6
- # def initialize(name, reflection:, **user_options)
7
- # @reflection = reflection
8
- # super(name, **user_options)
9
- # end
10
-
11
- def render(view_context, record)
12
- # view_context.display_field value:, **options
13
- view_context.js_map [{latitude: record.lat, longitude: record.lng}]
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
File without changes
File without changes