UNPKG

@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.

78 lines (77 loc) 2.06 kB
import { jsx as m } from "react/jsx-runtime"; import c from "react"; const b = ({ children: i, data: e }) => { const { data: a, meta: { fields: n } } = e; n[0]; const o = n.slice(1).filter((t) => !t.startsWith("_")), l = o.map((t) => { const r = {}; return r.id = t, r.data = a.map((s) => { const f = {}; return Object.keys(s).forEach((p) => { f[p] = s[p]; }), { x: s[n[0]], y: s[t], variables: { ...f, field: t } }; }), r; }), d = { indexBy: "id", keys: o, data: l }; return c.Children.map( i, (t) => c.cloneElement(t, { options: d }) ); }, x = ({ children: i, data: e }) => { const { data: a, meta: { fields: n } } = e; n[0]; const o = e.data.map((t) => t.ID), l = a.map((t) => { const r = {}, s = {}; return Object.keys(t).forEach((f) => { s[f] = t[f]; }), s.field = n[1], r.variables = s, r.id = t[n[0]], r.label = t[n[0]], r.value = t[n[1]], r; }), d = { keys: o, indexBy: "id", data: l }; return c.Children.map( i, (t) => c.cloneElement(t, { options: d }) ); }, u = ({ children: i, data: e, measures: a }) => { const { data: n, meta: { fields: o } } = e, l = o[0], d = a && a.length > 0 ? a : o.slice(1).filter((r) => !r.startsWith("_")), t = { indexBy: l, keys: d, data: n }; return c.Children.map( i, (r) => c.cloneElement(r, { options: t }) ); }, v = ({ children: i, data: e, keys: a, type: n, measures: o }) => { if (n == "bar") return /* @__PURE__ */ m(u, { data: e, keys: a, measures: o, children: i }); if (n == "line") return /* @__PURE__ */ m(b, { data: e, keys: a, measures: o, children: i }); if (n == "bump") return /* @__PURE__ */ m(b, { data: e, keys: a, measures: o, children: i }); if (n == "pie") return /* @__PURE__ */ m(x, { data: e, keys: a, measures: o, children: i }); if (n == "radar") return /* @__PURE__ */ m(u, { data: e, keys: a, measures: o, children: i }); }; export { v as default };