stunning screenshots in seconds https://moocup.jaydip.me
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 234 lines 8.0 kB view raw
1import * as React from "react" 2import * as MenubarPrimitive from "@radix-ui/react-menubar" 3import { Check, ChevronRight, Circle } from "lucide-react" 4 5import { cn } from "@/lib/utils" 6 7const MenubarMenu = MenubarPrimitive.Menu 8 9const MenubarGroup = MenubarPrimitive.Group 10 11const MenubarPortal = MenubarPrimitive.Portal 12 13const MenubarSub = MenubarPrimitive.Sub 14 15const MenubarRadioGroup = MenubarPrimitive.RadioGroup 16 17const Menubar = React.forwardRef< 18 React.ElementRef<typeof MenubarPrimitive.Root>, 19 React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root> 20>(({ className, ...props }, ref) => ( 21 <MenubarPrimitive.Root 22 ref={ref} 23 className={cn( 24 "flex h-10 items-center space-x-1 rounded-md border bg-background p-1", 25 className 26 )} 27 {...props} 28 /> 29)) 30Menubar.displayName = MenubarPrimitive.Root.displayName 31 32const MenubarTrigger = React.forwardRef< 33 React.ElementRef<typeof MenubarPrimitive.Trigger>, 34 React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger> 35>(({ className, ...props }, ref) => ( 36 <MenubarPrimitive.Trigger 37 ref={ref} 38 className={cn( 39 "flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-hidden focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground", 40 className 41 )} 42 {...props} 43 /> 44)) 45MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName 46 47const MenubarSubTrigger = React.forwardRef< 48 React.ElementRef<typeof MenubarPrimitive.SubTrigger>, 49 React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> & { 50 inset?: boolean 51 } 52>(({ className, inset, children, ...props }, ref) => ( 53 <MenubarPrimitive.SubTrigger 54 ref={ref} 55 className={cn( 56 "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground", 57 inset && "pl-8", 58 className 59 )} 60 {...props} 61 > 62 {children} 63 <ChevronRight className="ml-auto h-4 w-4" /> 64 </MenubarPrimitive.SubTrigger> 65)) 66MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName 67 68const MenubarSubContent = React.forwardRef< 69 React.ElementRef<typeof MenubarPrimitive.SubContent>, 70 React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent> 71>(({ className, ...props }, ref) => ( 72 <MenubarPrimitive.SubContent 73 ref={ref} 74 className={cn( 75 "z-50 min-w-32 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", 76 className 77 )} 78 {...props} 79 /> 80)) 81MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName 82 83const MenubarContent = React.forwardRef< 84 React.ElementRef<typeof MenubarPrimitive.Content>, 85 React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content> 86>( 87 ( 88 { className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, 89 ref 90 ) => ( 91 <MenubarPrimitive.Portal> 92 <MenubarPrimitive.Content 93 ref={ref} 94 align={align} 95 alignOffset={alignOffset} 96 sideOffset={sideOffset} 97 className={cn( 98 "z-50 min-w-48 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", 99 className 100 )} 101 {...props} 102 /> 103 </MenubarPrimitive.Portal> 104 ) 105) 106MenubarContent.displayName = MenubarPrimitive.Content.displayName 107 108const MenubarItem = React.forwardRef< 109 React.ElementRef<typeof MenubarPrimitive.Item>, 110 React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> & { 111 inset?: boolean 112 } 113>(({ className, inset, ...props }, ref) => ( 114 <MenubarPrimitive.Item 115 ref={ref} 116 className={cn( 117 "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50", 118 inset && "pl-8", 119 className 120 )} 121 {...props} 122 /> 123)) 124MenubarItem.displayName = MenubarPrimitive.Item.displayName 125 126const MenubarCheckboxItem = React.forwardRef< 127 React.ElementRef<typeof MenubarPrimitive.CheckboxItem>, 128 React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem> 129>(({ className, children, checked, ...props }, ref) => ( 130 <MenubarPrimitive.CheckboxItem 131 ref={ref} 132 className={cn( 133 "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50", 134 className 135 )} 136 checked={checked} 137 {...props} 138 > 139 <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center"> 140 <MenubarPrimitive.ItemIndicator> 141 <Check className="h-4 w-4" /> 142 </MenubarPrimitive.ItemIndicator> 143 </span> 144 {children} 145 </MenubarPrimitive.CheckboxItem> 146)) 147MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName 148 149const MenubarRadioItem = React.forwardRef< 150 React.ElementRef<typeof MenubarPrimitive.RadioItem>, 151 React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem> 152>(({ className, children, ...props }, ref) => ( 153 <MenubarPrimitive.RadioItem 154 ref={ref} 155 className={cn( 156 "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50", 157 className 158 )} 159 {...props} 160 > 161 <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center"> 162 <MenubarPrimitive.ItemIndicator> 163 <Circle className="h-2 w-2 fill-current" /> 164 </MenubarPrimitive.ItemIndicator> 165 </span> 166 {children} 167 </MenubarPrimitive.RadioItem> 168)) 169MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName 170 171const MenubarLabel = React.forwardRef< 172 React.ElementRef<typeof MenubarPrimitive.Label>, 173 React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> & { 174 inset?: boolean 175 } 176>(({ className, inset, ...props }, ref) => ( 177 <MenubarPrimitive.Label 178 ref={ref} 179 className={cn( 180 "px-2 py-1.5 text-sm font-semibold", 181 inset && "pl-8", 182 className 183 )} 184 {...props} 185 /> 186)) 187MenubarLabel.displayName = MenubarPrimitive.Label.displayName 188 189const MenubarSeparator = React.forwardRef< 190 React.ElementRef<typeof MenubarPrimitive.Separator>, 191 React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator> 192>(({ className, ...props }, ref) => ( 193 <MenubarPrimitive.Separator 194 ref={ref} 195 className={cn("-mx-1 my-1 h-px bg-muted", className)} 196 {...props} 197 /> 198)) 199MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName 200 201const MenubarShortcut = ({ 202 className, 203 ...props 204}: React.HTMLAttributes<HTMLSpanElement>) => { 205 return ( 206 <span 207 className={cn( 208 "ml-auto text-xs tracking-widest text-muted-foreground", 209 className 210 )} 211 {...props} 212 /> 213 ) 214} 215MenubarShortcut.displayname = "MenubarShortcut" 216 217export { 218 Menubar, 219 MenubarMenu, 220 MenubarTrigger, 221 MenubarContent, 222 MenubarItem, 223 MenubarSeparator, 224 MenubarLabel, 225 MenubarCheckboxItem, 226 MenubarRadioGroup, 227 MenubarRadioItem, 228 MenubarPortal, 229 MenubarSubContent, 230 MenubarSubTrigger, 231 MenubarGroup, 232 MenubarSub, 233 MenubarShortcut, 234}