@antv/dumi-theme-antv 0.1.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 (111) hide show
  1. package/README.md +9 -0
  2. package/es/antv/404/index.js +20 -0
  3. package/es/antv/Banner/Banner.module.less +412 -0
  4. package/es/antv/Banner/Notification.js +44 -0
  5. package/es/antv/Banner/Notification.module.less +108 -0
  6. package/es/antv/Banner/index.js +115 -0
  7. package/es/antv/Cases/Cases.js +124 -0
  8. package/es/antv/Cases/Cases.module.less +203 -0
  9. package/es/antv/Features/FeatureCard.js +25 -0
  10. package/es/antv/Features/FeatureCard.module.less +51 -0
  11. package/es/antv/Features/Features.module.less +169 -0
  12. package/es/antv/Features/index.js +102 -0
  13. package/es/antv/Footer/Footer.module.less +36 -0
  14. package/es/antv/Footer/index.js +232 -0
  15. package/es/antv/Header/Logo.js +130 -0
  16. package/es/antv/Products/Product.js +61 -0
  17. package/es/antv/Products/Product.module.less +146 -0
  18. package/es/antv/Products/getNewProducts.js +41 -0
  19. package/es/antv/Products/getProducts.js +466 -0
  20. package/es/antv/Products/index.js +81 -0
  21. package/es/antv/hooks.js +81 -0
  22. package/es/antv/mixins.less +21 -0
  23. package/es/antv/utils.js +49 -0
  24. package/es/builtins/API.js +37 -0
  25. package/es/builtins/Alert.js +9 -0
  26. package/es/builtins/Alert.less +62 -0
  27. package/es/builtins/Badge.js +9 -0
  28. package/es/builtins/Badge.less +31 -0
  29. package/es/builtins/Example.js +48 -0
  30. package/es/builtins/Example.less +47 -0
  31. package/es/builtins/Previewer.js +225 -0
  32. package/es/builtins/Previewer.less +406 -0
  33. package/es/builtins/SourceCode.js +72 -0
  34. package/es/builtins/SourceCode.less +103 -0
  35. package/es/builtins/Table.js +56 -0
  36. package/es/builtins/Table.less +43 -0
  37. package/es/builtins/Tree.js +219 -0
  38. package/es/builtins/Tree.less +159 -0
  39. package/es/components/Dark.js +125 -0
  40. package/es/components/Dark.less +121 -0
  41. package/es/components/LocaleSelect.js +53 -0
  42. package/es/components/LocaleSelect.less +59 -0
  43. package/es/components/Navbar.js +155 -0
  44. package/es/components/Navbar.less +180 -0
  45. package/es/components/SearchBar.js +83 -0
  46. package/es/components/SearchBar.less +165 -0
  47. package/es/components/SideMenu.js +99 -0
  48. package/es/components/SideMenu.less +379 -0
  49. package/es/components/SlugList.js +33 -0
  50. package/es/components/SlugList.less +18 -0
  51. package/es/layout.js +276 -0
  52. package/es/style/layout.less +402 -0
  53. package/es/style/markdown.less +240 -0
  54. package/es/style/variables.less +37 -0
  55. package/package.json +58 -0
  56. package/src/antv/404/index.tsx +25 -0
  57. package/src/antv/Banner/Banner.module.less +412 -0
  58. package/src/antv/Banner/Notification.module.less +108 -0
  59. package/src/antv/Banner/Notification.tsx +45 -0
  60. package/src/antv/Banner/index.tsx +121 -0
  61. package/src/antv/Cases/Cases.module.less +203 -0
  62. package/src/antv/Cases/Cases.tsx +116 -0
  63. package/src/antv/Features/FeatureCard.module.less +51 -0
  64. package/src/antv/Features/FeatureCard.tsx +24 -0
  65. package/src/antv/Features/Features.module.less +169 -0
  66. package/src/antv/Features/index.tsx +86 -0
  67. package/src/antv/Footer/Footer.module.less +36 -0
  68. package/src/antv/Footer/index.tsx +272 -0
  69. package/src/antv/Header/Logo.tsx +85 -0
  70. package/src/antv/Products/Product.module.less +146 -0
  71. package/src/antv/Products/Product.tsx +80 -0
  72. package/src/antv/Products/getNewProducts.tsx +53 -0
  73. package/src/antv/Products/getProducts.tsx +626 -0
  74. package/src/antv/Products/index.tsx +70 -0
  75. package/src/antv/hooks.ts +87 -0
  76. package/src/antv/mixins.less +21 -0
  77. package/src/antv/utils.ts +44 -0
  78. package/src/builtins/API.tsx +57 -0
  79. package/src/builtins/Alert.less +62 -0
  80. package/src/builtins/Alert.tsx +4 -0
  81. package/src/builtins/Badge.less +31 -0
  82. package/src/builtins/Badge.tsx +4 -0
  83. package/src/builtins/Example.less +47 -0
  84. package/src/builtins/Example.tsx +34 -0
  85. package/src/builtins/Previewer.less +406 -0
  86. package/src/builtins/Previewer.tsx +264 -0
  87. package/src/builtins/SourceCode.less +103 -0
  88. package/src/builtins/SourceCode.tsx +55 -0
  89. package/src/builtins/Table.less +43 -0
  90. package/src/builtins/Table.tsx +42 -0
  91. package/src/builtins/Tree.less +159 -0
  92. package/src/builtins/Tree.tsx +130 -0
  93. package/src/components/Dark.less +121 -0
  94. package/src/components/Dark.tsx +78 -0
  95. package/src/components/LocaleSelect.less +59 -0
  96. package/src/components/LocaleSelect.tsx +53 -0
  97. package/src/components/Navbar.less +180 -0
  98. package/src/components/Navbar.tsx +152 -0
  99. package/src/components/SearchBar.less +165 -0
  100. package/src/components/SearchBar.tsx +68 -0
  101. package/src/components/SideMenu.less +379 -0
  102. package/src/components/SideMenu.tsx +148 -0
  103. package/src/components/SlugList.less +18 -0
  104. package/src/components/SlugList.tsx +20 -0
  105. package/src/layout.tsx +225 -0
  106. package/src/style/layout.less +402 -0
  107. package/src/style/markdown.less +240 -0
  108. package/src/style/variables.less +37 -0
  109. package/src/test/SearchBar.test.ts +32 -0
  110. package/src/test/Table.test.tsx +41 -0
  111. package/src/test/index.test.tsx +377 -0
@@ -0,0 +1,466 @@
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
+
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+
5
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+
7
+ import { AreaChartOutlined, DingdingOutlined, GithubOutlined, HistoryOutlined, HomeOutlined, PieChartOutlined, ReadOutlined, YuqueOutlined } from "@ant-design/icons";
8
+ import { each } from "lodash";
9
+ import React from "react";
10
+ import { getChinaMirrorHost } from "../utils";
11
+
12
+ var tuple = function tuple() {
13
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
14
+ args[_key] = arguments[_key];
15
+ }
16
+
17
+ return args;
18
+ };
19
+
20
+ var Categories = tuple("basic", "extension", "ecology");
21
+ var Link = tuple("home", "example", "api");
22
+ var ANTV_DOMAIN = "antv.vision";
23
+ export var getProducts = function getProducts(_ref) {
24
+ var t = _ref.t,
25
+ language = _ref.language,
26
+ _ref$isChinaMirrorHos = _ref.isChinaMirrorHost,
27
+ isChinaMirrorHost = _ref$isChinaMirrorHos === void 0 ? false : _ref$isChinaMirrorHos;
28
+ var hosts = {};
29
+ ["g2", "g2plot", "g6", "l7", "f2", "f2native", "graphin", "g", "x6", "ava"].forEach(function (name) {
30
+ hosts[name] = isChinaMirrorHost ? getChinaMirrorHost("".concat(name, ".").concat(ANTV_DOMAIN)) : "".concat(name, ".").concat(ANTV_DOMAIN);
31
+ });
32
+ var products = [{
33
+ title: "G2",
34
+ icon: "https://gw.alipayobjects.com/zos/antfincdn/trEfLRh5pc/G2%252520keshihuatuxingyufa.svg",
35
+ slogan: t("可视化引擎"),
36
+ description: t("数据驱动,高度易用,可扩展的可视化图形语法。"),
37
+ category: Categories[0],
38
+ links: [{
39
+ icon: /*#__PURE__*/React.createElement(HomeOutlined, null),
40
+ title: t("产品首页"),
41
+ url: "https://".concat(hosts.g2, "/").concat(language)
42
+ }, {
43
+ icon: /*#__PURE__*/React.createElement(PieChartOutlined, null),
44
+ title: t("图表示例"),
45
+ url: "https://".concat(hosts.g2, "/").concat(language, "/examples")
46
+ }, {
47
+ icon: /*#__PURE__*/React.createElement(ReadOutlined, null),
48
+ title: t("使用文档"),
49
+ url: "https://".concat(hosts.g2, "/").concat(language, "/docs/manual")
50
+ }, {
51
+ icon: /*#__PURE__*/React.createElement(ReadOutlined, null),
52
+ title: t("API 文档"),
53
+ url: "https://".concat(hosts.g2, "/").concat(language, "/docs/api")
54
+ }, {
55
+ icon: /*#__PURE__*/React.createElement(HistoryOutlined, null),
56
+ title: t("更新日志"),
57
+ url: "https://github.com/antvis/g2/blob/master/CHANGELOG.md",
58
+ openExternal: true
59
+ }, {
60
+ icon: /*#__PURE__*/React.createElement(GithubOutlined, null),
61
+ title: t("GitHub 仓库"),
62
+ url: "https://github.com/antvis/g2",
63
+ openExternal: true
64
+ }, {
65
+ icon: "🇨🇳",
66
+ title: t("国内镜像"),
67
+ url: "https://antv-g2.gitee.io",
68
+ openExternal: true
69
+ }]
70
+ }, {
71
+ title: "F2",
72
+ icon: "https://gw.alipayobjects.com/zos/antfincdn/D%26fDbWqVkv/F2%252520yidongduankeshihuafangan.svg",
73
+ slogan: t("移动可视化方案"),
74
+ description: t("专注于移动端的可视化解决方案,兼容 H5/小程序/Weex 等多端环境"),
75
+ category: Categories[0],
76
+ links: [{
77
+ icon: /*#__PURE__*/React.createElement(HomeOutlined, null),
78
+ title: t("产品首页"),
79
+ url: "https://".concat(hosts.f2, "/").concat(language)
80
+ }, {
81
+ icon: /*#__PURE__*/React.createElement(PieChartOutlined, null),
82
+ title: t("图表示例"),
83
+ url: "https://".concat(hosts.f2, "/").concat(language, "/examples")
84
+ }, {
85
+ icon: /*#__PURE__*/React.createElement(ReadOutlined, null),
86
+ title: t("使用文档"),
87
+ url: "https://".concat(hosts.f2, "/").concat(language, "/docs/tutorial/getting-started")
88
+ }, {
89
+ icon: /*#__PURE__*/React.createElement(ReadOutlined, null),
90
+ title: t("API 文档"),
91
+ url: "https://".concat(hosts.f2, "/").concat(language, "/docs/api")
92
+ }, {
93
+ icon: /*#__PURE__*/React.createElement(HistoryOutlined, null),
94
+ title: t("更新日志"),
95
+ url: "https://github.com/antvis/f2/blob/master/CHANGELOG.md",
96
+ openExternal: true
97
+ }, {
98
+ icon: /*#__PURE__*/React.createElement(GithubOutlined, null),
99
+ title: t("GitHub 仓库"),
100
+ url: "https://github.com/antvis/f2",
101
+ openExternal: true
102
+ }, {
103
+ icon: "🇨🇳",
104
+ title: t("国内镜像"),
105
+ url: "https://antv-f2.gitee.io",
106
+ openExternal: true
107
+ }]
108
+ }, {
109
+ title: "G6",
110
+ icon: "https://gw.alipayobjects.com/zos/antfincdn/zS1wZZJVcJ/G6%252520tukeshihuayinqing.svg",
111
+ slogan: t("图可视化引擎"),
112
+ description: t("便捷的关系数据可视化引擎与图分析工具。"),
113
+ category: Categories[0],
114
+ links: [{
115
+ icon: /*#__PURE__*/React.createElement(HomeOutlined, null),
116
+ title: t("产品首页"),
117
+ url: "https://".concat(hosts.g6, "/").concat(language)
118
+ }, {
119
+ icon: /*#__PURE__*/React.createElement(PieChartOutlined, null),
120
+ title: t("图表示例"),
121
+ url: "https://".concat(hosts.g6, "/").concat(language, "/examples")
122
+ }, {
123
+ icon: /*#__PURE__*/React.createElement(ReadOutlined, null),
124
+ title: t("使用文档"),
125
+ url: "https://".concat(hosts.g6, "/").concat(language, "/docs/manual")
126
+ }, {
127
+ icon: /*#__PURE__*/React.createElement(ReadOutlined, null),
128
+ title: t("API 文档"),
129
+ url: "https://".concat(hosts.g6, "/").concat(language, "/docs/api")
130
+ }, {
131
+ icon: /*#__PURE__*/React.createElement(HistoryOutlined, null),
132
+ title: t("更新日志"),
133
+ url: "https://github.com/antvis/g6/blob/master/CHANGELOG.md",
134
+ openExternal: true
135
+ }, {
136
+ icon: /*#__PURE__*/React.createElement(GithubOutlined, null),
137
+ title: t("GitHub 仓库"),
138
+ url: "https://github.com/antvis/g6",
139
+ openExternal: true
140
+ }, {
141
+ icon: "🇨🇳",
142
+ title: t("国内镜像"),
143
+ url: "https://antv-g6.gitee.io",
144
+ openExternal: true
145
+ }]
146
+ }, {
147
+ title: "X6",
148
+ icon: "https://gw.alipayobjects.com/zos/bmw-prod/1d5e84d0-d153-4648-81c0-397b3d383d2c.svg",
149
+ slogan: t("图编辑引擎"),
150
+ description: t("极易定制、开箱即用、数据驱动的图编辑引擎"),
151
+ category: Categories[0],
152
+ links: [{
153
+ icon: /*#__PURE__*/React.createElement(HomeOutlined, null),
154
+ title: t("产品首页"),
155
+ url: "https://".concat(hosts.x6, "/").concat(language)
156
+ }, {
157
+ icon: /*#__PURE__*/React.createElement(PieChartOutlined, null),
158
+ title: t("图表示例"),
159
+ url: "https://".concat(hosts.x6, "/").concat(language, "/examples")
160
+ }, {
161
+ icon: /*#__PURE__*/React.createElement(ReadOutlined, null),
162
+ title: t("使用文档"),
163
+ url: "https://".concat(hosts.x6, "/").concat(language, "/docs/tutorial/about/")
164
+ }, {
165
+ icon: /*#__PURE__*/React.createElement(ReadOutlined, null),
166
+ title: t("API 文档"),
167
+ url: "https://".concat(hosts.x6, "/").concat(language, "/docs/api/graph/")
168
+ }, {
169
+ icon: /*#__PURE__*/React.createElement(GithubOutlined, null),
170
+ title: t("GitHub 仓库"),
171
+ url: "https://github.com/antvis/x6",
172
+ openExternal: true
173
+ }, {
174
+ icon: "🇨🇳",
175
+ title: t("国内镜像"),
176
+ url: "https://antv-x6.gitee.io",
177
+ openExternal: true
178
+ }]
179
+ }, {
180
+ title: "L7",
181
+ icon: "https://gw.alipayobjects.com/zos/antfincdn/OI%26h7HXH33/L7%252520dilikongjianshujukeshihua.svg",
182
+ slogan: t("地理空间数据可视化"),
183
+ description: t("高性能/高渲染质量的地理空间数据可视化框架。"),
184
+ category: Categories[0],
185
+ links: [{
186
+ icon: /*#__PURE__*/React.createElement(HomeOutlined, null),
187
+ title: t("产品首页"),
188
+ url: "https://".concat(hosts.l7, "/").concat(language)
189
+ }, {
190
+ icon: /*#__PURE__*/React.createElement(PieChartOutlined, null),
191
+ title: t("图表示例"),
192
+ url: "https://".concat(hosts.l7, "/").concat(language, "/examples")
193
+ }, {
194
+ icon: /*#__PURE__*/React.createElement(ReadOutlined, null),
195
+ title: t("使用文档"),
196
+ url: "https://".concat(hosts.l7, "/").concat(language, "/docs/tutorial")
197
+ }, {
198
+ icon: /*#__PURE__*/React.createElement(ReadOutlined, null),
199
+ title: t("API 文档"),
200
+ url: "https://".concat(hosts.l7, "/").concat(language, "/docs/api/l7")
201
+ }, {
202
+ icon: /*#__PURE__*/React.createElement(HistoryOutlined, null),
203
+ title: t("更新日志"),
204
+ url: "https://github.com/antvis/L7/blob/master/CHANGELOG.md",
205
+ openExternal: true
206
+ }, {
207
+ icon: /*#__PURE__*/React.createElement(GithubOutlined, null),
208
+ title: t("GitHub 仓库"),
209
+ url: "https://github.com/antvis/L7",
210
+ openExternal: true
211
+ }, {
212
+ icon: "🇨🇳",
213
+ title: t("国内镜像"),
214
+ url: "https://antv-l7.gitee.io",
215
+ openExternal: true
216
+ }]
217
+ }, {
218
+ title: "G2Plot",
219
+ icon: "https://gw.alipayobjects.com/zos/antfincdn/SlbIagEvT7/G2plot.svg",
220
+ slogan: t("开箱即用的图表库"),
221
+ description: t("开箱即用、易于配置、极致体验的通用图表库。"),
222
+ category: Categories[1],
223
+ links: [{
224
+ icon: /*#__PURE__*/React.createElement(HomeOutlined, null),
225
+ title: t("产品首页"),
226
+ url: "https://".concat(hosts.g2plot, "/").concat(language)
227
+ }, {
228
+ icon: /*#__PURE__*/React.createElement(PieChartOutlined, null),
229
+ title: t("图表示例"),
230
+ url: "https://".concat(hosts.g2plot, "/").concat(language, "/examples")
231
+ }, {
232
+ icon: /*#__PURE__*/React.createElement(ReadOutlined, null),
233
+ title: t("使用文档"),
234
+ url: "https://".concat(hosts.g2plot, "/").concat(language, "/docs/manual")
235
+ }, {
236
+ icon: /*#__PURE__*/React.createElement(ReadOutlined, null),
237
+ title: t("API 文档"),
238
+ url: "https://".concat(hosts.g2plot, "/").concat(language, "/docs/api")
239
+ }, {
240
+ icon: /*#__PURE__*/React.createElement(HistoryOutlined, null),
241
+ title: t("更新日志"),
242
+ url: "https://github.com/antvis/g2plot/blob/master/CHANGELOG.md",
243
+ openExternal: true
244
+ }, {
245
+ icon: /*#__PURE__*/React.createElement(GithubOutlined, null),
246
+ title: t("GitHub 仓库"),
247
+ url: "https://github.com/antvis/g2plot",
248
+ openExternal: true
249
+ }, {
250
+ icon: "🇨🇳",
251
+ title: t("国内镜像"),
252
+ url: "https://antv-g2plot.gitee.io",
253
+ openExternal: true
254
+ }]
255
+ }, {
256
+ title: "F2Native",
257
+ icon: "https://gw.alipayobjects.com/zos/antfincdn/D%26fDbWqVkv/F2%252520yidongduankeshihuafangan.svg",
258
+ slogan: t("移动可视化方案"),
259
+ description: t("跨平台高性能的移动端可视化解决方案,满足你的各种图表需求。"),
260
+ category: Categories[1],
261
+ links: [{
262
+ icon: /*#__PURE__*/React.createElement(HomeOutlined, null),
263
+ title: t("产品首页"),
264
+ url: "https://".concat(hosts.f2native, "/").concat(language)
265
+ }, {
266
+ icon: /*#__PURE__*/React.createElement(PieChartOutlined, null),
267
+ title: t("图表示例"),
268
+ url: "https://".concat(hosts.f2native, "/").concat(language, "/docs/examples")
269
+ }, {
270
+ icon: /*#__PURE__*/React.createElement(ReadOutlined, null),
271
+ title: t("使用文档"),
272
+ url: "https://".concat(hosts.f2native, "/").concat(language, "/docs/tutorial/getting-started")
273
+ }, {
274
+ icon: /*#__PURE__*/React.createElement(ReadOutlined, null),
275
+ title: t("API 文档"),
276
+ url: "https://".concat(hosts.f2native, "/").concat(language, "/docs/api/API")
277
+ }, {
278
+ icon: /*#__PURE__*/React.createElement(GithubOutlined, null),
279
+ title: t("GitHub 仓库"),
280
+ url: "https://github.com/antvis/f2",
281
+ openExternal: true
282
+ }, {
283
+ icon: "🇨🇳",
284
+ title: t("国内镜像"),
285
+ url: "https://antv-f2.gitee.io",
286
+ openExternal: true
287
+ }]
288
+ }, {
289
+ title: "Graphin",
290
+ icon: "https://gw.alipayobjects.com/zos/antfincdn/0b4HzOcEJY/Graphin.svg",
291
+ slogan: t(""),
292
+ description: t("基于 G6 封装的图分析应用组件。"),
293
+ category: Categories[1],
294
+ links: [{
295
+ icon: /*#__PURE__*/React.createElement(HomeOutlined, null),
296
+ title: t("产品首页"),
297
+ url: "https://".concat(hosts.graphin, "/").concat(language)
298
+ }, {
299
+ icon: /*#__PURE__*/React.createElement(PieChartOutlined, null),
300
+ title: t("组件示例"),
301
+ url: "https://".concat(hosts.graphin, "/").concat(language, "/examples")
302
+ }, {
303
+ icon: /*#__PURE__*/React.createElement(ReadOutlined, null),
304
+ title: t("使用文档"),
305
+ url: "https://".concat(hosts.graphin, "/").concat(language, "/docs/manual/introduction")
306
+ }, {
307
+ icon: /*#__PURE__*/React.createElement(ReadOutlined, null),
308
+ title: t("API 文档"),
309
+ url: "https://".concat(hosts.graphin, "/").concat(language, "/docs/api/graphin")
310
+ }, {
311
+ icon: /*#__PURE__*/React.createElement(HistoryOutlined, null),
312
+ title: t("更新日志"),
313
+ url: "https://github.com/antvis/graphin/blob/master/CHANGELOG.md",
314
+ openExternal: true
315
+ }, {
316
+ icon: /*#__PURE__*/React.createElement(GithubOutlined, null),
317
+ title: t("GitHub 仓库"),
318
+ url: "https://github.com/antvis/graphin",
319
+ openExternal: true
320
+ }, {
321
+ icon: "🇨🇳",
322
+ title: t("国内镜像"),
323
+ url: "https://antv-graphin.gitee.io",
324
+ openExternal: true
325
+ }]
326
+ }, {
327
+ title: "AVA",
328
+ icon: "https://gw.alipayobjects.com/zos/bmw-prod/1069c628-7460-4b09-a649-0f2ad64dfc78.svg",
329
+ slogan: t(""),
330
+ description: t("AVA 是为了更简便的可视分析而生的技术框架。"),
331
+ category: Categories[1],
332
+ links: [{
333
+ icon: /*#__PURE__*/React.createElement(HomeOutlined, null),
334
+ title: t("产品首页"),
335
+ url: "https://".concat(hosts.ava, "/").concat(language)
336
+ }, {
337
+ icon: /*#__PURE__*/React.createElement(PieChartOutlined, null),
338
+ title: t("图表示例"),
339
+ url: "https://".concat(hosts.ava, "/").concat(language, "/examples")
340
+ }, {
341
+ icon: /*#__PURE__*/React.createElement(ReadOutlined, null),
342
+ title: t("使用文档"),
343
+ url: "https://".concat(hosts.ava, "/").concat(language, "/docs/guide")
344
+ }, {
345
+ icon: /*#__PURE__*/React.createElement(ReadOutlined, null),
346
+ title: t("API 文档"),
347
+ url: "https://".concat(hosts.ava, "/").concat(language, "/docs/api")
348
+ }, {
349
+ icon: /*#__PURE__*/React.createElement(GithubOutlined, null),
350
+ title: t("GitHub 仓库"),
351
+ url: "https://github.com/antvis/ava",
352
+ openExternal: true
353
+ }, {
354
+ icon: "🇨🇳",
355
+ title: t("国内镜像"),
356
+ url: "https://antv-ava.gitee.io",
357
+ openExternal: true
358
+ }]
359
+ }, {
360
+ title: "ChartCube",
361
+ icon: "https://gw.alipayobjects.com/zos/antfincdn/Zr74jx8YNX/chartcube.svg",
362
+ slogan: t("图表魔方"),
363
+ description: t("AntV 在线图表制作利器。"),
364
+ category: Categories[1],
365
+ links: [{
366
+ icon: /*#__PURE__*/React.createElement(HomeOutlined, null),
367
+ title: t("产品首页"),
368
+ url: "https://chartcube.alipay.com",
369
+ openExternal: true
370
+ }, {
371
+ icon: /*#__PURE__*/React.createElement(AreaChartOutlined, null),
372
+ title: t("生成图表"),
373
+ url: "https://chartcube.alipay.com/guide",
374
+ openExternal: true
375
+ }, {
376
+ icon: /*#__PURE__*/React.createElement(YuqueOutlined, null),
377
+ title: t("语雀社区"),
378
+ url: "https://www.yuque.com/chartcube",
379
+ openExternal: true
380
+ }, {
381
+ icon: /*#__PURE__*/React.createElement(DingdingOutlined, null),
382
+ title: t("钉钉服务群"),
383
+ url: "dingtalk://dingtalkclient/action/joingroup?cid=8305538734",
384
+ openExternal: true
385
+ }]
386
+ }, {
387
+ title: t("墨者学院"),
388
+ icon: "https://gw.alipayobjects.com/zos/antfincdn/12j36RPVldO/mozhexueyuan.svg",
389
+ description: t("数据可视化社团"),
390
+ category: Categories[2],
391
+ links: [{
392
+ title: t("学院首页"),
393
+ url: "https://www.yuque.com/mo-college",
394
+ openExternal: true
395
+ }]
396
+ }, {
397
+ title: "BizCharts",
398
+ icon: "https://gw.alipayobjects.com/zos/antfincdn/Q1pbg%26O2TM/BizCharts.svg",
399
+ description: t("基于商业场景下的数据可视化解决方案"),
400
+ category: Categories[2],
401
+ links: [{
402
+ title: t("产品首页"),
403
+ url: "https://bizcharts.net",
404
+ openExternal: true
405
+ }]
406
+ }, {
407
+ title: "Ant Design Charts",
408
+ icon: "https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg",
409
+ description: t("基于 G2Plot 实现的 React 可视化图表库"),
410
+ category: Categories[2],
411
+ links: [{
412
+ title: t("产品首页"),
413
+ url: "https://charts.ant.design/",
414
+ openExternal: true
415
+ }]
416
+ }];
417
+ return products;
418
+ };
419
+ var CATEGORY_TYPE = tuple("basic", "extension", "mobile", "ecology");
420
+ export var CATEGORIES = [{
421
+ type: "basic",
422
+ name: "标准版基础产品"
423
+ }, {
424
+ type: "extension",
425
+ name: "标准版扩展产品"
426
+ }, {
427
+ type: "mobile",
428
+ name: "移动定制(F版)产品"
429
+ }, {
430
+ type: "ecology",
431
+ name: "周边生态"
432
+ }];
433
+ export function getNewProducts(_ref2) {
434
+ var language = _ref2.language,
435
+ isChinaMirrorHost = _ref2.isChinaMirrorHost;
436
+ // 如需要修改产品信息,请到 https://yuyan.antfin-inc.com/datavprod/antv-site-datas/schemas/site-products-h5data/console 修改区块内容
437
+ return fetch("https://render.alipay.com/p/h5data/antv-site-datas_site-products-h5data.json").then(function (res) {
438
+ return res.json();
439
+ }).then(function (products) {
440
+ return products.filter(function (d) {
441
+ return d.lang === language;
442
+ }).map(function (d) {
443
+ var links = typeof d.links === "string" ? JSON.parse(d.links) : _objectSpread({}, d.links);
444
+ var newLinks = {};
445
+ each(links, function (value, k) {
446
+ var actualUrl = (value === null || value === void 0 ? void 0 : value.url) || "";
447
+
448
+ if (isChinaMirrorHost) {
449
+ // g2plot.antv.vision => antv-g2plot.gitee.io
450
+ var match = actualUrl.match(/([http|https]):\/\/(.*)\.antv\.vision/);
451
+
452
+ if (match && match[2]) {
453
+ actualUrl = actualUrl.replace("".concat(match[2], ".antv.vision"), "antv-".concat(match[2], ".gitee.io"));
454
+ }
455
+ }
456
+
457
+ newLinks[k] = _objectSpread(_objectSpread({}, value), {}, {
458
+ url: actualUrl
459
+ });
460
+ });
461
+ return _objectSpread(_objectSpread({}, d), {}, {
462
+ links: newLinks
463
+ });
464
+ });
465
+ });
466
+ }
@@ -0,0 +1,81 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
3
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
+
5
+ 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."); }
6
+
7
+ 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); }
8
+
9
+ 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; }
10
+
11
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
12
+
13
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
+
15
+ import classNames from "classnames";
16
+ import React from "react";
17
+ import { useTranslation } from "react-i18next";
18
+ import { useChinaMirrorHost } from "../hooks";
19
+ import { CATEGORIES, getNewProducts } from "./getProducts";
20
+ import Product from "./Product"; //@ts-ignore
21
+
22
+ import styles from "./Product.module.less";
23
+
24
+ var Products = function Products(_ref) {
25
+ var show = _ref.show,
26
+ language = _ref.language,
27
+ className = _ref.className;
28
+
29
+ var _useTranslation = useTranslation(),
30
+ t = _useTranslation.t,
31
+ i18n = _useTranslation.i18n;
32
+
33
+ var _useChinaMirrorHost = useChinaMirrorHost(),
34
+ _useChinaMirrorHost2 = _slicedToArray(_useChinaMirrorHost, 1),
35
+ isChinaMirrorHost = _useChinaMirrorHost2[0];
36
+
37
+ var _React$useState = React.useState([]),
38
+ _React$useState2 = _slicedToArray(_React$useState, 2),
39
+ products = _React$useState2[0],
40
+ setProducts = _React$useState2[1];
41
+
42
+ var lang = i18n.language === "zh" ? "zh" : "en";
43
+ React.useEffect(function () {
44
+ getNewProducts({
45
+ language: lang,
46
+ isChinaMirrorHost: isChinaMirrorHost
47
+ }).then(function (data) {
48
+ setProducts(data);
49
+ });
50
+ }, [lang, isChinaMirrorHost]);
51
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
52
+ className: classNames(styles.products, className, _defineProperty({}, styles.show, !!show))
53
+ }, /*#__PURE__*/React.createElement("div", {
54
+ className: styles.container
55
+ }, CATEGORIES.map(function (_ref2, idx) {
56
+ var name = _ref2.name,
57
+ type = _ref2.type;
58
+ return /*#__PURE__*/React.createElement(React.Fragment, {
59
+ key: idx
60
+ }, /*#__PURE__*/React.createElement("h3", null, t(name)), /*#__PURE__*/React.createElement("ul", null, products.filter(function (item) {
61
+ return item.category === type;
62
+ }).map(function (product) {
63
+ var _product$links, _product$links$home;
64
+
65
+ return /*#__PURE__*/React.createElement(Product, {
66
+ key: product.title,
67
+ name: product.title,
68
+ slogan: product.slogan || "",
69
+ description: product.description,
70
+ url: (_product$links = product.links) === null || _product$links === void 0 ? void 0 : (_product$links$home = _product$links.home) === null || _product$links$home === void 0 ? void 0 : _product$links$home.url,
71
+ icon: product.icon,
72
+ links: product.links,
73
+ language: language || i18n.language
74
+ });
75
+ })));
76
+ }))), /*#__PURE__*/React.createElement("div", {
77
+ className: styles.mask
78
+ }));
79
+ };
80
+
81
+ export default Products;
@@ -0,0 +1,81 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+
3
+ 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."); }
4
+
5
+ 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); }
6
+
7
+ 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; }
8
+
9
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
10
+
11
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
12
+
13
+ import { useEffect, useState } from "react";
14
+ export var useChinaMirrorHost = function useChinaMirrorHost() {
15
+ var _useState = useState(false),
16
+ _useState2 = _slicedToArray(_useState, 2),
17
+ isChinaMirrorHost = _useState2[0],
18
+ setIsChinaMirrorHost = _useState2[1];
19
+
20
+ useEffect(function () {
21
+ if (window.location.host.includes("gitee.io") && window.location.host.includes("antv")) {
22
+ setIsChinaMirrorHost(true);
23
+ }
24
+ }, []);
25
+ return [isChinaMirrorHost];
26
+ };
27
+ export var usePrevAndNext = function usePrevAndNext() {
28
+ var _useState3 = useState([]),
29
+ _useState4 = _slicedToArray(_useState3, 2),
30
+ prevAndNext = _useState4[0],
31
+ setPrevAndNext = _useState4[1];
32
+
33
+ useEffect(function () {
34
+ var menuNodes = document.querySelectorAll("aside .ant-menu-item a");
35
+ var currentMenuNode = document.querySelector("aside .ant-menu-item-selected a");
36
+ var currentIndex = Array.from(menuNodes).findIndex(function (node) {
37
+ return node === currentMenuNode;
38
+ });
39
+ var prevNode = currentIndex - 1 >= 0 ? menuNodes[currentIndex - 1] : undefined;
40
+ var nextNode = currentIndex + 1 < menuNodes.length ? menuNodes[currentIndex + 1] : undefined;
41
+ var prev = prevNode ? {
42
+ slug: prevNode.getAttribute("href") || undefined,
43
+ title: prevNode.textContent || undefined
44
+ } : undefined;
45
+ var next = nextNode ? {
46
+ slug: nextNode.getAttribute("href") || undefined,
47
+ title: nextNode.textContent || undefined
48
+ } : undefined;
49
+ setPrevAndNext([prev, next]);
50
+ }, []);
51
+ return prevAndNext;
52
+ };
53
+ export var useLogoLink = function useLogoLink(_ref) {
54
+ var _ref$link = _ref.link,
55
+ link = _ref$link === void 0 ? "" : _ref$link,
56
+ _ref$siteUrl = _ref.siteUrl,
57
+ siteUrl = _ref$siteUrl === void 0 ? "" : _ref$siteUrl,
58
+ _ref$lang = _ref.lang,
59
+ lang = _ref$lang === void 0 ? "" : _ref$lang;
60
+ var defaultLogoLink;
61
+
62
+ if (link) {
63
+ defaultLogoLink = link;
64
+ } else if (siteUrl === "https://antv.vision") {
65
+ defaultLogoLink = "/".concat(lang);
66
+ } else {
67
+ defaultLogoLink = "https://antv.vision/".concat(lang);
68
+ }
69
+
70
+ var _useState5 = useState(""),
71
+ _useState6 = _slicedToArray(_useState5, 2),
72
+ giteeLogoLink = _useState6[0],
73
+ setGiteeLogoLink = _useState6[1];
74
+
75
+ useEffect(function () {
76
+ if (window.location.host.includes("gitee.io") && window.location.host.includes("antv")) {
77
+ setGiteeLogoLink("https://antv.gitee.io/".concat(lang));
78
+ }
79
+ }, []);
80
+ return [giteeLogoLink || defaultLogoLink];
81
+ };
@@ -0,0 +1,21 @@
1
+ @import "~antd/es/style/themes/default.less";
2
+ @primaryColor: #873bf4;
3
+
4
+ .container1440() {
5
+ width: 1440px;
6
+ max-width: calc(100% - 80px);
7
+ margin-left: auto;
8
+ margin-right: auto;
9
+
10
+ @media only screen and (max-width: 931.99px) {
11
+ & {
12
+ max-width: calc(100% - 60px);
13
+ }
14
+ }
15
+
16
+ @media only screen and (max-width: 767.99px) {
17
+ & {
18
+ max-width: calc(100% - 32px);
19
+ }
20
+ }
21
+ }