Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/packages / ui / CardType / index.js
Size: Mime:
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