bun x @seed-design/cli@latest add ui:content-placeholder
의존성 설치
npm install @seed-design/lynx-react
yarn add @seed-design/lynx-react
pnpm add @seed-design/lynx-react
bun add @seed-design/lynx-react
아래 코드를 복사 후 붙여넣고 사용하세요
/** * @file ui:content-placeholder * @requires @seed-design/lynx-react@^1.0.0 * @requires @seed-design/lynx-css@^1.0.0 **/import { ContentPlaceholder as SeedContentPlaceholder, type ContentPlaceholderRootProps,} from "@seed-design/lynx-react";export interface ContentPlaceholderProps extends ContentPlaceholderRootProps {}/** @see https://seed-design.io/lynx/components/content-placeholder */export function ContentPlaceholder({ children, ...props }: ContentPlaceholderProps) { return ( <SeedContentPlaceholder.Root {...props}> <SeedContentPlaceholder.Asset>{children}</SeedContentPlaceholder.Asset> </SeedContentPlaceholder.Root> );}/** * This file is a snippet from SEED Design, helping you get started quickly with @seed-design/* packages. * You can extend this snippet however you want. */
import { ContentPlaceholder } from "@/components/ui/content-placeholder";import { car } from "@seed-design/lynx-react/content-placeholder-presets/car";<ContentPlaceholder preset={car} width="160px" height="160px" />
12개 프리셋을 제공합니다. 사용할 프리셋만 개별 경로에서 import해 preset으로 전달합니다.
기본 모양은 content-placeholder-presets/default의 defaultPreset, 구매·판매 모양은 content-placeholder-presets/buy-sell의 buySell입니다. 나머지는 car, commerce, coupon, food, group, image, jobs, business, post, realty 경로와 같은 이름으로 import합니다.
preset을 생략하면 기본 이미지를 자동으로 넣지 않습니다. children으로 전달한 에셋만 표시합니다.
Lynx 예제를 불러오는 중입니다.
import { HStack } from "@seed-design/lynx-react";import { defaultPreset } from "@seed-design/lynx-react/content-placeholder-presets/default";import { buySell } from "@seed-design/lynx-react/content-placeholder-presets/buy-sell";import { car } from "@seed-design/lynx-react/content-placeholder-presets/car";import { commerce } from "@seed-design/lynx-react/content-placeholder-presets/commerce";import { coupon } from "@seed-design/lynx-react/content-placeholder-presets/coupon";import { food } from "@seed-design/lynx-react/content-placeholder-presets/food";import { group } from "@seed-design/lynx-react/content-placeholder-presets/group";import { image } from "@seed-design/lynx-react/content-placeholder-presets/image";import { jobs } from "@seed-design/lynx-react/content-placeholder-presets/jobs";import { business } from "@seed-design/lynx-react/content-placeholder-presets/business";import { post } from "@seed-design/lynx-react/content-placeholder-presets/post";import { realty } from "@seed-design/lynx-react/content-placeholder-presets/realty";import { ContentPlaceholder } from "@/components/ui/content-placeholder";const presets = { default: defaultPreset, buySell, car, commerce, coupon, food, group, image, jobs, business, post, realty,};export default function ContentPlaceholderTypeExample() { return ( <HStack gap="x3" wrap="wrap"> {Object.entries(presets).map(([name, preset]) => ( <ContentPlaceholder key={name} preset={preset} width="120px" height="120px" /> ))} </HStack> );}