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%
1/*2 * =============================================================================3 * VibeQuant (vquant) — AI-Powered Financial Intelligence Platform4 * -----------------------------------------------------------------------------5 * File: client/src/components/ui/resizable.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 */1617"use client"1819import { GripVertical } from "lucide-react"20import * as ResizablePrimitive from "react-resizable-panels"2122import { cn } from "@/lib/utils"2324const ResizablePanelGroup = ({25 className,26 ...props27}: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) => (28 <ResizablePrimitive.PanelGroup29 className={cn(30 "flex h-full w-full data-[panel-group-direction=vertical]:flex-col",31 className32 )}33 {...props}34 />35)3637const ResizablePanel = ResizablePrimitive.Panel3839const ResizableHandle = ({40 withHandle,41 className,42 ...props43}: React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {44 withHandle?: boolean45}) => (46 <ResizablePrimitive.PanelResizeHandle47 className={cn(48 "relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",49 className50 )}51 {...props}52 >53 {withHandle && (54 <div className="z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border">55 <GripVertical className="h-2.5 w-2.5" />56 </div>57 )}58 </ResizablePrimitive.PanelResizeHandle>59)6061export { ResizablePanelGroup, ResizablePanel, ResizableHandle }62