Skip to content

Commit 248cbba

Browse files
committed
style:调整案例样式
1 parent 63d3360 commit 248cbba

File tree

7 files changed

+67
-66
lines changed

7 files changed

+67
-66
lines changed

website/src/components/CodeLayout/assets/expand.svg

+1-1
Loading

website/src/components/CodeLayout/assets/unexpand.svg

+1-1
Loading

website/src/components/CodeLayout/code/index.tsx

+8-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,13 @@ import Codesandbox from './codesandbox';
66
import Stackblitz from './stackblitz';
77
import Codepen from './codepen';
88
const Code = (props: CodeProps) => {
9-
const { code, copyNodes, codePenOptions, codeSandboxOptions, stackBlitzOptions, language } = props;
9+
const { code, copyNodes, codePenOptions, codeSandboxOptions, stackBlitzOptions, language, codePadding } = props;
10+
const style = React.useMemo(() => {
11+
if (typeof codePadding) {
12+
return { padding: codePadding };
13+
}
14+
return {};
15+
}, [codePadding]);
1016
const [show, setShow] = React.useState(false);
1117
return (
1218
<React.Fragment>
@@ -17,7 +23,7 @@ const Code = (props: CodeProps) => {
1723
<Copy copyNodes={copyNodes} />
1824
<ShowHide show={show} onClick={setShow} />
1925
</div>
20-
<div className={`preview-code preview-code-${show}`}>
26+
<div className={`preview-code preview-code-${show}`} style={style}>
2127
<pre className={`language-${language}`}>{code}</pre>
2228
</div>
2329
</React.Fragment>

website/src/components/CodeLayout/index.tsx

+19-10
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import './styles/index.css';
55
export * from './interface';
66
const Preview = (props: PreviewProps) => {
77
const {
8+
prefixCls = 'w-code-layout',
89
code,
910
className = '',
1011
copyNodes = '',
@@ -13,19 +14,27 @@ const Preview = (props: PreviewProps) => {
1314
stackBlitzOptions,
1415
previewBodyClassName,
1516
language = 'jsx',
17+
customButton,
18+
bordered = true,
19+
noCode = false,
20+
codePadding = 0,
1621
...rest
1722
} = props;
1823
return (
19-
<div className={`preview-fieldset ${className}`}>
20-
<div {...rest} className={`preview-body ${previewBodyClassName}`} />
21-
<Code
22-
language={language}
23-
codePenOptions={codePenOptions}
24-
codeSandboxOptions={codeSandboxOptions}
25-
stackBlitzOptions={stackBlitzOptions}
26-
code={code}
27-
copyNodes={copyNodes}
28-
/>
24+
<div className={`${prefixCls} ${prefixCls}-body-${bordered} ${className}`}>
25+
<div {...rest} className={`preview preview-body-${bordered} ${previewBodyClassName}`} />
26+
{!noCode && (
27+
<Code
28+
codePadding={codePadding}
29+
customButton={customButton}
30+
language={language}
31+
codePenOptions={codePenOptions}
32+
codeSandboxOptions={codeSandboxOptions}
33+
stackBlitzOptions={stackBlitzOptions}
34+
code={code}
35+
copyNodes={copyNodes}
36+
/>
37+
)}
2938
</div>
3039
);
3140
};

website/src/components/CodeLayout/interface.ts

+9
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,19 @@ export interface CodeProps {
1717
codeSandboxOptions?: CodeSandboxProps;
1818
/** stackBlitz参数 **/
1919
stackBlitzOptions?: StackBlitzProps;
20+
/* 自定义操作按钮 **/
21+
customButton?: React.ReactNode;
22+
/** 展示代码块内边距 **/
23+
codePadding?: number;
2024
}
2125

2226
export interface PreviewProps extends CodeProps {
2327
previewBodyClassName?: string;
2428
className?: string;
2529
children?: React.ReactNode;
30+
prefixCls?: string;
31+
/** 只显示效果 **/
32+
noCode?: boolean;
33+
/** 是否需要边框 */
34+
bordered?: boolean;
2635
}
Original file line numberDiff line numberDiff line change
@@ -1,90 +1,67 @@
1-
.preview-fieldset {
2-
margin: 0px;
3-
padding: 0px;
1+
.w-code-layout {
42
border: 1px solid rgba(0, 0, 0, 0.06);
3+
border-radius: 5px;
54
background-color: #fff;
65
}
76

8-
.preview-body {
9-
padding: 10px;
7+
.w-code-layout.w-code-layout-body-false {
8+
border: none;
9+
}
10+
.w-code-layout .preview {
11+
padding: 16px;
12+
}
13+
14+
.w-code-layout .preview-body-false {
15+
padding-left: 0px;
1016
}
1117

12-
.preview-button {
13-
padding: 5px;
18+
.w-code-layout .preview-button {
1419
display: flex;
1520
justify-content: center;
1621
align-items: center;
1722
border-top: 1px solid rgba(0, 0, 0, 0.06);
18-
}
19-
.preview-button .preview-button-ccs {
20-
margin-right: 30px;
21-
}
22-
.preview-button .preview-button-ccs button {
23-
border: none;
24-
background-color: transparent;
25-
display: flex;
26-
align-items: center;
27-
opacity: 0.5;
28-
padding-left: 0;
29-
padding-right: 0;
30-
}
31-
.preview-button .preview-button-ccs button:hover {
32-
opacity: 1;
23+
padding: 10px 0px;
3324
}
3425

35-
.preview-button-span {
26+
.w-code-layout .preview-button .preview-button-span {
3627
margin-right: 30px;
3728
display: flex;
3829
align-items: center;
3930
justify-content: center;
40-
}
41-
42-
.preview-button-copy {
4331
opacity: 0.5;
4432
cursor: pointer;
4533
}
4634

47-
.preview-button-copy:hover {
48-
opacity: 1;
49-
}
50-
.preview-button-copy > .copy {
35+
.w-code-layout .preview-button .preview-button-copy > .copy {
5136
display: inline-block;
5237
}
53-
.preview-button-copy > .check {
38+
.w-code-layout .preview-button .preview-button-copy > .check {
5439
display: none;
5540
}
5641

57-
.preview-button-copy-active > .copy {
42+
.w-code-layout .preview-button .preview-button-copy-active > .copy {
5843
display: none;
5944
}
6045

61-
.preview-button-copy-active > .check {
46+
.w-code-layout .preview-button .preview-button-copy-active > .check {
6247
display: inline-block;
6348
}
64-
.preview-fieldset .preview-code > pre {
65-
margin-bottom: 0px;
66-
}
67-
68-
.preview-code-false {
69-
display: none;
70-
}
71-
72-
.preview-code-true {
73-
display: block;
49+
.w-code-layout .preview-button .preview-button-span:hover {
50+
opacity: 1;
7451
}
7552

76-
.preview-button .preview-code-exand-unexpand-icon {
77-
opacity: 0.5;
53+
.w-code-layout .preview-button .preview-code-exand-unexpand-icon-true {
7854
display: inline-block;
79-
cursor: pointer;
8055
}
81-
.preview-button .preview-code-exand-unexpand-icon:hover {
82-
opacity: 1;
56+
57+
.w-code-layout .preview-button .preview-code-exand-unexpand-icon-false {
58+
display: none;
8359
}
8460

85-
.preview-button .preview-code-exand-unexpand-icon .preview-code-exand-unexpand-icon-false {
61+
.w-code-layout .preview-code.preview-code-false {
8662
display: none;
8763
}
88-
.preview-button .preview-code-exand-unexpand-icon .preview-code-exand-unexpand-icon-true {
89-
display: inline-block;
64+
65+
.w-code-layout .preview-code {
66+
background-color: #f6f8fa;
9067
}

website/src/pages/example/App.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import { Alert } from "uiw";
1111
// or
1212
import Alert from "@uiw/react-alert";
1313
```
14-
`import React from 'react'`
14+
1515
## Basic Usage
1616

1717
```jsx mdx:preview

0 commit comments

Comments
 (0)