{"version":3,"file":"CircleGaugeWidget.mjs","names":["React","Box","Typography","makeStyles","SummaryBlock","PropTypes","useStyles","theme","circle","width","props","minHeight","height","borderRadius","boxSizing","display","flexDirection","justifyContent","alignItems","padding","background","palette","paper","border","borderColor","cardStat","fontSize","fontWeight","color","textAlign","primaryText","gap","fontStyle","margin","secondaryText","keySummary","lineHeight","borderTop","DEFAULT_SUMMARY_BLOCK","label","CircleGaugeWidget","$","_c","value","textVariant","t0","secondaryValue","secondaryStartLabel","style","styleProps","undefined","classes","t1","t2","t3","t4","summaryBlock","t5","t6","propTypes","oneOfType","string","number","isRequired","object"],"sources":["../../../../../src/UI/widgets/library/CircleGaugeWidget/CircleGaugeWidget.jsx"],"sourcesContent":["import React from 'react';\nimport { Box, Typography, makeStyles } from '@material-ui/core';\nimport { SummaryBlock } from '../../../dataDisplay/SummaryBlock';\nimport { PropTypes } from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n  circle: {\n    width: (props) => props.width || '134px',\n    minHeight: (props) => props.height || '134px',\n    borderRadius: '50%',\n    boxSizing: 'border-box',\n    display: 'flex',\n    flexDirection: 'column',\n    justifyContent: 'center',\n    alignItems: 'center',\n    padding: '8px 0px',\n    background: (props) => props?.background || theme.palette.background.paper,\n    border: (props) =>\n      props?.borderColor\n        ? `2px solid ${props.borderColor}`\n        : `2px solid #BDBDBD`\n  },\n  cardStat: {\n    fontSize: '1.5rem',\n    fontWeight: '700',\n    color: '#000',\n    textAlign: 'center',\n    display: 'flex',\n    flexDirection: 'column',\n    justifyContent: 'center',\n    alignItems: 'center',\n    padding: '0px',\n    width: (props) => props.width || '134px',\n    height: '50%'\n  },\n  primaryText: {\n    display: 'flex',\n    flexDirection: 'row',\n    justifyContent: 'center',\n    alignItems: 'center',\n    padding: '0px',\n    gap: '8px',\n    fontWeight: '400',\n    fontSize: '22px',\n    fontStyle: 'normal',\n    width: (props) => props.width || '134px',\n    height: '32px',\n    margin: '-4px 0px'\n  },\n  secondaryText: {\n    fontStyle: 'normal',\n    fontWeight: '400',\n    fontSize: '12px',\n    display: 'flex',\n    flexDirection: 'column',\n    alignItems: 'center',\n    padding: '0px',\n    width: (props) => props.width || '134px',\n    height: '20px',\n    color: 'rgba(0, 0, 0, 0.6)'\n  },\n  keySummary: {\n    fontSize: '1rem',\n    fontWeight: '700',\n    color: '#000',\n    textAlign: 'center',\n    lineHeight: '50px',\n    display: 'flex',\n    flexDirection: 'column',\n    justifyContent: 'center',\n    alignItems: 'center',\n    padding: '0px',\n    width: (props) => props.width || '134px',\n    height: '50%',\n    borderTop: (props) =>\n      props?.borderColor\n        ? `2px solid ${props.borderColor}`\n        : `2px solid #BDBDBD`\n  }\n}));\n\nconst DEFAULT_SUMMARY_BLOCK = {\n  border: 'none',\n  width: '69px',\n  height: '32px',\n  fontStyle: 'normal',\n  fontWeight: 400,\n  fontSize: '22px',\n  label: { color: '#000' }\n};\n\nexport const CircleGaugeWidget = (props) => {\n  const {\n    value,\n    label,\n    textVariant = 'h5',\n    secondaryValue,\n    secondaryStartLabel,\n    background,\n    style: styleProps\n  } = props;\n  const classes = useStyles(props);\n\n  return (\n    <Box className={classes.circle} style={styleProps}>\n      <Box className={classes.cardStat}>\n        <Typography className={classes.primaryText}>{value}</Typography>\n        <Typography className={classes.secondaryText}>{label}</Typography>\n      </Box>\n      <Box className={classes.keySummary}>\n        {secondaryValue && (\n          <SummaryBlock\n            value={secondaryValue}\n            startLabel={secondaryStartLabel || ''}\n            textVariant={textVariant}\n            backgroundColor={background}\n            style={styleProps?.summaryBlock || DEFAULT_SUMMARY_BLOCK}\n          />\n        )}\n      </Box>\n    </Box>\n  );\n};\n\nCircleGaugeWidget.propTypes = {\n  /** @type {string, number} label showed in the bottom part of the circle gauge */\n  value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n\n  /** @type {?string} optional label */\n  label: PropTypes.string,\n\n  /** @type {?string} optional icon to display ticks in the graph */\n  textVariant: PropTypes.string,\n\n  /** @type {string, number} optional second value */\n  secondaryValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n    .isRequired,\n\n  /** @type {?string}  optional started label */\n  secondaryStartLabel: PropTypes.string,\n\n  /** @type {?string} custom background color */\n  background: PropTypes.string,\n\n  /** @type {object} optional additional css properties */\n  style: PropTypes.object\n};\n"],"mappings":"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"}