Sidebar.module.scss 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. @use '@growi/core/scss/bootstrap/init' as bs;
  2. @use '~/styles/variables' as var;
  3. @use '~/styles/mixins';
  4. .grw-sidebar :global {
  5. top: 0;
  6. .sidebar-contents-container {
  7. backdrop-filter: blur(20px);
  8. }
  9. }
  10. // TODO: commonize reload button style
  11. .grw-sidebar :global {
  12. .grw-sidebar-content-header {
  13. .grw-btn-reload {
  14. font-size: 18px;
  15. }
  16. }
  17. }
  18. // Dock Mode
  19. .grw-sidebar {
  20. &:global {
  21. &.grw-sidebar-dock {
  22. position: sticky;
  23. }
  24. }
  25. }
  26. // Collapsed Mode
  27. .grw-sidebar {
  28. &:global {
  29. &.grw-sidebar-collapsed {
  30. position: sticky;
  31. .sidebar-contents-container {
  32. border-color: var(--bs-border-color);
  33. border-style: solid;
  34. border-width : 1px 1px 1px 0;
  35. }
  36. // open
  37. .sidebar-contents-container.open {
  38. position: absolute;
  39. left: var.$grw-sidebar-nav-width;
  40. min-height: 50vh;
  41. max-height: calc(100vh - var.$grw-sidebar-nav-width * 2);
  42. }
  43. }
  44. }
  45. }
  46. // Drawer Mode
  47. .grw-sidebar {
  48. &:global {
  49. &.grw-sidebar-drawer {
  50. position: fixed;
  51. z-index: bs.$zindex-fixed + 2;
  52. width: 348px;
  53. // apply transition
  54. transition-property: transform;
  55. @include mixins.apply-navigation-transition();
  56. &:not(.open) {
  57. transform: translateX(-100%);
  58. }
  59. &.open {
  60. transform: translateX(0);
  61. }
  62. }
  63. }
  64. }
  65. @include bs.color-mode(light) {
  66. .grw-sidebar :global {
  67. --bs-border-color: var(--grw-highlight-200);
  68. .sidebar-contents-container {
  69. background-color: rgba(var(--grw-highlight-100-rgb), .5);
  70. }
  71. }
  72. }
  73. @include bs.color-mode(dark) {
  74. .grw-sidebar :global {
  75. --bs-color: var(--bs-gray-400);
  76. --bs-border-color: var(--grw-highlight-800);
  77. .sidebar-contents-container {
  78. background-color: rgba(var(--grw-highlight-800-rgb), .5);
  79. }
  80. }
  81. }