react-pro-sidebar
Version:
React sidebar library with dropdown menus and unlimit number of nested submenus
222 lines (209 loc) • 8.34 kB
CSS
@import url(../../node_modules/react-slidedown/lib/slidedown.css);
@keyframes swing {
0%,
30%,
50%,
70%,
100% {
transform: rotate(0deg); }
10% {
transform: rotate(10deg); }
40% {
transform: rotate(-10deg); }
60% {
transform: rotate(5deg); }
80% {
transform: rotate(-5deg); } }
.pro-sidebar {
background: #1d1d1d;
color: #adadad;
height: 100%;
width: 270px;
text-align: left;
transition: width 0.3s;
position: relative; }
.pro-sidebar > img.sidebar-bg {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
position: absolute;
opacity: 0.3;
left: 0;
top: 0; }
.pro-sidebar ul {
list-style-type: none;
padding: 0;
margin: 0; }
.pro-sidebar.collapsed {
width: 80px; }
.pro-sidebar.rtl {
text-align: right; }
.pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item .pro-inner-item:before {
content: '';
display: inline-block;
width: 4px;
min-width: 4px;
height: 4px;
border: 1px solid #2b2b2b;
border-radius: 50%;
margin-right: 15px;
position: relative;
box-shadow: 1px 0px 0px #adadad, 0px -1px 0px #adadad, 0px 1px 0px #adadad, -1px 0px 0px #adadad; }
.pro-sidebar .pro-menu .pro-menu-item > .pro-inner-item > .pro-item-content {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap; }
.pro-sidebar .pro-menu {
padding-top: 10px;
padding-bottom: 10px; }
.pro-sidebar .pro-menu > ul > .pro-sub-menu > .pro-inner-list-item {
position: relative;
background-color: #2b2b2b; }
.pro-sidebar .pro-menu > ul > .pro-sub-menu > .pro-inner-list-item > ul {
padding-top: 15px;
padding-bottom: 15px; }
.pro-sidebar .pro-menu a {
text-decoration: none;
color: #adadad; }
.pro-sidebar .pro-menu a:before {
content: '';
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: transparent; }
.pro-sidebar .pro-menu a:hover {
color: #d8d8d8; }
.pro-sidebar .pro-menu .pro-menu-item {
font-size: 15px; }
.pro-sidebar .pro-menu .pro-menu-item > .pro-inner-item {
position: relative;
display: flex;
align-items: center;
padding: 8px 35px 8px 20px;
cursor: pointer; }
.pro-sidebar .pro-menu .pro-menu-item > .pro-inner-item:focus {
outline: none;
color: #d8d8d8; }
.pro-sidebar .pro-menu .pro-menu-item > .pro-inner-item > .pro-icon-wrapper {
margin-right: 10px;
font-size: 14px;
width: 35px;
min-width: 35px;
height: 35px;
line-height: 35px;
text-align: center;
display: inline-block; }
.pro-sidebar .pro-menu .pro-menu-item > .pro-inner-item > .pro-icon-wrapper .pro-icon {
display: flex;
height: 100%;
align-items: center;
justify-content: center; }
.pro-sidebar .pro-menu .pro-menu-item > .pro-inner-item > .pro-item-content {
flex-grow: 1;
flex-shrink: 1; }
.pro-sidebar .pro-menu .pro-menu-item > .pro-inner-item:hover {
color: #d8d8d8; }
.pro-sidebar .pro-menu .pro-menu-item > .pro-inner-item:hover .pro-icon-wrapper .pro-icon {
animation: swing ease-in-out 0.5s 1 alternate; }
.pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu > .pro-inner-item:before {
background: #adadad; }
.pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu > .pro-inner-item > .pro-arrow-wrapper {
position: absolute;
right: 20px;
top: 50%;
transform: translateY(-50%); }
.pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu > .pro-inner-item > .pro-arrow-wrapper .pro-arrow {
display: inline-block;
border-style: solid;
border-color: #adadad;
border-width: 0 2px 2px 0;
padding: 2.5px;
vertical-align: middle;
transition: transform 0.3s;
transform: rotate(-45deg); }
.pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu.open > .pro-inner-item:before {
background: transparent ; }
.pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu.open > .pro-inner-item > .pro-arrow-wrapper .pro-arrow {
transform: rotate(45deg); }
.pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item {
padding-left: 20px; }
.pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item .pro-inner-item {
padding: 8px 30px 8px 15px; }
.pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item .pro-inner-item > .pro-icon-wrapper {
display: none; }
.pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item .pro-inner-item .pro-arrow-wrapper {
display: none; }
.pro-sidebar .pro-menu.shaped .pro-menu-item > .pro-inner-item > .pro-icon-wrapper {
background-color: #2b2b2b; }
.pro-sidebar .pro-menu.square .pro-menu-item > .pro-inner-item > .pro-icon-wrapper {
border-radius: 0; }
.pro-sidebar .pro-menu.round .pro-menu-item > .pro-inner-item > .pro-icon-wrapper {
border-radius: 4px; }
.pro-sidebar .pro-menu.circle .pro-menu-item > .pro-inner-item > .pro-icon-wrapper {
border-radius: 50%; }
.pro-sidebar.collapsed .pro-menu > ul > .pro-menu-item {
position: relative; }
.pro-sidebar.collapsed .pro-menu > ul > .pro-menu-item > .pro-inner-list-item {
background-color: #2b2b2b;
z-index: 111; }
.pro-sidebar.collapsed .pro-menu > ul > .pro-menu-item::before {
content: '';
display: inline-block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
cursor: pointer; }
.pro-sidebar.collapsed .pro-menu > ul > .pro-menu-item.pro-sub-menu {
position: relative; }
.pro-sidebar.collapsed .pro-menu > ul > .pro-menu-item.pro-sub-menu > .pro-inner-item {
pointer-events: none; }
.pro-sidebar.collapsed .pro-menu > ul > .pro-menu-item.pro-sub-menu > .pro-inner-item > .pro-arrow-wrapper {
display: none; }
.pro-sidebar.collapsed .pro-menu > ul > .pro-menu-item.pro-sub-menu > .pro-inner-list-item {
height: auto ;
position: absolute;
left: 100%;
top: 0;
display: none ;
width: 270px; }
.pro-sidebar.collapsed .pro-menu > ul > .pro-menu-item.pro-sub-menu:hover > .pro-inner-list-item {
display: block ; }
.pro-sidebar.collapsed .pro-menu > ul > .pro-menu-item.pro-sub-menu:hover .pro-icon-wrapper .pro-icon {
animation: swing ease-in-out 0.5s 1 alternate; }
.pro-sidebar.collapsed .pro-menu > ul > .pro-menu-item.pro-sub-menu .pro-inner-list-item .pro-sub-menu-item,
.pro-sidebar.collapsed .pro-menu > ul > .pro-menu-item.pro-sub-menu .pro-inner-list-item .pro-inner-item {
padding: 8px 30px 8px 5px; }
.pro-sidebar.rtl .pro-menu .pro-menu-item > .pro-inner-item {
flex-direction: row-reverse;
padding: 8px 20px 8px 35px; }
.pro-sidebar.rtl .pro-menu .pro-menu-item > .pro-inner-item > .pro-icon-wrapper {
margin-right: 0;
margin-left: 10px; }
.pro-sidebar.rtl .pro-menu .pro-menu-item.pro-sub-menu > .pro-inner-item > .pro-arrow-wrapper {
right: auto;
left: 20px; }
.pro-sidebar.rtl .pro-menu .pro-menu-item.pro-sub-menu > .pro-inner-item > .pro-arrow-wrapper .pro-arrow {
transform: rotate(135deg); }
.pro-sidebar.rtl .pro-menu .pro-menu-item.pro-sub-menu.open > .pro-inner-item > .pro-arrow-wrapper .pro-arrow {
transform: rotate(45deg); }
.pro-sidebar.rtl .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item {
padding-left: 0;
padding-right: 20px; }
.pro-sidebar.rtl .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item .pro-inner-item {
padding: 8px 15px 8px 30px; }
.pro-sidebar.rtl .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item .pro-inner-item:before {
margin-right: 0;
margin-left: 15px; }
.pro-sidebar.rtl.collapsed .pro-menu > ul > .pro-menu-item.pro-sub-menu > .pro-inner-list-item {
left: auto;
right: 100%; }
.pro-sidebar.rtl.collapsed .pro-menu > ul > .pro-menu-item.pro-sub-menu .pro-inner-list-item .pro-sub-menu-item,
.pro-sidebar.rtl.collapsed .pro-menu > ul > .pro-menu-item.pro-sub-menu .pro-inner-list-item .pro-inner-item {
padding: 8px 5px 8px 30px; }
.react-slidedown {
transition-duration: 0.2s ; }