diff --git a/addons/mail/static/src/core/web/activity_menu.scss b/addons/mail/static/src/core/web/activity_menu.scss
index 09d8bbe6c4d..adabf86de14 100644
--- a/addons/mail/static/src/core/web/activity_menu.scss
+++ b/addons/mail/static/src/core/web/activity_menu.scss
@@ -4,12 +4,8 @@
min-height: 50px;
img {
- width: 40px;
- height: 40px;
- }
-
- .o-mail-ActivityGroup:hover {
- background-color: map-get($theme-colors, "light");
+ height: 3em;
+ aspect-ratio: 1;
}
}
diff --git a/addons/mail/static/src/core/web/activity_menu.xml b/addons/mail/static/src/core/web/activity_menu.xml
index 91d8c85e1df..5217db392c5 100644
--- a/addons/mail/static/src/core/web/activity_menu.xml
+++ b/addons/mail/static/src/core/web/activity_menu.xml
@@ -12,28 +12,28 @@
-
+
-
+
+
diff --git a/addons/mail/static/src/core/web/messaging_menu.xml b/addons/mail/static/src/core/web/messaging_menu.xml
index 833c0734aa2..22d59c16b82 100644
--- a/addons/mail/static/src/core/web/messaging_menu.xml
+++ b/addons/mail/static/src/core/web/messaging_menu.xml
@@ -24,7 +24,7 @@
Channels
-
+
No conversation yet...
@@ -39,7 +39,6 @@
-
@@ -53,7 +52,6 @@
onClick="(isMarkAsRead) => isMarkAsRead ? this.cancelNotifications(failure) : this.onClickFailure(failure)"
onSwipeRight="hasTouch() ? { action: () => this.cancelNotifications(failure), icon: 'fa-times-circle', bgColor: 'bg-warning' } : undefined"
/>
-
@@ -81,7 +79,6 @@
-
diff --git a/addons/mail/static/src/core/web/notification_item.xml b/addons/mail/static/src/core/web/notification_item.xml
index c38f2798a31..02ba679a425 100644
--- a/addons/mail/static/src/core/web/notification_item.xml
+++ b/addons/mail/static/src/core/web/notification_item.xml
@@ -3,7 +3,7 @@
-
+
@@ -29,7 +29,7 @@
-
+
diff --git a/addons/project_todo/static/tests/activity_menu_tests.js b/addons/project_todo/static/tests/activity_menu_tests.js
index cf0ef07b5bf..de481e6cf52 100644
--- a/addons/project_todo/static/tests/activity_menu_tests.js
+++ b/addons/project_todo/static/tests/activity_menu_tests.js
@@ -20,31 +20,31 @@ QUnit.test("create todo from activity menu without date", async function (assert
target,
".o-mail-ActivityMenu:contains(Congratulations, you're done with your activities.)"
);
- assert.containsOnce(target, "button:contains(Add a To-do)");
- await click("button:contains(Add a To-do)");
- assert.containsNone(target, "button:contains(Add a To-do)");
+ assert.containsOnce(target, ".btn:contains(Add a To-do)");
+ await click(".btn:contains(Add a To-do)");
+ assert.containsNone(target, ".btn:contains(Add a To-do)");
assert.containsOnce(target, ".o-mail-ActivityMenu-show");
await editInput(target, "input.o-mail-ActivityMenu-input", "New To-do");
- await click("button:contains(SAVE)");
+ await click(".btn:contains(SAVE)");
// Need to reopen systray as it automatically closes when a todo is created
assert.containsOnce(target, ".o_menu_systray i[aria-label='Activities']");
await click(".o_menu_systray i[aria-label='Activities']");
assert.containsOnce(target, ".o-mail-ActivityMenu-counter:contains(1)");
assert.containsOnce(target, ".o-mail-ActivityGroup");
assert.containsOnce(target, ".o-mail-ActivityGroup:contains(project.task)");
- assert.containsOnce(target, "button:contains(1 Today)");
- assert.containsOnce(target, "button:contains(Add a To-do)");
+ assert.containsOnce(target, ".btn:contains(1 Today)");
+ assert.containsOnce(target, ".btn:contains(Add a To-do)");
assert.containsNone(target, ".o-mail-ActivityMenu-show");
assert.containsNone(target, ".o-mail-ActivityMenu-input");
- await click("button:contains(Add a To-do)");
- assert.containsNone(target, "button:contains(Add a To-do)");
+ await click(".btn:contains(Add a To-do)");
+ assert.containsNone(target, ".btn:contains(Add a To-do)");
await editInput(target, "input.o-mail-ActivityMenu-input", "New To-do");
- await click("button:contains(SAVE)");
+ await click(".btn:contains(SAVE)");
// Need to reopen systray as it automatically closes when a todo is created
assert.containsOnce(target, ".o_menu_systray i[aria-label='Activities']");
await click(".o_menu_systray i[aria-label='Activities']");
assert.containsOnce(target, ".o-mail-ActivityMenu-counter:contains(2)");
- assert.containsOnce(target, "button:contains(2 Today)");
+ assert.containsOnce(target, ".btn:contains(2 Today)");
});
QUnit.test("create to-do from activity menu with date", async function (assert) {
@@ -57,19 +57,19 @@ QUnit.test("create to-do from activity menu with date", async function (assert)
assert.containsNone(target, ".o-mail-ActivityMenu-counter");
await click(".o_menu_systray i[aria-label='Activities']");
- await click("button:contains(Add a To-do)");
+ await click(".btn:contains(Add a To-do)");
await editInput(target, "input.o-mail-ActivityMenu-input", "New To-do");
await editInput(
target,
"input.o_datetime_input",
futureDay.toString(luxon.DateTime.DATE_SHORT)
);
- await click("button:contains(SAVE)");
+ await click(".btn:contains(SAVE)");
// Need to reopen systray as it automatically closes when a todo is created
assert.containsOnce(target, ".o_menu_systray i[aria-label='Activities']");
await click(".o_menu_systray i[aria-label='Activities']");
assert.containsOnce(target, ".o-mail-ActivityMenu-counter:contains(1)");
assert.containsOnce(target, ".o-mail-ActivityGroup");
assert.containsOnce(target, ".o-mail-ActivityGroup:contains(project.task)");
- assert.containsOnce(target, "button:contains(1 Future)");
+ assert.containsOnce(target, ".btn:contains(1 Future)");
});
diff --git a/addons/web/static/src/core/popover/popover.js b/addons/web/static/src/core/popover/popover.js
index 7f472b50d07..9ed194afcd7 100644
--- a/addons/web/static/src/core/popover/popover.js
+++ b/addons/web/static/src/core/popover/popover.js
@@ -24,7 +24,7 @@ export class Popover extends Component {
right: "end",
};
el.classList = [
- "o_popover popover mw-100 shadow-sm",
+ "o_popover popover mw-100",
`bs-popover-${directionMap[direction]}`,
`o-popover-${direction}`,
`o-popover--${position}`,
diff --git a/addons/web/static/src/legacy/scss/utils.scss b/addons/web/static/src/legacy/scss/utils.scss
index 5f93a5d0e90..936d88c879e 100644
--- a/addons/web/static/src/legacy/scss/utils.scss
+++ b/addons/web/static/src/legacy/scss/utils.scss
@@ -286,23 +286,10 @@
padding: if(type-of($padding-base) == 'string', calc(#{$padding-base}/2) $padding-base, $padding-base/2 $padding-base);
vertical-align: top;
@include o-hover-text-color($body-color, $headings-color);
-
- &:focus, &:active, &:focus:active {
- outline: none;
- box-shadow: none;
- }
}
@mixin o-kanban-dropdown-open {
position: relative;
- background: $dropdown-bg;
z-index: $zindex-dropdown + 1;
-
- &:before {
- @include o-position-absolute(100%, 0, auto, 0);
- height: $dropdown-border-radius;
- background-color: $dropdown-bg;
- content: "";
- }
}
@mixin o-kanban-colorpicker {
max-width: 150px;
diff --git a/addons/web/static/src/scss/bootstrap_overridden.scss b/addons/web/static/src/scss/bootstrap_overridden.scss
index 91d72c76ff8..79b537cd190 100644
--- a/addons/web/static/src/scss/bootstrap_overridden.scss
+++ b/addons/web/static/src/scss/bootstrap_overridden.scss
@@ -91,12 +91,11 @@ $grid-gutter-width: $o-horizontal-padding * 2 !default;
//
// Define common padding and border radius sizes and more.
-$border-color: $o-border-color!default;
+$border-color: $o-border-color !default;
$border-radius: $o-border-radius !default;
$border-radius-sm: $o-border-radius-sm !default;
$border-radius-lg: $o-border-radius-lg !default;
-$border-color: $o-gray-300 !default;
$component-active-color: $o-component-active-color !default;
$component-active-bg: $o-component-active-bg !default;
@@ -174,7 +173,7 @@ $btn-border-radius-lg: $border-radius !default;
//
// Dropdown menu container and contents.
-$dropdown-border-color: $gray-300 !default;
+$dropdown-border-color: $border-color !default;
$dropdown-link-color: $o-main-text-color !default;
$dropdown-link-hover-color: $gray-900 !default;
@@ -233,9 +232,10 @@ $tooltip-opacity: 1 !default;
// Popovers
$popover-bg: $white !default;
-$popover-border-width: 0 !default;
+$popover-border-color: $border-color !default;
$popover-border-radius: $border-radius !default;
$popover-arrow-color: var(--popover-arrow-color, #{$popover-bg}) !default;
+$popover-arrow-outer-color: $popover-border-color !default;
// Toasts
diff --git a/addons/web/static/src/scss/bootstrap_review_backend.scss b/addons/web/static/src/scss/bootstrap_review_backend.scss
index 4f514149f4c..15f123a7a5e 100644
--- a/addons/web/static/src/scss/bootstrap_review_backend.scss
+++ b/addons/web/static/src/scss/bootstrap_review_backend.scss
@@ -111,7 +111,7 @@ $-o-theme-text-colors: map-merge($theme-colors, $o-theme-text-colors);
@each $-name, $-color in $-o-theme-text-colors{
&.btn-#{$-name}, &.text-#{$-name} {
- @include o-btn-link-variant($o-main-color-muted!important, o-text-color($-name) or $-color!important);
+ @include o-btn-link-variant($o-gray-600!important, o-text-color($-name) or $-color!important);
}
}
}
@@ -246,7 +246,7 @@ $-o-bg-colors-custom: null;
.btn-link {
@each $-name, $-color in $o-text-colors-custom{
&.btn-#{$-name}, &.text-#{$-name} {
- @include o-btn-link-variant($o-main-color-muted!important, o-text-color($-name) or $-color!important);
+ @include o-btn-link-variant($o-gray-600!important, o-text-color($-name) or $-color!important);
}
}
}
diff --git a/addons/web/static/src/scss/primary_variables.scss b/addons/web/static/src/scss/primary_variables.scss
index e3b91a71c83..970a851561a 100644
--- a/addons/web/static/src/scss/primary_variables.scss
+++ b/addons/web/static/src/scss/primary_variables.scss
@@ -168,7 +168,6 @@ $o-horizontal-padding: $o-spacer !default;
$o-innergroup-rpadding: 45px !default;
$o-dropdown-hpadding: 20px !default;
$o-dropdown-vpadding: 3px !default;
-$o-dropdown-box-shadow: 0 1rem 1.1rem rgba(#000, .1) !default;
$o-sheet-vpadding: 24px !default;
@@ -259,8 +258,8 @@ $o-btns-bs-override: map-merge((
border: $o-white,
color: $o-gray-700,
- hover-background: $o-gray-100,
- hover-border: $o-gray-100,
+ hover-background: $o-gray-200,
+ hover-border: $o-gray-200,
hover-color: $o-gray-900,
active-background: $o-component-active-bg,
diff --git a/addons/web/static/src/webclient/navbar/navbar.scss b/addons/web/static/src/webclient/navbar/navbar.scss
index e106cb900ac..acaac508faf 100644
--- a/addons/web/static/src/webclient/navbar/navbar.scss
+++ b/addons/web/static/src/webclient/navbar/navbar.scss
@@ -28,34 +28,33 @@
.o_nav_entry, .dropdown-toggle {
@extend %-main-navbar-entry-base;
@extend %-main-navbar-entry-spacing;
- border: 0;
+ border-color: transparent;
}
.o_menu_sections {
.o_nav_entry, .dropdown-toggle {
- @extend %-main-navbar-entry-bg-hover;
+ @extend %-main-navbar-entry-bg-hover !optional;
}
.dropdown.show > .dropdown-toggle {
- @extend %-main-navbar-entry-active;
+ @extend %-main-navbar-entry-active !optional;
}
}
@if (not $o-navbar-use-pills) {
.o_menu_systray {
.o_nav_entry, .dropdown-toggle {
- @extend %-main-navbar-entry-bg-hover;
+ @extend %-main-navbar-entry-bg-hover !optional;
}
.dropdown.show > .dropdown-toggle {
- @extend %-main-navbar-entry-active;
+ @extend %-main-navbar-entry-active !optional;
}
}
}
.dropdown-menu {
- border-top: 0;
- margin-top: $o-navbar-dropdown-menu-margin-top;
+ border-top: $o-navbar-dropdown-menu-border-top;
border-radius: $o-navbar-dropdown-menu-border-radius;
}
@@ -108,6 +107,9 @@
}
.o_menu_systray {
+ --NavBar-entry-padding-left: #{$o-navbar-entry-padding-h * 0.5};
+ --NavBar-entry-padding-right: #{$o-navbar-entry-padding-h * 0.5};
+
.badge {
margin-right: -.5em;
border: 0;
diff --git a/addons/web/static/src/webclient/navbar/navbar.variables.scss b/addons/web/static/src/webclient/navbar/navbar.variables.scss
index 752ae879a86..9865b93b26d 100644
--- a/addons/web/static/src/webclient/navbar/navbar.variables.scss
+++ b/addons/web/static/src/webclient/navbar/navbar.variables.scss
@@ -19,7 +19,7 @@ $o-navbar-entry-bg--hover: rgba($o-black, .08) !default;
$o-navbar-entry-color--active: $o-navbar-entry-color--hover !default;
$o-navbar-entry-bg--active: $o-navbar-entry-bg--hover !default;
-$o-navbar-dropdown-menu-margin-top: 0px !default;
+$o-navbar-dropdown-menu-border-top: 0 !default;
$o-navbar-dropdown-menu-border-radius: 0 0 $o-border-radius $o-border-radius !default;
$o-navbar-brand-font-size: 1.2em !default;
@@ -46,10 +46,12 @@ $o-navbar-badge-text-shadow: 1px 1px 0 rgba($o-black, .3) !default;
background: transparent;
font-size: $o-navbar-entry-font-size;
- @include o-hover-text-color(
- var(--NavBar-entry-color, #{$o-navbar-entry-color}),
- var(--NavBar-entry-color--hover, #{$o-navbar-entry-color--hover})
- );
+ @if ($o-navbar-use-pills == false) {
+ @include o-hover-text-color(
+ var(--NavBar-entry-color, #{$o-navbar-entry-color}),
+ var(--NavBar-entry-color--hover, #{$o-navbar-entry-color--hover})
+ );
+ }
}
%-main-navbar-entry-spacing {
@@ -62,15 +64,17 @@ $o-navbar-badge-text-shadow: 1px 1px 0 rgba($o-black, .3) !default;
line-height: calc(var(--o-navbar-height) - #{$o-navbar-padding-v * 2});
}
-%-main-navbar-entry-bg-hover {
- &:hover {
- background-color: var(--NavBar-entry-backgroundColor--hover, #{$o-navbar-entry-bg--hover});
+@if ($o-navbar-use-pills == false) {
+ %-main-navbar-entry-bg-hover {
+ &:hover {
+ background-color: var(--NavBar-entry-backgroundColor--hover, #{$o-navbar-entry-bg--hover});
+ }
}
-}
-%-main-navbar-entry-active {
+ %-main-navbar-entry-active {
&, &:hover, &:focus {
- background: var(--NavBar-entry-backgroundColor--active, #{$o-navbar-entry-bg--active});
- color: var(--NavBar-entry-color--active, #{$o-navbar-entry-color--active});
+ background: var(--NavBar-entry-backgroundColor--active, #{$o-navbar-entry-bg--active});
+ color: var(--NavBar-entry-color--active, #{$o-navbar-entry-color--active});
+ }
}
}
diff --git a/addons/web/static/src/webclient/user_menu/user_menu.scss b/addons/web/static/src/webclient/user_menu/user_menu.scss
index 132afe3d1a7..919169fd441 100644
--- a/addons/web/static/src/webclient/user_menu/user_menu.scss
+++ b/addons/web/static/src/webclient/user_menu/user_menu.scss
@@ -1,7 +1,5 @@
.o_user_menu .dropdown-toggle {
- --NavBar-entry-padding-right: 0;
-
- margin-right: $o-horizontal-padding;
+ --NavBar-entry-padding-right: #{$o-horizontal-padding};
.o_user_avatar {
height: calc(var(--o-navbar-height) - 20px);
diff --git a/addons/web/static/src/webclient/webclient.scss b/addons/web/static/src/webclient/webclient.scss
index 35a2eb20f26..c0a38381341 100644
--- a/addons/web/static/src/webclient/webclient.scss
+++ b/addons/web/static/src/webclient/webclient.scss
@@ -77,7 +77,6 @@ kbd {
max-height: 70vh;
overflow: auto;
background-clip: border-box;
- box-shadow: $o-dropdown-box-shadow;
}
:not(.dropstart) > .dropdown-item {
diff --git a/addons/web/static/tests/core/popover/popover_tests.js b/addons/web/static/tests/core/popover/popover_tests.js
index b158dd1b52f..97f18c9bdc5 100644
--- a/addons/web/static/tests/core/popover/popover_tests.js
+++ b/addons/web/static/tests/core/popover/popover_tests.js
@@ -194,7 +194,7 @@ QUnit.test("reposition popover should properly change classNames", async (assert
// Should have classes for a "bottom-middle" placement
assert.strictEqual(
popover.className,
- "o_popover popover mw-100 shadow-sm bs-popover-bottom o-popover-bottom o-popover--bm"
+ "o_popover popover mw-100 bs-popover-bottom o-popover-bottom o-popover--bm"
);
assert.strictEqual(arrow.className, "popover-arrow start-0 end-0 mx-auto");
@@ -207,7 +207,7 @@ QUnit.test("reposition popover should properly change classNames", async (assert
// Should have classes for a "right-end" placement
assert.strictEqual(
popover.className,
- "o_popover popover mw-100 shadow-sm bs-popover-end o-popover-right o-popover--re"
+ "o_popover popover mw-100 bs-popover-end o-popover-right o-popover--re"
);
assert.strictEqual(arrow.className, "popover-arrow top-auto");
});