SPB Git

spb/vquant Public MIT

VibeQuant — AI-powered institutional-grade financial intelligence platform.

TypeScript 84.3% Python 11.7% JavaScript 1.6% CSS 1.5% HTML 0.7%
2.5 KB · 102 lines tsx
Raw Blame History
1/*2 * =============================================================================3 *  VibeQuant (vquant) — AI-Powered Financial Intelligence Platform4 * -----------------------------------------------------------------------------5 *  File:      client/src/components/ui/card.tsx6 *7 *  Author:    Simon-Pierre Boucher8 *  Contact:   contact@spboucher.ai9 *  Website:   https://www.spboucher.ai10 *  Demo:      https://www.vquant.ai11 *  License:   MIT (see LICENSE)12 *13 *  Copyright © 2026 Simon-Pierre Boucher. All rights reserved.14 * =============================================================================15 */1617import * as React from "react"1819import { cn } from "@/lib/utils"2021const Card = React.forwardRef<22  HTMLDivElement,23  React.HTMLAttributes<HTMLDivElement>24>(({ className, ...props }, ref) => (25  <div26    ref={ref}27    className={cn(28      "shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm",29      className30    )}31    {...props}32  />33));34Card.displayName = "Card"3536const CardHeader = React.forwardRef<37  HTMLDivElement,38  React.HTMLAttributes<HTMLDivElement>39>(({ className, ...props }, ref) => (40  <div41    ref={ref}42    className={cn("flex flex-col space-y-1.5 p-6", className)}43    {...props}44  />45));46CardHeader.displayName = "CardHeader"4748const CardTitle = React.forwardRef<49  HTMLDivElement,50  React.HTMLAttributes<HTMLDivElement>51>(({ className, ...props }, ref) => (52  <div53    ref={ref}54    className={cn(55      "text-2xl font-semibold leading-none tracking-tight",56      className57    )}58    {...props}59  />60))61CardTitle.displayName = "CardTitle"6263const CardDescription = React.forwardRef<64  HTMLDivElement,65  React.HTMLAttributes<HTMLDivElement>66>(({ className, ...props }, ref) => (67  <div68    ref={ref}69    className={cn("text-sm text-muted-foreground", className)}70    {...props}71  />72));73CardDescription.displayName = "CardDescription"7475const CardContent = React.forwardRef<76  HTMLDivElement,77  React.HTMLAttributes<HTMLDivElement>78>(({ className, ...props }, ref) => (79  <div ref={ref} className={cn("p-6 pt-0", className)} {...props} />80))81CardContent.displayName = "CardContent"8283const CardFooter = React.forwardRef<84  HTMLDivElement,85  React.HTMLAttributes<HTMLDivElement>86>(({ className, ...props }, ref) => (87  <div88    ref={ref}89    className={cn("flex items-center p-6 pt-0", className)}90    {...props}91  />92))93CardFooter.displayName = "CardFooter"94export {95  Card,96  CardHeader,97  CardFooter,98  CardTitle,99  CardDescription,100  CardContent,101}102