Repository URL to install this package:
|
Version:
0.0.15 ▾
|
import * as React from 'react';
import { LogoIcon } from '@skava/ui/dist/components/atoms/Icons/LogoIcon';
import { toCreditCard } from '@skava/packages/features/Forms';
import { PaymentsCardType as PaymentsCardIconComponent, StyledCardWrap } from './styled';
export const PayPalIcon = (props) => React.createElement(LogoIcon, Object.assign({ type: "paypal" }, props));
export const ApplePayIcon = (props) => (React.createElement(LogoIcon, Object.assign({ type: "apple-pay" }, props)));
function fromCardNumberToType(cardNumber) {
const owner = toCreditCard(cardNumber).owns;
if (owner === 'mastercard') {
return 'master';
}
else if (owner === 'westernunion') {
return 'western-union';
}
else if (owner === 'americanexpress' || owner === 'amex') {
return 'american-express';
}
else {
return owner || 'visa';
}
}
function fromPropsToCardType(props) {
switch (true) {
case !!props.cardType:
return props.cardType.toLowerCase();
case props.visa:
return 'visa';
case props.americanexpress:
case props.amex:
return 'american-express';
case props.diners:
return 'diners';
case props.discover:
return 'discover';
case props.mastercard:
return 'master';
case props.westernunion:
return 'western-union';
case props.amazon:
return 'amazon';
case props.paypal:
return 'paypal';
case props.apple:
return 'apple';
case props.google:
return 'src/bootstrap/google';
case props.payments:
return 'payments';
default:
return fromCardNumberToType(props.cardNumber);
}
}
function fromPropsToCard(props) {
const type = fromPropsToCardType(props);
if (type === 'paypal') {
return React.createElement(PayPalIcon, Object.assign({}, props));
}
else if (type === 'apple') {
return React.createElement(ApplePayIcon, Object.assign({}, props));
}
else {
return React.createElement(PaymentsCardIconComponent, { type: type });
}
}
class PaymentsCardIcon extends React.PureComponent {
render() {
const { className, ...remainingProps } = this.props;
const view = fromPropsToCard(remainingProps);
return React.createElement(StyledCardWrap, { className: className }, view);
}
}
export { PaymentsCardIcon, PaymentsCardIcon as CardTypeIcon };
export default PaymentsCardIcon;
//# sourceMappingURL=index.js.map