{"version":3,"file":"FormattedValueDisplay.cjs","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\n/**\n * Used to display a value, which also supports prefix and suffix.\n *\n * https://developers.grafana.com/ui/latest/index.html?path=/docs/plugins-formattedvaluedisplay--docs\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":["jsx"],"mappings":";;;;;;;AAUA,SAAS,wBAAwB,QAAA,EAAkB;AACjD,EAAA,IAAI,WAAW,EAAA,EAAI;AACjB,IAAA,OAAO,GAAA;AAAA,EACT;AACA,EAAA,IAAI,WAAW,EAAA,EAAI;AACjB,IAAA,OAAO,GAAA;AAAA,EACT;AACA,EAAA,OAAO,GAAA;AACT;AAOO,MAAM,qBAAA,GAAwB,CAAC,EAAE,KAAA,EAAO,WAAW,KAAA,EAAO,GAAG,WAAU,KAAa;AAzB3F,EAAA,IAAA,EAAA,EAAA,EAAA;AA0BE,EAAA,MAAM,SAAA,GAAA,CAAA,CAAa,EAAA,GAAA,KAAA,CAAM,MAAA,KAAN,IAAA,GAAA,EAAA,GAAgB,IAAI,MAAA,GAAS,CAAA;AAChD,EAAA,MAAM,SAAA,GAAA,CAAA,CAAa,EAAA,GAAA,KAAA,CAAM,MAAA,KAAN,IAAA,GAAA,EAAA,GAAgB,IAAI,MAAA,GAAS,CAAA;AAChD,EAAA,IAAI,WAAA;AAEJ,EAAA,IAAI,KAAA,IAAS,OAAO,KAAA,CAAM,QAAA,KAAa,QAAA,IAAY,CAAC,MAAA,CAAO,KAAA,CAAM,KAAA,CAAM,QAAQ,CAAA,EAAG;AAChF,IAAA,MAAM,WAAW,KAAA,CAAM,QAAA;AACvB,IAAA,MAAM,eAAA,GAAkB,wBAAwB,QAAQ,CAAA;AACxD,IAAA,WAAA,GAAc,EAAE,QAAA,EAAU,QAAA,GAAW,eAAA,EAAgB;AAAA,EACvD;AAEA,EAAA,sCACG,KAAA,EAAA,EAAI,SAAA,EAAsB,OAAe,GAAG,SAAA,EAC3C,0CAAC,KAAA,EAAA,EACE,QAAA,EAAA;AAAA,IAAA,SAAA,oBAAaA,cAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,KAAA,CAAM,MAAA,EAAO,CAAA;AAAA,oBAClCA,cAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,KAAA,CAAM,IAAA,EAAK,CAAA;AAAA,IACjB,6BAAaA,cAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,WAAA,EAAc,gBAAM,MAAA,EAAO;AAAA,GAAA,EACxD,CAAA,EACF,CAAA;AAEJ;AAEA,qBAAA,CAAsB,WAAA,GAAc,uBAAA;;;;"}