UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

60 lines (59 loc) 2.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _clsx = _interopRequireDefault(require("clsx")); var _index = _interopRequireDefault(require("../../ValueBlock/index.js")); var _useValueProps = _interopRequireDefault(require("../../hooks/useValueProps.js")); var _utils = require("../../../../components/flex/utils.js"); var _NumberFormatBase = _interopRequireDefault(require("../../../../components/number-format/NumberFormatBase.js")); var _formatCurrency = require("../../../../components/number-format/utils/formatCurrency.js"); var _formatPercent = require("../../../../components/number-format/utils/formatPercent.js"); var _formatNumber = require("../../../../components/number-format/utils/formatNumber.js"); var _withComponentMarkers = _interopRequireDefault(require("../../../../shared/helpers/withComponentMarkers.js")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function NumberValue(props) { const { value: valueProp, minimum = Number.MIN_SAFE_INTEGER, maximum = Number.MAX_SAFE_INTEGER, inline, showEmpty, className, path, itemPath, inheritLabel, ...rest } = (0, _useValueProps.default)(props); const { percent, ...numberFormatRest } = (0, _utils.omitSpacingProps)(rest); let value = valueProp; if (value < minimum) { value = minimum; } if (value > maximum) { value = maximum; } const formatter = percent ? _formatPercent.formatPercent : numberFormatRest.currency === true || typeof numberFormatRest.currency === 'string' ? _formatCurrency.formatCurrency : _formatNumber.formatNumber; return (0, _jsxRuntime.jsx)(_index.default, { className: (0, _clsx.default)('dnb-forms-value-number', className), inline: inline, showEmpty: showEmpty, ...rest, children: typeof value !== 'undefined' || showEmpty ? (0, _jsxRuntime.jsx)(_NumberFormatBase.default, { value: value, ...numberFormatRest, __format: formatter }) : null }); } (0, _withComponentMarkers.default)(NumberValue, { _supportsSpacingProps: true }); var _default = exports.default = NumberValue; //# sourceMappingURL=Number.js.map