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.56 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"),_=require("rehype-raw"),f=require("string-template"),j=/(\+?\%)[\(]([A-z0-9,.,-]+)\)/gi,q=/(\+?\#)[\(]([A-z0-9,.,-]+)\)/gi,v=/(\+?\#C)[\(]([A-z0-9,.,-]+)\)/gi,m=(o,e,n,i,t,r)=>{let s,a=e;for(;(s=o.exec(e))!==null;){const c=s[2],l=s[1],g=((p,y=2)=>t.formatNumber(i?p/100:p,{maximumFractionDigits:y,...n,signDisplay:l&&l.startsWith("+")?"never":"auto"})).apply(void 0,c.split(","));a=a.replaceAll(s[0],g)}return a},d=(o,e,n,i)=>{e.field&&e[`_${e.field}`]&&(e._value=e[`_${e.field}`]),!e.field&&e.category&&(e.field=e.category);let t=i?f(o,e):f(o,e).replace(/(?:\r\n|\r|\n)/g,"<br>");return t=m(j,t,{style:"percent"},!0,n),t=m(q,t,{style:"decimal"},!1,n),t=m(v,t,{notation:"compact"},!1,n),t},F=({tooltip:o,d:e,intl:n,tooltipEnableMarkdown:i})=>{const{color:t,data:r}=e.datum||e.point||e,s=e.value||(e.datum?e.datum.value:null)||(e.point?e.point.data.y:null);if(r){const a=r.variables?r.variables[e.id]||r.variables:r,c={field:e.point?e.point.serieId:e.id,...a,value:s};r.measureFieldName&&(c.populationValue=r.variables[r.measureFieldName+"Population"]);const l=d(o,c,n,i);return i?u.jsx(x,{children:l,remarkPlugins:[h],rehypePlugins:[_],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;