sellmate-design-system-react 9.0.0-beta.77 → 9.0.0-beta.78
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 +9 -0
- package/dist/components/SSelect/README.md +9 -0
- package/dist/components/SSelect/SSelect.d.ts +20 -3
- package/dist/components/SSelect/index.d.ts +1 -1
- package/dist/components/SSelect/select.config.d.ts +2 -0
- package/dist/components/STooltip/README.md +2 -0
- package/dist/index.cjs +176 -106
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +176 -106
- package/dist/index.js.map +1 -1
- package/dist/llms-full.txt +19 -0
- package/dist/llms.txt +9 -0
- package/dist/styles.css +35 -2
- package/package.json +1 -1
package/dist/llms-full.txt
CHANGED
|
@@ -678,6 +678,7 @@ Tailwind 유틸리티는 **토큰 스케일에 있는 값만** 사용한다.
|
|
|
678
678
|
| **상태·분류를 라벨로 표시 (기본값)** | **`STag`** — `<STag size="sm" color="..." label="판매중" />`. 목록의 상태 컬럼, 상세의 분류 태그 등 대부분이 여기 해당한다 |
|
|
679
679
|
| 라벨 없이 **색 점만**으로 상태를 찍을 때 | `SBadge` — 점(dot)만 그리는 인디케이터. 텍스트가 이미 있고 앞에 점만 붙이는 좁은 경우에만 |
|
|
680
680
|
| 사용자가 입력·삭제·편집하는 **토큰** | `SChip` (단독) / `SChipInput` (입력 필드 안에서) |
|
|
681
|
+
| 목록에서 **여러 개 고른 값**을 칩으로 보여주고 하나씩 빼게 할 때 | `SSelect` `type="multi"` + `valueDisplay="chip"` (§3-7-2) — `SChip` 을 따로 나열하지 않는다 |
|
|
681
682
|
|
|
682
683
|
> 상태 표시는 **`STag size="sm"` 이 기본**이다. 색 점 + 텍스트 조합(`SBadge`)을 기본으로 쓰지 않는다.
|
|
683
684
|
|
|
@@ -1760,6 +1761,14 @@ tableRef.current.scrollToRow(row); // 복원
|
|
|
1760
1761
|
- 카드 안에 상태 배지를 넣으려면 `tag` 슬롯에 `STag` 를 준다. 라벨 문자열에 "(추천)" 처럼 섞어 쓰지 않는다.
|
|
1761
1762
|
- **카드처럼 생겼다고 `SCard`/`SSectionHeaderCard` 로 감싸지 않는다.** `SRadioCard` 자체가 완결된 요소이고, 나열 간격은 `SRadioCardGroup` 의 `direction` 이 맞춘다 (§2-2).
|
|
1762
1763
|
|
|
1764
|
+
##### 여러 개 고른 값을 칩으로 보여줄 때 — `valueDisplay="chip"`
|
|
1765
|
+
|
|
1766
|
+
- **`type="multi"`·`"multi_depth"` 에서 `valueDisplay="chip"` 을 주면** 선택값이 트리거에 칩으로 뜨고, 칩의 × 로 하나씩 뺄 수 있다. 기본(`text`)은 라벨을 쉼표로 이어 한 줄로 말줄임한다. 고른 값 하나하나를 확인하고 바로 빼야 하는 자리면 `chip`, 몇 개 골랐는지만 보이면 되는 조회 필터면 `text` 를 쓴다.
|
|
1767
|
+
- **후보가 정해진 목록에서 고르는 것이면 `SSelect` 의 `chip` 이고, 사용자가 값을 직접 타이핑해 쌓는 것이면 `SChipInput` 이다.** 목록에서 고른 값을 `SChipInput` 에 옮겨 담거나, `SSelect` 옆에 `SChip` 을 따로 나열해 선택값을 흉내 내지 않는다.
|
|
1768
|
+
- **단일 선택 type 에는 주지 않는다.** 무시되고 `text` 로 보인다. 단일 선택의 값 비우기는 `clearable` 이 맡는다.
|
|
1769
|
+
- 칩이 한 줄을 넘으면 줄바꿈하고 트리거가 그만큼 높아진다. 높이·칩 간격은 `SSelect` 가 토큰으로 넣는다 — 직접 주지 않는다.
|
|
1770
|
+
- 전체 선택이면 칩 대신 `allSelectedLabel` 이 뜬다. 비활성 옵션의 칩과 비활성 셀렉트의 칩에는 × 가 없다.
|
|
1771
|
+
|
|
1763
1772
|
##### 옵션을 서버에서 받는 동안 — `loading`
|
|
1764
1773
|
|
|
1765
1774
|
- **받는 동안 `loading` 을 켠다.** 트리거의 펼침 아이콘 자리에 스피너가, 드롭다운에 로딩 행이 뜬다. 첫 조회든 다음 페이지든 같은 prop 이다.
|
|
@@ -9167,6 +9176,7 @@ export type SSectionHeaderCardChildren = ReactNode;
|
|
|
9167
9176
|
| `name?` | `string` | — | 폼 연동용 name 속성 |
|
|
9168
9177
|
| `options?` | `SSelectOption[]` | `[]` | 옵션 목록 (children으로 계층 표현) |
|
|
9169
9178
|
| `type?` | `SSelectType` | `'default'` | 타입: default | multi | default_depth | multi_depth |
|
|
9179
|
+
| `valueDisplay?` | `SSelectValueDisplay` | `'text'` | 트리거에 선택값을 보여주는 방식. - `text`: 선택 라벨을 쉼표로 이어 한 줄로 보여준다. 넘치면 말줄임한다. - `chip`: 선택값마다 칩을 낸다. 칩의 × 를 누르면 그 값만 선택에서 빠지고, 드롭다운은 열리지 않는다. 칩이 한 줄을 넘으면 줄바꿈하고 트리거가 그만큼 높아진다. `chip` 은 `multi`·`multi_depth` 에서만 동작한다. 단일 선택 type 에서는 무시하고 `text` 로 보여준다. 전체 선택이면 칩 대신 `allSelectedLabel` 을 보여준다. 비활성(select 자체나 해당 옵션)인 칩에는 × 를 내지 않는다. |
|
|
9170
9180
|
| `showSearch?` | `boolean` | `false` | 검색 입력 사용 |
|
|
9171
9181
|
| `showSelectAll?` | `boolean` | `false` | 전체선택 옵션 사용 (multi 전용) |
|
|
9172
9182
|
| `allSelectedLabel?` | `string` | `'전체'` | 전체선택 레이블 |
|
|
@@ -9197,6 +9207,7 @@ export type SSectionHeaderCardChildren = ReactNode;
|
|
|
9197
9207
|
| `hint?` | `string` | — | |
|
|
9198
9208
|
| `errorMessage?` | `string` | — | |
|
|
9199
9209
|
| `width?` | `SFieldWidth` | — | 컨트롤 너비 — 폭 등급(`'xs' | 'sm' | 'md' | 'lg' | 'xl'`) · 숫자=px · CSS 길이. 등급은 `--cmp-field-width-*` 토큰으로 풀리므로 토큰이 바뀌면 화면이 따라간다. 값 길이에 상한이 없으면 `"100%"` 로 두어 행 전체를 쓴다. 셀렉트는 `maxLength` 개념이 없어 목록 최장값을 담는 등급으로 고른다. |
|
|
9210
|
+
| `size?` | `SFieldSize` | `'sm'` | 트리거 크기 (기본값 `'sm'`). 높이·패딩·간격·글자 크기를 `--cmp-select-{size}-*` 토큰으로 바꾼다. 드롭다운 목록은 크기와 무관하게 같다. `valueDisplay="chip"` 이면 `md` 는 SChip 과 같은 칩을, `sm` 은 28px 트리거에 맞춘 낮은 칩을 낸다. |
|
|
9200
9211
|
| `className?` | `string` | — | |
|
|
9201
9212
|
| `style?` | `CSSProperties` | — | |
|
|
9202
9213
|
|
|
@@ -9249,6 +9260,13 @@ export interface SSelectOption {
|
|
|
9249
9260
|
export type SSelectType = 'default' | 'multi' | 'default_depth' | 'multi_depth';
|
|
9250
9261
|
```
|
|
9251
9262
|
|
|
9263
|
+
### SSelectValueDisplay
|
|
9264
|
+
|
|
9265
|
+
```ts
|
|
9266
|
+
/** 트리거에 선택값을 보여주는 방식 — 쉼표로 이은 텍스트 | 값마다 칩 */
|
|
9267
|
+
export type SSelectValueDisplay = 'text' | 'chip';
|
|
9268
|
+
```
|
|
9269
|
+
|
|
9252
9270
|
## Dependencies
|
|
9253
9271
|
|
|
9254
9272
|
### Used by
|
|
@@ -10478,6 +10496,7 @@ export type STooltipType = 'default' | 'danger' | 'warning' | 'accent';
|
|
|
10478
10496
|
- [SField](../SField)
|
|
10479
10497
|
- [SGnbSystem](../SGnbSystem)
|
|
10480
10498
|
- [SKeyValueTable](../SKeyValueTable)
|
|
10499
|
+
- [SRadioButton](../SRadioButton)
|
|
10481
10500
|
- [SSectionHeaderCard](../SSectionHeaderCard)
|
|
10482
10501
|
- [SStepper](../SStepper)
|
|
10483
10502
|
- [STable](../STable)
|
package/dist/llms.txt
CHANGED
|
@@ -679,6 +679,7 @@ Tailwind 유틸리티는 **토큰 스케일에 있는 값만** 사용한다.
|
|
|
679
679
|
| **상태·분류를 라벨로 표시 (기본값)** | **`STag`** — `<STag size="sm" color="..." label="판매중" />`. 목록의 상태 컬럼, 상세의 분류 태그 등 대부분이 여기 해당한다 |
|
|
680
680
|
| 라벨 없이 **색 점만**으로 상태를 찍을 때 | `SBadge` — 점(dot)만 그리는 인디케이터. 텍스트가 이미 있고 앞에 점만 붙이는 좁은 경우에만 |
|
|
681
681
|
| 사용자가 입력·삭제·편집하는 **토큰** | `SChip` (단독) / `SChipInput` (입력 필드 안에서) |
|
|
682
|
+
| 목록에서 **여러 개 고른 값**을 칩으로 보여주고 하나씩 빼게 할 때 | `SSelect` `type="multi"` + `valueDisplay="chip"` (§3-7-2) — `SChip` 을 따로 나열하지 않는다 |
|
|
682
683
|
|
|
683
684
|
> 상태 표시는 **`STag size="sm"` 이 기본**이다. 색 점 + 텍스트 조합(`SBadge`)을 기본으로 쓰지 않는다.
|
|
684
685
|
|
|
@@ -1761,6 +1762,14 @@ tableRef.current.scrollToRow(row); // 복원
|
|
|
1761
1762
|
- 카드 안에 상태 배지를 넣으려면 `tag` 슬롯에 `STag` 를 준다. 라벨 문자열에 "(추천)" 처럼 섞어 쓰지 않는다.
|
|
1762
1763
|
- **카드처럼 생겼다고 `SCard`/`SSectionHeaderCard` 로 감싸지 않는다.** `SRadioCard` 자체가 완결된 요소이고, 나열 간격은 `SRadioCardGroup` 의 `direction` 이 맞춘다 (§2-2).
|
|
1763
1764
|
|
|
1765
|
+
##### 여러 개 고른 값을 칩으로 보여줄 때 — `valueDisplay="chip"`
|
|
1766
|
+
|
|
1767
|
+
- **`type="multi"`·`"multi_depth"` 에서 `valueDisplay="chip"` 을 주면** 선택값이 트리거에 칩으로 뜨고, 칩의 × 로 하나씩 뺄 수 있다. 기본(`text`)은 라벨을 쉼표로 이어 한 줄로 말줄임한다. 고른 값 하나하나를 확인하고 바로 빼야 하는 자리면 `chip`, 몇 개 골랐는지만 보이면 되는 조회 필터면 `text` 를 쓴다.
|
|
1768
|
+
- **후보가 정해진 목록에서 고르는 것이면 `SSelect` 의 `chip` 이고, 사용자가 값을 직접 타이핑해 쌓는 것이면 `SChipInput` 이다.** 목록에서 고른 값을 `SChipInput` 에 옮겨 담거나, `SSelect` 옆에 `SChip` 을 따로 나열해 선택값을 흉내 내지 않는다.
|
|
1769
|
+
- **단일 선택 type 에는 주지 않는다.** 무시되고 `text` 로 보인다. 단일 선택의 값 비우기는 `clearable` 이 맡는다.
|
|
1770
|
+
- 칩이 한 줄을 넘으면 줄바꿈하고 트리거가 그만큼 높아진다. 높이·칩 간격은 `SSelect` 가 토큰으로 넣는다 — 직접 주지 않는다.
|
|
1771
|
+
- 전체 선택이면 칩 대신 `allSelectedLabel` 이 뜬다. 비활성 옵션의 칩과 비활성 셀렉트의 칩에는 × 가 없다.
|
|
1772
|
+
|
|
1764
1773
|
##### 옵션을 서버에서 받는 동안 — `loading`
|
|
1765
1774
|
|
|
1766
1775
|
- **받는 동안 `loading` 을 켠다.** 트리거의 펼침 아이콘 자리에 스피너가, 드롭다운에 로딩 행이 뜬다. 첫 조회든 다음 페이지든 같은 prop 이다.
|
package/dist/styles.css
CHANGED
|
@@ -1001,6 +1001,9 @@
|
|
|
1001
1001
|
.h-\(--cmp-calendarBoard-item-height\) {
|
|
1002
1002
|
height: var(--cmp-calendarBoard-item-height);
|
|
1003
1003
|
}
|
|
1004
|
+
.h-\(--cmp-chip-height\) {
|
|
1005
|
+
height: var(--cmp-chip-height);
|
|
1006
|
+
}
|
|
1004
1007
|
.h-\(--cmp-gnb-top-height\) {
|
|
1005
1008
|
height: var(--cmp-gnb-top-height);
|
|
1006
1009
|
}
|
|
@@ -1493,6 +1496,9 @@
|
|
|
1493
1496
|
.max-w-\[420px\] {
|
|
1494
1497
|
max-width: 420px;
|
|
1495
1498
|
}
|
|
1499
|
+
.max-w-\[440px\] {
|
|
1500
|
+
max-width: 440px;
|
|
1501
|
+
}
|
|
1496
1502
|
.max-w-\[640px\] {
|
|
1497
1503
|
max-width: 640px;
|
|
1498
1504
|
}
|
|
@@ -1795,6 +1801,9 @@
|
|
|
1795
1801
|
.content-center {
|
|
1796
1802
|
align-content: center;
|
|
1797
1803
|
}
|
|
1804
|
+
.content-start {
|
|
1805
|
+
align-content: flex-start;
|
|
1806
|
+
}
|
|
1798
1807
|
.items-center {
|
|
1799
1808
|
align-items: center;
|
|
1800
1809
|
}
|
|
@@ -1885,6 +1894,9 @@
|
|
|
1885
1894
|
.gap-\(--cmp-chatMessage-subData-gap\) {
|
|
1886
1895
|
gap: var(--cmp-chatMessage-subData-gap);
|
|
1887
1896
|
}
|
|
1897
|
+
.gap-\(--cmp-chip-gap\) {
|
|
1898
|
+
gap: var(--cmp-chip-gap);
|
|
1899
|
+
}
|
|
1888
1900
|
.gap-\(--cmp-chipInput-chip-gap\) {
|
|
1889
1901
|
gap: var(--cmp-chipInput-chip-gap);
|
|
1890
1902
|
}
|
|
@@ -1924,6 +1936,12 @@
|
|
|
1924
1936
|
.gap-\(--cmp-sectionHeaderCard-header-gap\) {
|
|
1925
1937
|
gap: var(--cmp-sectionHeaderCard-header-gap);
|
|
1926
1938
|
}
|
|
1939
|
+
.gap-\(--cmp-select-md-gap\) {
|
|
1940
|
+
gap: var(--cmp-select-md-gap);
|
|
1941
|
+
}
|
|
1942
|
+
.gap-\(--cmp-select-sm-gap\) {
|
|
1943
|
+
gap: var(--cmp-select-sm-gap);
|
|
1944
|
+
}
|
|
1927
1945
|
.gap-\(--cmp-tree-item-contentGap\) {
|
|
1928
1946
|
gap: var(--cmp-tree-item-contentGap);
|
|
1929
1947
|
}
|
|
@@ -1951,6 +1969,9 @@
|
|
|
1951
1969
|
.gap-8 {
|
|
1952
1970
|
gap: calc(var(--spacing) * 8);
|
|
1953
1971
|
}
|
|
1972
|
+
.gap-10 {
|
|
1973
|
+
gap: calc(var(--spacing) * 10);
|
|
1974
|
+
}
|
|
1954
1975
|
.gap-12 {
|
|
1955
1976
|
gap: calc(var(--spacing) * 12);
|
|
1956
1977
|
}
|
|
@@ -2155,6 +2176,9 @@
|
|
|
2155
2176
|
.gap-sd-4 {
|
|
2156
2177
|
gap: var(--spacing-sd-4);
|
|
2157
2178
|
}
|
|
2179
|
+
.gap-sd-6 {
|
|
2180
|
+
gap: var(--spacing-sd-6);
|
|
2181
|
+
}
|
|
2158
2182
|
.gap-sd-8 {
|
|
2159
2183
|
gap: var(--spacing-sd-8);
|
|
2160
2184
|
}
|
|
@@ -3305,6 +3329,9 @@
|
|
|
3305
3329
|
.px-\(--cmp-chatSystemMessage-paddingX\) {
|
|
3306
3330
|
padding-inline: var(--cmp-chatSystemMessage-paddingX);
|
|
3307
3331
|
}
|
|
3332
|
+
.px-\(--cmp-chip-paddingX\) {
|
|
3333
|
+
padding-inline: var(--cmp-chip-paddingX);
|
|
3334
|
+
}
|
|
3308
3335
|
.px-\(--cmp-chipInput-md-paddingX\) {
|
|
3309
3336
|
padding-inline: var(--cmp-chipInput-md-paddingX);
|
|
3310
3337
|
}
|
|
@@ -3341,6 +3368,12 @@
|
|
|
3341
3368
|
.px-\(--cmp-sectionHeaderCard-header-paddingX\) {
|
|
3342
3369
|
padding-inline: var(--cmp-sectionHeaderCard-header-paddingX);
|
|
3343
3370
|
}
|
|
3371
|
+
.px-\(--cmp-select-md-paddingX\) {
|
|
3372
|
+
padding-inline: var(--cmp-select-md-paddingX);
|
|
3373
|
+
}
|
|
3374
|
+
.px-\(--cmp-select-sm-paddingX\) {
|
|
3375
|
+
padding-inline: var(--cmp-select-sm-paddingX);
|
|
3376
|
+
}
|
|
3344
3377
|
.px-\(--cmp-tree-item-paddingX\) {
|
|
3345
3378
|
padding-inline: var(--cmp-tree-item-paddingX);
|
|
3346
3379
|
}
|
|
@@ -4724,8 +4757,8 @@
|
|
|
4724
4757
|
}
|
|
4725
4758
|
}
|
|
4726
4759
|
}
|
|
4727
|
-
.group-hover\/select-
|
|
4728
|
-
&:is(:where(.group\/select-
|
|
4760
|
+
.group-hover\/select-remove\:opacity-5 {
|
|
4761
|
+
&:is(:where(.group\/select-remove):hover *) {
|
|
4729
4762
|
@media (hover: hover) {
|
|
4730
4763
|
opacity: 5%;
|
|
4731
4764
|
}
|