alchemy_cms 7.2.6 → 7.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +103 -9
  3. data/Gemfile +4 -3
  4. data/Rakefile +1 -0
  5. data/alchemy_cms.gemspec +7 -7
  6. data/app/assets/builds/alchemy/admin/page-select.css +1 -0
  7. data/app/assets/builds/alchemy/admin/page-select.css.map +1 -0
  8. data/app/assets/builds/alchemy/admin/print.css +1 -0
  9. data/app/assets/builds/alchemy/admin/print.css.map +1 -0
  10. data/app/assets/builds/alchemy/admin.css +1 -0
  11. data/app/assets/builds/alchemy/admin.css.map +1 -0
  12. data/app/assets/builds/alchemy/welcome.css +1 -0
  13. data/app/assets/builds/alchemy/welcome.css.map +1 -0
  14. data/app/assets/builds/tinymce/skins/content/alchemy/content.min.css +1 -0
  15. data/app/assets/builds/tinymce/skins/content/alchemy/content.min.css.map +1 -0
  16. data/app/assets/builds/tinymce/skins/ui/alchemy/skin.min.css +1 -0
  17. data/app/assets/builds/tinymce/skins/ui/alchemy/skin.min.css.map +1 -0
  18. data/app/assets/config/alchemy_manifest.js +2 -5
  19. data/app/assets/javascripts/alchemy/alchemy.dialog.js.coffee +4 -0
  20. data/app/assets/stylesheets/alchemy/{_custom-properties.scss → _custom-properties.css} +28 -25
  21. data/app/assets/stylesheets/alchemy/_deprecated_variables.scss +45 -0
  22. data/app/assets/stylesheets/alchemy/_deprecation.scss +17 -0
  23. data/app/assets/stylesheets/alchemy/_extends.scss +1 -1
  24. data/app/assets/stylesheets/alchemy/_mixins.scss +21 -24
  25. data/app/assets/stylesheets/alchemy/_variables.scss +99 -95
  26. data/app/assets/stylesheets/alchemy/{archive.scss → admin/archive.scss} +23 -23
  27. data/app/assets/stylesheets/alchemy/{attachment-select.scss → admin/attachment-select.scss} +2 -2
  28. data/app/assets/stylesheets/alchemy/{attachments.scss → admin/attachments.scss} +4 -4
  29. data/app/assets/stylesheets/alchemy/{base.scss → admin/base.scss} +9 -9
  30. data/app/assets/stylesheets/alchemy/{buttons.scss → admin/buttons.scss} +3 -3
  31. data/app/assets/stylesheets/alchemy/{clipboard.scss → admin/clipboard.scss} +9 -6
  32. data/app/assets/stylesheets/alchemy/{dashboard.scss → admin/dashboard.scss} +8 -8
  33. data/app/assets/stylesheets/alchemy/{dialogs.scss → admin/dialogs.scss} +20 -20
  34. data/app/assets/stylesheets/alchemy/{elements.scss → admin/elements.scss} +136 -96
  35. data/app/assets/stylesheets/alchemy/{errors.scss → admin/errors.scss} +22 -6
  36. data/app/assets/stylesheets/alchemy/{flash.scss → admin/flash.scss} +3 -3
  37. data/app/assets/stylesheets/alchemy/{flatpickr.scss → admin/flatpickr.scss} +55 -35
  38. data/app/assets/stylesheets/alchemy/{form_fields.scss → admin/form_fields.scss} +8 -6
  39. data/app/assets/stylesheets/alchemy/{forms.scss → admin/forms.scss} +20 -16
  40. data/app/assets/stylesheets/alchemy/{frame.scss → admin/frame.scss} +9 -9
  41. data/app/assets/stylesheets/alchemy/{image_library.scss → admin/image_library.scss} +34 -33
  42. data/app/assets/stylesheets/alchemy/admin/labels.scss +3 -0
  43. data/app/assets/stylesheets/alchemy/{list_filter.scss → admin/list_filter.scss} +4 -4
  44. data/app/assets/stylesheets/alchemy/{lists.scss → admin/lists.scss} +9 -7
  45. data/app/assets/stylesheets/alchemy/{navigation.scss → admin/navigation.scss} +19 -19
  46. data/app/assets/stylesheets/alchemy/{node-select.scss → admin/node-select.scss} +6 -6
  47. data/app/assets/stylesheets/alchemy/{nodes.scss → admin/nodes.scss} +12 -12
  48. data/app/assets/stylesheets/alchemy/{notices.scss → admin/notices.scss} +12 -8
  49. data/app/assets/stylesheets/alchemy/admin/page-select.scss +81 -0
  50. data/app/assets/stylesheets/alchemy/{pagination.scss → admin/pagination.scss} +10 -10
  51. data/app/assets/stylesheets/alchemy/{print.scss → admin/print.scss} +2 -6
  52. data/app/assets/stylesheets/alchemy/{resource_info.scss → admin/resource_info.scss} +6 -7
  53. data/app/assets/stylesheets/alchemy/{search.scss → admin/search.scss} +6 -6
  54. data/app/assets/stylesheets/alchemy/{selects.scss → admin/selects.scss} +46 -39
  55. data/app/assets/stylesheets/alchemy/{shoelace.scss → admin/shoelace.scss} +14 -14
  56. data/app/assets/stylesheets/alchemy/{sitemap.scss → admin/sitemap.scss} +19 -20
  57. data/app/assets/stylesheets/alchemy/{tables.scss → admin/tables.scss} +26 -22
  58. data/app/assets/stylesheets/alchemy/admin/tags.scss +158 -0
  59. data/app/assets/stylesheets/alchemy/{toolbar.scss → admin/toolbar.scss} +10 -10
  60. data/app/assets/stylesheets/alchemy/{typography.scss → admin/typography.scss} +3 -3
  61. data/app/assets/stylesheets/alchemy/{upload.scss → admin/upload.scss} +1 -1
  62. data/app/assets/stylesheets/alchemy/admin.scss +39 -45
  63. data/app/assets/stylesheets/alchemy/welcome.scss +57 -0
  64. data/app/assets/stylesheets/tinymce/skins/content/alchemy/{content.min.scss → content.scss} +5 -4
  65. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/{skin.min.scss → skin.scss} +41 -41
  66. data/app/components/alchemy/admin/page_select.rb +3 -1
  67. data/app/components/alchemy/admin/resource/action.rb +46 -0
  68. data/app/components/alchemy/admin/resource/cell.rb +34 -0
  69. data/app/components/alchemy/admin/resource/header.rb +46 -0
  70. data/app/components/alchemy/admin/resource/table.rb +153 -0
  71. data/app/components/alchemy/ingredients/datetime_view.rb +2 -2
  72. data/app/controllers/alchemy/admin/base_controller.rb +2 -1
  73. data/app/controllers/alchemy/admin/elements_controller.rb +7 -3
  74. data/app/controllers/alchemy/admin/legacy_page_urls_controller.rb +1 -1
  75. data/app/controllers/alchemy/admin/pages_controller.rb +1 -1
  76. data/app/controllers/alchemy/admin/pictures_controller.rb +2 -2
  77. data/app/controllers/alchemy/admin/resources_controller.rb +1 -1
  78. data/app/controllers/alchemy/base_controller.rb +2 -0
  79. data/app/controllers/concerns/alchemy/admin/uploader_responses.rb +2 -11
  80. data/app/decorators/alchemy/ingredient_editor.rb +17 -0
  81. data/app/helpers/alchemy/admin/pages_helper.rb +6 -10
  82. data/app/helpers/alchemy/base_helper.rb +2 -2
  83. data/app/helpers/alchemy/elements_block_helper.rb +13 -1
  84. data/app/helpers/alchemy/pages_helper.rb +2 -2
  85. data/app/javascript/alchemy_admin/components/element_editor.js +23 -31
  86. data/app/javascript/alchemy_admin/components/preview_window.js +2 -3
  87. data/app/javascript/alchemy_admin/picture_selector.js +38 -10
  88. data/app/models/alchemy/attachment.rb +0 -8
  89. data/app/models/alchemy/element/dom_id.rb +1 -0
  90. data/app/models/alchemy/element/element_ingredients.rb +0 -73
  91. data/app/models/alchemy/element/presenters.rb +4 -1
  92. data/app/models/alchemy/element.rb +6 -0
  93. data/app/models/alchemy/elements_repository.rb +2 -2
  94. data/app/models/alchemy/ingredient_validator.rb +10 -0
  95. data/app/models/alchemy/page/page_scopes.rb +1 -1
  96. data/app/models/alchemy/page.rb +3 -3
  97. data/app/models/alchemy/picture.rb +0 -10
  98. data/app/views/alchemy/admin/attachments/_files_list.html.erb +74 -16
  99. data/app/views/alchemy/admin/clipboard/index.html.erb +38 -33
  100. data/app/views/alchemy/admin/dashboard/_dashboard.html.erb +3 -0
  101. data/app/views/alchemy/admin/dashboard/_left_column.html.erb +4 -0
  102. data/app/views/alchemy/admin/dashboard/_right_column.html.erb +9 -0
  103. data/app/views/alchemy/admin/dashboard/_top.html.erb +12 -0
  104. data/app/views/alchemy/admin/dashboard/index.html.erb +1 -25
  105. data/app/views/alchemy/admin/elements/_element.html.erb +1 -2
  106. data/app/views/alchemy/admin/elements/_form.html.erb +1 -1
  107. data/app/views/alchemy/admin/ingredients/_picture_fields.html.erb +10 -3
  108. data/app/views/alchemy/admin/ingredients/update.turbo_stream.erb +7 -0
  109. data/app/views/alchemy/admin/languages/_table.html.erb +16 -42
  110. data/app/views/alchemy/admin/nodes/_form.html.erb +1 -1
  111. data/app/views/alchemy/admin/pages/_table.html.erb +92 -27
  112. data/app/views/alchemy/admin/pages/_toolbar.html.erb +1 -1
  113. data/app/views/alchemy/admin/pages/edit.html.erb +6 -8
  114. data/app/views/alchemy/admin/pages/index.html.erb +0 -4
  115. data/app/views/alchemy/admin/pictures/_form.html.erb +14 -12
  116. data/app/views/alchemy/admin/pictures/index.html.erb +1 -11
  117. data/app/views/alchemy/admin/pictures/update.turbo_stream.erb +6 -0
  118. data/app/views/alchemy/admin/resources/_resource.html.erb +2 -0
  119. data/app/views/alchemy/admin/resources/_resource_table.html.erb +3 -0
  120. data/app/views/alchemy/admin/resources/_table.html.erb +2 -0
  121. data/app/views/alchemy/admin/resources/index.html.erb +1 -1
  122. data/app/views/alchemy/admin/sites/index.html.erb +1 -1
  123. data/app/views/alchemy/admin/styleguide/index.html.erb +0 -4
  124. data/app/views/alchemy/admin/tags/index.html.erb +15 -14
  125. data/app/views/alchemy/base/403.html.erb +6 -0
  126. data/app/views/alchemy/base/500.html.erb +14 -12
  127. data/app/views/alchemy/ingredients/_datetime_editor.html.erb +13 -11
  128. data/app/views/alchemy/ingredients/_headline_editor.html.erb +29 -22
  129. data/app/views/alchemy/ingredients/_link_editor.html.erb +17 -11
  130. data/app/views/alchemy/ingredients/_page_editor.html.erb +1 -0
  131. data/app/views/alchemy/ingredients/_picture_editor.html.erb +3 -4
  132. data/app/views/alchemy/ingredients/_richtext_editor.html.erb +5 -1
  133. data/app/views/alchemy/ingredients/_select_editor.html.erb +2 -1
  134. data/app/views/alchemy/ingredients/_text_editor.html.erb +20 -14
  135. data/app/views/alchemy/ingredients/shared/_picture_css_class.html.erb +6 -0
  136. data/app/views/layouts/alchemy/admin.html.erb +4 -2
  137. data/bin/setup +2 -0
  138. data/bin/start +1 -1
  139. data/bun.lockb +0 -0
  140. data/config/alchemy/config.yml +9 -0
  141. data/config/locales/alchemy.en.yml +8 -29
  142. data/config/routes.rb +22 -22
  143. data/lib/alchemy/config.rb +3 -3
  144. data/lib/alchemy/install/tasks.rb +5 -2
  145. data/lib/alchemy/resources_helper.rb +7 -3
  146. data/lib/alchemy/test_support/capybara_helpers.rb +8 -5
  147. data/lib/alchemy/test_support/shared_uploader_examples.rb +0 -1
  148. data/lib/alchemy/upgrader/seven_point_three.rb +52 -0
  149. data/lib/alchemy/version.rb +1 -1
  150. data/lib/alchemy_cms.rb +1 -1
  151. data/lib/generators/alchemy/install/files/article.css +25 -0
  152. data/lib/generators/alchemy/install/files/custom.css +4 -0
  153. data/lib/generators/alchemy/install/install_generator.rb +6 -6
  154. data/lib/tasks/alchemy/upgrade.rake +29 -1
  155. data/vendor/assets/stylesheets/alchemy_admin/select2.css +1 -0
  156. data/vendor/assets/stylesheets/jquery.Jcrop.min.css +2 -0
  157. data/vendor/javascript/shoelace.min.js +62 -63
  158. data/vendor/javascript/tinymce.min.js +1 -1
  159. metadata +130 -105
  160. data/app/assets/images/alchemy/lupe.cur +0 -0
  161. data/app/assets/stylesheets/alchemy/labels.scss +0 -3
  162. data/app/assets/stylesheets/alchemy/page-select.scss +0 -66
  163. data/app/assets/stylesheets/alchemy/tags.scss +0 -155
  164. data/app/assets/stylesheets/alchemy/welcome.sass +0 -49
  165. data/app/views/alchemy/admin/attachments/_attachment.html.erb +0 -81
  166. data/app/views/alchemy/admin/languages/_language.html.erb +0 -50
  167. data/app/views/alchemy/admin/pages/_table_row.html.erb +0 -111
  168. data/app/views/alchemy/admin/pages/list/_table.html.erb +0 -31
  169. data/app/views/alchemy/admin/pictures/update.js.erb +0 -6
  170. data/app/views/alchemy/admin/tags/_tag.html.erb +0 -32
  171. data/app/views/alchemy/base/update.js.erb +0 -5
  172. data/lib/generators/alchemy/install/files/all.css +0 -11
  173. data/lib/generators/alchemy/install/files/article.scss +0 -30
  174. data/package.json +0 -52
  175. data/vendor/assets/stylesheets/alchemy_admin/select2.scss +0 -741
  176. data/vendor/assets/stylesheets/jquery.Jcrop.min.scss +0 -2
  177. /data/app/assets/stylesheets/alchemy/{fonts.scss → _fonts.scss} +0 -0
  178. /data/app/assets/stylesheets/alchemy/{hints.scss → admin/hints.scss} +0 -0
  179. /data/app/assets/stylesheets/alchemy/{icons.scss → admin/icons.scss} +0 -0
  180. /data/app/assets/stylesheets/alchemy/{images.scss → admin/images.scss} +0 -0
  181. /data/app/assets/stylesheets/alchemy/{preview_window.scss → admin/preview_window.scss} +0 -0
  182. /data/app/assets/stylesheets/alchemy/{spinner.scss → admin/spinner.scss} +0 -0
  183. /data/app/views/alchemy/admin/dashboard/{_locked_pages.html.erb → widgets/_locked_pages.html.erb} +0 -0
  184. /data/app/views/alchemy/admin/dashboard/{_recent_pages.html.erb → widgets/_recent_pages.html.erb} +0 -0
  185. /data/app/views/alchemy/admin/dashboard/{_sites.html.erb → widgets/_sites.html.erb} +0 -0
  186. /data/app/views/alchemy/admin/dashboard/{_users.html.erb → widgets/_users.html.erb} +0 -0
@@ -5,25 +5,27 @@ select {
5
5
  $background-color: $form-field-background-color,
6
6
  $hover-color: $form-field-background-color,
7
7
  $hover-border-color: darken($default-border-color, 10%),
8
- $padding: $default-padding 26px $default-padding 2 * $default-padding,
8
+ $padding: var(--spacing-1) 26px var(--spacing-1) var(--spacing-2),
9
9
  $border: 1px solid $default-border-color,
10
10
  $box-shadow: none,
11
11
  $color: $form-field-text-color,
12
12
  $margin: 0
13
13
  );
14
- height: $form-field-height;
15
- max-width: 100%;
16
- width: auto;
17
- font-weight: normal;
18
- vertical-align: middle;
19
-
20
- background-image: var(
21
- --select-background-image,
22
- url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$icon-color}' viewBox='0 0 24 24'%3E%3Cpath d='M11.9997 13.1714L16.9495 8.22168L18.3637 9.63589L11.9997 15.9999L5.63574 9.63589L7.04996 8.22168L11.9997 13.1714Z'%3E%3C/path%3E%3C/svg%3E")
23
- );
24
- background-position: right 0.75em center;
25
- background-repeat: no-repeat;
26
- background-size: 1em;
14
+
15
+ & {
16
+ height: $form-field-height;
17
+ max-width: 100%;
18
+ width: auto;
19
+ font-weight: normal;
20
+ vertical-align: middle;
21
+ background-image: var(
22
+ --select-background-image,
23
+ url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='hsla(224deg, 23%, 26%, 0.75)' viewBox='0 0 24 24'%3E%3Cpath d='M11.9997 13.1714L16.9495 8.22168L18.3637 9.63589L11.9997 15.9999L5.63574 9.63589L7.04996 8.22168L11.9997 13.1714Z'%3E%3C/path%3E%3C/svg%3E")
24
+ );
25
+ background-position: right 0.75em center;
26
+ background-repeat: no-repeat;
27
+ background-size: 1em;
28
+ }
27
29
 
28
30
  &.tiny {
29
31
  padding-right: 0.6em;
@@ -53,12 +55,15 @@ select {
53
55
  $color: $form-field-text-color,
54
56
  $margin: 0
55
57
  );
56
- background-image: none;
57
- display: flex;
58
- gap: 2 * $default-padding;
59
- align-items: center;
60
- font-weight: normal;
61
- text-align: left;
58
+
59
+ & {
60
+ background-image: none;
61
+ display: flex;
62
+ gap: var(--spacing-2);
63
+ align-items: center;
64
+ font-weight: normal;
65
+ text-align: left;
66
+ }
62
67
 
63
68
  .select2-chosen {
64
69
  flex-grow: 1;
@@ -75,14 +80,14 @@ select {
75
80
  align-items: center;
76
81
  justify-content: center;
77
82
  background-image: none;
78
- color: $icon-color;
83
+ color: var(--color-icon);
79
84
 
80
85
  &:before {
81
86
  display: inline-block;
82
87
  content: "";
83
88
  width: 1rem;
84
89
  height: 1rem;
85
- background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#{$icon-color}"><path d="M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z"></path></svg>')
90
+ background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="hsla(224deg, 23%, 26%, 0.75)"><path d="M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z"></path></svg>')
86
91
  no-repeat;
87
92
  }
88
93
  }
@@ -115,7 +120,7 @@ select {
115
120
  .select2-choice,
116
121
  .select2-choice:hover {
117
122
  background-image: none;
118
- background-color: $light-gray;
123
+ background-color: var(--color-grey_very_light);
119
124
  box-shadow: none;
120
125
  border-color: $border-inset-color;
121
126
  cursor: not-allowed;
@@ -135,7 +140,7 @@ select {
135
140
  &.select2-allowclear {
136
141
  .select2-search-choice-close {
137
142
  left: auto;
138
- right: $default-padding;
143
+ right: var(--spacing-1);
139
144
  top: 5px;
140
145
  background: none;
141
146
  text-decoration: none;
@@ -145,12 +150,12 @@ select {
145
150
  display: inline-flex;
146
151
  width: 12px;
147
152
  height: 12px;
148
- background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#{$icon-color}"><path d="M11.9997 10.5865L16.9495 5.63672L18.3637 7.05093L13.4139 12.0007L18.3637 16.9504L16.9495 18.3646L11.9997 13.4149L7.04996 18.3646L5.63574 16.9504L10.5855 12.0007L5.63574 7.05093L7.04996 5.63672L11.9997 10.5865Z"></path></svg>')
153
+ background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="hsla(224deg, 23%, 26%, 0.75)"><path d="M11.9997 10.5865L16.9495 5.63672L18.3637 7.05093L13.4139 12.0007L18.3637 16.9504L16.9495 18.3646L11.9997 13.4149L7.04996 18.3646L5.63574 16.9504L10.5855 12.0007L5.63574 7.05093L7.04996 5.63672L11.9997 10.5865Z"></path></svg>')
149
154
  no-repeat;
150
155
  }
151
156
 
152
157
  &:hover {
153
- color: $text-color;
158
+ color: var(--color-icon);
154
159
  }
155
160
  }
156
161
  }
@@ -166,16 +171,17 @@ select {
166
171
 
167
172
  .select2-choices {
168
173
  @extend %default-input-style;
169
- padding: 0 2px;
174
+ padding: 0 var(--spacing-0);
170
175
  width: 100%;
171
176
 
172
177
  .select2-search-choice {
173
- margin: 4px;
174
- padding: 4px 24px 4px 8px;
178
+ margin: var(--spacing-1);
179
+ padding: var(--spacing-1) var(--spacing-6) var(--spacing-1)
180
+ var(--spacing-2);
175
181
  background-image: none;
176
182
  border: 0 none;
177
183
  box-shadow: none;
178
- color: $text-color;
184
+ color: var(--color-text);
179
185
  }
180
186
 
181
187
  .select2-search-field {
@@ -193,7 +199,7 @@ select {
193
199
 
194
200
  .select2-drop {
195
201
  .select2-search {
196
- margin: $default-margin 0;
202
+ margin: var(--spacing-1) 0;
197
203
 
198
204
  .select2-input {
199
205
  width: inherit;
@@ -218,7 +224,7 @@ select {
218
224
 
219
225
  .select2-result {
220
226
  margin: 0;
221
- padding: 4px 0;
227
+ padding: var(--spacing-1) 0;
222
228
 
223
229
  &.select2-highlighted {
224
230
  background: $select-hover-bg-color;
@@ -232,16 +238,16 @@ select {
232
238
 
233
239
  .select2-no-results,
234
240
  .select2-searching {
235
- padding: 8px;
241
+ padding: var(--spacing-2);
236
242
  margin: 0;
237
243
  }
238
244
 
239
245
  .select2-result-label {
240
- padding: 4px 8px;
246
+ padding: var(--spacing-1) var(--spacing-2);
241
247
  }
242
248
 
243
249
  ul.select2-result-sub > li .select2-result-label {
244
- padding-left: 16px;
250
+ padding-left: var(--spacing-4);
245
251
  }
246
252
  }
247
253
 
@@ -252,7 +258,7 @@ select {
252
258
 
253
259
  .select2-more-results,
254
260
  .select2-ajax-error {
255
- padding: 2 * $default-padding;
261
+ padding: var(--spacing-2);
256
262
  margin-bottom: 0;
257
263
  }
258
264
  }
@@ -267,10 +273,11 @@ select {
267
273
  .select_with_label {
268
274
  display: inline-flex;
269
275
  align-items: center;
270
- margin: 0 3 * $default-margin;
276
+ margin: 0 var(--spacing-3);
271
277
 
272
- label {
273
- margin-right: 2 * $default-margin;
278
+ label,
279
+ alchemy-icon {
280
+ margin-right: var(--spacing-2);
274
281
  }
275
282
  }
276
283
 
@@ -60,10 +60,10 @@
60
60
  --sl-color-danger-950: var(--color-red_dark);
61
61
 
62
62
  /* Neutral */
63
- --sl-color-neutral-50: var(--color-grey_light);
64
- --sl-color-neutral-100: var(--color-grey_light);
63
+ --sl-color-neutral-50: var(--color-grey_very_light);
64
+ --sl-color-neutral-100: var(--color-grey_very_light);
65
65
  --sl-color-neutral-200: var(--color-grey_light);
66
- --sl-color-neutral-300: var(--color-grey_medium);
66
+ --sl-color-neutral-300: var(--color-grey_light);
67
67
  --sl-color-neutral-400: var(--color-grey_medium);
68
68
  --sl-color-neutral-500: var(--color-grey_medium);
69
69
  --sl-color-neutral-600: var(--color-grey_dark);
@@ -102,15 +102,15 @@
102
102
  * Spacings
103
103
  */
104
104
 
105
- --sl-spacing-3x-small: 0.125rem; /* 2px */
105
+ --sl-spacing-3x-small: var(--spacing-0); /* 2px */
106
106
  --sl-spacing-2x-small: var(--spacing-1); /* 4px */
107
107
  --sl-spacing-x-small: var(--spacing-2); /* 8px */
108
108
  --sl-spacing-small: var(--spacing-3); /* 12px */
109
109
  --sl-spacing-medium: var(--spacing-4); /* 16px */
110
- --sl-spacing-large: 1.25rem; /* 20px */
111
- --sl-spacing-x-large: 1.75rem; /* 28px */
112
- --sl-spacing-2x-large: 2.25rem; /* 36px */
113
- --sl-spacing-3x-large: 3rem; /* 48px */
110
+ --sl-spacing-large: var(--spacing-5); /* 20px */
111
+ --sl-spacing-x-large: var(--spacing-6); /* 24px */
112
+ --sl-spacing-2x-large: var(--spacing-7); /* 28px */
113
+ --sl-spacing-3x-large: var(--spacing-8); /* 32px */
114
114
  --sl-spacing-4x-large: 4.5rem; /* 72px */
115
115
 
116
116
  /*
@@ -134,10 +134,10 @@
134
134
 
135
135
  /* Font sizes */
136
136
  --sl-font-size-2x-small: 0.625rem; /* 10px */
137
- --sl-font-size-x-small: 0.75rem; /* 12px */
138
- --sl-font-size-small: var(--font-size_small); /* 14px */
139
- --sl-font-size-medium: var(--font-size_medium); /* 16px */
140
- --sl-font-size-large: var(--font-size_large); /* 20px */
137
+ --sl-font-size-x-small: var(--font-size_small); /* 12px */
138
+ --sl-font-size-small: var(--font-size_medium); /* 14px */
139
+ --sl-font-size-medium: var(--font-size_large); /* 16px */
140
+ --sl-font-size-large: 1.25rem; /* 20px */
141
141
  --sl-font-size-x-large: 1.5rem; /* 24px */
142
142
  --sl-font-size-2x-large: 2.25rem; /* 36px */
143
143
  --sl-font-size-3x-large: 3rem; /* 48px */
@@ -340,13 +340,13 @@ sl-tooltip {
340
340
 
341
341
  &::part(base__popup) {
342
342
  border-radius: var(--border-radius_medium);
343
- box-shadow: 0 0 var(--spacing-1) var(--color-grey_medium);
343
+ box-shadow: 0 0 var(--spacing-1) var(--color-grey_light);
344
344
  }
345
345
  }
346
346
 
347
347
  sl-dialog {
348
348
  &::part(panel) {
349
- background-color: var(--color-grey_light);
349
+ background-color: var(--color-grey_very_light);
350
350
  --body-spacing: var(--spacing-4) var(--spacing-3);
351
351
  --footer-spacing: var(--spacing-4) var(--spacing-3);
352
352
  }
@@ -29,7 +29,7 @@
29
29
  .page_urlname {
30
30
  display: none;
31
31
  margin-left: auto;
32
- padding-left: $default-padding;
32
+ padding-left: var(--spacing-1);
33
33
  width: calc(var(--sitemap-url-width) - 60px);
34
34
 
35
35
  @media screen and (min-width: $large-screen-break-point) {
@@ -39,7 +39,7 @@
39
39
 
40
40
  .page_status {
41
41
  display: none;
42
- padding-left: 2 * $default-padding;
42
+ padding-left: var(--spacing-2);
43
43
  margin-right: 190px;
44
44
  margin-left: auto;
45
45
 
@@ -78,7 +78,7 @@
78
78
  }
79
79
 
80
80
  .placeholder {
81
- background-color: $medium-gray;
81
+ background-color: var(--color-grey_light);
82
82
  margin-bottom: 0px;
83
83
  margin-left: 22px;
84
84
  }
@@ -102,16 +102,19 @@
102
102
  display: flex;
103
103
  align-items: center;
104
104
  height: $sitemap-line-height;
105
- margin: 3 * $default-margin 0;
105
+ margin: var(--spacing-3) 0;
106
106
  position: relative;
107
107
  transition: background-color $transition-duration;
108
+ --sitemap-status-width: calc(
109
+ var(--sitemap-status-width-base) * var(--sitemap-status-length)
110
+ );
108
111
 
109
112
  &.highlight {
110
113
  background-color: $sitemap-highlight-color;
111
114
  }
112
115
 
113
116
  &.no-match .sitemap_pagename_link {
114
- color: $medium-gray;
117
+ color: var(--color-grey_light);
115
118
  }
116
119
 
117
120
  &:hover {
@@ -122,10 +125,6 @@
122
125
  &:has(.page_infos :nth-child(3)) {
123
126
  --sitemap-status-length: 3;
124
127
  }
125
-
126
- --sitemap-status-width: calc(
127
- var(--sitemap-status-width-base) * var(--sitemap-status-length)
128
- );
129
128
  }
130
129
 
131
130
  .sitemap_left_images {
@@ -167,8 +166,8 @@
167
166
  display: none;
168
167
  background-color: $sitemap-info-background-color;
169
168
  line-height: $sitemap-line-height - 2px;
170
- font-size: $small-font-size;
171
- padding: 0 2 * $default-padding;
169
+ font-size: var(--font-size_small);
170
+ padding: 0 var(--spacing-2);
172
171
  white-space: nowrap;
173
172
  overflow: hidden;
174
173
  text-overflow: ellipsis;
@@ -183,7 +182,7 @@
183
182
  .page_infos {
184
183
  @extend .right-rounded-border;
185
184
  background-color: $sitemap-page-background-color;
186
- border-left: 1px solid $light-gray;
185
+ border-left: 1px solid var(--color-grey_very_light);
187
186
  display: none;
188
187
  justify-content: end;
189
188
  width: var(--sitemap-status-width);
@@ -191,8 +190,8 @@
191
190
  line-height: $sitemap-line-height;
192
191
 
193
192
  .page_status {
194
- margin: 0 $default-margin;
195
- padding: 0 $default-padding;
193
+ margin: 0 var(--spacing-1);
194
+ padding: 0 var(--spacing-1);
196
195
  white-space: nowrap;
197
196
  }
198
197
 
@@ -204,9 +203,9 @@
204
203
  .sitemap_right_tools {
205
204
  display: none;
206
205
  align-items: center;
207
- gap: $default-padding;
206
+ gap: var(--spacing-1);
208
207
  height: $sitemap-line-height;
209
- padding: 0 2 * $default-padding;
208
+ padding: 0 var(--spacing-2);
210
209
 
211
210
  @media screen and (min-width: $small-screen-break-point) {
212
211
  display: flex;
@@ -227,7 +226,7 @@
227
226
  }
228
227
 
229
228
  .page_status_and_name .page_status {
230
- margin-left: $default-margin;
229
+ margin-left: var(--spacing-1);
231
230
  margin-bottom: -1px;
232
231
 
233
232
  // The lock icon is a bit too high, so we need to adjust it
@@ -240,12 +239,12 @@
240
239
  display: inline-flex;
241
240
  justify-content: center;
242
241
  align-items: center;
243
- gap: $default-margin;
242
+ gap: var(--spacing-1);
244
243
  }
245
244
 
246
245
  #page_filter_result {
247
246
  display: none;
248
- margin-left: 2 * $default-margin;
247
+ margin-left: var(--spacing-2);
249
248
  }
250
249
 
251
250
  .alchemy-dialog {
@@ -255,7 +254,7 @@
255
254
 
256
255
  #sitemap {
257
256
  margin: 0;
258
- padding: 0 24px 8px 8px;
257
+ padding: 0 var(--spacing-6) var(--spacing-2) var(--spacing-2);
259
258
 
260
259
  .page_icon {
261
260
  cursor: default;
@@ -1,20 +1,20 @@
1
1
  table {
2
2
  border-style: none;
3
- border-spacing: 0 $default-padding;
3
+ border-spacing: 0 var(--spacing-1);
4
4
  padding: 0;
5
5
  font-size: inherit;
6
6
  width: 100%;
7
7
 
8
8
  &.list .tools {
9
9
  background-color: transparent;
10
- padding: 2 * $default-padding;
10
+ padding: var(--spacing-2);
11
11
  }
12
12
  }
13
13
 
14
14
  .table {
15
15
  display: flex;
16
16
  flex-direction: column;
17
- row-gap: $default-padding;
17
+ row-gap: var(--spacing-1);
18
18
 
19
19
  .row,
20
20
  header {
@@ -34,10 +34,10 @@ table {
34
34
  .list td,
35
35
  .list th,
36
36
  .table .col {
37
- padding: 2 * $default-padding 3 * $default-padding;
37
+ padding: var(--spacing-2) var(--spacing-3);
38
38
  vertical-align: top;
39
39
  line-height: 22px;
40
- border-right: 1px solid $medium-gray;
40
+ border-right: 1px solid var(--color-grey_light);
41
41
  transition: background-color $transition-duration;
42
42
 
43
43
  &:last-child {
@@ -59,7 +59,7 @@ table {
59
59
  position: relative;
60
60
 
61
61
  &.icon {
62
- border-bottom: 1px solid $medium-gray;
62
+ border-bottom: 1px solid var(--color-grey_light);
63
63
  }
64
64
  }
65
65
 
@@ -68,7 +68,7 @@ th,
68
68
  white-space: nowrap;
69
69
  text-align: left;
70
70
  vertical-align: top;
71
- border-bottom: 1px solid $medium-gray;
71
+ border-bottom: 1px solid var(--color-grey_light);
72
72
  font-weight: bold;
73
73
  }
74
74
 
@@ -84,7 +84,7 @@ tr.odd td,
84
84
 
85
85
  .list tr .tools,
86
86
  .table .row .col.tools {
87
- padding: $default-padding 2 * $default-padding;
87
+ padding: var(--spacing-1) var(--spacing-2);
88
88
  white-space: nowrap;
89
89
  @extend .disable-user-select;
90
90
  background-color: transparent;
@@ -99,7 +99,7 @@ tr.odd td,
99
99
  }
100
100
 
101
101
  td.heading {
102
- padding: $default-padding 0;
102
+ padding: var(--spacing-1) 0;
103
103
  font-weight: bold;
104
104
  text-decoration: underline;
105
105
  }
@@ -107,7 +107,7 @@ td.heading {
107
107
  .list .tools alchemy-icon,
108
108
  .list td.icon alchemy-icon {
109
109
  @extend .disable-user-select;
110
- margin: 2px 0;
110
+ margin: var(--spacing-0) 0;
111
111
  }
112
112
 
113
113
  .list tr:hover td,
@@ -142,13 +142,16 @@ td,
142
142
  width: 80px;
143
143
  }
144
144
 
145
- &.date,
146
- &.datetime {
145
+ &.date {
147
146
  width: 150px;
148
147
  }
149
148
 
149
+ &.datetime {
150
+ width: 180px;
151
+ }
152
+
150
153
  &.login {
151
- width: 100px;
154
+ width: 150px;
152
155
  }
153
156
 
154
157
  &.email {
@@ -177,20 +180,17 @@ td,
177
180
  white-space: nowrap;
178
181
 
179
182
  .page_status {
180
- margin: 0 $default-margin;
183
+ margin: 0 var(--spacing-1);
181
184
  }
182
185
  }
183
186
 
184
187
  &.tags {
185
- width: 180px;
188
+ width: 220px;
189
+ padding: var(--spacing-1) var(--spacing-3);
186
190
 
187
191
  .tag {
188
- margin: 0;
189
- padding: 0 2 + $default-padding;
190
-
191
- &:before {
192
- padding-right: $default-padding;
193
- }
192
+ margin: var(--spacing-1) 0;
193
+ padding: var(--spacing-1) var(--spacing-2);
194
194
  }
195
195
  }
196
196
  }
@@ -199,7 +199,11 @@ th.count,
199
199
  td.count {
200
200
  width: 10%;
201
201
  text-align: right;
202
- padding-right: 16px;
202
+ padding-right: var(--spacing-4);
203
+ }
204
+
205
+ td.taggings_types {
206
+ width: 15%;
203
207
  }
204
208
 
205
209
  .list .login_status {
@@ -0,0 +1,158 @@
1
+ .tag-list {
2
+ display: flex;
3
+ flex-direction: column;
4
+ height: 100%;
5
+
6
+ .alchemy-dialog-body & {
7
+ max-height: 316px;
8
+ }
9
+
10
+ alchemy-list-filter {
11
+ margin: 0;
12
+
13
+ input {
14
+ background-color: hsla(0deg, 0%, 100%, 0.25);
15
+
16
+ &:focus {
17
+ background-color: var(--color-white);
18
+ }
19
+ }
20
+ }
21
+
22
+ ul {
23
+ list-style-type: none;
24
+ padding: 0;
25
+ margin: 0;
26
+ height: 100%;
27
+ overflow-x: hidden;
28
+ overflow-y: auto;
29
+
30
+ li {
31
+ display: block;
32
+
33
+ &:first-child {
34
+ margin-top: 0;
35
+ }
36
+
37
+ a {
38
+ @include tag-base;
39
+
40
+ & {
41
+ display: flex;
42
+ text-decoration: none;
43
+ }
44
+ }
45
+
46
+ &:hover {
47
+ background-color: var(--color-blue_very_light);
48
+ }
49
+
50
+ &.active {
51
+ a {
52
+ background-color: var(--color-grey_dark);
53
+ color: var(--color-grey_very_light);
54
+
55
+ &:before {
56
+ content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="rgba(255, 255, 255, 0.95)"><path d="M10.9042 2.10025L20.8037 3.51446L22.2179 13.414L13.0255 22.6063C12.635 22.9969 12.0019 22.9969 11.6113 22.6063L1.71184 12.7069C1.32131 12.3163 1.32131 11.6832 1.71184 11.2926L10.9042 2.10025ZM11.6113 4.22157L3.83316 11.9997L12.3184 20.485L20.0966 12.7069L19.036 5.28223L11.6113 4.22157ZM13.7327 10.5855C12.9516 9.80448 12.9516 8.53815 13.7327 7.7571C14.5137 6.97606 15.78 6.97606 16.5611 7.7571C17.3421 8.53815 17.3421 9.80448 16.5611 10.5855C15.78 11.3666 14.5137 11.3666 13.7327 10.5855Z"></path></svg>');
57
+ }
58
+ }
59
+ }
60
+ }
61
+ }
62
+ }
63
+
64
+ .tag {
65
+ pointer-events: none;
66
+ font-size: var(--font-size_small);
67
+ @include tag-base(
68
+ $margin: var(--spacing-0) 0,
69
+ $padding: var(--spacing-1) var(--spacing-2) var(--spacing-1)
70
+ );
71
+ }
72
+
73
+ .tags .list .tag {
74
+ padding: 0;
75
+ }
76
+
77
+ #assign_image_list {
78
+ .tag-list ul {
79
+ height: 316px;
80
+ }
81
+
82
+ &.filtered .tag-list ul {
83
+ height: 292px;
84
+ }
85
+ }
86
+
87
+ #assign_file_list {
88
+ .tag-list ul {
89
+ height: 396px;
90
+ }
91
+
92
+ &.filtered .tag-list ul {
93
+ height: 372px;
94
+ }
95
+ }
96
+
97
+ #overlay_file_list.with_tag_list {
98
+ padding-right: 234px;
99
+ }
100
+
101
+ #tags_tag_list {
102
+ alchemy-list-filter {
103
+ margin-top: 0;
104
+ }
105
+
106
+ ul.tags {
107
+ max-height: 10em;
108
+ padding: 1px;
109
+ margin: 0;
110
+ margin-top: var(--spacing-0);
111
+ overflow: auto;
112
+ text-align: left;
113
+ list-style-type: none;
114
+
115
+ li {
116
+ background-color: var(--color-grey_light);
117
+ padding: var(--spacing-1);
118
+ margin: 0 0 var(--spacing-1) 0;
119
+ position: relative;
120
+ border-radius: $default-border-radius;
121
+
122
+ &.odd {
123
+ background-color: #eaf3f9;
124
+ }
125
+
126
+ input {
127
+ position: absolute;
128
+ top: 3px;
129
+ left: var(--spacing-1);
130
+ }
131
+
132
+ label {
133
+ display: inline-block;
134
+ margin-left: 2em;
135
+ line-height: 1.6em;
136
+ }
137
+ }
138
+ }
139
+ }
140
+
141
+ .tag_list,
142
+ .autocomplete_tag_list {
143
+ .select2-container.select2-container-multi {
144
+ .select2-search-choice {
145
+ padding: var(--spacing-1) 22px;
146
+ background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="hsla(224deg, 23%, 26%, 0.75)"><path d="M10.9042 2.10025L20.8037 3.51446L22.2179 13.414L13.0255 22.6063C12.635 22.9969 12.0019 22.9969 11.6113 22.6063L1.71184 12.7069C1.32131 12.3163 1.32131 11.6832 1.71184 11.2926L10.9042 2.10025ZM11.6113 4.22157L3.83316 11.9997L12.3184 20.485L20.0966 12.7069L19.036 5.28223L11.6113 4.22157ZM13.7327 10.5855C12.9516 9.80448 12.9516 8.53815 13.7327 7.7571C14.5137 6.97606 15.78 6.97606 16.5611 7.7571C17.3421 8.53815 17.3421 9.80448 16.5611 10.5855C15.78 11.3666 14.5137 11.3666 13.7327 10.5855Z"></path></svg>');
147
+ background-repeat: no-repeat;
148
+ background-position: 6px;
149
+ background-color: var(--color-grey_light);
150
+ background-size: 1rem;
151
+
152
+ > div {
153
+ position: relative;
154
+ top: -1px;
155
+ }
156
+ }
157
+ }
158
+ }