TypeScript 97.5%
SQL 1.4%
Python 0.8%
1"use client";2import * as React from "react";3import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";4import { Check } from "lucide-react";5import { cn } from "@/lib/utils";67export const DropdownMenu = DropdownMenuPrimitive.Root;8export const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;9export const DropdownMenuGroup = DropdownMenuPrimitive.Group;10export const DropdownMenuPortal = DropdownMenuPrimitive.Portal;1112export const DropdownMenuContent = React.forwardRef<React.ElementRef<typeof DropdownMenuPrimitive.Content>, React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>>(({ className, sideOffset = 6, ...props }, ref) => (13 <DropdownMenuPrimitive.Portal>14 <DropdownMenuPrimitive.Content15 ref={ref}16 sideOffset={sideOffset}17 className={cn("z-50 min-w-[10rem] overflow-hidden rounded-md border border-border bg-bg-elevated p-1 text-fg shadow-md data-[state=open]:animate-fade-in", className)}18 {...props}19 />20 </DropdownMenuPrimitive.Portal>21));22DropdownMenuContent.displayName = "DropdownMenuContent";2324export const DropdownMenuItem = React.forwardRef<React.ElementRef<typeof DropdownMenuPrimitive.Item>, React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & { inset?: boolean; destructive?: boolean }>(25 ({ className, inset, destructive, ...props }, ref) => (26 <DropdownMenuPrimitive.Item27 ref={ref}28 className={cn(29 "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-[13px] outline-none transition-colors focus:bg-bg-muted data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:size-4 [&_svg]:text-fg-subtle",30 inset && "pl-8",31 destructive && "text-danger focus:bg-danger-soft [&_svg]:text-danger",32 className,33 )}34 {...props}35 />36 ),37);38DropdownMenuItem.displayName = "DropdownMenuItem";3940export const DropdownMenuCheckboxItem = React.forwardRef<React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>, React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>>(({ className, children, checked, ...props }, ref) => (41 <DropdownMenuPrimitive.CheckboxItem42 ref={ref}43 className={cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-[13px] outline-none transition-colors focus:bg-bg-muted data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className)}44 checked={checked}45 {...props}46 >47 <span className="absolute left-2 flex size-3.5 items-center justify-center">48 <DropdownMenuPrimitive.ItemIndicator>49 <Check className="size-3.5" />50 </DropdownMenuPrimitive.ItemIndicator>51 </span>52 {children}53 </DropdownMenuPrimitive.CheckboxItem>54));55DropdownMenuCheckboxItem.displayName = "DropdownMenuCheckboxItem";5657export const DropdownMenuLabel = React.forwardRef<React.ElementRef<typeof DropdownMenuPrimitive.Label>, React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label>>(({ className, ...props }, ref) => (58 <DropdownMenuPrimitive.Label ref={ref} className={cn("px-2 py-1.5 text-[11px] font-medium uppercase tracking-wide text-fg-subtle", className)} {...props} />59));60DropdownMenuLabel.displayName = "DropdownMenuLabel";6162export const DropdownMenuSeparator = React.forwardRef<React.ElementRef<typeof DropdownMenuPrimitive.Separator>, React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>>(({ className, ...props }, ref) => (63 <DropdownMenuPrimitive.Separator ref={ref} className={cn("-mx-1 my-1 h-px bg-border", className)} {...props} />64));65DropdownMenuSeparator.displayName = "DropdownMenuSeparator";66