| // 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. | |
| @use "../assets/theme" as *; | |
| // 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; | |
| } | |
| } |