sellmate-design-system-react 9.0.0-beta.32 → 9.0.0-beta.34

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 +21 -6
  2. package/dist/components/SBadge/README.md +2 -0
  3. package/dist/components/SButton/README.md +2 -0
  4. package/dist/components/SCalendarBoard/CalendarDayCard.d.ts +38 -0
  5. package/dist/components/SCalendarBoard/CalendarDayEventListBox.d.ts +26 -0
  6. package/dist/components/SCalendarBoard/CalendarEventButton.d.ts +13 -0
  7. package/dist/components/SCalendarBoard/CalendarMoreButton.d.ts +12 -0
  8. package/dist/components/SCalendarBoard/README.md +137 -0
  9. package/dist/components/SCalendarBoard/SCalendarBoard.d.ts +68 -0
  10. package/dist/components/SCalendarBoard/calendarBoard.config.d.ts +33 -0
  11. package/dist/components/SCalendarBoard/index.d.ts +3 -0
  12. package/dist/components/SCalendarBoard/types.d.ts +31 -0
  13. package/dist/components/SDivider/README.md +2 -0
  14. package/dist/components/SGhostButton/README.md +2 -0
  15. package/dist/components/SGnb/SGnb.d.ts +6 -0
  16. package/dist/components/SGnb/gnb.config.d.ts +3 -3
  17. package/dist/components/SGnbSystem/README.md +43 -1
  18. package/dist/components/SGnbSystem/SGnbSystem.d.ts +48 -2
  19. package/dist/components/SPortal/README.md +2 -0
  20. package/dist/components/SScrollArea/README.md +13 -0
  21. package/dist/components/SSystemActionButton/systemActionButton.config.d.ts +8 -2
  22. package/dist/components/STooltip/README.md +2 -0
  23. package/dist/index.cjs +823 -129
  24. package/dist/index.cjs.map +1 -1
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.js +817 -129
  27. package/dist/index.js.map +1 -1
  28. package/dist/llms-full.txt +206 -7
  29. package/dist/llms.txt +23 -8
  30. package/dist/styles.css +290 -9
  31. package/dist/theme.css +74 -8
  32. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { type HTMLAttributes } from 'react';
1
+ import { type HTMLAttributes, type ReactNode } from 'react';
2
2
  import { type SAccountListBoxContent } from '../SAccountListBox';
3
3
  import { type SSystemActionButtonProps } from '../SSystemActionButton';
4
4
  import { type SGnbSystemColor } from './gnbSystem.config';
@@ -23,12 +23,50 @@ export interface SGnbSystemAlert {
23
23
  /** 라벨 텍스트. 기본 `'알림'` */
24
24
  label?: string;
25
25
  /**
26
- * 읽지 않은 알림 개수. 1 이상이면 벨이 울리는 아이콘·강조색으로 바뀌고 개수(접히면 점)가 붙는다.
26
+ * 읽지 않은 알림 개수. 1 이상이면 벨이 울리는 아이콘·강조색으로 바뀌고 개수가 붙는다.
27
+ * 개수를 적을 가로가 모자란 자리(접힌 레일 · 기본 폭보다 좁게 줄인 판)에서는 점 배지로 바뀐다.
27
28
  * 표기는 컴포넌트가 맡는다 — 세 자리마다 콤마를 넣어 그리므로 앱이 포맷한 문자열을 넘기지 않는다.
28
29
  */
29
30
  count?: number;
30
31
  /** 클릭 */
31
32
  onClick?: () => void;
33
+ /**
34
+ * 알림 버튼에 붙는 안내 툴팁의 문구(한 줄이 한 항목). 주면 뜬다 — **문구만 앱이 정하고**
35
+ * 색·방향·여닫힘은 컴포넌트가 쥔다: 색은 판이 light 면 기본, 그 밖(dark·상단바)이면 강조색이고
36
+ * 방향은 자리가 정한다(판·접힌 레일이면 오른쪽, 상단바면 아래).
37
+ *
38
+ * 스스로 사라지지 않는다 — **알림 버튼을 누르거나, 버튼에 얹었다 커서를 뺄 때** 닫히고,
39
+ * 같은 값을 계속 넘기는 동안에는 다시 뜨지 않는다.
40
+ *
41
+ * **다시 띄우려면 비웠다가 다시 넘긴다**(`undefined` → 문구). 문구가 같아도 상관없다 —
42
+ * 컴포넌트는 닫았다는 사실만 기억하고 문구 내용은 기억하지 않으므로, 새 알림마다 같은 안내를
43
+ * 다시 띄우는 화면도 막히지 않는다.
44
+ */
45
+ tooltip?: string[];
46
+ /**
47
+ * 알림을 누르면 뜨는 목록의 **내용**. 주면 컴포넌트가 알림 버튼에 붙여 띄운다 —
48
+ * 목록에 무엇을 쌓을지는 서비스마다 다르지만 **뜨는 자리는 늘 같아야 하므로**, 방향·앵커·
49
+ * 여닫힘(바깥 클릭·ESC 포함)과 배경·라운드·그림자는 컴포넌트가 쥐고 앱은 안에 담을 것만 준다.
50
+ * 방향은 자리가 정한다 — 판·접힌 레일이면 버튼 오른쪽, 상단바면 아래.
51
+ */
52
+ listBox?: ReactNode;
53
+ /**
54
+ * 알림 목록이 열리고 닫힐 때. 여닫는 것은 알림 버튼이 스스로 하므로 **그 사실을 알아야 할
55
+ * 때만** 준다(연 김에 읽음 처리하거나, 열려 있는 동안 다른 층을 접어 두는 화면).
56
+ *
57
+ * 앱이 누르지 않은 닫힘도 온다: GNB 를 접거나 펴면 알림 버튼이 다른 자리로 옮겨 서므로
58
+ * 목록이 닫히고 `false` 가 온다(계정 행과 같다).
59
+ */
60
+ onOpenChange?: (open: boolean) => void;
61
+ /**
62
+ * 안내 툴팁이 닫힐 때. 받아서 `tooltip` 을 비워 두는 것이 기본 사용법이다 — 그러면 앱이
63
+ * 다음에 넘기는 문구가 곧 다음 안내가 된다.
64
+ *
65
+ * 컴포넌트가 아는 "다시 뜨지 않는다" 는 **이 자리가 서 있는 동안**뿐이라(새로고침하거나
66
+ * GNB 를 접어 알림이 다른 자리로 옮겨 서면 새로 마운트된다), 그 사용자에게 두 번 다시 보이지
67
+ * 않아야 하면 앱이 이 신호를 저장해 두고 `tooltip` 을 그만 넘긴다.
68
+ */
69
+ onTooltipDismiss?: () => void;
32
70
  }
33
71
  /** 설정 버튼 */
34
72
  export interface SGnbSystemSetting {
@@ -121,6 +159,14 @@ export interface SGnbSystemProps extends Omit<HTMLAttributes<HTMLDivElement>, 'c
121
159
  * `alert.count` 가 1 이상이면 벨이 울리는 아이콘(`bellRinging`)과 강조색으로 바뀐다 — light 는 파랑,
122
160
  * 어두운 면은 노랑(토큰이 정한다). 0 이거나 없으면 조용한 벨(`bell`)에 기본 색이다.
123
161
  *
162
+ * 안내 툴팁(`alert.tooltip`)은 문구를 받은 동안 떠 있다가 알림을 누르거나 커서를 빼면 닫힌다.
163
+ * 다시 띄우는 신호는 문구가 **없음 → 있음** 으로 바뀌는 것이라, 같은 문구도 비웠다 다시 넘기면
164
+ * 새 안내로 뜬다.
165
+ *
166
+ * 판이 **메뉴 기본 폭보다 좁으면**(GNB 의 `resizable` 로 줄인 컬럼) 알림 개수를 적을 가로가
167
+ * 모자라 접힘과 같은 점 배지로 바뀐다 — 숫자가 설정 버튼을 밀어내거나 잘리는 대신, 알림이
168
+ * 있다는 사실만 남긴다. 좁은지는 담은 SGnb 가 내려주므로 앱이 고르는 prop 이 없다.
169
+ *
124
170
  * 색은 놓인 면을 따른다: 판 위는 `light`/`dark`(오션블루 판), 판 없이 상단바 면에 바로 얹는 `top` 의
125
171
  * dark 는 한 단계 어두운 `darker`(네이비) 색표다 — GNB_SYSTEM_TOP_COLOR_CONFIG 가 그 대응을 쥔다.
126
172
  *
@@ -54,6 +54,7 @@ export type SPortalAlign = 'start' | 'center' | 'end';
54
54
 
55
55
  - [SAccountListBox](../SAccountListBox)
56
56
  - [SChipInput](../SChipInput)
57
+ - [SGnbSystem](../SGnbSystem)
57
58
  - [SSelect](../SSelect)
58
59
 
59
60
  ### Graph
@@ -62,6 +63,7 @@ export type SPortalAlign = 'start' | 'center' | 'end';
62
63
  graph TD;
63
64
  SAccountListBox --> SPortal
64
65
  SChipInput --> SPortal
66
+ SGnbSystem --> SPortal
65
67
  SSelect --> SPortal
66
68
  style SPortal fill:#f9f,stroke:#333,stroke-width:4px
67
69
  ```
@@ -28,3 +28,16 @@ export type SScrollAreaAxis = (typeof SCROLL_AREA_AXES)[number];
28
28
  export const SCROLL_AREA_AXES = ['vertical', 'horizontal', 'both'] as const;
29
29
  ```
30
30
 
31
+ ## Dependencies
32
+
33
+ ### Used by
34
+
35
+ - [SCalendarBoard](../SCalendarBoard)
36
+
37
+ ### Graph
38
+
39
+ ```mermaid
40
+ graph TD;
41
+ SCalendarBoard --> SScrollArea
42
+ style SScrollArea fill:#f9f,stroke:#333,stroke-width:4px
43
+ ```
@@ -34,7 +34,7 @@ export interface SystemActionButtonColorTokens {
34
34
  bgHover: string;
35
35
  /** 아이콘 프레임 배경 (기본) */
36
36
  iconBg: string;
37
- /** 아이콘 프레임 배경 (hover·selected) */
37
+ /** 아이콘 프레임 배경 (hover·selected). 지금은 어느 색에서도 기본과 같다 — 아래 주석 참고 */
38
38
  iconBgHover: string;
39
39
  /** 아이콘 글리프색 (기본) */
40
40
  iconGlyph: string;
@@ -64,7 +64,7 @@ export interface SystemActionButtonTypeSpec {
64
64
  }
65
65
  /** 타입이 정하는 고정 구성 — 무엇이 그려지는가 */
66
66
  export declare const SYSTEM_ACTION_BUTTON_TYPE_CONFIG: Record<SSystemActionButtonType, SystemActionButtonTypeSpec>;
67
- /** 치수 — 전부 토큰 참조 */
67
+ /** 치수 — 대응 토큰이 있으면 전부 토큰 참조 */
68
68
  export declare const SYSTEM_ACTION_BUTTON_LAYOUT: {
69
69
  /** 행 높이 */
70
70
  readonly height: string;
@@ -84,4 +84,10 @@ export declare const SYSTEM_ACTION_BUTTON_LAYOUT: {
84
84
  readonly paddingRight: string;
85
85
  /** 액션 텍스트 ↔ 액션 아이콘 간격 */
86
86
  readonly actionGap: string;
87
+ /**
88
+ * 액션 아이콘 글리프 한 변. 프레임 한 변은 타입별 토큰(`actionButton.*-icon`)이 정하고
89
+ * 그 안에 글리프가 이 크기로 놓인다 — 선행 아이콘의 프레임(24)/글리프(20) 과 같은 구조다.
90
+ * 대응 토큰이 없어 디자인 값을 그대로 쓴다.
91
+ */
92
+ readonly actionIconGlyph: "12px";
87
93
  };
@@ -66,6 +66,7 @@ export type STooltipType = 'default' | 'danger' | 'warning' | 'accent';
66
66
 
67
67
  - [SChipFilter](../SChipFilter)
68
68
  - [SField](../SField)
69
+ - [SGnbSystem](../SGnbSystem)
69
70
  - [SKeyValueTable](../SKeyValueTable)
70
71
  - [SSectionHeaderCard](../SSectionHeaderCard)
71
72
  - [SStepper](../SStepper)
@@ -84,6 +85,7 @@ graph TD;
84
85
  STooltip --> SIcon
85
86
  SChipFilter --> STooltip
86
87
  SField --> STooltip
88
+ SGnbSystem --> STooltip
87
89
  SKeyValueTable --> STooltip
88
90
  SSectionHeaderCard --> STooltip
89
91
  SStepper --> STooltip