UNPKG

@synergy-design-system/components

Version:

This package provides the base of the Synergy Design System as native web components. It uses [lit](https://www.lit.dev) and parts of [shoelace](https://shoelace.style/). Synergy officially supports the latest two versions of all major browsers (as define

56 lines (53 loc) 2.13 kB
import { __objRest, __spreadValues } from "./chunk.Z4XV3SMG.js"; // src/components/input/formatter.ts var formatNumber = (value, step, numberFormatterOptions = {}) => { var _b; const _a = numberFormatterOptions, { maximumFractionDigits: providedMaxFractionDigits, minimumFractionDigits: providedMinFractionDigits } = _a, otherOptions = __objRest(_a, [ "maximumFractionDigits", "minimumFractionDigits" ]); const stepToUse = step === "any" || !step ? 1 : +step; const stepFractionDigits = ((_b = stepToUse.toString().split(".")[1]) == null ? void 0 : _b.length) || 0; let minimumFractionDigits; let maximumFractionDigits; const minFractionIsNumber = typeof providedMinFractionDigits === "number"; const maxFractionIsNumber = typeof providedMaxFractionDigits === "number"; if (minFractionIsNumber && !maxFractionIsNumber) { minimumFractionDigits = providedMinFractionDigits; maximumFractionDigits = providedMinFractionDigits; } else if (maxFractionIsNumber && !minFractionIsNumber) { minimumFractionDigits = providedMaxFractionDigits; maximumFractionDigits = providedMaxFractionDigits; } else if (minFractionIsNumber && maxFractionIsNumber) { minimumFractionDigits = Math.min(providedMinFractionDigits, providedMaxFractionDigits); maximumFractionDigits = Math.max(providedMinFractionDigits, providedMaxFractionDigits); } if (stepFractionDigits > (minimumFractionDigits || 0)) { minimumFractionDigits = stepFractionDigits; } if (stepFractionDigits > (maximumFractionDigits || 0)) { maximumFractionDigits = stepFractionDigits; } if (typeof minimumFractionDigits !== "undefined" && minimumFractionDigits > 100) { minimumFractionDigits = 100; } if (typeof maximumFractionDigits !== "undefined" && maximumFractionDigits > 100) { maximumFractionDigits = 100; } const formatter = new Intl.NumberFormat("en-US", __spreadValues({ maximumFractionDigits, minimumFractionDigits, useGrouping: false }, otherOptions)); return formatter.format(value); }; export { formatNumber }; //# sourceMappingURL=chunk.NFXT5LNY.js.map