Path: blob/main/src/vs/sessions/contrib/agentFeedback/browser/media/agentFeedbackEditorWidget.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/* Main widget container - speech bubble style */6.agent-feedback-widget {7position: absolute;8max-width: 280px;9min-width: 180px;10background-color: var(--vscode-editorWidget-background);11border: 1px solid var(--vscode-editorWidget-border, var(--vscode-contrastBorder));12border-radius: 8px;13box-shadow: var(--vscode-shadow-lg);14font-size: 12px;15line-height: 1.4;16opacity: 0;17transition: opacity 0.2s ease-in-out;18z-index: 10;19}2021.agent-feedback-widget.visible {22opacity: 1;23}2425.agent-feedback-widget.fadeOut {26animation: agentFeedbackFadeOut 150ms ease-out forwards;27}2829@keyframes agentFeedbackFadeOut {30from { opacity: 1; }31to { opacity: 0; }32}3334/* Arrow pointer pointing left toward the code */35.agent-feedback-widget-arrow {36position: absolute;37left: -6px;38top: 11px;39width: 0;40height: 0;41border-top: 6px solid transparent;42border-bottom: 6px solid transparent;43border-right: 6px solid var(--vscode-editorWidget-border, var(--vscode-contrastBorder));44display: none;45}4647.agent-feedback-widget.collapsed .agent-feedback-widget-arrow {48display: none;49}5051.agent-feedback-widget-arrow::after {52content: '';53position: absolute;54left: 2px;55top: -5px;56width: 0;57height: 0;58border-top: 5px solid transparent;59border-bottom: 5px solid transparent;60border-right: 5px solid var(--vscode-editorWidget-background);61}6263/* Header */64.agent-feedback-widget-header {65display: flex;66align-items: center;67padding: 4px 4px 4px 8px;68border-bottom: 1px solid var(--vscode-editorWidget-border, var(--vscode-widget-border));69border-radius: 8px 8px 0 0;70overflow: hidden;71cursor: pointer;72gap: 6px;73}7475.agent-feedback-widget.collapsed .agent-feedback-widget-header {76border-bottom: none;77border-radius: 8px 8px 8px 8px;78}7980.agent-feedback-widget-header:hover {81background-color: var(--vscode-list-hoverBackground);82}8384/* Title */85.agent-feedback-widget-title {86font-weight: 500;87line-height: 12px;88color: var(--vscode-foreground);89white-space: nowrap;90overflow: hidden;91text-overflow: ellipsis;92min-width: 0;93}9495/* Spacer to push buttons to the right */96.agent-feedback-widget-spacer {97flex: 1;98}99100/* Toggle button */101.agent-feedback-widget-toggle {102display: flex;103align-items: center;104justify-content: center;105width: 22px;106height: 22px;107min-width: 22px;108border-radius: var(--vscode-cornerRadius-medium);109cursor: pointer;110color: var(--vscode-foreground);111opacity: 0.7;112transition: opacity 0.1s;113}114115.agent-feedback-widget-toggle:hover {116opacity: 1;117background-color: var(--vscode-toolbar-hoverBackground);118}119120/* Dismiss button */121/* Body - collapsible */122.agent-feedback-widget-body {123transition: max-height 0.2s ease-in-out, padding 0.2s ease-in-out;124border-radius: 0 0 8px 8px;125overflow: hidden;126}127128.agent-feedback-widget-body.collapsed {129max-height: 0;130overflow: hidden;131padding: 0;132}133134/* Individual feedback item */135.agent-feedback-widget-item {136display: flex;137flex-direction: column;138padding: 4px 4px 8px 8px;139border-bottom: 1px solid var(--vscode-editorWidget-border, var(--vscode-widget-border));140cursor: pointer;141position: relative;142gap: 6px;143}144145.agent-feedback-widget-item:last-child {146border-bottom: none;147}148149.agent-feedback-widget-item:hover {150background-color: var(--vscode-list-hoverBackground);151}152153.agent-feedback-widget-item.focused {154background-color: var(--vscode-list-activeSelectionBackground);155color: var(--vscode-list-activeSelectionForeground);156}157158.agent-feedback-widget-item-header {159display: flex;160align-items: center;161justify-content: space-between;162gap: 8px;163}164165.agent-feedback-widget-item-meta {166display: flex;167align-items: center;168gap: 6px;169min-width: 0;170flex-wrap: wrap;171}172173.agent-feedback-widget-item-actions {174margin-left: auto;175flex: 0 0 auto;176opacity: 0;177visibility: hidden;178pointer-events: none;179}180181.agent-feedback-widget-item:hover .agent-feedback-widget-item-actions {182opacity: 1;183visibility: visible;184pointer-events: auto;185}186187.agent-feedback-widget-item-type {188display: inline-flex;189align-items: center;190padding: 1px 6px;191border-radius: 4px;192font-size: 10px;193font-weight: 600;194letter-spacing: 0.2px;195background: color-mix(in srgb, var(--vscode-editorWidget-border, var(--vscode-widget-border)) 25%, transparent);196color: var(--vscode-descriptionForeground);197}198199.agent-feedback-widget-item-codeReview .agent-feedback-widget-item-type {200background: color-mix(in srgb, var(--vscode-editorWarning-foreground) 22%, var(--vscode-editorWidget-background));201color: var(--vscode-editorWarning-foreground);202}203204.agent-feedback-widget-item-prReview .agent-feedback-widget-item-type {205background: color-mix(in srgb, var(--vscode-editorInfo-foreground) 22%, var(--vscode-editorWidget-background));206color: var(--vscode-editorInfo-foreground);207}208209/* Line info */210.agent-feedback-widget-line-info {211font-size: 10px;212font-weight: 600;213color: var(--vscode-descriptionForeground);214text-transform: uppercase;215letter-spacing: 0.5px;216}217218/* Feedback text */219.agent-feedback-widget-text {220color: var(--vscode-foreground);221word-wrap: break-word;222}223224.agent-feedback-widget-text .rendered-markdown p {225margin: 0;226}227228.agent-feedback-widget-text .rendered-markdown code {229font-family: var(--monaco-monospace-font);230font-size: 11px;231padding: 1px 4px;232border-radius: 3px;233background: color-mix(in srgb, var(--vscode-editorWidget-border, var(--vscode-widget-border)) 25%, transparent);234}235236.agent-feedback-widget-suggestion {237display: flex;238flex-direction: column;239gap: 6px;240margin-top: 8px;241padding: 0px 8px 4px 12px;242}243244.agent-feedback-widget-item-codeReview .agent-feedback-widget-suggestion {245border-left: 1px solid color-mix(in srgb, var(--vscode-editorWarning-foreground) 50%, transparent);246}247248.agent-feedback-widget-item-prReview .agent-feedback-widget-suggestion {249border-left: 1px solid color-mix(in srgb, var(--vscode-editorInfo-foreground) 50%, transparent);250}251252.agent-feedback-widget-suggestion-header {253font-size: 10px;254font-weight: 600;255text-transform: uppercase;256letter-spacing: 0.4px;257color: var(--vscode-descriptionForeground);258}259260.agent-feedback-widget-suggestion-edit {261display: flex;262flex-direction: column;263gap: 4px;264}265266.agent-feedback-widget-suggestion-text {267margin: 0;268padding: 6px 8px;269border-radius: 4px;270overflow-x: auto;271white-space: pre-wrap;272font-family: var(--monaco-monospace-font);273font-size: 11px;274line-height: 1.45;275background: var(--vscode-editorWidget-background);276}277278/* Gutter decoration for range indicator on hover */279.agent-feedback-widget-range-glyph {280margin-left: 8px;281z-index: 5;282border-left: 2px solid var(--vscode-editorGutter-modifiedBackground);283}284285/* Inline edit textarea */286.agent-feedback-widget-text.editing {287padding: 0 4px 0 0;288}289290.agent-feedback-widget-edit-textarea {291width: 100%;292min-height: 22px;293padding: 4px 6px;294border: 1px solid var(--vscode-focusBorder);295border-radius: 4px;296background: var(--vscode-input-background);297color: var(--vscode-input-foreground);298font: inherit;299font-size: 12px;300line-height: 1.4;301resize: none;302overflow: hidden;303box-sizing: border-box;304}305306.agent-feedback-widget-edit-textarea:focus {307outline: none;308border-color: var(--vscode-focusBorder);309}310311312