_main-sidebar.scss 23 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177
  1. //
  2. // Component: Main Sidebar
  3. //
  4. .main-sidebar {
  5. height: 100vh;
  6. overflow-y: hidden;
  7. z-index: $zindex-main-sidebar;
  8. // Remove Firefox Focusring
  9. a {
  10. &:-moz-focusring {
  11. border: 0;
  12. outline: none;
  13. }
  14. }
  15. }
  16. .sidebar {
  17. height: calc(100% - (#{$main-header-height-inner} + #{$main-header-bottom-border-width}));
  18. overflow-x: none;
  19. overflow-y: initial;
  20. padding-bottom: $sidebar-padding-y;
  21. padding-left: $sidebar-padding-x;
  22. padding-right: $sidebar-padding-x;
  23. padding-top: $sidebar-padding-y;
  24. @include scrollbar-width-thin();
  25. }
  26. // Sidebar user panel
  27. .user-panel {
  28. position: relative;
  29. [class*="sidebar-dark"] & {
  30. border-bottom: 1px solid lighten($dark, 12%);
  31. }
  32. [class*="sidebar-light"] & {
  33. border-bottom: 1px solid $gray-300;
  34. }
  35. &,
  36. .info {
  37. overflow: hidden;
  38. white-space: nowrap;
  39. }
  40. .image {
  41. display: inline-block;
  42. padding-left: $nav-link-padding-x - .2;
  43. }
  44. img {
  45. height: auto;
  46. width: $sidebar-user-image-width;
  47. }
  48. .info {
  49. display: inline-block;
  50. padding: 5px 5px 5px 10px;
  51. }
  52. .status,
  53. .dropdown-menu {
  54. font-size: $font-size-sm;
  55. }
  56. }
  57. // Sidebar navigation menu
  58. .nav-sidebar {
  59. // All levels
  60. .nav-item {
  61. > .nav-link {
  62. margin-bottom: .2rem;
  63. .right {
  64. @include transition(transform $transition-fn $transition-speed);
  65. }
  66. }
  67. }
  68. .nav-link > .right,
  69. .nav-link > p > .right {
  70. position: absolute;
  71. right: 1rem;
  72. top: .7rem;
  73. i,
  74. span {
  75. margin-left: .5rem;
  76. }
  77. &:nth-child(2) {
  78. right: 2.2rem;
  79. }
  80. }
  81. .menu-open {
  82. > .nav-treeview {
  83. display: block;
  84. }
  85. }
  86. .menu-open,
  87. .menu-is-opening {
  88. > .nav-link {
  89. svg.right,
  90. i.right {
  91. @include rotate(-90deg);
  92. }
  93. }
  94. }
  95. // First Level
  96. > .nav-item {
  97. margin-bottom: 0;
  98. .nav-icon {
  99. margin-left: .05rem;
  100. font-size: 1.2rem;
  101. margin-right: .2rem;
  102. text-align: center;
  103. width: $sidebar-nav-icon-width;
  104. &.fa,
  105. &.fas,
  106. &.far,
  107. &.fab,
  108. &.fal,
  109. &.fad,
  110. &.svg-inline--fa,
  111. &.ion {
  112. font-size: 1.1rem;
  113. }
  114. }
  115. .float-right {
  116. margin-top: 3px;
  117. }
  118. }
  119. // Tree view menu
  120. .nav-treeview {
  121. display: none;
  122. list-style: none;
  123. padding: 0;
  124. > .nav-item {
  125. > .nav-link {
  126. > .nav-icon {
  127. width: $sidebar-nav-icon-width;
  128. }
  129. }
  130. }
  131. }
  132. &.nav-child-indent {
  133. .nav-treeview {
  134. transition: padding $transition-speed $transition-fn;
  135. padding-left: 1rem;
  136. .text-sm & {
  137. padding-left: .5rem;
  138. }
  139. }
  140. &.nav-legacy {
  141. .nav-treeview {
  142. .nav-treeview {
  143. padding-left: 2rem;
  144. margin-left: -1rem;
  145. .text-sm & {
  146. padding-left: 1rem;
  147. margin-left: -.5rem;
  148. }
  149. }
  150. }
  151. }
  152. }
  153. .nav-header {
  154. font-size: .9rem;
  155. padding: $nav-link-padding-y ($nav-link-padding-y * 1.5);
  156. }
  157. .nav-link p {
  158. display: inline;
  159. margin: 0;
  160. white-space: normal;
  161. }
  162. }
  163. .sidebar-is-opening .nav-sidebar {
  164. .nav-link p {
  165. animation-name: fadeIn;
  166. animation-duration: $transition-speed;
  167. animation-fill-mode: both;
  168. }
  169. }
  170. #sidebar-overlay {
  171. @include media-breakpoint-down(md) {
  172. .sidebar-open & {
  173. display: block;
  174. }
  175. }
  176. background-color: rgba($black, .1);
  177. bottom: 0;
  178. display: none;
  179. left: 0;
  180. position: fixed;
  181. right: 0;
  182. top: 0;
  183. z-index: $zindex-main-sidebar - 1;
  184. }
  185. [class*="sidebar-light-"] {
  186. // Sidebar background color
  187. background-color: $sidebar-light-bg;
  188. // User Panel (resides in the sidebar)
  189. .user-panel {
  190. a:hover {
  191. color: $sidebar-light-hover-color;
  192. }
  193. .status {
  194. background-color: $sidebar-light-hover-bg;
  195. color: $sidebar-light-color;
  196. &:hover,
  197. &:focus,
  198. &:active {
  199. background-color: darken($sidebar-light-hover-bg, 3%);
  200. color: $sidebar-light-hover-color;
  201. }
  202. }
  203. .dropdown-menu {
  204. @include box-shadow(0 2px 4px rgba(0, 0, 0, .4));
  205. border-color: darken($sidebar-light-hover-bg, 5%);
  206. }
  207. .dropdown-item {
  208. color: $body-color;
  209. }
  210. }
  211. // Sidebar Menu. First level links
  212. .nav-sidebar > .nav-item {
  213. // links
  214. > .nav-link {
  215. // border-left: 3px solid transparent;
  216. &:active,
  217. &:focus {
  218. color: $sidebar-light-color;
  219. }
  220. }
  221. // Hover and active states
  222. &.menu-open > .nav-link,
  223. &:hover > .nav-link {
  224. background-color: $sidebar-light-hover-bg;
  225. color: $sidebar-light-hover-color;
  226. }
  227. > .nav-link.active {
  228. color: $sidebar-light-active-color;
  229. @if $enable-shadows {
  230. box-shadow: map-get($elevations, 1);
  231. }
  232. }
  233. // First Level Submenu
  234. > .nav-treeview {
  235. background-color: $sidebar-light-submenu-bg;
  236. }
  237. }
  238. // Section Heading
  239. .nav-header {
  240. background-color: inherit;
  241. color: darken($sidebar-light-color, 5%);
  242. }
  243. // All links within the sidebar menu
  244. .sidebar {
  245. a {
  246. color: $sidebar-light-color;
  247. &:hover {
  248. text-decoration: none;
  249. }
  250. }
  251. }
  252. // All submenus
  253. .nav-treeview {
  254. > .nav-item {
  255. > .nav-link {
  256. color: $sidebar-light-submenu-color;
  257. &:hover,
  258. &:focus {
  259. background-color: $sidebar-light-submenu-hover-bg;
  260. color: $sidebar-light-submenu-hover-color;
  261. }
  262. }
  263. > .nav-link.active {
  264. &,
  265. &:hover {
  266. background-color: $sidebar-light-submenu-active-bg;
  267. color: $sidebar-light-submenu-active-color;
  268. }
  269. }
  270. > .nav-link:hover {
  271. background-color: $sidebar-light-submenu-hover-bg;
  272. }
  273. }
  274. }
  275. // Flat style
  276. .nav-flat {
  277. .nav-item {
  278. .nav-treeview {
  279. .nav-treeview {
  280. border-color: $sidebar-light-submenu-active-bg;
  281. }
  282. > .nav-item {
  283. > .nav-link {
  284. &,
  285. &.active {
  286. border-color: $sidebar-light-submenu-active-bg;
  287. }
  288. }
  289. }
  290. }
  291. }
  292. }
  293. }
  294. [class*="sidebar-dark-"] {
  295. // Sidebar background color
  296. background-color: $sidebar-dark-bg;
  297. // User Panel (resides in the sidebar)
  298. .user-panel {
  299. a:hover {
  300. color: $sidebar-dark-hover-color;
  301. }
  302. .status {
  303. background-color: $sidebar-dark-hover-bg;
  304. color: $sidebar-dark-color;
  305. &:hover,
  306. &:focus,
  307. &:active {
  308. background-color: darken($sidebar-dark-hover-bg, 3%);
  309. color: $sidebar-dark-hover-color;
  310. }
  311. }
  312. .dropdown-menu {
  313. @include box-shadow(0 2px 4px rgba(0, 0, 0, .4));
  314. border-color: darken($sidebar-dark-hover-bg, 5%);
  315. }
  316. .dropdown-item {
  317. color: $body-color;
  318. }
  319. }
  320. // Sidebar Menu. First level links
  321. .nav-sidebar > .nav-item {
  322. // links
  323. > .nav-link {
  324. // border-left: 3px solid transparent;
  325. &:active {
  326. color: $sidebar-dark-color;
  327. }
  328. }
  329. // Hover and active states
  330. &.menu-open > .nav-link,
  331. &:hover > .nav-link,
  332. > .nav-link:focus {
  333. background-color: $sidebar-dark-hover-bg;
  334. color: $sidebar-dark-hover-color;
  335. }
  336. > .nav-link.active {
  337. color: $sidebar-dark-hover-color;
  338. @if $enable-shadows {
  339. box-shadow: map-get($elevations, 1);
  340. }
  341. }
  342. // First Level Submenu
  343. > .nav-treeview {
  344. background-color: $sidebar-dark-submenu-bg;
  345. }
  346. }
  347. // Section Heading
  348. .nav-header {
  349. background-color: inherit; //darken($sidebar-dark-bg, 3%);
  350. color: lighten($sidebar-dark-color, 5%);
  351. }
  352. // All links within the sidebar menu
  353. .sidebar {
  354. a {
  355. color: $sidebar-dark-color;
  356. &:hover,
  357. &:focus {
  358. text-decoration: none;
  359. }
  360. }
  361. }
  362. // All submenus
  363. .nav-treeview {
  364. > .nav-item {
  365. > .nav-link {
  366. color: $sidebar-dark-submenu-color;
  367. &:hover,
  368. &:focus {
  369. background-color: $sidebar-dark-submenu-hover-bg;
  370. color: $sidebar-dark-submenu-hover-color;
  371. }
  372. }
  373. > .nav-link.active {
  374. &,
  375. &:hover,
  376. &:focus {
  377. background-color: $sidebar-dark-submenu-active-bg;
  378. color: $sidebar-dark-submenu-active-color;
  379. }
  380. }
  381. }
  382. }
  383. // Flat Style
  384. .nav-flat {
  385. .nav-item {
  386. .nav-treeview {
  387. .nav-treeview {
  388. border-color: $sidebar-dark-submenu-active-bg;
  389. }
  390. > .nav-item {
  391. > .nav-link {
  392. &,
  393. &.active {
  394. border-color: $sidebar-dark-submenu-active-bg;
  395. }
  396. }
  397. }
  398. }
  399. }
  400. }
  401. }
  402. // Sidebar variants
  403. @each $name, $color in $theme-colors {
  404. .sidebar-dark-#{$name},
  405. .sidebar-light-#{$name} {
  406. @include sidebar-color($color);
  407. }
  408. }
  409. @each $name, $color in $colors {
  410. .sidebar-dark-#{$name},
  411. .sidebar-light-#{$name} {
  412. @include sidebar-color($color);
  413. }
  414. }
  415. .sidebar-mini .main-sidebar:not(.sidebar-no-expand),
  416. .sidebar-mini-md .main-sidebar:not(.sidebar-no-expand),
  417. .sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand),
  418. .sidebar-mini .main-sidebar:not(.sidebar-no-expand):hover,
  419. .sidebar-mini-md .main-sidebar:not(.sidebar-no-expand):hover,
  420. .sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand):hover,
  421. .sidebar-mini .main-sidebar.sidebar-focused,
  422. .sidebar-mini-md .main-sidebar.sidebar-focused,
  423. .sidebar-mini-xs .main-sidebar.sidebar-focused {
  424. .nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview {
  425. padding-left: 1rem;
  426. margin-left: -.5rem;
  427. }
  428. }
  429. // Nav Flat
  430. .nav-flat {
  431. margin: (-$sidebar-padding-x / 2) (-$sidebar-padding-x) 0;
  432. .nav-item {
  433. > .nav-link {
  434. border-radius: 0;
  435. margin-bottom: 0;
  436. > .nav-icon {
  437. margin-left: .55rem;
  438. }
  439. }
  440. }
  441. &:not(.nav-child-indent) {
  442. .nav-treeview {
  443. .nav-item {
  444. > .nav-link {
  445. > .nav-icon {
  446. margin-left: .4rem;
  447. }
  448. }
  449. }
  450. }
  451. }
  452. &.nav-child-indent {
  453. .nav-treeview {
  454. padding-left: 0;
  455. .nav-icon {
  456. margin-left: .85rem;
  457. }
  458. .nav-treeview {
  459. border-left: .2rem solid;
  460. .nav-icon {
  461. margin-left: 1.15rem;
  462. }
  463. .nav-treeview {
  464. .nav-icon {
  465. margin-left: 1.45rem;
  466. }
  467. .nav-treeview {
  468. .nav-icon {
  469. margin-left: 1.75rem;
  470. }
  471. .nav-treeview {
  472. .nav-icon {
  473. margin-left: 2.05rem;
  474. }
  475. }
  476. }
  477. }
  478. }
  479. }
  480. }
  481. .sidebar-collapse &.nav-child-indent {
  482. .nav-treeview {
  483. .nav-icon {
  484. margin-left: .55rem;
  485. }
  486. .nav-link {
  487. padding-left: calc(#{$nav-link-padding-x} - .2rem);
  488. }
  489. .nav-treeview {
  490. .nav-icon {
  491. margin-left: .35rem;
  492. }
  493. .nav-treeview {
  494. .nav-icon {
  495. margin-left: .15rem;
  496. }
  497. .nav-treeview {
  498. .nav-icon {
  499. margin-left: -.15rem;
  500. }
  501. .nav-treeview {
  502. .nav-icon {
  503. margin-left: -.35rem;
  504. }
  505. }
  506. }
  507. }
  508. }
  509. }
  510. }
  511. .sidebar-mini .main-sidebar:not(.sidebar-no-expand):hover &,
  512. .sidebar-mini-md .main-sidebar:not(.sidebar-no-expand):hover &,
  513. .sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand):hover &,
  514. .sidebar-mini .main-sidebar.sidebar-focused &,
  515. .sidebar-mini-md .main-sidebar.sidebar-focused &,
  516. .sidebar-mini-xs .main-sidebar.sidebar-focused & {
  517. &.nav-compact.nav-sidebar .nav-treeview {
  518. .nav-icon {
  519. margin-left: .4rem;
  520. }
  521. }
  522. &.nav-sidebar.nav-child-indent .nav-treeview {
  523. .nav-icon {
  524. margin-left: .85rem;
  525. }
  526. .nav-treeview {
  527. .nav-icon {
  528. margin-left: 1.15rem;
  529. }
  530. .nav-treeview {
  531. .nav-icon {
  532. margin-left: 1.45rem;
  533. }
  534. .nav-treeview {
  535. .nav-icon {
  536. margin-left: 1.75rem;
  537. }
  538. .nav-treeview {
  539. .nav-icon {
  540. margin-left: 2.05rem;
  541. }
  542. }
  543. }
  544. }
  545. }
  546. }
  547. }
  548. .nav-icon {
  549. @include transition(margin-left $transition-fn $transition-speed);
  550. }
  551. .nav-treeview {
  552. .nav-icon {
  553. margin-left: -.2rem;
  554. }
  555. }
  556. &.nav-sidebar > .nav-item {
  557. .nav-treeview,
  558. > .nav-treeview {
  559. background-color: rgba($white, .05);
  560. .nav-item {
  561. > .nav-link {
  562. border-left: .2rem solid;
  563. }
  564. }
  565. }
  566. }
  567. }
  568. .nav-legacy {
  569. margin: (-$sidebar-padding-x / 2) (-$sidebar-padding-x) 0;
  570. &.nav-sidebar .nav-item {
  571. > .nav-link {
  572. border-radius: 0;
  573. margin-bottom: 0;
  574. > .nav-icon {
  575. margin-left: .55rem;
  576. .text-sm & {
  577. margin-left: .75rem;
  578. }
  579. }
  580. }
  581. }
  582. &.nav-sidebar > .nav-item {
  583. > .nav-link {
  584. &.active {
  585. background-color: inherit;
  586. border-left: 3px solid transparent;
  587. box-shadow: none;
  588. > .nav-icon {
  589. margin-left: calc(.55rem - 3px);
  590. .text-sm & {
  591. margin-left: calc(.75rem - 3px);
  592. }
  593. }
  594. }
  595. }
  596. }
  597. .text-sm &.nav-sidebar.nav-flat .nav-treeview {
  598. .nav-item {
  599. > .nav-link {
  600. > .nav-icon {
  601. margin-left: calc(.75rem - 3px);
  602. }
  603. }
  604. }
  605. }
  606. .sidebar-mini &,
  607. .sidebar-mini-md &,
  608. .sidebar-mini-xs & {
  609. > .nav-item .nav-link {
  610. .nav-icon {
  611. @include transition(margin-left $transition-fn $transition-speed);
  612. margin-left: .6rem;
  613. }
  614. }
  615. }
  616. .sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused &.nav-child-indent,
  617. .sidebar-mini.sidebar-collapse .main-sidebar:hover &.nav-child-indent,
  618. .sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused &.nav-child-indent,
  619. .sidebar-mini-md.sidebar-collapse .main-sidebar:hover &.nav-child-indent,
  620. .sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused &.nav-child-indent,
  621. .sidebar-mini-xs.sidebar-collapse .main-sidebar:hover &.nav-child-indent {
  622. .nav-treeview {
  623. padding-left: 1rem;
  624. .nav-treeview {
  625. padding-left: 2rem;
  626. margin-left: -1rem;
  627. }
  628. }
  629. }
  630. .sidebar-mini.sidebar-collapse.text-sm .main-sidebar.sidebar-focused &.nav-child-indent,
  631. .sidebar-mini.sidebar-collapse.text-sm .main-sidebar:hover &.nav-child-indent,
  632. .sidebar-mini-md.sidebar-collapse.text-sm .main-sidebar.sidebar-focused &.nav-child-indent,
  633. .sidebar-mini-md.sidebar-collapse.text-sm .main-sidebar:hover &.nav-child-indent,
  634. .sidebar-mini-xs.sidebar-collapse.text-sm .main-sidebar.sidebar-focused &.nav-child-indent,
  635. .sidebar-mini-xs.sidebar-collapse.text-sm .main-sidebar:hover &.nav-child-indent {
  636. .nav-treeview {
  637. padding-left: .5rem;
  638. .nav-treeview {
  639. padding-left: 1rem;
  640. margin-left: -.5rem;
  641. }
  642. }
  643. }
  644. .sidebar-mini.sidebar-collapse &,
  645. .sidebar-mini-md.sidebar-collapse &,
  646. .sidebar-mini-xs.sidebar-collapse & {
  647. > .nav-item > .nav-link {
  648. .nav-icon {
  649. margin-left: .55rem;
  650. }
  651. &.active {
  652. > .nav-icon{
  653. margin-left: .36rem;
  654. }
  655. }
  656. }
  657. &.nav-child-indent {
  658. .nav-treeview {
  659. .nav-treeview {
  660. padding-left: 0;
  661. margin-left: 0;
  662. }
  663. }
  664. }
  665. }
  666. .sidebar-mini.sidebar-collapse.text-sm &,
  667. .sidebar-mini-md.sidebar-collapse.text-sm &,
  668. .sidebar-mini-xs.sidebar-collapse.text-sm & {
  669. > .nav-item > .nav-link {
  670. .nav-icon {
  671. margin-left: .75rem;
  672. }
  673. &.active {
  674. > .nav-icon{
  675. margin-left: calc(.75rem - 3px);
  676. }
  677. }
  678. }
  679. }
  680. [class*="sidebar-dark"] & {
  681. &.nav-sidebar > .nav-item {
  682. .nav-treeview,
  683. > .nav-treeview {
  684. background-color: rgba($white, .05);
  685. }
  686. > .nav-link.active {
  687. color: $sidebar-dark-active-color;
  688. }
  689. }
  690. .nav-treeview > .nav-item > .nav-link {
  691. &.active,
  692. &:focus,
  693. &:hover {
  694. background-color: transparent;
  695. color: $sidebar-dark-active-color;
  696. }
  697. }
  698. }
  699. [class*="sidebar-light"] & {
  700. &.nav-sidebar > .nav-item {
  701. .nav-treeview,
  702. > .nav-treeview {
  703. background-color: rgba($black, .05);
  704. }
  705. > .nav-link.active {
  706. color: $sidebar-light-active-color;
  707. }
  708. }
  709. .nav-treeview > .nav-item > .nav-link {
  710. &.active,
  711. &:focus,
  712. &:hover {
  713. background-color: transparent;
  714. color: $sidebar-light-active-color;
  715. }
  716. }
  717. }
  718. }
  719. .nav-collapse-hide-child {
  720. .menu-open > .nav-treeview {
  721. max-height: min-content;
  722. animation-name: fadeIn;
  723. animation-duration: $transition-speed;
  724. animation-fill-mode: both;
  725. }
  726. .sidebar-collapse & {
  727. .menu-open > .nav-treeview {
  728. max-height: 0;
  729. animation-name: fadeOut;
  730. animation-duration: $transition-speed;
  731. animation-fill-mode: both;
  732. }
  733. }
  734. .sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused &,
  735. .sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover &,
  736. .sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused &,
  737. .sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover &,
  738. .sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused &,
  739. .sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover & {
  740. .menu-open > .nav-treeview {
  741. max-height: min-content;
  742. animation-name: fadeIn;
  743. animation-duration: $transition-speed;
  744. animation-fill-mode: both;
  745. }
  746. }
  747. }
  748. // Nav Compact
  749. .nav-compact {
  750. .nav-link,
  751. .nav-header {
  752. padding-top: ($nav-link-padding-y / 2);
  753. padding-bottom: ($nav-link-padding-y / 2);
  754. }
  755. .nav-header:not(:first-of-type) {
  756. padding-top: ($nav-link-padding-y * 1.5);
  757. padding-bottom: ($nav-link-padding-y / 2);
  758. }
  759. .nav-link > .right,
  760. .nav-link > p > .right {
  761. top: .465rem;
  762. }
  763. .text-sm & {
  764. .nav-link > .right,
  765. .nav-link > p > .right {
  766. top: .7rem;
  767. }
  768. }
  769. }
  770. // Sidebar Form Control
  771. [class*="sidebar-dark"] {
  772. .form-control-sidebar,
  773. .btn-sidebar {
  774. background-color: lighten($sidebar-dark-bg, 5%);
  775. border: 1px solid lighten($sidebar-dark-bg, 15%);
  776. color: lighten(color-yiq(lighten($sidebar-dark-bg, 5%)), 15%);
  777. }
  778. .form-control-sidebar:focus,
  779. .btn-sidebar:focus {
  780. border: 1px solid lighten($sidebar-dark-bg, 30%);
  781. }
  782. .btn-sidebar:hover {
  783. background-color: lighten($sidebar-dark-bg, 7.5%);
  784. }
  785. .btn-sidebar:focus {
  786. background-color: lighten($sidebar-dark-bg, 10%);
  787. }
  788. .list-group-item {
  789. background-color: lighten($sidebar-dark-bg, 7.5%);
  790. border-color: lighten($sidebar-dark-bg, 15%);
  791. color: $sidebar-dark-color;
  792. &:hover {
  793. background-color: lighten($sidebar-dark-bg, 10%);
  794. }
  795. &:focus {
  796. background-color: lighten($sidebar-dark-bg, 12.5%);
  797. }
  798. .search-path {
  799. color: $gray-500;
  800. }
  801. }
  802. }
  803. [class*="sidebar-light"] {
  804. .form-control-sidebar,
  805. .btn-sidebar {
  806. background-color: darken($sidebar-light-bg, 5%);
  807. border: 1px solid darken($sidebar-light-bg, 15%);
  808. color: color-yiq(darken($sidebar-light-bg, 5%));
  809. }
  810. .form-control-sidebar:focus,
  811. .btn-sidebar:focus {
  812. border: 1px solid darken($sidebar-light-bg, 30%);
  813. }
  814. .btn-sidebar:hover {
  815. background-color: darken($sidebar-light-bg, 7.5%);
  816. }
  817. .btn-sidebar:focus {
  818. background-color: darken($sidebar-light-bg, 10%);
  819. }
  820. .list-group-item {
  821. border-color: darken($sidebar-light-bg, 15%);
  822. &:hover {
  823. background-color: darken($sidebar-light-bg, 7.5%);
  824. }
  825. &:focus {
  826. background-color: darken($sidebar-light-bg, 10%);
  827. }
  828. .search-path {
  829. color: $gray-600;
  830. }
  831. }
  832. }
  833. // Sidebar inline input-group fix
  834. .sidebar .form-inline .input-group {
  835. width: 100%;
  836. flex-wrap: nowrap;
  837. }
  838. .sidebar nav .form-inline {
  839. margin-bottom: .2rem;
  840. }
  841. // Sidebar Collapse on Layout Boxed
  842. .layout-boxed:not(.sidebar-mini):not(.sidebar-mini-md):not(.sidebar-mini-xs) {
  843. &.sidebar-collapse .main-sidebar {
  844. margin-left: 0;
  845. }
  846. .content-wrapper,
  847. .main-header,
  848. .main-footer {
  849. z-index: 9999;
  850. position: relative;
  851. }
  852. }
  853. // Sidebar Search
  854. .sidebar-collapse {
  855. .form-control-sidebar,
  856. .form-control-sidebar ~ .input-group-append,
  857. .sidebar-search-results {
  858. display: none;
  859. }
  860. }
  861. [data-widget="sidebar-search"] {
  862. input[type="search"] {
  863. &::-ms-clear,
  864. &::-ms-reveal {
  865. display: none;
  866. width: 0;
  867. height: 0;
  868. }
  869. &::-webkit-search-cancel-button,
  870. &::-webkit-search-decoration,
  871. &::-webkit-search-results-button,
  872. &::-webkit-search-results-decoration {
  873. display: none;
  874. }
  875. }
  876. }
  877. .sidebar-search-results {
  878. position: relative;
  879. display: none;
  880. width: 100%;
  881. .sidebar-search-open & {
  882. display: inline-block;
  883. }
  884. .search-title {
  885. margin-bottom: -.1rem;
  886. }
  887. .list-group {
  888. position: absolute;
  889. width: 100%;
  890. z-index: $zindex-main-sidebar + 1;
  891. > .list-group-item {
  892. padding: $input-padding-y $input-padding-x;
  893. &:-moz-focusring {
  894. margin-top: 0;
  895. border-left: 1px solid transparent;
  896. border-top: 0;
  897. border-bottom: 1px solid transparent;
  898. }
  899. &:first-child {
  900. margin-top: 0;
  901. border-top: 0;
  902. @include border-top-radius(0);
  903. }
  904. }
  905. }
  906. }
  907. .sidebar-search-results .search-path {
  908. font-size: $small-font-size;
  909. }
  910. .sidebar-search-open {
  911. .btn,
  912. .form-control {
  913. @include border-bottom-radius(0);
  914. }
  915. }
  916. // Custom Area
  917. .sidebar-custom {
  918. [class*="sidebar-dark"] & {
  919. border-top: 1px solid lighten($dark, 12%);
  920. }
  921. [class*="sidebar-light"] & {
  922. border-top: 1px solid $gray-300;
  923. }
  924. }
  925. .layout-fixed {
  926. &.sidebar-collapse {
  927. .hide-on-collapse {
  928. display: none;
  929. }
  930. }
  931. &.sidebar-collapse:hover {
  932. .hide-on-collapse {
  933. display: block;
  934. }
  935. }
  936. .main-sidebar-custom {
  937. .sidebar {
  938. height: calc(100% - ((#{$main-header-height-inner} + #{$sidebar-custom-height}) + #{$main-header-bottom-border-width}));
  939. }
  940. .sidebar-custom {
  941. height: $sidebar-custom-height;
  942. padding: $sidebar-custom-padding-x $sidebar-custom-padding-y;
  943. }
  944. }
  945. .main-sidebar-custom-lg {
  946. .sidebar {
  947. height: calc(100% - ((#{$main-header-height-inner} + #{$sidebar-custom-height-lg}) + #{$main-header-bottom-border-width}));
  948. }
  949. .sidebar-custom {
  950. height: $sidebar-custom-height-lg;
  951. }
  952. }
  953. .main-sidebar-custom-xl {
  954. .sidebar {
  955. height: calc(100% - ((#{$main-header-height-inner} + #{$sidebar-custom-height-xl}) + #{$main-header-bottom-border-width}));
  956. }
  957. .sidebar-custom {
  958. height: $sidebar-custom-height-xl;
  959. }
  960. }
  961. .main-sidebar-custom,
  962. .main-sidebar-custom-lg,
  963. .main-sidebar-custom-xl {
  964. .pos-right {
  965. position: absolute;
  966. right: .5rem;
  967. }
  968. }
  969. }
  970. .dark-mode {
  971. @each $name, $color in $theme-colors-alt {
  972. .sidebar-dark-#{$name},
  973. .sidebar-light-#{$name} {
  974. @include sidebar-color($color);
  975. }
  976. }
  977. @each $name, $color in $colors-alt {
  978. .sidebar-dark-#{$name},
  979. .sidebar-light-#{$name} {
  980. @include sidebar-color($color);
  981. }
  982. }
  983. [class*="sidebar-light-"] {
  984. .sidebar {
  985. a {
  986. color: $sidebar-light-color;
  987. &:hover {
  988. text-decoration: none;
  989. }
  990. }
  991. }
  992. }
  993. }
  994. //