import { use } from '../utils'; import { inherit } from '../utils/functional'; // Types import { CreateElement, RenderContext } from 'vue/types'; import { DefaultSlots } from '../utils/use/sfc'; export type LoadingProps = { size?: string; type: string; color: string; }; const [sfc, bem] = use('loading'); const DEFAULT_COLOR = '#c9c9c9'; function Loading( h: CreateElement, props: LoadingProps, slots: DefaultSlots, ctx: RenderContext ) { const { color, size, type } = props; const colorType = color === 'white' || color === 'black' ? color : ''; const style = { color: color === 'black' ? DEFAULT_COLOR : color, width: size, height: size }; const Spin = []; if (type === 'spinner') { for (let i = 0; i < 12; i++) { Spin.push(); } } const Circular = type === 'circular' && ( ); return (
{Spin} {Circular}
); } Loading.props = { size: String, type: { type: String, default: 'circular' }, color: { type: String, default: DEFAULT_COLOR } }; export default sfc(Loading);