@lawkit/ui 0.1.67 → 0.1.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +213 -0
- package/dist/index.css +1 -1
- package/dist/index.js +1634 -1400
- package/dist/ui-v3/src/components/ApprovalLine/ApprovalLine.css.d.ts +72 -0
- package/dist/ui-v3/src/components/ApprovalLine/index.d.ts +21 -0
- package/dist/ui-v3/src/components/Box/Box.css.d.ts +21 -0
- package/dist/ui-v3/src/components/Box/index.d.ts +21 -0
- package/dist/ui-v3/src/components/Callout/Callout.css.d.ts +38 -0
- package/dist/ui-v3/src/components/Callout/index.d.ts +15 -0
- package/dist/ui-v3/src/components/Container/Container.css.d.ts +16 -0
- package/dist/ui-v3/src/components/Container/index.d.ts +8 -0
- package/dist/ui-v3/src/components/DdayBadge/DdayBadge.css.d.ts +26 -0
- package/dist/ui-v3/src/components/DdayBadge/index.d.ts +9 -0
- package/dist/ui-v3/src/components/Divider/Divider.css.d.ts +12 -0
- package/dist/ui-v3/src/components/Divider/index.d.ts +7 -0
- package/dist/ui-v3/src/components/EmptyState/EmptyState.css.d.ts +5 -0
- package/dist/ui-v3/src/components/EmptyState/index.d.ts +12 -0
- package/dist/ui-v3/src/components/Grid/Grid.css.d.ts +1 -0
- package/dist/ui-v3/src/components/Grid/index.d.ts +15 -0
- package/dist/ui-v3/src/components/PageLayout/PageLayout.css.d.ts +5 -0
- package/dist/ui-v3/src/components/PageLayout/index.d.ts +33 -0
- package/dist/ui-v3/src/components/Spacer/Spacer.css.d.ts +1 -0
- package/dist/ui-v3/src/components/Spacer/index.d.ts +4 -0
- package/dist/ui-v3/src/components/Timeline/Timeline.css.d.ts +49 -0
- package/dist/ui-v3/src/components/Timeline/index.d.ts +17 -0
- package/dist/ui-v3/src/index.d.ts +22 -0
- package/dist/ui-v3/src/styles/sprinkles.css.d.ts +13 -13
- package/package.json +1 -1
package/CLAUDE.md
CHANGED
|
@@ -41,6 +41,31 @@ import { Alert } from "@lds/ui-v3";
|
|
|
41
41
|
</Alert>
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
+
## ApprovalLine
|
|
45
|
+
|
|
46
|
+
```tsx
|
|
47
|
+
import { ApprovalLine } from "@lds/ui-v3";
|
|
48
|
+
|
|
49
|
+
// 기본 — 수평 결재선
|
|
50
|
+
<ApprovalLine
|
|
51
|
+
items={[
|
|
52
|
+
{ id: "1", order: 1, name: "박기안", role: "대리", department: "영업팀", status: "approved", date: "9. 8. 14:02" },
|
|
53
|
+
{ id: "2", order: 2, name: "이검토", role: "과장", department: "법무팀", status: "approved", date: "9. 9. 10:31" },
|
|
54
|
+
{ id: "3", order: 3, name: "최법무", role: "팀장", department: "법무팀", status: "current" },
|
|
55
|
+
{ id: "4", order: 4, name: "정대표", role: "대표이사", status: "pending" },
|
|
56
|
+
]}
|
|
57
|
+
/>
|
|
58
|
+
|
|
59
|
+
// 수직 + 코멘트
|
|
60
|
+
<ApprovalLine
|
|
61
|
+
direction="vertical"
|
|
62
|
+
items={[
|
|
63
|
+
{ id: "1", name: "박기안", status: "approved" },
|
|
64
|
+
{ id: "2", name: "최법무", status: "rejected", comment: "계약 기간 조항 수정 후 재상신 바랍니다." },
|
|
65
|
+
]}
|
|
66
|
+
/>
|
|
67
|
+
```
|
|
68
|
+
|
|
44
69
|
## AutoComplete
|
|
45
70
|
|
|
46
71
|
```tsx
|
|
@@ -104,6 +129,27 @@ import { Badge } from "@lds/ui-v3";
|
|
|
104
129
|
<Badge iconOnly leadingIcon={<MyIcon />} aria-label="알림" />
|
|
105
130
|
```
|
|
106
131
|
|
|
132
|
+
## Box
|
|
133
|
+
|
|
134
|
+
```tsx
|
|
135
|
+
import { Box } from "@lds/ui-v3";
|
|
136
|
+
|
|
137
|
+
// 카드형 영역 — 패딩/배경/라운드/테두리를 토큰으로
|
|
138
|
+
<Box p="x4" bg="canvas" radius="md" border>
|
|
139
|
+
콘텐츠
|
|
140
|
+
</Box>
|
|
141
|
+
|
|
142
|
+
// 축별 패딩
|
|
143
|
+
<Box px="x5" py="x3" bg="subtle" radius="lg">
|
|
144
|
+
좌우 20px / 상하 12px
|
|
145
|
+
</Box>
|
|
146
|
+
|
|
147
|
+
// 페이지 배경 섹션
|
|
148
|
+
<Box p="x6" bg="page">
|
|
149
|
+
섹션 콘텐츠
|
|
150
|
+
</Box>
|
|
151
|
+
```
|
|
152
|
+
|
|
107
153
|
## Breadcrumb
|
|
108
154
|
|
|
109
155
|
```tsx
|
|
@@ -243,6 +289,27 @@ import { CalendarPopover } from "@lds/ui-v3";
|
|
|
243
289
|
</CalendarPopover>
|
|
244
290
|
```
|
|
245
291
|
|
|
292
|
+
## Callout
|
|
293
|
+
|
|
294
|
+
```tsx
|
|
295
|
+
import { Callout } from "@lds/ui-v3";
|
|
296
|
+
|
|
297
|
+
// 기본 (info)
|
|
298
|
+
<Callout>
|
|
299
|
+
이 계약에는 <b>자동 갱신 조항</b>이 포함되어 있어요. 해지 의사는 만료 30일 전까지 통지해야 해요.
|
|
300
|
+
</Callout>
|
|
301
|
+
|
|
302
|
+
// 제목 + 경고
|
|
303
|
+
<Callout intent="warning" title="기한 임박">
|
|
304
|
+
답변서 제출 기한이 5일 남았어요.
|
|
305
|
+
</Callout>
|
|
306
|
+
|
|
307
|
+
// 아이콘 없이
|
|
308
|
+
<Callout hideIcon intent="danger">
|
|
309
|
+
반려된 결재는 수정 후 재상신해야 해요.
|
|
310
|
+
</Callout>
|
|
311
|
+
```
|
|
312
|
+
|
|
246
313
|
## Card
|
|
247
314
|
|
|
248
315
|
```tsx
|
|
@@ -415,6 +482,23 @@ const [open, setOpen] = useState(false);
|
|
|
415
482
|
</CollapseGroup>
|
|
416
483
|
```
|
|
417
484
|
|
|
485
|
+
## Container
|
|
486
|
+
|
|
487
|
+
```tsx
|
|
488
|
+
import { Container } from "@lds/ui-v3";
|
|
489
|
+
|
|
490
|
+
// 페이지 본문 폭 제한 (기본 lg=1280px)
|
|
491
|
+
<Container size="lg">
|
|
492
|
+
<h1>사건 목록</h1>
|
|
493
|
+
{/* 본문 */}
|
|
494
|
+
</Container>
|
|
495
|
+
|
|
496
|
+
// 읽기용 좁은 폭
|
|
497
|
+
<Container size="sm">
|
|
498
|
+
<article>약관 본문</article>
|
|
499
|
+
</Container>
|
|
500
|
+
```
|
|
501
|
+
|
|
418
502
|
## DataTable
|
|
419
503
|
|
|
420
504
|
```tsx
|
|
@@ -496,6 +580,40 @@ function MyPage() {
|
|
|
496
580
|
}
|
|
497
581
|
```
|
|
498
582
|
|
|
583
|
+
## DdayBadge
|
|
584
|
+
|
|
585
|
+
```tsx
|
|
586
|
+
import { DdayBadge } from "@lds/ui-v3";
|
|
587
|
+
|
|
588
|
+
// 목표 날짜만 넘기면 임박도별 색 자동
|
|
589
|
+
<DdayBadge date="2026-09-15" />
|
|
590
|
+
|
|
591
|
+
// 기일 리스트에서
|
|
592
|
+
<HStack gap="x3" align="center">
|
|
593
|
+
<span>1차 변론기일 · 9. 15.(화) 10:00</span>
|
|
594
|
+
<Spacer />
|
|
595
|
+
<DdayBadge date="2026-09-15" />
|
|
596
|
+
</HStack>
|
|
597
|
+
```
|
|
598
|
+
|
|
599
|
+
## Divider
|
|
600
|
+
|
|
601
|
+
```tsx
|
|
602
|
+
import { Divider } from "@lds/ui-v3";
|
|
603
|
+
|
|
604
|
+
// 섹션 구분
|
|
605
|
+
<section>위 콘텐츠</section>
|
|
606
|
+
<Divider />
|
|
607
|
+
<section>아래 콘텐츠</section>
|
|
608
|
+
|
|
609
|
+
// 수직 구분 (flex 부모 안)
|
|
610
|
+
<HStack gap="x3" align="center">
|
|
611
|
+
<span>진행 중 24</span>
|
|
612
|
+
<Divider orientation="vertical" />
|
|
613
|
+
<span>종결 96</span>
|
|
614
|
+
</HStack>
|
|
615
|
+
```
|
|
616
|
+
|
|
499
617
|
## Drawer
|
|
500
618
|
|
|
501
619
|
```tsx
|
|
@@ -578,6 +696,23 @@ const [value, setValue] = useState("1y");
|
|
|
578
696
|
<Dropdown options={options} value={value} onChange={setValue} />
|
|
579
697
|
```
|
|
580
698
|
|
|
699
|
+
## EmptyState
|
|
700
|
+
|
|
701
|
+
```tsx
|
|
702
|
+
import { EmptyState, Button } from "@lds/ui-v3";
|
|
703
|
+
|
|
704
|
+
// 기본 — 목록/테이블의 빈 상태
|
|
705
|
+
<EmptyState
|
|
706
|
+
icon={<FolderIcon />}
|
|
707
|
+
title="조회된 사건이 없어요"
|
|
708
|
+
description="필터를 조정하거나 새 사건을 등록하세요."
|
|
709
|
+
action={<Button>+ 사건 등록</Button>}
|
|
710
|
+
/>
|
|
711
|
+
|
|
712
|
+
// 제목만 (검색 결과 없음 등)
|
|
713
|
+
<EmptyState title="검색 결과가 없어요" description="다른 키워드로 검색해 보세요." />
|
|
714
|
+
```
|
|
715
|
+
|
|
581
716
|
## FileUpload
|
|
582
717
|
|
|
583
718
|
```tsx
|
|
@@ -700,6 +835,27 @@ function MyPage() {
|
|
|
700
835
|
}
|
|
701
836
|
```
|
|
702
837
|
|
|
838
|
+
## Grid
|
|
839
|
+
|
|
840
|
+
```tsx
|
|
841
|
+
import { Grid } from "@lds/ui-v3";
|
|
842
|
+
|
|
843
|
+
// 통계 카드 3열
|
|
844
|
+
<Grid columns={3} gap="x3">
|
|
845
|
+
<Card>진행 중 사건 24</Card>
|
|
846
|
+
<Card>이번 주 기일 6</Card>
|
|
847
|
+
<Card>답변 기한 임박 3</Card>
|
|
848
|
+
</Grid>
|
|
849
|
+
|
|
850
|
+
// 폼 2단 배치 (행/열 간격 다르게)
|
|
851
|
+
<Grid columns={2} rowGap="x4" columnGap="x6">
|
|
852
|
+
<Input label="사건번호" />
|
|
853
|
+
<Input label="사건명" />
|
|
854
|
+
<Input label="재판부" />
|
|
855
|
+
<Input label="담당 변호사" />
|
|
856
|
+
</Grid>
|
|
857
|
+
```
|
|
858
|
+
|
|
703
859
|
## IconButtonGroup
|
|
704
860
|
|
|
705
861
|
```tsx
|
|
@@ -935,6 +1091,31 @@ const [count, setCount] = useState(50);
|
|
|
935
1091
|
<NumberInput value={50} disabled />
|
|
936
1092
|
```
|
|
937
1093
|
|
|
1094
|
+
## PageLayout
|
|
1095
|
+
|
|
1096
|
+
```tsx
|
|
1097
|
+
import { PageLayout } from "@lds/ui-v3";
|
|
1098
|
+
|
|
1099
|
+
// 기본 — Header + Nav + Content
|
|
1100
|
+
<PageLayout>
|
|
1101
|
+
<PageLayout.Header>{/* GNB: 로고·전역 메뉴·프로필 */}</PageLayout.Header>
|
|
1102
|
+
<PageLayout.Nav>{/* LNB: 메뉴 트리 */}</PageLayout.Nav>
|
|
1103
|
+
<PageLayout.Content>
|
|
1104
|
+
<Container size="lg">{/* 페이지 본문 */}</Container>
|
|
1105
|
+
</PageLayout.Content>
|
|
1106
|
+
</PageLayout>
|
|
1107
|
+
|
|
1108
|
+
// 보조 패널 + LNB 접힘 (상태는 앱이 관리)
|
|
1109
|
+
const [collapsed, setCollapsed] = useState(false);
|
|
1110
|
+
|
|
1111
|
+
<PageLayout>
|
|
1112
|
+
<PageLayout.Header>{/* GNB */}</PageLayout.Header>
|
|
1113
|
+
<PageLayout.Nav collapsed={collapsed}>{/* LNB */}</PageLayout.Nav>
|
|
1114
|
+
<PageLayout.Content>{/* 본문 */}</PageLayout.Content>
|
|
1115
|
+
<PageLayout.Panel width={360}>{/* 사건 상세 미리보기 */}</PageLayout.Panel>
|
|
1116
|
+
</PageLayout>
|
|
1117
|
+
```
|
|
1118
|
+
|
|
938
1119
|
## Pagination
|
|
939
1120
|
|
|
940
1121
|
```tsx
|
|
@@ -1094,6 +1275,19 @@ const [range, setRange] = useState<[number, number]>([25, 75]);
|
|
|
1094
1275
|
<Slider value={50} disabled showTicks showLabels />
|
|
1095
1276
|
```
|
|
1096
1277
|
|
|
1278
|
+
## Spacer
|
|
1279
|
+
|
|
1280
|
+
```tsx
|
|
1281
|
+
import { HStack, Spacer, Button } from "@lds/ui-v3";
|
|
1282
|
+
|
|
1283
|
+
// 제목 왼쪽, 버튼 오른쪽 끝
|
|
1284
|
+
<HStack gap="x3" align="center">
|
|
1285
|
+
<h2>사건 목록</h2>
|
|
1286
|
+
<Spacer />
|
|
1287
|
+
<Button>+ 사건 등록</Button>
|
|
1288
|
+
</HStack>
|
|
1289
|
+
```
|
|
1290
|
+
|
|
1097
1291
|
## Spinner
|
|
1098
1292
|
|
|
1099
1293
|
```tsx
|
|
@@ -1332,6 +1526,25 @@ import { Textarea, InputGroup } from "@lds/ui-v3";
|
|
|
1332
1526
|
</InputGroup>
|
|
1333
1527
|
```
|
|
1334
1528
|
|
|
1529
|
+
## Timeline
|
|
1530
|
+
|
|
1531
|
+
```tsx
|
|
1532
|
+
import { Timeline } from "@lds/ui-v3";
|
|
1533
|
+
|
|
1534
|
+
<Timeline
|
|
1535
|
+
items={[
|
|
1536
|
+
{ id: "1", date: "2026. 6. 12.", title: "소장 접수", status: "done" },
|
|
1537
|
+
{ id: "2", date: "2026. 7. 30.", title: "답변서 제출", description: "피고 대리인 김앤장", status: "done" },
|
|
1538
|
+
{ id: "3", date: "2026. 9. 15.", title: "1차 변론기일", status: "current" },
|
|
1539
|
+
{ id: "4", title: "2차 변론기일", status: "upcoming" },
|
|
1540
|
+
]}
|
|
1541
|
+
/>
|
|
1542
|
+
|
|
1543
|
+
// 제목에 커스텀 노드 (DdayBadge 조합)
|
|
1544
|
+
{ id: "3", date: "2026. 9. 15.", status: "current",
|
|
1545
|
+
title: <>1차 변론기일 <DdayBadge date="2026-09-15" /></> }
|
|
1546
|
+
```
|
|
1547
|
+
|
|
1335
1548
|
## Toast
|
|
1336
1549
|
|
|
1337
1550
|
```tsx
|