UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

83 lines (82 loc) 2.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useNumberMaskParams = void 0; var _react = _interopRequireDefault(require("react")); var _componentHelper = require("../../../shared/component-helper.js"); var _NumberUtils = require("../../number-format/NumberUtils.js"); var _InputMaskedContext = _interopRequireDefault(require("../InputMaskedContext.js")); var _InputMaskedUtils = require("../InputMaskedUtils.js"); var _useTranslation = require("./useTranslation.js"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const useNumberMaskParams = () => { var _currencyMask; const { props } = _react.default.useContext(_InputMaskedContext.default); const locale = (0, _useTranslation.useTranslation)(); if (!(0, _InputMaskedUtils.isRequestingNumberMask)(props)) { return { ...(0, _InputMaskedUtils.fromJSON)(props.maskOptions) }; } let { numberMask, currencyMask, maskOptions } = props; const { asNumber, asPercent, asCurrency, value } = props; maskOptions = (0, _InputMaskedUtils.fromJSON)(maskOptions); numberMask = numberMask === true ? {} : (0, _InputMaskedUtils.fromJSON)(numberMask); currencyMask = currencyMask === true ? {} : (0, _InputMaskedUtils.fromJSON)(currencyMask, { currency: currencyMask }); if (!((_currencyMask = currencyMask) !== null && _currencyMask !== void 0 && _currencyMask.currency)) { delete currencyMask.currency; } if ((0, _InputMaskedUtils.isRequestingLocaleSupport)(props)) { const thousandsSeparatorSymbol = (0, _InputMaskedUtils.handleThousandsSeparator)(locale); const decimalSymbol = (0, _InputMaskedUtils.handleDecimalSeparator)(locale); if (asNumber || asPercent) { numberMask = (0, _componentHelper.extendPropsWithContext)(numberMask, null, { decimalSymbol, thousandsSeparatorSymbol }); } else if (asCurrency) { var _currencyMask2; currencyMask = (0, _componentHelper.extendPropsWithContext)(currencyMask, null, { decimalSymbol, thousandsSeparatorSymbol, currency: (0, _NumberUtils.getCurrencySymbol)(locale, typeof asCurrency === 'string' ? asCurrency : null, (_currencyMask2 = currencyMask) === null || _currencyMask2 === void 0 ? void 0 : _currencyMask2.currencyDisplay, value) }); } } let maskParams = null; if (numberMask) { maskParams = (0, _InputMaskedUtils.handleNumberMask)({ maskOptions, numberMask }); if (asPercent) { maskParams = (0, _InputMaskedUtils.handlePercentMask)({ props, locale, maskParams }); } } else if (currencyMask) { maskParams = (0, _InputMaskedUtils.handleCurrencyMask)({ maskOptions, currencyMask }); } return maskParams; }; exports.useNumberMaskParams = useNumberMaskParams; //# sourceMappingURL=useNumberMaskParams.js.map