blob: 5eb20a750a89243c88056d26d76145b9511a50be [file] [edit]
// Copyright (C) 2023 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
@import "../assets/theme";
// If we're in a popup menu, remove the padding
.pf-popup-menu.pf-popup {
.pf-popup-content {
padding: 0;
}
}
.pf-menu {
display: flex;
flex-direction: column;
align-items: stretch;
margin: 4px 0;
.pf-menu-divider {
border-bottom: solid 1px var(--pf-color-border);
margin: 5px 0 5px 0;
}
// Remove duplicate dividers and dividers at the start or end of the menu
.pf-menu-divider:first-child,
.pf-menu-divider + .pf-menu-divider,
.pf-menu-divider:not(:has(~ :not(.pf-menu-divider))) {
display: none;
}
// Remove a menu divider if it directly follows another divider
.pf-menu-divider + .pf-menu-divider {
display: none;
}
.pf-menu-title {
font-family: var(--pf-font-compact);
font-weight: bolder;
font-size: var(--pf-font-size-xs);
text-transform: uppercase;
color: var(--pf-color-text-muted);
padding: 6px 8px 3px 8px;
user-select: none;
}
}
.pf-menu-item {
font-family: var(--pf-font-compact);
user-select: none;
text-align: left;
padding: 6px 10px;
white-space: nowrap;
min-width: max-content;
line-height: 1;
cursor: pointer;
display: grid;
grid-template-columns: auto 1fr auto;
grid-template-areas: "left-icon label right-icon";
.pf-menu-item__label {
grid-area: label;
}
&__left-icon {
grid-area: left-icon;
margin-right: 6px; // Make some room between the icon and label
}
&__right-icon {
grid-area: right-icon;
margin-left: 6px; // Make some room between the icon and label
}
&:hover {
background: color_hover(transparent);
}
&:active,
&.pf-active {
background: color_active(transparent);
}
&[disabled] {
color: var(--pf-color-text-muted);
background: unset;
cursor: not-allowed;
}
&:focus-visible {
@include focus;
}
}