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.

2 lines (1 loc) 1.6 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react/jsx-runtime");require("react");const x=require("react-markdown"),h=require("remark-gfm"),j=require("rehype-raw"),f=require("string-template"),_=/(\+?\%)[\(]([A-z0-9,.,-]+)\)/gi,q=/(\+?\#)[\(]([A-z0-9,.,-]+)\)/gi,v=/(\+?\#C)[\(]([A-z0-9,.,-]+)\)/gi,m=(i,e,o,s,t,r)=>{let a,n=e;for(;(a=i.exec(e))!==null;){const c=a[2],l=a[1],g=((p,y=2)=>t.formatNumber(s?p/100:p,{maximumFractionDigits:y,...o,signDisplay:l&&l.startsWith("+")?"never":"auto"})).apply(void 0,c.split(","));n=n.replaceAll(a[0],g)}return n},d=(i,e,o,s)=>{e.field&&e[`_${e.field}`]&&(e._value=e[`_${e.field}`]),!e.field&&e.category&&(e.field=e.category);let t=s?f(i,e):f(i,e).replace(/(?:\r\n|\r|\n)/g,"<br>");return t=m(_,t,{style:"percent"},!0,o),t=m(q,t,{style:"decimal"},!1,o),t=m(v,t,{notation:"compact"},!1,o),t},F=({tooltip:i,d:e,intl:o,tooltipEnableMarkdown:s})=>{const{color:t,data:r}=e.datum||e.point||e,a=e.value||(e.datum?e.datum.value:null)||(e.point?e.point.data.y:null);if(r){let n;r.variables?n=typeof r.variables[e.id]=="object"?r.variables[e.id]:r.variables:n=r;const c={field:e.point?e.point.serieId:e.id,...n,value:a};r.measureFieldName&&(c.populationValue=r.variables[r.measureFieldName+"Population"]);const l=d(i,c,o,s);return s?u.jsx(x,{children:l,remarkPlugins:[h],rehypePlugins:[j],className:"chart tooltip"}):u.jsx("div",{className:"chart tooltip",children:u.jsx("div",{dangerouslySetInnerHTML:{__html:l}})})}else return u.jsx("div",{})};exports.default=F;exports.formatContent=d;