ultimate_turbo_modal 1.2.1 → 1.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 59ea5183cc13d4e04e3a9a63fad2f4c56d4656393b50af6888ffcc452ca47ee4
4
- data.tar.gz: d36e383ba4dfd1affd9ebea7ed3c550773273ccf80b0cdcf9464cd892b083390
3
+ metadata.gz: '079b28d06be34aba1359de1c34042f9f2ef131421f37af1a7f3c8619e156e68b'
4
+ data.tar.gz: 551d973abd6d0c51f0ad1e01e87ead35697030e4fcce5f62ac591dc09683a284
5
5
  SHA512:
6
- metadata.gz: 0031bd558642b4f32643ce8a987e8dfa65cf9e2990590e21fd23926417f532619ac9498b69f86a98d10c7e5be04228015f216e0d222b15216b0afb91677beef2
7
- data.tar.gz: 40b4e14d106a398016d88daa5dcfa0f77bc5432ba302d148f30597060a1f2b7559c8e3873866ebe4afbaba6f831b42c4182c19479bf222ba552fc2a3f4e357de
6
+ metadata.gz: 611ce181e6be8833b0b0c094bf2a776edf85dd050ca93fcf866401c1a3e05c0f81c2be519ba2ea8e98efd3ce3b28d7ee0fb2bb6512938a0142149b80fe9ac05e
7
+ data.tar.gz: 77159bc4ce94a2bf2cc1abddbc068efe4b5bb3c821494d937262411961c2cfdc0df036fb83ed7dd56f8d25c1743d85d585e572a085f7374d8eecc050ec2bd11a
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.1)
5
5
  phlex-rails (>= 1.0, < 2.0)
6
6
  rails (>= 7)
7
7
  stimulus-rails
@@ -250,6 +250,7 @@ GEM
250
250
 
251
251
  PLATFORMS
252
252
  arm64-darwin-22
253
+ arm64-darwin-23
253
254
 
254
255
  DEPENDENCIES
255
256
  rake (~> 13.0)
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
 
@@ -96,7 +106,7 @@ module UltimateTurboModal::Flavors
96
106
  end
97
107
 
98
108
  def button_close
99
- div(id: "modal-close", class: "mr-4") do
109
+ div(id: "modal-close", class: "mr-4 group-data-[close-button=false]:hidden") do
100
110
  close_button_tag do
101
111
  icon_close
102
112
  span(class: "sr-only") { "Close modal" }
@@ -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.1"
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.1
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-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: phlex-rails
@@ -124,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
126
  requirements: []
127
- rubygems_version: 3.4.10
127
+ rubygems_version: 3.4.1
128
128
  signing_key:
129
129
  specification_version: 4
130
130
  summary: UTMR aims to be the be-all and end-all of Turbo Modals.