sidepanel.css 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  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.p-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 .p-TabBar-content,
  29. .jp-SideBar .p-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 .p-TabBar-tab {
  39. padding: 0 16px;
  40. border: none;
  41. overflow: visible;
  42. }
  43. .jp-SideBar .p-TabBar-tab.p-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 .p-TabBar-tab:not(.p-mod-current) {
  53. background: var(--jp-layout-color2);
  54. }
  55. .jp-SideBar .p-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 .p-TabBar-tabLabel {
  65. line-height: var(--jp-private-sidebar-tab-width);
  66. }
  67. .jp-SideBar .p-TabBar-tab:hover:not(.p-mod-current) {
  68. background: var(--jp-layout-color1);
  69. }
  70. /* Left */
  71. /* Borders */
  72. .jp-SideBar.p-TabBar.jp-mod-left {
  73. border-right: var(--jp-border-width) solid var(--jp-border-color0);
  74. }
  75. .jp-SideBar.p-TabBar.jp-mod-left .p-TabBar-tab + .p-TabBar-tab {
  76. border-right: var(--jp-border-width) solid var(--jp-layout-color2);
  77. }
  78. .jp-SideBar.p-TabBar.jp-mod-left .p-TabBar-tab.p-mod-current + .p-TabBar-tab {
  79. border-right: var(--jp-border-width) solid var(--jp-border-color0);
  80. }
  81. .jp-SideBar.p-TabBar.jp-mod-left .p-TabBar-tab + .p-TabBar-tab.p-mod-current {
  82. border-right: var(--jp-border-width) solid var(--jp-border-color0);
  83. }
  84. .jp-SideBar.p-TabBar.jp-mod-left .p-TabBar-tab.p-mod-current:last-child {
  85. border-left: var(--jp-border-width) solid var(--jp-border-color0);
  86. }
  87. /* Transforms */
  88. .jp-SideBar.p-TabBar.jp-mod-left .p-TabBar-content {
  89. flex-direction: row-reverse;
  90. transform: rotate(-90deg) translateX(-100%);
  91. }
  92. .jp-SideBar.p-TabBar.jp-mod-left
  93. .p-TabBar-tab:not(.p-mod-current)
  94. .p-TabBar-tabIcon {
  95. transform: rotate(90deg);
  96. }
  97. .jp-SideBar.p-TabBar.jp-mod-left .p-TabBar-tab.p-mod-current .p-TabBar-tabIcon {
  98. transform: rotate(90deg)
  99. translate(
  100. calc(-0.5 * var(--jp-border-width)),
  101. calc(-0.5 * var(--jp-border-width))
  102. );
  103. }
  104. /* Right */
  105. /* Borders */
  106. .jp-SideBar.p-TabBar.jp-mod-right {
  107. border-left: var(--jp-border-width) solid var(--jp-border-color0);
  108. }
  109. .jp-SideBar.p-TabBar.jp-mod-right .p-TabBar-tab + .p-TabBar-tab {
  110. border-left: var(--jp-border-width) solid var(--jp-layout-color2);
  111. }
  112. .jp-SideBar.p-TabBar.jp-mod-right .p-TabBar-tab.p-mod-current + .p-TabBar-tab {
  113. border-left: var(--jp-border-width) solid var(--jp-border-color0);
  114. }
  115. .jp-SideBar.p-TabBar.jp-mod-right .p-TabBar-tab + .p-TabBar-tab.p-mod-current {
  116. border-left: var(--jp-border-width) solid var(--jp-border-color0);
  117. }
  118. .jp-SideBar.p-TabBar.jp-mod-right .p-TabBar-tab.p-mod-current:last-child {
  119. border-right: var(--jp-border-width) solid var(--jp-border-color0);
  120. }
  121. /* Transforms */
  122. .jp-SideBar.p-TabBar.jp-mod-right .p-TabBar-content {
  123. flex-direction: row;
  124. transform: rotate(90deg) translateY(-100%);
  125. }
  126. .jp-SideBar.p-TabBar.jp-mod-right
  127. .p-TabBar-tab:not(.p-mod-current)
  128. .p-TabBar-tabIcon {
  129. transform: rotate(-90deg);
  130. }
  131. .jp-SideBar.p-TabBar.jp-mod-right
  132. .p-TabBar-tab.p-mod-current
  133. .p-TabBar-tabIcon {
  134. transform: rotate(-90deg)
  135. translate(
  136. calc(0.5 * var(--jp-border-width)),
  137. calc(-0.5 * var(--jp-border-width))
  138. );
  139. }
  140. /* Stack panels */
  141. #jp-left-stack > .p-Widget,
  142. #jp-right-stack > .p-Widget {
  143. min-width: var(--jp-sidebar-min-width);
  144. }
  145. #jp-right-stack {
  146. border-left: var(--jp-border-width) solid var(--jp-border-color1);
  147. }
  148. #jp-left-stack {
  149. border-right: var(--jp-border-width) solid var(--jp-border-color1);
  150. }