left-menu.scss 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. :root {
  2. --left-menu-form-select-border: var(--border-primary);
  3. }
  4. @include theme('light') {
  5. --left-menu-form-select-border: var(--border-disabled);
  6. }
  7. .left-menu {
  8. position: absolute;
  9. top: 0;
  10. bottom: 0;
  11. background-color: var(--bg-light-secondary);
  12. z-index: 100;
  13. overflow: hidden auto;
  14. transition: left ease-in-out 0.5s;
  15. font-size: var(--font-size-02);
  16. width: 340px;
  17. &.shown {
  18. left: 0;
  19. }
  20. h4 {
  21. font-family: $font-family-sans-serif;
  22. font-weight: 400;
  23. font-size: var(--font-size-03);
  24. margin: var(--spacing-05) 0;
  25. padding-bottom: var(--spacing-03);
  26. color: var(--content-secondary);
  27. border-bottom: 1px solid var(--border-primary-dark);
  28. &:first-child {
  29. margin-top: 0;
  30. }
  31. }
  32. ul.nav {
  33. .left-menu-button {
  34. cursor: pointer;
  35. padding: var(--spacing-03);
  36. font-weight: 700;
  37. color: var(--link-ui);
  38. display: flex;
  39. align-items: center;
  40. width: 100%;
  41. background-color: inherit;
  42. border: none;
  43. text-decoration: none;
  44. .material-symbols {
  45. margin-right: var(--spacing-04);
  46. color: var(--neutral-70);
  47. }
  48. &:hover,
  49. &:active {
  50. background-color: var(--bg-info-01);
  51. color: var(--white);
  52. .material-symbols {
  53. color: var(--white);
  54. }
  55. }
  56. }
  57. a {
  58. cursor: pointer;
  59. &:hover,
  60. &:active,
  61. &:focus {
  62. background-color: var(--bg-info-01);
  63. color: var(--white);
  64. .material-symbols {
  65. color: var(--white);
  66. }
  67. }
  68. .material-symbols {
  69. color: var(--neutral-70);
  70. }
  71. padding: var(--spacing-03);
  72. font-weight: 700;
  73. }
  74. .link-disabled {
  75. color: var(--content-disabled);
  76. }
  77. }
  78. > ul.nav:last-child {
  79. margin-bottom: var(--spacing-05);
  80. }
  81. ul.nav-downloads {
  82. li {
  83. display: inline-block;
  84. text-align: center;
  85. width: 100px;
  86. a {
  87. color: var(--content-secondary);
  88. text-decoration: none;
  89. }
  90. .material-symbols {
  91. margin: var(--spacing-03) 0;
  92. }
  93. }
  94. }
  95. form.settings {
  96. label {
  97. font-weight: normal;
  98. color: var(--content-secondary);
  99. flex: 1 0 50%;
  100. margin-bottom: 0;
  101. padding-right: var(--spacing-03);
  102. white-space: nowrap;
  103. }
  104. button,
  105. select {
  106. width: 50%;
  107. margin: var(--spacing-04) 0;
  108. }
  109. }
  110. .left-menu-setting {
  111. padding: 0 var(--spacing-02);
  112. display: flex;
  113. flex-wrap: wrap;
  114. align-items: center;
  115. justify-content: center;
  116. border-bottom: 1px solid rgb(0 0 0 / 7%);
  117. margin-bottom: 0;
  118. height: 43px;
  119. &:first-child {
  120. margin-top: calc(var(--spacing-04) * -1);
  121. }
  122. &:last-child {
  123. border-bottom: 0;
  124. }
  125. &:hover,
  126. &:focus-within {
  127. background-color: var(--bg-info-01);
  128. label {
  129. color: var(--white);
  130. }
  131. }
  132. .form-select {
  133. border: 1px solid var(--left-menu-form-select-border);
  134. }
  135. }
  136. }
  137. #left-menu-mask {
  138. opacity: 0.4;
  139. background-color: #999;
  140. z-index: 99;
  141. transition: opacity 0.5s;
  142. position: absolute;
  143. inset: 0;
  144. }
  145. .left-menu-modal-backdrop {
  146. background-color: transparent;
  147. }
  148. .nav {
  149. margin-bottom: 0;
  150. padding-left: 0;
  151. list-style: none;
  152. display: block;
  153. > li {
  154. position: relative;
  155. display: block;
  156. > a {
  157. position: relative;
  158. display: block;
  159. padding: var(--spacing-04) var(--spacing-06);
  160. &:hover,
  161. &:focus {
  162. text-decoration: none;
  163. background-color: var(--bg-info-01);
  164. color: white;
  165. }
  166. }
  167. // Disabled state sets text to gray and nukes hover/tab effects
  168. &.disabled > a {
  169. color: var(--content-disabled);
  170. &:hover,
  171. &:focus {
  172. color: var(--content-disabled);
  173. text-decoration: none;
  174. background-color: transparent;
  175. cursor: not-allowed;
  176. }
  177. }
  178. }
  179. // Open dropdowns
  180. .open > a {
  181. &,
  182. &:hover,
  183. &:focus {
  184. background-color: var(--bg-info-01);
  185. border-color: var(--link-ui);
  186. }
  187. }
  188. }
  189. .loading-spinner-container {
  190. display: flex;
  191. align-items: center;
  192. justify-content: center;
  193. }
  194. .full-size-loading-spinner-container {
  195. width: 100%;
  196. height: 100%;
  197. display: flex;
  198. align-items: center;
  199. justify-content: center;
  200. }
  201. .reference-manager-search-group {
  202. width: '100%';
  203. border-radius: 0;
  204. text-align: left;
  205. .dropdown-menu {
  206. width: 100%;
  207. }
  208. }