"use client" import * as React from "react" import { cva } from "class-variance-authority" import { cn } from "cn" import { composeRenderProps, Header as HeaderPrimitive, MenuItem as MenuItemPrimitive, Menu as MenuPrimitive, MenuSection as MenuSectionPrimitive, MenuTrigger as MenuTriggerPrimitive, Popover as PopoverPrimitive, Separator as SeparatorPrimitive, SubmenuTrigger as SubmenuTriggerPrimitive, type MenuItemProps as MenuItemPrimitiveProps, type MenuSectionProps as MenuSectionPrimitiveProps, } from "react-aria-components" import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder" function DropdownMenuTrigger({ ...props }: React.ComponentProps) { return } function DropdownMenu({ "data-slot": dataSlot = "dropdown-menu-content", placement = "bottom start", offset = 4, crossOffset = 0, className, children, ...props }: Omit< React.ComponentProps>, "children" | "className" > & Pick< React.ComponentProps, "placement" | "offset" | "crossOffset" > & { "data-slot"?: string className?: string children?: React.ReactNode }) { return ( {children} ) } function DropdownMenuGroup({ ...props }: Omit, "children"> & { children?: React.ReactNode }) { return } function DropdownMenuLabel({ className, inset, ...props }: React.ComponentProps & { inset?: boolean }) { return ( ) } const dropdownMenuItemVariants = cva( "group/dropdown-menu-item relative flex cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0", { variants: { selectionMode: { none: "cn-dropdown-menu-item", single: "cn-dropdown-menu-radio-item", multiple: "cn-dropdown-menu-checkbox-item", }, }, } ) function DropdownMenuItem({ className, inset, variant = "default", children, ...props }: MenuItemPrimitiveProps & { inset?: boolean variant?: "default" | "destructive" }) { return ( cn(dropdownMenuItemVariants({ selectionMode }), className) )} {...props} > {composeRenderProps( children, (children, { isSelected, selectionMode }) => ( <> {selectionMode !== "none" ? ( {isSelected ? ( ) : null} ) : null} {children} ) )} ) } function DropdownMenuSub({ ...props }: React.ComponentProps) { return } function DropdownMenuSubTrigger({ className, inset, children, ...props }: MenuItemPrimitiveProps & { inset?: boolean }) { return ( {composeRenderProps(children, (children) => ( <> {children} ))} ) } function DropdownMenuSubContent({ placement = "end top", crossOffset = -3, offset = 0, className, ...props }: React.ComponentProps) { return ( ) } function DropdownMenuSeparator({ className, ...props }: React.ComponentProps) { return ( ) } function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<"span">) { return ( ) } export { DropdownMenuTrigger, DropdownMenu, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, }