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