/** * LottiePlayer - Dynamic Import Wrapper * * Lazy loads the LottiePlayer component for optimal bundle size */ 'use client'; import React, { lazy, Suspense } from 'react'; import { LottiePlayerProps } from './types'; // Lazy load the client component const LottiePlayerClient = lazy(() => import('./LottiePlayer.client').then((mod) => ({ default: mod.LottiePlayer })) ); // Loading fallback component const LoadingFallback = () => (
); /** * LottiePlayer component wrapper with dynamic import * * This component automatically handles code splitting and lazy loading * of the Lottie player to optimize bundle size. * * Usage: * ```tsx * import { LottiePlayer } from '@djangocfg/ui-core/tools'; * * * ``` */ export function LottiePlayer(props: LottiePlayerProps) { return ( }> ); } // Re-export types for convenience export type { LottiePlayerProps, LottieSize, LottieSpeed, LottieDirection, LottieSegment, } from './types'; export { useLottie } from './useLottie'; export type { UseLottieOptions, UseLottieReturn } from './useLottie'; export { usePrefersReducedMotion } from './usePrefersReducedMotion';