@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
64 lines • 2.02 kB
JavaScript
import React from 'react';
import { StatusIcon } from "../icons/index.js";
import P from "../../../elements/P.js";
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
const StatusOverlay = ({
cardStatus,
translations,
cardDesign
}) => {
const cardStatusMap = {
notActive: translations.textNotActive,
newOrder: translations.textNewOrder,
orderInProcess: translations.textOrderInProcess,
renewed: translations.textRenewed,
replaced: translations.textReplaced,
blocked: translations.textBlocked,
expired: translations.textExpired,
new: translations.textNew,
unknown: translations.textUnknown
};
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] ? _jsx("div", {
className: "dnb-payment-card__overlay",
children: _jsxs("div", {
className: `dnb-payment-card__overlay__content dnb-payment-card__overlay__content--${cardStatusOverlayThemeMap[cardDesign]}`,
children: [_jsx(StatusIcon, {
status: cardStatus
}), _jsx(P, {
children: cardStatusMap[cardStatus]
})]
})
}) : null;
};
export const isCardBlocked = cardStatus => {
const cardStatusMap = {
notActive: true,
newOrder: false,
orderInProcess: false,
renewed: false,
replaced: false,
blocked: true,
expired: true,
new: false,
unknown: false
};
return cardStatusMap[cardStatus];
};
export default StatusOverlay;
//# sourceMappingURL=StatusOverlay.js.map