@activecollab/components
Version:
ActiveCollab Components
51 lines • 2.77 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
const _excluded = ["value", "variant", "thousandSeparator", "decimalSeparator", "trimDecimals", "decimalSpaces", "format", "disableTooltip", "className", "as", "shortenThreshold"];
import React, { forwardRef } from "react";
import { formatNumber } from "../../utils";
import { Tooltip } from "../Tooltip";
import { Typography } from "../Typography/Typography";
export const DisplayNumber = /*#__PURE__*/forwardRef((_ref, ref) => {
let value = _ref.value,
_ref$variant = _ref.variant,
variant = _ref$variant === void 0 ? "Body 2" : _ref$variant,
_ref$thousandSeparato = _ref.thousandSeparator,
thousandSeparator = _ref$thousandSeparato === void 0 ? "," : _ref$thousandSeparato,
_ref$decimalSeparator = _ref.decimalSeparator,
decimalSeparator = _ref$decimalSeparator === void 0 ? "." : _ref$decimalSeparator,
_ref$trimDecimals = _ref.trimDecimals,
trimDecimals = _ref$trimDecimals === void 0 ? true : _ref$trimDecimals,
_ref$decimalSpaces = _ref.decimalSpaces,
decimalSpaces = _ref$decimalSpaces === void 0 ? 2 : _ref$decimalSpaces,
_ref$format = _ref.format,
format = _ref$format === void 0 ? "long" : _ref$format,
_ref$disableTooltip = _ref.disableTooltip,
disableTooltip = _ref$disableTooltip === void 0 ? false : _ref$disableTooltip,
className = _ref.className,
_ref$as = _ref.as,
as = _ref$as === void 0 ? "span" : _ref$as,
_ref$shortenThreshold = _ref.shortenThreshold,
shortenThreshold = _ref$shortenThreshold === void 0 ? 1000 : _ref$shortenThreshold,
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
const formattedValue = formatNumber(value, thousandSeparator, decimalSeparator, trimDecimals, decimalSpaces, format, shortenThreshold);
const formattedLongValue = formatNumber(value, thousandSeparator, decimalSeparator, trimDecimals, decimalSpaces, "long");
if (format === "short") {
return /*#__PURE__*/React.createElement(Tooltip, {
title: formatNumber(value, thousandSeparator, decimalSeparator, false, decimalSpaces, "long"),
disable: disableTooltip || !formattedLongValue.includes(thousandSeparator) && !formattedLongValue.includes(decimalSeparator)
}, /*#__PURE__*/React.createElement(Typography, _extends({
as: as,
variant: variant,
className: className,
ref: ref
}, rest), formattedValue));
}
return /*#__PURE__*/React.createElement(Typography, _extends({
as: as,
variant: variant,
className: className,
ref: ref
}, rest), formattedLongValue);
});
DisplayNumber.displayName = "DisplayNumber";
//# sourceMappingURL=DisplayNumber.js.map