plutonium 0.19.10 → 0.19.12

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.
@@ -13,13 +13,13 @@ module Pu
13
13
 
14
14
  def start
15
15
  in_root do
16
- [".env", ".env.local", ".env.template", ".env.local.template"].each do |file|
16
+ [".env", ".env.local", ".env.template", ".env.local.template", ".env.test.local"].each do |file|
17
17
  copy_file file
18
18
  end
19
19
 
20
20
  copy_file "config/initializers/001_ensure_required_env.rb"
21
21
 
22
- gitignore "!/.env.template", "!/.env.local.template", "!/.env"
22
+ gitignore "!/.env", "!/.env.template", "!/.env.local.template", "!/.env.test.local"
23
23
 
24
24
  insert_into_file "Gemfile", "\ngem \"dotenv\", groups: %i[development test]\n", after: /^gem ["']rails["'].*\n/
25
25
  bundle!
@@ -1,4 +1,4 @@
1
- # Secrets for local testing should be added here.
1
+ # Secrets for development should be added here.
2
2
 
3
3
  # # == S3
4
4
  # S3_ACCESS_KEY_ID=S3_ACCESS_KEY_ID
@@ -1,4 +1,4 @@
1
- # Secrets for local testing should be added here.
1
+ # Secrets for development should be added here.
2
2
 
3
3
  # # == S3
4
4
  # S3_ACCESS_KEY_ID=S3_ACCESS_KEY_ID
@@ -0,0 +1,5 @@
1
+ # Secrets for testing should be added here.
2
+
3
+ # # == S3
4
+ # S3_ACCESS_KEY_ID=S3_ACCESS_KEY_ID
5
+ # S3_SECRET_ACCESS_KEY=S3_SECRET_ACCESS_KEY
@@ -44,7 +44,7 @@ module Plutonium
44
44
  class: "bg-white border-b border-gray-200 px-4 py-2.5 dark:bg-gray-800 dark:border-gray-700 fixed left-0 right-0 top-0 z-50",
45
45
  data: {
46
46
  controller: "resource-header",
47
- header_sidebar_outlet: "#sidebar-navigation"
47
+ resource_header_sidebar_outlet: "#sidebar-navigation"
48
48
  }
49
49
  ) do
50
50
  div(class: "flex flex-wrap justify-between items-center") do
@@ -70,7 +70,7 @@ module Plutonium
70
70
  # @private
71
71
  def render_sidebar_toggle
72
72
  button(
73
- data_action: "header#toggleDrawer",
73
+ data_action: "resource-header#toggleDrawer",
74
74
  aria_controls: "#sidebar-navigation",
75
75
  class: %(p-2 mr-2 text-gray-600 rounded-lg cursor-pointer lg:hidden hover:text-gray-900
76
76
  hover:bg-gray-100 focus:bg-gray-100 dark:focus:bg-gray-700 focus:ring-2
@@ -97,11 +97,11 @@ module Plutonium
97
97
  # Renders the toggle icons for the sidebar button
98
98
  # @private
99
99
  def render_toggle_icons
100
- span(data_header_target: "openIcon") do
100
+ span(data_resource_header_target: "openIcon") do
101
101
  render Phlex::TablerIcons::Menu.new(class: "w-6 h-6")
102
102
  end
103
103
 
104
- span(data_header_target: "closeIcon", class: "hidden", aria_hidden: "true") do
104
+ span(data_resource_header_target: "closeIcon", class: "hidden", aria_hidden: "true") do
105
105
  render Phlex::TablerIcons::X.new(class: "w-6 h-6")
106
106
  end
107
107
 
@@ -11,18 +11,26 @@ module Plutonium
11
11
  end
12
12
 
13
13
  def main_attributes = mix(super, {
14
- class: "flex flex-col items-center justify-center px-6 py-8 mx-auto md:h-screen lg:py-0"
14
+ class: "flex flex-col items-center justify-center px-6 py-8 mx-auto lg:py-0"
15
15
  })
16
16
 
17
17
  def render_content(&)
18
- link_to root_path, class: "flex items-center text-2xl font-semibold text-gray-900 dark:text-white" do
19
- helpers.resource_logo_tag classname: "w-24 h-24 mr-2"
20
- end
18
+ render_logo
21
19
 
22
20
  div(class: "w-full bg-white rounded-lg shadow dark:border md:mt-0 sm:max-w-md xl:p-0 dark:bg-gray-800 dark:border-gray-700") {
23
21
  div(class: "p-6 space-y-4 md:space-y-6 sm:p-8", &)
24
22
  }
25
23
 
24
+ render_links
25
+ end
26
+
27
+ def render_logo
28
+ link_to root_path, class: "flex items-center text-2xl font-semibold text-gray-900 dark:text-white" do
29
+ helpers.resource_logo_tag classname: "w-24 h-24 mr-2"
30
+ end
31
+ end
32
+
33
+ def render_links
26
34
  div(class: "mt-4 flex items-center font-medium text-secondary-600 dark:text-secondary-400 hover:underline") {
27
35
  render Phlex::TablerIcons::Home2.new
28
36
  link_to "Home", root_path, class: "font-medium text-secondary-600 dark:text-secondary-400"
@@ -24,6 +24,7 @@ module Plutonium
24
24
  # @private
25
25
  def render_sidebar_container(&)
26
26
  aside(
27
+ data: {controller: "sidebar"},
27
28
  id: "sidebar-navigation",
28
29
  aria: {label: "Sidebar Navigation"},
29
30
  class: "fixed top-0 left-0 z-40 w-64 h-screen pt-14 transition-transform -translate-x-full lg:translate-x-0",
@@ -43,7 +44,7 @@ module Plutonium
43
44
 
44
45
  # @private
45
46
  def render_color_mode_controls
46
- div(class: "hidden absolute bottom-0 left-0 justify-center p-4 space-x-4 w-full lg:flex bg-white dark:bg-gray-800 z-20 border-r border-gray-200 dark:border-gray-700") do
47
+ div(class: "absolute bottom-0 left-0 justify-center p-4 space-x-4 w-full flex bg-white dark:bg-gray-800 z-20 border-r border-gray-200 dark:border-gray-700") do
47
48
  render ColorModeSelector.new
48
49
  end
49
50
  end
@@ -1,5 +1,5 @@
1
1
  module Plutonium
2
- VERSION = "0.19.10"
2
+ VERSION = "0.19.12"
3
3
  NEXT_MAJOR_VERSION = VERSION.split(".").tap { |v|
4
4
  v[1] = v[1].to_i + 1
5
5
  v[2] = 0
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@radioactive-labs/plutonium",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "Core assets for the Plutonium gem",
5
5
  "type": "module",
6
6
  "main": "src/js/core.js",
@@ -10,8 +10,10 @@ export default class extends Controller {
10
10
  }
11
11
 
12
12
  disconnect() {
13
- this.easyMDE.toTextArea()
14
- this.easyMDE = null
13
+ if (this.easyMDE) {
14
+ this.easyMDE.toTextArea()
15
+ this.easyMDE = null
16
+ }
15
17
  }
16
18
 
17
19
  reconnect() {
@@ -8,8 +8,10 @@ export default class extends Controller {
8
8
  }
9
9
 
10
10
  disconnect() {
11
- this.picker.destroy()
12
- this.picker = null
11
+ if (this.picker) {
12
+ this.picker.destroy()
13
+ this.picker = null
14
+ }
13
15
  }
14
16
 
15
17
  reconnect() {
@@ -19,8 +19,10 @@ export default class extends Controller {
19
19
  }
20
20
 
21
21
  inputTargetDisconnected() {
22
- if (this.iti) this.iti.destroy()
23
- this.iti = null
22
+ if (this.iti) {
23
+ this.iti.destroy()
24
+ this.iti = null
25
+ }
24
26
  }
25
27
 
26
28
  reconnect() {
@@ -16,9 +16,11 @@ import ResourceTabListController from "./resource_tab_list_controller.js"
16
16
  import AttachmentInputController from "./attachment_input_controller.js"
17
17
  import AttachmentPreviewController from "./attachment_preview_controller.js"
18
18
  import AttachmentPreviewContainerController from "./attachment_preview_container_controller.js"
19
+ import SidebarController from "./sidebar_controller.js"
19
20
 
20
21
  export default function (application) {
21
22
  // Register controllers here
23
+ application.register("sidebar", SidebarController)
22
24
  application.register("resource-header", ResourceHeaderController)
23
25
  application.register("nested-resource-form-fields", NestedResourceFormFieldsController)
24
26
  application.register("form", FormController)
@@ -0,0 +1,3 @@
1
+ import { Controller } from "@hotwired/stimulus";
2
+
3
+ export default class extends Controller {}
@@ -10,8 +10,10 @@ export default class extends Controller {
10
10
  }
11
11
 
12
12
  disconnect() {
13
- this.slimSelect.destroy()
14
- this.slimSelect = null
13
+ if (this.slimSelect) {
14
+ this.slimSelect.destroy()
15
+ this.slimSelect = null
16
+ }
15
17
  }
16
18
 
17
19
  reconnect() {
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.19.10
4
+ version: 0.19.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefan Froelich
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-02-02 00:00:00.000000000 Z
11
+ date: 2025-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: zeitwerk
@@ -584,6 +584,7 @@ files:
584
584
  - lib/generators/pu/gem/dotenv/templates/.env.local
585
585
  - lib/generators/pu/gem/dotenv/templates/.env.local.template
586
586
  - lib/generators/pu/gem/dotenv/templates/.env.template
587
+ - lib/generators/pu/gem/dotenv/templates/.env.test.local
587
588
  - lib/generators/pu/gem/dotenv/templates/.keep
588
589
  - lib/generators/pu/gem/dotenv/templates/config/initializers/001_ensure_required_env.rb
589
590
  - lib/generators/pu/gem/letter_opener/letter_opener_generator.rb
@@ -894,6 +895,7 @@ files:
894
895
  - src/js/controllers/resource_header_controller.js
895
896
  - src/js/controllers/resource_tab_list_controller.js
896
897
  - src/js/controllers/select_navigator.js
898
+ - src/js/controllers/sidebar_controller.js
897
899
  - src/js/controllers/slim_select_controller.js
898
900
  - src/js/core.js
899
901
  - src/js/plutonium.js