@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
34 lines (33 loc) • 1.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.formatCardNumber = exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
var _SkeletonHelper = require("../../../components/skeleton/SkeletonHelper.js");
var _P = _interopRequireDefault(require("../../../elements/P.js"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const CardNumberText = ({
cardNumber,
skeleton
}) => {
return _react.default.createElement("span", {
className: (0, _classnames.default)('dnb-payment-card__card__element--wrapper', (0, _SkeletonHelper.createSkeletonClass)('font', skeleton))
}, _react.default.createElement(_P.default, {
className: "dnb-payment-card__card__numbers"
}, cardNumber));
};
const formatCardNumberRegex = /(?=(?:....)*$)/g;
const formatCardNumber = (cardNumber, digits = 8) => {
if (!cardNumber) {
return cardNumber;
}
if (digits && digits <= cardNumber.length) {
return cardNumber.slice(cardNumber.length - digits, cardNumber.length).replace(formatCardNumberRegex, ' ').trim();
}
return cardNumber.replace(formatCardNumberRegex, ' ').trim();
};
exports.formatCardNumber = formatCardNumber;
var _default = exports.default = CardNumberText;
//# sourceMappingURL=CardNumber.js.map