'use client' import * as Headless from '@headlessui/react' import clsx from 'clsx' import type React from 'react' import { Button } from './button' import { Link } from './link' export function Dropdown(props: Headless.MenuProps) { return } export function DropdownButton({ as = Button, ...props }: { className?: string } & Omit, 'className'>) { return } export function DropdownMenu({ anchor = 'bottom', className, ...props }: { className?: string } & Omit) { return ( ) } export function DropdownItem({ className, ...props }: { className?: string } & ( | Omit, 'as' | 'className'> | Omit, 'as' | 'className'> )) { const classes = clsx( className, // Base styles 'group cursor-default rounded-lg px-3.5 py-2.5 focus:outline-hidden sm:px-3 sm:py-1.5', // Text styles 'text-left text-base/6 text-zinc-950 sm:text-sm/6 dark:text-white forced-colors:text-[CanvasText]', // Focus 'data-focus:bg-blue-500 data-focus:text-white', // Disabled state 'data-disabled:opacity-50', // Forced colors mode 'forced-color-adjust-none forced-colors:data-focus:bg-[Highlight] forced-colors:data-focus:text-[HighlightText] forced-colors:data-focus:*:data-[slot=icon]:text-[HighlightText]', // Use subgrid when available but fallback to an explicit grid layout if not 'col-span-full grid grid-cols-[auto_1fr_1.5rem_0.5rem_auto] items-center supports-[grid-template-columns:subgrid]:grid-cols-subgrid', // Icons '*:data-[slot=icon]:col-start-1 *:data-[slot=icon]:row-start-1 *:data-[slot=icon]:mr-2.5 *:data-[slot=icon]:-ml-0.5 *:data-[slot=icon]:size-5 sm:*:data-[slot=icon]:mr-2 sm:*:data-[slot=icon]:size-4', '*:data-[slot=icon]:text-zinc-500 data-focus:*:data-[slot=icon]:text-white dark:*:data-[slot=icon]:text-zinc-400 dark:data-focus:*:data-[slot=icon]:text-white', // Avatar '*:data-[slot=avatar]:mr-2.5 *:data-[slot=avatar]:-ml-1 *:data-[slot=avatar]:size-6 sm:*:data-[slot=avatar]:mr-2 sm:*:data-[slot=avatar]:size-5', ) return 'href' in props ? ( ) : ( ) } export function DropdownHeader({ className, ...props }: React.ComponentPropsWithoutRef<'div'>) { return
} export function DropdownSection({ className, ...props }: { className?: string } & Omit) { return ( ) } export function DropdownHeading({ className, ...props }: { className?: string } & Omit) { return ( ) } export function DropdownDivider({ className, ...props }: { className?: string } & Omit) { return ( ) } export function DropdownLabel({ className, ...props }: { className?: string } & Omit) { return ( ) } export function DropdownDescription({ className, ...props }: { className?: string } & Omit) { return ( ) } export function DropdownShortcut({ keys, className, ...props }: { keys: string | string[]; className?: string } & Omit< Headless.DescriptionProps<'kbd'>, 'as' | 'className' >) { return ( {(Array.isArray(keys) ? keys : keys.split('')).map((char, index) => ( 0 && char.length > 1 && 'pl-1', ])} > {char} ))} ) }