import React from 'react';
import { Skeleton, Card } from 'antd';
import useMediaQuery from 'use-media-antd-query';
import { PageHeaderSkeleton, Line } from '../List';
export type DescriptionsPageSkeletonProps = {
active?: boolean;
pageHeader?: false;
list?: false | number;
};
const MediaQueryKeyEnum = {
xs: 1,
sm: 2,
md: 3,
lg: 3,
xl: 3,
xxl: 4,
};
const DescriptionsLargeItemSkeleton: React.FC<{
active?: boolean;
}> = ({ active }) => (
);
const DescriptionsItemSkeleton: React.FC<{
size?: number;
active?: boolean;
}> = ({ size, active }) => {
const colSize = useMediaQuery();
const arraySize = size === undefined ? MediaQueryKeyEnum[colSize] || 3 : size;
return (
{new Array(arraySize).fill(null).map((_, index) => (
))}
);
};
/**
* Table 的子项目骨架屏
*
* @param param0
*/
export const TableItemSkeleton = ({
active,
header = false,
}: {
active: boolean;
header?: boolean;
}) => {
const colSize = useMediaQuery();
const arraySize = MediaQueryKeyEnum[colSize] || 3;
return (
<>
{new Array(arraySize).fill(null).map((_, index) => (
))}
>
);
};
/**
* Table 骨架屏
*
* @param param0
*/
export const TableSkeleton: React.FC<{
active: boolean;
size?: number;
}> = ({ active, size = 4 }) => (
{new Array(size).fill(null).map((_, index) => (
// eslint-disable-next-line react/no-array-index-key
))}
);
export const DescriptionsSkeleton = ({ active }: { active: boolean }) => (
);
const DescriptionsPageSkeleton: React.FC = ({
active = true,
pageHeader,
list,
}) => (
{pageHeader !== false &&
}
{list !== false &&
}
{list !== false &&
}
);
export default DescriptionsPageSkeleton;