public/components/content-list/_content-list.scss (388 lines of code) (raw):
@import "layouts/global/mixins";
@import "components/directives/ui-edit-rights";
/**
* Content-list styles.
*
* Shows all content items in a table.
*/
$content-list-icon-size: 14px;
$compact-display-td-padding: 2px 5px;
$textualIconSize: 22px;
$tableHeaderRowHeight: 48px;
// Global padding for cells
%content-list__field-padding {
padding: 10px 5px;
}
// Compact layout
.content-list--compact %content-list__field-padding {
padding: $compact-display-td-padding;
}
.content-list, .content-list * {
box-sizing: content-box;
}
.content-list {
width: 100%;
border-bottom: 5px solid $c-grey-100;
thead {
th {
z-index: 3;
background-color: $c-white;
white-space: nowrap;
}
tr {
height: $tableHeaderRowHeight;
}
}
&--sticky-row th {
position: sticky;
top: 0;
background-color: $c-bluegrey;
&.content-list__group-heading {
top: $tableHeaderRowHeight;
z-index: 2;
}
}
// Table header
&-head {
&__row {
}
&__heading {
&--titles,
&--group,
&--office,
&--deadline,
&--created,
&--section,
&--legal,
&--status,
&--status-in-print,
&--notes,
&--pinboard,
&--links,
&--published-state,
&--wordcount,
&--printwordcount,
&--commissionedLength,
&--needs-legal,
&--needs-picture-desk,
&--last-modified,
&--last-modified-by,
&--last-modified-in-print-by,
&--printlocation,
&--rights,
&--byline {
padding: 15px 10px 5px 5px;
@extend %fs-data-2;
font-weight: bold;
text-align: left;
}
// icon fields
&--priority,
&--comments,
&--main-image,
&--content-type,
&--composer,
&--preview,
&--live,
&--media,
&--ophan,
&--incopy {
padding: 10px 5px;
width: $content-list-icon-size;
}
&--needs-legal,
&--needs-picture-desk {
padding: 10px 5px;
width: $content-list-icon-size;
}
&--presence,
&--assignee {
padding: 5px 5px 5px 0;
}
&--assignee {
text-align: center;
}
&--presence {
text-align: right;
}
&--priority {
// The priority icon is a slightly different shape, and needs
// different padding as a result
padding-top: 17px;
padding-left: 10px;
padding-right: 0;
}
&-icon {
&--presence,
&--assignee,
&--headline-toggle {
display: inline-block;
}
&--presence {
width: 18px;
height: 18px;
margin-top: 3px;
}
&--assignee {
width: $content-list-icon-size;
height: $content-list-icon-size;
margin-top: 3px;
}
&--headline-toggle {
width: $content-list-icon-size;
height: $content-list-icon-size;
margin-right: 5px;
}
}
&--notifier {
padding: 0;
width: 5px;
max-width: 5px;
min-width: 5px;
}
&--wordcount,
&--printwordcount {
width: 40px;
}
&--printlocation {
width: 300px;
}
&--titles {
min-width: 200px;
}
&--last-modified,
&--last-modified-in-print-by,
&--last-modified-by {
min-width: 110px;
}
&--rights {
min-width: 125px;
}
&--byline {
min-width: 125px;
}
&--titles {
&--secondary {
color: grey;
}
}
}
}
// Group headings in the table
&__group-heading {
&-row {
background-color: $c-bluegrey;
border-bottom: 1px solid #ffffff;
}
&-link {
@extend %fs-data-3;
text-transform: uppercase;
background-color: $c-bluegrey;
color: $c-grey-700;
font-weight: bold;
display: inline-block;
line-height: 20px;
padding: 0 10px;
min-width: 80px;
&:hover {
color: $c-grey-700;
text-decoration: none;
}
}
&-count {
font-weight: normal;
margin-left: 0.5em;
}
}
&__button {
&-icon {
display: inline-block;
width: 9px;
height: 9px;
margin-right: 5px;
}
&--new,
&--import {
@extend %fs-data-3;
padding: 0 10px;
background-color: $c-bluegrey;
font-weight: normal;
line-height: 21px;
border-top: none;
border-bottom: none;
border-left: 1px solid $c-grey-400;
border-right: 1px solid $c-bluegrey;
color: $c-grey-700;
}
}
&--presence-disabled {
.content-list-head__heading--presence,
.content-list-item__field--presence {
&:after {
content: "";
display: block;
position: absolute;
height: 100%;
width: 100%;
top: 0;
left: 0;
background-color: rgba(220,220,220,0.6);
}
}
}
}
// column-configurator
.content-list-head--button-container {
position: relative;
}
.configure-columns {
position: absolute;
bottom: 6px;
right: 6px;
background-color: #ffffff;
width: 20px;
height: 20px;
border: 1px solid $c-grey-650;
@include border-radius(50px);
cursor: pointer;
@mixin icon-line {
position: absolute;
width: 2px;
height: 12px;
top: 4px;
left: 9px;
background-color: $c-grey-650;
padding: 0;
}
.configure-columns__inner {
@include icon-line;
}
&:before, &:after {
@include icon-line;
content: " ";
display: block;
}
&:before {
left: 5px;
}
&:after {
left: 13px;
}
&:hover {
background-color: $c-grey-400;
}
&:active, &--active {
background-color: $c-grey-650;
.configure-columns__inner, &:before, &:after {
background-color: #ffffff;
}
}
}
.column-configurator {
$columnConfiguratorBorder: 1px;
$columnConfiguratorTopOffset: $tableHeaderRowHeight + $topToolbarHeight + $columnConfiguratorBorder;
position: fixed;
top: $columnConfiguratorTopOffset;
max-height: calc(100vh - #{$columnConfiguratorTopOffset});
overflow-x: hidden;
overflow-y: scroll;
right: 15px;
width: 180px;
z-index: 3;
// _toolbar-sections-dropdown.scss:71
background-color: #ffffff;
border: $columnConfiguratorBorder solid $c-grey-400;
box-shadow: 2px 1px 5px $c-grey-300;
display: block;
-webkit-transition: opacity .35 ease-in-out;
-moz-transition: opacity .35 ease-in-out;
-ms-transition: opacity .35 ease-in-out;
-o-transition: opacity .35 ease-in-out;
transition: opacity .35 ease-in-out;
// ! _toolbar-sections-dropdown.scss:71
.column-configurator__list {
list-style: none;
padding: 0;
margin: 0;
}
.column-configurator__list-item {
border-bottom: 1px solid $c-grey-300;
.column-configurator__label {
padding: 6px 10px;
color: $c-grey-700;
font-weight: normal;
@extend %fs-data-3;
text-transform: capitalize;
margin: 0;
cursor: pointer;
width: 100%;
user-select: none;
input {
width: auto;
}
&:hover {
background-color: $c-grey-200;
}
}
.column-configurator__label {
margin-right: 4px;
}
&:last-child {
border: none;
}
}
}
.configure-columns__new-indicator {
display: inline-block;
z-index: 9;
@extend %fs-data-1;
font-weight: normal;
color: #ffffff;
height: 14px;
background-color: #B22234;
padding: 1px 3px 0;
position: relative;
top: -2px;
left: 6px;
&--animate-on-button {
display: block;
margin: 0;
position: absolute;
left: -25px;
top: -5px;
animation: new-indicator-pulse 3s infinite alternate;
-webkit-animation: new-indicator-pulse 3s infinite alternate;
-moz-animation: new-indicator-pulse 3s infinite alternate;
animation-timing-function: ease-in-out;
-webkit-animation-timing-function: ease-in-out;
-moz-animation-timing-function: ease-in-out;
}
}
@include keyframes(new-indicator-pulse) {
0% {
transform: scale(0.9);
opacity: 0.7;
}
50% {
transform: scale(1);
opacity: 1;
}
100% {
transform: scale(0.9);
opacity: 0.7;
}
}
.content-list-head__heading--group {
position: relative;
}
.content-list-head__heading-sort-by {
cursor: pointer;
user-select: none;
}
.content-list-head__heading-sort-indicator {
font-size: 10px;
}
.content-list__content-end {
background-color: $c-bluegrey;
border-top: 1px solid $c-grey-300;
border-bottom: 1px solid #ffffff;
height: 46px;
line-height: 46px;
@extend %fs-data-2;
text-transform: uppercase;
color: $c-grey-700;
font-weight: bold;
text-align: center;
}
.content-list__content-end-reset {
margin: 0 0 0 6px;
line-height: 1.42857143; // Bootstrap...
}
.content-list-head__heading--pinboard {
width: 62px;
}