{"version":3,"file":"pages/Resources/BundleDiff/DiffContainer/overview.mjs","sources":["../../../../../src/pages/Resources/BundleDiff/DiffContainer/overview.tsx"],"sourcesContent":["import React from 'react';\nimport { Space, Table, Tag, Typography } from 'antd';\nimport { Client } from '@rsdoctor/types';\n\nimport { BundleDiffTableOverviewData } from './types';\nimport { formatSize } from '../../../../utils';\nimport { Percent } from '../../../../components/Card/diff';\nimport { Color, Size } from '../../../../constants';\nimport { formatDiffSize } from './utils';\n\nexport const Overview: React.FC<{\n  assetsDiffResult: Client.RsdoctorClientAssetsDiffResult;\n}> = ({ assetsDiffResult }) => {\n  const dataSource: { type: string; data: BundleDiffTableOverviewData }[] = [\n    {\n      type: 'JS',\n      data: assetsDiffResult.js,\n    },\n    {\n      type: 'CSS',\n      data: assetsDiffResult.css,\n    },\n    {\n      type: 'Imgs',\n      data: assetsDiffResult.imgs,\n    },\n    {\n      type: 'Fonts',\n      data: assetsDiffResult.fonts,\n    },\n    {\n      type: 'Media',\n      data: assetsDiffResult.media,\n    },\n    {\n      type: 'HTML',\n      data: assetsDiffResult.html,\n    },\n    {\n      type: 'Others',\n      data: assetsDiffResult.others,\n    },\n  ];\n\n  return (\n    <Table\n      bordered\n      pagination={false}\n      dataSource={dataSource}\n      rowKey={(v) => v.type}\n      style={{ marginTop: Size.BasePadding - Size.BasePadding / 4 }}\n      columns={[\n        {\n          title: `File Type`,\n          dataIndex: 'type',\n          key: 'type',\n          render: (v) => <Typography.Text strong>{v}</Typography.Text>,\n        },\n        {\n          title: `Size`,\n          dataIndex: 'data',\n          key: 'size',\n          children: [\n            {\n              title: 'Current',\n              dataIndex: 'data',\n              key: 'csize',\n              render: (v: BundleDiffTableOverviewData) => {\n                const total = (\n                  <React.Fragment>\n                    <Typography.Text strong>\n                      {formatSize(v.total.size.current)}\n                    </Typography.Text>\n                    <Percent percent={v.total.percent} state={v.total.state} />\n                    {formatDiffSize(\n                      v.total.size.baseline,\n                      v.total.size.current,\n                      v.total.state,\n                    )}\n                  </React.Fragment>\n                );\n\n                if (v.initial) {\n                  return (\n                    <Space direction=\"vertical\">\n                      <Space>\n                        <Tag color={Color.Blue}>Total</Tag>\n                        {total}\n                      </Space>\n                      <Space>\n                        <Tag color={Color.Blue}>Initial</Tag>\n                        <Typography.Text strong>\n                          {formatSize(v.initial.size.current)}\n                        </Typography.Text>\n                        <Percent\n                          percent={v.initial.percent}\n                          state={v.initial.state}\n                        />\n                        {formatDiffSize(\n                          v.initial.size.baseline,\n                          v.initial.size.current,\n                          v.initial.state,\n                        )}\n                      </Space>\n                    </Space>\n                  );\n                }\n\n                return <Space>{total}</Space>;\n              },\n            },\n            {\n              title: 'Baseline',\n              dataIndex: 'data',\n              key: 'bsize',\n              render: (v: BundleDiffTableOverviewData) => {\n                const total = (\n                  <Typography.Text>\n                    {formatSize(v.total.size.baseline)}\n                  </Typography.Text>\n                );\n\n                if (v.initial) {\n                  return (\n                    <Space direction=\"vertical\">\n                      <Space>\n                        <Tag color={Color.Blue}>Total</Tag>\n                        {total}\n                      </Space>\n                      <Space>\n                        <Tag color={Color.Blue}>Initial</Tag>\n                        <Typography.Text>\n                          {formatSize(v.initial.size.baseline)}\n                        </Typography.Text>\n                      </Space>\n                    </Space>\n                  );\n                }\n                return total;\n              },\n            },\n          ],\n        },\n        {\n          title: `Count`,\n          dataIndex: 'data',\n          key: 'count',\n          children: [\n            {\n              title: 'Current',\n              dataIndex: 'data',\n              key: 'ccount',\n              render: (v: BundleDiffTableOverviewData) => {\n                const total = (\n                  <Typography.Text strong>\n                    {v.total.count.current}\n                  </Typography.Text>\n                );\n\n                if (v.initial) {\n                  return (\n                    <Space direction=\"vertical\">\n                      <Space>\n                        <Tag color={Color.Blue}>Total</Tag>\n                        {total}\n                      </Space>\n                      <Space>\n                        <Tag color={Color.Blue}>Initial</Tag>\n                        <Typography.Text strong>\n                          {v.initial.count.current}\n                        </Typography.Text>\n                      </Space>\n                    </Space>\n                  );\n                }\n\n                return <Space>{total}</Space>;\n              },\n            },\n            {\n              title: 'Baseline',\n              dataIndex: 'data',\n              key: 'bcount',\n              render: (v: BundleDiffTableOverviewData) => {\n                const total = (\n                  <Typography.Text>{v.total.count.baseline}</Typography.Text>\n                );\n\n                if (v.initial) {\n                  return (\n                    <Space direction=\"vertical\">\n                      <Space>\n                        <Tag color={Color.Blue}>Total</Tag>\n                        {total}\n                      </Space>\n                      <Space>\n                        <Tag color={Color.Blue}>Initial</Tag>\n                        <Typography.Text>\n                          {v.initial.count.baseline}\n                        </Typography.Text>\n                      </Space>\n                    </Space>\n                  );\n                }\n\n                return <Space>{total}</Space>;\n              },\n            },\n          ],\n        },\n      ]}\n    />\n  );\n};\n"],"names":["Overview","assetsDiffResult","dataSource","Table","v","Size","Typography","total","React","formatSize","Percent","formatDiffSize","Space","Tag","Color"],"mappings":"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"}