@antv/dumi-theme-antv 0.3.11 → 0.3.13

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.
@@ -1,7 +1,7 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  /**
3
3
  * Index 路由下的入口
4
4
  * - 获取数据
5
5
  * - 组合 slots 下的木偶组件
6
6
  */
7
- export declare const Index: () => JSX.Element;
7
+ export declare const Index: () => React.JSX.Element;
@@ -1,6 +1,6 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  /**
3
3
  * 404 页面
4
4
  */
5
- declare const NotFound: () => JSX.Element;
5
+ declare const NotFound: () => React.JSX.Element;
6
6
  export default NotFound;
@@ -1,8 +1,8 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  /**
3
3
  * Examples 页面
4
4
  *
5
5
  * @author YuZhanglong <loveyzl1123@gmail.com>
6
6
  */
7
- declare const Example: () => JSX.Element;
7
+ declare const Example: () => React.JSX.Element;
8
8
  export default Example;
@@ -1,2 +1,2 @@
1
- /// <reference types="react" />
2
- export declare const NotFound: () => JSX.Element;
1
+ import React from 'react';
2
+ export declare const NotFound: () => React.JSX.Element;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { ReactElement } from 'react';
2
2
  export declare enum EDITOR_TABS {
3
3
  JAVASCRIPT = "JavaScript",
4
4
  SPEC = "Spec",
@@ -63,6 +63,10 @@ declare type ToolbarProps = {
63
63
  * 执行代码
64
64
  */
65
65
  onExecuteCode: () => void;
66
+ /**
67
+ * Tab 的附加内容
68
+ */
69
+ slots: Record<string, ReactElement>;
66
70
  };
67
71
  export declare const Toolbar: React.FC<ToolbarProps>;
68
72
  export {};
@@ -37,6 +37,7 @@ export var Toolbar = function Toolbar(_ref) {
37
37
  _ref$isFullScreen = _ref.isFullScreen,
38
38
  isFullScreen = _ref$isFullScreen === void 0 ? false : _ref$isFullScreen,
39
39
  editorTabs = _ref.editorTabs,
40
+ slots = _ref.slots,
40
41
  currentEditorTab = _ref.currentEditorTab,
41
42
  onEditorTabChange = _ref.onEditorTabChange,
42
43
  _ref$onToggleFullscre = _ref.onToggleFullscreen,
@@ -69,13 +70,14 @@ export var Toolbar = function Toolbar(_ref) {
69
70
  }, /*#__PURE__*/React.createElement("div", {
70
71
  className: styles.editortabs
71
72
  }, editorTabs.map(function (tab, index) {
73
+ var slot = slots[tab];
72
74
  return /*#__PURE__*/React.createElement("span", {
73
75
  key: index,
74
76
  className: tab === currentEditorTab ? styles.current : '',
75
77
  onClick: function onClick() {
76
78
  return onEditorTabChange(tab);
77
79
  }
78
- }, tab);
80
+ }, tab, " ", slot && slot);
79
81
  })), riddleVisible ? /*#__PURE__*/React.createElement("form", {
80
82
  action: "//riddle.alibaba-inc.com/riddles/define",
81
83
  method: "POST",
@@ -13,6 +13,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
13
13
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
14
14
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
15
15
  import MonacoEditor, { loader } from '@monaco-editor/react';
16
+ import { Switch } from 'antd';
16
17
  import { autoType as d3AutoType, dsvFormat } from 'd3-dsv';
17
18
  import { useLocale, useSiteData } from 'dumi';
18
19
  import { debounce, noop } from 'lodash-es';
@@ -78,20 +79,24 @@ export var CodeEditor = function CodeEditor(_ref) {
78
79
  _useState6 = _slicedToArray(_useState5, 2),
79
80
  code = _useState6[0],
80
81
  setCode = _useState6[1];
82
+ var _useState7 = useState(false),
83
+ _useState8 = _slicedToArray(_useState7, 2),
84
+ full = _useState8[0],
85
+ setFull = _useState8[1];
81
86
  // monaco instance
82
87
  var monacoRef = useRef(null);
83
88
  // 文件后缀
84
89
  var fileExtension = relativePath.split('.')[relativePath.split('.').length - 1] || 'js';
85
90
  // 菜单栏
86
- var _useState7 = useState([]),
87
- _useState8 = _slicedToArray(_useState7, 2),
88
- editorTabs = _useState8[0],
89
- setEditorTabs = _useState8[1];
90
- // 当前选中菜单栏
91
- var _useState9 = useState(EDITOR_TABS.JAVASCRIPT),
91
+ var _useState9 = useState([]),
92
92
  _useState10 = _slicedToArray(_useState9, 2),
93
- currentEditorTab = _useState10[0],
94
- setCurrentEditorTab = _useState10[1];
93
+ editorTabs = _useState10[0],
94
+ setEditorTabs = _useState10[1];
95
+ // 当前选中菜单栏
96
+ var _useState11 = useState(EDITOR_TABS.JAVASCRIPT),
97
+ _useState12 = _slicedToArray(_useState11, 2),
98
+ currentEditorTab = _useState12[0],
99
+ setCurrentEditorTab = _useState12[1];
95
100
  var containerId = "playgroundScriptContainer_".concat(exampleId);
96
101
 
97
102
  // 出发 auto resize
@@ -175,7 +180,10 @@ export var CodeEditor = function CodeEditor(_ref) {
175
180
  // 清空 data 和 spec
176
181
  // 放在该案例运行错误,返回之前案例的 data 和 spec
177
182
  setData(null);
178
- if (showSpecTab) setSpec(null);
183
+ if (showSpecTab) {
184
+ setSpec(null);
185
+ setFull(false);
186
+ }
179
187
  }, [exampleId]);
180
188
 
181
189
  // 代码变化的时候,运行代码
@@ -309,7 +317,7 @@ export var CodeEditor = function CodeEditor(_ref) {
309
317
  }, [currentEditorTab]);
310
318
  var parseFunction = function parseFunction(string) {
311
319
  return string.replace(/"\<func\>(.*?)\<\/func\>"/g, function (_, code) {
312
- return code;
320
+ return code.replace(/\\n/g, '\n').replace(/\\"/g, '"');
313
321
  });
314
322
  };
315
323
 
@@ -318,7 +326,7 @@ export var CodeEditor = function CodeEditor(_ref) {
318
326
  // { add: (x, y) => x + y } => '{ add: <func>(x, y) => x + y</func> }'
319
327
  var withFunction = function withFunction(_, value) {
320
328
  if (typeof value !== 'function') return value;
321
- return "<func>".concat(value.toString().replace(/\n/g, ''), "</func>");
329
+ return "<func>".concat(value.toString(), "</func>");
322
330
  };
323
331
  var languageOf = function languageOf(tab) {
324
332
  switch (tab) {
@@ -336,9 +344,15 @@ export var CodeEditor = function CodeEditor(_ref) {
336
344
  case EDITOR_TABS.JAVASCRIPT:
337
345
  return code;
338
346
  case EDITOR_TABS.SPEC:
339
- return format(parseFunction("(".concat(JSON.stringify(spec, withFunction), ")")), {
340
- plugins: [parserBabel]
341
- });
347
+ {
348
+ var _code = function _code(spec) {
349
+ if (!full) return "(".concat(spec, ")");
350
+ return "import { Chart } from '@antv/g2';\n \n const chart = new Chart({container:'container'});\n\n chart.options(".concat(spec, ");\n\n chart.render();\n ");
351
+ };
352
+ return format(parseFunction(_code(JSON.stringify(spec, withFunction))), {
353
+ plugins: [parserBabel]
354
+ });
355
+ }
342
356
  case EDITOR_TABS.DATA:
343
357
  return JSON.stringify(data, null, 2);
344
358
  default:
@@ -368,7 +382,24 @@ export var CodeEditor = function CodeEditor(_ref) {
368
382
  return executeCode(code);
369
383
  },
370
384
  onEditorTabChange: onTabChange,
371
- onToggleFullscreen: onFullscreen
385
+ onToggleFullscreen: onFullscreen,
386
+ slots: {
387
+ Spec: /*#__PURE__*/React.createElement("span", {
388
+ style: {
389
+ paddingLeft: '0.25em',
390
+ paddingRight: 0
391
+ }
392
+ }, /*#__PURE__*/React.createElement(Switch, {
393
+ style: {
394
+ width: 30
395
+ },
396
+ size: "small",
397
+ onChange: function onChange(checked) {
398
+ return setFull(checked);
399
+ },
400
+ checked: full
401
+ }))
402
+ }
372
403
  }), editorTabs.map(function (tab) {
373
404
  return /*#__PURE__*/React.createElement("div", {
374
405
  key: tab,
@@ -1,7 +1,7 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  /**
3
3
  * Header.LOGO
4
4
  */
5
5
  export declare const Logo: ({ style }: {
6
6
  style: any;
7
- }) => JSX.Element;
7
+ }) => React.JSX.Element;
@@ -1,7 +1,7 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  /**
3
3
  * Header.LogoWhite
4
4
  */
5
5
  export declare const LogoWhite: ({ style }: {
6
6
  style: any;
7
- }) => JSX.Element;
7
+ }) => React.JSX.Element;
@@ -4,6 +4,7 @@ declare type dropdownItem = {
4
4
  [key: string]: string;
5
5
  };
6
6
  url: string;
7
+ target?: '_blank';
7
8
  };
8
9
  export declare type INav = {
9
10
  slug?: string;
@@ -37,14 +37,18 @@ export var Navs = function Navs(_ref) {
37
37
  placement: "bottom",
38
38
  overlay: /*#__PURE__*/React.createElement(Menu, null, nav.dropdownItems.map(function (_ref2) {
39
39
  var name = _ref2.name,
40
- url = _ref2.url;
40
+ url = _ref2.url,
41
+ target = _ref2.target;
42
+ var displayName = name[locale.id];
41
43
  return /*#__PURE__*/React.createElement(Menu.Item, {
42
44
  key: url
43
- }, /*#__PURE__*/React.createElement("a", {
45
+ }, target === '_blank' || url.startsWith('http') ? /*#__PURE__*/React.createElement("a", {
46
+ href: url,
44
47
  target: "_blank",
45
- rel: "noreferrer",
46
- href: url
47
- }, name[locale.id], " ", /*#__PURE__*/React.createElement(LinkOutlined, null)));
48
+ rel: "noreferrer"
49
+ }, displayName, /*#__PURE__*/React.createElement(LinkOutlined, null)) : /*#__PURE__*/React.createElement(Link, {
50
+ to: url
51
+ }, displayName));
48
52
  }))
49
53
  }, /*#__PURE__*/React.createElement("span", null, title, /*#__PURE__*/React.createElement(DownOutlined, null)))) : /*#__PURE__*/React.createElement("li", {
50
54
  key: title,
@@ -1,2 +1,2 @@
1
- /// <reference types="react" />
2
- export declare const Search: () => JSX.Element;
1
+ import React from 'react';
2
+ export declare const Search: () => React.JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antv/dumi-theme-antv",
3
- "version": "0.3.11",
3
+ "version": "0.3.13",
4
4
  "description": "AntV website theme based on dumi2.",
5
5
  "types": "dist/types.d.ts",
6
6
  "scripts": {