@devgateway/dvz-ui-react
Version:
A modular, embeddable React component library for data visualization and UI, built with TypeScript. Provides reusable components for charts, maps, dashboards, and more, with built-in support for internationalization and Redux integration.
60 lines (59 loc) • 1.55 kB
JavaScript
import "react/jsx-runtime";
import "react";
import b from "string-template";
const f = /(\%)[\(]([A-z0-9,.]+)\)/gi, g = /(\#)[\(]([A-z0-9,.]+)\)/gi, h = /(\#C)[\(]([A-z0-9,.]+)\)/gi, x = /(\$)[\(]([A-z0-9,.]+)\)/gi, A = [
{
name: "USD Dollar",
code: "USD",
symbol: "$"
},
{
name: "Naira",
code: "NGN",
symbol: "₦"
},
{
name: "South Africa Rand",
code: "ZAR",
symbol: "R"
},
{
name: "Ethiopian Birr",
code: "ETB",
symbol: "Br"
},
{
name: "Zambian Kwacha",
code: "ZMW",
symbol: "ZK"
},
{
name: "Kenyan Shilling",
code: "KES",
symbol: "KSh"
}
], i = (r, t, o, e, s) => {
let n, c = t;
for (; (n = r.exec(t)) !== null; ) {
const l = n[2], u = (p, d = 2) => s.formatNumber(e ? p / 100 : p, {
maximumFractionDigits: d,
...o
}), m = l.split(","), y = m.length > 0 && m[0] ? u.apply(void 0, m) : "No Data";
c = c.replaceAll(n[0], y);
}
return c;
}, S = (r, t) => {
let o, e = t;
for (; (o = r.exec(t)) !== null; )
if (o.length > 2) {
const s = o[0], n = o[2], c = A.find((l) => a(l.code) == a(n) || a(l.name) == a(n) || a(l.symbol) == a(n));
c && (e = e.replaceAll(s, c.symbol));
}
return e;
}, a = (r) => r && r.trim().toLowerCase(), D = (r, t, o) => {
let e = b(r, t).replace(/(?:\r\n|\r|\n)/g, "<br>");
return e = i(f, e, { style: "percent" }, !0, o), e = i(g, e, { style: "decimal" }, !1, o), e = i(h, e, { notation: "compact" }, !1, o), e = S(x, e), e;
};
export {
D as formatContent
};