1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
/* 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: 0.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: 0.3em !important;
&:not([value]) {
display: none;
}
}
.popup-notification-hint-text {
margin-top: 0.5em !important;
&:empty {
display: none;
}
}
.popup-notification-secondary-button:not([dropmarkerhidden]) {
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;
}
}
|