diff --git a/src/components/ui/cards/card.tsx b/src/components/ui/cards/card.tsx new file mode 100644 index 0000000..212585d --- /dev/null +++ b/src/components/ui/cards/card.tsx @@ -0,0 +1,85 @@ +import type { LucideIcon } from "lucide-react" +import * as React from "react" +import { cn } from "@/lib/utils" +import { Glass } from "../../glass" +import { Button } from "../button" + +function Card({ + className, + size = "default", + ...props +}: React.ComponentProps & { size?: "default" | "sm" }) { + return ( + img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl group/card flex flex-col", + className + )} + {...props} + /> + ) +} + +function CardHeader({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardTitle({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardDescription({ className, ...props }: React.ComponentProps<"div">) { + return
+} + +function CardAction({ className, icon: Icon, ...props }: React.ComponentProps<"div"> & { icon: LucideIcon }) { + const gradientId = React.useId() + + return ( +
+ + Icon gradient helper + + + + + + + +
+ ) +} + +function CardContent({ className, ...props }: React.ComponentProps<"div">) { + return
+} + +function CardBottomButton({ className, ...props }: React.ComponentProps) { + return