@blocklet/launcher-layout 2.3.44 → 2.10.20
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/lib/LaunchResultMessage/demo/default.js +18 -0
- package/lib/LaunchResultMessage/result-message.stories.js +13 -0
- package/lib/Layout/demo/child-progress-in-memory-mode.js +85 -0
- package/lib/Layout/demo/child-progress.js +69 -0
- package/lib/Layout/demo/constants.js +32 -0
- package/lib/Layout/demo/default.js +69 -0
- package/lib/Layout/demo/logo-url.js +46 -0
- package/lib/Layout/demo/longest-steps-for-launch.js +110 -0
- package/lib/Layout/demo/memory-mode.js +64 -0
- package/lib/Layout/demo/old-code-compatible.js +44 -0
- package/lib/Layout/demo/optional-step.js +76 -0
- package/lib/Layout/demo/show-child.js +108 -0
- package/lib/Layout/demo/static-demo-data.json +85 -0
- package/lib/Layout/layout.stories.js +21 -0
- package/lib/header.js +13 -2
- package/lib/index.js +2 -1
- package/package.json +10 -8
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import Button from '@arcblock/ux/lib/Button';
|
|
2
|
+
import LaunchResultMessage from '../../launch-result-message';
|
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
+
export default function Demo() {
|
|
5
|
+
return /*#__PURE__*/_jsx(LaunchResultMessage, {
|
|
6
|
+
variant: "error",
|
|
7
|
+
title: "I am Title",
|
|
8
|
+
subTitle: "I am sub title",
|
|
9
|
+
footer: /*#__PURE__*/_jsx("div", {
|
|
10
|
+
children: /*#__PURE__*/_jsx(Button, {
|
|
11
|
+
color: "primary",
|
|
12
|
+
variant: "contained",
|
|
13
|
+
children: "Click Me"
|
|
14
|
+
})
|
|
15
|
+
})
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
Demo.propTypes = {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Default from './demo/default';
|
|
2
|
+
export default {
|
|
3
|
+
title: 'Blocklet-Launcher/ResultMessage',
|
|
4
|
+
parameters: {
|
|
5
|
+
layout: 'fullscreen',
|
|
6
|
+
readme: {
|
|
7
|
+
sidebar: '<!-- PROPS -->'
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
Default.argTypes = {};
|
|
12
|
+
Default.storyName = 'ResultMessage';
|
|
13
|
+
export { Default };
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import LauncherLogo from '@arcblock/icons/lib/LauncherLogo';
|
|
3
|
+
import LauncherLogoNotext from '@arcblock/icons/lib/LauncherLogoNotext';
|
|
4
|
+
import HelpOutlineIcon from '@mui/icons-material/HelpOutline';
|
|
5
|
+
import Button from '@mui/material/IconButton';
|
|
6
|
+
import Layout from '../../index';
|
|
7
|
+
import { StepProvider, useStepContext } from '../../context/step';
|
|
8
|
+
import staticDemo from './static-demo-data.json';
|
|
9
|
+
import { BodyContainer, Content } from './constants';
|
|
10
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
const testSteps = [{
|
|
12
|
+
key: 'wizard',
|
|
13
|
+
name: 'Name1 Wizard',
|
|
14
|
+
children: [{
|
|
15
|
+
key: 'wizard-01',
|
|
16
|
+
name: 'wizard-child-a'
|
|
17
|
+
}, {
|
|
18
|
+
key: 'wizard-02',
|
|
19
|
+
name: 'wizard-child-b'
|
|
20
|
+
}, {
|
|
21
|
+
key: 'wizard-03',
|
|
22
|
+
name: 'wizard-child-c'
|
|
23
|
+
}]
|
|
24
|
+
}, {
|
|
25
|
+
key: 'select-node',
|
|
26
|
+
name: 'Name2 select node'
|
|
27
|
+
}, {
|
|
28
|
+
key: 'launch-app',
|
|
29
|
+
name: 'Name3 launch app'
|
|
30
|
+
}];
|
|
31
|
+
function TestContent() {
|
|
32
|
+
const {
|
|
33
|
+
setActiveStepByKey
|
|
34
|
+
} = useStepContext();
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
const reStep = testSteps.map(e => e.children ? e.children.map(e2 => e2.key) : e.key).flat();
|
|
37
|
+
let index = 0;
|
|
38
|
+
const timer = setInterval(() => {
|
|
39
|
+
setActiveStepByKey(reStep[index]);
|
|
40
|
+
index++;
|
|
41
|
+
if (index >= reStep.length) {
|
|
42
|
+
index = 0;
|
|
43
|
+
}
|
|
44
|
+
}, 1000);
|
|
45
|
+
return () => {
|
|
46
|
+
clearInterval(timer);
|
|
47
|
+
};
|
|
48
|
+
}, [setActiveStepByKey]);
|
|
49
|
+
return /*#__PURE__*/_jsx("p", {
|
|
50
|
+
children: "memory mode, not linked to history"
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
export default function Demo() {
|
|
54
|
+
return /*#__PURE__*/_jsx(BodyContainer, {
|
|
55
|
+
children: /*#__PURE__*/_jsx(StepProvider, {
|
|
56
|
+
steps: testSteps,
|
|
57
|
+
mode: "memory",
|
|
58
|
+
children: /*#__PURE__*/_jsx(Layout, {
|
|
59
|
+
locale: "zh",
|
|
60
|
+
blockletMeta: staticDemo,
|
|
61
|
+
headerEndAddons: /*#__PURE__*/_jsx(Button, {
|
|
62
|
+
children: /*#__PURE__*/_jsx(HelpOutlineIcon, {
|
|
63
|
+
style: {
|
|
64
|
+
fontSize: 28
|
|
65
|
+
}
|
|
66
|
+
})
|
|
67
|
+
}),
|
|
68
|
+
navLogo: {
|
|
69
|
+
desktop: /*#__PURE__*/_jsx(LauncherLogo, {
|
|
70
|
+
width: "145",
|
|
71
|
+
height: "48"
|
|
72
|
+
}),
|
|
73
|
+
mobile: /*#__PURE__*/_jsx(LauncherLogoNotext, {
|
|
74
|
+
width: 32,
|
|
75
|
+
height: 32
|
|
76
|
+
})
|
|
77
|
+
},
|
|
78
|
+
children: /*#__PURE__*/_jsx(Content, {
|
|
79
|
+
children: /*#__PURE__*/_jsx(TestContent, {})
|
|
80
|
+
})
|
|
81
|
+
})
|
|
82
|
+
})
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
Demo.propTypes = {};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import LauncherLogo from '@arcblock/icons/lib/LauncherLogo';
|
|
2
|
+
import LauncherLogoNotext from '@arcblock/icons/lib/LauncherLogoNotext';
|
|
3
|
+
import HelpOutlineIcon from '@mui/icons-material/HelpOutline';
|
|
4
|
+
import Button from '@mui/material/IconButton';
|
|
5
|
+
import Layout from '../../index';
|
|
6
|
+
import { StepProvider } from '../../context/step';
|
|
7
|
+
import staticDemo from './static-demo-data.json';
|
|
8
|
+
import { BodyContainer, Content } from './constants';
|
|
9
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
+
const testSteps = [{
|
|
11
|
+
key: 'wizard',
|
|
12
|
+
name: 'Name1 Wizard',
|
|
13
|
+
path: '/*',
|
|
14
|
+
children: [{
|
|
15
|
+
key: 'wizard-01',
|
|
16
|
+
name: 'wizard-child-a',
|
|
17
|
+
path: '/a'
|
|
18
|
+
}, {
|
|
19
|
+
key: 'wizard-02',
|
|
20
|
+
name: 'wizard-child-b',
|
|
21
|
+
path: '/iframe.html'
|
|
22
|
+
}, {
|
|
23
|
+
key: 'wizard-03',
|
|
24
|
+
name: 'wizard-child-c',
|
|
25
|
+
path: '/c'
|
|
26
|
+
}]
|
|
27
|
+
}, {
|
|
28
|
+
key: 'select-node',
|
|
29
|
+
name: 'Name2 select node',
|
|
30
|
+
path: '/launch/select'
|
|
31
|
+
}, {
|
|
32
|
+
key: 'launch-app',
|
|
33
|
+
name: 'Name3 launch app',
|
|
34
|
+
path: ''
|
|
35
|
+
}];
|
|
36
|
+
export default function Demo() {
|
|
37
|
+
return /*#__PURE__*/_jsx(BodyContainer, {
|
|
38
|
+
children: /*#__PURE__*/_jsx(StepProvider, {
|
|
39
|
+
steps: testSteps,
|
|
40
|
+
children: /*#__PURE__*/_jsx(Layout, {
|
|
41
|
+
locale: "zh",
|
|
42
|
+
blockletMeta: staticDemo,
|
|
43
|
+
headerEndAddons: /*#__PURE__*/_jsx(Button, {
|
|
44
|
+
children: /*#__PURE__*/_jsx(HelpOutlineIcon, {
|
|
45
|
+
style: {
|
|
46
|
+
fontSize: 28
|
|
47
|
+
}
|
|
48
|
+
})
|
|
49
|
+
}),
|
|
50
|
+
navLogo: {
|
|
51
|
+
desktop: /*#__PURE__*/_jsx(LauncherLogo, {
|
|
52
|
+
width: "145",
|
|
53
|
+
height: "48"
|
|
54
|
+
}),
|
|
55
|
+
mobile: /*#__PURE__*/_jsx(LauncherLogoNotext, {
|
|
56
|
+
width: 32,
|
|
57
|
+
height: 32
|
|
58
|
+
})
|
|
59
|
+
},
|
|
60
|
+
children: /*#__PURE__*/_jsx(Content, {
|
|
61
|
+
children: /*#__PURE__*/_jsx("p", {
|
|
62
|
+
children: "set children in steps data"
|
|
63
|
+
})
|
|
64
|
+
})
|
|
65
|
+
})
|
|
66
|
+
})
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
Demo.propTypes = {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import styled from '@emotion/styled';
|
|
2
|
+
export const steps = [{
|
|
3
|
+
key: 'wizard',
|
|
4
|
+
name: 'Name1 Wizard',
|
|
5
|
+
path: '/'
|
|
6
|
+
}, {
|
|
7
|
+
key: 'select-node',
|
|
8
|
+
name: 'Name2 select node',
|
|
9
|
+
path: '/launch/select'
|
|
10
|
+
}, {
|
|
11
|
+
key: 'launch-app',
|
|
12
|
+
name: 'Name3 launch app',
|
|
13
|
+
path: ''
|
|
14
|
+
}];
|
|
15
|
+
export const LogoContainer = styled.div`
|
|
16
|
+
display: block;
|
|
17
|
+
margin-top: 4px;
|
|
18
|
+
`;
|
|
19
|
+
export const BodyContainer = styled.div`
|
|
20
|
+
position: relative;
|
|
21
|
+
width: 100%;
|
|
22
|
+
height: 100%;
|
|
23
|
+
`;
|
|
24
|
+
export const Content = styled.div`
|
|
25
|
+
box-sizing: border-box;
|
|
26
|
+
display: flex;
|
|
27
|
+
flex-direction: column;
|
|
28
|
+
justify-content: center;
|
|
29
|
+
align-items: center;
|
|
30
|
+
width: 100%;
|
|
31
|
+
height: 100%;
|
|
32
|
+
`;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import LauncherLogo from '@arcblock/icons/lib/LauncherLogo';
|
|
2
|
+
import LauncherLogoNotext from '@arcblock/icons/lib/LauncherLogoNotext';
|
|
3
|
+
import HelpOutlineIcon from '@mui/icons-material/HelpOutline';
|
|
4
|
+
import Button from '@mui/material/IconButton';
|
|
5
|
+
import Layout from '../../index';
|
|
6
|
+
import { StepProvider } from '../../context/step';
|
|
7
|
+
import staticDemo from './static-demo-data.json';
|
|
8
|
+
import { BodyContainer, Content } from './constants';
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
export default function Demo() {
|
|
11
|
+
const testSteps = [{
|
|
12
|
+
key: 'wizard',
|
|
13
|
+
name: 'Name1 Wizard',
|
|
14
|
+
path: '/',
|
|
15
|
+
description: 'I am desc 1'
|
|
16
|
+
}, {
|
|
17
|
+
key: 'select-node',
|
|
18
|
+
name: 'Name2 select node',
|
|
19
|
+
path: '/launch/select',
|
|
20
|
+
description: 'I am desc 2'
|
|
21
|
+
}, {
|
|
22
|
+
key: 'launch-app',
|
|
23
|
+
name: 'Name3 launch app',
|
|
24
|
+
path: '',
|
|
25
|
+
description: 'I am desc 3'
|
|
26
|
+
}];
|
|
27
|
+
return /*#__PURE__*/_jsx(BodyContainer, {
|
|
28
|
+
children: /*#__PURE__*/_jsx(StepProvider, {
|
|
29
|
+
steps: testSteps,
|
|
30
|
+
children: /*#__PURE__*/_jsx(Layout, {
|
|
31
|
+
locale: "zh",
|
|
32
|
+
blockletMeta: staticDemo,
|
|
33
|
+
headerEndAddons: /*#__PURE__*/_jsx(Button, {
|
|
34
|
+
children: /*#__PURE__*/_jsx(HelpOutlineIcon, {
|
|
35
|
+
style: {
|
|
36
|
+
fontSize: 28
|
|
37
|
+
}
|
|
38
|
+
})
|
|
39
|
+
}),
|
|
40
|
+
navLogo: {
|
|
41
|
+
desktop: /*#__PURE__*/_jsx(LauncherLogo, {
|
|
42
|
+
width: "145",
|
|
43
|
+
height: "48"
|
|
44
|
+
}),
|
|
45
|
+
mobile: /*#__PURE__*/_jsx(LauncherLogoNotext, {
|
|
46
|
+
width: 32,
|
|
47
|
+
height: 32
|
|
48
|
+
})
|
|
49
|
+
},
|
|
50
|
+
children: /*#__PURE__*/_jsxs(Content, {
|
|
51
|
+
children: [/*#__PURE__*/_jsxs("p", {
|
|
52
|
+
children: [/*#__PURE__*/_jsx("b", {
|
|
53
|
+
children: "blockletMeta"
|
|
54
|
+
}), " : Data for blockletMeta to install the application"]
|
|
55
|
+
}), /*#__PURE__*/_jsxs("p", {
|
|
56
|
+
children: [/*#__PURE__*/_jsx("b", {
|
|
57
|
+
children: "navLogo"
|
|
58
|
+
}), " is the icon in the top left corner that is the application icon using the current layout component, using the logo with text in desktop mode and the logo without text in mobile."]
|
|
59
|
+
}), /*#__PURE__*/_jsxs("p", {
|
|
60
|
+
children: [/*#__PURE__*/_jsx("b", {
|
|
61
|
+
children: "headerEndAddons"
|
|
62
|
+
}), " is the button area in the top right corner"]
|
|
63
|
+
})]
|
|
64
|
+
})
|
|
65
|
+
})
|
|
66
|
+
})
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
Demo.propTypes = {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import LauncherLogo from '@arcblock/icons/lib/LauncherLogo';
|
|
2
|
+
import LauncherLogoNotext from '@arcblock/icons/lib/LauncherLogoNotext';
|
|
3
|
+
import HelpOutlineIcon from '@mui/icons-material/HelpOutline';
|
|
4
|
+
import Button from '@mui/material/IconButton';
|
|
5
|
+
import Layout from '../../index';
|
|
6
|
+
import { StepProvider } from '../../context/step';
|
|
7
|
+
import staticDemo from './static-demo-data.json';
|
|
8
|
+
import { BodyContainer, Content, steps } from './constants';
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
export default function Demo() {
|
|
11
|
+
return /*#__PURE__*/_jsx(BodyContainer, {
|
|
12
|
+
children: /*#__PURE__*/_jsx(StepProvider, {
|
|
13
|
+
steps: steps,
|
|
14
|
+
children: /*#__PURE__*/_jsx(Layout, {
|
|
15
|
+
locale: "zh",
|
|
16
|
+
blockletMeta: staticDemo,
|
|
17
|
+
headerEndAddons: /*#__PURE__*/_jsx(Button, {
|
|
18
|
+
children: /*#__PURE__*/_jsx(HelpOutlineIcon, {
|
|
19
|
+
style: {
|
|
20
|
+
fontSize: 28
|
|
21
|
+
}
|
|
22
|
+
})
|
|
23
|
+
}),
|
|
24
|
+
logoUrl: "https://store.blocklet.dev/assets/z8ia4e5vAeDsQEE2P26bQqz9oWR1Lxg9qUMaV/logo.png",
|
|
25
|
+
navLogo: {
|
|
26
|
+
desktop: /*#__PURE__*/_jsx(LauncherLogo, {
|
|
27
|
+
width: "145",
|
|
28
|
+
height: "48"
|
|
29
|
+
}),
|
|
30
|
+
mobile: /*#__PURE__*/_jsx(LauncherLogoNotext, {
|
|
31
|
+
width: 32,
|
|
32
|
+
height: 32
|
|
33
|
+
})
|
|
34
|
+
},
|
|
35
|
+
children: /*#__PURE__*/_jsx(Content, {
|
|
36
|
+
children: /*#__PURE__*/_jsxs("p", {
|
|
37
|
+
children: [/*#__PURE__*/_jsx("b", {
|
|
38
|
+
children: "logoUrl"
|
|
39
|
+
}), ": The real logo address of the application; if it is not passed, the did-avatar is automatically displayed according to the application did of blockletMeta"]
|
|
40
|
+
})
|
|
41
|
+
})
|
|
42
|
+
})
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
Demo.propTypes = {};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import LauncherLogo from '@arcblock/icons/lib/LauncherLogo';
|
|
3
|
+
import LauncherLogoNotext from '@arcblock/icons/lib/LauncherLogoNotext';
|
|
4
|
+
import HelpOutlineIcon from '@mui/icons-material/HelpOutline';
|
|
5
|
+
import Button from '@mui/material/IconButton';
|
|
6
|
+
import Layout from '../../index';
|
|
7
|
+
import { StepProvider, useStepContext } from '../../context/step';
|
|
8
|
+
import staticDemo from './static-demo-data.json';
|
|
9
|
+
import { BodyContainer, Content } from './constants';
|
|
10
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
const testSteps = [{
|
|
12
|
+
key: 'introduction',
|
|
13
|
+
name: '简介'
|
|
14
|
+
}, {
|
|
15
|
+
key: 'select server',
|
|
16
|
+
name: '选择节点',
|
|
17
|
+
showChild: 'activating',
|
|
18
|
+
description: '将应用安装到选择的节点',
|
|
19
|
+
children: [{
|
|
20
|
+
key: 'select-node-02',
|
|
21
|
+
name: '创建节点'
|
|
22
|
+
}, {
|
|
23
|
+
key: 'select-node-03',
|
|
24
|
+
name: '启动节点'
|
|
25
|
+
}, {
|
|
26
|
+
key: 'select-node-04',
|
|
27
|
+
name: '创建中'
|
|
28
|
+
}]
|
|
29
|
+
}, {
|
|
30
|
+
key: 'launch-app',
|
|
31
|
+
name: '安装应用到节点'
|
|
32
|
+
}, {
|
|
33
|
+
key: 'setup-app',
|
|
34
|
+
name: '设置应用',
|
|
35
|
+
showChild: 'activating',
|
|
36
|
+
description: '按步骤初始化你的应用',
|
|
37
|
+
children: [{
|
|
38
|
+
key: 'setup-app-01',
|
|
39
|
+
name: '链接'
|
|
40
|
+
}, {
|
|
41
|
+
key: 'setup-app-02',
|
|
42
|
+
name: '域名'
|
|
43
|
+
}, {
|
|
44
|
+
key: 'setup-app-03',
|
|
45
|
+
name: '配置'
|
|
46
|
+
}, {
|
|
47
|
+
key: 'setup-app-04',
|
|
48
|
+
name: '访问控制'
|
|
49
|
+
}]
|
|
50
|
+
}, {
|
|
51
|
+
key: 'complete-app',
|
|
52
|
+
name: '启动'
|
|
53
|
+
}];
|
|
54
|
+
function TestContent() {
|
|
55
|
+
const {
|
|
56
|
+
setActiveStepByKey
|
|
57
|
+
} = useStepContext();
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
const reStep = testSteps.map(e => e.children ? e.children.map(e2 => e2.key) : e.key).flat();
|
|
60
|
+
let index = 0;
|
|
61
|
+
const timer = setInterval(() => {
|
|
62
|
+
setActiveStepByKey(reStep[index]);
|
|
63
|
+
index++;
|
|
64
|
+
if (index >= reStep.length) {
|
|
65
|
+
index = 0;
|
|
66
|
+
}
|
|
67
|
+
}, 1000);
|
|
68
|
+
return () => {
|
|
69
|
+
clearInterval(timer);
|
|
70
|
+
};
|
|
71
|
+
}, [setActiveStepByKey]);
|
|
72
|
+
return /*#__PURE__*/_jsx("div", {
|
|
73
|
+
children: /*#__PURE__*/_jsx("p", {
|
|
74
|
+
children: "\u5728\u9009\u62E9\u8282\u70B9\u65F6\uFF0C\u70B9\u51FB\u4E86\u521B\u5EFA\u8282\u70B9\u6309\u94AE\u624D\u51FA\u73B0 \u521B\u5EFA\u8282\u70B9/\u542F\u52A8\u8282\u70B9/\u521B\u5EFA\u4E2D\u4E09\u4E2A\u5B50\u6D41\u7A0B"
|
|
75
|
+
})
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
export default function Demo() {
|
|
79
|
+
return /*#__PURE__*/_jsx(BodyContainer, {
|
|
80
|
+
children: /*#__PURE__*/_jsx(StepProvider, {
|
|
81
|
+
steps: testSteps,
|
|
82
|
+
mode: "memory",
|
|
83
|
+
children: /*#__PURE__*/_jsx(Layout, {
|
|
84
|
+
locale: "zh",
|
|
85
|
+
blockletMeta: staticDemo,
|
|
86
|
+
headerEndAddons: /*#__PURE__*/_jsx(Button, {
|
|
87
|
+
children: /*#__PURE__*/_jsx(HelpOutlineIcon, {
|
|
88
|
+
style: {
|
|
89
|
+
fontSize: 28
|
|
90
|
+
}
|
|
91
|
+
})
|
|
92
|
+
}),
|
|
93
|
+
navLogo: {
|
|
94
|
+
desktop: /*#__PURE__*/_jsx(LauncherLogo, {
|
|
95
|
+
width: "145",
|
|
96
|
+
height: "48"
|
|
97
|
+
}),
|
|
98
|
+
mobile: /*#__PURE__*/_jsx(LauncherLogoNotext, {
|
|
99
|
+
width: 32,
|
|
100
|
+
height: 32
|
|
101
|
+
})
|
|
102
|
+
},
|
|
103
|
+
children: /*#__PURE__*/_jsx(Content, {
|
|
104
|
+
children: /*#__PURE__*/_jsx(TestContent, {})
|
|
105
|
+
})
|
|
106
|
+
})
|
|
107
|
+
})
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
Demo.propTypes = {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import LauncherLogo from '@arcblock/icons/lib/LauncherLogo';
|
|
3
|
+
import LauncherLogoNotext from '@arcblock/icons/lib/LauncherLogoNotext';
|
|
4
|
+
import HelpOutlineIcon from '@mui/icons-material/HelpOutline';
|
|
5
|
+
import Button from '@mui/material/IconButton';
|
|
6
|
+
import Layout from '../../index';
|
|
7
|
+
import { StepProvider, useStepContext } from '../../context/step';
|
|
8
|
+
import staticDemo from './static-demo-data.json';
|
|
9
|
+
import { BodyContainer, Content } from './constants';
|
|
10
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
const testSteps = [{
|
|
12
|
+
key: 'wizard',
|
|
13
|
+
name: 'Name1 Wizard'
|
|
14
|
+
}, {
|
|
15
|
+
key: 'select-node',
|
|
16
|
+
name: 'Name2 select node'
|
|
17
|
+
}, {
|
|
18
|
+
key: 'launch-app',
|
|
19
|
+
name: 'Name3 launch app'
|
|
20
|
+
}];
|
|
21
|
+
function TestContent() {
|
|
22
|
+
const {
|
|
23
|
+
setActiveStepByKey
|
|
24
|
+
} = useStepContext();
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
setActiveStepByKey('select-node');
|
|
27
|
+
}, [setActiveStepByKey]);
|
|
28
|
+
return /*#__PURE__*/_jsx("p", {
|
|
29
|
+
children: "memory mode, not linked to history"
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
export default function Demo() {
|
|
33
|
+
return /*#__PURE__*/_jsx(BodyContainer, {
|
|
34
|
+
children: /*#__PURE__*/_jsx(StepProvider, {
|
|
35
|
+
steps: testSteps,
|
|
36
|
+
mode: "memory",
|
|
37
|
+
children: /*#__PURE__*/_jsx(Layout, {
|
|
38
|
+
locale: "zh",
|
|
39
|
+
blockletMeta: staticDemo,
|
|
40
|
+
headerEndAddons: /*#__PURE__*/_jsx(Button, {
|
|
41
|
+
children: /*#__PURE__*/_jsx(HelpOutlineIcon, {
|
|
42
|
+
style: {
|
|
43
|
+
fontSize: 28
|
|
44
|
+
}
|
|
45
|
+
})
|
|
46
|
+
}),
|
|
47
|
+
navLogo: {
|
|
48
|
+
desktop: /*#__PURE__*/_jsx(LauncherLogo, {
|
|
49
|
+
width: "145",
|
|
50
|
+
height: "48"
|
|
51
|
+
}),
|
|
52
|
+
mobile: /*#__PURE__*/_jsx(LauncherLogoNotext, {
|
|
53
|
+
width: 32,
|
|
54
|
+
height: 32
|
|
55
|
+
})
|
|
56
|
+
},
|
|
57
|
+
children: /*#__PURE__*/_jsx(Content, {
|
|
58
|
+
children: /*#__PURE__*/_jsx(TestContent, {})
|
|
59
|
+
})
|
|
60
|
+
})
|
|
61
|
+
})
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
Demo.propTypes = {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import LauncherLogo from '@arcblock/icons/lib/LauncherLogo';
|
|
2
|
+
import LauncherLogoNotext from '@arcblock/icons/lib/LauncherLogoNotext';
|
|
3
|
+
import HelpOutlineIcon from '@mui/icons-material/HelpOutline';
|
|
4
|
+
import Button from '@mui/material/IconButton';
|
|
5
|
+
import { useTheme } from '@mui/material/styles';
|
|
6
|
+
import useMediaQuery from '@mui/material/useMediaQuery';
|
|
7
|
+
import Layout from '../../index';
|
|
8
|
+
import { StepProvider } from '../../context/step';
|
|
9
|
+
import staticDemo from './static-demo-data.json';
|
|
10
|
+
import { BodyContainer, Content, LogoContainer, steps } from './constants';
|
|
11
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
+
export default function Demo() {
|
|
13
|
+
const theme = useTheme();
|
|
14
|
+
const isMobile = useMediaQuery(theme.breakpoints.down('md'));
|
|
15
|
+
const logo = isMobile ? /*#__PURE__*/_jsx(LauncherLogoNotext, {
|
|
16
|
+
width: 32,
|
|
17
|
+
height: 32
|
|
18
|
+
}) : /*#__PURE__*/_jsx(LogoContainer, {
|
|
19
|
+
children: /*#__PURE__*/_jsx(LauncherLogo, {
|
|
20
|
+
width: "145",
|
|
21
|
+
height: "48"
|
|
22
|
+
})
|
|
23
|
+
});
|
|
24
|
+
return /*#__PURE__*/_jsx(BodyContainer, {
|
|
25
|
+
children: /*#__PURE__*/_jsx(StepProvider, {
|
|
26
|
+
steps: steps,
|
|
27
|
+
children: /*#__PURE__*/_jsx(Layout, {
|
|
28
|
+
blockletMeta: staticDemo,
|
|
29
|
+
headerEndAddons: /*#__PURE__*/_jsx(Button, {
|
|
30
|
+
children: /*#__PURE__*/_jsx(HelpOutlineIcon, {
|
|
31
|
+
style: {
|
|
32
|
+
fontSize: 28
|
|
33
|
+
}
|
|
34
|
+
})
|
|
35
|
+
}),
|
|
36
|
+
navLogo: logo,
|
|
37
|
+
children: /*#__PURE__*/_jsx(Content, {
|
|
38
|
+
children: "I am test content"
|
|
39
|
+
})
|
|
40
|
+
})
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
Demo.propTypes = {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import LauncherLogo from '@arcblock/icons/lib/LauncherLogo';
|
|
3
|
+
import LauncherLogoNotext from '@arcblock/icons/lib/LauncherLogoNotext';
|
|
4
|
+
import HelpOutlineIcon from '@mui/icons-material/HelpOutline';
|
|
5
|
+
import Button from '@mui/material/IconButton';
|
|
6
|
+
import Layout from '../../index';
|
|
7
|
+
import { StepProvider, useStepContext } from '../../context/step';
|
|
8
|
+
import staticDemo from './static-demo-data.json';
|
|
9
|
+
import { BodyContainer, Content } from './constants';
|
|
10
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
const testSteps = [{
|
|
12
|
+
key: 'wizard',
|
|
13
|
+
name: 'Name1 Wizard'
|
|
14
|
+
}, {
|
|
15
|
+
key: 'select-node',
|
|
16
|
+
name: 'Name2 select node',
|
|
17
|
+
optional: true
|
|
18
|
+
}, {
|
|
19
|
+
key: 'launch-app',
|
|
20
|
+
name: 'Name3 launch app'
|
|
21
|
+
}];
|
|
22
|
+
function TestContent() {
|
|
23
|
+
const {
|
|
24
|
+
setActiveStepByKey
|
|
25
|
+
} = useStepContext();
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
const reStep = testSteps.map(e => e.key);
|
|
28
|
+
let index = 0;
|
|
29
|
+
const timer = setInterval(() => {
|
|
30
|
+
setActiveStepByKey(reStep[index]);
|
|
31
|
+
index++;
|
|
32
|
+
if (index >= reStep.length) {
|
|
33
|
+
index = 0;
|
|
34
|
+
}
|
|
35
|
+
}, 1000);
|
|
36
|
+
return () => {
|
|
37
|
+
clearInterval(timer);
|
|
38
|
+
};
|
|
39
|
+
}, [setActiveStepByKey]);
|
|
40
|
+
return /*#__PURE__*/_jsx("p", {
|
|
41
|
+
children: "memory mode, not linked to history"
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
export default function Demo() {
|
|
45
|
+
return /*#__PURE__*/_jsx(BodyContainer, {
|
|
46
|
+
children: /*#__PURE__*/_jsx(StepProvider, {
|
|
47
|
+
steps: testSteps,
|
|
48
|
+
mode: "memory",
|
|
49
|
+
children: /*#__PURE__*/_jsx(Layout, {
|
|
50
|
+
locale: "zh",
|
|
51
|
+
blockletMeta: staticDemo,
|
|
52
|
+
headerEndAddons: /*#__PURE__*/_jsx(Button, {
|
|
53
|
+
children: /*#__PURE__*/_jsx(HelpOutlineIcon, {
|
|
54
|
+
style: {
|
|
55
|
+
fontSize: 28
|
|
56
|
+
}
|
|
57
|
+
})
|
|
58
|
+
}),
|
|
59
|
+
navLogo: {
|
|
60
|
+
desktop: /*#__PURE__*/_jsx(LauncherLogo, {
|
|
61
|
+
width: "145",
|
|
62
|
+
height: "48"
|
|
63
|
+
}),
|
|
64
|
+
mobile: /*#__PURE__*/_jsx(LauncherLogoNotext, {
|
|
65
|
+
width: 32,
|
|
66
|
+
height: 32
|
|
67
|
+
})
|
|
68
|
+
},
|
|
69
|
+
children: /*#__PURE__*/_jsx(Content, {
|
|
70
|
+
children: /*#__PURE__*/_jsx(TestContent, {})
|
|
71
|
+
})
|
|
72
|
+
})
|
|
73
|
+
})
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
Demo.propTypes = {};
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import LauncherLogo from '@arcblock/icons/lib/LauncherLogo';
|
|
3
|
+
import LauncherLogoNotext from '@arcblock/icons/lib/LauncherLogoNotext';
|
|
4
|
+
import HelpOutlineIcon from '@mui/icons-material/HelpOutline';
|
|
5
|
+
import Button from '@mui/material/IconButton';
|
|
6
|
+
import Layout from '../../index';
|
|
7
|
+
import { StepProvider, useStepContext } from '../../context/step';
|
|
8
|
+
import staticDemo from './static-demo-data.json';
|
|
9
|
+
import { BodyContainer, Content } from './constants';
|
|
10
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
const testSteps = [{
|
|
12
|
+
key: 'start-app',
|
|
13
|
+
name: 'start-app name'
|
|
14
|
+
}, {
|
|
15
|
+
key: 'wizard',
|
|
16
|
+
name: 'showChild activating',
|
|
17
|
+
showChild: 'activating',
|
|
18
|
+
// 激活中才显示 children progress,其他时候都隐藏
|
|
19
|
+
children: [{
|
|
20
|
+
key: 'wizard-01',
|
|
21
|
+
name: 'wizard-child-a'
|
|
22
|
+
}, {
|
|
23
|
+
key: 'wizard-02',
|
|
24
|
+
name: 'wizard-child-b'
|
|
25
|
+
}]
|
|
26
|
+
}, {
|
|
27
|
+
key: 'select-node',
|
|
28
|
+
name: 'showChild activated',
|
|
29
|
+
showChild: 'activated',
|
|
30
|
+
// 激活中或已激活才会显示 children progress
|
|
31
|
+
children: [{
|
|
32
|
+
key: 'select-node-01',
|
|
33
|
+
name: 'select-node-child-a'
|
|
34
|
+
}, {
|
|
35
|
+
key: 'select-node-02',
|
|
36
|
+
name: 'select-node-child-b'
|
|
37
|
+
}]
|
|
38
|
+
}, {
|
|
39
|
+
key: 'launch-app',
|
|
40
|
+
name: 'showChild always',
|
|
41
|
+
showChild: 'always',
|
|
42
|
+
// 默认值,始终展示 children progress
|
|
43
|
+
children: [{
|
|
44
|
+
key: 'launch-app-01',
|
|
45
|
+
name: 'launch-app-child-a'
|
|
46
|
+
}, {
|
|
47
|
+
key: 'launch-app-02',
|
|
48
|
+
name: 'launch-app-child-b'
|
|
49
|
+
}]
|
|
50
|
+
}, {
|
|
51
|
+
key: 'complete-app',
|
|
52
|
+
name: 'complete-app name'
|
|
53
|
+
}];
|
|
54
|
+
function TestContent() {
|
|
55
|
+
const {
|
|
56
|
+
setActiveStepByKey
|
|
57
|
+
} = useStepContext();
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
const reStep = testSteps.map(e => e.children ? e.children.map(e2 => e2.key) : e.key).flat();
|
|
60
|
+
let index = 0;
|
|
61
|
+
const timer = setInterval(() => {
|
|
62
|
+
setActiveStepByKey(reStep[index]);
|
|
63
|
+
index++;
|
|
64
|
+
if (index >= reStep.length) {
|
|
65
|
+
index = 0;
|
|
66
|
+
}
|
|
67
|
+
}, 1000);
|
|
68
|
+
return () => {
|
|
69
|
+
clearInterval(timer);
|
|
70
|
+
};
|
|
71
|
+
}, [setActiveStepByKey]);
|
|
72
|
+
return /*#__PURE__*/_jsx("p", {
|
|
73
|
+
children: "memory mode, not linked to history"
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
export default function Demo() {
|
|
77
|
+
return /*#__PURE__*/_jsx(BodyContainer, {
|
|
78
|
+
children: /*#__PURE__*/_jsx(StepProvider, {
|
|
79
|
+
steps: testSteps,
|
|
80
|
+
mode: "memory",
|
|
81
|
+
children: /*#__PURE__*/_jsx(Layout, {
|
|
82
|
+
locale: "zh",
|
|
83
|
+
blockletMeta: staticDemo,
|
|
84
|
+
headerEndAddons: /*#__PURE__*/_jsx(Button, {
|
|
85
|
+
children: /*#__PURE__*/_jsx(HelpOutlineIcon, {
|
|
86
|
+
style: {
|
|
87
|
+
fontSize: 28
|
|
88
|
+
}
|
|
89
|
+
})
|
|
90
|
+
}),
|
|
91
|
+
navLogo: {
|
|
92
|
+
desktop: /*#__PURE__*/_jsx(LauncherLogo, {
|
|
93
|
+
width: "145",
|
|
94
|
+
height: "48"
|
|
95
|
+
}),
|
|
96
|
+
mobile: /*#__PURE__*/_jsx(LauncherLogoNotext, {
|
|
97
|
+
width: 32,
|
|
98
|
+
height: 32
|
|
99
|
+
})
|
|
100
|
+
},
|
|
101
|
+
children: /*#__PURE__*/_jsx(Content, {
|
|
102
|
+
children: /*#__PURE__*/_jsx(TestContent, {})
|
|
103
|
+
})
|
|
104
|
+
})
|
|
105
|
+
})
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
Demo.propTypes = {};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
{
|
|
2
|
+
"author": { "email": "wangshijun2010@gmail.com", "name": "wangshijun", "url": "http://github.com/wangshijun" },
|
|
3
|
+
"capabilities": { "clusterMode": false, "component": true },
|
|
4
|
+
"children": [],
|
|
5
|
+
"community": "",
|
|
6
|
+
"description": "Demo blocklet that shows how to serve a static html5 game with Blocklet Server",
|
|
7
|
+
"did": "z8ia4e5vAeDsQEE2P26bQqz9oWR1Lxg9qUMaV",
|
|
8
|
+
"dist": {
|
|
9
|
+
"integrity": "sha512-uL9GnG9k6HpfrqKKcXfsKJmZWpNgs3xqM1lG+Rt5oI1a07wFoqHtMvNFveFnP/blRmP8GpjUTBKwkWFb5MEedQ==",
|
|
10
|
+
"size": 314212,
|
|
11
|
+
"tarball": "static-demo-blocklet-1.3.0.tgz"
|
|
12
|
+
},
|
|
13
|
+
"documentation": "",
|
|
14
|
+
"environments": [],
|
|
15
|
+
"files": ["app/", "screenshots/", "logo.png", "blocklet.yml", "blocklet.md", "README.md"],
|
|
16
|
+
"gitHash": "c349d259c463de4addef326979f2fa9d2c2c9b69",
|
|
17
|
+
"group": "static",
|
|
18
|
+
"homepage": "",
|
|
19
|
+
"interfaces": [
|
|
20
|
+
{ "name": "publicUrl", "path": "/", "port": "BLOCKLET_PORT", "prefix": "*", "protocol": "tcp", "type": "web" }
|
|
21
|
+
],
|
|
22
|
+
"keywords": ["demo", "game", "blocklet"],
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"logo": "logo.png",
|
|
25
|
+
"main": "app",
|
|
26
|
+
"name": "static-demo-blocklet",
|
|
27
|
+
"nftFactory": "",
|
|
28
|
+
"path": "/static/static-demo-blocklet",
|
|
29
|
+
"payment": { "price": [], "share": [] },
|
|
30
|
+
"repository": {
|
|
31
|
+
"type": "git",
|
|
32
|
+
"url": "git+https://github.com/blocklet/html-2048-sample.git",
|
|
33
|
+
"parsedUrl": "https://github.com/blocklet/html-2048-sample"
|
|
34
|
+
},
|
|
35
|
+
"requirements": { "abtnode": ">=1.1.0", "cpu": "*", "os": "*" },
|
|
36
|
+
"screenshots": ["0-home.png"],
|
|
37
|
+
"signatures": [
|
|
38
|
+
{
|
|
39
|
+
"type": "ED25519",
|
|
40
|
+
"name": "Blocklet Store",
|
|
41
|
+
"signer": "zNKXtdqz6Jbw5mKpojK2nP5gRNiEGJY3mNFF",
|
|
42
|
+
"pk": "z8VahoQa6oS63Ym3rfsmzZEt9Moonbg4JSUiit5J7DRAV",
|
|
43
|
+
"excludes": ["htmlAst", "lastPublishedAt", "stats", "readme"],
|
|
44
|
+
"appended": ["htmlAst", "lastPublishedAt", "stats", "readme"],
|
|
45
|
+
"created": "2022-05-11T03:53:41.476Z",
|
|
46
|
+
"sig": "z4xFd9LnY1oFf47XwfEerj6cPSRmHCQQjXAWDSKGXTWsvbpfE4WGSRCTPUM73eXFunJ2MRbX9AAd9di5frU14j9ko"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"appended": ["htmlAst", "lastPublishedAt", "stats", "readme"],
|
|
50
|
+
"created": "2022-05-11T03:53:39.276Z",
|
|
51
|
+
"excludes": ["htmlAst", "lastPublishedAt", "stats", "readme"],
|
|
52
|
+
"name": "static-demo-blocklet",
|
|
53
|
+
"pk": "z2eCsEyycLQPvqCRxvGBawGwyTfoZF1UpzocGqvtjdx7J",
|
|
54
|
+
"signer": "z1euigAXVHi9cJfJGo2b9QaeQwxjQynSKoJ",
|
|
55
|
+
"type": "ED25519",
|
|
56
|
+
"sig": "z5SNRXdk9mnauCTYrwAp9D5PKcdbz9HtkERQkBiJzLLHnA1fj7REi8GpAkVYx7SroKuk6E7hB7FyoegKX8izDZFqE"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"created": "2022-05-11T03:53:10.846Z",
|
|
60
|
+
"name": "static-demo-blocklet",
|
|
61
|
+
"pk": "z75CxPgkoiANhn1iCMRHQX2w6fSQPgi2qZiqbhQuy9Xo3",
|
|
62
|
+
"sig": "z36PDVVsRWb4D4KB9qAYcNM8DCVQTcLsJyEWMmxtba3HP67FzgW38CfuHFivq2ADjc8Zw3dZ9vr2Ehmt3GVWQwogx",
|
|
63
|
+
"signer": "z1Rq9qSoqvAq1NcJJTzKB1AnM991Cm4JrzW",
|
|
64
|
+
"type": "ED25519"
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"specVersion": "1.2.7",
|
|
68
|
+
"timeout": { "start": 10 },
|
|
69
|
+
"title": "Static Demo",
|
|
70
|
+
"version": "1.3.0",
|
|
71
|
+
"readme": {
|
|
72
|
+
"en": "# Static Demo Blocklet\n\nThis is a blocklet demo of the 2048 game used to demonstrate how to install and run a blocklet on your Blocklet Server. It is a pure front-end web application written in Javascript, HTML, and CSS. You may already have some basic understanding of [Blocklet](https://www.arcblock.io/en/blocklets) and [Blocklet Server](https://www.arcblock.io/en/node). Now you can have your own blocklet set up and running in just a few minutes.\n\n## How to install and run html-2048-sample\n\n* Click the Launch button\n* You need to purchase a Blocklet Server first (if you don't already have one)\n* Follow the installation wizard to install blocklet on your Blocklet Server\n* Start the installed blocklet in the Blocklet Server console\n* Access the public address of the blocklet\n\n## How it's made?\n\nYou can reference media files in the blocklet.md:\n\n\n"
|
|
73
|
+
},
|
|
74
|
+
"stats": { "downloads": 23681 },
|
|
75
|
+
"category": {
|
|
76
|
+
"name": "fun",
|
|
77
|
+
"locales": { "zh": "娱乐", "en": "Fun" },
|
|
78
|
+
"_id": "6TYF6yIvrVvaNUkw",
|
|
79
|
+
"createdAt": "2022-01-11T01:48:16.351Z",
|
|
80
|
+
"updatedAt": "2022-01-11T01:48:16.351Z"
|
|
81
|
+
},
|
|
82
|
+
"owner": { "did": "z1euigAXVHi9cJfJGo2b9QaeQwxjQynSKoJ", "name": "arcblock", "role": "guest" },
|
|
83
|
+
"lastPublishedAt": "2022-05-11T03:53:41.548Z",
|
|
84
|
+
"registryUrl": "https://store.blocklet.dev"
|
|
85
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import Default from './demo/default';
|
|
2
|
+
import LogoUrl from './demo/logo-url';
|
|
3
|
+
import ChildProgress from './demo/child-progress';
|
|
4
|
+
import MemoryMode from './demo/memory-mode';
|
|
5
|
+
import OptionalStep from './demo/optional-step';
|
|
6
|
+
import ChildProgressInMemoryMode from './demo/child-progress-in-memory-mode';
|
|
7
|
+
import ShowChild from './demo/show-child';
|
|
8
|
+
import LongestStepsForLaunch from './demo/longest-steps-for-launch';
|
|
9
|
+
import OldCodeCompatible from './demo/old-code-compatible';
|
|
10
|
+
export default {
|
|
11
|
+
title: 'Blocklet-Launcher/Layout',
|
|
12
|
+
parameters: {
|
|
13
|
+
layout: 'fullscreen',
|
|
14
|
+
readme: {
|
|
15
|
+
sidebar: '<!-- PROPS -->'
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
Default.argTypes = {};
|
|
20
|
+
Default.storyName = 'Default';
|
|
21
|
+
export { Default, LogoUrl, ChildProgress, MemoryMode, OptionalStep, ChildProgressInMemoryMode, ShowChild, LongestStepsForLaunch, OldCodeCompatible };
|
package/lib/header.js
CHANGED
|
@@ -210,8 +210,19 @@ const AppLink = styled.a`
|
|
|
210
210
|
display: -webkit-box;
|
|
211
211
|
-webkit-line-clamp: 2;
|
|
212
212
|
-webkit-box-orient: vertical;
|
|
213
|
-
font-family:
|
|
214
|
-
|
|
213
|
+
font-family:
|
|
214
|
+
Lato,
|
|
215
|
+
Avenir,
|
|
216
|
+
-apple-system,
|
|
217
|
+
BlinkMacSystemFont,
|
|
218
|
+
'Segoe UI',
|
|
219
|
+
Roboto,
|
|
220
|
+
'Helvetica Neue',
|
|
221
|
+
Arial,
|
|
222
|
+
sans-serif,
|
|
223
|
+
'Apple Color Emoji',
|
|
224
|
+
'Segoe UI Emoji',
|
|
225
|
+
'Segoe UI Symbol';
|
|
215
226
|
text-decoration: none;
|
|
216
227
|
font-weight: 700;
|
|
217
228
|
-webkit-font-smoothing: antialiased;
|
package/lib/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blocklet/launcher-layout",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.10.20",
|
|
4
4
|
"description": "Common ux components of launcher",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"launcher"
|
|
10
10
|
],
|
|
11
11
|
"author": "polunzh <polunzh@gmail.com>",
|
|
12
|
-
"homepage": "https://github.com/
|
|
12
|
+
"homepage": "https://github.com/ArcBlock/ux#readme",
|
|
13
13
|
"license": "ISC",
|
|
14
14
|
"main": "lib/index.js",
|
|
15
15
|
"files": [
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
],
|
|
22
22
|
"repository": {
|
|
23
23
|
"type": "git",
|
|
24
|
-
"url": "https://github.com/
|
|
24
|
+
"url": "https://github.com/ArcBlock/ux.git"
|
|
25
25
|
},
|
|
26
26
|
"scripts": {
|
|
27
27
|
"lint": "eslint src",
|
|
@@ -29,10 +29,12 @@
|
|
|
29
29
|
"build": "babel src --out-dir lib --copy-files --no-copy-ignored",
|
|
30
30
|
"autoexports": "node tools/auto-exports.js",
|
|
31
31
|
"watch": "babel src --out-dir lib -w --copy-files",
|
|
32
|
+
"precommit": "CI=1 npm run lint",
|
|
33
|
+
"prepush": "CI=1 npm run lint",
|
|
32
34
|
"prepublish": "npm run build"
|
|
33
35
|
},
|
|
34
36
|
"bugs": {
|
|
35
|
-
"url": "https://github.com/
|
|
37
|
+
"url": "https://github.com/ArcBlock/ux/issues"
|
|
36
38
|
},
|
|
37
39
|
"peerDependencies": {
|
|
38
40
|
"@arcblock/did-connect": "^2.10.1",
|
|
@@ -42,9 +44,9 @@
|
|
|
42
44
|
"react": "^18.2.0"
|
|
43
45
|
},
|
|
44
46
|
"dependencies": {
|
|
45
|
-
"@arcblock/icons": "^2.10.
|
|
46
|
-
"@blocklet/launcher-util": "2.3.
|
|
47
|
-
"@blocklet/launcher-ux": "2.3.
|
|
47
|
+
"@arcblock/icons": "^2.10.20",
|
|
48
|
+
"@blocklet/launcher-util": "2.3.45",
|
|
49
|
+
"@blocklet/launcher-ux": "2.3.45",
|
|
48
50
|
"@blocklet/meta": "1.16.29",
|
|
49
51
|
"@emotion/react": "^11.13.0",
|
|
50
52
|
"@emotion/styled": "^11.13.0",
|
|
@@ -65,5 +67,5 @@
|
|
|
65
67
|
"babel-plugin-inline-react-svg": "^2.0.2",
|
|
66
68
|
"glob": "^10.4.5"
|
|
67
69
|
},
|
|
68
|
-
"gitHead": "
|
|
70
|
+
"gitHead": "e824874fc5c195246c96fcb8da7308b46d77236f"
|
|
69
71
|
}
|