sellmate-design-system-react 9.0.0-beta.92 → 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.
Files changed (49) hide show
  1. package/AGENTS.md +21 -2
  2. package/dist/components/SBarChart/README.md +1 -0
  3. package/dist/components/SBarChart/SBarChart.d.ts +7 -0
  4. package/dist/components/SBarcodeInput/README.md +2 -0
  5. package/dist/components/SButton/button.config.d.ts +2 -1
  6. package/dist/components/SChatAttachedFile/chatAttachedFile.config.d.ts +2 -2
  7. package/dist/components/SChatFile/chatFile.config.d.ts +2 -2
  8. package/dist/components/SCheckbox/README.md +2 -0
  9. package/dist/components/SChipFilter/README.md +2 -0
  10. package/dist/components/SGhostButton/README.md +4 -0
  11. package/dist/components/SGnb/gnb.config.d.ts +6 -0
  12. package/dist/components/SIcon/README.md +5 -1
  13. package/dist/components/SIcon/SIcon.d.ts +1 -1
  14. package/dist/components/SInput/README.md +2 -0
  15. package/dist/components/SLauncherListBox/launcherListBox.config.d.ts +2 -7
  16. package/dist/components/SLineChart/README.md +1 -0
  17. package/dist/components/SLineChart/SLineChart.d.ts +5 -0
  18. package/dist/components/SLineChart/lineChart.config.d.ts +1 -2
  19. package/dist/components/SLoadingModal/README.md +2 -2
  20. package/dist/components/SMeatballButton/README.md +2 -0
  21. package/dist/components/SNumberInput/README.md +2 -0
  22. package/dist/components/SRadioCard/README.md +3 -0
  23. package/dist/components/SRadioCard/SRadioCard.d.ts +7 -2
  24. package/dist/components/SRadioCard/SRadioCardGroup.d.ts +3 -1
  25. package/dist/components/SSelect/README.md +9 -4
  26. package/dist/components/SSelect/SSelect.d.ts +18 -4
  27. package/dist/components/SSelect/select.config.d.ts +34 -4
  28. package/dist/components/SStepper/stepper.config.d.ts +9 -3
  29. package/dist/components/STable/README.md +1 -1
  30. package/dist/components/STable/STable.d.ts +3 -0
  31. package/dist/components/STabs/tabs.config.d.ts +3 -8
  32. package/dist/components/STag/README.md +8 -0
  33. package/dist/components/STag/tag.config.d.ts +10 -9
  34. package/dist/components/STimePicker/timepicker.config.d.ts +3 -0
  35. package/dist/components/STree/README.md +2 -0
  36. package/dist/components/STreeTable/STreeTable.examples.d.ts +7 -0
  37. package/dist/index.cjs +1885 -1273
  38. package/dist/index.cjs.map +1 -1
  39. package/dist/index.js +1885 -1273
  40. package/dist/index.js.map +1 -1
  41. package/dist/lib/chart/cartesian.d.ts +1 -3
  42. package/dist/lib/chart/category-labels.d.ts +37 -0
  43. package/dist/lib/chart/use-element-size.d.ts +4 -1
  44. package/dist/lib/list-box-item.d.ts +16 -0
  45. package/dist/lib/tree-row.d.ts +92 -0
  46. package/dist/llms-full.txt +52 -10
  47. package/dist/llms.txt +21 -2
  48. package/dist/styles.css +237 -88
  49. package/package.json +1 -1
@@ -9,10 +9,14 @@ export type SStepperItem = {
9
9
  };
10
10
  export declare const STEPPER_SIZE_CONFIG: Record<SStepperSize, {
11
11
  sequenceSize: string;
12
+ /** 루트에 거는 글자 크기 — 시퀀스 배지와 typoActive 가 없는 진행 중 타이틀이 상속한다 */
12
13
  fontSize: string;
13
14
  lineHeight: string;
15
+ /** 기본·완료 타이틀 타이포 (stepper.<size>.typography.default) */
16
+ typoDefault: string;
17
+ /** 진행 중 타이틀 타이포 (stepper.<size>.typography.active). null 이면 fontWeightActive 로 그린다 */
18
+ typoActive: string | null;
14
19
  fontWeightActive: number;
15
- fontWeightDefault: number;
16
20
  }>;
17
21
  export declare const STEPPER_LAYOUT: {
18
22
  containerGap: string;
@@ -52,14 +56,15 @@ export declare const STEPPER_HORIZONTAL_COMPLETED_COLORS: {
52
56
  text: string;
53
57
  };
54
58
  export declare const STEPPER_VERTICAL_LAYOUT: {
59
+ /** 세로형 폭. 대응 토큰이 없어 디자인 값을 그대로 쓴다(stepper.vertical 에 width 가 없음). */
55
60
  width: string;
56
61
  itemGap: string;
57
62
  itemPaddingX: string;
58
63
  itemPaddingY: string;
59
64
  titlePaddingTop: string;
60
65
  titlePaddingBottom: string;
61
- titleFontSize: string;
62
- titleLineHeight: string;
66
+ /** 구간 제목 타이포 — stepper.vertical.title.typography (= heading.xxs) */
67
+ titleTypo: string;
63
68
  accentStripeWidth: string;
64
69
  accentStripeColor: string;
65
70
  };
@@ -69,6 +74,7 @@ export declare const STEPPER_VERTICAL_COLORS: {
69
74
  hover: string;
70
75
  selected: string;
71
76
  };
77
+ titleBg: string;
72
78
  titleText: string;
73
79
  textDefault: string;
74
80
  textCompleted: string;
@@ -67,7 +67,7 @@
67
67
  | `getIsAllChecked` | `(rows: TRow[]) => boolean \| null` | 주어진 행들의 전체 선택 상태 (true/false/null=indeterminate) |
68
68
  | `getPaginationInfo` | `<union 2종>` | 내부 페이지네이션 정보 (internalPagination 아니면 null) |
69
69
  | `getStickyStyle` | `(colIdx: number) => CSSProperties` | 컬럼 sticky 스타일 (CSS 변수 + 고정폭) |
70
- | `getScrollElement` | `() => HTMLDivElement \| null` | 본문의 세로 스크롤 컨테이너. 본문이 슬롯으로 대체됐거나 아직 안 그려졌으면 `null`. 스크롤 위치를 읽고 되돌리거나, 표 안에서 스크롤 여지를 재야 할 때 쓴다 — **DOM 을 뒤져 컨테이너를 찾지 않는다.** 내부 구조는 예고 없이 바뀐다. ⚠️ `virtualScroll` 에서 **위치를 픽셀로 저장했다 되돌리는 것은 미덥지 않다.** 다시 그릴 때 아직 안 그려진 행은 추정 높이로 잡히므로, 실측이 쌓이기 전의 같은 `scrollTop` 이 다른 행을 가리킨다. 그 경우엔 위치가 아니라 **보고 있던 행**을 기억해 두는 편이 맞다. |
70
+ | `getScrollElement` | `() => HTMLDivElement \| null` | 본문의 세로 스크롤 컨테이너. 본문이 슬롯으로 대체됐거나 아직 안 그려졌으면 `null`. 스크롤 위치를 읽고 되돌리거나, 표 안에서 스크롤 여지를 재야 할 때 쓴다 — **DOM 을 뒤져 컨테이너를 찾지 않는다.** 내부 구조는 예고 없이 바뀐다. 헤더도 이 안에 위로 붙어(sticky) 있다 — `clientHeight` 에는 헤더 높이가 들어 있다. `scrollTop` 은 본문 기준이라 `scrollTop` 이 y 이면 본문의 y 자리가 헤더 바로 아래에 온다. ⚠️ `virtualScroll` 에서 **위치를 픽셀로 저장했다 되돌리는 것은 미덥지 않다.** 다시 그릴 때 아직 안 그려진 행은 추정 높이로 잡히므로, 실측이 쌓이기 전의 같은 `scrollTop` 이 다른 행을 가리킨다. 그 경우엔 위치가 아니라 **보고 있던 행**을 기억해 두는 편이 맞다. |
71
71
  | `getFirstVisibleRow` | `() => number` | 지금 본문 맨 위에 걸린 행의 인덱스 (`rows` 기준). 행이 없으면 `0`. **스크롤 위치를 저장할 때는 픽셀이 아니라 이 값을 저장한다** — `virtualScroll` 에서 픽셀은 좌표계가 실측으로 움직이는 값이라, 되돌릴 때 다른 행을 가리킨다. |
72
72
  | `scrollToRow` | `(index: number) => void` | 그 행이 본문 맨 위에 오도록 스크롤한다 (`rows` 기준 인덱스, 범위를 벗어나면 잘린다). `virtualScroll` 에서는 **실측이 정착할 때까지 그 행을 계속 다시 겨냥한다** — 옮기는 시점의 좌표는 아직 추정치라 한 번만 옮기면 몇 행씩 밀린다. 사용자가 직접 스크롤하면 겨냥을 놓는다. 페이지네이션을 쓰는 표에서는 **지금 페이지에 그려진 행만** 닿는다 — 다른 페이지의 행이라면 페이지를 먼저 옮긴다. |
73
73
  | `setRowCount` | `(count: number) => void` | 가상 스크롤 총 행 수 설정 |
@@ -208,6 +208,9 @@ export interface STableHandle<TRow extends SRow = SRow> {
208
208
  * 스크롤 위치를 읽고 되돌리거나, 표 안에서 스크롤 여지를 재야 할 때 쓴다 —
209
209
  * **DOM 을 뒤져 컨테이너를 찾지 않는다.** 내부 구조는 예고 없이 바뀐다.
210
210
  *
211
+ * 헤더도 이 안에 위로 붙어(sticky) 있다 — `clientHeight` 에는 헤더 높이가 들어 있다.
212
+ * `scrollTop` 은 본문 기준이라 `scrollTop` 이 y 이면 본문의 y 자리가 헤더 바로 아래에 온다.
213
+ *
211
214
  * ⚠️ `virtualScroll` 에서 **위치를 픽셀로 저장했다 되돌리는 것은 미덥지 않다.** 다시 그릴 때
212
215
  * 아직 안 그려진 행은 추정 높이로 잡히므로, 실측이 쌓이기 전의 같은 `scrollTop` 이 다른 행을
213
216
  * 가리킨다. 그 경우엔 위치가 아니라 **보고 있던 행**을 기억해 두는 편이 맞다.
@@ -3,15 +3,10 @@ export interface STabOption {
3
3
  value: string;
4
4
  badge?: string | number;
5
5
  }
6
- /** main(분절형) 레이아웃 */
6
+ /** main(분절형) 레이아웃 (토큰) */
7
7
  export declare const TAB_MAIN_SIZE: {
8
- height: number;
9
- paddingX: number;
10
- };
11
- /** 탭 타이포 (main/sub 공통, token: typography.navigation.sm) */
12
- export declare const TAB_TYPOGRAPHY: {
13
- fontSize: number;
14
- lineHeight: number;
8
+ height: string;
9
+ paddingX: string;
15
10
  };
16
11
  export declare const TAB_MAIN_COLORS: {
17
12
  selected: {
@@ -69,11 +69,15 @@ export const TAG_COLORS = [
69
69
 
70
70
  ### Used by
71
71
 
72
+ - [SBarcodeInput](../SBarcodeInput)
72
73
  - [SChipFilter](../SChipFilter)
73
74
  - [SConfirmModal](../SConfirmModal)
74
75
  - [SGhostButton](../SGhostButton)
75
76
  - [SGnb](../SGnb)
77
+ - [SGnbSystem](../SGnbSystem)
78
+ - [SInput](../SInput)
76
79
  - [SLauncherListBox](../SLauncherListBox)
80
+ - [SNumberInput](../SNumberInput)
77
81
  - [SRadioCard](../SRadioCard)
78
82
  - [SSystemActionButton](../SSystemActionButton)
79
83
  - [STabs](../STabs)
@@ -88,11 +92,15 @@ export const TAG_COLORS = [
88
92
  ```mermaid
89
93
  graph TD;
90
94
  STag --> SIcon
95
+ SBarcodeInput --> STag
91
96
  SChipFilter --> STag
92
97
  SConfirmModal --> STag
93
98
  SGhostButton --> STag
94
99
  SGnb --> STag
100
+ SGnbSystem --> STag
101
+ SInput --> STag
95
102
  SLauncherListBox --> STag
103
+ SNumberInput --> STag
96
104
  SRadioCard --> STag
97
105
  SSystemActionButton --> STag
98
106
  STabs --> STag
@@ -4,14 +4,15 @@ export declare const TAG_COLORS: readonly ["grey", "red", "orange", "yellow", "g
4
4
  export type STagShape = (typeof TAG_SHAPES)[number];
5
5
  export type STagSize = (typeof TAG_SIZES)[number];
6
6
  export type STagColor = (typeof TAG_COLORS)[number];
7
- /** 사이즈별 레이아웃/타이포 (token.json component.tag 기준) */
7
+ /**
8
+ * 사이즈별 레이아웃/타이포 — `--cmp-tag-<size>-*` 토큰.
9
+ * typography 는 `tag.<size>.typography` 가 가리키는 typo 클래스.
10
+ */
8
11
  export declare const TAG_SIZE_CONFIG: Record<STagSize, {
9
- height: number;
10
- paddingX: number;
11
- gap: number;
12
- radius: number;
13
- iconSize: number;
14
- fontSize: number;
15
- fontWeight: number;
16
- lineHeight: number;
12
+ height: string;
13
+ paddingX: string;
14
+ gap: string;
15
+ radius: string;
16
+ iconSize: string;
17
+ typography: string;
17
18
  }>;
@@ -9,6 +9,9 @@ export declare const TIMEPICKER_SIZE_CONFIG: Record<STimePickerSize, {
9
9
  gap: string;
10
10
  icon: string;
11
11
  radius: string;
12
+ /** 입력값 타이포 클래스 (`timepicker.<size>.typography`). 렌더는 이 클래스로 한다 */
13
+ typography: string;
14
+ /** 공개 export 라 남겨 둔 같은 값 — 렌더에는 쓰지 않는다 */
12
15
  fontSize: number;
13
16
  lineHeight: number;
14
17
  minWidth: number;
@@ -99,6 +99,7 @@ export interface STreeItemRenderState {
99
99
 
100
100
  - [SCheckbox](../SCheckbox)
101
101
  - [SGhostButton](../SGhostButton)
102
+ - [SIcon](../SIcon)
102
103
 
103
104
  ### Graph
104
105
 
@@ -106,5 +107,6 @@ export interface STreeItemRenderState {
106
107
  graph TD;
107
108
  STree --> SCheckbox
108
109
  STree --> SGhostButton
110
+ STree --> SIcon
109
111
  style STree fill:#f9f,stroke:#333,stroke-width:4px
110
112
  ```
@@ -20,6 +20,13 @@ export declare const treeTableColumns: STableColumn<TreeTableExampleRow>[];
20
20
  export declare const treeTableWideColumns: STableColumn<TreeTableExampleRow>[];
21
21
  /** 하위 행을 가진 모든 행의 키 — "모두 펼치기" 예시에 쓴다 */
22
22
  export declare const treeTableParentKeys: string[];
23
+ /** 많은 행 예시에서 카테고리 하나가 차지하는 행 수 — 자기 + 상품 10 + 옵션 50 */
24
+ export declare const TREE_TABLE_ROWS_PER_CATEGORY = 61;
25
+ /** 많은 행 예시 — 카테고리 `categoryCount`개 × 상품 10개 × 옵션 5개 */
26
+ export declare const createManyTreeTableRows: (categoryCount: number) => TreeTableExampleRow[];
27
+ /** 가상 스크롤 예시 — 6,100행 */
28
+ export declare const treeTableManyRows: TreeTableExampleRow[];
29
+ export declare const treeTableManyParentKeys: string[];
23
30
  /** 깊은 트리 예시 — 창고 > 구역 > 랙 > 단 > 칸, 5단계 로케이션 */
24
31
  export interface TreeTableLocationRow {
25
32
  id: string;