@rsdoctor/components 1.5.18 → 1.6.0

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.
Files changed (114) hide show
  1. package/dist/components/Alert/ecma-version-check_module.css +1 -1
  2. package/dist/components/Alert/ecma-version-check_module.css.map +1 -1
  3. package/dist/components/Alerts/bundle-alert.mjs +8 -6
  4. package/dist/components/Alerts/bundle-alert.mjs.map +1 -1
  5. package/dist/components/Alerts/bundle.mjs +1 -2
  6. package/dist/components/Alerts/bundle.mjs.map +1 -1
  7. package/dist/components/Alerts/collapse-cjs-require.mjs +6 -14
  8. package/dist/components/Alerts/collapse-cjs-require.mjs.map +1 -1
  9. package/dist/components/Alerts/collapse-cross-chunks.mjs +3 -8
  10. package/dist/components/Alerts/collapse-cross-chunks.mjs.map +1 -1
  11. package/dist/components/Alerts/collapse-esm-cjs.mjs +6 -10
  12. package/dist/components/Alerts/collapse-esm-cjs.mjs.map +1 -1
  13. package/dist/components/Alerts/collapse-module-mixed-chunks.mjs +5 -12
  14. package/dist/components/Alerts/collapse-module-mixed-chunks.mjs.map +1 -1
  15. package/dist/components/Alerts/collapse-side-effects-only-imports.mjs +5 -12
  16. package/dist/components/Alerts/collapse-side-effects-only-imports.mjs.map +1 -1
  17. package/dist/components/Alerts/collapse.mjs +3 -10
  18. package/dist/components/Alerts/collapse.mjs.map +1 -1
  19. package/dist/components/Alerts/collapse_module.css +1 -1
  20. package/dist/components/Alerts/collapse_module.css.map +1 -1
  21. package/dist/components/Alerts/index.module.mjs +7 -0
  22. package/dist/components/Alerts/index.module.mjs.map +1 -0
  23. package/dist/components/Alerts/index_module.css +9 -0
  24. package/dist/components/Alerts/index_module.css.map +1 -0
  25. package/dist/components/Alerts/list.mjs +0 -3
  26. package/dist/components/Alerts/list.mjs.map +1 -1
  27. package/dist/components/Card/size_module.css +0 -2
  28. package/dist/components/Card/size_module.css.map +1 -1
  29. package/dist/components/Charts/TimelineCharts/index.mjs +63 -39
  30. package/dist/components/Charts/TimelineCharts/index.mjs.map +1 -1
  31. package/dist/components/Charts/TreeMap.mjs +88 -101
  32. package/dist/components/Charts/TreeMap.mjs.map +1 -1
  33. package/dist/components/Charts/index.mjs +3 -1
  34. package/dist/components/Charts/index.mjs.map +1 -1
  35. package/dist/components/Charts/treemap_module.css +6 -5
  36. package/dist/components/Charts/treemap_module.css.map +1 -1
  37. package/dist/components/FileTree/index.css +0 -1
  38. package/dist/components/FileTree/index.css.map +1 -1
  39. package/dist/components/FileTree/index.mjs +3 -4
  40. package/dist/components/FileTree/index.mjs.map +1 -1
  41. package/dist/components/Keyword/style_module.css +0 -1
  42. package/dist/components/Keyword/style_module.css.map +1 -1
  43. package/dist/components/Layout/header.mjs +22 -6
  44. package/dist/components/Layout/header.mjs.map +1 -1
  45. package/dist/components/Layout/header.module.mjs +0 -1
  46. package/dist/components/Layout/header.module.mjs.map +1 -1
  47. package/dist/components/Layout/header_module.css +0 -6
  48. package/dist/components/Layout/header_module.css.map +1 -1
  49. package/dist/components/Layout/index.mjs +27 -8
  50. package/dist/components/Layout/index.mjs.map +1 -1
  51. package/dist/components/Layout/menus.mjs +3 -1
  52. package/dist/components/Layout/menus.mjs.map +1 -1
  53. package/dist/components/Layout/rsdoctor-title-logo-dark.mjs +2 -0
  54. package/dist/components/Loader/Analysis/files.mjs +16 -17
  55. package/dist/components/Loader/Analysis/files.mjs.map +1 -1
  56. package/dist/components/Loader/Analysis/style_module.css +13 -14
  57. package/dist/components/Loader/Analysis/style_module.css.map +1 -1
  58. package/dist/components/Loader/executions.mjs +5 -13
  59. package/dist/components/Loader/executions.mjs.map +1 -1
  60. package/dist/components/Overall/DataSummary.mjs +21 -20
  61. package/dist/components/Overall/DataSummary.mjs.map +1 -1
  62. package/dist/components/Overall/DataSummary.module.mjs +1 -12
  63. package/dist/components/Overall/DataSummary.module.mjs.map +1 -1
  64. package/dist/components/Overall/DataSummary_module.css +7 -72
  65. package/dist/components/Overall/DataSummary_module.css.map +1 -1
  66. package/dist/components/Overall/bundle_module.css +1 -4
  67. package/dist/components/Overall/bundle_module.css.map +1 -1
  68. package/dist/components/Overall/list_module.css +0 -2
  69. package/dist/components/Overall/list_module.css.map +1 -1
  70. package/dist/components/Overall/overview_module.css +1 -2
  71. package/dist/components/Overall/overview_module.css.map +1 -1
  72. package/dist/components/base/CodeViewer/index.d.ts +1 -1
  73. package/dist/components/base/CodeViewer/index.mjs +5 -3
  74. package/dist/components/base/CodeViewer/index.mjs.map +1 -1
  75. package/dist/components/base/CodeViewer/interface.d.ts +1 -2
  76. package/dist/components/base/DiffViewer/index.d.ts +1 -1
  77. package/dist/components/base/DiffViewer/index.mjs +4 -1
  78. package/dist/components/base/DiffViewer/index.mjs.map +1 -1
  79. package/dist/components/base/DiffViewer/interface.d.ts +1 -2
  80. package/dist/pages/BundleSize/components/asset_module.css +7 -5
  81. package/dist/pages/BundleSize/components/asset_module.css.map +1 -1
  82. package/dist/pages/BundleSize/components/card_module.css +2 -2
  83. package/dist/pages/BundleSize/components/card_module.css.map +1 -1
  84. package/dist/pages/BundleSize/components/cards.mjs +5 -6
  85. package/dist/pages/BundleSize/components/cards.mjs.map +1 -1
  86. package/dist/pages/BundleSize/components/index.mjs +11 -8
  87. package/dist/pages/BundleSize/components/index.mjs.map +1 -1
  88. package/dist/pages/BundleSize/components/index.module.mjs +1 -6
  89. package/dist/pages/BundleSize/components/index.module.mjs.map +1 -1
  90. package/dist/pages/BundleSize/components/index_module.css +0 -37
  91. package/dist/pages/BundleSize/components/index_module.css.map +1 -1
  92. package/dist/pages/BundleSize/components/search-modal.mjs +5 -5
  93. package/dist/pages/BundleSize/components/search-modal.mjs.map +1 -1
  94. package/dist/pages/BundleSize/components/search-modal.module.mjs +10 -0
  95. package/dist/pages/BundleSize/components/search-modal.module.mjs.map +1 -0
  96. package/dist/pages/BundleSize/components/search-modal_module.css +39 -0
  97. package/dist/pages/BundleSize/components/search-modal_module.css.map +1 -0
  98. package/dist/pages/BundleSize/components/tree-graph.mjs +2 -2
  99. package/dist/pages/BundleSize/components/tree-graph.mjs.map +1 -1
  100. package/dist/pages/ModuleAnalyze/components/fileTreeCom.css +6 -2
  101. package/dist/pages/ModuleAnalyze/components/fileTreeCom.css.map +1 -1
  102. package/dist/pages/ModuleAnalyze/index.css +4 -6
  103. package/dist/pages/ModuleAnalyze/index.css.map +1 -1
  104. package/dist/pages/ModuleAnalyze/index.mjs +3 -4
  105. package/dist/pages/ModuleAnalyze/index.mjs.map +1 -1
  106. package/dist/pages/WebpackLoaders/Analysis/index.mjs +3 -3
  107. package/dist/pages/WebpackLoaders/Analysis/index.mjs.map +1 -1
  108. package/dist/pages/WebpackLoaders/Overall/index.mjs +1 -1
  109. package/dist/pages/WebpackLoaders/Overall/index.mjs.map +1 -1
  110. package/dist/static/image/rsdoctor-title-logo-dark.png +0 -0
  111. package/dist/utils/hooks.d.ts +1 -0
  112. package/dist/utils/hooks.mjs +6 -1
  113. package/dist/utils/hooks.mjs.map +1 -1
  114. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"components/Loader/Analysis/files.mjs","sources":["../../../../src/components/Loader/Analysis/files.tsx"],"sourcesContent":["import { CloseCircleOutlined } from '@ant-design/icons';\nimport { SDK } from '@rsdoctor/types';\nimport {\n Card,\n Col,\n Divider,\n Drawer,\n List,\n Popover,\n Row,\n Space,\n Table,\n Tag,\n Tooltip,\n Typography,\n} from 'antd';\nimport { get } from 'es-toolkit/compat';\nimport React, { useMemo, useState } from 'react';\nimport { drawerWidth, Size } from '../../../constants';\nimport {\n createFileStructures,\n DataNode,\n filterLoader,\n formatCosts,\n mapFileKey,\n} from '../../../utils';\nimport { FileTree } from '../../FileTree';\nimport { Keyword } from '../../Keyword';\nimport { ServerAPIProvider } from '../../Manifest';\nimport { LoaderExecutions } from '../executions';\nimport styles from './style.module.scss';\n\nconst ADDITION_LOADER_NUMBER = 3;\n\nexport const LoaderFiles: React.FC<{\n filetree: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetLoaderFileTree>;\n cwd: string;\n loaders: string[];\n filename: string;\n layer?: string;\n}> = (props) => {\n const { cwd, filetree } = props;\n const [drawerVisible, setDrawerVisible] = useState(false);\n const [resourcePath, setResourcePath] = useState('');\n const [loaderIndex, setLoaderIndex] = useState(0);\n const [selectedNode, setSelectedNode] = useState<DataNode | null>(null);\n\n const maxHeight = 800;\n\n const filteredFiles = useMemo(\n () =>\n filetree.filter((e) =>\n e.loaders.some((l) =>\n filterLoader(\n e.path,\n l.loader,\n props.filename,\n props.loaders,\n e.layer,\n props?.layer,\n ),\n ),\n ),\n [props.filename, props.loaders, props.layer],\n );\n\n const inlinedResourcePathKey = '__RESOURCEPATH__';\n\n const files = useMemo(() => {\n return createFileStructures({\n files: filteredFiles.map((e) => e.path),\n cwd,\n fileTitle(file, basename) {\n const { loaders, layer } = filetree.find((e) => e.path === file)!;\n\n const additionalLoaders: (Pick<\n SDK.LoaderTransformData,\n 'path' | 'loader' | 'errors'\n > & { costs: number })[] = [];\n\n loaders.forEach(\n (l, i) => i > ADDITION_LOADER_NUMBER && additionalLoaders.push(l),\n );\n\n return (\n <div\n style={{\n wordBreak: 'break-all',\n display: 'flex',\n cursor: 'pointer',\n }}\n onClick={() => {\n setLoaderIndex(0);\n setResourcePath(file);\n setDrawerVisible(true);\n }}\n >\n <div className={styles.box}>\n <div className={styles.keywords}>\n <Keyword text={basename.replace(/\\[.*?\\]/g, '')} keyword={''} />\n </div>\n </div>\n <div className={styles.dividerDiv} style={{ flex: 1 }}>\n <Divider className={styles.divider} dashed />\n </div>\n\n {layer && (\n <Tag color=\"cyan\" bordered={false}>\n {layer}\n </Tag>\n )}\n <Space>\n {loaders.slice(0, ADDITION_LOADER_NUMBER).map((e, i) => {\n const isError = e.errors && e.errors.length;\n const key = `${file}_${e.loader}_${i}`;\n if (i <= ADDITION_LOADER_NUMBER) {\n return (\n <Tooltip title={e.path} key={key}>\n <Typography.Text\n className={styles.textBox}\n style={{ color: isError ? '#f50' : 'inherit' }}\n onClick={(ev) => {\n ev.stopPropagation();\n setResourcePath(file);\n setLoaderIndex(i);\n setDrawerVisible(true);\n }}\n >\n <Typography.Text className={styles.text} ellipsis>\n {e.loader.match(/([^/]+-loader)/g)?.[0] || e.loader}\n </Typography.Text>\n <Divider type=\"vertical\" />\n {isError ? (\n <CloseCircleOutlined />\n ) : (\n <Typography.Text className={styles.text}>\n {formatCosts(e.costs)}\n </Typography.Text>\n )}\n </Typography.Text>\n </Tooltip>\n );\n }\n })}\n {additionalLoaders?.length ? (\n <Popover\n content={\n <List\n dataSource={additionalLoaders}\n renderItem={(e, i) => {\n const isError = e.errors && e.errors.length;\n const key = `${file}_${e.loader}_${i + ADDITION_LOADER_NUMBER}`;\n\n return (\n <List.Item>\n <Tooltip title={e.path} key={key}>\n <div style={{ paddingBottom: 5 }}>\n <Typography.Text\n className={styles.textBox}\n style={{\n color: isError ? '#f50' : 'inherit',\n }}\n onClick={(ev) => {\n ev.stopPropagation();\n setResourcePath(file);\n setLoaderIndex(i);\n setDrawerVisible(true);\n }}\n >\n <Typography.Text\n className={styles.text}\n ellipsis\n >\n {e.loader.match(/([^/]+-loader)/g)?.[0] ||\n e.loader}\n </Typography.Text>\n <Divider type=\"vertical\" />\n <Typography.Text className={styles.text}>\n {formatCosts(e.costs)}\n </Typography.Text>\n </Typography.Text>\n </div>\n </Tooltip>\n </List.Item>\n );\n }}\n />\n }\n >\n <div className={styles.textBox}>\n <Typography.Text>···</Typography.Text>\n </div>\n </Popover>\n ) : (\n <></>\n )}\n </Space>\n </div>\n );\n },\n dirTitle(_dir, defaultTitle) {\n return (\n <div style={{ display: 'flex', cursor: 'pointer' }}>\n <Keyword text={defaultTitle} keyword={''} />\n </div>\n );\n },\n });\n }, [filteredFiles]);\n\n return (\n <Row style={{ width: '100%', marginLeft: 0 }} gutter={Size.BasePadding}>\n <Col span={24}>\n <Card\n title={\n <Space>\n <Typography.Text strong>Files</Typography.Text>\n <Typography.Text\n style={{\n fontSize: 12,\n fontWeight: 400,\n color: '#1C1F2399',\n opacity: 0.6,\n }}\n >\n Total Files: {filteredFiles.length}\n </Typography.Text>\n </Space>\n }\n bodyStyle={{\n overflow: 'auto',\n maxHeight,\n minHeight: '40rem',\n padding: 14,\n }}\n >\n <FileTree\n defaultExpandedKeys={mapFileKey(\n files,\n filteredFiles.length >= 100 ? 3 : 4,\n (node) => {\n const resourcePath: string = get(node, inlinedResourcePathKey)!;\n const isNodeModules =\n resourcePath.indexOf('/node_modules/') > -1;\n\n return !isNodeModules;\n },\n )}\n treeData={files}\n key={`${props.loaders.join('|')}_${props.filename}`}\n onSelect={(_e, info) => {\n if (!info.node.isLeaf) {\n setSelectedNode(info.node);\n }\n }}\n selectedKeys={selectedNode ? [selectedNode.key] : undefined}\n expandAction=\"click\"\n />\n <Drawer\n open={drawerVisible}\n onClose={() => setDrawerVisible(false)}\n maskClosable\n width={drawerWidth}\n zIndex={999}\n bodyStyle={{ padding: 0 }}\n >\n {drawerVisible ? (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetLoaderFileDetails}\n body={{ path: resourcePath }}\n >\n {(data) => (\n <LoaderExecutions data={data} cwd={cwd} index={loaderIndex} />\n )}\n </ServerAPIProvider>\n ) : null}\n </Drawer>\n </Card>\n </Col>\n\n <Drawer\n open={!!selectedNode}\n onClose={() => setSelectedNode(null)}\n maskClosable\n width={drawerWidth}\n zIndex={999}\n bodyStyle={{ padding: 0 }}\n >\n {selectedNode && (\n <Row>\n <Col span={24}>\n <Card\n title={\n <Tooltip\n title={React.cloneElement(\n selectedNode.title as React.ReactElement<{\n style?: React.CSSProperties;\n }>,\n { style: { color: '#fff' } },\n )}\n >\n <Typography.Text>\n {`Statistics of`}\n {selectedNode.title as React.ReactNode}\n </Typography.Text>\n </Tooltip>\n }\n >\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetLoaderFolderStatistics}\n body={{ folder: selectedNode[inlinedResourcePathKey] }}\n >\n {(tableData) => (\n <Table\n style={{\n width: '100%',\n maxHeight,\n height: '40rem',\n overflowY: 'scroll',\n wordBreak: 'break-all',\n }}\n pagination={false}\n bordered\n rowKey={(e) => e.loader}\n columns={[\n {\n title: 'Loader Name',\n dataIndex: 'loader',\n },\n {\n title: 'Files',\n dataIndex: 'files',\n },\n {\n title: 'Total Duration',\n dataIndex: 'costs',\n render: (v) => (\n <Typography.Text strong>\n {formatCosts(v)}\n </Typography.Text>\n ),\n sorter: (a, b) => a.costs - b.costs,\n defaultSortOrder: 'descend',\n sortDirections: ['descend', 'ascend'],\n },\n ]}\n dataSource={tableData!}\n />\n )}\n </ServerAPIProvider>\n </Card>\n </Col>\n </Row>\n )}\n </Drawer>\n </Row>\n );\n};\n"],"names":["ADDITION_LOADER_NUMBER","LoaderFiles","props","cwd","filetree","drawerVisible","setDrawerVisible","useState","resourcePath","setResourcePath","loaderIndex","setLoaderIndex","selectedNode","setSelectedNode","maxHeight","filteredFiles","useMemo","e","l","filterLoader","inlinedResourcePathKey","files","createFileStructures","file","basename","loaders","layer","additionalLoaders","i","styles","Keyword","Divider","Tag","Space","isError","key","Tooltip","Typography","ev","CloseCircleOutlined","formatCosts","Popover","List","_dir","defaultTitle","Row","Size","Col","Card","FileTree","mapFileKey","node","get","isNodeModules","_e","info","undefined","Drawer","drawerWidth","ServerAPIProvider","SDK","data","LoaderExecutions","React","tableData","Table","v","a","b"],"mappings":"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"}
1
+ {"version":3,"file":"components/Loader/Analysis/files.mjs","sources":["../../../../src/components/Loader/Analysis/files.tsx"],"sourcesContent":["import { CloseCircleOutlined } from '@ant-design/icons';\nimport { SDK } from '@rsdoctor/types';\nimport {\n Card,\n Col,\n Divider,\n Drawer,\n List,\n Popover,\n Row,\n Space,\n Table,\n Tag,\n Tooltip,\n Typography,\n} from 'antd';\nimport { get } from 'es-toolkit/compat';\nimport React, { useMemo, useState } from 'react';\nimport { drawerWidth, Size } from '../../../constants';\nimport {\n createFileStructures,\n DataNode,\n filterLoader,\n formatCosts,\n mapFileKey,\n} from '../../../utils';\nimport { FileTree } from '../../FileTree';\nimport { Keyword } from '../../Keyword';\nimport { ServerAPIProvider } from '../../Manifest';\nimport { LoaderExecutions } from '../executions';\nimport styles from './style.module.scss';\n\nconst ADDITION_LOADER_NUMBER = 3;\n\nexport const LoaderFiles: React.FC<{\n filetree: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetLoaderFileTree>;\n cwd: string;\n loaders: string[];\n filename: string;\n layer?: string;\n}> = (props) => {\n const { cwd, filetree } = props;\n const [drawerVisible, setDrawerVisible] = useState(false);\n const [resourcePath, setResourcePath] = useState('');\n const [loaderIndex, setLoaderIndex] = useState(0);\n const [selectedNode, setSelectedNode] = useState<DataNode | null>(null);\n\n const maxHeight = 800;\n\n const filteredFiles = useMemo(\n () =>\n filetree.filter((e) =>\n e.loaders.some((l) =>\n filterLoader(\n e.path,\n l.loader,\n props.filename,\n props.loaders,\n e.layer,\n props?.layer,\n ),\n ),\n ),\n [props.filename, props.loaders, props.layer],\n );\n\n const inlinedResourcePathKey = '__RESOURCEPATH__';\n\n const files = useMemo(() => {\n return createFileStructures({\n files: filteredFiles.map((e) => e.path),\n cwd,\n fileTitle(file, basename) {\n const { loaders, layer } = filetree.find((e) => e.path === file)!;\n\n const additionalLoaders: (Pick<\n SDK.LoaderTransformData,\n 'path' | 'loader' | 'errors'\n > & { costs: number })[] = [];\n\n loaders.forEach(\n (l, i) => i > ADDITION_LOADER_NUMBER && additionalLoaders.push(l),\n );\n\n return (\n <div\n style={{\n wordBreak: 'break-all',\n display: 'flex',\n cursor: 'pointer',\n }}\n onClick={() => {\n setLoaderIndex(0);\n setResourcePath(file);\n setDrawerVisible(true);\n }}\n >\n <div className={styles.box}>\n <div className={styles.keywords}>\n <Keyword text={basename.replace(/\\[.*?\\]/g, '')} keyword={''} />\n </div>\n </div>\n <div className={styles.dividerDiv} style={{ flex: 1 }}>\n <Divider className={styles.divider} dashed />\n </div>\n\n {layer && (\n <Tag color=\"cyan\" bordered={false}>\n {layer}\n </Tag>\n )}\n <Space>\n {loaders.slice(0, ADDITION_LOADER_NUMBER).map((e, i) => {\n const isError = e.errors && e.errors.length;\n const key = `${file}_${e.loader}_${i}`;\n if (i <= ADDITION_LOADER_NUMBER) {\n return (\n <Tooltip title={e.path} key={key}>\n <Tag\n onClick={(ev) => {\n ev.stopPropagation();\n setResourcePath(file);\n setLoaderIndex(i);\n setDrawerVisible(true);\n }}\n className={styles.textBox}\n style={{ color: isError ? '#f50' : 'inherit' }}\n >\n <Typography.Text className={styles.text} ellipsis>\n {e.loader.match(/([^/]+-loader)/g)?.[0] || e.loader}\n </Typography.Text>\n <Divider type=\"vertical\" />\n {isError ? (\n <CloseCircleOutlined />\n ) : (\n <Typography.Text className={styles.text}>\n {formatCosts(e.costs)}\n </Typography.Text>\n )}\n </Tag>\n </Tooltip>\n );\n }\n })}\n {additionalLoaders?.length > 0 && (\n <Popover\n content={\n <List\n dataSource={additionalLoaders}\n renderItem={(e, i) => {\n const isError = e.errors && e.errors.length;\n const key = `${file}_${e.loader}_${i + ADDITION_LOADER_NUMBER}`;\n\n return (\n <List.Item>\n <Tooltip title={e.path} key={key}>\n <div style={{ paddingBottom: 5 }}>\n <Tag\n onClick={(ev) => {\n ev.stopPropagation();\n setResourcePath(file);\n setLoaderIndex(i);\n setDrawerVisible(true);\n }}\n className={styles.textBox}\n style={{\n color: isError ? '#f50' : 'inherit',\n }}\n >\n <Typography.Text\n className={styles.text}\n ellipsis\n >\n {e.loader.match(/([^/]+-loader)/g)?.[0] ||\n e.loader}\n </Typography.Text>\n <Divider type=\"vertical\" />\n <Typography.Text className={styles.text}>\n {formatCosts(e.costs)}\n </Typography.Text>\n </Tag>\n </div>\n </Tooltip>\n </List.Item>\n );\n }}\n />\n }\n >\n <Tag className={styles.textBox}>\n <Typography.Text>···</Typography.Text>\n </Tag>\n </Popover>\n )}\n </Space>\n </div>\n );\n },\n dirTitle(_dir, defaultTitle) {\n return (\n <div style={{ display: 'flex', cursor: 'pointer' }}>\n <Keyword text={defaultTitle} keyword={''} />\n </div>\n );\n },\n });\n }, [filteredFiles]);\n\n return (\n <Row style={{ width: '100%', marginLeft: 0 }} gutter={Size.BasePadding}>\n <Col span={24}>\n <Card\n title={\n <Space>\n <Typography.Text strong>Files</Typography.Text>\n <Typography.Text\n type=\"secondary\"\n style={{\n fontSize: 12,\n fontWeight: 400,\n }}\n >\n Total Files: {filteredFiles.length}\n </Typography.Text>\n </Space>\n }\n bodyStyle={{\n overflow: 'auto',\n maxHeight,\n minHeight: '40rem',\n padding: 14,\n }}\n >\n <FileTree\n defaultExpandedKeys={mapFileKey(\n files,\n filteredFiles.length >= 100 ? 3 : 4,\n (node) => {\n const resourcePath: string = get(node, inlinedResourcePathKey)!;\n const isNodeModules =\n resourcePath.indexOf('/node_modules/') > -1;\n\n return !isNodeModules;\n },\n )}\n treeData={files}\n key={`${props.loaders.join('|')}_${props.filename}`}\n onSelect={(_e, info) => {\n if (!info.node.isLeaf) {\n setSelectedNode(info.node);\n }\n }}\n selectedKeys={selectedNode ? [selectedNode.key] : undefined}\n expandAction=\"click\"\n />\n <Drawer\n open={drawerVisible}\n onClose={() => setDrawerVisible(false)}\n maskClosable\n width={drawerWidth}\n zIndex={999}\n bodyStyle={{ padding: 0 }}\n >\n {drawerVisible ? (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetLoaderFileDetails}\n body={{ path: resourcePath }}\n >\n {(data) => (\n <LoaderExecutions data={data} cwd={cwd} index={loaderIndex} />\n )}\n </ServerAPIProvider>\n ) : null}\n </Drawer>\n </Card>\n </Col>\n\n <Drawer\n open={!!selectedNode}\n onClose={() => setSelectedNode(null)}\n maskClosable\n width={drawerWidth}\n zIndex={999}\n bodyStyle={{ padding: 0 }}\n >\n {selectedNode && (\n <Row>\n <Col span={24}>\n <Card\n title={\n <Tooltip\n title={React.cloneElement(\n selectedNode.title as React.ReactElement<{\n style?: React.CSSProperties;\n }>,\n { style: { color: '#fff' } },\n )}\n >\n <Typography.Text>\n {`Statistics of`}\n {selectedNode.title as React.ReactNode}\n </Typography.Text>\n </Tooltip>\n }\n >\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetLoaderFolderStatistics}\n body={{ folder: selectedNode[inlinedResourcePathKey] }}\n >\n {(tableData) => (\n <Table\n style={{\n width: '100%',\n maxHeight,\n height: '40rem',\n overflowY: 'scroll',\n wordBreak: 'break-all',\n }}\n pagination={false}\n bordered\n rowKey={(e) => e.loader}\n columns={[\n {\n title: 'Loader Name',\n dataIndex: 'loader',\n },\n {\n title: 'Files',\n dataIndex: 'files',\n },\n {\n title: 'Total Duration',\n dataIndex: 'costs',\n render: (v) => (\n <Typography.Text strong>\n {formatCosts(v)}\n </Typography.Text>\n ),\n sorter: (a, b) => a.costs - b.costs,\n defaultSortOrder: 'descend',\n sortDirections: ['descend', 'ascend'],\n },\n ]}\n dataSource={tableData!}\n />\n )}\n </ServerAPIProvider>\n </Card>\n </Col>\n </Row>\n )}\n </Drawer>\n </Row>\n );\n};\n"],"names":["ADDITION_LOADER_NUMBER","LoaderFiles","props","cwd","filetree","drawerVisible","setDrawerVisible","useState","resourcePath","setResourcePath","loaderIndex","setLoaderIndex","selectedNode","setSelectedNode","maxHeight","filteredFiles","useMemo","e","l","filterLoader","inlinedResourcePathKey","files","createFileStructures","file","basename","loaders","layer","additionalLoaders","i","styles","Keyword","Divider","Tag","Space","isError","key","Tooltip","ev","Typography","CloseCircleOutlined","formatCosts","Popover","List","_dir","defaultTitle","Row","Size","Col","Card","FileTree","mapFileKey","node","get","isNodeModules","_e","info","undefined","Drawer","drawerWidth","ServerAPIProvider","SDK","data","LoaderExecutions","React","tableData","Table","v","a","b"],"mappings":"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"}
@@ -39,7 +39,7 @@
39
39
  }
40
40
 
41
41
  .divider-hnPRxv {
42
- border-color: #0000001f;
42
+ border-color: var(--color-divider);
43
43
  margin: auto;
44
44
  position: relative;
45
45
  top: 50%;
@@ -55,15 +55,10 @@
55
55
  }
56
56
 
57
57
  .textBox-sVZZ_A {
58
- color: #000000d9;
59
- background-color: #fafafa;
60
- border: 1px solid #d9d9d9;
61
- border-radius: 2px;
62
58
  justify-content: center;
63
59
  align-items: center;
64
60
  max-width: 320px;
65
61
  height: 22px;
66
- padding: 1px 8px;
67
62
  display: flex;
68
63
  }
69
64
 
@@ -86,27 +81,31 @@
86
81
  display: flex;
87
82
  }
88
83
 
89
- .executions-uZxmQC .timeline-wMFXyU .box-lFdvrG:active {
90
- background-color: #f2f8ff;
91
- border: 1px solid #0079ff;
92
- }
93
-
94
84
  .executions-uZxmQC .timeline-wMFXyU .box-lFdvrG .ant-typography {
95
- color: #000000a6;
96
85
  font-size: 14px;
97
86
  }
98
87
 
99
88
  .executions-uZxmQC .timeline-wMFXyU .box-lFdvrG .loader-PHR4ca {
100
- color: inherit;
101
89
  align-content: center;
102
90
  height: 72px;
103
91
  font-size: 14px;
104
92
  }
105
93
 
106
94
  .executions-uZxmQC .timeline-wMFXyU .selected-wUMOH3 {
107
- background-color: #f2f8ff;
95
+ --bg: #f2f8ff;
96
+ background-color: var(--bg);
108
97
  border: 1px solid #0079ff;
109
98
  }
110
99
 
100
+ .executions-uZxmQC .timeline-wMFXyU .selected-wUMOH3 * {
101
+ color: #000;
102
+ }
103
+
104
+ @supports (color: contrast-color(red)) {
105
+ .executions-uZxmQC .timeline-wMFXyU .selected-wUMOH3 * {
106
+ color: contrast-color(var(--bg));
107
+ }
108
+ }
109
+
111
110
 
112
111
  /*# sourceMappingURL=style_module.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://./src/components/Loader/Analysis/style.module.scss"],"names":[],"mappings":"AAAA;EACE,gBAAgB;AAClB;;AAFiD;EAK/C,mBAAmB;EACnB,gBAAgB;EAChB,aAAa;AACf;;AARoJ;EAWlJ,YAAY;EACZ,cAAc;EACd,aAAa;AACf;;AAd8P;EAiB5P,eAAe;EACf,YAAY;EACZ,cAAc;AAChB;;AApB4W;EAuB1W,gBAAgB;EAChB,iBAAiB;EACjB,cAAc;AAChB;;AA1B2e;EA6Bze,OAAO;EACP,YAAY;AACd;;AA/B+kB;EAkC7kB,OAAO;EACP,iBAAiB;EACjB,kBAAkB;EAClB,kBAAkB;AACpB;;AAtCupB;EAyCrpB,uBAAuB;EACvB,YAAY;EACZ,kBAAkB;EAClB,QAAQ;AACV;;AA7CmuB;EAgDjuB,cAAc;AAChB;;AAjDsvB;EAoDpvB,UAAU;EACV,kBAAkB;AACpB;;AAtDkyB;EAyDhyB,gBAAgB;EAChB,yBAAyB;EACzB,yBAAyB;EACzB,kBAAkB;EAClB,uBAAuB;EACvB,mBAAmB;EACnB,gBAAgB;EAChB,YAAY;EACZ,gBAAgB;EAChB,aAAa;AACf;;AAnEg/B;EAsE9+B,eAAe;EACf,gBAAgB;AAClB;;AAxE8hC;EA2E5hC,aAAa;AACf;;AA5E0kC;EA+ExkC,yBAAyB;EACzB,kBAAkB;EAClB,sBAAsB;EACtB,UAAU;EACV,YAAY;EACZ,aAAa;EACb,aAAa;AACf;;AAtFstC;EAyFptC,yBAAyB;EACzB,yBAAyB;AAC3B;;AA3F0yC;EA8FxyC,gBAAgB;EAChB,eAAe;AACjB;;AAhGk4C;EAmGh4C,cAAc;EACd,qBAAqB;EACrB,YAAY;EACZ,eAAe;AACjB;;AAvGm+C;EA0Gj+C,yBAAyB;EACzB,yBAAyB;AAC3B","sourcesContent":[".loaderAnalysis :global .rc-tree{min-width:900px}.loaderAnalysis :global .rc-tree .rc-tree-treenode{display:flex;align-items:center;min-height:30px}.loaderAnalysis :global .rc-tree .rc-tree-treenode .rc-tree-indent{display:flex;flex-shrink:0;flex-grow:0}.loaderAnalysis :global .rc-tree .rc-tree-treenode .rc-tree-switcher{flex-shrink:0;flex-grow:0;cursor:pointer}.loaderAnalysis :global .rc-tree .rc-tree-treenode .rc-tree-switcher .file-icon{display:block;margin-left:8px;line-height:14px}.loaderAnalysis :global .rc-tree .rc-tree-treenode .rc-tree-node-content-wrapper{flex:1;min-width:0}.dividerDiv{flex:1;margin-left:10px;margin-right:10px;position:relative}.divider{border-color:rgba(0,0,0,.12);top:50%;margin:auto;position:relative}.box{flex-shrink:0}.box .keyword{flex:0 0 auto;padding-right:5}.textBox{max-width:320px;color:rgba(0,0,0,.85);height:22px;border:1px #d9d9d9 solid;justify-content:center;display:flex;padding:1px 8px 1px 8px;align-items:center;border-radius:2px;background-color:#fafafa}.textBox .text{font-size:12px;font-weight:400}.space :global .ant-space-item{display:flex}.executions .timeline .box{border:1px solid #eaedf1;border-radius:8px;width:80%;height:74px;display:flex;flex-direction:column;padding:16px}.executions .timeline .box:active{background-color:#f2f8ff;border:1px solid #0079ff}.executions .timeline .box :global .ant-typography{color:rgba(0,0,0,.65);font-size:14px}.executions .timeline .box .loader{color:inherit;font-size:14px;height:72px;align-content:center}.executions .timeline .selected{background-color:#f2f8ff;border:1px solid #0079ff}"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://./src/components/Loader/Analysis/style.module.scss"],"names":[],"mappings":"AAAA;EACE,gBAAgB;AAClB;;AAFiD;EAK/C,mBAAmB;EACnB,gBAAgB;EAChB,aAAa;AACf;;AARoJ;EAWlJ,YAAY;EACZ,cAAc;EACd,aAAa;AACf;;AAd8P;EAiB5P,eAAe;EACf,YAAY;EACZ,cAAc;AAChB;;AApB4W;EAuB1W,gBAAgB;EAChB,iBAAiB;EACjB,cAAc;AAChB;;AA1B2e;EA6Bze,OAAO;EACP,YAAY;AACd;;AA/B+kB;EAkC7kB,OAAO;EACP,iBAAiB;EACjB,kBAAkB;EAClB,kBAAkB;AACpB;;AAtCupB;EAyCrpB,kCAAkC;EAClC,YAAY;EACZ,kBAAkB;EAClB,QAAQ;AACV;;AA7CwuB;EAgDtuB,cAAc;AAChB;;AAjD2vB;EAoDzvB,UAAU;EACV,kBAAkB;AACpB;;AAtDuyB;EAyDryB,uBAAuB;EACvB,mBAAmB;EACnB,gBAAgB;EAChB,YAAY;EACZ,aAAa;AACf;;AA9Dm4B;EAiEj4B,eAAe;EACf,gBAAgB;AAClB;;AAnEi7B;EAsE/6B,aAAa;AACf;;AAvE69B;EA0E39B,yBAAyB;EACzB,kBAAkB;EAClB,sBAAsB;EACtB,UAAU;EACV,YAAY;EACZ,aAAa;EACb,aAAa;AACf;;AAjFymC;EAoFvmC,eAAe;AACjB;;AArF2qC;EAwFzqC,qBAAqB;EACrB,YAAY;EACZ,eAAe;AACjB;;AA3F8vC;EA8F5vC,aAAa;EACb,2BAA2B;EAC3B,yBAAyB;AAC3B;;AAjGg2C;EAoG91C,WAAW;AACb;;AArG64C;EAAsC;IAyG/6C,gCAAgC;EAClC;AACF","sourcesContent":[".loaderAnalysis :global .rc-tree{min-width:900px}.loaderAnalysis :global .rc-tree .rc-tree-treenode{display:flex;align-items:center;min-height:30px}.loaderAnalysis :global .rc-tree .rc-tree-treenode .rc-tree-indent{display:flex;flex-shrink:0;flex-grow:0}.loaderAnalysis :global .rc-tree .rc-tree-treenode .rc-tree-switcher{flex-shrink:0;flex-grow:0;cursor:pointer}.loaderAnalysis :global .rc-tree .rc-tree-treenode .rc-tree-switcher .file-icon{display:block;margin-left:8px;line-height:14px}.loaderAnalysis :global .rc-tree .rc-tree-treenode .rc-tree-node-content-wrapper{flex:1;min-width:0}.dividerDiv{flex:1;margin-left:10px;margin-right:10px;position:relative}.divider{border-color:var(--color-divider);top:50%;margin:auto;position:relative}.box{flex-shrink:0}.box .keyword{flex:0 0 auto;padding-right:5}.textBox{max-width:320px;height:22px;justify-content:center;display:flex;align-items:center}.textBox .text{font-size:12px;font-weight:400}.space :global .ant-space-item{display:flex}.executions .timeline .box{border:1px solid #eaedf1;border-radius:8px;width:80%;height:74px;display:flex;flex-direction:column;padding:16px}.executions .timeline .box :global .ant-typography{font-size:14px}.executions .timeline .box .loader{font-size:14px;height:72px;align-content:center}.executions .timeline .selected{--bg: #f2f8ff;background-color:var(--bg);border:1px solid #0079ff}.executions .timeline .selected *{color:#000}@supports(color: contrast-color(red)){.executions .timeline .selected *{color:contrast-color(var(--bg))}}"],"sourceRoot":""}
@@ -15,6 +15,7 @@ import { CodeOpener } from "../Opener/index.mjs";
15
15
  import { Title } from "../Title/index.mjs";
16
16
  import { ServerAPIProvider } from "../Manifest/index.mjs";
17
17
  import style_module from "./Analysis/style.module.mjs";
18
+ import clsx from "clsx";
18
19
  const LoaderPropsItem = ({ loader, resource, cwd })=>/*#__PURE__*/ jsx(Card, {
19
20
  title: 'Loader Details',
20
21
  style: {
@@ -280,8 +281,7 @@ const LoaderDetailsContent = ({ loader, resource, isLight, codeData })=>{
280
281
  const LoaderExecutions = ({ data, cwd, index })=>{
281
282
  const { loaders, resource } = data;
282
283
  const [currentIndex, setCurrentIndex] = useState(index || 0);
283
- const { theme } = useTheme();
284
- const isLight = 'light' === theme;
284
+ const { isLight } = useTheme();
285
285
  const loader = loaders[currentIndex];
286
286
  const leftSpan = 5;
287
287
  const [activeKey, setActiveKey] = useState('loaderDetails');
@@ -297,7 +297,7 @@ const LoaderExecutions = ({ data, cwd, index })=>{
297
297
  /*#__PURE__*/ jsx(Col, {
298
298
  span: leftSpan,
299
299
  style: {
300
- borderRight: isLight ? "1px solid #f0f0f0" : void 0,
300
+ borderRight: "1px solid var(--color-border-secondary)",
301
301
  padding: Size.BasePadding
302
302
  },
303
303
  children: /*#__PURE__*/ jsxs(Space, {
@@ -344,7 +344,7 @@ const LoaderExecutions = ({ data, cwd, index })=>{
344
344
  title: loader,
345
345
  trigger: "hover",
346
346
  children: /*#__PURE__*/ jsxs("div", {
347
- className: `${style_module.box} ${currentIndex === i ? style_module.selected : ''}`,
347
+ className: clsx(style_module.box, currentIndex === i && style_module.selected),
348
348
  onClick: ()=>{
349
349
  setCurrentIndex(i);
350
350
  },
@@ -355,24 +355,16 @@ const LoaderExecutions = ({ data, cwd, index })=>{
355
355
  /*#__PURE__*/ jsxs("div", {
356
356
  children: [
357
357
  /*#__PURE__*/ jsx(Typography.Text, {
358
- style: {
359
- color: '#000'
360
- },
361
358
  children: costs.match(/[0-9]*\.?[0-9]+/g)?.[0]
362
359
  }),
363
360
  " ",
364
361
  /*#__PURE__*/ jsx(Typography.Text, {
365
- style: {
366
- color: 'rgba(0,0,0,0.45)'
367
- },
362
+ type: "secondary",
368
363
  children: costs.match(/[a-zA-Z]+/g)
369
364
  })
370
365
  ]
371
366
  }),
372
367
  /*#__PURE__*/ jsx(Typography.Text, {
373
- style: {
374
- color: 'rgba(0,0,0,0.65)'
375
- },
376
368
  className: style_module.loader,
377
369
  children: loader
378
370
  })
@@ -1 +1 @@
1
- {"version":3,"file":"components/Loader/executions.mjs","sources":["../../../src/components/Loader/executions.tsx"],"sourcesContent":["import { ClockCircleTwoTone } from '@ant-design/icons';\nimport { SDK } from '@rsdoctor/types';\nimport {\n Col,\n Divider,\n Empty,\n List,\n Row,\n Space,\n Tabs,\n Tag,\n Timeline,\n Tooltip,\n Typography,\n} from 'antd';\nimport dayjs from 'dayjs';\nimport { PropsWithChildren, useCallback, useState } from 'react';\nimport InputIcon from 'src/common/svg/loader/input.svg';\nimport OutputIcon from 'src/common/svg/loader/output.svg';\nimport StepIcon from 'src/common/svg/loader/step.svg';\nimport { Size } from '../../constants';\nimport { beautifyPath, formatCosts, useTheme } from '../../utils';\nimport { CodeViewer, DiffViewer } from '../base';\nimport { Card } from '../Card';\nimport { CodeOpener } from '../Opener';\nimport { Title } from '../Title';\nimport { ServerAPIProvider } from '../Manifest';\nimport styles from './Analysis/style.module.scss';\n\ninterface LoaderExecutionsProps {\n cwd: string;\n data: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetLoaderFileDetails>;\n index?: number;\n}\n\nconst LoaderPropsItem = ({\n loader,\n resource,\n cwd,\n}: {\n loader: Omit<SDK.LoaderTransformData, 'input' | 'result'> & {\n costs: number;\n };\n resource: SDK.ResourceData;\n cwd: string;\n}): React.JSX.Element => {\n return (\n <Card\n title={'Loader Details'}\n style={{ border: 'none' }}\n extra={\n <Tag icon={<ClockCircleTwoTone />} color=\"default\">\n {dayjs(loader.startAt).format('YYYY-MM-DD HH:mm:ss')}\n </Tag>\n }\n >\n <Space direction=\"vertical\" style={{ width: '100%' }}>\n {loader.isPitch ? <Typography.Text code>pitch</Typography.Text> : null}\n <List size=\"large\" bordered>\n <List.Item>\n <Typography.Text strong>{'File Path'}</Typography.Text>\n <div>{beautifyPath(resource.path, cwd)}</div>\n </List.Item>\n <List.Item>\n <Typography.Text strong>{'Resource Path'}</Typography.Text>\n <CodeOpener cwd={cwd} url={resource.path} loc=\"\" disabled />\n </List.Item>\n <List.Item>\n <Typography.Text strong>{'Resource Query'}</Typography.Text>\n <div>{resource.queryRaw || '-'}</div>\n </List.Item>\n <List.Item>\n <Typography.Text strong>{'Duration'}</Typography.Text>\n <div>{formatCosts(loader.costs)}</div>\n </List.Item>\n <List.Item>\n <Typography.Text strong>{'Loader'}</Typography.Text>\n <div>\n <Typography.Text code>{loader.loader}</Typography.Text>\n </div>\n </List.Item>\n <List.Item>\n <Typography.Text strong>{'Loader Index'}</Typography.Text>\n <div>{`${loader.loaderIndex}`}</div>\n </List.Item>\n <List.Item>\n <Typography.Text strong>{'Loader Path'}</Typography.Text>\n <CodeOpener cwd={cwd} url={loader.path} loc=\"\" disabled />\n </List.Item>\n <List.Item>\n <div style={{ width: 180 }}>\n <Typography.Text strong>{'Options'}</Typography.Text>\n </div>\n <Divider type=\"vertical\" />\n <Typography.Paragraph\n ellipsis={{\n rows: 2,\n expandable: true,\n symbol: 'more',\n }}\n copyable\n >\n {JSON.stringify(loader.options || '-')}\n </Typography.Paragraph>\n </List.Item>\n </List>\n </Space>\n </Card>\n );\n};\n\n// Component to render Loader Details content with lazy-loaded code\nconst LoaderDetailsContent = ({\n loader,\n resource,\n isLight,\n codeData,\n}: {\n loader: Omit<SDK.LoaderTransformData, 'input' | 'result'> & { costs: number };\n resource: SDK.ResourceData;\n isLight: boolean;\n codeData: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetLoaderFileInputAndOutput>;\n}): React.JSX.Element => {\n const hasError = loader.errors && loader.errors.length;\n const before = codeData?.input || '';\n const loaderResult = codeData?.output || '';\n\n return (\n <div style={{ height: '100%' }}>\n {hasError ? (\n <Col span={24} style={{ height: '53%', minHeight: 400 }}>\n <div\n style={{\n padding: Size.BasePadding,\n borderTop: `1px solid ${isLight ? '#f0f0f0' : 'rgba(253, 253, 253, 0.12)'}`,\n borderBottom: `1px solid ${isLight ? '#f0f0f0' : 'rgba(253, 253, 253, 0.12)'}`,\n }}\n >\n <Title\n text={`the error stack of [${loader.loader}] ${loader.isPitch ? 'pitch' : ''}`}\n />\n </div>\n <div style={{ height: '90%' }}>\n <CodeViewer code={loader.errors[0].message} lang=\"javascript\" />\n </div>\n </Col>\n ) : (\n <Col span={24} style={{ height: '53%', minHeight: 400 }}>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n padding: Size.BasePadding,\n borderBottom: `1px solid ${isLight ? '#f0f0f0' : 'rgba(253, 253, 253, 0.12)'}`,\n }}\n >\n <Title\n text={\n <>\n {`the result of [${loader.loader}] ${loader.isPitch ? 'pitch' : ''}`}\n {!loader.isPitch && (\n <span style={{ fontWeight: 400 }}>\n (\n <InputIcon\n style={{\n verticalAlign: 'middle',\n margin: '0 2px',\n }}\n />\n Input ⟷\n <OutputIcon\n style={{\n verticalAlign: 'middle',\n position: 'relative',\n top: -2,\n }}\n />\n Output)\n </span>\n )}\n </>\n }\n />\n <div style={{ flex: 1 }} />\n </div>\n {loader.isPitch ? (\n loaderResult ? (\n <div style={{ height: '90%' }}>\n <CodeViewer\n isEmbed\n code={loaderResult}\n filePath={resource.path}\n />\n </div>\n ) : (\n <Empty\n description={\n 'No loader result. If you use the Brief Mode, there will not have loader results.'\n }\n />\n )\n ) : (\n <div style={{ minHeight: '700px' }}>\n <div style={{ height: '40rem', overflow: 'hidden' }}>\n {!loaderResult && !before ? (\n <Empty\n description={\n 'No loader result. If you use the Brief Mode, there will not have loader results.'\n }\n />\n ) : (\n <DiffViewer\n isEmbed\n original={before}\n modified={loaderResult || ''}\n originalFilePath={resource.path}\n modifiedFilePath={resource.path}\n />\n )}\n </div>\n </div>\n )}\n </Col>\n )}\n </div>\n );\n};\n\nexport const LoaderExecutions = ({\n data,\n cwd,\n index,\n}: PropsWithChildren<LoaderExecutionsProps>): React.JSX.Element => {\n const { loaders, resource } = data;\n const [currentIndex, setCurrentIndex] = useState(index || 0);\n const { theme } = useTheme();\n const isLight = theme === 'light';\n const loader = loaders[currentIndex];\n const leftSpan = 5;\n const [activeKey, setActiveKey] = useState('loaderDetails');\n const onChange = useCallback((key: string) => {\n setActiveKey(key);\n }, []);\n\n return (\n <Row className={styles.executions} style={{ height: '100%' }}>\n <Col\n span={leftSpan}\n style={{\n borderRight: isLight ? `1px solid #f0f0f0` : undefined,\n padding: Size.BasePadding,\n }}\n >\n <Space direction=\"vertical\" style={{ width: '100%' }}>\n <Title text=\"Executions\" />\n <Timeline mode=\"left\" style={{ marginTop: Size.BasePadding }}>\n {loaders.map((e, i, arr) => {\n const { loader, isPitch } = e;\n const costs = formatCosts(e.costs);\n return (\n <Timeline.Item\n dot={\n isPitch ? (\n <Tag style={{ marginLeft: 1, fontWeight: 500 }}>\n pitch\n </Tag>\n ) : (\n <ClockCircleTwoTone />\n )\n }\n style={{ paddingBottom: 10, textAlign: 'center' }}\n key={i}\n >\n <Row align=\"middle\" justify=\"space-between\" gutter={[0, 10]}>\n <Col span={24} className={styles.timeline}>\n <Tooltip title={loader} trigger=\"hover\">\n <div\n className={`${styles.box} ${currentIndex === i ? styles.selected : ''}`}\n onClick={() => {\n setCurrentIndex(i);\n }}\n style={{ textAlign: 'left' }}\n >\n <div>\n <Typography.Text style={{ color: '#000' }}>\n {costs.match(/[0-9]*\\.?[0-9]+/g)?.[0]}\n </Typography.Text>\n {` `}\n <Typography.Text\n style={{ color: 'rgba(0,0,0,0.45)' }}\n >\n {costs.match(/[a-zA-Z]+/g)}\n </Typography.Text>\n </div>\n <Typography.Text\n style={{ color: 'rgba(0,0,0,0.65)' }}\n className={styles.loader}\n >\n {loader}\n </Typography.Text>\n </div>\n </Tooltip>\n </Col>\n </Row>\n {i === arr.length - 1 ? null : (\n <div style={{ paddingTop: 10 }}>\n <StepIcon />\n </div>\n )}\n </Timeline.Item>\n );\n })}\n </Timeline>\n </Space>\n </Col>\n <Col span={24 - leftSpan} style={{ height: '100%' }}>\n <Tabs\n type=\"card\"\n defaultActiveKey=\"loaderDetails\"\n activeKey={activeKey}\n items={[\n {\n label: 'Loader Props',\n key: 'loaderProps',\n children: (\n <LoaderPropsItem\n loader={loader}\n resource={resource}\n cwd={cwd}\n />\n ),\n },\n {\n label: 'Loader Details',\n key: 'loaderDetails',\n children:\n activeKey === 'loaderDetails' ? (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetLoaderFileInputAndOutput}\n body={{\n file: resource.path,\n loader: loader.loader,\n loaderIndex: loader.loaderIndex,\n }}\n showSkeleton={false}\n >\n {(codeData) => (\n <LoaderDetailsContent\n loader={loader}\n resource={resource}\n isLight={isLight}\n codeData={codeData}\n />\n )}\n </ServerAPIProvider>\n ) : null,\n },\n ]}\n onChange={onChange}\n />\n </Col>\n </Row>\n );\n};\n"],"names":["LoaderPropsItem","loader","resource","cwd","Card","Tag","ClockCircleTwoTone","dayjs","Space","Typography","List","beautifyPath","CodeOpener","formatCosts","Divider","JSON","LoaderDetailsContent","isLight","codeData","hasError","before","loaderResult","Col","Size","Title","CodeViewer","InputIcon","OutputIcon","Empty","DiffViewer","LoaderExecutions","data","index","loaders","currentIndex","setCurrentIndex","useState","theme","useTheme","leftSpan","activeKey","setActiveKey","onChange","useCallback","key","Row","styles","undefined","Timeline","e","i","arr","isPitch","costs","Tooltip","StepIcon","Tabs","ServerAPIProvider","SDK"],"mappings":"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"}
1
+ {"version":3,"file":"components/Loader/executions.mjs","sources":["../../../src/components/Loader/executions.tsx"],"sourcesContent":["import { ClockCircleTwoTone } from '@ant-design/icons';\nimport { SDK } from '@rsdoctor/types';\nimport {\n Col,\n Divider,\n Empty,\n List,\n Row,\n Space,\n Tabs,\n Tag,\n Timeline,\n Tooltip,\n Typography,\n} from 'antd';\nimport dayjs from 'dayjs';\nimport { PropsWithChildren, useCallback, useState } from 'react';\nimport InputIcon from 'src/common/svg/loader/input.svg';\nimport OutputIcon from 'src/common/svg/loader/output.svg';\nimport StepIcon from 'src/common/svg/loader/step.svg';\nimport { Size } from '../../constants';\nimport { beautifyPath, formatCosts, useTheme } from '../../utils';\nimport { CodeViewer, DiffViewer } from '../base';\nimport { Card } from '../Card';\nimport { CodeOpener } from '../Opener';\nimport { Title } from '../Title';\nimport { ServerAPIProvider } from '../Manifest';\nimport styles from './Analysis/style.module.scss';\nimport clsx from 'clsx';\n\ninterface LoaderExecutionsProps {\n cwd: string;\n data: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetLoaderFileDetails>;\n index?: number;\n}\n\nconst LoaderPropsItem = ({\n loader,\n resource,\n cwd,\n}: {\n loader: Omit<SDK.LoaderTransformData, 'input' | 'result'> & {\n costs: number;\n };\n resource: SDK.ResourceData;\n cwd: string;\n}): React.JSX.Element => {\n return (\n <Card\n title={'Loader Details'}\n style={{ border: 'none' }}\n extra={\n <Tag icon={<ClockCircleTwoTone />} color=\"default\">\n {dayjs(loader.startAt).format('YYYY-MM-DD HH:mm:ss')}\n </Tag>\n }\n >\n <Space direction=\"vertical\" style={{ width: '100%' }}>\n {loader.isPitch ? <Typography.Text code>pitch</Typography.Text> : null}\n <List size=\"large\" bordered>\n <List.Item>\n <Typography.Text strong>{'File Path'}</Typography.Text>\n <div>{beautifyPath(resource.path, cwd)}</div>\n </List.Item>\n <List.Item>\n <Typography.Text strong>{'Resource Path'}</Typography.Text>\n <CodeOpener cwd={cwd} url={resource.path} loc=\"\" disabled />\n </List.Item>\n <List.Item>\n <Typography.Text strong>{'Resource Query'}</Typography.Text>\n <div>{resource.queryRaw || '-'}</div>\n </List.Item>\n <List.Item>\n <Typography.Text strong>{'Duration'}</Typography.Text>\n <div>{formatCosts(loader.costs)}</div>\n </List.Item>\n <List.Item>\n <Typography.Text strong>{'Loader'}</Typography.Text>\n <div>\n <Typography.Text code>{loader.loader}</Typography.Text>\n </div>\n </List.Item>\n <List.Item>\n <Typography.Text strong>{'Loader Index'}</Typography.Text>\n <div>{`${loader.loaderIndex}`}</div>\n </List.Item>\n <List.Item>\n <Typography.Text strong>{'Loader Path'}</Typography.Text>\n <CodeOpener cwd={cwd} url={loader.path} loc=\"\" disabled />\n </List.Item>\n <List.Item>\n <div style={{ width: 180 }}>\n <Typography.Text strong>{'Options'}</Typography.Text>\n </div>\n <Divider type=\"vertical\" />\n <Typography.Paragraph\n ellipsis={{\n rows: 2,\n expandable: true,\n symbol: 'more',\n }}\n copyable\n >\n {JSON.stringify(loader.options || '-')}\n </Typography.Paragraph>\n </List.Item>\n </List>\n </Space>\n </Card>\n );\n};\n\n// Component to render Loader Details content with lazy-loaded code\nconst LoaderDetailsContent = ({\n loader,\n resource,\n isLight,\n codeData,\n}: {\n loader: Omit<SDK.LoaderTransformData, 'input' | 'result'> & { costs: number };\n resource: SDK.ResourceData;\n isLight: boolean;\n codeData: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetLoaderFileInputAndOutput>;\n}): React.JSX.Element => {\n const hasError = loader.errors && loader.errors.length;\n const before = codeData?.input || '';\n const loaderResult = codeData?.output || '';\n\n return (\n <div style={{ height: '100%' }}>\n {hasError ? (\n <Col span={24} style={{ height: '53%', minHeight: 400 }}>\n <div\n style={{\n padding: Size.BasePadding,\n borderTop: `1px solid ${isLight ? '#f0f0f0' : 'rgba(253, 253, 253, 0.12)'}`,\n borderBottom: `1px solid ${isLight ? '#f0f0f0' : 'rgba(253, 253, 253, 0.12)'}`,\n }}\n >\n <Title\n text={`the error stack of [${loader.loader}] ${loader.isPitch ? 'pitch' : ''}`}\n />\n </div>\n <div style={{ height: '90%' }}>\n <CodeViewer code={loader.errors[0].message} lang=\"javascript\" />\n </div>\n </Col>\n ) : (\n <Col span={24} style={{ height: '53%', minHeight: 400 }}>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n padding: Size.BasePadding,\n borderBottom: `1px solid ${isLight ? '#f0f0f0' : 'rgba(253, 253, 253, 0.12)'}`,\n }}\n >\n <Title\n text={\n <>\n {`the result of [${loader.loader}] ${loader.isPitch ? 'pitch' : ''}`}\n {!loader.isPitch && (\n <span style={{ fontWeight: 400 }}>\n (\n <InputIcon\n style={{\n verticalAlign: 'middle',\n margin: '0 2px',\n }}\n />\n Input ⟷\n <OutputIcon\n style={{\n verticalAlign: 'middle',\n position: 'relative',\n top: -2,\n }}\n />\n Output)\n </span>\n )}\n </>\n }\n />\n <div style={{ flex: 1 }} />\n </div>\n {loader.isPitch ? (\n loaderResult ? (\n <div style={{ height: '90%' }}>\n <CodeViewer\n isEmbed\n code={loaderResult}\n filePath={resource.path}\n />\n </div>\n ) : (\n <Empty\n description={\n 'No loader result. If you use the Brief Mode, there will not have loader results.'\n }\n />\n )\n ) : (\n <div style={{ minHeight: '700px' }}>\n <div style={{ height: '40rem', overflow: 'hidden' }}>\n {!loaderResult && !before ? (\n <Empty\n description={\n 'No loader result. If you use the Brief Mode, there will not have loader results.'\n }\n />\n ) : (\n <DiffViewer\n isEmbed\n original={before}\n modified={loaderResult || ''}\n originalFilePath={resource.path}\n modifiedFilePath={resource.path}\n />\n )}\n </div>\n </div>\n )}\n </Col>\n )}\n </div>\n );\n};\n\nexport const LoaderExecutions = ({\n data,\n cwd,\n index,\n}: PropsWithChildren<LoaderExecutionsProps>): React.JSX.Element => {\n const { loaders, resource } = data;\n const [currentIndex, setCurrentIndex] = useState(index || 0);\n const { isLight } = useTheme();\n const loader = loaders[currentIndex];\n const leftSpan = 5;\n const [activeKey, setActiveKey] = useState('loaderDetails');\n const onChange = useCallback((key: string) => {\n setActiveKey(key);\n }, []);\n\n return (\n <Row className={styles.executions} style={{ height: '100%' }}>\n <Col\n span={leftSpan}\n style={{\n borderRight: `1px solid var(--color-border-secondary)`,\n padding: Size.BasePadding,\n }}\n >\n <Space direction=\"vertical\" style={{ width: '100%' }}>\n <Title text=\"Executions\" />\n <Timeline mode=\"left\" style={{ marginTop: Size.BasePadding }}>\n {loaders.map((e, i, arr) => {\n const { loader, isPitch } = e;\n const costs = formatCosts(e.costs);\n return (\n <Timeline.Item\n dot={\n isPitch ? (\n <Tag style={{ marginLeft: 1, fontWeight: 500 }}>\n pitch\n </Tag>\n ) : (\n <ClockCircleTwoTone />\n )\n }\n style={{ paddingBottom: 10, textAlign: 'center' }}\n key={i}\n >\n <Row align=\"middle\" justify=\"space-between\" gutter={[0, 10]}>\n <Col span={24} className={styles.timeline}>\n <Tooltip title={loader} trigger=\"hover\">\n <div\n className={clsx(\n styles.box,\n currentIndex === i && styles.selected,\n )}\n onClick={() => {\n setCurrentIndex(i);\n }}\n style={{ textAlign: 'left' }}\n >\n <div>\n <Typography.Text>\n {costs.match(/[0-9]*\\.?[0-9]+/g)?.[0]}\n </Typography.Text>\n {` `}\n <Typography.Text type=\"secondary\">\n {costs.match(/[a-zA-Z]+/g)}\n </Typography.Text>\n </div>\n <Typography.Text className={styles.loader}>\n {loader}\n </Typography.Text>\n </div>\n </Tooltip>\n </Col>\n </Row>\n {i === arr.length - 1 ? null : (\n <div style={{ paddingTop: 10 }}>\n <StepIcon />\n </div>\n )}\n </Timeline.Item>\n );\n })}\n </Timeline>\n </Space>\n </Col>\n <Col span={24 - leftSpan} style={{ height: '100%' }}>\n <Tabs\n type=\"card\"\n defaultActiveKey=\"loaderDetails\"\n activeKey={activeKey}\n items={[\n {\n label: 'Loader Props',\n key: 'loaderProps',\n children: (\n <LoaderPropsItem\n loader={loader}\n resource={resource}\n cwd={cwd}\n />\n ),\n },\n {\n label: 'Loader Details',\n key: 'loaderDetails',\n children:\n activeKey === 'loaderDetails' ? (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetLoaderFileInputAndOutput}\n body={{\n file: resource.path,\n loader: loader.loader,\n loaderIndex: loader.loaderIndex,\n }}\n showSkeleton={false}\n >\n {(codeData) => (\n <LoaderDetailsContent\n loader={loader}\n resource={resource}\n isLight={isLight}\n codeData={codeData}\n />\n )}\n </ServerAPIProvider>\n ) : null,\n },\n ]}\n onChange={onChange}\n />\n </Col>\n </Row>\n );\n};\n"],"names":["LoaderPropsItem","loader","resource","cwd","Card","Tag","ClockCircleTwoTone","dayjs","Space","Typography","List","beautifyPath","CodeOpener","formatCosts","Divider","JSON","LoaderDetailsContent","isLight","codeData","hasError","before","loaderResult","Col","Size","Title","CodeViewer","InputIcon","OutputIcon","Empty","DiffViewer","LoaderExecutions","data","index","loaders","currentIndex","setCurrentIndex","useState","useTheme","leftSpan","activeKey","setActiveKey","onChange","useCallback","key","Row","styles","Timeline","e","i","arr","isPitch","costs","Tooltip","clsx","StepIcon","Tabs","ServerAPIProvider","SDK"],"mappings":"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"}
@@ -1,27 +1,28 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
2
  import icons from "@ant-design/icons";
3
+ import { Alert } from "antd";
3
4
  import total_size from "../../common/svg/total-size.mjs";
4
5
  import file from "../../common/svg/file.mjs";
5
6
  import DataSummary_module from "./DataSummary.module.mjs";
6
- const DataSummary = ({ theme, number, description })=>/*#__PURE__*/ jsxs("div", {
7
- className: `${DataSummary_module.container} ${DataSummary_module[theme]}`,
8
- children: [
9
- /*#__PURE__*/ jsx(icons, {
10
- style: {
11
- fontSize: '18px',
12
- margin: '0 5px'
13
- },
14
- component: 'common' === theme ? file : total_size
15
- }),
16
- /*#__PURE__*/ jsx("span", {
17
- className: DataSummary_module.description,
18
- children: description
19
- }),
20
- /*#__PURE__*/ jsx("span", {
21
- className: DataSummary_module.data,
22
- children: number
23
- })
24
- ]
7
+ const DataSummary = ({ theme, number, description })=>/*#__PURE__*/ jsx(Alert, {
8
+ message: /*#__PURE__*/ jsxs(Fragment, {
9
+ children: [
10
+ /*#__PURE__*/ jsx(icons, {
11
+ className: DataSummary_module.icon,
12
+ component: 'common' === theme ? file : total_size
13
+ }),
14
+ /*#__PURE__*/ jsx("span", {
15
+ className: DataSummary_module.description,
16
+ children: description
17
+ }),
18
+ /*#__PURE__*/ jsx("span", {
19
+ className: DataSummary_module.data,
20
+ children: number
21
+ })
22
+ ]
23
+ }),
24
+ className: DataSummary_module.container,
25
+ type: 'common' === theme ? 'info' : theme
25
26
  });
26
27
  export { DataSummary };
27
28
 
@@ -1 +1 @@
1
- {"version":3,"file":"components/Overall/DataSummary.mjs","sources":["../../../src/components/Overall/DataSummary.tsx"],"sourcesContent":["import Icon from '@ant-design/icons';\n\nimport TotalSizeSvg from '../../common/svg/total-size.svg';\nimport FileSvg from '../../common/svg/file.svg';\n\nimport styles from './DataSummary.module.scss';\n\nexport interface DataSummaryProps {\n theme: 'common' | 'warning';\n number: string | number;\n onClick?: () => void;\n description: string;\n numberFontSize?: string;\n}\n\nexport const DataSummary = ({\n theme,\n number,\n description,\n}: DataSummaryProps) => {\n return (\n <div className={`${styles.container} ${styles[theme]}`}>\n <Icon\n style={{ fontSize: '18px', margin: '0 5px' }}\n component={theme === 'common' ? FileSvg : TotalSizeSvg}\n />\n <span className={styles.description}>{description}</span>\n <span className={styles.data}>{number}</span>\n </div>\n );\n};\n"],"names":["DataSummary","theme","number","description","styles","Icon","FileSvg","TotalSizeSvg"],"mappings":";;;;;AAeO,MAAMA,cAAc,CAAC,EAC1BC,KAAK,EACLC,MAAM,EACNC,WAAW,EACM,GACV,WAAP,GACE,KAAC;QAAI,WAAW,GAAGC,mBAAAA,SAAgB,CAAC,CAAC,EAAEA,kBAAM,CAACH,MAAM,EAAE;;0BACpD,IAACI,OAAIA;gBACH,OAAO;oBAAE,UAAU;oBAAQ,QAAQ;gBAAQ;gBAC3C,WAAWJ,AAAU,aAAVA,QAAqBK,OAAUC;;0BAE5C,IAAC;gBAAK,WAAWH,mBAAAA,WAAkB;0BAAGD;;0BACtC,IAAC;gBAAK,WAAWC,mBAAAA,IAAW;0BAAGF"}
1
+ {"version":3,"file":"components/Overall/DataSummary.mjs","sources":["../../../src/components/Overall/DataSummary.tsx"],"sourcesContent":["import Icon from '@ant-design/icons';\nimport { Alert } from 'antd';\n\nimport TotalSizeSvg from '../../common/svg/total-size.svg';\nimport FileSvg from '../../common/svg/file.svg';\n\nimport styles from './DataSummary.module.scss';\n\nexport interface DataSummaryProps {\n theme: 'common' | 'warning';\n number: string | number;\n onClick?: () => void;\n description: string;\n numberFontSize?: string;\n}\n\nexport const DataSummary = ({\n theme,\n number,\n description,\n}: DataSummaryProps) => {\n return (\n <Alert\n message={\n <>\n <Icon\n className={styles.icon}\n component={theme === 'common' ? FileSvg : TotalSizeSvg}\n />\n <span className={styles.description}>{description}</span>\n <span className={styles.data}>{number}</span>\n </>\n }\n className={styles.container}\n type={theme === 'common' ? 'info' : theme}\n ></Alert>\n );\n};\n"],"names":["DataSummary","theme","number","description","Alert","Icon","styles","FileSvg","TotalSizeSvg"],"mappings":";;;;;;AAgBO,MAAMA,cAAc,CAAC,EAC1BC,KAAK,EACLC,MAAM,EACNC,WAAW,EACM,GACV,WAAP,GACE,IAACC,OAAKA;QACJ,uBACE;;8BACE,IAACC,OAAIA;oBACH,WAAWC,mBAAAA,IAAW;oBACtB,WAAWL,AAAU,aAAVA,QAAqBM,OAAUC;;8BAE5C,IAAC;oBAAK,WAAWF,mBAAAA,WAAkB;8BAAGH;;8BACtC,IAAC;oBAAK,WAAWG,mBAAAA,IAAW;8BAAGJ;;;;QAGnC,WAAWI,mBAAAA,SAAgB;QAC3B,MAAML,AAAU,aAAVA,QAAqB,SAASA"}
@@ -1,20 +1,9 @@
1
1
  import "./DataSummary_module.css";
2
2
  const DataSummary_module = {
3
- errorNumber: "errorNumber-NtnGpL",
4
- warningNumber: "warningNumber-UgutU8",
5
- successNumber: "successNumber-YOK23K",
6
- errorText: "errorText-u5Q3ns",
7
- warningText: "warningText-PymRi4",
8
- successText: "successText-ddFAF_",
9
- errorButton: "errorButton-jYRQzL",
10
- warningButton: "warningButton-KAF3GT",
11
- successButton: "successButton-clAJSx",
12
3
  container: "container-ssAvLP",
13
4
  icon: "icon-K6JtIV",
14
5
  description: "description-Ik1PO7",
15
- data: "data-J9Vxvq",
16
- common: "common-sHeHRd",
17
- warning: "warning-HnVMOj"
6
+ data: "data-J9Vxvq"
18
7
  };
19
8
  export default DataSummary_module;
20
9
 
@@ -1 +1 @@
1
- {"version":3,"file":"components/Overall/DataSummary.module.mjs","sources":["../../../src/components/Overall/DataSummary.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./DataSummary_module.css\"\nexport default {\"errorNumber\":\"errorNumber-NtnGpL\",\"warningNumber\":\"warningNumber-UgutU8\",\"successNumber\":\"successNumber-YOK23K\",\"errorText\":\"errorText-u5Q3ns\",\"warningText\":\"warningText-PymRi4\",\"successText\":\"successText-ddFAF_\",\"errorButton\":\"errorButton-jYRQzL\",\"warningButton\":\"warningButton-KAF3GT\",\"successButton\":\"successButton-clAJSx\",\"container\":\"container-ssAvLP\",\"icon\":\"icon-K6JtIV\",\"description\":\"description-Ik1PO7\",\"data\":\"data-J9Vxvq\",\"common\":\"common-sHeHRd\",\"warning\":\"warning-HnVMOj\"};"],"names":[],"mappings":";AAEA,2BAAe;IAAC,aAAc;IAAqB,eAAgB;IAAuB,eAAgB;IAAuB,WAAY;IAAmB,aAAc;IAAqB,aAAc;IAAqB,aAAc;IAAqB,eAAgB;IAAuB,eAAgB;IAAuB,WAAY;IAAmB,MAAO;IAAc,aAAc;IAAqB,MAAO;IAAc,QAAS;IAAgB,SAAU;AAAgB"}
1
+ {"version":3,"file":"components/Overall/DataSummary.module.mjs","sources":["../../../src/components/Overall/DataSummary.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./DataSummary_module.css\"\nexport default {\"container\":\"container-ssAvLP\",\"icon\":\"icon-K6JtIV\",\"description\":\"description-Ik1PO7\",\"data\":\"data-J9Vxvq\"};"],"names":[],"mappings":";AAEA,2BAAe;IAAC,WAAY;IAAmB,MAAO;IAAc,aAAc;IAAqB,MAAO;AAAa"}
@@ -1,95 +1,30 @@
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-radius: 10px;
61
- align-items: center;
62
2
  height: 40px;
63
3
  margin: 10px 0 20px;
64
4
  padding: 10px 20px 10px 5px;
5
+ font-size: 14px;
6
+ }
7
+
8
+ .container-ssAvLP .ant-alert-message {
9
+ align-items: center;
65
10
  display: flex;
66
11
  }
67
12
 
68
13
  .container-ssAvLP .icon-K6JtIV {
69
- margin: 0 5px 0 10px;
14
+ margin: 0 5px;
15
+ font-size: 18px;
70
16
  }
71
17
 
72
18
  .container-ssAvLP .description-Ik1PO7 {
73
- color: #000000a6;
74
19
  margin-right: 5px;
75
- font-size: 14px;
76
20
  font-weight: 400;
77
21
  line-height: 20px;
78
22
  }
79
23
 
80
24
  .container-ssAvLP .data-J9Vxvq {
81
- font-size: 14px;
82
25
  font-weight: 500;
83
26
  line-height: 32px;
84
27
  }
85
28
 
86
- .common-sHeHRd {
87
- background: #f0f5ff;
88
- }
89
-
90
- .warning-HnVMOj {
91
- background: #fff7e6;
92
- }
93
-
94
29
 
95
30
  /*# sourceMappingURL=DataSummary_module.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://./src/components/Overall/DataSummary.module.scss"],"names":[],"mappings":"AAAA;EACE,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;AAJ2F;EAOzF,cAAc;AAChB;;AARiI;EAW/H,cAAc;AAChB;;AAZ2K;EAezK,cAAc;AAChB;;AAhBqN;EAmBnN,WAAW;EACX,cAAc;EACd,uBAAuB;EACvB,6BAA6B;EAC7B,8BAA8B;EAC9B,6BAA6B;AAC/B;;AAzBwY;EA4BtY,2BAA2B;AAC7B;;AA7B0b;EAgCxb,sCAAsC;AACxC;;AAjC6f;EAoC3f,2BAA2B;AAC7B;;AArCkjB;EAwChjB,sCAAsC;AACxC;;AAzCwnB;EA4CtnB,2BAA2B;AAC7B;;AA7C4qB;EAgD1qB,sCAAsC;AACxC;;AAjDivB;EAoD/uB,YAAY;EACZ,gBAAgB;EAChB,mBAAmB;EACnB,eAAe;AACjB;;AAxDo1B;EA2Dl1B,mBAAmB;EACnB,mBAAmB;EACnB,YAAY;EACZ,mBAAmB;EACnB,2BAA2B;EAC3B,aAAa;AACf;;AAjE88B;EAoE58B,oBAAoB;AACtB;;AArEm/B;EAwEj/B,gBAAgB;EAChB,iBAAiB;EACjB,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;AA7E0mC;EAgFxmC,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;AAnF2qC;EAsFzqC,mBAAmB;AACrB;;AAvFssC;EA0FpsC,mBAAmB;AACrB","sourcesContent":[".errorNumber,.warningNumber,.successNumber{font-size:14px;font-weight:500;line-height:32px}.errorNumber,.errorText{color:#f5222d}.warningNumber,.warningText{color:#fa8c16}.successNumber,.successText{color:#52c41a}.errorButton,.warningButton,.successButton{width:100%;height:90px !important;color:inherit;font-size:inherit !important;padding:4px 0 8px !important;border-radius:12px !important}.errorButton{background-color:rgba(245,34,45,.08)}.errorButton:hover{background-color:rgba(245,34,45,.15) !important}.warningButton{background-color:rgba(250,139,22,.08)}.warningButton:hover{background-color:rgba(250,139,22,.15) !important}.successButton{background-color:rgba(82,196,26,.08)}.successButton:hover{background-color:rgba(82,196,26,.15) !important}.errorText,.warningText,.successText{opacity:.75;font-size:13px;padding-bottom:6px;margin-top:-2px}.container{height:40px;display:flex;align-items:center;padding:10px 20px 10px 5px;border-radius:10px;margin:10px 0 20px 0}.container .icon{margin:0 5px 0 10px}.container .description{margin-right:5px;font-size:14px;font-weight:400;line-height:20px;color:rgba(0,0,0,.6509803922)}.container .data{font-size:14px;font-weight:500;line-height:32px}.common{background:#f0f5ff}.warning{background:#fff7e6}"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://./src/components/Overall/DataSummary.module.scss"],"names":[],"mappings":"AAAA;EACE,YAAY;EACZ,mBAAmB;EACnB,2BAA2B;EAC3B,eAAe;AACjB;;AALsF;EAQpF,mBAAmB;EACnB,aAAa;AACf;;AAV6J;EAa3J,aAAa;EACb,eAAe;AACjB;;AAf8N;EAkB5N,iBAAiB;EACjB,gBAAgB;EAChB,iBAAiB;AACnB;;AArBwS;EAwBtS,gBAAgB;EAChB,iBAAiB;AACnB","sourcesContent":[".container{height:40px;padding:10px 20px 10px 5px;margin:10px 0 20px 0;font-size:14px}.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}.container .data{font-weight:500;line-height:32px}"],"sourceRoot":""}
@@ -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%);
@@ -66,7 +64,6 @@
66
64
  text-underline-position: from-font;
67
65
  -webkit-text-decoration-skip-ink: none;
68
66
  text-decoration-skip-ink: none;
69
- color: #000000a6;
70
67
  font-size: 12px;
71
68
  font-weight: 400;
72
69
  line-height: 20px;
@@ -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,WAAW;EACX,iBAAiB;EACjB,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;AAvBiS;EAA0B;IA2BvT,eAAe;EACjB;AACF;;AA7BwV;EAgCtV,WAAW;EACX,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;AApCyZ;EAuCvZ,aAAa;AACf;;AAxCqb;EA2Cnb,iCAAiC;EACjC,OAAO;EACP,qBAAqB;EACrB,2BAA2B;AAC7B;;AA/CkiB;EAkDhiB,qBAAqB;EACrB,qBAAqB;EACrB,eAAe;AACjB;;AArDqnB;EAwDnnB,eAAe;AACjB;;AAzDypB;EA4DvpB,YAAY;AACd;;AA7DyrB;EAgEvrB,gBAAgB;EAChB,kCAAkC;EAClC,sCAAsC;EACtC,8BAA8B;EAC9B,gBAAgB;EAChB,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB","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;color:#000}@media(max-width: 1500px){.description{font-size:16px}}.unit{font-size:12px;font-weight:400;line-height:32px;color:#000}.treeContainer{display:flex}.treeContainer .line{border-bottom:1px dashed #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}.label{font-size:12px;font-weight:400;line-height:20px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none;color:rgba(0,0,0,.6509803922)}"],"sourceRoot":""}
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,gBAAgB;EAChB,kCAAkC;EAClC,sCAAsC;EACtC,8BAA8B;EAC9B,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB","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}.label{font-size:12px;font-weight:400;line-height:20px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}"],"sourceRoot":""}
@@ -1,5 +1,4 @@
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
 
@@ -8,7 +7,6 @@
8
7
  }
9
8
 
10
9
  :is(.bundleOverall-Ay7WmZ .ant-descriptions-item-label, .bundleOverall-Ay7WmZ .ant-descriptions-item-content) {
11
- color: #000000a6;
12
10
  font-size: 13px;
13
11
  }
14
12
 
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://./src/components/Overall/list.module.scss"],"names":[],"mappings":"AAAA;EACE,gBAAgB;EAChB,eAAe;AACjB;;AAH2J;EAMzJ,+BAA+B;AACjC;;AAP0O;EAUxO,gBAAgB;EAChB,eAAe;AACjB;;AAZmY;EAejY,4BAA4B;AAC9B","sourcesContent":[".projectOverall :global(.ant-descriptions-item-label),.projectOverall :global(.ant-descriptions-item-content){font-size:13px;color:rgba(0,0,0,.6509803922)}.projectOverall :global(.ant-descriptions-item){padding-bottom:10px !important}.bundleOverall :global(.ant-descriptions-item-label),.bundleOverall :global(.ant-descriptions-item-content){font-size:13px;color:rgba(0,0,0,.6509803922)}.bundleOverall :global(.ant-descriptions-item){padding-bottom:0px !important}"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://./src/components/Overall/list.module.scss"],"names":[],"mappings":"AAAA;EACE,eAAe;AACjB;;AAF6H;EAK3H,+BAA+B;AACjC;;AAN4M;EAS1M,eAAe;AACjB;;AAVuU;EAarU,4BAA4B;AAC9B","sourcesContent":[".projectOverall :global(.ant-descriptions-item-label),.projectOverall :global(.ant-descriptions-item-content){font-size:13px}.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){padding-bottom:0px !important}"],"sourceRoot":""}