@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
72 lines (71 loc) • 2.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isCardBlocked = exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _index = require("../icons/index.js");
var _P = _interopRequireDefault(require("../../../elements/P.js"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
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] ? (0, _jsxRuntime.jsx)("div", {
className: "dnb-payment-card__overlay",
children: (0, _jsxRuntime.jsxs)("div", {
className: `dnb-payment-card__overlay__content dnb-payment-card__overlay__content--${cardStatusOverlayThemeMap[cardDesign]}`,
children: [(0, _jsxRuntime.jsx)(_index.StatusIcon, {
status: cardStatus
}), (0, _jsxRuntime.jsx)(_P.default, {
children: cardStatusMap[cardStatus]
})]
})
}) : null;
};
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];
};
exports.isCardBlocked = isCardBlocked;
var _default = exports.default = StatusOverlay;
//# sourceMappingURL=StatusOverlay.js.map