@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.
Files changed (51) hide show
  1. package/bin/components.bundle.js +1 -1
  2. package/bin/definitions/instructions.md +16 -0
  3. package/bin/server.mjs +0 -0
  4. package/bin/tools/getComponentProps.js +1 -0
  5. package/bin/tools/renderToHtml.js +259 -72
  6. package/bin/types.d.ts +7 -0
  7. package/bin/utils/bemValidator.d.ts +1 -1
  8. package/bin/utils/compliance.js +3 -1
  9. package/bin/utils/dataLoader.d.ts +0 -1
  10. package/bin/utils/dataLoader.js +8 -16
  11. package/bin/utils/domEnvironment.js +1 -0
  12. package/bin/utils/fuzzyMatch.d.ts +4 -0
  13. package/bin/utils/fuzzyMatch.js +12 -3
  14. package/bin/utils/logger.d.ts +5 -5
  15. package/bin/utils/logger.js +5 -5
  16. package/data/_meta.json +4 -5
  17. package/data/badge-group.json +9 -6
  18. package/data/badge.json +32 -16
  19. package/data/bread-crumb.json +1 -1
  20. package/data/button-group.json +49 -0
  21. package/data/button.json +11 -4
  22. package/data/carousel-arrow.json +5 -10
  23. package/data/carousel-number-group.json +1 -11
  24. package/data/combo-box.json +5 -4
  25. package/data/data-grid.json +212 -0
  26. package/data/date-picker.json +7 -1
  27. package/data/dot.json +1 -1
  28. package/data/dropdown.json +8 -6
  29. package/data/empty-state.json +7 -5
  30. package/data/featured-icon.json +3 -2
  31. package/data/file-input.json +8 -2
  32. package/data/horizontal-tab.json +8 -7
  33. package/data/image-file-input.json +8 -2
  34. package/data/input-base.json +9 -2
  35. package/data/modal.json +128 -0
  36. package/data/notification.json +3 -2
  37. package/data/number-input.json +8 -2
  38. package/data/password-input.json +8 -2
  39. package/data/progress-bar.json +1 -1
  40. package/data/range-date-picker-with-buttons.json +12 -4
  41. package/data/range-date-picker.json +12 -4
  42. package/data/select-box.json +5 -4
  43. package/data/select.json +5 -4
  44. package/data/spinner.json +1 -1
  45. package/data/switch.json +16 -3
  46. package/data/table.json +247 -0
  47. package/data/tag.json +3 -2
  48. package/data/toggle.json +1 -1
  49. package/data/tooltip.json +6 -2
  50. package/data/vertical-tab.json +8 -6
  51. package/package.json +9 -4
@@ -1,15 +1,15 @@
1
1
  /**
2
2
  * stderr 전용 logger 유틸리티 — 부수효과 함수 (stderr I/O)
3
3
  *
4
- * ⚠️ console.log / console.warn / console.error 직접 사용 금지
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 출력되어 JSON-RPC 스트림을 오염시킵니다.
12
- * 모든 로깅은 반드시 이 logger를 통해 stderr로 출력해야 합니다.
11
+ * console.log는 stdout 오염시켜 JSON-RPC 스트림을 깨뜨린다.
12
+ * 모든 로깅은 이 logger를 통해 stderr로 출력한다.
13
13
  */
14
14
  export declare const logger: {
15
15
  info: (msg: string) => void;
@@ -4,15 +4,15 @@ exports.logger = void 0;
4
4
  /**
5
5
  * stderr 전용 logger 유틸리티 — 부수효과 함수 (stderr I/O)
6
6
  *
7
- * ⚠️ console.log / console.warn / console.error 직접 사용 금지
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 출력되어 JSON-RPC 스트림을 오염시킵니다.
15
- * 모든 로깅은 반드시 이 logger를 통해 stderr로 출력해야 합니다.
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.6",
4
- "css": "https://fe-sdk.cdn-nhncommerce.com/@ncds/ui-admin/1.6/main.min.css",
5
- "js": "https://fe-sdk.cdn-nhncommerce.com/@ncds/ui-admin/1.6/main.min.js"
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
  }
@@ -59,7 +59,7 @@
59
59
  "groupIcon": {
60
60
  "type": "object",
61
61
  "required": false,
62
- "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
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/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
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/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
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": "feedback",
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
- "텍스트 과다 금지(2~4자 권장)",
46
+ "텍스트 과다 금지",
34
47
  "이미지 삽입 금지",
35
- "임의 아이콘 금지(SideSlotType 구조체만 사용)",
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/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
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": "sm"
152
+ "default": "xs"
138
153
  },
139
154
  "trailingIcon": {
140
155
  "type": "object",
141
156
  "required": false,
142
- "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
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",
@@ -57,7 +57,7 @@
57
57
  "items": {
58
58
  "type": "object",
59
59
  "required": true,
60
- "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/bread-crumb/BreadCrumb\").BreadCrumbItemProps[]",
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",
@@ -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/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
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/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
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
  ],
@@ -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\" size=\"\" />",
81
- "chevron:left": "<CarouselArrow chevron=\"left\" size=\"\" />",
82
- "chevron:right": "<CarouselArrow chevron=\"right\" size=\"\" />",
83
- "type:default": "<CarouselArrow type=\"default\" chevron=\"left\" size=\"\" />",
84
- "type:line": "<CarouselArrow type=\"line\" chevron=\"left\" size=\"\" />"
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
  }
@@ -92,7 +92,7 @@
92
92
  "optionItems": {
93
93
  "type": "object",
94
94
  "required": false,
95
- "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/types/dropdown/option\").OptionType[] | undefined",
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/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/node_modules/react-hook-form/dist/types/form\").UseFormRegisterReturn | undefined"
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/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/types/dropdown/option\").OptionValue | undefined"
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
+ }