mediawiki-extensions-Echo/modules/styles/mw.echo.ui.NotificationItemWidget.less
Stephane Bisson db838e42ce Keep bundled notification compact header on one line
Bug: T139321
Change-Id: I4b0a7173bc06a0760efff544bcc28a59ba72ce7f
2016-07-06 20:44:00 +00:00

260 lines
4.8 KiB
Plaintext

@import '../echo.variables';
@import '../echo.mixins';
.mw-echo-ui-notificationItemWidget {
position: relative;
white-space: normal;
padding: 0.8em 1em 0.5em 1em;
box-sizing: border-box;
border: 1px solid #DDDDDD;
border-bottom: 0;
&:last-child {
border-bottom: 1px solid #DDDDDD;
}
> a,
&:hover > a {
text-decoration: none;
}
&-icon {
img {
height: 30px;
width: 30px;
}
position: absolute;
}
&-content {
display: block;
// The icon is 30px
margin-left: 30px;
padding-left: 0.8em;
box-sizing: border-box;
&-message {
line-height: 16px;
// Compensate for the placement of the 'mark as read'
// button, so the message is not stretched past it.
// The 'mark as read' circle is placed with a right
// margin of -1em
padding-right: 1em;
&-header {
color: @notification-text-color;
}
&-body {
.mw-echo-ui-mixin-one-line-truncated;
color: @notification-body-color;
margin-top: 4px;
}
}
&-table {
display: table;
width: 100%;
margin-top: 0.8em;
}
&-actions {
display: table-row;
font-size: 0.9em;
& > &-buttons.oo-ui-buttonSelectWidget {
display: table-cell;
vertical-align: bottom;
}
&-button,
.mw-echo-ui-menuItemWidget-prioritized {
margin-right: 1.2em;
}
&-menu {
.mw-echo-ui-mixin-hover-opacity();
display: table-cell;
vertical-align: bottom;
padding: 0;
.oo-ui-popupWidget-popup {
font-size: 1 / 0.8em;
padding: 0.5em;
}
}
&-timestamp {
display: table-cell;
vertical-align: bottom;
text-align: right;
color: black;
opacity: @opacity-low;
white-space: nowrap;
width: 100%;
}
}
}
// Table layout only for the content inside bundles
&-bundled {
display: table;
width: 100%;
padding: 0.5em;
.mw-echo-ui-notificationItemWidget-content {
display: table-row;
padding-left: 0.5em + 1.5em;
.mw-echo-ui-notificationItemWidget {
// CSS table layout
&-icon,
&-content-message,
&-content-actions,
&-markAsReadButton {
display: table-cell;
vertical-align: top;
}
// Positioning fixes for bundled items
&-icon {
position: relative;
padding-right: 0.5em;
img {
height: 1.5em;
width: 1.5em;
}
}
&-content-message {
display: table-cell;
padding-right: 0.5em;
width: 100%;
&-header {
.mw-echo-ui-mixin-one-line-truncated;
width: @bundled-notification-header-width;
}
}
&-content-actions {
&-row {
display: table-row;
}
&-buttons {
display: table-cell;
vertical-align: middle;
}
&-menu {
display: table-cell;
vertical-align: middle;
}
&-timestamp {
float: none;
display: table-cell;
vertical-align: middle;
padding-right: 0.5em;
white-space: nowrap;
}
}
&-markAsReadButton {
display: table-cell;
vertical-align: top;
float: none;
}
}
}
}
&-markAsReadButton {
float: right;
font-size: 1em;
// Compensate for the padding in the item widget
margin-top: -0.8em;
margin-right: -1em;
padding: 0;
.mw-echo-ui-notificationItemWidget-bundled & {
margin-top: 0;
}
}
&-initiallyUnseen {
-webkit-animation-name: unseen-fadeout-to-read;
animation-name: unseen-fadeout-to-read;
-webkit-animation-duration: .5s;
animation-duration: .5s;
-webkit-animation-delay: 2s;
animation-delay: 2s;
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
&.mw-echo-ui-notificationItemWidget-unread {
-webkit-animation-name: unseen-fadeout-to-unread;
animation-name: unseen-fadeout-to-unread;
}
}
background-color: #F1F1F1;
&:hover {
background-color: #ECECEC;
}
&-unread {
background-color: white;
&:hover {
background-color: #FAFAFA;
}
}
// NOTE: The internal styling of the notifications is outside this file, because
// it also affects the notifications in Special:Notifications
// These styles are in modules/nojs/ext.echo.notifications.less
}
@-webkit-keyframes unseen-fadeout-to-unread {
from {
background-color: @notification-background-unseen;
}
to {
background-color: @notification-background-unread;
}
}
@keyframes unseen-fadeout-to-unread {
from {
background-color: @notification-background-unseen;
}
to {
background-color: @notification-background-unread;
}
}
@-webkit-keyframes unseen-fadeout-to-read {
from {
background-color: @notification-background-unseen;
}
to {
background-color: @notification-background-read;
}
}
@keyframes unseen-fadeout-to-read {
from {
background-color: @notification-background-unseen;
}
to {
background-color: @notification-background-read;
}
}