import type { ReactNode } from "react";
type Props = {
eyebrow: string;
title: string;
caption?: string;
action?: ReactNode;
};
export default function PageHeader({ eyebrow, title, caption, action }: Props) {
return (
{eyebrow}
{title}
{caption &&
{caption}
}
{action &&
{action}
}
);
}
export function PrimaryButton({ onClick, children }: { onClick: () => void; children: ReactNode }) {
return (
);
}
export function StatusChip({
enabled,
onClick,
}: {
enabled: boolean;
onClick: () => void;
}) {
return (
);
}
export function ActionButton({
title,
onClick,
variant = "default",
children,
}: {
title: string;
onClick: () => void;
variant?: "default" | "danger";
children: ReactNode;
}) {
const danger = variant === "danger";
return (
);
}
export function EmptyState({ message, action }: { message: string; action?: ReactNode }) {
return (
);
}
export function LoadingBlock() {
return (
);
}
/* ————— Row-action icons ————— */
export const IconEdit = (
);
export const IconCopy = (
);
export const IconQR = (
);
export const IconDelete = (
);