/* 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 { list-style-image: url(chrome://global/skin/icons/security-broken.svg); -moz-context-properties: fill; fill: var(--grey-60); } } } /* Popup states */ .autocomplete-richlistitem { &:hover { background-color: var(--arrowpanel-dimmed); } &[selected] { background-color: SelectedItem; color: SelectedItemText; } }