Files
tubestation/browser/themes/shared/addons/unified-extensions.css
agoloman 63c83deb26 Revert "Bug 1606785 - Enable Prettier for CSS files r=desktop-theme-reviewers,Standard8,frontend-codestyle-reviewers,emilio" for causing multiple failures.
This reverts commit ec5fa1d4c0.

Revert "Bug 1606785 - Format Firefox CSS files with Prettier r=desktop-theme-reviewers,perftest-reviewers,places-reviewers,translations-reviewers,omc-reviewers,backup-reviewers,browser-installer-reviewers,sparky,dao,pdahiya,nrishel,kpatenio"

This reverts commit baa5d72bbd.

Revert "Bug 1606785 - Format browser/themes and toolkit/themes CSS files with Prettier r=desktop-theme-reviewers,pip-reviewers,tabbrowser-reviewers,places-reviewers,dao,mconley"

This reverts commit 9604b0a8ae.

Revert "Bug 1606785 - Format browser/themes/preferences CSS files with Prettier r=settings-reviewers,desktop-theme-reviewers,dao,mconley"

This reverts commit 686c1cf85f.

Revert "Bug 1606785 - Format urlbar CSS files with Prettier r=urlbar-reviewers,desktop-theme-reviewers,dao"

This reverts commit a7a4f31251.

Revert "Bug 1606785 - Format webcompat CSS files with Prettier r=webcompat-reviewers,denschub"

This reverts commit 41bc4d5237.

Revert "Bug 1606785 - Format search CSS files with Prettier r=search-reviewers,jteow"

This reverts commit 7bb7f82374.

Revert "Bug 1606785 - Format dom CSS files with Prettier r=emilio"

This reverts commit c22e910235.

Revert "Bug 1606785 - Format android CSS files with Prettier r=geckoview-reviewers,hiro"

This reverts commit c08e43fc3d.

Revert "Bug 1606785 - Format layout CSS files with Prettier r=layout-reviewers,dholbert"

This reverts commit 4f2a32d1a4.

Revert "Bug 1606785 - Format devtools CSS files with Prettier r=devtools-reviewers,nchevobbe,frontend-codestyle-reviewers"

This reverts commit c05f675ddf.

Revert "Bug 1606785 - Format recomp CSS files with Prettier r=reusable-components-reviewers,desktop-theme-reviewers,dao,mkennedy"

This reverts commit b10c7de8d0.

Revert "Bug 1606785 - Format sidebar CSS files with Prettier r=sidebar-reviewers,desktop-theme-reviewers,dao,nsharpley"

This reverts commit d32c555e37.

Revert "Bug 1606785 - Format shopping CSS files with Prettier r=shopping-reviewers,desktop-theme-reviewers,dao,rking"

This reverts commit 965887a708.

Revert "Bug 1606785 - Format profiles CSS files with Prettier r=profiles-reviewers,desktop-theme-reviewers,dao,mossop"

This reverts commit 8338860f74.

Revert "Bug 1606785 - Format genai and ml CSS files with Prettier r=firefox-ai-ml-reviewers,Mardak"

This reverts commit d66681f553.

Revert "Bug 1606785 - Format firefoxview CSS files with Prettier r=fxview-reviewers,desktop-theme-reviewers,dao,jsudiaman"

This reverts commit 530b815cad.

Revert "Bug 1606785 - Format aboutlogins, megalist, and form autofill CSS files with Prettier r=credential-management-reviewers,mtigley,desktop-theme-reviewers,dao"

This reverts commit 813c864381.
2025-05-21 04:49:28 +00:00

297 lines
11 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/. */
:root {
/* uei = unified extensions item */
--uei-icon-size: 32px;
--uei-attention-dot-size: 8px;
--uei-button-bgcolor: var(--button-background-color-ghost);
--uei-button-color: var(--button-text-color-ghost);
--uei-button-hover-bgcolor: var(--button-background-color-ghost-hover);
--uei-button-hover-color: var(--button-text-color-ghost-hover);
--uei-button-active-bgcolor: var(--button-background-color-ghost-active);
--uei-button-active-color: var(--button-text-color-ghost-active);
--uei-button-attention-dot-color: var(--attention-dot-color);
&[uidensity="compact"] {
--uei-icon-size: 24px;
}
}
#unified-extensions-panel {
--uei-dot-horizontal-position-in-panel: calc(var(--uei-icon-size) / 2 + var(--arrowpanel-menuitem-padding-inline) - var(--uei-attention-dot-size) / 2);
--uei-dot-vertical-position-in-panel: max(0px, calc(var(--arrowpanel-menuitem-padding-block) / 2 - var(--uei-attention-dot-size) / 2));
}
#unified-extensions-view {
width: var(--menu-panel-width-wide);
}
/* Align extensions rendered with custom elements. */
unified-extensions-item {
display: flex;
& > .unified-extensions-item-row-wrapper > .subviewbutton {
flex-shrink: 1;
}
}
#unified-extensions-panel .unified-extensions-item {
-moz-context-properties: fill;
fill: currentColor;
/* Have some spacing between items in the panel; mainly useful for when HCM is enabled. */
margin-block: 2px !important; /* override panelUI-shared.css */
}
/* Override the margin for the subviewbutton wrapped inside
* the row wrapper box */
.unified-extensions-item > .unified-extensions-item-row-wrapper > .subviewbutton {
margin: 0;
}
/* The "attention UI" for the unified extensions is based on:
* https://searchfox.org/mozilla-central/rev/560b7b1b17/browser/themes/shared/tabs.css#624 */
/* On the main unified extensions button, we draw the attention on the icon element. */
#unified-extensions-button[attention] > .toolbarbutton-icon,
/* For extension widgets placed in a toolbar, we use the stack element
* (containing the icon) of the action button to draw the attention dot.
* Otherwise (in the extensions panel), we use the action button itself. */
.unified-extensions-item[attention] > .unified-extensions-item-row-wrapper > .unified-extensions-item-action-button.toolbarbutton-1 > .toolbarbutton-badge-stack,
.unified-extensions-item[attention] > .unified-extensions-item-row-wrapper > .unified-extensions-item-action-button.subviewbutton {
background-image: radial-gradient(circle, var(--uei-button-attention-dot-color), var(--uei-button-attention-dot-color) 2px, transparent 2px);
background-size: var(--uei-attention-dot-size) var(--uei-attention-dot-size);
background-repeat: no-repeat;
/* Adjust attention dots position in the toolbar. */
background-position: center bottom calc(var(--toolbarbutton-inner-padding) / 2 - var(--uei-attention-dot-size) / 2);
/* Adjust attention dots position in the unified extensions panel. */
&.subviewbutton {
background-position: left var(--uei-dot-horizontal-position-in-panel) bottom var(--uei-dot-vertical-position-in-panel);
&:-moz-locale-dir(rtl) {
background-position-x: right var(--uei-dot-horizontal-position-in-panel);
}
}
}
.unified-extensions-item-action-button {
flex: 1;
overflow: hidden;
/* The padding-block for menuitems is set to 0 in compact mode which, with the
* extension icon being 32px in this case, makes the item look crowded even for
* compact mode. */
:root[uidensity="compact"] panel:not([touchmode]) & {
padding-block: 4px;
}
}
.unified-extensions-item-action-button {
list-style-image: var(--webextension-toolbar-image, inherit);
toolbar[brighttext] & {
list-style-image: var(--webextension-toolbar-image-light, inherit);
}
:root[lwtheme] toolbar:not([brighttext]) & {
list-style-image: var(--webextension-toolbar-image-dark, inherit);
}
toolbaritem:is([overflowedItem="true"], [cui-areatype="panel"]) > .unified-extensions-item-row-wrapper > & {
list-style-image: var(--webextension-menupanel-image, inherit);
/* TODO: This feels a bit odd, why do we have three images? It feels we
* should probably have only two (light/dark), and choose based on
* prefers-color-scheme + lwt-popup */
:root[lwt-popup="dark"] & {
list-style-image: var(--webextension-menupanel-image-light, inherit);
}
:root[lwt-popup="light"] & {
list-style-image: var(--webextension-menupanel-image-dark, inherit);
}
}
> .toolbarbutton-badge-stack > .toolbarbutton-icon {
height: 16px;
width: 16px;
}
}
.unified-extensions-item-icon,
.unified-extensions-item .webextension-browser-action.subviewbutton > .toolbarbutton-badge-stack > .toolbarbutton-icon {
height: var(--uei-icon-size);
width: var(--uei-icon-size);
}
/* The first selector is for the custom elements icon, which appears only in the UEP. */
.unified-extensions-item-icon,
.unified-extensions-item .webextension-browser-action.subviewbutton > .toolbarbutton-badge-stack {
margin-inline-end: 6px;
}
.unified-extensions-item-icon,
.unified-extensions-item-contents {
pointer-events: none;
}
.unified-extensions-item-name,
.unified-extensions-item-message {
margin: 0;
padding-inline-start: .5em;
word-break: break-word;
}
.unified-extensions-item-message {
color: var(--text-color-deemphasized);
}
.unified-extensions-item-menu-button.subviewbutton {
list-style-image: url("chrome://global/skin/icons/settings.svg");
/* subtract the child's ~1px border from the block padding */
padding: calc(var(--arrowpanel-menuitem-margin-inline) - 1px)
var(--arrowpanel-menuitem-margin-inline);
padding-inline-end: 0;
border-radius: 0;
/* override panelUI-shared.css */
background-color: transparent !important;
box-shadow: none !important;
outline: none !important;
> .toolbarbutton-icon {
box-sizing: content-box;
padding: var(--arrowpanel-menuitem-padding-inline);
border: 1px solid transparent;
border-radius: var(--arrowpanel-menuitem-border-radius);
color: var(--uei-button-color);
background-color: var(--uei-button-bgcolor);
}
/* Background color, outline, and shadow on the icon to allow the clickable
* padding on the button to remain invisible */
&:hover > .toolbarbutton-icon {
color: var(--uei-button-hover-color);
background-color: var(--uei-button-hover-bgcolor);
}
&:hover:active > .toolbarbutton-icon {
color: var(--uei-button-active-color);
background-color: var(--uei-button-active-bgcolor);
box-shadow: 0 1px 0 hsla(210,4%,10%,.03) inset;
}
&:focus-visible > .toolbarbutton-icon {
outline: var(--focus-outline);
outline-offset: var(--focus-outline-inset);
}
}
/* Hide subview label. */
.unified-extensions-item .toolbarbutton-text {
display: none !important; /* override panelUI-shared.css */
}
/* --- warning messages --- */
#unified-extensions-messages-container {
margin: var(--arrowpanel-menuitem-margin);
}
.unified-extensions-message-bar {
margin-bottom: var(--space-small);
}
/* Hide the menu button and the unified extensions content when the extension
* item is placed on the toolbar. */
.unified-extensions-item-menu-button.toolbarbutton-1,
.unified-extensions-item-action-button.toolbarbutton-1 > .unified-extensions-item-contents {
display: none;
}
.unified-extensions-item-messagebar {
/* Keep the messagebar hidden when the extension item is placed
* in the toolbar */
display: none;
/* Show the messagebar when the item is placed into the panel unless it is
* explicitly hidden */
toolbaritem:is([overflowedItem="true"], [cui-areatype="panel"]).unified-extensions-item > unified-extensions-item-messagebar-wrapper > &,
unified-extensions-item > unified-extensions-item-messagebar-wrapper > & {
display: block;
margin-top: var(--space-xsmall);
&[hidden] {
display: none;
}
}
}
.unified-extensions-item-row-wrapper {
display: flex;
flex-direction: row;
flex: 1;
}
/* Override .toolbaritem-combined-buttons rules applied from panelUI-shared.css
* to make sure the extensions panel item row (the one including extension icon,
* name, origin control message and gear menu button) and the messagebar that may
* follow it (e.g. when the extension is soft-blocked) are going to be rendered
* as two separate rows */
toolbaritem:is([overflowedItem="true"], [cui-areatype="panel"]).unified-extensions-item,
unified-extensions-item.unified-extensions-item {
flex-direction: column;
align-items: normal;
}
/* --- browser action CUI widget styles in the extensions panel --- */
@media (prefers-contrast) {
:root:not([lwtheme]) {
--uei-button-attention-dot-color: ButtonText;
.unified-extensions-item-action-button.subviewbutton:not([disabled]),
.unified-extensions-item-menu-button.subviewbutton > .toolbarbutton-icon {
border-color: currentColor;
background-color: ButtonFace;
color: ButtonText;
--uei-button-hover-bgcolor: SelectedItem;
--uei-button-hover-color: SelectedItemText;
--uei-button-active-bgcolor: ButtonFace;
--uei-button-active-color: ButtonText;
}
.unified-extensions-item-action-button[disabled].subviewbutton {
background-color: Canvas;
color: GrayText !important; /* override panelUI-shared.css */
opacity: 1 !important; /* override panelUI-shared.css */
}
.unified-extensions-item[attention] > .unified-extensions-item-action-button.subviewbutton:hover:not(:active) {
--uei-button-attention-dot-color: ButtonFace;
}
.unified-extensions-item-message {
color: inherit;
}
.unified-extensions-item > .unified-extensions-item-action-button.subviewbutton:hover:not([disabled]),
.unified-extensions-item > .unified-extensions-item-menu-button.subviewbutton:hover > .toolbarbutton-icon {
background-color: var(--uei-button-hover-bgcolor);
color: var(--uei-button-hover-color);
border-color: var(--uei-button-hover-bgcolor);
}
.unified-extensions-item > .unified-extensions-item-action-button.subviewbutton:hover:active:not([disabled]),
.unified-extensions-item > .unified-extensions-item-menu-button.subviewbutton:hover:active > .toolbarbutton-icon {
background-color: var(--uei-button-active-bgcolor);
color: var(--uei-button-active-color);
border-color: var(--uei-button-active-color);
}
.unified-extensions-item > .unified-extensions-item-menu-button.subviewbutton:focus-visible > .toolbarbutton-icon {
/* The border would otherwise overlap with the focus outline, causing an
* unsightly anti-aliasing artifact */
border-color: transparent;
}
}
}