// Tabs @tab-border: 1px solid @tab-border-color; @title-padding: .66em; @icon-padding-top: .5em; // 2.5 (total) - 1.5 (text) / 2 @icon-padding-right: .5em; .tab-bar { position: relative; height: @ui-tab-height; box-shadow: inset 0 -1px 0 @tab-border-color; background: @tab-bar-background-color; overflow-x: auto; overflow-y: hidden; border-radius: 0; &::-webkit-scrollbar { display: none; } &:empty { display: none; } // Tab ---------------------- .tab { position: relative; top: 0; padding: 0; margin: 0; height: inherit; font-size: inherit; line-height: @ui-tab-height; color: @tab-text-color; background-color: @tab-background-color; box-shadow: inherit; border-left: @tab-border; &.active { color: @tab-text-color-active; background-color: @tab-background-color-active; box-shadow: none; } &:first-of-type { border-left-color: transparent; } &:last-of-type { // use box-shadow to not take up any space box-shadow: inset 0 -1px 0 @tab-border-color, 1px 0 0 @base-border-color; } &.active:last-of-type { box-shadow: 1px 0 0 @base-border-color; } // Title ---------------------- .title { text-align: center; margin: 0 @title-padding; } // VCS coloring ---------------------- &:not(.active) .status-added { color: @tab-inactive-status-added; } &:not(.active) .status-modified { color: @tab-inactive-status-modified; } // Icons ---------------------- .title.title:before { margin-right: .3em; width: auto; height: auto; line-height: 1; font-size: 1.125em; vertical-align: -.0625em; // Adjust center for the 0.1em font-size increase } // Close icon ---------------------- .close-icon { top: @icon-padding-top; right: @icon-padding-right; z-index: 2; font-size: 1em; width: 1.5em; height: 1.5em; line-height: 1.5; text-align: center; border-radius: @component-border-radius; background-color: inherit; overflow: hidden; transform: scale(0); transition: transform .08s; &:hover { color: @accent-text-color; background-color: @accent-color; } &:active { background-color: fade(@accent-color, 50%); } &::before { z-index: 1; font-size: 1.1em; vertical-align: -.05em; // Adjust center for the 0.1em font-size increase width: auto; height: auto; pointer-events: none; } } &:hover .close-icon { transform: scale(1); transition-duration: .16s; } } // Modified icon ---------------------- .tab.modified { &:hover .close-icon { color: @accent-color; &:hover { color: @accent-bg-text-color; } } &:not(:hover) .close-icon { top: @icon-padding-top; right: @icon-padding-right; width: 1.5em; height: 1.5em; line-height: 1.5; color: @accent-color; border-radius: @component-border-radius; border: none; transform: scale(1); &::before { content: "\f052"; display: inline-block; } } } // Tabs in the docks ---------------------- atom-dock & { .tab.active { background-color: @tool-panel-background-color; } } // Dragging ---------------------- .tab.is-dragging { opacity: .5; .close-icon, &:before { visibility: hidden; } } .placeholder { position: relative; pointer-events: none; // bar &:before { z-index: 1; margin: 0; width: 2px; height: @ui-tab-height; background-color: @accent-color; } // arrow &:after { z-index: 0; top: @ui-tab-height/2; margin: -4px 0 0 -3px; border-radius: 0; border: 4px solid @accent-color; transform: rotate(45deg); background: transparent; } &:last-child { &:before { margin-left: -2px; } &:after { transform: none; margin-left: -10px; border-color: transparent @accent-color transparent transparent; } } } // Overrides ---------------------- // keep tabs same size when active .tab, .tab.active { padding-right: 0; .title { padding: 0; } } } // Active pane marker -------------- atom-pane-axis > atom-pane.active, atom-pane-container > atom-pane.pane { .tab.active:before { content: ""; position: absolute; pointer-events: none; z-index: 2; top: 0; left: -1px; // cover left border bottom: 0; width: 2px; background: @accent-color; } } // hide marker in docks atom-dock .tab-bar .tab::before { display: none; } // Custom tabs -------------- .tab-bar .tab.active { &[data-type$="Editor"], &[data-type$="AboutView"], &[data-type$="TimecopView"], &[data-type$="StyleguideView"], &[data-type="MarkdownPreviewView"] { color: @tab-text-color-editor; background-color: @tab-background-color-editor; // Match syntax background color } }