"use client";
import { X } from "lucide-react";
export function Modal({
title,
subtitle,
onClose,
children,
footer,
wide,
}: {
title: string;
subtitle?: string;
onClose: () => void;
children: React.ReactNode;
footer?: React.ReactNode;
wide?: boolean;
}) {
return (
e.stopPropagation()}
className={`flex max-h-[90dvh] w-full ${wide ? "max-w-xl" : "max-w-md"} flex-col overflow-hidden rounded-card border border-border bg-elevated shadow-pop animate-slide-up`}
>
{title}
{subtitle &&
{subtitle}
}
{children}
{footer &&
{footer}
}
);
}
export function Field({ label, children }: { label: string; children: React.ReactNode }) {
return (
);
}
export const inputCls =
"w-full rounded-control border border-border bg-panel px-3 py-2 text-[14px] outline-none focus:border-border-strong placeholder:text-dim";
export function PrimaryBtn({ children, onClick, disabled, type = "button" }: { children: React.ReactNode; onClick?: () => void; disabled?: boolean; type?: "button" | "submit" }) {
return (
);
}
export function GhostBtn({ children, onClick }: { children: React.ReactNode; onClick?: () => void }) {
return (
);
}