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

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
@@ -64,7 +64,7 @@ declare function AvatarGroup({ className, ...props }: React$1.ComponentProps<"di
64
64
  declare function AvatarGroupCount({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
65
65
 
66
66
  declare const badgeVariants: (props?: ({
67
- variant?: "fill" | "default" | "default-success" | "default-fail" | "default-warning" | "fill-success" | "fill-fail" | "fill-warning" | "ghost" | "ghost-success" | "ghost-fail" | "ghost-warning" | null | undefined;
67
+ variant?: "fill" | "default" | "default-success" | "default-fail" | "default-warning" | "fill-success" | "fill-fail" | "fill-warning" | "fill-credit" | "ghost" | "ghost-success" | "ghost-fail" | "ghost-warning" | null | undefined;
68
68
  size?: "lg" | "md" | "sm" | null | undefined;
69
69
  } & class_variance_authority_types.ClassProp) | undefined) => string;
70
70
  declare function Badge({ className, variant, size, asChild, ...props }: React$1.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
@@ -634,22 +634,34 @@ type TicketCardProps = {
634
634
  onStubClick?: () => void;
635
635
  /** Disables the stub button. */
636
636
  stubDisabled?: boolean;
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". */
637
+ /** Compact (mobile) layout reduces horizontal padding from 16px to 8px. */
638
+ compact?: boolean;
639
+ };
640
+ declare function TicketCard({ className, icon, label, value, currency, stubLabel, onStubClick, stubDisabled, compact, }: TicketCardProps): react_jsx_runtime.JSX.Element;
641
+ type CreditTicketCardProps = {
642
+ className?: string;
643
+ /** Optional icon rendered inside the left ring circle. */
644
+ icon?: React$1.ReactNode;
645
+ /** Small label shown above the value (e.g. "Total Balance"). */
646
+ label: string;
647
+ /** Main value text (e.g. "0 USD"). */
648
+ value: string;
649
+ /** Optional muted currency/unit suffix next to value (e.g. "USDT"). */
650
+ currency?: string;
651
+ /** Label on the right stub button. */
652
+ stubLabel: string;
653
+ /** Called when the stub button is clicked. */
654
+ onStubClick?: () => void;
655
+ /** Disables the stub button. */
656
+ stubDisabled?: boolean;
657
+ /** Credit amount shown in the badge (e.g. "0.00"). */
658
+ creditAmount?: string;
659
+ /** Currency shown in the credit badge (e.g. "USDT"). */
644
660
  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;
661
+ /** Compact (mobile) layout reduces horizontal padding from 16px to 8px. */
662
+ compact?: boolean;
651
663
  };
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;
664
+ declare function CreditTicketCard({ className, icon, label, value, currency, stubLabel, onStubClick, stubDisabled, creditAmount, creditCurrency, compact, }: CreditTicketCardProps): react_jsx_runtime.JSX.Element;
653
665
  /** Alias for the Figma-named variant. */
654
666
  declare const TicketCardDesktop: typeof TicketCard;
655
667
 
@@ -668,4 +680,4 @@ declare function cn(...inputs: ClassValue[]): string;
668
680
 
669
681
  declare function useIsMobile(): boolean;
670
682
 
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 };
683
+ 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, CreditTicketCard, type CreditTicketCardProps, 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
@@ -64,7 +64,7 @@ declare function AvatarGroup({ className, ...props }: React$1.ComponentProps<"di
64
64
  declare function AvatarGroupCount({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
65
65
 
66
66
  declare const badgeVariants: (props?: ({
67
- variant?: "fill" | "default" | "default-success" | "default-fail" | "default-warning" | "fill-success" | "fill-fail" | "fill-warning" | "ghost" | "ghost-success" | "ghost-fail" | "ghost-warning" | null | undefined;
67
+ variant?: "fill" | "default" | "default-success" | "default-fail" | "default-warning" | "fill-success" | "fill-fail" | "fill-warning" | "fill-credit" | "ghost" | "ghost-success" | "ghost-fail" | "ghost-warning" | null | undefined;
68
68
  size?: "lg" | "md" | "sm" | null | undefined;
69
69
  } & class_variance_authority_types.ClassProp) | undefined) => string;
70
70
  declare function Badge({ className, variant, size, asChild, ...props }: React$1.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
@@ -634,22 +634,34 @@ type TicketCardProps = {
634
634
  onStubClick?: () => void;
635
635
  /** Disables the stub button. */
636
636
  stubDisabled?: boolean;
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". */
637
+ /** Compact (mobile) layout reduces horizontal padding from 16px to 8px. */
638
+ compact?: boolean;
639
+ };
640
+ declare function TicketCard({ className, icon, label, value, currency, stubLabel, onStubClick, stubDisabled, compact, }: TicketCardProps): react_jsx_runtime.JSX.Element;
641
+ type CreditTicketCardProps = {
642
+ className?: string;
643
+ /** Optional icon rendered inside the left ring circle. */
644
+ icon?: React$1.ReactNode;
645
+ /** Small label shown above the value (e.g. "Total Balance"). */
646
+ label: string;
647
+ /** Main value text (e.g. "0 USD"). */
648
+ value: string;
649
+ /** Optional muted currency/unit suffix next to value (e.g. "USDT"). */
650
+ currency?: string;
651
+ /** Label on the right stub button. */
652
+ stubLabel: string;
653
+ /** Called when the stub button is clicked. */
654
+ onStubClick?: () => void;
655
+ /** Disables the stub button. */
656
+ stubDisabled?: boolean;
657
+ /** Credit amount shown in the badge (e.g. "0.00"). */
658
+ creditAmount?: string;
659
+ /** Currency shown in the credit badge (e.g. "USDT"). */
644
660
  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;
661
+ /** Compact (mobile) layout reduces horizontal padding from 16px to 8px. */
662
+ compact?: boolean;
651
663
  };
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;
664
+ declare function CreditTicketCard({ className, icon, label, value, currency, stubLabel, onStubClick, stubDisabled, creditAmount, creditCurrency, compact, }: CreditTicketCardProps): react_jsx_runtime.JSX.Element;
653
665
  /** Alias for the Figma-named variant. */
654
666
  declare const TicketCardDesktop: typeof TicketCard;
655
667
 
@@ -668,4 +680,4 @@ declare function cn(...inputs: ClassValue[]): string;
668
680
 
669
681
  declare function useIsMobile(): boolean;
670
682
 
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 };
683
+ 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, CreditTicketCard, type CreditTicketCardProps, 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
@@ -584,7 +584,7 @@ import { cva as cva3 } from "class-variance-authority";
584
584
  import { Slot as Slot2 } from "radix-ui";
585
585
  import { jsx as jsx8 } from "react/jsx-runtime";
586
586
  var badgeVariants = cva3(
587
- "inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent text-xs font-display font-semibold tracking-wide whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 [&>svg]:pointer-events-none [&>svg]:size-3",
587
+ "inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent text-xs font-display font-semibold whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 [&>svg]:pointer-events-none [&>svg]:size-3",
588
588
  {
589
589
  variants: {
590
590
  variant: {
@@ -598,6 +598,7 @@ var badgeVariants = cva3(
598
598
  "fill-success": "bg-semantic-win/10 border-transparent text-semantic-win",
599
599
  "fill-fail": "bg-semantic-loss/10 border-transparent text-semantic-loss",
600
600
  "fill-warning": "bg-semantic-warning/10 border-transparent text-semantic-warning",
601
+ "fill-credit": "bg-semantic-credit/16 border-transparent text-semantic-credit-text !text-xs !font-semibold",
601
602
  // Ghost (transparent)
602
603
  ghost: "bg-transparent border-transparent text-primary [a&]:hover:bg-secondary-hover [a&]:hover:text-primary",
603
604
  "ghost-success": "bg-transparent border-transparent text-semantic-win [a&]:hover:bg-semantic-win/10 [a&]:hover:text-semantic-win",
@@ -2400,7 +2401,7 @@ function CommandShortcut(_a) {
2400
2401
  __spreadValues({
2401
2402
  "data-slot": "command-shortcut",
2402
2403
  className: cn(
2403
- "ml-auto text-xs tracking-widest text-on-subtle",
2404
+ "ml-auto text-xs text-on-subtle",
2404
2405
  className
2405
2406
  )
2406
2407
  }, props)
@@ -2620,7 +2621,7 @@ function ContextMenuShortcut(_a) {
2620
2621
  __spreadValues({
2621
2622
  "data-slot": "context-menu-shortcut",
2622
2623
  className: cn(
2623
- "ml-auto text-xs tracking-widest text-on-subtle",
2624
+ "ml-auto text-xs text-on-subtle",
2624
2625
  className
2625
2626
  )
2626
2627
  }, props)
@@ -2931,7 +2932,7 @@ function DropdownMenuShortcut(_a) {
2931
2932
  __spreadValues({
2932
2933
  "data-slot": "dropdown-menu-shortcut",
2933
2934
  className: cn(
2934
- "ml-auto text-xs tracking-widest text-on-subtle",
2935
+ "ml-auto text-xs text-on-subtle",
2935
2936
  className
2936
2937
  )
2937
2938
  }, props)
@@ -3792,7 +3793,7 @@ import { cva as cva9 } from "class-variance-authority";
3792
3793
  import { Slot as Slot6 } from "radix-ui";
3793
3794
  import { jsx as jsx35 } from "react/jsx-runtime";
3794
3795
  var linkVariants = cva9(
3795
- "inline-flex shrink-0 items-center gap-1.5 whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 active:opacity-60 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:inline font-display font-bold normal-case tracking-wide text-primary hover:underline decoration-2 underline-offset-4",
3796
+ "inline-flex shrink-0 items-center gap-1.5 whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 active:opacity-60 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:inline font-display font-bold normal-case text-primary hover:underline decoration-2 underline-offset-4",
3796
3797
  {
3797
3798
  variants: {
3798
3799
  size: {
@@ -4026,7 +4027,7 @@ function MenubarShortcut(_a) {
4026
4027
  __spreadValues({
4027
4028
  "data-slot": "menubar-shortcut",
4028
4029
  className: cn(
4029
- "ml-auto text-xs tracking-widest text-on-subtle",
4030
+ "ml-auto text-xs text-on-subtle",
4030
4031
  className
4031
4032
  )
4032
4033
  }, props)
@@ -4414,7 +4415,7 @@ function PaginationLink(_a) {
4414
4415
  "data-slot": "pagination-link",
4415
4416
  "data-active": isActive,
4416
4417
  className: cn(
4417
- "inline-flex shrink-0 items-center justify-center size-10 rounded-xs text-sm font-display font-bold uppercase tracking-wide whitespace-nowrap transition-[color,background-color,border-color] outline-none border",
4418
+ "inline-flex shrink-0 items-center justify-center size-10 rounded-xs text-sm font-display font-bold uppercase whitespace-nowrap transition-[color,background-color,border-color] outline-none border",
4418
4419
  isActive ? "bg-primary/10 border-primary text-primary" : "bg-transparent border-transparent text-on-prominent hover:bg-secondary-hover",
4419
4420
  className
4420
4421
  )
@@ -6286,25 +6287,84 @@ function TicketCard({
6286
6287
  stubLabel,
6287
6288
  onStubClick,
6288
6289
  stubDisabled = false,
6289
- welcomeCredit,
6290
- freeCredit,
6291
- creditUsed = "10.00",
6292
- creditTotal = "10.00",
6290
+ compact = false
6291
+ }) {
6292
+ return /* @__PURE__ */ jsx57("div", { className: cn("flex w-full flex-col gap-2", className), children: /* @__PURE__ */ jsxs27("div", { className: "relative flex h-20 w-full items-stretch justify-between rounded-sm bg-subtle", children: [
6293
+ /* @__PURE__ */ jsxs27("div", { className: cn("flex flex-1 items-center overflow-hidden", compact ? "gap-2 px-2" : "gap-4 px-4"), children: [
6294
+ icon && /* @__PURE__ */ jsx57("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-full border-2 border-primary text-primary", children: icon }),
6295
+ /* @__PURE__ */ jsxs27("div", { className: "flex h-11 flex-col justify-center gap-1 whitespace-nowrap", children: [
6296
+ /* @__PURE__ */ jsx57("p", { className: "text-xs text-on-subtle", children: label }),
6297
+ /* @__PURE__ */ jsxs27("p", { className: "leading-none", children: [
6298
+ /* @__PURE__ */ jsx57("span", { className: "text-[20px] font-bold text-on-prominent", children: value }),
6299
+ currency && /* @__PURE__ */ jsxs27(Fragment3, { children: [
6300
+ " ",
6301
+ /* @__PURE__ */ jsx57("span", { className: "text-sm text-on-subtle", children: currency })
6302
+ ] })
6303
+ ] })
6304
+ ] })
6305
+ ] }),
6306
+ /* @__PURE__ */ jsx57("div", { "aria-hidden": true, className: "pointer-events-none absolute right-[88px] top-[-12px] z-10 size-6 rounded-full bg-prominent" }),
6307
+ /* @__PURE__ */ jsx57("div", { "aria-hidden": true, className: "pointer-events-none absolute right-[88px] top-[68px] z-10 size-6 rounded-full bg-prominent" }),
6308
+ /* @__PURE__ */ jsx57(
6309
+ "div",
6310
+ {
6311
+ "aria-hidden": true,
6312
+ className: "pointer-events-none absolute bottom-[12px] top-[12px] z-10 w-1 -translate-x-1/2",
6313
+ style: {
6314
+ right: 96,
6315
+ 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)"
6316
+ }
6317
+ }
6318
+ ),
6319
+ /* @__PURE__ */ jsxs27(
6320
+ "button",
6321
+ {
6322
+ type: "button",
6323
+ onClick: onStubClick,
6324
+ disabled: stubDisabled,
6325
+ "aria-label": stubLabel,
6326
+ className: cn(
6327
+ "relative flex h-20 w-[100px] shrink-0 flex-col items-center justify-center gap-1 overflow-hidden rounded-r-sm bg-primary",
6328
+ "transition-colors duration-fast ease-standard",
6329
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
6330
+ stubDisabled ? "cursor-not-allowed opacity-50" : "hover:bg-primary-hover"
6331
+ ),
6332
+ children: [
6333
+ !stubDisabled && /* @__PURE__ */ jsx57(
6334
+ "span",
6335
+ {
6336
+ "aria-hidden": true,
6337
+ className: "pointer-events-none absolute inset-0 [animation:stub-shimmer_1.5s_linear_infinite]",
6338
+ style: {
6339
+ background: "linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.30) 50%, transparent 100%)"
6340
+ }
6341
+ }
6342
+ ),
6343
+ /* @__PURE__ */ jsx57(ArrowRight2, { className: "size-4 text-on-prominent-static-inverse" }),
6344
+ /* @__PURE__ */ jsx57("span", { className: "text-sm font-semibold text-on-prominent-static-inverse", children: stubLabel })
6345
+ ]
6346
+ }
6347
+ )
6348
+ ] }) });
6349
+ }
6350
+ function CreditTicketCard({
6351
+ className,
6352
+ icon,
6353
+ label,
6354
+ value,
6355
+ currency,
6356
+ stubLabel,
6357
+ onStubClick,
6358
+ stubDisabled = false,
6359
+ creditAmount = "0.00",
6293
6360
  creditCurrency = "USDT",
6294
- creditLabel = "Welcome credit",
6295
- creditFullWidth = false
6361
+ compact = false
6296
6362
  }) {
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: [
6363
+ return /* @__PURE__ */ jsx57("div", { className: cn("flex w-full flex-col gap-2", className), children: /* @__PURE__ */ jsxs27("div", { className: "relative flex w-full items-stretch justify-between rounded-sm bg-subtle", children: [
6364
+ /* @__PURE__ */ jsxs27("div", { className: cn("flex flex-1 items-center overflow-hidden py-4", compact ? "gap-2 px-2" : "gap-4 px-4"), children: [
6365
+ icon && /* @__PURE__ */ jsx57("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-full border-2 border-primary text-primary", children: icon }),
6366
+ /* @__PURE__ */ jsxs27("div", { className: "flex flex-col gap-2 whitespace-nowrap", children: [
6367
+ /* @__PURE__ */ jsxs27("div", { className: "flex flex-col gap-1", children: [
6308
6368
  /* @__PURE__ */ jsx57("p", { className: "text-xs text-on-subtle", children: label }),
6309
6369
  /* @__PURE__ */ jsxs27("p", { className: "leading-none", children: [
6310
6370
  /* @__PURE__ */ jsx57("span", { className: "text-[20px] font-bold text-on-prominent", children: value }),
@@ -6313,74 +6373,59 @@ function TicketCard({
6313
6373
  /* @__PURE__ */ jsx57("span", { className: "text-sm text-on-subtle", children: currency })
6314
6374
  ] })
6315
6375
  ] })
6376
+ ] }),
6377
+ /* @__PURE__ */ jsxs27(Badge, { variant: "fill-credit", size: "sm", className: "!gap-1 !font-bold !tracking-normal", children: [
6378
+ /* @__PURE__ */ jsx57(TicketPlus, { className: "!size-3.5" }),
6379
+ "Credit: ",
6380
+ creditAmount,
6381
+ " ",
6382
+ creditCurrency
6316
6383
  ] })
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
- }
6384
+ ] })
6385
+ ] }),
6386
+ /* @__PURE__ */ jsx57("div", { "aria-hidden": true, className: "pointer-events-none absolute right-[88px] top-[-12px] z-10 size-6 rounded-full bg-prominent" }),
6387
+ /* @__PURE__ */ jsx57("div", { "aria-hidden": true, className: "pointer-events-none absolute right-[88px] bottom-[-12px] z-10 size-6 rounded-full bg-prominent" }),
6388
+ /* @__PURE__ */ jsx57(
6389
+ "div",
6390
+ {
6391
+ "aria-hidden": true,
6392
+ className: "pointer-events-none absolute bottom-[12px] top-[12px] z-10 w-1 -translate-x-1/2",
6393
+ style: {
6394
+ right: 96,
6395
+ 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)"
6329
6396
  }
6330
- ),
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"
6343
- ),
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
- }
6397
+ }
6398
+ ),
6399
+ /* @__PURE__ */ jsxs27(
6400
+ "button",
6401
+ {
6402
+ type: "button",
6403
+ onClick: onStubClick,
6404
+ disabled: stubDisabled,
6405
+ "aria-label": stubLabel,
6406
+ className: cn(
6407
+ "relative flex w-[100px] shrink-0 self-stretch flex-col items-center justify-center gap-1 overflow-hidden rounded-r-sm bg-primary",
6408
+ "transition-colors duration-fast ease-standard",
6409
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
6410
+ stubDisabled ? "cursor-not-allowed opacity-50" : "hover:bg-primary-hover"
6411
+ ),
6412
+ children: [
6413
+ !stubDisabled && /* @__PURE__ */ jsx57(
6414
+ "span",
6415
+ {
6416
+ "aria-hidden": true,
6417
+ className: "pointer-events-none absolute inset-0 [animation:stub-shimmer_1.5s_linear_infinite]",
6418
+ style: {
6419
+ background: "linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.30) 50%, transparent 100%)"
6353
6420
  }
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
- ] })
6373
- ] }),
6374
- /* @__PURE__ */ jsx57(
6375
- Progress,
6376
- {
6377
- value: creditPct,
6378
- className: "h-1 bg-black/8 [&>[data-slot=progress-indicator]]:bg-[#ef9f00]"
6379
- }
6380
- )
6381
- ] })
6382
- ] })
6383
- ] });
6421
+ }
6422
+ ),
6423
+ /* @__PURE__ */ jsx57(ArrowRight2, { className: "size-4 text-on-prominent-static-inverse" }),
6424
+ /* @__PURE__ */ jsx57("span", { className: "text-sm font-semibold text-on-prominent-static-inverse", children: stubLabel })
6425
+ ]
6426
+ }
6427
+ )
6428
+ ] }) });
6384
6429
  }
6385
6430
  var TicketCardDesktop = TicketCard;
6386
6431
 
@@ -6600,6 +6645,7 @@ export {
6600
6645
  ContextMenuSubContent,
6601
6646
  ContextMenuSubTrigger,
6602
6647
  ContextMenuTrigger,
6648
+ CreditTicketCard,
6603
6649
  Dialog,
6604
6650
  DialogClose,
6605
6651
  DialogContent,