@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
59 lines • 1.97 kB
JavaScript
import React from 'react';
import { StatusIcon } from "../icons/index.js";
import P from "../../../elements/P.js";
const StatusOverlay = ({
cardStatus,
translations,
cardDesign
}) => {
const cardStatusMap = {
not_active: translations.text_not_active,
new_order: translations.text_new_order,
order_in_process: translations.text_order_in_process,
renewed: translations.text_renewed,
replaced: translations.text_replaced,
blocked: translations.text_blocked,
expired: translations.text_expired,
new: translations.text_new,
unknown: translations.text_unknown
};
const cardStatusOverlayThemeMap = {
'card--design-default': 'light',
'card--design-business-no-visa': 'light',
'card--design-business-with-visa': 'light',
'card--design-ung': 'light',
'card--design-youth': 'light',
'card--design-my-first': 'light',
'card--design-sbanken-visa': 'light',
'card--design-pluss': 'dark',
'card--design-gold': 'dark',
'card--design-saga': 'dark',
'card--design-saga-platinum': 'dark',
'card--design-private': 'dark',
'card--design-black': 'dark',
'card--design-sbanken-mastercard': 'dark'
};
return cardStatusMap[cardStatus] ? React.createElement("div", {
className: "dnb-payment-card__overlay"
}, React.createElement("div", {
className: `dnb-payment-card__overlay__content dnb-payment-card__overlay__content--${cardStatusOverlayThemeMap[cardDesign]}`
}, React.createElement(StatusIcon, {
status: cardStatus
}), React.createElement(P, null, cardStatusMap[cardStatus]))) : null;
};
export const isCardBlocked = cardStatus => {
const cardStatusMap = {
not_active: true,
new_order: false,
order_in_process: false,
renewed: false,
replaced: false,
blocked: true,
expired: true,
new: false,
unknown: false
};
return cardStatusMap[cardStatus];
};
export default StatusOverlay;
//# sourceMappingURL=StatusOverlay.js.map