ultimate_turbo_modal 2.0.0 → 2.0.2
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 +4 -4
- data/CHANGELOG.md +8 -0
- data/Gemfile.lock +1 -1
- data/README.md +12 -11
- data/VERSION +1 -1
- data/javascript/modal_controller.js +21 -0
- data/javascript/package-lock.json +1162 -0
- data/javascript/package.json +2 -1
- data/javascript/rollup.config.js +12 -1
- data/javascript/scripts/release-npm.sh +3 -5
- data/javascript/scripts/update-version.js +2 -2
- data/javascript/yarn.lock +110 -95
- data/lib/phlex/deferred_render_with_main_content.rb +1 -1
- data/lib/ultimate_turbo_modal/base.rb +29 -22
- data/script/build_and_release.sh +34 -8
- metadata +3 -2
@@ -123,7 +123,8 @@ class UltimateTurboModal::Base < Phlex::HTML
|
|
123
123
|
|
124
124
|
def styles
|
125
125
|
style do
|
126
|
-
|
126
|
+
str = "html:has(dialog[open]) {overflow: hidden;} html {scrollbar-gutter: stable;}".html_safe
|
127
|
+
respond_to?(:unsafe_raw) ? unsafe_raw(str) : raw(str)
|
127
128
|
end
|
128
129
|
end
|
129
130
|
|
@@ -137,32 +138,38 @@ class UltimateTurboModal::Base < Phlex::HTML
|
|
137
138
|
end
|
138
139
|
|
139
140
|
def div_dialog(&block)
|
141
|
+
data_attributes = {
|
142
|
+
controller: "modal",
|
143
|
+
modal_target: "container",
|
144
|
+
modal_advance_url_value: advance_url,
|
145
|
+
modal_allowed_click_outside_selector_value: allowed_click_outside_selector,
|
146
|
+
action: "turbo:submit-end->modal#submitEnd keyup@window->modal#closeWithKeyboard click@window->modal#outsideModalClicked click->modal#outsideModalClicked",
|
147
|
+
transition_enter: "ease-out duration-100",
|
148
|
+
transition_enter_start: "opacity-0",
|
149
|
+
transition_enter_end: "opacity-100",
|
150
|
+
transition_leave: "ease-in duration-50",
|
151
|
+
transition_leave_start: "opacity-100",
|
152
|
+
transition_leave_end: "opacity-0",
|
153
|
+
padding: padding?.to_s,
|
154
|
+
title: title?.to_s,
|
155
|
+
header: header?.to_s,
|
156
|
+
close_button: close_button?.to_s,
|
157
|
+
header_divider: header_divider?.to_s,
|
158
|
+
footer_divider: footer_divider?.to_s
|
159
|
+
}
|
160
|
+
|
161
|
+
if defined?(Rails) && (Rails.env.development? || Rails.env.test?)
|
162
|
+
data_attributes[:utmr_version] = UltimateTurboModal::VERSION
|
163
|
+
end
|
164
|
+
|
140
165
|
div(id: "modal-container",
|
141
166
|
class: self.class::DIV_DIALOG_CLASSES,
|
142
167
|
role: "dialog",
|
143
168
|
aria: {
|
144
|
-
|
145
|
-
|
169
|
+
modal: true,
|
170
|
+
labelledby: "modal-title-h"
|
146
171
|
},
|
147
|
-
data:
|
148
|
-
controller: "modal",
|
149
|
-
modal_target: "container",
|
150
|
-
modal_advance_url_value: advance_url,
|
151
|
-
modal_allowed_click_outside_selector_value: allowed_click_outside_selector,
|
152
|
-
action: "turbo:submit-end->modal#submitEnd keyup@window->modal#closeWithKeyboard click@window->modal#outsideModalClicked click->modal#outsideModalClicked",
|
153
|
-
transition_enter: "ease-out duration-100",
|
154
|
-
transition_enter_start: "opacity-0",
|
155
|
-
transition_enter_end: "opacity-100",
|
156
|
-
transition_leave: "ease-in duration-50",
|
157
|
-
transition_leave_start: "opacity-100",
|
158
|
-
transition_leave_end: "opacity-0",
|
159
|
-
padding: padding?.to_s,
|
160
|
-
title: title?.to_s,
|
161
|
-
header: header?.to_s,
|
162
|
-
close_button: close_button?.to_s,
|
163
|
-
header_divider: header_divider?.to_s,
|
164
|
-
footer_divider: footer_divider?.to_s
|
165
|
-
}, &block)
|
172
|
+
data: data_attributes, &block)
|
166
173
|
end
|
167
174
|
|
168
175
|
def div_overlay
|
data/script/build_and_release.sh
CHANGED
@@ -2,21 +2,47 @@
|
|
2
2
|
set -e
|
3
3
|
cd $(dirname $0)/..
|
4
4
|
|
5
|
+
if [ "$1" == "--help" ]; then
|
6
|
+
echo "Usage: $0 [--skip-gem] [--skip-js]"
|
7
|
+
echo ""
|
8
|
+
echo "Options:"
|
9
|
+
echo " --skip-gem Skip building and releasing the gem."
|
10
|
+
echo " --skip-js Skip building and releasing the JavaScript."
|
11
|
+
echo " --help Show this help message."
|
12
|
+
exit 0
|
13
|
+
fi
|
14
|
+
|
5
15
|
# Check for uncommitted changes
|
6
|
-
echo "Checking for uncommitted changes..."
|
7
16
|
if ! git diff --quiet; then
|
8
17
|
echo "There are uncommitted changes. Aborting."
|
9
18
|
exit 1
|
10
19
|
fi
|
11
|
-
echo "No uncommitted changes found."
|
12
20
|
|
13
|
-
echo "Building and releasing gem..."
|
14
|
-
bundle exec rake build
|
15
|
-
bundle exec rake release
|
16
21
|
|
17
|
-
|
18
|
-
|
19
|
-
|
22
|
+
if [ "$1" != "--skip-gem" ]; then
|
23
|
+
echo "Building and releasing gem..."
|
24
|
+
bundle exec rake build
|
25
|
+
|
26
|
+
# Check if Gemfile.lock is git dirty
|
27
|
+
if ! git diff --quiet Gemfile.lock; then
|
28
|
+
echo "Gemfile.lock is dirty. Adding, committing, and pushing."
|
29
|
+
git add Gemfile.lock
|
30
|
+
git commit -m "Update Gemfile.lock"
|
31
|
+
bundle exec rake build
|
32
|
+
fi
|
33
|
+
|
34
|
+
bundle exec rake release
|
35
|
+
else
|
36
|
+
echo "Skipping gem build and release..."
|
37
|
+
fi
|
38
|
+
|
39
|
+
if [ "$1" != "--skip-js" ]; then
|
40
|
+
echo "Building JavaScript..."
|
41
|
+
cd javascript
|
42
|
+
./scripts/release-npm.sh
|
43
|
+
else
|
44
|
+
echo "Skipping JavaScript build..."
|
45
|
+
fi
|
20
46
|
|
21
47
|
echo "Done!"
|
22
48
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ultimate_turbo_modal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carl Mercier
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-04-
|
10
|
+
date: 2025-04-12 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: phlex-rails
|
@@ -86,6 +86,7 @@ files:
|
|
86
86
|
- VERSION
|
87
87
|
- javascript/index.js
|
88
88
|
- javascript/modal_controller.js
|
89
|
+
- javascript/package-lock.json
|
89
90
|
- javascript/package.json
|
90
91
|
- javascript/rollup.config.js
|
91
92
|
- javascript/scripts/release-npm.sh
|