tabs.scss 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. :root {
  2. --editor-tab-max-path-length: 150px;
  3. }
  4. .editor-tabs-container {
  5. display: flex;
  6. flex-direction: row;
  7. align-items: center;
  8. gap: var(--spacing-02);
  9. flex: 0 0 auto;
  10. background: var(--bg-primary-themed);
  11. justify-content: space-between;
  12. border-bottom: 1px solid var(--border-divider-themed);
  13. .editor-tabs-labs-icon {
  14. flex: 0 0 auto;
  15. padding: 0 var(--spacing-02);
  16. .material-symbols {
  17. font-size: 16px;
  18. }
  19. }
  20. }
  21. .editor-tabs-row {
  22. display: flex;
  23. flex-direction: row;
  24. list-style: none;
  25. padding: 0;
  26. margin: 0;
  27. flex: 1;
  28. background: var(--bg-primary-themed);
  29. overflow-x: auto;
  30. &.editor-tabs-row-hovered {
  31. .editor-file-tab:last-child {
  32. border-right-color: var(--border-primary-themed);
  33. }
  34. }
  35. }
  36. .editor-file-tab {
  37. --tab-bg-color: transparent;
  38. --tab-icon-colour: var(--content-secondary-themed);
  39. display: inline-flex;
  40. align-items: center;
  41. gap: var(--spacing-02);
  42. justify-content: center;
  43. box-sizing: border-box;
  44. padding: var(--spacing-02) var(--spacing-03);
  45. background: var(--tab-bg-color);
  46. color: var(--content-primary-themed);
  47. border: none;
  48. font-size: var(--font-size-02);
  49. flex-direction: row;
  50. cursor: pointer;
  51. border-right: 1px solid var(--border-divider-themed);
  52. border-left: 1px solid var(--tab-bg-color);
  53. user-select: none;
  54. &.tab-selected {
  55. --tab-bg-color: var(--bg-secondary-themed);
  56. --tab-icon-colour: var(--content-primary-themed);
  57. }
  58. .material-symbols {
  59. vertical-align: middle;
  60. font-size: var(--font-size-03);
  61. }
  62. .file-tree-icon,
  63. .linked-file-highlight {
  64. color: var(--tab-icon-colour);
  65. }
  66. .editor-file-tab-icon {
  67. position: relative;
  68. display: inline-flex;
  69. align-items: center;
  70. flex: 0 0 auto;
  71. }
  72. .file-tree-icon {
  73. margin-right: var(--spacing-01);
  74. }
  75. .linked-file-icon {
  76. position: relative;
  77. left: -2px;
  78. }
  79. .linked-file-highlight {
  80. position: absolute;
  81. top: 6px;
  82. left: 6px !important;
  83. font-size: var(--font-size-01);
  84. }
  85. &.tab-drop-right {
  86. border-right-color: var(--border-primary-themed);
  87. }
  88. &.tab-drop-left {
  89. border-left-color: var(--border-primary-themed);
  90. }
  91. &.tab-temporary {
  92. font-style: italic;
  93. }
  94. .editor-file-tab-action {
  95. display: flex;
  96. align-items: center;
  97. }
  98. .editor-file-tab-close-action {
  99. background: transparent;
  100. border: none;
  101. color: var(--content-primary-themed);
  102. cursor: pointer;
  103. margin: 0;
  104. padding: 0;
  105. display: flex;
  106. align-items: center;
  107. &:hover {
  108. color: var(--content-secondary-themed);
  109. }
  110. }
  111. }
  112. .editor-file-tab-path {
  113. text-wrap: nowrap;
  114. max-width: var(--editor-tab-max-path-length);
  115. text-overflow: ellipsis;
  116. white-space: nowrap;
  117. direction: rtl;
  118. overflow: hidden;
  119. }