woocommerce/packages/woocommerce-blocks/assets/js/base/components/cart-checkout/payment-method-icons/common-icons.ts
2021-12-10 12:03:04 +00:00

122 lines
2.4 KiB
TypeScript

/**
* External dependencies
*/
import { WC_BLOCKS_IMAGE_URL } from '@woocommerce/block-settings';
import type { PaymentMethodIcon } from '@woocommerce/type-defs/payments';
/**
* Array of common assets.
*/
export const commonIcons: PaymentMethodIcon[] = [
{
id: 'alipay',
alt: 'Alipay',
src: WC_BLOCKS_IMAGE_URL + 'payment-methods/alipay.svg',
},
{
id: 'amex',
alt: 'American Express',
src: WC_BLOCKS_IMAGE_URL + 'payment-methods/amex.svg',
},
{
id: 'bancontact',
alt: 'Bancontact',
src: WC_BLOCKS_IMAGE_URL + 'payment-methods/bancontact.svg',
},
{
id: 'diners',
alt: 'Diners Club',
src: WC_BLOCKS_IMAGE_URL + 'payment-methods/diners.svg',
},
{
id: 'discover',
alt: 'Discover',
src: WC_BLOCKS_IMAGE_URL + 'payment-methods/discover.svg',
},
{
id: 'eps',
alt: 'EPS',
src: WC_BLOCKS_IMAGE_URL + 'payment-methods/eps.svg',
},
{
id: 'giropay',
alt: 'Giropay',
src: WC_BLOCKS_IMAGE_URL + 'payment-methods/giropay.svg',
},
{
id: 'ideal',
alt: 'iDeal',
src: WC_BLOCKS_IMAGE_URL + 'payment-methods/ideal.svg',
},
{
id: 'jcb',
alt: 'JCB',
src: WC_BLOCKS_IMAGE_URL + 'payment-methods/jcb.svg',
},
{
id: 'laser',
alt: 'Laser',
src: WC_BLOCKS_IMAGE_URL + 'payment-methods/laser.svg',
},
{
id: 'maestro',
alt: 'Maestro',
src: WC_BLOCKS_IMAGE_URL + 'payment-methods/maestro.svg',
},
{
id: 'mastercard',
alt: 'Mastercard',
src: WC_BLOCKS_IMAGE_URL + 'payment-methods/mastercard.svg',
},
{
id: 'multibanco',
alt: 'Multibanco',
src: WC_BLOCKS_IMAGE_URL + 'payment-methods/multibanco.svg',
},
{
id: 'p24',
alt: 'Przelewy24',
src: WC_BLOCKS_IMAGE_URL + 'payment-methods/p24.svg',
},
{
id: 'sepa',
alt: 'Sepa',
src: WC_BLOCKS_IMAGE_URL + 'payment-methods/sepa.svg',
},
{
id: 'sofort',
alt: 'Sofort',
src: WC_BLOCKS_IMAGE_URL + 'payment-methods/sofort.svg',
},
{
id: 'unionpay',
alt: 'Union Pay',
src: WC_BLOCKS_IMAGE_URL + 'payment-methods/unionpay.svg',
},
{
id: 'visa',
alt: 'Visa',
src: WC_BLOCKS_IMAGE_URL + 'payment-methods/visa.svg',
},
{
id: 'wechat',
alt: 'WeChat',
src: WC_BLOCKS_IMAGE_URL + 'payment-methods/wechat.svg',
},
];
/**
* For a given ID, see if a common icon exists and return it's props.
*
* @param {string} id Icon ID.
*/
export const getCommonIconProps = (
id: string
): PaymentMethodIcon | Record< string, unknown > => {
return (
commonIcons.find( ( icon ) => {
return icon.id === id;
} ) || {}
);
};