UNPKG

koval-ui

Version:

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

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