@@ -313,15 +313,12 @@ export const ChatHeader = memo(function ChatHeader(props: {
313313 { groupIndex > 0 ? (
314314 < hr className = "my-1 h-px border-0 bg-border/30" />
315315 ) : null }
316- < div className = "sticky top-0 z-10 flex h-[30px] shrink-0 items-stretch rounded-md bg-popover/60 backdrop-blur-xl supports-[backdrop-filter]:bg-popover/40" >
316+ < div className = "group sticky top-0 z-10 flex h-[30px] shrink-0 items-stretch rounded-md bg-popover/60 backdrop-blur-xl transition-colors hover:bg-muted/40 focus-within:bg-muted/40 supports-[backdrop-filter]:bg-popover/40" >
317317 < button
318318 type = "button"
319319 onClick = { ( ) => toggleGroup ( group . id ) }
320320 aria-expanded = { expanded }
321- title = {
322- expanded ? t ( "chat.collapseProvider" ) : t ( "chat.expandProvider" )
323- }
324- className = "model-selector-group-label flex min-w-0 flex-1 cursor-pointer items-center gap-1.5 rounded-l-md px-2 py-0 text-left text-xs font-medium uppercase tracking-wider text-muted-foreground/80 transition-colors hover:bg-muted/40 focus-visible:bg-muted/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30 dark:text-white/80"
321+ className = "model-selector-group-label flex min-w-0 flex-1 cursor-pointer items-center gap-1.5 rounded-l-md px-2 py-0 text-left text-xs font-medium uppercase tracking-wider text-muted-foreground/80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30 dark:text-white/80"
325322 >
326323 < ProviderBrandIcon
327324 type = { group . providerType }
@@ -330,28 +327,37 @@ export const ChatHeader = memo(function ChatHeader(props: {
330327 < span className = "min-w-0 flex-1 truncate normal-case tracking-normal" >
331328 { group . name }
332329 </ span >
333- < span className = "inline-flex h-4 min-w-[1.1rem] shrink-0 items-center justify-center rounded-full bg-muted/70 px-1 text-[calc(10px*var(--zone-font-scale,1))] tabular-nums tracking-normal" >
334- { group . opts . length }
335- </ span >
336- < ChevronDown
337- className = { cn (
338- "h-3.5 w-3.5 shrink-0 transition-transform duration-200" ,
339- expanded && "rotate-180" ,
340- ) }
341- />
342330 </ button >
343331 < button
344332 type = "button"
345333 onClick = { ( ) => {
346334 setIsModelPickerOpen ( false ) ;
347335 onOpenSettings ( "providers" , group . id ) ;
348336 } }
349- title = { `${ t ( "settings.editProvider" ) } : ${ group . name } ` }
350337 aria-label = { `${ t ( "settings.editProvider" ) } : ${ group . name } ` }
351- className = "flex w-7 shrink-0 cursor-pointer items-center justify-center rounded-r-md text-muted-foreground/70 transition-colors hover:bg-muted/60 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30"
338+ className = "pointer-events-none flex w-7 max-w-0 shrink-0 cursor-pointer items-center justify-center overflow-hidden text-muted-foreground/70 opacity-0 transition-[max-width,opacity,color,background-color] duration-150 group- hover:max-w-7 group-hover:pointer-events-auto group-hover:opacity-100 group-focus-within:max-w-7 group-focus-within:pointer-events-auto group-focus-within:opacity-100 hover: bg-muted/60 hover:text-foreground focus-visible:max-w-7 focus-visible:pointer-events-auto focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30"
352339 >
353340 < Pencil className = "h-3.5 w-3.5" />
354341 </ button >
342+ < button
343+ type = "button"
344+ onClick = { ( ) => toggleGroup ( group . id ) }
345+ aria-expanded = { expanded }
346+ aria-label = { `${
347+ expanded ? t ( "chat.collapseProvider" ) : t ( "chat.expandProvider" )
348+ } : ${ group . name } `}
349+ className = "model-selector-group-label flex shrink-0 cursor-pointer items-center gap-1.5 rounded-r-md px-2 py-0 text-muted-foreground/80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30 dark:text-white/80"
350+ >
351+ < span className = "inline-flex h-4 min-w-[1.1rem] shrink-0 items-center justify-center rounded-full bg-muted/70 px-1 text-[calc(10px*var(--zone-font-scale,1))] tabular-nums tracking-normal" >
352+ { group . opts . length }
353+ </ span >
354+ < ChevronDown
355+ className = { cn (
356+ "h-3.5 w-3.5 shrink-0 transition-transform duration-200" ,
357+ expanded && "rotate-180" ,
358+ ) }
359+ />
360+ </ button >
355361 </ div >
356362 { expanded
357363 ? group . opts . map ( ( option ) => {
0 commit comments