You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

178 lines
4.0 KiB

3 years ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
  1. //
  2. // Sidebar
  3. // --------------------------------------------------
  4. // Mini Sidebar display helper classes
  5. .smini-visible,
  6. .smini-visible-block {
  7. display: none;
  8. }
  9. .smini-show {
  10. opacity: 0;
  11. }
  12. .smini-show,
  13. .smini-hide {
  14. transition: opacity $side-transition;
  15. }
  16. #sidebar {
  17. position: fixed;
  18. top: 0;
  19. bottom: 0;
  20. left: 0;
  21. z-index: $zindex-sidebar;
  22. width: 100%;
  23. height: 100%;
  24. overflow-y: visible;
  25. background-color: $sidebar-bg;
  26. transform: translateX(-100%) translateY(0) translateZ(0);
  27. -webkit-overflow-scrolling: touch;
  28. will-change: transform;
  29. .side-trans-enabled & {
  30. transition: transform $side-transition;
  31. }
  32. &.with-mini-nav {
  33. padding-left: $sidebar-mini-nav-width;
  34. .sidebar-mini-nav {
  35. position: absolute;
  36. top: 0;
  37. bottom: 0;
  38. left: 0;
  39. width: $sidebar-mini-nav-width;
  40. display: flex;
  41. flex-direction: column;
  42. justify-content: space-between;
  43. align-items: center;
  44. color: $body-color-light;
  45. background-color: lighten($sidebar-dark-bg, 3%);
  46. }
  47. }
  48. .sidebar-r & {
  49. right: 0;
  50. left: auto;
  51. transform: translateX(100%) translateY(0) translateZ(0);
  52. &.with-mini-nav {
  53. padding-right: $sidebar-mini-nav-width;
  54. padding-left: 0;
  55. }
  56. .sidebar-mini-nav {
  57. left: auto;
  58. right: 0;
  59. }
  60. }
  61. .js-sidebar-scroll {
  62. height: calc(100% - #{$header-height});
  63. overflow-y: auto;
  64. &.full-height {
  65. height: 100%;
  66. }
  67. }
  68. @include media-breakpoint-down(lg) {
  69. .sidebar-o-xs & {
  70. transform: translateX(0) translateY(0) translateZ(0);
  71. }
  72. }
  73. @include media-breakpoint-up(lg) {
  74. width: $sidebar-width;
  75. .sidebar-o & {
  76. transform: translateX(0) translateY(0) translateZ(0);
  77. }
  78. // Mini Sidebar
  79. .sidebar-mini.sidebar-o & {
  80. overflow-x: hidden;
  81. transform: translateX(-($sidebar-width - $sidebar-mini-width)) translateY(0) translateZ(0);
  82. transition: transform $side-transition;
  83. }
  84. .sidebar-mini.sidebar-o.sidebar-r & {
  85. transform: translateX($sidebar-width - $sidebar-mini-width) translateY(0) translateZ(0);
  86. }
  87. .sidebar-mini.sidebar-o & .content-side,
  88. .sidebar-mini.sidebar-o & .content-header {
  89. width: $sidebar-width;
  90. transform: translateX(($sidebar-width - $sidebar-mini-width)) translateY(0) translateZ(0);
  91. transition: transform $side-transition;
  92. will-change: transform;
  93. }
  94. .sidebar-mini.sidebar-o & .content-header {
  95. // Small fix for correct visibility of dropdown menu when hovering over sidebar mini and it is open
  96. position: relative;
  97. z-index: 1;
  98. }
  99. .sidebar-mini.sidebar-o &:hover,
  100. .sidebar-mini.sidebar-o &:hover .content-side,
  101. .sidebar-mini.sidebar-o.sidebar-r & .content-side,
  102. .sidebar-mini.sidebar-o &:hover .content-header,
  103. .sidebar-mini.sidebar-o.sidebar-r & .content-header {
  104. transform: translateX(0);
  105. }
  106. // Mini Mode
  107. .sidebar-mini.sidebar-o & {
  108. // Main navigation
  109. .nav-main {
  110. &,
  111. .nav-main-link-icon {
  112. transition: transform $side-transition;
  113. }
  114. .nav-main-heading,
  115. .nav-main-link-name,
  116. .nav-main-link-badge {
  117. transition: opacity $side-transition;
  118. }
  119. }
  120. }
  121. // Mini Mode (styles do not apply on hover)
  122. .sidebar-mini.sidebar-o &:not(:hover) {
  123. // Display helper classes
  124. .smini-hide { opacity: 0; }
  125. .smini-show { opacity: 1; }
  126. .smini-hidden { display: none; }
  127. .smini-visible { display: inline-block; }
  128. .smini-visible-block { display: block; }
  129. // Main navigation
  130. .nav-main {
  131. transform: translateX(-$space-side);
  132. .nav-main-link-icon {
  133. transform: translateX(.75rem);
  134. }
  135. .nav-main-heading,
  136. .nav-main-link-name,
  137. .nav-main-link-badge {
  138. opacity: 0;
  139. }
  140. .nav-main-link.active,
  141. .nav-main-item.open > .nav-main-link-submenu {
  142. border-radius: 0;
  143. }
  144. > .nav-main-item > .nav-main-submenu { display: none; }
  145. }
  146. }
  147. }
  148. }