sellmate-design-system-react 9.0.0-beta.93 → 9.0.0-beta.94
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 +1 -0
- package/dist/components/SButton/button.config.d.ts +2 -1
- package/dist/components/SChatAttachedFile/chatAttachedFile.config.d.ts +2 -2
- package/dist/components/SChatFile/chatFile.config.d.ts +2 -2
- package/dist/components/SChipFilter/README.md +2 -0
- package/dist/components/SGhostButton/README.md +2 -0
- package/dist/components/SGnb/gnb.config.d.ts +6 -0
- package/dist/components/SIcon/README.md +3 -1
- package/dist/components/SIcon/SIcon.d.ts +1 -1
- package/dist/components/SLauncherListBox/launcherListBox.config.d.ts +2 -7
- package/dist/components/SLoadingModal/README.md +2 -2
- package/dist/components/SRadioCard/README.md +3 -0
- package/dist/components/SRadioCard/SRadioCard.d.ts +7 -2
- package/dist/components/SRadioCard/SRadioCardGroup.d.ts +3 -1
- package/dist/components/SSelect/README.md +1 -1
- package/dist/components/SSelect/SSelect.d.ts +1 -1
- package/dist/components/SStepper/stepper.config.d.ts +9 -3
- package/dist/components/STabs/tabs.config.d.ts +3 -8
- package/dist/components/STag/tag.config.d.ts +10 -9
- package/dist/components/STimePicker/timepicker.config.d.ts +3 -0
- package/dist/components/STree/README.md +2 -0
- package/dist/index.cjs +804 -647
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +804 -647
- package/dist/index.js.map +1 -1
- package/dist/lib/list-box-item.d.ts +16 -0
- package/dist/lib/tree-row.d.ts +20 -2
- package/dist/llms-full.txt +12 -4
- package/dist/llms.txt +1 -0
- package/dist/styles.css +228 -80
- package/package.json +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 드롭다운 목록 행(SSelect · SChipFilter · SChipInput 의 리스트박스 항목)이 함께 쓰는 여백.
|
|
3
|
+
* 스펙(`--cmp-listBoxItem-*`)이 하나라 한곳에 둔다. 행 모양 자체는 아직 컴포넌트마다 따로 그린다.
|
|
4
|
+
*/
|
|
5
|
+
/** 항목 좌측 패딩 — depth1(그룹 헤더·비계층 항목) / depth2 / depth3 */
|
|
6
|
+
export declare const LIST_BOX_ITEM_PADDING_LEFT: {
|
|
7
|
+
readonly 1: "var(--cmp-listBoxItem-paddingLeft-depth1)";
|
|
8
|
+
readonly 2: "var(--cmp-listBoxItem-paddingLeft-depth2)";
|
|
9
|
+
readonly 3: "var(--cmp-listBoxItem-paddingLeft-depth3)";
|
|
10
|
+
};
|
|
11
|
+
/** 항목 상하·우측 패딩 — 모든 depth 에서 같다 */
|
|
12
|
+
export declare const LIST_BOX_ITEM_PADDING_Y_RIGHT: {
|
|
13
|
+
readonly paddingTop: "var(--cmp-listBoxItem-paddingY)";
|
|
14
|
+
readonly paddingBottom: "var(--cmp-listBoxItem-paddingY)";
|
|
15
|
+
readonly paddingRight: "var(--cmp-listBoxItem-paddingRight)";
|
|
16
|
+
};
|
package/dist/lib/tree-row.d.ts
CHANGED
|
@@ -13,17 +13,35 @@ export declare const TREE_LABEL_TYPOGRAPHY: Record<TreeRowSize, {
|
|
|
13
13
|
/** 줄 바탕 — 배경·hover·좌우 여백·연결선과 내용 사이 간격 */
|
|
14
14
|
export declare const TREE_ROW_CLASS = "group/tree-item box-border flex w-full items-center gap-(--cmp-tree-item-rowGap) overflow-hidden bg-(--cmp-tree-item-bg-default) px-(--cmp-tree-item-paddingX) text-left hover:bg-(--cmp-tree-item-bg-hover)";
|
|
15
15
|
/** 줄 아래 구분선 */
|
|
16
|
-
export declare const TREE_ROW_BORDER_CLASS = "border-b border-(--cmp-tree-item-border-default)";
|
|
16
|
+
export declare const TREE_ROW_BORDER_CLASS = "border-b-(length:--cmp-tree-item-border-width-default) border-(--cmp-tree-item-border-default)";
|
|
17
17
|
/** 키보드가 가리키는 줄 — hover 와 같은 배경 (SSelect 처럼 포커스를 줄로 옮기지 않는 쪽이 쓴다) */
|
|
18
18
|
export declare const TREE_ROW_ACTIVE_CLASS = "bg-(--cmp-tree-item-bg-hover)";
|
|
19
19
|
/** 화살표·체크박스·라벨을 담는 칸 */
|
|
20
20
|
export declare const TREE_CONTENT_CLASS = "box-border flex min-w-0 flex-1 items-center gap-(--cmp-tree-item-contentGap)";
|
|
21
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* 라벨 — 고른(또는 일부 고른) 줄은 굵게, 비활성은 흐리게. 고를 수 있으면 `TreeSelectZone` 에
|
|
23
|
+
* 올렸을 때 밑줄이 생긴다. 글자 폭만큼만 차지한다(줄의 남은 폭은 접고 펴는 자리다)
|
|
24
|
+
*/
|
|
22
25
|
export declare function treeLabelClass(size: TreeRowSize, { emphasized, disabled, selectable, }: {
|
|
23
26
|
emphasized: boolean;
|
|
24
27
|
disabled: boolean;
|
|
25
28
|
selectable: boolean;
|
|
26
29
|
}): string;
|
|
30
|
+
/**
|
|
31
|
+
* 줄에서 고르는 자리 — 체크박스(있으면)+라벨을 담는다. 글자 폭만큼만 차지해 그 오른쪽 빈 자리는
|
|
32
|
+
* 접고 펴는 자리로 남는다. 고를 수 있으면 올렸을 때 라벨 밑줄(`treeLabelClass`)과 chevron 이 나와
|
|
33
|
+
* 접고 펴는 자리와 구분된다. 줄의 클릭이 이 자리에 떨어졌는지는 `isRowSelectClick` 으로 가른다.
|
|
34
|
+
*/
|
|
35
|
+
export declare function TreeSelectZone({ selectable, disabled, control, children, }: {
|
|
36
|
+
selectable: boolean;
|
|
37
|
+
disabled?: boolean;
|
|
38
|
+
/** 라벨 앞의 체크박스 */
|
|
39
|
+
control?: ReactNode;
|
|
40
|
+
/** 라벨 */
|
|
41
|
+
children: ReactNode;
|
|
42
|
+
}): import("react").JSX.Element;
|
|
43
|
+
/** 줄의 클릭이 고르는 자리(`TreeSelectZone`)에 떨어졌는가 */
|
|
44
|
+
export declare function isRowSelectClick(event: MouseEvent<HTMLElement>): boolean;
|
|
27
45
|
/**
|
|
28
46
|
* 줄 안의 컨트롤(체크박스·화살표)이 받은 클릭인가. 컨트롤은 스스로 값을 바꾸므로 줄의 클릭 처리는
|
|
29
47
|
* 손대지 않는다 — 컨트롤마다 감싸서 전파를 끊는 대신 줄 하나가 클릭을 받아 가른다.
|
package/dist/llms-full.txt
CHANGED
|
@@ -1776,6 +1776,7 @@ tableRef.current.scrollToRow(row); // 복원
|
|
|
1776
1776
|
- **쓰는 자리는 설정 화면·마법사(스텝)의 소수 결정이다.** 고르고 나면 뒤 화면이 통째로 바뀌거나 되돌리기 어려운 선택 — 평가 대상자 범위(전체/특정 구성원), 상담 자동 배정 방식 같은 것. 목록 필터·표 안 조건처럼 같은 선택지가 화면마다 반복 노출되는 자리에는 `SRadioGroup` 을 쓴다.
|
|
1777
1777
|
- `SRadioCard` 단독은 `SRadioCardGroup` 이 만들 수 없는 배치에만 쓴다 — 나열은 그룹이 맡는다 (§2-2).
|
|
1778
1778
|
- 카드 안에 상태 배지를 넣으려면 `tag` 슬롯에 `STag` 를 준다. 라벨 문자열에 "(추천)" 처럼 섞어 쓰지 않는다.
|
|
1779
|
+
- **한 선택지에 딸린 추가 입력(지정일·요청 사항 등)은 그 카드의 슬롯에 넣는다** — `SRadioCard` 는 `children`, `SRadioCardGroup` 은 옵션의 `content`. 카드 아래에 따로 입력을 늘어놓지 않는다. 슬롯은 서브타이틀 아래에 들여써서 놓이고 라디오의 클릭 영역 밖이라, 입력을 눌러도 카드 선택이 바뀌지 않는다. 들여쓰기·간격은 카드가 넣으므로 직접 주지 않는다. 고른 카드에만 보여주고, 카드를 `disabled` 로 두면 슬롯의 컨트롤도 함께 `disabled` 로 둔다(카드가 대신 잠그지 않는다).
|
|
1779
1780
|
- **카드처럼 생겼다고 `SCard`/`SSectionHeaderCard` 로 감싸지 않는다.** `SRadioCard` 자체가 완결된 요소이고, 나열 간격은 `SRadioCardGroup` 의 `direction` 이 맞춘다 (§2-2).
|
|
1780
1781
|
|
|
1781
1782
|
##### 후보에 상하 관계가 있으면 — depth vs tree
|
|
@@ -7134,6 +7135,7 @@ export interface SChipFilterDatePreset {
|
|
|
7134
7135
|
|
|
7135
7136
|
- [SDatePicker](../SDatePicker)
|
|
7136
7137
|
- [SDateRangePicker](../SDateRangePicker)
|
|
7138
|
+
- [SGhostButton](../SGhostButton)
|
|
7137
7139
|
- [SIcon](../SIcon)
|
|
7138
7140
|
- [SRadio](../SRadio)
|
|
7139
7141
|
- [SRadioButton](../SRadioButton)
|
|
@@ -8682,6 +8684,7 @@ export type SGhostButtonIntent =
|
|
|
8682
8684
|
- [SChatAttachedFile](../SChatAttachedFile)
|
|
8683
8685
|
- [SChatInput](../SChatInput)
|
|
8684
8686
|
- [SChip](../SChip)
|
|
8687
|
+
- [SChipFilter](../SChipFilter)
|
|
8685
8688
|
- [SDatePicker](../SDatePicker)
|
|
8686
8689
|
- [SDateRangePicker](../SDateRangePicker)
|
|
8687
8690
|
- [SFilePicker](../SFilePicker)
|
|
@@ -9100,7 +9103,7 @@ export type SGuideMessage = string | SGuideMessage[];
|
|
|
9100
9103
|
| Prop | Type | Default | Description |
|
|
9101
9104
|
|------|------|---------|-------------|
|
|
9102
9105
|
| `name` | `SIconName` | — | 아이콘명 |
|
|
9103
|
-
| `size?` | `number \| string` | `24` | 아이콘 크기(px 또는 CSS 길이) |
|
|
9106
|
+
| `size?` | `number \| string` | `24` | 아이콘 크기(px 또는 CSS 길이). 토큰 크기 `var(--cmp-…)` 도 그대로 넘긴다 |
|
|
9104
9107
|
| `color?` | `SColor` | — | 아이콘 색상. 팔레트 키(`grey_65`, `red_95` …) 또는 임의 CSS 색상. 미지정 시 currentColor 상속 |
|
|
9105
9108
|
| `rotate?` | `0 \| 90 \| 180 \| 270` | — | 회전 각도 |
|
|
9106
9109
|
| `label?` | `string` | — | 접근성 라벨. 없으면 aria-hidden 처리 |
|
|
@@ -9155,6 +9158,7 @@ export type SGuideMessage = string | SGuideMessage[];
|
|
|
9155
9158
|
- [STimeRangePicker](../STimeRangePicker)
|
|
9156
9159
|
- [SToast](../SToast)
|
|
9157
9160
|
- [STooltip](../STooltip)
|
|
9161
|
+
- [STree](../STree)
|
|
9158
9162
|
|
|
9159
9163
|
### Graph
|
|
9160
9164
|
|
|
@@ -9875,8 +9879,8 @@ export interface SListItemRenderState {
|
|
|
9875
9879
|
| `message?` | `string \| string[]` | — | 메시지 (없으면 state 기본값) |
|
|
9876
9880
|
| `showButton?` | `boolean` | `false` | 하단 버튼 표시 |
|
|
9877
9881
|
| `buttonLabel?` | `string` | — | 버튼 레이블 (없으면 state 기본값) |
|
|
9878
|
-
| `width?` | `number \| string` | `
|
|
9879
|
-
| `height?` | `number \| string` | `
|
|
9882
|
+
| `width?` | `number \| string` | `'var(--cmp-modal-loading-width)'` | |
|
|
9883
|
+
| `height?` | `number \| string` | `'var(--cmp-modal-loading-height)'` | |
|
|
9880
9884
|
|
|
9881
9885
|
#### Events
|
|
9882
9886
|
|
|
@@ -11143,6 +11147,7 @@ export type SRadioButtonSize = 'xs' | 'sm' | 'md';
|
|
|
11143
11147
|
| `value?` | `SRadioValue \| null` | — | 그룹의 현재 선택 값 |
|
|
11144
11148
|
| `label` | `string` | — | 라벨 (첫 줄) |
|
|
11145
11149
|
| `subtitle?` | `string` | — | 서브타이틀 (둘째 줄). 라벨 왼쪽 끝에 맞춰 들여쓴다 |
|
|
11150
|
+
| `children?` | `ReactNode` | — | 서브타이틀 아래 슬롯. 서브타이틀처럼 라벨 왼쪽 끝에 맞춰 들여쓴다. 카드 테두리 안이지만 라디오의 클릭 영역 밖이라, 입력·버튼 같은 컨트롤을 넣어도 누를 때 카드가 선택되지 않는다 |
|
|
11146
11151
|
| `tag?` | `Omit<STagProps, 'size'>` | — | 라벨 오른쪽에 붙일 태그. `STag` 의 props 를 그대로 받되 크기는 `xs` 로 고정된다 |
|
|
11147
11152
|
| `disabled?` | `boolean` | `false` | 비활성 |
|
|
11148
11153
|
| `name?` | `string` | — | native radio name (form-agnostic 그룹핑) |
|
|
@@ -11167,6 +11172,8 @@ export interface SRadioCardOption {
|
|
|
11167
11172
|
label: string;
|
|
11168
11173
|
/** 서브타이틀 (둘째 줄) */
|
|
11169
11174
|
subtitle?: string;
|
|
11175
|
+
/** 서브타이틀 아래 슬롯 (`SRadioCard` 의 `children`). 라디오의 클릭 영역 밖이다 */
|
|
11176
|
+
content?: ReactNode;
|
|
11170
11177
|
/** 라벨 오른쪽에 붙일 태그 (`STag` props, 크기는 `xs` 고정) */
|
|
11171
11178
|
tag?: Omit<STagProps, 'size'>;
|
|
11172
11179
|
/** 이 옵션만 비활성 */
|
|
@@ -11416,7 +11423,7 @@ export type SSectionHeaderCardChildren = ReactNode;
|
|
|
11416
11423
|
|
|
11417
11424
|
| Method | Type | Description |
|
|
11418
11425
|
|--------|------|-------------|
|
|
11419
|
-
| `focus` | `() => void` | 트리거
|
|
11426
|
+
| `focus` | `() => void` | 트리거(combobox)에 포커스 (sdFocus) |
|
|
11420
11427
|
| `open` | `() => void` | 드롭다운 열기 (sdOpen) |
|
|
11421
11428
|
|
|
11422
11429
|
## Types
|
|
@@ -13011,6 +13018,7 @@ export interface STreeItemRenderState {
|
|
|
13011
13018
|
|
|
13012
13019
|
- [SCheckbox](../SCheckbox)
|
|
13013
13020
|
- [SGhostButton](../SGhostButton)
|
|
13021
|
+
- [SIcon](../SIcon)
|
|
13014
13022
|
|
|
13015
13023
|
### Graph
|
|
13016
13024
|
|
package/dist/llms.txt
CHANGED
|
@@ -1777,6 +1777,7 @@ tableRef.current.scrollToRow(row); // 복원
|
|
|
1777
1777
|
- **쓰는 자리는 설정 화면·마법사(스텝)의 소수 결정이다.** 고르고 나면 뒤 화면이 통째로 바뀌거나 되돌리기 어려운 선택 — 평가 대상자 범위(전체/특정 구성원), 상담 자동 배정 방식 같은 것. 목록 필터·표 안 조건처럼 같은 선택지가 화면마다 반복 노출되는 자리에는 `SRadioGroup` 을 쓴다.
|
|
1778
1778
|
- `SRadioCard` 단독은 `SRadioCardGroup` 이 만들 수 없는 배치에만 쓴다 — 나열은 그룹이 맡는다 (§2-2).
|
|
1779
1779
|
- 카드 안에 상태 배지를 넣으려면 `tag` 슬롯에 `STag` 를 준다. 라벨 문자열에 "(추천)" 처럼 섞어 쓰지 않는다.
|
|
1780
|
+
- **한 선택지에 딸린 추가 입력(지정일·요청 사항 등)은 그 카드의 슬롯에 넣는다** — `SRadioCard` 는 `children`, `SRadioCardGroup` 은 옵션의 `content`. 카드 아래에 따로 입력을 늘어놓지 않는다. 슬롯은 서브타이틀 아래에 들여써서 놓이고 라디오의 클릭 영역 밖이라, 입력을 눌러도 카드 선택이 바뀌지 않는다. 들여쓰기·간격은 카드가 넣으므로 직접 주지 않는다. 고른 카드에만 보여주고, 카드를 `disabled` 로 두면 슬롯의 컨트롤도 함께 `disabled` 로 둔다(카드가 대신 잠그지 않는다).
|
|
1780
1781
|
- **카드처럼 생겼다고 `SCard`/`SSectionHeaderCard` 로 감싸지 않는다.** `SRadioCard` 자체가 완결된 요소이고, 나열 간격은 `SRadioCardGroup` 의 `direction` 이 맞춘다 (§2-2).
|
|
1781
1782
|
|
|
1782
1783
|
##### 후보에 상하 관계가 있으면 — depth vs tree
|