summaryrefslogtreecommitdiffstats
path: root/browser/themes/shared/autocomplete.css
diff options
context:
space:
mode:
Diffstat (limited to 'browser/themes/shared/autocomplete.css')
-rw-r--r--browser/themes/shared/autocomplete.css201
1 files changed, 201 insertions, 0 deletions
diff --git a/browser/themes/shared/autocomplete.css b/browser/themes/shared/autocomplete.css
new file mode 100644
index 0000000000..5230700e38
--- /dev/null
+++ b/browser/themes/shared/autocomplete.css
@@ -0,0 +1,201 @@
+/* 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="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);
+ }
+
+ /* 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;
+ }
+}