MCPcopy Create free account
hub / github.com/mantinedev/ui.mantine.dev / HeaderMenu

Function HeaderMenu

lib/HeaderMenu/HeaderMenu.tsx:43–132  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

41];
42
43export function HeaderMenu() {
44 const [opened, { toggle, close }] = useDisclosure(false);
45
46 const items = links.map((link) => {
47 const menuItems = link.links?.map((item) => (
48 <Menu.Item key={item.link}>{item.label}</Menu.Item>
49 ));
50
51 if (menuItems) {
52 return (
53 <Menu key={link.label} trigger="hover" transitionProps={{ exitDuration: 0 }} withinPortal>
54 <Menu.Target>
55 <a
56 href={link.link}
57 className={classes.link}
58 onClick={(event) => event.preventDefault()}
59 >
60 <Center>
61 <span className={classes.linkLabel}>{link.label}</span>
62 <IconChevronDown size={14} stroke={1.5} />
63 </Center>
64 </a>
65 </Menu.Target>
66 <Menu.Dropdown>{menuItems}</Menu.Dropdown>
67 </Menu>
68 );
69 }
70
71 return (
72 <a
73 key={link.label}
74 href={link.link}
75 className={classes.link}
76 onClick={(event) => event.preventDefault()}
77 >
78 {link.label}
79 </a>
80 );
81 });
82
83 return (
84 <header className={classes.header}>
85 <Container size="md">
86 <div className={classes.inner}>
87 <MantineLogo size={28} />
88 <Group gap={5} visibleFrom="sm">
89 {items}
90 </Group>
91 <Burger
92 opened={opened}
93 onClick={toggle}
94 size="sm"
95 hiddenFrom="sm"
96 aria-label="Toggle navigation"
97 />
98 </div>
99 </Container>
100

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected