_sidebar-mini.scss 3.8 KB
Newer Older
A
Abdullah Almsaeed 已提交
1 2
/*
 * Component: Sidebar Mini
3
 * -----------------------
A
Abdullah Almsaeed 已提交
4 5
 */

R
REJack 已提交
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
// Mixin

@mixin sidebar-mini-breakpoint() {
  // A fix for text overflow while transitioning from sidebar mini to full sidebar
  .nav-sidebar,
  .nav-sidebar > .nav-header,
  .nav-sidebar .nav-link {
    white-space: nowrap;
    overflow: hidden;
  }

  // When the sidebar is collapsed...
  &.sidebar-collapse {
    .d-hidden-mini {
      display: none;
A
Abdullah Almsaeed 已提交
21 22
    }

R
REJack 已提交
23 24 25 26 27 28
    // Apply the new margins to the main content and footer
    .content-wrapper,
    .main-footer,
    .main-header {
      margin-left: $sidebar-mini-width !important;
    }
A
Abdullah Almsaeed 已提交
29

R
REJack 已提交
30 31 32 33
    // Make the sidebar headers
    .nav-sidebar .nav-header {
      display: none;
    }
A
Abdullah Almsaeed 已提交
34

R
REJack 已提交
35 36 37
    .nav-sidebar .nav-link p {
      width: 0;
    }
A
Abdullah Almsaeed 已提交
38

R
REJack 已提交
39 40 41 42
    .sidebar .user-panel > .info,
    .nav-sidebar .nav-link p,
    .brand-text {
      margin-left: -10px;
43 44
      opacity: 0;
      visibility: hidden;
R
REJack 已提交
45
    }
46

47 48 49 50 51 52 53 54 55 56 57
    .logo-xl {
      opacity: 0;
      visibility: hidden;
    }

    .logo-xs {
      display: inline-block;
      opacity: 1;
      visibility: visible;
    }

R
REJack 已提交
58 59
    // Modify the sidebar to shrink instead of disappearing
    .main-sidebar {
R
REJack 已提交
60 61
      overflow-x: hidden;

R
REJack 已提交
62
      &,
63
      &::before {
R
REJack 已提交
64 65 66
        // Don't go away! Just shrink
        margin-left: 0;
        width: $sidebar-mini-width;
A
Abdullah Almsaeed 已提交
67 68
      }

R
REJack 已提交
69 70 71
      .user-panel {
        .image {
          float: none;
A
Abdullah Almsaeed 已提交
72
        }
R
REJack 已提交
73
      }
A
Abdullah Almsaeed 已提交
74

75 76
      &:hover, 
      &.sidebar-focused {
R
REJack 已提交
77
        width: $sidebar-width;
78

A
Abdullah Almsaeed 已提交
79
        .user-panel {
R
REJack 已提交
80
          text-align: left;
81

A
Abdullah Almsaeed 已提交
82
          .image {
R
REJack 已提交
83
            float: left;
A
Abdullah Almsaeed 已提交
84 85
          }
        }
86

R
REJack 已提交
87 88
        .user-panel > .info,
        .nav-sidebar .nav-link p,
89 90
        .brand-text,
        .logo-xl {
R
REJack 已提交
91
          display: inline-block;
92 93 94
          margin-left: 0;
          opacity: 1;
          visibility: visible;
R
REJack 已提交
95
        }
A
Abdullah Almsaeed 已提交
96

97 98 99 100 101
        .logo-xs {
          opacity: 0;
          visibility: hidden;
        }

R
REJack 已提交
102 103 104
        .brand-image {
          margin-right: .5rem;
        }
105

R
REJack 已提交
106 107 108 109 110 111 112
        // Make the sidebar links, menus, labels, badges
        // and angle icons disappear
        .sidebar-form,
        .user-panel > .info {
          display: block !important;
          -webkit-transform: translateZ(0);
        }
A
Abdullah Almsaeed 已提交
113

R
REJack 已提交
114 115
        .nav-sidebar > .nav-item > .nav-link > span {
          display: inline-block !important;
A
Abdullah Almsaeed 已提交
116 117
        }
      }
R
REJack 已提交
118
    }
A
Abdullah Almsaeed 已提交
119

R
REJack 已提交
120 121 122
    // Make an element visible only when sidebar mini is active
    .visible-sidebar-mini {
      display: block !important;
A
Abdullah Almsaeed 已提交
123
    }
R
REJack 已提交
124 125 126 127 128 129 130 131 132 133 134 135 136 137

    .main-sidebar:hover {
      .brand-link {
        &.logo-switch {
          width: $sidebar-width;
        }
      }
    }

    .brand-link {
      &.logo-switch {
        width: $sidebar-mini-width;
      }
    }
A
Abdullah Almsaeed 已提交
138 139 140
  }
}

R
REJack 已提交
141

142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
// Logo style
.logo-xs,
.logo-xl {
  margin: 0;
  opacity: 1;
  position: absolute;
  visibility: visible;

  &.brand-image-xs {
    left: 18px;
    top: 12px;
  }

  &.brand-image-xl {
    left: 12px;
    top: 6px;
  }
}

.logo-xs {
  opacity: 0;
  visibility: hidden;

  &.brand-image-xl {
    left: 16px;
    top: 8px;
  }
}

.brand-link {
  &.logo-switch {
    &::before {
      content: '\00a0';
    }
  }
}

R
REJack 已提交
179 180 181
// Add sidebar-mini class to the body tag to activate this feature
.sidebar-mini {
  @include media-breakpoint-up(lg) {
182
    @include sidebar-mini-breakpoint;
R
REJack 已提交
183 184
  }
}
185

R
REJack 已提交
186 187
.sidebar-mini-md {
  @include media-breakpoint-up(md) {
188
    @include sidebar-mini-breakpoint;
R
REJack 已提交
189 190 191
  }
}

A
Abdullah Almsaeed 已提交
192 193
.nav-sidebar {
  position: relative;
194

A
Abdullah Almsaeed 已提交
195 196 197
  &:hover {
    overflow: visible;
  }
A
Abdullah Almsaeed 已提交
198 199 200
}

.sidebar-form,
A
Abdullah Almsaeed 已提交
201
.nav-sidebar > .nav-header {
A
Abdullah Almsaeed 已提交
202 203 204 205
  overflow: hidden;
  text-overflow: clip;
}

A
Abdullah Almsaeed 已提交
206
.nav-sidebar .nav-item > .nav-link {
A
Abdullah Almsaeed 已提交
207
  position: relative;
208

A
Abdullah Almsaeed 已提交
209
  > .float-right {
210
    margin-top: -7px;
A
Abdullah Almsaeed 已提交
211 212 213 214 215
    position: absolute;
    right: 10px;
    top: 50%;
  }
}
216

A
Abdullah Almsaeed 已提交
217 218
.sidebar .nav-link p,
.main-sidebar .brand-text,
219 220
.main-sidebar .logo-xs,
.main-sidebar .logo-xl,
A
Abdullah Almsaeed 已提交
221
.sidebar .user-panel .info {
222
  @include transition(margin-left $transition-speed linear, opacity $transition-speed ease, visibility $transition-speed ease)
223
}