138 lines
3.4 KiB
CSS
138 lines
3.4 KiB
CSS
/* 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/. */
|
|
|
|
.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;
|
|
max-width: calc(2 * var(--arrowpanel-padding) + 16px /* Icon width */ + var(--panel-border-radius) + var(--popup-notification-body-width));
|
|
}
|
|
|
|
.popup-notification-body-container {
|
|
padding: var(--arrowpanel-padding);
|
|
}
|
|
|
|
.popup-notification-icon {
|
|
height: 16px;
|
|
width: 16px;
|
|
margin-inline-end: 6px;
|
|
|
|
&:not([hasicon]) {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.popup-notification-body {
|
|
width: var(--popup-notification-body-width);
|
|
flex: 1 auto;
|
|
}
|
|
|
|
/*
|
|
* Ensure that host names in PopupNotifications wrap. This targets the "name"
|
|
* element in the description container which is the "name" property of the
|
|
* PopupNotification. Name is what gets substituted from the l10n string using
|
|
* the placeholder <>.
|
|
*/
|
|
.popup-notification-description-name {
|
|
word-break: break-all;
|
|
}
|
|
|
|
.popup-notification-closebutton {
|
|
margin-inline-end: -8px;
|
|
margin-top: -8px;
|
|
}
|
|
|
|
.popup-notification-origin {
|
|
margin-bottom: .3em !important;
|
|
|
|
&:not([value]) {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.popup-notification-hint-text {
|
|
margin-top: .5em !important;
|
|
|
|
&:empty {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.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.
|
|
*/
|
|
&: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;
|
|
|
|
> .button-box > hbox {
|
|
display: none;
|
|
}
|
|
|
|
> .button-box > .button-menu-dropmarker {
|
|
appearance: none;
|
|
display: flex;
|
|
content: url(chrome://global/skin/icons/arrow-down.svg);
|
|
-moz-context-properties: fill;
|
|
fill: currentColor;
|
|
}
|
|
}
|
|
|
|
.popup-notification-warning {
|
|
color: #d74345;
|
|
}
|
|
|
|
.popup-notification-checkbox > .checkbox-label-box > .checkbox-label {
|
|
opacity: 0.7;
|
|
}
|
|
|
|
.popup-notification-learnmore-link {
|
|
text-decoration: underline;
|
|
margin-block: 4px 0;
|
|
|
|
&:not([href]) {
|
|
display: none;
|
|
}
|
|
}
|