ultimate_turbo_modal 1.2.1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 59ea5183cc13d4e04e3a9a63fad2f4c56d4656393b50af6888ffcc452ca47ee4
4
- data.tar.gz: d36e383ba4dfd1affd9ebea7ed3c550773273ccf80b0cdcf9464cd892b083390
3
+ metadata.gz: b09b8cb53143af89cae066415021da467520342232aa61eec3c53b93fbc57b0d
4
+ data.tar.gz: b8c033322d1af2cf0117e7bbadf914668bdd8c7eb540487eadaccd31722a3473
5
5
  SHA512:
6
- metadata.gz: 0031bd558642b4f32643ce8a987e8dfa65cf9e2990590e21fd23926417f532619ac9498b69f86a98d10c7e5be04228015f216e0d222b15216b0afb91677beef2
7
- data.tar.gz: 40b4e14d106a398016d88daa5dcfa0f77bc5432ba302d148f30597060a1f2b7559c8e3873866ebe4afbaba6f831b42c4182c19479bf222ba552fc2a3f4e357de
6
+ metadata.gz: fbe3f49e69952e28b6fcd3b26d7423700d10f5703a6802acb5be6a9dbdf7cff0003e01a44c4afdae255fd314f78e9c008f1d40f95f78254d6d8c6600762b398d
7
+ data.tar.gz: 66a67b13c8dfc6e8b1b0b36a091d1595034cce465196aa73c03f8fedcf09db4f1e733b8c13041f8e923fd6ab52697adb54b0e33e8308a3092365af062b9fd6b5
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [1.3.0] - 2023-11-14
2
+
3
+ - Added ability to pass in a `title` block.
4
+
1
5
  ## [1.2.1] - 2023-11-11
2
6
 
3
7
  - Fix footer divider not showing
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ultimate_turbo_modal (1.2.1)
4
+ ultimate_turbo_modal (1.3.0)
5
5
  phlex-rails (>= 1.0, < 2.0)
6
6
  rails (>= 7)
7
7
  stimulus-rails
data/README.md CHANGED
@@ -159,7 +159,7 @@ If a URL is specified as a String, the browser history will advance, and the URL
159
159
 
160
160
  ### `title`, default: `nil`
161
161
 
162
- Title to display in the modal header.
162
+ Title to display in the modal header. Alternatively, you can set the title with a block.
163
163
 
164
164
  ### `header`, default: `true`
165
165
 
@@ -173,8 +173,6 @@ Whether to display a divider below the header.
173
173
 
174
174
  Whether to display a divider above the footer. The divider will not appear if no footer was specified.
175
175
 
176
-
177
-
178
176
  ### Example usage with options
179
177
 
180
178
  ```erb
@@ -189,6 +187,24 @@ Whether to display a divider above the footer. The divider will not appear if no
189
187
  <% end %>
190
188
  ```
191
189
 
190
+ ### Title and Footer
191
+
192
+ You can set a custom title and footer by passing a block. For example
193
+
194
+ ```erb
195
+ <%= modal do |m| %>
196
+ <% m.title do %>
197
+ <div>My Title</div>
198
+ <% end %>
199
+
200
+ Modal body
201
+
202
+ <% m.footer do %>
203
+ <input type="submit" form="myform">Submit</input>
204
+ <% end %>
205
+ <% end %>
206
+ ```
207
+
192
208
  ## Installing & Configuring Idiomorph
193
209
 
194
210
  Idiomorph can morph Turbo Frame responses to allow seemless navigation within Turbo Frames
@@ -49,25 +49,31 @@ class UltimateTurboModal::Base < Phlex::HTML
49
49
  end
50
50
  end
51
51
 
52
+ def title(&block)
53
+ @title_block = block
54
+ end
55
+
52
56
  def footer(&block)
53
57
  @footer = block
54
58
  end
55
59
 
56
60
  private
57
61
 
58
- attr_accessor :request, :title
62
+ attr_accessor :request
59
63
 
60
64
  def padding? = !!@padding
61
65
 
62
66
  def close_button? = !!@close_button
63
67
 
68
+ def title_block? = !!@title_block
69
+
64
70
  def title? = !!@title
65
71
 
66
72
  def header? = !!@header
67
73
 
68
74
  def footer? = @footer.present?
69
75
 
70
- def header_divider? = !!@header_divider && title?
76
+ def header_divider? = !!@header_divider && (@title_block || title?)
71
77
 
72
78
  def footer_divider? = !!@footer_divider && footer?
73
79
 
@@ -76,6 +76,12 @@ module UltimateTurboModal::Flavors
76
76
  div(id: "modal-main", class: "group-data-[padding=true]:p-4 group-data-[padding=true]:pt-2", &)
77
77
  end
78
78
 
79
+ def header_block
80
+ return if @header_block.blank?
81
+ render @header_block
82
+ nil
83
+ end
84
+
79
85
  def div_header(&)
80
86
  div(id: "modal-header", class: "flex justify-between items-center w-full py-4 rounded-t dark:border-gray-600 group-data-[header-divider=true]:border-b group-data-[header=false]:absolute") do
81
87
  div_title
@@ -85,7 +91,11 @@ module UltimateTurboModal::Flavors
85
91
 
86
92
  def div_title
87
93
  div(id: "modal-title", class: "pl-4") do
88
- h3(id: "modal-title-h", class: "group-data-[title=false]:hidden text-lg font-semibold text-gray-900 dark:text-white") { @title }
94
+ if @title_block.present?
95
+ render @title_block
96
+ else
97
+ h3(id: "modal-title-h", class: "group-data-[title=false]:hidden text-lg font-semibold text-gray-900 dark:text-white") { @title }
98
+ end
89
99
  end
90
100
  end
91
101
 
@@ -79,7 +79,11 @@ module UltimateTurboModal::Flavors
79
79
 
80
80
  def div_title
81
81
  div(id: "modal-title", class: "modal-title") do
82
- h3(id: "modal-title-h", class: "modal-title-h") { @title }
82
+ if @title_block.present?
83
+ render @title_block
84
+ else
85
+ h3(id: "modal-title-h", class: "modal-title-h") { @title }
86
+ end
83
87
  end
84
88
  end
85
89
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module UltimateTurboModal
4
- VERSION = "1.2.1"
4
+ VERSION = "1.3.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ultimate_turbo_modal
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carl Mercier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-12 00:00:00.000000000 Z
11
+ date: 2023-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: phlex-rails