'use client'; import { useOutsideClick } from '@/internal/hooks/useOutsideClick'; import { cn } from '@/styles/theme'; import { FALLBACK_DEFAULT_MAX_SLIPPAGE } from '@/swap/constants'; import { useRef } from 'react'; import type { BuyProps } from '../types'; import { BuyAmountInput } from './BuyAmountInput'; import { BuyButton } from './BuyButton'; import { BuyDropdown } from './BuyDropdown'; import { BuyMessage } from './BuyMessage'; import { BuyProvider, useBuyContext } from './BuyProvider'; function BuyContent({ className }: { className?: string }) { const { isDropdownOpen, setIsDropdownOpen } = useBuyContext(); const buyContainerRef = useRef(null); useOutsideClick(buyContainerRef, () => { if (isDropdownOpen) { setIsDropdownOpen(false); } }); return (
{isDropdownOpen && }
); } export function Buy({ config = { maxSlippage: FALLBACK_DEFAULT_MAX_SLIPPAGE, }, className, disabled = false, experimental = { useAggregator: false }, isSponsored = false, onError, onStatus, onSuccess, toToken, fromToken, sessionToken, }: BuyProps) { return ( ); }