feat: add core UI components and baseline tests

This commit is contained in:
2026-03-19 16:56:27 +08:00
parent 12642e0a92
commit 063179933c
73 changed files with 5756 additions and 2 deletions
@@ -0,0 +1,33 @@
import { cva } from "../lib/cva";
export const dialogOverlayVariants = cva([
"fixed inset-0 z-50 bg-[var(--color-overlay)] backdrop-blur-[2px]",
"data-[state=open]:motion-overlay-enter data-[state=closed]:motion-overlay-exit"
]);
export const dialogContentVariants = cva(
[
"fixed left-1/2 top-1/2 z-50 grid -translate-x-1/2 -translate-y-1/2 gap-5",
"w-[min(calc(100vw-2rem),40rem)] max-h-[calc(100vh-2rem)] overflow-y-auto",
"rounded-[var(--radius-lg)] border border-[var(--color-border)] bg-[var(--color-card)] p-6 text-[var(--color-card-foreground)] shadow-[var(--shadow-md)] outline-none",
"data-[state=open]:motion-enter-rise data-[state=closed]:motion-exit-drop"
],
{
variants: {
size: {
sm: "w-[min(calc(100vw-2rem),30rem)]",
md: "w-[min(calc(100vw-2rem),40rem)]",
lg: "w-[min(calc(100vw-2rem),52rem)]"
}
},
defaultVariants: {
size: "md"
}
}
);
export const dialogHeaderVariants = cva(["flex flex-col gap-2 text-left"]);
export const dialogFooterVariants = cva([
"flex flex-col-reverse gap-3 sm:flex-row sm:justify-end"
]);