@antv/dumi-theme-antv 0.7.3-beta.2 → 0.7.3-beta.4
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/builtins/Playground/index.module.less +0 -3
- package/dist/common/GlobalStyles.js +6 -0
- package/dist/common/styles/Antd.js +9 -0
- package/dist/common/styles/Common.js +9 -0
- package/dist/common/styles/index.js +2 -0
- package/dist/common/styles/theme.js +12 -0
- package/dist/common/styles/variables.less +14 -0
- package/dist/layouts/DocLayout.js +48 -21
- package/dist/pages/Example/index.module.less +1 -4
- package/dist/pages/Examples/index.js +4 -5
- package/dist/pages/Examples/index.module.less +10 -12
- package/dist/pages/Index/components/Cases/index.module.less +2 -2
- package/dist/pages/Index/components/Companies/index.js +5 -17
- package/dist/pages/Index/components/Companies/index.module.less +33 -6
- package/dist/pages/Index/components/Detail/News.module.less +1 -0
- package/dist/pages/Index/components/Detail/index.module.less +1 -25
- package/dist/pages/Index/components/Features/index.js +8 -16
- package/dist/pages/Index/components/Features/index.module.less +21 -23
- package/dist/pages/Index/components/_.less +3 -3
- package/dist/plugin/deadLinkChecker.js +35 -15
- package/dist/plugin/index.js +9 -10
- package/dist/plugin/remarkFeedback.js +1 -1
- package/dist/slots/Banner/index.module.less +11 -11
- package/dist/slots/CodeEditor/Toolbar.module.less +1 -1
- package/dist/slots/CodeEditor/index.js +5 -1
- package/dist/slots/CodePreview/CodeHeader.js +2 -1
- package/dist/slots/ExampleSider/index.module.less +4 -6
- package/dist/slots/Feedback/index.js +1 -2
- package/dist/slots/Footer/index.module.less +2 -3
- package/dist/slots/Header/Products/Product.module.less +1 -2
- package/dist/slots/Header/Search/helper.js +1 -0
- package/dist/slots/Header/Search/index.js +1 -3
- package/dist/slots/Header/index.js +28 -24
- package/dist/slots/Header/index.module.less +19 -19
- package/dist/slots/Loading/index.js +12 -4
- package/dist/slots/Loading/index.module.less +0 -1
- package/dist/slots/ManualContent/Main.js +3 -15
- package/dist/slots/ManualContent/index.module.less +11 -14
- package/dist/slots/hooks.js +3 -1
- package/dist/static/style.js +3 -0
- package/package.json +13 -4
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Antd, Common } from "./styles";
|
|
3
|
+
var GlobalStyles = function GlobalStyles() {
|
|
4
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Antd, null), /*#__PURE__*/React.createElement(Common, null));
|
|
5
|
+
};
|
|
6
|
+
export default GlobalStyles;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
var _templateObject;
|
|
2
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
3
|
+
import { css, Global } from '@emotion/react';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
export default (function () {
|
|
6
|
+
return /*#__PURE__*/React.createElement(Global, {
|
|
7
|
+
styles: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .ant-btn-text {\n color: rgba(0, 0, 0, 0.85);\n border-color: transparent;\n background: transparent;\n box-shadow: none;\n }\n "])))
|
|
8
|
+
});
|
|
9
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
var _templateObject;
|
|
2
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
3
|
+
import { css, Global } from '@emotion/react';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
export default (function () {
|
|
6
|
+
return /*#__PURE__*/React.createElement(Global, {
|
|
7
|
+
styles: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n :root {\n --container-max-width: 1440px;\n --container-padding-large: 80px;\n --container-padding-medium: 80px;\n --container-padding-small: 32px;\n --primary-color: #873bf4;\n --toc-width: 260px;\n --border-color-split: #f0f0f0;\n --text-color-secondary: rgba(0, 0, 0, 0.45);\n --text-color: rgba(0, 0, 0, 0.85);\n --font-family: AlibabaPuHuiTiRHeavy, sans-serif;\n }\n\n @font-face {\n font-family: AlibabaPuHuiTiRHeavy;\n src: url(../../font/Alibaba-PuHuiTi-Heavy.otf);\n }\n\n body {\n margin: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans',\n sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n font-variant: tabular-nums;\n line-height: 1.5715;\n background-color: #fff;\n font-feature-settings: 'tnum';\n text-decoration: none;\n }\n\n a {\n text-decoration: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n transition: color 0.3s;\n -webkit-text-decoration-skip: objects;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n > a[aria-hidden]:first-child {\n float: left;\n width: 20px;\n font-size: 0;\n line-height: inherit;\n text-align: right;\n padding-inline-end: 6px;\n margin-inline-start: -20px;\n\n &:hover {\n border: 0;\n }\n\n > .icon-link::before {\n font-size: 20px;\n content: '#';\n }\n }\n\n &:not(:hover) > a[aria-hidden]:first-child > .icon-link {\n visibility: hidden;\n }\n }\n\n /* \u975E\u5E38\u5173\u952E\uFF0C\u7528\u4E8E react-split-pane \u7684\u6837\u5F0F\uFF0C\u5982\u679C\u6CA1\u6709\uFF0C\u4F1A\u6CA1\u6709\u529E\u6CD5\u9F20\u6807\u62D6\u62FD */\n /* \u53C2\u8003\uFF1Ahttps://codesandbox.io/s/mow7x4zyqx */\n .Pane1,\n .Pane2 {\n overflow: auto;\n }\n\n .Resizer {\n z-index: 1;\n box-sizing: border-box;\n background: #000;\n background-clip: padding-box;\n opacity: 0.1;\n\n &:hover {\n transition: all 2s ease;\n }\n\n &.horizontal {\n width: 100%;\n height: 11px;\n margin: -5px 0;\n border-top: 5px solid rgba(255, 255, 255, 0);\n border-bottom: 5px solid rgba(255, 255, 255, 0);\n cursor: row-resize;\n\n &:hover {\n border-top: 5px solid rgba(0, 0, 0, 0.5);\n border-bottom: 5px solid rgba(0, 0, 0, 0.5);\n }\n }\n\n &.vertical {\n width: 11px;\n margin: 0 -5px;\n border-right: 5px solid rgba(255, 255, 255, 0);\n border-left: 5px solid rgba(255, 255, 255, 0);\n cursor: col-resize;\n\n Pane2 {\n border-left: 1px solid #e6e6e6;\n }\n\n &:hover {\n border-right: 5px solid rgba(0, 0, 0, 0.5);\n border-left: 5px solid rgba(0, 0, 0, 0.5);\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n\n &:hover {\n border-color: transparent;\n }\n }\n }\n\n /* \u6BB5\u843D\u53CD\u9988 Icon */\n .comment-link {\n font-size: 0.8em;\n float: right;\n color: #6d7c92;\n transform: scale(0.9);\n transition: background 0.3s, color 0.3s;\n\n &:hover {\n color: #873bf4;\n background-color: #f8f1ff;\n cursor: pointer;\n border-radius: 2px;\n }\n }\n "])))
|
|
8
|
+
});
|
|
9
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export var defaultToken = {
|
|
2
|
+
borderColorSplit: '#f0f0f0',
|
|
3
|
+
borderRadius: 8,
|
|
4
|
+
colorLink: '#873bf4',
|
|
5
|
+
colorPrimary: '#873bf4',
|
|
6
|
+
colorText: 'rgba(0, 0, 0, 0.85)',
|
|
7
|
+
fontFamily: 'AlibabaPuHuiTiRHeavy, sans-serif',
|
|
8
|
+
fontSize: 14,
|
|
9
|
+
primaryColor: '#873bf4',
|
|
10
|
+
textColor: 'rgba(0, 0, 0, 0.85)',
|
|
11
|
+
textColorSecondary: 'rgba(0, 0, 0, 0.45)'
|
|
12
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
.container1440() {
|
|
2
|
+
width: var(--container-max-width);
|
|
3
|
+
max-width: calc(100% - var(--container-padding-large));
|
|
4
|
+
margin-right: auto;
|
|
5
|
+
margin-left: auto;
|
|
6
|
+
|
|
7
|
+
@media only screen and (max-width: 931.99px) {
|
|
8
|
+
max-width: calc(100% - var(--container-padding-medium));
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
@media only screen and (max-width: 767.99px) {
|
|
12
|
+
max-width: calc(100% - var(--container-padding-small));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
4
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
5
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
6
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
|
+
import { createCache, extractStyle, StyleProvider } from '@ant-design/cssinjs';
|
|
8
|
+
import { ConfigProvider } from 'antd';
|
|
1
9
|
import { Helmet, useLocation, useOutlet, useServerInsertedHTML, useSiteData } from 'dumi';
|
|
2
|
-
import
|
|
3
|
-
import path from 'path';
|
|
4
|
-
import { default as React, useEffect } from 'react';
|
|
10
|
+
import React, { useEffect } from 'react';
|
|
5
11
|
import { getPurePathname } from "../utils/location";
|
|
6
12
|
import IndexLayout from "./IndexLayout";
|
|
7
13
|
import ManualLayout from "./ManualLayout";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
import "../
|
|
11
|
-
import "../slots/_.less";
|
|
14
|
+
import GlobalStyles from "../common/GlobalStyles";
|
|
15
|
+
import { defaultToken } from "../common/styles/theme";
|
|
16
|
+
import "../static/style";
|
|
12
17
|
|
|
13
18
|
/**
|
|
14
19
|
* DocLayout 是 dumi2 的内置 layout 入口,在这里使用页面路径进行区分成自己不同的 Layout。
|
|
@@ -21,13 +26,18 @@ export default (function () {
|
|
|
21
26
|
|
|
22
27
|
// 打印控制台文案
|
|
23
28
|
useEffect(function () {
|
|
24
|
-
console.log('%cAntV 让数据栩栩如生', 'color:#5B7102; font-size: 20px;'), console.log('%c新一代数据可视化解决方案', 'color:#5B7102;'), console.log('--------------------------'), console.log('%c关注我们的微信公众号 %c
|
|
29
|
+
console.log('%cAntV 让数据栩栩如生', 'color:#5B7102; font-size: 20px;'), console.log('%c新一代数据可视化解决方案', 'color:#5B7102;'), console.log('--------------------------'), console.log('%c关注我们的微信公众号 %c"数据可视化 AntV"%c,获取我们团队最新的进展、动态、分享,也欢迎加入我们!', 'color: red', 'color: pink', 'color: red');
|
|
25
30
|
}, []);
|
|
26
31
|
var outlet = useOutlet();
|
|
27
32
|
var location = useLocation();
|
|
28
33
|
var pathname = location.pathname,
|
|
29
34
|
hash = location.hash;
|
|
30
35
|
var purePathname = getPurePathname(pathname);
|
|
36
|
+
var _React$useState = React.useState(function () {
|
|
37
|
+
return createCache();
|
|
38
|
+
}),
|
|
39
|
+
_React$useState2 = _slicedToArray(_React$useState, 1),
|
|
40
|
+
styleCache = _React$useState2[0];
|
|
31
41
|
|
|
32
42
|
// 监听 hash 变更,跳转到锚点位置
|
|
33
43
|
// 同时监听页面 loading 状态,因为路由按需加载时需要等待页面渲染完毕才能找到锚点位置
|
|
@@ -59,27 +69,44 @@ export default (function () {
|
|
|
59
69
|
}
|
|
60
70
|
return outlet;
|
|
61
71
|
}, [purePathname]);
|
|
62
|
-
|
|
63
|
-
// 在服务端渲染时注入 CSS 样式
|
|
64
72
|
useServerInsertedHTML(function () {
|
|
65
|
-
var
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
+
var styleText = extractStyle(styleCache, {
|
|
74
|
+
plain: true,
|
|
75
|
+
types: 'style'
|
|
76
|
+
});
|
|
77
|
+
// biome-ignore lint/security/noDangerouslySetInnerHtml: only used in .dumi
|
|
78
|
+
return /*#__PURE__*/React.createElement("style", {
|
|
79
|
+
"data-type": "antd-cssinjs",
|
|
80
|
+
dangerouslySetInnerHTML: {
|
|
81
|
+
__html: styleText
|
|
73
82
|
}
|
|
74
|
-
}
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
useServerInsertedHTML(function () {
|
|
86
|
+
var styleText = extractStyle(styleCache, {
|
|
87
|
+
plain: true,
|
|
88
|
+
types: ['cssVar', 'token']
|
|
89
|
+
});
|
|
75
90
|
return /*#__PURE__*/React.createElement("style", {
|
|
91
|
+
"data-type": "antd-css-var",
|
|
92
|
+
"data-rc-order": "prepend",
|
|
93
|
+
"data-rc-priority": "-9999"
|
|
94
|
+
// biome-ignore lint/security/noDangerouslySetInnerHtml: only used in .dumi
|
|
95
|
+
,
|
|
76
96
|
dangerouslySetInnerHTML: {
|
|
77
|
-
__html:
|
|
97
|
+
__html: styleText
|
|
78
98
|
}
|
|
79
99
|
});
|
|
80
100
|
});
|
|
81
101
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Helmet, null, /*#__PURE__*/React.createElement("link", {
|
|
82
102
|
rel: "shortcut icon",
|
|
83
103
|
href: "https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*7svFR6wkPMoAAAAAAAAAAAAADmJ7AQ/original"
|
|
84
|
-
})),
|
|
104
|
+
})), /*#__PURE__*/React.createElement(StyleProvider, {
|
|
105
|
+
cache: styleCache
|
|
106
|
+
}, /*#__PURE__*/React.createElement(ConfigProvider, {
|
|
107
|
+
theme: {
|
|
108
|
+
token: defaultToken,
|
|
109
|
+
hashed: false
|
|
110
|
+
}
|
|
111
|
+
}, /*#__PURE__*/React.createElement(GlobalStyles, null), content)));
|
|
85
112
|
});
|
|
@@ -5,10 +5,9 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
5
5
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
6
6
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
7
|
import { VerticalAlignTopOutlined } from '@ant-design/icons';
|
|
8
|
-
import { Layout as AntLayout
|
|
8
|
+
import { FloatButton, Layout as AntLayout } from 'antd';
|
|
9
9
|
import React, { lazy, useContext, useEffect } from 'react';
|
|
10
10
|
import { useNavigate } from 'react-router-dom';
|
|
11
|
-
import InViewSuspense from "../../common/InViewSuspense";
|
|
12
11
|
import CommonHelmet from "../../common/CommonHelmet";
|
|
13
12
|
import { ThemeAntVContext } from "../../context";
|
|
14
13
|
import useLocale from "../../hooks/useLocale";
|
|
@@ -56,9 +55,9 @@ var Examples = function Examples() {
|
|
|
56
55
|
}), /*#__PURE__*/React.createElement(AntLayout, {
|
|
57
56
|
hasSider: true,
|
|
58
57
|
className: styles.layout
|
|
59
|
-
}, /*#__PURE__*/React.createElement(
|
|
58
|
+
}, /*#__PURE__*/React.createElement(ExampleTopicMenu, {
|
|
60
59
|
exampleTopics: exampleTopics
|
|
61
|
-
})
|
|
60
|
+
}), /*#__PURE__*/React.createElement(Article, {
|
|
62
61
|
className: styles.markdown
|
|
63
62
|
}, /*#__PURE__*/React.createElement("div", {
|
|
64
63
|
className: styles.main,
|
|
@@ -67,7 +66,7 @@ var Examples = function Examples() {
|
|
|
67
66
|
}
|
|
68
67
|
}, /*#__PURE__*/React.createElement(GalleryPageContent, {
|
|
69
68
|
exampleTopics: exampleTopics
|
|
70
|
-
}), /*#__PURE__*/React.createElement(BackTop, {
|
|
69
|
+
}), /*#__PURE__*/React.createElement(FloatButton.BackTop, {
|
|
71
70
|
style: {
|
|
72
71
|
right: 24
|
|
73
72
|
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
@import 'antd/es/style/themes/default.less';
|
|
2
|
-
|
|
3
1
|
// 参考 yuque 右侧 tabOfContent 宽度
|
|
4
2
|
@toc-width: 260px;
|
|
5
3
|
|
|
@@ -11,7 +9,7 @@
|
|
|
11
9
|
margin-bottom: 20px;
|
|
12
10
|
font-weight: 500;
|
|
13
11
|
font-size: 30px;
|
|
14
|
-
font-family:
|
|
12
|
+
font-family: var(--font-family);
|
|
15
13
|
line-height: 38px;
|
|
16
14
|
}
|
|
17
15
|
|
|
@@ -32,7 +30,7 @@
|
|
|
32
30
|
clear: both;
|
|
33
31
|
margin: 1em 0 0.3em;
|
|
34
32
|
font-weight: 500;
|
|
35
|
-
font-family:
|
|
33
|
+
font-family: var(--font-family);
|
|
36
34
|
}
|
|
37
35
|
|
|
38
36
|
h3 {
|
|
@@ -40,7 +38,7 @@
|
|
|
40
38
|
margin-bottom: 4px;
|
|
41
39
|
font-weight: 600;
|
|
42
40
|
line-height: 30px;
|
|
43
|
-
border-bottom: 1px solid
|
|
41
|
+
border-bottom: 1px solid var(--border-color-split);
|
|
44
42
|
}
|
|
45
43
|
|
|
46
44
|
h4 {
|
|
@@ -61,7 +59,7 @@
|
|
|
61
59
|
clear: both;
|
|
62
60
|
height: 1px;
|
|
63
61
|
margin: 56px 0;
|
|
64
|
-
background:
|
|
62
|
+
background: var(--border-color-split);
|
|
65
63
|
border: 0;
|
|
66
64
|
}
|
|
67
65
|
|
|
@@ -145,7 +143,7 @@
|
|
|
145
143
|
width: 100%;
|
|
146
144
|
margin: 24px 0;
|
|
147
145
|
empty-cells: show;
|
|
148
|
-
border: 1px solid
|
|
146
|
+
border: 1px solid var(--border-color-split);
|
|
149
147
|
border-collapse: collapse;
|
|
150
148
|
border-spacing: 0;
|
|
151
149
|
|
|
@@ -164,7 +162,7 @@
|
|
|
164
162
|
table td {
|
|
165
163
|
padding: 4px 12px;
|
|
166
164
|
text-align: left;
|
|
167
|
-
border: 1px solid
|
|
165
|
+
border: 1px solid var(--border-color-split);
|
|
168
166
|
line-height: 24px;
|
|
169
167
|
}
|
|
170
168
|
|
|
@@ -182,9 +180,9 @@
|
|
|
182
180
|
blockquote {
|
|
183
181
|
margin: 0.5em 0;
|
|
184
182
|
padding-left: 0.8em;
|
|
185
|
-
color:
|
|
183
|
+
color: var(--text-color-secondary);
|
|
186
184
|
font-size: 90%;
|
|
187
|
-
border-left: 4px solid
|
|
185
|
+
border-left: 4px solid var(--border-color-split);
|
|
188
186
|
}
|
|
189
187
|
|
|
190
188
|
blockquote p {
|
|
@@ -266,7 +264,7 @@
|
|
|
266
264
|
white-space: nowrap;
|
|
267
265
|
|
|
268
266
|
a {
|
|
269
|
-
color:
|
|
267
|
+
color: var(--text-color);
|
|
270
268
|
}
|
|
271
269
|
}
|
|
272
270
|
}
|
|
@@ -382,7 +380,7 @@
|
|
|
382
380
|
}
|
|
383
381
|
|
|
384
382
|
> div {
|
|
385
|
-
border: 1px solid
|
|
383
|
+
border: 1px solid var(--border-color-split);
|
|
386
384
|
border-radius: 6px;
|
|
387
385
|
overflow: hidden;
|
|
388
386
|
height: calc(100vw / 9 - 20px);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@import '
|
|
1
|
+
@import '../../../../common/styles/variables.less';
|
|
2
2
|
|
|
3
3
|
.wrapper {
|
|
4
4
|
height: 667px;
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
margin: 20px 0 0 0;
|
|
57
57
|
|
|
58
58
|
.detail {
|
|
59
|
-
color:
|
|
59
|
+
color: var(--primary-color);
|
|
60
60
|
font-size: 1em;
|
|
61
61
|
}
|
|
62
62
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Col, Row } from 'antd';
|
|
2
1
|
import cx from 'classnames';
|
|
3
2
|
import React from 'react';
|
|
4
3
|
import styles from "./index.module.less";
|
|
@@ -13,30 +12,19 @@ export var Companies = function Companies(_ref) {
|
|
|
13
12
|
style: style
|
|
14
13
|
}, /*#__PURE__*/React.createElement("div", {
|
|
15
14
|
key: "content",
|
|
16
|
-
className: styles.content
|
|
15
|
+
className: cx(styles.content, 'container1440')
|
|
17
16
|
}, /*#__PURE__*/React.createElement("p", {
|
|
18
17
|
key: "title",
|
|
19
18
|
className: styles.title
|
|
20
19
|
}, title), /*#__PURE__*/React.createElement("div", {
|
|
21
20
|
key: "companies-container",
|
|
22
21
|
className: styles.companiesContainer
|
|
23
|
-
}, /*#__PURE__*/React.createElement(
|
|
24
|
-
|
|
25
|
-
gutter: [{
|
|
26
|
-
xs: 77,
|
|
27
|
-
sm: 77,
|
|
28
|
-
md: 50,
|
|
29
|
-
lg: 124
|
|
30
|
-
}, 10],
|
|
31
|
-
wrap: true,
|
|
32
|
-
className: styles.companies
|
|
22
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
23
|
+
className: styles.companiesGrid
|
|
33
24
|
}, companies.map(function (company) {
|
|
34
|
-
return /*#__PURE__*/React.createElement(
|
|
25
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
35
26
|
key: company.name,
|
|
36
|
-
className: styles.company
|
|
37
|
-
md: 6,
|
|
38
|
-
sm: 8,
|
|
39
|
-
xs: 12
|
|
27
|
+
className: styles.company
|
|
40
28
|
}, /*#__PURE__*/React.createElement("img", {
|
|
41
29
|
className: styles.companyimg,
|
|
42
30
|
src: company.img,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@import '
|
|
1
|
+
@import '../../../../common/styles/variables.less';
|
|
2
2
|
|
|
3
3
|
.wrapper {
|
|
4
4
|
display: flex;
|
|
@@ -31,15 +31,42 @@
|
|
|
31
31
|
position: relative;
|
|
32
32
|
margin: auto;
|
|
33
33
|
margin-top: 48px;
|
|
34
|
+
}
|
|
34
35
|
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
.companiesGrid {
|
|
37
|
+
display: grid;
|
|
38
|
+
grid-template-columns: repeat(4, 1fr);
|
|
39
|
+
gap: 10px 124px;
|
|
40
|
+
width: 100%;
|
|
37
41
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
42
|
+
@media only screen and (max-width: 992px) {
|
|
43
|
+
grid-template-columns: repeat(4, 1fr);
|
|
44
|
+
gap: 10px 50px;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@media only screen and (max-width: 768px) {
|
|
48
|
+
grid-template-columns: repeat(3, 1fr);
|
|
49
|
+
gap: 10px 77px;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@media only screen and (max-width: 576px) {
|
|
53
|
+
grid-template-columns: repeat(2, 1fr);
|
|
54
|
+
gap: 10px 77px;
|
|
41
55
|
}
|
|
42
56
|
}
|
|
57
|
+
|
|
58
|
+
.company {
|
|
59
|
+
display: flex;
|
|
60
|
+
justify-content: center;
|
|
61
|
+
align-items: center;
|
|
62
|
+
padding: 12px;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.companyimg {
|
|
66
|
+
width: 100%;
|
|
67
|
+
height: auto;
|
|
68
|
+
object-fit: contain;
|
|
69
|
+
}
|
|
43
70
|
}
|
|
44
71
|
|
|
45
72
|
@media (max-width: 768px) {
|
|
@@ -1,28 +1,4 @@
|
|
|
1
|
-
@import '
|
|
2
|
-
|
|
3
|
-
@font-face {
|
|
4
|
-
font-family: AlibabaPuHuiTiRHeavy;
|
|
5
|
-
src: url(../../font/Alibaba-PuHuiTi-Heavy.otf);
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
.container1440() {
|
|
9
|
-
width: 1440px;
|
|
10
|
-
max-width: calc(100% - 80px);
|
|
11
|
-
margin-left: auto;
|
|
12
|
-
margin-right: auto;
|
|
13
|
-
|
|
14
|
-
@media only screen and (max-width: 931.99px) {
|
|
15
|
-
& {
|
|
16
|
-
max-width: calc(100% - 60px);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
@media only screen and (max-width: 767.99px) {
|
|
21
|
-
& {
|
|
22
|
-
max-width: calc(100% - 32px);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
1
|
+
@import '../../../../common/styles/variables.less';
|
|
26
2
|
|
|
27
3
|
.wrapper {
|
|
28
4
|
min-height: 650px;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Col, Row } from 'antd';
|
|
2
1
|
import cx from 'classnames';
|
|
3
2
|
import React from 'react';
|
|
4
3
|
import { ic } from "../../../../slots/hooks";
|
|
@@ -11,17 +10,6 @@ export var Features = function Features(_ref) {
|
|
|
11
10
|
className = _ref.className,
|
|
12
11
|
style = _ref.style,
|
|
13
12
|
id = _ref.id;
|
|
14
|
-
var getCards = function getCards() {
|
|
15
|
-
var children = features.map(function (card) {
|
|
16
|
-
return /*#__PURE__*/React.createElement(Col, {
|
|
17
|
-
className: styles.cardWrapper,
|
|
18
|
-
key: ic(card.title),
|
|
19
|
-
md: 8,
|
|
20
|
-
xs: 24
|
|
21
|
-
}, /*#__PURE__*/React.createElement(FeatureCard, card));
|
|
22
|
-
});
|
|
23
|
-
return children;
|
|
24
|
-
};
|
|
25
13
|
return /*#__PURE__*/React.createElement("div", {
|
|
26
14
|
id: id,
|
|
27
15
|
className: cx(styles.wrapper, className),
|
|
@@ -36,8 +24,12 @@ export var Features = function Features(_ref) {
|
|
|
36
24
|
}, title ? ic(title) : ''), /*#__PURE__*/React.createElement("div", {
|
|
37
25
|
key: "block",
|
|
38
26
|
className: styles.cardsContainer
|
|
39
|
-
}, /*#__PURE__*/React.createElement(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
27
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
28
|
+
className: styles.cardsGrid
|
|
29
|
+
}, features.map(function (card) {
|
|
30
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
31
|
+
key: ic(card.title),
|
|
32
|
+
className: styles.cardWrapper
|
|
33
|
+
}, /*#__PURE__*/React.createElement(FeatureCard, card));
|
|
34
|
+
}))))));
|
|
43
35
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@import '
|
|
1
|
+
@import '../../../../common/styles/variables.less';
|
|
2
2
|
|
|
3
3
|
.wrapper {
|
|
4
4
|
display: flex;
|
|
@@ -34,32 +34,30 @@
|
|
|
34
34
|
width: 100%;
|
|
35
35
|
height: 65%;
|
|
36
36
|
position: relative;
|
|
37
|
+
margin-top: 48px;
|
|
38
|
+
}
|
|
37
39
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
flex-wrap: wrap;
|
|
44
|
-
box-sizing: border-box;
|
|
45
|
-
padding: 0 4.5%;
|
|
46
|
-
|
|
47
|
-
.cardWrapper {
|
|
48
|
-
margin: 48px 0 30px 0;
|
|
49
|
-
background-color: #ffffff;
|
|
50
|
-
border: 1px solid #e5e8ef;
|
|
51
|
-
box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.03);
|
|
52
|
-
border-radius: 16px;
|
|
53
|
-
overflow: hidden;
|
|
54
|
-
margin-right: 29px;
|
|
55
|
-
flex: 1;
|
|
40
|
+
.cardsGrid {
|
|
41
|
+
display: grid;
|
|
42
|
+
grid-template-columns: repeat(3, 1fr);
|
|
43
|
+
gap: 24px;
|
|
44
|
+
width: 100%;
|
|
56
45
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
}
|
|
46
|
+
@media only screen and (max-width: 768px) {
|
|
47
|
+
grid-template-columns: 1fr;
|
|
61
48
|
}
|
|
62
49
|
}
|
|
50
|
+
|
|
51
|
+
.cardWrapper {
|
|
52
|
+
display: flex;
|
|
53
|
+
justify-content: center;
|
|
54
|
+
width: 100%;
|
|
55
|
+
background-color: #ffffff;
|
|
56
|
+
border: 1px solid #e5e8ef;
|
|
57
|
+
box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.03);
|
|
58
|
+
border-radius: 16px;
|
|
59
|
+
overflow: hidden;
|
|
60
|
+
}
|
|
63
61
|
}
|
|
64
62
|
|
|
65
63
|
@media (max-width: 900px) {
|
|
@@ -184,12 +184,12 @@ async function runCheck(config) {
|
|
|
184
184
|
};
|
|
185
185
|
}
|
|
186
186
|
function generateReport(result) {
|
|
187
|
-
console.log();
|
|
188
187
|
if (result.deadLinks.length === 0) {
|
|
189
188
|
console.log(import_chalk.default.green(`✓ Check completed: All ${result.totalLinks} links are valid`));
|
|
190
189
|
console.log();
|
|
191
190
|
return;
|
|
192
191
|
}
|
|
192
|
+
const reportFile = path.join(process.cwd(), "dead-links-report.log");
|
|
193
193
|
const linksByFile = result.deadLinks.reduce((acc, link) => {
|
|
194
194
|
if (!acc[link.sourceFile]) {
|
|
195
195
|
acc[link.sourceFile] = [];
|
|
@@ -197,24 +197,44 @@ function generateReport(result) {
|
|
|
197
197
|
acc[link.sourceFile].push(link);
|
|
198
198
|
return acc;
|
|
199
199
|
}, {});
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
200
|
+
const reportLines = [
|
|
201
|
+
`Dead Links Report (${(/* @__PURE__ */ new Date()).toISOString()})`,
|
|
202
|
+
`Found ${result.deadLinks.length}/${result.totalLinks} dead links in ${Object.keys(linksByFile).length} files`,
|
|
203
|
+
""
|
|
204
|
+
];
|
|
205
205
|
Object.entries(linksByFile).forEach(([file, links]) => {
|
|
206
|
-
|
|
207
|
-
console.log(import_chalk.default.yellow(`📄 ${file}:`));
|
|
206
|
+
reportLines.push(`File: ${file}`);
|
|
208
207
|
links.forEach((link) => {
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
208
|
+
reportLines.push(` ✗ ${link.url}`);
|
|
209
|
+
reportLines.push(` • Text: ${link.text}`);
|
|
210
|
+
reportLines.push(` • Reason: ${link.reason}`);
|
|
212
211
|
});
|
|
212
|
+
reportLines.push("");
|
|
213
213
|
});
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
214
|
+
try {
|
|
215
|
+
fs.writeFileSync(reportFile, reportLines.join("\n"), "utf-8");
|
|
216
|
+
const gitignorePath = path.join(process.cwd(), ".gitignore");
|
|
217
|
+
const gitignoreContent = fs.existsSync(gitignorePath) ? fs.readFileSync(gitignorePath, "utf-8") : "";
|
|
218
|
+
if (!gitignoreContent.includes("dead-links-report.log")) {
|
|
219
|
+
fs.appendFileSync(gitignorePath, "\n# Dead links report\ndead-links-report.log\n");
|
|
220
|
+
}
|
|
221
|
+
console.log();
|
|
222
|
+
console.log(import_chalk.default.yellow("📊 Dead Links Summary:"));
|
|
223
|
+
console.log(import_chalk.default.yellow(`Found ${result.deadLinks.length} dead links in ${Object.keys(linksByFile).length} files`));
|
|
224
|
+
console.log();
|
|
225
|
+
Object.entries(linksByFile).forEach(([file, links]) => {
|
|
226
|
+
console.log(
|
|
227
|
+
import_chalk.default.red(`✗ ${file}`),
|
|
228
|
+
import_chalk.default.gray(`(${links.length} dead ${links.length === 1 ? "link" : "links"})`)
|
|
229
|
+
);
|
|
230
|
+
});
|
|
231
|
+
console.log();
|
|
232
|
+
console.log(import_chalk.default.cyan(`💡 Detailed report: ${reportFile}`));
|
|
233
|
+
console.log();
|
|
234
|
+
} catch (error) {
|
|
235
|
+
console.error(import_chalk.default.red("Failed to write report file:"), error);
|
|
236
|
+
console.log(reportLines.join("\n"));
|
|
237
|
+
}
|
|
218
238
|
}
|
|
219
239
|
var deadLinkChecker_default = (api) => {
|
|
220
240
|
const getConfig = () => {
|