{"version":3,"file":"components/Overall/compile.mjs","sources":["../../../src/components/Overall/compile.tsx"],"sourcesContent":["import { SDK } from '@rsdoctor/types';\nimport { Summary } from '@rsdoctor/utils/common';\nimport { Divider, Progress, Space, Typography } from 'antd';\nimport React from 'react';\nimport { formatCosts, useI18n } from '../../utils';\nimport { Card } from '../Card';\nimport { BootstrapChartContainer } from '../Charts/bootstrap';\nimport { DoneChartContainer } from '../Charts/done';\nimport { MinifyChartContainer } from '../Charts/minify';\n\nimport cardStyles from './card.module.scss';\nimport styles from './compile.module.scss';\n\nconst Stage: React.FC<\n  React.PropsWithChildren<{\n    name: string;\n    showDivider?: boolean;\n  }>\n> = ({ children, name, showDivider = true }) => {\n  return (\n    <Typography.Text style={{ color: 'inherit' }}>\n      <Typography.Text style={{ color: 'inherit' }}>{name}</Typography.Text>\n      {showDivider ? <Divider type=\"vertical\" /> : null}\n      {children}\n    </Typography.Text>\n  );\n};\n\nexport const CompileOverall: React.FC<{ summary: SDK.SummaryData }> = ({\n  summary,\n}) => {\n  const { t } = useI18n();\n\n  if (!summary?.costs?.length) return null;\n\n  const maxCosts = Math.max(...summary.costs.map((item) => item.costs));\n\n  return (\n    <Card className={cardStyles.card}>\n      <div>\n        <Space\n          style={{ wordBreak: 'break-all', width: '100%', marginTop: '0' }}\n          size={20}\n          direction=\"vertical\"\n        >\n          <div className={styles.title}>{t('Compile Overall')}</div>\n          {summary.costs.map((e) => {\n            const { name, costs } = e;\n            const percent = (costs * 100) / maxCosts;\n\n            const ProgressBar = (\n              <Progress\n                className={styles.progress}\n                percent={percent}\n                status=\"normal\"\n                format={() => formatCosts(costs)}\n              />\n            );\n\n            switch (name) {\n              case Summary.SummaryCostsDataName.Bootstrap:\n                return (\n                  <Stage name=\"Bootstrap ~ BeforeCompile\" key={name}>\n                    <BootstrapChartContainer summary={summary} />\n                    {ProgressBar}\n                  </Stage>\n                );\n              case Summary.SummaryCostsDataName.Compile:\n                return (\n                  <Stage name=\"Compile\" key={name} showDivider={false}>\n                    {ProgressBar}\n                  </Stage>\n                );\n              case Summary.SummaryCostsDataName.Done:\n                return (\n                  <Stage name=\"AfterCompile ~ Done\" key={name}>\n                    <DoneChartContainer summary={summary} />\n                    {ProgressBar}\n                  </Stage>\n                );\n              case Summary.SummaryCostsDataName.Minify:\n                return (\n                  <Stage name=\"Minify\" key={name}>\n                    <MinifyChartContainer summary={summary} />\n                    {ProgressBar}\n                  </Stage>\n                );\n\n              default:\n                return null;\n            }\n          })}\n        </Space>\n      </div>\n    </Card>\n  );\n};\n"],"names":["Stage","children","name","showDivider","Typography","Divider","CompileOverall","summary","t","useI18n","maxCosts","Math","item","Card","cardStyles","Space","styles","e","costs","percent","ProgressBar","Progress","formatCosts","Summary","BootstrapChartContainer","DoneChartContainer","MinifyChartContainer"],"mappings":";;;;;;;;;;;AAaA,MAAMA,QAKF,CAAC,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,cAAc,IAAI,EAAE,GAClC,WAAP,GACE,KAACC,WAAW,IAAI;QAAC,OAAO;YAAE,OAAO;QAAU;;0BACzC,IAACA,WAAW,IAAI;gBAAC,OAAO;oBAAE,OAAO;gBAAU;0BAAIF;;YAC9CC,cAAc,WAAdA,GAAc,IAACE,SAAOA;gBAAC,MAAK;iBAAgB;YAC5CJ;;;AAKA,MAAMK,iBAAyD,CAAC,EACrEC,OAAO,EACR;IACC,MAAM,EAAEC,CAAC,EAAE,GAAGC;IAEd,IAAI,CAACF,SAAS,OAAO,QAAQ,OAAO;IAEpC,MAAMG,WAAWC,KAAK,GAAG,IAAIJ,QAAQ,KAAK,CAAC,GAAG,CAAC,CAACK,OAASA,KAAK,KAAK;IAEnE,OAAO,WAAP,GACE,IAACC,MAAIA;QAAC,WAAWC,YAAAA,IAAe;kBAC9B,kBAAC;sBACC,mBAACC,OAAKA;gBACJ,OAAO;oBAAE,WAAW;oBAAa,OAAO;oBAAQ,WAAW;gBAAI;gBAC/D,MAAM;gBACN,WAAU;;kCAEV,IAAC;wBAAI,WAAWC,eAAAA,KAAY;kCAAGR,EAAE;;oBAChCD,QAAQ,KAAK,CAAC,GAAG,CAAC,CAACU;wBAClB,MAAM,EAAEf,IAAI,EAAEgB,KAAK,EAAE,GAAGD;wBACxB,MAAME,UAAWD,AAAQ,MAARA,QAAeR;wBAEhC,MAAMU,cAAc,WAAdA,GACJ,IAACC,UAAQA;4BACP,WAAWL,eAAAA,QAAe;4BAC1B,SAASG;4BACT,QAAO;4BACP,QAAQ,IAAMG,YAAYJ;;wBAI9B,OAAQhB;4BACN,KAAKqB,QAAQ,oBAAoB,CAAC,SAAS;gCACzC,OAAO,WAAP,GACE,KAACvB,OAAKA;oCAAC,MAAK;;sDACV,IAACwB,yBAAuBA;4CAAC,SAASjB;;wCACjCa;;mCAF0ClB;4BAKjD,KAAKqB,QAAQ,oBAAoB,CAAC,OAAO;gCACvC,OAAO,WAAP,GACE,IAACvB,OAAKA;oCAAC,MAAK;oCAAqB,aAAa;8CAC3CoB;mCADwBlB;4BAI/B,KAAKqB,QAAQ,oBAAoB,CAAC,IAAI;gCACpC,OAAO,WAAP,GACE,KAACvB,OAAKA;oCAAC,MAAK;;sDACV,IAACyB,oBAAkBA;4CAAC,SAASlB;;wCAC5Ba;;mCAFoClB;4BAK3C,KAAKqB,QAAQ,oBAAoB,CAAC,MAAM;gCACtC,OAAO,WAAP,GACE,KAACvB,OAAKA;oCAAC,MAAK;;sDACV,IAAC0B,sBAAoBA;4CAAC,SAASnB;;wCAC9Ba;;mCAFuBlB;4BAM9B;gCACE,OAAO;wBACX;oBACF;;;;;AAKV"}