import clsx from "clsx"; import { Fragment } from "react"; import { Button } from "../Button"; import Spinner from "../Spinner"; import type { ReactNode } from "react"; export type TTDPanelAction = { label: string; action?: () => void; icon?: ReactNode; variant: "button" | "link" | "rateLimit"; disabled?: boolean; className?: string; }; interface TTDDialogPanelProps { label?: string | ReactNode; children: ReactNode; panelActions?: TTDPanelAction[]; onTextSubmitInProgess?: boolean; renderTopRight?: () => ReactNode; renderSubmitShortcut?: () => ReactNode; className?: string; panelActionJustifyContent?: | "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly"; } export const TTDDialogPanel = ({ label, children, panelActions = [], onTextSubmitInProgess, renderTopRight, renderSubmitShortcut, className, panelActionJustifyContent = "flex-start", }: TTDDialogPanelProps) => { const renderPanelAction = (panelAction: TTDPanelAction) => { if (panelAction?.variant === "link") { return ( ); } if (panelAction?.variant === "button") { return ( ); } if (panelAction?.variant === "rateLimit") { return (