/* * Copyright (C) 2013-2020 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. */ .scope-bar { padding: 0 3px; --scope-bar-margin-default: 2px; --scope-bar-padding-default: 6px; --scope-bar-text-color-default: var(--text-color); --scope-bar-background-color-default: unset; --scope-bar-background-opacity-default: var(--glyph-opacity); --scope-bar-border-color-default: unset; } .scope-bar > li { position: relative; z-index: 0; display: inline-block; margin: 0 var(--scope-bar-margin); padding: 2px var(--scope-bar-padding) 4px; font-size: 11px; line-height: 11px; color: var(--scope-bar-text-color); text-align: center; --scope-bar-margin: var(--scope-bar-margin-override, var(--scope-bar-margin-default)); --scope-bar-padding: var(--scope-bar-padding-override, var(--scope-bar-padding-default)); --scope-bar-text-color: var(--scope-bar-text-color-override, var(--scope-bar-text-color-default)); --scope-bar-background-color: var(--scope-bar-background-color-override, var(--scope-bar-background-color-default)); --scope-bar-background-opacity: var(--scope-bar-background-opacity-override, var(--scope-bar-background-opacity-default)); --scope-bar-border-color: var(--scope-bar-border-color-override, var(--scope-bar-border-color-default)); } .scope-bar > li::after { position: absolute; content: ""; left: 0; top: 0; z-index: -1; width: calc(100% - 2px); height: calc(100% - 2px); background-color: var(--scope-bar-background-color); border: 1px solid var(--scope-bar-border-color); border-radius: 3px; opacity: var(--scope-bar-background-opacity); } .scope-bar > li:focus { outline: none; } .scope-bar > li:matches(.selected, :hover) { --scope-bar-text-color-default: var(--selected-foreground-color); --scope-bar-background-color-default: var(--glyph-color-active); --scope-bar-border-color-default: var(--glyph-color-active); } .scope-bar > li:not(.selected):hover { --scope-bar-background-opacity-default: 0.5; } .scope-bar > li.selected:active::after { filter: brightness(0.8); } .scope-bar > li.multiple { position: relative; } .scope-bar > li.multiple > select { position: absolute; top: -1px; inset-inline-start: calc(var(--scope-bar-padding) - var(--scope-bar-padding-default) - 2px); width: 0; height: 0; margin: 0; opacity: 0; pointer-events: none; } .scope-bar > li:focus::after, .scope-bar > li.multiple > select:focus { outline: auto -webkit-focus-ring-color; outline-offset: -1px; } .scope-bar > li.multiple:not(.selected) > select { display: none; } .scope-bar > li.multiple > .arrows { width: 5px; height: 12px; display: inline-block; vertical-align: -2px; margin-top: -1px; margin-bottom: -1px; margin-inline: 6px 2px; }