@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
37 lines (36 loc) • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.formatCardNumber = exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _clsx = _interopRequireDefault(require("clsx"));
var _SkeletonHelper = require("../../../components/skeleton/SkeletonHelper.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 CardNumberText = ({
cardNumber,
skeleton
}) => {
return (0, _jsxRuntime.jsx)("span", {
className: (0, _clsx.default)('dnb-payment-card__card__element--wrapper', (0, _SkeletonHelper.createSkeletonClass)('font', skeleton)),
children: (0, _jsxRuntime.jsx)(_P.default, {
className: "dnb-payment-card__card__numbers",
children: 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