{"version":3,"file":"ChartLineLabel.mjs","sources":["../../../packages/chart-line/ChartLineLabel.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef, useLayoutEffect } from 'react'\n\nimport { ChartLineLabelProps, ChartLineThresholdType } from './types.js'\nimport { ThresholdLabelStyle, ThresholdStyle } from './ChartLineStyles.js'\nimport { handlePositioning } from './utils/index.js'\n\nexport const ChartLineLabel = forwardRef(\n  (props: ChartLineLabelProps, ref?: ForwardedRef<HTMLDivElement>) => {\n    const {\n      previousIds,\n      id,\n      color,\n      zIndex,\n      show,\n      labelPosition,\n      thresholdType,\n      height,\n      threshold,\n      containerId,\n      ...rest\n    } = props\n\n    useLayoutEffect(() => {\n      if (!show) return\n      if (thresholdType !== ChartLineThresholdType.flag) {\n        handlePositioning({ previousIds, id, containerId, reset: true })\n      } else {\n        handlePositioning({ previousIds, id, containerId })\n      }\n    }, [previousIds, id, show, thresholdType, containerId])\n\n    if (!show) return null\n\n    const backgroundColor = threshold.color || color\n    const content = threshold.descriptionElement || threshold.description\n\n    return (\n      <ThresholdStyle\n        ref={ref}\n        id={id}\n        data-label-position={labelPosition}\n        $labelPosition={labelPosition}\n        $thresholdType={thresholdType}\n        $height={height}\n        $backgroundColor={backgroundColor}\n        $zIndex={zIndex}\n        {...rest}\n      >\n        {thresholdType === ChartLineThresholdType.flag && (\n          <ThresholdLabelStyle\n            style={{ backgroundColor }}\n            id={`${id}-description`}\n            $labelPosition={labelPosition}\n          >\n            {content}\n          </ThresholdLabelStyle>\n        )}\n      </ThresholdStyle>\n    )\n  },\n)\nChartLineLabel.displayName = 'ChartLineLabel'\n"],"names":["ChartLineLabel","forwardRef","props","ref","previousIds","id","color","zIndex","show","labelPosition","thresholdType","height","threshold","containerId","rest","useLayoutEffect","ChartLineThresholdType","flag","handlePositioning","reset","backgroundColor","content","descriptionElement","description","_jsx","ThresholdStyle","$labelPosition","$thresholdType","$height","$backgroundColor","$zIndex","children","ThresholdLabelStyle","style","displayName"],"mappings":";;;;;;AAMO,MAAMA,cAAc,gBAAGC,UAAU,CACtC,CAACC,KAA0B,EAAEC,GAAkC,KAAK;EAClE,MAAM;IACJC,WAAW;IACXC,EAAE;IACFC,KAAK;IACLC,MAAM;IACNC,IAAI;IACJC,aAAa;IACbC,aAAa;IACbC,MAAM;IACNC,SAAS;IACTC,WAAW;IACX,GAAGC,IAAAA;AACL,GAAC,GAAGZ,KAAK,CAAA;AAETa,EAAAA,eAAe,CAAC,MAAM;IACpB,IAAI,CAACP,IAAI,EAAE,OAAA;AACX,IAAA,IAAIE,aAAa,KAAKM,sBAAsB,CAACC,IAAI,EAAE;AACjDC,MAAAA,iBAAiB,CAAC;QAAEd,WAAW;QAAEC,EAAE;QAAEQ,WAAW;AAAEM,QAAAA,KAAK,EAAE,IAAA;AAAK,OAAC,CAAC,CAAA;AAClE,KAAC,MAAM;AACLD,MAAAA,iBAAiB,CAAC;QAAEd,WAAW;QAAEC,EAAE;AAAEQ,QAAAA,WAAAA;AAAY,OAAC,CAAC,CAAA;AACrD,KAAA;AACF,GAAC,EAAE,CAACT,WAAW,EAAEC,EAAE,EAAEG,IAAI,EAAEE,aAAa,EAAEG,WAAW,CAAC,CAAC,CAAA;AAEvD,EAAA,IAAI,CAACL,IAAI,EAAE,OAAO,IAAI,CAAA;AAEtB,EAAA,MAAMY,eAAe,GAAGR,SAAS,CAACN,KAAK,IAAIA,KAAK,CAAA;EAChD,MAAMe,OAAO,GAAGT,SAAS,CAACU,kBAAkB,IAAIV,SAAS,CAACW,WAAW,CAAA;EAErE,oBACEC,GAAA,CAACC,cAAc,EAAA;AACbtB,IAAAA,GAAG,EAAEA,GAAI;AACTE,IAAAA,EAAE,EAAEA,EAAG;AACP,IAAA,qBAAA,EAAqBI,aAAc;AACnCiB,IAAAA,cAAc,EAAEjB,aAAc;AAC9BkB,IAAAA,cAAc,EAAEjB,aAAc;AAC9BkB,IAAAA,OAAO,EAAEjB,MAAO;AAChBkB,IAAAA,gBAAgB,EAAET,eAAgB;AAClCU,IAAAA,OAAO,EAAEvB,MAAO;AAAA,IAAA,GACZO,IAAI;IAAAiB,QAAA,EAEPrB,aAAa,KAAKM,sBAAsB,CAACC,IAAI,iBAC5CO,GAAA,CAACQ,mBAAmB,EAAA;AAClBC,MAAAA,KAAK,EAAE;AAAEb,QAAAA,eAAAA;OAAkB;MAC3Bf,EAAE,EAAE,CAAGA,EAAAA,EAAE,CAAe,YAAA,CAAA;AACxBqB,MAAAA,cAAc,EAAEjB,aAAc;AAAAsB,MAAAA,QAAA,EAE7BV,OAAAA;KACkB,CAAA;AACtB,GACa,CAAC,CAAA;AAErB,CACF,EAAC;AACDrB,cAAc,CAACkC,WAAW,GAAG,gBAAgB;;;;"}