@ncds/ui-admin-mcp 1.0.0-alpha.10 → 1.0.0-alpha.12

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 +119 -3
  3. package/bin/server.mjs +0 -0
  4. package/bin/tools/getComponentProps.js +1 -0
  5. package/bin/tools/renderToHtml.js +312 -60
  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 +206 -4
  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 +13 -24
  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
@@ -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
+ }
@@ -62,7 +62,7 @@
62
62
  "datePickerOptions": {
63
63
  "type": "object",
64
64
  "required": false,
65
- "rawType": "Partial<import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/node_modules/flatpickr/dist/types/options\").BaseOptions> | undefined"
65
+ "rawType": "Partial<import(\"/Users/nhncommerce/Desktop/company/ncds/node_modules/.pnpm/flatpickr@4.6.13/node_modules/flatpickr/dist/types/options\").BaseOptions> | undefined"
66
66
  },
67
67
  "destructive": {
68
68
  "type": "string",
@@ -85,6 +85,11 @@
85
85
  "type": "string",
86
86
  "required": false
87
87
  },
88
+ "portal": {
89
+ "type": "boolean",
90
+ "required": false,
91
+ "default": false
92
+ },
88
93
  "shouldFocus": {
89
94
  "type": "boolean",
90
95
  "required": false,
@@ -106,6 +111,7 @@
106
111
  "ncua-date-picker--destructive",
107
112
  "ncua-date-picker--disabled",
108
113
  "ncua-date-picker--has-time",
114
+ "ncua-date-picker--portal",
109
115
  "ncua-date-picker--sm",
110
116
  "ncua-date-picker--xs",
111
117
  "ncua-date-picker__destructive",
package/data/dot.json CHANGED
@@ -67,7 +67,7 @@
67
67
  "md",
68
68
  "sm"
69
69
  ],
70
- "default": "md"
70
+ "default": "sm"
71
71
  }
72
72
  },
73
73
  "html": {},
@@ -117,12 +117,12 @@
117
117
  "groups": {
118
118
  "type": "object",
119
119
  "required": true,
120
- "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/dropdown/Dropdown\").DropdownGroup[]",
120
+ "rawType": "import(\"/Users/nhncommerce/Desktop/company/ncds/packages/ui-admin/src/components/dropdown/Dropdown\").DropdownGroup[]",
121
121
  "properties": {
122
122
  "items": {
123
123
  "type": "object",
124
124
  "required": true,
125
- "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/dropdown/Dropdown\").DropdownItemType[]",
125
+ "rawType": "import(\"/Users/nhncommerce/Desktop/company/ncds/packages/ui-admin/src/components/dropdown/Dropdown\").DropdownItemType[]",
126
126
  "properties": {
127
127
  "id": {
128
128
  "type": "string",
@@ -134,7 +134,8 @@
134
134
  },
135
135
  "icon": {
136
136
  "type": "function",
137
- "required": false
137
+ "required": false,
138
+ "semantic": "icon-component"
138
139
  },
139
140
  "shortcut": {
140
141
  "type": "string",
@@ -167,7 +168,7 @@
167
168
  "header": {
168
169
  "type": "object",
169
170
  "required": false,
170
- "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/dropdown/Dropdown\").DropdownHeaderType | undefined",
171
+ "rawType": "import(\"/Users/nhncommerce/Desktop/company/ncds/packages/ui-admin/src/components/dropdown/Dropdown\").DropdownHeaderType | undefined",
171
172
  "properties": {
172
173
  "type": {
173
174
  "type": "string",
@@ -196,7 +197,7 @@
196
197
  "trigger": {
197
198
  "type": "object",
198
199
  "required": true,
199
- "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/dropdown/Dropdown\").AvatarTrigger | import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/dropdown/Dropdown\").ButtonTrigger | import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/dropdown/Dropdown\").IconTrigger | import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/dropdown/Dropdown\").CustomTrigger",
200
+ "rawType": "import(\"/Users/nhncommerce/Desktop/company/ncds/packages/ui-admin/src/components/dropdown/Dropdown\").AvatarTrigger | import(\"/Users/nhncommerce/Desktop/company/ncds/packages/ui-admin/src/components/dropdown/Dropdown\").ButtonTrigger | import(\"/Users/nhncommerce/Desktop/company/ncds/packages/ui-admin/src/components/dropdown/Dropdown\").IconTrigger | import(\"/Users/nhncommerce/Desktop/company/ncds/packages/ui-admin/src/components/dropdown/Dropdown\").CustomTrigger",
200
201
  "properties": {
201
202
  "type": {
202
203
  "type": "string",
@@ -213,7 +214,8 @@
213
214
  },
214
215
  "icon": {
215
216
  "type": "function",
216
- "required": false
217
+ "required": false,
218
+ "semantic": "icon-component"
217
219
  },
218
220
  "children": {
219
221
  "type": "ReactNode",
@@ -37,7 +37,7 @@
37
37
  "buttons": {
38
38
  "type": "object",
39
39
  "required": false,
40
- "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/empty-state/EmptyState\").ButtonOptions | import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/empty-state/EmptyState\").ButtonOptions[] | undefined",
40
+ "rawType": "import(\"/Users/nhncommerce/Desktop/company/ncds/packages/ui-admin/src/components/empty-state/EmptyState\").ButtonOptions | import(\"/Users/nhncommerce/Desktop/company/ncds/packages/ui-admin/src/components/empty-state/EmptyState\").ButtonOptions[] | undefined",
41
41
  "properties": {
42
42
  "label": {
43
43
  "type": "string",
@@ -79,7 +79,7 @@
79
79
  "leadingIcon": {
80
80
  "type": "object",
81
81
  "required": false,
82
- "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
82
+ "rawType": "import(\"/Users/nhncommerce/Desktop/company/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
83
83
  "properties": {
84
84
  "type": {
85
85
  "type": "string",
@@ -88,7 +88,8 @@
88
88
  },
89
89
  "icon": {
90
90
  "type": "function",
91
- "required": false
91
+ "required": false,
92
+ "semantic": "icon-component"
92
93
  },
93
94
  "color": {
94
95
  "type": "enum",
@@ -141,7 +142,7 @@
141
142
  "trailingIcon": {
142
143
  "type": "object",
143
144
  "required": false,
144
- "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
145
+ "rawType": "import(\"/Users/nhncommerce/Desktop/company/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
145
146
  "properties": {
146
147
  "type": {
147
148
  "type": "string",
@@ -150,7 +151,8 @@
150
151
  },
151
152
  "icon": {
152
153
  "type": "function",
153
- "required": false
154
+ "required": false,
155
+ "semantic": "icon-component"
154
156
  },
155
157
  "color": {
156
158
  "type": "enum",
@@ -75,7 +75,8 @@
75
75
  },
76
76
  "icon": {
77
77
  "type": "function",
78
- "required": true
78
+ "required": true,
79
+ "semantic": "icon-component"
79
80
  },
80
81
  "size": {
81
82
  "type": "enum",
@@ -86,7 +87,7 @@
86
87
  "sm",
87
88
  "xl"
88
89
  ],
89
- "default": "md"
90
+ "default": "sm"
90
91
  },
91
92
  "theme": {
92
93
  "type": "enum",
@@ -56,6 +56,10 @@
56
56
  "type": "boolean",
57
57
  "required": false
58
58
  },
59
+ "fullWidth": {
60
+ "type": "boolean",
61
+ "required": false
62
+ },
59
63
  "hintItems": {
60
64
  "type": "object",
61
65
  "required": false,
@@ -88,7 +92,8 @@
88
92
  },
89
93
  "icon": {
90
94
  "type": "function",
91
- "required": false
95
+ "required": false,
96
+ "semantic": "icon-component"
92
97
  },
93
98
  "size": {
94
99
  "type": "number",
@@ -206,7 +211,8 @@
206
211
  },
207
212
  "icon": {
208
213
  "type": "function",
209
- "required": false
214
+ "required": false,
215
+ "semantic": "icon-component"
210
216
  },
211
217
  "size": {
212
218
  "type": "number",
@@ -60,7 +60,7 @@
60
60
  "menus": {
61
61
  "type": "object",
62
62
  "required": false,
63
- "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/tab/TabButton\").TabButtonProps[] | undefined",
63
+ "rawType": "import(\"/Users/nhncommerce/Desktop/company/ncds/packages/ui-admin/src/components/tab/TabButton\").TabButtonProps[] | undefined",
64
64
  "properties": {
65
65
  "id": {
66
66
  "type": "string",
@@ -97,7 +97,7 @@
97
97
  "badgeInfo": {
98
98
  "type": "object",
99
99
  "required": false,
100
- "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/badge/Badge\").BadgeProps | undefined",
100
+ "rawType": "import(\"/Users/nhncommerce/Desktop/company/ncds/packages/ui-admin/src/components/badge/Badge\").BadgeProps | undefined",
101
101
  "properties": {
102
102
  "label": {
103
103
  "type": "string",
@@ -131,7 +131,7 @@
131
131
  "leadingIcon": {
132
132
  "type": "object",
133
133
  "required": false,
134
- "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
134
+ "rawType": "import(\"/Users/nhncommerce/Desktop/company/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
135
135
  "properties": {
136
136
  "type": {
137
137
  "type": "string",
@@ -140,7 +140,8 @@
140
140
  },
141
141
  "icon": {
142
142
  "type": "function",
143
- "required": false
143
+ "required": false,
144
+ "semantic": "icon-component"
144
145
  },
145
146
  "color": {
146
147
  "type": "enum",
@@ -193,7 +194,7 @@
193
194
  "trailingIcon": {
194
195
  "type": "object",
195
196
  "required": false,
196
- "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
197
+ "rawType": "import(\"/Users/nhncommerce/Desktop/company/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
197
198
  "properties": {
198
199
  "type": {
199
200
  "type": "string",
@@ -202,7 +203,8 @@
202
203
  },
203
204
  "icon": {
204
205
  "type": "function",
205
- "required": false
206
+ "required": false,
207
+ "semantic": "icon-component"
206
208
  },
207
209
  "color": {
208
210
  "type": "enum",
@@ -305,7 +307,6 @@
305
307
  "ncua-horizontal-tab",
306
308
  "ncua-horizontal-tab--button-primary",
307
309
  "ncua-horizontal-tab--button-white",
308
- "ncua-horizontal-tab--fullWidth",
309
310
  "ncua-horizontal-tab--lg",
310
311
  "ncua-horizontal-tab--md",
311
312
  "ncua-horizontal-tab--sm",
@@ -59,6 +59,10 @@
59
59
  "type": "boolean",
60
60
  "required": false
61
61
  },
62
+ "fullWidth": {
63
+ "type": "boolean",
64
+ "required": false
65
+ },
62
66
  "hintItems": {
63
67
  "type": "object",
64
68
  "required": false,
@@ -96,7 +100,8 @@
96
100
  },
97
101
  "icon": {
98
102
  "type": "function",
99
- "required": false
103
+ "required": false,
104
+ "semantic": "icon-component"
100
105
  },
101
106
  "size": {
102
107
  "type": "number",
@@ -229,7 +234,8 @@
229
234
  },
230
235
  "icon": {
231
236
  "type": "function",
232
- "required": false
237
+ "required": false,
238
+ "semantic": "icon-component"
233
239
  },
234
240
  "size": {
235
241
  "type": "number",
@@ -58,6 +58,11 @@
58
58
  "type": "boolean",
59
59
  "required": false
60
60
  },
61
+ "fullWidth": {
62
+ "type": "boolean",
63
+ "required": false,
64
+ "default": false
65
+ },
61
66
  "hintText": {
62
67
  "type": "string",
63
68
  "required": false
@@ -81,7 +86,8 @@
81
86
  },
82
87
  "icon": {
83
88
  "type": "function",
84
- "required": false
89
+ "required": false,
90
+ "semantic": "icon-component"
85
91
  },
86
92
  "size": {
87
93
  "type": "number",
@@ -183,7 +189,8 @@
183
189
  },
184
190
  "icon": {
185
191
  "type": "function",
186
- "required": false
192
+ "required": false,
193
+ "semantic": "icon-component"
187
194
  },
188
195
  "size": {
189
196
  "type": "number",