UNPKG

koval-ui

Version:

React components collection with minimalistic design. Supports theming, layout, and input validation.

80 lines (79 loc) 2.21 kB
"use client"; import { jsx as h } from "react/jsx-runtime"; import { forwardRef as I, useMemo as j } from "react"; import B from "classnames"; import { useBrowserLocale as G } from "../../internal/locale/useBrowserLocale.js"; import R from "./Number.module.css.js"; import { SignDisplayModes as V, CompactDisplayModes as d, Notations as k, Styles as q, LocaleMatchers as z } from "./types.js"; const A = I( ({ value: i, className: y, locale: t, localeMatcher: a = z["best fit"], digitsConfig: m = { integer: { minimum: 1 }, significant: { minimum: 1, maximum: 21 }, fraction: {} }, notation: e = k.standard, compactDisplay: r = d.short, grouping: n, signDisplay: s = V.auto, ...F }, L) => { var u, f, l, x, p; const M = G(), c = t || M, o = j( () => { var D, N, b, S, w; return i ? new Intl.NumberFormat(c, { localeMatcher: a, style: q.decimal, minimumIntegerDigits: (D = m.integer) == null ? void 0 : D.minimum, minimumFractionDigits: (N = m.fraction) == null ? void 0 : N.minimum, minimumSignificantDigits: (b = m.significant) == null ? void 0 : b.minimum, maximumSignificantDigits: (S = m.significant) == null ? void 0 : S.maximum, maximumFractionDigits: (w = m.fraction) == null ? void 0 : w.maximum, notation: e, compactDisplay: r, useGrouping: n, signDisplay: s }).format(i) : ""; }, [ r, (u = m.fraction) == null ? void 0 : u.maximum, (f = m.fraction) == null ? void 0 : f.minimum, (l = m.integer) == null ? void 0 : l.minimum, (x = m.significant) == null ? void 0 : x.maximum, (p = m.significant) == null ? void 0 : p.minimum, n, c, a, e, s, i ] ); return i && /* @__PURE__ */ h( "span", { ...F, title: o, className: B(R.number, y), ref: L, children: o } ); } ); A.displayName = "NumberDecimal"; export { A as NumberDecimal }; //# sourceMappingURL=NumberDecimal.js.map