Source code

Revision control

Copy as Markdown

Other Tools

/* 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/. */
@namespace html url("http://www.w3.org/1999/xhtml");
/* General popup rules */
#PopupAutoComplete > richlistbox {
padding: 0;
}
#PopupAutoComplete > richlistbox > richlistitem {
min-height: 20px;
border: 0;
border-radius: 0;
padding: 0 1px;
> .ac-site-icon {
margin-inline: 4px 0;
}
> .ac-login-item {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
> .ac-secondary-action {
visibility: hidden;
height: 16px;
width: 16px;
border: 0;
color: inherit;
-moz-context-properties: fill;
fill: currentColor;
margin-inline: 8px;
cursor: pointer;
background: url("chrome://global/skin/icons/settings.svg") center no-repeat;
}
}
&:is(:hover, [selected]) > .ac-login-item > .ac-secondary-action {
visibility: visible;
}
> .ac-title {
font: icon;
margin-inline-start: 4px;
}
&[originaltype="importableLearnMore"] {
padding-bottom: 2px;
padding-inline-start: 21px;
}
&[originaltype="login"] > .ac-site-icon,
&[originaltype="possible-username"] > .ac-site-icon,
> .two-line-wrapper > .ac-site-icon {
display: block;
margin-inline: 4px;
}
&[originaltype="possible-username"] > .ac-site-icon {
visibility: hidden;
}
/* Autocomplete richlistitem support for a two-line label display */
> .two-line-wrapper {
box-sizing: border-box;
display: flex;
flex-direction: row;
gap: 8px;
margin: 0;
min-width: 0;
> .labels-wrapper {
/* The text should flex while the icon should not */
flex: 1;
/* min-width is needed to get the text-overflow: ellipsis to work for the children */
min-width: 0;
> .label-row {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.line2-label {
padding-top: 2px !important;
opacity: .6;
}
}
}
&[originaltype="generatedPassword"] > .two-line-wrapper > .labels-wrapper > .generated-password-autosave,
&[originaltype="importableLearnMore"] > .ac-title,
> .two-line-wrapper > .labels-wrapper > .line2-label {
padding-top: 2px !important;
opacity: .6;
}
/* Login form autocompletion (with and without origin showing) and generated passwords */
&[originaltype="generatedPassword"] > .two-line-wrapper > .ac-site-icon,
&[originaltype="loginWithOrigin"] > .two-line-wrapper > .ac-site-icon,
&[originaltype="login"] > .ac-site-icon {
fill: GrayText;
}
&[originaltype="importableLogins"] > .two-line-wrapper > .ac-site-icon {
fill: GrayText;
list-style-image: url(chrome://browser/skin/import.svg);
}
&[originaltype="generatedPassword"][selected] > .two-line-wrapper > .ac-site-icon,
&[originaltype="importableLogins"][selected] > .two-line-wrapper > .ac-site-icon,
&[originaltype="loginWithOrigin"][selected] > .two-line-wrapper > .ac-site-icon,
&[originaltype="login"] > .ac-site-icon[selected] {
fill: SelectedItemText;
}
/* Login form autocompletion */
> .two-line-wrapper {
padding: 4px;
padding-inline-start: 0;
}
&[originaltype="action"] > .two-line-wrapper {
flex: 1;
}
&[originaltype="generatedPassword"] {
&:not([collapsed="true"]) {
/* Workaround bug 451997 and/or bug 492645 */
display: block;
}
> .two-line-wrapper > .labels-wrapper {
&.line2-label > span {
/* The font-family is only adjusted on the inner span so that the
line-height of .line2-label matches that of .line1-label */
font-family: monospace;
}
> .generated-password-autosave > span {
/* The font-* properties are only adjusted on the inner span so that the
line-height of .generated-password-autosave matches that of .line1-label */
font-style: italic;
font-size: 0.85em;
white-space: normal;
}
}
}
&[originaltype="login"] + richlistitem[originaltype="generatedPassword"],
&[originaltype="loginWithOrigin"] + richlistitem[originaltype="generatedPassword"] {
/* Separator between logins and generated passwords. This uses --panel-separator-color from default
* themes since autocomplete doesn't yet switch to dark. */
border-top: 1px solid hsla(210,4%,10%,.14);
}
&[originaltype="action"] {
text-align: center;
}
/* status items */
> .ac-status {
padding: var(--space-xsmall) var(--space-small);
text-align: center;
background-color: var(--color-background-information);
width: 100%;
border-bottom: 1px solid rgba(38,38,38,.15);
font-size: calc(10 / 12 * 1em);
}
&:has(> .ac-status) {
opacity: 1;
}
&[originaltype="autofill"] > .two-line-wrapper {
display: grid;
grid-template-columns: 32px 1fr;
> .ac-site-icon {
width: auto;
height: 16px;
max-width: 32px;
max-height: 16px;
}
}
/* Insecure field warning */
&[originaltype="insecureWarning"] {
background-color: var(--arrowpanel-dimmed);
border-bottom: 1px solid var(--panel-separator-color);
padding-block: 4px;
&[selected] {
background-color: var(--arrowpanel-dimmed-further);
color: -moz-DialogText;
}
> .ac-title {
color: var(--grey-60);
font-size: 1em;
}
> .ac-title .ac-emphasize-text-title {
font-weight: 600;
}
&[selected] > .ac-title {
color: inherit;
}
> .ac-site-icon {
-moz-context-properties: fill;
fill: var(--grey-60);
}
}
}
/* Popup states */
.autocomplete-richlistitem {
&:hover {
background-color: var(--arrowpanel-dimmed);
}
&[selected] {
background-color: SelectedItem;
color: SelectedItemText;
}
}