MCPcopy
hub / github.com/intentui/intentui / ResponsiveNavigation

Function ResponsiveNavigation

src/components/responsive-navigation.tsx:50–230  ·  view source on GitHub ↗
({ className, popover }: ResponsiveNavigationProps)

Source from the content-addressed store, hash-verified

48 popover?: Pick<PopoverProps, 'className'>
49}
50export function ResponsiveNavigation({ className, popover }: ResponsiveNavigationProps) {
51 const { contains } = useFilter({ sensitivity: 'base' })
52
53 const [open, setOpen] = useState(false)
54 const pathname = usePathname()
55
56 useEffect(() => {
57 setOpen(false)
58 }, [pathname])
59 return (
60 <nav
61 className={twMerge(
62 'sticky top-0 z-40 flex items-center bg-bg px-2 py-2 lg:hidden',
63 pathname === '/' && 'bg-transparent',
64 className
65 )}
66 >
67 <div className="flex items-center gap-x-2">
68 <MenuTrigger>
69 <Button
70 size="sq-sm"
71 onPress={() => setOpen((p) => !p)}
72 intent="plain"
73 className="pressed:bg-transparent outline-hidden"
74 >
75 <span className="relative flex h-8 w-(--width) items-center justify-center [--width:--spacing(4.5)]">
76 <span className="relative size-(--width)">
77 <span
78 className={twJoin(
79 'absolute left-0 block h-0.5 w-(--width) bg-fg transition-all duration-100',
80 open ? 'top-[0.4rem] -rotate-45' : 'top-1'
81 )}
82 />
83 <span
84 className={twJoin(
85 'absolute left-0 block h-0.5 w-(--width) bg-fg transition-all duration-100',
86 open ? 'top-[0.4rem] rotate-45' : 'top-[--spacing(2.6)]'
87 )}
88 />
89 </span>
90 <span className="sr-only">Toggle Menu</span>
91 </span>
92 </Button>
93 <Popover
94 placement="bottom"
95 offset={10}
96 onOpenChange={setOpen}
97 isOpen={open}
98 className={cx(
99 'placement-bottom:entering:slide-in-from-top-1 -mt-1 w-full overflow-y-auto bg-linear-to-b from-bg to-bg/90 px-2 outline-hidden backdrop-blur-xl entering:ease-out [--gap:--spacing(6)]',
100 'entering:fade-in exiting:fade-out entering:animate-in exiting:animate-out',
101 'slide-out-to-top-1 slide-in-from-top-1',
102 pathname === '/' && 'from-blue-50 dark:from-[#151518]',
103 popover?.className
104 )}
105 containerPadding={0}
106 >
107 <Autocomplete filter={contains}>

Callers

nothing calls this directly

Calls 1

cxFunction · 0.90

Tested by

no test coverage detected