@d-fischer/documen.ts 0.16.1 → 0.16.2
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.
|
@@ -25,7 +25,7 @@ const useStyles = (0, styles_1.makeStyles)(theme => ({
|
|
|
25
25
|
position: 'relative'
|
|
26
26
|
},
|
|
27
27
|
warning: {
|
|
28
|
-
color: theme.colors.warning
|
|
28
|
+
color: theme.colors.warning
|
|
29
29
|
},
|
|
30
30
|
activator: {
|
|
31
31
|
borderRight: '0 none',
|
|
@@ -48,27 +48,31 @@ const useStyles = (0, styles_1.makeStyles)(theme => ({
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
}), { name: 'VersionMenu' });
|
|
51
|
-
const VersionMenu = __DOCTS_COMPONENT_MODE === 'static'
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
react_1.default.createElement("
|
|
71
|
-
|
|
72
|
-
})
|
|
51
|
+
const VersionMenu = __DOCTS_COMPONENT_MODE === 'static'
|
|
52
|
+
? () => react_1.default.createElement("div", { "data-dynamic-component": "VersionMenu" })
|
|
53
|
+
: () => {
|
|
54
|
+
var _a;
|
|
55
|
+
const classes = useStyles();
|
|
56
|
+
const config = (0, react_1.useContext)(config_1.ConfigContext);
|
|
57
|
+
const currentVersion = (0, react_1.useMemo)(() => config.version, [config]);
|
|
58
|
+
const [manifest, setManifest] = (0, react_1.useState)(config.__devManifest);
|
|
59
|
+
const [manifestLoading, setManifestLoading] = (0, react_1.useState)(false);
|
|
60
|
+
(0, FunctionTools_1.useAsyncEffect)(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
61
|
+
if (!manifest && config.versionBranchPrefix) {
|
|
62
|
+
setManifestLoading(true);
|
|
63
|
+
setManifest(yield fetch(`${config_1.rootUrl}/manifest.json`).then((r) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { return (yield r.json()); })));
|
|
64
|
+
setManifestLoading(false);
|
|
65
|
+
}
|
|
66
|
+
}), [manifest, manifestLoading, config]);
|
|
67
|
+
const [menuOpen, setMenuOpen] = (0, react_1.useState)(false);
|
|
68
|
+
const toggleMenuOpen = (0, react_1.useCallback)(() => setMenuOpen(b => !b), []);
|
|
69
|
+
return ((_a = manifest === null || manifest === void 0 ? void 0 : manifest.versions) === null || _a === void 0 ? void 0 : _a.filter(v => v !== manifest.defaultVersion).length) ? (react_1.default.createElement("div", { className: classes.wrapper },
|
|
70
|
+
react_1.default.createElement("div", { className: (0, classnames_1.default)(classes.entry, classes.activator), onClick: toggleMenuOpen }, currentVersion),
|
|
71
|
+
menuOpen && (react_1.default.createElement("div", { className: classes.menu },
|
|
72
|
+
react_1.default.createElement("a", { className: (0, classnames_1.default)(classes.entry, classes.menuEntry), key: manifest.defaultVersion, href: `${manifest.rootUrl}/` }, manifest.defaultVersion),
|
|
73
|
+
manifest.versions
|
|
74
|
+
.filter(v => v !== manifest.defaultVersion)
|
|
75
|
+
.map((version) => (react_1.default.createElement("a", { className: (0, classnames_1.default)(classes.entry, classes.menuEntry), key: version, href: `${manifest.rootUrl}/${config.versionFolder}/${version}/` }, version))))))) : null;
|
|
76
|
+
};
|
|
73
77
|
exports.default = VersionMenu;
|
|
74
78
|
//# sourceMappingURL=VersionMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionMenu.js","sourceRoot":"","sources":["../../../src/common/components/VersionMenu.tsx"],"names":[],"mappings":";;;AAAA,gDAAiD;AACjD,oEAAoC;AACpC,uDAA0E;AAC1E,sCAAmD;
|
|
1
|
+
{"version":3,"file":"VersionMenu.js","sourceRoot":"","sources":["../../../src/common/components/VersionMenu.tsx"],"names":[],"mappings":";;;AAAA,gDAAiD;AACjD,oEAAoC;AACpC,uDAA0E;AAC1E,sCAAmD;AAEnD,0DAAwD;AAExD,MAAM,SAAS,GAAG,IAAA,mBAAU,EAC3B,KAAK,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,EAAE;QACN,WAAW,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;QAC/C,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;QAC3B,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,MAAM;QAClB,cAAc,EAAE,MAAM;QACtB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;QACxB,UAAU,EAAE,gEAAgE;QAC5E,YAAY,EAAE,uBAAuB;QACrC,UAAU,EAAE,OAAO;QAEnB,SAAS,EAAE;YACV,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK;SAC9C;KACD;IACD,OAAO,EAAE;QACR,QAAQ,EAAE,UAAU;KACpB;IACD,OAAO,EAAE;QACR,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;KAC3B;IACD,SAAS,EAAE;QACV,WAAW,EAAE,QAAQ;QACrB,UAAU,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;KAC9C;IACD,IAAI,EAAE;QACL,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,MAAM;QACX,MAAM,EAAE,CAAC;QACT,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO;QAChD,MAAM,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;KAC1C;IACD,SAAS,EAAE;QACV,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,QAAQ;QACrB,SAAS,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;QAE7C,eAAe,EAAE;YAChB,SAAS,EAAE,QAAQ;SACnB;KACD;CACD,CAAC,EACF,EAAE,IAAI,EAAE,aAAa,EAAE,CACvB,CAAC;AAEF,MAAM,WAAW,GAChB,sBAAsB,KAAK,QAAQ;IAClC,CAAC,CAAC,GAAG,EAAE,CAAC,iEAA4B,aAAa,GAAG;IACpD,CAAC,CAAC,GAAG,EAAE;;QACL,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,sBAAa,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC/D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;QAC9D,IAAA,8BAAc,EAAC,GAAS,EAAE;YACzB,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,mBAAmB,EAAE;gBAC5C,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,WAAW,CACV,MAAM,KAAK,CAAC,GAAG,gBAAO,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAM,CAAC,EAAC,EAAE,0DAAC,OAAA,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAa,CAAA,GAAA,CAAC,CACrF,CAAC;gBACF,kBAAkB,CAAC,KAAK,CAAC,CAAC;aAC1B;QACF,CAAC,CAAA,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnE,OAAO,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,0CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAC,CAAC,CAAC,CAC9E,uCAAK,SAAS,EAAE,OAAO,CAAC,OAAO;YAC9B,uCAAK,SAAS,EAAE,IAAA,oBAAU,EAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,cAAc,IACnF,cAAc,CACV;YACL,QAAQ,IAAI,CACZ,uCAAK,SAAS,EAAE,OAAO,CAAC,IAAI;gBAC3B,qCACC,SAAS,EAAE,IAAA,oBAAU,EAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,EACvD,GAAG,EAAE,QAAQ,CAAC,cAAc,EAC5B,IAAI,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,IAE3B,QAAQ,CAAC,cAAc,CACrB;gBACH,QAAQ,CAAC,QAAQ;qBAChB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,cAAc,CAAC;qBAC1C,GAAG,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,CACzB,qCACC,SAAS,EAAE,IAAA,oBAAU,EAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,EACvD,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,GAAG,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC,aAAc,IAAI,OAAO,GAAG,IAE/D,OAAO,CACL,CACJ,CAAC,CACE,CACN,CACI,CACN,CAAC,CAAC,CAAC,IAAI,CAAC;IACT,CAAC,CAAC;AAEN,kBAAe,WAAW,CAAC"}
|
package/package.json
CHANGED
|
@@ -2,91 +2,106 @@ import { makeStyles } from '@material-ui/styles';
|
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import React, { useCallback, useContext, useMemo, useState } from 'react';
|
|
4
4
|
import { ConfigContext, rootUrl } from '../config';
|
|
5
|
+
import { type Manifest } from '../config/Config';
|
|
5
6
|
import { useAsyncEffect } from '../tools/FunctionTools';
|
|
6
7
|
|
|
7
|
-
const useStyles = makeStyles(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
8
|
+
const useStyles = makeStyles(
|
|
9
|
+
theme => ({
|
|
10
|
+
entry: {
|
|
11
|
+
borderRight: `1px solid ${theme.colors.border}`,
|
|
12
|
+
padding: theme.spacing.unit,
|
|
13
|
+
cursor: 'pointer',
|
|
14
|
+
userSelect: 'none',
|
|
15
|
+
textDecoration: 'none',
|
|
16
|
+
color: theme.colors.text,
|
|
17
|
+
transition: 'background-color .3s ease-in-out, border-color .3s ease-in-out',
|
|
18
|
+
borderBottom: '3px solid transparent',
|
|
19
|
+
lineHeight: '1.3em',
|
|
18
20
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
21
|
+
'&:hover': {
|
|
22
|
+
backgroundColor: theme.colors.background.hover
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
wrapper: {
|
|
26
|
+
position: 'relative'
|
|
27
|
+
},
|
|
28
|
+
warning: {
|
|
29
|
+
color: theme.colors.warning
|
|
30
|
+
},
|
|
31
|
+
activator: {
|
|
32
|
+
borderRight: '0 none',
|
|
33
|
+
borderLeft: `1px solid ${theme.colors.border}`
|
|
34
|
+
},
|
|
35
|
+
menu: {
|
|
36
|
+
position: 'absolute',
|
|
37
|
+
right: 0,
|
|
38
|
+
top: '100%',
|
|
39
|
+
zIndex: 4,
|
|
40
|
+
backgroundColor: theme.colors.background.default,
|
|
41
|
+
border: `1px solid ${theme.colors.border}`
|
|
42
|
+
},
|
|
43
|
+
menuEntry: {
|
|
44
|
+
display: 'block',
|
|
45
|
+
borderRight: '0 none',
|
|
46
|
+
borderTop: `1px solid ${theme.colors.border}`,
|
|
45
47
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
+
'&:first-child': {
|
|
49
|
+
borderTop: '0 none'
|
|
50
|
+
}
|
|
48
51
|
}
|
|
49
|
-
}
|
|
50
|
-
|
|
52
|
+
}),
|
|
53
|
+
{ name: 'VersionMenu' }
|
|
54
|
+
);
|
|
51
55
|
|
|
52
|
-
const VersionMenu: React.FC =
|
|
53
|
-
|
|
54
|
-
)
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
<div className={
|
|
74
|
-
{
|
|
75
|
-
|
|
76
|
-
{menuOpen && (
|
|
77
|
-
<div className={classes.menu}>
|
|
78
|
-
<a className={classNames(classes.entry, classes.menuEntry)} key={config.defaultVersion}
|
|
79
|
-
href={`${manifest.rootUrl}/`}>{config.defaultVersion}</a>
|
|
80
|
-
{manifest.versions.filter(v => v !== config.defaultVersion).map((version: string) => (
|
|
81
|
-
<a className={classNames(classes.entry, classes.menuEntry)} key={version}
|
|
82
|
-
href={`${manifest.rootUrl}/${config.versionFolder!}/${version}/`}>{version}</a>
|
|
83
|
-
))}
|
|
56
|
+
const VersionMenu: React.FC =
|
|
57
|
+
__DOCTS_COMPONENT_MODE === 'static'
|
|
58
|
+
? () => <div data-dynamic-component="VersionMenu" />
|
|
59
|
+
: () => {
|
|
60
|
+
const classes = useStyles();
|
|
61
|
+
const config = useContext(ConfigContext);
|
|
62
|
+
const currentVersion = useMemo(() => config.version, [config]);
|
|
63
|
+
const [manifest, setManifest] = useState(config.__devManifest);
|
|
64
|
+
const [manifestLoading, setManifestLoading] = useState(false);
|
|
65
|
+
useAsyncEffect(async () => {
|
|
66
|
+
if (!manifest && config.versionBranchPrefix) {
|
|
67
|
+
setManifestLoading(true);
|
|
68
|
+
setManifest(
|
|
69
|
+
await fetch(`${rootUrl}/manifest.json`).then(async r => (await r.json()) as Manifest)
|
|
70
|
+
);
|
|
71
|
+
setManifestLoading(false);
|
|
72
|
+
}
|
|
73
|
+
}, [manifest, manifestLoading, config]);
|
|
74
|
+
const [menuOpen, setMenuOpen] = useState(false);
|
|
75
|
+
const toggleMenuOpen = useCallback(() => setMenuOpen(b => !b), []);
|
|
76
|
+
return manifest?.versions?.filter(v => v !== manifest.defaultVersion).length ? (
|
|
77
|
+
<div className={classes.wrapper}>
|
|
78
|
+
<div className={classNames(classes.entry, classes.activator)} onClick={toggleMenuOpen}>
|
|
79
|
+
{currentVersion}
|
|
84
80
|
</div>
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
81
|
+
{menuOpen && (
|
|
82
|
+
<div className={classes.menu}>
|
|
83
|
+
<a
|
|
84
|
+
className={classNames(classes.entry, classes.menuEntry)}
|
|
85
|
+
key={manifest.defaultVersion}
|
|
86
|
+
href={`${manifest.rootUrl}/`}
|
|
87
|
+
>
|
|
88
|
+
{manifest.defaultVersion}
|
|
89
|
+
</a>
|
|
90
|
+
{manifest.versions
|
|
91
|
+
.filter(v => v !== manifest.defaultVersion)
|
|
92
|
+
.map((version: string) => (
|
|
93
|
+
<a
|
|
94
|
+
className={classNames(classes.entry, classes.menuEntry)}
|
|
95
|
+
key={version}
|
|
96
|
+
href={`${manifest.rootUrl}/${config.versionFolder!}/${version}/`}
|
|
97
|
+
>
|
|
98
|
+
{version}
|
|
99
|
+
</a>
|
|
100
|
+
))}
|
|
101
|
+
</div>
|
|
102
|
+
)}
|
|
103
|
+
</div>
|
|
104
|
+
) : null;
|
|
105
|
+
};
|
|
91
106
|
|
|
92
107
|
export default VersionMenu;
|