{"version":3,"file":"index.cjs","names":[],"sources":["../../../src/components/Delay/index.tsx"],"sourcesContent":["import { useTimeout } from '../../hooks/useTimeout';\nimport React, { useState } from 'react';\n\ninterface DelayProps {\n  children: React.ReactNode;\n  delay: number;\n  fallback?: React.ReactNode;\n}\n\n/**\n * @description 지정된 시간이 지난 후에 자식 컴포넌트를 렌더링하는 컴포넌트입니다.\n * 지연 시간 동안에는 fallback 컴포넌트가 렌더링됩니다.\n *\n * @param {DelayProps} props - 컴포넌트 속성\n * @param {React.ReactNode} props.children - 지연 후 렌더링할 자식 컴포넌트\n * @param {number} props.delay - 지연 시간 (밀리초)\n * @param {React.ReactNode} props.fallback - 지연 시간 동안 표시할 대체 컴포넌트\n *\n * @example\n * ```tsx\n * <Delay delay={1000} fallback={<Fallback />}>\n *   <Component />\n * </Delay>\n * ```\n */\nexport const Delay = ({ children, delay, fallback }: DelayProps) => {\n  const [isReady, setIsReady] = useState(() => delay <= 0);\n\n  useTimeout(() => setIsReady(true), delay);\n\n  return <>{isReady ? children : fallback}</>;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAa,SAAS,EAAE,UAAU,OAAO,eAA2B;CAClE,MAAM,CAAC,SAAS,eAAA,GAAA,MAAA,gBAA6B,SAAS,EAAE;CAExD,cAAA,iBAAiB,WAAW,KAAK,EAAE,MAAM;CAEzC,OAAO,iBAAA,GAAA,kBAAA,KAAA,kBAAA,UAAA,EAAA,UAAG,UAAU,WAAW,UAAY,CAAA"}