@blocklet/launcher-layout 2.13.31 → 2.13.33

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,18 +1,82 @@
1
+ import { Grid } from '@mui/material';
1
2
  import Button from '@arcblock/ux/lib/Button';
2
3
  import LaunchResultMessage from '../../launch-result-message';
3
- import { jsx as _jsx } from "react/jsx-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
5
  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"
6
+ return /*#__PURE__*/_jsxs(Grid, {
7
+ container: true,
8
+ spacing: 12,
9
+ mt: 2,
10
+ children: [/*#__PURE__*/_jsx(Grid, {
11
+ item: true,
12
+ xs: 12,
13
+ sm: 6,
14
+ md: 3,
15
+ children: /*#__PURE__*/_jsx(LaunchResultMessage, {
16
+ variant: "success",
17
+ title: "Success Title",
18
+ subTitle: "This is a success message.",
19
+ footer: /*#__PURE__*/_jsx("div", {
20
+ children: /*#__PURE__*/_jsx(Button, {
21
+ color: "primary",
22
+ variant: "contained",
23
+ children: "Success Action"
24
+ })
25
+ })
14
26
  })
15
- })
27
+ }), /*#__PURE__*/_jsx(Grid, {
28
+ item: true,
29
+ xs: 12,
30
+ sm: 6,
31
+ md: 3,
32
+ children: /*#__PURE__*/_jsx(LaunchResultMessage, {
33
+ variant: "error",
34
+ title: "Error Title",
35
+ subTitle: "This is an error message.",
36
+ footer: /*#__PURE__*/_jsx("div", {
37
+ children: /*#__PURE__*/_jsx(Button, {
38
+ color: "primary",
39
+ variant: "contained",
40
+ children: "Error Action"
41
+ })
42
+ })
43
+ })
44
+ }), /*#__PURE__*/_jsx(Grid, {
45
+ item: true,
46
+ xs: 12,
47
+ sm: 6,
48
+ md: 3,
49
+ children: /*#__PURE__*/_jsx(LaunchResultMessage, {
50
+ variant: "info",
51
+ title: "Info Title",
52
+ subTitle: "This is an info message.",
53
+ footer: /*#__PURE__*/_jsx("div", {
54
+ children: /*#__PURE__*/_jsx(Button, {
55
+ color: "primary",
56
+ variant: "contained",
57
+ children: "Info Action"
58
+ })
59
+ })
60
+ })
61
+ }), /*#__PURE__*/_jsx(Grid, {
62
+ item: true,
63
+ xs: 12,
64
+ sm: 6,
65
+ md: 3,
66
+ children: /*#__PURE__*/_jsx(LaunchResultMessage, {
67
+ variant: "loading",
68
+ title: "Loading Title",
69
+ subTitle: "This is a loading message.",
70
+ footer: /*#__PURE__*/_jsx("div", {
71
+ children: /*#__PURE__*/_jsx(Button, {
72
+ color: "primary",
73
+ variant: "contained",
74
+ disabled: true,
75
+ children: "Loading Action"
76
+ })
77
+ })
78
+ })
79
+ })]
16
80
  });
17
81
  }
18
82
  Demo.propTypes = {};
@@ -1,4 +1,8 @@
1
+ import { Container } from '@mui/material';
2
+ import { ThemeProvider } from '@arcblock/ux/lib/Theme';
3
+ import { ThemeModeToggle } from '@arcblock/ux/lib/Config';
1
4
  import Default from './demo/default';
5
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
6
  export default {
3
7
  title: 'Blocklet-Launcher/ResultMessage',
4
8
  parameters: {
@@ -6,7 +10,17 @@ export default {
6
10
  readme: {
7
11
  sidebar: '<!-- PROPS -->'
8
12
  }
9
- }
13
+ },
14
+ decorators: [Story => /*#__PURE__*/_jsxs(ThemeProvider, {
15
+ prefer: "system",
16
+ children: [/*#__PURE__*/_jsx(Container, {
17
+ sx: {
18
+ textAlign: 'right',
19
+ py: 1
20
+ },
21
+ children: /*#__PURE__*/_jsx(ThemeModeToggle, {})
22
+ }), /*#__PURE__*/_jsx(Story, {})]
23
+ })]
10
24
  };
11
25
  Default.argTypes = {};
12
26
  Default.storyName = 'ResultMessage';
@@ -1,12 +1,9 @@
1
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';
2
+ import { useTheme } from '@mui/material';
6
3
  import Layout from '../../index';
7
4
  import { StepProvider, useStepContext } from '../../context/step';
8
5
  import staticDemo from './static-demo-data.json';
9
- import { BodyContainer, Content } from './constants';
6
+ import { BodyContainer, Content, HeaderEndAddons, getNavLogo } from './constants';
10
7
  import { jsx as _jsx } from "react/jsx-runtime";
11
8
  const testSteps = [{
12
9
  key: 'wizard',
@@ -51,6 +48,9 @@ function TestContent() {
51
48
  });
52
49
  }
53
50
  export default function Demo() {
51
+ const {
52
+ palette
53
+ } = useTheme();
54
54
  return /*#__PURE__*/_jsx(BodyContainer, {
55
55
  children: /*#__PURE__*/_jsx(StepProvider, {
56
56
  steps: testSteps,
@@ -58,23 +58,8 @@ export default function Demo() {
58
58
  children: /*#__PURE__*/_jsx(Layout, {
59
59
  locale: "zh",
60
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
- },
61
+ headerEndAddons: /*#__PURE__*/_jsx(HeaderEndAddons, {}),
62
+ navLogo: getNavLogo(palette.mode),
78
63
  children: /*#__PURE__*/_jsx(Content, {
79
64
  children: /*#__PURE__*/_jsx(TestContent, {})
80
65
  })
@@ -1,11 +1,8 @@
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';
1
+ import { useTheme } from '@mui/material';
5
2
  import Layout from '../../index';
6
3
  import { StepProvider } from '../../context/step';
7
4
  import staticDemo from './static-demo-data.json';
8
- import { BodyContainer, Content } from './constants';
5
+ import { BodyContainer, Content, HeaderEndAddons, getNavLogo } from './constants';
9
6
  import { jsx as _jsx } from "react/jsx-runtime";
10
7
  const testSteps = [{
11
8
  key: 'wizard',
@@ -34,29 +31,17 @@ const testSteps = [{
34
31
  path: ''
35
32
  }];
36
33
  export default function Demo() {
34
+ const {
35
+ palette
36
+ } = useTheme();
37
37
  return /*#__PURE__*/_jsx(BodyContainer, {
38
38
  children: /*#__PURE__*/_jsx(StepProvider, {
39
39
  steps: testSteps,
40
40
  children: /*#__PURE__*/_jsx(Layout, {
41
41
  locale: "zh",
42
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
- },
43
+ headerEndAddons: /*#__PURE__*/_jsx(HeaderEndAddons, {}),
44
+ navLogo: getNavLogo(palette.mode),
60
45
  children: /*#__PURE__*/_jsx(Content, {
61
46
  children: /*#__PURE__*/_jsx("p", {
62
47
  children: "set children in steps data"
@@ -1,4 +1,10 @@
1
1
  import styled from '@emotion/styled';
2
+ import IconButton from '@mui/material/IconButton';
3
+ import HelpOutlineIcon from '@mui/icons-material/HelpOutline';
4
+ import { ThemeModeToggle } from '@arcblock/ux/lib/Config';
5
+ import LauncherLogo from '@arcblock/icons/lib/LauncherLogo';
6
+ import LauncherLogoNotext from '@arcblock/icons/lib/LauncherLogoNotext';
7
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
8
  export const steps = [{
3
9
  key: 'wizard',
4
10
  name: 'Name1 Wizard',
@@ -20,6 +26,15 @@ export const BodyContainer = styled.div`
20
26
  position: relative;
21
27
  width: 100%;
22
28
  height: 100%;
29
+ min-height: 700px;
30
+ display: flex;
31
+ flex-direction: column;
32
+ > div {
33
+ flex: 1;
34
+ }
35
+ .ll-container {
36
+ flex: 1;
37
+ }
23
38
  `;
24
39
  export const Content = styled.div`
25
40
  box-sizing: border-box;
@@ -29,4 +44,33 @@ export const Content = styled.div`
29
44
  align-items: center;
30
45
  width: 100%;
31
46
  height: 100%;
32
- `;
47
+ `;
48
+ export function HeaderEndAddons() {
49
+ return /*#__PURE__*/_jsxs(_Fragment, {
50
+ children: [/*#__PURE__*/_jsx(ThemeModeToggle, {}), /*#__PURE__*/_jsx(IconButton, {
51
+ children: /*#__PURE__*/_jsx(HelpOutlineIcon, {
52
+ style: {
53
+ fontSize: 28
54
+ }
55
+ })
56
+ })]
57
+ });
58
+ }
59
+ export function getNavLogo(mode) {
60
+ return {
61
+ desktop: /*#__PURE__*/_jsx(LauncherLogo, {
62
+ style: {
63
+ filter: mode === 'dark' ? 'invert(1)' : 'none'
64
+ },
65
+ width: "145",
66
+ height: "48"
67
+ }),
68
+ mobile: /*#__PURE__*/_jsx(LauncherLogoNotext, {
69
+ style: {
70
+ filter: mode === 'dark' ? 'invert(1)' : 'none'
71
+ },
72
+ width: 32,
73
+ height: 32
74
+ })
75
+ };
76
+ }
@@ -1,11 +1,8 @@
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';
1
+ import { useTheme } from '@mui/material';
5
2
  import Layout from '../../index';
6
3
  import { StepProvider } from '../../context/step';
7
4
  import staticDemo from './static-demo-data.json';
8
- import { BodyContainer, Content } from './constants';
5
+ import { BodyContainer, Content, getNavLogo, HeaderEndAddons } from './constants';
9
6
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
7
  export default function Demo() {
11
8
  const testSteps = [{
@@ -24,29 +21,17 @@ export default function Demo() {
24
21
  path: '',
25
22
  description: 'I am desc 3'
26
23
  }];
24
+ const {
25
+ palette
26
+ } = useTheme();
27
27
  return /*#__PURE__*/_jsx(BodyContainer, {
28
28
  children: /*#__PURE__*/_jsx(StepProvider, {
29
29
  steps: testSteps,
30
30
  children: /*#__PURE__*/_jsx(Layout, {
31
31
  locale: "zh",
32
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
- },
33
+ headerEndAddons: /*#__PURE__*/_jsx(HeaderEndAddons, {}),
34
+ navLogo: getNavLogo(palette.mode),
50
35
  children: /*#__PURE__*/_jsxs(Content, {
51
36
  children: [/*#__PURE__*/_jsxs("p", {
52
37
  children: [/*#__PURE__*/_jsx("b", {
@@ -0,0 +1,108 @@
1
+ import { useTheme } from '@mui/material';
2
+ import AppsIcon from '@mui/icons-material/Apps';
3
+ import Layout from '../../index';
4
+ import { StepProvider } from '../../context/step';
5
+ import staticDemo from './static-demo-data.json';
6
+ import { BodyContainer, getNavLogo, HeaderEndAddons } from './constants';
7
+
8
+ // helper to remove icon for display
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ function getSerializable(obj) {
11
+ const {
12
+ icon,
13
+ ...rest
14
+ } = obj;
15
+ return rest;
16
+ }
17
+ export default function Demo() {
18
+ const testSteps = [{
19
+ key: 'wizard',
20
+ name: 'Name1 Wizard',
21
+ path: '/',
22
+ description: 'I am desc 1'
23
+ }, {
24
+ key: 'select-node',
25
+ name: 'Name2 select node',
26
+ path: '/launch/select',
27
+ description: 'I am desc 2'
28
+ }, {
29
+ key: 'launch-app',
30
+ name: 'Name3 launch app',
31
+ path: '',
32
+ description: 'I am desc 3'
33
+ }];
34
+ const {
35
+ palette
36
+ } = useTheme();
37
+
38
+ // Example 2: With Tooltip and Description
39
+ const tooltipExtraNav = {
40
+ link: 'https://www.baidu.com',
41
+ text: 'My Apps',
42
+ appText: 'View My Apps',
43
+ icon: /*#__PURE__*/_jsx(AppsIcon, {}),
44
+ tooltipText: 'View my apps',
45
+ description: 'Your apps will be shown here'
46
+ };
47
+ return /*#__PURE__*/_jsx(BodyContainer, {
48
+ children: /*#__PURE__*/_jsx(StepProvider, {
49
+ steps: testSteps,
50
+ children: /*#__PURE__*/_jsxs(Layout, {
51
+ locale: "en",
52
+ blockletMeta: staticDemo,
53
+ headerEndAddons: /*#__PURE__*/_jsx(HeaderEndAddons, {}),
54
+ navLogo: getNavLogo(palette.mode),
55
+ extraNav: tooltipExtraNav,
56
+ children: [/*#__PURE__*/_jsxs("div", {
57
+ children: [/*#__PURE__*/_jsxs("p", {
58
+ children: [/*#__PURE__*/_jsx("b", {
59
+ children: "extraNav"
60
+ }), " is used to add additional navigation items to the navigation bar, supporting the following features:"]
61
+ }), /*#__PURE__*/_jsxs("div", {
62
+ children: [/*#__PURE__*/_jsx("h4", {
63
+ children: "Property Description"
64
+ }), /*#__PURE__*/_jsxs("ul", {
65
+ children: [/*#__PURE__*/_jsxs("li", {
66
+ children: [/*#__PURE__*/_jsx("b", {
67
+ children: "text"
68
+ }), ": Main display text"]
69
+ }), /*#__PURE__*/_jsxs("li", {
70
+ children: [/*#__PURE__*/_jsx("b", {
71
+ children: "appText"
72
+ }), ": Optional alternative text (displayed on mobile)"]
73
+ }), /*#__PURE__*/_jsxs("li", {
74
+ children: [/*#__PURE__*/_jsx("b", {
75
+ children: "link"
76
+ }), ": Link to navigate to when clicked"]
77
+ }), /*#__PURE__*/_jsxs("li", {
78
+ children: [/*#__PURE__*/_jsx("b", {
79
+ children: "icon"
80
+ }), ": Optional icon (supports any React node)"]
81
+ }), /*#__PURE__*/_jsxs("li", {
82
+ children: [/*#__PURE__*/_jsx("b", {
83
+ children: "tooltipText"
84
+ }), ": Optional tooltip text"]
85
+ }), /*#__PURE__*/_jsxs("li", {
86
+ children: [/*#__PURE__*/_jsx("b", {
87
+ children: "description"
88
+ }), ": Optional description text"]
89
+ }), /*#__PURE__*/_jsxs("li", {
90
+ children: [/*#__PURE__*/_jsx("b", {
91
+ children: "buttonProps"
92
+ }), ": Custom button properties (supports all MUI Button props)"]
93
+ })]
94
+ })]
95
+ })]
96
+ }), /*#__PURE__*/_jsx("pre", {
97
+ style: {
98
+ background: '#f5f5f5',
99
+ padding: 16,
100
+ borderRadius: 4
101
+ },
102
+ children: JSON.stringify(getSerializable(tooltipExtraNav), null, 2)
103
+ })]
104
+ })
105
+ })
106
+ });
107
+ }
108
+ Demo.propTypes = {};
@@ -1,37 +1,22 @@
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';
1
+ import { useTheme } from '@mui/material';
5
2
  import Layout from '../../index';
6
3
  import { StepProvider } from '../../context/step';
7
4
  import staticDemo from './static-demo-data.json';
8
- import { BodyContainer, Content, steps } from './constants';
5
+ import { BodyContainer, Content, steps, HeaderEndAddons, getNavLogo } from './constants';
9
6
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
7
  export default function Demo() {
8
+ const {
9
+ palette
10
+ } = useTheme();
11
11
  return /*#__PURE__*/_jsx(BodyContainer, {
12
12
  children: /*#__PURE__*/_jsx(StepProvider, {
13
13
  steps: steps,
14
14
  children: /*#__PURE__*/_jsx(Layout, {
15
15
  locale: "zh",
16
16
  blockletMeta: staticDemo,
17
- headerEndAddons: /*#__PURE__*/_jsx(Button, {
18
- children: /*#__PURE__*/_jsx(HelpOutlineIcon, {
19
- style: {
20
- fontSize: 28
21
- }
22
- })
23
- }),
17
+ headerEndAddons: /*#__PURE__*/_jsx(HeaderEndAddons, {}),
24
18
  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
- },
19
+ navLogo: getNavLogo(palette.mode),
35
20
  children: /*#__PURE__*/_jsx(Content, {
36
21
  children: /*#__PURE__*/_jsxs("p", {
37
22
  children: [/*#__PURE__*/_jsx("b", {
@@ -1,12 +1,9 @@
1
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';
2
+ import { useTheme } from '@mui/material';
6
3
  import Layout from '../../index';
7
4
  import { StepProvider, useStepContext } from '../../context/step';
8
5
  import staticDemo from './static-demo-data.json';
9
- import { BodyContainer, Content } from './constants';
6
+ import { BodyContainer, Content, HeaderEndAddons, getNavLogo } from './constants';
10
7
  import { jsx as _jsx } from "react/jsx-runtime";
11
8
  const testSteps = [{
12
9
  key: 'introduction',
@@ -76,6 +73,9 @@ function TestContent() {
76
73
  });
77
74
  }
78
75
  export default function Demo() {
76
+ const {
77
+ palette
78
+ } = useTheme();
79
79
  return /*#__PURE__*/_jsx(BodyContainer, {
80
80
  children: /*#__PURE__*/_jsx(StepProvider, {
81
81
  steps: testSteps,
@@ -83,23 +83,8 @@ export default function Demo() {
83
83
  children: /*#__PURE__*/_jsx(Layout, {
84
84
  locale: "zh",
85
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
- },
86
+ headerEndAddons: /*#__PURE__*/_jsx(HeaderEndAddons, {}),
87
+ navLogo: getNavLogo(palette.mode),
103
88
  children: /*#__PURE__*/_jsx(Content, {
104
89
  children: /*#__PURE__*/_jsx(TestContent, {})
105
90
  })
@@ -1,12 +1,9 @@
1
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';
2
+ import { useTheme } from '@mui/material';
6
3
  import Layout from '../../index';
7
4
  import { StepProvider, useStepContext } from '../../context/step';
8
5
  import staticDemo from './static-demo-data.json';
9
- import { BodyContainer, Content } from './constants';
6
+ import { BodyContainer, Content, HeaderEndAddons, getNavLogo } from './constants';
10
7
  import { jsx as _jsx } from "react/jsx-runtime";
11
8
  const testSteps = [{
12
9
  key: 'wizard',
@@ -30,6 +27,9 @@ function TestContent() {
30
27
  });
31
28
  }
32
29
  export default function Demo() {
30
+ const {
31
+ palette
32
+ } = useTheme();
33
33
  return /*#__PURE__*/_jsx(BodyContainer, {
34
34
  children: /*#__PURE__*/_jsx(StepProvider, {
35
35
  steps: testSteps,
@@ -37,23 +37,8 @@ export default function Demo() {
37
37
  children: /*#__PURE__*/_jsx(Layout, {
38
38
  locale: "zh",
39
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
- },
40
+ headerEndAddons: /*#__PURE__*/_jsx(HeaderEndAddons, {}),
41
+ navLogo: getNavLogo(palette.mode),
57
42
  children: /*#__PURE__*/_jsx(Content, {
58
43
  children: /*#__PURE__*/_jsx(TestContent, {})
59
44
  })
@@ -1,13 +1,11 @@
1
1
  import LauncherLogo from '@arcblock/icons/lib/LauncherLogo';
2
2
  import LauncherLogoNotext from '@arcblock/icons/lib/LauncherLogoNotext';
3
- import HelpOutlineIcon from '@mui/icons-material/HelpOutline';
4
- import Button from '@mui/material/IconButton';
5
3
  import { useTheme } from '@mui/material/styles';
6
4
  import useMediaQuery from '@mui/material/useMediaQuery';
7
5
  import Layout from '../../index';
8
6
  import { StepProvider } from '../../context/step';
9
7
  import staticDemo from './static-demo-data.json';
10
- import { BodyContainer, Content, LogoContainer, steps } from './constants';
8
+ import { BodyContainer, Content, LogoContainer, steps, HeaderEndAddons } from './constants';
11
9
  import { jsx as _jsx } from "react/jsx-runtime";
12
10
  export default function Demo() {
13
11
  const theme = useTheme();
@@ -26,13 +24,7 @@ export default function Demo() {
26
24
  steps: steps,
27
25
  children: /*#__PURE__*/_jsx(Layout, {
28
26
  blockletMeta: staticDemo,
29
- headerEndAddons: /*#__PURE__*/_jsx(Button, {
30
- children: /*#__PURE__*/_jsx(HelpOutlineIcon, {
31
- style: {
32
- fontSize: 28
33
- }
34
- })
35
- }),
27
+ headerEndAddons: /*#__PURE__*/_jsx(HeaderEndAddons, {}),
36
28
  navLogo: logo,
37
29
  children: /*#__PURE__*/_jsx(Content, {
38
30
  children: "I am test content"
@@ -1,12 +1,9 @@
1
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';
2
+ import { useTheme } from '@mui/material';
6
3
  import Layout from '../../index';
7
4
  import { StepProvider, useStepContext } from '../../context/step';
8
5
  import staticDemo from './static-demo-data.json';
9
- import { BodyContainer, Content } from './constants';
6
+ import { BodyContainer, Content, HeaderEndAddons, getNavLogo } from './constants';
10
7
  import { jsx as _jsx } from "react/jsx-runtime";
11
8
  const testSteps = [{
12
9
  key: 'wizard',
@@ -42,6 +39,9 @@ function TestContent() {
42
39
  });
43
40
  }
44
41
  export default function Demo() {
42
+ const {
43
+ palette
44
+ } = useTheme();
45
45
  return /*#__PURE__*/_jsx(BodyContainer, {
46
46
  children: /*#__PURE__*/_jsx(StepProvider, {
47
47
  steps: testSteps,
@@ -49,23 +49,8 @@ export default function Demo() {
49
49
  children: /*#__PURE__*/_jsx(Layout, {
50
50
  locale: "zh",
51
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
- },
52
+ headerEndAddons: /*#__PURE__*/_jsx(HeaderEndAddons, {}),
53
+ navLogo: getNavLogo(palette.mode),
69
54
  children: /*#__PURE__*/_jsx(Content, {
70
55
  children: /*#__PURE__*/_jsx(TestContent, {})
71
56
  })
@@ -1,12 +1,9 @@
1
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';
2
+ import { useTheme } from '@mui/material';
6
3
  import Layout from '../../index';
7
4
  import { StepProvider, useStepContext } from '../../context/step';
8
5
  import staticDemo from './static-demo-data.json';
9
- import { BodyContainer, Content } from './constants';
6
+ import { BodyContainer, Content, HeaderEndAddons, getNavLogo } from './constants';
10
7
  import { jsx as _jsx } from "react/jsx-runtime";
11
8
  const testSteps = [{
12
9
  key: 'start-app',
@@ -74,6 +71,9 @@ function TestContent() {
74
71
  });
75
72
  }
76
73
  export default function Demo() {
74
+ const {
75
+ palette
76
+ } = useTheme();
77
77
  return /*#__PURE__*/_jsx(BodyContainer, {
78
78
  children: /*#__PURE__*/_jsx(StepProvider, {
79
79
  steps: testSteps,
@@ -81,23 +81,8 @@ export default function Demo() {
81
81
  children: /*#__PURE__*/_jsx(Layout, {
82
82
  locale: "zh",
83
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
- },
84
+ headerEndAddons: /*#__PURE__*/_jsx(HeaderEndAddons, {}),
85
+ navLogo: getNavLogo(palette.mode),
101
86
  children: /*#__PURE__*/_jsx(Content, {
102
87
  children: /*#__PURE__*/_jsx(TestContent, {})
103
88
  })
@@ -1,3 +1,4 @@
1
+ import { ThemeProvider } from '@arcblock/ux/lib/Theme';
1
2
  import Default from './demo/default';
2
3
  import LogoUrl from './demo/logo-url';
3
4
  import ChildProgress from './demo/child-progress';
@@ -7,6 +8,8 @@ import ChildProgressInMemoryMode from './demo/child-progress-in-memory-mode';
7
8
  import ShowChild from './demo/show-child';
8
9
  import LongestStepsForLaunch from './demo/longest-steps-for-launch';
9
10
  import OldCodeCompatible from './demo/old-code-compatible';
11
+ import ExtraNav from './demo/extra-nav';
12
+ import { jsx as _jsx } from "react/jsx-runtime";
10
13
  export default {
11
14
  title: 'Blocklet-Launcher/Layout',
12
15
  parameters: {
@@ -14,8 +17,12 @@ export default {
14
17
  readme: {
15
18
  sidebar: '<!-- PROPS -->'
16
19
  }
17
- }
20
+ },
21
+ decorators: [Story => /*#__PURE__*/_jsx(ThemeProvider, {
22
+ prefer: "system",
23
+ children: /*#__PURE__*/_jsx(Story, {})
24
+ })]
18
25
  };
19
26
  Default.argTypes = {};
20
27
  Default.storyName = 'Default';
21
- export { Default, LogoUrl, ChildProgress, MemoryMode, OptionalStep, ChildProgressInMemoryMode, ShowChild, LongestStepsForLaunch, OldCodeCompatible };
28
+ export { Default, LogoUrl, ChildProgress, MemoryMode, OptionalStep, ChildProgressInMemoryMode, ShowChild, LongestStepsForLaunch, OldCodeCompatible, ExtraNav };
package/lib/content.js CHANGED
@@ -44,7 +44,7 @@ const Container = styled.div`
44
44
  align-items: center;
45
45
 
46
46
  width: 100%;
47
- background: ${props => props.theme.palette.common.white};
47
+ background: ${props => props.theme.palette.background.paper};
48
48
 
49
49
  .create-button {
50
50
  margin-right: 32px;
package/lib/header.js CHANGED
@@ -171,6 +171,7 @@ function AppTitle({
171
171
  });
172
172
  }
173
173
  return /*#__PURE__*/_jsx(AppLink, {
174
+ className: "app-link",
174
175
  target: "_blank",
175
176
  href: joinUrl(blockletMeta?.registryUrl || '', `/blocklets/${blockletMeta?.did}`),
176
177
  title: name,
@@ -203,7 +204,7 @@ AppTitle.defaultProps = {
203
204
  };
204
205
  export default AppHeader;
205
206
  const AppLink = styled.a`
206
- color: ${props => props.theme.palette.common.black};
207
+ color: ${props => props.theme.palette.text.primary};
207
208
  text-decoration: none;
208
209
  overflow: hidden;
209
210
  text-overflow: ellipsis;
@@ -264,7 +265,7 @@ const Container = styled.div`
264
265
  flex-shrink: 0;
265
266
  font-size: 14px;
266
267
  font-weight: 600;
267
- color: ${props => props.theme.palette.grey[500]};
268
+ color: ${props => props.theme.palette.text.secondary};
268
269
  ${props => props.theme.breakpoints.up('md')} {
269
270
  margin-bottom: 4px;
270
271
  }
@@ -313,7 +314,7 @@ const Container = styled.div`
313
314
  align-items: center;
314
315
  flex: 1;
315
316
  height: 100%;
316
- color: ${props => props.theme.palette.common.black};
317
+ color: ${props => props.theme.palette.text.primary};
317
318
  font-weight: 700;
318
319
  ${props => props.theme.breakpoints.up('sm')} {
319
320
  font-size: 18px;
package/lib/index.js CHANGED
@@ -1,8 +1,7 @@
1
1
  import Center from '@arcblock/ux/lib/Center';
2
- import { create } from '@arcblock/ux/lib/Theme';
2
+ import { deepmerge } from '@arcblock/ux/lib/Theme';
3
3
  import { ThemeProvider as EmotionThemeProvider } from '@emotion/react';
4
- import styled from '@emotion/styled';
5
- import { CircularProgress, Hidden, StyledEngineProvider, ThemeProvider, Typography, useMediaQuery } from '@mui/material';
4
+ import { CircularProgress, Hidden, styled, StyledEngineProvider, ThemeProvider, Typography, useMediaQuery, useTheme } from '@mui/material';
6
5
  import isObject from 'lodash/isObject';
7
6
  import PropTypes from 'prop-types';
8
7
  import { Suspense, isValidElement } from 'react';
@@ -14,7 +13,7 @@ import Nav from './nav';
14
13
  import SmallCircleProgress from './small-circle-progress';
15
14
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
16
15
  const HEADER_HEIGHT_MD = '72px';
17
- const MobileContent = styled.div`
16
+ const MobileContent = styled('div')`
18
17
  box-sizing: border-box;
19
18
  display: flex;
20
19
  overflow: hidden;
@@ -22,13 +21,15 @@ const MobileContent = styled.div`
22
21
  height: 100%;
23
22
  padding-top: ${HEADER_HEIGHT_MD};
24
23
  `;
25
- const PcContent = styled.div`
24
+ const PcContent = styled('div')`
26
25
  display: flex;
27
26
  min-width: 900px;
28
27
  max-width: ${props => props.contentMaxWidth};
29
28
  max-height: 880px;
30
29
  border-radius: 8px;
31
- background-color: #fff;
30
+ background-color: ${({
31
+ theme
32
+ }) => theme.palette.background.paper};
32
33
  width: ${props => props.width || '80%'};
33
34
  height: ${props => props.height || '80%'};
34
35
 
@@ -38,21 +39,6 @@ const PcContent = styled.div`
38
39
  max-height: 100%;
39
40
  }
40
41
  `;
41
- const theme = create({
42
- typography: {
43
- fontSize: 14
44
- },
45
- palette: {
46
- primary: {
47
- main: '#1dc1c7',
48
- contrastText: '#fff'
49
- },
50
- secondary: {
51
- main: '#1976d2',
52
- contrastText: '#fff'
53
- }
54
- }
55
- });
56
42
  function Layout({
57
43
  blockletMeta: tmpBlockletMeta,
58
44
  loading,
@@ -69,8 +55,11 @@ function Layout({
69
55
  navSubTitle,
70
56
  contentMaxWidth,
71
57
  theme: userTheme,
58
+ themeOverrides,
59
+ extraNav,
72
60
  ...rest
73
61
  }) {
62
+ const parentTheme = useTheme();
74
63
  const isMobile = useMediaQuery(t => t.breakpoints.down('md'));
75
64
  const {
76
65
  activeStep,
@@ -90,13 +79,13 @@ function Layout({
90
79
  });
91
80
  }
92
81
  }
93
- const tempTheme = Object.assign(theme, userTheme || {});
82
+ const mergedTheme = deepmerge(parentTheme, userTheme || {}, themeOverrides || {});
94
83
  return /*#__PURE__*/_jsx(StyledEngineProvider, {
95
84
  injectFirst: true,
96
85
  children: /*#__PURE__*/_jsx(ThemeProvider, {
97
- theme: tempTheme,
86
+ theme: mergedTheme,
98
87
  children: /*#__PURE__*/_jsx(EmotionThemeProvider, {
99
- theme: tempTheme,
88
+ theme: mergedTheme,
100
89
  children: /*#__PURE__*/_jsxs(Root, {
101
90
  ...rest,
102
91
  children: [/*#__PURE__*/_jsxs(Header, {
@@ -115,6 +104,23 @@ function Layout({
115
104
  style: {
116
105
  marginLeft: 3
117
106
  }
107
+ }), extraNav && /*#__PURE__*/_jsx(Typography, {
108
+ variant: "caption",
109
+ className: "extra-nav-text",
110
+ onClick: () => {
111
+ if (extraNav.link) {
112
+ window.open(extraNav.link, '_blank');
113
+ }
114
+ },
115
+ sx: {
116
+ ml: 1,
117
+ color: 'primary.main',
118
+ cursor: 'pointer',
119
+ '&:hover': {
120
+ opacity: 0.8
121
+ }
122
+ },
123
+ children: extraNav.appText || extraNav.text
118
124
  })]
119
125
  }),
120
126
  logoUrl: logoUrl,
@@ -140,7 +146,8 @@ function Layout({
140
146
  logoUrl: logoUrl,
141
147
  useOfSkeleton: useOfSkeleton,
142
148
  subTitle: navSubTitle,
143
- loading: loading
149
+ loading: loading,
150
+ extraNav: extraNav
144
151
  })
145
152
  }), /*#__PURE__*/_jsx(Typography, {
146
153
  component: "div",
@@ -178,7 +185,10 @@ Layout.propTypes = {
178
185
  useOfSkeleton: PropTypes.bool,
179
186
  stepTip: PropTypes.string,
180
187
  navSubTitle: PropTypes.string,
181
- theme: PropTypes.object
188
+ /** @deprecated Please use themeOverrides instead */
189
+ theme: PropTypes.object,
190
+ themeOverrides: PropTypes.object,
191
+ extraNav: PropTypes.object
182
192
  };
183
193
  Layout.defaultProps = {
184
194
  loading: false,
@@ -194,7 +204,9 @@ Layout.defaultProps = {
194
204
  useOfSkeleton: true,
195
205
  stepTip: '',
196
206
  navSubTitle: '',
197
- theme: null
207
+ theme: null,
208
+ themeOverrides: null,
209
+ extraNav: null
198
210
  };
199
211
 
200
212
  // 针对 safari 下的 chrome 适配
@@ -203,7 +215,7 @@ let injectStyle = '';
203
215
  if (ua.includes('iphone os') && ua.includes('crios')) {
204
216
  injectStyle = 'height: calc(100vh - 60px);';
205
217
  }
206
- const Header = styled.header`
218
+ const Header = styled('header')`
207
219
  width: ${props => props.width || '80%'};
208
220
  min-width: 900px;
209
221
  box-sizing: border-box;
@@ -215,7 +227,7 @@ const Header = styled.header`
215
227
  height: 68px;
216
228
  align-items: center;
217
229
 
218
- ${props => props.theme.breakpoints.up('sm')} and (min-height: 900px) {
230
+ ${props => `${props.theme.breakpoints.up('sm')} and (min-height: 900px)`} {
219
231
  justify-content: flex-end;
220
232
  }
221
233
 
@@ -224,7 +236,9 @@ const Header = styled.header`
224
236
  width: 100%;
225
237
  height: ${HEADER_HEIGHT_MD};
226
238
  justify-content: space-between;
227
- background: #f6f8fa;
239
+ background-color: ${({
240
+ theme
241
+ }) => theme.palette.mode === 'dark' ? theme.palette.background.default : theme.palette.grey[100]};
228
242
  }
229
243
 
230
244
  .left {
@@ -233,12 +247,15 @@ const Header = styled.header`
233
247
  align-items: center;
234
248
  }
235
249
  `;
236
- const Root = styled.div`
250
+ const Root = styled('div')`
237
251
  display: flex;
238
252
  flex-direction: column;
239
253
  justify-content: center;
240
254
  align-items: center;
241
255
  letter-spacing: normal;
256
+ background: ${({
257
+ theme
258
+ }) => theme.palette.mode === 'dark' ? theme.palette.background.default : theme.palette.grey[100]};
242
259
  ${injectStyle}
243
260
 
244
261
  header:empty {
@@ -270,21 +287,16 @@ const Root = styled.div`
270
287
  flex-grow: 1;
271
288
  height: 100%;
272
289
  padding: 32px;
290
+ background-color: ${({
291
+ theme
292
+ }) => theme.palette.background.paper};
273
293
 
274
294
  ${props => props.theme.breakpoints.down('md')} {
275
295
  padding: 16px;
276
296
  }
277
297
  }
278
-
279
- ${props => props.theme.breakpoints.up('sm')} {
280
- background: #f6f8fa;
281
- }
282
-
283
- ${props => props.theme.breakpoints.down('md')} {
284
- background: ${props => props.theme.palette.common.white};
285
- }
286
298
  `;
287
- const LogoContainer = styled.div`
299
+ const LogoContainer = styled('div')`
288
300
  display: block;
289
301
  margin-top: 4px;
290
302
  `;
@@ -38,7 +38,7 @@ const Root = styled(Box)`
38
38
  }
39
39
 
40
40
  .CodeMirror pre {
41
- background: #f6f8fa !important;
41
+ background-color: ${props => props.theme.palette.grey[50]} !important;
42
42
  }
43
43
 
44
44
  .anchor {
package/lib/nav.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import styled from '@emotion/styled';
2
2
  import Check from '@mui/icons-material/Check';
3
- import { Skeleton } from '@mui/material';
3
+ import { Button, Skeleton, Tooltip, Typography } from '@mui/material';
4
4
  import PropTypes from 'prop-types';
5
5
  import { useStepContext } from './context/step';
6
6
  import AppHeader from './header';
@@ -11,7 +11,8 @@ function Nav({
11
11
  locale,
12
12
  useOfSkeleton,
13
13
  subTitle,
14
- loading
14
+ loading,
15
+ extraNav
15
16
  }) {
16
17
  const {
17
18
  steps,
@@ -123,14 +124,55 @@ function Nav({
123
124
  })]
124
125
  }, step.key);
125
126
  })
127
+ }), extraNav && /*#__PURE__*/_jsxs("div", {
128
+ className: "extra-nav",
129
+ children: [extraNav.tooltipText ? /*#__PURE__*/_jsx(Tooltip, {
130
+ title: extraNav.tooltipText,
131
+ children: /*#__PURE__*/_jsx(Button, {
132
+ variant: extraNav.buttonProps?.variant || 'text',
133
+ onClick: () => {
134
+ if (extraNav.link) {
135
+ window.open(extraNav.link, '_blank');
136
+ }
137
+ },
138
+ startIcon: extraNav.icon,
139
+ className: "extra-nav-button",
140
+ size: "small",
141
+ ...extraNav.buttonProps,
142
+ children: extraNav.text
143
+ })
144
+ }) : /*#__PURE__*/_jsx(Button, {
145
+ variant: extraNav.buttonProps?.variant || 'text',
146
+ onClick: () => {
147
+ if (extraNav.link) {
148
+ window.open(extraNav.link, '_blank');
149
+ }
150
+ },
151
+ startIcon: extraNav.icon,
152
+ size: "small",
153
+ className: "extra-nav-button",
154
+ ...extraNav.buttonProps,
155
+ children: extraNav.text
156
+ }), extraNav.description && /*#__PURE__*/_jsx(Typography, {
157
+ variant: "caption",
158
+ sx: {
159
+ color: 'text.secondary',
160
+ mt: 0.5
161
+ },
162
+ component: "p",
163
+ className: "extra-nav-description",
164
+ children: extraNav.description
165
+ })]
126
166
  })]
127
167
  });
128
168
  }
129
169
  const Div = styled.div`
130
170
  overflow-y: auto;
171
+ display: flex;
172
+ flex-direction: column;
131
173
  ${props => props.theme.breakpoints.up('md')} {
132
174
  padding: 24px;
133
- border-right: 1px solid ${props => props.theme.palette.grey[100]};
175
+ border-right: 1px solid ${props => props.theme.palette.divider};
134
176
  flex: 0 0 280px;
135
177
  min-height: 48px;
136
178
 
@@ -169,11 +211,15 @@ const Div = styled.div`
169
211
  animation: none !important;
170
212
  }
171
213
  }
214
+ .extra-nav-button {
215
+ cursor: pointer;
216
+ }
172
217
  `;
173
218
  const StepContainer = styled.div`
174
219
  display: flex;
175
220
  flex-direction: column;
176
221
  margin-top: 60px;
222
+ flex: 1;
177
223
 
178
224
  @media (max-height: 900px) {
179
225
  margin-top: 32px;
@@ -354,7 +400,7 @@ const StepContainer = styled.div`
354
400
  height: 24px;
355
401
  line-height: 24px;
356
402
  font-size: 14px;
357
- color: #9397a1;
403
+ color: ${props => props.theme.palette.grey[500]};
358
404
  transition: all ease 0.3s;
359
405
  &:first-of-type {
360
406
  margin-top: 8px;
@@ -363,11 +409,11 @@ const StepContainer = styled.div`
363
409
  padding-bottom: 40px;
364
410
  }
365
411
  &.step-child-block-active {
366
- color: ${props => props.theme.palette.common.black};
412
+ color: ${props => props.theme.palette.text.primary};
367
413
  font-weight: 700;
368
414
  }
369
415
  &.step-child-block-checked {
370
- color: ${props => props.theme.palette.common.black};
416
+ color: ${props => props.theme.palette.text.primary};
371
417
  }
372
418
  }
373
419
  }
@@ -393,13 +439,15 @@ Nav.propTypes = {
393
439
  locale: PropTypes.string,
394
440
  useOfSkeleton: PropTypes.bool,
395
441
  subTitle: PropTypes.string,
396
- loading: PropTypes.bool
442
+ loading: PropTypes.bool,
443
+ extraNav: PropTypes.object
397
444
  };
398
445
  Nav.defaultProps = {
399
446
  logoUrl: '',
400
447
  locale: '',
401
448
  useOfSkeleton: false,
402
449
  subTitle: '',
403
- loading: false
450
+ loading: false,
451
+ extraNav: null
404
452
  };
405
453
  export default Nav;
@@ -30,7 +30,7 @@ const Content = styled.div`
30
30
  .title {
31
31
  font-size: 24px;
32
32
  font-weight: 700;
33
- color: ${props => props.theme.palette.common.black};
33
+ color: ${props => props.theme.palette.text.primary};
34
34
 
35
35
  ${props => props.theme.breakpoints.down('md')} {
36
36
  font-size: 20px;
@@ -39,7 +39,7 @@ const Content = styled.div`
39
39
 
40
40
  .sub-title {
41
41
  font-size: 14px;
42
- color: ${props => props.theme.palette.grey[600]};
42
+ color: ${props => props.theme.palette.text.secondary};
43
43
  padding: 0 14px;
44
44
  font-weight: 400;
45
45
  }
@@ -48,7 +48,7 @@ const Content = styled.div`
48
48
  position: absolute;
49
49
  left: 0;
50
50
  top: 8px;
51
- color: #9397a1;
51
+ color: ${props => props.theme.palette.grey[500]};
52
52
  font-size: 18px;
53
53
  cursor: pointer;
54
54
  }
@@ -22,8 +22,8 @@ export default function SmallCircleProgress({
22
22
  size: size,
23
23
  "aria-label": "decorative progress bar",
24
24
  thickness: 10,
25
- style: {
26
- color: '#dddddd'
25
+ sx: {
26
+ color: 'grey.300'
27
27
  }
28
28
  }), /*#__PURE__*/_jsx(CircularProgress, {
29
29
  variant: "determinate",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blocklet/launcher-layout",
3
- "version": "2.13.31",
3
+ "version": "2.13.33",
4
4
  "description": "Common ux components of launcher",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -44,7 +44,7 @@
44
44
  "react": "^18.2.0"
45
45
  },
46
46
  "dependencies": {
47
- "@arcblock/icons": "^2.13.31",
47
+ "@arcblock/icons": "^2.13.33",
48
48
  "@blocklet/meta": "^1.16.43",
49
49
  "@emotion/react": "^11.13.0",
50
50
  "@emotion/styled": "^11.13.0",
@@ -65,5 +65,5 @@
65
65
  "babel-plugin-inline-react-svg": "^2.0.2",
66
66
  "glob": "^10.4.5"
67
67
  },
68
- "gitHead": "66ef51b4b217d15985838eb2c058ec833c07e1cd"
68
+ "gitHead": "b835dedcd8f2e473082e4c1aee0a8cb3ed0e78ec"
69
69
  }