retro-react
Version:
A React component library for building retro-style websites
2 lines (1 loc) • 1.58 kB
JavaScript
"use strict";var s=require("../../_virtual/_tslib.js"),e=require("react"),i=require("../../node_modules/@theme-ui/core/jsx-runtime/dist/theme-ui-core-jsx-runtime.esm.js"),t=require("../../utils/classNames.js"),a=require("../../utils/ToKebabCase.js"),r=require("../../constants/commonClassNames.js"),c=require("./Statistics.styled.js");const l=e.forwardRef(((e,l)=>{var{id:n,className:o,number:d="0",label:b="",size:u="medium",icon:m,direction:j="vertical",prefix:x="",suffix:f="",onClick:$,sx:N}=e,v=s.__rest(e,["id","className","number","label","size","icon","direction","prefix","suffix","onClick","sx"]);return i.jsxs(c.StatisticsWrapper,Object.assign({$size:u,$direction:j,title:b,$isClickable:!!$,className:t.classNames("statistics-root",o,r.default),ref:l,id:n,sx:N},v,{children:[m&&i.jsx(c.StatIcon,Object.assign({$size:u,className:"statistics-icon-container"},{children:m}),void 0),i.jsxs(c.StatNumberWrapper,Object.assign({$size:u,$direction:j},{children:[i.jsxs(c.StatNumber,Object.assign({$size:u,title:`${x} ${d} ${f}`,className:"statistics-number",id:`${n||b}-number`,"aria-labelledby":`${n||a.toKebabCase(b)}-label`,"aria-live":"polite"},{children:[x&&i.jsx(c.StatPrefix,Object.assign({$size:u,className:"statistics-prefix"},{children:x}),void 0),d,f&&i.jsx(c.StatSuffix,Object.assign({$size:u,className:"statistics-suffix"},{children:f}),void 0)]}),void 0),i.jsx(c.StatLabel,Object.assign({$size:u,title:b,className:"statistics-label",id:`${n||a.toKebabCase(b)}-label`},{children:b}),void 0)]}),void 0)]}),void 0)}));l.displayName="Statistics",exports.Statistics=l;