feat(frontend): add shadcn ui primitives and compatibility bridge

This commit is contained in:
Sagit
2026-02-19 05:14:42 +00:00
parent c5124a01e6
commit 12c50df6a7
43 changed files with 2839 additions and 0 deletions
@@ -0,0 +1,31 @@
import * as React from "react";
import { Loader2Icon } from "lucide-react";
import { cn } from "@/lib/utils";
type SpinnerSize = "sm" | "md" | "lg";
export interface SpinnerProps extends React.ComponentProps<"div"> {
label?: string;
size?: SpinnerSize;
}
function iconSize(size: SpinnerSize | undefined) {
if (size === "sm") {
return "h-4 w-4";
}
if (size === "lg") {
return "h-7 w-7";
}
return "h-5 w-5";
}
export function Spinner({ className, label, size = "md", ...props }: SpinnerProps) {
return (
<div className={cn("inline-flex items-center gap-2", className)} {...props}>
<Loader2Icon className={cn("animate-spin text-default-500", iconSize(size))} />
{label ? <span className="text-sm text-default-500">{label}</span> : null}
</div>
);
}