@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.
Files changed (28) hide show
  1. package/CLAUDE.md +213 -0
  2. package/dist/index.css +1 -1
  3. package/dist/index.js +1634 -1400
  4. package/dist/ui-v3/src/components/ApprovalLine/ApprovalLine.css.d.ts +72 -0
  5. package/dist/ui-v3/src/components/ApprovalLine/index.d.ts +21 -0
  6. package/dist/ui-v3/src/components/Box/Box.css.d.ts +21 -0
  7. package/dist/ui-v3/src/components/Box/index.d.ts +21 -0
  8. package/dist/ui-v3/src/components/Callout/Callout.css.d.ts +38 -0
  9. package/dist/ui-v3/src/components/Callout/index.d.ts +15 -0
  10. package/dist/ui-v3/src/components/Container/Container.css.d.ts +16 -0
  11. package/dist/ui-v3/src/components/Container/index.d.ts +8 -0
  12. package/dist/ui-v3/src/components/DdayBadge/DdayBadge.css.d.ts +26 -0
  13. package/dist/ui-v3/src/components/DdayBadge/index.d.ts +9 -0
  14. package/dist/ui-v3/src/components/Divider/Divider.css.d.ts +12 -0
  15. package/dist/ui-v3/src/components/Divider/index.d.ts +7 -0
  16. package/dist/ui-v3/src/components/EmptyState/EmptyState.css.d.ts +5 -0
  17. package/dist/ui-v3/src/components/EmptyState/index.d.ts +12 -0
  18. package/dist/ui-v3/src/components/Grid/Grid.css.d.ts +1 -0
  19. package/dist/ui-v3/src/components/Grid/index.d.ts +15 -0
  20. package/dist/ui-v3/src/components/PageLayout/PageLayout.css.d.ts +5 -0
  21. package/dist/ui-v3/src/components/PageLayout/index.d.ts +33 -0
  22. package/dist/ui-v3/src/components/Spacer/Spacer.css.d.ts +1 -0
  23. package/dist/ui-v3/src/components/Spacer/index.d.ts +4 -0
  24. package/dist/ui-v3/src/components/Timeline/Timeline.css.d.ts +49 -0
  25. package/dist/ui-v3/src/components/Timeline/index.d.ts +17 -0
  26. package/dist/ui-v3/src/index.d.ts +22 -0
  27. package/dist/ui-v3/src/styles/sprinkles.css.d.ts +13 -13
  28. 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