TypeScript · 784 bytes Raw Blame History
1 import type { ReactNode } from "react";
2
3 interface PaneHeaderProps {
4 title: string;
5 subtitle?: string;
6 right?: ReactNode;
7 }
8
9 export function PaneHeader({ title, subtitle, right }: PaneHeaderProps) {
10 return (
11 <div className="flex h-10 shrink-0 items-center justify-between gap-2 border-b border-border bg-bg-1 px-3">
12 <div className="flex min-w-0 items-center gap-2">
13 <span className="text-xs font-semibold uppercase tracking-wide text-fg-2">
14 {title}
15 </span>
16 {subtitle && (
17 <span
18 className="min-w-0 truncate text-[11px] text-fg-3"
19 title={subtitle}
20 >
21 {subtitle}
22 </span>
23 )}
24 </div>
25 {right && <div className="shrink-0">{right}</div>}
26 </div>
27 );
28 }