gecko-dev/browser/themes/shared/toolbarbuttons.inc.css
Mike de Boer d41016be92 Bug 1354159 - Part 4 - Implement the style changes necessary to properly view the new Bookmarks view inside the Library Panel. r=Gijs,mak
MozReview-Commit-ID: 2tPH89DXbcp

--HG--
extra : rebase_source : 8356f296a77e908884a20d58b40571b78ce35966
2017-06-29 17:57:28 -07:00

479 lines
17 KiB
CSS

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
%filter substitution
%define toolbarShadowColor hsla(209,67%,12%,0.35)
%define forwardTransitionLength 150ms
%ifndef MOZ_PHOTON_THEME
%define conditionalForwardWithUrlbar window:not([chromehidden~="toolbar"]) #urlbar-wrapper
%endif
:root {
%ifdef MOZ_PHOTON_THEME
--toolbarbutton-hover-background: hsla(240,5%,5%,.1);
--toolbarbutton-active-background: hsla(240,5%,5%,.15);
--toolbarbutton-inner-padding: 6px;
--backbutton-background: hsla(0,100%,100%,.8);
--backbutton-hover-background: var(--backbutton-background);
--backbutton-active-background: var(--toolbarbutton-active-background);
--backbutton-border-color: hsla(240,5%,5%,.3);
%else
--backbutton-urlbar-overlap: 6px;
/* icon width + border + horizontal padding (without the overlap from backbutton-urlbar-overlap) */
--forwardbutton-width: 25px;
--toolbarbutton-inner-padding: 3px;
%endif
}
/* Larger buttons in touch mode */
:root[uidensity=touch] {
--toolbarbutton-inner-padding: 9px;
}
%ifndef MOZ_PHOTON_THEME
toolbar:-moz-lwtheme {
--toolbarbutton-hover-background: rgba(255,255,255,.25);
--toolbarbutton-active-background: rgba(70%,70%,70%,.25);
--toolbarbutton-hover-bordercolor: rgba(0,0,0,.2);
--toolbarbutton-active-bordercolor: rgba(0,0,0,.3);
--toolbarbutton-active-boxshadow: 0 0 2px rgba(0,0,0,.6) inset;
--toolbarbutton-checkedhover-backgroundcolor: rgba(85%,85%,85%,.25);
}
%else
toolbar[brighttext] {
--toolbarbutton-hover-background: hsla(0,0%,100%,.2);
--toolbarbutton-active-background: hsla(0,0%,100%,.3);
--backbutton-background: var(--toolbarbutton-hover-background);
--backbutton-hover-background: var(--toolbarbutton-active-background);
--backbutton-active-background: hsla(0,0%,100%,.4);
}
%endif
/* ::::: primary toolbar buttons ::::: */
.tabbrowser-arrowscrollbox > .scrollbutton-up[disabled=true],
.tabbrowser-arrowscrollbox > .scrollbutton-down[disabled=true],
/* specialcase the overflow and the hamburger button so they show up disabled in customize mode. */
#nav-bar-overflow-button[disabled=true] > .toolbarbutton-icon,
#PanelUI-menu-button[disabled=true] > .toolbarbutton-badge-stack > .toolbarbutton-icon,
#main-window:not([customizing]) .toolbarbutton-1[disabled=true] > .toolbarbutton-icon,
#main-window:not([customizing]) .toolbarbutton-1[disabled=true] > .toolbarbutton-menubutton-dropmarker,
#main-window:not([customizing]) .toolbarbutton-1 > .toolbarbutton-menubutton-button[disabled=true] > .toolbarbutton-icon,
#main-window:not([customizing]) .toolbarbutton-1[disabled=true] > :-moz-any(.toolbarbutton-menubutton-button, .toolbarbutton-badge-stack) > .toolbarbutton-icon {
opacity: 0.4;
}
.toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker {
list-style-image: url("chrome://browser/skin/toolbarbutton-dropdown-arrow.png");
}
toolbar[brighttext] .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker {
list-style-image: url("chrome://browser/skin/toolbarbutton-dropdown-arrow-inverted.png");
}
.toolbarbutton-1 > .toolbarbutton-icon,
.toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-icon {
margin-inline-end: 0;
}
:-moz-any(toolbar, .widget-overflow-list) .toolbarbutton-1 > .toolbarbutton-icon,
:-moz-any(toolbar, .widget-overflow-list) .toolbarbutton-1 > :-moz-any(.toolbarbutton-menubutton-button, .toolbarbutton-badge-stack) > .toolbarbutton-icon,
#bookmarks-menu-button[cui-areatype="toolbar"] > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon {
max-width: 16px;
}
#TabsToolbar .toolbarbutton-1,
.tabbrowser-arrowscrollbox > .scrollbutton-up,
.tabbrowser-arrowscrollbox > .scrollbutton-down {
margin: 0 0 calc(var(--navbar-tab-toolbar-highlight-overlap) + var(--tab-toolbar-navbar-overlap));
}
#TabsToolbar .toolbarbutton-1,
#TabsToolbar .toolbarbutton-1 > .toolbarbutton-menubutton-button,
.tabbrowser-arrowscrollbox > .scrollbutton-up,
.tabbrowser-arrowscrollbox > .scrollbutton-down {
-moz-appearance: none;
padding: 0;
min-width: 26px;
border: 1px solid transparent;
border-bottom-style: none;
border-radius: var(--toolbarbutton-border-radius) var(--toolbarbutton-border-radius) 0 0;
}
#navigator-toolbox:not(:hover) > #TabsToolbar > #tabbrowser-tabs > .tabbrowser-arrowscrollbox > .scrollbutton-down:not([highlight]) {
transition: 1s background-color ease-out;
}
.tabbrowser-arrowscrollbox > .scrollbutton-down[highlight] {
background-color: Highlight;
}
.findbar-button {
-moz-appearance: none;
padding: 0;
}
#nav-bar .toolbarbutton-1,
#nav-bar .toolbarbutton-1 > .toolbarbutton-menubutton-button {
-moz-appearance: none;
padding: 0;
margin: 0;
}
#nav-bar .toolbarbutton-1:not([type=menu-button]),
#nav-bar .toolbarbutton-1 > .toolbarbutton-menubutton-button,
#nav-bar .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker {
padding: 0 2px;
-moz-box-pack: center;
}
#nav-bar #PanelUI-menu-button {
padding-inline-start: 5px;
padding-inline-end: 5px;
}
#nav-bar .toolbarbutton-1 > menupopup {
margin-top: -3px;
}
#nav-bar .toolbarbutton-1 > menupopup.cui-widget-panel {
margin-top: -8px;
}
#nav-bar .toolbarbutton-1 > .toolbarbutton-menubutton-button {
padding-inline-end: 0;
}
#nav-bar .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker {
-moz-appearance: none;
padding-inline-start: 0;
-moz-box-align: center;
margin: 0;
}
%ifndef MOZ_PHOTON_THEME
@conditionalForwardWithUrlbar@ > .toolbarbutton-1:-moz-any([disabled],:not([open]):not([disabled]):not(:active)) > .toolbarbutton-icon,
%endif
.findbar-button > .toolbarbutton-text,
toolbarbutton.bookmark-item:not(.subviewbutton),
#nav-bar .toolbarbutton-1 > .toolbarbutton-icon,
#nav-bar .toolbarbutton-1 > .toolbarbutton-text,
#nav-bar .toolbarbutton-1 > .toolbarbutton-badge-stack,
#nav-bar .toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-icon,
#nav-bar .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon {
%ifdef MOZ_PHOTON_THEME
padding: var(--toolbarbutton-inner-padding);
%else
padding: var(--toolbarbutton-inner-padding) 7px;
background-origin: padding-box !important;
background-clip: padding-box !important;
border: 1px solid transparent;
%endif
border-radius: var(--toolbarbutton-border-radius);
transition-property: background-color, border-color, box-shadow;
transition-duration: 150ms;
}
#nav-bar .toolbarbutton-1 > .toolbarbutton-icon,
#nav-bar .toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-icon,
#nav-bar #bookmarks-menu-button[cui-areatype="toolbar"] > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon {
%ifdef MOZ_PHOTON_THEME
/* horizontal padding + actual icon width */
max-width: calc(2 * var(--toolbarbutton-inner-padding) + 16px);
%else
/* Before Photon horizontal padding is 7px, but --toolbarbutton-inner-padding is set to 3px */
max-width: 32px;
%endif
}
#nav-bar .toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-icon:-moz-locale-dir(ltr),
#nav-bar .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon:-moz-locale-dir(rtl) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
#nav-bar .toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-icon:-moz-locale-dir(rtl),
#nav-bar .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon:-moz-locale-dir(ltr) {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
#nav-bar .toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-icon {
border-inline-end-style: none;
}
.bookmark-item > .toolbarbutton-menu-dropmarker,
#TabsToolbar .toolbarbutton-1 > .toolbarbutton-menu-dropmarker,
#nav-bar .toolbarbutton-1 > .toolbarbutton-menu-dropmarker {
display: none;
}
%ifndef MOZ_PHOTON_THEME
#nav-bar #bookmarks-menu-button[cui-areatype="toolbar"] > .toolbarbutton-menubutton-button > .toolbarbutton-icon {
/* horizontal padding + border + actual icon width */
max-width: 31px;
}
%endif
#nav-bar .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon {
padding-top: calc(var(--toolbarbutton-inner-padding) + 6px);
padding-bottom: calc(var(--toolbarbutton-inner-padding) + 6px);
}
#nav-bar .toolbarbutton-1 > .toolbarbutton-text {
padding-top: var(--toolbarbutton-vertical-text-padding);
padding-bottom: 0;
%ifdef MOZ_PHOTON_THEME
/* To make the hover feedback line up with sibling buttons, it needs the same
* height as the button icons and the same vertical padding, but as a minimum,
* because otherwise an increase in text sizes would break things.
*/
min-height: calc(16px + 2 * var(--toolbarbutton-inner-padding));
%else
/* To make the hover feedback line up with sibling buttons, it needs the same
* height (16px) + padding (2 * 3px) + border (2 * 1px), but as a minimum
* because otherwise an increase in text sizes would break things.
*/
min-height: calc(18px + 2 * var(--toolbarbutton-inner-padding));
%endif
}
#nav-bar .toolbaritem-combined-buttons {
margin-left: 2px;
margin-right: 2px;
}
#nav-bar .toolbaritem-combined-buttons > .toolbarbutton-1 {
padding-left: 0;
padding-right: 0;
}
#nav-bar .toolbaritem-combined-buttons:not(:hover) > separator,
#nav-bar .toolbarbutton-1:not(:hover):not(:active):not([open]) > .toolbarbutton-menubutton-dropmarker::before {
content: "";
display: -moz-box;
width: 1px;
height: 16px;
margin-inline-end: -1px;
background-image: linear-gradient(currentColor 0, currentColor 100%);
background-position: center;
background-repeat: no-repeat;
background-size: 1px 16px;
opacity: .2;
}
#nav-bar[brighttext] .toolbaritem-combined-buttons > separator,
#nav-bar[brighttext] .toolbarbutton-1:not(:hover):not(:active):not([open]) > .toolbarbutton-menubutton-dropmarker::before {
opacity: .3;
}
#TabsToolbar .toolbarbutton-1:not([disabled=true]):hover,
#TabsToolbar .toolbarbutton-1[open],
#TabsToolbar .toolbarbutton-1 > .toolbarbutton-menubutton-button:not([disabled=true]):hover,
.tabbrowser-arrowscrollbox > .scrollbutton-up:not([disabled=true]):hover,
.tabbrowser-arrowscrollbox > .scrollbutton-down:not([disabled=true]):hover,
.findbar-button:not(:-moz-any([checked="true"],[disabled="true"])):hover > .toolbarbutton-text,
toolbarbutton.bookmark-item:not(.subviewbutton):hover:not([disabled="true"]):not([open]),
#nav-bar .toolbarbutton-1:not([disabled=true]) > .toolbarbutton-menubutton-button[open] + .toolbarbutton-menubutton-dropmarker > .dropmarker-icon,
#nav-bar .toolbarbutton-1:not([disabled=true]):-moz-any(:hover,[open]) > .toolbarbutton-menubutton-button > .toolbarbutton-icon,
#nav-bar .toolbarbutton-1:not([disabled=true]):-moz-any(:hover,[open]) > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon,
#nav-bar .toolbarbutton-1:not([disabled=true]):not([checked]):not([open]):not(:active):hover > .toolbarbutton-icon,
#nav-bar .toolbarbutton-1:not([disabled=true]):not([checked]):not([open]):not(:active):hover > .toolbarbutton-text,
#nav-bar .toolbarbutton-1:not([disabled=true]):not([checked]):not([open]):not(:active):hover > .toolbarbutton-badge-stack,
%ifndef MOZ_PHOTON_THEME
@conditionalForwardWithUrlbar@ > #forward-button:not([open]):not(:active):not([disabled]):hover > .toolbarbutton-icon,
%endif
#nav-bar .toolbarbutton-1:not([buttonover]):not([open]):not(:active):hover > .toolbarbutton-menubutton-dropmarker:not([disabled]) > .dropmarker-icon {
%ifdef MOZ_PHOTON_THEME
background-color: var(--toolbarbutton-hover-background);
%else
background: var(--toolbarbutton-hover-background);
border-color: var(--toolbarbutton-hover-bordercolor);
box-shadow: var(--toolbarbutton-hover-boxshadow);
%endif
color: inherit;
}
.findbar-button:not([disabled=true]):-moz-any([checked="true"],:hover:active) > .toolbarbutton-text,
toolbarbutton.bookmark-item:not(.subviewbutton):hover:active:not([disabled="true"]),
toolbarbutton.bookmark-item[open="true"],
#nav-bar .toolbarbutton-1 > .toolbarbutton-menubutton-button:not([disabled=true]):-moz-any(:hover:active, [open]) > .toolbarbutton-icon,
#nav-bar .toolbarbutton-1[open] > .toolbarbutton-menubutton-dropmarker:not([disabled=true]) > .dropmarker-icon,
#nav-bar .toolbarbutton-1:not([disabled=true]):-moz-any([open],[checked],:hover:active) > .toolbarbutton-icon,
#nav-bar .toolbarbutton-1:not([disabled=true]):-moz-any([open],[checked],:hover:active) > .toolbarbutton-text,
#nav-bar .toolbarbutton-1:not([disabled=true]):-moz-any([open],[checked],:hover:active) > .toolbarbutton-badge-stack {
%ifdef MOZ_PHOTON_THEME
background-color: var(--toolbarbutton-active-background);
%else
background: var(--toolbarbutton-active-background);
border-color: var(--toolbarbutton-active-bordercolor);
box-shadow: var(--toolbarbutton-active-boxshadow);
%endif
transition-duration: 10ms;
color: inherit;
}
#nav-bar .toolbarbutton-1[checked]:not(:active):hover > .toolbarbutton-icon {
%ifdef MOZ_PHOTON_THEME
background-color: var(--toolbarbutton-hover-background);
%else
background-color: var(--toolbarbutton-checkedhover-backgroundcolor);
%endif
transition: background-color .4s;
}
%ifndef MOZ_PHOTON_THEME
/* unified back/forward button */
:-moz-any(#back-button, #forward-button) > .toolbarbutton-icon {
border-color: var(--backbutton-border-color) !important;
background: var(--backbutton-background);
}
#forward-button {
-moz-box-align: stretch; /* let the button shape grow vertically with the location bar */
padding: 0 !important;
}
#forward-button > menupopup {
margin-top: 1px !important;
}
#forward-button > .toolbarbutton-icon {
border-left-style: none !important;
border-radius: 0 !important;
padding-left: calc(var(--backbutton-urlbar-overlap) + 4px) !important;
padding-right: 4px !important;
max-width: calc(var(--forwardbutton-width) + var(--backbutton-urlbar-overlap)) !important;
}
@conditionalForwardWithUrlbar@:not([switchingtabs]) > #forward-button {
transition: margin-left @forwardTransitionLength@ ease-out;
}
@conditionalForwardWithUrlbar@ > #forward-button[disabled] {
margin-left: calc(0px - var(--forwardbutton-width) - var(--backbutton-urlbar-overlap));
}
@conditionalForwardWithUrlbar@:hover:not([switchingtabs]) > #forward-button[disabled] {
/* delay the hiding of the forward button when hovered to avoid accidental clicks on the url bar */
transition-delay: 100s;
}
@conditionalForwardWithUrlbar@:not(:hover) > #forward-button[disabled] {
/* when not hovered anymore, trigger a new transition to hide the forward button immediately */
margin-left: calc(-0.01px - var(--forwardbutton-width) - var(--backbutton-urlbar-overlap));
}
%endif
:root:not([uidensity=compact]) #back-button {
padding-top: 3px;
padding-bottom: 3px;
padding-inline-start: 5px !important;
padding-inline-end: 0 !important;
position: relative !important;
z-index: 1 !important;
border-radius: 0 10000px 10000px 0;
}
:root:not([uidensity=compact]) #back-button:-moz-locale-dir(rtl) {
border-radius: 10000px 0 0 10000px;
}
#back-button > menupopup {
margin-top: -1px !important;
}
:root:not([uidensity=compact]) #back-button > .toolbarbutton-icon {
%ifdef MOZ_PHOTON_THEME
background-color: var(--backbutton-background);
background-origin: padding-box;
background-clip: padding-box;
border: 1px solid var(--backbutton-border-color);
%endif
border-radius: 10000px;
max-width: 32px;
padding: 7px;
}
:root[uidensity=touch] #back-button {
padding-top: 1px;
padding-bottom: 1px;
}
:root[uidensity=touch] #back-button > .toolbarbutton-icon {
max-width: 38px;
padding: 10px;
}
%ifdef MOZ_PHOTON_THEME
:root:not([uidensity=compact]) #back-button:not([disabled]):not([open]):hover > .toolbarbutton-icon {
background-color: var(--backbutton-hover-background) !important;
box-shadow: 0 1px 6px hsla(0,0%,0%,.1);
border-color: hsla(240,5%,5%,.35);
}
:root:not([uidensity=compact]) #back-button[open] > .toolbarbutton-icon,
:root:not([uidensity=compact]) #back-button:not([disabled]):hover:active > .toolbarbutton-icon {
background-color: var(--backbutton-active-background) !important;
border-color: hsla(240,5%,5%,.40);
}
%endif
/* bookmarks menu-button */
#bookmarks-menu-button[cui-areatype="toolbar"] > .toolbarbutton-menubutton-dropmarker {
-moz-appearance: none !important;
}
#nav-bar #bookmarks-menu-button[cui-areatype="toolbar"]:not([overflowedItem=true]) > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon {
padding-top: var(--toolbarbutton-inner-padding);
padding-bottom: var(--toolbarbutton-inner-padding);
}
#BMB_bookmarksPopup[side="top"],
#BMB_bookmarksPopup[side="bottom"] {
margin-left: -20px;
margin-right: -20px;
}
#BMB_bookmarksPopup[side="left"],
#BMB_bookmarksPopup[side="right"] {
margin-top: -20px;
margin-bottom: -20px;
}
/* ::::: bookmark buttons ::::: */
toolbarbutton.bookmark-item:not(.subviewbutton) {
margin: 0;
padding: 2px 3px;
-moz-appearance: none;
}
.bookmark-item > .toolbarbutton-icon,
#personal-bookmarks[cui-areatype="toolbar"] > #bookmarks-toolbar-placeholder > .toolbarbutton-icon {
width: 16px;
height: 16px;
}
/* Force the display of the label for bookmarks */
.bookmark-item > .toolbarbutton-text,
#personal-bookmarks[cui-areatype="toolbar"] > #bookmarks-toolbar-placeholder > .toolbarbutton-text {
display: -moz-box !important;
}
#PlacesToolbarItems > .bookmark-item > .toolbarbutton-icon[label]:not([label=""]) {
margin-inline-end: 5px;
}