import cx from 'classnames'; import { IBlockLoadingProps } from './props'; import LoadingMask from './components/LoadingMask'; import useDelayed from './hooks/useDelayed'; import { hasOwnProperty } from '../utils/hasOwn'; export function BlockLoading(props: IBlockLoadingProps) { const height = getHeight(props); const { loading = false, delay = 0, className, children, icon = 'circle', iconSize, iconText, textPosition = 'bottom', colorPreset = 'primary', } = props; const hasChildren = !!children; const delayed = useDelayed({ loading, delay }); const showMask = !delayed && loading; if (!showMask && !hasChildren) { return null; } return (