ChatFileTree
Table & List
변경 파일 트리와 추가·삭제 라인 요약 표시.
Usage
import
API Reference
같은 패밀리
예제
Usage
코드 변경 결과를 폴더 구조와 함께 훑어볼 때 사용합니다. 파일별 diff 통계는 ChatDiffStat이 내부에서 담당하므로 직접 조합하지 마세요.
import
import
import { ChatFileTree } from '@mildang/design-system/unofficial/Chat';API Reference
ChatFileTree Props
Prop
Type
Default
nodes
필수
readonly ChatFileTreeNode[]
지정 안 함
totalAdditions
필수
number
지정 안 함
totalDeletions
필수
number
지정 안 함
labels
Partial<ChatFileTreeLabels>
지정 안 함
visibleCount
number
nodes.length (전부)
같은 패밀리
@mildang/design-system/unofficial/Chat 에서 같이 내보내는 컴포넌트다.
예제
기본 사용
코드
// FileTreeDefault.example.tsx
import { ChatFileTree } from "@mildang/design-system/unofficial/Chat";
var NODES = [
{ path: "packages", name: "packages", depth: 0, kind: "folder" },
{ path: "p/ds", name: "design-system", depth: 1, kind: "folder" },
{ path: "p/ds/CodeDiff.tsx", name: "CodeDiff.tsx", depth: 2, kind: "file", additions: 98, status: "added" },
{
path: "p/ds/chatCodeSurface.ts",
name: "chatCodeSurface.ts",
depth: 2,
kind: "file",
additions: 132,
status: "added"
},
{
path: "p/ds/index.ts",
name: "index.ts",
depth: 2,
kind: "file",
additions: 3,
deletions: 1,
status: "modified"
},
{ path: "apps", name: "apps", depth: 0, kind: "folder" },
{
path: "apps/legacy.tsx",
name: "DiffViewer.legacy.tsx",
depth: 1,
kind: "file",
deletions: 214,
status: "deleted"
},
{ path: "README.md", name: "README.md", depth: 0, kind: "file", additions: 6, deletions: 6 }
];
var DEFAULT_ARGS = { nodes: NODES, totalAdditions: 239, totalDeletions: 221 };
function FileTreeDefaultExample(props = {}) {
return <ChatFileTree {...DEFAULT_ARGS} {...props} />;
}
export {
FileTreeDefaultExample as default
};
상태 배지 없이
코드
// FileTreeWithoutStatus.example.tsx
import { ChatFileTree } from "@mildang/design-system/unofficial/Chat";
var NODES = [
{ path: "packages", name: "packages", depth: 0, kind: "folder" },
{ path: "p/ds", name: "design-system", depth: 1, kind: "folder" },
{ path: "p/ds/CodeDiff.tsx", name: "CodeDiff.tsx", depth: 2, kind: "file", additions: 98 },
{ path: "p/ds/chatCodeSurface.ts", name: "chatCodeSurface.ts", depth: 2, kind: "file", additions: 132 },
{ path: "p/ds/index.ts", name: "index.ts", depth: 2, kind: "file", additions: 3, deletions: 1 },
{ path: "apps", name: "apps", depth: 0, kind: "folder" },
{ path: "apps/legacy.tsx", name: "DiffViewer.legacy.tsx", depth: 1, kind: "file", deletions: 214 },
{ path: "README.md", name: "README.md", depth: 0, kind: "file", additions: 6, deletions: 6 }
];
var DEFAULT_ARGS = { nodes: NODES, totalAdditions: 239, totalDeletions: 221 };
function FileTreeWithoutStatusExample(props = {}) {
return <ChatFileTree {...DEFAULT_ARGS} {...props} />;
}
export {
FileTreeWithoutStatusExample as default
};
부분 표시
코드
// FileTreeDefault.example.tsx
import { ChatFileTree } from "@mildang/design-system/unofficial/Chat";
var NODES = [
{ path: "packages", name: "packages", depth: 0, kind: "folder" },
{ path: "p/ds", name: "design-system", depth: 1, kind: "folder" },
{ path: "p/ds/CodeDiff.tsx", name: "CodeDiff.tsx", depth: 2, kind: "file", additions: 98, status: "added" },
{
path: "p/ds/chatCodeSurface.ts",
name: "chatCodeSurface.ts",
depth: 2,
kind: "file",
additions: 132,
status: "added"
},
{
path: "p/ds/index.ts",
name: "index.ts",
depth: 2,
kind: "file",
additions: 3,
deletions: 1,
status: "modified"
},
{ path: "apps", name: "apps", depth: 0, kind: "folder" },
{
path: "apps/legacy.tsx",
name: "DiffViewer.legacy.tsx",
depth: 1,
kind: "file",
deletions: 214,
status: "deleted"
},
{ path: "README.md", name: "README.md", depth: 0, kind: "file", additions: 6, deletions: 6 }
];
var DEFAULT_ARGS = { nodes: NODES, totalAdditions: 239, totalDeletions: 221 };
function FileTreeDefaultExample(props = {}) {
return <ChatFileTree {...DEFAULT_ARGS} {...props} />;
}
// FileTreePartiallyRevealed.example.tsx
var DEFAULT_ARGS2 = { visibleCount: 4 };
function FileTreePartiallyRevealedExample(props = {}) {
return <FileTreeDefaultExample {...DEFAULT_ARGS2} {...props} />;
}
export {
FileTreePartiallyRevealedExample as default
};