alchemy_cms 7.2.7 → 7.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +97 -14
- data/Gemfile +4 -3
- data/Rakefile +1 -0
- data/alchemy_cms.gemspec +7 -7
- data/app/assets/builds/alchemy/admin/print.css +1 -0
- data/app/assets/builds/alchemy/admin/print.css.map +1 -0
- data/app/assets/builds/alchemy/admin.css +1 -0
- data/app/assets/builds/alchemy/admin.css.map +1 -0
- data/app/assets/builds/alchemy/welcome.css +1 -0
- data/app/assets/builds/alchemy/welcome.css.map +1 -0
- data/app/assets/builds/tinymce/skins/content/alchemy/content.css +1 -0
- data/app/assets/builds/tinymce/skins/content/alchemy/content.css.map +1 -0
- data/app/assets/builds/tinymce/skins/content/alchemy/content.min.css +1 -0
- data/app/assets/builds/tinymce/skins/content/alchemy/content.min.css.map +1 -0
- data/app/assets/builds/tinymce/skins/ui/alchemy/skin.css +1 -0
- data/app/assets/builds/tinymce/skins/ui/alchemy/skin.css.map +1 -0
- data/app/assets/builds/tinymce/skins/ui/alchemy/skin.min.css +1 -0
- data/app/assets/builds/tinymce/skins/ui/alchemy/skin.min.css.map +1 -0
- data/app/assets/config/alchemy_manifest.js +1 -5
- data/app/assets/javascripts/alchemy/alchemy.dialog.js.coffee +4 -0
- data/app/assets/stylesheets/alchemy/{_custom-properties.scss → _custom-properties.css} +28 -25
- data/app/assets/stylesheets/alchemy/_deprecated_variables.scss +41 -0
- data/app/assets/stylesheets/alchemy/_deprecation.scss +17 -0
- data/app/assets/stylesheets/alchemy/_extends.scss +1 -1
- data/app/assets/stylesheets/alchemy/_mixins.scss +20 -23
- data/app/assets/stylesheets/alchemy/_variables.scss +98 -94
- data/app/assets/stylesheets/alchemy/{archive.scss → admin/archive.scss} +23 -23
- data/app/assets/stylesheets/alchemy/{attachment-select.scss → admin/attachment-select.scss} +2 -2
- data/app/assets/stylesheets/alchemy/{attachments.scss → admin/attachments.scss} +4 -4
- data/app/assets/stylesheets/alchemy/{base.scss → admin/base.scss} +9 -9
- data/app/assets/stylesheets/alchemy/{buttons.scss → admin/buttons.scss} +3 -3
- data/app/assets/stylesheets/alchemy/{clipboard.scss → admin/clipboard.scss} +9 -6
- data/app/assets/stylesheets/alchemy/{dashboard.scss → admin/dashboard.scss} +8 -8
- data/app/assets/stylesheets/alchemy/{dialogs.scss → admin/dialogs.scss} +20 -20
- data/app/assets/stylesheets/alchemy/{elements.scss → admin/elements.scss} +128 -88
- data/app/assets/stylesheets/alchemy/{errors.scss → admin/errors.scss} +22 -6
- data/app/assets/stylesheets/alchemy/{flash.scss → admin/flash.scss} +3 -3
- data/app/assets/stylesheets/alchemy/{flatpickr.scss → admin/flatpickr.scss} +55 -35
- data/app/assets/stylesheets/alchemy/{form_fields.scss → admin/form_fields.scss} +8 -6
- data/app/assets/stylesheets/alchemy/{forms.scss → admin/forms.scss} +20 -16
- data/app/assets/stylesheets/alchemy/{frame.scss → admin/frame.scss} +9 -9
- data/app/assets/stylesheets/alchemy/{image_library.scss → admin/image_library.scss} +34 -33
- data/app/assets/stylesheets/alchemy/admin/labels.scss +3 -0
- data/app/assets/stylesheets/alchemy/{list_filter.scss → admin/list_filter.scss} +4 -4
- data/app/assets/stylesheets/alchemy/{lists.scss → admin/lists.scss} +9 -7
- data/app/assets/stylesheets/alchemy/{navigation.scss → admin/navigation.scss} +17 -17
- data/app/assets/stylesheets/alchemy/{node-select.scss → admin/node-select.scss} +5 -5
- data/app/assets/stylesheets/alchemy/{nodes.scss → admin/nodes.scss} +11 -11
- data/app/assets/stylesheets/alchemy/{notices.scss → admin/notices.scss} +11 -7
- data/app/assets/stylesheets/alchemy/{page-select.scss → admin/page-select.scss} +10 -10
- data/app/assets/stylesheets/alchemy/{pagination.scss → admin/pagination.scss} +10 -10
- data/app/assets/stylesheets/alchemy/{print.scss → admin/print.scss} +2 -6
- data/app/assets/stylesheets/alchemy/{resource_info.scss → admin/resource_info.scss} +6 -7
- data/app/assets/stylesheets/alchemy/{search.scss → admin/search.scss} +6 -6
- data/app/assets/stylesheets/alchemy/{selects.scss → admin/selects.scss} +46 -39
- data/app/assets/stylesheets/alchemy/{shoelace.scss → admin/shoelace.scss} +10 -10
- data/app/assets/stylesheets/alchemy/{sitemap.scss → admin/sitemap.scss} +18 -19
- data/app/assets/stylesheets/alchemy/{tables.scss → admin/tables.scss} +26 -22
- data/app/assets/stylesheets/alchemy/admin/tags.scss +158 -0
- data/app/assets/stylesheets/alchemy/{toolbar.scss → admin/toolbar.scss} +10 -10
- data/app/assets/stylesheets/alchemy/{typography.scss → admin/typography.scss} +3 -3
- data/app/assets/stylesheets/alchemy/{upload.scss → admin/upload.scss} +1 -1
- data/app/assets/stylesheets/alchemy/admin.scss +40 -45
- data/app/assets/stylesheets/alchemy/welcome.scss +57 -0
- data/app/assets/stylesheets/tinymce/skins/content/alchemy/{content.min.scss → content.scss} +5 -4
- data/app/assets/stylesheets/tinymce/skins/ui/alchemy/{skin.min.scss → skin.scss} +40 -40
- data/app/components/alchemy/admin/resource/action.rb +46 -0
- data/app/components/alchemy/admin/resource/cell.rb +34 -0
- data/app/components/alchemy/admin/resource/header.rb +46 -0
- data/app/components/alchemy/admin/resource/table.rb +153 -0
- data/app/components/alchemy/ingredients/datetime_view.rb +2 -2
- data/app/controllers/alchemy/admin/base_controller.rb +2 -1
- data/app/controllers/alchemy/admin/elements_controller.rb +7 -3
- data/app/controllers/alchemy/admin/legacy_page_urls_controller.rb +1 -1
- data/app/controllers/alchemy/admin/pages_controller.rb +1 -1
- data/app/controllers/alchemy/admin/pictures_controller.rb +2 -2
- data/app/controllers/alchemy/admin/resources_controller.rb +2 -2
- data/app/controllers/alchemy/base_controller.rb +2 -0
- data/app/controllers/concerns/alchemy/admin/uploader_responses.rb +2 -11
- data/app/decorators/alchemy/ingredient_editor.rb +17 -0
- data/app/helpers/alchemy/admin/pages_helper.rb +6 -10
- data/app/helpers/alchemy/base_helper.rb +2 -2
- data/app/helpers/alchemy/elements_block_helper.rb +13 -1
- data/app/helpers/alchemy/pages_helper.rb +2 -2
- data/app/javascript/alchemy_admin/components/element_editor.js +23 -31
- data/app/javascript/alchemy_admin/components/preview_window.js +2 -3
- data/app/javascript/alchemy_admin/picture_selector.js +38 -10
- data/app/models/alchemy/attachment.rb +0 -8
- data/app/models/alchemy/element/dom_id.rb +1 -0
- data/app/models/alchemy/element/element_ingredients.rb +0 -73
- data/app/models/alchemy/element/presenters.rb +4 -1
- data/app/models/alchemy/element.rb +6 -0
- data/app/models/alchemy/elements_repository.rb +2 -2
- data/app/models/alchemy/ingredient_validator.rb +10 -0
- data/app/models/alchemy/page/page_scopes.rb +1 -1
- data/app/models/alchemy/picture.rb +0 -10
- data/app/views/alchemy/admin/attachments/_files_list.html.erb +74 -16
- data/app/views/alchemy/admin/clipboard/index.html.erb +38 -33
- data/app/views/alchemy/admin/dashboard/_dashboard.html.erb +3 -0
- data/app/views/alchemy/admin/dashboard/_left_column.html.erb +4 -0
- data/app/views/alchemy/admin/dashboard/_right_column.html.erb +9 -0
- data/app/views/alchemy/admin/dashboard/_top.html.erb +12 -0
- data/app/views/alchemy/admin/dashboard/index.html.erb +1 -25
- data/app/views/alchemy/admin/elements/_element.html.erb +1 -2
- data/app/views/alchemy/admin/elements/_form.html.erb +1 -1
- data/app/views/alchemy/admin/ingredients/_picture_fields.html.erb +10 -3
- data/app/views/alchemy/admin/ingredients/update.turbo_stream.erb +7 -0
- data/app/views/alchemy/admin/languages/_table.html.erb +16 -42
- data/app/views/alchemy/admin/nodes/_form.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_table.html.erb +92 -27
- data/app/views/alchemy/admin/pages/edit.html.erb +6 -8
- data/app/views/alchemy/admin/pages/index.html.erb +0 -4
- data/app/views/alchemy/admin/pictures/_form.html.erb +14 -12
- data/app/views/alchemy/admin/pictures/index.html.erb +1 -11
- data/app/views/alchemy/admin/pictures/update.turbo_stream.erb +6 -0
- data/app/views/alchemy/admin/resources/_resource_table.html.erb +3 -0
- data/app/views/alchemy/admin/resources/_table.html.erb +2 -0
- data/app/views/alchemy/admin/resources/index.html.erb +1 -1
- data/app/views/alchemy/admin/sites/index.html.erb +1 -1
- data/app/views/alchemy/admin/styleguide/index.html.erb +0 -4
- data/app/views/alchemy/admin/tags/index.html.erb +15 -14
- data/app/views/alchemy/base/403.html.erb +6 -0
- data/app/views/alchemy/base/500.html.erb +14 -12
- data/app/views/alchemy/ingredients/_datetime_editor.html.erb +13 -11
- data/app/views/alchemy/ingredients/_headline_editor.html.erb +29 -22
- data/app/views/alchemy/ingredients/_link_editor.html.erb +17 -11
- data/app/views/alchemy/ingredients/_page_editor.html.erb +1 -0
- data/app/views/alchemy/ingredients/_picture_editor.html.erb +3 -4
- data/app/views/alchemy/ingredients/_richtext_editor.html.erb +5 -1
- data/app/views/alchemy/ingredients/_select_editor.html.erb +2 -1
- data/app/views/alchemy/ingredients/_text_editor.html.erb +20 -14
- data/app/views/alchemy/ingredients/shared/_picture_css_class.html.erb +6 -0
- data/app/views/layouts/alchemy/admin.html.erb +4 -2
- data/bin/setup +2 -0
- data/bin/start +1 -1
- data/bun.lockb +0 -0
- data/config/alchemy/config.yml +9 -0
- data/config/locales/alchemy.en.yml +8 -29
- data/config/routes.rb +22 -22
- data/lib/alchemy/config.rb +3 -3
- data/lib/alchemy/install/tasks.rb +5 -2
- data/lib/alchemy/resources_helper.rb +3 -1
- data/lib/alchemy/test_support/capybara_helpers.rb +8 -5
- data/lib/alchemy/test_support/shared_uploader_examples.rb +0 -1
- data/lib/alchemy/upgrader/seven_point_three.rb +52 -0
- data/lib/alchemy/version.rb +1 -1
- data/lib/alchemy_cms.rb +1 -1
- data/lib/generators/alchemy/install/files/article.css +25 -0
- data/lib/generators/alchemy/install/files/custom.css +4 -0
- data/lib/generators/alchemy/install/install_generator.rb +6 -6
- data/lib/tasks/alchemy/upgrade.rake +29 -1
- data/vendor/assets/stylesheets/alchemy_admin/select2.css +1 -0
- data/vendor/assets/stylesheets/jquery.Jcrop.min.css +2 -0
- data/vendor/javascript/shoelace.min.js +62 -63
- data/vendor/javascript/tinymce.min.js +1 -1
- metadata +132 -105
- data/app/assets/images/alchemy/lupe.cur +0 -0
- data/app/assets/stylesheets/alchemy/labels.scss +0 -3
- data/app/assets/stylesheets/alchemy/tags.scss +0 -155
- data/app/assets/stylesheets/alchemy/welcome.sass +0 -49
- data/app/views/alchemy/admin/attachments/_attachment.html.erb +0 -81
- data/app/views/alchemy/admin/languages/_language.html.erb +0 -50
- data/app/views/alchemy/admin/pages/_table_row.html.erb +0 -111
- data/app/views/alchemy/admin/pages/list/_table.html.erb +0 -31
- data/app/views/alchemy/admin/pictures/update.js.erb +0 -6
- data/app/views/alchemy/admin/tags/_tag.html.erb +0 -32
- data/app/views/alchemy/base/update.js.erb +0 -5
- data/lib/generators/alchemy/install/files/all.css +0 -11
- data/lib/generators/alchemy/install/files/article.scss +0 -30
- data/package.json +0 -52
- data/vendor/assets/stylesheets/alchemy_admin/select2.scss +0 -741
- data/vendor/assets/stylesheets/jquery.Jcrop.min.scss +0 -2
- /data/app/assets/stylesheets/alchemy/{fonts.scss → _fonts.scss} +0 -0
- /data/app/assets/stylesheets/alchemy/{hints.scss → admin/hints.scss} +0 -0
- /data/app/assets/stylesheets/alchemy/{icons.scss → admin/icons.scss} +0 -0
- /data/app/assets/stylesheets/alchemy/{images.scss → admin/images.scss} +0 -0
- /data/app/assets/stylesheets/alchemy/{preview_window.scss → admin/preview_window.scss} +0 -0
- /data/app/assets/stylesheets/alchemy/{spinner.scss → admin/spinner.scss} +0 -0
- /data/app/views/alchemy/admin/dashboard/{_locked_pages.html.erb → widgets/_locked_pages.html.erb} +0 -0
- /data/app/views/alchemy/admin/dashboard/{_recent_pages.html.erb → widgets/_recent_pages.html.erb} +0 -0
- /data/app/views/alchemy/admin/dashboard/{_sites.html.erb → widgets/_sites.html.erb} +0 -0
- /data/app/views/alchemy/admin/dashboard/{_users.html.erb → widgets/_users.html.erb} +0 -0
@@ -1,25 +1,28 @@
|
|
1
1
|
#clipboard_items {
|
2
|
-
|
3
2
|
ul {
|
4
3
|
list-style-type: none;
|
5
|
-
margin: 0 0
|
4
|
+
margin: 0 0 var(--spacing-2);
|
6
5
|
padding: 0;
|
7
6
|
height: 220px;
|
8
7
|
overflow-y: auto;
|
9
8
|
overflow-x: hidden;
|
10
9
|
|
11
10
|
li {
|
12
|
-
|
11
|
+
display: flex;
|
12
|
+
align-items: center;
|
13
|
+
gap: var(--spacing-2);
|
14
|
+
padding: var(--spacing-2);
|
13
15
|
border: $default-border;
|
14
16
|
background-color: white;
|
15
17
|
border-radius: $default-border-radius;
|
16
18
|
|
17
19
|
&.elements {
|
18
|
-
background-color:
|
20
|
+
background-color: var(--color-grey_light);
|
19
21
|
}
|
20
22
|
|
21
|
-
|
22
|
-
margin-
|
23
|
+
.icon_button {
|
24
|
+
margin-left: auto;
|
25
|
+
cursor: pointer;
|
23
26
|
}
|
24
27
|
}
|
25
28
|
}
|
@@ -1,34 +1,34 @@
|
|
1
1
|
#dashboard {
|
2
2
|
overflow: auto;
|
3
|
-
padding: 4
|
3
|
+
padding: var(--spacing-4) 0;
|
4
4
|
width: 100%;
|
5
5
|
position: relative;
|
6
6
|
|
7
7
|
h1 {
|
8
8
|
font-size: 1.5em;
|
9
|
-
margin: 0 0
|
9
|
+
margin: 0 0 var(--spacing-2) var(--spacing-2);
|
10
10
|
}
|
11
11
|
|
12
12
|
p {
|
13
|
-
margin: 0 0
|
13
|
+
margin: 0 0 var(--spacing-4) var(--spacing-2);
|
14
14
|
}
|
15
15
|
|
16
16
|
.column {
|
17
17
|
width: 50%;
|
18
18
|
float: left;
|
19
|
-
padding-right:
|
19
|
+
padding-right: var(--spacing-4);
|
20
20
|
}
|
21
21
|
|
22
22
|
.widget {
|
23
|
-
margin-bottom:
|
23
|
+
margin-bottom: var(--spacing-4);
|
24
24
|
|
25
25
|
h2 {
|
26
|
-
padding: 2
|
26
|
+
padding: var(--spacing-2);
|
27
27
|
margin-bottom: 0;
|
28
28
|
}
|
29
29
|
|
30
30
|
p {
|
31
|
-
margin:
|
31
|
+
margin: var(--spacing-1) 0;
|
32
32
|
}
|
33
33
|
|
34
34
|
table {
|
@@ -60,7 +60,7 @@
|
|
60
60
|
|
61
61
|
> span {
|
62
62
|
display: inline-flex;
|
63
|
-
gap:
|
63
|
+
gap: var(--spacing-1);
|
64
64
|
align-items: center;
|
65
65
|
|
66
66
|
&.hidden {
|
@@ -58,7 +58,7 @@ $dialog-transition-duration: 150ms;
|
|
58
58
|
.alchemy-dialog,
|
59
59
|
.alchemy-image-overlay-dialog {
|
60
60
|
position: relative;
|
61
|
-
max-width: calc(100vw -
|
61
|
+
max-width: calc(100vw - var(--spacing-4));
|
62
62
|
display: inline-block;
|
63
63
|
vertical-align: middle;
|
64
64
|
text-align: left;
|
@@ -66,14 +66,14 @@ $dialog-transition-duration: 150ms;
|
|
66
66
|
|
67
67
|
.alchemy-dialog {
|
68
68
|
white-space: normal;
|
69
|
-
margin: 2
|
69
|
+
margin: var(--spacing-2);
|
70
70
|
@include border-top-radius($default-border-radius);
|
71
71
|
box-shadow: $dialog-box-shadow;
|
72
72
|
background-color: $dialog-background-color;
|
73
73
|
transition: min-height $dialog-transition-duration ease-in-out;
|
74
74
|
|
75
75
|
div#jscropper {
|
76
|
-
padding: 2
|
76
|
+
padding: var(--spacing-2);
|
77
77
|
|
78
78
|
.thumbnail_background {
|
79
79
|
width: 800px;
|
@@ -85,15 +85,15 @@ $dialog-transition-duration: 150ms;
|
|
85
85
|
.info.message,
|
86
86
|
alchemy-message[type="info"] {
|
87
87
|
position: absolute;
|
88
|
-
right: 2
|
88
|
+
right: var(--spacing-2);
|
89
89
|
width: 256px;
|
90
90
|
}
|
91
91
|
|
92
92
|
.info.message,
|
93
93
|
alchemy-message[type="info"] {
|
94
|
-
top: 2
|
95
|
-
margin: 0 0 0
|
96
|
-
padding: 0
|
94
|
+
top: var(--spacing-2);
|
95
|
+
margin: 0 0 0 var(--spacing-2);
|
96
|
+
padding: 0 var(--spacing-2) 0 var(--spacing-8);
|
97
97
|
}
|
98
98
|
|
99
99
|
.jcrop-holder {
|
@@ -107,12 +107,12 @@ $dialog-transition-duration: 150ms;
|
|
107
107
|
|
108
108
|
form {
|
109
109
|
padding: 0;
|
110
|
-
bottom: 2
|
111
|
-
margin-left:
|
110
|
+
bottom: var(--spacing-2);
|
111
|
+
margin-left: var(--spacing-2);
|
112
112
|
|
113
113
|
button {
|
114
114
|
margin-bottom: 0;
|
115
|
-
width: calc(50% -
|
115
|
+
width: calc(50% - var(--spacing-1));
|
116
116
|
}
|
117
117
|
|
118
118
|
button[type="submit"] {
|
@@ -125,7 +125,7 @@ $dialog-transition-duration: 150ms;
|
|
125
125
|
.alchemy-dialog-header {
|
126
126
|
display: flex;
|
127
127
|
align-items: center;
|
128
|
-
gap:
|
128
|
+
gap: var(--spacing-1);
|
129
129
|
position: relative;
|
130
130
|
height: $dialog-header-height;
|
131
131
|
padding: $dialog-header-padding;
|
@@ -139,7 +139,7 @@ $dialog-transition-duration: 150ms;
|
|
139
139
|
.alchemy-dialog-title {
|
140
140
|
flex-grow: 1;
|
141
141
|
font-weight: bold;
|
142
|
-
padding: 0
|
142
|
+
padding: 0 var(--spacing-1);
|
143
143
|
white-space: nowrap;
|
144
144
|
overflow: hidden;
|
145
145
|
text-overflow: ellipsis;
|
@@ -158,19 +158,19 @@ $dialog-transition-duration: 150ms;
|
|
158
158
|
|
159
159
|
.alchemy-dialog-body {
|
160
160
|
position: relative;
|
161
|
-
color:
|
161
|
+
color: var(--color-text);
|
162
162
|
|
163
163
|
.message,
|
164
164
|
alchemy-message {
|
165
|
-
margin:
|
165
|
+
margin: var(--spacing-2);
|
166
166
|
}
|
167
167
|
|
168
168
|
&.padded {
|
169
|
-
padding: 4
|
169
|
+
padding: var(--spacing-4);
|
170
170
|
|
171
171
|
.message,
|
172
172
|
alchemy-message {
|
173
|
-
margin: 0 0
|
173
|
+
margin: 0 0 var(--spacing-2) 0;
|
174
174
|
}
|
175
175
|
}
|
176
176
|
|
@@ -179,20 +179,20 @@ $dialog-transition-duration: 150ms;
|
|
179
179
|
|
180
180
|
label {
|
181
181
|
float: left;
|
182
|
-
margin-top:
|
182
|
+
margin-top: var(--spacing-3);
|
183
183
|
}
|
184
184
|
}
|
185
185
|
}
|
186
186
|
|
187
187
|
.alchemy-dialog-buttons {
|
188
|
-
padding-top: 4
|
188
|
+
padding-top: var(--spacing-4);
|
189
189
|
text-align: right;
|
190
190
|
|
191
191
|
button:first-child {
|
192
|
-
margin-right: 2
|
192
|
+
margin-right: var(--spacing-2);
|
193
193
|
}
|
194
194
|
}
|
195
195
|
|
196
196
|
#overlay_tabs {
|
197
|
-
margin: -
|
197
|
+
margin: calc(-1 * var(--spacing-4));
|
198
198
|
}
|