/** * Copyright (c) 2021 OpenLens Authors * * Permission is hereby granted, free of charge, to any person obtaining a copy of * this software and associated documentation files (the "Software"), to deal in * the Software without restriction, including without limitation the rights to * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of * the Software, and to permit persons to whom the Software is furnished to do so, * subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ .Menu { --bgc: var(--layoutBackground); position: absolute; display: flex; flex-direction: column; background: var(--bgc); list-style: none; border: 1px solid var(--borderColor); z-index: 101; box-shadow: rgb(0 0 0 / 17%) 0px 6px 9px 0px; border-radius: 4px; &.portal { left: -1000px; top: -1000px; } &:not(.portal) { margin: $margin 0; &.left { left: 0; } &.right { right: 0; } &.top { bottom: 100%; } &.bottom { top: 100%; } } &:empty { display: none; } } .MenuItem { --color: var(--textColorPrimary); --color-active: white; --bgc-active: var(--menuActiveBackground); position: relative; display: flex; align-items: center; color: var(--color); padding: 6px var(--padding); margin-bottom: -3px; white-space: nowrap; text-decoration: none; text-overflow: ellipsis; border-radius: 6px; border: 3px solid var(--bgc); &:last-of-type { margin-bottom: 0; } &:not(.disabled) { cursor: pointer; } &:hover:not(.disabled) { color: var(--color-active); background: var(--bgc-active); cursor: pointer; } &.active, &:focus { color: var(--color-active); background-color: var(--bgc-active); } &.disabled { pointer-events: none; opacity: .5; } &.spacer { padding: 0; height: 0; overflow: hidden; border-top: 1px solid var(--contentColor); pointer-events: none; } .Icon { &:first-child { margin-left: 0; margin-right: $padding; } } } .theme-light { .Menu { border: 1px solid var(--borderColor); } }