UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

37 lines (36 loc) 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatCardNumber = exports.default = void 0; require("core-js/modules/es.string.replace.js"); var _react = _interopRequireDefault(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _SkeletonHelper = require("../../../components/skeleton/SkeletonHelper"); var _P = _interopRequireDefault(require("../../../elements/P")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const CardNumberText = _ref => { let { cardNumber, skeleton } = _ref; 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 = function (cardNumber) { let digits = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 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