sellmate-design-system-react 9.0.0-beta.17 → 9.0.0-beta.19

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 (32) hide show
  1. package/AGENTS.md +70 -0
  2. package/README.md +5 -0
  3. package/dist/components/SChipFilter/README.md +14 -5
  4. package/dist/components/SChipFilter/SChipFilter.d.ts +10 -3
  5. package/dist/components/SChipFilter/index.d.ts +1 -1
  6. package/dist/components/SDatePicker/README.md +5 -1
  7. package/dist/components/SDatePicker/SDatePicker.d.ts +20 -3
  8. package/dist/components/SDateRangePicker/README.md +2 -1
  9. package/dist/components/SDateRangePicker/SDateRangePicker.d.ts +9 -2
  10. package/dist/components/SDivider/README.md +2 -0
  11. package/dist/components/SDraggableItem/README.md +1 -0
  12. package/dist/components/SDraggableItem/SDraggableItem.d.ts +2 -0
  13. package/dist/components/SDraggableList/README.md +5 -0
  14. package/dist/components/SDraggableList/SDraggableList.d.ts +10 -0
  15. package/dist/components/SDraggableList/index.d.ts +1 -1
  16. package/dist/components/SGhostButton/README.md +2 -0
  17. package/dist/components/SIcon/SIcon.d.ts +1 -1
  18. package/dist/components/SIcon/icons.gen.d.ts +2 -0
  19. package/dist/components/STable/README.md +7 -1
  20. package/dist/components/STable/STable.d.ts +39 -5
  21. package/dist/components/STextLink/README.md +3 -0
  22. package/dist/components/STextLink/STextLink.d.ts +2 -0
  23. package/dist/index.cjs +463 -89
  24. package/dist/index.cjs.map +1 -1
  25. package/dist/index.js +463 -89
  26. package/dist/index.js.map +1 -1
  27. package/dist/llms-full.txt +105 -7
  28. package/dist/llms.txt +70 -0
  29. package/dist/styles.css +16 -0
  30. package/eslint/lib/table-column.mjs +12 -3
  31. package/eslint/rules/table-column-width.mjs +3 -2
  32. package/package.json +1 -1
@@ -1,6 +1,4 @@
1
1
  import { type CSSProperties, type ReactNode } from 'react';
2
- import { type SColor } from '../../lib/color';
3
- import { type SIconName } from '../SIcon';
4
2
  import { type SSelectOption } from '../SSelect';
5
3
  export type SRow = Record<string, any>;
6
4
  /** `STableColumn.renderCell`에 전달되는 컨텍스트 */
@@ -53,9 +51,6 @@ interface STableColumnBase {
53
51
  /** 표시 포맷 */
54
52
  format?: (value: any, row: SRow) => string;
55
53
  visible?: boolean;
56
- icon?: SIconName;
57
- /** 헤더 아이콘 색상. 팔레트 키(`grey_65`, `red_95` …) 또는 임의 CSS 색상 */
58
- iconColor?: SColor;
59
54
  /**
60
55
  * 헤더 라벨 뒤 도움말 툴팁 (각 항목이 한 줄). `SKeyValueTable` 의 `field.helpText` 와 같은 역할 —
61
56
  * 라벨만으로 뜻이 통하지 않는 컬럼의 산출 기준·단위를 설명한다.
@@ -63,6 +58,30 @@ interface STableColumnBase {
63
58
  * `renderHeader` 로 헤더를 통째로 교체하면 그리지 않는다 (헤더 전체가 소비 앱 책임).
64
59
  */
65
60
  helpText?: string[];
61
+ /**
62
+ * 라벨 뒤 필수 표시(`*`). `SKeyValueTable` 의 `field.required` 와 같은 규칙 —
63
+ * 그 열의 값을 반드시 채워야 하는 입력 열에만 쓴다.
64
+ *
65
+ * `renderHeader` 로 헤더를 통째로 교체하면 그리지 않는다 (헤더 전체가 소비 앱 책임).
66
+ */
67
+ required?: boolean;
68
+ /**
69
+ * 셀 값을 직접 고칠 수 있는 열. 라벨 뒤에 `pageEdit` 표식이 붙는다.
70
+ *
71
+ * **표식일 뿐 버튼이 아니다** — 실제로 고치는 UI 는 셀(`render`)이 그린다. 표식만 켜 두면
72
+ * 고칠 수 있다고 해 놓고 고칠 방법이 없는 열이 된다.
73
+ *
74
+ * `renderHeader` 로 헤더를 통째로 교체하면 그리지 않는다 (헤더 전체가 소비 앱 책임).
75
+ */
76
+ editable?: boolean;
77
+ /**
78
+ * 셀을 눌러 다른 화면으로 넘어가는 열. 라벨 뒤에 `pageMove` 표식이 붙는다.
79
+ *
80
+ * **표식일 뿐 버튼이 아니다** — 넘어가는 것은 셀(`render`)의 링크·클릭이 한다.
81
+ *
82
+ * `renderHeader` 로 헤더를 통째로 교체하면 그리지 않는다 (헤더 전체가 소비 앱 책임).
83
+ */
84
+ navigable?: boolean;
66
85
  /**
67
86
  * 정렬 가능한 열인지. 켜면 헤더 라벨 뒤에 정렬 버튼이 붙는다 — 누르는 곳은 그 버튼뿐이고
68
87
  * 헤더 셀 전체가 클릭 영역이 되지는 않는다.
@@ -199,7 +218,14 @@ export interface STableProps {
199
218
  */
200
219
  noDataSlot?: ReactNode;
201
220
  isLoading?: boolean;
221
+ /** 행 높이를 좁게 (세로 여백만 줄인다 — 좌우 패딩은 그대로) */
202
222
  dense?: boolean;
223
+ /**
224
+ * 밀도 변경 (`useDensityToggle` 로 띄운 토글을 눌렀을 때). 컴포넌트는 밀도 상태를 갖지 않는다 —
225
+ * `dense` 가 곧 현재 상태이고, 그 진실은 페이지에 있다. 사용자가 고른 밀도를 다음 방문까지
226
+ * 기억해 두는 것(로컬 저장 등)도 페이지 몫이다.
227
+ */
228
+ onDenseChange?: (dense: boolean) => void;
203
229
  /** true면 행에 마우스를 올려도 hover 배경(grey_05)을 표시하지 않는다 */
204
230
  noHover?: boolean;
205
231
  /** 페이지네이션 (있으면 하단 표시) */
@@ -209,6 +235,14 @@ export interface STableProps {
209
235
  useInternalPagination?: boolean;
210
236
  /** 페이지당 행 수 셀렉트 표시 */
211
237
  useRowsPerPageSelect?: boolean;
238
+ /**
239
+ * 페이지네이션 바에 밀도 토글(`좁게 보기` · `넓게 보기`) 표시.
240
+ *
241
+ * **페이지네이션이 있을 때만 나타난다** — 토글이 사는 곳이 그 바이기 때문이다.
242
+ * `onDenseChange` 와 함께 준다. 밀도는 컴포넌트가 갖지 않으므로, 핸들러 없이 켜면 눌러도
243
+ * 아무 일도 일어나지 않는다.
244
+ */
245
+ useDensityToggle?: boolean;
212
246
  rowsPerPageOption?: SSelectOption[];
213
247
  onRowsPerPageChange?: (perPage: number) => void;
214
248
  /** 가상 스크롤 */
@@ -11,6 +11,7 @@
11
11
  | `label?` | `string` | `''` | 레이블 |
12
12
  | `icon?` | `SIconName` | — | 좌측 아이콘 |
13
13
  | `iconColor?` | `SColor` | — | 좌측 아이콘 색상. 팔레트 키(`grey_65`, `red_95` …) 또는 임의 CSS 색상 |
14
+ | `iconRotate?` | `0 \| 90 \| 180 \| 270` | — | 좌측 아이콘 회전 각도. 같은 아이콘을 방향만 바꿔 쓸 때 (`SIcon` 의 `rotate` 로 그대로 간다) |
14
15
  | `labelClass?` | `string` | — | 레이블 span에 추가할 클래스 |
15
16
  | `rightArrow?` | `STextLinkArrow` | `'none'` | 우측 화살표 |
16
17
  | `underline?` | `boolean` | `false` | 밑줄 여부 |
@@ -45,6 +46,7 @@ export type STextLinkSize = 'sm' | 'md' | 'lg';
45
46
  - [SChipFilter](../SChipFilter)
46
47
  - [SChipInput](../SChipInput)
47
48
  - [SPopover](../SPopover)
49
+ - [STable](../STable)
48
50
 
49
51
  ### Depends on
50
52
 
@@ -60,5 +62,6 @@ graph TD;
60
62
  SChipFilter --> STextLink
61
63
  SChipInput --> STextLink
62
64
  SPopover --> STextLink
65
+ STable --> STextLink
63
66
  style STextLink fill:#f9f,stroke:#333,stroke-width:4px
64
67
  ```
@@ -10,6 +10,8 @@ export interface STextLinkProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'o
10
10
  icon?: SIconName;
11
11
  /** 좌측 아이콘 색상. 팔레트 키(`grey_65`, `red_95` …) 또는 임의 CSS 색상 */
12
12
  iconColor?: SColor;
13
+ /** 좌측 아이콘 회전 각도. 같은 아이콘을 방향만 바꿔 쓸 때 (`SIcon` 의 `rotate` 로 그대로 간다) */
14
+ iconRotate?: 0 | 90 | 180 | 270;
13
15
  /** 레이블 span에 추가할 클래스 */
14
16
  labelClass?: string;
15
17
  /** 우측 화살표 */