import { Fragment, MouseEventHandler, ReactNode } from "react"; import { Menu, Transition } from "@headlessui/react"; import clsx from "clsx"; interface Props { right?: boolean; button?: ReactNode; options?: ReactNode; children?: ReactNode; className?: string; btnClassName?: string; onClick?: MouseEventHandler; disabled?: boolean; isLoading?: boolean; darkMode?: boolean; } export default function Dropdown({ button, options, right, onClick, className, btnClassName, disabled, isLoading, darkMode }: Props) { return (
{ e.stopPropagation(); if (onClick) { onClick(e); } }} className={clsx( isLoading && "base-spinner cursor-not-allowed", btnClassName ?? "inline-flex w-full items-center justify-center rounded-md border border-gray-300 px-3 py-2 text-sm font-medium text-gray-700 shadow-sm", disabled || isLoading ? "cursor-not-allowed bg-gray-100" : clsx( darkMode ? "" : "bg-white hover:bg-gray-50", "focus:outline-none focus:ring-2 focus:ring-theme-500 focus:ring-offset-2 focus:ring-offset-gray-100" ) )} > {button} {!btnClassName && ( )}
{options}
); }