@ncds/ui-admin-mcp 1.0.0-alpha.11 → 1.0.0-alpha.13
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.
- package/bin/components.bundle.js +1 -1
- package/bin/definitions/instructions.md +16 -0
- package/bin/server.mjs +0 -0
- package/bin/tools/getComponentProps.js +1 -0
- package/bin/tools/renderToHtml.js +259 -72
- package/bin/types.d.ts +7 -0
- package/bin/utils/bemValidator.d.ts +1 -1
- package/bin/utils/compliance.js +3 -1
- package/bin/utils/dataLoader.d.ts +0 -1
- package/bin/utils/dataLoader.js +8 -16
- package/bin/utils/domEnvironment.js +1 -0
- package/bin/utils/fuzzyMatch.d.ts +4 -0
- package/bin/utils/fuzzyMatch.js +12 -3
- package/bin/utils/logger.d.ts +5 -5
- package/bin/utils/logger.js +5 -5
- package/data/_meta.json +4 -5
- package/data/badge-group.json +9 -6
- package/data/badge.json +32 -16
- package/data/bread-crumb.json +1 -1
- package/data/button-group.json +49 -0
- package/data/button.json +11 -4
- package/data/carousel-arrow.json +5 -10
- package/data/carousel-number-group.json +1 -11
- package/data/combo-box.json +5 -4
- package/data/data-grid.json +212 -0
- package/data/date-picker.json +7 -1
- package/data/dot.json +1 -1
- package/data/dropdown.json +8 -6
- package/data/empty-state.json +7 -5
- package/data/featured-icon.json +3 -2
- package/data/file-input.json +8 -2
- package/data/horizontal-tab.json +8 -7
- package/data/image-file-input.json +8 -2
- package/data/input-base.json +9 -2
- package/data/modal.json +128 -0
- package/data/notification.json +3 -2
- package/data/number-input.json +8 -2
- package/data/password-input.json +8 -2
- package/data/progress-bar.json +1 -1
- package/data/range-date-picker-with-buttons.json +12 -4
- package/data/range-date-picker.json +12 -4
- package/data/select-box.json +5 -4
- package/data/select.json +5 -4
- package/data/spinner.json +1 -1
- package/data/switch.json +16 -3
- package/data/table.json +247 -0
- package/data/tag.json +3 -2
- package/data/toggle.json +1 -1
- package/data/tooltip.json +6 -2
- package/data/vertical-tab.json +8 -6
- package/package.json +9 -4
package/bin/utils/logger.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* stderr 전용 logger 유틸리티 — 부수효과 함수 (stderr I/O)
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* console.log / console.warn / console.error 직접 사용 금지.
|
|
5
5
|
*
|
|
6
|
-
* MCP stdio 프로토콜은 채널 역할이 엄격히
|
|
6
|
+
* MCP stdio 프로토콜은 채널 역할이 엄격히 분리된다.
|
|
7
7
|
* stdin → 클라이언트 → 서버 요청(JSON-RPC)
|
|
8
|
-
* stdout → 서버 → 클라이언트 응답(JSON-RPC)
|
|
8
|
+
* stdout → 서버 → 클라이언트 응답(JSON-RPC). 프로토콜 전용 채널
|
|
9
9
|
* stderr → 로그 전용 (프로토콜 밖)
|
|
10
10
|
*
|
|
11
|
-
* console.log는 stdout
|
|
12
|
-
* 모든 로깅은
|
|
11
|
+
* console.log는 stdout을 오염시켜 JSON-RPC 스트림을 깨뜨린다.
|
|
12
|
+
* 모든 로깅은 이 logger를 통해 stderr로 출력한다.
|
|
13
13
|
*/
|
|
14
14
|
export declare const logger: {
|
|
15
15
|
info: (msg: string) => void;
|
package/bin/utils/logger.js
CHANGED
|
@@ -4,15 +4,15 @@ exports.logger = void 0;
|
|
|
4
4
|
/**
|
|
5
5
|
* stderr 전용 logger 유틸리티 — 부수효과 함수 (stderr I/O)
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* console.log / console.warn / console.error 직접 사용 금지.
|
|
8
8
|
*
|
|
9
|
-
* MCP stdio 프로토콜은 채널 역할이 엄격히
|
|
9
|
+
* MCP stdio 프로토콜은 채널 역할이 엄격히 분리된다.
|
|
10
10
|
* stdin → 클라이언트 → 서버 요청(JSON-RPC)
|
|
11
|
-
* stdout → 서버 → 클라이언트 응답(JSON-RPC)
|
|
11
|
+
* stdout → 서버 → 클라이언트 응답(JSON-RPC). 프로토콜 전용 채널
|
|
12
12
|
* stderr → 로그 전용 (프로토콜 밖)
|
|
13
13
|
*
|
|
14
|
-
* console.log는 stdout
|
|
15
|
-
* 모든 로깅은
|
|
14
|
+
* console.log는 stdout을 오염시켜 JSON-RPC 스트림을 깨뜨린다.
|
|
15
|
+
* 모든 로깅은 이 logger를 통해 stderr로 출력한다.
|
|
16
16
|
*/
|
|
17
17
|
exports.logger = {
|
|
18
18
|
info: (msg) => {
|
package/data/_meta.json
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"cdn": {
|
|
3
|
-
"version": "1.
|
|
4
|
-
"css": "https://fe-sdk.cdn-nhncommerce.com/@ncds/ui-admin/1.
|
|
5
|
-
"js": "https://fe-sdk.cdn-nhncommerce.com/@ncds/ui-admin/1.
|
|
3
|
+
"version": "1.8",
|
|
4
|
+
"css": "https://fe-sdk.cdn-nhncommerce.com/@ncds/ui-admin/1.8/main.min.css",
|
|
5
|
+
"js": "https://fe-sdk.cdn-nhncommerce.com/@ncds/ui-admin/1.8/main.min.js"
|
|
6
6
|
},
|
|
7
7
|
"icon": {
|
|
8
8
|
"packageName": "@ncds/ui-admin-icon",
|
|
9
|
-
"version": "0.1"
|
|
10
|
-
"cdn": "https://fe-sdk.cdn-nhncommerce.com/@ncds/ui-admin-icon/0.1/main.min.js"
|
|
9
|
+
"version": "0.1"
|
|
11
10
|
}
|
|
12
11
|
}
|
package/data/badge-group.json
CHANGED
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"groupIcon": {
|
|
60
60
|
"type": "object",
|
|
61
61
|
"required": false,
|
|
62
|
-
"rawType": "import(\"/Users/
|
|
62
|
+
"rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
|
|
63
63
|
"properties": {
|
|
64
64
|
"type": {
|
|
65
65
|
"type": "string",
|
|
@@ -68,7 +68,8 @@
|
|
|
68
68
|
},
|
|
69
69
|
"icon": {
|
|
70
70
|
"type": "function",
|
|
71
|
-
"required": false
|
|
71
|
+
"required": false,
|
|
72
|
+
"semantic": "icon-component"
|
|
72
73
|
},
|
|
73
74
|
"color": {
|
|
74
75
|
"type": "enum",
|
|
@@ -133,7 +134,7 @@
|
|
|
133
134
|
"leadingIcon": {
|
|
134
135
|
"type": "object",
|
|
135
136
|
"required": false,
|
|
136
|
-
"rawType": "import(\"/Users/
|
|
137
|
+
"rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
|
|
137
138
|
"properties": {
|
|
138
139
|
"type": {
|
|
139
140
|
"type": "string",
|
|
@@ -142,7 +143,8 @@
|
|
|
142
143
|
},
|
|
143
144
|
"icon": {
|
|
144
145
|
"type": "function",
|
|
145
|
-
"required": false
|
|
146
|
+
"required": false,
|
|
147
|
+
"semantic": "icon-component"
|
|
146
148
|
},
|
|
147
149
|
"color": {
|
|
148
150
|
"type": "enum",
|
|
@@ -209,7 +211,7 @@
|
|
|
209
211
|
"trailingIcon": {
|
|
210
212
|
"type": "object",
|
|
211
213
|
"required": false,
|
|
212
|
-
"rawType": "import(\"/Users/
|
|
214
|
+
"rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
|
|
213
215
|
"properties": {
|
|
214
216
|
"type": {
|
|
215
217
|
"type": "string",
|
|
@@ -218,7 +220,8 @@
|
|
|
218
220
|
},
|
|
219
221
|
"icon": {
|
|
220
222
|
"type": "function",
|
|
221
|
-
"required": false
|
|
223
|
+
"required": false,
|
|
224
|
+
"semantic": "icon-component"
|
|
222
225
|
},
|
|
223
226
|
"color": {
|
|
224
227
|
"type": "enum",
|
package/data/badge.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"exportName": "Badge",
|
|
4
4
|
"importPath": "@ncds/ui-admin",
|
|
5
5
|
"jsRequired": false,
|
|
6
|
-
"category": "
|
|
6
|
+
"category": "data-display",
|
|
7
7
|
"description": "Badge는 상태나 중요성 및 이벤트 강조를 나타내는 레이블이며 빠른 인식을 제공해야 합니다.",
|
|
8
8
|
"aliases": [
|
|
9
9
|
"Badge",
|
|
@@ -19,27 +19,41 @@
|
|
|
19
19
|
"dot",
|
|
20
20
|
"강조",
|
|
21
21
|
"읽기전용",
|
|
22
|
+
"Icon_new",
|
|
23
|
+
"icon-new",
|
|
24
|
+
"new-badge",
|
|
25
|
+
"new-mark",
|
|
26
|
+
"newMark",
|
|
27
|
+
"NEW 뱃지",
|
|
28
|
+
"NEW 배지",
|
|
29
|
+
"N 뱃지",
|
|
30
|
+
"N 배지",
|
|
31
|
+
"N 표시",
|
|
32
|
+
"New표시",
|
|
33
|
+
"신규표시",
|
|
34
|
+
"신규 뱃지",
|
|
35
|
+
"신규 마크",
|
|
36
|
+
"신규 아이콘",
|
|
37
|
+
"new 아이콘",
|
|
22
38
|
"NCDS"
|
|
23
39
|
],
|
|
24
40
|
"hasChildren": false,
|
|
25
|
-
"whenToUse": [
|
|
26
|
-
"읽기 전용 상태 표시 레이블",
|
|
27
|
-
"정보의 상태/중요도/이벤트를 시각적으로 빠르게 전달"
|
|
28
|
-
],
|
|
41
|
+
"whenToUse": [],
|
|
29
42
|
"forbiddenRules": [
|
|
30
43
|
"클릭 액션 부여 금지",
|
|
31
44
|
"과도한 컬러 남용 금지",
|
|
32
45
|
"의미 없는 Badge 사용 금지",
|
|
33
|
-
"텍스트 과다 금지
|
|
46
|
+
"텍스트 과다 금지",
|
|
34
47
|
"이미지 삽입 금지",
|
|
35
|
-
"임의 아이콘 금지
|
|
36
|
-
"컬러 의미 혼용 금지"
|
|
48
|
+
"임의 아이콘 금지",
|
|
49
|
+
"컬러 의미 혼용 금지",
|
|
50
|
+
"상태 표시에 Tag 사용 금지",
|
|
51
|
+
"테이블 내 xs 외 사이즈 사용 금지"
|
|
37
52
|
],
|
|
38
53
|
"seeAlso": [
|
|
54
|
+
"icon",
|
|
39
55
|
"horizontal-tab",
|
|
40
|
-
"vertical-tab"
|
|
41
|
-
"badge-group",
|
|
42
|
-
"tag"
|
|
56
|
+
"vertical-tab"
|
|
43
57
|
],
|
|
44
58
|
"props": {
|
|
45
59
|
"className": {
|
|
@@ -67,7 +81,7 @@
|
|
|
67
81
|
"leadingIcon": {
|
|
68
82
|
"type": "object",
|
|
69
83
|
"required": false,
|
|
70
|
-
"rawType": "import(\"/Users/
|
|
84
|
+
"rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
|
|
71
85
|
"properties": {
|
|
72
86
|
"type": {
|
|
73
87
|
"type": "string",
|
|
@@ -76,7 +90,8 @@
|
|
|
76
90
|
},
|
|
77
91
|
"icon": {
|
|
78
92
|
"type": "function",
|
|
79
|
-
"required": false
|
|
93
|
+
"required": false,
|
|
94
|
+
"semantic": "icon-component"
|
|
80
95
|
},
|
|
81
96
|
"color": {
|
|
82
97
|
"type": "enum",
|
|
@@ -134,12 +149,12 @@
|
|
|
134
149
|
"sm",
|
|
135
150
|
"xs"
|
|
136
151
|
],
|
|
137
|
-
"default": "
|
|
152
|
+
"default": "xs"
|
|
138
153
|
},
|
|
139
154
|
"trailingIcon": {
|
|
140
155
|
"type": "object",
|
|
141
156
|
"required": false,
|
|
142
|
-
"rawType": "import(\"/Users/
|
|
157
|
+
"rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
|
|
143
158
|
"properties": {
|
|
144
159
|
"type": {
|
|
145
160
|
"type": "string",
|
|
@@ -148,7 +163,8 @@
|
|
|
148
163
|
},
|
|
149
164
|
"icon": {
|
|
150
165
|
"type": "function",
|
|
151
|
-
"required": false
|
|
166
|
+
"required": false,
|
|
167
|
+
"semantic": "icon-component"
|
|
152
168
|
},
|
|
153
169
|
"color": {
|
|
154
170
|
"type": "enum",
|
package/data/bread-crumb.json
CHANGED
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"items": {
|
|
58
58
|
"type": "object",
|
|
59
59
|
"required": true,
|
|
60
|
-
"rawType": "import(\"/Users/
|
|
60
|
+
"rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/bread-crumb/BreadCrumb\").BreadcrumbItemProps[]",
|
|
61
61
|
"properties": {
|
|
62
62
|
"href": {
|
|
63
63
|
"type": "string",
|
package/data/button-group.json
CHANGED
|
@@ -50,6 +50,11 @@
|
|
|
50
50
|
"required": false,
|
|
51
51
|
"default": false
|
|
52
52
|
},
|
|
53
|
+
"fullWidth": {
|
|
54
|
+
"type": "boolean",
|
|
55
|
+
"required": false,
|
|
56
|
+
"default": false
|
|
57
|
+
},
|
|
53
58
|
"hasBorder": {
|
|
54
59
|
"type": "boolean",
|
|
55
60
|
"required": false,
|
|
@@ -72,6 +77,50 @@
|
|
|
72
77
|
"default": "xs"
|
|
73
78
|
}
|
|
74
79
|
},
|
|
80
|
+
"subComponents": {
|
|
81
|
+
"ButtonGroup.Item": {
|
|
82
|
+
"props": {
|
|
83
|
+
"children": {
|
|
84
|
+
"type": "ReactNode",
|
|
85
|
+
"required": false
|
|
86
|
+
},
|
|
87
|
+
"disabled": {
|
|
88
|
+
"type": "boolean",
|
|
89
|
+
"required": false,
|
|
90
|
+
"default": false
|
|
91
|
+
},
|
|
92
|
+
"icon": {
|
|
93
|
+
"type": "string",
|
|
94
|
+
"required": false,
|
|
95
|
+
"rawType": "SideSlot | undefined"
|
|
96
|
+
},
|
|
97
|
+
"isCurrent": {
|
|
98
|
+
"type": "boolean",
|
|
99
|
+
"required": false
|
|
100
|
+
},
|
|
101
|
+
"label": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"required": false
|
|
104
|
+
},
|
|
105
|
+
"onlyIcon": {
|
|
106
|
+
"type": "boolean",
|
|
107
|
+
"required": false,
|
|
108
|
+
"default": false
|
|
109
|
+
},
|
|
110
|
+
"size": {
|
|
111
|
+
"type": "enum",
|
|
112
|
+
"required": false,
|
|
113
|
+
"values": [
|
|
114
|
+
"md",
|
|
115
|
+
"sm",
|
|
116
|
+
"xs",
|
|
117
|
+
"xxs"
|
|
118
|
+
],
|
|
119
|
+
"default": "xs"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
},
|
|
75
124
|
"html": {},
|
|
76
125
|
"bemClasses": [
|
|
77
126
|
"ncua-button-group",
|
package/data/button.json
CHANGED
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"leadingIcon": {
|
|
78
78
|
"type": "object",
|
|
79
79
|
"required": false,
|
|
80
|
-
"rawType": "import(\"/Users/
|
|
80
|
+
"rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
|
|
81
81
|
"properties": {
|
|
82
82
|
"type": {
|
|
83
83
|
"type": "string",
|
|
@@ -86,7 +86,8 @@
|
|
|
86
86
|
},
|
|
87
87
|
"icon": {
|
|
88
88
|
"type": "function",
|
|
89
|
-
"required": false
|
|
89
|
+
"required": false,
|
|
90
|
+
"semantic": "icon-component"
|
|
90
91
|
},
|
|
91
92
|
"color": {
|
|
92
93
|
"type": "enum",
|
|
@@ -136,6 +137,10 @@
|
|
|
136
137
|
}
|
|
137
138
|
}
|
|
138
139
|
},
|
|
140
|
+
"loading": {
|
|
141
|
+
"type": "boolean",
|
|
142
|
+
"required": false
|
|
143
|
+
},
|
|
139
144
|
"onlyIcon": {
|
|
140
145
|
"type": "boolean",
|
|
141
146
|
"required": false
|
|
@@ -153,7 +158,7 @@
|
|
|
153
158
|
"trailingIcon": {
|
|
154
159
|
"type": "object",
|
|
155
160
|
"required": false,
|
|
156
|
-
"rawType": "import(\"/Users/
|
|
161
|
+
"rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
|
|
157
162
|
"properties": {
|
|
158
163
|
"type": {
|
|
159
164
|
"type": "string",
|
|
@@ -162,7 +167,8 @@
|
|
|
162
167
|
},
|
|
163
168
|
"icon": {
|
|
164
169
|
"type": "function",
|
|
165
|
-
"required": false
|
|
170
|
+
"required": false,
|
|
171
|
+
"semantic": "icon-component"
|
|
166
172
|
},
|
|
167
173
|
"color": {
|
|
168
174
|
"type": "enum",
|
|
@@ -234,6 +240,7 @@
|
|
|
234
240
|
"ncua-btn--xs",
|
|
235
241
|
"ncua-btn--xxs",
|
|
236
242
|
"ncua-btn__label",
|
|
243
|
+
"ncua-btn__spinner",
|
|
237
244
|
"ncua-button-close-x",
|
|
238
245
|
"ncua-button-stepper"
|
|
239
246
|
],
|
package/data/carousel-arrow.json
CHANGED
|
@@ -50,11 +50,6 @@
|
|
|
50
50
|
"type": "function",
|
|
51
51
|
"required": false
|
|
52
52
|
},
|
|
53
|
-
"size": {
|
|
54
|
-
"type": "string",
|
|
55
|
-
"required": true,
|
|
56
|
-
"rawType": "\"md\""
|
|
57
|
-
},
|
|
58
53
|
"type": {
|
|
59
54
|
"type": "enum",
|
|
60
55
|
"required": false,
|
|
@@ -77,11 +72,11 @@
|
|
|
77
72
|
"usage": {
|
|
78
73
|
"import": "import { CarouselArrow } from '@ncds/ui-admin';",
|
|
79
74
|
"react": {
|
|
80
|
-
"default": "<CarouselArrow chevron=\"left\"
|
|
81
|
-
"chevron:left": "<CarouselArrow chevron=\"left\"
|
|
82
|
-
"chevron:right": "<CarouselArrow chevron=\"right\"
|
|
83
|
-
"type:default": "<CarouselArrow type=\"default\" chevron=\"left\"
|
|
84
|
-
"type:line": "<CarouselArrow type=\"line\" chevron=\"left\"
|
|
75
|
+
"default": "<CarouselArrow chevron=\"left\" />",
|
|
76
|
+
"chevron:left": "<CarouselArrow chevron=\"left\" />",
|
|
77
|
+
"chevron:right": "<CarouselArrow chevron=\"right\" />",
|
|
78
|
+
"type:default": "<CarouselArrow type=\"default\" chevron=\"left\" />",
|
|
79
|
+
"type:line": "<CarouselArrow type=\"line\" chevron=\"left\" />"
|
|
85
80
|
}
|
|
86
81
|
}
|
|
87
82
|
}
|
|
@@ -53,14 +53,6 @@
|
|
|
53
53
|
"required": false,
|
|
54
54
|
"default": true
|
|
55
55
|
},
|
|
56
|
-
"size": {
|
|
57
|
-
"type": "enum",
|
|
58
|
-
"required": false,
|
|
59
|
-
"values": [
|
|
60
|
-
"sm"
|
|
61
|
-
],
|
|
62
|
-
"default": "sm"
|
|
63
|
-
},
|
|
64
56
|
"totalPage": {
|
|
65
57
|
"type": "number",
|
|
66
58
|
"required": true
|
|
@@ -71,7 +63,6 @@
|
|
|
71
63
|
"ncua-carousel-number-group",
|
|
72
64
|
"ncua-carousel-number-group--dark",
|
|
73
65
|
"ncua-carousel-number-group--light",
|
|
74
|
-
"ncua-carousel-number-group--sm",
|
|
75
66
|
"ncua-carousel-number-group__number",
|
|
76
67
|
"ncua-carousel-number-group__total"
|
|
77
68
|
],
|
|
@@ -80,8 +71,7 @@
|
|
|
80
71
|
"react": {
|
|
81
72
|
"default": "<CarouselNumberGroup currentPage={0} totalPage={0} />",
|
|
82
73
|
"color:dark": "<CarouselNumberGroup color=\"dark\" currentPage={0} totalPage={0} />",
|
|
83
|
-
"color:light": "<CarouselNumberGroup color=\"light\" currentPage={0} totalPage={0} />"
|
|
84
|
-
"size:sm": "<CarouselNumberGroup size=\"sm\" currentPage={0} totalPage={0} />"
|
|
74
|
+
"color:light": "<CarouselNumberGroup color=\"light\" currentPage={0} totalPage={0} />"
|
|
85
75
|
}
|
|
86
76
|
}
|
|
87
77
|
}
|
package/data/combo-box.json
CHANGED
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"optionItems": {
|
|
93
93
|
"type": "object",
|
|
94
94
|
"required": false,
|
|
95
|
-
"rawType": "import(\"/Users/
|
|
95
|
+
"rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/types/dropdown/option\").OptionType[] | undefined",
|
|
96
96
|
"properties": {
|
|
97
97
|
"id": {
|
|
98
98
|
"type": "string",
|
|
@@ -105,7 +105,8 @@
|
|
|
105
105
|
},
|
|
106
106
|
"icon": {
|
|
107
107
|
"type": "function",
|
|
108
|
-
"required": false
|
|
108
|
+
"required": false,
|
|
109
|
+
"semantic": "icon-component"
|
|
109
110
|
}
|
|
110
111
|
},
|
|
111
112
|
"default": "[]"
|
|
@@ -118,7 +119,7 @@
|
|
|
118
119
|
"register": {
|
|
119
120
|
"type": "object",
|
|
120
121
|
"required": false,
|
|
121
|
-
"rawType": "import(\"/Users/
|
|
122
|
+
"rawType": "import(\"/Users/nhn/Project/ncds/node_modules/.pnpm/react-hook-form@7.72.0_react@18.2.0/node_modules/react-hook-form/dist/types/form\").UseFormRegisterReturn | undefined"
|
|
122
123
|
},
|
|
123
124
|
"required": {
|
|
124
125
|
"type": "boolean",
|
|
@@ -147,7 +148,7 @@
|
|
|
147
148
|
"value": {
|
|
148
149
|
"type": "object",
|
|
149
150
|
"required": false,
|
|
150
|
-
"rawType": "import(\"/Users/
|
|
151
|
+
"rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/types/dropdown/option\").OptionValue | undefined"
|
|
151
152
|
}
|
|
152
153
|
},
|
|
153
154
|
"html": {},
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "data-grid",
|
|
3
|
+
"exportName": "DataGrid",
|
|
4
|
+
"importPath": "@ncds/ui-admin",
|
|
5
|
+
"jsRequired": false,
|
|
6
|
+
"category": "data-display",
|
|
7
|
+
"description": "DataGrid는 관리자 화면에서 대량의 데이터를 테이블 형태로 조회·관리하기 위한 핵심 컴포넌트입니다.",
|
|
8
|
+
"aliases": [
|
|
9
|
+
"DataGrid",
|
|
10
|
+
"데이터그리드",
|
|
11
|
+
"테이블",
|
|
12
|
+
"Table",
|
|
13
|
+
"Grid",
|
|
14
|
+
"조회결과",
|
|
15
|
+
"가로형",
|
|
16
|
+
"세로형",
|
|
17
|
+
"Header",
|
|
18
|
+
"Pagination",
|
|
19
|
+
"Filter",
|
|
20
|
+
"Sort",
|
|
21
|
+
"Action Button",
|
|
22
|
+
"Row Selection",
|
|
23
|
+
"Reorder",
|
|
24
|
+
"Expand",
|
|
25
|
+
"Collapse",
|
|
26
|
+
"Empty State",
|
|
27
|
+
"Badge",
|
|
28
|
+
"Checkbox",
|
|
29
|
+
"DataGrid.SearchFilter",
|
|
30
|
+
"DataGrid.Summary",
|
|
31
|
+
"DataGrid.FilterBar",
|
|
32
|
+
"DataGrid.ActionBar",
|
|
33
|
+
"DataGrid.Table",
|
|
34
|
+
"DataGrid.Pagination",
|
|
35
|
+
"variant",
|
|
36
|
+
"search-result",
|
|
37
|
+
"horizontal",
|
|
38
|
+
"position",
|
|
39
|
+
"align",
|
|
40
|
+
"fixedHeader",
|
|
41
|
+
"maxHeight",
|
|
42
|
+
"hoverable",
|
|
43
|
+
"selectable",
|
|
44
|
+
"NCDS"
|
|
45
|
+
],
|
|
46
|
+
"hasChildren": true,
|
|
47
|
+
"whenToUse": [
|
|
48
|
+
"10개 이상 데이터 관리 화면에서 적용",
|
|
49
|
+
"관리자가 데이터를 조작하는 화면",
|
|
50
|
+
"대량 데이터 일괄 처리 화면"
|
|
51
|
+
],
|
|
52
|
+
"forbiddenRules": [
|
|
53
|
+
"블록 내부 중첩 테이블 남발 금지",
|
|
54
|
+
"▲▼ 형태 정렬 UI 사용 금지",
|
|
55
|
+
"과도한 Badge/Icon 사용 금지",
|
|
56
|
+
"Row Height 임의 수정 금지",
|
|
57
|
+
"프로젝트별 임의 컬럼 정렬 변경 금지"
|
|
58
|
+
],
|
|
59
|
+
"seeAlso": [
|
|
60
|
+
"button",
|
|
61
|
+
"checkbox",
|
|
62
|
+
"radio",
|
|
63
|
+
"pagination",
|
|
64
|
+
"badge",
|
|
65
|
+
"empty-state",
|
|
66
|
+
"block-container",
|
|
67
|
+
"table"
|
|
68
|
+
],
|
|
69
|
+
"htmlElement": "div",
|
|
70
|
+
"props": {
|
|
71
|
+
"children": {
|
|
72
|
+
"type": "ReactNode",
|
|
73
|
+
"required": true
|
|
74
|
+
},
|
|
75
|
+
"variant": {
|
|
76
|
+
"type": "enum",
|
|
77
|
+
"required": false,
|
|
78
|
+
"values": [
|
|
79
|
+
"horizontal",
|
|
80
|
+
"search-result"
|
|
81
|
+
],
|
|
82
|
+
"default": "search-result"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"subComponents": {
|
|
86
|
+
"DataGrid.SearchFilter": {
|
|
87
|
+
"props": {
|
|
88
|
+
"children": {
|
|
89
|
+
"type": "ReactNode",
|
|
90
|
+
"required": true
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"DataGrid.Summary": {
|
|
95
|
+
"props": {
|
|
96
|
+
"children": {
|
|
97
|
+
"type": "ReactNode",
|
|
98
|
+
"required": true
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
"DataGrid.FilterBar": {
|
|
103
|
+
"props": {
|
|
104
|
+
"children": {
|
|
105
|
+
"type": "ReactNode",
|
|
106
|
+
"required": true
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
"DataGrid.ActionBar": {
|
|
111
|
+
"props": {
|
|
112
|
+
"align": {
|
|
113
|
+
"type": "enum",
|
|
114
|
+
"required": false,
|
|
115
|
+
"values": [
|
|
116
|
+
"left",
|
|
117
|
+
"right",
|
|
118
|
+
"space-between"
|
|
119
|
+
],
|
|
120
|
+
"default": "space-between"
|
|
121
|
+
},
|
|
122
|
+
"children": {
|
|
123
|
+
"type": "ReactNode",
|
|
124
|
+
"required": true
|
|
125
|
+
},
|
|
126
|
+
"position": {
|
|
127
|
+
"type": "enum",
|
|
128
|
+
"required": false,
|
|
129
|
+
"values": [
|
|
130
|
+
"bottom",
|
|
131
|
+
"top"
|
|
132
|
+
],
|
|
133
|
+
"default": "top"
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
"DataGrid.Table": {
|
|
138
|
+
"props": {
|
|
139
|
+
"children": {
|
|
140
|
+
"type": "ReactNode",
|
|
141
|
+
"required": true
|
|
142
|
+
},
|
|
143
|
+
"className": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"required": false
|
|
146
|
+
},
|
|
147
|
+
"fixedHeader": {
|
|
148
|
+
"type": "boolean",
|
|
149
|
+
"required": false
|
|
150
|
+
},
|
|
151
|
+
"hoverable": {
|
|
152
|
+
"type": "boolean",
|
|
153
|
+
"required": false
|
|
154
|
+
},
|
|
155
|
+
"maxHeight": {
|
|
156
|
+
"type": "string",
|
|
157
|
+
"required": false,
|
|
158
|
+
"rawType": "string | number | undefined"
|
|
159
|
+
},
|
|
160
|
+
"selectable": {
|
|
161
|
+
"type": "boolean",
|
|
162
|
+
"required": false
|
|
163
|
+
},
|
|
164
|
+
"type": {
|
|
165
|
+
"type": "enum",
|
|
166
|
+
"required": false,
|
|
167
|
+
"values": [
|
|
168
|
+
"horizontal",
|
|
169
|
+
"vertical"
|
|
170
|
+
],
|
|
171
|
+
"default": "horizontal"
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
"DataGrid.Pagination": {
|
|
176
|
+
"props": {
|
|
177
|
+
"children": {
|
|
178
|
+
"type": "ReactNode",
|
|
179
|
+
"required": true
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
"html": {},
|
|
185
|
+
"bemClasses": [
|
|
186
|
+
"ncua-data-grid",
|
|
187
|
+
"ncua-data-grid--horizontal",
|
|
188
|
+
"ncua-data-grid--search-result",
|
|
189
|
+
"ncua-data-grid__action-bar",
|
|
190
|
+
"ncua-data-grid__action-bar ncua-data-grid__action-bar--bottom",
|
|
191
|
+
"ncua-data-grid__action-bar--bottom",
|
|
192
|
+
"ncua-data-grid__action-bar--left",
|
|
193
|
+
"ncua-data-grid__action-bar--right",
|
|
194
|
+
"ncua-data-grid__action-bar--space-between",
|
|
195
|
+
"ncua-data-grid__action-bar--top",
|
|
196
|
+
"ncua-data-grid__filter-bar",
|
|
197
|
+
"ncua-data-grid__pagination",
|
|
198
|
+
"ncua-data-grid__search-filter",
|
|
199
|
+
"ncua-data-grid__summary",
|
|
200
|
+
"ncua-data-grid__table",
|
|
201
|
+
"ncua-data-grid__table-wrapper",
|
|
202
|
+
"ncua-table--in-data-grid"
|
|
203
|
+
],
|
|
204
|
+
"usage": {
|
|
205
|
+
"import": "import { DataGrid } from '@ncds/ui-admin';",
|
|
206
|
+
"react": {
|
|
207
|
+
"default": "<DataGrid children=\"예시\" />",
|
|
208
|
+
"variant:horizontal": "<DataGrid variant=\"horizontal\" children=\"예시\" />",
|
|
209
|
+
"variant:search-result": "<DataGrid variant=\"search-result\" children=\"예시\" />"
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|