menu-barpackage.theme.lumo.vaadin-menu-bar-button-styles.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of vaadin-webcomponents Show documentation
Show all versions of vaadin-webcomponents Show documentation
Mvnpm composite: Vaadin webcomponents
The newest version!
import { button } from '@vaadin/button/theme/lumo/vaadin-button-styles.js';
import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
const menuBarButton = css`
:host {
margin: 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);
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);
}
`;
registerStyles('vaadin-menu-bar-button', [button, menuBarButton], {
moduleId: 'lumo-menu-bar-button',
});