diff --git a/administrator/components/com_admin/script.php b/administrator/components/com_admin/script.php
index f6874a0333d5a..cc780333941cd 100644
--- a/administrator/components/com_admin/script.php
+++ b/administrator/components/com_admin/script.php
@@ -6109,6 +6109,221 @@ public function deleteUnexistingFiles($dryRun = false, $suppressOutput = false)
'/media/com_joomlaupdate/js/update.min.js.gz',
'/templates/cassiopeia/images/system/sort_asc.png',
'/templates/cassiopeia/images/system/sort_desc.png',
+ // From 4.0.4 to 4.1.0
+ '/administrator/templates/atum/css/system/searchtools/searchtools.css',
+ '/administrator/templates/atum/css/system/searchtools/searchtools.min.css',
+ '/administrator/templates/atum/css/system/searchtools/searchtools.min.css.gz',
+ '/administrator/templates/atum/css/template-rtl.css',
+ '/administrator/templates/atum/css/template-rtl.min.css',
+ '/administrator/templates/atum/css/template-rtl.min.css.gz',
+ '/administrator/templates/atum/css/template.css',
+ '/administrator/templates/atum/css/template.min.css',
+ '/administrator/templates/atum/css/template.min.css.gz',
+ '/administrator/templates/atum/css/vendor/awesomplete/awesomplete.css',
+ '/administrator/templates/atum/css/vendor/awesomplete/awesomplete.min.css',
+ '/administrator/templates/atum/css/vendor/awesomplete/awesomplete.min.css.gz',
+ '/administrator/templates/atum/css/vendor/choicesjs/choices.css',
+ '/administrator/templates/atum/css/vendor/choicesjs/choices.min.css',
+ '/administrator/templates/atum/css/vendor/choicesjs/choices.min.css.gz',
+ '/administrator/templates/atum/css/vendor/fontawesome-free/fontawesome.css',
+ '/administrator/templates/atum/css/vendor/fontawesome-free/fontawesome.min.css',
+ '/administrator/templates/atum/css/vendor/fontawesome-free/fontawesome.min.css.gz',
+ '/administrator/templates/atum/css/vendor/joomla-custom-elements/joomla-alert.css',
+ '/administrator/templates/atum/css/vendor/joomla-custom-elements/joomla-alert.min.css',
+ '/administrator/templates/atum/css/vendor/joomla-custom-elements/joomla-alert.min.css.gz',
+ '/administrator/templates/atum/css/vendor/joomla-custom-elements/joomla-tab.css',
+ '/administrator/templates/atum/css/vendor/joomla-custom-elements/joomla-tab.min.css',
+ '/administrator/templates/atum/css/vendor/joomla-custom-elements/joomla-tab.min.css.gz',
+ '/administrator/templates/atum/css/vendor/minicolors/minicolors.css',
+ '/administrator/templates/atum/css/vendor/minicolors/minicolors.min.css',
+ '/administrator/templates/atum/css/vendor/minicolors/minicolors.min.css.gz',
+ '/administrator/templates/atum/images/joomla-pattern.svg',
+ '/administrator/templates/atum/images/logos/brand-large.svg',
+ '/administrator/templates/atum/images/logos/brand-small.svg',
+ '/administrator/templates/atum/images/logos/login.svg',
+ '/administrator/templates/atum/images/select-bg-active-rtl.svg',
+ '/administrator/templates/atum/images/select-bg-active.svg',
+ '/administrator/templates/atum/images/select-bg-rtl.svg',
+ '/administrator/templates/atum/images/select-bg.svg',
+ '/administrator/templates/atum/scss/_root.scss',
+ '/administrator/templates/atum/scss/_variables.scss',
+ '/administrator/templates/atum/scss/blocks/_alerts.scss',
+ '/administrator/templates/atum/scss/blocks/_edit.scss',
+ '/administrator/templates/atum/scss/blocks/_form.scss',
+ '/administrator/templates/atum/scss/blocks/_global.scss',
+ '/administrator/templates/atum/scss/blocks/_header.scss',
+ '/administrator/templates/atum/scss/blocks/_icons.scss',
+ '/administrator/templates/atum/scss/blocks/_iframe.scss',
+ '/administrator/templates/atum/scss/blocks/_layout.scss',
+ '/administrator/templates/atum/scss/blocks/_lists.scss',
+ '/administrator/templates/atum/scss/blocks/_login.scss',
+ '/administrator/templates/atum/scss/blocks/_modals.scss',
+ '/administrator/templates/atum/scss/blocks/_quickicons.scss',
+ '/administrator/templates/atum/scss/blocks/_sidebar-nav.scss',
+ '/administrator/templates/atum/scss/blocks/_sidebar.scss',
+ '/administrator/templates/atum/scss/blocks/_switcher.scss',
+ '/administrator/templates/atum/scss/blocks/_toolbar.scss',
+ '/administrator/templates/atum/scss/blocks/_treeselect.scss',
+ '/administrator/templates/atum/scss/blocks/_utilities.scss',
+ '/administrator/templates/atum/scss/pages/_com_config.scss',
+ '/administrator/templates/atum/scss/pages/_com_content.scss',
+ '/administrator/templates/atum/scss/pages/_com_cpanel.scss',
+ '/administrator/templates/atum/scss/pages/_com_joomlaupdate.scss',
+ '/administrator/templates/atum/scss/pages/_com_modules.scss',
+ '/administrator/templates/atum/scss/pages/_com_privacy.scss',
+ '/administrator/templates/atum/scss/pages/_com_tags.scss',
+ '/administrator/templates/atum/scss/pages/_com_templates.scss',
+ '/administrator/templates/atum/scss/pages/_com_users.scss',
+ '/administrator/templates/atum/scss/system/searchtools/searchtools.scss',
+ '/administrator/templates/atum/scss/template-rtl.scss',
+ '/administrator/templates/atum/scss/template.scss',
+ '/administrator/templates/atum/scss/vendor/_bootstrap.scss',
+ '/administrator/templates/atum/scss/vendor/_codemirror.scss',
+ '/administrator/templates/atum/scss/vendor/_dragula.scss',
+ '/administrator/templates/atum/scss/vendor/_tinymce.scss',
+ '/administrator/templates/atum/scss/vendor/awesomplete/awesomplete.scss',
+ '/administrator/templates/atum/scss/vendor/bootstrap/_badge.scss',
+ '/administrator/templates/atum/scss/vendor/bootstrap/_bootstrap-rtl.scss',
+ '/administrator/templates/atum/scss/vendor/bootstrap/_buttons.scss',
+ '/administrator/templates/atum/scss/vendor/bootstrap/_card.scss',
+ '/administrator/templates/atum/scss/vendor/bootstrap/_collapse.scss',
+ '/administrator/templates/atum/scss/vendor/bootstrap/_custom-forms.scss',
+ '/administrator/templates/atum/scss/vendor/bootstrap/_dropdown.scss',
+ '/administrator/templates/atum/scss/vendor/bootstrap/_form.scss',
+ '/administrator/templates/atum/scss/vendor/bootstrap/_lists.scss',
+ '/administrator/templates/atum/scss/vendor/bootstrap/_modal.scss',
+ '/administrator/templates/atum/scss/vendor/bootstrap/_pagination.scss',
+ '/administrator/templates/atum/scss/vendor/bootstrap/_reboot.scss',
+ '/administrator/templates/atum/scss/vendor/bootstrap/_table.scss',
+ '/administrator/templates/atum/scss/vendor/choicesjs/choices.scss',
+ '/administrator/templates/atum/scss/vendor/fontawesome-free/fontawesome.scss',
+ '/administrator/templates/atum/scss/vendor/joomla-custom-elements/joomla-alert.scss',
+ '/administrator/templates/atum/scss/vendor/joomla-custom-elements/joomla-tab.scss',
+ '/administrator/templates/atum/scss/vendor/minicolors/minicolors.scss',
+ '/administrator/templates/atum/template_preview.png',
+ '/administrator/templates/atum/template_thumbnail.png',
+ '/administrator/templates/system/css/error.css',
+ '/administrator/templates/system/css/error.min.css',
+ '/administrator/templates/system/css/error.min.css.gz',
+ '/administrator/templates/system/css/system.css',
+ '/administrator/templates/system/css/system.min.css',
+ '/administrator/templates/system/css/system.min.css.gz',
+ '/administrator/templates/system/images/calendar.png',
+ '/administrator/templates/system/scss/error.scss',
+ '/administrator/templates/system/scss/system.scss',
+ '/templates/cassiopeia/css/editor.css',
+ '/templates/cassiopeia/css/editor.min.css',
+ '/templates/cassiopeia/css/editor.min.css.gz',
+ '/templates/cassiopeia/css/global/colors_alternative.css',
+ '/templates/cassiopeia/css/global/colors_alternative.min.css',
+ '/templates/cassiopeia/css/global/colors_alternative.min.css.gz',
+ '/templates/cassiopeia/css/global/colors_standard.css',
+ '/templates/cassiopeia/css/global/colors_standard.min.css',
+ '/templates/cassiopeia/css/global/colors_standard.min.css.gz',
+ '/templates/cassiopeia/css/global/fonts-local_roboto.css',
+ '/templates/cassiopeia/css/global/fonts-local_roboto.min.css',
+ '/templates/cassiopeia/css/global/fonts-local_roboto.min.css.gz',
+ '/templates/cassiopeia/css/offline.css',
+ '/templates/cassiopeia/css/offline.min.css',
+ '/templates/cassiopeia/css/offline.min.css.gz',
+ '/templates/cassiopeia/css/system/searchtools/searchtools.css',
+ '/templates/cassiopeia/css/system/searchtools/searchtools.min.css',
+ '/templates/cassiopeia/css/system/searchtools/searchtools.min.css.gz',
+ '/templates/cassiopeia/css/template-rtl.css',
+ '/templates/cassiopeia/css/template-rtl.min.css',
+ '/templates/cassiopeia/css/template-rtl.min.css.gz',
+ '/templates/cassiopeia/css/template.css',
+ '/templates/cassiopeia/css/template.min.css',
+ '/templates/cassiopeia/css/template.min.css.gz',
+ '/templates/cassiopeia/css/vendor/choicesjs/choices.css',
+ '/templates/cassiopeia/css/vendor/choicesjs/choices.min.css',
+ '/templates/cassiopeia/css/vendor/choicesjs/choices.min.css.gz',
+ '/templates/cassiopeia/css/vendor/joomla-custom-elements/joomla-alert.css',
+ '/templates/cassiopeia/css/vendor/joomla-custom-elements/joomla-alert.min.css',
+ '/templates/cassiopeia/css/vendor/joomla-custom-elements/joomla-alert.min.css.gz',
+ '/templates/cassiopeia/images/logo.svg',
+ '/templates/cassiopeia/images/select-bg-active-rtl.svg',
+ '/templates/cassiopeia/images/select-bg-active.svg',
+ '/templates/cassiopeia/images/select-bg-rtl.svg',
+ '/templates/cassiopeia/images/select-bg.svg',
+ '/templates/cassiopeia/js/template.es5.js',
+ '/templates/cassiopeia/js/template.js',
+ '/templates/cassiopeia/js/template.min.js',
+ '/templates/cassiopeia/js/template.min.js.gz',
+ '/templates/cassiopeia/scss/blocks/_alerts.scss',
+ '/templates/cassiopeia/scss/blocks/_back-to-top.scss',
+ '/templates/cassiopeia/scss/blocks/_banner.scss',
+ '/templates/cassiopeia/scss/blocks/_css-grid.scss',
+ '/templates/cassiopeia/scss/blocks/_footer.scss',
+ '/templates/cassiopeia/scss/blocks/_form.scss',
+ '/templates/cassiopeia/scss/blocks/_frontend-edit.scss',
+ '/templates/cassiopeia/scss/blocks/_global.scss',
+ '/templates/cassiopeia/scss/blocks/_header.scss',
+ '/templates/cassiopeia/scss/blocks/_icons.scss',
+ '/templates/cassiopeia/scss/blocks/_iframe.scss',
+ '/templates/cassiopeia/scss/blocks/_layout.scss',
+ '/templates/cassiopeia/scss/blocks/_legacy.scss',
+ '/templates/cassiopeia/scss/blocks/_modals.scss',
+ '/templates/cassiopeia/scss/blocks/_modifiers.scss',
+ '/templates/cassiopeia/scss/blocks/_tags.scss',
+ '/templates/cassiopeia/scss/blocks/_toolbar.scss',
+ '/templates/cassiopeia/scss/blocks/_utilities.scss',
+ '/templates/cassiopeia/scss/editor.scss',
+ '/templates/cassiopeia/scss/global/colors_alternative.scss',
+ '/templates/cassiopeia/scss/global/colors_standard.scss',
+ '/templates/cassiopeia/scss/global/fonts-local_roboto.scss',
+ '/templates/cassiopeia/scss/offline.scss',
+ '/templates/cassiopeia/scss/system/searchtools/searchtools.scss',
+ '/templates/cassiopeia/scss/template-rtl.scss',
+ '/templates/cassiopeia/scss/template.scss',
+ '/templates/cassiopeia/scss/tools/_tools.scss',
+ '/templates/cassiopeia/scss/tools/functions/_max-width.scss',
+ '/templates/cassiopeia/scss/tools/variables/_variables.scss',
+ '/templates/cassiopeia/scss/vendor/_awesomplete.scss',
+ '/templates/cassiopeia/scss/vendor/_chosen.scss',
+ '/templates/cassiopeia/scss/vendor/_dragula.scss',
+ '/templates/cassiopeia/scss/vendor/_minicolors.scss',
+ '/templates/cassiopeia/scss/vendor/_tinymce.scss',
+ '/templates/cassiopeia/scss/vendor/bootstrap/_bootstrap-rtl.scss',
+ '/templates/cassiopeia/scss/vendor/bootstrap/_buttons.scss',
+ '/templates/cassiopeia/scss/vendor/bootstrap/_collapse.scss',
+ '/templates/cassiopeia/scss/vendor/bootstrap/_custom-forms.scss',
+ '/templates/cassiopeia/scss/vendor/bootstrap/_dropdown.scss',
+ '/templates/cassiopeia/scss/vendor/bootstrap/_forms.scss',
+ '/templates/cassiopeia/scss/vendor/bootstrap/_lists.scss',
+ '/templates/cassiopeia/scss/vendor/bootstrap/_modal.scss',
+ '/templates/cassiopeia/scss/vendor/bootstrap/_nav.scss',
+ '/templates/cassiopeia/scss/vendor/bootstrap/_pagination.scss',
+ '/templates/cassiopeia/scss/vendor/bootstrap/_table.scss',
+ '/templates/cassiopeia/scss/vendor/choicesjs/choices.scss',
+ '/templates/cassiopeia/scss/vendor/joomla-custom-elements/joomla-alert.scss',
+ '/templates/cassiopeia/scss/vendor/metismenu/_metismenu.scss',
+ '/templates/cassiopeia/template_preview.png',
+ '/templates/cassiopeia/template_thumbnail.png',
+ '/templates/system/css/editor.css',
+ '/templates/system/css/editor.min.css',
+ '/templates/system/css/editor.min.css.gz',
+ '/templates/system/css/error.css',
+ '/templates/system/css/error.min.css',
+ '/templates/system/css/error.min.css.gz',
+ '/templates/system/css/error_rtl.css',
+ '/templates/system/css/error_rtl.min.css',
+ '/templates/system/css/error_rtl.min.css.gz',
+ '/templates/system/css/general.css',
+ '/templates/system/css/general.min.css',
+ '/templates/system/css/general.min.css.gz',
+ '/templates/system/css/offline.css',
+ '/templates/system/css/offline.min.css',
+ '/templates/system/css/offline.min.css.gz',
+ '/templates/system/css/offline_rtl.css',
+ '/templates/system/css/offline_rtl.min.css',
+ '/templates/system/css/offline_rtl.min.css.gz',
+ '/templates/system/scss/editor.scss',
+ '/templates/system/scss/error.scss',
+ '/templates/system/scss/error_rtl.scss',
+ '/templates/system/scss/general.scss',
+ '/templates/system/scss/offline.scss',
+ '/templates/system/scss/offline_rtl.scss',
);
$folders = array(
@@ -7368,6 +7583,57 @@ public function deleteUnexistingFiles($dryRun = false, $suppressOutput = false)
'/libraries/vendor/algo26-matthias/idna-convert/tests',
// From 4.0.3 to 4.0.4
'/templates/cassiopeia/images/system',
+ // From 4.0.4 to 4.1.0
+ '/templates/system/scss',
+ '/templates/system/css',
+ '/templates/cassiopeia/scss/vendor/metismenu',
+ '/templates/cassiopeia/scss/vendor/joomla-custom-elements',
+ '/templates/cassiopeia/scss/vendor/choicesjs',
+ '/templates/cassiopeia/scss/vendor/bootstrap',
+ '/templates/cassiopeia/scss/vendor',
+ '/templates/cassiopeia/scss/tools/variables',
+ '/templates/cassiopeia/scss/tools/functions',
+ '/templates/cassiopeia/scss/tools',
+ '/templates/cassiopeia/scss/system/searchtools',
+ '/templates/cassiopeia/scss/system',
+ '/templates/cassiopeia/scss/global',
+ '/templates/cassiopeia/scss/blocks',
+ '/templates/cassiopeia/scss',
+ '/templates/cassiopeia/js',
+ '/templates/cassiopeia/images',
+ '/templates/cassiopeia/css/vendor/joomla-custom-elements',
+ '/templates/cassiopeia/css/vendor/choicesjs',
+ '/templates/cassiopeia/css/vendor',
+ '/templates/cassiopeia/css/system/searchtools',
+ '/templates/cassiopeia/css/system',
+ '/templates/cassiopeia/css/global',
+ '/templates/cassiopeia/css',
+ '/administrator/templates/system/scss',
+ '/administrator/templates/system/images',
+ '/administrator/templates/system/css',
+ '/administrator/templates/atum/scss/vendor/minicolors',
+ '/administrator/templates/atum/scss/vendor/joomla-custom-elements',
+ '/administrator/templates/atum/scss/vendor/fontawesome-free',
+ '/administrator/templates/atum/scss/vendor/choicesjs',
+ '/administrator/templates/atum/scss/vendor/bootstrap',
+ '/administrator/templates/atum/scss/vendor/awesomplete',
+ '/administrator/templates/atum/scss/vendor',
+ '/administrator/templates/atum/scss/system/searchtools',
+ '/administrator/templates/atum/scss/system',
+ '/administrator/templates/atum/scss/pages',
+ '/administrator/templates/atum/scss/blocks',
+ '/administrator/templates/atum/scss',
+ '/administrator/templates/atum/images/logos',
+ '/administrator/templates/atum/images',
+ '/administrator/templates/atum/css/vendor/minicolors',
+ '/administrator/templates/atum/css/vendor/joomla-custom-elements',
+ '/administrator/templates/atum/css/vendor/fontawesome-free',
+ '/administrator/templates/atum/css/vendor/choicesjs',
+ '/administrator/templates/atum/css/vendor/awesomplete',
+ '/administrator/templates/atum/css/vendor',
+ '/administrator/templates/atum/css/system/searchtools',
+ '/administrator/templates/atum/css/system',
+ '/administrator/templates/atum/css',
);
$status['files_checked'] = $files;
@@ -7393,6 +7659,8 @@ public function deleteUnexistingFiles($dryRun = false, $suppressOutput = false)
}
}
+ $this->moveRemainingTemplateFiles();
+
foreach ($folders as $folder)
{
if ($folderExists = Folder::exists(JPATH_ROOT . $folder))
@@ -8211,4 +8479,55 @@ protected function fixFilenameCasing()
}
}
}
+
+ /**
+ * Move core template (s)css or js or image files which are left after deleting
+ * obsolete core files to the right place in media folder.
+ *
+ * @return void
+ *
+ * @since __DEPLOY_VERSION__
+ */
+ protected function moveRemainingTemplateFiles()
+ {
+ $folders = [
+ '/administrator/templates/atum/css' => '/media/templates/administrator/atum/css',
+ '/administrator/templates/atum/images' => '/media/templates/administrator/atum/images',
+ '/administrator/templates/atum/js' => '/media/templates/administrator/atum/js',
+ '/administrator/templates/atum/scss' => '/media/templates/administrator/atum/scss',
+ '/templates/cassiopeia/css' => '/media/templates/site/cassiopeia/css',
+ '/templates/cassiopeia/images' => '/media/templates/site/cassiopeia/images',
+ '/templates/cassiopeia/js' => '/media/templates/site/cassiopeia/js',
+ '/templates/cassiopeia/scss' => '/media/templates/site/cassiopeia/scss',
+ ];
+
+ foreach ($folders as $oldFolder => $newFolder)
+ {
+ if (Folder::exists(JPATH_ROOT . $oldFolder))
+ {
+ $oldPath = \realpath(JPATH_ROOT . $oldFolder);
+ $newPath = \realpath(JPATH_ROOT . $newFolder);
+ $directory = new \RecursiveDirectoryIterator($oldPath);
+ $directory->setFlags(RecursiveDirectoryIterator::SKIP_DOTS);
+ $iterator = new \RecursiveIteratorIterator($directory);
+
+ // Handle all files in this folder and all sub-folders
+ foreach ($iterator as $oldFile)
+ {
+ if ($oldFile->isDir())
+ {
+ continue;
+ }
+
+ $newFile = $newPath . substr($oldFile, strlen($oldPath));
+
+ // Create target folder and parent folders if they don't exist yet
+ if (is_dir(\dirname($newFile)) || @mkdir(\dirname($newFile), 0755, true))
+ {
+ File::move($oldFile, $newFile);
+ }
+ }
+ }
+ }
+ }
}
diff --git a/administrator/components/com_admin/sql/updates/mysql/4.1.0-2021-11-28.sql b/administrator/components/com_admin/sql/updates/mysql/4.1.0-2021-11-28.sql
new file mode 100644
index 0000000000000..7d1ad8ab702df
--- /dev/null
+++ b/administrator/components/com_admin/sql/updates/mysql/4.1.0-2021-11-28.sql
@@ -0,0 +1,9 @@
+--
+-- Convert core templates to new mode
+--
+UPDATE `#__template_styles` SET `inheritable` = 1 WHERE `template` = 'atum' AND `client_id` = 1 OR `template` = 'cassiopeia' AND `client_id` = 0;
+
+UPDATE `#__template_styles`
+ SET `params` = REPLACE(`params`,'"useFontScheme":"templates\\/cassiopeia\\/css\\/','"useFontScheme":"media\\/templates\\/site\\/cassiopeia\\/css\\/')
+ WHERE `template` = 'cassiopeia'
+ AND `client_id` = 0;
diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.1.0-2021-11-28.sql b/administrator/components/com_admin/sql/updates/postgresql/4.1.0-2021-11-28.sql
new file mode 100644
index 0000000000000..8deaab6c84517
--- /dev/null
+++ b/administrator/components/com_admin/sql/updates/postgresql/4.1.0-2021-11-28.sql
@@ -0,0 +1,9 @@
+--
+-- Convert core templates to new mode
+--
+UPDATE "#__template_styles" SET "inheritable" = 1 WHERE "template" = 'atum' AND "client_id" = 1 OR "template" = 'cassiopeia' AND "client_id" = 0;
+
+UPDATE "#__template_styles"
+ SET "params" = REPLACE("params",'"useFontScheme":"templates\\/cassiopeia\\/css\\/','"useFontScheme":"media\\/templates\\/site\\/cassiopeia\\/css\\/')
+ WHERE "template" = 'cassiopeia'
+ AND "client_id" = 0;
diff --git a/administrator/templates/atum/error_full.php b/administrator/templates/atum/error_full.php
index 2c2ec0ebcbf14..6886a175da8ff 100644
--- a/administrator/templates/atum/error_full.php
+++ b/administrator/templates/atum/error_full.php
@@ -37,10 +37,10 @@
// Template params
$logoBrandLarge = $this->params->get('logoBrandLarge')
? Uri::root() . htmlspecialchars($this->params->get('logoBrandLarge'), ENT_QUOTES)
- : $this->baseurl . '/templates/' . $this->template . '/images/logos/brand-large.svg';
+ : Uri::root() . 'media/templates/administrator/atum/images/logos/brand-large.svg';
$logoBrandSmall = $this->params->get('logoBrandSmall')
? Uri::root() . htmlspecialchars($this->params->get('logoBrandSmall'), ENT_QUOTES)
- : $this->baseurl . '/templates/' . $this->template . '/images/logos/brand-small.svg';
+ : Uri::root() . 'media/templates/administrator/atum/images/logos/brand-small.svg';
$logoBrandLargeAlt = empty($this->params->get('logoBrandLargeAlt')) && empty($this->params->get('emptyLogoBrandLargeAlt'))
? 'alt=""'
diff --git a/administrator/templates/atum/error_login.php b/administrator/templates/atum/error_login.php
index 7bec7f8c3b7bd..68144ad07aebc 100644
--- a/administrator/templates/atum/error_login.php
+++ b/administrator/templates/atum/error_login.php
@@ -35,13 +35,13 @@
// Template params
$logoBrandLarge = $this->params->get('logoBrandLarge')
? Uri::root() . htmlspecialchars($this->params->get('logoBrandLarge'), ENT_QUOTES)
- : $this->baseurl . '/templates/' . $this->template . '/images/logos/brand-large.svg';
+ : Uri::root() . 'media/templates/administrator/atum/images/logos/brand-large.svg';
$loginLogo = $this->params->get('loginLogo')
? Uri::root() . $this->params->get('loginLogo')
- : $this->baseurl . '/templates/' . $this->template . '/images/logos/login.svg';
+ : Uri::root() . 'media/templates/administrator/atum/images/logos/login.svg';
$logoBrandSmall = $this->params->get('logoBrandSmall')
? Uri::root() . htmlspecialchars($this->params->get('logoBrandSmall'), ENT_QUOTES)
- : $this->baseurl . '/templates/' . $this->template . '/images/logos/brand-small.svg';
+ : Uri::root() . 'media/templates/administrator/atum/images/logos/brand-small.svg';
$logoBrandLargeAlt = empty($this->params->get('logoBrandLargeAlt')) && empty($this->params->get('emptyLogoBrandLargeAlt'))
? 'alt=""'
diff --git a/administrator/templates/atum/index.php b/administrator/templates/atum/index.php
index 09425f5019285..734e0ca9e48f6 100644
--- a/administrator/templates/atum/index.php
+++ b/administrator/templates/atum/index.php
@@ -45,10 +45,10 @@
// Template params
$logoBrandLarge = $this->params->get('logoBrandLarge')
? Uri::root() . htmlspecialchars($this->params->get('logoBrandLarge'), ENT_QUOTES)
- : $this->baseurl . '/templates/' . $this->template . '/images/logos/brand-large.svg';
+ : Uri::root() . 'media/templates/administrator/atum/images/logos/brand-large.svg';
$logoBrandSmall = $this->params->get('logoBrandSmall')
? Uri::root() . htmlspecialchars($this->params->get('logoBrandSmall'), ENT_QUOTES)
- : $this->baseurl . '/templates/' . $this->template . '/images/logos/brand-small.svg';
+ : Uri::root() . 'media/templates/administrator/atum/images/logos/brand-small.svg';
$logoBrandLargeAlt = empty($this->params->get('logoBrandLargeAlt')) && empty($this->params->get('emptyLogoBrandLargeAlt'))
? 'alt=""'
diff --git a/administrator/templates/atum/login.php b/administrator/templates/atum/login.php
index fdf0cd1fd6a4f..b38b3d29b732d 100644
--- a/administrator/templates/atum/login.php
+++ b/administrator/templates/atum/login.php
@@ -35,13 +35,13 @@
// Template params
$logoBrandLarge = $this->params->get('logoBrandLarge')
? Uri::root() . htmlspecialchars($this->params->get('logoBrandLarge'), ENT_QUOTES)
- : $this->baseurl . '/templates/' . $this->template . '/images/logos/brand-large.svg';
+ : Uri::root() . 'media/templates/administrator/atum/images/logos/brand-large.svg';
$loginLogo = $this->params->get('loginLogo')
? Uri::root() . $this->params->get('loginLogo')
- : $this->baseurl . '/templates/' . $this->template . '/images/logos/login.svg';
+ : Uri::root() . 'media/templates/administrator/atum/images/logos/login.svg';
$logoBrandSmall = $this->params->get('logoBrandSmall')
? Uri::root() . htmlspecialchars($this->params->get('logoBrandSmall'), ENT_QUOTES)
- : $this->baseurl . '/templates/' . $this->template . '/images/logos/brand-small.svg';
+ : Uri::root() . 'media/templates/administrator/atum/images/logos/brand-small.svg';
$logoBrandLargeAlt = empty($this->params->get('logoBrandLargeAlt')) && empty($this->params->get('emptyLogoBrandLargeAlt'))
? 'alt=""'
diff --git a/administrator/templates/atum/scss/vendor/_bootstrap.scss b/administrator/templates/atum/scss/vendor/_bootstrap.scss
deleted file mode 100644
index 82d42c5fefb4b..0000000000000
--- a/administrator/templates/atum/scss/vendor/_bootstrap.scss
+++ /dev/null
@@ -1,37 +0,0 @@
-// Variables
-
-// Media, Jumbotron & Print removed https://getbootstrap.com/docs/5.0/migration/
-// Code is now in reboot https://github.com/twbs/bootstrap/pull/28917/files
-
-@import "../../../../../media/vendor/bootstrap/scss/variables";
-@import "../../../../../media/vendor/bootstrap/scss/mixins";
-@import "../root";
-@import "../../../../../media/vendor/bootstrap/scss/reboot";
-@import "../../../../../media/vendor/bootstrap/scss/type";
-@import "../../../../../media/vendor/bootstrap/scss/images";
-@import "../../../../../media/vendor/bootstrap/scss/containers";
-@import "../../../../../media/vendor/bootstrap/scss/grid";
-@import "../../../../../media/vendor/bootstrap/scss/tables";
-@import "../../../../../media/vendor/bootstrap/scss/forms";
-@import "../../../../../media/vendor/bootstrap/scss/buttons";
-@import "../../../../../media/vendor/bootstrap/scss/transitions";
-@import "../../../../../media/vendor/bootstrap/scss/dropdown";
-@import "../../../../../media/vendor/bootstrap/scss/accordion";
-@import "../../../../../media/vendor/bootstrap/scss/button-group";
-@import "../../../../../media/vendor/bootstrap/scss/nav";
-@import "../../../../../media/vendor/bootstrap/scss/navbar";
-@import "../../../../../media/vendor/bootstrap/scss/card";
-@import "../../../../../media/vendor/bootstrap/scss/breadcrumb";
-@import "../../../../../media/vendor/bootstrap/scss/pagination";
-@import "../../../../../media/vendor/bootstrap/scss/badge";
-@import "../../../../../media/vendor/bootstrap/scss/alert";
-@import "../../../../../media/vendor/bootstrap/scss/progress";
-@import "../../../../../media/vendor/bootstrap/scss/list-group";
-@import "../../../../../media/vendor/bootstrap/scss/close";
-@import "../../../../../media/vendor/bootstrap/scss/modal";
-@import "../../../../../media/vendor/bootstrap/scss/tooltip";
-@import "../../../../../media/vendor/bootstrap/scss/popover";
-@import "../../../../../media/vendor/bootstrap/scss/carousel";
-@import "../../../../../media/vendor/bootstrap/scss/utilities";
-@import "../../../../../media/vendor/bootstrap/scss/utilities/api";
-@import "../../../../../media/vendor/bootstrap/scss/helpers";
diff --git a/administrator/templates/atum/scss/vendor/awesomplete/awesomplete.scss b/administrator/templates/atum/scss/vendor/awesomplete/awesomplete.scss
deleted file mode 100644
index 87300dcb6a471..0000000000000
--- a/administrator/templates/atum/scss/vendor/awesomplete/awesomplete.scss
+++ /dev/null
@@ -1,6 +0,0 @@
-// Awesomplete
-@import "../../../../../../node_modules/awesomplete/awesomplete";
-
-.awesomplete {
- display: block;
-}
diff --git a/administrator/templates/atum/scss/vendor/fontawesome-free/fontawesome.scss b/administrator/templates/atum/scss/vendor/fontawesome-free/fontawesome.scss
deleted file mode 100644
index 1593a6890ad6d..0000000000000
--- a/administrator/templates/atum/scss/vendor/fontawesome-free/fontawesome.scss
+++ /dev/null
@@ -1,14 +0,0 @@
-// Override the font path
-$fa-css-prefix: fa;
-$fa-font-path: "../../../../../../media/vendor/fontawesome-free/webfonts" !default;
-
-// Font Awesome 5 Free
-@import "../../../../../../media/vendor/fontawesome-free/scss/fontawesome";
-@import "../../../../../../media/vendor/fontawesome-free/scss/regular";
-@import "../../../../../../media/vendor/fontawesome-free/scss/solid";
-
-// Brands must be imported last
-@import "../../../../../../media/vendor/fontawesome-free/scss/brands";
-
-// B/C for Icomoon
-@import "../../../../../../build/media_source/system/scss/icomoon";
diff --git a/administrator/templates/atum/templateDetails.xml b/administrator/templates/atum/templateDetails.xml
index 24cd81d11d875..0e3c8e04e7d8f 100644
--- a/administrator/templates/atum/templateDetails.xml
+++ b/administrator/templates/atum/templateDetails.xml
@@ -7,6 +7,7 @@
admin@joomla.org
(C) 2016 Open Source Matters, Inc.
TPL_ATUM_XML_DESCRIPTION
+ 1
component.php
cpanel.php
@@ -17,15 +18,13 @@
joomla.asset.json
login.php
templateDetails.xml
- template_preview.png
- template_thumbnail.png
- css
html
- images
- scss
js
+ css
+ scss
+ images
diff --git a/administrator/templates/system/error.php b/administrator/templates/system/error.php
index 8fe0f197bd8e7..53c7a91e622a1 100644
--- a/administrator/templates/system/error.php
+++ b/administrator/templates/system/error.php
@@ -15,7 +15,7 @@
/** @var \Joomla\CMS\Document\ErrorDocument $this */
// Load template CSS file
-$this->getWebAssetManager()->registerAndUseStyle('template.system.error', 'administrator/templates/system/css/error.css');
+$this->getWebAssetManager()->registerAndUseStyle('template.system.error', 'media/system/css/system-admin-error.min.css');
// Set page title
$this->setTitle($this->error->getCode() . ' - ' . htmlspecialchars($this->error->getMessage(), ENT_QUOTES, 'UTF-8'));
diff --git a/administrator/templates/system/images/calendar.png b/build/media_source/system/images/calendar.png
similarity index 100%
rename from administrator/templates/system/images/calendar.png
rename to build/media_source/system/images/calendar.png
diff --git a/templates/system/scss/editor.scss b/build/media_source/system/scss/editor.scss
similarity index 100%
rename from templates/system/scss/editor.scss
rename to build/media_source/system/scss/editor.scss
diff --git a/administrator/templates/system/scss/error.scss b/build/media_source/system/scss/system-admin-error.scss
similarity index 100%
rename from administrator/templates/system/scss/error.scss
rename to build/media_source/system/scss/system-admin-error.scss
diff --git a/administrator/templates/system/scss/system.scss b/build/media_source/system/scss/system-admin-system.scss
similarity index 100%
rename from administrator/templates/system/scss/system.scss
rename to build/media_source/system/scss/system-admin-system.scss
diff --git a/templates/system/scss/error.scss b/build/media_source/system/scss/system-site-error.scss
similarity index 100%
rename from templates/system/scss/error.scss
rename to build/media_source/system/scss/system-site-error.scss
diff --git a/templates/system/scss/error_rtl.scss b/build/media_source/system/scss/system-site-error_rtl.scss
similarity index 100%
rename from templates/system/scss/error_rtl.scss
rename to build/media_source/system/scss/system-site-error_rtl.scss
diff --git a/templates/system/scss/general.scss b/build/media_source/system/scss/system-site-general.scss
similarity index 100%
rename from templates/system/scss/general.scss
rename to build/media_source/system/scss/system-site-general.scss
diff --git a/templates/system/scss/offline.scss b/build/media_source/system/scss/system-site-offline.scss
similarity index 100%
rename from templates/system/scss/offline.scss
rename to build/media_source/system/scss/system-site-offline.scss
diff --git a/templates/system/scss/offline_rtl.scss b/build/media_source/system/scss/system-site-offline_rtl.scss
similarity index 100%
rename from templates/system/scss/offline_rtl.scss
rename to build/media_source/system/scss/system-site-offline_rtl.scss
diff --git a/administrator/templates/atum/images/joomla-pattern.svg b/build/media_source/templates/administrator/atum/images/joomla-pattern.svg
similarity index 100%
rename from administrator/templates/atum/images/joomla-pattern.svg
rename to build/media_source/templates/administrator/atum/images/joomla-pattern.svg
diff --git a/administrator/templates/atum/images/logos/brand-large.svg b/build/media_source/templates/administrator/atum/images/logos/brand-large.svg
similarity index 100%
rename from administrator/templates/atum/images/logos/brand-large.svg
rename to build/media_source/templates/administrator/atum/images/logos/brand-large.svg
diff --git a/administrator/templates/atum/images/logos/brand-small.svg b/build/media_source/templates/administrator/atum/images/logos/brand-small.svg
similarity index 100%
rename from administrator/templates/atum/images/logos/brand-small.svg
rename to build/media_source/templates/administrator/atum/images/logos/brand-small.svg
diff --git a/administrator/templates/atum/images/logos/login.svg b/build/media_source/templates/administrator/atum/images/logos/login.svg
similarity index 100%
rename from administrator/templates/atum/images/logos/login.svg
rename to build/media_source/templates/administrator/atum/images/logos/login.svg
diff --git a/administrator/templates/atum/images/select-bg-active-rtl.svg b/build/media_source/templates/administrator/atum/images/select-bg-active-rtl.svg
similarity index 100%
rename from administrator/templates/atum/images/select-bg-active-rtl.svg
rename to build/media_source/templates/administrator/atum/images/select-bg-active-rtl.svg
diff --git a/administrator/templates/atum/images/select-bg-active.svg b/build/media_source/templates/administrator/atum/images/select-bg-active.svg
similarity index 100%
rename from administrator/templates/atum/images/select-bg-active.svg
rename to build/media_source/templates/administrator/atum/images/select-bg-active.svg
diff --git a/administrator/templates/atum/images/select-bg-rtl.svg b/build/media_source/templates/administrator/atum/images/select-bg-rtl.svg
similarity index 100%
rename from administrator/templates/atum/images/select-bg-rtl.svg
rename to build/media_source/templates/administrator/atum/images/select-bg-rtl.svg
diff --git a/administrator/templates/atum/images/select-bg.svg b/build/media_source/templates/administrator/atum/images/select-bg.svg
similarity index 100%
rename from administrator/templates/atum/images/select-bg.svg
rename to build/media_source/templates/administrator/atum/images/select-bg.svg
diff --git a/administrator/templates/atum/template_preview.png b/build/media_source/templates/administrator/atum/images/template_preview.png
similarity index 100%
rename from administrator/templates/atum/template_preview.png
rename to build/media_source/templates/administrator/atum/images/template_preview.png
diff --git a/administrator/templates/atum/template_thumbnail.png b/build/media_source/templates/administrator/atum/images/template_thumbnail.png
similarity index 100%
rename from administrator/templates/atum/template_thumbnail.png
rename to build/media_source/templates/administrator/atum/images/template_thumbnail.png
diff --git a/administrator/templates/atum/scss/_root.scss b/build/media_source/templates/administrator/atum/scss/_root.scss
similarity index 100%
rename from administrator/templates/atum/scss/_root.scss
rename to build/media_source/templates/administrator/atum/scss/_root.scss
diff --git a/administrator/templates/atum/scss/_variables.scss b/build/media_source/templates/administrator/atum/scss/_variables.scss
similarity index 99%
rename from administrator/templates/atum/scss/_variables.scss
rename to build/media_source/templates/administrator/atum/scss/_variables.scss
index dfd0cd00c5337..350388df4893d 100644
--- a/administrator/templates/atum/scss/_variables.scss
+++ b/build/media_source/templates/administrator/atum/scss/_variables.scss
@@ -146,7 +146,7 @@ $badge-font-size: .75rem;
$jicon-css-prefix: icon !default;
$fa-css-prefix: fa !default;
$fa-font-path: "../../../../media/vendor/fontawesome-free/webfonts";
-$roboto-font-path: "../../../../media/vendor/roboto-fontface/fonts";
+$roboto-font-path: "../../../../../media/vendor/roboto-fontface/fonts";
// Font weights
$thin-weight: 100;
diff --git a/administrator/templates/atum/scss/blocks/_alerts.scss b/build/media_source/templates/administrator/atum/scss/blocks/_alerts.scss
similarity index 100%
rename from administrator/templates/atum/scss/blocks/_alerts.scss
rename to build/media_source/templates/administrator/atum/scss/blocks/_alerts.scss
diff --git a/administrator/templates/atum/scss/blocks/_edit.scss b/build/media_source/templates/administrator/atum/scss/blocks/_edit.scss
similarity index 100%
rename from administrator/templates/atum/scss/blocks/_edit.scss
rename to build/media_source/templates/administrator/atum/scss/blocks/_edit.scss
diff --git a/administrator/templates/atum/scss/blocks/_form.scss b/build/media_source/templates/administrator/atum/scss/blocks/_form.scss
similarity index 100%
rename from administrator/templates/atum/scss/blocks/_form.scss
rename to build/media_source/templates/administrator/atum/scss/blocks/_form.scss
diff --git a/administrator/templates/atum/scss/blocks/_global.scss b/build/media_source/templates/administrator/atum/scss/blocks/_global.scss
similarity index 100%
rename from administrator/templates/atum/scss/blocks/_global.scss
rename to build/media_source/templates/administrator/atum/scss/blocks/_global.scss
diff --git a/administrator/templates/atum/scss/blocks/_header.scss b/build/media_source/templates/administrator/atum/scss/blocks/_header.scss
similarity index 100%
rename from administrator/templates/atum/scss/blocks/_header.scss
rename to build/media_source/templates/administrator/atum/scss/blocks/_header.scss
diff --git a/administrator/templates/atum/scss/blocks/_icons.scss b/build/media_source/templates/administrator/atum/scss/blocks/_icons.scss
similarity index 100%
rename from administrator/templates/atum/scss/blocks/_icons.scss
rename to build/media_source/templates/administrator/atum/scss/blocks/_icons.scss
diff --git a/administrator/templates/atum/scss/blocks/_iframe.scss b/build/media_source/templates/administrator/atum/scss/blocks/_iframe.scss
similarity index 100%
rename from administrator/templates/atum/scss/blocks/_iframe.scss
rename to build/media_source/templates/administrator/atum/scss/blocks/_iframe.scss
diff --git a/administrator/templates/atum/scss/blocks/_layout.scss b/build/media_source/templates/administrator/atum/scss/blocks/_layout.scss
similarity index 100%
rename from administrator/templates/atum/scss/blocks/_layout.scss
rename to build/media_source/templates/administrator/atum/scss/blocks/_layout.scss
diff --git a/administrator/templates/atum/scss/blocks/_lists.scss b/build/media_source/templates/administrator/atum/scss/blocks/_lists.scss
similarity index 100%
rename from administrator/templates/atum/scss/blocks/_lists.scss
rename to build/media_source/templates/administrator/atum/scss/blocks/_lists.scss
diff --git a/administrator/templates/atum/scss/blocks/_login.scss b/build/media_source/templates/administrator/atum/scss/blocks/_login.scss
similarity index 100%
rename from administrator/templates/atum/scss/blocks/_login.scss
rename to build/media_source/templates/administrator/atum/scss/blocks/_login.scss
diff --git a/administrator/templates/atum/scss/blocks/_modals.scss b/build/media_source/templates/administrator/atum/scss/blocks/_modals.scss
similarity index 100%
rename from administrator/templates/atum/scss/blocks/_modals.scss
rename to build/media_source/templates/administrator/atum/scss/blocks/_modals.scss
diff --git a/administrator/templates/atum/scss/blocks/_quickicons.scss b/build/media_source/templates/administrator/atum/scss/blocks/_quickicons.scss
similarity index 100%
rename from administrator/templates/atum/scss/blocks/_quickicons.scss
rename to build/media_source/templates/administrator/atum/scss/blocks/_quickicons.scss
diff --git a/administrator/templates/atum/scss/blocks/_sidebar-nav.scss b/build/media_source/templates/administrator/atum/scss/blocks/_sidebar-nav.scss
similarity index 100%
rename from administrator/templates/atum/scss/blocks/_sidebar-nav.scss
rename to build/media_source/templates/administrator/atum/scss/blocks/_sidebar-nav.scss
diff --git a/administrator/templates/atum/scss/blocks/_sidebar.scss b/build/media_source/templates/administrator/atum/scss/blocks/_sidebar.scss
similarity index 100%
rename from administrator/templates/atum/scss/blocks/_sidebar.scss
rename to build/media_source/templates/administrator/atum/scss/blocks/_sidebar.scss
diff --git a/administrator/templates/atum/scss/blocks/_switcher.scss b/build/media_source/templates/administrator/atum/scss/blocks/_switcher.scss
similarity index 100%
rename from administrator/templates/atum/scss/blocks/_switcher.scss
rename to build/media_source/templates/administrator/atum/scss/blocks/_switcher.scss
diff --git a/administrator/templates/atum/scss/blocks/_toolbar.scss b/build/media_source/templates/administrator/atum/scss/blocks/_toolbar.scss
similarity index 100%
rename from administrator/templates/atum/scss/blocks/_toolbar.scss
rename to build/media_source/templates/administrator/atum/scss/blocks/_toolbar.scss
diff --git a/administrator/templates/atum/scss/blocks/_treeselect.scss b/build/media_source/templates/administrator/atum/scss/blocks/_treeselect.scss
similarity index 100%
rename from administrator/templates/atum/scss/blocks/_treeselect.scss
rename to build/media_source/templates/administrator/atum/scss/blocks/_treeselect.scss
diff --git a/administrator/templates/atum/scss/blocks/_utilities.scss b/build/media_source/templates/administrator/atum/scss/blocks/_utilities.scss
similarity index 100%
rename from administrator/templates/atum/scss/blocks/_utilities.scss
rename to build/media_source/templates/administrator/atum/scss/blocks/_utilities.scss
diff --git a/administrator/templates/atum/scss/pages/_com_config.scss b/build/media_source/templates/administrator/atum/scss/pages/_com_config.scss
similarity index 100%
rename from administrator/templates/atum/scss/pages/_com_config.scss
rename to build/media_source/templates/administrator/atum/scss/pages/_com_config.scss
diff --git a/administrator/templates/atum/scss/pages/_com_content.scss b/build/media_source/templates/administrator/atum/scss/pages/_com_content.scss
similarity index 100%
rename from administrator/templates/atum/scss/pages/_com_content.scss
rename to build/media_source/templates/administrator/atum/scss/pages/_com_content.scss
diff --git a/administrator/templates/atum/scss/pages/_com_cpanel.scss b/build/media_source/templates/administrator/atum/scss/pages/_com_cpanel.scss
similarity index 100%
rename from administrator/templates/atum/scss/pages/_com_cpanel.scss
rename to build/media_source/templates/administrator/atum/scss/pages/_com_cpanel.scss
diff --git a/administrator/templates/atum/scss/pages/_com_joomlaupdate.scss b/build/media_source/templates/administrator/atum/scss/pages/_com_joomlaupdate.scss
similarity index 100%
rename from administrator/templates/atum/scss/pages/_com_joomlaupdate.scss
rename to build/media_source/templates/administrator/atum/scss/pages/_com_joomlaupdate.scss
diff --git a/administrator/templates/atum/scss/pages/_com_modules.scss b/build/media_source/templates/administrator/atum/scss/pages/_com_modules.scss
similarity index 100%
rename from administrator/templates/atum/scss/pages/_com_modules.scss
rename to build/media_source/templates/administrator/atum/scss/pages/_com_modules.scss
diff --git a/administrator/templates/atum/scss/pages/_com_privacy.scss b/build/media_source/templates/administrator/atum/scss/pages/_com_privacy.scss
similarity index 100%
rename from administrator/templates/atum/scss/pages/_com_privacy.scss
rename to build/media_source/templates/administrator/atum/scss/pages/_com_privacy.scss
diff --git a/administrator/templates/atum/scss/pages/_com_tags.scss b/build/media_source/templates/administrator/atum/scss/pages/_com_tags.scss
similarity index 100%
rename from administrator/templates/atum/scss/pages/_com_tags.scss
rename to build/media_source/templates/administrator/atum/scss/pages/_com_tags.scss
diff --git a/administrator/templates/atum/scss/pages/_com_templates.scss b/build/media_source/templates/administrator/atum/scss/pages/_com_templates.scss
similarity index 100%
rename from administrator/templates/atum/scss/pages/_com_templates.scss
rename to build/media_source/templates/administrator/atum/scss/pages/_com_templates.scss
diff --git a/administrator/templates/atum/scss/pages/_com_users.scss b/build/media_source/templates/administrator/atum/scss/pages/_com_users.scss
similarity index 100%
rename from administrator/templates/atum/scss/pages/_com_users.scss
rename to build/media_source/templates/administrator/atum/scss/pages/_com_users.scss
diff --git a/administrator/templates/atum/scss/system/searchtools/searchtools.scss b/build/media_source/templates/administrator/atum/scss/system/searchtools/searchtools.scss
similarity index 100%
rename from administrator/templates/atum/scss/system/searchtools/searchtools.scss
rename to build/media_source/templates/administrator/atum/scss/system/searchtools/searchtools.scss
diff --git a/administrator/templates/atum/scss/template-rtl.scss b/build/media_source/templates/administrator/atum/scss/template-rtl.scss
similarity index 100%
rename from administrator/templates/atum/scss/template-rtl.scss
rename to build/media_source/templates/administrator/atum/scss/template-rtl.scss
diff --git a/administrator/templates/atum/scss/template.scss b/build/media_source/templates/administrator/atum/scss/template.scss
similarity index 90%
rename from administrator/templates/atum/scss/template.scss
rename to build/media_source/templates/administrator/atum/scss/template.scss
index df3b629ea74c0..c87b87f9f0462 100644
--- a/administrator/templates/atum/scss/template.scss
+++ b/build/media_source/templates/administrator/atum/scss/template.scss
@@ -1,5 +1,5 @@
// Bootstrap functions
-@import "../../../../media/vendor/bootstrap/scss/functions";
+@import "../../../../../../media/vendor/bootstrap/scss/functions";
// Atum Variables
@import "variables";
@@ -8,12 +8,12 @@
@import "vendor/bootstrap";
// Fonts
-@import "../../../../media/vendor/roboto-fontface/scss/roboto/sass/roboto-fontface";
+@import "../../../../../../media/vendor/roboto-fontface/scss/roboto/sass/roboto-fontface";
@import "blocks/global"; // Leave this first
// jQuery Minicolors
-@import "../../../../build/media_source/system/scss/jquery-minicolors";
+@import "../../../../../../media/system/scss/jquery-minicolors";
// Vendor overrides
@import "vendor/bootstrap/badge";
diff --git a/build/media_source/templates/administrator/atum/scss/vendor/_bootstrap.scss b/build/media_source/templates/administrator/atum/scss/vendor/_bootstrap.scss
new file mode 100644
index 0000000000000..d55c554e9cbc9
--- /dev/null
+++ b/build/media_source/templates/administrator/atum/scss/vendor/_bootstrap.scss
@@ -0,0 +1,37 @@
+// Variables
+
+// Media, Jumbotron & Print removed https://getbootstrap.com/docs/5.0/migration/
+// Code is now in reboot https://github.com/twbs/bootstrap/pull/28917/files
+
+@import "../../../../../../../media/vendor/bootstrap/scss/variables";
+@import "../../../../../../../media/vendor/bootstrap/scss/mixins";
+@import "../root";
+@import "../../../../../../../media/vendor/bootstrap/scss/reboot";
+@import "../../../../../../../media/vendor/bootstrap/scss/type";
+@import "../../../../../../../media/vendor/bootstrap/scss/images";
+@import "../../../../../../../media/vendor/bootstrap/scss/containers";
+@import "../../../../../../../media/vendor/bootstrap/scss/grid";
+@import "../../../../../../../media/vendor/bootstrap/scss/tables";
+@import "../../../../../../../media/vendor/bootstrap/scss/forms";
+@import "../../../../../../../media/vendor/bootstrap/scss/buttons";
+@import "../../../../../../../media/vendor/bootstrap/scss/transitions";
+@import "../../../../../../../media/vendor/bootstrap/scss/dropdown";
+@import "../../../../../../../media/vendor/bootstrap/scss/accordion";
+@import "../../../../../../../media/vendor/bootstrap/scss/button-group";
+@import "../../../../../../../media/vendor/bootstrap/scss/nav";
+@import "../../../../../../../media/vendor/bootstrap/scss/navbar";
+@import "../../../../../../../media/vendor/bootstrap/scss/card";
+@import "../../../../../../../media/vendor/bootstrap/scss/breadcrumb";
+@import "../../../../../../../media/vendor/bootstrap/scss/pagination";
+@import "../../../../../../../media/vendor/bootstrap/scss/badge";
+@import "../../../../../../../media/vendor/bootstrap/scss/alert";
+@import "../../../../../../../media/vendor/bootstrap/scss/progress";
+@import "../../../../../../../media/vendor/bootstrap/scss/list-group";
+@import "../../../../../../../media/vendor/bootstrap/scss/close";
+@import "../../../../../../../media/vendor/bootstrap/scss/modal";
+@import "../../../../../../../media/vendor/bootstrap/scss/tooltip";
+@import "../../../../../../../media/vendor/bootstrap/scss/popover";
+@import "../../../../../../../media/vendor/bootstrap/scss/carousel";
+@import "../../../../../../../media/vendor/bootstrap/scss/utilities";
+@import "../../../../../../../media/vendor/bootstrap/scss/utilities/api";
+@import "../../../../../../../media/vendor/bootstrap/scss/helpers";
diff --git a/administrator/templates/atum/scss/vendor/_codemirror.scss b/build/media_source/templates/administrator/atum/scss/vendor/_codemirror.scss
similarity index 100%
rename from administrator/templates/atum/scss/vendor/_codemirror.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/_codemirror.scss
diff --git a/administrator/templates/atum/scss/vendor/_dragula.scss b/build/media_source/templates/administrator/atum/scss/vendor/_dragula.scss
similarity index 100%
rename from administrator/templates/atum/scss/vendor/_dragula.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/_dragula.scss
diff --git a/administrator/templates/atum/scss/vendor/_tinymce.scss b/build/media_source/templates/administrator/atum/scss/vendor/_tinymce.scss
similarity index 100%
rename from administrator/templates/atum/scss/vendor/_tinymce.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/_tinymce.scss
diff --git a/build/media_source/templates/administrator/atum/scss/vendor/awesomplete/awesomplete.scss b/build/media_source/templates/administrator/atum/scss/vendor/awesomplete/awesomplete.scss
new file mode 100644
index 0000000000000..6b7fa9355a4a6
--- /dev/null
+++ b/build/media_source/templates/administrator/atum/scss/vendor/awesomplete/awesomplete.scss
@@ -0,0 +1,6 @@
+// Awesomplete
+@import "../../../../../../../../node_modules/awesomplete/awesomplete";
+
+.awesomplete {
+ display: block;
+}
diff --git a/administrator/templates/atum/scss/vendor/bootstrap/_badge.scss b/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_badge.scss
similarity index 100%
rename from administrator/templates/atum/scss/vendor/bootstrap/_badge.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_badge.scss
diff --git a/administrator/templates/atum/scss/vendor/bootstrap/_bootstrap-rtl.scss b/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_bootstrap-rtl.scss
similarity index 100%
rename from administrator/templates/atum/scss/vendor/bootstrap/_bootstrap-rtl.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_bootstrap-rtl.scss
diff --git a/administrator/templates/atum/scss/vendor/bootstrap/_buttons.scss b/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_buttons.scss
similarity index 100%
rename from administrator/templates/atum/scss/vendor/bootstrap/_buttons.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_buttons.scss
diff --git a/administrator/templates/atum/scss/vendor/bootstrap/_card.scss b/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_card.scss
similarity index 100%
rename from administrator/templates/atum/scss/vendor/bootstrap/_card.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_card.scss
diff --git a/administrator/templates/atum/scss/vendor/bootstrap/_collapse.scss b/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_collapse.scss
similarity index 100%
rename from administrator/templates/atum/scss/vendor/bootstrap/_collapse.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_collapse.scss
diff --git a/administrator/templates/atum/scss/vendor/bootstrap/_custom-forms.scss b/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_custom-forms.scss
similarity index 100%
rename from administrator/templates/atum/scss/vendor/bootstrap/_custom-forms.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_custom-forms.scss
diff --git a/administrator/templates/atum/scss/vendor/bootstrap/_dropdown.scss b/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_dropdown.scss
similarity index 100%
rename from administrator/templates/atum/scss/vendor/bootstrap/_dropdown.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_dropdown.scss
diff --git a/administrator/templates/atum/scss/vendor/bootstrap/_form.scss b/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_form.scss
similarity index 100%
rename from administrator/templates/atum/scss/vendor/bootstrap/_form.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_form.scss
diff --git a/administrator/templates/atum/scss/vendor/bootstrap/_lists.scss b/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_lists.scss
similarity index 100%
rename from administrator/templates/atum/scss/vendor/bootstrap/_lists.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_lists.scss
diff --git a/administrator/templates/atum/scss/vendor/bootstrap/_modal.scss b/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_modal.scss
similarity index 100%
rename from administrator/templates/atum/scss/vendor/bootstrap/_modal.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_modal.scss
diff --git a/administrator/templates/atum/scss/vendor/bootstrap/_pagination.scss b/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_pagination.scss
similarity index 100%
rename from administrator/templates/atum/scss/vendor/bootstrap/_pagination.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_pagination.scss
diff --git a/administrator/templates/atum/scss/vendor/bootstrap/_reboot.scss b/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_reboot.scss
similarity index 100%
rename from administrator/templates/atum/scss/vendor/bootstrap/_reboot.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_reboot.scss
diff --git a/administrator/templates/atum/scss/vendor/bootstrap/_table.scss b/build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_table.scss
similarity index 100%
rename from administrator/templates/atum/scss/vendor/bootstrap/_table.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/bootstrap/_table.scss
diff --git a/administrator/templates/atum/scss/vendor/choicesjs/choices.scss b/build/media_source/templates/administrator/atum/scss/vendor/choicesjs/choices.scss
similarity index 90%
rename from administrator/templates/atum/scss/vendor/choicesjs/choices.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/choicesjs/choices.scss
index dd24671cd63d5..7dff3464265e7 100644
--- a/administrator/templates/atum/scss/vendor/choicesjs/choices.scss
+++ b/build/media_source/templates/administrator/atum/scss/vendor/choicesjs/choices.scss
@@ -1,13 +1,13 @@
-@import "../../../../../../media/vendor/bootstrap/scss/functions";
+@import "../../../../../../../../media/vendor/bootstrap/scss/functions";
// Atum Variables
@import "../../variables";
-@import "../../../../../../media/vendor/bootstrap/scss/variables";
-@import "../../../../../../media/vendor/bootstrap/scss/mixins";
+@import "../../../../../../../../media/vendor/bootstrap/scss/variables";
+@import "../../../../../../../../media/vendor/bootstrap/scss/mixins";
// choices.js
-@import "../../../../../../node_modules/choices.js/src/styles/choices";
+@import "../../../../../../../../node_modules/choices.js/src/styles/choices";
.choices {
border: 0;
diff --git a/build/media_source/templates/administrator/atum/scss/vendor/fontawesome-free/fontawesome.scss b/build/media_source/templates/administrator/atum/scss/vendor/fontawesome-free/fontawesome.scss
new file mode 100644
index 0000000000000..9df0b7a94aac4
--- /dev/null
+++ b/build/media_source/templates/administrator/atum/scss/vendor/fontawesome-free/fontawesome.scss
@@ -0,0 +1,19 @@
+// Override the font path
+$fa-css-prefix: fa;
+$fa-font-path: "../../../../../../vendor/fontawesome-free/webfonts" !default;
+
+// Font Awesome 5 Free
+@import "../../../../../../../../media/vendor/fontawesome-free/scss/fontawesome";
+@import "../../../../../../../../media/vendor/fontawesome-free/scss/regular";
+@import "../../../../../../../../media/vendor/fontawesome-free/scss/solid";
+
+// Brands must be imported last
+@import "../../../../../../../../media/vendor/fontawesome-free/scss/brands";
+
+// B/C for Icomoon
+@import "../../../../../../system/scss/icomoon";
+
+// RTL override
+html[dir=rtl] .float-right {
+ float: left;
+}
diff --git a/administrator/templates/atum/scss/vendor/joomla-custom-elements/joomla-alert.scss b/build/media_source/templates/administrator/atum/scss/vendor/joomla-custom-elements/joomla-alert.scss
similarity index 98%
rename from administrator/templates/atum/scss/vendor/joomla-custom-elements/joomla-alert.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/joomla-custom-elements/joomla-alert.scss
index d04a43fb4efad..17e672da3fba2 100644
--- a/administrator/templates/atum/scss/vendor/joomla-custom-elements/joomla-alert.scss
+++ b/build/media_source/templates/administrator/atum/scss/vendor/joomla-custom-elements/joomla-alert.scss
@@ -1,5 +1,5 @@
@import "../../variables";
-@import "../../../../../../node_modules/joomla-ui-custom-elements/dist/css/joomla-alert";
+@import "../../../../../../../../node_modules/joomla-ui-custom-elements/dist/css/joomla-alert";
// The following is a restyle for the system alerts
diff --git a/administrator/templates/atum/scss/vendor/joomla-custom-elements/joomla-tab.scss b/build/media_source/templates/administrator/atum/scss/vendor/joomla-custom-elements/joomla-tab.scss
similarity index 96%
rename from administrator/templates/atum/scss/vendor/joomla-custom-elements/joomla-tab.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/joomla-custom-elements/joomla-tab.scss
index 77cbcbcecc3a1..673a5db341ba4 100644
--- a/administrator/templates/atum/scss/vendor/joomla-custom-elements/joomla-tab.scss
+++ b/build/media_source/templates/administrator/atum/scss/vendor/joomla-custom-elements/joomla-tab.scss
@@ -1,10 +1,10 @@
-@import "../../../../../../media/vendor/bootstrap/scss/functions";
+@import "../../../../../../../../media/vendor/bootstrap/scss/functions";
// Atum Variables
@import "../../variables";
-@import "../../../../../../media/vendor/bootstrap/scss/variables";
-@import "../../../../../../media/vendor/bootstrap/scss/mixins";
+@import "../../../../../../../../media/vendor/bootstrap/scss/variables";
+@import "../../../../../../../../media/vendor/bootstrap/scss/mixins";
// Tabs
diff --git a/administrator/templates/atum/scss/vendor/minicolors/minicolors.scss b/build/media_source/templates/administrator/atum/scss/vendor/minicolors/minicolors.scss
similarity index 62%
rename from administrator/templates/atum/scss/vendor/minicolors/minicolors.scss
rename to build/media_source/templates/administrator/atum/scss/vendor/minicolors/minicolors.scss
index 425b1bc3b0232..86af4780f9b8d 100644
--- a/administrator/templates/atum/scss/vendor/minicolors/minicolors.scss
+++ b/build/media_source/templates/administrator/atum/scss/vendor/minicolors/minicolors.scss
@@ -1,5 +1,5 @@
// Minicolours
-@import "../../../../../../node_modules/@claviska/jquery-minicolors/jquery.minicolors";
+@import "../../../../../../../../node_modules/@claviska/jquery-minicolors/jquery.minicolors";
.minicolors-theme-bootstrap {
diff --git a/templates/cassiopeia/images/logo.svg b/build/media_source/templates/site/cassiopeia/images/logo.svg
similarity index 100%
rename from templates/cassiopeia/images/logo.svg
rename to build/media_source/templates/site/cassiopeia/images/logo.svg
diff --git a/templates/cassiopeia/images/select-bg-active-rtl.svg b/build/media_source/templates/site/cassiopeia/images/select-bg-active-rtl.svg
similarity index 100%
rename from templates/cassiopeia/images/select-bg-active-rtl.svg
rename to build/media_source/templates/site/cassiopeia/images/select-bg-active-rtl.svg
diff --git a/templates/cassiopeia/images/select-bg-active.svg b/build/media_source/templates/site/cassiopeia/images/select-bg-active.svg
similarity index 100%
rename from templates/cassiopeia/images/select-bg-active.svg
rename to build/media_source/templates/site/cassiopeia/images/select-bg-active.svg
diff --git a/templates/cassiopeia/images/select-bg-rtl.svg b/build/media_source/templates/site/cassiopeia/images/select-bg-rtl.svg
similarity index 100%
rename from templates/cassiopeia/images/select-bg-rtl.svg
rename to build/media_source/templates/site/cassiopeia/images/select-bg-rtl.svg
diff --git a/templates/cassiopeia/images/select-bg.svg b/build/media_source/templates/site/cassiopeia/images/select-bg.svg
similarity index 100%
rename from templates/cassiopeia/images/select-bg.svg
rename to build/media_source/templates/site/cassiopeia/images/select-bg.svg
diff --git a/templates/cassiopeia/template_preview.png b/build/media_source/templates/site/cassiopeia/images/template_preview.png
similarity index 100%
rename from templates/cassiopeia/template_preview.png
rename to build/media_source/templates/site/cassiopeia/images/template_preview.png
diff --git a/templates/cassiopeia/template_thumbnail.png b/build/media_source/templates/site/cassiopeia/images/template_thumbnail.png
similarity index 100%
rename from templates/cassiopeia/template_thumbnail.png
rename to build/media_source/templates/site/cassiopeia/images/template_thumbnail.png
diff --git a/templates/cassiopeia/js/template.es5.js b/build/media_source/templates/site/cassiopeia/js/template.es5.js
similarity index 100%
rename from templates/cassiopeia/js/template.es5.js
rename to build/media_source/templates/site/cassiopeia/js/template.es5.js
diff --git a/templates/cassiopeia/scss/blocks/_alerts.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_alerts.scss
similarity index 100%
rename from templates/cassiopeia/scss/blocks/_alerts.scss
rename to build/media_source/templates/site/cassiopeia/scss/blocks/_alerts.scss
diff --git a/templates/cassiopeia/scss/blocks/_back-to-top.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_back-to-top.scss
similarity index 100%
rename from templates/cassiopeia/scss/blocks/_back-to-top.scss
rename to build/media_source/templates/site/cassiopeia/scss/blocks/_back-to-top.scss
diff --git a/templates/cassiopeia/scss/blocks/_banner.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_banner.scss
similarity index 100%
rename from templates/cassiopeia/scss/blocks/_banner.scss
rename to build/media_source/templates/site/cassiopeia/scss/blocks/_banner.scss
diff --git a/templates/cassiopeia/scss/blocks/_css-grid.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_css-grid.scss
similarity index 100%
rename from templates/cassiopeia/scss/blocks/_css-grid.scss
rename to build/media_source/templates/site/cassiopeia/scss/blocks/_css-grid.scss
diff --git a/templates/cassiopeia/scss/blocks/_footer.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_footer.scss
similarity index 100%
rename from templates/cassiopeia/scss/blocks/_footer.scss
rename to build/media_source/templates/site/cassiopeia/scss/blocks/_footer.scss
diff --git a/templates/cassiopeia/scss/blocks/_form.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_form.scss
similarity index 100%
rename from templates/cassiopeia/scss/blocks/_form.scss
rename to build/media_source/templates/site/cassiopeia/scss/blocks/_form.scss
diff --git a/templates/cassiopeia/scss/blocks/_frontend-edit.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_frontend-edit.scss
similarity index 100%
rename from templates/cassiopeia/scss/blocks/_frontend-edit.scss
rename to build/media_source/templates/site/cassiopeia/scss/blocks/_frontend-edit.scss
diff --git a/templates/cassiopeia/scss/blocks/_global.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_global.scss
similarity index 100%
rename from templates/cassiopeia/scss/blocks/_global.scss
rename to build/media_source/templates/site/cassiopeia/scss/blocks/_global.scss
diff --git a/templates/cassiopeia/scss/blocks/_header.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_header.scss
similarity index 100%
rename from templates/cassiopeia/scss/blocks/_header.scss
rename to build/media_source/templates/site/cassiopeia/scss/blocks/_header.scss
diff --git a/templates/cassiopeia/scss/blocks/_icons.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_icons.scss
similarity index 100%
rename from templates/cassiopeia/scss/blocks/_icons.scss
rename to build/media_source/templates/site/cassiopeia/scss/blocks/_icons.scss
diff --git a/templates/cassiopeia/scss/blocks/_iframe.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_iframe.scss
similarity index 100%
rename from templates/cassiopeia/scss/blocks/_iframe.scss
rename to build/media_source/templates/site/cassiopeia/scss/blocks/_iframe.scss
diff --git a/templates/cassiopeia/scss/blocks/_layout.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_layout.scss
similarity index 100%
rename from templates/cassiopeia/scss/blocks/_layout.scss
rename to build/media_source/templates/site/cassiopeia/scss/blocks/_layout.scss
diff --git a/templates/cassiopeia/scss/blocks/_legacy.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_legacy.scss
similarity index 100%
rename from templates/cassiopeia/scss/blocks/_legacy.scss
rename to build/media_source/templates/site/cassiopeia/scss/blocks/_legacy.scss
diff --git a/templates/cassiopeia/scss/blocks/_modals.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_modals.scss
similarity index 100%
rename from templates/cassiopeia/scss/blocks/_modals.scss
rename to build/media_source/templates/site/cassiopeia/scss/blocks/_modals.scss
diff --git a/templates/cassiopeia/scss/blocks/_modifiers.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_modifiers.scss
similarity index 100%
rename from templates/cassiopeia/scss/blocks/_modifiers.scss
rename to build/media_source/templates/site/cassiopeia/scss/blocks/_modifiers.scss
diff --git a/templates/cassiopeia/scss/blocks/_tags.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_tags.scss
similarity index 100%
rename from templates/cassiopeia/scss/blocks/_tags.scss
rename to build/media_source/templates/site/cassiopeia/scss/blocks/_tags.scss
diff --git a/templates/cassiopeia/scss/blocks/_toolbar.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_toolbar.scss
similarity index 100%
rename from templates/cassiopeia/scss/blocks/_toolbar.scss
rename to build/media_source/templates/site/cassiopeia/scss/blocks/_toolbar.scss
diff --git a/templates/cassiopeia/scss/blocks/_utilities.scss b/build/media_source/templates/site/cassiopeia/scss/blocks/_utilities.scss
similarity index 100%
rename from templates/cassiopeia/scss/blocks/_utilities.scss
rename to build/media_source/templates/site/cassiopeia/scss/blocks/_utilities.scss
diff --git a/templates/cassiopeia/scss/editor.scss b/build/media_source/templates/site/cassiopeia/scss/editor.scss
similarity index 100%
rename from templates/cassiopeia/scss/editor.scss
rename to build/media_source/templates/site/cassiopeia/scss/editor.scss
diff --git a/templates/cassiopeia/scss/global/colors_alternative.scss b/build/media_source/templates/site/cassiopeia/scss/global/colors_alternative.scss
similarity index 100%
rename from templates/cassiopeia/scss/global/colors_alternative.scss
rename to build/media_source/templates/site/cassiopeia/scss/global/colors_alternative.scss
diff --git a/templates/cassiopeia/scss/global/colors_standard.scss b/build/media_source/templates/site/cassiopeia/scss/global/colors_standard.scss
similarity index 100%
rename from templates/cassiopeia/scss/global/colors_standard.scss
rename to build/media_source/templates/site/cassiopeia/scss/global/colors_standard.scss
diff --git a/templates/cassiopeia/scss/global/fonts-local_roboto.scss b/build/media_source/templates/site/cassiopeia/scss/global/fonts-local_roboto.scss
similarity index 56%
rename from templates/cassiopeia/scss/global/fonts-local_roboto.scss
rename to build/media_source/templates/site/cassiopeia/scss/global/fonts-local_roboto.scss
index c4218d36c1a5f..1e11feb32bc53 100644
--- a/templates/cassiopeia/scss/global/fonts-local_roboto.scss
+++ b/build/media_source/templates/site/cassiopeia/scss/global/fonts-local_roboto.scss
@@ -1,6 +1,6 @@
// Fonts
-$roboto-font-path: "../../../../media/vendor/roboto-fontface/fonts" !default;
-@import "../../../../media/vendor/roboto-fontface/scss/roboto/sass/roboto-fontface";
+$roboto-font-path: "../../../../../vendor/roboto-fontface/fonts" !default;
+@import "../../../../../../../media/vendor/roboto-fontface/scss/roboto/sass/roboto-fontface";
:root {
--cassiopeia-font-family-body: "Roboto", sans-serif;
diff --git a/templates/cassiopeia/scss/offline.scss b/build/media_source/templates/site/cassiopeia/scss/offline.scss
similarity index 95%
rename from templates/cassiopeia/scss/offline.scss
rename to build/media_source/templates/site/cassiopeia/scss/offline.scss
index 8607f9f62f41b..69376dfdc5da9 100644
--- a/templates/cassiopeia/scss/offline.scss
+++ b/build/media_source/templates/site/cassiopeia/scss/offline.scss
@@ -1,5 +1,5 @@
// Bootstrap functions
-@import "../../../media/vendor/bootstrap/scss/functions";
+@import "../../../../../../media/vendor/bootstrap/scss/functions";
// Variables, Functions and Mixins
@import "tools/tools";
diff --git a/templates/cassiopeia/scss/system/searchtools/searchtools.scss b/build/media_source/templates/site/cassiopeia/scss/system/searchtools/searchtools.scss
similarity index 100%
rename from templates/cassiopeia/scss/system/searchtools/searchtools.scss
rename to build/media_source/templates/site/cassiopeia/scss/system/searchtools/searchtools.scss
diff --git a/templates/cassiopeia/scss/template-rtl.scss b/build/media_source/templates/site/cassiopeia/scss/template-rtl.scss
similarity index 100%
rename from templates/cassiopeia/scss/template-rtl.scss
rename to build/media_source/templates/site/cassiopeia/scss/template-rtl.scss
diff --git a/templates/cassiopeia/scss/template.scss b/build/media_source/templates/site/cassiopeia/scss/template.scss
similarity index 83%
rename from templates/cassiopeia/scss/template.scss
rename to build/media_source/templates/site/cassiopeia/scss/template.scss
index 10b0fd079ad72..33835efdeacca 100644
--- a/templates/cassiopeia/scss/template.scss
+++ b/build/media_source/templates/site/cassiopeia/scss/template.scss
@@ -1,15 +1,15 @@
// Bootstrap functions
-@import "../../../media/vendor/bootstrap/scss/functions";
+@import "../../../../../../media/vendor/bootstrap/scss/functions";
// Variables, Functions and Mixins
@import "tools/tools";
// Bootstrap
-@import "../../../media/vendor/bootstrap/scss/variables";
-@import "../../../media/vendor/bootstrap/scss/bootstrap";
+@import "../../../../../../media/vendor/bootstrap/scss/variables";
+@import "../../../../../../media/vendor/bootstrap/scss/bootstrap";
// jQuery Minicolors
-@import "../../../media/system/scss/jquery-minicolors";
+@import "../../../../../../media/system/scss/jquery-minicolors";
// Blocks
@import "blocks/global"; // Leave this first
diff --git a/templates/cassiopeia/scss/tools/_tools.scss b/build/media_source/templates/site/cassiopeia/scss/tools/_tools.scss
similarity index 59%
rename from templates/cassiopeia/scss/tools/_tools.scss
rename to build/media_source/templates/site/cassiopeia/scss/tools/_tools.scss
index 04b2b654fdc30..9d37de1a8b110 100644
--- a/templates/cassiopeia/scss/tools/_tools.scss
+++ b/build/media_source/templates/site/cassiopeia/scss/tools/_tools.scss
@@ -1,5 +1,5 @@
// Vendor
-@import "../../../../media/vendor/bootstrap/scss/functions";
+@import "../../../../../../../media/vendor/bootstrap/scss/functions";
// Variables
diff --git a/templates/cassiopeia/scss/tools/functions/_max-width.scss b/build/media_source/templates/site/cassiopeia/scss/tools/functions/_max-width.scss
similarity index 100%
rename from templates/cassiopeia/scss/tools/functions/_max-width.scss
rename to build/media_source/templates/site/cassiopeia/scss/tools/functions/_max-width.scss
diff --git a/templates/cassiopeia/scss/tools/variables/_variables.scss b/build/media_source/templates/site/cassiopeia/scss/tools/variables/_variables.scss
similarity index 100%
rename from templates/cassiopeia/scss/tools/variables/_variables.scss
rename to build/media_source/templates/site/cassiopeia/scss/tools/variables/_variables.scss
diff --git a/templates/cassiopeia/scss/vendor/_awesomplete.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/_awesomplete.scss
similarity index 100%
rename from templates/cassiopeia/scss/vendor/_awesomplete.scss
rename to build/media_source/templates/site/cassiopeia/scss/vendor/_awesomplete.scss
diff --git a/templates/cassiopeia/scss/vendor/_chosen.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/_chosen.scss
similarity index 100%
rename from templates/cassiopeia/scss/vendor/_chosen.scss
rename to build/media_source/templates/site/cassiopeia/scss/vendor/_chosen.scss
diff --git a/templates/cassiopeia/scss/vendor/_dragula.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/_dragula.scss
similarity index 100%
rename from templates/cassiopeia/scss/vendor/_dragula.scss
rename to build/media_source/templates/site/cassiopeia/scss/vendor/_dragula.scss
diff --git a/templates/cassiopeia/scss/vendor/_minicolors.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/_minicolors.scss
similarity index 100%
rename from templates/cassiopeia/scss/vendor/_minicolors.scss
rename to build/media_source/templates/site/cassiopeia/scss/vendor/_minicolors.scss
diff --git a/templates/cassiopeia/scss/vendor/_tinymce.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/_tinymce.scss
similarity index 100%
rename from templates/cassiopeia/scss/vendor/_tinymce.scss
rename to build/media_source/templates/site/cassiopeia/scss/vendor/_tinymce.scss
diff --git a/templates/cassiopeia/scss/vendor/bootstrap/_bootstrap-rtl.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_bootstrap-rtl.scss
similarity index 100%
rename from templates/cassiopeia/scss/vendor/bootstrap/_bootstrap-rtl.scss
rename to build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_bootstrap-rtl.scss
diff --git a/templates/cassiopeia/scss/vendor/bootstrap/_buttons.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_buttons.scss
similarity index 100%
rename from templates/cassiopeia/scss/vendor/bootstrap/_buttons.scss
rename to build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_buttons.scss
diff --git a/templates/cassiopeia/scss/vendor/bootstrap/_collapse.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_collapse.scss
similarity index 100%
rename from templates/cassiopeia/scss/vendor/bootstrap/_collapse.scss
rename to build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_collapse.scss
diff --git a/templates/cassiopeia/scss/vendor/bootstrap/_custom-forms.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_custom-forms.scss
similarity index 100%
rename from templates/cassiopeia/scss/vendor/bootstrap/_custom-forms.scss
rename to build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_custom-forms.scss
diff --git a/templates/cassiopeia/scss/vendor/bootstrap/_dropdown.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_dropdown.scss
similarity index 100%
rename from templates/cassiopeia/scss/vendor/bootstrap/_dropdown.scss
rename to build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_dropdown.scss
diff --git a/templates/cassiopeia/scss/vendor/bootstrap/_forms.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_forms.scss
similarity index 100%
rename from templates/cassiopeia/scss/vendor/bootstrap/_forms.scss
rename to build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_forms.scss
diff --git a/templates/cassiopeia/scss/vendor/bootstrap/_lists.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_lists.scss
similarity index 100%
rename from templates/cassiopeia/scss/vendor/bootstrap/_lists.scss
rename to build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_lists.scss
diff --git a/templates/cassiopeia/scss/vendor/bootstrap/_modal.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_modal.scss
similarity index 100%
rename from templates/cassiopeia/scss/vendor/bootstrap/_modal.scss
rename to build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_modal.scss
diff --git a/templates/cassiopeia/scss/vendor/bootstrap/_nav.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_nav.scss
similarity index 100%
rename from templates/cassiopeia/scss/vendor/bootstrap/_nav.scss
rename to build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_nav.scss
diff --git a/templates/cassiopeia/scss/vendor/bootstrap/_pagination.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_pagination.scss
similarity index 100%
rename from templates/cassiopeia/scss/vendor/bootstrap/_pagination.scss
rename to build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_pagination.scss
diff --git a/templates/cassiopeia/scss/vendor/bootstrap/_table.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_table.scss
similarity index 100%
rename from templates/cassiopeia/scss/vendor/bootstrap/_table.scss
rename to build/media_source/templates/site/cassiopeia/scss/vendor/bootstrap/_table.scss
diff --git a/templates/cassiopeia/scss/vendor/choicesjs/choices.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/choicesjs/choices.scss
similarity index 91%
rename from templates/cassiopeia/scss/vendor/choicesjs/choices.scss
rename to build/media_source/templates/site/cassiopeia/scss/vendor/choicesjs/choices.scss
index e5ff671689867..503f73c560610 100644
--- a/templates/cassiopeia/scss/vendor/choicesjs/choices.scss
+++ b/build/media_source/templates/site/cassiopeia/scss/vendor/choicesjs/choices.scss
@@ -1,9 +1,9 @@
-@import "../../../../../media/vendor/bootstrap/scss/functions";
-@import "../../../../../media/vendor/bootstrap/scss/variables";
-@import "../../../../../media/vendor/bootstrap/scss/mixins";
+@import "../../../../../../../../media/vendor/bootstrap/scss/functions";
+@import "../../../../../../../../media/vendor/bootstrap/scss/variables";
+@import "../../../../../../../../media/vendor/bootstrap/scss/mixins";
// choices.js
-@import "../../../../../media/vendor/choicesjs/scss/choices";
+@import "../../../../../../../../media/vendor/choicesjs/scss/choices";
// Cassiopea Variables, Functions and Mixins
@import "../../tools/tools";
diff --git a/templates/cassiopeia/scss/vendor/joomla-custom-elements/joomla-alert.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/joomla-custom-elements/joomla-alert.scss
similarity index 98%
rename from templates/cassiopeia/scss/vendor/joomla-custom-elements/joomla-alert.scss
rename to build/media_source/templates/site/cassiopeia/scss/vendor/joomla-custom-elements/joomla-alert.scss
index 042e2eaa9cd39..cc87b8ee8a72f 100644
--- a/templates/cassiopeia/scss/vendor/joomla-custom-elements/joomla-alert.scss
+++ b/build/media_source/templates/site/cassiopeia/scss/vendor/joomla-custom-elements/joomla-alert.scss
@@ -1,5 +1,5 @@
@import "../../tools/tools";
-@import "../../../../../media/vendor/joomla-custom-elements/css/joomla-alert.css";
+@import "../../../../../../vendor/joomla-custom-elements/css/joomla-alert.css";
// The following is a restyle for the system alerts
#system-message-container {
diff --git a/templates/cassiopeia/scss/vendor/metismenu/_metismenu.scss b/build/media_source/templates/site/cassiopeia/scss/vendor/metismenu/_metismenu.scss
similarity index 100%
rename from templates/cassiopeia/scss/vendor/metismenu/_metismenu.scss
rename to build/media_source/templates/site/cassiopeia/scss/vendor/metismenu/_metismenu.scss
diff --git a/installation/sql/mysql/base.sql b/installation/sql/mysql/base.sql
index 1ae991be460bf..d62b4bd4bea4d 100644
--- a/installation/sql/mysql/base.sql
+++ b/installation/sql/mysql/base.sql
@@ -808,8 +808,8 @@ CREATE TABLE IF NOT EXISTS `#__template_styles` (
--
INSERT INTO `#__template_styles` (`id`, `template`, `client_id`, `home`, `title`, `inheritable`, `parent`, `params`) VALUES
-(10, 'atum', 1, '1', 'Atum - Default', 0, '', '{"hue":"hsl(214, 63%, 20%)","bg-light":"#f0f4fb","text-dark":"#495057","text-light":"#ffffff","link-color":"#2a69b8","special-color":"#001b4c","monochrome":"0","loginLogo":"","loginLogoAlt":"","logoBrandLarge":"","logoBrandLargeAlt":"","logoBrandSmall":"","logoBrandSmallAlt":""}'),
-(11, 'cassiopeia', 0, '1', 'Cassiopeia - Default', 0, '', '{"brand":"1","logoFile":"","siteTitle":"","siteDescription":"","useFontScheme":"0","colorName":"colors_standard","fluidContainer":"0","stickyHeader":0,"backTop":0}');
+(10, 'atum', 1, '1', 'Atum - Default', 1, '', '{"hue":"hsl(214, 63%, 20%)","bg-light":"#f0f4fb","text-dark":"#495057","text-light":"#ffffff","link-color":"#2a69b8","special-color":"#001b4c","monochrome":"0","loginLogo":"","loginLogoAlt":"","logoBrandLarge":"","logoBrandLargeAlt":"","logoBrandSmall":"","logoBrandSmallAlt":""}'),
+(11, 'cassiopeia', 0, '1', 'Cassiopeia - Default', 1, '', '{"brand":"1","logoFile":"","siteTitle":"","siteDescription":"","useFontScheme":"0","colorName":"colors_standard","fluidContainer":"0","stickyHeader":0,"backTop":0}');
-- --------------------------------------------------------
diff --git a/installation/sql/postgresql/base.sql b/installation/sql/postgresql/base.sql
index e44188862d656..3e6b87bfe9be6 100644
--- a/installation/sql/postgresql/base.sql
+++ b/installation/sql/postgresql/base.sql
@@ -823,8 +823,8 @@ CREATE INDEX "#__template_styles_idx_client_id_home" ON "#__template_styles" ("c
-- Dumping data for table `#__template_styles`
--
INSERT INTO "#__template_styles" ("id", "template", "client_id", "home", "title", "inheritable", "parent", "params") VALUES
-(10, 'atum', 1, '1', 'Atum - Default', 0, '', '{"hue":"hsl(214, 63%, 20%)","bg-light":"#f0f4fb","text-dark":"#495057","text-light":"#ffffff","link-color":"#2a69b8","special-color":"#001b4c","monochrome":"0","loginLogo":"","loginLogoAlt":"","logoBrandLarge":"","logoBrandLargeAlt":"","logoBrandSmall":"","logoBrandSmallAlt":""}'),
-(11, 'cassiopeia', 0, '1', 'Cassiopeia - Default', 0, '', '{"brand":"1","logoFile":"","siteTitle":"","siteDescription":"","useFontScheme":"0","colorName":"colors_standard","fluidContainer":"0","stickyHeader":0,"backTop":0}');
+(10, 'atum', 1, '1', 'Atum - Default', 1, '', '{"hue":"hsl(214, 63%, 20%)","bg-light":"#f0f4fb","text-dark":"#495057","text-light":"#ffffff","link-color":"#2a69b8","special-color":"#001b4c","monochrome":"0","loginLogo":"","loginLogoAlt":"","logoBrandLarge":"","logoBrandLargeAlt":"","logoBrandSmall":"","logoBrandSmallAlt":""}'),
+(11, 'cassiopeia', 0, '1', 'Cassiopeia - Default', 1, '', '{"brand":"1","logoFile":"","siteTitle":"","siteDescription":"","useFontScheme":"0","colorName":"colors_standard","fluidContainer":"0","stickyHeader":0,"backTop":0}');
SELECT setval('#__template_styles_id_seq', 12, false);
diff --git a/installation/template/scss/template.scss b/installation/template/scss/template.scss
index 0850d3d0ad731..ad3f4edd30aa9 100644
--- a/installation/template/scss/template.scss
+++ b/installation/template/scss/template.scss
@@ -1,11 +1,11 @@
// Variables
-@import "../../../administrator/templates/atum/scss/variables";
+@import "../../../build/media_source/templates/administrator/atum/scss/variables";
$jicon-css-prefix: icon;
$fa-css-prefix: fa;
$fa-font-path: "../../../media/vendor/fontawesome-free/webfonts";
// Font Awesome
-@import "../../../administrator/templates/atum/scss/vendor/fontawesome-free/fontawesome";
+@import "../../../build/media_source/templates/administrator/atum/scss/vendor/fontawesome-free/fontawesome";
// "Font Awesome 5 Free"
@import "../../../media/vendor/fontawesome-free/scss/fontawesome";
@@ -20,19 +20,19 @@ $fa-font-path: "../../../media/vendor/fontawesome-free/webfonts";
@import "../../../media/vendor/bootstrap/scss/functions";
// Variables from the Atum template
-@import "../../../administrator/templates/atum/scss/variables";
+@import "../../../build/media_source/templates/administrator/atum/scss/variables";
// Bootstrap with the root.scss overriden
-@import "../../../administrator/templates/atum/scss/vendor/bootstrap";
+@import "../../../build/media_source/templates/administrator/atum/scss/vendor/bootstrap";
// Backend Template stuff
-@import "../../../administrator/templates/atum/scss/blocks/global";
-@import "../../../administrator/templates/atum/scss/blocks/header";
-@import "../../../administrator/templates/atum/scss/vendor/bootstrap/custom-forms";
-@import "../../../administrator/templates/atum/scss/vendor/joomla-custom-elements/joomla-alert";
+@import "../../../build/media_source/templates/administrator/atum/scss/blocks/global";
+@import "../../../build/media_source/templates/administrator/atum/scss/blocks/header";
+@import "../../../build/media_source/templates/administrator/atum/scss/vendor/bootstrap/custom-forms";
+@import "../../../build/media_source/templates/administrator/atum/scss/vendor/joomla-custom-elements/joomla-alert";
// Safari fix
-@import "../../../administrator/templates/atum/scss/vendor/bootstrap/reboot";
+@import "../../../build/media_source/templates/administrator/atum/scss/vendor/bootstrap/reboot";
body {
background: var(--template-bg-light);
diff --git a/templates/cassiopeia/component.php b/templates/cassiopeia/component.php
index 9226d7080570a..6f77bbdcba4f3 100644
--- a/templates/cassiopeia/component.php
+++ b/templates/cassiopeia/component.php
@@ -17,13 +17,10 @@
$app = Factory::getApplication();
$wa = $this->getWebAssetManager();
-// Template path
-$templatePath = 'templates/' . $this->template;
-
// Color Theme
$paramsColorName = $this->params->get('colorName', 'colors_standard');
$assetColorName = 'theme.' . $paramsColorName;
-$wa->registerAndUseStyle($assetColorName, $templatePath . '/css/global/' . $paramsColorName . '.css');
+$wa->registerAndUseStyle($assetColorName, 'media/templates/site/cassiopeia/css/global/' . $paramsColorName . '.css');
// Use a font scheme if set in the template style options
$paramsFontScheme = $this->params->get('useFontScheme', false);
diff --git a/templates/cassiopeia/error.php b/templates/cassiopeia/error.php
index b086abceedafa..e4512b06fb46a 100644
--- a/templates/cassiopeia/error.php
+++ b/templates/cassiopeia/error.php
@@ -30,7 +30,7 @@
$pageclass = $menu !== null ? $menu->getParams()->get('pageclass_sfx', '') : '';
// Template path
-$templatePath = 'templates/' . $this->template;
+$templatePath = 'media/templates/site/cassiopeia';
// Color Theme
$paramsColorName = $this->params->get('colorName', 'colors_standard');
@@ -99,7 +99,7 @@
}
else
{
- $logo = '';
+ $logo = HTMLHelper::_('image', 'logo.svg', $sitename, ['class' => 'logo d-inline-block'], true, 0);
}
// Container
diff --git a/templates/cassiopeia/index.php b/templates/cassiopeia/index.php
index 31d988beac10e..d3e5eb8a44ce9 100644
--- a/templates/cassiopeia/index.php
+++ b/templates/cassiopeia/index.php
@@ -34,13 +34,10 @@
$menu = $app->getMenu()->getActive();
$pageclass = $menu !== null ? $menu->getParams()->get('pageclass_sfx', '') : '';
-// Template path
-$templatePath = 'templates/' . $this->template;
-
// Color Theme
$paramsColorName = $this->params->get('colorName', 'colors_standard');
$assetColorName = 'theme.' . $paramsColorName;
-$wa->registerAndUseStyle($assetColorName, $templatePath . '/css/global/' . $paramsColorName . '.css');
+$wa->registerAndUseStyle($assetColorName, 'media/templates/site/cassiopeia/css/global/' . $paramsColorName . '.css');
// Use a font scheme if set in the template style options
$paramsFontScheme = $this->params->get('useFontScheme', false);
diff --git a/templates/cassiopeia/js/template.js b/templates/cassiopeia/js/template.js
deleted file mode 100644
index fa6a218e3a6a2..0000000000000
--- a/templates/cassiopeia/js/template.js
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * @package Joomla.Site
- * @subpackage Templates.Cassiopeia
- * @copyright (C) 2017 Open Source Matters, Inc.
- * @license GNU General Public License version 2 or later; see LICENSE.txt
- * @since 4.0.0
- */
-
-Joomla = window.Joomla || {};
-
-(function(Joomla, document) {
- 'use strict';
-
- function initTemplate(event) {
- var target = event && event.target ? event.target : document;
-
- /**
- * Prevent clicks on buttons within a disabled fieldset
- */
- var fieldsets = target.querySelectorAll('fieldset.btn-group');
- for (var i = 0; i < fieldsets.length; i++) {
- var self = fieldsets[i];
- if (self.getAttribute('disabled') === true) {
- self.style.pointerEvents = 'none';
- var btns = self.querySelectorAll('.btn');
- for (var ib = 0; ib < btns.length; ib++) {
- btns[ib].classList.add('disabled');
- }
- }
- }
- }
-
- document.addEventListener('DOMContentLoaded', function (event) {
- initTemplate(event);
-
- /**
- * Back to top
- */
- var backToTop = document.getElementById('back-top');
-
- if (backToTop) {
-
- function checkScrollPos() {
- if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
- backToTop.classList.add('visible');
- } else {
- backToTop.classList.remove('visible')
- }
- }
-
- checkScrollPos();
-
- window.onscroll = function() {
- checkScrollPos();
- };
-
- backToTop.addEventListener('click', function(event) {
- event.preventDefault();
- window.scrollTo(0, 0);
- });
- }
-
- [].slice.call(document.head.querySelectorAll('link[rel="lazy-stylesheet"]'))
- .forEach(function($link){
- $link.rel = "stylesheet";
- });
- });
-
- /**
- * Initialize when a part of the page was updated
- */
- document.addEventListener('joomla:updated', initTemplate);
-
-})(Joomla, document);
diff --git a/templates/cassiopeia/js/template.min.js b/templates/cassiopeia/js/template.min.js
deleted file mode 100644
index 0c6f1b78240bd..0000000000000
--- a/templates/cassiopeia/js/template.min.js
+++ /dev/null
@@ -1 +0,0 @@
-Joomla=window.Joomla||{},function(e,t){"use strict";function l(e){for(var l=(e&&e.target?e.target:t).querySelectorAll("fieldset.btn-group"),o=0;o20||t.documentElement.scrollTop>20?o.classList.add("visible"):o.classList.remove("visible")}n(),window.onscroll=function(){n()},o.addEventListener("click",(function(e){e.preventDefault(),window.scrollTo(0,0)}))}[].slice.call(t.head.querySelectorAll('link[rel="lazy-stylesheet"]')).forEach((function(e){e.rel="stylesheet"}))})),t.addEventListener("joomla:updated",l)}(Joomla,document);
\ No newline at end of file
diff --git a/templates/cassiopeia/offline.php b/templates/cassiopeia/offline.php
index 884a793f9eacd..bd1891d3f9667 100644
--- a/templates/cassiopeia/offline.php
+++ b/templates/cassiopeia/offline.php
@@ -26,7 +26,7 @@
$fullWidth = 1;
// Template path
-$templatePath = 'templates/' . $this->template;
+$templatePath = 'media/templates/site/cassiopeia';
// Color Theme
$paramsColorName = $this->params->get('colorName', 'colors_standard');
diff --git a/templates/cassiopeia/templateDetails.xml b/templates/cassiopeia/templateDetails.xml
index 7f4afa01c69a0..705ab1dd1f2e9 100644
--- a/templates/cassiopeia/templateDetails.xml
+++ b/templates/cassiopeia/templateDetails.xml
@@ -7,6 +7,7 @@
admin@joomla.org
(C) 2017 Open Source Matters, Inc.
TPL_CASSIOPEIA_XML_DESCRIPTION
+ 1
component.php
error.php
@@ -14,14 +15,14 @@
joomla.asset.json
offline.php
templateDetails.xml
- template_preview.png
- template_thumbnail.png
- css
html
- images
+
+
js
+ css
scss
-
+ images
+
topbar
below-top
@@ -93,7 +94,7 @@
>
-
+
diff --git a/templates/system/component.php b/templates/system/component.php
index 50890aebab75d..93156a59030bf 100644
--- a/templates/system/component.php
+++ b/templates/system/component.php
@@ -12,7 +12,7 @@
/** @var Joomla\CMS\Document\HtmlDocument $this */
// Styles
-$this->getWebAssetManager()->registerAndUseStyle('template.system.general', 'templates/system/css/general.css');
+$this->getWebAssetManager()->registerAndUseStyle('template.system.general', 'media/system/css/system-site-general.css');
?>
diff --git a/templates/system/error.php b/templates/system/error.php
index b9a0290250d08..87ef9426acfd8 100644
--- a/templates/system/error.php
+++ b/templates/system/error.php
@@ -21,11 +21,11 @@
}
// Load template CSS file
-$this->getWebAssetManager()->registerAndUseStyle('template.system.error', 'templates/system/css/error.css');
+$this->getWebAssetManager()->registerAndUseStyle('template.system.error', 'media/system/css/system-site-error.css');
if ($this->direction === 'rtl')
{
- $this->getWebAssetManager()->registerAndUseStyle('template.system.error_rtl', 'templates/system/css/error_rtl.css');
+ $this->getWebAssetManager()->registerAndUseStyle('template.system.error_rtl', 'media/system/css/system-site-error_rtl.css');
}
// Set page title
diff --git a/templates/system/offline.php b/templates/system/offline.php
index b85e6500dc3a9..80c484a4c0aa3 100644
--- a/templates/system/offline.php
+++ b/templates/system/offline.php
@@ -22,14 +22,14 @@
$wa = $this->getWebAssetManager();
// Styles
-$wa->registerAndUseStyle('template.system.offline', 'templates/system/css/offline.css');
+$wa->registerAndUseStyle('template.system.offline', 'media/system/css/system-site-offline.css');
if ($this->direction === 'rtl')
{
- $wa->registerAndUseStyle('template.system.offline_rtl', 'templates/system/css/offline_rtl.css');
+ $wa->registerAndUseStyle('template.system.offline_rtl', 'media/system/css/system-site-offline_rtl.css');
}
-$wa->registerAndUseStyle('template.system.general', 'templates/system/css/general.css');
+$wa->registerAndUseStyle('template.system.general', 'media/system/css/system-site-general.css');
$twofactormethods = AuthenticationHelper::getTwoFactorMethods();