@trading-game/design-intelligence-layer 0.11.0 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -618,17 +618,40 @@ declare function TabsContent({ className, ...props }: React$1.ComponentProps<typ
618
618
 
619
619
  declare function Textarea({ className, ...props }: React$1.ComponentProps<"textarea">): react_jsx_runtime.JSX.Element;
620
620
 
621
- interface TicketCardProps {
621
+ type TicketCardProps = {
622
+ className?: string;
623
+ /** Optional icon rendered inside the left ring circle. */
622
624
  icon?: React$1.ReactNode;
623
- label?: string;
624
- value?: string;
625
- stubIcon?: React$1.ReactNode;
626
- stubLabel?: string;
625
+ /** Small label shown above the value (e.g. "Total Balance"). */
626
+ label: string;
627
+ /** Main value text (e.g. "10,000.00"). */
628
+ value: string;
629
+ /** Optional muted currency/unit suffix next to value (e.g. "USDT"). */
630
+ currency?: string;
631
+ /** Label on the right stub button. */
632
+ stubLabel: string;
633
+ /** Called when the stub button is clicked. */
627
634
  onStubClick?: () => void;
635
+ /** Disables the stub button. */
628
636
  stubDisabled?: boolean;
629
- className?: string;
630
- }
631
- declare function TicketCard({ icon, label, value, stubIcon, stubLabel, onStubClick, stubDisabled, className, }: TicketCardProps): react_jsx_runtime.JSX.Element;
637
+ /** Show the welcome-credit bar below the main card. */
638
+ welcomeCredit?: boolean;
639
+ /** Amount of credit used. Defaults to "10.00". */
640
+ creditUsed?: string;
641
+ /** Total credit available. Defaults to "10.00". */
642
+ creditTotal?: string;
643
+ /** Currency label in the credit bar. Defaults to "USDT". */
644
+ creditCurrency?: string;
645
+ /** Label in the credit bar. Defaults to "Welcome credit". */
646
+ creditLabel?: string;
647
+ /** Stretch the credit bar to full card width (mobile layout). Defaults to false (desktop: stops before the stub). */
648
+ creditFullWidth?: boolean;
649
+ /** @deprecated — use welcomeCredit */
650
+ freeCredit?: boolean;
651
+ };
652
+ declare function TicketCard({ className, icon, label, value, currency, stubLabel, onStubClick, stubDisabled, welcomeCredit, freeCredit, creditUsed, creditTotal, creditCurrency, creditLabel, creditFullWidth, }: TicketCardProps): react_jsx_runtime.JSX.Element;
653
+ /** Alias for the Figma-named variant. */
654
+ declare const TicketCardDesktop: typeof TicketCard;
632
655
 
633
656
  declare const toggleVariants: (props?: ({
634
657
  variant?: "default" | "outline" | null | undefined;
@@ -645,4 +668,4 @@ declare function cn(...inputs: ClassValue[]): string;
645
668
 
646
669
  declare function useIsMobile(): boolean;
647
670
 
648
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DirectionProvider, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, HoverCard, HoverCardContent, HoverCardTrigger, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Link, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationButton, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Spinner, Stepper, type StepperProps, type StepperSize, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, TicketCard, type TicketCardProps, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, inputVariants, linkVariants, navigationButtonVariants, navigationMenuTriggerStyle, tabsListVariants, toggleVariants, useComboboxAnchor, useDirection, useFormField, useIsMobile, useSidebar };
671
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DirectionProvider, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, HoverCard, HoverCardContent, HoverCardTrigger, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Link, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationButton, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Spinner, Stepper, type StepperProps, type StepperSize, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, TicketCard, TicketCardDesktop, type TicketCardProps, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, inputVariants, linkVariants, navigationButtonVariants, navigationMenuTriggerStyle, tabsListVariants, toggleVariants, useComboboxAnchor, useDirection, useFormField, useIsMobile, useSidebar };
package/dist/index.d.ts CHANGED
@@ -618,17 +618,40 @@ declare function TabsContent({ className, ...props }: React$1.ComponentProps<typ
618
618
 
619
619
  declare function Textarea({ className, ...props }: React$1.ComponentProps<"textarea">): react_jsx_runtime.JSX.Element;
620
620
 
621
- interface TicketCardProps {
621
+ type TicketCardProps = {
622
+ className?: string;
623
+ /** Optional icon rendered inside the left ring circle. */
622
624
  icon?: React$1.ReactNode;
623
- label?: string;
624
- value?: string;
625
- stubIcon?: React$1.ReactNode;
626
- stubLabel?: string;
625
+ /** Small label shown above the value (e.g. "Total Balance"). */
626
+ label: string;
627
+ /** Main value text (e.g. "10,000.00"). */
628
+ value: string;
629
+ /** Optional muted currency/unit suffix next to value (e.g. "USDT"). */
630
+ currency?: string;
631
+ /** Label on the right stub button. */
632
+ stubLabel: string;
633
+ /** Called when the stub button is clicked. */
627
634
  onStubClick?: () => void;
635
+ /** Disables the stub button. */
628
636
  stubDisabled?: boolean;
629
- className?: string;
630
- }
631
- declare function TicketCard({ icon, label, value, stubIcon, stubLabel, onStubClick, stubDisabled, className, }: TicketCardProps): react_jsx_runtime.JSX.Element;
637
+ /** Show the welcome-credit bar below the main card. */
638
+ welcomeCredit?: boolean;
639
+ /** Amount of credit used. Defaults to "10.00". */
640
+ creditUsed?: string;
641
+ /** Total credit available. Defaults to "10.00". */
642
+ creditTotal?: string;
643
+ /** Currency label in the credit bar. Defaults to "USDT". */
644
+ creditCurrency?: string;
645
+ /** Label in the credit bar. Defaults to "Welcome credit". */
646
+ creditLabel?: string;
647
+ /** Stretch the credit bar to full card width (mobile layout). Defaults to false (desktop: stops before the stub). */
648
+ creditFullWidth?: boolean;
649
+ /** @deprecated — use welcomeCredit */
650
+ freeCredit?: boolean;
651
+ };
652
+ declare function TicketCard({ className, icon, label, value, currency, stubLabel, onStubClick, stubDisabled, welcomeCredit, freeCredit, creditUsed, creditTotal, creditCurrency, creditLabel, creditFullWidth, }: TicketCardProps): react_jsx_runtime.JSX.Element;
653
+ /** Alias for the Figma-named variant. */
654
+ declare const TicketCardDesktop: typeof TicketCard;
632
655
 
633
656
  declare const toggleVariants: (props?: ({
634
657
  variant?: "default" | "outline" | null | undefined;
@@ -645,4 +668,4 @@ declare function cn(...inputs: ClassValue[]): string;
645
668
 
646
669
  declare function useIsMobile(): boolean;
647
670
 
648
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DirectionProvider, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, HoverCard, HoverCardContent, HoverCardTrigger, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Link, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationButton, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Spinner, Stepper, type StepperProps, type StepperSize, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, TicketCard, type TicketCardProps, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, inputVariants, linkVariants, navigationButtonVariants, navigationMenuTriggerStyle, tabsListVariants, toggleVariants, useComboboxAnchor, useDirection, useFormField, useIsMobile, useSidebar };
671
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DirectionProvider, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, HoverCard, HoverCardContent, HoverCardTrigger, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Link, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationButton, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Spinner, Stepper, type StepperProps, type StepperSize, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, TicketCard, TicketCardDesktop, type TicketCardProps, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, inputVariants, linkVariants, navigationButtonVariants, navigationMenuTriggerStyle, tabsListVariants, toggleVariants, useComboboxAnchor, useDirection, useFormField, useIsMobile, useSidebar };
package/dist/index.js CHANGED
@@ -6275,95 +6275,114 @@ function TabsContent(_a) {
6275
6275
  }
6276
6276
 
6277
6277
  // components/ui/ticket-card.tsx
6278
- import { ArrowRight as ArrowRight2 } from "lucide-react";
6279
- import { jsx as jsx57, jsxs as jsxs27 } from "react/jsx-runtime";
6278
+ import { ArrowRight as ArrowRight2, TicketPlus } from "lucide-react";
6279
+ import { Fragment as Fragment3, jsx as jsx57, jsxs as jsxs27 } from "react/jsx-runtime";
6280
6280
  function TicketCard({
6281
+ className,
6281
6282
  icon,
6282
6283
  label,
6283
6284
  value,
6284
- stubIcon,
6285
+ currency,
6285
6286
  stubLabel,
6286
6287
  onStubClick,
6287
6288
  stubDisabled = false,
6288
- className
6289
+ welcomeCredit,
6290
+ freeCredit,
6291
+ creditUsed = "10.00",
6292
+ creditTotal = "10.00",
6293
+ creditCurrency = "USDT",
6294
+ creditLabel = "Welcome credit",
6295
+ creditFullWidth = false
6289
6296
  }) {
6290
- return /* @__PURE__ */ jsxs27(
6291
- "div",
6292
- {
6293
- "data-slot": "ticket-card",
6294
- className: cn(
6295
- "relative flex w-full items-stretch rounded-sm",
6296
- "bg-subtle",
6297
- className
6297
+ var _a;
6298
+ const showCredit = (_a = welcomeCredit != null ? welcomeCredit : freeCredit) != null ? _a : false;
6299
+ const creditPct = Math.min(
6300
+ 100,
6301
+ Math.max(0, parseFloat(creditUsed) / parseFloat(creditTotal) * 100)
6302
+ );
6303
+ return /* @__PURE__ */ jsxs27("div", { className: cn("flex w-full flex-col gap-2", className), children: [
6304
+ /* @__PURE__ */ jsxs27("div", { className: "relative flex h-20 w-full items-stretch justify-between rounded-sm bg-subtle", children: [
6305
+ /* @__PURE__ */ jsxs27("div", { className: "flex flex-1 items-center gap-4 overflow-hidden px-4", children: [
6306
+ icon && /* @__PURE__ */ jsx57("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-full border-2 border-primary text-primary", children: icon }),
6307
+ /* @__PURE__ */ jsxs27("div", { className: "flex h-11 flex-col justify-center gap-1 whitespace-nowrap", children: [
6308
+ /* @__PURE__ */ jsx57("p", { className: "text-xs text-on-subtle", children: label }),
6309
+ /* @__PURE__ */ jsxs27("p", { className: "leading-none", children: [
6310
+ /* @__PURE__ */ jsx57("span", { className: "text-[20px] font-bold text-on-prominent", children: value }),
6311
+ currency && /* @__PURE__ */ jsxs27(Fragment3, { children: [
6312
+ " ",
6313
+ /* @__PURE__ */ jsx57("span", { className: "text-sm text-on-subtle", children: currency })
6314
+ ] })
6315
+ ] })
6316
+ ] })
6317
+ ] }),
6318
+ /* @__PURE__ */ jsx57("div", { "aria-hidden": true, className: "pointer-events-none absolute right-[88px] top-[-12px] z-10 size-6 rounded-full bg-prominent" }),
6319
+ /* @__PURE__ */ jsx57("div", { "aria-hidden": true, className: "pointer-events-none absolute right-[88px] top-[68px] z-10 size-6 rounded-full bg-prominent" }),
6320
+ /* @__PURE__ */ jsx57(
6321
+ "div",
6322
+ {
6323
+ "aria-hidden": true,
6324
+ className: "pointer-events-none absolute bottom-[12px] top-[12px] z-10 w-1 -translate-x-1/2",
6325
+ style: {
6326
+ right: 96,
6327
+ backgroundImage: "repeating-linear-gradient(to bottom, color-mix(in oklch, var(--border-subtle) 80%, black) 0px, color-mix(in oklch, var(--border-subtle) 80%, black) 3px, transparent 3px, transparent 6px)"
6328
+ }
6329
+ }
6298
6330
  ),
6299
- children: [
6300
- /* @__PURE__ */ jsxs27("div", { className: "relative flex min-w-0 flex-1 items-center gap-3 px-4 py-4 sm:gap-4 sm:px-5", children: [
6301
- icon && /* @__PURE__ */ jsx57("div", { className: "flex shrink-0 size-11 rounded-full border-2 border-primary items-center justify-center text-primary sm:size-12", children: icon }),
6302
- /* @__PURE__ */ jsxs27("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5 overflow-hidden", children: [
6303
- label && /* @__PURE__ */ jsx57("span", { className: "text-on-subtle text-xs font-semibold", children: label }),
6304
- value && /* @__PURE__ */ jsx57("span", { className: "truncate text-lg font-bold text-on-prominent sm:text-xl", children: value })
6305
- ] }),
6306
- /* @__PURE__ */ jsx57(
6307
- "div",
6308
- {
6309
- "aria-hidden": true,
6310
- className: "pointer-events-none absolute right-0 top-0 z-10 size-5 -translate-y-1/2 translate-x-1/2 rounded-full bg-prominent"
6311
- }
6312
- ),
6313
- /* @__PURE__ */ jsx57(
6314
- "div",
6315
- {
6316
- "aria-hidden": true,
6317
- className: "pointer-events-none absolute bottom-0 right-0 z-10 size-5 translate-x-1/2 translate-y-1/2 rounded-full bg-prominent"
6318
- }
6331
+ /* @__PURE__ */ jsxs27(
6332
+ "button",
6333
+ {
6334
+ type: "button",
6335
+ onClick: onStubClick,
6336
+ disabled: stubDisabled,
6337
+ "aria-label": stubLabel,
6338
+ className: cn(
6339
+ "relative flex h-20 w-[100px] shrink-0 flex-col items-center justify-center gap-1 overflow-hidden rounded-r-sm bg-primary",
6340
+ "transition-colors duration-fast ease-standard",
6341
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
6342
+ stubDisabled ? "cursor-not-allowed opacity-50" : "hover:bg-primary-hover"
6319
6343
  ),
6320
- /* @__PURE__ */ jsx57(
6321
- "div",
6322
- {
6323
- "aria-hidden": true,
6324
- className: "pointer-events-none absolute bottom-4 right-0 top-4 -translate-x-1/2 border-l-2 border-dashed border-primary/30"
6325
- }
6326
- )
6344
+ children: [
6345
+ !stubDisabled && /* @__PURE__ */ jsx57(
6346
+ "span",
6347
+ {
6348
+ "aria-hidden": true,
6349
+ className: "pointer-events-none absolute inset-0 [animation:stub-shimmer_1.5s_linear_infinite]",
6350
+ style: {
6351
+ background: "linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.30) 50%, transparent 100%)"
6352
+ }
6353
+ }
6354
+ ),
6355
+ /* @__PURE__ */ jsx57(ArrowRight2, { className: "size-4 text-on-prominent-static-inverse" }),
6356
+ /* @__PURE__ */ jsx57("span", { className: "text-sm font-semibold text-on-prominent-static-inverse", children: stubLabel })
6357
+ ]
6358
+ }
6359
+ )
6360
+ ] }),
6361
+ showCredit && /* @__PURE__ */ jsxs27("div", { className: cn(
6362
+ "flex items-center gap-2 rounded-sm bg-subtle p-2",
6363
+ creditFullWidth ? "w-full" : "w-[calc(100%-112px)]"
6364
+ ), children: [
6365
+ /* @__PURE__ */ jsx57(TicketPlus, { className: "size-6 shrink-0", style: { color: "#713813" } }),
6366
+ /* @__PURE__ */ jsxs27("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
6367
+ /* @__PURE__ */ jsxs27("div", { className: "flex items-center justify-between whitespace-nowrap text-[10px] font-semibold", style: { color: "#713813" }, children: [
6368
+ /* @__PURE__ */ jsx57("span", { children: creditLabel }),
6369
+ /* @__PURE__ */ jsxs27("span", { children: [
6370
+ /* @__PURE__ */ jsx57("span", { className: "text-on-prominent", children: creditUsed }),
6371
+ ` / ${creditTotal} ${creditCurrency}`
6372
+ ] })
6327
6373
  ] }),
6328
6374
  /* @__PURE__ */ jsx57(
6329
- "div",
6375
+ Progress,
6330
6376
  {
6331
- className: cn(
6332
- "relative z-[1] inline-flex max-w-[72%] shrink-0 self-stretch sm:max-w-[44%]"
6333
- ),
6334
- children: /* @__PURE__ */ jsxs27(
6335
- "button",
6336
- {
6337
- type: "button",
6338
- onClick: stubDisabled ? void 0 : onStubClick,
6339
- disabled: stubDisabled,
6340
- className: cn(
6341
- "relative box-border inline-flex h-full min-h-[3.25rem] min-w-[5.75rem] flex-col items-center justify-center gap-1.5 rounded-r-sm px-4 py-3 transition-colors sm:min-h-0 sm:gap-1.5 sm:px-5",
6342
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
6343
- stubDisabled ? "bg-primary/30 cursor-not-allowed opacity-50 pointer-events-none" : "bg-primary cursor-pointer hover:bg-primary-hover"
6344
- ),
6345
- children: [
6346
- !stubDisabled && /* @__PURE__ */ jsx57(
6347
- "span",
6348
- {
6349
- "aria-hidden": true,
6350
- className: "absolute inset-0 pointer-events-none [animation:stub-shimmer_1.5s_linear_infinite]",
6351
- style: {
6352
- background: "linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.30) 50%, transparent 100%)"
6353
- }
6354
- }
6355
- ),
6356
- stubIcon != null ? stubIcon : /* @__PURE__ */ jsx57(ArrowRight2, { className: "relative size-5 shrink-0 text-on-prominent-static-inverse" }),
6357
- stubLabel && /* @__PURE__ */ jsx57("span", { className: "max-w-full text-balance text-center text-xs font-bold leading-tight tracking-wide text-on-prominent-static-inverse sm:tracking-widest", children: stubLabel })
6358
- ]
6359
- }
6360
- )
6377
+ value: creditPct,
6378
+ className: "h-1 bg-black/8 [&>[data-slot=progress-indicator]]:bg-[#ef9f00]"
6361
6379
  }
6362
6380
  )
6363
- ]
6364
- }
6365
- );
6381
+ ] })
6382
+ ] })
6383
+ ] });
6366
6384
  }
6385
+ var TicketCardDesktop = TicketCard;
6367
6386
 
6368
6387
  // components/ui/toggle.tsx
6369
6388
  import { cva as cva14 } from "class-variance-authority";
@@ -6779,6 +6798,7 @@ export {
6779
6798
  TabsTrigger,
6780
6799
  Textarea,
6781
6800
  TicketCard,
6801
+ TicketCardDesktop,
6782
6802
  Toaster,
6783
6803
  Toggle,
6784
6804
  ToggleGroup,