sellmate-design-system-react 2.2.0 → 3.1.0
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/AGENTS.md +661 -0
- package/README.md +85 -0
- package/dist/components/SActionModal/README.md +41 -0
- package/dist/components/SBadge/README.md +25 -0
- package/dist/components/SBarcodeInput/README.md +64 -0
- package/dist/components/SButton/README.md +49 -0
- package/dist/components/SCalendar/README.md +42 -0
- package/dist/components/SCallout/README.md +29 -0
- package/dist/components/SCallout/SCallout.cjs +76 -1
- package/dist/components/SCallout/SCallout.cjs.map +1 -1
- package/dist/components/SCallout/SCallout.d.ts +6 -2
- package/dist/components/SCallout/SCallout.js +76 -1
- package/dist/components/SCallout/SCallout.js.map +1 -1
- package/dist/components/SCard/README.md +12 -0
- package/dist/components/SCheckbox/README.md +44 -0
- package/dist/components/SChip/README.md +57 -0
- package/dist/components/SChipInput/README.md +77 -0
- package/dist/components/SCircleProgress/README.md +35 -0
- package/dist/components/SConfirmModal/README.md +61 -0
- package/dist/components/SDatePicker/README.md +62 -0
- package/dist/components/SDateRangePicker/README.md +64 -0
- package/dist/components/SDivider/README.md +25 -0
- package/dist/components/SDraggableItem/README.md +40 -0
- package/dist/components/SDraggableItem/SDraggableItem.cjs +3079 -0
- package/dist/components/SDraggableItem/SDraggableItem.cjs.map +1 -0
- package/dist/components/SDraggableItem/SDraggableItem.d.ts +33 -0
- package/dist/components/SDraggableItem/SDraggableItem.js +3077 -0
- package/dist/components/SDraggableItem/SDraggableItem.js.map +1 -0
- package/dist/components/SDraggableItem/index.d.ts +1 -0
- package/dist/components/SDropdownButton/README.md +50 -0
- package/dist/components/SExpansionItem/README.md +40 -0
- package/dist/components/SExpansionItem/SExpansionItem.cjs +6 -15
- package/dist/components/SExpansionItem/SExpansionItem.cjs.map +1 -1
- package/dist/components/SExpansionItem/SExpansionItem.js +6 -15
- package/dist/components/SExpansionItem/SExpansionItem.js.map +1 -1
- package/dist/components/SField/README.md +91 -0
- package/dist/components/SFilePicker/README.md +72 -0
- package/dist/components/SForm/README.md +31 -0
- package/dist/components/SGhostButton/README.md +76 -0
- package/dist/components/SGnb/README.md +56 -0
- package/dist/components/SGuide/README.md +34 -0
- package/dist/components/SIcon/README.md +91 -0
- package/dist/components/SInput/README.md +66 -0
- package/dist/components/SKeyValueTable/README.md +59 -0
- package/dist/components/SLayout/README.md +42 -0
- package/dist/components/SLinearProgress/README.md +17 -0
- package/dist/components/SList/README.md +14 -0
- package/dist/components/SList/SList.cjs +38 -0
- package/dist/components/SList/SList.cjs.map +1 -0
- package/dist/components/SList/SList.d.ts +10 -0
- package/dist/components/SList/SList.js +36 -0
- package/dist/components/SList/SList.js.map +1 -0
- package/dist/components/SList/index.d.ts +1 -0
- package/dist/components/SListItem/README.md +19 -0
- package/dist/components/SListItem/SListItem.cjs +83 -0
- package/dist/components/SListItem/SListItem.cjs.map +1 -0
- package/dist/components/SListItem/SListItem.d.ts +26 -0
- package/dist/components/SListItem/SListItem.js +81 -0
- package/dist/components/SListItem/SListItem.js.map +1 -0
- package/dist/components/SListItem/index.d.ts +1 -0
- package/dist/components/SLoadingContainer/README.md +29 -0
- package/dist/components/SLoadingModal/README.md +52 -0
- package/dist/components/SModal/README.md +192 -0
- package/dist/components/SModalContainer/README.md +49 -0
- package/dist/components/SNumberInput/README.md +74 -0
- package/dist/components/SPage/README.md +25 -0
- package/dist/components/SPagination/README.md +40 -0
- package/dist/components/SPopover/README.md +54 -0
- package/dist/components/SPopup/README.md +38 -0
- package/dist/components/SPortal/README.md +51 -0
- package/dist/components/SRadio/README.md +57 -0
- package/dist/components/SRadioButton/README.md +24 -0
- package/dist/components/SScrollArea/README.md +16 -0
- package/dist/components/SSectionHeaderCard/README.md +51 -0
- package/dist/components/SSectionHeaderCard/SSectionHeaderCard.cjs +3414 -0
- package/dist/components/SSectionHeaderCard/SSectionHeaderCard.cjs.map +1 -0
- package/dist/components/SSectionHeaderCard/SSectionHeaderCard.d.ts +32 -0
- package/dist/components/SSectionHeaderCard/SSectionHeaderCard.js +3392 -0
- package/dist/components/SSectionHeaderCard/SSectionHeaderCard.js.map +1 -0
- package/dist/components/SSectionHeaderCard/index.d.ts +1 -0
- package/dist/components/SSelect/README.md +79 -0
- package/dist/components/SStepper/README.md +30 -0
- package/dist/components/SSwitch/README.md +24 -0
- package/dist/components/STable/README.md +82 -0
- package/dist/components/STableBar/README.md +28 -0
- package/dist/components/STabs/README.md +37 -0
- package/dist/components/STag/README.md +44 -0
- package/dist/components/STextLink/README.md +48 -0
- package/dist/components/STextarea/README.md +60 -0
- package/dist/components/STimePicker/README.md +65 -0
- package/dist/components/STimeRangePicker/README.md +63 -0
- package/dist/components/SToast/README.md +70 -0
- package/dist/components/SToggle/README.md +22 -0
- package/dist/components/STooltip/README.md +57 -0
- package/dist/index.cjs +815 -419
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +815 -423
- package/dist/index.js.map +1 -1
- package/dist/llms.txt +3496 -0
- package/dist/styles.css +545 -19
- package/dist/theme.css +22 -0
- package/eslint/index.mjs +66 -0
- package/eslint/lib/class-names.mjs +119 -0
- package/eslint/lib/table-column.mjs +53 -0
- package/eslint/rules/no-arbitrary-class.mjs +91 -0
- package/eslint/rules/no-off-scale-spacing.mjs +67 -0
- package/eslint/rules/no-raw-html-control.mjs +117 -0
- package/eslint/rules/prefer-typo-preset.mjs +73 -0
- package/eslint/rules/require-locale-number.mjs +78 -0
- package/eslint/rules/table-numeric-align.mjs +93 -0
- package/eslint/scale.gen.mjs +16 -0
- package/package.json +9 -4
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# SField
|
|
2
|
+
|
|
3
|
+
> 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
|
|
4
|
+
|
|
5
|
+
### SField
|
|
6
|
+
|
|
7
|
+
#### Props
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Default | Description |
|
|
10
|
+
|------|------|---------|-------------|
|
|
11
|
+
| `name?` | `string` | — | 폼 연동용 name 속성 |
|
|
12
|
+
| `label?` | `string` | `''` | 레이블 텍스트 |
|
|
13
|
+
| `icon?` | `SIconName` | — | 레이블 영역 아이콘명 (크기는 size 토큰 16px 고정) |
|
|
14
|
+
| `iconColor?` | `SColor` | — | 레이블 영역 아이콘 색상. 미지정 시 currentColor 상속 |
|
|
15
|
+
| `labelTooltip?` | `string` | `''` | 레이블 툴팁 텍스트 |
|
|
16
|
+
| `labelTooltipProps?` | `Partial<STooltipProps>` | — | 레이블 툴팁 상세 옵션 (SdTooltipProps 대응) |
|
|
17
|
+
| `labelWidth?` | `number \| string` | — | 레이블/어드온 레이블 너비 (숫자=px). label·addonLabel 폭에 공통 적용 |
|
|
18
|
+
| `labelHeight?` | `number \| string` | — | 레이블 박스 높이 (숫자=px). 미지정 시 size별 기본값 사용. 컨트롤 박스가 기본 필드 높이보다 큰 경우(multiline 등) 첫 행에 세로 중앙 정렬을 맞추기 위해 컨트롤 박스 높이를 넘겨받는다. |
|
|
19
|
+
| `size?` | `SFieldSize` | `'sm'` | 필드 크기 |
|
|
20
|
+
| `addonLabel?` | `string` | `''` | 우측 어드온 레이블 |
|
|
21
|
+
| `addonAlign?` | `SFieldAddonAlign` | `'start'` | 어드온 정렬 |
|
|
22
|
+
| `error?` | `boolean` | `false` | 에러 상태 |
|
|
23
|
+
| `errorMessage?` | `string` | `''` | 에러 메시지 |
|
|
24
|
+
| `status?` | `SFieldStatus` | — | 필드 상태 — 'error' | 'pass' | 'default'. 'pass'면 초록 테두리 |
|
|
25
|
+
| `focused?` | `boolean` | `false` | 포커스 상태 (제어/반영) |
|
|
26
|
+
| `hovered?` | `boolean` | `false` | 호버 상태 (제어/반영) |
|
|
27
|
+
| `rules?` | `Rule[]` | — | 유효성 규칙 (검증은 컨트롤에서 수행, API 패리티) |
|
|
28
|
+
| `hint?` | `string` | `''` | 하단 힌트 |
|
|
29
|
+
| `disabled?` | `boolean` | `false` | 비활성 |
|
|
30
|
+
| `readOnly?` | `boolean` | `false` | 읽기 전용 (회색 배경) |
|
|
31
|
+
| `width?` | `number \| string` | — | 컨트롤 너비 (숫자=px). 지정하면 필드가 부모 폭을 다 먹지 않고 (레이블 + width) 만큼만 차지한다. 다른 요소와 나란히 놓으려면 부모를 flex 로 두면 된다. |
|
|
32
|
+
| `minWidth?` | `number \| string` | — | 컨트롤 최소 너비 (숫자=px). 하한선만 지정하며 필드는 계속 부모 폭을 채운다 |
|
|
33
|
+
| `multiline?` | `boolean` | `false` | 멀티라인(textarea) — 컨트롤 높이를 고정하지 않고 min-height만 적용 |
|
|
34
|
+
| `borderless?` | `boolean` | `false` | 테두리 박스 제거 (inline 컨트롤용) — border/배경/hover·focus 강조만 사라지고 label·hint·errorMessage 등 나머지 필드 구성은 그대로 동작한다. |
|
|
35
|
+
| `children?` | `ReactNode` | — | 실제 컨트롤 (input/select 등) — 테두리 없이 렌더, 테두리는 SField가 제공 |
|
|
36
|
+
| `className?` | `string` | — | |
|
|
37
|
+
| `style?` | `CSSProperties` | — | |
|
|
38
|
+
|
|
39
|
+
#### Events
|
|
40
|
+
|
|
41
|
+
| Event | Type | Description |
|
|
42
|
+
|-------|------|-------------|
|
|
43
|
+
| `onMouseEnter` | `() => void` | |
|
|
44
|
+
| `onMouseLeave` | `() => void` | |
|
|
45
|
+
|
|
46
|
+
#### Methods (ref)
|
|
47
|
+
|
|
48
|
+
| Method | Type | Description |
|
|
49
|
+
|--------|------|-------------|
|
|
50
|
+
| `focus` | `() => void` | 내부 컨트롤에 포커스하고 필드를 화면에 스크롤합니다. |
|
|
51
|
+
|
|
52
|
+
## Dependencies
|
|
53
|
+
|
|
54
|
+
### Used by
|
|
55
|
+
|
|
56
|
+
- [SBarcodeInput](../SBarcodeInput)
|
|
57
|
+
- [SChipInput](../SChipInput)
|
|
58
|
+
- [SDatePicker](../SDatePicker)
|
|
59
|
+
- [SDateRangePicker](../SDateRangePicker)
|
|
60
|
+
- [SFilePicker](../SFilePicker)
|
|
61
|
+
- [SInput](../SInput)
|
|
62
|
+
- [SNumberInput](../SNumberInput)
|
|
63
|
+
- [SSelect](../SSelect)
|
|
64
|
+
- [STextarea](../STextarea)
|
|
65
|
+
- [STimePicker](../STimePicker)
|
|
66
|
+
- [STimeRangePicker](../STimeRangePicker)
|
|
67
|
+
|
|
68
|
+
### Depends on
|
|
69
|
+
|
|
70
|
+
- [SIcon](../SIcon)
|
|
71
|
+
- [STooltip](../STooltip)
|
|
72
|
+
|
|
73
|
+
### Graph
|
|
74
|
+
|
|
75
|
+
```mermaid
|
|
76
|
+
graph TD;
|
|
77
|
+
SField --> SIcon
|
|
78
|
+
SField --> STooltip
|
|
79
|
+
SBarcodeInput --> SField
|
|
80
|
+
SChipInput --> SField
|
|
81
|
+
SDatePicker --> SField
|
|
82
|
+
SDateRangePicker --> SField
|
|
83
|
+
SFilePicker --> SField
|
|
84
|
+
SInput --> SField
|
|
85
|
+
SNumberInput --> SField
|
|
86
|
+
SSelect --> SField
|
|
87
|
+
STextarea --> SField
|
|
88
|
+
STimePicker --> SField
|
|
89
|
+
STimeRangePicker --> SField
|
|
90
|
+
style SField fill:#f9f,stroke:#333,stroke-width:4px
|
|
91
|
+
```
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# SFilePicker
|
|
2
|
+
|
|
3
|
+
> 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
|
|
4
|
+
|
|
5
|
+
### SFilePicker
|
|
6
|
+
|
|
7
|
+
#### Props
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Default | Description |
|
|
10
|
+
|------|------|---------|-------------|
|
|
11
|
+
| `value?` | `SFilePickerValue` | `null` | |
|
|
12
|
+
| `placeholder?` | `string` | `'Click to upload'` | |
|
|
13
|
+
| `disabled?` | `boolean` | `false` | |
|
|
14
|
+
| `focused?` | `boolean` | `false` | 포커스 상태 여부 |
|
|
15
|
+
| `hovered?` | `boolean` | `false` | 호버 상태 여부 |
|
|
16
|
+
| `inline?` | `boolean` | `false` | 인라인 표시 — SField 테두리 박스만 사라지고 label/rules/hint 는 그대로 동작 |
|
|
17
|
+
| `multiple?` | `boolean` | `false` | |
|
|
18
|
+
| `useMultipleListBox?` | `boolean` | `false` | multiple 파일 목록을 필드 아래 칩 대신, caret(▼) 클릭 시 열리는 리스트박스 카드로 표시 (바깥 클릭 시 닫힘) |
|
|
19
|
+
| `accept?` | `string` | — | |
|
|
20
|
+
| `maxFileSize?` | `number \| string` | — | |
|
|
21
|
+
| `maxTotalSize?` | `number \| string` | — | |
|
|
22
|
+
| `maxFiles?` | `number \| string` | — | |
|
|
23
|
+
| `name?` | `string` | — | |
|
|
24
|
+
| `rules?` | `Rule[]` | — | |
|
|
25
|
+
| `status?` | `SFieldStatus` | — | |
|
|
26
|
+
| `size?` | `SFieldSize` | `'sm'` | |
|
|
27
|
+
| `label?` | `string` | — | |
|
|
28
|
+
| `labelWidth?` | `number \| string` | — | |
|
|
29
|
+
| `icon?` | `SIconName` | — | |
|
|
30
|
+
| `iconColor?` | `SColor` | — | |
|
|
31
|
+
| `labelTooltip?` | `string` | — | |
|
|
32
|
+
| `labelTooltipProps?` | `Partial<STooltipProps>` | — | |
|
|
33
|
+
| `addonLabel?` | `string` | — | |
|
|
34
|
+
| `addonAlign?` | `SFieldAddonAlign` | `'start'` | |
|
|
35
|
+
| `hint?` | `string` | — | |
|
|
36
|
+
| `error?` | `boolean` | — | |
|
|
37
|
+
| `errorMessage?` | `string` | — | |
|
|
38
|
+
| `width?` | `number \| string` | — | |
|
|
39
|
+
| `className?` | `string` | — | |
|
|
40
|
+
| `style?` | `CSSProperties` | — | |
|
|
41
|
+
|
|
42
|
+
#### Events
|
|
43
|
+
|
|
44
|
+
| Event | Type | Description |
|
|
45
|
+
|-------|------|-------------|
|
|
46
|
+
| `onValueChange` | `(value: SFilePickerValue) => void` | 파일 변경 (sdUpdate) |
|
|
47
|
+
| `onReject` | `(detail: { files: File[]; reason: SFilePickerRejectReason }) => void` | 제한 초과 거부 (sdReject) |
|
|
48
|
+
|
|
49
|
+
## Dependencies
|
|
50
|
+
|
|
51
|
+
### Used by
|
|
52
|
+
|
|
53
|
+
- [SKeyValueTable](../SKeyValueTable)
|
|
54
|
+
|
|
55
|
+
### Depends on
|
|
56
|
+
|
|
57
|
+
- [SChip](../SChip)
|
|
58
|
+
- [SField](../SField)
|
|
59
|
+
- [SGhostButton](../SGhostButton)
|
|
60
|
+
- [SIcon](../SIcon)
|
|
61
|
+
|
|
62
|
+
### Graph
|
|
63
|
+
|
|
64
|
+
```mermaid
|
|
65
|
+
graph TD;
|
|
66
|
+
SFilePicker --> SChip
|
|
67
|
+
SFilePicker --> SField
|
|
68
|
+
SFilePicker --> SGhostButton
|
|
69
|
+
SFilePicker --> SIcon
|
|
70
|
+
SKeyValueTable --> SFilePicker
|
|
71
|
+
style SFilePicker fill:#f9f,stroke:#333,stroke-width:4px
|
|
72
|
+
```
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# SForm
|
|
2
|
+
|
|
3
|
+
> 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
|
|
4
|
+
|
|
5
|
+
### SForm
|
|
6
|
+
|
|
7
|
+
#### Props
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Default | Description |
|
|
10
|
+
|------|------|---------|-------------|
|
|
11
|
+
| `formClass?` | `string` | — | form 엘리먼트에 추가할 클래스 (sd-form formClass 대응) |
|
|
12
|
+
| `children?` | `ReactNode` | — | |
|
|
13
|
+
| `className?` | `string` | — | |
|
|
14
|
+
| `style?` | `CSSProperties` | — | |
|
|
15
|
+
|
|
16
|
+
#### Events
|
|
17
|
+
|
|
18
|
+
| Event | Type | Description |
|
|
19
|
+
|-------|------|-------------|
|
|
20
|
+
| `onSubmit` | `() => void` | 모든 필드 검증 통과 후 발생 (sd-form sdSubmit 대응) |
|
|
21
|
+
| `onValidationError` | `(error: SFormValidationError) => void` | 검증 실패 시 실패한 필드 name 목록 전달 (sd-form sdValidationError 대응) |
|
|
22
|
+
|
|
23
|
+
#### Methods (ref)
|
|
24
|
+
|
|
25
|
+
| Method | Type | Description |
|
|
26
|
+
|--------|------|-------------|
|
|
27
|
+
| `validate` | `() => boolean` | 등록된 모든 필드를 검증하고 통과 여부를 반환 |
|
|
28
|
+
| `resetValidation` | `() => void` | 모든 필드의 검증 상태만 초기화 (값은 소비자 소유) |
|
|
29
|
+
| `reset` | `() => void` | resetValidation 별칭 — sd-form sdReset 대응. 값 리셋은 소비자(value/onChange) 책임 |
|
|
30
|
+
| `focusFirstInvalid` | `() => void` | 첫 번째 실패 필드로 포커스 이동 |
|
|
31
|
+
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# SGhostButton
|
|
2
|
+
|
|
3
|
+
> 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
|
|
4
|
+
|
|
5
|
+
### SGhostButton
|
|
6
|
+
|
|
7
|
+
#### Props
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Default | Description |
|
|
10
|
+
|------|------|---------|-------------|
|
|
11
|
+
| `icon` | `SIconName` | — | 표시할 아이콘명 (필수) |
|
|
12
|
+
| `size?` | `SGhostButtonSize` | `'sm'` | 버튼 크기 |
|
|
13
|
+
| `intent?` | `SGhostButtonIntent` | `'default'` | 색상 의도 |
|
|
14
|
+
| `ariaLabel?` | `string` | `''` | 스크린리더용 접근성 레이블 |
|
|
15
|
+
| `ariaPressed?` | `boolean` | — | 토글 버튼일 때 눌림 상태 (aria-pressed). 미지정 시 속성 자체를 내보내지 않는다. |
|
|
16
|
+
| `tooltipText?` | `string` | — | 호버 시 표시할 툴팁 텍스트 |
|
|
17
|
+
| `disabled?` | `boolean` | `false` | 비활성 |
|
|
18
|
+
| `anchorClassName?` | `string` | — | tooltip anchor wrapper 클래스. tooltipText가 있을 때 위치 조정용으로 사용합니다. |
|
|
19
|
+
| `anchorStyle?` | `CSSProperties` | — | tooltip anchor wrapper 스타일. tooltipText가 있을 때 위치 조정용으로 사용합니다. |
|
|
20
|
+
| `className?` | `string` | — | |
|
|
21
|
+
| `style?` | `CSSProperties` | — | |
|
|
22
|
+
|
|
23
|
+
#### Events
|
|
24
|
+
|
|
25
|
+
| Event | Type | Description |
|
|
26
|
+
|-------|------|-------------|
|
|
27
|
+
| `onClick` | `(e: MouseEvent<HTMLButtonElement>) => void` | 클릭 (sdClick) |
|
|
28
|
+
|
|
29
|
+
## Dependencies
|
|
30
|
+
|
|
31
|
+
### Used by
|
|
32
|
+
|
|
33
|
+
- [SBarcodeInput](../SBarcodeInput)
|
|
34
|
+
- [SCalendar](../SCalendar)
|
|
35
|
+
- [SChip](../SChip)
|
|
36
|
+
- [SDateRangePicker](../SDateRangePicker)
|
|
37
|
+
- [SFilePicker](../SFilePicker)
|
|
38
|
+
- [SGnb](../SGnb)
|
|
39
|
+
- [SGuide](../SGuide)
|
|
40
|
+
- [SInput](../SInput)
|
|
41
|
+
- [SModalContainer](../SModalContainer)
|
|
42
|
+
- [SPopover](../SPopover)
|
|
43
|
+
- [SSelect](../SSelect)
|
|
44
|
+
- [STimePicker](../STimePicker)
|
|
45
|
+
- [STimeRangePicker](../STimeRangePicker)
|
|
46
|
+
- [SToast](../SToast)
|
|
47
|
+
- [STooltip](../STooltip)
|
|
48
|
+
|
|
49
|
+
### Depends on
|
|
50
|
+
|
|
51
|
+
- [SIcon](../SIcon)
|
|
52
|
+
- [STag](../STag)
|
|
53
|
+
|
|
54
|
+
### Graph
|
|
55
|
+
|
|
56
|
+
```mermaid
|
|
57
|
+
graph TD;
|
|
58
|
+
SGhostButton --> SIcon
|
|
59
|
+
SGhostButton --> STag
|
|
60
|
+
SBarcodeInput --> SGhostButton
|
|
61
|
+
SCalendar --> SGhostButton
|
|
62
|
+
SChip --> SGhostButton
|
|
63
|
+
SDateRangePicker --> SGhostButton
|
|
64
|
+
SFilePicker --> SGhostButton
|
|
65
|
+
SGnb --> SGhostButton
|
|
66
|
+
SGuide --> SGhostButton
|
|
67
|
+
SInput --> SGhostButton
|
|
68
|
+
SModalContainer --> SGhostButton
|
|
69
|
+
SPopover --> SGhostButton
|
|
70
|
+
SSelect --> SGhostButton
|
|
71
|
+
STimePicker --> SGhostButton
|
|
72
|
+
STimeRangePicker --> SGhostButton
|
|
73
|
+
SToast --> SGhostButton
|
|
74
|
+
STooltip --> SGhostButton
|
|
75
|
+
style SGhostButton fill:#f9f,stroke:#333,stroke-width:4px
|
|
76
|
+
```
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# SGnb
|
|
2
|
+
|
|
3
|
+
> 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
|
|
4
|
+
|
|
5
|
+
### SGnb
|
|
6
|
+
|
|
7
|
+
#### Props
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Default | Description |
|
|
10
|
+
|------|------|---------|-------------|
|
|
11
|
+
| `type?` | `SGnbType` | — | 메뉴 스타일: box(라운드) / belt(풀폭 행). 미지정 시 SLayout 의 type 을 따른다. |
|
|
12
|
+
| `header?` | `SGnbHeader` | — | 상단바 구조: fix(GNB 폭 고정) / full(레이아웃 전폭). 미지정 시 SLayout 의 header 를 따른다. 단, useRail 이고 레일에 children 없는 아이템이 있으면 메뉴 폭이 출렁이므로 full 로 강제된다. |
|
|
13
|
+
| `color?` | `SGnbColor` | `'light'` | 색상 테마: light / dark |
|
|
14
|
+
| `items` | `SGnbMenuItem[]` | — | 메뉴 트리 (depth1 → depth2 → depth3). useRail 이면 첫 depth 가 레일이 되고 그 children 이 depth1 이 된다. |
|
|
15
|
+
| `useRail?` | `boolean` | — | 좌측 레일 사용 여부. 켜면 items 의 첫 depth 가 아이콘+라벨 버튼의 세로 레일로 서고, 선택된 레일 아이템의 children 이 오른쪽 메뉴 패널에 깔린다. 미지정 시 SLayout 의 useRail 을 따른다. children 없는 레일 아이템이 활성이면 메뉴 패널은 렌더되지 않고 레일만 남는다. |
|
|
16
|
+
| `value?` | `string` | `''` | 현재 선택된 아이템 value |
|
|
17
|
+
| `folded?` | `boolean` | — | 접힘(레일) 상태. 미지정 시 SLayout 의 folded 를 따른다. |
|
|
18
|
+
| `logo?` | `ReactNode` | — | 상단바 로고 영역 (slot) |
|
|
19
|
+
| `railFooter?` | `ReactNode` | — | 레일 하단 고정 슬롯. 레일 아이템이 많아 넘치면 아이템 목록(ul)만 스크롤되고 이 슬롯은 레일 하단에 붙어 고정된다. useRail 일 때만 렌더된다. |
|
|
20
|
+
| `menuFooter?` | `ReactNode` | — | 메뉴 하단 고정 슬롯. 메뉴 아이템이 많아 넘치면 메뉴 목록(ul)만 스크롤되고 이 슬롯은 메뉴 하단에 붙어 고정된다. 메뉴가 렌더될 때만(showMenu) 나타난다. |
|
|
21
|
+
| `foldedFooter?` | `ReactNode` | — | 접힘(fix 레일) 하단 고정 슬롯. 접으면 본문이 빠져나가며 rail/menu footer 도 사라지므로, 48px 폴드 레일 바닥에 붙는 별도 슬롯이다. header="fix" 로 접혔을 때만 나타난다. |
|
|
22
|
+
| `ariaLabel?` | `string` | `'global navigation'` | 메뉴 landmark(nav) 의 접근성 레이블. 한 화면에 nav 가 여럿일 때 구분한다. |
|
|
23
|
+
|
|
24
|
+
#### Events
|
|
25
|
+
|
|
26
|
+
| Event | Type | Description |
|
|
27
|
+
|-------|------|-------------|
|
|
28
|
+
| `onValueChange` | `(value: string) => void` | 선택 변경 (sdUpdate) |
|
|
29
|
+
| `onRailChange` | `(value: string) => void` | 레일 선택 변경. 레일 아이템을 눌러 패널이 바뀔 때 알린다(선택 상태는 SGnb 가 자체 관리). |
|
|
30
|
+
| `onFoldChange` | `(folded: boolean) => void` | 접힘 토글 (sdFoldChange) |
|
|
31
|
+
| `onLauncherClick` | `() => void` | 앱런처(그리드) 버튼 클릭. 미지정 시 런처 버튼을 렌더하지 않는다. 접힘 레일(fix)에는 폴드 버튼만 남으므로 표시되지 않는다. |
|
|
32
|
+
|
|
33
|
+
## Dependencies
|
|
34
|
+
|
|
35
|
+
### Used by
|
|
36
|
+
|
|
37
|
+
- [SLayout](../SLayout)
|
|
38
|
+
|
|
39
|
+
### Depends on
|
|
40
|
+
|
|
41
|
+
- [SGhostButton](../SGhostButton)
|
|
42
|
+
- [SIcon](../SIcon)
|
|
43
|
+
- [SLayout](../SLayout)
|
|
44
|
+
- [STag](../STag)
|
|
45
|
+
|
|
46
|
+
### Graph
|
|
47
|
+
|
|
48
|
+
```mermaid
|
|
49
|
+
graph TD;
|
|
50
|
+
SGnb --> SGhostButton
|
|
51
|
+
SGnb --> SIcon
|
|
52
|
+
SGnb --> SLayout
|
|
53
|
+
SGnb --> STag
|
|
54
|
+
SLayout --> SGnb
|
|
55
|
+
style SGnb fill:#f9f,stroke:#333,stroke-width:4px
|
|
56
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# SGuide
|
|
2
|
+
|
|
3
|
+
> 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
|
|
4
|
+
|
|
5
|
+
### SGuide
|
|
6
|
+
|
|
7
|
+
#### Props
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Default | Description |
|
|
10
|
+
|------|------|---------|-------------|
|
|
11
|
+
| `type?` | `SGuideType` | `'tip'` | 가이드 타입 (tip: 팝업, notion: 외부 링크) |
|
|
12
|
+
| `label?` | `string` | `''` | 버튼 레이블 (없으면 type 기본값) |
|
|
13
|
+
| `message?` | `SGuideMessage` | `''` | 팝업 메시지 (배열이면 리스트, 중첩 배열이면 depth 표현) |
|
|
14
|
+
| `url?` | `string` | `''` | notion 타입 클릭 시 이동 URL |
|
|
15
|
+
| `popupTitle?` | `string` | `''` | 팝업 제목 (없으면 type 기본값) |
|
|
16
|
+
| `popupWidth?` | `number` | — | 팝업 너비 (px, 기본 426) |
|
|
17
|
+
| `className?` | `string` | — | |
|
|
18
|
+
| `style?` | `CSSProperties` | — | |
|
|
19
|
+
|
|
20
|
+
## Dependencies
|
|
21
|
+
|
|
22
|
+
### Depends on
|
|
23
|
+
|
|
24
|
+
- [SGhostButton](../SGhostButton)
|
|
25
|
+
- [SIcon](../SIcon)
|
|
26
|
+
|
|
27
|
+
### Graph
|
|
28
|
+
|
|
29
|
+
```mermaid
|
|
30
|
+
graph TD;
|
|
31
|
+
SGuide --> SGhostButton
|
|
32
|
+
SGuide --> SIcon
|
|
33
|
+
style SGuide fill:#f9f,stroke:#333,stroke-width:4px
|
|
34
|
+
```
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# SIcon
|
|
2
|
+
|
|
3
|
+
> 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
|
|
4
|
+
|
|
5
|
+
### SIcon
|
|
6
|
+
|
|
7
|
+
#### Props
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Default | Description |
|
|
10
|
+
|------|------|---------|-------------|
|
|
11
|
+
| `name` | `SIconName` | — | 아이콘명 |
|
|
12
|
+
| `size?` | `number \| string` | `24` | 아이콘 크기(px 또는 CSS 길이) |
|
|
13
|
+
| `color?` | `SColor` | — | 아이콘 색상. 팔레트 키(`grey_65`, `red_95` …) 또는 임의 CSS 색상. 미지정 시 currentColor 상속 |
|
|
14
|
+
| `rotate?` | `0 \| 90 \| 180 \| 270` | — | 회전 각도 |
|
|
15
|
+
| `label?` | `string` | — | 접근성 라벨. 없으면 aria-hidden 처리 |
|
|
16
|
+
| `className?` | `string` | — | |
|
|
17
|
+
| `style?` | `CSSProperties` | — | |
|
|
18
|
+
|
|
19
|
+
## Dependencies
|
|
20
|
+
|
|
21
|
+
### Used by
|
|
22
|
+
|
|
23
|
+
- [SButton](../SButton)
|
|
24
|
+
- [SCallout](../SCallout)
|
|
25
|
+
- [SCheckbox](../SCheckbox)
|
|
26
|
+
- [SChipInput](../SChipInput)
|
|
27
|
+
- [SConfirmModal](../SConfirmModal)
|
|
28
|
+
- [SDatePicker](../SDatePicker)
|
|
29
|
+
- [SDateRangePicker](../SDateRangePicker)
|
|
30
|
+
- [SDraggableItem](../SDraggableItem)
|
|
31
|
+
- [SDropdownButton](../SDropdownButton)
|
|
32
|
+
- [SExpansionItem](../SExpansionItem)
|
|
33
|
+
- [SField](../SField)
|
|
34
|
+
- [SFilePicker](../SFilePicker)
|
|
35
|
+
- [SGhostButton](../SGhostButton)
|
|
36
|
+
- [SGnb](../SGnb)
|
|
37
|
+
- [SGuide](../SGuide)
|
|
38
|
+
- [SKeyValueTable](../SKeyValueTable)
|
|
39
|
+
- [SList](../SList)
|
|
40
|
+
- [SLoadingModal](../SLoadingModal)
|
|
41
|
+
- [SNumberInput](../SNumberInput)
|
|
42
|
+
- [SPagination](../SPagination)
|
|
43
|
+
- [SPopover](../SPopover)
|
|
44
|
+
- [SSectionHeaderCard](../SSectionHeaderCard)
|
|
45
|
+
- [SSelect](../SSelect)
|
|
46
|
+
- [SStepper](../SStepper)
|
|
47
|
+
- [STable](../STable)
|
|
48
|
+
- [STag](../STag)
|
|
49
|
+
- [STextLink](../STextLink)
|
|
50
|
+
- [STimePicker](../STimePicker)
|
|
51
|
+
- [STimeRangePicker](../STimeRangePicker)
|
|
52
|
+
- [SToast](../SToast)
|
|
53
|
+
- [STooltip](../STooltip)
|
|
54
|
+
|
|
55
|
+
### Graph
|
|
56
|
+
|
|
57
|
+
```mermaid
|
|
58
|
+
graph TD;
|
|
59
|
+
SButton --> SIcon
|
|
60
|
+
SCallout --> SIcon
|
|
61
|
+
SCheckbox --> SIcon
|
|
62
|
+
SChipInput --> SIcon
|
|
63
|
+
SConfirmModal --> SIcon
|
|
64
|
+
SDatePicker --> SIcon
|
|
65
|
+
SDateRangePicker --> SIcon
|
|
66
|
+
SDraggableItem --> SIcon
|
|
67
|
+
SDropdownButton --> SIcon
|
|
68
|
+
SExpansionItem --> SIcon
|
|
69
|
+
SField --> SIcon
|
|
70
|
+
SFilePicker --> SIcon
|
|
71
|
+
SGhostButton --> SIcon
|
|
72
|
+
SGnb --> SIcon
|
|
73
|
+
SGuide --> SIcon
|
|
74
|
+
SKeyValueTable --> SIcon
|
|
75
|
+
SList --> SIcon
|
|
76
|
+
SLoadingModal --> SIcon
|
|
77
|
+
SNumberInput --> SIcon
|
|
78
|
+
SPagination --> SIcon
|
|
79
|
+
SPopover --> SIcon
|
|
80
|
+
SSectionHeaderCard --> SIcon
|
|
81
|
+
SSelect --> SIcon
|
|
82
|
+
SStepper --> SIcon
|
|
83
|
+
STable --> SIcon
|
|
84
|
+
STag --> SIcon
|
|
85
|
+
STextLink --> SIcon
|
|
86
|
+
STimePicker --> SIcon
|
|
87
|
+
STimeRangePicker --> SIcon
|
|
88
|
+
SToast --> SIcon
|
|
89
|
+
STooltip --> SIcon
|
|
90
|
+
style SIcon fill:#f9f,stroke:#333,stroke-width:4px
|
|
91
|
+
```
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# SInput
|
|
2
|
+
|
|
3
|
+
> 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
|
|
4
|
+
|
|
5
|
+
### SInput
|
|
6
|
+
|
|
7
|
+
#### Props
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Default | Description |
|
|
10
|
+
|------|------|---------|-------------|
|
|
11
|
+
| `value?` | `string \| number` | — | 값 (제어) |
|
|
12
|
+
| `type?` | `'text' \| 'password' \| 'email' \| 'number' \| 'tel' \| 'search' \| 'url'` | `'text'` | 입력 타입 |
|
|
13
|
+
| `size?` | `SFieldSize` | `'sm'` | 크기 |
|
|
14
|
+
| `icon?` | `SIconName` | — | 좌측 아이콘명 |
|
|
15
|
+
| `iconColor?` | `SColor` | — | 좌측 아이콘 색상 |
|
|
16
|
+
| `prefix?` | `ReactNode` | — | 입력 앞(좌측) 커스텀 노드 — 원본 slot="prefix" |
|
|
17
|
+
| `suffix?` | `ReactNode` | — | 입력 뒤(우측) 커스텀 노드 — 원본 slot="suffix" |
|
|
18
|
+
| `clearable?` | `boolean` | `false` | 지우기 버튼 |
|
|
19
|
+
| `rules?` | `Rule[]` | — | 유효성 규칙 — blur 시 자동 검증 |
|
|
20
|
+
| `status?` | `SFieldStatus` | — | 필드 상태 ('default' | 'pass' | 'error') |
|
|
21
|
+
| `focused?` | `boolean` | — | 포커스 상태 (제어/반영) |
|
|
22
|
+
| `hovered?` | `boolean` | — | 호버 상태 (제어/반영) |
|
|
23
|
+
| `inputClass?` | `string` | — | 내부 input 요소 className |
|
|
24
|
+
| `inputStyle?` | `CSSProperties` | — | 내부 input 요소 style |
|
|
25
|
+
| `label?` | `string` | — | |
|
|
26
|
+
| `labelWidth?` | `number \| string` | — | |
|
|
27
|
+
| `labelTooltip?` | `string` | — | 레이블 툴팁 텍스트 |
|
|
28
|
+
| `labelTooltipProps?` | `Partial<STooltipProps>` | — | 레이블 툴팁 상세 옵션 |
|
|
29
|
+
| `hint?` | `string` | — | |
|
|
30
|
+
| `error?` | `boolean` | — | |
|
|
31
|
+
| `errorMessage?` | `string` | — | |
|
|
32
|
+
| `addonLabel?` | `string` | — | |
|
|
33
|
+
| `addonAlign?` | `SFieldAddonAlign` | — | 어드온 정렬 |
|
|
34
|
+
| `width?` | `number \| string` | — | |
|
|
35
|
+
| `disabled?` | `boolean` | `false` | |
|
|
36
|
+
| `readOnly?` | `boolean` | `false` | |
|
|
37
|
+
| `className?` | `string` | — | |
|
|
38
|
+
| `style?` | `CSSProperties` | — | |
|
|
39
|
+
|
|
40
|
+
#### Events
|
|
41
|
+
|
|
42
|
+
| Event | Type | Description |
|
|
43
|
+
|-------|------|-------------|
|
|
44
|
+
| `onValueChange` | `(value: string) => void` | 값 변경 (sdUpdate) — 문자열 전달 |
|
|
45
|
+
| `onChange` | `InputHTMLAttributes<HTMLInputElement>['onChange']` | 네이티브 onChange (form-agnostic 연동용, RHF 등) |
|
|
46
|
+
|
|
47
|
+
## Dependencies
|
|
48
|
+
|
|
49
|
+
### Used by
|
|
50
|
+
|
|
51
|
+
- [SKeyValueTable](../SKeyValueTable)
|
|
52
|
+
|
|
53
|
+
### Depends on
|
|
54
|
+
|
|
55
|
+
- [SField](../SField)
|
|
56
|
+
- [SGhostButton](../SGhostButton)
|
|
57
|
+
|
|
58
|
+
### Graph
|
|
59
|
+
|
|
60
|
+
```mermaid
|
|
61
|
+
graph TD;
|
|
62
|
+
SInput --> SField
|
|
63
|
+
SInput --> SGhostButton
|
|
64
|
+
SKeyValueTable --> SInput
|
|
65
|
+
style SInput fill:#f9f,stroke:#333,stroke-width:4px
|
|
66
|
+
```
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# SKeyValueTable
|
|
2
|
+
|
|
3
|
+
> 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
|
|
4
|
+
|
|
5
|
+
### SKeyValueTable
|
|
6
|
+
|
|
7
|
+
#### Props
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Default | Description |
|
|
10
|
+
|------|------|---------|-------------|
|
|
11
|
+
| `fields?` | `SKeyValueField[][]` | `[]` | 2차원 배열. row → [th|td] 필드들 |
|
|
12
|
+
| `values?` | `Record<string, unknown>` | `{}` | field name을 key로 하는 값 객체 (`{ [name]: value }`). 지정 시 해당 field의 값으로 사용되며, field별 `options.value`보다 우선합니다. `onChange`의 `detail.values`와 함께 controlled 패턴으로 사용합니다. |
|
|
13
|
+
| `search?` | `boolean` | `false` | 우측 검색 패널 |
|
|
14
|
+
| `radius?` | `'default' \| 'useTop' \| 'full'` | `'default'` | border-radius 제어 |
|
|
15
|
+
| `className?` | `string` | — | |
|
|
16
|
+
| `style?` | `CSSProperties` | — | |
|
|
17
|
+
|
|
18
|
+
#### Events
|
|
19
|
+
|
|
20
|
+
| Event | Type | Description |
|
|
21
|
+
|-------|------|-------------|
|
|
22
|
+
| `onChange` | `(detail: SKeyValueChangeDetail) => void` | 값 변경 (sdChange) |
|
|
23
|
+
| `onSearch` | `() => void` | 검색 클릭 (sdSearch) |
|
|
24
|
+
|
|
25
|
+
## Dependencies
|
|
26
|
+
|
|
27
|
+
### Depends on
|
|
28
|
+
|
|
29
|
+
- [SButton](../SButton)
|
|
30
|
+
- [SCheckbox](../SCheckbox)
|
|
31
|
+
- [SDatePicker](../SDatePicker)
|
|
32
|
+
- [SDateRangePicker](../SDateRangePicker)
|
|
33
|
+
- [SFilePicker](../SFilePicker)
|
|
34
|
+
- [SIcon](../SIcon)
|
|
35
|
+
- [SInput](../SInput)
|
|
36
|
+
- [SNumberInput](../SNumberInput)
|
|
37
|
+
- [SRadio](../SRadio)
|
|
38
|
+
- [SSelect](../SSelect)
|
|
39
|
+
- [STextarea](../STextarea)
|
|
40
|
+
- [STooltip](../STooltip)
|
|
41
|
+
|
|
42
|
+
### Graph
|
|
43
|
+
|
|
44
|
+
```mermaid
|
|
45
|
+
graph TD;
|
|
46
|
+
SKeyValueTable --> SButton
|
|
47
|
+
SKeyValueTable --> SCheckbox
|
|
48
|
+
SKeyValueTable --> SDatePicker
|
|
49
|
+
SKeyValueTable --> SDateRangePicker
|
|
50
|
+
SKeyValueTable --> SFilePicker
|
|
51
|
+
SKeyValueTable --> SIcon
|
|
52
|
+
SKeyValueTable --> SInput
|
|
53
|
+
SKeyValueTable --> SNumberInput
|
|
54
|
+
SKeyValueTable --> SRadio
|
|
55
|
+
SKeyValueTable --> SSelect
|
|
56
|
+
SKeyValueTable --> STextarea
|
|
57
|
+
SKeyValueTable --> STooltip
|
|
58
|
+
style SKeyValueTable fill:#f9f,stroke:#333,stroke-width:4px
|
|
59
|
+
```
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# SLayout
|
|
2
|
+
|
|
3
|
+
> 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
|
|
4
|
+
|
|
5
|
+
### SLayout
|
|
6
|
+
|
|
7
|
+
#### Props
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Default | Description |
|
|
10
|
+
|------|------|---------|-------------|
|
|
11
|
+
| `type?` | `SLayoutType` | `'box'` | 메뉴 스타일: box(라운드) / belt(풀폭 행). 자식 SGnb 가 이 값을 따른다. |
|
|
12
|
+
| `header?` | `SLayoutHeader` | `'fix'` | 레이아웃 구조: fix(가로 분할) / full(풀폭 상단바). 자식 SGnb·SPage 가 이 값을 따른다. |
|
|
13
|
+
| `useRail?` | `boolean` | `false` | GNB 좌측 레일 사용 여부. 자식 SGnb 가 이 값을 따르고, full 의 메뉴 열 폭도 레일만큼 넓어진다. 레일에 children 없는 아이템이 있으면 SGnb 가 header 를 full 로 강제하고, 이 레이아웃도 그에 맞춰 full 그리드로 선다. |
|
|
14
|
+
| `folded?` | `boolean` | — | GNB 접힘 상태 (controlled) |
|
|
15
|
+
| `defaultFolded?` | `boolean` | `false` | GNB 초기 접힘 상태 (uncontrolled) |
|
|
16
|
+
|
|
17
|
+
#### Events
|
|
18
|
+
|
|
19
|
+
| Event | Type | Description |
|
|
20
|
+
|-------|------|-------------|
|
|
21
|
+
| `onFoldedChange` | `(folded: boolean) => void` | 접힘 상태 변경 |
|
|
22
|
+
|
|
23
|
+
## Dependencies
|
|
24
|
+
|
|
25
|
+
### Used by
|
|
26
|
+
|
|
27
|
+
- [SGnb](../SGnb)
|
|
28
|
+
- [SPage](../SPage)
|
|
29
|
+
|
|
30
|
+
### Depends on
|
|
31
|
+
|
|
32
|
+
- [SGnb](../SGnb)
|
|
33
|
+
|
|
34
|
+
### Graph
|
|
35
|
+
|
|
36
|
+
```mermaid
|
|
37
|
+
graph TD;
|
|
38
|
+
SLayout --> SGnb
|
|
39
|
+
SGnb --> SLayout
|
|
40
|
+
SPage --> SLayout
|
|
41
|
+
style SLayout fill:#f9f,stroke:#333,stroke-width:4px
|
|
42
|
+
```
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# SLinearProgress
|
|
2
|
+
|
|
3
|
+
> 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
|
|
4
|
+
|
|
5
|
+
### SLinearProgress
|
|
6
|
+
|
|
7
|
+
#### Props
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Default | Description |
|
|
10
|
+
|------|------|---------|-------------|
|
|
11
|
+
| `value?` | `number` | `0` | 진행률 (0–100) |
|
|
12
|
+
| `type?` | `SLinearProgressType` | `'primary'` | 색상 타입 |
|
|
13
|
+
| `indeterminate?` | `boolean` | `false` | 진행률 없이 무한 애니메이션 |
|
|
14
|
+
| `label?` | `string` | — | 하단 레이블 |
|
|
15
|
+
| `className?` | `string` | — | |
|
|
16
|
+
| `style?` | `CSSProperties` | — | |
|
|
17
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# SList
|
|
2
|
+
|
|
3
|
+
> 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
|
|
4
|
+
|
|
5
|
+
### SList
|
|
6
|
+
|
|
7
|
+
#### Props
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Default | Description |
|
|
10
|
+
|------|------|---------|-------------|
|
|
11
|
+
| `children?` | `ReactNode` | — | 리스트 컨테이너 내부에 렌더링할 내용 |
|
|
12
|
+
| `useGap?` | `boolean` | `false` | 리스트 아이템 사이 gap 토큰 적용 여부 |
|
|
13
|
+
| `usePadding?` | `boolean` | `false` | 리스트 컨테이너 padding 토큰 적용 여부 |
|
|
14
|
+
|