sellmate-design-system-react 9.0.0-beta.47 → 9.0.0-beta.49

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 (36) hide show
  1. package/AGENTS.md +21 -5
  2. package/dist/components/SBarChart/README.md +104 -0
  3. package/dist/components/SBarChart/SBarChart.d.ts +75 -0
  4. package/dist/components/SBarChart/barChart.config.d.ts +65 -0
  5. package/dist/components/SBarChart/index.d.ts +2 -0
  6. package/dist/components/SChatAttachedFile/README.md +3 -4
  7. package/dist/components/SChatAttachedFile/SChatAttachedFile.d.ts +3 -44
  8. package/dist/components/SChatAttachedFile/chatAttachedFile.config.d.ts +19 -39
  9. package/dist/components/SChatAttachedFile/index.d.ts +1 -1
  10. package/dist/components/SChatFile/README.md +33 -0
  11. package/dist/components/SChatFile/SChatFile.d.ts +37 -0
  12. package/dist/components/SChatFile/chatFile.config.d.ts +56 -0
  13. package/dist/components/SChatFile/index.d.ts +2 -0
  14. package/dist/components/SChatMessage/README.md +9 -5
  15. package/dist/components/SChatMessage/SChatMessage.d.ts +22 -7
  16. package/dist/components/SGhostButton/README.md +2 -0
  17. package/dist/components/SIcon/README.md +2 -0
  18. package/dist/index.cjs +944 -132
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.d.ts +2 -0
  21. package/dist/index.js +939 -132
  22. package/dist/index.js.map +1 -1
  23. package/dist/lib/chart/cartesian.d.ts +46 -0
  24. package/dist/lib/chart/frame.d.ts +17 -0
  25. package/dist/lib/chart/legend.d.ts +15 -0
  26. package/dist/lib/chart/palette.d.ts +26 -0
  27. package/dist/lib/chart/scale.d.ts +26 -0
  28. package/dist/lib/chart/tooltip.d.ts +23 -0
  29. package/dist/lib/chart/types.d.ts +29 -0
  30. package/dist/lib/chart/use-element-size.d.ts +17 -0
  31. package/dist/llms-full.txt +171 -16
  32. package/dist/llms.txt +25 -10
  33. package/dist/styles.css +347 -40
  34. package/dist/theme.css +118 -7
  35. package/eslint/scale.gen.mjs +2 -2
  36. package/package.json +1 -1
@@ -15,9 +15,10 @@
15
15
  | `avatarSrc?` | `string` | — | 아바타 이미지 경로. 없으면 사람 아이콘 자리표시가 선다. **받은 메시지에만 쓰인다** — 보낸 메시지에는 아바타가 서지 않는다(`direction` 참고). |
16
16
  | `avatarAlt?` | `string` | — | 아바타 대체 텍스트 |
17
17
  | `continued?` | `boolean` | `false` | 같은 사람이 이어서 말한 묶음인지. 켜면 **아바타와 `sender` 를 그리지 않는다** — 말풍선이 위 묶음과 같은 선에서 시작해 한 사람의 말로 이어 읽힌다. 받은 메시지에서는 아바타 자리를 비워 둔 채 남긴다 — 안 남기면 말풍선이 44px 왼쪽으로 밀려 위 묶음과 어긋난다. 보낸 메시지는 아바타가 없으므로 이름만 숨긴다. `time`·`readStatus` 는 그대로 나온다. 시간이 벌어져 묶음을 나눴어도 얼굴은 한 번만 보이면 되고 시각은 묶음마다 필요하기 때문이다. **얼마나 벌어져야 묶음을 나눌지는 앱이 정한다** — 30분이든 하루든 대화의 성격에 달렸으므로 컴포넌트는 기준을 갖지 않고 스위치만 연다. |
18
- | `variant?` | `SChatMessageVariant` | `'default'` | 말풍선 종류. `template` 이면 말풍선이 옅은 파랑 면으로 서서 미리 등록된 서식으로 보내진 메시지임을 드러낸다. **보낸 메시지(`direction="outgoing"`)에만 쓰인다** — 받은 메시지에는 넘겨도 그리지 않는다. 템플릿은 사업자가 보내는 것이라 받은 쪽에는 뜻이 없다. 앱이 메시지를 한 번만 매핑해 방향과 무관하게 넘길 수 있도록 막지 않고 무시한다. |
18
+ | `variant?` | `SChatMessageVariant` | `'default'` | 말풍선 종류. `template` 은 미리 등록된 서식으로, `admin` 은 관리자·시스템이 보낸 메시지임을 각각 다른 면으로 드러낸다. 면 색은 토큰이 정하므로 여기서 색을 정하지 않는다. **보낸 메시지(`direction="outgoing"`)에만 쓰인다** — 받은 메시지에는 넘겨도 그리지 않는다. 셋 다 사업자 쪽이 보내는 것이라 받은 쪽에는 뜻이 없다. 앱이 메시지를 한 번만 매핑해 방향과 무관하게 넘길 수 있도록 막지 않고 무시한다. |
19
19
  | `actions?` | `ReactNode` | — | 시각 아래에 붙는 동작 슬롯. 없으면 그 줄이 통째로 빠진다. 「상담원 연결」처럼 **이 메시지에 이어서 할 수 있는 동작**이 오는 자리다. 무엇을 놓을지는 앱이 정하고, 메시지는 줄로 세우고 방향에 맞춰 정렬하는 것까지만 한다. 시각과 같은 선에서 시작한다 — 말풍선 끝에서 한 칸 안이다. |
20
20
  | `messages?` | `ReactNode[]` | — | 말풍선 목록. **한 항목이 말풍선 하나**가 되어 위에서 아래로 쌓인다. 한 사람이 연달아 말하면 아바타·이름·시각은 한 번만 서고 말풍선만 늘어난다 — 그 묶음이 이 컴포넌트 한 개다. 말풍선 안에는 글뿐 아니라 버튼 같은 요소도 올 수 있다. |
21
+ | `attachments?` | `ReactNode[]` | — | 말풍선 아래에 붙는 파일 목록. **한 항목이 칸 하나**가 되어 위에서 아래로 쌓인다. `SChatFile` 을 넣는 자리다 — 말풍선과 달리 면으로 감싸지 않고 넘긴 것을 그대로 세운다. 파일 칸은 제 면·선·라운드를 이미 갖고 있어 한 번 더 감싸면 칸이 두 겹으로 보인다. **`messages` 대신 여기로 넘긴다.** `messages` 로 넘기면 말풍선 면에 감싸여 그렇게 된다. 아바타·이름·시각·읽음 표시는 글 메시지와 똑같이 이 컴포넌트가 그린다 — 파일을 보낸 것도 대화의 한 줄이므로 행 규칙을 따로 갖지 않는다. |
21
22
 
22
23
  ## Types
23
24
 
@@ -57,12 +58,15 @@ export const CHAT_MESSAGE_READ_STATUSES = ['read', 'unread'] as const;
57
58
 
58
59
  ```ts
59
60
  /**
60
- * 말풍선의 종류. `template` 은 미리 등록된 서식으로 보내진 메시지다.
61
+ * 말풍선의 종류.
62
+ * - `default` 사람이 직접 쓴 메시지
63
+ * - `template` 미리 등록된 서식으로 보내진 메시지
64
+ * - `admin` 관리자·시스템이 보낸 메시지
61
65
  *
62
- * **보낸 메시지에서만 면이 갈린다.** 템플릿은 사업자가 보내는 것이라 받은 메시지에는
63
- * 뜻이 없고, 받은 메시지는 템플릿이든 아니든 같은 면으로 선다.
66
+ * **보낸 메시지에서만 면이 갈린다.** 셋 다 사업자 쪽이 보내는 것이라 받은 메시지에는
67
+ * 뜻이 없고, 받은 메시지는 무엇으로 보냈든 같은 면으로 선다.
64
68
  */
65
- export const CHAT_MESSAGE_VARIANTS = ['default', 'template'] as const;
69
+ export const CHAT_MESSAGE_VARIANTS = ['default', 'template', 'admin'] as const;
66
70
  ```
67
71
 
68
72
  ## Dependencies
@@ -3,12 +3,15 @@ import { type HTMLAttributes, type ReactNode } from 'react';
3
3
  export declare const CHAT_MESSAGE_DIRECTIONS: readonly ["incoming", "outgoing"];
4
4
  export type SChatMessageDirection = (typeof CHAT_MESSAGE_DIRECTIONS)[number];
5
5
  /**
6
- * 말풍선의 종류. `template` 은 미리 등록된 서식으로 보내진 메시지다.
6
+ * 말풍선의 종류.
7
+ * - `default` 사람이 직접 쓴 메시지
8
+ * - `template` 미리 등록된 서식으로 보내진 메시지
9
+ * - `admin` 관리자·시스템이 보낸 메시지
7
10
  *
8
- * **보낸 메시지에서만 면이 갈린다.** 템플릿은 사업자가 보내는 것이라 받은 메시지에는
9
- * 뜻이 없고, 받은 메시지는 템플릿이든 아니든 같은 면으로 선다.
11
+ * **보낸 메시지에서만 면이 갈린다.** 셋 다 사업자 쪽이 보내는 것이라 받은 메시지에는
12
+ * 뜻이 없고, 받은 메시지는 무엇으로 보냈든 같은 면으로 선다.
10
13
  */
11
- export declare const CHAT_MESSAGE_VARIANTS: readonly ["default", "template"];
14
+ export declare const CHAT_MESSAGE_VARIANTS: readonly ["default", "template", "admin"];
12
15
  export type SChatMessageVariant = (typeof CHAT_MESSAGE_VARIANTS)[number];
13
16
  /** 상대가 내 메시지를 읽었는지. 시각 왼쪽에 붙는다. */
14
17
  export declare const CHAT_MESSAGE_READ_STATUSES: readonly ["read", "unread"];
@@ -62,11 +65,11 @@ export interface SChatMessageProps extends Omit<HTMLAttributes<HTMLDivElement>,
62
65
  */
63
66
  continued?: boolean;
64
67
  /**
65
- * 말풍선 종류. `template` 이면 말풍선이 옅은 파랑 면으로 서서 미리 등록된 서식으로 보내진
66
- * 메시지임을 드러낸다.
68
+ * 말풍선 종류. `template` 은 미리 등록된 서식으로, `admin` 은 관리자·시스템이 보낸
69
+ * 메시지임을 각각 다른 면으로 드러낸다. 면 색은 토큰이 정하므로 여기서 색을 정하지 않는다.
67
70
  *
68
71
  * **보낸 메시지(`direction="outgoing"`)에만 쓰인다** — 받은 메시지에는 넘겨도 그리지 않는다.
69
- * 템플릿은 사업자가 보내는 것이라 받은 쪽에는 뜻이 없다. 앱이 메시지를 한 번만 매핑해
72
+ * 셋 다 사업자 쪽이 보내는 것이라 받은 쪽에는 뜻이 없다. 앱이 메시지를 한 번만 매핑해
70
73
  * 방향과 무관하게 넘길 수 있도록 막지 않고 무시한다.
71
74
  */
72
75
  variant?: SChatMessageVariant;
@@ -86,6 +89,18 @@ export interface SChatMessageProps extends Omit<HTMLAttributes<HTMLDivElement>,
86
89
  * 그 묶음이 이 컴포넌트 한 개다. 말풍선 안에는 글뿐 아니라 버튼 같은 요소도 올 수 있다.
87
90
  */
88
91
  messages?: ReactNode[];
92
+ /**
93
+ * 말풍선 아래에 붙는 파일 목록. **한 항목이 칸 하나**가 되어 위에서 아래로 쌓인다.
94
+ *
95
+ * `SChatFile` 을 넣는 자리다 — 말풍선과 달리 면으로 감싸지 않고 넘긴 것을 그대로 세운다.
96
+ * 파일 칸은 제 면·선·라운드를 이미 갖고 있어 한 번 더 감싸면 칸이 두 겹으로 보인다.
97
+ *
98
+ * **`messages` 대신 여기로 넘긴다.** `messages` 로 넘기면 말풍선 면에 감싸여 그렇게 된다.
99
+ *
100
+ * 아바타·이름·시각·읽음 표시는 글 메시지와 똑같이 이 컴포넌트가 그린다 — 파일을 보낸 것도
101
+ * 대화의 한 줄이므로 행 규칙을 따로 갖지 않는다.
102
+ */
103
+ attachments?: ReactNode[];
89
104
  }
90
105
  /**
91
106
  * SChatMessage — 대화 화면에서 한 사람이 한 번에 말한 묶음.
@@ -48,6 +48,7 @@ export type SGhostButtonIntent = 'default' | 'danger' | 'action' | 'subAction' |
48
48
  - [SBarcodeInput](../SBarcodeInput)
49
49
  - [SCalendar](../SCalendar)
50
50
  - [SCalendarBoard](../SCalendarBoard)
51
+ - [SChatAttachedFile](../SChatAttachedFile)
51
52
  - [SChatInput](../SChatInput)
52
53
  - [SChip](../SChip)
53
54
  - [SDatePicker](../SDatePicker)
@@ -82,6 +83,7 @@ graph TD;
82
83
  SBarcodeInput --> SGhostButton
83
84
  SCalendar --> SGhostButton
84
85
  SCalendarBoard --> SGhostButton
86
+ SChatAttachedFile --> SGhostButton
85
87
  SChatInput --> SGhostButton
86
88
  SChip --> SGhostButton
87
89
  SDatePicker --> SGhostButton
@@ -24,6 +24,7 @@
24
24
  - [SButton](../SButton)
25
25
  - [SCallout](../SCallout)
26
26
  - [SChatAttachedFile](../SChatAttachedFile)
27
+ - [SChatFile](../SChatFile)
27
28
  - [SChatMessage](../SChatMessage)
28
29
  - [SCheckbox](../SCheckbox)
29
30
  - [SChipFilter](../SChipFilter)
@@ -69,6 +70,7 @@ graph TD;
69
70
  SButton --> SIcon
70
71
  SCallout --> SIcon
71
72
  SChatAttachedFile --> SIcon
73
+ SChatFile --> SIcon
72
74
  SChatMessage --> SIcon
73
75
  SCheckbox --> SIcon
74
76
  SChipFilter --> SIcon