sellmate-design-system-react 9.0.0-beta.13 → 9.0.0-beta.15

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.
@@ -862,6 +862,24 @@ const columns: STableColumn[] = [
862
862
 
863
863
  `0` 은 값이 있는 것이므로 하이픈으로 바꾸지 않는다 — `0원` 그대로 표시한다.
864
864
 
865
+ #### 라벨만으로 뜻이 안 통하는 컬럼은 `helpText`
866
+
867
+ 헤더 라벨은 컬럼 폭 안에 들어가야 해서 짧아진다. **산출 기준·단위·상태 값의 뜻처럼 라벨에 담기지 않는 설명은 `column.helpText` 로 준다** — 라벨 뒤에 도움말 아이콘이 붙고 hover 하면 툴팁이 뜬다. 배열의 각 항목이 한 줄이다. `SKeyValueTable` 의 `field.helpText`, `SSectionHeaderCard` 의 `helpText` 와 같은 것이다.
868
+
869
+ ```tsx
870
+ const columns: STableColumn[] = [
871
+ { name: 'orderCount', label: '주문 수', field: 'orderCount', width: '120px', align: 'right',
872
+ helpText: ['취소·반품을 제외한 확정 주문 수입니다.'],
873
+ format: (v: number) => `${Number(v).toLocaleString()}건` },
874
+ { name: 'status', label: '상태', field: 'status', width: '100px', align: 'center',
875
+ helpText: ['활성: 최근 30일 내 주문 있음', '보관됨: 거래 종료'] },
876
+ ];
877
+ ```
878
+
879
+ - **`renderHeader` 로 헤더를 직접 만들어 `STooltip` 을 붙이지 않는다.** `renderHeader` 는 헤더 전체를 교체하므로 `helpText` 가 무시되고, 아이콘·크기·색·간격을 손으로 맞추게 된다.
880
+ - **모든 컬럼에 달지 않는다.** 라벨로 뜻이 통하는 컬럼(`주문번호`·`상품명`)까지 붙이면 헤더가 아이콘으로 뒤덮여 정작 설명이 필요한 컬럼이 묻힌다.
881
+ - 긴 문장을 넣는 자리가 아니다. 한 줄에 한 가지 사실만 담고, 그 이상은 페이지 상단 안내(`SCallout`)로 뺀다.
882
+
865
883
  ### 3-5. 버튼류
866
884
 
867
885
  | 상황 | 사용 |
@@ -5736,6 +5754,13 @@ export interface STableColumn {
5736
5754
  icon?: SIconName;
5737
5755
  /** 헤더 아이콘 색상. 팔레트 키(`grey_65`, `red_95` …) 또는 임의 CSS 색상 */
5738
5756
  iconColor?: SColor;
5757
+ /**
5758
+ * 헤더 라벨 뒤 도움말 툴팁 (각 항목이 한 줄). `SKeyValueTable` 의 `field.helpText` 와 같은 역할 —
5759
+ * 라벨만으로 뜻이 통하지 않는 컬럼의 산출 기준·단위를 설명한다.
5760
+ *
5761
+ * `renderHeader` 로 헤더를 통째로 교체하면 그리지 않는다 (헤더 전체가 소비 앱 책임).
5762
+ */
5763
+ helpText?: string[];
5739
5764
  /**
5740
5765
  * 셀에 무엇이 들어가는지. 좌우 여백이 여기서 갈린다 — 기본은 `text`(넓게).
5741
5766
  *
@@ -5825,6 +5850,7 @@ export interface STableCellContext {
5825
5850
  - [SIcon](../SIcon)
5826
5851
  - [SPagination](../SPagination)
5827
5852
  - [SSelect](../SSelect)
5853
+ - [STooltip](../STooltip)
5828
5854
 
5829
5855
  ### Graph
5830
5856
 
@@ -6446,6 +6472,7 @@ export type STooltipType = 'default' | 'danger' | 'warning' | 'accent';
6446
6472
  - [SKeyValueTable](../SKeyValueTable)
6447
6473
  - [SSectionHeaderCard](../SSectionHeaderCard)
6448
6474
  - [SStepper](../SStepper)
6475
+ - [STable](../STable)
6449
6476
 
6450
6477
  ### Depends on
6451
6478
 
package/dist/llms.txt CHANGED
@@ -863,6 +863,24 @@ const columns: STableColumn[] = [
863
863
 
864
864
  `0` 은 값이 있는 것이므로 하이픈으로 바꾸지 않는다 — `0원` 그대로 표시한다.
865
865
 
866
+ #### 라벨만으로 뜻이 안 통하는 컬럼은 `helpText`
867
+
868
+ 헤더 라벨은 컬럼 폭 안에 들어가야 해서 짧아진다. **산출 기준·단위·상태 값의 뜻처럼 라벨에 담기지 않는 설명은 `column.helpText` 로 준다** — 라벨 뒤에 도움말 아이콘이 붙고 hover 하면 툴팁이 뜬다. 배열의 각 항목이 한 줄이다. `SKeyValueTable` 의 `field.helpText`, `SSectionHeaderCard` 의 `helpText` 와 같은 것이다.
869
+
870
+ ```tsx
871
+ const columns: STableColumn[] = [
872
+ { name: 'orderCount', label: '주문 수', field: 'orderCount', width: '120px', align: 'right',
873
+ helpText: ['취소·반품을 제외한 확정 주문 수입니다.'],
874
+ format: (v: number) => `${Number(v).toLocaleString()}건` },
875
+ { name: 'status', label: '상태', field: 'status', width: '100px', align: 'center',
876
+ helpText: ['활성: 최근 30일 내 주문 있음', '보관됨: 거래 종료'] },
877
+ ];
878
+ ```
879
+
880
+ - **`renderHeader` 로 헤더를 직접 만들어 `STooltip` 을 붙이지 않는다.** `renderHeader` 는 헤더 전체를 교체하므로 `helpText` 가 무시되고, 아이콘·크기·색·간격을 손으로 맞추게 된다.
881
+ - **모든 컬럼에 달지 않는다.** 라벨로 뜻이 통하는 컬럼(`주문번호`·`상품명`)까지 붙이면 헤더가 아이콘으로 뒤덮여 정작 설명이 필요한 컬럼이 묻힌다.
882
+ - 긴 문장을 넣는 자리가 아니다. 한 줄에 한 가지 사실만 담고, 그 이상은 페이지 상단 안내(`SCallout`)로 뺀다.
883
+
866
884
  ### 3-5. 버튼류
867
885
 
868
886
  | 상황 | 사용 |
package/dist/styles.css CHANGED
@@ -773,6 +773,9 @@
773
773
  .mt-\(--cmp-field-contents-gap\) {
774
774
  margin-top: var(--cmp-field-contents-gap);
775
775
  }
776
+ .mt-1 {
777
+ margin-top: var(--spacing);
778
+ }
776
779
  .mt-8 {
777
780
  margin-top: calc(var(--spacing) * 8);
778
781
  }
@@ -903,6 +906,9 @@
903
906
  .h-11 {
904
907
  height: calc(var(--spacing) * 11);
905
908
  }
909
+ .h-16 {
910
+ height: calc(var(--spacing) * 16);
911
+ }
906
912
  .h-48 {
907
913
  height: calc(var(--spacing) * 48);
908
914
  }
@@ -1125,6 +1131,9 @@
1125
1131
  .w-11 {
1126
1132
  width: calc(var(--spacing) * 11);
1127
1133
  }
1134
+ .w-60 {
1135
+ width: calc(var(--spacing) * 60);
1136
+ }
1128
1137
  .w-64 {
1129
1138
  width: calc(var(--spacing) * 64);
1130
1139
  }
@@ -1557,6 +1566,9 @@
1557
1566
  .gap-4 {
1558
1567
  gap: calc(var(--spacing) * 4);
1559
1568
  }
1569
+ .gap-6 {
1570
+ gap: calc(var(--spacing) * 6);
1571
+ }
1560
1572
  .gap-8 {
1561
1573
  gap: calc(var(--spacing) * 8);
1562
1574
  }
@@ -2443,9 +2455,15 @@
2443
2455
  .bg-grey-20 {
2444
2456
  background-color: var(--color-grey-20);
2445
2457
  }
2458
+ .bg-grey-30 {
2459
+ background-color: var(--color-grey-30);
2460
+ }
2446
2461
  .bg-grey-90 {
2447
2462
  background-color: var(--color-grey-90);
2448
2463
  }
2464
+ .bg-primary-50 {
2465
+ background-color: var(--color-primary-50);
2466
+ }
2449
2467
  .bg-red-50 {
2450
2468
  background-color: var(--color-red-50);
2451
2469
  }
@@ -3308,6 +3326,9 @@
3308
3326
  .text-grey-55 {
3309
3327
  color: var(--color-grey-55);
3310
3328
  }
3329
+ .text-grey-60 {
3330
+ color: var(--color-grey-60);
3331
+ }
3311
3332
  .text-grey-65 {
3312
3333
  color: var(--color-grey-65);
3313
3334
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sellmate-design-system-react",
3
- "version": "9.0.0-beta.13",
3
+ "version": "9.0.0-beta.15",
4
4
  "description": "Sellmate Design System — React (TypeScript + Tailwind v4) port",
5
5
  "license": "UNLICENSED",
6
6
  "keywords": [