@trading-game/design-intelligence-layer 0.14.0 → 0.15.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
@@ -731,8 +731,193 @@ declare function ToggleGroup({ className, variant, size, spacing, children, ...p
731
731
  }): react_jsx_runtime.JSX.Element;
732
732
  declare function ToggleGroupItem({ className, children, variant, size, ...props }: React$1.ComponentProps<typeof ToggleGroup$1.Item> & VariantProps<typeof toggleVariants>): react_jsx_runtime.JSX.Element;
733
733
 
734
+ type ResultBlockStatus = "win" | "loss";
735
+ type ResultBlockCta = "next-round" | "go-again" | "conversion";
736
+ type ResultBlockProps = {
737
+ status: ResultBlockStatus;
738
+ amount: string;
739
+ currency: string;
740
+ contractLabel: string;
741
+ pickedDigit?: number;
742
+ duration: string;
743
+ ctaMode: ResultBlockCta;
744
+ };
745
+ declare function ResultBlock({ status, amount, currency, contractLabel, pickedDigit, duration, ctaMode, }: ResultBlockProps): react_jsx_runtime.JSX.Element;
746
+ type ResultDialogProps = {
747
+ title: string;
748
+ body: React$1.ReactNode;
749
+ primaryLabel: string;
750
+ secondaryLabel: string;
751
+ };
752
+ declare function ResultDialog({ title, body, primaryLabel, secondaryLabel, }: ResultDialogProps): react_jsx_runtime.JSX.Element;
753
+
754
+ type HeaderNavigationBlockProps = {
755
+ /** Back button click handler. Back arrow is rendered only when provided. */
756
+ onBack?: () => void;
757
+ /** Optional badge shown between back and balance (e.g. "Demo" indicator). */
758
+ badge?: {
759
+ label: string;
760
+ variant?: React$1.ComponentProps<typeof Badge>["variant"];
761
+ };
762
+ /** Required balance display. */
763
+ balance: {
764
+ amount: string;
765
+ currency: string;
766
+ };
767
+ /** History button config. When `count` is provided, a numeric badge overlays the icon. */
768
+ history?: {
769
+ count?: number;
770
+ onClick?: () => void;
771
+ "aria-label"?: string;
772
+ };
773
+ /** Right-side icon-button slot (e.g. sound toggle, settings). Rendered after the history button. */
774
+ actions?: React$1.ReactNode;
775
+ };
776
+ declare function HeaderNavigationBlock({ onBack, badge, balance, history, actions, }: HeaderNavigationBlockProps): react_jsx_runtime.JSX.Element;
777
+
778
+ type FAQItem = {
779
+ value: string;
780
+ question: string;
781
+ answer: string;
782
+ };
783
+ type FAQBlockProps = {
784
+ /** Section eyebrow above the heading. Defaults to "FAQ Section". */
785
+ eyebrow?: string;
786
+ /** Heading text. Defaults to "Frequently asked questions". */
787
+ title?: string;
788
+ /** Body paragraph between heading and accordion. */
789
+ intro?: React$1.ReactNode;
790
+ /** Q&A items. */
791
+ items: FAQItem[];
792
+ /** Which item is open by default. Defaults to the first item's `value`. */
793
+ defaultValue?: string;
794
+ /** Footer "Need more help?" card. Hidden if undefined. */
795
+ helpCard?: {
796
+ title: string;
797
+ body: string;
798
+ ctaLabel: string;
799
+ onCtaClick?: () => void;
800
+ };
801
+ /** Layout density. "desktop" is the default; "mobile" reduces type scale and padding. */
802
+ layout?: "desktop" | "mobile";
803
+ };
804
+ declare function FAQBlock({ eyebrow, title, intro, items, defaultValue, helpCard, layout, }: FAQBlockProps): react_jsx_runtime.JSX.Element;
805
+
806
+ type HeroBlockTagline = {
807
+ /** Primary label (e.g. "What's new"). */
808
+ label: string;
809
+ /** Secondary text shown after a separator (e.g. "Just shipped v2.0"). */
810
+ suffix?: string;
811
+ };
812
+ type HeroBlockCta = {
813
+ label: string;
814
+ onClick?: () => void;
815
+ /** When true on the primary CTA in the centred layout, renders a trailing arrow. */
816
+ trailingArrow?: boolean;
817
+ };
818
+ type HeroBlockProps = {
819
+ /** "centered" = single column, no image; "split" = two-column desktop with image. Default: "centered". */
820
+ layout?: "centered" | "split";
821
+ tagline?: HeroBlockTagline;
822
+ heading: string;
823
+ body: string;
824
+ primaryCta: HeroBlockCta;
825
+ /** Shown only in "split" layout. */
826
+ secondaryCta?: HeroBlockCta;
827
+ /** Image content for "split" layout. Defaults to a subtle placeholder square. */
828
+ image?: React$1.ReactNode;
829
+ };
830
+ declare function HeroBlock({ layout, tagline, heading, body, primaryCta, secondaryCta, image, }: HeroBlockProps): react_jsx_runtime.JSX.Element;
831
+
832
+ type AuthBlockMode = "sign-in" | "sign-up";
833
+ type AuthBlockProvider = "google" | "telegram" | "x";
834
+ type AuthBlockProps = {
835
+ mode: AuthBlockMode;
836
+ /** Logo source URL (consumer-provided). Renders the small icon in the header lockup. */
837
+ logoSrc: string;
838
+ /** Wordmark text in the header lockup. Defaults to "trading.game". */
839
+ wordmark?: string;
840
+ /** OAuth providers to show as buttons. Default: all three. Order is preserved. */
841
+ providers?: AuthBlockProvider[];
842
+ /** Submit handler. Receives just the email field for v1 (form is single-field). */
843
+ onSubmit?: (data: {
844
+ email: string;
845
+ }) => void;
846
+ /** Footer link href (sign-in → sign-up, sign-up → sign-in). */
847
+ crossLinkHref?: string;
848
+ /** Unique prefix for input IDs (allows multiple instances on the same page). */
849
+ idPrefix?: string;
850
+ };
851
+ declare function AuthBlock({ mode, logoSrc, wordmark, providers, onSubmit, crossLinkHref, idPrefix, }: AuthBlockProps): react_jsx_runtime.JSX.Element;
852
+
853
+ type NavBarBlockLink = {
854
+ label: string;
855
+ href?: string;
856
+ onClick?: () => void;
857
+ };
858
+ type NavBarBlockProps = {
859
+ /** Brand logo URLs and alt text. */
860
+ brand: {
861
+ fullLogoSrc: string;
862
+ iconLogoSrc: string;
863
+ alt: string;
864
+ };
865
+ /** Primary nav links. */
866
+ links: NavBarBlockLink[];
867
+ /** Sign-in button. Hidden if omitted. Default label: "Sign in". */
868
+ signIn?: {
869
+ label?: string;
870
+ onClick?: () => void;
871
+ };
872
+ /** Sign-up button. Hidden if omitted. Default label: "Sign up". */
873
+ signUp?: {
874
+ label?: string;
875
+ onClick?: () => void;
876
+ };
877
+ };
878
+ declare function NavBarBlock({ brand, links, signIn, signUp }: NavBarBlockProps): react_jsx_runtime.JSX.Element;
879
+
880
+ type PositionBase = {
881
+ market: string;
882
+ duration: string;
883
+ stake: string;
884
+ pnl: string;
885
+ win: boolean;
886
+ };
887
+ type RiseFallPosition = PositionBase & {
888
+ kind: "rise-fall";
889
+ direction: "Rise" | "Fall";
890
+ };
891
+ type SwipePosition = PositionBase & {
892
+ kind: "swipe";
893
+ direction: "Up" | "Down";
894
+ };
895
+ type BoxOPosition = PositionBase & {
896
+ kind: "box-o";
897
+ multiplier: string;
898
+ };
899
+ type DigitsPosition = PositionBase & {
900
+ kind: "digits";
901
+ type: "matches" | "differs" | "odd" | "even" | "over" | "under";
902
+ digit?: string;
903
+ };
904
+ type Position = RiseFallPosition | SwipePosition | BoxOPosition | DigitsPosition;
905
+ type OpenPositionsBlockProps = {
906
+ /** Consumer-provided trigger element. Wrapped with a Sheet/Drawer trigger asChild. */
907
+ trigger: React$1.ReactNode;
908
+ /** Sheet/drawer title. Default: "Positions". */
909
+ sheetTitle?: string;
910
+ /** Position items to render in the list. Empty array → emptyState is shown. */
911
+ positions: Position[];
912
+ /** Footer link handler. The button label is fixed: "View transaction history". */
913
+ onViewHistory?: () => void;
914
+ /** Replaces the default empty state when positions.length === 0. */
915
+ emptyState?: React$1.ReactNode;
916
+ };
917
+ declare function OpenPositionsBlock({ trigger, sheetTitle, positions, onViewHistory, emptyState, }: OpenPositionsBlockProps): react_jsx_runtime.JSX.Element;
918
+
734
919
  declare function cn(...inputs: ClassValue[]): string;
735
920
 
736
921
  declare function useIsMobile(): boolean;
737
922
 
738
- 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, BoostTicketCard, type BoostTicketCardProps, 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, type TooltipVariant, badgeVariants, buttonVariants, cn, inputVariants, linkVariants, navigationButtonVariants, navigationMenuTriggerStyle, tabsListVariants, toggleVariants, useComboboxAnchor, useDirection, useFormField, useIsMobile, useSidebar };
923
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, AuthBlock, type AuthBlockMode, type AuthBlockProps, type AuthBlockProvider, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, BoostTicketCard, type BoostTicketCardProps, type BoxOPosition, 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, type DigitsPosition, 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, FAQBlock, type FAQBlockProps, type FAQItem, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, HeaderNavigationBlock, type HeaderNavigationBlockProps, HeroBlock, type HeroBlockCta, type HeroBlockProps, type HeroBlockTagline, 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, NavBarBlock, type NavBarBlockLink, type NavBarBlockProps, NavigationButton, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, OpenPositionsBlock, type OpenPositionsBlockProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, type Position, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ResultBlock, type ResultBlockCta, type ResultBlockProps, type ResultBlockStatus, ResultDialog, type ResultDialogProps, type RiseFallPosition, 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, type SwipePosition, 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, type TooltipVariant, badgeVariants, buttonVariants, cn, inputVariants, linkVariants, navigationButtonVariants, navigationMenuTriggerStyle, tabsListVariants, toggleVariants, useComboboxAnchor, useDirection, useFormField, useIsMobile, useSidebar };
package/dist/index.d.ts CHANGED
@@ -731,8 +731,193 @@ declare function ToggleGroup({ className, variant, size, spacing, children, ...p
731
731
  }): react_jsx_runtime.JSX.Element;
732
732
  declare function ToggleGroupItem({ className, children, variant, size, ...props }: React$1.ComponentProps<typeof ToggleGroup$1.Item> & VariantProps<typeof toggleVariants>): react_jsx_runtime.JSX.Element;
733
733
 
734
+ type ResultBlockStatus = "win" | "loss";
735
+ type ResultBlockCta = "next-round" | "go-again" | "conversion";
736
+ type ResultBlockProps = {
737
+ status: ResultBlockStatus;
738
+ amount: string;
739
+ currency: string;
740
+ contractLabel: string;
741
+ pickedDigit?: number;
742
+ duration: string;
743
+ ctaMode: ResultBlockCta;
744
+ };
745
+ declare function ResultBlock({ status, amount, currency, contractLabel, pickedDigit, duration, ctaMode, }: ResultBlockProps): react_jsx_runtime.JSX.Element;
746
+ type ResultDialogProps = {
747
+ title: string;
748
+ body: React$1.ReactNode;
749
+ primaryLabel: string;
750
+ secondaryLabel: string;
751
+ };
752
+ declare function ResultDialog({ title, body, primaryLabel, secondaryLabel, }: ResultDialogProps): react_jsx_runtime.JSX.Element;
753
+
754
+ type HeaderNavigationBlockProps = {
755
+ /** Back button click handler. Back arrow is rendered only when provided. */
756
+ onBack?: () => void;
757
+ /** Optional badge shown between back and balance (e.g. "Demo" indicator). */
758
+ badge?: {
759
+ label: string;
760
+ variant?: React$1.ComponentProps<typeof Badge>["variant"];
761
+ };
762
+ /** Required balance display. */
763
+ balance: {
764
+ amount: string;
765
+ currency: string;
766
+ };
767
+ /** History button config. When `count` is provided, a numeric badge overlays the icon. */
768
+ history?: {
769
+ count?: number;
770
+ onClick?: () => void;
771
+ "aria-label"?: string;
772
+ };
773
+ /** Right-side icon-button slot (e.g. sound toggle, settings). Rendered after the history button. */
774
+ actions?: React$1.ReactNode;
775
+ };
776
+ declare function HeaderNavigationBlock({ onBack, badge, balance, history, actions, }: HeaderNavigationBlockProps): react_jsx_runtime.JSX.Element;
777
+
778
+ type FAQItem = {
779
+ value: string;
780
+ question: string;
781
+ answer: string;
782
+ };
783
+ type FAQBlockProps = {
784
+ /** Section eyebrow above the heading. Defaults to "FAQ Section". */
785
+ eyebrow?: string;
786
+ /** Heading text. Defaults to "Frequently asked questions". */
787
+ title?: string;
788
+ /** Body paragraph between heading and accordion. */
789
+ intro?: React$1.ReactNode;
790
+ /** Q&A items. */
791
+ items: FAQItem[];
792
+ /** Which item is open by default. Defaults to the first item's `value`. */
793
+ defaultValue?: string;
794
+ /** Footer "Need more help?" card. Hidden if undefined. */
795
+ helpCard?: {
796
+ title: string;
797
+ body: string;
798
+ ctaLabel: string;
799
+ onCtaClick?: () => void;
800
+ };
801
+ /** Layout density. "desktop" is the default; "mobile" reduces type scale and padding. */
802
+ layout?: "desktop" | "mobile";
803
+ };
804
+ declare function FAQBlock({ eyebrow, title, intro, items, defaultValue, helpCard, layout, }: FAQBlockProps): react_jsx_runtime.JSX.Element;
805
+
806
+ type HeroBlockTagline = {
807
+ /** Primary label (e.g. "What's new"). */
808
+ label: string;
809
+ /** Secondary text shown after a separator (e.g. "Just shipped v2.0"). */
810
+ suffix?: string;
811
+ };
812
+ type HeroBlockCta = {
813
+ label: string;
814
+ onClick?: () => void;
815
+ /** When true on the primary CTA in the centred layout, renders a trailing arrow. */
816
+ trailingArrow?: boolean;
817
+ };
818
+ type HeroBlockProps = {
819
+ /** "centered" = single column, no image; "split" = two-column desktop with image. Default: "centered". */
820
+ layout?: "centered" | "split";
821
+ tagline?: HeroBlockTagline;
822
+ heading: string;
823
+ body: string;
824
+ primaryCta: HeroBlockCta;
825
+ /** Shown only in "split" layout. */
826
+ secondaryCta?: HeroBlockCta;
827
+ /** Image content for "split" layout. Defaults to a subtle placeholder square. */
828
+ image?: React$1.ReactNode;
829
+ };
830
+ declare function HeroBlock({ layout, tagline, heading, body, primaryCta, secondaryCta, image, }: HeroBlockProps): react_jsx_runtime.JSX.Element;
831
+
832
+ type AuthBlockMode = "sign-in" | "sign-up";
833
+ type AuthBlockProvider = "google" | "telegram" | "x";
834
+ type AuthBlockProps = {
835
+ mode: AuthBlockMode;
836
+ /** Logo source URL (consumer-provided). Renders the small icon in the header lockup. */
837
+ logoSrc: string;
838
+ /** Wordmark text in the header lockup. Defaults to "trading.game". */
839
+ wordmark?: string;
840
+ /** OAuth providers to show as buttons. Default: all three. Order is preserved. */
841
+ providers?: AuthBlockProvider[];
842
+ /** Submit handler. Receives just the email field for v1 (form is single-field). */
843
+ onSubmit?: (data: {
844
+ email: string;
845
+ }) => void;
846
+ /** Footer link href (sign-in → sign-up, sign-up → sign-in). */
847
+ crossLinkHref?: string;
848
+ /** Unique prefix for input IDs (allows multiple instances on the same page). */
849
+ idPrefix?: string;
850
+ };
851
+ declare function AuthBlock({ mode, logoSrc, wordmark, providers, onSubmit, crossLinkHref, idPrefix, }: AuthBlockProps): react_jsx_runtime.JSX.Element;
852
+
853
+ type NavBarBlockLink = {
854
+ label: string;
855
+ href?: string;
856
+ onClick?: () => void;
857
+ };
858
+ type NavBarBlockProps = {
859
+ /** Brand logo URLs and alt text. */
860
+ brand: {
861
+ fullLogoSrc: string;
862
+ iconLogoSrc: string;
863
+ alt: string;
864
+ };
865
+ /** Primary nav links. */
866
+ links: NavBarBlockLink[];
867
+ /** Sign-in button. Hidden if omitted. Default label: "Sign in". */
868
+ signIn?: {
869
+ label?: string;
870
+ onClick?: () => void;
871
+ };
872
+ /** Sign-up button. Hidden if omitted. Default label: "Sign up". */
873
+ signUp?: {
874
+ label?: string;
875
+ onClick?: () => void;
876
+ };
877
+ };
878
+ declare function NavBarBlock({ brand, links, signIn, signUp }: NavBarBlockProps): react_jsx_runtime.JSX.Element;
879
+
880
+ type PositionBase = {
881
+ market: string;
882
+ duration: string;
883
+ stake: string;
884
+ pnl: string;
885
+ win: boolean;
886
+ };
887
+ type RiseFallPosition = PositionBase & {
888
+ kind: "rise-fall";
889
+ direction: "Rise" | "Fall";
890
+ };
891
+ type SwipePosition = PositionBase & {
892
+ kind: "swipe";
893
+ direction: "Up" | "Down";
894
+ };
895
+ type BoxOPosition = PositionBase & {
896
+ kind: "box-o";
897
+ multiplier: string;
898
+ };
899
+ type DigitsPosition = PositionBase & {
900
+ kind: "digits";
901
+ type: "matches" | "differs" | "odd" | "even" | "over" | "under";
902
+ digit?: string;
903
+ };
904
+ type Position = RiseFallPosition | SwipePosition | BoxOPosition | DigitsPosition;
905
+ type OpenPositionsBlockProps = {
906
+ /** Consumer-provided trigger element. Wrapped with a Sheet/Drawer trigger asChild. */
907
+ trigger: React$1.ReactNode;
908
+ /** Sheet/drawer title. Default: "Positions". */
909
+ sheetTitle?: string;
910
+ /** Position items to render in the list. Empty array → emptyState is shown. */
911
+ positions: Position[];
912
+ /** Footer link handler. The button label is fixed: "View transaction history". */
913
+ onViewHistory?: () => void;
914
+ /** Replaces the default empty state when positions.length === 0. */
915
+ emptyState?: React$1.ReactNode;
916
+ };
917
+ declare function OpenPositionsBlock({ trigger, sheetTitle, positions, onViewHistory, emptyState, }: OpenPositionsBlockProps): react_jsx_runtime.JSX.Element;
918
+
734
919
  declare function cn(...inputs: ClassValue[]): string;
735
920
 
736
921
  declare function useIsMobile(): boolean;
737
922
 
738
- 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, BoostTicketCard, type BoostTicketCardProps, 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, type TooltipVariant, badgeVariants, buttonVariants, cn, inputVariants, linkVariants, navigationButtonVariants, navigationMenuTriggerStyle, tabsListVariants, toggleVariants, useComboboxAnchor, useDirection, useFormField, useIsMobile, useSidebar };
923
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, AuthBlock, type AuthBlockMode, type AuthBlockProps, type AuthBlockProvider, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, BoostTicketCard, type BoostTicketCardProps, type BoxOPosition, 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, type DigitsPosition, 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, FAQBlock, type FAQBlockProps, type FAQItem, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, HeaderNavigationBlock, type HeaderNavigationBlockProps, HeroBlock, type HeroBlockCta, type HeroBlockProps, type HeroBlockTagline, 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, NavBarBlock, type NavBarBlockLink, type NavBarBlockProps, NavigationButton, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, OpenPositionsBlock, type OpenPositionsBlockProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, type Position, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ResultBlock, type ResultBlockCta, type ResultBlockProps, type ResultBlockStatus, ResultDialog, type ResultDialogProps, type RiseFallPosition, 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, type SwipePosition, 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, type TooltipVariant, badgeVariants, buttonVariants, cn, inputVariants, linkVariants, navigationButtonVariants, navigationMenuTriggerStyle, tabsListVariants, toggleVariants, useComboboxAnchor, useDirection, useFormField, useIsMobile, useSidebar };