rail.scss 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. body {
  2. --ide-rail-background: var(--bg-primary-themed);
  3. --ide-rail-color: var(--content-primary-themed);
  4. --ide-rail-link-hover-color: var(--content-primary-themed);
  5. --ide-rail-link-background: var(--bg-primary-themed);
  6. --ide-rail-link-hover-background: var(--bg-secondary-themed);
  7. --ide-rail-border-colour: var(--border-divider-themed);
  8. --ide-rail-header-subdued-button-color: var(--content-primary-themed);
  9. --ide-rail-header-subdued-button-hover-background: var(--bg-tertiary-themed);
  10. --ide-rail-link-active-color: var(--green-10);
  11. --ide-rail-link-active-background: var(--green-70);
  12. }
  13. @include theme('light') {
  14. --ide-rail-link-active-color: var(--green-70);
  15. --ide-rail-link-active-background: var(--bg-accent-03);
  16. }
  17. .rail-panel-header {
  18. display: flex;
  19. justify-content: space-between;
  20. align-items: center;
  21. padding: var(--spacing-03) var(--spacing-04);
  22. background-color: var(--ide-rail-background);
  23. .rail-panel-header-button-subdued {
  24. @include ol-button-variant(
  25. var(--ide-rail-header-subdued-button-color),
  26. transparent,
  27. transparent,
  28. var(--ide-rail-header-subdued-button-hover-background),
  29. transparent,
  30. true,
  31. var(--content-disabled-themed),
  32. var(--bg-disabled-themed),
  33. var(--bg-disabled-themed)
  34. );
  35. }
  36. }
  37. .rail-panel-header-actions {
  38. display: flex;
  39. align-items: center;
  40. gap: var(--spacing-01);
  41. }
  42. .rail-panel-title {
  43. font-size: var(--font-size-02);
  44. line-height: var(--line-height-02);
  45. color: var(--ide-rail-color);
  46. margin-bottom: 0;
  47. font-weight: bold;
  48. }
  49. .ide-rail-tab-button {
  50. border: 0;
  51. background: none;
  52. }
  53. .ide-rail-tab-link {
  54. border-radius: var(--border-radius-base);
  55. display: block;
  56. margin: 0 auto;
  57. height: 32px;
  58. width: 32px;
  59. text-align: center;
  60. padding: 0;
  61. color: var(--ide-rail-color);
  62. background-color: var(--ide-rail-link-background);
  63. position: relative;
  64. overflow: visible;
  65. &.disabled {
  66. color: var(--content-disabled-themed);
  67. }
  68. &:visited,
  69. &:focus {
  70. color: var(--ide-rail-color);
  71. }
  72. &:focus-visible {
  73. background-color: transparent;
  74. }
  75. &:hover {
  76. color: var(--ide-rail-link-hover-color);
  77. background-color: var(--ide-rail-link-hover-background);
  78. }
  79. .ide-rail-tab-link-icon {
  80. line-height: 32px;
  81. font-size: 20px;
  82. }
  83. .ide-rail-tab-img-icon {
  84. width: 20px;
  85. max-height: 32px;
  86. object-fit: contain;
  87. }
  88. &.open-rail {
  89. color: var(--ide-rail-link-active-color);
  90. background-color: var(--ide-rail-link-active-background);
  91. &::after {
  92. $indicator-height: 3px;
  93. border-top-left-radius: 12px;
  94. border-top-right-radius: 12px;
  95. content: '';
  96. position: absolute;
  97. bottom: 0;
  98. left: 4px;
  99. box-sizing: border-box;
  100. width: 24px;
  101. height: $indicator-height;
  102. background-color: var(--ide-rail-link-active-color);
  103. }
  104. }
  105. .badge {
  106. position: absolute;
  107. top: -4px;
  108. right: -4px;
  109. pointer-events: none;
  110. z-index: 10;
  111. padding: var(--spacing-00) var(--spacing-02);
  112. border-radius: var(--border-radius-full);
  113. }
  114. }
  115. .ide-rail {
  116. height: 100%;
  117. padding: var(--spacing-02);
  118. background: var(--ide-rail-background);
  119. border-right: 1px solid var(--ide-rail-border-colour);
  120. width: 40px;
  121. }
  122. .ide-rail-content {
  123. height: 100%;
  124. .logs-pane {
  125. top: 0;
  126. }
  127. .tab-pane {
  128. height: 100%;
  129. }
  130. }
  131. .ide-rail-tab-content {
  132. height: 100%;
  133. width: 100%;
  134. position: relative;
  135. }
  136. .ide-rail-tabs-nav {
  137. height: 100%;
  138. display: flex;
  139. flex-flow: column nowrap;
  140. gap: var(--spacing-02);
  141. padding-bottom: var(--spacing-04);
  142. }
  143. .ide-rail-tabs-wrapper {
  144. flex: 1;
  145. display: flex;
  146. flex-direction: column;
  147. gap: var(--spacing-02);
  148. }
  149. .ide-rail-tab-dropdown {
  150. border: 0;
  151. &.dropdown-toggle::after {
  152. display: none;
  153. }
  154. }
  155. .ide-rail-overflow-dropdown {
  156. min-width: 0;
  157. background-color: var(--ide-rail-background);
  158. &.show {
  159. display: flex;
  160. flex-direction: column;
  161. gap: var(--spacing-02);
  162. }
  163. }
  164. .new-error-logs-promo {
  165. display: flex;
  166. gap: var(--spacing-04);
  167. font-weight: bold;
  168. font-size: var(--font-size-02);
  169. line-height: var(--line-height-02);
  170. background-color: black;
  171. border-radius: var(--border-radius-base);
  172. }