alchemy_cms 8.0.14 → 8.1.0

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.
Files changed (288) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +14 -10
  3. data/app/assets/builds/alchemy/admin.css +1 -1
  4. data/app/assets/builds/alchemy/dark-theme.css +1 -1
  5. data/app/assets/builds/alchemy/light-theme.css +1 -1
  6. data/app/assets/builds/alchemy/theme.css +1 -1
  7. data/app/{views/alchemy/admin/elements/_element.html.erb → components/alchemy/admin/element_editor.html.erb} +34 -29
  8. data/app/components/alchemy/admin/element_editor.rb +115 -0
  9. data/app/components/alchemy/admin/element_select.rb +12 -9
  10. data/app/components/alchemy/admin/ingredient_editor.rb +54 -0
  11. data/app/components/alchemy/admin/list_filter.rb +16 -5
  12. data/app/components/alchemy/admin/page_node.html.erb +214 -0
  13. data/app/components/alchemy/admin/page_node.rb +70 -0
  14. data/app/components/alchemy/admin/picture_thumbnail.rb +36 -0
  15. data/app/components/alchemy/admin/publish_page_button.html.erb +15 -0
  16. data/app/components/alchemy/admin/publish_page_button.rb +54 -0
  17. data/app/{helpers/alchemy/admin/tags_helper.rb → components/alchemy/admin/tags_list.rb} +19 -11
  18. data/app/components/alchemy/admin/toolbar_button.rb +17 -13
  19. data/app/components/alchemy/ingredients/audio_editor.rb +8 -0
  20. data/app/components/alchemy/ingredients/base_editor.rb +222 -0
  21. data/app/components/alchemy/ingredients/boolean_editor.rb +21 -0
  22. data/app/components/alchemy/ingredients/color_editor.rb +80 -0
  23. data/app/components/alchemy/ingredients/color_view.rb +13 -0
  24. data/app/components/alchemy/ingredients/datetime_editor.rb +28 -0
  25. data/app/components/alchemy/ingredients/file_editor.rb +69 -0
  26. data/app/components/alchemy/ingredients/headline_editor.rb +88 -0
  27. data/app/components/alchemy/ingredients/html_editor.rb +11 -0
  28. data/app/components/alchemy/ingredients/link_editor.rb +29 -0
  29. data/app/components/alchemy/ingredients/node_editor.rb +23 -0
  30. data/app/components/alchemy/ingredients/number_editor.rb +28 -0
  31. data/app/components/alchemy/ingredients/page_editor.rb +19 -0
  32. data/app/components/alchemy/ingredients/picture_editor.rb +81 -0
  33. data/app/components/alchemy/ingredients/richtext_editor.rb +31 -0
  34. data/app/components/alchemy/ingredients/select_editor.rb +37 -0
  35. data/app/components/alchemy/ingredients/select_view.rb +7 -0
  36. data/app/components/alchemy/ingredients/text_editor.rb +41 -0
  37. data/app/components/alchemy/ingredients/video_editor.rb +8 -0
  38. data/app/controllers/alchemy/admin/attachments_controller.rb +8 -15
  39. data/app/controllers/alchemy/admin/base_controller.rb +7 -18
  40. data/app/controllers/alchemy/admin/clipboard_controller.rb +15 -11
  41. data/app/controllers/alchemy/admin/dashboard_controller.rb +2 -2
  42. data/app/controllers/alchemy/admin/elements_controller.rb +34 -32
  43. data/app/controllers/alchemy/admin/ingredients_controller.rb +1 -0
  44. data/app/controllers/alchemy/admin/languages_controller.rb +0 -3
  45. data/app/controllers/alchemy/admin/layoutpages_controller.rb +2 -1
  46. data/app/controllers/alchemy/admin/legacy_page_urls_controller.rb +1 -1
  47. data/app/controllers/alchemy/admin/nodes_controller.rb +24 -1
  48. data/app/controllers/alchemy/admin/pages_controller.rb +36 -42
  49. data/app/controllers/alchemy/admin/pictures_controller.rb +4 -28
  50. data/app/controllers/alchemy/admin/resources_controller.rb +1 -1
  51. data/app/controllers/alchemy/api/ingredients_controller.rb +1 -1
  52. data/app/controllers/alchemy/api/pages_controller.rb +5 -3
  53. data/app/controllers/alchemy/base_controller.rb +6 -6
  54. data/app/controllers/alchemy/pages_controller.rb +12 -6
  55. data/app/controllers/concerns/alchemy/admin/archive_overlay.rb +0 -1
  56. data/app/controllers/concerns/alchemy/admin/clipboard.rb +57 -0
  57. data/app/controllers/concerns/alchemy/admin/uploader_responses.rb +2 -2
  58. data/app/controllers/concerns/alchemy/site_redirects.rb +1 -1
  59. data/app/decorators/alchemy/ingredient_editor.rb +37 -4
  60. data/app/helpers/alchemy/admin/base_helper.rb +10 -6
  61. data/app/helpers/alchemy/admin/ingredients_helper.rb +6 -3
  62. data/app/helpers/alchemy/base_helper.rb +1 -1
  63. data/app/helpers/alchemy/pages_helper.rb +1 -1
  64. data/app/javascript/alchemy_admin/components/action.js +5 -1
  65. data/app/javascript/alchemy_admin/components/color_select.js +73 -0
  66. data/app/javascript/alchemy_admin/components/element_editor/delete_element_button.js +11 -3
  67. data/app/javascript/alchemy_admin/components/element_editor/publish_element_button.js +7 -2
  68. data/app/javascript/alchemy_admin/components/element_editor.js +11 -12
  69. data/app/javascript/alchemy_admin/components/element_select.js +39 -17
  70. data/app/javascript/alchemy_admin/components/elements_window.js +0 -2
  71. data/app/javascript/alchemy_admin/components/file_editor.js +26 -0
  72. data/app/javascript/alchemy_admin/components/index.js +9 -0
  73. data/app/javascript/alchemy_admin/components/list_filter.js +57 -8
  74. data/app/javascript/alchemy_admin/components/message.js +9 -3
  75. data/app/javascript/alchemy_admin/components/page_node.js +119 -0
  76. data/app/javascript/alchemy_admin/{page_publication_fields.js → components/page_publication_fields.js} +9 -8
  77. data/app/javascript/alchemy_admin/{picture_editors.js → components/picture_editor.js} +30 -45
  78. data/app/javascript/alchemy_admin/components/picture_thumbnail.js +107 -0
  79. data/app/javascript/alchemy_admin/components/publish_page_button.js +41 -0
  80. data/app/javascript/alchemy_admin/components/remote_select.js +0 -11
  81. data/app/javascript/alchemy_admin/components/select.js +3 -1
  82. data/app/javascript/alchemy_admin/components/sitemap.js +210 -0
  83. data/app/javascript/alchemy_admin/{sortable_elements.js → components/sortable_elements.js} +22 -25
  84. data/app/javascript/alchemy_admin/components/tinymce.js +10 -5
  85. data/app/javascript/alchemy_admin/components/uploader.js +30 -0
  86. data/app/javascript/alchemy_admin/image_overlay.js +0 -2
  87. data/app/javascript/alchemy_admin/initializer.js +0 -3
  88. data/app/javascript/alchemy_admin/link_dialog.js +1 -6
  89. data/app/javascript/alchemy_admin/templates/compiled.js +1 -1
  90. data/app/javascript/alchemy_admin/utils/ajax.js +15 -3
  91. data/app/javascript/alchemy_admin.js +0 -6
  92. data/app/models/alchemy/attachment.rb +4 -36
  93. data/app/models/alchemy/element/definitions.rb +1 -2
  94. data/app/models/alchemy/element/element_ingredients.rb +6 -2
  95. data/app/models/alchemy/element.rb +54 -13
  96. data/app/models/alchemy/element_definition.rb +4 -1
  97. data/app/models/alchemy/elements_repository.rb +6 -0
  98. data/app/models/alchemy/folded_page.rb +2 -2
  99. data/app/models/alchemy/ingredient.rb +38 -1
  100. data/app/models/alchemy/ingredient_definition.rb +4 -1
  101. data/app/models/alchemy/ingredient_validator.rb +6 -2
  102. data/app/models/alchemy/ingredients/color.rb +10 -0
  103. data/app/models/alchemy/ingredients/headline.rb +2 -17
  104. data/app/models/alchemy/ingredients/picture.rb +4 -4
  105. data/app/models/alchemy/ingredients/select.rb +19 -0
  106. data/app/models/alchemy/language/code.rb +0 -1
  107. data/app/models/alchemy/node.rb +28 -1
  108. data/app/models/alchemy/page/page_naming.rb +0 -7
  109. data/app/models/alchemy/page/page_natures.rb +7 -3
  110. data/app/models/alchemy/page/page_scopes.rb +13 -1
  111. data/app/models/alchemy/page/publisher.rb +14 -2
  112. data/app/models/alchemy/page.rb +102 -23
  113. data/app/models/alchemy/page_definition.rb +4 -1
  114. data/app/models/alchemy/page_version.rb +22 -6
  115. data/app/models/alchemy/picture.rb +10 -11
  116. data/app/models/alchemy/picture_variant.rb +1 -3
  117. data/app/models/alchemy/resource.rb +1 -1
  118. data/app/models/alchemy/storage_adapter/active_storage.rb +14 -2
  119. data/app/models/alchemy/storage_adapter/dragonfly.rb +12 -0
  120. data/app/models/alchemy/storage_adapter.rb +2 -0
  121. data/app/models/concerns/alchemy/picture_thumbnails.rb +4 -4
  122. data/app/models/concerns/alchemy/publishable.rb +54 -0
  123. data/app/models/concerns/alchemy/relatable_resource.rb +4 -14
  124. data/app/serializers/alchemy/page_tree_serializer.rb +11 -31
  125. data/app/services/alchemy/copy_page.rb +17 -0
  126. data/app/services/alchemy/duplicate_element.rb +1 -1
  127. data/app/services/alchemy/page_tree_preloader.rb +105 -0
  128. data/app/stylesheets/alchemy/_extends.scss +3 -9
  129. data/app/stylesheets/alchemy/_mixins.scss +3 -1
  130. data/app/stylesheets/alchemy/_themes.scss +19 -10
  131. data/app/stylesheets/alchemy/admin/archive.scss +1 -0
  132. data/app/stylesheets/alchemy/admin/base.scss +5 -2
  133. data/app/stylesheets/alchemy/admin/buttons.scss +3 -3
  134. data/app/stylesheets/alchemy/admin/element-select.scss +18 -0
  135. data/app/stylesheets/alchemy/admin/elements.scss +123 -23
  136. data/app/stylesheets/alchemy/admin/errors.scss +1 -1
  137. data/app/stylesheets/alchemy/admin/flash.scss +6 -4
  138. data/app/stylesheets/alchemy/admin/images.scss +9 -5
  139. data/app/stylesheets/alchemy/admin/list_filter.scss +4 -4
  140. data/app/stylesheets/alchemy/admin/navigation.scss +1 -1
  141. data/app/stylesheets/alchemy/admin/notices.scss +1 -11
  142. data/app/stylesheets/alchemy/admin/selects.scss +36 -21
  143. data/app/stylesheets/alchemy/admin/shoelace.scss +14 -1
  144. data/app/stylesheets/alchemy/admin/sitemap.scss +11 -3
  145. data/app/stylesheets/alchemy/admin/tags.scss +3 -1
  146. data/app/stylesheets/alchemy/admin/toolbar.scss +1 -1
  147. data/app/views/alchemy/_edit_mode.html.erb +1 -1
  148. data/app/views/alchemy/_menubar.html.erb +1 -1
  149. data/app/views/alchemy/admin/attachments/_archive_overlay.html.erb +35 -31
  150. data/app/views/alchemy/admin/attachments/_files_list.html.erb +1 -1
  151. data/app/views/alchemy/admin/attachments/_library_sidebar.html.erb +6 -0
  152. data/app/views/alchemy/admin/attachments/_overlay_file_list.html.erb +1 -1
  153. data/app/views/alchemy/admin/attachments/_replace_button.html.erb +1 -8
  154. data/app/views/alchemy/admin/attachments/_sorting_select.html.erb +13 -0
  155. data/app/views/alchemy/admin/attachments/_tag_list.html.erb +2 -3
  156. data/app/views/alchemy/admin/attachments/index.html.erb +5 -11
  157. data/app/views/alchemy/admin/attachments/show.html.erb +1 -1
  158. data/app/views/alchemy/admin/clipboard/_button.html.erb +1 -0
  159. data/app/views/alchemy/admin/clipboard/index.html.erb +4 -5
  160. data/app/views/alchemy/admin/clipboard/insert.turbo_stream.erb +1 -1
  161. data/app/views/alchemy/admin/crop.html.erb +5 -7
  162. data/app/views/alchemy/admin/dashboard/widgets/_locked_pages.html.erb +1 -1
  163. data/app/views/alchemy/admin/elements/_add_nested_element_form.html.erb +6 -6
  164. data/app/views/alchemy/admin/elements/_fixed_element.html.erb +1 -1
  165. data/app/views/alchemy/admin/elements/_footer.html.erb +7 -1
  166. data/app/views/alchemy/admin/elements/_header.html.erb +5 -5
  167. data/app/views/alchemy/admin/elements/_toolbar.html.erb +33 -8
  168. data/app/views/alchemy/admin/elements/create.turbo_stream.erb +10 -10
  169. data/app/views/alchemy/admin/elements/index.html.erb +29 -16
  170. data/app/views/alchemy/admin/elements/new.html.erb +2 -2
  171. data/app/views/alchemy/admin/ingredients/update.turbo_stream.erb +3 -5
  172. data/app/views/alchemy/admin/leave.html.erb +1 -1
  173. data/app/views/alchemy/admin/nodes/_node.html.erb +19 -0
  174. data/app/views/alchemy/admin/nodes/edit.html.erb +1 -1
  175. data/app/views/alchemy/admin/nodes/index.html.erb +3 -1
  176. data/app/views/alchemy/admin/nodes/new.html.erb +14 -1
  177. data/app/views/alchemy/admin/pages/_current_page.html.erb +3 -1
  178. data/app/views/alchemy/admin/pages/_form.html.erb +21 -9
  179. data/app/views/alchemy/admin/pages/_page_status.html.erb +1 -1
  180. data/app/views/alchemy/admin/pages/_publication_fields.html.erb +28 -26
  181. data/app/views/alchemy/admin/pages/_table.html.erb +1 -8
  182. data/app/views/alchemy/admin/pages/_toolbar.html.erb +3 -6
  183. data/app/views/alchemy/admin/pages/edit.html.erb +5 -11
  184. data/app/views/alchemy/admin/pages/flush.turbo_stream.erb +2 -0
  185. data/app/views/alchemy/admin/pages/fold.turbo_stream.erb +5 -0
  186. data/app/views/alchemy/admin/pages/index.html.erb +5 -3
  187. data/app/views/alchemy/admin/pages/new.html.erb +2 -12
  188. data/app/views/alchemy/admin/pages/publish.turbo_stream.erb +12 -0
  189. data/app/views/alchemy/admin/pages/tree.html.erb +13 -0
  190. data/app/views/alchemy/admin/pages/update.turbo_stream.erb +5 -16
  191. data/app/views/alchemy/admin/partials/_flash_notices.html.erb +1 -1
  192. data/app/views/alchemy/admin/partials/{_remote_search_form.html.erb → _overlay_search_form.html.erb} +1 -2
  193. data/app/views/alchemy/admin/partials/_paste_from_clipboard_form.html.erb +12 -0
  194. data/app/views/alchemy/admin/pictures/_archive_overlay.html.erb +24 -21
  195. data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +18 -26
  196. data/app/views/alchemy/admin/pictures/_picture.html.erb +12 -16
  197. data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +3 -6
  198. data/app/views/alchemy/admin/pictures/_tag_list.html.erb +2 -3
  199. data/app/views/alchemy/admin/pictures/index.html.erb +0 -1
  200. data/app/views/alchemy/admin/pictures/update.turbo_stream.erb +1 -1
  201. data/app/views/alchemy/admin/resources/_resource_usage_info.html.erb +1 -1
  202. data/app/views/alchemy/admin/resources/_tag_list.html.erb +2 -3
  203. data/app/views/alchemy/admin/styleguide/index.html.erb +25 -20
  204. data/app/views/alchemy/admin/tags/edit.html.erb +1 -1
  205. data/app/views/alchemy/admin/tinymce/_setup.html.erb +2 -2
  206. data/app/views/alchemy/admin/uploader/_button.html.erb +1 -15
  207. data/app/views/alchemy/attachments/show.html.erb +1 -1
  208. data/app/views/alchemy/base/permission_denied.js.erb +1 -1
  209. data/app/views/alchemy/ingredients/shared/_anchor.html.erb +9 -7
  210. data/app/views/alchemy/ingredients/shared/_link_tools.html.erb +12 -5
  211. data/app/views/alchemy/ingredients/shared/_picture_tools.html.erb +10 -11
  212. data/app/views/alchemy/language_links/_spacer.html.erb +1 -1
  213. data/app/views/alchemy/messages_mailer/new.html.erb +1 -1
  214. data/app/views/alchemy/welcome.html.erb +1 -1
  215. data/config/locales/alchemy.en.yml +12 -3
  216. data/config/routes.rb +2 -2
  217. data/db/migrate/20230123112425_add_searchable_to_alchemy_pages.rb +1 -1
  218. data/db/migrate/20230505132743_add_indexes_to_alchemy_pictures.rb +1 -1
  219. data/db/migrate/20231113104432_create_page_mutexes.rb +1 -1
  220. data/db/migrate/20240314105244_create_alchemy_picture_descriptions.rb +1 -1
  221. data/db/migrate/20250626160259_add_unique_index_to_picture_descriptions.rb +1 -1
  222. data/db/migrate/20250905140323_add_created_at_index_to_pictures_and_attachments.rb +1 -1
  223. data/db/migrate/20251106150010_convert_select_value_for_multiple.rb +11 -0
  224. data/db/migrate/20260102121232_add_metadata_to_page_versions.rb +9 -0
  225. data/db/migrate/20260115164704_add_publication_timestamps_to_alchemy_elements.rb +30 -0
  226. data/db/migrate/20260115164705_add_index_to_element_publication_timestamps.rb +13 -0
  227. data/lib/alchemy/ability_helper.rb +1 -3
  228. data/lib/alchemy/auth_accessors.rb +51 -117
  229. data/lib/alchemy/configuration.rb +1 -2
  230. data/lib/alchemy/configurations/main.rb +63 -0
  231. data/lib/alchemy/controller_actions.rb +2 -3
  232. data/lib/alchemy/engine.rb +9 -12
  233. data/lib/alchemy/error_tracking/error_logger.rb +1 -1
  234. data/lib/alchemy/errors.rb +1 -1
  235. data/lib/alchemy/logger.rb +34 -4
  236. data/lib/alchemy/name_conversions.rb +0 -6
  237. data/lib/alchemy/seeder.rb +2 -2
  238. data/lib/alchemy/tasks/usage.rb +4 -4
  239. data/lib/alchemy/test_support/factories/page_version_factory.rb +3 -0
  240. data/lib/alchemy/test_support/having_picture_thumbnails_examples.rb +30 -0
  241. data/lib/alchemy/test_support/shared_ingredient_editor_examples.rb +26 -6
  242. data/lib/alchemy/test_support/shared_publishable_examples.rb +114 -0
  243. data/lib/alchemy/upgrader/eight_one.rb +56 -0
  244. data/lib/alchemy/upgrader.rb +9 -1
  245. data/lib/alchemy/version.rb +1 -1
  246. data/lib/alchemy.rb +1 -4
  247. data/lib/alchemy_cms.rb +0 -1
  248. data/lib/generators/alchemy/elements/templates/view.html.erb +3 -3
  249. data/lib/generators/alchemy/ingredient/ingredient_generator.rb +6 -8
  250. data/lib/generators/alchemy/ingredient/templates/editor_component.rb.tt +22 -0
  251. data/lib/generators/alchemy/page_layouts/templates/layout.html.erb +1 -1
  252. data/lib/generators/alchemy/site_layouts/templates/layout.html.erb +1 -1
  253. data/lib/tasks/alchemy/upgrade.rake +21 -7
  254. data/vendor/javascript/shoelace.min.js +713 -31
  255. data/vendor/javascript/tinymce.min.js +1 -1
  256. metadata +104 -86
  257. data/app/assets/builds/alchemy/alchemy_admin.min.js +0 -2
  258. data/app/assets/builds/alchemy/alchemy_admin.min.js.map +0 -1
  259. data/app/decorators/alchemy/element_editor.rb +0 -90
  260. data/app/helpers/alchemy/admin/pictures_helper.rb +0 -14
  261. data/app/javascript/alchemy_admin/file_editors.js +0 -28
  262. data/app/javascript/alchemy_admin/image_loader.js +0 -54
  263. data/app/javascript/alchemy_admin/page_sorter.js +0 -71
  264. data/app/javascript/alchemy_admin/sitemap.js +0 -154
  265. data/app/javascript/alchemy_admin/templates/page_folder.hbs +0 -3
  266. data/app/views/alchemy/admin/attachments/archive_overlay.js.erb +0 -4
  267. data/app/views/alchemy/admin/pages/_page.html.erb +0 -163
  268. data/app/views/alchemy/admin/pages/_sitemap.html.erb +0 -30
  269. data/app/views/alchemy/admin/pages/flush.js.erb +0 -2
  270. data/app/views/alchemy/admin/pictures/archive_overlay.js.erb +0 -5
  271. data/app/views/alchemy/admin/pictures/index.js.erb +0 -2
  272. data/app/views/alchemy/ingredients/_audio_editor.html.erb +0 -5
  273. data/app/views/alchemy/ingredients/_boolean_editor.html.erb +0 -11
  274. data/app/views/alchemy/ingredients/_datetime_editor.html.erb +0 -20
  275. data/app/views/alchemy/ingredients/_file_editor.html.erb +0 -52
  276. data/app/views/alchemy/ingredients/_headline_editor.html.erb +0 -44
  277. data/app/views/alchemy/ingredients/_html_editor.html.erb +0 -8
  278. data/app/views/alchemy/ingredients/_link_editor.html.erb +0 -30
  279. data/app/views/alchemy/ingredients/_node_editor.html.erb +0 -13
  280. data/app/views/alchemy/ingredients/_number_editor.html.erb +0 -24
  281. data/app/views/alchemy/ingredients/_page_editor.html.erb +0 -13
  282. data/app/views/alchemy/ingredients/_picture_editor.html.erb +0 -59
  283. data/app/views/alchemy/ingredients/_richtext_editor.html.erb +0 -15
  284. data/app/views/alchemy/ingredients/_select_editor.html.erb +0 -31
  285. data/app/views/alchemy/ingredients/_text_editor.html.erb +0 -29
  286. data/app/views/alchemy/ingredients/_video_editor.html.erb +0 -5
  287. data/lib/generators/alchemy/ingredient/templates/editor.html.erb +0 -14
  288. /data/{lib → app/models}/alchemy/permissions.rb +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alchemy_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.0.14
4
+ version: 8.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas von Deyen
@@ -20,180 +20,180 @@ dependencies:
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: '7.1'
23
+ version: '7.2'
24
24
  - - "<"
25
25
  - !ruby/object:Gem::Version
26
- version: '8.1'
26
+ version: '8.2'
27
27
  type: :runtime
28
28
  prerelease: false
29
29
  version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '7.1'
33
+ version: '7.2'
34
34
  - - "<"
35
35
  - !ruby/object:Gem::Version
36
- version: '8.1'
36
+ version: '8.2'
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: actionpack
39
39
  requirement: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: '7.1'
43
+ version: '7.2'
44
44
  - - "<"
45
45
  - !ruby/object:Gem::Version
46
- version: '8.1'
46
+ version: '8.2'
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: '7.1'
53
+ version: '7.2'
54
54
  - - "<"
55
55
  - !ruby/object:Gem::Version
56
- version: '8.1'
56
+ version: '8.2'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: actionview
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - ">="
62
62
  - !ruby/object:Gem::Version
63
- version: '7.1'
63
+ version: '7.2'
64
64
  - - "<"
65
65
  - !ruby/object:Gem::Version
66
- version: '8.1'
66
+ version: '8.2'
67
67
  type: :runtime
68
68
  prerelease: false
69
69
  version_requirements: !ruby/object:Gem::Requirement
70
70
  requirements:
71
71
  - - ">="
72
72
  - !ruby/object:Gem::Version
73
- version: '7.1'
73
+ version: '7.2'
74
74
  - - "<"
75
75
  - !ruby/object:Gem::Version
76
- version: '8.1'
76
+ version: '8.2'
77
77
  - !ruby/object:Gem::Dependency
78
78
  name: activejob
79
79
  requirement: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - ">="
82
82
  - !ruby/object:Gem::Version
83
- version: '7.1'
83
+ version: '7.2'
84
84
  - - "<"
85
85
  - !ruby/object:Gem::Version
86
- version: '8.1'
86
+ version: '8.2'
87
87
  type: :runtime
88
88
  prerelease: false
89
89
  version_requirements: !ruby/object:Gem::Requirement
90
90
  requirements:
91
91
  - - ">="
92
92
  - !ruby/object:Gem::Version
93
- version: '7.1'
93
+ version: '7.2'
94
94
  - - "<"
95
95
  - !ruby/object:Gem::Version
96
- version: '8.1'
96
+ version: '8.2'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: activemodel
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '7.1'
103
+ version: '7.2'
104
104
  - - "<"
105
105
  - !ruby/object:Gem::Version
106
- version: '8.1'
106
+ version: '8.2'
107
107
  type: :runtime
108
108
  prerelease: false
109
109
  version_requirements: !ruby/object:Gem::Requirement
110
110
  requirements:
111
111
  - - ">="
112
112
  - !ruby/object:Gem::Version
113
- version: '7.1'
113
+ version: '7.2'
114
114
  - - "<"
115
115
  - !ruby/object:Gem::Version
116
- version: '8.1'
116
+ version: '8.2'
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: activerecord
119
119
  requirement: !ruby/object:Gem::Requirement
120
120
  requirements:
121
121
  - - ">="
122
122
  - !ruby/object:Gem::Version
123
- version: '7.1'
123
+ version: '7.2'
124
124
  - - "<"
125
125
  - !ruby/object:Gem::Version
126
- version: '8.1'
126
+ version: '8.2'
127
127
  type: :runtime
128
128
  prerelease: false
129
129
  version_requirements: !ruby/object:Gem::Requirement
130
130
  requirements:
131
131
  - - ">="
132
132
  - !ruby/object:Gem::Version
133
- version: '7.1'
133
+ version: '7.2'
134
134
  - - "<"
135
135
  - !ruby/object:Gem::Version
136
- version: '8.1'
136
+ version: '8.2'
137
137
  - !ruby/object:Gem::Dependency
138
138
  name: activestorage
139
139
  requirement: !ruby/object:Gem::Requirement
140
140
  requirements:
141
141
  - - ">="
142
142
  - !ruby/object:Gem::Version
143
- version: '7.1'
143
+ version: '7.2'
144
144
  - - "<"
145
145
  - !ruby/object:Gem::Version
146
- version: '8.1'
146
+ version: '8.2'
147
147
  type: :runtime
148
148
  prerelease: false
149
149
  version_requirements: !ruby/object:Gem::Requirement
150
150
  requirements:
151
151
  - - ">="
152
152
  - !ruby/object:Gem::Version
153
- version: '7.1'
153
+ version: '7.2'
154
154
  - - "<"
155
155
  - !ruby/object:Gem::Version
156
- version: '8.1'
156
+ version: '8.2'
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: activesupport
159
159
  requirement: !ruby/object:Gem::Requirement
160
160
  requirements:
161
161
  - - ">="
162
162
  - !ruby/object:Gem::Version
163
- version: '7.1'
163
+ version: '7.2'
164
164
  - - "<"
165
165
  - !ruby/object:Gem::Version
166
- version: '8.1'
166
+ version: '8.2'
167
167
  type: :runtime
168
168
  prerelease: false
169
169
  version_requirements: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - ">="
172
172
  - !ruby/object:Gem::Version
173
- version: '7.1'
173
+ version: '7.2'
174
174
  - - "<"
175
175
  - !ruby/object:Gem::Version
176
- version: '8.1'
176
+ version: '8.2'
177
177
  - !ruby/object:Gem::Dependency
178
178
  name: railties
179
179
  requirement: !ruby/object:Gem::Requirement
180
180
  requirements:
181
181
  - - ">="
182
182
  - !ruby/object:Gem::Version
183
- version: '7.1'
183
+ version: '7.2'
184
184
  - - "<"
185
185
  - !ruby/object:Gem::Version
186
- version: '8.1'
186
+ version: '8.2'
187
187
  type: :runtime
188
188
  prerelease: false
189
189
  version_requirements: !ruby/object:Gem::Requirement
190
190
  requirements:
191
191
  - - ">="
192
192
  - !ruby/object:Gem::Version
193
- version: '7.1'
193
+ version: '7.2'
194
194
  - - "<"
195
195
  - !ruby/object:Gem::Version
196
- version: '8.1'
196
+ version: '8.2'
197
197
  - !ruby/object:Gem::Dependency
198
198
  name: active_model_serializers
199
199
  requirement: !ruby/object:Gem::Requirement
@@ -232,22 +232,22 @@ dependencies:
232
232
  name: awesome_nested_set
233
233
  requirement: !ruby/object:Gem::Requirement
234
234
  requirements:
235
- - - "~>"
236
- - !ruby/object:Gem::Version
237
- version: '3.1'
238
235
  - - ">="
239
236
  - !ruby/object:Gem::Version
240
- version: 3.7.0
237
+ version: 3.9.0
238
+ - - "<"
239
+ - !ruby/object:Gem::Version
240
+ version: '4.0'
241
241
  type: :runtime
242
242
  prerelease: false
243
243
  version_requirements: !ruby/object:Gem::Requirement
244
244
  requirements:
245
- - - "~>"
246
- - !ruby/object:Gem::Version
247
- version: '3.1'
248
245
  - - ">="
249
246
  - !ruby/object:Gem::Version
250
- version: 3.7.0
247
+ version: 3.9.0
248
+ - - "<"
249
+ - !ruby/object:Gem::Version
250
+ version: '4.0'
251
251
  - !ruby/object:Gem::Dependency
252
252
  name: cancancan
253
253
  requirement: !ruby/object:Gem::Requirement
@@ -612,14 +612,14 @@ dependencies:
612
612
  requirements:
613
613
  - - "~>"
614
614
  - !ruby/object:Gem::Version
615
- version: '6.0'
615
+ version: '7.0'
616
616
  type: :development
617
617
  prerelease: false
618
618
  version_requirements: !ruby/object:Gem::Requirement
619
619
  requirements:
620
620
  - - "~>"
621
621
  - !ruby/object:Gem::Version
622
- version: '6.0'
622
+ version: '7.0'
623
623
  - !ruby/object:Gem::Dependency
624
624
  name: timecop
625
625
  requirement: !ruby/object:Gem::Requirement
@@ -646,8 +646,6 @@ files:
646
646
  - app/assets/builds/alchemy/admin.css
647
647
  - app/assets/builds/alchemy/admin/page-select.css
648
648
  - app/assets/builds/alchemy/admin/print.css
649
- - app/assets/builds/alchemy/alchemy_admin.min.js
650
- - app/assets/builds/alchemy/alchemy_admin.min.js.map
651
649
  - app/assets/builds/alchemy/dark-theme.css
652
650
  - app/assets/builds/alchemy/light-theme.css
653
651
  - app/assets/builds/alchemy/preview.min.js
@@ -669,8 +667,11 @@ files:
669
667
  - app/assets/images/alchemy/icons-sprite.svg
670
668
  - app/assets/images/alchemy/missing-image.svg
671
669
  - app/components/alchemy/admin/attachment_select.rb
670
+ - app/components/alchemy/admin/element_editor.html.erb
671
+ - app/components/alchemy/admin/element_editor.rb
672
672
  - app/components/alchemy/admin/element_select.rb
673
673
  - app/components/alchemy/admin/icon.rb
674
+ - app/components/alchemy/admin/ingredient_editor.rb
674
675
  - app/components/alchemy/admin/link_dialog/anchor_tab.rb
675
676
  - app/components/alchemy/admin/link_dialog/base_tab.rb
676
677
  - app/components/alchemy/admin/link_dialog/external_tab.rb
@@ -681,8 +682,13 @@ files:
681
682
  - app/components/alchemy/admin/locale_select.rb
682
683
  - app/components/alchemy/admin/message.rb
683
684
  - app/components/alchemy/admin/node_select.rb
685
+ - app/components/alchemy/admin/page_node.html.erb
686
+ - app/components/alchemy/admin/page_node.rb
684
687
  - app/components/alchemy/admin/page_select.rb
685
688
  - app/components/alchemy/admin/picture_description_select.rb
689
+ - app/components/alchemy/admin/picture_thumbnail.rb
690
+ - app/components/alchemy/admin/publish_page_button.html.erb
691
+ - app/components/alchemy/admin/publish_page_button.rb
686
692
  - app/components/alchemy/admin/resource/action.rb
687
693
  - app/components/alchemy/admin/resource/applied_filter.rb
688
694
  - app/components/alchemy/admin/resource/cell.rb
@@ -692,23 +698,42 @@ files:
692
698
  - app/components/alchemy/admin/resource/select_filter.rb
693
699
  - app/components/alchemy/admin/resource/table.rb
694
700
  - app/components/alchemy/admin/tags_autocomplete.rb
701
+ - app/components/alchemy/admin/tags_list.rb
695
702
  - app/components/alchemy/admin/toolbar_button.rb
696
703
  - app/components/alchemy/admin/update_check.rb
704
+ - app/components/alchemy/ingredients/audio_editor.rb
697
705
  - app/components/alchemy/ingredients/audio_view.rb
706
+ - app/components/alchemy/ingredients/base_editor.rb
698
707
  - app/components/alchemy/ingredients/base_view.rb
708
+ - app/components/alchemy/ingredients/boolean_editor.rb
699
709
  - app/components/alchemy/ingredients/boolean_view.rb
710
+ - app/components/alchemy/ingredients/color_editor.rb
711
+ - app/components/alchemy/ingredients/color_view.rb
712
+ - app/components/alchemy/ingredients/datetime_editor.rb
700
713
  - app/components/alchemy/ingredients/datetime_view.rb
714
+ - app/components/alchemy/ingredients/file_editor.rb
701
715
  - app/components/alchemy/ingredients/file_view.rb
716
+ - app/components/alchemy/ingredients/headline_editor.rb
702
717
  - app/components/alchemy/ingredients/headline_view.rb
718
+ - app/components/alchemy/ingredients/html_editor.rb
703
719
  - app/components/alchemy/ingredients/html_view.rb
720
+ - app/components/alchemy/ingredients/link_editor.rb
704
721
  - app/components/alchemy/ingredients/link_view.rb
722
+ - app/components/alchemy/ingredients/node_editor.rb
705
723
  - app/components/alchemy/ingredients/node_view.rb
724
+ - app/components/alchemy/ingredients/number_editor.rb
706
725
  - app/components/alchemy/ingredients/number_view.rb
726
+ - app/components/alchemy/ingredients/page_editor.rb
707
727
  - app/components/alchemy/ingredients/page_view.rb
728
+ - app/components/alchemy/ingredients/picture_editor.rb
708
729
  - app/components/alchemy/ingredients/picture_view.rb
730
+ - app/components/alchemy/ingredients/richtext_editor.rb
709
731
  - app/components/alchemy/ingredients/richtext_view.rb
732
+ - app/components/alchemy/ingredients/select_editor.rb
710
733
  - app/components/alchemy/ingredients/select_view.rb
734
+ - app/components/alchemy/ingredients/text_editor.rb
711
735
  - app/components/alchemy/ingredients/text_view.rb
736
+ - app/components/alchemy/ingredients/video_editor.rb
712
737
  - app/components/alchemy/ingredients/video_view.rb
713
738
  - app/components/concerns/alchemy/ingredients/link_target.rb
714
739
  - app/controllers/alchemy/admin/attachments_controller.rb
@@ -740,6 +765,7 @@ files:
740
765
  - app/controllers/alchemy/messages_controller.rb
741
766
  - app/controllers/alchemy/pages_controller.rb
742
767
  - app/controllers/concerns/alchemy/admin/archive_overlay.rb
768
+ - app/controllers/concerns/alchemy/admin/clipboard.rb
743
769
  - app/controllers/concerns/alchemy/admin/crop_action.rb
744
770
  - app/controllers/concerns/alchemy/admin/current_language.rb
745
771
  - app/controllers/concerns/alchemy/admin/picture_descriptions_form_helper.rb
@@ -747,7 +773,6 @@ files:
747
773
  - app/controllers/concerns/alchemy/admin/uploader_responses.rb
748
774
  - app/controllers/concerns/alchemy/legacy_page_redirects.rb
749
775
  - app/controllers/concerns/alchemy/site_redirects.rb
750
- - app/decorators/alchemy/element_editor.rb
751
776
  - app/decorators/alchemy/ingredient_editor.rb
752
777
  - app/helpers/alchemy/admin/attachments_helper.rb
753
778
  - app/helpers/alchemy/admin/base_helper.rb
@@ -755,8 +780,6 @@ files:
755
780
  - app/helpers/alchemy/admin/ingredients_helper.rb
756
781
  - app/helpers/alchemy/admin/navigation_helper.rb
757
782
  - app/helpers/alchemy/admin/pages_helper.rb
758
- - app/helpers/alchemy/admin/pictures_helper.rb
759
- - app/helpers/alchemy/admin/tags_helper.rb
760
783
  - app/helpers/alchemy/base_helper.rb
761
784
  - app/helpers/alchemy/elements_block_helper.rb
762
785
  - app/helpers/alchemy/elements_helper.rb
@@ -771,6 +794,7 @@ files:
771
794
  - app/javascript/alchemy_admin/components/button.js
772
795
  - app/javascript/alchemy_admin/components/char_counter.js
773
796
  - app/javascript/alchemy_admin/components/clipboard_button.js
797
+ - app/javascript/alchemy_admin/components/color_select.js
774
798
  - app/javascript/alchemy_admin/components/datepicker.js
775
799
  - app/javascript/alchemy_admin/components/dialog_link.js
776
800
  - app/javascript/alchemy_admin/components/dom_id_select.js
@@ -780,6 +804,7 @@ files:
780
804
  - app/javascript/alchemy_admin/components/element_select.js
781
805
  - app/javascript/alchemy_admin/components/elements_window.js
782
806
  - app/javascript/alchemy_admin/components/elements_window_handle.js
807
+ - app/javascript/alchemy_admin/components/file_editor.js
783
808
  - app/javascript/alchemy_admin/components/growl.js
784
809
  - app/javascript/alchemy_admin/components/icon.js
785
810
  - app/javascript/alchemy_admin/components/index.js
@@ -791,11 +816,18 @@ files:
791
816
  - app/javascript/alchemy_admin/components/message.js
792
817
  - app/javascript/alchemy_admin/components/node_select.js
793
818
  - app/javascript/alchemy_admin/components/overlay.js
819
+ - app/javascript/alchemy_admin/components/page_node.js
820
+ - app/javascript/alchemy_admin/components/page_publication_fields.js
794
821
  - app/javascript/alchemy_admin/components/page_select.js
795
822
  - app/javascript/alchemy_admin/components/picture_description_select.js
823
+ - app/javascript/alchemy_admin/components/picture_editor.js
824
+ - app/javascript/alchemy_admin/components/picture_thumbnail.js
796
825
  - app/javascript/alchemy_admin/components/preview_window.js
826
+ - app/javascript/alchemy_admin/components/publish_page_button.js
797
827
  - app/javascript/alchemy_admin/components/remote_select.js
798
828
  - app/javascript/alchemy_admin/components/select.js
829
+ - app/javascript/alchemy_admin/components/sitemap.js
830
+ - app/javascript/alchemy_admin/components/sortable_elements.js
799
831
  - app/javascript/alchemy_admin/components/spinner.js
800
832
  - app/javascript/alchemy_admin/components/tags_autocomplete.js
801
833
  - app/javascript/alchemy_admin/components/tinymce.js
@@ -806,30 +838,22 @@ files:
806
838
  - app/javascript/alchemy_admin/confirm_dialog.js
807
839
  - app/javascript/alchemy_admin/dialog.js
808
840
  - app/javascript/alchemy_admin/dirty.js
809
- - app/javascript/alchemy_admin/file_editors.js
810
841
  - app/javascript/alchemy_admin/fixed_elements.js
811
842
  - app/javascript/alchemy_admin/growler.js
812
843
  - app/javascript/alchemy_admin/hotkeys.js
813
844
  - app/javascript/alchemy_admin/i18n.js
814
845
  - app/javascript/alchemy_admin/image_cropper.js
815
- - app/javascript/alchemy_admin/image_loader.js
816
846
  - app/javascript/alchemy_admin/image_overlay.js
817
847
  - app/javascript/alchemy_admin/ingredient_anchor_link.js
818
848
  - app/javascript/alchemy_admin/initializer.js
819
849
  - app/javascript/alchemy_admin/link_dialog.js
820
850
  - app/javascript/alchemy_admin/node_tree.js
821
- - app/javascript/alchemy_admin/page_publication_fields.js
822
- - app/javascript/alchemy_admin/page_sorter.js
823
- - app/javascript/alchemy_admin/picture_editors.js
824
851
  - app/javascript/alchemy_admin/picture_selector.js
825
852
  - app/javascript/alchemy_admin/please_wait_overlay.js
826
853
  - app/javascript/alchemy_admin/shoelace_theme.js
827
- - app/javascript/alchemy_admin/sitemap.js
828
- - app/javascript/alchemy_admin/sortable_elements.js
829
854
  - app/javascript/alchemy_admin/spinner.js
830
855
  - app/javascript/alchemy_admin/templates/compiled.js
831
856
  - app/javascript/alchemy_admin/templates/node_folder.hbs
832
- - app/javascript/alchemy_admin/templates/page_folder.hbs
833
857
  - app/javascript/alchemy_admin/utils/ajax.js
834
858
  - app/javascript/alchemy_admin/utils/debounce.js
835
859
  - app/javascript/alchemy_admin/utils/dom_helpers.js
@@ -869,6 +893,7 @@ files:
869
893
  - app/models/alchemy/ingredient_validator.rb
870
894
  - app/models/alchemy/ingredients/audio.rb
871
895
  - app/models/alchemy/ingredients/boolean.rb
896
+ - app/models/alchemy/ingredients/color.rb
872
897
  - app/models/alchemy/ingredients/datetime.rb
873
898
  - app/models/alchemy/ingredients/file.rb
874
899
  - app/models/alchemy/ingredients/headline.rb
@@ -899,6 +924,7 @@ files:
899
924
  - app/models/alchemy/page_definition.rb
900
925
  - app/models/alchemy/page_mutex.rb
901
926
  - app/models/alchemy/page_version.rb
927
+ - app/models/alchemy/permissions.rb
902
928
  - app/models/alchemy/picture.rb
903
929
  - app/models/alchemy/picture_description.rb
904
930
  - app/models/alchemy/picture_thumb.rb
@@ -923,6 +949,7 @@ files:
923
949
  - app/models/alchemy/tag.rb
924
950
  - app/models/concerns/alchemy/dom_ids.rb
925
951
  - app/models/concerns/alchemy/picture_thumbnails.rb
952
+ - app/models/concerns/alchemy/publishable.rb
926
953
  - app/models/concerns/alchemy/relatable_resource.rb
927
954
  - app/models/concerns/alchemy/touch_elements.rb
928
955
  - app/serializers/alchemy/attachment_serializer.rb
@@ -940,6 +967,7 @@ files:
940
967
  - app/services/alchemy/delete_elements.rb
941
968
  - app/services/alchemy/dragonfly_to_image_processing.rb
942
969
  - app/services/alchemy/duplicate_element.rb
970
+ - app/services/alchemy/page_tree_preloader.rb
943
971
  - app/services/alchemy/tag_validations.rb
944
972
  - app/services/alchemy/update_checker.rb
945
973
  - app/services/alchemy/update_checks/alchemy_app.rb
@@ -1013,10 +1041,11 @@ files:
1013
1041
  - app/views/alchemy/admin/attachments/_archive_overlay.html.erb
1014
1042
  - app/views/alchemy/admin/attachments/_file_to_assign.html.erb
1015
1043
  - app/views/alchemy/admin/attachments/_files_list.html.erb
1044
+ - app/views/alchemy/admin/attachments/_library_sidebar.html.erb
1016
1045
  - app/views/alchemy/admin/attachments/_overlay_file_list.html.erb
1017
1046
  - app/views/alchemy/admin/attachments/_replace_button.html.erb
1047
+ - app/views/alchemy/admin/attachments/_sorting_select.html.erb
1018
1048
  - app/views/alchemy/admin/attachments/_tag_list.html.erb
1019
- - app/views/alchemy/admin/attachments/archive_overlay.js.erb
1020
1049
  - app/views/alchemy/admin/attachments/assign.js.erb
1021
1050
  - app/views/alchemy/admin/attachments/edit.html.erb
1022
1051
  - app/views/alchemy/admin/attachments/index.html.erb
@@ -1040,7 +1069,6 @@ files:
1040
1069
  - app/views/alchemy/admin/dashboard/widgets/_sites.html.erb
1041
1070
  - app/views/alchemy/admin/dashboard/widgets/_users.html.erb
1042
1071
  - app/views/alchemy/admin/elements/_add_nested_element_form.html.erb
1043
- - app/views/alchemy/admin/elements/_element.html.erb
1044
1072
  - app/views/alchemy/admin/elements/_fixed_element.html.erb
1045
1073
  - app/views/alchemy/admin/elements/_footer.html.erb
1046
1074
  - app/views/alchemy/admin/elements/_form.html.erb
@@ -1093,29 +1121,31 @@ files:
1093
1121
  - app/views/alchemy/admin/pages/_legacy_urls.html.erb
1094
1122
  - app/views/alchemy/admin/pages/_locked_page.html.erb
1095
1123
  - app/views/alchemy/admin/pages/_new_page_form.html.erb
1096
- - app/views/alchemy/admin/pages/_page.html.erb
1097
1124
  - app/views/alchemy/admin/pages/_page_infos.html.erb
1098
1125
  - app/views/alchemy/admin/pages/_page_layout_filter.html.erb
1099
1126
  - app/views/alchemy/admin/pages/_page_status.html.erb
1100
1127
  - app/views/alchemy/admin/pages/_publication_fields.html.erb
1101
- - app/views/alchemy/admin/pages/_sitemap.html.erb
1102
1128
  - app/views/alchemy/admin/pages/_table.html.erb
1103
1129
  - app/views/alchemy/admin/pages/_toolbar.html.erb
1104
1130
  - app/views/alchemy/admin/pages/configure.html.erb
1105
1131
  - app/views/alchemy/admin/pages/edit.html.erb
1106
- - app/views/alchemy/admin/pages/flush.js.erb
1132
+ - app/views/alchemy/admin/pages/flush.turbo_stream.erb
1133
+ - app/views/alchemy/admin/pages/fold.turbo_stream.erb
1107
1134
  - app/views/alchemy/admin/pages/index.html.erb
1108
1135
  - app/views/alchemy/admin/pages/info.html.erb
1109
1136
  - app/views/alchemy/admin/pages/locked.html.erb
1110
1137
  - app/views/alchemy/admin/pages/new.html.erb
1138
+ - app/views/alchemy/admin/pages/publish.turbo_stream.erb
1111
1139
  - app/views/alchemy/admin/pages/show.html.erb
1140
+ - app/views/alchemy/admin/pages/tree.html.erb
1112
1141
  - app/views/alchemy/admin/pages/unlock.js.erb
1113
1142
  - app/views/alchemy/admin/pages/update.turbo_stream.erb
1114
1143
  - app/views/alchemy/admin/partials/_autocomplete_tag_list.html.erb
1115
1144
  - app/views/alchemy/admin/partials/_flash_notices.html.erb
1116
1145
  - app/views/alchemy/admin/partials/_language_tree_select.html.erb
1117
1146
  - app/views/alchemy/admin/partials/_main_navigation_entry.html.erb
1118
- - app/views/alchemy/admin/partials/_remote_search_form.html.erb
1147
+ - app/views/alchemy/admin/partials/_overlay_search_form.html.erb
1148
+ - app/views/alchemy/admin/partials/_paste_from_clipboard_form.html.erb
1119
1149
  - app/views/alchemy/admin/partials/_routes.html.erb
1120
1150
  - app/views/alchemy/admin/partials/_search_form.html.erb
1121
1151
  - app/views/alchemy/admin/partials/_site_select.html.erb
@@ -1133,11 +1163,9 @@ files:
1133
1163
  - app/views/alchemy/admin/pictures/_picture_to_assign.html.erb
1134
1164
  - app/views/alchemy/admin/pictures/_sorting_select.html.erb
1135
1165
  - app/views/alchemy/admin/pictures/_tag_list.html.erb
1136
- - app/views/alchemy/admin/pictures/archive_overlay.js.erb
1137
1166
  - app/views/alchemy/admin/pictures/assign.js.erb
1138
1167
  - app/views/alchemy/admin/pictures/edit_multiple.html.erb
1139
1168
  - app/views/alchemy/admin/pictures/index.html.erb
1140
- - app/views/alchemy/admin/pictures/index.js.erb
1141
1169
  - app/views/alchemy/admin/pictures/show.html.erb
1142
1170
  - app/views/alchemy/admin/pictures/update.turbo_stream.erb
1143
1171
  - app/views/alchemy/admin/resources/_applied_filters.html.erb
@@ -1178,21 +1206,6 @@ files:
1178
1206
  - app/views/alchemy/breadcrumb/_separator.html.erb
1179
1207
  - app/views/alchemy/breadcrumb/_wrapper.html.erb
1180
1208
  - app/views/alchemy/elements/_view_not_found.html.erb
1181
- - app/views/alchemy/ingredients/_audio_editor.html.erb
1182
- - app/views/alchemy/ingredients/_boolean_editor.html.erb
1183
- - app/views/alchemy/ingredients/_datetime_editor.html.erb
1184
- - app/views/alchemy/ingredients/_file_editor.html.erb
1185
- - app/views/alchemy/ingredients/_headline_editor.html.erb
1186
- - app/views/alchemy/ingredients/_html_editor.html.erb
1187
- - app/views/alchemy/ingredients/_link_editor.html.erb
1188
- - app/views/alchemy/ingredients/_node_editor.html.erb
1189
- - app/views/alchemy/ingredients/_number_editor.html.erb
1190
- - app/views/alchemy/ingredients/_page_editor.html.erb
1191
- - app/views/alchemy/ingredients/_picture_editor.html.erb
1192
- - app/views/alchemy/ingredients/_richtext_editor.html.erb
1193
- - app/views/alchemy/ingredients/_select_editor.html.erb
1194
- - app/views/alchemy/ingredients/_text_editor.html.erb
1195
- - app/views/alchemy/ingredients/_video_editor.html.erb
1196
1209
  - app/views/alchemy/ingredients/shared/_anchor.html.erb
1197
1210
  - app/views/alchemy/ingredients/shared/_link_tools.html.erb
1198
1211
  - app/views/alchemy/ingredients/shared/_picture_css_class.html.erb
@@ -1236,6 +1249,10 @@ files:
1236
1249
  - db/migrate/20240314105244_create_alchemy_picture_descriptions.rb
1237
1250
  - db/migrate/20250626160259_add_unique_index_to_picture_descriptions.rb
1238
1251
  - db/migrate/20250905140323_add_created_at_index_to_pictures_and_attachments.rb
1252
+ - db/migrate/20251106150010_convert_select_value_for_multiple.rb
1253
+ - db/migrate/20260102121232_add_metadata_to_page_versions.rb
1254
+ - db/migrate/20260115164704_add_publication_timestamps_to_alchemy_elements.rb
1255
+ - db/migrate/20260115164705_add_index_to_element_publication_timestamps.rb
1239
1256
  - lib/alchemy.rb
1240
1257
  - lib/alchemy/ability_helper.rb
1241
1258
  - lib/alchemy/admin/locale.rb
@@ -1287,7 +1304,6 @@ files:
1287
1304
  - lib/alchemy/on_page_layout.rb
1288
1305
  - lib/alchemy/on_page_layout/callbacks_runner.rb
1289
1306
  - lib/alchemy/paths.rb
1290
- - lib/alchemy/permissions.rb
1291
1307
  - lib/alchemy/propshaft/tinymce_asset.rb
1292
1308
  - lib/alchemy/routing_constraints.rb
1293
1309
  - lib/alchemy/seeder.rb
@@ -1322,9 +1338,11 @@ files:
1322
1338
  - lib/alchemy/test_support/shared_ingredient_editor_examples.rb
1323
1339
  - lib/alchemy/test_support/shared_ingredient_examples.rb
1324
1340
  - lib/alchemy/test_support/shared_link_tab_examples.rb
1341
+ - lib/alchemy/test_support/shared_publishable_examples.rb
1325
1342
  - lib/alchemy/test_support/shared_uploader_examples.rb
1326
1343
  - lib/alchemy/tinymce.rb
1327
1344
  - lib/alchemy/upgrader.rb
1345
+ - lib/alchemy/upgrader/eight_one.rb
1328
1346
  - lib/alchemy/upgrader/eight_zero.rb
1329
1347
  - lib/alchemy/version.rb
1330
1348
  - lib/alchemy_cms.rb
@@ -1334,7 +1352,7 @@ files:
1334
1352
  - lib/generators/alchemy/elements/templates/view.html.haml
1335
1353
  - lib/generators/alchemy/elements/templates/view.html.slim
1336
1354
  - lib/generators/alchemy/ingredient/ingredient_generator.rb
1337
- - lib/generators/alchemy/ingredient/templates/editor.html.erb
1355
+ - lib/generators/alchemy/ingredient/templates/editor_component.rb.tt
1338
1356
  - lib/generators/alchemy/ingredient/templates/model.rb.tt
1339
1357
  - lib/generators/alchemy/ingredient/templates/view_component.rb.tt
1340
1358
  - lib/generators/alchemy/install/files/_article.html.erb
@@ -1438,7 +1456,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1438
1456
  version: '0'
1439
1457
  requirements:
1440
1458
  - ImageMagick (libmagick), v6.6 or greater.
1441
- rubygems_version: 4.0.10
1459
+ rubygems_version: 4.0.3
1442
1460
  specification_version: 4
1443
1461
  summary: A powerful, userfriendly and flexible CMS for Rails
1444
1462
  test_files: []