{"version":3,"file":"ChartProportion.mjs","sources":["../../../packages/chart-proportion/ChartProportion.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef } from 'react'\n\nimport { InlineLoader } from '../loaders/index.js'\n\nimport {\n  ProportionStyle,\n  WrapperStyle,\n  ProportionProgressStyle,\n  ProportionProgressLineStyle,\n  ProportionLabelStyle,\n} from './ChartProportionStyles.js'\nimport { ChartProportionProps } from './types.js'\n\nexport const ChartProportion = forwardRef(\n  (props: ChartProportionProps, ref?: ForwardedRef<HTMLDivElement>) => {\n    const {\n      loading = false,\n      onClick,\n      children,\n      height,\n      border,\n      data,\n      showLabels,\n      margin,\n      borderSize,\n      ...rest\n    } = props\n\n    if (loading) {\n      return (\n        <WrapperStyle $height={height} ref={ref} {...rest}>\n          <InlineLoader />\n        </WrapperStyle>\n      )\n    }\n\n    return (\n      <WrapperStyle $height={height} ref={ref} {...rest}>\n        {data.map((item, index) => {\n          const { color, value, progress, label } = item\n          const isShowLabel = showLabels && label\n\n          return (\n            <ProportionStyle\n              key={index}\n              $flexGrow={value}\n              $backgroundColor={color}\n              $border={border}\n              $borderSize={borderSize}\n              $margin={margin}\n            >\n              {isShowLabel && (\n                <ProportionLabelStyle>{label}</ProportionLabelStyle>\n              )}\n              <ProportionProgressStyle\n                $progress={progress}\n                $backgroundColor={color}\n                $border={border}\n                $borderSize={borderSize}\n              >\n                {progress !== 100 && <ProportionProgressLineStyle />}\n              </ProportionProgressStyle>\n            </ProportionStyle>\n          )\n        })}\n      </WrapperStyle>\n    )\n  },\n)\nChartProportion.displayName = 'ChartProportion'\n"],"names":["ChartProportion","forwardRef","props","ref","loading","onClick","children","height","border","data","showLabels","margin","borderSize","rest","_jsx","WrapperStyle","$height","InlineLoader","map","item","index","color","value","progress","label","isShowLabel","_jsxs","ProportionStyle","$flexGrow","$backgroundColor","$border","$borderSize","$margin","ProportionLabelStyle","ProportionProgressStyle","$progress","ProportionProgressLineStyle","displayName"],"mappings":";;;;;;AAaO,MAAMA,eAAe,gBAAGC,UAAU,CACvC,CAACC,KAA2B,EAAEC,GAAkC,KAAK;EACnE,MAAM;AACJC,IAAAA,OAAO,GAAG,KAAK;IACfC,OAAO;IACPC,QAAQ;IACRC,MAAM;IACNC,MAAM;IACNC,IAAI;IACJC,UAAU;IACVC,MAAM;IACNC,UAAU;IACV,GAAGC,IAAAA;AACL,GAAC,GAAGX,KAAK,CAAA;AAET,EAAA,IAAIE,OAAO,EAAE;IACX,oBACEU,GAAA,CAACC,YAAY,EAAA;AAACC,MAAAA,OAAO,EAAET,MAAO;AAACJ,MAAAA,GAAG,EAAEA,GAAI;AAAA,MAAA,GAAKU,IAAI;AAAAP,MAAAA,QAAA,eAC/CQ,GAAA,CAACG,YAAY,EAAE,EAAA,CAAA;AAAC,KACJ,CAAC,CAAA;AAEnB,GAAA;EAEA,oBACEH,GAAA,CAACC,YAAY,EAAA;AAACC,IAAAA,OAAO,EAAET,MAAO;AAACJ,IAAAA,GAAG,EAAEA,GAAI;AAAA,IAAA,GAAKU,IAAI;IAAAP,QAAA,EAC9CG,IAAI,CAACS,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAK;MACzB,MAAM;QAAEC,KAAK;QAAEC,KAAK;QAAEC,QAAQ;AAAEC,QAAAA,KAAAA;AAAM,OAAC,GAAGL,IAAI,CAAA;AAC9C,MAAA,MAAMM,WAAW,GAAGf,UAAU,IAAIc,KAAK,CAAA;MAEvC,oBACEE,IAAA,CAACC,eAAe,EAAA;AAEdC,QAAAA,SAAS,EAAEN,KAAM;AACjBO,QAAAA,gBAAgB,EAAER,KAAM;AACxBS,QAAAA,OAAO,EAAEtB,MAAO;AAChBuB,QAAAA,WAAW,EAAEnB,UAAW;AACxBoB,QAAAA,OAAO,EAAErB,MAAO;AAAAL,QAAAA,QAAA,EAEfmB,CAAAA,WAAW,iBACVX,GAAA,CAACmB,oBAAoB,EAAA;AAAA3B,UAAAA,QAAA,EAAEkB,KAAAA;AAAK,SAAuB,CACpD,eACDV,GAAA,CAACoB,uBAAuB,EAAA;AACtBC,UAAAA,SAAS,EAAEZ,QAAS;AACpBM,UAAAA,gBAAgB,EAAER,KAAM;AACxBS,UAAAA,OAAO,EAAEtB,MAAO;AAChBuB,UAAAA,WAAW,EAAEnB,UAAW;UAAAN,QAAA,EAEvBiB,QAAQ,KAAK,GAAG,iBAAIT,GAAA,CAACsB,2BAA2B,EAAE,EAAA,CAAA;AAAC,SAC7B,CAAC,CAAA;AAAA,OAAA,EAjBrBhB,KAkBU,CAAC,CAAA;KAErB,CAAA;AAAC,GACU,CAAC,CAAA;AAEnB,CACF,EAAC;AACDpB,eAAe,CAACqC,WAAW,GAAG,iBAAiB;;;;"}