diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /comm/mail/themes/shared/mail/messengercompose.css | |
parent | Initial commit. (diff) | |
download | thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'comm/mail/themes/shared/mail/messengercompose.css')
-rw-r--r-- | comm/mail/themes/shared/mail/messengercompose.css | 1485 |
1 files changed, 1485 insertions, 0 deletions
diff --git a/comm/mail/themes/shared/mail/messengercompose.css b/comm/mail/themes/shared/mail/messengercompose.css new file mode 100644 index 0000000000..1c599c1d06 --- /dev/null +++ b/comm/mail/themes/shared/mail/messengercompose.css @@ -0,0 +1,1485 @@ +/* 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"); + +:root { + --lwt-additional-images: none; + --lwt-background-alignment: right top; + --lwt-background-tiling: no-repeat; + --toolbar-bgcolor: var(--toolbar-non-lwt-bgcolor); + --toolbar-color: var(--toolbar-non-lwt-textcolor); + --autocomplete-box-padding: 3px; + --autocomplete-item-padding: 3px; + --autocomplete-item-radius: var(--button-border-radius); +} + +:root[uidensity="compact"] { + --autocomplete-box-padding: 0; + --autocomplete-item-padding: 0; + --autocomplete-item-radius: 0; +} + +:root[uidensity="touch"] { + --autocomplete-item-padding: 8px 3px; +} + +#contactsSidebar .sidebar-header { + appearance: none; + height: 30px; + text-shadow: none; + background-color: -moz-Dialog; + background-image: linear-gradient(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05)); + color: -moz-dialogText; + border-bottom: 1px solid var(--lwt-tabs-border-color); +} + +:root[lwt-tree] #contactsSidebar .sidebar-header { + background-color: var(--toolbar-bgcolor); + color: var(--lwt-text-color); + border-bottom: 1px solid var(--lwt-tabs-border-color); +} + +:root[lwt-tree-brighttext] #contactsSidebar .sidebar-header { + background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05)); +} + +#contactsSidebar toolbarbutton.close-icon { + margin-inline-end: 3px; +} + +/* Styles for the default system dark theme */ + +:root[lwt-tree] :is(#MsgHeadersToolbar, #FormatToolbox) { + background-color: var(--toolbar-bgcolor) !important; + color: var(--lwt-text-color); +} + +:root[lwt-tree] panel[type="autocomplete-richlistbox"] { + margin-top: -1px; + padding: 2px 0; + --panel-background: var(--arrowpanel-background); + --panel-color: var(--arrowpanel-color); + --panel-border-color: var(--arrowpanel-border-color); +} + +:root[lwt-tree] .autocomplete-richlistbox { + color: inherit; + background-color: inherit; +} + +:root[lwt-tree] .autocomplete-richlistitem[selected] { + background-color: var(--autocomplete-popup-highlight-background); + color: var(--autocomplete-popup-highlight-color); +} + +.autocomplete-richlistbox { + padding: var(--autocomplete-box-padding); +} + +.autocomplete-richlistitem { + padding: var(--autocomplete-item-padding); + border-radius: var(--autocomplete-item-radius); +} + +#attachmentBucket { + grid-area: attachment-list; + border-block: 1px solid var(--splitter-color); /* The same color as the splitters */ + padding: 1px; +} + +:root[lwt-tree] #attachmentArea > summary { + background-color: var(--toolbar-bgcolor); + color: var(--toolbar-color); +} + +#attachmentArea > summary { + grid-area: attachment-header; + padding: 6px; + /* Position self for the #newAttachmentIndicator. */ + position: relative; + display: flex; + gap: 6px; + align-items: baseline; +} + +#attachmentArea > summary > * { + flex: 0 0 auto; +} + +#attachmentArea > summary:focus-visible { + outline-style: auto; + outline-offset: -1px; +} + +#newAttachmentIndicator { + color: var(--selected-item-text-color); + background-color: var(--selected-item-color); + font-size: 0.85em; + padding: 2px 5px; + border-radius: 10px; + font-weight: 600; + position: absolute; + inset-inline-start: 3px; + z-index: 9; + opacity: 0; +} + +@media (prefers-reduced-motion: no-preference) { + .is_animating { + animation: new-attachment 1s steps(30) 1; + } + + @keyframes new-attachment { + 0% { + opacity: 0; + margin-block-start: 0; + } + 50% { + opacity: 1; + margin-block-start: -50px; + } + 100% { + opacity: 0; + margin-block-start: -100px; + } + } + + #attachmentToggle { + transition: transform 200ms ease; + } +} + +#attachmentToggle { + align-self: center; + color: inherit; + -moz-context-properties: stroke; + stroke: currentColor; + fill-opacity: 1; +} + +#attachmentArea:not([open]) #attachmentToggle { + transform: rotate(-90deg); +} + +#attachmentArea:-moz-locale-dir(rtl):not([open]) #attachmentToggle { + transform: rotate(90deg); +} + +#attachmentBucketCount { + text-overflow: ellipsis; + /* Required for text-overflow to do anything */ + white-space: nowrap; + overflow: hidden; +} + +#attachmentBucketSize { + color: var(--selected-item-text-color); + background-color: var(--selected-item-color); + font-size: 0.85em; + line-height: 1em; + padding: 3px 5px; + border-radius: 10px; + font-weight: 500; +} + +.drop-attachment-overlay { + --overlay-color: #fff; + --overlay-backround: rgba(0, 0, 0, 0.5); + --drop-attachment-box-color: #222; + --drop-attachment-box-border-color: rgba(255, 255, 255, 0.85); + --drop-attachment-box-background-hover: rgba(255, 255, 255, 0.5); + --drop-attachment-box-border-color-hover: #fff; + --drop-attachment-title-background: rgba(255, 255, 255, 0.85); +} + +:root[lwt-tree-brighttext] .drop-attachment-overlay { + --drop-attachment-box-color: #cbcbcb; + --drop-attachment-box-border-color: #999; + --drop-attachment-box-background-hover: rgba(0, 0, 0, 0.5); + --drop-attachment-box-border-color-hover: #fff; + --drop-attachment-title-background: rgba(0, 0, 0, 0.85); +} + +.drop-attachment-overlay { + pointer-events: none; + position: fixed; + z-index: 12; /* above the attachment bucket splitter */ + background-color: var(--overlay-backround); + color: var(--overlay-color); + inset: 0; + padding: 30px; + display: none; + justify-content: space-around; +} + +@media (prefers-reduced-motion: no-preference) { + @keyframes hiding-animation { + 0% { opacity: 1; } + 100% { opacity: 0; } + } + @keyframes showing-animation { + 0% { opacity: 0; } + 100% { opacity: 1; } + } + + .drop-attachment-box { + transition: color 120ms ease, background-color 120ms ease, border 120ms ease; + } + + .drop-attachment-box span { + transition: background-color 120ms ease; + } +} + +@media (prefers-reduced-motion: reduce) { + /* + * Redefine these animations but without any visible transition as we still + * need the timing for the animationend JavaScript event. + */ + @keyframes hiding-animation { + 0% { opacity: 1; } + 100% { opacity: 1; } + } + @keyframes showing-animation { + 0% { opacity: 1; } + 100% { opacity: 1; } + } +} + +.drop-attachment-overlay.hiding { + animation: hiding-animation 120ms ease 1; +} + +.drop-attachment-overlay.showing { + display: flex; + animation: showing-animation 120ms ease 1; +} + +.drop-attachment-overlay.show { + display: flex; +} + +.drop-attachment-box { + pointer-events: auto; + font-size: 1.4rem; + font-weight: 600; + color: var(--drop-attachment-box-color); + border-radius: 15px; + border: 4px dashed var(--drop-attachment-box-border-color); + flex: 1; + display: flex; + align-items: center; + justify-content: center; +} + +.drop-attachment-box:not(.hidden) + .drop-attachment-box { + margin-inline-start: 30px; +} + +.drop-attachment-box span { + pointer-events: none; + -moz-context-properties: fill; + fill: currentColor; + padding-inline: 25px 6px; + border-radius: 3px; + background-color: var(--drop-attachment-title-background); + background-position: 6px center; + background-repeat: no-repeat; + background-size: 16px; +} + +.drop-attachment-box span:-moz-locale-dir(rtl) { + background-position-x: right 6px; +} + +.drop-attachment-box .drop-as-attachment { + background-image: url("chrome://messenger/skin/icons/attach.svg"); +} + +.drop-attachment-box .drop-inline { + background-image: url("chrome://messenger/skin/icons/image.svg"); +} + +.drop-attachment-box.hidden { + display: none; +} + +.drop-attachment-box.hover { + border-color: var(--drop-attachment-box-border-color-hover); + border-style: solid; + background-color: var(--drop-attachment-box-background-hover); +} + +.drop-attachment-box.hover span { + background-color: transparent; +} + +.add-attachment-label { + -moz-context-properties: fill; + fill: currentColor; + background: url("chrome://messenger/skin/icons/attach.svg") left center no-repeat; + background-size: contain; + padding-inline-start: 25px; +} + +#compose-toolbox > toolbar { + /* force iconsize="small" on these toolbars */ + counter-reset: smallicons; + background-color: var(--toolbar-bgcolor); +} + +#compose-toolbox:-moz-lwtheme { + appearance: none; + position: relative; + color: var(--toolbar-color, inherit); +} + +#compose-toolbox:-moz-lwtheme::after { + content: ""; + display: block; + position: absolute; + pointer-events: none; + top: -1px; + width: -moz-available; + height: 1px; + border-bottom: 1px solid var(--lwt-tabs-border-color, transparent); +} + +#composeToolbar2 { + padding-inline: 3px; +} + +#composeContentBox { + /* In order to remove the shadow border on left/right edges elegantly, use + * left/right margins of -3px. We make up for this by adding 3px of padding + * instead. */ + margin-inline: -3px; + padding-inline: 3px; + display: grid; + grid-template: "contacts contacts-splitter headers" minmax(auto, var(--headersSplitter-height)) + "contacts contacts-splitter format-toolbar" min-content + "contacts contacts-splitter headers-splitter" min-content + "contacts contacts-splitter message" minmax(33%, 1fr) + "contacts contacts-splitter attachment-splitter" min-content + "contacts contacts-splitter attachment-header" min-content + "contacts contacts-splitter attachment-list" var(--attachment-list-track-size) + / minmax(auto, var(--contactsSplitter-width)) min-content minmax(auto, 1fr); + /* If the splitter is not used, the header and attachment areas will try and + * grow to their content size. */ + --headersSplitter-height: min-content; + --attachmentSplitter-height: min-content; + --contactsSplitter-width: 200px; + /* NOTE: We specify the sizing of the attachment list using a variable because + * when the attachment area is hidden or the attachment list is closed, we + * want to adjust the sizing so that we can ignore the splitter height. */ + --attachment-list-track-size: minmax(auto, var(--attachmentSplitter-height)); + /* The parent body uses the -moz-box display, which does not take into account + * the natural minimum height this element can take due to its grid display. + * So we need to explicitly set the minimum height so that the body's layout + * will properly resize this element to the available space. + * TODO: Remove these rules when the body uses a standard CSS display. */ + min-height: 0; + flex: 1; + overflow: clip; +} + +#contactsSidebar { + grid-area: contacts; + box-sizing: border-box; + min-width: 150px; + max-width: 400px; + display: flex; + flex-direction: column; +} + +#contactsSidebar .sidebar-header { + flex: 0 0 auto; +} + +#contactsBrowser { + flex: 1 1 auto; +} + +#contactsSidebar.collapsed-by-splitter { + display: none; +} + +#contactsSplitter { + grid-area: contacts-splitter; +} + +#contactsSplitter.splitter-collapsed { + /* The splitter cannot be un-collapsed using a mouse drag. */ + display: none; +} + +#MsgHeadersToolbar { + grid-area: headers; +} + +#FormatToolbox { + appearance: none; + grid-area: format-toolbar; +} + +#headersSplitter { + grid-area: headers-splitter; +} + +#messageArea { + grid-area: message; + display: flex; + flex-direction: column; +} + +#messageEditor { + flex: 1 1 0; + min-height: 0; +} + +#FindToolbar { + flex: 0 0 auto; +} + +@media (prefers-color-scheme: dark) { + #messageArea { + background-color: #2a2a2e; + } +} + +#attachmentSplitter { + grid-area: attachment-splitter; +} + +#attachmentArea { + /* Children are grid items. */ + display: contents; +} + +/* When the attachment area is hidden, or the visibility of the attachmentBucket + * is toggled by the summary element. */ +#composeContentBox:is(.attachment-area-hidden, .attachment-bucket-closed) { + /* We adjust the track sizing so it no longer takes up any grid space. */ + --attachment-list-track-size: 0; +} + +#composeContentBox.attachment-bucket-closed #attachmentSplitter { + /* NOTE: When the bucket is closed, we do not consider it "collapsed" by the + * splitter. It was closed by the attachmentArea's summary, not the splitter. + * Moreover, it cannot be un-collapsed by the splitter either. + * Instead, we want to simply stop the splitter from resizing by making it + * non-interactive. We keep the splitter visible though as it still acts as a + * barrier between the message body and the attachment area. */ + pointer-events: none; +} + +#composeContentBox.attachment-area-hidden #attachmentSplitter { + /* We completely hide the splitter when the attachment area is hidden. */ + display: none; +} + +#composeContentBox.attachment-area-hidden #attachmentArea { + display: none; +} + +#composeContentBox.attachment-bucket-closed #attachmentBucket { + display: none; +} + +/* :::: primary toolbar buttons :::: */ + +#button-send { + list-style-image: var(--icon-sent); +} + +#button-contacts { + list-style-image: var(--icon-address-book); +} + +#spellingButton { + list-style-image: var(--icon-spelling); +} + +#button-attach { + list-style-image: var(--icon-attachment); +} + +#button-encryption { + list-style-image: var(--icon-lock-disabled); +} + +#button-encryption[checked] { + list-style-image: var(--icon-lock); +} + +#button-encryption-options { + list-style-image: var(--icon-shield); +} + +#button-signing { + list-style-image: var(--icon-ribbon); +} + +#button-save { + list-style-image: var(--icon-download); +} + +#quoteButton { + list-style-image: var(--icon-quote); +} + +#button-returnReceipt { + list-style-image: var(--icon-receipt); +} + +#cut-button { + list-style-image: var(--icon-cut); +} + +#copy-button { + list-style-image: var(--icon-copy); +} + +#paste-button { + list-style-image: var(--icon-paste); +} + +#button-print { + list-style-image: var(--icon-print); +} + +.menu-description, +menulist::part(description) { + font-style: italic; + opacity: 0.55; + margin-inline: 1ex !important; +} + +.aw-firstColBox { + /* aw-firstColBox inline padding (4px + 4px) + remove-field-button inline + * padding (2px + 2px) + img width (16px) */ + padding: 0 4px; + width: 28px; +} + +.aw-firstColBox, +#identityLabel-box { + flex-shrink: 0; +} + +/* :::: Format toolbar :::: */ + +#FormatToolbar:not([hidden="true"]) { + display: flex; +} + +/* + * Removed from global.css in bug 1484949. It's needed so the formatting + * toolbar is not disabled while a dropdown (paragraph format or font) is active. + */ +.toolbar-focustarget { + -moz-user-focus: ignore !important; +} + +#ParagraphSelect { + flex-shrink: 0.1; + min-width: 7em; +} + +#FontFaceSelect { + flex-shrink: 2; + min-width: 7em; +} + +#FormatToolbar > menulist { + margin-block: 1px; +} + +#FormatToolbar > menulist:not(:hover) { + background: transparent; +} + +#FormatToolbar > menulist::part(label-box) { + text-shadow: none; +} + +#FormatToolbar > menulist:not([disabled="true"],[open="true"]):hover { + background: var(--toolbarbutton-hover-background); +} + +#FormatToolbar > menulist[open="true"] { + background: var(--toolbarbutton-active-background); + border-color: var(--toolbarbutton-active-bordercolor); +} + +#FormatToolbar > toolbarbutton > .toolbarbutton-text { + display: none; +} + +toolbarbutton.formatting-button { + appearance: none; + border: 1px solid transparent; + border-radius: var(--button-border-radius); + color: inherit; + -moz-context-properties: fill; + fill: currentColor; + transition-property: background-color, border-color, box-shadow; + transition-duration: 150ms; +} + +toolbarbutton.formatting-button:not([disabled="true"]):hover { + background: var(--toolbarbutton-hover-background); + border-color: var(--toolbarbutton-hover-bordercolor); + box-shadow: var(--toolbarbutton-hover-boxshadow); +} + +toolbarbutton.formatting-button:not([disabled="true"]):is([open="true"],[checked="true"],:hover:active) { + background: var(--toolbarbutton-checked-background); + border-color: var(--toolbarbutton-active-bordercolor); + box-shadow: var(--toolbarbutton-active-boxshadow); +} + +toolbarbutton.formatting-button:not([disabled="true"]):is([open="true"],:hover:active) { + background: var(--toolbarbutton-active-background) !important; +} + +.formatting-button > .toolbarbutton-menu-dropmarker { + list-style-image: url("chrome://messenger/skin/messengercompose/format-dropmarker.svg"); + -moz-context-properties: fill; + fill: currentColor; + display: inline-flex; +} + +toolbarbutton.formatting-button[disabled="true"] > .toolbarbutton-icon, +.formatting-button[disabled="true"] > .toolbarbutton-menu-dropmarker { + opacity: 0.4; +} + +#FontFaceSelect { + max-width: 35ch; +} + +/* ..... fg/bg color picker ..... */ + +#ColorButtons { + margin-inline: 3px 4px; +} + +.color-button { + border: 1px solid var(--toolbarbutton-active-bordercolor); + padding: 0; + width: 18px; + height: 15px; + margin: 2px; +} + +.color-button[disabled="true"] { + opacity: 0.5; +} + +.ColorPickerLabel { + border: 1px inset ThreeDFace; + margin: 0; + padding: 2px; +} + +#TextColorButton { + margin-block: 2px 9px; + margin-inline: 2px 9px; +} + +#TextColorButton[color="mixed"] { + background-image: url("chrome://messenger/skin/icons/multicolor.png"); + background-size: cover; +} + +#BackgroundColorButton { + margin-block: 9px 2px; + margin-inline: 9px 2px; +} + +/* :::: Reorder Attachments Panel :::: */ + +#reorderAttachmentsPanel::part(content) { + --panel-padding: 4px; +} + +#btn_moveAttachmentFirst { + list-style-image: url("chrome://messenger/skin/icons/move-first.svg"); +} + +#btn_moveAttachmentLeft { + list-style-image: url("chrome://messenger/skin/icons/move-left.svg"); +} + +#btn_moveAttachmentRight { + list-style-image: url("chrome://messenger/skin/icons/move-right.svg"); +} + +#btn_moveAttachmentLast { + list-style-image: url("chrome://messenger/skin/icons/move-last.svg"); +} + +#btn_moveAttachmentBundleUp { + list-style-image: url("chrome://messenger/skin/icons/move-together.svg"); +} + +#btn_sortAttachmentsToggle { + list-style-image: url("chrome://messenger/skin/icons/sort.svg"); +} + +#btn_sortAttachmentsToggle[sortdirection="descending"] > .toolbarbutton-icon { + transform: scaleY(-1); +} + +.autocomplete-richlistitem:hover { + background-color: var(--arrowpanel-dimmed); +} + +.autocomplete-richlistitem[selected] { + background-color: var(--selected-item-color); + color: var(--selected-item-text-color); +} + +/* :::: autocomplete icons :::: */ + +.autocomplete-richlistitem > .ac-site-icon { + -moz-context-properties: fill, stroke; + fill: color-mix(in srgb, currentColor 20%, transparent); + stroke: currentColor; +} + +.autocomplete-richlistitem[type="local-abook"] > .ac-site-icon { + list-style-image: var(--icon-address-book); +} + +.autocomplete-richlistitem[type="remote-abook"] > .ac-site-icon { + list-style-image: var(--icon-globe); +} + +.autocomplete-richlistitem[type="remote-err"] > .ac-site-icon { + list-style-image: var(--icon-error-circle); +} + +.autocomplete-richlistitem[type="subscribed-news-abook"] > .ac-site-icon { + list-style-image: var(--icon-newsletter); +} + +/* :::: attachment notification :::: */ + +#compose-notification-bottom > .notificationbox-stack { + background-color: var(--toolbar-field-focus-background-color); +} + +#attachmentReminderText { + margin-inline-start: 0; + cursor: pointer; +} + +#attachmentKeywords { + font-weight: bold; + margin-inline-start: 0; + text-decoration: underline; + cursor: pointer; +} + +#identityLabel, +.address-label-container label { + margin-inline-end: 6px; + text-align: right; +} + +#top-gradient-box.address-identity-recipient { + overflow: hidden; +} + +#msgIdentity { + flex: 0 1 auto; + overflow: hidden; + appearance: none; + align-items: center; + font: inherit; + margin-inline: 4px 10px; + border: 1px solid transparent; + border-radius: var(--button-border-radius); + background-color: transparent; + transition: border .2s, box-shadow .2s, background-color .2s; +} + +/* XUL element needs the full [disabled="true"] attribute. */ +#msgIdentity[disabled="true"] { + opacity: 0.6; +} + +#msgIdentity:-moz-locale-dir(rtl) { + background-position: 5px; +} + +#extraAddressRowsArea { + /* Contains the main recipient buttons, plus the button to reveal the + * overflow. */ + display: flex; + align-items: center; + gap: 12px; + margin-inline-end: 6px; +} + +#extraAddressRowsArea > * { + flex: 0 0 auto; +} + +#extraAddressRowsArea.addressingWidget-separator::before { + display: block; + content: ''; + width: 1px; + border-inline-start: 1px solid var(--toolbarbutton-hover-bordercolor); + height: 14px; +} + +#msgIdentity::part(text-input) { + border-style: none; + outline-style: none; + margin-inline: 1px; +} + +#msgIdentityPopup > menuitem[selected="true"] { + background-color: var(--autocomplete-popup-highlight-background); + color: var(--autocomplete-popup-highlight-color); +} + +#msgSubjectContainer { + position: relative; +} + +#msgEncryptedSubjectIcon { + position: absolute; + top: 8px; + inset-inline-start: 10px; +} + +#msgSubject { + appearance: none; + margin-top: 0; + margin-inline: 4px 8px; + background-color: Field; + border: 1px solid var(--toolbarbutton-hover-bordercolor); + border-radius: var(--button-border-radius); + padding-block: 0; + padding-inline: 4px 2px; + transition: border .2s, box-shadow .2s; +} + +#msgSubject.with-icon { + padding-inline-start: 25px; +} + +.recipients-container { + display: block; + overflow-y: auto; +} + +:root[lwt-tree] #msgSubject, +:root[lwt-tree] .address-container { + background-color: var(--toolbar-field-background-color); + color: var(--lwt-text-color); +} + +.address-row { + display: flex; + flex: 1; + margin-block: 6px; + margin-inline-end: 8px; + align-items: self-start; +} + +.address-row > .aw-firstColBox { + transition: opacity .2s ease; + opacity: 0; + flex: 0 0 auto; + align-self: center; +} + +.address-row:hover > .aw-firstColBox, +.address-row:focus > .aw-firstColBox, +.address-row:focus-within > .aw-firstColBox { + opacity: 1; +} + +.address-row > .address-label-container { + flex: 0 0 auto; +} + +.address-row > .address-container { + flex: 1 1 auto; +} + +.address-row.hidden { + display: none; +} + +.address-container { + margin-inline-start: 4px; + margin-inline-end: 0; + border: solid 1px var(--toolbarbutton-hover-bordercolor); + border-radius: var(--button-border-radius); + background-color: Field; + transition: border .2s, box-shadow .2s; + cursor: text; +} + +.address-container.disable-container { + opacity: 0.9; +} + +.address-input { + color: inherit; + outline: none; +} + +.address-container > .address-input { + padding-block: 4px; +} + +.address-container > .address-input:focus { + outline: none; +} + +.address-pill { + display: flex; + align-items: center; + border-radius: var(--button-border-radius); + margin-inline-end: 3px; + margin-block: 2px; + padding-inline: 7px; + background-color: rgba(0,0,0,0.1); + transition: color .2s ease, background-color .2s ease, box-shadow .2s ease, + text-shadow .2s ease; + -moz-user-focus: normal; + cursor: default; + box-shadow: inset 0 0 0 1px transparent; +} + +.address-pill label { + -moz-user-focus: none; + cursor: default; + margin-inline: 0; +} + +.address-pill label, +.address-pill hbox { + pointer-events: none; +} + +.address-pill hbox:not([hidden="true"]) { + display: flex; +} + +.address-pill:hover:not(.editing), +.address-pill:focus:not(.editing) { + box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.3), + inset 0 0 0 2em rgba(0, 0, 0, 0.1); +} + +.address-pill[selected]:hover:not(.editing), +.address-pill[selected]:focus:not(.editing) { + box-shadow: 0 1px 5px -2px var(--focus-outline-color), + inset 0 0 0 1px rgba(0, 0, 0, 0.3), + inset 0 0 0 2em rgba(0, 0, 0, 0.15); + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); +} + +.address-pill.editing { + flex: 1; + background-color: transparent; + box-shadow: inset 0 0 0 1px var(--focus-outline-color); + min-height: calc(1.25em + 4px); /* needed to not shrink in edit mode */ +} + +.pill-indicator { + -moz-context-properties: fill, stroke; + fill: currentColor; + stroke: Field; + margin-inline-end: -8px; + margin-bottom: 1em; + transition: fill .2s ease, stroke .2s ease; +} + +:root[lwt-tree] .pill-indicator { + stroke: var(--toolbar-field-background-color); +} + +#MsgHeadersToolbar[brighttext] .address-pill:not(.editing) { + background-color: rgba(0,0,0,0.3); +} + +#MsgHeadersToolbar[brighttext] .address-pill:hover:not(.editing), +#MsgHeadersToolbar[brighttext] .address-pill:focus:not(.editing) { + box-shadow: inset 0 0 0 1px rgba(255,255,255,0.3), + inset 0 0 0 2em rgba(255, 255, 255, 0.1); +} + +#MsgHeadersToolbar[brighttext] .address-pill[selected]:hover:not(.editing), +#MsgHeadersToolbar[brighttext] .address-pill[selected]:focus:not(.editing) { + box-shadow: 0 1px 5px -2px var(--focus-outline-color), + inset 0 0 0 1px rgba(255,255,255,0.3), + inset 0 0 0 2em rgba(0, 0, 0, 0.2); + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); +} + +.address-pill.invalid-address:not(.editing), +#MsgHeadersToolbar[brighttext] .address-pill.invalid-address:not(.editing) { + color: #fff; + background-color: #d70022; + background-image: url("chrome://global/skin/icons/warning.svg"); + background-size: 12px; + background-repeat: no-repeat; + background-position: calc(100% - 5px); + padding-inline-end: 21px; + fill: currentColor; + -moz-context-properties: fill; +} + +.address-pill.key-issue:not(.editing), +#MsgHeadersToolbar[brighttext] .address-pill.key-issue:not(.editing) { + color: #000; + background-color: #ffe900; + background-image: url("chrome://global/skin/icons/warning.svg"); + background-size: 12px; + background-repeat: no-repeat; + background-position: calc(100% - 5px); + padding-inline-end: 21px; + fill: currentcolor; + -moz-context-properties: fill; +} + +/* RTL variation for background position */ +.address-pill.invalid-address:not(.editing):-moz-locale-dir(rtl), +.address-pill.key-issue:not(.editing):-moz-locale-dir(rtl), +#MsgHeadersToolbar[brighttext] .address-pill.invalid-address:not(.editing):-moz-locale-dir(rtl), +#MsgHeadersToolbar[brighttext] .address-pill.key-issue:not(.editing):-moz-locale-dir(rtl) { + background-position: 5px; +} + +.address-pill.invalid-address:hover:not(.editing), +.address-pill.invalid-address:focus:not(.editing), +#MsgHeadersToolbar[brighttext] .address-pill.invalid-address:hover:not(.editing), +#MsgHeadersToolbar[brighttext] .address-pill.invalid-address:focus:not(.editing) { + background-color: #a4000f; +} + +.address-pill.key-issue:hover:not(.editing), +.address-pill.key-issue:focus:not(.editing), +#MsgHeadersToolbar[brighttext] .address-pill.key-issue:hover:not(.editing), +#MsgHeadersToolbar[brighttext] .address-pill.key-issue:focus:not(.editing) { + background-color: #d7b600; +} + +.address-pill[selected]:not(.editing), +.address-pill.invalid-address[selected]:not(.editing), +.address-pill.key-issue[selected]:not(.editing), +#MsgHeadersToolbar[brighttext] .address-pill[selected]:not(.editing), +#MsgHeadersToolbar[brighttext] .address-pill.invalid-address[selected]:not(.editing), +#MsgHeadersToolbar[brighttext] .address-pill.key-issue[selected]:not(.editing) { + color: var(--selected-item-text-color); + background-color: var(--selected-item-color); +} + +.address-pill[selected]:not(.editing) .pill-indicator { + fill: var(--selected-item-color); +} + +#MsgHeadersToolbar { + display: grid; + grid-template-rows: min-content minmax(0, min-content) min-content; + grid-template-columns: auto; +} + +.address-identity-recipient { + margin-inline-end: 8px; + display: flex; +} + +.recipient-button { + white-space: nowrap; + text-align: start; +} + +#extraAddressRowsMenu { + min-width: 160px; +} + +.overflow-icon { + width: 16px; + height: 16px; + color: inherit; + -moz-context-properties: stroke, fill-opacity; + stroke: currentColor; + fill-opacity: 1; +} + +.overflow-icon:-moz-locale-dir(rtl) { + transform: scaleX(-1); +} + +button#extraAddressRowsMenuButton[aria-expanded="true"] { + /* Show as toggled on when the overflow is expanded. */ + background: var(--toolbarbutton-active-background); + box-shadow: var(--toolbarbutton-active-boxshadow); +} + +button:is(#extraAddressRowsMenuButton, .remove-field-button) { + padding: 2px; + margin: 0; +} + +button.recipient-button { + padding: 2px 4px; + margin: 0; +} + +button:is( + #extraAddressRowsMenuButton, + .remove-field-button, + .recipient-button +):focus-visible { + outline: 2px solid var(--focus-outline-color); +} + +.remove-field-button > img { + -moz-context-properties: fill; + fill: currentColor; + width: 16px; + height: 16px; +} + +#msgIdentity:hover { + border-color: var(--toolbarbutton-hover-bordercolor); + background-color: Field; +} + +:root[lwt-tree] #msgIdentity:hover { + background-color: var(--toolbar-field-background-color); +} + +#msgIdentity:focus, +#msgIdentity:focus-within, +#msgIdentity[focused="true"], +#msgSubject:focus, +.drag-address-container, +.address-container[focused="true"] { + border-color: var(--toolbar-field-focus-border-color); + background-color: Field; + outline: 1px solid var(--toolbar-field-focus-border-color); + outline-offset: 0; +} + +:root[lwt-tree] #msgIdentity:focus-within, +:root[lwt-tree] #msgIdentity[focused="true"], +:root[lwt-tree] #msgSubject:focus, +:root[lwt-tree] .address-container[focused="true"] { + color: var(--toolbar-field-focus-color); + background-color: var(--toolbar-field-focus-background-color); +} + +:root[lwt-tree-brighttext] #msgIdentity:focus, +:root[lwt-tree-brighttext] #msgIdentity:focus-within, +:root[lwt-tree-brighttext] #msgIdentity[focused="true"], +:root[lwt-tree-brighttext] #msgSubject:focus, +:root[lwt-tree-brighttext] .address-container[focused="true"] { + background-color: var(--toolbar-field-background-color); +} + +.address-pill::before { + display: block; + content: ''; + position: relative; + width: 3px; + background-color: var(--focus-outline-color); + height: 15px; + border-radius: 2px; + margin-inline: -10px 5px; + transition: all .2s ease; + transform: scaleY(0); +} + +.drop-indicator::before { + transform: scaleY(1); +} + +/* ..... format buttons ..... */ + +#AbsoluteFontSizeButton { + list-style-image: url("chrome://messenger/skin/icons/size.svg"); +} + +#DecreaseFontSizeButton { + list-style-image: url("chrome://messenger/skin/icons/decrease.svg"); +} + +#IncreaseFontSizeButton { + list-style-image: url("chrome://messenger/skin/icons/increase.svg"); +} + +#boldButton { + list-style-image: url("chrome://messenger/skin/icons/bold.svg"); +} + +#italicButton { + list-style-image: url("chrome://messenger/skin/icons/italics.svg"); +} + +#underlineButton { + list-style-image: url("chrome://messenger/skin/icons/underline.svg"); +} + +#ulButton { + list-style-image: url("chrome://messenger/skin/icons/bullet-list.svg"); +} + +#removeStylingButton { + list-style-image: url("chrome://messenger/skin/icons/remove-text-styling.svg"); +} + +#olButton { + list-style-image: url("chrome://messenger/skin/icons/number-list.svg"); +} + +#outdentButton { + list-style-image: url("chrome://messenger/skin/icons/outdent.svg"); +} + +#indentButton { + list-style-image: url("chrome://messenger/skin/icons/indent.svg"); +} + +#InsertPopupButton { + list-style-image: url("chrome://messenger/skin/icons/image.svg"); +} + +#AlignPopupButton { + list-style-image: url("chrome://messenger/skin/icons/left-align.svg"); +} + +#smileButtonMenu { + list-style-image: url("chrome://messenger/skin/icons/smiley.svg"); +} + +/* ..... align menu ..... */ + +#AlignPopup > menuitem { + -moz-context-properties: fill; + fill: currentColor; +} + +#AlignLeftItem, #AlignPopupButton[state="left"] { + list-style-image: url("chrome://messenger/skin/icons/left-align.svg"); +} + +#AlignCenterItem, #AlignPopupButton[state="center"] { + list-style-image: url("chrome://messenger/skin/icons/center-align.svg"); +} + +#AlignRightItem, #AlignPopupButton[state="right"] { + list-style-image: url("chrome://messenger/skin/icons/right-align.svg"); +} + +#AlignJustifyItem, #AlignPopupButton[state="justify"] { + list-style-image: url("chrome://messenger/skin/icons/justify.svg"); +} + +/* ..... insert menu ..... */ + +#InsertPopup > menuitem { + -moz-context-properties: fill; + fill: currentColor; +} + +#InsertLinkItem { + list-style-image: url("chrome://global/skin/icons/link.svg"); +} + +#InsertAnchorItem { + list-style-image: url("chrome://messenger/skin/icons/anchor.svg"); +} + +#InsertImageItem { + list-style-image: url("chrome://messenger/skin/icons/image.svg"); +} + +#InsertHRuleItem { + list-style-image: url("chrome://messenger/skin/icons/hline.svg"); +} + +#InsertTableItem { + list-style-image: url("chrome://messenger/skin/icons/table.svg"); +} + +#findbar-replaceButton { + margin-block: 0; +} + +#findbar-replaceButton > .toolbarbutton-icon { + display: none; +} + +#linkPreviewSettings { + border: 1px solid silver; + border-radius: 5px; + padding: 10px 20px; + width: 500px; +} +#linkPreviewSettings h2 { + color: blue; + font-size: 1em; +} +#linkPreviewSettings p { + margin: 0.5em 0.2em; +} +#linkPreviewSettings .bottom { + padding: 1em 0; +} +#linkPreviewSettings button { + background-color: navy; + color: white; + padding: 0.2em 2em; +} +#linkPreviewSettings .close { + font-size: 1.4em; + float: inline-end; + font-weight: 600; + display: inline-block; + transform: rotate(45deg); + margin-block: -0.2em 0.2em; + margin-inline: 0.2em -0.2em; +} + +.statusbar:not([hidden="true"]) { + display: flex; + align-items: center; + min-width: 0; +} + +.statusbar > :not(#statusText) { + flex: 0 0 auto; +} + +.statusbar > #statusText { + flex: 1 1 auto; +} + +#statusText { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + margin-inline: 4px; +} + +#compose-progressmeter { + margin-inline: 4px; +} + +/* Language selector */ +#languageStatusButton { + margin-block: 0; + margin-inline: 4px 0; + padding: 2px 4px; + border-radius: 0; +} + +#languageStatusButton:focus-visible { + /* Provide some inset for the outline. */ + outline-offset: -1px; +} + +#toggleRecipientsButton { + margin-top: 3px; +} + +.font-bold { + font-weight: bold; +} + +.flex-center { + display: flex; + align-items: center; + gap: 5px; +} + +.margin-top-1em { + margin-top: 1em; +} + +dialog.modal-dialog[open] { + display: flex; + flex-direction: column; + width: 580px; + color: inherit; + padding-inline: 0; + max-height: 90vh; + overflow-x: hidden; +} + +dialog .modal-dialog-body { + flex: 1; + display: flex; + flex-direction: column; + justify-content: space-between; + overflow-y: auto; + padding-inline: 15px; +} + +dialog .container-with-link { + display: grid; + grid-template-columns: 1fr auto; + align-items: baseline; +} + +dialog .radio-container-with-text { + display: grid; + grid-template-columns: auto 1fr; + align-items: baseline; + column-gap: 12px; +} + +dialog .display-block { + display: block; + margin-block: 1px; +} + +dialog .key-list { + display: flex; + flex-direction: column; + gap: 3px; + border: 1px solid var(--dialog-box-border-color); + border-radius: 3px; + margin-block: 12px 6px; +} + +dialog .key-list > li:nth-child(even) { + background-color: rgba(0, 0, 0, 0.05); +} + +dialog .key-row { + display: flex; + align-items: center; + gap: 3px 6px; + padding: 3px 6px; +} + +dialog .key-info { + flex: 1; + display: flex; + flex-direction: column; + gap: 3px; +} + +dialog .key-info-block { + margin-block-start: 6px; + margin-inline-start: 28px; +} + +.comma-separated a:not(:last-child):after { + content: ", "; +} |