{"version":3,"file":"components/Charts/done.mjs","sources":["../../../src/components/Charts/done.tsx"],"sourcesContent":["import React from 'react';\nimport { Divider, Space } from 'antd';\nimport { SDK } from '@rsdoctor/types';\nimport { Summary } from '@rsdoctor/utils/common';\nimport { TextDrawer } from '../TextDrawer';\nimport { Card } from '../Card';\nimport {\n  CommonChartProps,\n  CommonExecutionsChart,\n  CommonExecutionEmptyTips,\n} from './common';\nimport { WebpackPluginsDataTable } from '../Plugins/webpack';\nimport { ServerAPIProvider } from '../Manifest';\n\nimport './loader.scss';\nimport './tooltips.scss';\nimport { ChartTypes } from './constants';\n\nexport const DoneChartContainer: React.FC<CommonChartProps> = ({\n  summary,\n}): React.JSX.Element | null => {\n  const { costs = [] } = summary || {};\n  const target = costs.find(\n    (e) => e.name === Summary.SummaryCostsDataName.Done,\n  );\n\n  const hooks: Array<string> = [\n    'afterCompile',\n    'shouldEmit',\n    'emit',\n    'afterEmit',\n    'assetEmitted',\n    'done',\n  ];\n\n  const suffix = 'of the \"AfterCompile -> Done\" stage';\n\n  if (!target) return null;\n\n  return (\n    <TextDrawer\n      containerProps={{ style: { display: 'inline' } }}\n      drawerProps={{ title: `Details ${suffix}` }}\n      text={<Space>detail</Space>}\n    >\n      <ServerAPIProvider api={SDK.ServerAPI.API.GetPluginData} body={{ hooks }}>\n        {(res) =>\n          res && res.length ? (\n            <Space direction=\"vertical\" style={{ width: '100%' }}>\n              <Card title={`Plugin DataSource of ${suffix}`} collapsable>\n                <WebpackPluginsDataTable dataSource={res} />\n              </Card>\n              <Divider />\n              <Card title={`Chart ${suffix}`}>\n                <CommonExecutionsChart plugins={res} type={ChartTypes.Done} />\n              </Card>\n            </Space>\n          ) : (\n            <CommonExecutionEmptyTips />\n          )\n        }\n      </ServerAPIProvider>\n    </TextDrawer>\n  );\n};\n"],"names":["DoneChartContainer","summary","costs","target","e","Summary","hooks","suffix","TextDrawer","Space","ServerAPIProvider","SDK","res","Card","WebpackPluginsDataTable","Divider","CommonExecutionsChart","ChartTypes","CommonExecutionEmptyTips"],"mappings":";;;;;;;;;;;;;AAkBO,MAAMA,qBAAiD,CAAC,EAC7DC,OAAO,EACR;IACC,MAAM,EAAEC,QAAQ,EAAE,EAAE,GAAGD,WAAW,CAAC;IACnC,MAAME,SAASD,MAAM,IAAI,CACvB,CAACE,IAAMA,EAAE,IAAI,KAAKC,QAAQ,oBAAoB,CAAC,IAAI;IAGrD,MAAMC,QAAuB;QAC3B;QACA;QACA;QACA;QACA;QACA;KACD;IAED,MAAMC,SAAS;IAEf,IAAI,CAACJ,QAAQ,OAAO;IAEpB,OAAO,WAAP,GACE,IAACK,YAAUA;QACT,gBAAgB;YAAE,OAAO;gBAAE,SAAS;YAAS;QAAE;QAC/C,aAAa;YAAE,OAAO,CAAC,QAAQ,EAAED,QAAQ;QAAC;QAC1C,oBAAM,IAACE,OAAKA;sBAAC;;kBAEb,kBAACC,mBAAiBA;YAAC,KAAKC,IAAI,SAAS,CAAC,GAAG,CAAC,aAAa;YAAE,MAAM;gBAAEL;YAAM;sBACpE,CAACM,MACAA,OAAOA,IAAI,MAAM,GAAG,WAAH,GACf,KAACH,OAAKA;oBAAC,WAAU;oBAAW,OAAO;wBAAE,OAAO;oBAAO;;sCACjD,IAACI,MAAIA;4BAAC,OAAO,CAAC,qBAAqB,EAAEN,QAAQ;4BAAE,aAAW;sCACxD,kBAACO,yBAAuBA;gCAAC,YAAYF;;;sCAEvC,IAACG,SAAOA,CAAAA;sCACR,IAACF,MAAIA;4BAAC,OAAO,CAAC,MAAM,EAAEN,QAAQ;sCAC5B,kBAACS,uBAAqBA;gCAAC,SAASJ;gCAAK,MAAMK,WAAW,IAAI;;;;mCAI9D,IAACC,0BAAwBA,CAAAA;;;AAMrC"}