@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
26 lines (25 loc) • 879 B
JavaScript
"use client";
import { useContext, useMemo } from 'react';
import InputMaskedContext from "../InputMaskedContext.js";
import { isRequestingNumberMask } from "../InputMaskedUtils.js";
import { useNumberMaskParams } from "./useNumberMaskParams.js";
export const useNumberMask = () => {
const mP = useNumberMaskParams();
const {
props
} = useContext(InputMaskedContext);
const mask = 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 || !isRequestingNumberMask(props)) {
return null;
}
return mask;
};
export function createNumberMask(maskParams = {}) {
return {
instanceOf: 'createNumberMask',
maskParams
};
}
//# sourceMappingURL=useNumberMask.js.map