UNPKG

koval-ui

Version:

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

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