import { Box, MenuItemSize } from '@biom3/react'; import { SalePaymentTypes } from '@imtbl/checkout-sdk'; import { motion } from 'framer-motion'; import { useMemo } from 'react'; import { listItemVariants, listVariants } from '../../../lib/animation/listAnimation'; import { PaymentOption } from './PaymentOption'; const defaultPaymentOptions: SalePaymentTypes[] = [ SalePaymentTypes.CRYPTO, SalePaymentTypes.DEBIT, SalePaymentTypes.CREDIT, ]; export interface PaymentOptionsProps { onClick: (type: SalePaymentTypes) => void; disabledOptions?: SalePaymentTypes[]; paymentOptions?: SalePaymentTypes[]; captions?: Partial>; size?: MenuItemSize; hideDisabledOptions?: boolean; } export function PaymentOptions(props: PaymentOptionsProps) { const { disabledOptions = [], paymentOptions, onClick, captions, size, hideDisabledOptions, } = props; const options = useMemo( () => (paymentOptions || defaultPaymentOptions).filter( (option) => !hideDisabledOptions || !disabledOptions.includes(option), ), [paymentOptions, disabledOptions, hideDisabledOptions], ); return ( } > {options.map((type, idx: number) => ( } /> ))} ); }