UNPKG

@commercelayer/react-components

Version:
51 lines (50 loc) 1.87 kB
import type { Order, PaymentMethod as PaymentMethodType } from "@commercelayer/sdk"; import { type JSX } from "react"; import type { PaymentResource } from "../../reducers/PaymentMethodReducer"; import type { LoaderType } from "../../typings/index"; import type { DefaultChildrenType } from "../../typings/globals"; export interface PaymentMethodOnClickParams { payment?: PaymentMethodType | Record<string, any>; order?: Order; paymentSource?: Order["payment_source"]; } type Props = { /** * Hide payment methods by an array of strings or a function that returns a boolean */ hide?: PaymentResource[] | ((payment: PaymentMethodType) => boolean); children: DefaultChildrenType; /** * Set CSS classes when the payment method is selected */ activeClass?: string; /** * Customize the loader component */ loader?: LoaderType; /** * Show loader while fetching payment methods * @default undefined */ showLoader?: boolean; /** * Auto select the payment method when there is only one available */ autoSelectSinglePaymentMethod?: boolean | (() => void); /** * Enable express payment. Other payment methods will be disabled. */ expressPayments?: boolean; /** * Sort payment methods by an array of strings */ sortBy?: Array<PaymentMethodType["payment_source_type"]>; } & Omit<JSX.IntrinsicElements["div"], "onClick" | "children"> & ({ clickableContainer: true; onClick?: (params: PaymentMethodOnClickParams) => void; } | { clickableContainer?: never; onClick?: never; }); export declare function PaymentMethod({ children, className, activeClass, loader, clickableContainer, autoSelectSinglePaymentMethod, expressPayments, showLoader, hide, onClick, sortBy, ...p }: Props): JSX.Element; export default PaymentMethod;