Path: blob/main/src/vs/sessions/contrib/accountMenu/browser/media/accountTitleBarWidget.css
13405 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45.agent-sessions-workbench .sessions-account-titlebar-widget {6display: flex;7align-items: center;8justify-content: center;9gap: 0;10position: relative;11height: 22px;12width: 22px;13min-width: 22px;14background: transparent;15border-radius: var(--vscode-cornerRadius-medium);16color: inherit;17cursor: pointer;18-webkit-app-region: no-drag;19overflow: hidden;20}2122.agent-sessions-workbench .sessions-account-titlebar-widget:hover,23.agent-sessions-workbench .action-item:focus-within .sessions-account-titlebar-widget {24background: var(--vscode-toolbar-hoverBackground);25}2627.agent-sessions-workbench .sessions-account-titlebar-widget:active,28.agent-sessions-workbench .sessions-account-titlebar-widget.menu-visible,29.agent-sessions-workbench .action-item:focus-within .sessions-account-titlebar-widget.menu-visible {30background: var(--vscode-toolbar-activeBackground);31}3233.agent-sessions-workbench .action-item:focus-within .sessions-account-titlebar-widget {34outline: 1px solid var(--vscode-focusBorder);35outline-offset: -1px;36}3738.agent-sessions-workbench .sessions-account-titlebar-widget-icon {39flex: 0 0 auto;40font-size: 16px;41color: inherit;42}4344.agent-sessions-workbench .sessions-account-titlebar-widget-icon.hidden {45display: none;46}4748.agent-sessions-workbench .sessions-account-titlebar-widget-avatar {49display: none;50flex: 0 0 auto;51width: 18px;52height: 18px;53border: 1px solid var(--vscode-commandCenter-border, transparent);54border-radius: 50%;55box-sizing: border-box;56object-fit: cover;57}5859.agent-sessions-workbench .sessions-account-titlebar-widget-avatar.visible {60display: block;61}6263.monaco-workbench .part.titlebar.inactive .sessions-account-titlebar-widget-avatar {64border-color: var(--vscode-commandCenter-inactiveBorder, var(--vscode-commandCenter-border, transparent));65}6667.agent-sessions-workbench .sessions-account-titlebar-widget-label {68display: none;69}7071/* Update widget in titlebar */7273.monaco-workbench .part.titlebar > .sessions-titlebar-container > .titlebar-right > .titlebar-right-layout-container .monaco-action-bar .actions-container {74gap: 5px;75}7677.monaco-workbench .part.titlebar > .sessions-titlebar-container > .titlebar-right > .titlebar-right-layout-container .monaco-action-bar .action-item.sessions-update-titlebar-widget {78display: flex;79align-items: center;80height: 22px;81min-width: 0;82padding: 0 8px;83border-radius: var(--vscode-cornerRadius-medium);84background: transparent;85color: var(--vscode-foreground);86cursor: pointer;87-webkit-app-region: no-drag;88overflow: hidden;89}9091.monaco-workbench .part.titlebar > .sessions-titlebar-container > .titlebar-right > .titlebar-right-layout-container .monaco-action-bar .action-item.sessions-update-titlebar-widget.hidden {92display: none;93}9495.monaco-workbench .part.titlebar > .sessions-titlebar-container > .titlebar-right > .titlebar-right-layout-container .monaco-action-bar .action-item.sessions-update-titlebar-widget:hover,96.monaco-workbench .part.titlebar > .sessions-titlebar-container > .titlebar-right > .titlebar-right-layout-container .monaco-action-bar .action-item.sessions-update-titlebar-widget:focus-within {97background: var(--vscode-toolbar-hoverBackground);98}99100.monaco-workbench .part.titlebar > .sessions-titlebar-container > .titlebar-right > .titlebar-right-layout-container .monaco-action-bar .action-item.sessions-update-titlebar-widget:active,101.monaco-workbench .part.titlebar > .sessions-titlebar-container > .titlebar-right > .titlebar-right-layout-container .monaco-action-bar .action-item.sessions-update-titlebar-widget.primary-state {102background: var(--vscode-button-background);103color: var(--vscode-button-foreground);104}105106.monaco-workbench .part.titlebar > .sessions-titlebar-container > .titlebar-right > .titlebar-right-layout-container .monaco-action-bar .action-item.sessions-update-titlebar-widget.primary-state:hover,107.monaco-workbench .part.titlebar > .sessions-titlebar-container > .titlebar-right > .titlebar-right-layout-container .monaco-action-bar .action-item.sessions-update-titlebar-widget.primary-state:focus-within,108.monaco-workbench .part.titlebar > .sessions-titlebar-container > .titlebar-right > .titlebar-right-layout-container .monaco-action-bar .action-item.sessions-update-titlebar-widget.primary-state:active {109background: var(--vscode-button-hoverBackground);110color: var(--vscode-button-foreground);111}112113.monaco-workbench .part.titlebar > .sessions-titlebar-container > .titlebar-right > .titlebar-right-layout-container .monaco-action-bar .action-item.sessions-update-titlebar-widget.busy-state {114cursor: default;115color: var(--vscode-descriptionForeground);116}117118.monaco-workbench .part.titlebar > .sessions-titlebar-container > .titlebar-right > .titlebar-right-layout-container .monaco-action-bar .action-item.sessions-update-titlebar-widget .sessions-update-titlebar-widget-label {119min-width: 0;120overflow: hidden;121text-overflow: ellipsis;122white-space: nowrap;123font-size: 12px;124font-weight: 500;125line-height: 16px;126color: inherit;127}128129/* Badge on account icon */130131.agent-sessions-workbench .sessions-account-titlebar-widget-badge {132flex: 0 0 auto;133display: inline-flex;134align-items: center;135justify-content: center;136min-width: 18px;137height: 16px;138padding: 0 5px;139border-radius: 8px;140background: var(--vscode-badge-background);141color: var(--vscode-badge-foreground);142font-size: 10px;143font-weight: 700;144font-variant-numeric: tabular-nums;145line-height: 1;146}147148.agent-sessions-workbench .sessions-account-titlebar-widget-badge.dot-badge {149position: absolute;150top: 3px;151right: 3px;152min-width: 0;153width: 6px;154height: 6px;155padding: 0;156border-radius: 50%;157border: 1px solid var(--vscode-titleBar-activeBackground);158background: var(--vscode-editorWarning-foreground);159color: transparent;160pointer-events: none;161}162163.agent-sessions-workbench .sessions-account-titlebar-widget-badge.dot-badge-warning {164background: var(--vscode-editorWarning-foreground) !important;165}166167.agent-sessions-workbench .sessions-account-titlebar-widget-badge.dot-badge-error {168background: var(--vscode-editorError-foreground) !important;169}170171/* Kind-based styling */172173.agent-sessions-workbench .sessions-account-titlebar-widget.kind-warning .sessions-account-titlebar-widget-icon,174.agent-sessions-workbench .sessions-account-titlebar-widget.kind-warning .sessions-account-titlebar-widget-label {175color: var(--vscode-statusBarItem-warningForeground);176}177178.agent-sessions-workbench .sessions-account-titlebar-widget.kind-prominent .sessions-account-titlebar-widget-badge:not(.dot-badge),179.agent-sessions-workbench .sessions-account-titlebar-widget.kind-warning .sessions-account-titlebar-widget-badge:not(.dot-badge) {180background: var(--vscode-activityBarBadge-background);181color: var(--vscode-activityBarBadge-foreground);182}183184.agent-sessions-workbench .sessions-account-titlebar-widget.kind-accent .sessions-account-titlebar-widget-badge:not(.dot-badge) {185background: var(--vscode-button-background);186color: var(--vscode-button-foreground);187}188189/* Panel (hover popup) */190191.agent-sessions-workbench .sessions-account-titlebar-panel {192display: flex;193flex-direction: column;194width: 360px;195max-width: 360px;196color: var(--vscode-foreground);197}198199.agent-sessions-workbench .sessions-account-titlebar-panel-header {200display: flex;201align-items: center;202gap: 6px;203min-height: 28px;204padding: 4px 8px;205border-bottom: 1px solid var(--vscode-menu-separatorBackground, var(--vscode-disabledForeground));206}207208.agent-sessions-workbench .sessions-account-titlebar-panel-avatar {209flex: 0 0 auto;210width: 20px;211height: 20px;212border-radius: 50%;213object-fit: cover;214border: 1px solid var(--vscode-commandCenter-border, var(--vscode-contrastBorder, transparent));215}216217.agent-sessions-workbench .sessions-account-titlebar-panel-title {218flex: 1 1 auto;219min-width: 0;220overflow: hidden;221text-overflow: ellipsis;222white-space: nowrap;223font-size: 12px;224font-weight: 500;225line-height: 18px;226}227228.agent-sessions-workbench .sessions-account-titlebar-panel-header-actions {229display: flex;230align-items: center;231justify-content: flex-end;232gap: 2px;233margin-left: auto;234}235236.agent-sessions-workbench .sessions-account-titlebar-panel-header-action {237display: inline-flex;238align-items: center;239justify-content: center;240width: 22px;241height: 22px;242padding: 0;243border: none;244border-radius: var(--vscode-cornerRadius-medium);245background: transparent;246color: var(--vscode-icon-foreground, var(--vscode-descriptionForeground));247cursor: default;248font-size: 14px !important;249}250251.agent-sessions-workbench .sessions-account-titlebar-panel-header-action:hover {252background: var(--vscode-toolbar-hoverBackground);253color: var(--vscode-foreground);254}255256.agent-sessions-workbench .sessions-account-titlebar-panel-header-action:active {257background: var(--vscode-toolbar-activeBackground);258color: var(--vscode-foreground);259}260261.agent-sessions-workbench .sessions-account-titlebar-panel-header-action:focus-visible {262outline: 1px solid var(--vscode-focusBorder);263outline-offset: -1px;264background: var(--vscode-list-focusBackground);265color: var(--vscode-list-focusForeground);266}267268.agent-sessions-workbench .sessions-account-titlebar-panel-header-action:disabled {269opacity: 0.5;270cursor: default;271}272273.monaco-hover.workbench-hover.sessions-account-titlebar-panel-hover,274.workbench-hover-container.locked .monaco-hover.workbench-hover.sessions-account-titlebar-panel-hover,275.workbench-hover-container:focus-within.locked .monaco-hover.workbench-hover.sessions-account-titlebar-panel-hover {276outline: none;277}278279.agent-sessions-workbench .sessions-account-titlebar-panel-content {280display: flex;281flex-direction: column;282min-height: 0;283border-top: 1px solid var(--vscode-menu-separatorBackground, var(--vscode-disabledForeground));284}285286.agent-sessions-workbench .sessions-account-titlebar-panel-summary {287padding: 12px 16px;288font-size: 12px;289line-height: 1.4;290color: var(--vscode-descriptionForeground);291}292293.agent-sessions-workbench .sessions-account-titlebar-panel-actions {294display: flex;295flex-direction: column;296gap: 0;297padding: 2px 0 6px 0;298}299300.agent-sessions-workbench .sessions-account-titlebar-panel-section {301display: flex;302flex-direction: column;303padding: 6px 0 0;304}305306/* The embedded chat status dashboard ships dividers/HRs and header borders307intended for its standalone tooltip presentation. The section headings308provide the only visual grouping we want here. */309.agent-sessions-workbench .sessions-account-titlebar-panel-section .chat-status-bar-entry-tooltip hr {310display: none;311}312313.agent-sessions-workbench .sessions-account-titlebar-panel-section .chat-status-bar-entry-tooltip > div.header,314.agent-sessions-workbench .sessions-account-titlebar-panel-section .chat-status-bar-entry-tooltip .contribution > div.header {315border-bottom: none;316padding-bottom: 0;317}318319/* Flatten contributed sub-sections (e.g. "Codebase Semantic Index") into320the parent Subscription section. The dashboard renders these non-collapsibly321(via `disableContributedSectionsCollapsible`); these rules just align the322header typography with the panel's quota-title style above it. */323.agent-sessions-workbench .sessions-account-titlebar-panel-section .chat-status-bar-entry-tooltip .collapsible-header.non-collapsible {324margin-top: 4px;325padding: 0 28px 0 0;326border-top: none;327background: none;328font-size: 12px;329line-height: 18px;330font-weight: 400;331color: var(--vscode-descriptionForeground);332}333334.agent-sessions-workbench .sessions-account-titlebar-panel-section .chat-status-bar-entry-tooltip .collapsible-header.non-collapsible .collapsible-label {335color: var(--vscode-foreground);336}337338.agent-sessions-workbench .sessions-account-titlebar-panel-section .chat-status-bar-entry-tooltip .collapsible-header.non-collapsible .collapsible-status {339margin-left: auto;340font-size: 11px;341line-height: 15px;342}343344.agent-sessions-workbench .sessions-account-titlebar-panel-section .chat-status-bar-entry-tooltip .collapsible-content > .collapsible-inner {345gap: 6px;346margin-top: 0;347margin-bottom: 0;348}349350.agent-sessions-workbench .sessions-account-titlebar-panel-section .chat-status-bar-entry-tooltip .section-description,351.agent-sessions-workbench .sessions-account-titlebar-panel-section .chat-status-bar-entry-tooltip .section-detail {352font-size: 11px;353line-height: 15px;354}355356.agent-sessions-workbench .sessions-account-titlebar-panel-section .chat-status-bar-entry-tooltip .section-detail {357padding-bottom: 4px;358}359360.agent-sessions-workbench .sessions-account-titlebar-panel-section-title {361padding: 4px 8px 2px;362font-size: 12px;363font-weight: 500;364line-height: 18px;365color: var(--vscode-foreground);366}367368/* Subscription section: place "Subscription" label and the dashboard's369plan-name + manage-action header on a single right-aligned row.370The dashboard's `div.header` is reparented into this row at runtime,371so it's no longer matched by chatStatus.css rules. */372.agent-sessions-workbench .sessions-account-titlebar-panel-section-header {373display: flex;374align-items: center;375gap: 8px;376padding: 4px 10px 2px 8px;377}378379.agent-sessions-workbench .sessions-account-titlebar-panel-section-header .sessions-account-titlebar-panel-section-title {380flex: 1 1 auto;381min-width: 0;382padding: 0;383}384385.agent-sessions-workbench .sessions-account-titlebar-panel-section-header > div.header {386flex: 0 0 auto;387display: flex;388align-items: center;389gap: 6px;390font-size: 12px;391line-height: 18px;392color: var(--vscode-descriptionForeground);393}394395.agent-sessions-workbench .sessions-account-titlebar-panel-section-header > div.header .header-label {396flex: 0 0 auto;397color: var(--vscode-descriptionForeground);398font-weight: 400;399font-size: 11px;400}401402.agent-sessions-workbench .sessions-account-titlebar-panel-section-header > div.header .monaco-action-bar {403flex: 0 0 auto;404}405406.agent-sessions-workbench .sessions-account-titlebar-panel-action.with-icon {407display: flex;408align-items: center;409gap: 6px;410height: 24px;411}412413.agent-sessions-workbench .sessions-account-titlebar-panel-action-icon {414display: inline-flex;415align-items: center;416justify-content: center;417width: 16px;418height: 16px;419flex: 0 0 auto;420color: var(--vscode-icon-foreground, var(--vscode-descriptionForeground));421/* `!important` to override `.codicon`'s own `font-size` rule. */422font-size: 14px !important;423}424425.agent-sessions-workbench .sessions-account-titlebar-panel-action.with-icon:hover .sessions-account-titlebar-panel-action-icon,426.agent-sessions-workbench .sessions-account-titlebar-panel-action.with-icon:focus-visible .sessions-account-titlebar-panel-action-icon {427color: inherit;428}429430.agent-sessions-workbench .sessions-account-titlebar-panel-action-label {431flex: 1 1 auto;432min-width: 0;433overflow: hidden;434text-overflow: ellipsis;435white-space: nowrap;436}437438.agent-sessions-workbench .sessions-account-titlebar-panel-separator {439height: 1px;440margin: 5px 0;441background: var(--vscode-menu-separatorBackground, var(--vscode-disabledForeground));442}443444.agent-sessions-workbench .sessions-account-titlebar-panel-action {445display: flex;446align-items: center;447width: auto;448box-sizing: border-box;449height: 24px;450margin: 0 4px;451padding: 0 6px;452border: none;453border-radius: var(--vscode-cornerRadius-medium);454background: transparent;455color: inherit;456font-size: 12px;457line-height: 1;458text-align: left;459cursor: default;460}461462.agent-sessions-workbench .sessions-account-titlebar-panel-action:hover {463background: var(--vscode-list-hoverBackground);464}465466.agent-sessions-workbench .sessions-account-titlebar-panel-action.checked,467.agent-sessions-workbench .sessions-account-titlebar-panel-action:active {468background: var(--vscode-list-activeSelectionBackground);469color: var(--vscode-list-activeSelectionForeground);470}471472.agent-sessions-workbench .sessions-account-titlebar-panel-action:focus-visible {473outline: 1px solid var(--vscode-focusBorder);474outline-offset: -1px;475background: var(--vscode-list-focusBackground);476color: var(--vscode-list-focusForeground);477}478479.agent-sessions-workbench .sessions-account-titlebar-panel-action:disabled {480opacity: 0.6;481cursor: default;482}483484.agent-sessions-workbench .sessions-account-titlebar-panel-action.primary-action {485margin: 4px 8px;486padding: 0 12px;487justify-content: center;488border-radius: var(--vscode-cornerRadius-medium);489background: var(--vscode-button-background);490color: var(--vscode-button-foreground);491font-weight: 500;492cursor: pointer;493}494495.agent-sessions-workbench .sessions-account-titlebar-panel-action.primary-action:hover {496background: var(--vscode-button-hoverBackground);497color: var(--vscode-button-foreground);498}499500.agent-sessions-workbench .sessions-account-titlebar-panel-action.primary-action.checked,501.agent-sessions-workbench .sessions-account-titlebar-panel-action.primary-action:active {502background: var(--vscode-button-secondaryHoverBackground, var(--vscode-button-hoverBackground));503color: var(--vscode-button-foreground);504}505506.agent-sessions-workbench .sessions-account-titlebar-panel-action.primary-action:focus-visible {507background: var(--vscode-button-background);508color: var(--vscode-button-foreground);509}510511.agent-sessions-workbench .sessions-account-titlebar-panel-action.primary-action:disabled {512opacity: 0.5;513background: var(--vscode-button-background);514color: var(--vscode-button-foreground);515cursor: default;516}517518/* Signed-out CTA inside the embedded chat status dashboard519(e.g. "Sign in to use AI Features"). The dashboard ships its own520default-styled <Button>; align it with the rest of the account menu521by tightening spacing and matching the panel's primary-action look. */522.agent-sessions-workbench .sessions-account-titlebar-panel-section.subscription .chat-status-bar-entry-tooltip {523display: flex;524flex-direction: column;525padding: 4px 8px 8px;526}527528.agent-sessions-workbench .sessions-account-titlebar-panel-section.subscription .chat-status-bar-entry-tooltip > div.description {529margin: 0;530padding: 0 2px;531font-size: 11px;532line-height: 16px;533color: var(--vscode-descriptionForeground);534}535536.agent-sessions-workbench .sessions-account-titlebar-panel-section.subscription .chat-status-bar-entry-tooltip > .monaco-button {537width: 100%;538height: 26px;539margin: 0;540padding: 0 12px;541border-radius: var(--vscode-cornerRadius-medium);542font-size: 12px;543font-weight: 500;544line-height: 1;545}546547/* Motion animations */548549.monaco-enable-motion .agent-sessions-workbench .sessions-account-titlebar-widget,550.agent-sessions-workbench.monaco-enable-motion .sessions-account-titlebar-widget {551transition: background-color 150ms ease-out;552}553554.monaco-enable-motion .agent-sessions-workbench .sessions-account-titlebar-widget-icon,555.monaco-enable-motion .agent-sessions-workbench .sessions-account-titlebar-widget-label,556.monaco-enable-motion .agent-sessions-workbench .sessions-account-titlebar-widget-badge,557.agent-sessions-workbench.monaco-enable-motion .sessions-account-titlebar-widget-icon,558.agent-sessions-workbench.monaco-enable-motion .sessions-account-titlebar-widget-label,559.agent-sessions-workbench.monaco-enable-motion .sessions-account-titlebar-widget-badge {560transition: opacity 150ms ease-out, transform 150ms ease-out, background-color 150ms ease-out, color 150ms ease-out;561}562563.monaco-enable-motion .agent-sessions-workbench .sessions-account-titlebar-widget:hover .sessions-account-titlebar-widget-badge,564.monaco-enable-motion .agent-sessions-workbench .sessions-account-titlebar-widget.menu-visible .sessions-account-titlebar-widget-badge,565.monaco-enable-motion .agent-sessions-workbench .action-item:focus-within .sessions-account-titlebar-widget .sessions-account-titlebar-widget-badge,566.agent-sessions-workbench.monaco-enable-motion .sessions-account-titlebar-widget:hover .sessions-account-titlebar-widget-badge,567.agent-sessions-workbench.monaco-enable-motion .sessions-account-titlebar-widget.menu-visible .sessions-account-titlebar-widget-badge,568.agent-sessions-workbench.monaco-enable-motion .action-item:focus-within .sessions-account-titlebar-widget .sessions-account-titlebar-widget-badge {569transform: scale(1.04);570}571572/* Reduced motion */573574.monaco-reduce-motion .agent-sessions-workbench .sessions-account-titlebar-widget,575.monaco-reduce-motion .agent-sessions-workbench .sessions-account-titlebar-widget-icon,576.monaco-reduce-motion .agent-sessions-workbench .sessions-account-titlebar-widget-label,577.monaco-reduce-motion .agent-sessions-workbench .sessions-account-titlebar-widget-badge,578.agent-sessions-workbench.monaco-reduce-motion .sessions-account-titlebar-widget,579.agent-sessions-workbench.monaco-reduce-motion .sessions-account-titlebar-widget-icon,580.agent-sessions-workbench.monaco-reduce-motion .sessions-account-titlebar-widget-label,581.agent-sessions-workbench.monaco-reduce-motion .sessions-account-titlebar-widget-badge {582transition-duration: 0ms !important;583}584585586