Template
8 lines
937 B
TypeScript
8 lines
937 B
TypeScript
import { Icon } from './Icon'
|
|
|
|
type TopbarProps = { query: string; onQueryChange: (value: string) => void; onMenuToggle: () => void }
|
|
|
|
export function Topbar({ query, onQueryChange, onMenuToggle }: TopbarProps) {
|
|
return <header className="topbar"><div className="brand"><div className="brand-mark"><span /></div><b>northstar</b><span className="version">v0.8.2</span></div><div className="top-search"><Icon name="search" size={16} /><input value={query} onChange={e => onQueryChange(e.target.value)} placeholder="Search components, tokens, docs..." /><kbd>⌘ K</kbd></div><nav className="top-links"><a href="#docs">Docs</a><a href="#github">GitHub ↗</a><button className="icon-button" aria-label="Toggle theme"><Icon name="sun" size={17} /></button><button className="avatar">MS</button></nav><button className="mobile-menu icon-button" onClick={onMenuToggle} aria-label="Toggle navigation"><Icon name="menu" /></button></header>
|
|
}
|