@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
38 lines • 1.34 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import React from 'react';
import classnames from 'classnames';
import ValueBlock from "../../ValueBlock/index.js";
import useValueProps from "../../hooks/useValueProps.js";
import { omitSpacingProps } from "../../../../components/flex/utils.js";
import NumberFormat from "../../../../components/NumberFormat.js";
import { convertCamelCasePropsToSnakeCase } from "../../../../shared/helpers/withCamelCaseProps.js";
function NumberValue(props) {
const {
value: valueProp,
minimum = Number.MIN_SAFE_INTEGER,
maximum = Number.MAX_SAFE_INTEGER,
inline,
showEmpty,
className,
path,
...rest
} = useValueProps(props);
const numberFormatProps = convertCamelCasePropsToSnakeCase(omitSpacingProps(rest));
let value = valueProp;
if (value < minimum) {
value = minimum;
}
if (value > maximum) {
value = maximum;
}
return React.createElement(ValueBlock, _extends({
className: classnames('dnb-forms-value-number', className),
inline: inline,
showEmpty: showEmpty
}, rest), typeof value !== 'undefined' || showEmpty ? React.createElement(NumberFormat, _extends({
value: value
}, numberFormatProps)) : null);
}
NumberValue._supportsSpacingProps = true;
export default NumberValue;
//# sourceMappingURL=Number.js.map