UNPKG

@modern-kit/react

Version:
1 lines 1.27 kB
{"version":3,"file":"index.mjs","sources":["../../../src/components/Mounted/index.tsx"],"sourcesContent":["import { useIsMounted } from '../../hooks/useIsMounted';\n\ninterface MountedProps {\n children: React.ReactNode;\n fallback?: React.ReactNode;\n}\n\n/**\n * @description 컴포넌트가 마운트된 후에만 children을 렌더링하는 컴포넌트입니다.\n *\n * @param {MountedProps} props\n * @param {React.ReactNode} props.children - 마운트된 후 렌더링될 자식 컴포넌트\n * @param {React.ReactNode} props.fallback - 마운트되기 전에 표시될 대체 컴포넌트 (선택사항)\n * @returns {JSX.Element} 마운트 상태에 따라 children 또는 fallback을 렌더링\n *\n * @example\n * <Mounted fallback={<div>fallback component</div>}>\n * <div>children component</div>\n * </Mounted>\n */\nexport const Mounted = ({ fallback, children }: MountedProps): JSX.Element => {\n const isMounted = useIsMounted();\n\n if (!isMounted) return <>{fallback}</>;\n return <>{children}</>;\n};\n"],"names":[],"mappings":";;;;AAoBO,MAAM,OAAA,GAAU,CAAC,EAAE,QAAA,EAAU,UAAS,KAAiC;AAC5E,EAAA,MAAM,YAAY,YAAA,EAAa;AAE/B,EAAA,IAAI,CAAC,SAAA,EAAW,uBAAO,GAAA,CAAA,QAAA,EAAA,EAAG,QAAA,EAAA,QAAA,EAAS,CAAA;AACnC,EAAA,uCAAU,QAAA,EAAS,CAAA;AACrB;;;;"}