{"version":3,"file":"FormattedValueDisplay.mjs","sources":["../../../../src/components/FormattedValueDisplay/FormattedValueDisplay.tsx"],"sourcesContent":["import { CSSProperties, HTMLProps } from 'react';\n\nimport { FormattedValue } from '@grafana/data';\n\nexport interface Props extends Omit<HTMLProps<HTMLDivElement>, 'className' | 'value' | 'style'> {\n  value: FormattedValue;\n  className?: string;\n  style?: CSSProperties;\n}\n\nfunction fontSizeReductionFactor(fontSize: number) {\n  if (fontSize < 20) {\n    return 0.9;\n  }\n  if (fontSize < 26) {\n    return 0.8;\n  }\n  return 0.6;\n}\n\nexport const FormattedValueDisplay = ({ value, className, style, ...htmlProps }: Props) => {\n  const hasPrefix = (value.prefix ?? '').length > 0;\n  const hasSuffix = (value.suffix ?? '').length > 0;\n  let suffixStyle;\n\n  if (style && typeof style.fontSize === 'number' && !Number.isNaN(style.fontSize)) {\n    const fontSize = style.fontSize;\n    const reductionFactor = fontSizeReductionFactor(fontSize);\n    suffixStyle = { fontSize: fontSize * reductionFactor };\n  }\n\n  return (\n    <div className={className} style={style} {...htmlProps}>\n      <div>\n        {hasPrefix && <span>{value.prefix}</span>}\n        <span>{value.text}</span>\n        {hasSuffix && <span style={suffixStyle}>{value.suffix}</span>}\n      </div>\n    </div>\n  );\n};\n\nFormattedValueDisplay.displayName = 'FormattedDisplayValue';\n"],"names":[],"mappings":";;AAUA,SAAS,wBAAwB,QAAkB,EAAA;AACjD,EAAA,IAAI,WAAW,EAAI,EAAA;AACjB,IAAO,OAAA,GAAA;AAAA;AAET,EAAA,IAAI,WAAW,EAAI,EAAA;AACjB,IAAO,OAAA,GAAA;AAAA;AAET,EAAO,OAAA,GAAA;AACT;AAEa,MAAA,qBAAA,GAAwB,CAAC,EAAE,KAAA,EAAO,WAAW,KAAO,EAAA,GAAG,WAAuB,KAAA;AApB3F,EAAA,IAAA,EAAA,EAAA,EAAA;AAqBE,EAAA,MAAM,SAAa,GAAA,CAAA,CAAA,EAAA,GAAA,KAAA,CAAM,MAAN,KAAA,IAAA,GAAA,EAAA,GAAgB,IAAI,MAAS,GAAA,CAAA;AAChD,EAAA,MAAM,SAAa,GAAA,CAAA,CAAA,EAAA,GAAA,KAAA,CAAM,MAAN,KAAA,IAAA,GAAA,EAAA,GAAgB,IAAI,MAAS,GAAA,CAAA;AAChD,EAAI,IAAA,WAAA;AAEJ,EAAI,IAAA,KAAA,IAAS,OAAO,KAAA,CAAM,QAAa,KAAA,QAAA,IAAY,CAAC,MAAO,CAAA,KAAA,CAAM,KAAM,CAAA,QAAQ,CAAG,EAAA;AAChF,IAAA,MAAM,WAAW,KAAM,CAAA,QAAA;AACvB,IAAM,MAAA,eAAA,GAAkB,wBAAwB,QAAQ,CAAA;AACxD,IAAc,WAAA,GAAA,EAAE,QAAU,EAAA,QAAA,GAAW,eAAgB,EAAA;AAAA;AAGvD,EAAA,2BACG,KAAI,EAAA,EAAA,SAAA,EAAsB,OAAe,GAAG,SAAA,EAC3C,+BAAC,KACE,EAAA,EAAA,QAAA,EAAA;AAAA,IAAa,SAAA,oBAAA,GAAA,CAAC,MAAM,EAAA,EAAA,QAAA,EAAA,KAAA,CAAM,MAAO,EAAA,CAAA;AAAA,oBAClC,GAAA,CAAC,MAAM,EAAA,EAAA,QAAA,EAAA,KAAA,CAAM,IAAK,EAAA,CAAA;AAAA,IACjB,6BAAc,GAAA,CAAA,MAAA,EAAA,EAAK,KAAO,EAAA,WAAA,EAAc,gBAAM,MAAO,EAAA;AAAA,GAAA,EACxD,CACF,EAAA,CAAA;AAEJ;AAEA,qBAAA,CAAsB,WAAc,GAAA,uBAAA;;;;"}