UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

59 lines 1.41 kB
import { ABSENT_VALUE_FORMAT, isAbsent, applyDecimalsForPlain, buildReturn, cleanNumber, formatNumberCore, handleCompactBeforeAria, handleCompactBeforeDisplay, prepareFormatOptions, prepareMinus, resolveLocale, enhanceSR } from "./formatCore.js"; export function formatNumber(value, { locale: inputLocale = null, clean = false, compact = null, decimals = null, rounding = null, signDisplay = null, options = null, returnAria = false, invalidAriaText = null, cleanCopyValue = null } = {}) { value = isAbsent(value) ? ABSENT_VALUE_FORMAT : value; const locale = resolveLocale(inputLocale); const opts = prepareFormatOptions({ options, signDisplay }); if (clean) { value = cleanNumber(value); } value = applyDecimalsForPlain({ value, decimals, rounding, opts }); handleCompactBeforeDisplay({ value, locale, compact, decimals, opts }); let display = formatNumberCore(value, locale, opts); display = prepareMinus(display, locale); handleCompactBeforeAria({ value, compact, opts }); let aria = formatNumberCore(value, locale, opts); aria = enhanceSR(value, aria, locale); if (!returnAria) { return display; } return buildReturn({ value, locale, display, aria, type: 'number', opts, cleanCopyValue, invalidAriaText }); } //# sourceMappingURL=formatNumber.js.map