| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801 |
- [data-component="tabs"] {
- --tabs-bar-height: 48px;
- --tabs-compact-pill-height: 24px;
- --tabs-compact-pill-radius: 6px;
- --tabs-compact-pill-padding-x: 4px;
- width: 100%;
- height: 100%;
- display: flex;
- flex-direction: column;
- background-color: var(--background-stronger);
- overflow: clip;
- [data-slot="tabs-list"] {
- height: 48px;
- width: 100%;
- position: relative;
- display: flex;
- align-items: center;
- overflow-x: auto;
- /* Hide scrollbar */
- scrollbar-width: none;
- -ms-overflow-style: none;
- &::-webkit-scrollbar {
- display: none;
- }
- /* After element to fill remaining space */
- &::after {
- content: "";
- display: block;
- flex-grow: 1;
- height: 100%;
- border-bottom: 1px solid var(--border-weak-base);
- background-color: var(--background-base);
- }
- &:empty::after {
- display: none;
- }
- }
- [data-slot="tabs-trigger-wrapper"] {
- position: relative;
- height: 100%;
- display: flex;
- align-items: center;
- gap: 12px;
- color: var(--text-base);
- /* text-14-medium */
- font-family: var(--font-family-sans);
- font-size: 14px;
- font-style: normal;
- font-weight: var(--font-weight-medium);
- line-height: var(--line-height-large); /* 142.857% */
- letter-spacing: var(--letter-spacing-normal);
- white-space: nowrap;
- flex-shrink: 0;
- max-width: 280px;
- border-bottom: 1px solid var(--border-weak-base);
- border-right: 1px solid var(--border-weak-base);
- background-color: var(--background-base);
- [data-slot="tabs-trigger"] {
- display: flex;
- align-items: center;
- justify-content: center;
- padding: 14px 24px 14px 12px;
- outline: none;
- min-width: 0;
- overflow: hidden;
- text-overflow: ellipsis;
- &:focus-visible {
- outline: none;
- box-shadow: none;
- }
- }
- [data-slot="tabs-trigger-close-button"] {
- display: flex;
- align-items: center;
- justify-content: center;
- }
- [data-component="icon-button"] {
- margin: -0.25rem;
- }
- &:disabled {
- pointer-events: none;
- color: var(--text-weaker);
- }
- &:focus-visible {
- outline: none;
- box-shadow: none;
- }
- &:has([data-selected]) {
- color: var(--text-strong);
- background-color: transparent;
- border-bottom-color: transparent;
- [data-slot="tabs-trigger-close-button"] {
- opacity: 1;
- }
- }
- &:hover:not(:disabled):not([data-selected]) {
- color: var(--text-strong);
- }
- &:has([data-slot="tabs-trigger-close-button"]) {
- padding-right: 12px;
- [data-slot="tabs-trigger"] {
- padding-right: 0;
- }
- }
- }
- [data-slot="tabs-content"] {
- overflow-y: auto;
- flex: 1;
- /* Hide scrollbar */
- scrollbar-width: none;
- -ms-overflow-style: none;
- &::-webkit-scrollbar {
- display: none;
- }
- &:focus-visible {
- outline: none;
- }
- }
- #review-panel &[data-variant="normal"][data-orientation="horizontal"],
- #terminal-panel &[data-variant="normal"][data-orientation="horizontal"] {
- background-color: var(--background-stronger);
- [data-slot="tabs-list"] {
- height: var(--tabs-bar-height);
- padding-left: 12px;
- padding-right: 0;
- --tabs-review-gap: 16px;
- --tabs-review-fade: 16px;
- gap: var(--tabs-review-gap);
- background-color: var(--background-stronger);
- border-bottom: 1px solid var(--border-weaker-base);
- &::after {
- display: none;
- }
- > .sticky {
- border-bottom: none;
- background-color: var(--background-stronger);
- &::before {
- content: "";
- position: absolute;
- top: 0;
- bottom: 0;
- left: calc(var(--tabs-review-fade) * -1);
- width: var(--tabs-review-fade);
- pointer-events: none;
- background: linear-gradient(90deg, transparent, var(--background-stronger));
- }
- }
- }
- [data-slot="tabs-trigger-wrapper"] {
- height: var(--tabs-compact-pill-height);
- margin-block: 0;
- max-width: 320px;
- padding-inline: var(--tabs-compact-pill-padding-x);
- box-sizing: border-box;
- border: 1px solid transparent;
- border-radius: var(--tabs-compact-pill-radius);
- background-color: transparent;
- gap: 8px;
- color: var(--text-weak);
- transition:
- color 120ms ease,
- background-color 120ms ease,
- border-color 120ms ease;
- &::after {
- content: "";
- position: absolute;
- left: 0;
- right: 0;
- bottom: calc((var(--tabs-compact-pill-height) - var(--tabs-bar-height)) / 2);
- height: 1px;
- background-color: var(--text-strong);
- opacity: 0;
- transform: scaleX(0.75);
- transform-origin: center;
- transition:
- opacity 120ms ease,
- transform 120ms ease;
- }
- &[data-value="review"] {
- padding-left: 8px;
- padding-right: 8px;
- }
- [data-slot="tabs-trigger"] {
- height: 100%;
- padding: 0 !important;
- }
- &:has([data-slot="tabs-trigger-close-button"]) {
- padding-right: 5px;
- [data-slot="tabs-trigger"] {
- padding-right: 0 !important;
- }
- }
- &:has([data-selected]) {
- color: var(--text-strong);
- background-color: var(--surface-base-active);
- border-color: var(--border-weak-base);
- &::after {
- opacity: 1;
- transform: scaleX(1);
- }
- }
- &:hover:not(:disabled):not(:has([data-selected])) {
- color: var(--text-base);
- background-color: var(--surface-base-hover);
- }
- /*
- File tabs: use monochrome icon by default.
- Full-color icon is shown on hover/selected.
- */
- [data-slot="tabs-trigger"] {
- .tab-fileicon-color,
- .tab-fileicon-mono {
- pointer-events: none;
- }
- .tab-fileicon-color {
- display: none;
- }
- .tab-fileicon-mono {
- display: block;
- color: currentColor;
- }
- &[data-selected],
- &:hover {
- .tab-fileicon-color {
- display: block;
- }
- .tab-fileicon-mono {
- display: none;
- }
- }
- }
- }
- }
- #terminal-panel &[data-variant="normal"][data-orientation="horizontal"] {
- [data-slot="tabs-list"] {
- height: 52px;
- padding-right: 12px;
- gap: 8px;
- }
- [data-slot="tabs-trigger-wrapper"] {
- height: 28px;
- padding-inline: 8px;
- border: 0;
- background-color: transparent;
- box-shadow: none;
- &::after {
- display: none;
- }
- [data-slot="tabs-trigger"] {
- padding: 0 !important;
- }
- &:has([data-slot="tabs-trigger-close-button"]) {
- padding-right: 8px;
- }
- &:has([data-selected]) {
- background-color: var(--v2-background-bg-layer-01);
- box-shadow: inset 0 0 0 0.5px var(--v2-border-border-muted);
- }
- }
- [data-slot="terminal-tab-title"] {
- font-family: Inter, sans-serif;
- font-style: normal;
- font-weight: 440;
- font-size: 13px;
- line-height: 16px;
- letter-spacing: -0.04px;
- color: var(--v2-text-text-base);
- font-variation-settings: "slnt" 0;
- font-variant-numeric: tabular-nums;
- }
- }
- &[data-variant="alt"] {
- [data-slot="tabs-list"] {
- padding-left: 24px;
- padding-right: 24px;
- gap: 12px;
- border-bottom: 1px solid var(--border-weak-base);
- background-color: transparent;
- &::after {
- border: none;
- background-color: transparent;
- }
- &:empty::after {
- display: none;
- }
- }
- [data-slot="tabs-trigger-wrapper"] {
- border: none;
- color: var(--text-base);
- background-color: transparent;
- border-bottom-width: 2px;
- border-bottom-style: solid;
- border-bottom-color: transparent;
- gap: 4px;
- /* text-14-regular */
- font-family: var(--font-family-sans);
- font-size: var(--font-size-base);
- font-style: normal;
- font-weight: var(--font-weight-regular);
- line-height: var(--line-height-x-large); /* 171.429% */
- letter-spacing: var(--letter-spacing-normal);
- [data-slot="tabs-trigger"] {
- height: 100%;
- padding: 4px;
- background-color: transparent;
- border-bottom-width: 2px;
- border-bottom-color: transparent;
- }
- [data-slot="tabs-trigger-close-button"] {
- display: flex;
- align-items: center;
- justify-content: center;
- }
- [data-component="icon-button"] {
- width: 16px;
- height: 16px;
- margin: 0;
- }
- &:has([data-selected]) {
- color: var(--text-strong);
- background-color: transparent;
- border-bottom-color: var(--icon-strong-base);
- }
- &:hover:not(:disabled):not([data-selected]) {
- color: var(--text-strong);
- }
- &:has([data-slot="tabs-trigger-close-button"]) {
- padding-right: 0;
- [data-slot="tabs-trigger"] {
- padding-right: 0;
- }
- }
- }
- /* [data-slot="tabs-content"] { */
- /* } */
- }
- &[data-variant="pill"][data-orientation="horizontal"] {
- background-color: transparent;
- [data-slot="tabs-list"] {
- height: auto;
- padding: 6px 0;
- gap: 4px;
- background-color: var(--background-base);
- &::after {
- display: none;
- }
- }
- [data-slot="tabs-trigger-wrapper"] {
- height: 32px;
- border: none;
- border-radius: var(--radius-sm);
- background-color: transparent;
- gap: 0;
- /* text-13-medium */
- font-family: var(--font-family-sans);
- font-size: var(--font-size-small);
- font-style: normal;
- font-weight: var(--font-weight-medium);
- line-height: var(--line-height-large);
- letter-spacing: var(--letter-spacing-normal);
- [data-slot="tabs-trigger"] {
- height: 100%;
- width: 100%;
- padding: 0 12px;
- background-color: transparent;
- }
- &:hover:not(:disabled) {
- background-color: var(--surface-base-hover);
- color: var(--text-strong);
- }
- &:active:not(:disabled) {
- background-color: var(--surface-base-active);
- }
- &:has([data-selected]) {
- background-color: var(--surface-base-active);
- color: var(--text-strong);
- &:hover:not(:disabled) {
- background-color: var(--surface-base-active);
- }
- }
- }
- }
- &[data-variant="pill"][data-orientation="horizontal"][data-scope="filetree"] {
- [data-slot="tabs-list"] {
- height: 48px;
- padding-inline: 12px;
- gap: 8px;
- align-items: center;
- background-color: var(--background-stronger);
- box-sizing: border-box;
- border-bottom: 1px solid var(--border-weak-base);
- }
- [data-slot="tabs-trigger-wrapper"] {
- height: var(--tabs-compact-pill-height);
- border-radius: var(--tabs-compact-pill-radius);
- color: var(--text-weak);
- box-sizing: border-box;
- border: 1px solid transparent;
- transition:
- color 120ms ease,
- background-color 120ms ease,
- border-color 120ms ease;
- &:not(:has([data-selected])):hover:not(:disabled) {
- color: var(--text-base);
- }
- &:has([data-selected]) {
- color: var(--text-strong);
- border-color: var(--border-weak-base);
- }
- }
- }
- &[data-orientation="vertical"] {
- flex-direction: row;
- [data-slot="tabs-list"] {
- flex-direction: column;
- width: auto;
- height: 100%;
- overflow-x: hidden;
- overflow-y: auto;
- padding: 8px;
- gap: 4px;
- background-color: var(--background-base);
- border-right: 1px solid var(--border-weak-base);
- &::after {
- display: none;
- }
- }
- [data-slot="tabs-trigger-wrapper"] {
- width: 100%;
- height: 32px;
- border: none;
- border-radius: 8px;
- background-color: transparent;
- [data-slot="tabs-trigger"] {
- height: 100%;
- padding: 0 8px;
- gap: 8px;
- justify-content: flex-start;
- }
- &:hover:not(:disabled) {
- background-color: var(--surface-base-hover);
- }
- &:has([data-selected]) {
- background-color: var(--surface-base-active);
- color: var(--text-strong);
- }
- }
- [data-slot="tabs-content"] {
- overflow-x: auto;
- overflow-y: auto;
- }
- &[data-variant="alt"] {
- [data-slot="tabs-list"] {
- padding: 8px;
- gap: 4px;
- border: none;
- &::after {
- display: none;
- }
- }
- [data-slot="tabs-trigger-wrapper"] {
- height: 32px;
- border: none;
- border-radius: 8px;
- [data-slot="tabs-trigger"] {
- border: none;
- padding: 0 8px;
- gap: 8px;
- justify-content: flex-start;
- }
- &:hover:not(:disabled) {
- background-color: var(--surface-base-hover);
- }
- &:has([data-selected]) {
- background-color: var(--surface-base-hover);
- color: var(--text-strong);
- }
- }
- }
- &[data-variant="settings"] {
- [data-slot="tabs-list"] {
- width: 150px;
- min-width: 150px;
- @media (min-width: 640px) {
- width: 200px;
- min-width: 200px;
- }
- padding: 12px;
- gap: 0;
- background-color: var(--background-base);
- border-right: 1px solid var(--border-weak-base);
- &::after {
- display: none;
- }
- }
- [data-slot="tabs-section-title"] {
- width: 100%;
- padding: 0 0 0 4px;
- font-family: var(--font-family-sans);
- font-size: var(--font-size-small);
- font-weight: var(--font-weight-medium);
- color: var(--text-weak);
- }
- [data-slot="tabs-trigger-wrapper"] {
- height: 32px;
- border: none;
- border-radius: var(--radius-md);
- /* text-14-medium */
- font-family: var(--font-family-sans);
- font-size: var(--font-size-base);
- font-weight: var(--font-weight-medium);
- line-height: var(--line-height-large);
- [data-slot="tabs-trigger"] {
- border: none;
- padding: 0 8px;
- gap: 12px;
- justify-content: flex-start;
- width: 100%;
- height: 100%;
- }
- [data-component="icon"] {
- color: var(--icon-base);
- }
- &:hover:not(:disabled) {
- background-color: var(--surface-base-hover);
- }
- &:has([data-slot="tabs-trigger"]:focus-visible) {
- background-color: var(--surface-base-hover);
- box-shadow: var(--shadow-xs-border-focus);
- }
- &:has([data-selected]) {
- background-color: var(--surface-base-active);
- color: var(--text-strong);
- [data-component="icon"] {
- color: var(--icon-strong-base);
- }
- &:hover:not(:disabled) {
- background-color: var(--surface-base-active);
- }
- }
- }
- [data-slot="tabs-content"] {
- background-color: var(--surface-stronger-non-alpha);
- }
- }
- }
- }
- [data-component="tabs-drag-preview"] {
- position: relative;
- display: flex;
- align-items: center;
- height: var(--tabs-bar-height, 48px);
- max-width: 320px;
- padding-inline: var(--tabs-compact-pill-padding-x, 4px);
- overflow: hidden;
- color: var(--text-strong);
- opacity: 0.6;
- }
- [data-component="tabs-drag-preview"]::before {
- content: "";
- position: absolute;
- left: 0;
- right: 0;
- top: calc((var(--tabs-bar-height, 48px) - var(--tabs-compact-pill-height, 24px)) / 2);
- height: var(--tabs-compact-pill-height, 24px);
- border: 1px solid var(--border-weak-base);
- border-radius: var(--tabs-compact-pill-radius, 6px);
- background-color: var(--surface-base-active);
- }
- [data-component="tabs-drag-preview"]::after {
- content: "";
- position: absolute;
- left: 0;
- right: 0;
- bottom: 0;
- height: 1px;
- background-color: var(--text-strong);
- }
- [data-component="tabs-drag-preview"] > * {
- position: relative;
- }
- body[data-new-layout] #review-panel [data-component="tabs"],
- body[data-new-layout] #terminal-panel [data-component="tabs"],
- body[data-new-layout] #review-panel [data-component="tabs"][data-variant="normal"][data-orientation="horizontal"],
- body[data-new-layout] #terminal-panel [data-component="tabs"][data-variant="normal"][data-orientation="horizontal"] {
- background-color: var(--v2-background-bg-base);
- [data-slot="tabs-list"] {
- background-color: var(--v2-background-bg-base);
- > .sticky {
- background-color: var(--v2-background-bg-base);
- &::before {
- background: linear-gradient(90deg, transparent, var(--v2-background-bg-base));
- }
- }
- }
- }
- body[data-new-layout] #review-panel [data-component="tabs"][data-variant="normal"][data-orientation="horizontal"] {
- [data-slot="tabs-list"] {
- height: 52px;
- padding-right: 12px;
- gap: 8px;
- --tabs-review-fade: 8px;
- }
- [data-slot="tabs-trigger-wrapper"] {
- height: 28px;
- padding-inline: 10px;
- border: 0;
- background-color: transparent;
- box-shadow: none;
- &::after {
- display: none;
- }
- [data-slot="tabs-trigger"] {
- padding: 0 !important;
- }
- &:has([data-slot="tabs-trigger-close-button"]) {
- padding-right: 10px;
- }
- &:has([data-selected]) {
- background-color: var(--v2-background-bg-layer-02);
- box-shadow: none;
- }
- }
- [data-slot="tabs-trigger"] {
- font-family: Inter, sans-serif;
- font-style: normal;
- font-weight: 440;
- font-size: 13px;
- line-height: 16px;
- letter-spacing: -0.04px;
- color: var(--v2-text-text-muted);
- font-variation-settings: "slnt" 0;
- font-variant-numeric: tabular-nums;
- &[data-selected] {
- color: var(--v2-text-text-base);
- }
- .tab-fileicon-color,
- .tab-fileicon-mono,
- [data-slot="icon-svg"] {
- margin-left: -2px;
- }
- }
- /* Preview/temporary tabs: beat trigger + .text-14-medium upright defaults */
- [data-slot="tabs-trigger"] .italic {
- font-style: italic !important;
- font-variation-settings: "slnt" -10 !important;
- }
- }
- body[data-new-layout] #review-panel [data-component="tabs"] .session-review-v2-tabs-bar {
- width: 100%;
- min-width: 0;
- gap: 8px;
- box-sizing: border-box;
- border-bottom: 1px solid var(--border-weaker-base, var(--v2-border-border-weak));
- background-color: var(--v2-background-bg-base);
- }
- body[data-new-layout] #review-panel [data-component="tabs"] .session-review-v2-tabs-bar [data-slot="tabs-list"],
- body[data-new-layout]
- #review-panel
- [data-component="tabs"][data-variant="normal"][data-orientation="horizontal"]
- .session-review-v2-tabs-bar
- [data-slot="tabs-list"] {
- flex: 1 1 0;
- min-width: 0;
- width: auto;
- border-bottom: none;
- }
- body[data-new-layout]
- #review-panel
- [data-component="tabs"]
- .session-review-v2-tabs-bar
- [data-slot="tabs-list"]
- > .sticky {
- padding-right: 0;
- }
- body[data-new-layout] #review-panel [data-component="tabs"] .session-review-v2-open-in-app-slot {
- flex-shrink: 0;
- margin-left: auto;
- }
- body[data-new-layout] #review-panel [data-component="tabs"] .session-review-v2-open-in-app {
- flex-shrink: 0;
- }
|