UNPKG

@gambito-corp/mbs-library

Version:

Librería de componentes React reutilizables - Sistema de diseño modular y escalable

30 lines (26 loc) 1.23 kB
import React, { lazy, Suspense } from 'react'; const LazyIcon = lazy(() => import('./Icon.jsx')); const Icon = (props) => ( <Suspense fallback={ <div className="animate-pulse bg-gray-200 rounded-full inline-flex items-center justify-center" style={{ width: props.size === 'xs' ? '12px' : props.size === 'small' ? '16px' : props.size === 'large' ? '24px' : props.size === 'xlarge' ? '32px' : props.size === '2x' ? '40px' : props.size === '3x' ? '60px' : '20px', height: props.size === 'xs' ? '12px' : props.size === 'small' ? '16px' : props.size === 'large' ? '24px' : props.size === 'xlarge' ? '32px' : props.size === '2x' ? '40px' : props.size === '3x' ? '60px' : '20px' }}> <div className="w-2/3 h-2/3 bg-gray-300 rounded"></div> </div> }> <LazyIcon {...props} /> </Suspense> ); export default Icon;