navigation/@mihcm/ui·v0.21.0·stable
TopBar
Segmented app header with Logo, home/back parallelogram segments, notifications, profile, dividers, and utility actions. Universal across web and native with a simplified native bar.
Live preview
Adjust the controls on the right; the preview and code update in real time.
example.tsxtsx
import {
TopBar,
TopBarLogo,
TopBarHomeButton,
TopBarBackLink,
TopBarMenuButton,
TopBarNotification,
TopBarProfile,
TopBarDivider,
TopBarAction,
} from '@mihcm/ui/TopBar';
export function Example() {
return (
<TopBar
start={
<>
<TopBarMenuButton onClick={() => setNavOpen(true)} />
<TopBarLogo />
<TopBarHomeButton icon={<HomeIcon />} />
<TopBarBackLink href="/">Back to main</TopBarBackLink>
<TopBarNotification icon={<BellIcon />} count={5} />
</>
}
end={
<>
<TopBarProfile
name="Good Morning Yashi"
subtitle="Edit Profile"
avatar={<ProfileAvatar />}
/>
<TopBarDivider />
<TopBarAction icon={<HeadphonesIcon />} aria-label="Support" className="hidden lg:flex" />
<TopBarAction icon={<MoreIcon />} aria-label="More actions" className="lg:flex" />
<TopBarDivider />
<TopBarAction icon={<SparklesIcon />} className="hidden lg:flex">
What's new
</TopBarAction>
<TopBarDivider className="hidden md:block" />
<TopBarAction className="hidden md:inline-flex">Logout</TopBarAction>
</>
}
/>
);
}Install
Both paths are valid. CLI ships the source into your repo (you own it). Install pins via npm.
npx @mihcm/cli add TopBarCopies the source into
components/ds/TopBar.tsx. You own the file. Use --out to override the directory or --force to overwrite.