UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

37 lines (36 loc) 1.43 kB
"use strict"; 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