reopt design
DocsExploreTemplatesCanvasToolsPricing
Login
opt-uiopt-chartsopt-datagridopt-editoropt-calendaropt-filemanageropt-chatopt-shellbrandapp-ui
Overview205Core74Shells99Blocks32
CatalogFrame
reopt designreopt design

A design system for the AI era

  • Docs
  • Pricing
  • Releases
  • About
  • Contact
  • Terms of Service
  • Privacy Policy

reopt Inc.Business registration no. 217-88-02453contact@reopt.ai

© 2026 reopt Inc. All rights reserved.

CatalogFrame

Shell

Compose catalog headers, statistics, notices, filters, inspectors, pagination, bulk actions, and empty or error states; clear selection when filters or pages change.

Related docs
bun add @reopt-ai/opt-ui
Install and import
bash
bun add @reopt-ai/opt-ui
tsx
import { CatalogFrame, CatalogRowActions, CatalogCellControls } from "@reopt-ai/opt-ui";

Live preview

Change the width and theme, then interact with the components.

100%

목록과 그 옆에서 읽는 한 건

이벤트상태볼륨
purchase_completed활성1,284
signup_completed활성412
legacy_ping보관3

Usage guidance

Best practices

  • Build catalog-style list screens by adding column definitions and labels to this frame.
  • The host owns queries and filtering. When query changes, filter local data again or request server data, then calculate isEmpty from the result.
  • Connect page, totalCount, and onPageChange for server lists. Provide selectedKeys with onSelectionChange so selection resets can be reflected when filters or pages change.
  • Report query failures through error and onRetry, keeping them distinct from valid empty results. Use emptyActions for the next action when there are no filters.

Usage to avoid

  • Do not leave selection reset as an implicit responsibility of callers; otherwise bulk actions may affect hidden rows.

Usage examples

Connect search, selection, and details in a local list

CatalogFrame

PropTypeDefaultDescription
childrenRequiredReactNode—테이블. 빈/에러 상태에서는 대체됨
isEmptyRequiredboolean—테이블이 0행인지
queryRequiredQuery—필터 상태
onQueryChangeRequired(query: Query) => void—Query 변경
filtersQueryFilterDef[]—필터 정의
statsStatCardType[]—통계 카드
onStatClick(stat: StatCardType) => void—카드 클릭 = 필터
noticeReactNode—목록 위 고지
emptyActionsReactNode—필터 없는 빈 상태의 다음 행동 (필터된 빈 상태는 필터 지우기 유지)
headerReactNode—헤더 슬롯
actionsReactNode—액션 슬롯
toolbarReactNode—통계와 필터 사이 컨트롤 (스코프 세그먼트 등)
inspectorReactNode—인스펙터 내용
inspectorOpenRequiredboolean—인스펙터 열림
onInspectorCloseRequired() => void—인스펙터 닫기
inspectorTitleReactNode—인스펙터 제목
inspectorDescriptionReactNode—인스펙터 설명
inspectorActionsReactNode—인스펙터 헤더 컨트롤
inspectorFooterReactNode—인스펙터 하단
inspectorWidth"sm" | "md" | "lg"—push 레이아웃 폭
pagenumber1현재 페이지
pageSizenumber50페이지 크기
totalCountnumber—필터 반영 총 개수
onPageChange(page: number) => void—페이지 변경
selectedKeysstring[]—선택된 행
onSelectionChange(keys: string[]) => void—선택 변경. 필터·페이지가 바뀌면 프레임이 비웁니다
bulkActionsFloatingAction[]—일괄 작업
onBulkAction(actionId: string) => void—일괄 작업 실행
errorReactNode—읽기 실패. 빈 목록과 다른 답
onRetry() => void—재시도
labelsCatalogFrameLabels—빈/필터된 빈/에러 문구와 인스펙터 닫기 버튼(closeInspector)
classNamestring—추가 CSS 클래스

CatalogRowActions

PropTypeDefaultDescription
itemRequiredT—이 행의 항목
actionsRequiredCatalogRowAction<T>[]—행 액션
visibleCountnumber2오버플로 전에 노출할 개수. available 필터링 후에 적용됨
labelsCatalogRowActionsLabels—그룹·오버플로 라벨

CatalogRowAction

PropTypeDefaultDescription
idRequiredstring—액션 키
labelRequiredstring—액션 문구
iconReactNode—선택적 액션 아이콘
onSelectRequired(item: T) => void—행과 함께 호출되는 액션
available(item: T) => boolean—이 행에 적용되지 않는 액션을 비활성화 대신 제거

CatalogCellControls

PropTypeDefaultDescription
childrenRequiredReactNode—행 클릭으로 새면 안 되는 셀 컨트롤
View test results

테스트 커버리지

2026년 7월 9일

생성된 테스트 결과를 찾지 못했습니다.

CatalogFrame 항목이 문서 메타에 연결되어 있지만 현재 생성 파일에는 없습니다.

테스트를 추가한 뒤 `bun run generate:test-results`를 실행하거나 `testDescribe` 매핑을 다시 확인하세요.

Related components

opt-ui

FaqAccordion

Shells

Organize FAQ questions and answers with Composite and Disclosure components.

opt-ui

PageAside

Shells

Add a sticky, fixed-width page aside with header, body, and footer slots.

opt-ui

EnvPanel

Shells

Browse environment variables with collapsible environment groups and Composite navigation.

opt-ui

BranchSelect

Shells

Choose a Git branch with a wrapper around the Select primitive.

opt-ui

DesignGuidePanel

Shells

Consult six design-system reference sections covering primitives, keyboard patterns, Tailwind selectors, and accessibility attributes.

opt-ui

QuickActions

Shells

Present frequent actions in a grid or list with keyboard shortcut labels.

PreviousQueryFilterBarNextSchemaTree