@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
41 lines • 1.58 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
const _excluded = ["value", "minimum", "maximum", "inline", "showEmpty", "className", "path"];
import React from 'react';
import classnames from 'classnames';
import ValueBlock from '../../ValueBlock';
import useValueProps from '../../hooks/useValueProps';
import { omitSpacingProps } from '../../../../components/flex/utils';
import NumberFormat from '../../../../components/NumberFormat';
import { convertCamelCaseProps } from '../../../../shared/helpers/withCamelCaseProps';
function NumberValue(props) {
const _useValueProps = useValueProps(props),
{
value: valueProp,
minimum = Number.MIN_SAFE_INTEGER,
maximum = Number.MAX_SAFE_INTEGER,
inline,
showEmpty,
className,
path
} = _useValueProps,
rest = _objectWithoutProperties(_useValueProps, _excluded);
const numberFormatProps = convertCamelCaseProps(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