Files
sousa-gecko/browser/components/sidebar/sidebar-main.css
T

201 lines
5.9 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 https://mozilla.org/MPL/2.0/. */
@media -moz-pref("sidebar.verticalTabs") {
:host {
--button-size-icon: var(--tab-min-height);
--button-min-height: var(--button-size-icon);
}
}
[hidden] {
display: none !important;
}
:host {
width: 100%;
}
.wrapper {
display: grid;
grid-template-rows: auto min-content min-content;
box-sizing: border-box;
height: 100%;
max-width: 100%;
padding-inline: 0;
@media -moz-pref("sidebar.verticalTabs") {
display: flex;
flex-direction: column;
:host([expanded]) & {
/* TODO: Should this be some other pixel value between 5/6? Need to be careful of Linux where font size is larger */
--tab-pinned-horizontal-count: 5;
/* TODO: These --space-* tokens should use semantic names shared with tabs.css */
width: var(
--sidebar-expanded-launcher-width,
calc(var(--tab-pinned-horizontal-count) * var(--tab-pinned-min-width-expanded) + 2 * var(--tab-pinned-container-margin-inline-expanded) + 1px)
);
}
:host([customWidth]) & {
width: 100%;
}
}
}
#sidebar-tools-and-extensions-splitter {
display: block;
border-top: var(--tabstrip-inner-border);
margin-inline: var(--tab-inner-inline-margin);
margin-block-end: var(--space-small);
min-height: 2px;
@media -moz-pref("browser.nova.enabled") {
min-height: 4px;
}
&:hover {
background-color: var(--focus-outline-color);
border-radius: var(--border-radius-medium);
}
@media not -moz-pref("sidebar.visibility", "expand-on-hover") {
/* We need these rules to apply at all times when the sidebar.visibility
pref is not set to "expand-on-hover" as opposed to when the "sidebar-expand-on-hover" attribute
has not been added to root. There are certain scenarios when that attribute is temporarily
removed from root such as when toggling the sidebar to expand with the toolbar button. */
:host([expanded]) & {
border-color: transparent;
}
}
}
.actions-list {
display: flex;
flex-direction: column;
align-items: start;
max-width: 100%;
overflow: hidden;
> moz-button {
--button-icon-fill: var(--toolbarbutton-icon-fill);
--button-attention-dot-color: light-dark(#53b93a, #73d25d);
}
> moz-button:not(.tools-overflow) {
/* --sidebar-launcher-button-padding-inline is set in the parent doc
* (browser/themes/shared/sidebar.css) so it can react to the document's
* uidensity attribute; falls back to --space-medium for any context
* that doesn't set it. The auto-compact width check uses a fixed
* reference width matching the non-compact value, so the launcher must
* visibly shrink in compact mode to keep the trigger stable. */
--button-outer-padding-inline: var(--sidebar-launcher-button-padding-inline, var(--space-medium));
--button-outer-padding-block: var(--space-xxsmall);
&:first-of-type {
--button-outer-padding-block-start: var(--space-small);
@media -moz-pref("browser.nova.enabled") and (not -moz-pref("sidebar.verticalTabs")) {
--button-outer-padding-block-start: 4px;
}
}
&:last-of-type {
--button-outer-padding-block-end: var(--space-small);
@media -moz-pref("browser.nova.enabled") and (not -moz-pref("sidebar.verticalTabs")) {
--button-outer-padding-block-end: 4px;
}
}
}
moz-button:not([type~="ghost"]):not(:hover) {
&::part(button) {
background-color: var(--toolbarbutton-background-color-active);
}
}
&.overflow-button {
flex-shrink: 0;
}
}
:host([sidebar-positionend]) .more-tools-button::part(button) {
transform: scaleX(-1);
}
.tools-and-extensions[orientation="horizontal"] {
:host([expanded]) & {
display: flex;
flex-wrap: wrap-reverse;
flex-direction: row;
justify-content: flex-start;
align-content: flex-start;
gap: var(--space-xxsmall);
padding-inline: var(--space-medium);
padding-block-end: var(--space-small);
@media -moz-pref("browser.nova.enabled") {
gap: 12.5px;
}
@media -moz-pref("sidebar.visibility", "expand-on-hover") {
/* We need these rules to apply at all times when the sidebar.visibility
pref is set to "expand-on-hover" as opposed to when the "sidebar-expand-on-hover" attribute
has not been added to root. There are certain scenarios when that attribute is temporarily
removed from root such as when toggling the sidebar to expand with the toolbar button. */
margin-block-start: var(--space-small);
}
.tools-overflow {
width: unset;
}
&[overflowing="true"] {
padding-inline-end: 0;
flex-wrap: nowrap;
}
}
}
.buttons-wrapper {
display: flex;
flex-direction: column;
flex-shrink: 0;
justify-content: space-between;
min-height: calc(var(--button-min-height) + (var(--space-small) * 2));
overflow: hidden;
:host([expanded]) & {
flex-direction: row;
align-items: flex-end;
}
@media -moz-pref("sidebar.visibility", "expand-on-hover") {
/* We need these rules to apply at all times when the sidebar.visibility
pref is set to "expand-on-hover" as opposed to when the "sidebar-expand-on-hover" attribute
has not been added to root. There are certain scenarios when that attribute is temporarily
removed from root such as when toggling the sidebar to expand with the toolbar button. */
:host(:not([expanded])) & {
grid-template-rows: 1fr;
padding-block-end: var(--space-small);
}
}
}
.bottom-actions > moz-button:last-of-type {
--button-outer-padding-block-end: var(--space-medium);
}
@media (prefers-reduced-motion: no-preference) {
moz-button::part(moz-button-label) {
opacity: 0;
transition: opacity 300ms ease-in-out;
}
}
.bottom-actions {
align-self: end;
}