Source code
Revision control
Copy as Markdown
Other Tools
/* 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
.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;
}
}