alchemy_cms 7.4.5 → 8.0.0.a

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.

Potentially problematic release.


This version of alchemy_cms might be problematic. Click here for more details.

Files changed (358) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +92 -0
  3. data/Gemfile +13 -6
  4. data/README.md +13 -5
  5. data/alchemy_cms.gemspec +14 -5
  6. data/app/assets/builds/alchemy/admin/page-select.css +1 -1
  7. data/app/assets/builds/alchemy/admin/print.css +1 -1
  8. data/app/assets/builds/alchemy/admin.css +2 -2
  9. data/app/assets/builds/alchemy/custom-properties.css +1 -1
  10. data/app/assets/builds/alchemy/welcome.css +1 -1
  11. data/app/assets/builds/tinymce/skins/content/alchemy/content.min.css +1 -1
  12. data/app/assets/builds/tinymce/skins/ui/alchemy/content.min.css +1 -0
  13. data/app/assets/builds/tinymce/skins/ui/alchemy/skin.min.css +1 -1
  14. data/app/assets/config/alchemy_manifest.js +0 -2
  15. data/app/assets/images/alchemy/icons-sprite.svg +1 -0
  16. data/app/components/alchemy/admin/resource/applied_filter.rb +29 -0
  17. data/app/components/alchemy/admin/resource/checkbox_filter.rb +36 -0
  18. data/app/components/alchemy/admin/resource/datepicker_filter.rb +42 -0
  19. data/app/components/alchemy/admin/resource/select_filter.rb +43 -0
  20. data/app/components/alchemy/admin/toolbar_button.rb +5 -2
  21. data/app/components/alchemy/ingredients/number_view.rb +18 -0
  22. data/app/controllers/alchemy/admin/attachments_controller.rb +8 -15
  23. data/app/controllers/alchemy/admin/clipboard_controller.rb +2 -6
  24. data/app/controllers/alchemy/admin/elements_controller.rb +1 -1
  25. data/app/controllers/alchemy/admin/languages_controller.rb +1 -1
  26. data/app/controllers/alchemy/admin/pages_controller.rb +15 -15
  27. data/app/controllers/alchemy/admin/picture_descriptions_controller.rb +5 -1
  28. data/app/controllers/alchemy/admin/pictures_controller.rb +10 -5
  29. data/app/controllers/alchemy/admin/resources_controller.rb +16 -106
  30. data/app/controllers/alchemy/attachments_controller.rb +43 -14
  31. data/app/controllers/alchemy/messages_controller.rb +1 -1
  32. data/app/controllers/alchemy/pages_controller.rb +7 -2
  33. data/app/controllers/concerns/alchemy/admin/picture_descriptions_form_helper.rb +16 -0
  34. data/app/controllers/concerns/alchemy/admin/resource_filter.rb +92 -0
  35. data/app/decorators/alchemy/element_editor.rb +5 -48
  36. data/app/decorators/alchemy/ingredient_editor.rb +3 -53
  37. data/app/helpers/alchemy/admin/base_helper.rb +14 -84
  38. data/app/helpers/alchemy/admin/elements_helper.rb +4 -4
  39. data/app/helpers/alchemy/admin/pages_helper.rb +1 -1
  40. data/app/helpers/alchemy/base_helper.rb +0 -30
  41. data/app/helpers/alchemy/elements_block_helper.rb +0 -14
  42. data/app/helpers/alchemy/pages_helper.rb +1 -1
  43. data/{lib → app/helpers}/alchemy/resources_helper.rb +5 -45
  44. data/app/javascript/alchemy_admin/components/action.js +4 -0
  45. data/app/javascript/alchemy_admin/components/alchemy_html_element.js +3 -3
  46. data/app/javascript/alchemy_admin/components/datepicker.js +10 -2
  47. data/app/javascript/alchemy_admin/components/element_editor/delete_element_button.js +7 -7
  48. data/app/javascript/alchemy_admin/components/element_editor.js +1 -1
  49. data/app/javascript/alchemy_admin/components/growl.js +1 -0
  50. data/app/javascript/alchemy_admin/components/index.js +1 -0
  51. data/app/javascript/alchemy_admin/components/remote_select.js +4 -1
  52. data/app/javascript/alchemy_admin/components/tags_autocomplete.js +5 -1
  53. data/app/javascript/alchemy_admin/components/tinymce.js +4 -2
  54. data/app/javascript/alchemy_admin/components/update_check.js +42 -0
  55. data/app/javascript/alchemy_admin/components/uploader/file_upload.js +15 -8
  56. data/app/javascript/alchemy_admin/components/uploader/progress.js +12 -6
  57. data/app/javascript/alchemy_admin/components/uploader.js +4 -2
  58. data/app/javascript/alchemy_admin/confirm_dialog.js +27 -57
  59. data/app/javascript/alchemy_admin/dirty.js +3 -2
  60. data/app/javascript/alchemy_admin/i18n.js +15 -16
  61. data/app/javascript/alchemy_admin/initializer.js +1 -49
  62. data/app/javascript/alchemy_admin/utils/ajax.js +51 -44
  63. data/app/javascript/alchemy_admin.js +3 -8
  64. data/app/models/alchemy/admin/filters/base.rb +38 -0
  65. data/app/models/alchemy/admin/filters/checkbox.rb +24 -0
  66. data/app/models/alchemy/admin/filters/datepicker.rb +53 -0
  67. data/app/models/alchemy/admin/filters/select.rb +70 -0
  68. data/app/models/alchemy/admin/resource_name.rb +27 -0
  69. data/app/models/alchemy/attachment.rb +51 -34
  70. data/app/models/alchemy/base_record.rb +2 -0
  71. data/app/models/alchemy/element/definitions.rb +1 -1
  72. data/app/models/alchemy/element/element_ingredients.rb +6 -6
  73. data/app/models/alchemy/element/presenters.rb +3 -12
  74. data/app/models/alchemy/element.rb +9 -27
  75. data/app/models/alchemy/element_definition.rb +160 -0
  76. data/app/models/alchemy/ingredient.rb +10 -43
  77. data/app/models/alchemy/ingredient_definition.rb +134 -0
  78. data/app/models/alchemy/ingredient_validator.rb +7 -3
  79. data/app/models/alchemy/ingredients/number.rb +19 -0
  80. data/app/models/alchemy/language.rb +0 -14
  81. data/app/models/alchemy/message.rb +3 -7
  82. data/app/models/alchemy/node.rb +1 -1
  83. data/app/models/alchemy/page/{page_layouts.rb → definitions.rb} +12 -19
  84. data/app/models/alchemy/page/fixed_attributes.rb +1 -1
  85. data/app/models/alchemy/page/page_elements.rb +13 -14
  86. data/app/models/alchemy/page/page_natures.rb +7 -7
  87. data/app/models/alchemy/page/page_scopes.rb +1 -1
  88. data/app/models/alchemy/page.rb +11 -33
  89. data/app/models/alchemy/page_definition.rb +115 -0
  90. data/app/models/alchemy/picture.rb +69 -79
  91. data/app/models/alchemy/picture_variant.rb +115 -5
  92. data/{lib → app/models}/alchemy/resource.rb +4 -18
  93. data/{lib → app/models}/alchemy/searchable_resource.rb +15 -0
  94. data/app/models/alchemy/site/layout.rb +5 -5
  95. data/app/models/alchemy/site.rb +0 -15
  96. data/app/models/alchemy/storage_adapter/active_storage/attachment_url.rb +41 -0
  97. data/app/models/alchemy/storage_adapter/active_storage/picture_url.rb +55 -0
  98. data/app/models/alchemy/storage_adapter/active_storage/preprocessor.rb +40 -0
  99. data/app/models/alchemy/storage_adapter/active_storage.rb +173 -0
  100. data/app/models/alchemy/{attachment/url.rb → storage_adapter/dragonfly/attachment_url.rb} +12 -12
  101. data/app/models/alchemy/{picture/url.rb → storage_adapter/dragonfly/picture_url.rb} +28 -12
  102. data/app/models/alchemy/{picture → storage_adapter/dragonfly}/preprocessor.rb +4 -4
  103. data/app/models/alchemy/storage_adapter/dragonfly.rb +183 -0
  104. data/app/models/alchemy/storage_adapter.rb +74 -0
  105. data/app/models/concerns/alchemy/picture_thumbnails.rb +19 -6
  106. data/app/serializers/alchemy/element_serializer.rb +0 -1
  107. data/app/services/alchemy/dragonfly_to_image_processing.rb +100 -0
  108. data/app/stylesheets/alchemy/_defaults.scss +3 -0
  109. data/app/stylesheets/alchemy/_extends.scss +69 -0
  110. data/app/{assets/stylesheets → stylesheets}/alchemy/_mixins.scss +36 -49
  111. data/app/stylesheets/alchemy/_variables.scss +5 -0
  112. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/archive.scss +20 -37
  113. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/base.scss +16 -14
  114. data/app/stylesheets/alchemy/admin/buttons.scss +160 -0
  115. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/clipboard.scss +2 -2
  116. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/dashboard.scss +13 -16
  117. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/dialogs.scss +23 -16
  118. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/elements.scss +150 -105
  119. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/errors.scss +5 -5
  120. data/app/stylesheets/alchemy/admin/filters.scss +58 -0
  121. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/flatpickr.scss +53 -60
  122. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/form_fields.scss +21 -7
  123. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/forms.scss +31 -19
  124. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/frame.scss +20 -16
  125. data/app/stylesheets/alchemy/admin/hints.scss +5 -0
  126. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/icons.scss +10 -1
  127. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/image_library.scss +10 -8
  128. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/images.scss +1 -1
  129. data/app/stylesheets/alchemy/admin/labels.scss +5 -0
  130. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/lists.scss +3 -3
  131. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/navigation.scss +61 -55
  132. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/nodes.scss +21 -18
  133. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/notices.scss +18 -18
  134. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/page-select.scss +2 -2
  135. data/app/stylesheets/alchemy/admin/pagination.scss +144 -0
  136. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/preview_window.scss +8 -6
  137. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/print.scss +1 -1
  138. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/resource_info.scss +8 -5
  139. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/search.scss +9 -6
  140. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/selects.scss +49 -37
  141. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/shoelace.scss +5 -6
  142. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/sitemap.scss +38 -33
  143. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/tables.scss +6 -4
  144. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/tags.scss +6 -4
  145. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/toolbar.scss +12 -6
  146. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/typography.scss +2 -2
  147. data/app/{assets/stylesheets → stylesheets}/alchemy/admin/upload.scss +7 -5
  148. data/app/stylesheets/alchemy/admin.scss +44 -0
  149. data/app/stylesheets/alchemy/custom-properties.css +244 -0
  150. data/app/stylesheets/alchemy/welcome.scss +75 -0
  151. data/app/{assets/stylesheets → stylesheets}/tinymce/skins/content/alchemy/content.scss +8 -9
  152. data/app/stylesheets/tinymce/skins/ui/alchemy/content.scss +1 -0
  153. data/app/{assets/stylesheets → stylesheets}/tinymce/skins/ui/alchemy/skin.scss +133 -136
  154. data/app/views/alchemy/admin/attachments/_files_list.html.erb +2 -2
  155. data/app/views/alchemy/admin/attachments/_overlay_file_list.html.erb +1 -1
  156. data/app/views/alchemy/admin/{elements/_clipboard_button.html.erb → clipboard/_button.html.erb} +3 -5
  157. data/app/views/alchemy/admin/clipboard/_update_nested_element_button.turbo_stream.erb +11 -0
  158. data/app/views/alchemy/admin/clipboard/clear.turbo_stream.erb +4 -0
  159. data/app/views/alchemy/admin/clipboard/index.html.erb +15 -13
  160. data/app/views/alchemy/admin/clipboard/insert.turbo_stream.erb +18 -0
  161. data/app/views/alchemy/admin/clipboard/remove.turbo_stream.erb +9 -0
  162. data/app/views/alchemy/admin/dashboard/info.html.erb +17 -31
  163. data/app/views/alchemy/admin/elements/_element.html.erb +4 -8
  164. data/app/views/alchemy/admin/elements/_form.html.erb +1 -1
  165. data/app/views/alchemy/admin/elements/_header.html.erb +1 -0
  166. data/app/views/alchemy/admin/elements/_toolbar.html.erb +4 -6
  167. data/app/views/alchemy/admin/elements/create.turbo_stream.erb +2 -1
  168. data/app/views/alchemy/admin/elements/index.html.erb +2 -2
  169. data/app/views/alchemy/admin/ingredients/_file_fields.html.erb +3 -16
  170. data/app/views/alchemy/admin/ingredients/_picture_fields.html.erb +0 -9
  171. data/app/views/alchemy/admin/languages/_form.html.erb +1 -1
  172. data/app/views/alchemy/admin/languages/_table.html.erb +1 -1
  173. data/app/views/alchemy/admin/languages/index.html.erb +5 -2
  174. data/app/views/alchemy/admin/layoutpages/index.html.erb +1 -12
  175. data/app/views/alchemy/admin/pages/_form.html.erb +2 -2
  176. data/app/views/alchemy/admin/pages/_page.html.erb +2 -3
  177. data/app/views/alchemy/admin/pages/_toolbar.html.erb +1 -15
  178. data/app/views/alchemy/admin/pages/index.html.erb +1 -1
  179. data/app/views/alchemy/admin/partials/_remote_search_form.html.erb +9 -12
  180. data/app/views/alchemy/admin/partials/_search_form.html.erb +4 -9
  181. data/app/views/alchemy/admin/picture_descriptions/_form.html.erb +5 -7
  182. data/app/views/alchemy/admin/picture_descriptions/edit.html.erb +2 -2
  183. data/app/views/alchemy/admin/pictures/_archive.html.erb +4 -7
  184. data/app/views/alchemy/admin/pictures/_archive_overlay.html.erb +2 -1
  185. data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +1 -1
  186. data/app/views/alchemy/admin/pictures/_form.html.erb +2 -2
  187. data/app/views/alchemy/admin/pictures/_picture_description_field.html.erb +21 -13
  188. data/app/views/alchemy/admin/pictures/index.html.erb +2 -7
  189. data/app/views/alchemy/admin/resources/_applied_filters.html.erb +8 -0
  190. data/app/views/alchemy/admin/resources/_filter_bar.html.erb +11 -21
  191. data/app/views/alchemy/admin/resources/_pagination.html.erb +6 -0
  192. data/app/views/alchemy/admin/resources/_per_page_select.html.erb +4 -2
  193. data/app/views/alchemy/admin/resources/_resource_table.html.erb +1 -1
  194. data/app/views/alchemy/admin/resources/_table_header.html.erb +1 -15
  195. data/app/views/alchemy/admin/sites/index.html.erb +5 -1
  196. data/app/views/alchemy/admin/styleguide/index.html.erb +8 -0
  197. data/app/views/alchemy/admin/tags/index.html.erb +1 -1
  198. data/app/views/alchemy/admin/tinymce/_setup.html.erb +7 -7
  199. data/app/{javascript/alchemy_admin/locales/en.js → views/alchemy/admin/translations/_en.js} +5 -2
  200. data/app/views/alchemy/admin/uploader/_button.html.erb +1 -1
  201. data/app/views/alchemy/admin/uploader/_setup.html.erb +4 -4
  202. data/app/views/alchemy/base/500.turbo_stream.erb +3 -0
  203. data/app/views/alchemy/base/redirect.js.erb +1 -1
  204. data/app/views/alchemy/ingredients/_number_editor.html.erb +24 -0
  205. data/app/views/alchemy/no_index.html.erb +31 -0
  206. data/app/views/alchemy/welcome.html.erb +12 -10
  207. data/app/views/kaminari/alchemy/_first_page.html.erb +5 -3
  208. data/app/views/kaminari/alchemy/_last_page.html.erb +5 -3
  209. data/app/views/kaminari/alchemy/_next_page.html.erb +5 -3
  210. data/app/views/kaminari/alchemy/_paginator.html.erb +18 -13
  211. data/app/views/kaminari/alchemy/_prev_page.html.erb +5 -3
  212. data/app/views/layouts/alchemy/admin.html.erb +5 -9
  213. data/bun.lockb +0 -0
  214. data/bundles/remixicon.mjs +153 -0
  215. data/config/alchemy/config.yml +3 -2
  216. data/config/initializers/dragonfly.rb +0 -1
  217. data/config/initializers/mime_types.rb +1 -0
  218. data/config/locales/alchemy.en.yml +32 -14
  219. data/config/routes.rb +0 -2
  220. data/db/migrate/20250626160259_add_unique_index_to_picture_descriptions.rb +7 -0
  221. data/eslint.config.js +2 -1
  222. data/lib/alchemy/admin/preview_url.rb +4 -5
  223. data/lib/alchemy/cache_digests/template_tracker.rb +6 -9
  224. data/lib/alchemy/config_missing.rb +14 -0
  225. data/lib/alchemy/configuration/base_option.rb +24 -0
  226. data/lib/alchemy/configuration/boolean_option.rb +16 -0
  227. data/lib/alchemy/configuration/class_option.rb +15 -0
  228. data/lib/alchemy/configuration/class_set_option.rb +46 -0
  229. data/lib/alchemy/configuration/integer_list_option.rb +13 -0
  230. data/lib/alchemy/configuration/integer_option.rb +12 -0
  231. data/lib/alchemy/configuration/list_option.rb +22 -0
  232. data/lib/alchemy/configuration/regexp_option.rb +11 -0
  233. data/lib/alchemy/configuration/string_list_option.rb +13 -0
  234. data/lib/alchemy/configuration/string_option.rb +11 -0
  235. data/lib/alchemy/configuration.rb +115 -0
  236. data/lib/alchemy/configuration_methods.rb +3 -1
  237. data/lib/alchemy/configurations/default_language.rb +12 -0
  238. data/lib/alchemy/configurations/default_site.rb +10 -0
  239. data/lib/alchemy/configurations/format_matchers.rb +11 -0
  240. data/lib/alchemy/configurations/mailer.rb +16 -0
  241. data/lib/alchemy/configurations/main.rb +216 -0
  242. data/lib/alchemy/configurations/preview.rb +32 -0
  243. data/lib/alchemy/configurations/sitemap.rb +10 -0
  244. data/lib/alchemy/configurations/uploader.rb +34 -0
  245. data/lib/alchemy/engine.rb +65 -17
  246. data/lib/alchemy/hints.rb +3 -7
  247. data/lib/alchemy/on_page_layout.rb +2 -2
  248. data/lib/alchemy/propshaft/tinymce_asset.rb +15 -0
  249. data/lib/alchemy/seeder.rb +2 -2
  250. data/lib/alchemy/tasks/usage.rb +4 -4
  251. data/lib/alchemy/test_support/config_stubbing.rb +1 -7
  252. data/lib/alchemy/test_support/factories/attachment_factory.rb +13 -2
  253. data/lib/alchemy/test_support/factories/language_factory.rb +1 -1
  254. data/lib/alchemy/test_support/factories/page_factory.rb +2 -3
  255. data/lib/alchemy/test_support/factories/picture_factory.rb +30 -2
  256. data/lib/alchemy/test_support/factories/site_factory.rb +2 -2
  257. data/lib/alchemy/test_support/having_crop_action_examples.rb +2 -2
  258. data/lib/alchemy/test_support/having_picture_thumbnails_examples.rb +80 -26
  259. data/lib/alchemy/test_support/shared_ingredient_examples.rb +5 -5
  260. data/lib/alchemy/upgrader/.keep +0 -0
  261. data/lib/alchemy/upgrader/eight_zero.rb +14 -0
  262. data/lib/alchemy/upgrader.rb +33 -20
  263. data/lib/alchemy/version.rb +1 -1
  264. data/lib/alchemy.rb +192 -170
  265. data/lib/alchemy_cms.rb +1 -7
  266. data/lib/generators/alchemy/ingredient/ingredient_generator.rb +0 -3
  267. data/lib/generators/alchemy/install/files/_article.html.erb +6 -4
  268. data/lib/generators/alchemy/install/files/alchemy.en.yml +22 -3
  269. data/lib/generators/alchemy/install/files/application.html.erb +5 -0
  270. data/lib/generators/alchemy/install/install_generator.rb +5 -14
  271. data/lib/generators/alchemy/install/templates/alchemy.rb.tt +196 -0
  272. data/lib/generators/alchemy/install/templates/dragonfly.rb.tt +0 -1
  273. data/lib/generators/alchemy/install/templates/elements.yml.tt +3 -1
  274. data/lib/generators/alchemy/install/templates/menus.yml.tt +1 -1
  275. data/lib/generators/alchemy/install/templates/page_layouts.yml.tt +2 -2
  276. data/lib/generators/alchemy/page_layouts/page_layouts_generator.rb +2 -2
  277. data/lib/tasks/alchemy/assets.rake +14 -0
  278. data/lib/tasks/alchemy/upgrade.rake +12 -47
  279. data/vendor/javascript/tinymce.min.js +1 -1
  280. data/vitest.config.js +21 -0
  281. metadata +184 -180
  282. data/app/assets/builds/alchemy/admin/page-select.css.map +0 -1
  283. data/app/assets/builds/alchemy/admin/print.css.map +0 -1
  284. data/app/assets/builds/alchemy/admin.css.map +0 -1
  285. data/app/assets/builds/alchemy/custom-properties.css.map +0 -1
  286. data/app/assets/builds/alchemy/welcome.css.map +0 -1
  287. data/app/assets/builds/tinymce/skins/content/alchemy/content.min.css.map +0 -1
  288. data/app/assets/builds/tinymce/skins/ui/alchemy/skin.min.css.map +0 -1
  289. data/app/assets/javascripts/alchemy/admin.js +0 -10
  290. data/app/assets/stylesheets/alchemy/_defaults.scss +0 -3
  291. data/app/assets/stylesheets/alchemy/_deprecated_variables.scss +0 -45
  292. data/app/assets/stylesheets/alchemy/_deprecation.scss +0 -17
  293. data/app/assets/stylesheets/alchemy/_extends.scss +0 -62
  294. data/app/assets/stylesheets/alchemy/_variables.scss +0 -201
  295. data/app/assets/stylesheets/alchemy/admin/buttons.scss +0 -124
  296. data/app/assets/stylesheets/alchemy/admin/hints.scss +0 -5
  297. data/app/assets/stylesheets/alchemy/admin/labels.scss +0 -3
  298. data/app/assets/stylesheets/alchemy/admin/pagination.scss +0 -92
  299. data/app/assets/stylesheets/alchemy/admin.scss +0 -42
  300. data/app/assets/stylesheets/alchemy/custom-properties.css +0 -98
  301. data/app/assets/stylesheets/alchemy/welcome.scss +0 -57
  302. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.css +0 -711
  303. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.inline.css +0 -705
  304. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.inline.min.css +0 -7
  305. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.min.css +0 -7
  306. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.mobile.css +0 -29
  307. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.mobile.min.css +0 -7
  308. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/skin.mobile.css +0 -677
  309. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/skin.mobile.min.css +0 -7
  310. data/app/controllers/alchemy/elements_controller.rb +0 -32
  311. data/app/models/alchemy/element/dom_id.rb +0 -31
  312. data/app/models/alchemy/picture/calculations.rb +0 -49
  313. data/app/models/alchemy/picture/transformations.rb +0 -115
  314. data/app/views/alchemy/admin/attachments/destroy.js.erb +0 -1
  315. data/app/views/alchemy/admin/clipboard/clear.js.erb +0 -3
  316. data/app/views/alchemy/admin/clipboard/insert.js.erb +0 -29
  317. data/app/views/alchemy/admin/clipboard/remove.js.erb +0 -10
  318. data/app/views/alchemy/admin/resources/_filter.html.erb +0 -12
  319. data/app/views/alchemy/admin/resources/_resource.html.erb +0 -34
  320. data/app/views/alchemy/admin/resources/_table.html.erb +0 -29
  321. data/app/views/alchemy/elements/show.html.erb +0 -1
  322. data/app/views/alchemy/elements/show.js.erb +0 -1
  323. data/app/views/alchemy/ingredients/_audio_view.html.erb +0 -1
  324. data/app/views/alchemy/ingredients/_boolean_view.html.erb +0 -1
  325. data/app/views/alchemy/ingredients/_datetime_view.html.erb +0 -3
  326. data/app/views/alchemy/ingredients/_file_view.html.erb +0 -4
  327. data/app/views/alchemy/ingredients/_headline_view.html.erb +0 -4
  328. data/app/views/alchemy/ingredients/_html_view.html.erb +0 -1
  329. data/app/views/alchemy/ingredients/_link_view.html.erb +0 -4
  330. data/app/views/alchemy/ingredients/_node_view.html.erb +0 -1
  331. data/app/views/alchemy/ingredients/_page_view.html.erb +0 -1
  332. data/app/views/alchemy/ingredients/_picture_view.html.erb +0 -4
  333. data/app/views/alchemy/ingredients/_richtext_view.html.erb +0 -3
  334. data/app/views/alchemy/ingredients/_select_view.html.erb +0 -1
  335. data/app/views/alchemy/ingredients/_text_view.html.erb +0 -4
  336. data/app/views/alchemy/ingredients/_video_view.html.erb +0 -3
  337. data/babel.config.js +0 -12
  338. data/config/initializers/assets.rb +0 -4
  339. data/lib/alchemy/config.rb +0 -114
  340. data/lib/alchemy/element_definition.rb +0 -73
  341. data/lib/alchemy/page_layout.rb +0 -73
  342. data/lib/alchemy/resource_filter.rb +0 -40
  343. data/lib/alchemy/upgrader/seven_point_four.rb +0 -26
  344. data/lib/alchemy/upgrader/seven_point_three.rb +0 -52
  345. data/lib/generators/alchemy/ingredient/templates/view.html.erb +0 -1
  346. data/lib/generators/alchemy/install/files/alchemy_admin.js +0 -1
  347. data/lib/generators/alchemy/install/files/all.js +0 -11
  348. data/lib/generators/alchemy/install/files/article.css +0 -25
  349. data/vendor/assets/images/remixicon.symbol.svg +0 -11
  350. /data/app/{assets/stylesheets → stylesheets}/alchemy/_fonts.scss +0 -0
  351. /data/app/{assets/stylesheets → stylesheets}/alchemy/admin/attachment-select.scss +0 -0
  352. /data/app/{assets/stylesheets → stylesheets}/alchemy/admin/attachments.scss +0 -0
  353. /data/app/{assets/stylesheets → stylesheets}/alchemy/admin/flash.scss +0 -0
  354. /data/app/{assets/stylesheets → stylesheets}/alchemy/admin/list_filter.scss +0 -0
  355. /data/app/{assets/stylesheets → stylesheets}/alchemy/admin/node-select.scss +0 -0
  356. /data/app/{assets/stylesheets → stylesheets}/alchemy/admin/spinner.scss +0 -0
  357. /data/app/{assets/stylesheets → stylesheets}/tinymce/skins/skintool.json +0 -0
  358. /data/app/{assets/stylesheets → stylesheets}/tinymce/skins/ui/alchemy/fonts/tinymce-mobile.woff +0 -0
@@ -5,14 +5,12 @@
5
5
  * For commercial licenses see https://www.tiny.cloud/
6
6
  */
7
7
 
8
- @import "alchemy/variables";
9
-
10
8
  .tox {
11
9
  box-shadow: none;
12
10
  box-sizing: content-box;
13
11
  color: #000;
14
12
  cursor: auto;
15
- font-family: $default-font-family;
13
+ font-family: var(--font-default);
16
14
  font-size: 13px;
17
15
  font-style: normal;
18
16
  font-weight: 400;
@@ -69,13 +67,13 @@
69
67
  }
70
68
 
71
69
  .tox-tinymce {
72
- border: $default-border;
73
- border-radius: $default-border-radius;
70
+ border: var(--border-default);
71
+ border-radius: var(--border-radius_medium);
74
72
  box-shadow: none;
75
73
  box-sizing: border-box;
76
74
  display: flex;
77
75
  flex-direction: column;
78
- font-family: $default-font-family;
76
+ font-family: var(--font-default);
79
77
  overflow: hidden;
80
78
  position: relative;
81
79
  visibility: inherit !important;
@@ -88,13 +86,13 @@
88
86
 
89
87
  .tox-tinymce-inline .tox-editor-header {
90
88
  background-color: transparent;
91
- border: $default-border;
92
- border-radius: $default-border-radius;
89
+ border: var(--border-default);
90
+ border-radius: var(--border-radius_medium);
93
91
  box-shadow: none;
94
92
  }
95
93
 
96
94
  .tox-tinymce-aux {
97
- font-family: $default-font-family;
95
+ font-family: var(--font-default);
98
96
  z-index: 1300;
99
97
  }
100
98
 
@@ -119,8 +117,8 @@ button::-moz-focus-inner {
119
117
 
120
118
  .tox .accessibility-issue__description {
121
119
  align-items: stretch;
122
- border: $default-border;
123
- border-radius: $default-border-radius;
120
+ border: var(--border-default);
121
+ border-radius: var(--border-radius_medium);
124
122
  display: flex;
125
123
  justify-content: space-between;
126
124
  }
@@ -338,28 +336,28 @@ button::-moz-focus-inner {
338
336
  }
339
337
 
340
338
  .tox .tox-button {
341
- background-color: $button-bg-color;
339
+ background-color: var(--button-bg-color);
342
340
  background-image: none;
343
341
  background-position: 0 0;
344
342
  background-repeat: repeat;
345
- border-color: $button-border-color;
346
- border-radius: $button-border-radius;
343
+ border-color: var(--button-border-color);
344
+ border-radius: var(--button-border-radius);
347
345
  border-style: solid;
348
- border-width: $button-border-width;
349
- box-shadow: $button-box-shadow;
346
+ border-width: var(--button-border-width);
347
+ box-shadow: var(--button-box-shadow);
350
348
  box-sizing: border-box;
351
- color: $button-text-color;
349
+ color: var(--button-text-color);
352
350
  cursor: pointer;
353
351
  display: inline-block;
354
- font-family: $default-font-family;
355
- font-size: $base-font-size;
352
+ font-family: var(--font-default);
353
+ font-size: var(--button-font-size);
356
354
  font-style: normal;
357
- font-weight: $button-font-weight;
355
+ font-weight: var(--button-font-weight);
358
356
  letter-spacing: normal;
359
- line-height: 24px;
360
- margin: 0;
357
+ height: var(--button-height);
358
+ margin: var(--button-margin);
361
359
  outline: 0;
362
- padding: $button-padding;
360
+ padding: var(--button-padding);
363
361
  text-align: center;
364
362
  text-decoration: none;
365
363
  text-transform: none;
@@ -384,38 +382,38 @@ button::-moz-focus-inner {
384
382
  }
385
383
 
386
384
  .tox .tox-button:hover:not(:disabled) {
387
- background-color: $button-hover-bg-color;
385
+ background-color: var(--button-hover-bg-color);
388
386
  background-image: none;
389
- border-color: $button-hover-border-color;
387
+ border-color: var(--button-hover-border-color);
390
388
  box-shadow: none;
391
- color: $button-text-color;
389
+ color: var(--button-text-color);
392
390
  }
393
391
 
394
392
  .tox .tox-button:active:not(:disabled) {
395
- background-color: $button-hover-bg-color;
393
+ background-color: var(--button-hover-bg-color);
396
394
  background-image: none;
397
- border-color: $button-hover-border-color;
395
+ border-color: var(--button-hover-border-color);
398
396
  box-shadow: none;
399
- color: $button-text-color;
397
+ color: var(--button-text-color);
400
398
  }
401
399
 
402
400
  .tox .tox-button--secondary {
403
- background-color: $secondary-button-bg-color;
401
+ background-color: var(--button-secondary-bg-color);
404
402
  background-image: none;
405
403
  background-position: 0 0;
406
404
  background-repeat: repeat;
407
- border-color: $secondary-button-border-color;
408
- border-radius: $default-border-radius;
405
+ border-color: var(--button-secondary-border-color);
406
+ border-radius: var(--border-radius_medium);
409
407
  border-style: solid;
410
- border-width: $button-border-width;
408
+ border-width: var(--button-border-width);
411
409
  box-shadow: none;
412
- color: $secondary-button-text-color;
413
- font-size: $default-font-size;
410
+ color: var(--button-secondary-text-color);
411
+ font-size: var(--button-font-size);
414
412
  font-style: normal;
415
- font-weight: $button-font-weight;
413
+ font-weight: var(--button-font-weight);
416
414
  letter-spacing: normal;
417
415
  outline: 0;
418
- padding: $button-padding;
416
+ padding: var(--button-padding);
419
417
  text-decoration: none;
420
418
  text-transform: none;
421
419
  }
@@ -471,7 +469,7 @@ button::-moz-focus-inner {
471
469
  box-sizing: border-box;
472
470
  cursor: pointer;
473
471
  display: inline-block;
474
- font-family: $default-font-family;
472
+ font-family: var(--font-default);
475
473
  font-size: 13px;
476
474
  font-weight: 400;
477
475
  line-height: 1.3;
@@ -481,7 +479,7 @@ button::-moz-focus-inner {
481
479
  }
482
480
 
483
481
  .tox .tox-button-link--sm {
484
- font-size: $base-font-size;
482
+ font-size: var(--font-size_medium);
485
483
  }
486
484
 
487
485
  .tox .tox-button--naked {
@@ -529,7 +527,7 @@ button::-moz-focus-inner {
529
527
 
530
528
  .tox .tox-checkbox {
531
529
  align-items: center;
532
- border-radius: $default-border-radius;
530
+ border-radius: var(--border-radius_medium);
533
531
  cursor: pointer;
534
532
  display: flex;
535
533
  height: 36px;
@@ -546,7 +544,7 @@ button::-moz-focus-inner {
546
544
 
547
545
  .tox .tox-checkbox__icons {
548
546
  align-items: center;
549
- border-radius: $default-border-radius;
547
+ border-radius: var(--border-radius_medium);
550
548
  box-shadow: 0 0 0 2px transparent;
551
549
  box-sizing: content-box;
552
550
  display: flex;
@@ -633,7 +631,7 @@ button::-moz-focus-inner {
633
631
  }
634
632
 
635
633
  .tox input.tox-checkbox__input:focus + .tox-checkbox__icons {
636
- border-radius: $default-border-radius;
634
+ border-radius: var(--border-radius_medium);
637
635
  box-shadow: inset 0 0 0 1px #2d5a8d;
638
636
  padding: calc(3.25px - 1px);
639
637
  }
@@ -723,23 +721,23 @@ button::-moz-focus-inner {
723
721
  }
724
722
 
725
723
  .tox .tox-collection--toolbar .tox-collection__item {
726
- border-radius: $default-border-radius;
724
+ border-radius: var(--border-radius_medium);
727
725
  padding: 3.25px;
728
726
  }
729
727
 
730
728
  .tox .tox-collection--grid .tox-collection__item {
731
- border-radius: $default-border-radius;
729
+ border-radius: var(--border-radius_medium);
732
730
  padding: 3.25px;
733
731
  }
734
732
 
735
733
  .tox .tox-collection--list .tox-collection__item--enabled {
736
734
  background-color: rgba(175, 175, 175, 0.25);
737
- color: var(--color-text);
735
+ color: var(--text-color);
738
736
  }
739
737
 
740
738
  .tox .tox-collection--toolbar .tox-collection__item--enabled {
741
739
  background-color: rgba(175, 175, 175, 0.5);
742
- color: var(--color-text);
740
+ color: var(--text-color);
743
741
  }
744
742
 
745
743
  .tox .tox-collection--toolbar .tox-collection__item--active {
@@ -748,44 +746,44 @@ button::-moz-focus-inner {
748
746
 
749
747
  .tox .tox-collection--grid .tox-collection__item--enabled {
750
748
  background-color: rgba(175, 175, 175, 0.5);
751
- color: var(--color-text);
749
+ color: var(--text-color);
752
750
  }
753
751
 
754
752
  .tox
755
753
  .tox-collection--grid
756
754
  .tox-collection__item--active:not(.tox-collection__item--state-disabled) {
757
755
  background-color: rgba(175, 175, 175, 0.25);
758
- color: var(--color-text);
756
+ color: var(--text-color);
759
757
  outline: none;
760
758
  }
761
759
 
762
760
  .tox
763
761
  .tox-collection--list
764
762
  .tox-collection__item--active:not(.tox-collection__item--state-disabled) {
765
- background-color: $select-hover-bg-color;
766
- color: $select-hover-text-color;
763
+ background-color: var(--select-hover-bg-color);
764
+ color: var(--select-hover-text-color);
767
765
 
768
766
  .tox-collection__item-caret svg {
769
- fill: $select-hover-text-color;
767
+ fill: var(--select-hover-text-color);
770
768
  }
771
769
  .tox-collection__item-accessory {
772
- color: $select-hover-text-color;
770
+ color: var(--select-hover-text-color);
773
771
  }
774
772
  }
775
773
 
776
774
  .tox
777
775
  .tox-collection--toolbar
778
776
  .tox-collection__item--active:not(.tox-collection__item--state-disabled) {
779
- color: var(--color-text);
777
+ color: var(--text-color);
780
778
  }
781
779
 
782
780
  .tox .tox-collection__item-checkmark,
783
781
  .tox .tox-collection__item-icon {
784
782
  align-items: center;
785
783
  display: flex;
786
- height: $icon-button-medium-height;
784
+ height: var(--icon-button-medium-height);
787
785
  justify-content: center;
788
- width: $icon-button-medium-width;
786
+ width: var(--icon-button-medium-width);
789
787
  font-size: 14px;
790
788
  }
791
789
 
@@ -804,7 +802,7 @@ button::-moz-focus-inner {
804
802
  display: inline-block;
805
803
  flex: 1;
806
804
  -ms-flex-preferred-size: auto;
807
- font-size: $base-font-size;
805
+ font-size: var(--font-size_medium);
808
806
  font-style: normal;
809
807
  font-weight: 400;
810
808
  line-height: 24px;
@@ -820,7 +818,7 @@ button::-moz-focus-inner {
820
818
  .tox .tox-collection__item-accessory {
821
819
  color: rgba(0, 0, 0, 0.7);
822
820
  display: inline-block;
823
- font-size: $base-font-size;
821
+ font-size: var(--font-size_medium);
824
822
  height: 24px;
825
823
  line-height: 24px;
826
824
  text-transform: none;
@@ -870,8 +868,8 @@ button::-moz-focus-inner {
870
868
 
871
869
  .tox .tox-collection--horizontal {
872
870
  background-color: #fff;
873
- border: $default-border;
874
- border-radius: $default-border-radius;
871
+ border: var(--border-default);
872
+ border-radius: var(--border-radius_medium);
875
873
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
876
874
  display: flex;
877
875
  flex: 0 0 auto;
@@ -978,7 +976,7 @@ button::-moz-focus-inner {
978
976
  .tox:not([dir="rtl"])
979
977
  .tox-collection--horizontal
980
978
  .tox-collection__group:not(:last-of-type) {
981
- border-right: $default-border;
979
+ border-right: var(--border-default);
982
980
  }
983
981
 
984
982
  .tox:not([dir="rtl"])
@@ -1007,7 +1005,7 @@ button::-moz-focus-inner {
1007
1005
  .tox[dir="rtl"]
1008
1006
  .tox-collection--horizontal
1009
1007
  .tox-collection__group:not(:last-of-type) {
1010
- border-left: $default-border;
1008
+ border-left: var(--border-default);
1011
1009
  }
1012
1010
 
1013
1011
  .tox[dir="rtl"]
@@ -1258,8 +1256,8 @@ button::-moz-focus-inner {
1258
1256
 
1259
1257
  .tox .tox-comment {
1260
1258
  background: #fff;
1261
- border: $default-border;
1262
- border-radius: $default-border-radius;
1259
+ border: var(--border-default);
1260
+ border-radius: var(--border-radius_medium);
1263
1261
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
1264
1262
  padding: 6.5px 6.5px 13px 6.5px;
1265
1263
  position: relative;
@@ -1279,7 +1277,7 @@ button::-moz-focus-inner {
1279
1277
 
1280
1278
  .tox .tox-comment__body {
1281
1279
  color: #000;
1282
- font-size: $base-font-size;
1280
+ font-size: var(--font-size_medium);
1283
1281
  font-style: normal;
1284
1282
  font-weight: 400;
1285
1283
  line-height: 1.3;
@@ -1300,7 +1298,7 @@ button::-moz-focus-inner {
1300
1298
 
1301
1299
  .tox .tox-comment__expander p {
1302
1300
  color: rgba(0, 0, 0, 0.7);
1303
- font-size: $base-font-size;
1301
+ font-size: var(--font-size_medium);
1304
1302
  font-style: normal;
1305
1303
  }
1306
1304
 
@@ -1387,7 +1385,7 @@ button::-moz-focus-inner {
1387
1385
  .tox .tox-comment__overlaytext {
1388
1386
  bottom: 0;
1389
1387
  flex-direction: column;
1390
- font-size: $base-font-size;
1388
+ font-size: var(--font-size_medium);
1391
1389
  left: 0;
1392
1390
  padding: 1em;
1393
1391
  position: absolute;
@@ -1497,8 +1495,7 @@ button::-moz-focus-inner {
1497
1495
  }
1498
1496
 
1499
1497
  .tox .tox-dialog-wrap__backdrop {
1500
- background-color: $dialog-overlay-color;
1501
- opacity: $dialog-overlay-opacity;
1498
+ background-color: var(--dialog-overlay-color);
1502
1499
  bottom: 0;
1503
1500
  left: 0;
1504
1501
  position: absolute;
@@ -1508,16 +1505,16 @@ button::-moz-focus-inner {
1508
1505
  }
1509
1506
 
1510
1507
  .tox .tox-dialog-wrap__backdrop--opaque {
1511
- background-color: $dialog-overlay-color;
1508
+ background-color: var(--dialog-overlay-color);
1512
1509
  }
1513
1510
 
1514
1511
  .tox .tox-dialog {
1515
- background-color: $dialog-background-color;
1512
+ background-color: var(--dialog-background-color);
1516
1513
  border-color: transparent;
1517
- border-radius: $default-border-radius;
1514
+ border-radius: var(--border-radius_medium);
1518
1515
  border-style: solid;
1519
1516
  border-width: 0;
1520
- box-shadow: $dialog-box-shadow;
1517
+ box-shadow: var(--dialog-box-shadow);
1521
1518
  display: flex;
1522
1519
  flex-direction: column;
1523
1520
  max-height: 100%;
@@ -1541,15 +1538,15 @@ button::-moz-focus-inner {
1541
1538
  }
1542
1539
 
1543
1540
  .tox .tox-dialog__header {
1544
- height: $dialog-header-height;
1541
+ height: var(--dialog-header-height);
1545
1542
  align-items: center;
1546
- background-color: $dialog-header-color;
1543
+ background-color: var(--dialog-header-color);
1547
1544
  border-bottom: none;
1548
- color: $dialog-header-text-color;
1545
+ color: var(--dialog-header-text-color);
1549
1546
  display: flex;
1550
- font-size: $dialog-header-font-size;
1547
+ font-size: var(--dialog-header-font-size);
1551
1548
  justify-content: space-between;
1552
- padding: $dialog-header-padding;
1549
+ padding: var(--dialog-header-padding);
1553
1550
  position: relative;
1554
1551
  }
1555
1552
 
@@ -1578,7 +1575,7 @@ button::-moz-focus-inner {
1578
1575
  }
1579
1576
 
1580
1577
  .tox .tox-dialog__title {
1581
- font-family: $default-font-family;
1578
+ font-family: var(--font-default);
1582
1579
  font-size: 1em;
1583
1580
  font-style: normal;
1584
1581
  font-weight: bold;
@@ -1617,7 +1614,7 @@ button::-moz-focus-inner {
1617
1614
  border-bottom: 2px solid transparent;
1618
1615
  color: var(--sl-color-neutral-600);
1619
1616
  display: inline-block;
1620
- font-size: $base-font-size;
1617
+ font-size: var(--font-size_medium);
1621
1618
  line-height: 1.3;
1622
1619
  padding: var(--spacing-4) 15px;
1623
1620
  text-decoration: none;
@@ -1761,7 +1758,7 @@ button::-moz-focus-inner {
1761
1758
 
1762
1759
  .tox .tox-dialog__footer {
1763
1760
  align-items: center;
1764
- background-color: $dialog-background-color;
1761
+ background-color: var(--dialog-background-color);
1765
1762
  border-top: none;
1766
1763
  display: flex;
1767
1764
  justify-content: space-between;
@@ -1797,7 +1794,7 @@ button::-moz-focus-inner {
1797
1794
  }
1798
1795
 
1799
1796
  .tox .tox-dialog__table tbody tr {
1800
- border-bottom: $default-border;
1797
+ border-bottom: var(--border-default);
1801
1798
  }
1802
1799
 
1803
1800
  .tox .tox-dialog__table tbody tr:last-child {
@@ -2080,7 +2077,7 @@ body.tox-dialog__disable-scroll {
2080
2077
 
2081
2078
  .tox .tox-color-input span {
2082
2079
  border-color: rgba(0, 0, 0, 0.2);
2083
- border-radius: $default-border-radius;
2080
+ border-radius: var(--border-radius_medium);
2084
2081
  border-style: solid;
2085
2082
  border-width: 1px;
2086
2083
  box-shadow: none;
@@ -2113,7 +2110,7 @@ body.tox-dialog__disable-scroll {
2113
2110
  -5px -1px;
2114
2111
  background-size: 8px 8px;
2115
2112
  border: 1px solid #fff;
2116
- border-radius: $default-border-radius;
2113
+ border-radius: var(--border-radius_medium);
2117
2114
  box-sizing: border-box;
2118
2115
  content: "";
2119
2116
  height: 24px;
@@ -2148,7 +2145,7 @@ body.tox-dialog__disable-scroll {
2148
2145
  .tox .tox-toolbar-label {
2149
2146
  color: rgba(0, 0, 0, 0.7);
2150
2147
  display: block;
2151
- font-size: $base-font-size;
2148
+ font-size: var(--font-size_medium);
2152
2149
  font-style: normal;
2153
2150
  font-weight: 400;
2154
2151
  line-height: 1.3;
@@ -2271,22 +2268,22 @@ body.tox-dialog__disable-scroll {
2271
2268
  -webkit-appearance: none;
2272
2269
  -moz-appearance: none;
2273
2270
  appearance: none;
2274
- background-color: $form-field-background-color;
2271
+ background-color: var(--form-field-background-color);
2275
2272
  background-image: none; // If nested in Solidus we need to override the background image
2276
- border-color: $form-field-border-color;
2277
- border-radius: $default-border-radius;
2278
- border-style: $form-field-border-style;
2279
- border-width: $form-field-border-width;
2273
+ border-color: var(--form-field-border-color);
2274
+ border-radius: var(--border-radius_medium);
2275
+ border-style: var(--form-field-border-style);
2276
+ border-width: var(--form-field-border-width);
2280
2277
  box-shadow: none;
2281
2278
  box-sizing: border-box;
2282
- color: $form-field-text-color;
2283
- font-family: $default-font-family;
2284
- font-size: $form-field-font-size;
2285
- line-height: $form-field-line-height;
2279
+ color: var(--form-field-text-color);
2280
+ font-family: var(--font-default);
2281
+ font-size: var(--form-field-font-size);
2282
+ line-height: var(--form-field-line-height);
2286
2283
  margin: 0;
2287
- min-height: $form-field-height;
2284
+ min-height: var(--form-field-height);
2288
2285
  outline: 0;
2289
- padding: $form-field-padding;
2286
+ padding: var(--form-field-padding);
2290
2287
  resize: none;
2291
2288
  width: 100%;
2292
2289
 
@@ -2308,7 +2305,7 @@ body.tox-dialog__disable-scroll {
2308
2305
  .tox .tox-textfield:focus {
2309
2306
  border-color: transparent;
2310
2307
  box-shadow: none;
2311
- outline: 1px solid $focus-color !important; // Need to force the outline if used in Solidus
2308
+ outline: 1px solid var(--focus-color) !important; // Need to force the outline if used in Solidus
2312
2309
  }
2313
2310
 
2314
2311
  .tox .tox-toolbar-textfield {
@@ -2395,13 +2392,13 @@ body.tox-dialog__disable-scroll {
2395
2392
  appearance: none;
2396
2393
  background-color: #fff;
2397
2394
  border-color: rgba(175, 175, 175, 0.5);
2398
- border-radius: $default-border-radius;
2395
+ border-radius: var(--border-radius_medium);
2399
2396
  border-style: solid;
2400
2397
  border-width: 1px;
2401
2398
  box-shadow: none;
2402
2399
  box-sizing: border-box;
2403
2400
  color: #000;
2404
- font-family: $default-font-family;
2401
+ font-family: var(--font-default);
2405
2402
  font-size: 13px;
2406
2403
  line-height: 24px;
2407
2404
  margin: 0;
@@ -2638,7 +2635,7 @@ body.tox-dialog__disable-scroll {
2638
2635
  .tox .tox-insert-table-picker__label {
2639
2636
  color: rgba(0, 0, 0, 0.7);
2640
2637
  display: block;
2641
- font-size: $base-font-size;
2638
+ font-size: var(--font-size_medium);
2642
2639
  padding: 3.25px;
2643
2640
  text-align: center;
2644
2641
  width: 100%;
@@ -2654,8 +2651,8 @@ body.tox-dialog__disable-scroll {
2654
2651
 
2655
2652
  .tox .tox-menu {
2656
2653
  background-color: #fff;
2657
- border: $default-border;
2658
- border-radius: $default-border-radius;
2654
+ border: var(--border-default);
2655
+ border-radius: var(--border-radius_medium);
2659
2656
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
2660
2657
  display: inline-block;
2661
2658
  overflow: hidden;
@@ -2701,19 +2698,19 @@ body.tox-dialog__disable-scroll {
2701
2698
  .tox.tox-tinymce:not(.tox-tinymce-inline)
2702
2699
  .tox-editor-header:not(:first-child)
2703
2700
  .tox-menubar {
2704
- border-top: $default-border;
2701
+ border-top: var(--border-default);
2705
2702
  }
2706
2703
 
2707
2704
  .tox .tox-mbtn {
2708
2705
  align-items: center;
2709
2706
  background: 0 0;
2710
2707
  border: 0;
2711
- border-radius: $default-border-radius;
2708
+ border-radius: var(--border-radius_medium);
2712
2709
  box-shadow: none;
2713
- color: var(--color-icon);
2710
+ color: var(--icon-color);
2714
2711
  display: flex;
2715
2712
  flex: 0 0 auto;
2716
- font-size: $base-font-size;
2713
+ font-size: var(--font-size_medium);
2717
2714
  font-style: normal;
2718
2715
  font-weight: 400;
2719
2716
  height: 34px;
@@ -2774,14 +2771,14 @@ body.tox-dialog__disable-scroll {
2774
2771
  }
2775
2772
 
2776
2773
  .tox .tox-notification {
2777
- border-radius: $default-border-radius;
2774
+ border-radius: var(--border-radius_medium);
2778
2775
  border-style: solid;
2779
2776
  border-width: 1px;
2780
2777
  box-shadow: none;
2781
2778
  box-sizing: border-box;
2782
2779
  display: -ms-grid;
2783
2780
  display: grid;
2784
- font-size: $base-font-size;
2781
+ font-size: var(--font-size_medium);
2785
2782
  font-weight: 400;
2786
2783
  -ms-grid-columns: minmax(40px, 1fr) auto minmax(40px, 1fr);
2787
2784
  grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr);
@@ -2794,7 +2791,7 @@ body.tox-dialog__disable-scroll {
2794
2791
  }
2795
2792
 
2796
2793
  .tox .tox-notification p {
2797
- font-size: $base-font-size;
2794
+ font-size: var(--font-size_medium);
2798
2795
  font-weight: 400;
2799
2796
  }
2800
2797
 
@@ -2986,8 +2983,8 @@ body.tox-dialog__disable-scroll {
2986
2983
 
2987
2984
  .tox .tox-pop__dialog {
2988
2985
  background-color: #fff;
2989
- border: $default-border;
2990
- border-radius: $default-border-radius;
2986
+ border: var(--border-default);
2987
+ border-radius: var(--border-radius_medium);
2991
2988
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
2992
2989
  min-width: 0;
2993
2990
  overflow: hidden;
@@ -3181,8 +3178,8 @@ body.tox-dialog__disable-scroll {
3181
3178
 
3182
3179
  .tox .tox-slider__rail {
3183
3180
  background-color: transparent;
3184
- border: $default-border;
3185
- border-radius: $default-border-radius;
3181
+ border: var(--border-default);
3182
+ border-radius: var(--border-radius_medium);
3186
3183
  height: 10px;
3187
3184
  min-width: 120px;
3188
3185
  width: 100%;
@@ -3191,7 +3188,7 @@ body.tox-dialog__disable-scroll {
3191
3188
  .tox .tox-slider__handle {
3192
3189
  background-color: #2d5a8d;
3193
3190
  border: 2px solid #214166;
3194
- border-radius: $default-border-radius;
3191
+ border-radius: var(--border-radius_medium);
3195
3192
  box-shadow: none;
3196
3193
  height: 24px;
3197
3194
  left: 50%;
@@ -3248,8 +3245,8 @@ body.tox-dialog__disable-scroll {
3248
3245
  .tox .tox-statusbar {
3249
3246
  align-items: center;
3250
3247
  background-color: var(--color-grey_very_light);
3251
- border-top: $default-border;
3252
- color: var(--color-text_muted);
3248
+ border-top: var(--border-default);
3249
+ color: var(--text-color-muted);
3253
3250
  display: flex;
3254
3251
  flex: 0 0 auto;
3255
3252
  font-size: var(--font-size_small);
@@ -3289,7 +3286,7 @@ body.tox-dialog__disable-scroll {
3289
3286
  .tox .tox-statusbar a,
3290
3287
  .tox .tox-statusbar__path-item,
3291
3288
  .tox .tox-statusbar__wordcount {
3292
- color: var(--color-text);
3289
+ color: var(--text-color);
3293
3290
  text-decoration: none;
3294
3291
  }
3295
3292
 
@@ -3318,7 +3315,7 @@ body.tox-dialog__disable-scroll {
3318
3315
 
3319
3316
  .tox .tox-statusbar__resize-handle svg {
3320
3317
  display: block;
3321
- fill: var(--color-icon);
3318
+ fill: var(--icon-color);
3322
3319
  }
3323
3320
 
3324
3321
  .tox .tox-statusbar__resize-handle:focus svg {
@@ -3363,27 +3360,27 @@ body.tox-dialog__disable-scroll {
3363
3360
  align-items: center;
3364
3361
  background: 0 0;
3365
3362
  border: 0;
3366
- border-radius: $default-border-radius;
3363
+ border-radius: var(--border-radius_medium);
3367
3364
  box-shadow: none;
3368
- color: var(--color-icon);
3365
+ color: var(--icon-color);
3369
3366
  display: flex;
3370
3367
  flex: 0 0 auto;
3371
- font-size: $base-font-size;
3368
+ font-size: var(--font-size_medium);
3372
3369
  font-style: normal;
3373
3370
  font-weight: 400;
3374
- height: $icon-button-medium-height;
3371
+ height: var(--icon-button-medium-height);
3375
3372
  justify-content: center;
3376
3373
  margin: var(--spacing-1) 1px;
3377
3374
  outline: 0;
3378
3375
  overflow: hidden;
3379
3376
  padding: 0;
3380
3377
  text-transform: none;
3381
- width: $icon-button-medium-width;
3378
+ width: var(--icon-button-medium-width);
3382
3379
  }
3383
3380
 
3384
3381
  .tox .tox-tbtn svg {
3385
3382
  display: block;
3386
- fill: var(--color-icon);
3383
+ fill: var(--icon-color);
3387
3384
  }
3388
3385
 
3389
3386
  .tox .tox-tbtn.tox-tbtn-more {
@@ -3532,7 +3529,7 @@ body.tox-dialog__disable-scroll {
3532
3529
 
3533
3530
  .tox .tox-split-button {
3534
3531
  border: 0;
3535
- border-radius: $default-border-radius;
3532
+ border-radius: var(--border-radius_medium);
3536
3533
  box-sizing: border-box;
3537
3534
  display: flex;
3538
3535
  margin: 2px 0 3px 0;
@@ -3621,7 +3618,7 @@ body.tox-dialog__disable-scroll {
3621
3618
 
3622
3619
  .tox .tox-menubar + .tox-toolbar,
3623
3620
  .tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary {
3624
- border-top: $default-border;
3621
+ border-top: var(--border-default);
3625
3622
  margin-top: -1px;
3626
3623
  }
3627
3624
 
@@ -3645,13 +3642,13 @@ body.tox-dialog__disable-scroll {
3645
3642
  .tox-tinymce:not(.tox-tinymce-inline)
3646
3643
  .tox-editor-header:not(:first-child)
3647
3644
  .tox-toolbar:first-child {
3648
- border-top: $default-border;
3645
+ border-top: var(--border-default);
3649
3646
  }
3650
3647
 
3651
3648
  .tox.tox-tinymce-aux .tox-toolbar__overflow {
3652
3649
  background-color: #fff;
3653
- border: $default-border;
3654
- border-radius: $default-border-radius;
3650
+ border: var(--border-default);
3651
+ border-radius: var(--border-radius_medium);
3655
3652
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
3656
3653
  }
3657
3654
 
@@ -3673,11 +3670,11 @@ body.tox-dialog__disable-scroll {
3673
3670
  }
3674
3671
 
3675
3672
  .tox:not([dir="rtl"]) .tox-toolbar__group:not(:last-of-type) {
3676
- border-right: $default-border;
3673
+ border-right: var(--border-default);
3677
3674
  }
3678
3675
 
3679
3676
  .tox[dir="rtl"] .tox-toolbar__group:not(:last-of-type) {
3680
- border-left: $default-border;
3677
+ border-left: var(--border-default);
3681
3678
  }
3682
3679
 
3683
3680
  .tox .tox-tooltip {
@@ -3688,10 +3685,10 @@ body.tox-dialog__disable-scroll {
3688
3685
 
3689
3686
  .tox .tox-tooltip__body {
3690
3687
  background-color: #000;
3691
- border-radius: $default-border-radius;
3688
+ border-radius: var(--border-radius_medium);
3692
3689
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
3693
3690
  color: rgba(255, 255, 255, 0.75);
3694
- font-size: $base-font-size;
3691
+ font-size: var(--font-size_medium);
3695
3692
  font-style: normal;
3696
3693
  font-weight: 400;
3697
3694
  padding: 3.25px 6.5px;
@@ -3743,8 +3740,8 @@ body.tox-dialog__disable-scroll {
3743
3740
  }
3744
3741
 
3745
3742
  .tox .tox-well {
3746
- border: $default-border;
3747
- border-radius: $default-border-radius;
3743
+ border: var(--border-default);
3744
+ border-radius: var(--border-radius_medium);
3748
3745
  padding: 6.5px;
3749
3746
  width: 100%;
3750
3747
  }
@@ -3762,8 +3759,8 @@ body.tox-dialog__disable-scroll {
3762
3759
  }
3763
3760
 
3764
3761
  .tox .tox-custom-editor {
3765
- border: $default-border;
3766
- border-radius: $default-border-radius;
3762
+ border: var(--border-default);
3763
+ border-radius: var(--border-radius_medium);
3767
3764
  display: flex;
3768
3765
  flex: 1;
3769
3766
  position: relative;