UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

34 lines (33 loc) 1.38 kB
"use strict"; 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