packages/core/styles/components/dropdown.pcss (85 lines of code) (raw):

/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ :root { --ifm-dropdown-background-color: var(--ifm-background-surface-color); --ifm-dropdown-font-weight: var(--ifm-font-weight-semibold); --ifm-dropdown-link-color: var(--ifm-font-color-base); --ifm-dropdown-hover-background-color: var(--ifm-hover-overlay); } .dropdown { display: inline-flex; font-weight: var(--ifm-dropdown-font-weight); position: relative; vertical-align: top; &--hoverable:hover, &--show { ^&__menu { opacity: 1; pointer-events: all; transform: translateY(0); visibility: visible; } } &--right { ^&__menu { left: inherit; right: 0; } } &--nocaret .navbar__link:after { content: none !important; } &__menu { background-color: var(--ifm-dropdown-background-color); border-radius: var(--ifm-global-radius); box-shadow: var(--ifm-global-shadow-md); left: 0; list-style: none; max-height: 80vh; min-width: 10rem; opacity: 0; overflow-y: auto; padding: 0.5rem; pointer-events: none; position: absolute; top: calc(100% - var(--ifm-navbar-item-padding-vertical) + 0.3rem); transform: translateY(-0.625rem); visibility: hidden; z-index: var(--ifm-z-index-dropdown); @mixin transition opacity transform visibility; } &__link { border-radius: 0.25rem; color: var(--ifm-dropdown-link-color); display: block; font-size: 0.875rem; margin-top: 0.2rem; padding: 0.25rem 0.5rem; white-space: nowrap; &:hover, &--active { background-color: var(--ifm-dropdown-hover-background-color); color: var(--ifm-dropdown-link-color); text-decoration: none; } &--active, &--active:hover { --ifm-dropdown-link-color: var(--ifm-link-color); } } & > .navbar__link:after { border-color: currentColor transparent; border-style: solid; border-width: 0.4em 0.4em 0; content: ''; display: inline-block; margin-left: 0.3em; position: relative; top: 2px; transform: translateY(-50%); } }