sidepanel.css 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. /*-----------------------------------------------------------------------------
  2. | Copyright (c) Jupyter Development Team.
  3. | Distributed under the terms of the Modified BSD License.
  4. |----------------------------------------------------------------------------*/
  5. /*-----------------------------------------------------------------------------
  6. | Variables
  7. |----------------------------------------------------------------------------*/
  8. :root {
  9. --jp-private-sidebar-tab-width: 32px;
  10. }
  11. /*-----------------------------------------------------------------------------
  12. | SideBar
  13. |----------------------------------------------------------------------------*/
  14. .jp-SideBar {
  15. /* This is needed so that all font sizing of children done in ems is
  16. * relative to this base size */
  17. font-size: var(--jp-ui-font-size1);
  18. }
  19. .jp-SideBar.lm-TabBar {
  20. color: var(--jp-ui-font-color1);
  21. background: var(--jp-layout-color2);
  22. font-size: var(--jp-ui-font-size1);
  23. min-width: calc(var(--jp-private-sidebar-tab-width) + var(--jp-border-width));
  24. max-width: calc(var(--jp-private-sidebar-tab-width) + var(--jp-border-width));
  25. overflow: visible;
  26. display: block;
  27. }
  28. .jp-SideBar .lm-TabBar-content,
  29. .jp-SideBar .lm-TabBar-content {
  30. margin: 0;
  31. padding: 0;
  32. display: flex;
  33. align-items: stretch;
  34. list-style-type: none;
  35. height: var(--jp-private-sidebar-tab-width);
  36. transform-origin: 0 0 0;
  37. }
  38. .jp-SideBar .lm-TabBar-tab {
  39. padding: 0 16px;
  40. border: none;
  41. overflow: visible;
  42. }
  43. .jp-SideBar .lm-TabBar-tab.lm-mod-current {
  44. min-height: calc(
  45. var(--jp-private-sidebar-tab-width) + var(--jp-border-width)
  46. );
  47. max-height: calc(
  48. var(--jp-private-sidebar-tab-width) + var(--jp-border-width)
  49. );
  50. /* transform: translateY(var(--jp-border-width)); */
  51. }
  52. .jp-SideBar .lm-TabBar-tab:not(.lm-mod-current) {
  53. background: var(--jp-layout-color2);
  54. }
  55. .jp-SideBar .lm-TabBar-tabIcon.jp-SideBar-tabIcon {
  56. min-width: 20px;
  57. min-height: 20px;
  58. background-size: 20px;
  59. display: inline-block;
  60. vertical-align: middle;
  61. background-repeat: no-repeat;
  62. background-position: center;
  63. }
  64. .jp-SideBar .lm-TabBar-tabLabel {
  65. line-height: var(--jp-private-sidebar-tab-width);
  66. }
  67. .jp-SideBar .lm-TabBar-tab:hover:not(.lm-mod-current) {
  68. background: var(--jp-layout-color1);
  69. }
  70. /* Left */
  71. /* Borders */
  72. .jp-SideBar.lm-TabBar.jp-mod-left {
  73. border-right: var(--jp-border-width) solid var(--jp-border-color0);
  74. }
  75. .jp-SideBar.lm-TabBar.jp-mod-left .lm-TabBar-tab + .lm-TabBar-tab {
  76. border-right: var(--jp-border-width) solid var(--jp-layout-color2);
  77. }
  78. .jp-SideBar.lm-TabBar.jp-mod-left
  79. .lm-TabBar-tab.lm-mod-current
  80. + .lm-TabBar-tab {
  81. border-right: var(--jp-border-width) solid var(--jp-border-color0);
  82. }
  83. .jp-SideBar.lm-TabBar.jp-mod-left
  84. .lm-TabBar-tab
  85. + .lm-TabBar-tab.lm-mod-current {
  86. border-right: var(--jp-border-width) solid var(--jp-border-color0);
  87. }
  88. .jp-SideBar.lm-TabBar.jp-mod-left .lm-TabBar-tab.lm-mod-current:last-child {
  89. border-left: var(--jp-border-width) solid var(--jp-border-color0);
  90. }
  91. /* Transforms */
  92. .jp-SideBar.lm-TabBar.jp-mod-left .lm-TabBar-content {
  93. flex-direction: row-reverse;
  94. transform: rotate(-90deg) translateX(-100%);
  95. }
  96. .jp-SideBar.lm-TabBar.jp-mod-left
  97. .lm-TabBar-tab:not(.lm-mod-current)
  98. .lm-TabBar-tabIcon {
  99. transform: rotate(90deg);
  100. }
  101. .jp-SideBar.lm-TabBar.jp-mod-left
  102. .lm-TabBar-tab.lm-mod-current
  103. .lm-TabBar-tabIcon {
  104. transform: rotate(90deg)
  105. translate(
  106. calc(-0.5 * var(--jp-border-width)),
  107. calc(-0.5 * var(--jp-border-width))
  108. );
  109. }
  110. /* Right */
  111. /* Borders */
  112. .jp-SideBar.lm-TabBar.jp-mod-right {
  113. border-left: var(--jp-border-width) solid var(--jp-border-color0);
  114. }
  115. .jp-SideBar.lm-TabBar.jp-mod-right .lm-TabBar-tab + .lm-TabBar-tab {
  116. border-left: var(--jp-border-width) solid var(--jp-layout-color2);
  117. }
  118. .jp-SideBar.lm-TabBar.jp-mod-right
  119. .lm-TabBar-tab.lm-mod-current
  120. + .lm-TabBar-tab {
  121. border-left: var(--jp-border-width) solid var(--jp-border-color0);
  122. }
  123. .jp-SideBar.lm-TabBar.jp-mod-right
  124. .lm-TabBar-tab
  125. + .lm-TabBar-tab.lm-mod-current {
  126. border-left: var(--jp-border-width) solid var(--jp-border-color0);
  127. }
  128. .jp-SideBar.lm-TabBar.jp-mod-right .lm-TabBar-tab.lm-mod-current:last-child {
  129. border-right: var(--jp-border-width) solid var(--jp-border-color0);
  130. }
  131. /* Transforms */
  132. .jp-SideBar.lm-TabBar.jp-mod-right .lm-TabBar-content {
  133. flex-direction: row;
  134. transform: rotate(90deg) translateY(-100%);
  135. }
  136. .jp-SideBar.lm-TabBar.jp-mod-right
  137. .lm-TabBar-tab:not(.lm-mod-current)
  138. .lm-TabBar-tabIcon {
  139. transform: rotate(-90deg);
  140. }
  141. .jp-SideBar.lm-TabBar.jp-mod-right
  142. .lm-TabBar-tab.lm-mod-current
  143. .lm-TabBar-tabIcon {
  144. transform: rotate(-90deg)
  145. translate(
  146. calc(0.5 * var(--jp-border-width)),
  147. calc(-0.5 * var(--jp-border-width))
  148. );
  149. }
  150. /* Stack panels */
  151. #jp-left-stack > .lm-Widget,
  152. #jp-right-stack > .lm-Widget {
  153. min-width: var(--jp-sidebar-min-width);
  154. }
  155. #jp-right-stack {
  156. border-left: var(--jp-border-width) solid var(--jp-border-color1);
  157. }
  158. #jp-left-stack {
  159. border-right: var(--jp-border-width) solid var(--jp-border-color1);
  160. }