UNPKG

koval-ui

Version:

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

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