@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
34 lines (33 loc) • 1.24 kB
JavaScript
;
"use client";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createNumberMask = createNumberMask;
exports.useNumberMask = void 0;
var _react = require("react");
var _InputMaskedContext = _interopRequireDefault(require("../InputMaskedContext.js"));
var _InputMaskedUtils = require("../InputMaskedUtils.js");
var _useNumberMaskParams = require("./useNumberMaskParams.js");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const useNumberMask = () => {
const mP = (0, _useNumberMaskParams.useNumberMaskParams)();
const {
props
} = (0, _react.useContext)(_InputMaskedContext.default);
const mask = (0, _react.useMemo)(() => {
return createNumberMask(mP);
}, [mP.thousandsSeparatorSymbol, mP.decimalSymbol, mP.allowDecimal, mP.decimalLimit, mP.integerLimit, mP.allowNegative, mP.prefix, mP.suffix, mP.disallowLeadingZeroes, mP.min, mP.max]);
if (!mP || !(0, _InputMaskedUtils.isRequestingNumberMask)(props)) {
return null;
}
return mask;
};
exports.useNumberMask = useNumberMask;
function createNumberMask(maskParams = {}) {
return {
instanceOf: 'createNumberMask',
maskParams
};
}
//# sourceMappingURL=useNumberMask.js.map