summaryrefslogtreecommitdiffstats
path: root/comm/mail/themes/shared/mail/unifiedToolbarShared.css
diff options
context:
space:
mode:
Diffstat (limited to 'comm/mail/themes/shared/mail/unifiedToolbarShared.css')
-rw-r--r--comm/mail/themes/shared/mail/unifiedToolbarShared.css408
1 files changed, 408 insertions, 0 deletions
diff --git a/comm/mail/themes/shared/mail/unifiedToolbarShared.css b/comm/mail/themes/shared/mail/unifiedToolbarShared.css
new file mode 100644
index 0000000000..7f304fa944
--- /dev/null
+++ b/comm/mail/themes/shared/mail/unifiedToolbarShared.css
@@ -0,0 +1,408 @@
+/* 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/. */
+
+@import url("chrome://messenger/content/unifiedtoolbar/unifiedToolbarWebextensions.css");
+
+/* Styles shared between the actual unfied toolbar and the replica in the
+ * customization overlay */
+
+:root {
+ --toolbar-button-badge-text-color: var(--color-white);
+ --toolbar-button-badge-bg-color: var(--color-red-70);
+ --toolbar-button-badge-padding: 1px 3px;
+ --toolbar-button-badge-font: 0.8rem;
+ --badge-inset-block-start: 1px;
+ --badge-inset-inline-nudge: 0px;
+ --badge-inset-inline-end: 2px;
+}
+
+/* UI Density customization */
+:root[uidensity="compact"] {
+ --badge-inset-block-start: 0px;
+ --badge-inset-inline-nudge: 4px;
+ --badge-inset-inline-end: 0px;
+}
+
+:root[uidensity="touch"] {
+ --badge-inset-block-start: 4px;
+ --badge-inset-inline-nudge: -3px;
+ --badge-inset-inline-end: 3px;
+}
+
+@media (-moz-windows-accent-color-in-titlebar) {
+ /* Apply everywhere */
+ :root {
+ --windows-accent-outline-color: var(--focus-outline-color);
+ }
+ /* Apply only in unified toolbar */
+ .search-bar {
+ --windows-accent-outline-color: accentColorText;
+ }
+}
+
+.unified-toolbar {
+ display: flex;
+ justify-content: start;
+ align-items: center;
+ list-style-type: none;
+ overflow: hidden;
+ flex-wrap: nowrap;
+ min-width: 0;
+}
+
+.unified-toolbar li {
+ padding: 0;
+ margin: 0;
+ border-radius: 1px;
+}
+
+.unified-toolbar [is="customizable-element"] .preview {
+ display: none;
+}
+
+.unified-toolbar-button {
+ display: flex;
+ gap: 3px;
+ align-items: center;
+ flex-wrap: nowrap;
+ min-width: initial;
+ fill-opacity: var(--toolbarbutton-icon-fill-opacity);
+}
+
+.icons-above-text .unified-toolbar-button {
+ flex-direction: column;
+ justify-content: space-around;
+}
+
+.icons-only .unified-toolbar-button .button-label {
+ display: none;
+}
+
+.text-only .unified-toolbar-button .button-icon {
+ display: none;
+}
+
+.unified-toolbar-button[popup] {
+ padding-inline-end: 20px;
+ background-image: var(--icon-nav-down-sm);
+ background-position: calc(100% - 4px) center;
+ background-repeat: no-repeat;
+}
+
+.unified-toolbar-button[popup]:dir(rtl) {
+ background-position-x: 4px;
+}
+
+.unified-toolbar-button[badge] {
+ position: relative;
+}
+
+.unified-toolbar-button[badge]::after {
+ content: attr(badge);
+ background-color: var(--toolbar-button-badge-bg-color);
+ border-radius: 12px;
+ padding: var(--toolbar-button-badge-padding);
+ font-weight: 600;
+ font-size: var(--toolbar-button-badge-font);
+ color: var(--toolbar-button-badge-text-color);
+ line-height: 1em;
+ position: absolute;
+ inset-inline-end: var(--badge-inset-inline-end);
+ inset-block-start: var(--badge-inset-block-start);
+ max-width: 3ch;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ text-overflow: clip;
+}
+
+.unified-toolbar-button[popup][badge]::after {
+ inset-inline-end: 14px;
+}
+
+.unified-toolbar-button[badge]:-moz-window-inactive::after {
+ background-color: color-mix(in srgb, var(--toolbar-button-badge-bg-color) 50%, black);
+}
+
+/* If the text is shown after the icon, move the badge to be over the icon */
+.icons-beside-text .unified-toolbar-button[badge]::after {
+ inset-inline-end: unset;
+ inset-inline-start: calc(var(--icon-size) - var(--badge-inset-inline-nudge));
+ inset-block-start: var(--badge-inset-block-start);
+}
+
+/* With text only, just show the badge after the label */
+.text-only .unified-toolbar-button[badge]::after {
+ position: static;
+}
+
+/* If we are showing the text below the icon, move the badge in toward the
+ * center of the button. */
+.icons-above-text .unified-toolbar-button[badge]::after {
+ inset-inline-end: unset;
+ inset-inline-start: 51%;
+}
+
+.icons-above-text .unified-toolbar-button[popup][badge]::after {
+ inset-inline-start: unset;
+ inset-inline-end: 38%;
+}
+
+.unified-toolbar-button .button-label {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ flex-shrink: 1;
+ max-width: 50ch;
+ pointer-events: none;
+}
+
+global-search-bar:not([hidden]) {
+ display: block;
+ color: var(--layout-color-0);
+}
+
+global-search-bar:not([hidden]):-moz-lwtheme {
+ color: var(--toolbar-field-color);
+ text-shadow: none;
+}
+
+kbd {
+ background-color: var(--layout-background-3);
+ color: var(--layout-color-2);
+ text-transform: uppercase;
+ font-size: 0.8rem;
+ line-height: 1;
+ font-weight: bold;
+ box-shadow: inset 0px -1px 0px var(--layout-border-2);
+ border-radius: 3px;
+ display: inline-block;
+ padding: 2px 4px;
+}
+
+kbd:first-of-type {
+ margin-inline-start: 6px;
+}
+
+span[slot="placeholder"] {
+ display: flex;
+ align-items: center;
+ gap: 3px;
+}
+
+.unified-toolbar .spacer {
+ flex: 1 1 auto;
+}
+
+.unified-toolbar .search-bar {
+ flex: 1 1 33%;
+ min-width: 5em;
+}
+
+.unified-toolbar .button-icon {
+ content: var(--icon-extension);
+}
+
+.unified-toolbar .search-button-icon {
+ content: var(--icon-search);
+}
+
+.unified-toolbar .write-message .button-icon {
+ content: var(--icon-new-mail);
+}
+
+.unified-toolbar .move-to .button-icon {
+ content: var(--icon-file);
+}
+
+.unified-toolbar .unifinder .button-icon {
+ content: var(--icon-search);
+}
+
+.unified-toolbar .folder-location .button-icon {
+ content: var(--icon-folder);
+}
+
+.unified-toolbar .edit-event .button-icon {
+ content: var(--icon-pencil);
+}
+
+.unified-toolbar .get-messages .button-icon {
+ content: var(--icon-cloud-download);
+}
+
+.unified-toolbar .reply .button-icon {
+ content: var(--icon-reply);
+}
+
+.unified-toolbar .reply-all .button-icon {
+ content: var(--icon-reply-all);
+}
+
+.unified-toolbar .reply-to-list .button-icon {
+ content: var(--icon-reply-list);
+}
+
+.unified-toolbar .redirect .button-icon {
+ content: var(--icon-redirect);
+}
+
+.unified-toolbar .archive .button-icon {
+ content: var(--icon-archive);
+}
+
+.unified-toolbar .conversation .button-icon {
+ content: var(--icon-conversation);
+}
+
+.unified-toolbar .previous-unread .button-icon {
+ content: var(--icon-nav-up-unread);
+}
+
+.unified-toolbar .previous .button-icon {
+ content: var(--icon-nav-up);
+}
+
+.unified-toolbar .next-unread .button-icon {
+ content: var(--icon-nav-down-unread);
+}
+
+.unified-toolbar .next .button-icon {
+ content: var(--icon-nav-down);
+}
+
+.unified-toolbar .junk .button-icon {
+ content: var(--icon-spam);
+}
+
+.unified-toolbar .delete .button-icon {
+ content: var(--icon-trash);
+}
+
+.unified-toolbar .compact .button-icon {
+ content: var(--icon-compress);
+}
+
+.unified-toolbar .add-as-event .button-icon {
+ content: var(--icon-new-event);
+}
+
+.unified-toolbar .add-as-task .button-icon {
+ content: var(--icon-new-task);
+}
+
+.unified-toolbar .tag-message .button-icon {
+ content: var(--icon-tag);
+}
+
+.unified-toolbar .forward-inline .button-icon {
+ content: var(--icon-forward);
+}
+
+.unified-toolbar .forward-attachment .button-icon {
+ /* TODO separate icon for forwarding as attachment */
+ content: var(--icon-forward);
+}
+
+.unified-toolbar .mark-as .button-icon {
+ content: var(--icon-unread);
+}
+
+.unified-toolbar .view-picker .button-icon {
+ content: var(--icon-eye);
+}
+
+.unified-toolbar .address-book .button-icon {
+ content: var(--icon-address-book);
+}
+
+.unified-toolbar .chat .button-icon {
+ content: var(--icon-chat)
+}
+
+.unified-toolbar .add-ons-and-themes .button-icon {
+ content: var(--icon-extension);
+}
+
+.unified-toolbar .calendar .button-icon {
+ content: var(--icon-calendar);
+}
+
+.unified-toolbar .tasks .button-icon {
+ content: var(--icon-tasks)
+}
+
+.unified-toolbar .mail .button-icon {
+ content: var(--icon-mail);
+}
+
+.unified-toolbar .print .button-icon {
+ content: var(--icon-print);
+}
+
+.unified-toolbar .quick-filter-bar .button-icon {
+ content: var(--icon-filter);
+}
+
+.unified-toolbar .synchronize .button-icon {
+ content: var(--icon-sync);
+}
+
+.unified-toolbar .new-event .button-icon {
+ content: var(--icon-new-event);
+}
+
+.unified-toolbar .new-task .button-icon {
+ content: var(--icon-new-task);
+}
+
+.unified-toolbar .delete-event .button-icon {
+ content: var(--icon-trash);
+}
+
+.unified-toolbar .print-event .button-icon {
+ content: var(--icon-print);
+}
+
+.unified-toolbar .go-to-today .button-icon {
+ content: var(--icon-calendar-today);
+}
+
+.unified-toolbar .go-back .button-icon {
+ content: var(--icon-nav-back);
+}
+
+.unified-toolbar .go-forward .button-icon {
+ content: var(--icon-nav-forward);
+}
+
+.unified-toolbar .stop .button-icon {
+ content: var(--icon-close);
+}
+
+.unified-toolbar .throbber .throbber-icon {
+ stroke: var(--button-primary-background-color);
+ -moz-context-properties: stroke, fill;
+ width: 16px;
+ height: 16px;
+ visibility: hidden;
+ margin: var(--button-margin);
+ vertical-align: middle;
+ content: var(--icon-loading);
+ object-fit: cover;
+}
+
+.unified-toolbar .throbber.busy .throbber-icon {
+ visibility: visible;
+ object-position: 0px 0;
+}
+
+@media (prefers-reduced-motion: no-preference) {
+ .unified-toolbar .throbber.busy .throbber-icon {
+ animation: activity-indicator-throbber 1.05s steps(30) infinite;
+ }
+
+ @keyframes activity-indicator-throbber {
+ 100% { object-position: -480px 0; }
+ }
+}