@vaadin/vaadin-lumo-styles
Version:
Lumo is a design system foundation for modern web applications, used by Vaadin components
129 lines (108 loc) • 4.12 kB
CSS
/**
* @license
* Copyright (c) 2017 - 2026 Vaadin Ltd.
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
*/
@media lumo_components_menu-bar-button {
:host {
margin-block: calc(var(--lumo-space-xs) / 2);
margin-right: calc(var(--lumo-space-xs) / 2);
margin-left: 0;
border-radius: 0;
}
[part='label'] {
width: 100%;
}
/* NOTE(web-padawan): avoid using shorthand padding property for IE11 */
[part='label'] ::slotted(vaadin-menu-bar-item) {
justify-content: center;
background-color: transparent;
height: var(--lumo-button-size);
margin: 0 calc((var(--lumo-size-m) / 3 + var(--lumo-border-radius-m) / 2) * -1);
padding-left: calc(var(--lumo-size-m) / 3 + var(--lumo-border-radius-m) / 2);
padding-right: calc(var(--lumo-size-m) / 3 + var(--lumo-border-radius-m) / 2);
}
:host([theme~='small']) [part='label'] ::slotted(vaadin-menu-bar-item) {
min-height: var(--lumo-size-s);
margin: 0 calc((var(--lumo-size-s) / 3 + var(--lumo-border-radius-m) / 2) * -1);
padding-left: calc(var(--lumo-size-s) / 3 + var(--lumo-border-radius-m) / 2);
padding-right: calc(var(--lumo-size-s) / 3 + var(--lumo-border-radius-m) / 2);
}
:host([theme~='tertiary']) [part='label'] ::slotted(vaadin-menu-bar-item) {
margin: 0 calc((var(--lumo-button-size) / 6) * -1);
padding-left: calc(var(--lumo-button-size) / 6);
padding-right: calc(var(--lumo-button-size) / 6);
}
:host([theme~='tertiary-inline']) {
margin-top: calc(var(--lumo-space-xs) / 2);
margin-bottom: calc(var(--lumo-space-xs) / 2);
margin-right: calc(var(--lumo-space-xs) / 2);
}
:host([theme~='tertiary-inline']) [part='label'] ::slotted(vaadin-menu-bar-item) {
margin: 0;
padding: 0;
}
:host([first-visible]) {
border-radius: var(--lumo-border-radius-m) 0 0 var(--lumo-border-radius-m);
/* Needed to retain the focus-ring with border-radius */
margin-left: calc(var(--lumo-space-xs) / 2);
}
:host([last-visible]),
:host([slot='overflow']) {
border-radius: 0 var(--lumo-border-radius-m) var(--lumo-border-radius-m) 0;
}
:host([theme~='tertiary']),
:host([theme~='tertiary-inline']) {
border-radius: var(--lumo-border-radius-m);
}
:host([slot='overflow']) {
min-width: var(--lumo-button-size);
margin-inline-end: 0;
padding-left: calc(var(--lumo-button-size) / 4);
padding-right: calc(var(--lumo-button-size) / 4);
}
:host([slot='overflow']) ::slotted(*) {
font-size: var(--lumo-font-size-xl);
}
:host([slot='overflow']) [part='prefix'],
:host([slot='overflow']) [part='suffix'] {
margin-left: 0;
margin-right: 0;
}
:host([theme~='dropdown-indicators']:not([slot='overflow']):not([theme~='icon'])[aria-haspopup]) [part='suffix'] {
margin-inline-start: 0;
width: 1em;
height: 1em;
line-height: 1;
font-size: var(--lumo-icon-size-s);
position: relative;
inset-inline-start: 0.15em;
}
/* prettier-ignore */
:host([theme~='dropdown-indicators']:not([slot='overflow']):not([theme~='icon'])[aria-haspopup]) [part='suffix']::after {
font-family: lumo-icons;
content: var(--lumo-icons-dropdown);
}
/* prettier-ignore */
:host([theme~='dropdown-indicators']:not([slot='overflow']):not([theme~='icon'])[theme~='tertiary'][aria-haspopup]) [part='suffix'] {
inset-inline-start: 0.05em;
}
/* prettier-ignore */
:host([theme~='dropdown-indicators']:not([slot='overflow']):not([theme~='icon'])[theme~='tertiary-inline'][aria-haspopup]) [part='suffix'] {
inset-inline-start: 0;
}
/* RTL styles */
:host([dir='rtl']) {
margin-left: calc(var(--lumo-space-xs) / 2);
margin-right: 0;
border-radius: 0;
}
:host([dir='rtl'][first-visible]) {
border-radius: 0 var(--lumo-border-radius-m) var(--lumo-border-radius-m) 0;
margin-right: calc(var(--lumo-space-xs) / 2);
}
:host([dir='rtl'][last-visible]),
:host([dir='rtl'][slot='overflow']) {
border-radius: var(--lumo-border-radius-m) 0 0 var(--lumo-border-radius-m);
}
}