mirror of
https://github.com/ant-design/ant-design.git
synced 2024-12-24 07:28:28 +08:00
41 lines
902 B
TypeScript
41 lines
902 B
TypeScript
import React, { Suspense } from 'react';
|
|
import type { IPreviewerProps } from 'dumi';
|
|
import { Skeleton, Alert } from 'antd';
|
|
import { createStyles } from 'antd-style';
|
|
|
|
const { ErrorBoundary } = Alert;
|
|
|
|
const Previewer = React.lazy(() => import('./Previewer'));
|
|
|
|
const useStyle = createStyles(({ css }) => ({
|
|
skeletonWrapper: css`
|
|
width: 100% !important;
|
|
height: 500px;
|
|
margin-bottom: 16px;
|
|
`,
|
|
}));
|
|
|
|
export default (props: IPreviewerProps) => {
|
|
const { styles } = useStyle();
|
|
return (
|
|
<ErrorBoundary>
|
|
<Suspense
|
|
fallback={
|
|
<Skeleton.Node
|
|
active
|
|
className={styles.skeletonWrapper}
|
|
style={{
|
|
width: '100%',
|
|
height: '100%',
|
|
}}
|
|
>
|
|
{' '}
|
|
</Skeleton.Node>
|
|
}
|
|
>
|
|
<Previewer {...props} />
|
|
</Suspense>
|
|
</ErrorBoundary>
|
|
);
|
|
};
|