Unverified Commit 7bb639fd authored by lauriii's avatar lauriii

Issue #3111409 by mherchel, proeung, larowlan, alexpott, lauriii, Gábor...

Issue #3111409 by mherchel, proeung, larowlan, alexpott, lauriii, Gábor Hojtsy, andrewmacpherson, catch, xjm, andypost, rahulrasgon, rabbitlair, mrconnerton, poojakural, boulaffasae, jerseycheese, shimpy, Indrajith KB, DuneBL, kiran.kadam911, komalkolekar, keboca, hawkeye.twolf, andrewozone, Maithri Shetty, alexdmccabe, sd9121, Sreenivas Bttv, katannshaw, mgifford, nod_, webchick, mtift, rainbreaw, Berdir, brianperry, thejimbirch, Dom., q0rban, nitesh624, hansa11, himanshu_sindhwani, kostyashupenko, shaktik, bnjmnm, sharma.amitt16, sonam.chaturvedi, steinmb, shaal, ressa, Ramya Balasubramanian, Sebacic, pradeepjha, tanmaykadam, thedrupalkid, vinitk, volkswagenchick, viappidu, vebrovski, Ujval Shah, Webbeh, Yuri, trebormc, msuthars, mrinalini9, bash247, chetanbharambe, ellenoise, anevins, andriyun, CocoM, JayKandari, ambuj_gupta, hussainweb, jhodgdon, Pooja Ganjage, ju.vanderw, jwitkowski79, MaxPah, Lokender Singh2, jponch, KarenS, KarinG, Lal_: Add new Olivero frontend theme to Drupal 9.1 core as beta; later make it stable and the default
parent 202d7681
......@@ -500,7 +500,7 @@
"dist": {
"type": "path",
"url": "core",
"reference": "deeb3ec5ad5b0a9b0aa65505ab74e2bde5255abd"
"reference": "493f34276d92722b600d8cf70f7852260a87afd5"
},
"require": {
"asm89/stack-cors": "^1.1",
......@@ -631,6 +631,7 @@
"drupal/migrate_drupal_ui": "self.version",
"drupal/minimal": "self.version",
"drupal/node": "self.version",
"drupal/olivero": "self.version",
"drupal/options": "self.version",
"drupal/page_cache": "self.version",
"drupal/path": "self.version",
......@@ -748,7 +749,7 @@
"dist": {
"type": "path",
"url": "composer/Plugin/ProjectMessage",
"reference": "b4efdbe26634b41a1b89e4f3770a8074769088a6"
"reference": "cad5c2853f5b733663dcc1be328f80ee233acc30"
},
"require": {
"composer-plugin-api": "^1.1 || ^2",
......@@ -781,7 +782,7 @@
"dist": {
"type": "path",
"url": "composer/Plugin/VendorHardening",
"reference": "d54f0b3cc8b4237f3a41a0860a808db242f9da9e"
"reference": "3732b3fa7c1db63f41bc72d847793ea8aebf7735"
},
"require": {
"composer-plugin-api": "^1.1 || ^2",
......@@ -4596,9 +4597,6 @@
"ext-zip": "Enabling the zip extension allows you to unzip archives",
"ext-zlib": "Allow gzip compression of HTTP requests"
},
"bin": [
"bin/composer"
],
"type": "library",
"extra": {
"branch-alias": {
......
......@@ -21,6 +21,7 @@
"profiles/demo_umami/modules/demo_umami_content/default_content/languages/es/**/*",
"tests/Drupal/Tests/Component/Annotation/Doctrine/**",
"themes/bartik/color/preview.html",
"themes/olivero/fonts/**",
"COPYRIGHT.txt",
"MAINTAINERS.txt",
"package.json",
......
themes/claro/**/*.css
!themes/claro/**/*.pcss.css
themes/olivero/**/*.css
!themes/olivero/**/*.pcss.css
......@@ -114,11 +114,19 @@
"margin-right",
"margin-bottom",
"margin-left",
"margin-block-start",
"margin-block-end",
"margin-inline-start",
"margin-inline-end",
"padding",
"padding-top",
"padding-right",
"padding-bottom",
"padding-left",
"padding-block-start",
"padding-block-end",
"padding-inline-start",
"padding-inline-end",
"table-layout",
"-webkit-columns",
......@@ -325,6 +333,22 @@
"border-left-width",
"border-left-style",
"border-left-color",
"border-block-start",
"border-block-start-width",
"border-block-start-style",
"border-block-start-color",
"border-inline-end",
"border-inline-end-width",
"border-inline-end-style",
"border-inline-end-color",
"border-block-end",
"border-block-end-width",
"border-block-end-style",
"border-block-end-color",
"border-inline-start",
"border-inline-start-width",
"border-inline-start-style",
"border-inline-start-color",
"-webkit-border-radius",
"-moz-border-radius",
"border-radius",
......@@ -436,7 +460,7 @@
"selector-pseudo-element-colon-notation": null,
"shorthand-property-no-redundant-values": null,
"string-quotes": "double",
"unit-whitelist": ["deg", "em", "ex", "ms", "rem", "%", "s", "px", "vw", "vh"]
"unit-whitelist": ["deg", "em", "ex", "fr", "ms", "rem", "%", "s", "px", "vw", "vh"]
},
"ignoreFiles": [
"assets/vendor/**/*.css",
......
......@@ -132,6 +132,7 @@
"drupal/migrate_drupal_multilingual": "self.version",
"drupal/migrate_drupal_ui": "self.version",
"drupal/node": "self.version",
"drupal/olivero": "self.version",
"drupal/options": "self.version",
"drupal/page_cache": "self.version",
"drupal/path": "self.version",
......
......@@ -112,6 +112,7 @@ autop
autoplace
autoplay
autoreply
autorow
autosave
autosubmit
autowire
......@@ -326,6 +327,7 @@ createkey
createrole
createuser
crema
crossorigin
crossout
crudui
crypted
......@@ -335,6 +337,7 @@ csrftoken
cssidentifier
csslint
csslintrc
csstools
ctags
ctes
ctools
......@@ -1057,6 +1060,7 @@ nalias
nameofbin
namespacing
narf
navs
nbaz
nbchoices
nblocks
......@@ -1147,6 +1151,8 @@ objectindex
oembed
officedocument
oldsilver
olivero
olivero's
omitscript
omittable
ondemand
......@@ -1252,6 +1258,7 @@ porterstemmer
português
postbar
postcondition
postcss
postfields
postfoo
postgres
......@@ -1580,6 +1587,7 @@ subjectkeyword
subkey
subkeys
submenu
submenus
subparse
subpath
subpatterns
......
<?php
namespace Drupal\FunctionalTests\Theme;
use Drupal\Tests\BrowserTestBase;
/**
* Tests the Olivero theme.
*
* @group olivero
*/
class OliveroTest extends BrowserTestBase {
/**
* {@inheritdoc}
*/
protected static $modules = ['system', 'block'];
/**
* {@inheritdoc}
*
* It should eventually be possible to set this to 'olivero' once the theme
* is in core.
*/
protected $defaultTheme = 'stark';
/**
* {@inheritdoc}
*/
protected function setUp(): void {
parent::setUp();
// Install & set Olivero as default the theme.
// Note: it should be possible to remove this once Olivero can be set as
// the default theme above.
$this->container->get('theme_installer')->install(['olivero'], TRUE);
$system_theme_config = $this->container->get('config.factory')->getEditable('system.theme');
$system_theme_config
->set('default', 'olivero')
->save();
}
/**
* Tests that the Olivero theme always adds base library files.
*
* @see olivero.libraries.yml
*/
public function testBaseLibraryAvailable() {
$this->drupalGet('');
$this->assertSession()->statusCodeEquals(200);
$this->assertSession()->responseContains('olivero/css/base/base.css');
$this->assertSession()->responseContains('olivero/js/scripts.js');
}
/**
* Test Olivero's configuration schema.
*/
public function testConfigSchema() {
// Required configuration.
$this->drupalGet('');
$this->assertSession()->statusCodeEquals(200);
$this->assertSession()->elementExists('css', '#block-olivero-content');
$this->assertSession()->elementNotExists('css', '#block-olivero-search-form-wide');
// Optional configuration.
\Drupal::service('module_installer')->install(
['search', 'image', 'book', 'help', 'node']
);
$this->rebuildAll();
$this->drupalLogin(
$this->drupalCreateUser(['search content'])
);
// Confirm search block was installed.
$this->assertSession()->elementExists('css', '#block-olivero-search-form-wide');
}
/**
* Tests that the Olivero theme can be uninstalled.
*/
public function testIsUninstallable() {
$this->drupalLogin($this->drupalCreateUser(['access administration pages', 'administer themes']));
$this->drupalGet('admin/appearance');
$this->cssSelect('a[title="Install Bartik as default theme"]')[0]->click();
$this->cssSelect('a[title="Uninstall Olivero theme"]')[0]->click();
$this->assertText('The Olivero theme has been uninstalled.');
}
}
langcode: en
status: true
dependencies:
theme:
- olivero
id: olivero_account_menu
theme: olivero
region: secondary_menu
weight: -4
provider: null
plugin: system_menu_block:account
settings:
id: system_menu_block:account
label: 'User account menu'
provider: system
label_display: '0'
level: 1
depth: 1
expand_all_items: false
visibility: { }
langcode: en
status: true
dependencies:
module:
- system
theme:
- olivero
id: olivero_breadcrumbs
theme: olivero
region: breadcrumb
weight: 0
provider: null
plugin: system_breadcrumb_block
settings:
id: system_breadcrumb_block
label: Breadcrumbs
provider: system
label_display: '0'
visibility: { }
langcode: en
status: true
dependencies:
module:
- system
theme:
- olivero
id: olivero_content
theme: olivero
region: content
weight: 0
provider: null
plugin: system_main_block
settings:
id: system_main_block
label: 'Main page content'
provider: system
label_display: '0'
visibility: { }
langcode: en
status: true
dependencies:
theme:
- olivero
id: olivero_main_menu
theme: olivero
region: primary_menu
weight: 0
provider: null
plugin: system_menu_block:main
settings:
id: system_menu_block:main
label: 'Main navigation'
provider: system
label_display: '0'
level: 1
depth: 2
expand_all_items: true
visibility: { }
langcode: en
status: true
dependencies:
module:
- system
theme:
- olivero
id: olivero_messages
theme: olivero
region: highlighted
weight: -5
provider: null
plugin: system_messages_block
settings:
id: system_messages_block
label: 'Status messages'
provider: system
label_display: '0'
visibility: { }
langcode: en
status: true
dependencies:
theme:
- olivero
id: olivero_page_title
theme: olivero
region: content_above
weight: -5
provider: null
plugin: page_title_block
settings:
id: page_title_block
label: 'Page title'
provider: core
label_display: '0'
visibility: { }
langcode: en
status: true
dependencies:
theme:
- olivero
id: olivero_powered
theme: olivero
region: footer_bottom
weight: 0
provider: null
plugin: system_powered_by_block
settings:
id: system_powered_by_block
label: 'Powered by Drupal'
provider: system
label_display: '0'
visibility: { }
langcode: en
status: true
dependencies:
theme:
- olivero
id: olivero_primary_local_tasks
theme: olivero
region: highlighted
weight: -4
provider: null
plugin: local_tasks_block
settings:
id: local_tasks_block
label: 'Primary tabs'
provider: core
label_display: '0'
primary: true
secondary: false
visibility: { }
langcode: en
status: true
dependencies:
theme:
- olivero
id: olivero_secondary_local_tasks
theme: olivero
region: highlighted
weight: -2
provider: null
plugin: local_tasks_block
settings:
id: local_tasks_block
label: 'Secondary tabs'
provider: core
label_display: '0'
primary: false
secondary: true
visibility: { }
langcode: en
status: true
dependencies:
module:
- system
theme:
- olivero
id: olivero_site_branding
theme: olivero
region: header
weight: 0
provider: null
plugin: system_branding_block
settings:
id: system_branding_block
label: 'Site branding'
provider: system
label_display: '0'
use_site_logo: true
use_site_name: true
use_site_slogan: false
visibility: { }
langcode: en
status: true
dependencies:
theme:
- olivero
id: primary_admin_actions
theme: olivero
region: highlighted
weight: -5
provider: null
plugin: local_actions_block
settings:
id: local_actions_block
label: 'Primary admin actions'
provider: core
label_display: '0'
visibility: { }
langcode: en
status: true
dependencies:
enforced:
theme:
- olivero
id: olivero_medium
label: 'Olivero Medium'