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