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;