@rsdoctor/components 1.5.18 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Alert/ecma-version-check_module.css +1 -1
- package/dist/components/Alert/ecma-version-check_module.css.map +1 -1
- package/dist/components/Alerts/bundle-alert.mjs +12 -8
- package/dist/components/Alerts/bundle-alert.mjs.map +1 -1
- package/dist/components/Alerts/bundle.mjs +3 -4
- package/dist/components/Alerts/bundle.mjs.map +1 -1
- package/dist/components/Alerts/collapse-cjs-require.mjs +6 -14
- package/dist/components/Alerts/collapse-cjs-require.mjs.map +1 -1
- package/dist/components/Alerts/collapse-cross-chunks.mjs +3 -8
- package/dist/components/Alerts/collapse-cross-chunks.mjs.map +1 -1
- package/dist/components/Alerts/collapse-esm-cjs.mjs +6 -10
- package/dist/components/Alerts/collapse-esm-cjs.mjs.map +1 -1
- package/dist/components/Alerts/collapse-module-mixed-chunks.mjs +5 -12
- package/dist/components/Alerts/collapse-module-mixed-chunks.mjs.map +1 -1
- package/dist/components/Alerts/collapse-side-effects-only-imports.mjs +5 -12
- package/dist/components/Alerts/collapse-side-effects-only-imports.mjs.map +1 -1
- package/dist/components/Alerts/collapse.mjs +3 -10
- package/dist/components/Alerts/collapse.mjs.map +1 -1
- package/dist/components/Alerts/collapse_module.css +1 -1
- package/dist/components/Alerts/collapse_module.css.map +1 -1
- package/dist/components/Alerts/index.module.mjs +7 -0
- package/dist/components/Alerts/index.module.mjs.map +1 -0
- package/dist/components/Alerts/index_module.css +9 -0
- package/dist/components/Alerts/index_module.css.map +1 -0
- package/dist/components/Alerts/list.mjs +0 -3
- package/dist/components/Alerts/list.mjs.map +1 -1
- package/dist/components/Card/size.d.ts +1 -0
- package/dist/components/Card/size.mjs +29 -7
- package/dist/components/Card/size.mjs.map +1 -1
- package/dist/components/Card/size.module.mjs +1 -0
- package/dist/components/Card/size.module.mjs.map +1 -1
- package/dist/components/Card/size_module.css +5 -2
- package/dist/components/Card/size_module.css.map +1 -1
- package/dist/components/Charts/TimelineCharts/index.mjs +118 -94
- package/dist/components/Charts/TimelineCharts/index.mjs.map +1 -1
- package/dist/components/Charts/TreeMap.d.ts +2 -1
- package/dist/components/Charts/TreeMap.mjs +111 -126
- package/dist/components/Charts/TreeMap.mjs.map +1 -1
- package/dist/components/Charts/constants.d.ts +1 -0
- package/dist/components/Charts/constants.mjs +11 -1
- package/dist/components/Charts/constants.mjs.map +1 -1
- package/dist/components/Charts/index.mjs +3 -1
- package/dist/components/Charts/index.mjs.map +1 -1
- package/dist/components/Charts/loader.css +1 -1
- package/dist/components/Charts/loader.css.map +1 -1
- package/dist/components/Charts/treeMapSize.d.ts +10 -0
- package/dist/components/Charts/treeMapSize.mjs +17 -0
- package/dist/components/Charts/treeMapSize.mjs.map +1 -0
- package/dist/components/Charts/treeMapSize.test.d.ts +1 -0
- package/dist/components/Charts/treeMapSize.test.mjs +44 -0
- package/dist/components/Charts/treeMapSize.test.mjs.map +1 -0
- package/dist/components/Charts/treemap_module.css +6 -5
- package/dist/components/Charts/treemap_module.css.map +1 -1
- package/dist/components/FileTree/index.css +0 -1
- package/dist/components/FileTree/index.css.map +1 -1
- package/dist/components/FileTree/index.mjs +3 -4
- package/dist/components/FileTree/index.mjs.map +1 -1
- package/dist/components/Keyword/style_module.css +0 -1
- package/dist/components/Keyword/style_module.css.map +1 -1
- package/dist/components/Layout/header.mjs +38 -16
- package/dist/components/Layout/header.mjs.map +1 -1
- package/dist/components/Layout/header.module.mjs +5 -2
- package/dist/components/Layout/header.module.mjs.map +1 -1
- package/dist/components/Layout/header_module.css +69 -21
- package/dist/components/Layout/header_module.css.map +1 -1
- package/dist/components/Layout/index.mjs +34 -8
- package/dist/components/Layout/index.mjs.map +1 -1
- package/dist/components/Layout/menus.mjs +9 -6
- package/dist/components/Layout/menus.mjs.map +1 -1
- package/dist/components/Layout/rsdoctor-title-logo-dark.mjs +2 -0
- package/dist/components/Loader/Analysis/files.mjs +16 -17
- package/dist/components/Loader/Analysis/files.mjs.map +1 -1
- package/dist/components/Loader/Analysis/style_module.css +13 -14
- package/dist/components/Loader/Analysis/style_module.css.map +1 -1
- package/dist/components/Loader/executions.mjs +5 -13
- package/dist/components/Loader/executions.mjs.map +1 -1
- package/dist/components/Overall/DataSummary.d.ts +1 -1
- package/dist/components/Overall/DataSummary.mjs +21 -20
- package/dist/components/Overall/DataSummary.mjs.map +1 -1
- package/dist/components/Overall/DataSummary.module.mjs +1 -12
- package/dist/components/Overall/DataSummary.module.mjs.map +1 -1
- package/dist/components/Overall/DataSummary_module.css +13 -73
- package/dist/components/Overall/DataSummary_module.css.map +1 -1
- package/dist/components/Overall/bundle.mjs +2 -3
- package/dist/components/Overall/bundle.mjs.map +1 -1
- package/dist/components/Overall/bundle.module.mjs +1 -0
- package/dist/components/Overall/bundle.module.mjs.map +1 -1
- package/dist/components/Overall/bundle_module.css +12 -4
- package/dist/components/Overall/bundle_module.css.map +1 -1
- package/dist/components/Overall/list_module.css +18 -2
- package/dist/components/Overall/list_module.css.map +1 -1
- package/dist/components/Overall/overview_module.css +13 -6
- package/dist/components/Overall/overview_module.css.map +1 -1
- package/dist/components/Overall/project.mjs +1 -1
- package/dist/components/Overall/project.mjs.map +1 -1
- package/dist/components/Overall/project_module.css +8 -0
- package/dist/components/Overall/project_module.css.map +1 -1
- package/dist/components/base/CodeViewer/index.d.ts +1 -1
- package/dist/components/base/CodeViewer/index.mjs +5 -3
- package/dist/components/base/CodeViewer/index.mjs.map +1 -1
- package/dist/components/base/CodeViewer/interface.d.ts +1 -2
- package/dist/components/base/DiffViewer/index.d.ts +1 -1
- package/dist/components/base/DiffViewer/index.mjs +4 -1
- package/dist/components/base/DiffViewer/index.mjs.map +1 -1
- package/dist/components/base/DiffViewer/interface.d.ts +1 -2
- package/dist/pages/BundleSize/components/asset_module.css +7 -5
- package/dist/pages/BundleSize/components/asset_module.css.map +1 -1
- package/dist/pages/BundleSize/components/card_module.css +9 -3
- package/dist/pages/BundleSize/components/card_module.css.map +1 -1
- package/dist/pages/BundleSize/components/cards.mjs +5 -6
- package/dist/pages/BundleSize/components/cards.mjs.map +1 -1
- package/dist/pages/BundleSize/components/index.mjs +11 -8
- package/dist/pages/BundleSize/components/index.mjs.map +1 -1
- package/dist/pages/BundleSize/components/index.module.mjs +1 -6
- package/dist/pages/BundleSize/components/index.module.mjs.map +1 -1
- package/dist/pages/BundleSize/components/index_module.css +0 -37
- package/dist/pages/BundleSize/components/index_module.css.map +1 -1
- package/dist/pages/BundleSize/components/search-modal.mjs +5 -5
- package/dist/pages/BundleSize/components/search-modal.mjs.map +1 -1
- package/dist/pages/BundleSize/components/search-modal.module.mjs +10 -0
- package/dist/pages/BundleSize/components/search-modal.module.mjs.map +1 -0
- package/dist/pages/BundleSize/components/search-modal_module.css +39 -0
- package/dist/pages/BundleSize/components/search-modal_module.css.map +1 -0
- package/dist/pages/BundleSize/components/tree-graph.mjs +4 -4
- package/dist/pages/BundleSize/components/tree-graph.mjs.map +1 -1
- package/dist/pages/ModuleAnalyze/components/fileTreeCom.css +6 -2
- package/dist/pages/ModuleAnalyze/components/fileTreeCom.css.map +1 -1
- package/dist/pages/ModuleAnalyze/index.css +4 -6
- package/dist/pages/ModuleAnalyze/index.css.map +1 -1
- package/dist/pages/ModuleAnalyze/index.mjs +3 -4
- package/dist/pages/ModuleAnalyze/index.mjs.map +1 -1
- package/dist/pages/Overall/index.mjs +5 -13
- package/dist/pages/Overall/index.mjs.map +1 -1
- package/dist/pages/Overall/index.module.mjs +3 -0
- package/dist/pages/Overall/index.module.mjs.map +1 -1
- package/dist/pages/Overall/index_module.css +35 -2
- package/dist/pages/Overall/index_module.css.map +1 -1
- package/dist/pages/Overall/responsiveLayout.mjs +3 -3
- package/dist/pages/Overall/responsiveLayout.mjs.map +1 -1
- package/dist/pages/WebpackLoaders/Analysis/index.mjs +3 -3
- package/dist/pages/WebpackLoaders/Analysis/index.mjs.map +1 -1
- package/dist/pages/WebpackLoaders/Overall/index.mjs +1 -1
- package/dist/pages/WebpackLoaders/Overall/index.mjs.map +1 -1
- package/dist/static/image/rsdoctor-title-logo-dark.png +0 -0
- package/dist/utils/hooks.d.ts +1 -0
- package/dist/utils/hooks.mjs +6 -1
- package/dist/utils/hooks.mjs.map +1 -1
- package/package.json +4 -4
|
@@ -1,95 +1,35 @@
|
|
|
1
|
-
.errorNumber-NtnGpL, .warningNumber-UgutU8, .successNumber-YOK23K {
|
|
2
|
-
font-size: 14px;
|
|
3
|
-
font-weight: 500;
|
|
4
|
-
line-height: 32px;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
.errorNumber-NtnGpL, .errorText-u5Q3ns {
|
|
8
|
-
color: #f5222d;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.warningNumber-UgutU8, .warningText-PymRi4 {
|
|
12
|
-
color: #fa8c16;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.successNumber-YOK23K, .successText-ddFAF_ {
|
|
16
|
-
color: #52c41a;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.errorButton-jYRQzL, .warningButton-KAF3GT, .successButton-clAJSx {
|
|
20
|
-
width: 100%;
|
|
21
|
-
color: inherit;
|
|
22
|
-
height: 90px !important;
|
|
23
|
-
font-size: inherit !important;
|
|
24
|
-
border-radius: 12px !important;
|
|
25
|
-
padding: 4px 0 8px !important;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.errorButton-jYRQzL {
|
|
29
|
-
background-color: #f5222d14;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.errorButton-jYRQzL:hover {
|
|
33
|
-
background-color: #f5222d26 !important;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
.warningButton-KAF3GT {
|
|
37
|
-
background-color: #fa8b1614;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.warningButton-KAF3GT:hover {
|
|
41
|
-
background-color: #fa8b1626 !important;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.successButton-clAJSx {
|
|
45
|
-
background-color: #52c41a14;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.successButton-clAJSx:hover {
|
|
49
|
-
background-color: #52c41a26 !important;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.errorText-u5Q3ns, .warningText-PymRi4, .successText-ddFAF_ {
|
|
53
|
-
opacity: .75;
|
|
54
|
-
margin-top: -2px;
|
|
55
|
-
padding-bottom: 6px;
|
|
56
|
-
font-size: 13px;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
1
|
.container-ssAvLP {
|
|
60
|
-
border-
|
|
61
|
-
|
|
2
|
+
border-color: var(--color-border-secondary);
|
|
3
|
+
background: var(--color-accent-subtle);
|
|
62
4
|
height: 40px;
|
|
63
5
|
margin: 10px 0 20px;
|
|
64
6
|
padding: 10px 20px 10px 5px;
|
|
7
|
+
font-size: 14px;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.container-ssAvLP .ant-alert-message {
|
|
11
|
+
align-items: center;
|
|
65
12
|
display: flex;
|
|
66
13
|
}
|
|
67
14
|
|
|
68
15
|
.container-ssAvLP .icon-K6JtIV {
|
|
69
|
-
margin: 0 5px
|
|
16
|
+
margin: 0 5px;
|
|
17
|
+
font-size: 18px;
|
|
70
18
|
}
|
|
71
19
|
|
|
72
20
|
.container-ssAvLP .description-Ik1PO7 {
|
|
73
|
-
color:
|
|
21
|
+
color: var(--text-color-secondary);
|
|
74
22
|
margin-right: 5px;
|
|
75
|
-
font-size: 14px;
|
|
76
23
|
font-weight: 400;
|
|
77
24
|
line-height: 20px;
|
|
78
25
|
}
|
|
79
26
|
|
|
80
27
|
.container-ssAvLP .data-J9Vxvq {
|
|
81
|
-
|
|
82
|
-
font-
|
|
28
|
+
color: var(--text-color);
|
|
29
|
+
font-variant-numeric: tabular-nums;
|
|
30
|
+
font-weight: 600;
|
|
83
31
|
line-height: 32px;
|
|
84
32
|
}
|
|
85
33
|
|
|
86
|
-
.common-sHeHRd {
|
|
87
|
-
background: #f0f5ff;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
.warning-HnVMOj {
|
|
91
|
-
background: #fff7e6;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
34
|
|
|
95
35
|
/*# sourceMappingURL=DataSummary_module.css.map */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://./src/components/Overall/DataSummary.module.scss"],"names":[],"mappings":"AAAA;EACE,
|
|
1
|
+
{"version":3,"sources":["webpack://./src/components/Overall/DataSummary.module.scss"],"names":[],"mappings":"AAAA;EACE,2CAA2C;EAC3C,sCAAsC;EACtC,YAAY;EACZ,mBAAmB;EACnB,2BAA2B;EAC3B,eAAe;AACjB;;AAPuK;EAUrK,mBAAmB;EACnB,aAAa;AACf;;AAZ8O;EAe5O,aAAa;EACb,eAAe;AACjB;;AAjB+S;EAoB7S,kCAAkC;EAClC,iBAAiB;EACjB,gBAAgB;EAChB,iBAAiB;AACnB;;AAxB2Z;EA2BzZ,wBAAwB;EACxB,kCAAkC;EAClC,gBAAgB;EAChB,iBAAiB;AACnB","sourcesContent":[".container{height:40px;padding:10px 20px 10px 5px;margin:10px 0 20px 0;font-size:14px;border-color:var(--color-border-secondary);background:var(--color-accent-subtle)}.container :global(.ant-alert-message){display:flex;align-items:center}.container .icon{margin:0 5px 0 10px;font-size:18px;margin:0 5px}.container .description{margin-right:5px;font-weight:400;line-height:20px;color:var(--text-color-secondary)}.container .data{font-weight:600;line-height:32px;color:var(--text-color);font-variant-numeric:tabular-nums}"],"sourceRoot":""}
|
|
@@ -51,8 +51,7 @@ const getFiles = (data)=>{
|
|
|
51
51
|
className: bundle_module.line
|
|
52
52
|
}),
|
|
53
53
|
/*#__PURE__*/ jsx(Tag, {
|
|
54
|
-
className: bundle_module.tag
|
|
55
|
-
color: "green",
|
|
54
|
+
className: `${bundle_module.tag} ${bundle_module.sizeTag}`,
|
|
56
55
|
children: formatSize(file.size)
|
|
57
56
|
}),
|
|
58
57
|
file.initial ? /*#__PURE__*/ jsx(Tag, {
|
|
@@ -355,7 +354,7 @@ const BundleOverall = ()=>{
|
|
|
355
354
|
}
|
|
356
355
|
}),
|
|
357
356
|
/*#__PURE__*/ jsx(DataSummary, {
|
|
358
|
-
theme: 'files' === view ? 'common' : '
|
|
357
|
+
theme: 'files' === view ? 'common' : 'size',
|
|
359
358
|
number: 'files' === view ? res.all.total.count : totalSizeStr,
|
|
360
359
|
description: `Total ${view}`
|
|
361
360
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/Overall/bundle.mjs","sources":["../../../src/components/Overall/bundle.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Descriptions,\n DescriptionsProps,\n Button,\n Tree,\n Tag,\n Segmented,\n} from 'antd';\nimport { FolderOpenTwoTone, RightOutlined } from '@ant-design/icons';\nimport { useNavigate } from 'react-router-dom';\n\nimport { getFileCom } from '../FileTree';\nimport { formatSize, useI18n } from '../../utils';\nimport { TextDrawer } from '../TextDrawer';\nimport { Card } from '../Card';\nimport { ServerAPIProvider } from '../Manifest';\nimport listStyles from './list.module.scss';\nimport cardStyles from './card.module.scss';\nimport { DataSummary } from './DataSummary';\n\nimport { Client, SDK } from '@rsdoctor/types';\nimport type { TreeDataNode } from 'antd';\n\nimport styles from './bundle.module.scss';\n\ntype viewType = 'files' | 'size';\n\nconst { DirectoryTree } = Tree;\n\nexport const getFiles = (\n data: Client.RsdoctorClientAssetsSummary['all']['total'],\n) => {\n let files: Array<{\n fileName: string;\n defaultDir: string;\n size: number;\n initial: boolean;\n }> = [];\n if (data.files.length) {\n files = data.files.map((fileMessage) => {\n const filePath = fileMessage.path;\n const pathArray = filePath.split('/');\n const fileName = pathArray.pop()!;\n const defaultDir = pathArray.join('/') || 'output';\n\n return {\n fileName,\n defaultDir,\n size: fileMessage.size,\n initial: fileMessage.initial,\n };\n });\n }\n\n const treeData: TreeDataNode[] = [];\n files.forEach((file) => {\n const target = treeData.find((data) => data.title === file.defaultDir);\n const parent: TreeDataNode = target || {\n title: file.defaultDir,\n key: file.defaultDir,\n icon: <FolderOpenTwoTone />,\n children: [],\n };\n const icon = getFileCom(file.fileName);\n if (!target) {\n treeData.push(parent);\n }\n parent.children!.push({\n title: (\n <div className={styles.treeContainer}>\n <div className={styles.treeTitle}>{file.fileName}</div>\n <div className={styles.line} />\n <Tag className={styles.tag} color=\"green\">\n {formatSize(file.size)}\n </Tag>\n {file.initial ? (\n <Tag className={styles.tag} color=\"cyan\">\n initial\n </Tag>\n ) : null}\n </div>\n ),\n key: file.fileName,\n isLeaf: true,\n icon,\n });\n });\n\n return {\n treeData,\n };\n};\n\nexport const getFilesWithDrawer = (\n data: Client.RsdoctorClientAssetsSummary['all']['total'],\n): React.JSX.Element => {\n const { treeData } = getFiles(data);\n\n return (\n <>\n {data.files.length ? (\n <TextDrawer\n buttonProps={{\n size: 'small',\n }}\n buttonStyle={{\n fontSize: 'inherit',\n }}\n drawerProps={{\n title: 'Files',\n }}\n text={<span>{data.count}</span>}\n >\n <DirectoryTree\n defaultExpandAll\n selectable={false}\n treeData={treeData}\n rootStyle={{\n minHeight: '800px',\n border: '1px solid rgba(235, 237, 241)',\n }}\n />\n </TextDrawer>\n ) : (\n data.count\n )}\n </>\n );\n};\n\nconst BundleDescriptions = ({\n res,\n view,\n}: {\n res: Client.RsdoctorClientAssetsSummary;\n view: viewType;\n}) => {\n const fileItems: DescriptionsProps['items'] = [\n {\n key: 'js-files-count',\n label: 'JS files',\n children: (\n <span className={`${styles.description} ${styles.column}`}>\n {getFilesWithDrawer(res.js.total)}\n </span>\n ),\n },\n {\n key: 'css-files-count',\n label: 'CSS files',\n children: (\n <span className={`${styles.description} ${styles.column}`}>\n {getFilesWithDrawer(res.css.total)}\n </span>\n ),\n },\n {\n key: 'font-files-count',\n label: 'Font files',\n children: (\n <span className={`${styles.description} ${styles.column}`}>\n {getFilesWithDrawer(res.fonts.total)}\n </span>\n ),\n },\n {\n key: 'html-files-count',\n label: 'HTML files',\n children: (\n <span className={styles.description}>\n {getFilesWithDrawer(res.html.total)}\n </span>\n ),\n },\n {\n key: 'image-files-count',\n label: 'Image files',\n children: (\n <span className={styles.description}>\n {getFilesWithDrawer(res.imgs.total)}\n </span>\n ),\n },\n {\n key: 'media-files-count',\n label: 'Media files',\n children: (\n <span className={styles.description}>\n {getFilesWithDrawer(res.media.total)}\n </span>\n ),\n },\n ];\n\n const [jsSize, jsSizeUnit] = formatSize(res.js.total.size).split(' ');\n const [cssSize, cssSizeUnit] = formatSize(res.css.total.size).split(' ');\n const [fontSize, fontSizeUnit] = formatSize(res.fonts.total.size).split(' ');\n const [htmlSize, htmlSizeUnit] = formatSize(res.html.total.size).split(' ');\n const [imgSize, imgSizeUnit] = formatSize(res.imgs.total.size).split(' ');\n const [mediaSize, mediaSizeUnit] = formatSize(res.media.total.size).split(\n ' ',\n );\n\n const sizeItems: DescriptionsProps['items'] = [\n {\n key: 'js-files-size',\n label: <span className={styles.label}>JS size</span>,\n children: (\n <div className={styles.column}>\n <span className={styles.description}>{jsSize}</span>\n <span className={styles.unit}>{jsSizeUnit}</span>\n </div>\n ),\n },\n {\n key: 'css-files-size',\n label: <span className={styles.label}>CSS size</span>,\n children: (\n <div className={styles.column}>\n <span className={styles.description}>{cssSize}</span>\n <span className={styles.unit}>{cssSizeUnit}</span>\n </div>\n ),\n },\n {\n key: 'font-files-size',\n label: <span className={styles.label}>Font size</span>,\n children: (\n <div className={styles.column}>\n <span className={styles.description}>{fontSize}</span>\n <span className={styles.unit}>{fontSizeUnit}</span>\n </div>\n ),\n },\n {\n key: 'html-files-size',\n label: <span className={styles.label}>HTML size</span>,\n children: (\n <>\n <span className={styles.description}>{htmlSize}</span>\n <span className={styles.unit}>{htmlSizeUnit}</span>\n </>\n ),\n },\n {\n key: 'image-files-size',\n label: <span className={styles.label}>Image size</span>,\n children: (\n <>\n <span className={styles.description}>{imgSize}</span>\n <span className={styles.unit}>{imgSizeUnit}</span>\n </>\n ),\n },\n {\n key: 'media-files-size',\n label: <span className={styles.label}>Media size</span>,\n children: (\n <>\n <span className={styles.description}>{mediaSize}</span>\n <span className={styles.unit}>{mediaSizeUnit}</span>\n </>\n ),\n },\n ];\n\n return (\n <Descriptions\n layout={'vertical'}\n className={listStyles.bundleOverall}\n size=\"small\"\n column={3}\n colon={false}\n items={view === 'files' ? fileItems : sizeItems}\n />\n );\n};\n\nexport const BundleOverall: React.FC<{\n errors: SDK.ErrorsData;\n cwd: string;\n}> = (): React.JSX.Element | null => {\n const [view, setView] = useState<viewType>('size');\n const navigate = useNavigate();\n const { t } = useI18n();\n\n const handleViewChange = (value: viewType) => {\n setView(value);\n };\n\n return (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetAssetsSummary}\n body={{ withFileContent: false }}\n >\n {(res) => {\n const totalSizeStr = formatSize(res.all.total.size);\n return (\n <Card className={cardStyles.card} style={{ height: '316px' }}>\n <div>\n <div className={styles.title}>\n <span>{t('Bundle Overall')}</span>\n <Button\n type=\"link\"\n style={{ padding: '0px' }}\n onClick={() => {\n navigate(Client.RsdoctorClientRoutes.BundleSize);\n }}\n >\n <div style={{ display: 'flex', alignItems: 'center' }}>\n <span style={{ marginRight: '8px', fontSize: '13px' }}>\n {t('ViewBundleSize')}\n </span>\n <RightOutlined style={{ fontSize: '10px' }} />\n </div>\n </Button>\n </div>\n <Segmented\n options={['Size', 'Files']}\n onChange={(val) =>\n handleViewChange(val.toLocaleLowerCase() as viewType)\n }\n size=\"small\"\n style={{ marginBottom: 8, fontSize: '14px' }}\n />\n <DataSummary\n theme={view === 'files' ? 'common' : 'warning'}\n number={view === 'files' ? res.all.total.count : totalSizeStr}\n description={`Total ${view}`}\n />\n <BundleDescriptions view={view} res={res} />\n </div>\n </Card>\n );\n }}\n </ServerAPIProvider>\n );\n};\n"],"names":["DirectoryTree","Tree","getFiles","data","files","fileMessage","filePath","pathArray","fileName","defaultDir","treeData","file","target","parent","FolderOpenTwoTone","icon","getFileCom","styles","Tag","formatSize","getFilesWithDrawer","TextDrawer","BundleDescriptions","res","view","fileItems","jsSize","jsSizeUnit","cssSize","cssSizeUnit","fontSize","fontSizeUnit","htmlSize","htmlSizeUnit","imgSize","imgSizeUnit","mediaSize","mediaSizeUnit","sizeItems","Descriptions","listStyles","BundleOverall","setView","useState","navigate","useNavigate","t","useI18n","handleViewChange","value","ServerAPIProvider","SDK","totalSizeStr","Card","cardStyles","Button","Client","RightOutlined","Segmented","val","DataSummary"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components/Overall/bundle.mjs","sources":["../../../src/components/Overall/bundle.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Descriptions,\n DescriptionsProps,\n Button,\n Tree,\n Tag,\n Segmented,\n} from 'antd';\nimport { FolderOpenTwoTone, RightOutlined } from '@ant-design/icons';\nimport { useNavigate } from 'react-router-dom';\n\nimport { getFileCom } from '../FileTree';\nimport { formatSize, useI18n } from '../../utils';\nimport { TextDrawer } from '../TextDrawer';\nimport { Card } from '../Card';\nimport { ServerAPIProvider } from '../Manifest';\nimport listStyles from './list.module.scss';\nimport cardStyles from './card.module.scss';\nimport { DataSummary } from './DataSummary';\n\nimport { Client, SDK } from '@rsdoctor/types';\nimport type { TreeDataNode } from 'antd';\n\nimport styles from './bundle.module.scss';\n\ntype viewType = 'files' | 'size';\n\nconst { DirectoryTree } = Tree;\n\nexport const getFiles = (\n data: Client.RsdoctorClientAssetsSummary['all']['total'],\n) => {\n let files: Array<{\n fileName: string;\n defaultDir: string;\n size: number;\n initial: boolean;\n }> = [];\n if (data.files.length) {\n files = data.files.map((fileMessage) => {\n const filePath = fileMessage.path;\n const pathArray = filePath.split('/');\n const fileName = pathArray.pop()!;\n const defaultDir = pathArray.join('/') || 'output';\n\n return {\n fileName,\n defaultDir,\n size: fileMessage.size,\n initial: fileMessage.initial,\n };\n });\n }\n\n const treeData: TreeDataNode[] = [];\n files.forEach((file) => {\n const target = treeData.find((data) => data.title === file.defaultDir);\n const parent: TreeDataNode = target || {\n title: file.defaultDir,\n key: file.defaultDir,\n icon: <FolderOpenTwoTone />,\n children: [],\n };\n const icon = getFileCom(file.fileName);\n if (!target) {\n treeData.push(parent);\n }\n parent.children!.push({\n title: (\n <div className={styles.treeContainer}>\n <div className={styles.treeTitle}>{file.fileName}</div>\n <div className={styles.line} />\n <Tag className={`${styles.tag} ${styles.sizeTag}`}>\n {formatSize(file.size)}\n </Tag>\n {file.initial ? (\n <Tag className={styles.tag} color=\"cyan\">\n initial\n </Tag>\n ) : null}\n </div>\n ),\n key: file.fileName,\n isLeaf: true,\n icon,\n });\n });\n\n return {\n treeData,\n };\n};\n\nexport const getFilesWithDrawer = (\n data: Client.RsdoctorClientAssetsSummary['all']['total'],\n): React.JSX.Element => {\n const { treeData } = getFiles(data);\n\n return (\n <>\n {data.files.length ? (\n <TextDrawer\n buttonProps={{\n size: 'small',\n }}\n buttonStyle={{\n fontSize: 'inherit',\n }}\n drawerProps={{\n title: 'Files',\n }}\n text={<span>{data.count}</span>}\n >\n <DirectoryTree\n defaultExpandAll\n selectable={false}\n treeData={treeData}\n rootStyle={{\n minHeight: '800px',\n border: '1px solid rgba(235, 237, 241)',\n }}\n />\n </TextDrawer>\n ) : (\n data.count\n )}\n </>\n );\n};\n\nconst BundleDescriptions = ({\n res,\n view,\n}: {\n res: Client.RsdoctorClientAssetsSummary;\n view: viewType;\n}) => {\n const fileItems: DescriptionsProps['items'] = [\n {\n key: 'js-files-count',\n label: 'JS files',\n children: (\n <span className={`${styles.description} ${styles.column}`}>\n {getFilesWithDrawer(res.js.total)}\n </span>\n ),\n },\n {\n key: 'css-files-count',\n label: 'CSS files',\n children: (\n <span className={`${styles.description} ${styles.column}`}>\n {getFilesWithDrawer(res.css.total)}\n </span>\n ),\n },\n {\n key: 'font-files-count',\n label: 'Font files',\n children: (\n <span className={`${styles.description} ${styles.column}`}>\n {getFilesWithDrawer(res.fonts.total)}\n </span>\n ),\n },\n {\n key: 'html-files-count',\n label: 'HTML files',\n children: (\n <span className={styles.description}>\n {getFilesWithDrawer(res.html.total)}\n </span>\n ),\n },\n {\n key: 'image-files-count',\n label: 'Image files',\n children: (\n <span className={styles.description}>\n {getFilesWithDrawer(res.imgs.total)}\n </span>\n ),\n },\n {\n key: 'media-files-count',\n label: 'Media files',\n children: (\n <span className={styles.description}>\n {getFilesWithDrawer(res.media.total)}\n </span>\n ),\n },\n ];\n\n const [jsSize, jsSizeUnit] = formatSize(res.js.total.size).split(' ');\n const [cssSize, cssSizeUnit] = formatSize(res.css.total.size).split(' ');\n const [fontSize, fontSizeUnit] = formatSize(res.fonts.total.size).split(' ');\n const [htmlSize, htmlSizeUnit] = formatSize(res.html.total.size).split(' ');\n const [imgSize, imgSizeUnit] = formatSize(res.imgs.total.size).split(' ');\n const [mediaSize, mediaSizeUnit] = formatSize(res.media.total.size).split(\n ' ',\n );\n\n const sizeItems: DescriptionsProps['items'] = [\n {\n key: 'js-files-size',\n label: <span className={styles.label}>JS size</span>,\n children: (\n <div className={styles.column}>\n <span className={styles.description}>{jsSize}</span>\n <span className={styles.unit}>{jsSizeUnit}</span>\n </div>\n ),\n },\n {\n key: 'css-files-size',\n label: <span className={styles.label}>CSS size</span>,\n children: (\n <div className={styles.column}>\n <span className={styles.description}>{cssSize}</span>\n <span className={styles.unit}>{cssSizeUnit}</span>\n </div>\n ),\n },\n {\n key: 'font-files-size',\n label: <span className={styles.label}>Font size</span>,\n children: (\n <div className={styles.column}>\n <span className={styles.description}>{fontSize}</span>\n <span className={styles.unit}>{fontSizeUnit}</span>\n </div>\n ),\n },\n {\n key: 'html-files-size',\n label: <span className={styles.label}>HTML size</span>,\n children: (\n <>\n <span className={styles.description}>{htmlSize}</span>\n <span className={styles.unit}>{htmlSizeUnit}</span>\n </>\n ),\n },\n {\n key: 'image-files-size',\n label: <span className={styles.label}>Image size</span>,\n children: (\n <>\n <span className={styles.description}>{imgSize}</span>\n <span className={styles.unit}>{imgSizeUnit}</span>\n </>\n ),\n },\n {\n key: 'media-files-size',\n label: <span className={styles.label}>Media size</span>,\n children: (\n <>\n <span className={styles.description}>{mediaSize}</span>\n <span className={styles.unit}>{mediaSizeUnit}</span>\n </>\n ),\n },\n ];\n\n return (\n <Descriptions\n layout={'vertical'}\n className={listStyles.bundleOverall}\n size=\"small\"\n column={3}\n colon={false}\n items={view === 'files' ? fileItems : sizeItems}\n />\n );\n};\n\nexport const BundleOverall: React.FC<{\n errors: SDK.ErrorsData;\n cwd: string;\n}> = (): React.JSX.Element | null => {\n const [view, setView] = useState<viewType>('size');\n const navigate = useNavigate();\n const { t } = useI18n();\n\n const handleViewChange = (value: viewType) => {\n setView(value);\n };\n\n return (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetAssetsSummary}\n body={{ withFileContent: false }}\n >\n {(res) => {\n const totalSizeStr = formatSize(res.all.total.size);\n return (\n <Card className={cardStyles.card} style={{ height: '316px' }}>\n <div>\n <div className={styles.title}>\n <span>{t('Bundle Overall')}</span>\n <Button\n type=\"link\"\n style={{ padding: '0px' }}\n onClick={() => {\n navigate(Client.RsdoctorClientRoutes.BundleSize);\n }}\n >\n <div style={{ display: 'flex', alignItems: 'center' }}>\n <span style={{ marginRight: '8px', fontSize: '13px' }}>\n {t('ViewBundleSize')}\n </span>\n <RightOutlined style={{ fontSize: '10px' }} />\n </div>\n </Button>\n </div>\n <Segmented\n options={['Size', 'Files']}\n onChange={(val) =>\n handleViewChange(val.toLocaleLowerCase() as viewType)\n }\n size=\"small\"\n style={{ marginBottom: 8, fontSize: '14px' }}\n />\n <DataSummary\n theme={view === 'files' ? 'common' : 'size'}\n number={view === 'files' ? res.all.total.count : totalSizeStr}\n description={`Total ${view}`}\n />\n <BundleDescriptions view={view} res={res} />\n </div>\n </Card>\n );\n }}\n </ServerAPIProvider>\n );\n};\n"],"names":["DirectoryTree","Tree","getFiles","data","files","fileMessage","filePath","pathArray","fileName","defaultDir","treeData","file","target","parent","FolderOpenTwoTone","icon","getFileCom","styles","Tag","formatSize","getFilesWithDrawer","TextDrawer","BundleDescriptions","res","view","fileItems","jsSize","jsSizeUnit","cssSize","cssSizeUnit","fontSize","fontSizeUnit","htmlSize","htmlSizeUnit","imgSize","imgSizeUnit","mediaSize","mediaSizeUnit","sizeItems","Descriptions","listStyles","BundleOverall","setView","useState","navigate","useNavigate","t","useI18n","handleViewChange","value","ServerAPIProvider","SDK","totalSizeStr","Card","cardStyles","Button","Client","RightOutlined","Segmented","val","DataSummary"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/Overall/bundle.module.mjs","sources":["../../../src/components/Overall/bundle.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./bundle_module.css\"\nexport default {\"title\":\"title-fNYU5O\",\"column\":\"column-VJtpT7\",\"description\":\"description-nwRikm\",\"unit\":\"unit-poAoxV\",\"treeContainer\":\"treeContainer-jcFlxc\",\"line\":\"line-Ia_8Yg\",\"treeTitle\":\"treeTitle-B083rc\",\"icon\":\"icon-jhYzus\",\"tag\":\"tag-fNEiQ8\",\"label\":\"label-vITl7c\"};"],"names":[],"mappings":";AAEA,sBAAe;IAAC,OAAQ;IAAe,QAAS;IAAgB,aAAc;IAAqB,MAAO;IAAc,eAAgB;IAAuB,MAAO;IAAc,WAAY;IAAmB,MAAO;IAAc,KAAM;IAAa,OAAQ;AAAc"}
|
|
1
|
+
{"version":3,"file":"components/Overall/bundle.module.mjs","sources":["../../../src/components/Overall/bundle.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./bundle_module.css\"\nexport default {\"title\":\"title-fNYU5O\",\"column\":\"column-VJtpT7\",\"description\":\"description-nwRikm\",\"unit\":\"unit-poAoxV\",\"treeContainer\":\"treeContainer-jcFlxc\",\"line\":\"line-Ia_8Yg\",\"treeTitle\":\"treeTitle-B083rc\",\"icon\":\"icon-jhYzus\",\"tag\":\"tag-fNEiQ8\",\"sizeTag\":\"sizeTag-ukmRN7\",\"label\":\"label-vITl7c\"};"],"names":[],"mappings":";AAEA,sBAAe;IAAC,OAAQ;IAAe,QAAS;IAAgB,aAAc;IAAqB,MAAO;IAAc,eAAgB;IAAuB,MAAO;IAAc,WAAY;IAAmB,MAAO;IAAc,KAAM;IAAa,SAAU;IAAiB,OAAQ;AAAc"}
|
|
@@ -16,7 +16,6 @@
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
.description-nwRikm {
|
|
19
|
-
color: #000;
|
|
20
19
|
margin-right: 5px;
|
|
21
20
|
font-size: 20px;
|
|
22
21
|
font-weight: 500;
|
|
@@ -30,7 +29,6 @@
|
|
|
30
29
|
}
|
|
31
30
|
|
|
32
31
|
.unit-poAoxV {
|
|
33
|
-
color: #000;
|
|
34
32
|
font-size: 12px;
|
|
35
33
|
font-weight: 400;
|
|
36
34
|
line-height: 32px;
|
|
@@ -41,7 +39,7 @@
|
|
|
41
39
|
}
|
|
42
40
|
|
|
43
41
|
.treeContainer-jcFlxc .line-Ia_8Yg {
|
|
44
|
-
border-bottom: 1px dashed #e5e6eb;
|
|
42
|
+
border-bottom: 1px dashed var(--color-divider, #e5e6eb);
|
|
45
43
|
flex: 1;
|
|
46
44
|
margin: 0 15px 0 10px;
|
|
47
45
|
transform: translateY(-45%);
|
|
@@ -61,16 +59,26 @@
|
|
|
61
59
|
height: 23px;
|
|
62
60
|
}
|
|
63
61
|
|
|
62
|
+
.treeContainer-jcFlxc .sizeTag-ukmRN7 {
|
|
63
|
+
color: #5b8ff9;
|
|
64
|
+
background: #5b8ff91f;
|
|
65
|
+
border-color: #5b8ff966;
|
|
66
|
+
}
|
|
67
|
+
|
|
64
68
|
.label-vITl7c {
|
|
65
69
|
text-align: left;
|
|
66
70
|
text-underline-position: from-font;
|
|
67
71
|
-webkit-text-decoration-skip-ink: none;
|
|
68
72
|
text-decoration-skip-ink: none;
|
|
69
|
-
color:
|
|
73
|
+
color: var(--text-color-secondary);
|
|
70
74
|
font-size: 12px;
|
|
71
75
|
font-weight: 400;
|
|
72
76
|
line-height: 20px;
|
|
73
77
|
}
|
|
74
78
|
|
|
79
|
+
.description-nwRikm, .unit-poAoxV {
|
|
80
|
+
font-variant-numeric: tabular-nums;
|
|
81
|
+
}
|
|
82
|
+
|
|
75
83
|
|
|
76
84
|
/*# sourceMappingURL=bundle_module.css.map */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://./src/components/Overall/bundle.module.scss"],"names":[],"mappings":"AAAA;EACE,gBAAgB;EAChB,8BAA8B;EAC9B,mBAAmB;EACnB,YAAY;EACZ,eAAe;EACf,gBAAgB;EAChB,iBAAiB;EACjB,aAAa;EACb,kBAAkB;EAClB,UAAU;AACZ;;AAX6K;EAc3K,mBAAmB;AACrB;;AAfwM;EAkBtM,
|
|
1
|
+
{"version":3,"sources":["webpack://./src/components/Overall/bundle.module.scss"],"names":[],"mappings":"AAAA;EACE,gBAAgB;EAChB,8BAA8B;EAC9B,mBAAmB;EACnB,YAAY;EACZ,eAAe;EACf,gBAAgB;EAChB,iBAAiB;EACjB,aAAa;EACb,kBAAkB;EAClB,UAAU;AACZ;;AAX6K;EAc3K,mBAAmB;AACrB;;AAfwM;EAkBtM,iBAAiB;EACjB,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;AAtBsR;EAA0B;IA0B5S,eAAe;EACjB;AACF;;AA5B6U;EA+B3U,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;AAlCmY;EAqCjY,aAAa;AACf;;AAtC+Z;EAyC7Z,uDAAuD;EACvD,OAAO;EACP,qBAAqB;EACrB,2BAA2B;AAC7B;;AA7CkiB;EAgDhiB,qBAAqB;EACrB,qBAAqB;EACrB,eAAe;AACjB;;AAnDqnB;EAsDnnB,eAAe;AACjB;;AAvDypB;EA0DvpB,YAAY;AACd;;AA3DyrB;EA8DvrB,cAAc;EACd,qBAAqB;EACrB,uBAAuB;AACzB;;AAjEgyB;EAoE9xB,gBAAgB;EAChB,kCAAkC;EAClC,sCAAsC;EACtC,8BAA8B;EAC9B,kCAAkC;EAClC,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;AA5Ey8B;EA+Ev8B,kCAAkC;AACpC","sourcesContent":[".title{height:40px;display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:500;line-height:20px;text-align:left;position:relative;top:-10px}.column{margin-bottom:14px}.description{font-size:20px;font-weight:500;line-height:32px;margin-right:5px}@media(max-width: 1500px){.description{font-size:16px}}.unit{font-size:12px;font-weight:400;line-height:32px}.treeContainer{display:flex}.treeContainer .line{border-bottom:1px dashed var(--color-divider, #e5e6eb);flex:1;transform:translateY(-45%);margin:0 15px 0 10px}.treeContainer .treeTitle{word-wrap:break-word;word-break:break-all;flex-wrap:wrap}.treeContainer .icon{font-size:16px}.treeContainer .tag{height:23px}.treeContainer .sizeTag{color:#5b8ff9;background:rgba(91,143,249,.12);border-color:rgba(91,143,249,.4)}.label{font-size:12px;font-weight:400;line-height:20px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none;color:var(--text-color-secondary)}.description,.unit{font-variant-numeric:tabular-nums}"],"sourceRoot":""}
|
|
@@ -1,17 +1,33 @@
|
|
|
1
1
|
:is(.projectOverall-T7onhG .ant-descriptions-item-label, .projectOverall-T7onhG .ant-descriptions-item-content) {
|
|
2
|
-
color: #000000a6;
|
|
3
2
|
font-size: 13px;
|
|
4
3
|
}
|
|
5
4
|
|
|
5
|
+
.projectOverall-T7onhG .ant-descriptions-item-label {
|
|
6
|
+
color: var(--text-color-secondary);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.projectOverall-T7onhG .ant-descriptions-item-content {
|
|
10
|
+
color: var(--text-color);
|
|
11
|
+
font-variant-numeric: tabular-nums;
|
|
12
|
+
}
|
|
13
|
+
|
|
6
14
|
.projectOverall-T7onhG .ant-descriptions-item {
|
|
7
15
|
padding-bottom: 10px !important;
|
|
8
16
|
}
|
|
9
17
|
|
|
10
18
|
:is(.bundleOverall-Ay7WmZ .ant-descriptions-item-label, .bundleOverall-Ay7WmZ .ant-descriptions-item-content) {
|
|
11
|
-
color: #000000a6;
|
|
12
19
|
font-size: 13px;
|
|
13
20
|
}
|
|
14
21
|
|
|
22
|
+
.bundleOverall-Ay7WmZ .ant-descriptions-item-label {
|
|
23
|
+
color: var(--text-color-secondary);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.bundleOverall-Ay7WmZ .ant-descriptions-item-content {
|
|
27
|
+
color: var(--text-color);
|
|
28
|
+
font-variant-numeric: tabular-nums;
|
|
29
|
+
}
|
|
30
|
+
|
|
15
31
|
.bundleOverall-Ay7WmZ .ant-descriptions-item {
|
|
16
32
|
padding-bottom: 0 !important;
|
|
17
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://./src/components/Overall/list.module.scss"],"names":[],"mappings":"AAAA;EACE,
|
|
1
|
+
{"version":3,"sources":["webpack://./src/components/Overall/list.module.scss"],"names":[],"mappings":"AAAA;EACE,eAAe;AACjB;;AAF6H;EAK3H,kCAAkC;AACpC;;AANqN;EASnN,wBAAwB;EACxB,kCAAkC;AACpC;;AAXuU;EAcrU,+BAA+B;AACjC;;AAfsZ;EAkBpZ,eAAe;AACjB;;AAnBihB;EAsB/gB,kCAAkC;AACpC;;AAvBwmB;EA0BtmB,wBAAwB;EACxB,kCAAkC;AACpC;;AA5BytB;EA+BvtB,4BAA4B;AAC9B","sourcesContent":[".projectOverall :global(.ant-descriptions-item-label),.projectOverall :global(.ant-descriptions-item-content){font-size:13px}.projectOverall :global(.ant-descriptions-item-label){color:var(--text-color-secondary)}.projectOverall :global(.ant-descriptions-item-content){color:var(--text-color);font-variant-numeric:tabular-nums}.projectOverall :global(.ant-descriptions-item){padding-bottom:10px !important}.bundleOverall :global(.ant-descriptions-item-label),.bundleOverall :global(.ant-descriptions-item-content){font-size:13px}.bundleOverall :global(.ant-descriptions-item-label){color:var(--text-color-secondary)}.bundleOverall :global(.ant-descriptions-item-content){color:var(--text-color);font-variant-numeric:tabular-nums}.bundleOverall :global(.ant-descriptions-item){padding-bottom:0px !important}"],"sourceRoot":""}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
.container-KSV5DZ {
|
|
2
|
+
background: var(--color-bg-box-elevated);
|
|
3
|
+
border: 1px solid var(--color-border-secondary);
|
|
2
4
|
white-space: nowrap;
|
|
3
|
-
|
|
4
|
-
border-radius: 8px;
|
|
5
|
+
border-radius: 10px;
|
|
5
6
|
justify-content: space-between;
|
|
6
7
|
align-items: center;
|
|
7
8
|
width: 100%;
|
|
8
|
-
|
|
9
|
-
padding:
|
|
9
|
+
min-height: 88px;
|
|
10
|
+
padding: 14px 18px;
|
|
10
11
|
display: flex;
|
|
11
12
|
}
|
|
12
13
|
|
|
@@ -15,17 +16,23 @@
|
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
.container-KSV5DZ .content-BsjkSU .title-jUwqD5 {
|
|
18
|
-
color:
|
|
19
|
+
color: var(--text-color-secondary);
|
|
19
20
|
font-size: 12px;
|
|
20
21
|
font-weight: 400;
|
|
21
22
|
line-height: 20px;
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
.container-KSV5DZ .content-BsjkSU .description-ArkOg4 {
|
|
26
|
+
color: var(--text-color);
|
|
27
|
+
font-variant-numeric: tabular-nums;
|
|
25
28
|
font-size: 24px;
|
|
26
|
-
font-weight:
|
|
29
|
+
font-weight: 600;
|
|
27
30
|
line-height: 32px;
|
|
28
31
|
}
|
|
29
32
|
|
|
33
|
+
.container-KSV5DZ .ant-avatar {
|
|
34
|
+
box-shadow: 0 0 0 4px #ffffff0a;
|
|
35
|
+
}
|
|
36
|
+
|
|
30
37
|
|
|
31
38
|
/*# sourceMappingURL=overview_module.css.map */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://./src/components/Overall/overview.module.scss"],"names":[],"mappings":"AAAA;EACE,mBAAmB;EACnB,mBAAmB;EACnB,
|
|
1
|
+
{"version":3,"sources":["webpack://./src/components/Overall/overview.module.scss"],"names":[],"mappings":"AAAA;EACE,wCAAwC;EACxC,+CAA+C;EAC/C,mBAAmB;EACnB,mBAAmB;EACnB,8BAA8B;EAC9B,mBAAmB;EACnB,WAAW;EACX,gBAAgB;EAChB,kBAAkB;EAClB,aAAa;AACf;;AAXmP;EAcjP,OAAO;AACT;;AAf8Q;EAkB5Q,kCAAkC;EAClC,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;AAtB2X;EAyBzX,wBAAwB;EACxB,kCAAkC;EAClC,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;AA9BsgB;EAiCpgB,+BAA+B;AACjC","sourcesContent":[".container{width:100%;display:flex;background:var(--color-bg-box-elevated);align-items:center;justify-content:space-between;min-height:88px;border:1px solid var(--color-border-secondary);border-radius:10px;padding:14px 18px;white-space:nowrap}.container .content{flex:1}.container .content .title{font-size:12px;font-weight:400;line-height:20px;color:var(--text-color-secondary)}.container .content .description{font-size:24px;font-weight:600;line-height:32px;color:var(--text-color);font-variant-numeric:tabular-nums}.container :global(.ant-avatar){box-shadow:0 0 0 4px hsla(0,0%,100%,.04)}"],"sourceRoot":""}
|
|
@@ -133,7 +133,7 @@ const ProjectOverall = ({ configs = [], cwd, envinfo, alerts = [], name })=>{
|
|
|
133
133
|
}),
|
|
134
134
|
icon: /*#__PURE__*/ jsx(Avatar, {
|
|
135
135
|
style: {
|
|
136
|
-
background: '
|
|
136
|
+
background: '#5B8FF9'
|
|
137
137
|
},
|
|
138
138
|
shape: "circle",
|
|
139
139
|
icon: /*#__PURE__*/ jsx(ExperimentFilled, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/Overall/project.mjs","sources":["../../../src/components/Overall/project.tsx"],"sourcesContent":["import { Descriptions, DescriptionsProps, Avatar } from 'antd';\nimport {\n CloseCircleFilled,\n WarningFilled,\n FileFilled,\n ExperimentFilled,\n} from '@ant-design/icons';\n\nimport { ServerAPIProvider } from '../Manifest';\nimport { useI18n, formatSize } from '../../utils';\nimport { WebpackConfigurationViewer } from '../Configuration';\nimport { Card } from '../Card';\nimport { Overview } from './overview';\nimport styles from './project.module.scss';\n\nimport listStyles from './list.module.scss';\nimport cardStyles from './card.module.scss';\nimport projectStyles from './project.module.scss';\n\nimport { SDK } from '@rsdoctor/types';\n\nexport const ProjectOverall: React.FC<{\n configs: SDK.ConfigData;\n cwd: string;\n envinfo: SDK.EnvInfo;\n alerts: SDK.ErrorsData;\n name?: string;\n}> = ({ configs = [], cwd, envinfo, alerts = [], name }) => {\n const { t } = useI18n();\n\n const warns = alerts.filter((e) => e.level === 'warn').length;\n\n const errors = alerts.length - warns;\n\n const items: DescriptionsProps['items'] = [\n ...(name\n ? [\n {\n key: 'name',\n label: 'Builder',\n children: name,\n },\n ]\n : []),\n ...Object.keys(envinfo || {}).map((key) => {\n const regexp = /Version$/;\n const isVersion = regexp.test(key);\n return {\n key,\n label: isVersion ? key.replace(regexp, '') : key,\n children: envinfo ? envinfo[key] : undefined,\n };\n }),\n ...configs\n .filter((item) => !!item.version)\n .map((config) => {\n const { name: configName, version } = config;\n return {\n key: configName,\n label: configName,\n children: version,\n };\n }),\n {\n key: 'cwd',\n label: 'cwd',\n children: cwd,\n },\n ];\n\n return (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetAssetsSummary}\n body={{ withFileContent: false }}\n >\n {(res) => {\n const totalSizeStr = formatSize(res.all.total.size);\n const totalFiles = res.all.total.count;\n const [size, unit] = totalSizeStr.split(' ');\n const overViewData = [\n {\n title: 'Errors',\n description: <span style={{ color: '#FF4D4F' }}>{errors}</span>,\n icon: (\n <Avatar\n style={{ background: '#FF4D4F' }}\n shape=\"circle\"\n icon={<CloseCircleFilled style={{ fontSize: '18px' }} />}\n />\n ),\n },\n {\n title: 'Warnings',\n description: <span style={{ color: '#FAAD14' }}>{warns}</span>,\n icon: (\n <Avatar\n style={{ background: '#FAAD14' }}\n shape=\"circle\"\n icon={<WarningFilled style={{ fontSize: '18px' }} />}\n />\n ),\n },\n {\n title: 'Total Files',\n description: <span>{totalFiles}</span>,\n icon: (\n <Avatar\n style={{ background: '#3874F6' }}\n shape=\"circle\"\n icon={<FileFilled style={{ fontSize: '18px' }} />}\n />\n ),\n },\n {\n title: 'Total Size',\n description: (\n <>\n <span style={{ fontSize: '20px' }}>{size}</span>\n <span style={{ fontSize: '13px', marginLeft: '5px' }}>\n {unit}\n </span>\n </>\n ),\n icon: (\n <Avatar\n style={{ background: '
|
|
1
|
+
{"version":3,"file":"components/Overall/project.mjs","sources":["../../../src/components/Overall/project.tsx"],"sourcesContent":["import { Descriptions, DescriptionsProps, Avatar } from 'antd';\nimport {\n CloseCircleFilled,\n WarningFilled,\n FileFilled,\n ExperimentFilled,\n} from '@ant-design/icons';\n\nimport { ServerAPIProvider } from '../Manifest';\nimport { useI18n, formatSize } from '../../utils';\nimport { WebpackConfigurationViewer } from '../Configuration';\nimport { Card } from '../Card';\nimport { Overview } from './overview';\nimport styles from './project.module.scss';\n\nimport listStyles from './list.module.scss';\nimport cardStyles from './card.module.scss';\nimport projectStyles from './project.module.scss';\n\nimport { SDK } from '@rsdoctor/types';\n\nexport const ProjectOverall: React.FC<{\n configs: SDK.ConfigData;\n cwd: string;\n envinfo: SDK.EnvInfo;\n alerts: SDK.ErrorsData;\n name?: string;\n}> = ({ configs = [], cwd, envinfo, alerts = [], name }) => {\n const { t } = useI18n();\n\n const warns = alerts.filter((e) => e.level === 'warn').length;\n\n const errors = alerts.length - warns;\n\n const items: DescriptionsProps['items'] = [\n ...(name\n ? [\n {\n key: 'name',\n label: 'Builder',\n children: name,\n },\n ]\n : []),\n ...Object.keys(envinfo || {}).map((key) => {\n const regexp = /Version$/;\n const isVersion = regexp.test(key);\n return {\n key,\n label: isVersion ? key.replace(regexp, '') : key,\n children: envinfo ? envinfo[key] : undefined,\n };\n }),\n ...configs\n .filter((item) => !!item.version)\n .map((config) => {\n const { name: configName, version } = config;\n return {\n key: configName,\n label: configName,\n children: version,\n };\n }),\n {\n key: 'cwd',\n label: 'cwd',\n children: cwd,\n },\n ];\n\n return (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetAssetsSummary}\n body={{ withFileContent: false }}\n >\n {(res) => {\n const totalSizeStr = formatSize(res.all.total.size);\n const totalFiles = res.all.total.count;\n const [size, unit] = totalSizeStr.split(' ');\n const overViewData = [\n {\n title: 'Errors',\n description: <span style={{ color: '#FF4D4F' }}>{errors}</span>,\n icon: (\n <Avatar\n style={{ background: '#FF4D4F' }}\n shape=\"circle\"\n icon={<CloseCircleFilled style={{ fontSize: '18px' }} />}\n />\n ),\n },\n {\n title: 'Warnings',\n description: <span style={{ color: '#FAAD14' }}>{warns}</span>,\n icon: (\n <Avatar\n style={{ background: '#FAAD14' }}\n shape=\"circle\"\n icon={<WarningFilled style={{ fontSize: '18px' }} />}\n />\n ),\n },\n {\n title: 'Total Files',\n description: <span>{totalFiles}</span>,\n icon: (\n <Avatar\n style={{ background: '#3874F6' }}\n shape=\"circle\"\n icon={<FileFilled style={{ fontSize: '18px' }} />}\n />\n ),\n },\n {\n title: 'Total Size',\n description: (\n <>\n <span style={{ fontSize: '20px' }}>{size}</span>\n <span style={{ fontSize: '13px', marginLeft: '5px' }}>\n {unit}\n </span>\n </>\n ),\n icon: (\n <Avatar\n style={{ background: '#5B8FF9' }}\n shape=\"circle\"\n icon={<ExperimentFilled style={{ fontSize: '18px' }} />}\n />\n ),\n },\n ];\n\n return (\n <Card className={cardStyles.card}>\n <div>\n <div className={styles.title}>\n <span className={styles.left}>{t('Project Overall')}</span>\n <WebpackConfigurationViewer />\n </div>\n <div className={projectStyles.overview}>\n {overViewData.map((data, idx) => (\n <Overview\n key={idx}\n title={data.title}\n description={<span>{data.description}</span>}\n icon={data.icon}\n />\n ))}\n </div>\n <Descriptions\n className={listStyles.projectOverall}\n items={items}\n />\n </div>\n </Card>\n );\n }}\n </ServerAPIProvider>\n );\n};\n"],"names":["ProjectOverall","configs","cwd","envinfo","alerts","name","t","useI18n","warns","e","errors","items","Object","key","regexp","isVersion","undefined","item","config","configName","version","ServerAPIProvider","SDK","res","totalSizeStr","formatSize","totalFiles","size","unit","overViewData","Avatar","CloseCircleFilled","WarningFilled","FileFilled","ExperimentFilled","Card","cardStyles","styles","WebpackConfigurationViewer","projectStyles","data","idx","Overview","Descriptions","listStyles"],"mappings":";;;;;;;;;;;;AAqBO,MAAMA,iBAMR,CAAC,EAAEC,UAAU,EAAE,EAAEC,GAAG,EAAEC,OAAO,EAAEC,SAAS,EAAE,EAAEC,IAAI,EAAE;IACrD,MAAM,EAAEC,CAAC,EAAE,GAAGC;IAEd,MAAMC,QAAQJ,OAAO,MAAM,CAAC,CAACK,IAAMA,AAAY,WAAZA,EAAE,KAAK,EAAa,MAAM;IAE7D,MAAMC,SAASN,OAAO,MAAM,GAAGI;IAE/B,MAAMG,QAAoC;WACpCN,OACA;YACE;gBACE,KAAK;gBACL,OAAO;gBACP,UAAUA;YACZ;SACD,GACD,EAAE;WACHO,OAAO,IAAI,CAACT,WAAW,CAAC,GAAG,GAAG,CAAC,CAACU;YACjC,MAAMC,SAAS;YACf,MAAMC,YAAYD,OAAO,IAAI,CAACD;YAC9B,OAAO;gBACLA;gBACA,OAAOE,YAAYF,IAAI,OAAO,CAACC,QAAQ,MAAMD;gBAC7C,UAAUV,UAAUA,OAAO,CAACU,IAAI,GAAGG;YACrC;QACF;WACGf,QACA,MAAM,CAAC,CAACgB,OAAS,CAAC,CAACA,KAAK,OAAO,EAC/B,GAAG,CAAC,CAACC;YACJ,MAAM,EAAE,MAAMC,UAAU,EAAEC,OAAO,EAAE,GAAGF;YACtC,OAAO;gBACL,KAAKC;gBACL,OAAOA;gBACP,UAAUC;YACZ;QACF;QACF;YACE,KAAK;YACL,OAAO;YACP,UAAUlB;QACZ;KACD;IAED,OAAO,WAAP,GACE,IAACmB,mBAAiBA;QAChB,KAAKC,IAAI,SAAS,CAAC,GAAG,CAAC,gBAAgB;QACvC,MAAM;YAAE,iBAAiB;QAAM;kBAE9B,CAACC;YACA,MAAMC,eAAeC,WAAWF,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI;YAClD,MAAMG,aAAaH,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK;YACtC,MAAM,CAACI,MAAMC,KAAK,GAAGJ,aAAa,KAAK,CAAC;YACxC,MAAMK,eAAe;gBACnB;oBACE,OAAO;oBACP,aAAa,WAAb,GAAa,IAAC;wBAAK,OAAO;4BAAE,OAAO;wBAAU;kCAAInB;;oBACjD,MAAM,WAAN,GACE,IAACoB,QAAMA;wBACL,OAAO;4BAAE,YAAY;wBAAU;wBAC/B,OAAM;wBACN,oBAAM,IAACC,mBAAiBA;4BAAC,OAAO;gCAAE,UAAU;4BAAO;;;gBAGzD;gBACA;oBACE,OAAO;oBACP,aAAa,WAAb,GAAa,IAAC;wBAAK,OAAO;4BAAE,OAAO;wBAAU;kCAAIvB;;oBACjD,MAAM,WAAN,GACE,IAACsB,QAAMA;wBACL,OAAO;4BAAE,YAAY;wBAAU;wBAC/B,OAAM;wBACN,oBAAM,IAACE,eAAaA;4BAAC,OAAO;gCAAE,UAAU;4BAAO;;;gBAGrD;gBACA;oBACE,OAAO;oBACP,aAAa,WAAb,GAAa,IAAC;kCAAMN;;oBACpB,MAAM,WAAN,GACE,IAACI,QAAMA;wBACL,OAAO;4BAAE,YAAY;wBAAU;wBAC/B,OAAM;wBACN,oBAAM,IAACG,YAAUA;4BAAC,OAAO;gCAAE,UAAU;4BAAO;;;gBAGlD;gBACA;oBACE,OAAO;oBACP,aAAa,WAAb,GACE;;0CACE,IAAC;gCAAK,OAAO;oCAAE,UAAU;gCAAO;0CAAIN;;0CACpC,IAAC;gCAAK,OAAO;oCAAE,UAAU;oCAAQ,YAAY;gCAAM;0CAChDC;;;;oBAIP,MAAM,WAAN,GACE,IAACE,QAAMA;wBACL,OAAO;4BAAE,YAAY;wBAAU;wBAC/B,OAAM;wBACN,oBAAM,IAACI,kBAAgBA;4BAAC,OAAO;gCAAE,UAAU;4BAAO;;;gBAGxD;aACD;YAED,OAAO,WAAP,GACE,IAACC,MAAIA;gBAAC,WAAWC,YAAAA,IAAe;0BAC9B,mBAAC;;sCACC,KAAC;4BAAI,WAAWC,eAAAA,KAAY;;8CAC1B,IAAC;oCAAK,WAAWA,eAAAA,IAAW;8CAAG/B,EAAE;;8CACjC,IAACgC,4BAA0BA,CAAAA;;;sCAE7B,IAAC;4BAAI,WAAWC,eAAAA,QAAsB;sCACnCV,aAAa,GAAG,CAAC,CAACW,MAAMC,MAAAA,WAAAA,GACvB,IAACC,UAAQA;oCAEP,OAAOF,KAAK,KAAK;oCACjB,2BAAa,IAAC;kDAAMA,KAAK,WAAW;;oCACpC,MAAMA,KAAK,IAAI;mCAHVC;;sCAOX,IAACE,cAAYA;4BACX,WAAWC,YAAAA,cAAyB;4BACpC,OAAOjC;;;;;QAKjB;;AAGN"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
.overview-ZAp1A3 {
|
|
2
|
+
gap: 12px;
|
|
2
3
|
margin-bottom: 19px;
|
|
3
4
|
display: flex;
|
|
4
5
|
}
|
|
@@ -20,5 +21,12 @@
|
|
|
20
21
|
line-height: 24px;
|
|
21
22
|
}
|
|
22
23
|
|
|
24
|
+
@media (max-width: 980px) {
|
|
25
|
+
.overview-ZAp1A3 {
|
|
26
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
27
|
+
display: grid;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
23
31
|
|
|
24
32
|
/*# sourceMappingURL=project_module.css.map */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://./src/components/Overall/project.module.scss"],"names":[],"mappings":"AAAA;EACE,mBAAmB;EACnB,aAAa;AACf;;
|
|
1
|
+
{"version":3,"sources":["webpack://./src/components/Overall/project.module.scss"],"names":[],"mappings":"AAAA;EACE,SAAS;EACT,mBAAmB;EACnB,aAAa;AACf;;AAJmD;EAOjD,8BAA8B;EAC9B,mBAAmB;EACnB,oBAAoB;EACpB,aAAa;AACf;;AAX4I;EAc1I,gBAAgB;EAChB,kCAAkC;EAClC,sCAAsC;EACtC,8BAA8B;EAC9B,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;AArByR;EAAyB;IAyB9S,gDAAgD;IAChD,aAAa;EACf;AACF","sourcesContent":[".overview{display:flex;gap:12px;margin-bottom:19px}.title{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px}.title .left{font-size:16px;font-weight:500;line-height:24px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}@media(max-width: 980px){.overview{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr))}}"],"sourceRoot":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CodeViewerProps } from './interface.js';
|
|
2
|
-
export declare function CodeViewer({ className, style, code, lang, filePath, defaultLine, ranges, isEmbed, headerVisible, isLightTheme, formatOnMount, }: CodeViewerProps): import("react").JSX.Element;
|
|
2
|
+
export declare function CodeViewer({ className, style, code, lang, filePath, defaultLine, ranges, isEmbed, headerVisible, isLightTheme: isLightThemeProp, formatOnMount, }: CodeViewerProps): import("react").JSX.Element;
|
|
3
3
|
export type { CodeViewerProps } from './interface.js';
|
|
4
4
|
export { useCodeDrawer } from './useCodeDrawer.js';
|
|
5
5
|
export { defineMonacoOptions } from './utils.js';
|
|
@@ -6,7 +6,10 @@ import { defineMonacoOptions, editorShowRange, getFileName, getFilePathFormat }
|
|
|
6
6
|
import { Checkbox } from "antd";
|
|
7
7
|
import index_module from "./index.module.mjs";
|
|
8
8
|
import { Lodash } from "@rsdoctor/utils/common";
|
|
9
|
-
|
|
9
|
+
import { useTheme } from "../../../utils/index.mjs";
|
|
10
|
+
function CodeViewer({ className, style, code = '', lang, filePath = '', defaultLine, ranges, isEmbed = false, headerVisible = true, isLightTheme: isLightThemeProp, formatOnMount = false }) {
|
|
11
|
+
const { isLight: isLightMode } = useTheme();
|
|
12
|
+
const isLightTheme = isLightThemeProp ?? isLightMode;
|
|
10
13
|
const editor = useRef(void 0);
|
|
11
14
|
const monaco = useRef(void 0);
|
|
12
15
|
const language = useMemo(()=>lang || getFilePathFormat(filePath) || 'plaintext', [
|
|
@@ -34,7 +37,6 @@ function CodeViewer({ className, style, code = '', lang, filePath = '', defaultL
|
|
|
34
37
|
defaultLine,
|
|
35
38
|
formatOnMount
|
|
36
39
|
]);
|
|
37
|
-
const theme = isLightTheme ? 'vs-light' : 'vs-dark';
|
|
38
40
|
useEffect(()=>()=>{
|
|
39
41
|
editor.current?.setModel(null);
|
|
40
42
|
}, []);
|
|
@@ -69,7 +71,7 @@ function CodeViewer({ className, style, code = '', lang, filePath = '', defaultL
|
|
|
69
71
|
/*#__PURE__*/ jsx("div", {
|
|
70
72
|
className: clsx(index_module.content, 'editor-wrap'),
|
|
71
73
|
children: /*#__PURE__*/ jsx(Editor, {
|
|
72
|
-
theme:
|
|
74
|
+
theme: isLightTheme ? 'vs-light' : 'vs-dark',
|
|
73
75
|
language: language,
|
|
74
76
|
value: code,
|
|
75
77
|
options: options,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/base/CodeViewer/index.mjs","sources":["../../../../src/components/base/CodeViewer/index.tsx"],"sourcesContent":["import { Editor, Monaco, OnMount } from '@monaco-editor/react';\nimport clsx from 'clsx';\nimport { editor } from 'monaco-editor';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { CodeViewerProps } from './interface';\nimport {\n defineMonacoOptions,\n editorShowRange,\n getFileName,\n getFilePathFormat,\n} from './utils';\n\nimport { Checkbox } from 'antd';\nimport styles from './index.module.scss';\nimport { Lodash } from '@rsdoctor/utils/common';\n\nexport function CodeViewer({\n className,\n style,\n code = '',\n lang,\n filePath = '',\n defaultLine,\n ranges,\n isEmbed = false,\n headerVisible = true,\n isLightTheme
|
|
1
|
+
{"version":3,"file":"components/base/CodeViewer/index.mjs","sources":["../../../../src/components/base/CodeViewer/index.tsx"],"sourcesContent":["import { Editor, Monaco, OnMount } from '@monaco-editor/react';\nimport clsx from 'clsx';\nimport { editor } from 'monaco-editor';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { CodeViewerProps } from './interface';\nimport {\n defineMonacoOptions,\n editorShowRange,\n getFileName,\n getFilePathFormat,\n} from './utils';\n\nimport { Checkbox } from 'antd';\nimport styles from './index.module.scss';\nimport { Lodash } from '@rsdoctor/utils/common';\nimport { useTheme } from 'src/utils';\n\nexport function CodeViewer({\n className,\n style,\n code = '',\n lang,\n filePath = '',\n defaultLine,\n ranges,\n isEmbed = false,\n headerVisible = true,\n isLightTheme: isLightThemeProp,\n formatOnMount = false,\n}: CodeViewerProps) {\n const { isLight: isLightMode } = useTheme();\n const isLightTheme: boolean = isLightThemeProp ?? isLightMode;\n const editor = useRef<editor.IStandaloneCodeEditor>(undefined);\n const monaco = useRef<Monaco>(undefined);\n const language = useMemo(\n () => lang || getFilePathFormat(filePath) || 'plaintext',\n [lang, filePath],\n );\n const [isWordWrap, setIsWordWrap] = useState(true);\n const options = useMemo(\n () => defineMonacoOptions({ wordWrap: isWordWrap ? 'on' : 'off' }),\n [isWordWrap],\n );\n const onEditorMount = useCallback<OnMount>(\n (editorInstance, monacoVal) => {\n editor.current = editorInstance;\n monaco.current = monacoVal;\n\n editorShowRange(editorInstance, monacoVal, ranges);\n if (Lodash.isNumber(defaultLine)) {\n setTimeout(() => {\n editorInstance.revealLine(defaultLine);\n });\n }\n\n if (formatOnMount) {\n // Use Monaco's built-in formatter to format the whole document\n setTimeout(() => {\n editorInstance.getAction('editor.action.formatDocument')?.run();\n }, 0);\n }\n },\n [ranges, defaultLine, formatOnMount],\n );\n\n useEffect(\n () => () => {\n editor.current?.setModel(null);\n },\n [],\n );\n\n return (\n <div\n className={clsx(\n 'monaco-component',\n 'code-viewer',\n styles['code-viewer'],\n isEmbed && styles['embed'],\n className,\n )}\n style={style}\n >\n {headerVisible && Boolean(filePath) && (\n <div className={styles['header']}>\n <div>{getFileName(filePath)}</div>\n <div style={{ flex: 1 }} />\n <div>\n <Checkbox\n className={styles['text']}\n title=\"side-by-side\"\n checked={isWordWrap}\n onChange={(evt) => {\n setIsWordWrap(evt.target.checked);\n }}\n >\n word-wrap\n </Checkbox>\n </div>\n </div>\n )}\n <div className={clsx(styles['content'], 'editor-wrap')}>\n <Editor\n theme={isLightTheme ? 'vs-light' : 'vs-dark'}\n language={language}\n value={code}\n options={options}\n onMount={onEditorMount}\n />\n </div>\n </div>\n );\n}\n\nexport type { CodeViewerProps } from './interface';\nexport { useCodeDrawer } from './useCodeDrawer';\nexport { defineMonacoOptions } from './utils';\n"],"names":["CodeViewer","className","style","code","lang","filePath","defaultLine","ranges","isEmbed","headerVisible","isLightThemeProp","formatOnMount","isLightMode","useTheme","isLightTheme","editor","useRef","undefined","monaco","language","useMemo","getFilePathFormat","isWordWrap","setIsWordWrap","useState","options","defineMonacoOptions","onEditorMount","useCallback","editorInstance","monacoVal","editorShowRange","Lodash","setTimeout","useEffect","clsx","styles","Boolean","getFileName","Checkbox","evt","Editor"],"mappings":";;;;;;;;;AAiBO,SAASA,WAAW,EACzBC,SAAS,EACTC,KAAK,EACLC,OAAO,EAAE,EACTC,IAAI,EACJC,WAAW,EAAE,EACbC,WAAW,EACXC,MAAM,EACNC,UAAU,KAAK,EACfC,gBAAgB,IAAI,EACpB,cAAcC,gBAAgB,EAC9BC,gBAAgB,KAAK,EACL;IAChB,MAAM,EAAE,SAASC,WAAW,EAAE,GAAGC;IACjC,MAAMC,eAAwBJ,oBAAoBE;IAClD,MAAMG,SAASC,OAAqCC;IACpD,MAAMC,SAASF,OAAeC;IAC9B,MAAME,WAAWC,QACf,IAAMhB,QAAQiB,kBAAkBhB,aAAa,aAC7C;QAACD;QAAMC;KAAS;IAElB,MAAM,CAACiB,YAAYC,cAAc,GAAGC,SAAS;IAC7C,MAAMC,UAAUL,QACd,IAAMM,oBAAoB;YAAE,UAAUJ,aAAa,OAAO;QAAM,IAChE;QAACA;KAAW;IAEd,MAAMK,gBAAgBC,YACpB,CAACC,gBAAgBC;QACff,OAAO,OAAO,GAAGc;QACjBX,OAAO,OAAO,GAAGY;QAEjBC,gBAAgBF,gBAAgBC,WAAWvB;QAC3C,IAAIyB,OAAO,QAAQ,CAAC1B,cAClB2B,WAAW;YACTJ,eAAe,UAAU,CAACvB;QAC5B;QAGF,IAAIK,eAEFsB,WAAW;YACTJ,eAAe,SAAS,CAAC,iCAAiC;QAC5D,GAAG;IAEP,GACA;QAACtB;QAAQD;QAAaK;KAAc;IAGtCuB,UACE,IAAM;YACJnB,OAAO,OAAO,EAAE,SAAS;QAC3B,GACA,EAAE;IAGJ,OAAO,WAAP,GACE,KAAC;QACC,WAAWoB,KACT,oBACA,eACAC,YAAAA,CAAAA,cAAqB,EACrB5B,WAAW4B,aAAAA,KAAe,EAC1BnC;QAEF,OAAOC;;YAENO,iBAAiB4B,QAAQhC,aAAa,WAAbA,GACxB,KAAC;gBAAI,WAAW+B,aAAAA,MAAgB;;kCAC9B,IAAC;kCAAKE,YAAYjC;;kCAClB,IAAC;wBAAI,OAAO;4BAAE,MAAM;wBAAE;;kCACtB,IAAC;kCACC,kBAACkC,UAAQA;4BACP,WAAWH,aAAAA,IAAc;4BACzB,OAAM;4BACN,SAASd;4BACT,UAAU,CAACkB;gCACTjB,cAAciB,IAAI,MAAM,CAAC,OAAO;4BAClC;sCACD;;;;;0BAMP,IAAC;gBAAI,WAAWL,KAAKC,aAAAA,OAAiB,EAAE;0BACtC,kBAACK,QAAMA;oBACL,OAAO3B,eAAe,aAAa;oBACnC,UAAUK;oBACV,OAAOhB;oBACP,SAASsB;oBACT,SAASE;;;;;AAKnB"}
|
|
@@ -10,8 +10,7 @@ export interface CodeViewerProps {
|
|
|
10
10
|
*/
|
|
11
11
|
isEmbed?: boolean;
|
|
12
12
|
/**
|
|
13
|
-
* Whether to use light theme configuration
|
|
14
|
-
* @default true
|
|
13
|
+
* Whether to use light theme configuration. If not specified the global theme is used.
|
|
15
14
|
*/
|
|
16
15
|
isLightTheme?: boolean;
|
|
17
16
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DiffViewerProps } from './interface.js';
|
|
2
|
-
export declare function DiffViewer({ className, style, original, modified, originalFilePath, modifiedFilePath, originalLang, modifiedLang, isEmbed, isLightTheme, headerVisible, }: DiffViewerProps): import("react").JSX.Element;
|
|
2
|
+
export declare function DiffViewer({ className, style, original, modified, originalFilePath, modifiedFilePath, originalLang, modifiedLang, isEmbed, isLightTheme: isLightThemeProp, headerVisible, }: DiffViewerProps): import("react").JSX.Element;
|
|
3
3
|
export type { DiffViewerProps } from './interface.js';
|
|
4
4
|
export { useDiffDrawer } from './useDiffDrawer.js';
|
|
5
5
|
export { defineMonacoDiffOptions } from './utils.js';
|
|
@@ -6,7 +6,10 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
|
6
6
|
import { getFileName, getFilePathFormat } from "../CodeViewer/utils.mjs";
|
|
7
7
|
import index_module from "./index.module.mjs";
|
|
8
8
|
import { defineMonacoDiffOptions } from "./utils.mjs";
|
|
9
|
-
|
|
9
|
+
import { useTheme } from "../../../utils/index.mjs";
|
|
10
|
+
function DiffViewer({ className, style, original = '', modified = '', originalFilePath = '', modifiedFilePath = '', originalLang, modifiedLang, isEmbed = false, isLightTheme: isLightThemeProp, headerVisible = true }) {
|
|
11
|
+
const { isLight: isLightMode } = useTheme();
|
|
12
|
+
const isLightTheme = isLightThemeProp ?? isLightMode;
|
|
10
13
|
const [isSideBySide, setIsSideBySide] = useState(true);
|
|
11
14
|
const editor = useRef(void 0);
|
|
12
15
|
const originalLanguage = useMemo(()=>originalLang || getFilePathFormat(originalFilePath) || 'plaintext', [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/base/DiffViewer/index.mjs","sources":["../../../../src/components/base/DiffViewer/index.tsx"],"sourcesContent":["import { DiffEditor, MonacoDiffEditor } from '@monaco-editor/react';\nimport { Checkbox } from 'antd';\nimport clsx from 'clsx';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { getFileName, getFilePathFormat } from '../CodeViewer/utils';\nimport styles from './index.module.scss';\nimport { DiffViewerProps } from './interface';\nimport { defineMonacoDiffOptions } from './utils';\n\nexport function DiffViewer({\n className,\n style,\n original = '',\n modified = '',\n originalFilePath = '',\n modifiedFilePath = '',\n originalLang,\n modifiedLang,\n isEmbed = false,\n isLightTheme
|
|
1
|
+
{"version":3,"file":"components/base/DiffViewer/index.mjs","sources":["../../../../src/components/base/DiffViewer/index.tsx"],"sourcesContent":["import { DiffEditor, MonacoDiffEditor } from '@monaco-editor/react';\nimport { Checkbox } from 'antd';\nimport clsx from 'clsx';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { getFileName, getFilePathFormat } from '../CodeViewer/utils';\nimport styles from './index.module.scss';\nimport { DiffViewerProps } from './interface';\nimport { defineMonacoDiffOptions } from './utils';\nimport { useTheme } from '../../../utils';\n\nexport function DiffViewer({\n className,\n style,\n original = '',\n modified = '',\n originalFilePath = '',\n modifiedFilePath = '',\n originalLang,\n modifiedLang,\n isEmbed = false,\n isLightTheme: isLightThemeProp,\n headerVisible = true,\n}: DiffViewerProps) {\n const { isLight: isLightMode } = useTheme();\n const isLightTheme: boolean = isLightThemeProp ?? isLightMode;\n const [isSideBySide, setIsSideBySide] = useState(true);\n const editor = useRef<MonacoDiffEditor>(undefined);\n const originalLanguage = useMemo(\n () => originalLang || getFilePathFormat(originalFilePath) || 'plaintext',\n [originalLang, originalFilePath],\n );\n const modifiedLanguage = useMemo(\n () => modifiedLang || getFilePathFormat(modifiedFilePath) || 'plaintext',\n [modifiedLang, modifiedFilePath],\n );\n const options = useMemo(\n () => defineMonacoDiffOptions({ renderSideBySide: isSideBySide }),\n [isSideBySide],\n );\n const onEditorMount = useCallback((editorInstance: MonacoDiffEditor) => {\n editor.current = editorInstance;\n }, []);\n const theme = isLightTheme ? 'vs-light' : 'vs-dark';\n\n useEffect(\n () => () => {\n editor.current?.setModel(null);\n },\n [],\n );\n\n return (\n <div\n className={clsx(\n 'monaco-component',\n 'diff-viewer',\n styles['diff-viewer'],\n isEmbed && styles['embed'],\n className,\n )}\n style={style}\n >\n {headerVisible && (\n <div className={styles['header']}>\n <div>{getFileName(originalFilePath)}</div>\n <div style={{ flex: 1 }} />\n <div>\n <Checkbox\n className={styles['text']}\n title=\"side-by-side\"\n checked={isSideBySide}\n onChange={(evt) => {\n setIsSideBySide(evt.target.checked);\n }}\n >\n side-by-side\n </Checkbox>\n </div>\n </div>\n )}\n <div className={clsx(styles['content'], 'editor-wrap')}>\n <DiffEditor\n theme={theme}\n originalLanguage={originalLanguage}\n modifiedLanguage={modifiedLanguage}\n original={original}\n modified={modified}\n width=\"100%\"\n options={options}\n onMount={onEditorMount}\n />\n </div>\n </div>\n );\n}\n\nexport type { DiffViewerProps } from './interface';\nexport { useDiffDrawer } from './useDiffDrawer';\nexport { defineMonacoDiffOptions } from './utils';\n"],"names":["DiffViewer","className","style","original","modified","originalFilePath","modifiedFilePath","originalLang","modifiedLang","isEmbed","isLightThemeProp","headerVisible","isLightMode","useTheme","isLightTheme","isSideBySide","setIsSideBySide","useState","editor","useRef","undefined","originalLanguage","useMemo","getFilePathFormat","modifiedLanguage","options","defineMonacoDiffOptions","onEditorMount","useCallback","editorInstance","theme","useEffect","clsx","styles","getFileName","Checkbox","evt","DiffEditor"],"mappings":";;;;;;;;;AAUO,SAASA,WAAW,EACzBC,SAAS,EACTC,KAAK,EACLC,WAAW,EAAE,EACbC,WAAW,EAAE,EACbC,mBAAmB,EAAE,EACrBC,mBAAmB,EAAE,EACrBC,YAAY,EACZC,YAAY,EACZC,UAAU,KAAK,EACf,cAAcC,gBAAgB,EAC9BC,gBAAgB,IAAI,EACJ;IAChB,MAAM,EAAE,SAASC,WAAW,EAAE,GAAGC;IACjC,MAAMC,eAAwBJ,oBAAoBE;IAClD,MAAM,CAACG,cAAcC,gBAAgB,GAAGC,SAAS;IACjD,MAAMC,SAASC,OAAyBC;IACxC,MAAMC,mBAAmBC,QACvB,IAAMf,gBAAgBgB,kBAAkBlB,qBAAqB,aAC7D;QAACE;QAAcF;KAAiB;IAElC,MAAMmB,mBAAmBF,QACvB,IAAMd,gBAAgBe,kBAAkBjB,qBAAqB,aAC7D;QAACE;QAAcF;KAAiB;IAElC,MAAMmB,UAAUH,QACd,IAAMI,wBAAwB;YAAE,kBAAkBX;QAAa,IAC/D;QAACA;KAAa;IAEhB,MAAMY,gBAAgBC,YAAY,CAACC;QACjCX,OAAO,OAAO,GAAGW;IACnB,GAAG,EAAE;IACL,MAAMC,QAAQhB,eAAe,aAAa;IAE1CiB,UACE,IAAM;YACJb,OAAO,OAAO,EAAE,SAAS;QAC3B,GACA,EAAE;IAGJ,OAAO,WAAP,GACE,KAAC;QACC,WAAWc,KACT,oBACA,eACAC,YAAAA,CAAAA,cAAqB,EACrBxB,WAAWwB,aAAAA,KAAe,EAC1BhC;QAEF,OAAOC;;YAENS,iBAAiB,WAAjBA,GACC,KAAC;gBAAI,WAAWsB,aAAAA,MAAgB;;kCAC9B,IAAC;kCAAKC,YAAY7B;;kCAClB,IAAC;wBAAI,OAAO;4BAAE,MAAM;wBAAE;;kCACtB,IAAC;kCACC,kBAAC8B,UAAQA;4BACP,WAAWF,aAAAA,IAAc;4BACzB,OAAM;4BACN,SAASlB;4BACT,UAAU,CAACqB;gCACTpB,gBAAgBoB,IAAI,MAAM,CAAC,OAAO;4BACpC;sCACD;;;;;0BAMP,IAAC;gBAAI,WAAWJ,KAAKC,aAAAA,OAAiB,EAAE;0BACtC,kBAACI,YAAUA;oBACT,OAAOP;oBACP,kBAAkBT;oBAClB,kBAAkBG;oBAClB,UAAUrB;oBACV,UAAUC;oBACV,OAAM;oBACN,SAASqB;oBACT,SAASE;;;;;AAKnB"}
|