october_1x0/modules/backend/assets/less/controls/filelist.less

427 lines
12 KiB
Plaintext

//
// File list control
// --------------------------------------------------
.control-filelist {
.listPaddings (@level, @offset-base) when (@level > 0) {
> li.group {
> ul {
> li > a {
padding-left: (@level+2)*@offset-base;
margin-left: -1*@level*@offset-base;
}
.listPaddings(@level - 1, @offset-base);
}
}
}
.listPaddings (0, 27px) {}
p.no-data {
padding: 22px 0;
margin: 0;
color: @color-filelist-norecords-text;
font-size: @font-size-base;
text-align: center;
font-weight: normal;
.border-radius(@border-radius-base);
}
ul {
padding: 0;
margin: 0;
li {
font-weight: normal;
line-height: 150%;
position: relative;
list-style: none;
a:hover {
background: @color-list-hover;
}
&.active > a {
background: @color-list-active;
position: relative;
&:after {
position: absolute;
height: 100%;
width: 4px;
left: 0;
top: 0;
background: @color-list-active-border;
display: block;
content: ' ';
}
}
a {
display: block;
padding: 10px 45px 10px 20px;
outline: none;
&:hover, &:focus, &:active {text-decoration: none;}
span {
display: block;
&.title {
font-weight: normal;
color: @color-text-title;
font-size: @font-size-base;
}
&.description {
color: @color-text-description;
font-size: @font-size-base - 2;
white-space: nowrap;
font-weight: normal;
overflow: hidden;
text-overflow: ellipsis;
strong {
color: @color-text-title;
font-weight: normal;
}
}
}
}
&.group {
> h4, > div.group > h4 {
font-weight: normal;
font-size: @font-size-base;
margin-top: 0;
margin-bottom: 0;
position: relative;
a {
padding: 10px 20px 10px 53px;
color: @color-text-title;
position: relative;
outline: none;
&:hover { background: transparent; }
&:before, &:after {
width: 10px;
height: 10px;
display: block;
position: absolute;
top: 1px;
}
&:after {
left: 33px;
top: 9px;
.icon(@folder);
color: @color-list-icon;
font-size: 16px;
}
&:before {
left: 20px;
top: 9px;
color: @color-list-arrow;
.icon(@caret-right);
.transform( ~'rotate(90deg) translate(5px, 0)' );
.transition(all 0.1s ease);
}
}
}
> ul {
> li > a {
padding-left: 52px;
}
> li.group {
padding-left: 20px;
}
.listPaddings(10, 27px);
}
&[data-status=collapsed] {
> h4 a:before, > div.group > h4 a:before {
.transform(~'rotate(0deg) translate(3px, 0)');
}
& > ul, & > div.subitems {
display: none;
}
}
}
> div.controls {
position: absolute;
right: 19px;
top: 6px;
.dropdown {
width: 14px;
height: 21px;
&.open a.control {
display: block!important;
&:before {
visibility: visible;
display: block;
}
}
}
a.control {
color: @color-text-title;
font-size: @font-size-base;
visibility: hidden;
overflow: hidden;
width: 14px;
height: 21px;
display: none;
text-decoration: none;
cursor: pointer;
padding: 0;
.opacity(0.5);
&:before {
visibility: visible;
display: block;
margin-right: 0;
}
&:hover {
.opacity(1);
}
}
}
&:hover {
> div.controls, > a.control {
display: block!important;
> a.control {
display: block!important;
}
}
}
.checkbox {
position: absolute;
top: -5px;
right: 0;
label {
margin-right: 0;
&:before {
border-color: @color-filelist-cb-border;
}
}
}
}
}
&.single-line {
ul {
li a span.title {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
}
}
//
// Templates have emphasis
//
&.filelist-hero {
.a-hover() {
background: @color-filelist-hero-hover-bg;
border-bottom: 1px solid @color-filelist-hero-hover-bg !important;
span.title, span.description {
color: @color-filelist-hero-hover-text !important;
}
.list-icon {
color: @color-filelist-hero-hover-text !important;
}
}
.a-active() {
background: @color-filelist-hero-active-bg;
border-bottom: 1px solid @color-filelist-hero-active-bg !important;
span.title, span.description {
color: @color-filelist-hero-active-text !important;
}
.list-icon {
color: @color-filelist-hero-active-text !important;
}
}
ul {
li {
background: @color-filelist-hero-item-bg;
border-bottom: none;
> a {
padding: 11px 45px 10px 50px;
font-size: @font-size-base - 1;
border-bottom: 1px solid @color-panel-light;
span.title {
font-size: @font-size-base;
font-weight: normal;
color: @color-filelist-title-hero;
}
span.description {
font-size: @font-size-base - 1;
}
.list-icon {
position: absolute;
left: 14px;
top: 15px;
font-size: 22px;
color: #b7c0c2;
}
&:hover {
.a-hover();
}
&:active {
.a-active();
}
}
.checkbox {
top: -2px;
right: 0;
}
&.active {
> a {
border-bottom: 1px solid @color-list-active;
&:after {
top: -1px;
bottom: -1px;
height: auto;
}
> span.borders {
&:before {
content: ' ';
position: absolute;
width: 100%;
height: 1px;
display: block;
left: 0;
background-color: @color-list-active;
}
&:before {top: -1px;}
}
&:hover > span.borders:before {
background-color: @color-filelist-hero-hover-bg;
}
&:active > span.borders:before {
background-color: @color-filelist-hero-active-bg;
}
}
}
> h4 {
padding-top: 7px;
padding-bottom: 6px;
border-bottom: 1px solid @color-panel-light;
}
> div.controls {
display: none;
position: absolute;
right: 16px;
top: 15px;
> a.control {
width: 16px;
height: 23px;
background: transparent;
overflow: hidden;
display: inline-block;
color: @color-filelist-hero-hover-text!important;
padding: 0;
&:before {
font-size: 17px;
}
}
}
&:hover > div.controls {
display: block;
}
&.separator {
position: relative;
border-bottom: 1px solid #95a5a6;
padding: 12px 15px 13px 15px;
&:before {
z-index: 31;
.triangle(down, 19px, 11px, white);
position: absolute;
left: 13px;
bottom: -8px;
}
&:after {
z-index: 30;
.triangle(down, 17px, 9px, #95a5a6);
position: absolute;
left: 14px;
bottom: -9px;
}
h5 {
color: #2b3e50;
font-size: @font-size-base;
margin: 0;
font-weight: normal;
padding: 0;
}
}
}
> li.group {
> ul > li > a {
padding-left: 66px;
}
}
}
&.single-level {
ul li:hover {
background: @color-filelist-hero-hover-bg;
> a {
.a-hover();
}
}
ul li:active {
background: @color-filelist-hero-active-bg;
> a {
.a-active();
}
}
}
}
}