diff options
Diffstat (limited to 'toolkit/themes/shared/popupnotification.css')
-rw-r--r-- | toolkit/themes/shared/popupnotification.css | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/toolkit/themes/shared/popupnotification.css b/toolkit/themes/shared/popupnotification.css new file mode 100644 index 0000000000..8b90efeace --- /dev/null +++ b/toolkit/themes/shared/popupnotification.css @@ -0,0 +1,158 @@ +/* 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 url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +.popup-notification-panel::part(content) { + /* To keep the rounded borders of the panel, we use overflow: hidden; from the + * panel-no-padding class to ensure the contents are clipped to the border box. + * That causes us to override the "display" property so that the height of the + * contents is computed correctly. */ + display: flex; + /* Make multiple popupnotifications stack vertically. */ + flex-direction: column; +} + +.popup-notification-panel > popupnotification:not([hidden]) { + /* Since the anonymous parent (::part(content)) has display: flex, sizing + * computations work better with display: block; than with the XUL default + * display: flex; + * TODO(emilio): we can probably remove this. */ + display: block; +} + +popupnotification { + font: caption; +} + +popupnotificationcontent { + margin-top: .5em; +} + +.popup-notification-header-container, +.popup-notification-footer-container { + display: flex; + /** Padding + Icon width + border-radius + popup-notification-body-width **/ + max-width: calc(2 * var(--arrowpanel-padding) + 32px + 4px + var(--popup-notification-body-width)); +} + +.popup-notification-body-container { + padding: var(--arrowpanel-padding); +} + +.popup-notification-icon { + width: 32px; + height: 32px; + margin-inline-end: var(--arrowpanel-padding); +} + +.popup-notification-body { + width: var(--popup-notification-body-width); + flex: 1 auto; +} + +.popup-notification-closebutton { + margin-inline-end: -8px; + margin-top: -8px; +} + +.popup-notification-origin:not([value]), +.popup-notification-learnmore-link:not([href]) { + display: none; +} + +.popup-notification-origin { + margin-bottom: .3em !important; +} + +.popup-notification-hint-text { + margin-top: .5em !important; +} + +.popup-notification-hint-text:empty { + display: none; +} + +@media (-moz-platform: windows) { + /* Swap the primary and secondary action, because Windows + * platform conventions put the primary action on the left. */ + .panel-footer > .popup-notification-primary-button:not([default]) { + order: -1; + } +} + +.popup-notification-secondary-button:not([dropmarkerhidden="true"]) { + border-start-end-radius: 0; + border-end-end-radius: 0; +} + +/** + * The focus ring is an outline thicker than 1px, meaning that for split buttons, + * if the main button part of the split button has :focus-visible, the ring will + * be partially hidden behind the dropmarker button. We work around this by + * temporarily boosting the z-index of the main button while showing its focus + * ring. + */ +.popup-notification-secondary-button:not([dropmarkerhidden="true"]):focus-visible { + z-index: 2; +} + +.popup-notification-dropmarker { + border-start-start-radius: 0 !important; + border-end-start-radius: 0 !important; + margin-inline-start: 1px !important; + padding: 8px !important; + max-width: 32px; +} + +.popup-notification-dropmarker > .button-box > hbox { + display: none; +} + +.popup-notification-dropmarker > .button-box > .button-menu-dropmarker { + /* This is to override the linux !important */ + appearance: none !important; + display: flex; + padding: 0; + margin: 0; +} + +@media (-moz-platform: windows) { + /* Override default icon size which is too small for this dropdown */ + .popup-notification-dropmarker > .button-box > .button-menu-dropmarker { + width: 16px; + height: 16px; + } +} + +.popup-notification-dropmarker > .button-box > .button-menu-dropmarker::part(icon) { + width: 16px; + height: 16px; + list-style-image: url(chrome://global/skin/icons/arrow-down.svg); + -moz-context-properties: fill; + fill: currentColor; +} + +.popup-notification-warning { + color: #d74345; +} + +.popup-notification-icon:not([hasicon]) { + display: none; +} + +.popup-notification-icon { + height: 16px; + width: 16px; + margin-inline-end: 6px; +} + +.popup-notification-checkbox > .checkbox-label-box > .checkbox-label { + opacity: 0.7; +} + +.popup-notification-learnmore-link { + text-decoration: underline; + margin-block: 4px 0; +} |