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%
4.9 KB · 156 lines tsx
Raw Blame History
1/*2 * =============================================================================3 *  VibeQuant (vquant) — AI-Powered Financial Intelligence Platform4 * -----------------------------------------------------------------------------5 *  File:      client/src/components/ui/alert-dialog.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"18import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog"1920import { cn } from "@/lib/utils"21import { buttonVariants } from "@/components/ui/button"2223const AlertDialog = AlertDialogPrimitive.Root2425const AlertDialogTrigger = AlertDialogPrimitive.Trigger2627const AlertDialogPortal = AlertDialogPrimitive.Portal2829const AlertDialogOverlay = React.forwardRef<30  React.ElementRef<typeof AlertDialogPrimitive.Overlay>,31  React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>32>(({ className, ...props }, ref) => (33  <AlertDialogPrimitive.Overlay34    className={cn(35      "fixed inset-0 z-50 bg-black/80  data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",36      className37    )}38    {...props}39    ref={ref}40  />41))42AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName4344const AlertDialogContent = React.forwardRef<45  React.ElementRef<typeof AlertDialogPrimitive.Content>,46  React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>47>(({ className, ...props }, ref) => (48  <AlertDialogPortal>49    <AlertDialogOverlay />50    <AlertDialogPrimitive.Content51      ref={ref}52      className={cn(53        "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",54        className55      )}56      {...props}57    />58  </AlertDialogPortal>59))60AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName6162const AlertDialogHeader = ({63  className,64  ...props65}: React.HTMLAttributes<HTMLDivElement>) => (66  <div67    className={cn(68      "flex flex-col space-y-2 text-center sm:text-left",69      className70    )}71    {...props}72  />73)74AlertDialogHeader.displayName = "AlertDialogHeader"7576const AlertDialogFooter = ({77  className,78  ...props79}: React.HTMLAttributes<HTMLDivElement>) => (80  <div81    className={cn(82      "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",83      className84    )}85    {...props}86  />87)88AlertDialogFooter.displayName = "AlertDialogFooter"8990const AlertDialogTitle = React.forwardRef<91  React.ElementRef<typeof AlertDialogPrimitive.Title>,92  React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>93>(({ className, ...props }, ref) => (94  <AlertDialogPrimitive.Title95    ref={ref}96    className={cn("text-lg font-semibold", className)}97    {...props}98  />99))100AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName101102const AlertDialogDescription = React.forwardRef<103  React.ElementRef<typeof AlertDialogPrimitive.Description>,104  React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>105>(({ className, ...props }, ref) => (106  <AlertDialogPrimitive.Description107    ref={ref}108    className={cn("text-sm text-muted-foreground", className)}109    {...props}110  />111))112AlertDialogDescription.displayName =113  AlertDialogPrimitive.Description.displayName114115const AlertDialogAction = React.forwardRef<116  React.ElementRef<typeof AlertDialogPrimitive.Action>,117  React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>118>(({ className, ...props }, ref) => (119  <AlertDialogPrimitive.Action120    ref={ref}121    className={cn(buttonVariants(), className)}122    {...props}123  />124))125AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName126127const AlertDialogCancel = React.forwardRef<128  React.ElementRef<typeof AlertDialogPrimitive.Cancel>,129  React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>130>(({ className, ...props }, ref) => (131  <AlertDialogPrimitive.Cancel132    ref={ref}133    className={cn(134      buttonVariants({ variant: "outline" }),135      "mt-2 sm:mt-0",136      className137    )}138    {...props}139  />140))141AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName142143export {144  AlertDialog,145  AlertDialogPortal,146  AlertDialogOverlay,147  AlertDialogTrigger,148  AlertDialogContent,149  AlertDialogHeader,150  AlertDialogFooter,151  AlertDialogTitle,152  AlertDialogDescription,153  AlertDialogAction,154  AlertDialogCancel,155}156