@olundot/ui · Feedback
EmptyState
결과 없음, 선택 전, 준비 중처럼 표시할 콘텐츠가 없는 상태를 안내합니다.
- 필수 props
- `title`은 비콘텐츠 상태의 핵심 메시지입니다.
- description
- 다음에 가능한 행동이나 상태 원인을 한 문장으로 설명합니다.
- action
- 복구 가능한 상태에는 하나의 명확한 action을 제공합니다.
- bordered
- `bordered={false}`는 이미 테두리가 있는 컨테이너 안에서 바깥 테두리와 배경을 제거합니다.
결과 없음
필터나 검색 결과가 없을 때조건에 맞는 결과가 없습니다
검색어를 줄이거나 필터를 해제해 다시 확인하세요.
최근 30일 데이터 기준
코드 보기tsx
import { Search } from "lucide-react";
import { EmptyState } from "@olundot/ui";
export function EmptyStateNoResults() {
return (
<EmptyState surface="canvas"
icon={Search}
title="조건에 맞는 결과가 없습니다"
description="검색어를 줄이거나 필터를 해제해 다시 확인하세요."
hint="최근 30일 데이터 기준"
tone="muted"
/>
);
}컨테이너 안 배치
이미 테두리가 있는 표면 안에서는 bordered=false조건에 맞는 행이 없습니다
필터를 줄이거나 검색어를 다시 입력하세요.
코드 보기tsx
import { Search } from "lucide-react";
import { EmptyState } from "@olundot/ui";
export function EmptyStateBorderless() {
return (
<div className="rounded-[var(--radius-md)] border border-[var(--border-subtle)] bg-[var(--bg-surface)] p-[var(--space-8)]">
<EmptyState
bordered={false}
icon={Search}
title="조건에 맞는 행이 없습니다"
description="필터를 줄이거나 검색어를 다시 입력하세요."
/>
</div>
);
}선택 전
목록에서 항목을 선택해야 하는 초기 상태항목을 선택하세요
왼쪽 목록에서 항목을 선택하면 상세 정보가 표시됩니다.
코드 보기tsx
import { MousePointer2 } from "lucide-react";
import { EmptyState } from "@olundot/ui";
export function EmptyStateSelectionEmpty() {
return (
<EmptyState surface="canvas"
icon={MousePointer2}
title="항목을 선택하세요"
description="왼쪽 목록에서 항목을 선택하면 상세 정보가 표시됩니다."
size="sm"
/>
);
}준비 중
콘텐츠가 아직 준비되지 않은 자리 표시아직 준비 중입니다
필수 데이터가 도착하면 이 영역에 내용이 표시됩니다.
코드 보기tsx
import { Clock } from "lucide-react";
import { EmptyState } from "@olundot/ui";
export function EmptyStateReadyPlaceholder() {
return (
<EmptyState surface="canvas"
icon={Clock}
title="아직 준비 중입니다"
description="필수 데이터가 도착하면 이 영역에 내용이 표시됩니다."
tone="raised"
size="lg"
/>
);
}복구 action
실행 가능한 상태에는 하나의 명확한 action 제공아직 항목이 없습니다
첫 항목을 추가하면 이 영역에서 상태와 최근 변경 사항을 확인할 수 있습니다.
코드 보기tsx
import { Plus } from "lucide-react";
import { Button, EmptyState } from "@olundot/ui";
export function EmptyStateAction() {
return (
<EmptyState surface="canvas"
icon={Plus}
title="아직 항목이 없습니다"
description="첫 항목을 추가하면 이 영역에서 상태와 최근 변경 사항을 확인할 수 있습니다."
action={<Button size="sm">항목 추가</Button>}
/>
);
}