@ncds/ui-admin-mcp 1.0.0-alpha.2 → 1.0.0-alpha.20

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 (100) hide show
  1. package/bin/components.bundle.js +15 -19
  2. package/bin/definitions/external/editor.d.ts +50 -0
  3. package/bin/definitions/external/editor.js +53 -0
  4. package/bin/definitions/external/step-guide.d.ts +61 -0
  5. package/bin/definitions/external/step-guide.js +52 -0
  6. package/bin/definitions/instructions.md +194 -10
  7. package/bin/definitions/js-api.json +352 -0
  8. package/bin/definitions/rules.json +36 -4
  9. package/bin/definitions/tool-definitions.json +33 -9
  10. package/bin/overrides/composition.json +2500 -0
  11. package/bin/server.d.ts +5 -0
  12. package/bin/server.js +97 -33
  13. package/bin/server.mjs +0 -0
  14. package/bin/tools/external/editor.d.ts +18 -0
  15. package/bin/tools/external/editor.js +88 -0
  16. package/bin/tools/external/step-guide.d.ts +19 -0
  17. package/bin/tools/external/step-guide.js +79 -0
  18. package/bin/tools/getComponentProps.d.ts +3 -0
  19. package/bin/tools/getComponentProps.js +12 -3
  20. package/bin/tools/listCompositionOverrides.d.ts +61 -0
  21. package/bin/tools/listCompositionOverrides.js +156 -0
  22. package/bin/tools/ping.d.ts +1 -1
  23. package/bin/tools/renderToHtml.d.ts +38 -7
  24. package/bin/tools/renderToHtml.js +785 -110
  25. package/bin/tools/searchComponent.d.ts +5 -0
  26. package/bin/tools/searchComponent.js +3 -3
  27. package/bin/tools/validateHtml.d.ts +8 -6
  28. package/bin/tools/validateHtml.js +74 -6
  29. package/bin/types.d.ts +60 -1
  30. package/bin/utils/bemValidator.d.ts +16 -8
  31. package/bin/utils/bemValidator.js +16 -4
  32. package/bin/utils/compliance.d.ts +7 -6
  33. package/bin/utils/compliance.js +8 -4
  34. package/bin/utils/dataLoader.d.ts +43 -14
  35. package/bin/utils/dataLoader.js +125 -22
  36. package/bin/utils/domEnvironment.js +51 -0
  37. package/bin/utils/fuzzyMatch.d.ts +4 -0
  38. package/bin/utils/fuzzyMatch.js +13 -3
  39. package/bin/utils/logger.d.ts +5 -5
  40. package/bin/utils/logger.js +5 -5
  41. package/bin/utils/response.d.ts +4 -2
  42. package/bin/utils/response.js +15 -4
  43. package/bin/utils/tokenValidator.d.ts +4 -3
  44. package/bin/utils/tokenValidator.js +13 -11
  45. package/bin/version.d.ts +4 -2
  46. package/bin/version.js +4 -2
  47. package/data/_icons.json +357 -2
  48. package/data/_meta.json +4 -5
  49. package/data/_tokens.json +8 -8
  50. package/data/badge-group.json +181 -4
  51. package/data/badge.json +146 -14
  52. package/data/block-container.json +95 -0
  53. package/data/block-header.json +208 -0
  54. package/data/bread-crumb.json +38 -2
  55. package/data/button-group.json +59 -0
  56. package/data/button.json +124 -1
  57. package/data/carousel-arrow.json +6 -11
  58. package/data/carousel-number-group.json +2 -12
  59. package/data/checkbox.json +1 -1
  60. package/data/combo-box.json +32 -8
  61. package/data/data-grid.json +240 -0
  62. package/data/date-picker.json +22 -2
  63. package/data/divider.json +1 -1
  64. package/data/dot.json +2 -2
  65. package/data/dropdown.json +187 -20
  66. package/data/editor.json +85 -0
  67. package/data/empty-state.json +168 -3
  68. package/data/featured-icon.json +20 -5
  69. package/data/file-input.json +176 -10
  70. package/data/horizontal-tab.json +219 -3
  71. package/data/image-file-input.json +176 -10
  72. package/data/input-base.json +165 -4
  73. package/data/modal.json +266 -5
  74. package/data/notification.json +56 -40
  75. package/data/number-input.json +164 -4
  76. package/data/page-title.json +135 -0
  77. package/data/pagination.json +8 -4
  78. package/data/password-input.json +252 -13
  79. package/data/progress-bar.json +28 -8
  80. package/data/progress-circle.json +9 -6
  81. package/data/radio.json +4 -3
  82. package/data/range-date-picker-with-buttons.json +187 -7
  83. package/data/range-date-picker.json +186 -6
  84. package/data/select-box.json +48 -16
  85. package/data/select.json +35 -25
  86. package/data/slider.json +1 -1
  87. package/data/spinner.json +3 -4
  88. package/data/step-guide.json +130 -0
  89. package/data/switch.json +66 -6
  90. package/data/table.json +293 -0
  91. package/data/tag.json +68 -6
  92. package/data/textarea.json +1 -1
  93. package/data/toggle.json +2 -2
  94. package/data/tooltip.json +16 -3
  95. package/data/vertical-tab.json +220 -3
  96. package/package.json +27 -25
  97. package/bin/instructions.d.ts +0 -1
  98. package/bin/instructions.js +0 -14
  99. package/bin/tools/getComponentHtml.d.ts +0 -3
  100. package/bin/tools/getComponentHtml.js +0 -30
@@ -3,7 +3,7 @@
3
3
  "exportName": "EmptyState",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": false,
6
- "category": "feedback",
6
+ "category": "feedback-and-status",
7
7
  "description": "EmptyState는 앱에서 사용자에게 표시할 데이터가 없거나 검색어가 0개의 결과를 반환하는 순간을 표시하는 컴포넌트입니다.",
8
8
  "aliases": [
9
9
  "EmptyState",
@@ -35,9 +35,174 @@
35
35
  ],
36
36
  "props": {
37
37
  "buttons": {
38
- "type": "string",
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(\"/home/runner/_work/ncds/ncds/packages/ui-admin/src/components/feedback-and-status/empty-state/EmptyState\").ButtonOptions | import(\"/home/runner/_work/ncds/ncds/packages/ui-admin/src/components/feedback-and-status/empty-state/EmptyState\").ButtonOptions[] | undefined",
41
+ "properties": {
42
+ "label": {
43
+ "type": "string",
44
+ "required": true
45
+ },
46
+ "onClick": {
47
+ "type": "function",
48
+ "required": false
49
+ },
50
+ "disabled": {
51
+ "type": "boolean",
52
+ "required": false
53
+ },
54
+ "hierarchy": {
55
+ "type": "enum",
56
+ "required": false,
57
+ "values": [
58
+ "destructive",
59
+ "primary",
60
+ "secondary",
61
+ "secondary-gray",
62
+ "tertiary",
63
+ "tertiary-gray",
64
+ "text",
65
+ "text-gray",
66
+ "text-red"
67
+ ]
68
+ },
69
+ "size": {
70
+ "type": "enum",
71
+ "required": false,
72
+ "values": [
73
+ "md",
74
+ "sm",
75
+ "xs",
76
+ "xxs"
77
+ ]
78
+ },
79
+ "leadingIcon": {
80
+ "type": "object",
81
+ "required": false,
82
+ "rawType": "import(\"/home/runner/_work/ncds/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
83
+ "properties": {
84
+ "type": {
85
+ "type": "string",
86
+ "required": true,
87
+ "rawType": "\"icon\""
88
+ },
89
+ "icon": {
90
+ "type": "function",
91
+ "required": false,
92
+ "semantic": "icon-component"
93
+ },
94
+ "color": {
95
+ "type": "enum",
96
+ "required": false,
97
+ "values": [
98
+ "black",
99
+ "blue500",
100
+ "blue600",
101
+ "currentColor",
102
+ "gray100",
103
+ "gray200",
104
+ "gray300",
105
+ "gray400",
106
+ "gray500",
107
+ "gray600",
108
+ "gray700",
109
+ "green500",
110
+ "green600",
111
+ "orange500",
112
+ "orange600",
113
+ "pink100",
114
+ "pink600",
115
+ "red500",
116
+ "red600",
117
+ "secondary-gray-blue-100",
118
+ "secondary-gray-blue-200",
119
+ "secondary-gray-blue-300",
120
+ "secondary-gray-blue-400",
121
+ "secondary-gray-blue-450",
122
+ "secondary-gray-blue-50",
123
+ "secondary-gray-blue-500",
124
+ "secondary-gray-blue-600",
125
+ "secondary-gray-blue-700",
126
+ "violet300",
127
+ "violet600",
128
+ "white",
129
+ "yellow600"
130
+ ]
131
+ },
132
+ "size": {
133
+ "type": "number",
134
+ "required": false
135
+ },
136
+ "children": {
137
+ "type": "ReactNode",
138
+ "required": false
139
+ }
140
+ }
141
+ },
142
+ "trailingIcon": {
143
+ "type": "object",
144
+ "required": false,
145
+ "rawType": "import(\"/home/runner/_work/ncds/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
146
+ "properties": {
147
+ "type": {
148
+ "type": "string",
149
+ "required": true,
150
+ "rawType": "\"icon\""
151
+ },
152
+ "icon": {
153
+ "type": "function",
154
+ "required": false,
155
+ "semantic": "icon-component"
156
+ },
157
+ "color": {
158
+ "type": "enum",
159
+ "required": false,
160
+ "values": [
161
+ "black",
162
+ "blue500",
163
+ "blue600",
164
+ "currentColor",
165
+ "gray100",
166
+ "gray200",
167
+ "gray300",
168
+ "gray400",
169
+ "gray500",
170
+ "gray600",
171
+ "gray700",
172
+ "green500",
173
+ "green600",
174
+ "orange500",
175
+ "orange600",
176
+ "pink100",
177
+ "pink600",
178
+ "red500",
179
+ "red600",
180
+ "secondary-gray-blue-100",
181
+ "secondary-gray-blue-200",
182
+ "secondary-gray-blue-300",
183
+ "secondary-gray-blue-400",
184
+ "secondary-gray-blue-450",
185
+ "secondary-gray-blue-50",
186
+ "secondary-gray-blue-500",
187
+ "secondary-gray-blue-600",
188
+ "secondary-gray-blue-700",
189
+ "violet300",
190
+ "violet600",
191
+ "white",
192
+ "yellow600"
193
+ ]
194
+ },
195
+ "size": {
196
+ "type": "number",
197
+ "required": false
198
+ },
199
+ "children": {
200
+ "type": "ReactNode",
201
+ "required": false
202
+ }
203
+ }
204
+ }
205
+ }
41
206
  },
42
207
  "description": {
43
208
  "type": "string",
@@ -3,8 +3,8 @@
3
3
  "exportName": "FeaturedIcon",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": true,
6
- "category": "icon",
7
- "description": "FeaturedIcon은 상태(Status), 결과(Result), 중요 액션(Action)을 시각적으로 강조하기 위한 아이콘 강조 컴포넌트입니다",
6
+ "category": "image-and-icons",
7
+ "description": "FeaturedIcon은 상태(Status), 결과(Result), 중요 액션(Action)을 시각적으로 강조하기 위한 아이콘 강조 컴포넌트입니다.",
8
8
  "aliases": [
9
9
  "FeaturedIcon",
10
10
  "피처드아이콘",
@@ -43,6 +43,20 @@
43
43
  "dot"
44
44
  ],
45
45
  "htmlElement": "div",
46
+ "usageExamples": {
47
+ "success": {
48
+ "icon": "CheckCircle",
49
+ "color": "success",
50
+ "theme": "light-circle",
51
+ "size": "md"
52
+ },
53
+ "error": {
54
+ "icon": "AlertCircle",
55
+ "color": "error",
56
+ "theme": "dark-circle",
57
+ "size": "lg"
58
+ }
59
+ },
46
60
  "props": {
47
61
  "className": {
48
62
  "type": "string",
@@ -60,8 +74,9 @@
60
74
  "default": "neutral"
61
75
  },
62
76
  "icon": {
63
- "type": "object",
64
- "required": true
77
+ "type": "function",
78
+ "required": true,
79
+ "semantic": "icon-component"
65
80
  },
66
81
  "size": {
67
82
  "type": "enum",
@@ -72,7 +87,7 @@
72
87
  "sm",
73
88
  "xl"
74
89
  ],
75
- "default": "md"
90
+ "default": "sm"
76
91
  },
77
92
  "theme": {
78
93
  "type": "enum",
@@ -3,13 +3,14 @@
3
3
  "exportName": "FileInput",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": true,
6
- "category": "input",
7
- "description": "File Upload가 필요한 영역에서 공통 UI/UX를 적용하는 입력 컴포넌트입니다",
6
+ "category": "forms-and-input",
7
+ "description": "FileInput은 File Upload가 필요한 영역에서 공통 UI/UX를 적용하는 입력 컴포넌트입니다.",
8
8
  "aliases": [
9
9
  "파일인풋",
10
10
  "FileInput",
11
11
  "파일업로드",
12
12
  "파일첨부",
13
+ "컴포넌트",
13
14
  "파일찾기",
14
15
  "업로드",
15
16
  "accept",
@@ -24,9 +25,7 @@
24
25
  ],
25
26
  "hasChildren": false,
26
27
  "whenToUse": [
27
- "제한 정책 안내문을 항상 노출하며 파일명 텍스트 중심 UI를 기본으로 하고 삭제 기능을 필수 제공해야 하는 경우",
28
- "단일 파일 또는 다중 파일 업로드가 필요한 경우",
29
- "이미지가 아닌 일반 파일 업로드 영역"
28
+ "FileInput은 제한 정책 안내문을 항상 노출하며, 파일명 텍스트 중심 UI를 기본으로 하고, 삭제 기능을 필수 제공합니다"
30
29
  ],
31
30
  "forbiddenRules": [
32
31
  "제한 정책 안내 없이 업로드 허용 금지",
@@ -36,7 +35,9 @@
36
35
  "삭제 기능 없는 업로드 UI 제공 금지"
37
36
  ],
38
37
  "seeAlso": [
39
- "image-file-input"
38
+ "button",
39
+ "tag",
40
+ "tooltip"
40
41
  ],
41
42
  "props": {
42
43
  "accept": {
@@ -56,8 +57,12 @@
56
57
  "type": "boolean",
57
58
  "required": false
58
59
  },
60
+ "fullWidth": {
61
+ "type": "boolean",
62
+ "required": false
63
+ },
59
64
  "hintItems": {
60
- "type": "string",
65
+ "type": "object",
61
66
  "required": false,
62
67
  "rawType": "string[] | undefined"
63
68
  },
@@ -75,7 +80,81 @@
75
80
  },
76
81
  "leadingElement": {
77
82
  "type": "object",
78
- "required": false
83
+ "required": false,
84
+ "properties": {
85
+ "type": {
86
+ "type": "string",
87
+ "required": true,
88
+ "rawType": "\"text\""
89
+ },
90
+ "text": {
91
+ "type": "string",
92
+ "required": false
93
+ },
94
+ "icon": {
95
+ "type": "function",
96
+ "required": false,
97
+ "semantic": "icon-component"
98
+ },
99
+ "size": {
100
+ "type": "number",
101
+ "required": false
102
+ },
103
+ "color": {
104
+ "type": "enum",
105
+ "required": false,
106
+ "values": [
107
+ "black",
108
+ "blue500",
109
+ "blue600",
110
+ "currentColor",
111
+ "gray100",
112
+ "gray200",
113
+ "gray300",
114
+ "gray400",
115
+ "gray500",
116
+ "gray600",
117
+ "gray700",
118
+ "green500",
119
+ "green600",
120
+ "orange500",
121
+ "orange600",
122
+ "pink100",
123
+ "pink600",
124
+ "red500",
125
+ "red600",
126
+ "secondary-gray-blue-100",
127
+ "secondary-gray-blue-200",
128
+ "secondary-gray-blue-300",
129
+ "secondary-gray-blue-400",
130
+ "secondary-gray-blue-450",
131
+ "secondary-gray-blue-50",
132
+ "secondary-gray-blue-500",
133
+ "secondary-gray-blue-600",
134
+ "secondary-gray-blue-700",
135
+ "violet300",
136
+ "violet600",
137
+ "white",
138
+ "yellow600"
139
+ ]
140
+ },
141
+ "className": {
142
+ "type": "string",
143
+ "required": false
144
+ },
145
+ "children": {
146
+ "type": "ReactNode",
147
+ "required": false
148
+ },
149
+ "placement": {
150
+ "type": "enum",
151
+ "required": false,
152
+ "values": [
153
+ "inside",
154
+ "outside"
155
+ ]
156
+ }
157
+ }
79
158
  },
80
159
  "maxFileCount": {
81
160
  "type": "number",
@@ -89,6 +168,11 @@
89
168
  "type": "number",
90
169
  "required": false
91
170
  },
171
+ "multiple": {
172
+ "type": "boolean",
173
+ "required": false,
174
+ "default": false
175
+ },
92
176
  "onChange": {
93
177
  "type": "function",
94
178
  "required": false
@@ -124,14 +208,96 @@
124
208
  },
125
209
  "trailingElement": {
126
210
  "type": "object",
127
- "required": false
211
+ "required": false,
212
+ "properties": {
213
+ "type": {
214
+ "type": "string",
215
+ "required": true,
216
+ "rawType": "\"icon\""
217
+ },
218
+ "icon": {
219
+ "type": "function",
220
+ "required": false,
221
+ "semantic": "icon-component"
222
+ },
223
+ "size": {
224
+ "type": "number",
225
+ "required": false
226
+ },
227
+ "color": {
228
+ "type": "enum",
229
+ "required": false,
230
+ "values": [
231
+ "black",
232
+ "blue500",
233
+ "blue600",
234
+ "currentColor",
235
+ "gray100",
236
+ "gray200",
237
+ "gray300",
238
+ "gray400",
239
+ "gray500",
240
+ "gray600",
241
+ "gray700",
242
+ "green500",
243
+ "green600",
244
+ "orange500",
245
+ "orange600",
246
+ "pink100",
247
+ "pink600",
248
+ "red500",
249
+ "red600",
250
+ "secondary-gray-blue-100",
251
+ "secondary-gray-blue-200",
252
+ "secondary-gray-blue-300",
253
+ "secondary-gray-blue-400",
254
+ "secondary-gray-blue-450",
255
+ "secondary-gray-blue-50",
256
+ "secondary-gray-blue-500",
257
+ "secondary-gray-blue-600",
258
+ "secondary-gray-blue-700",
259
+ "violet300",
260
+ "violet600",
261
+ "white",
262
+ "yellow600"
263
+ ]
264
+ },
265
+ "className": {
266
+ "type": "string",
267
+ "required": false
268
+ },
269
+ "children": {
270
+ "type": "ReactNode",
271
+ "required": false
272
+ },
273
+ "placement": {
274
+ "type": "enum",
275
+ "required": false,
276
+ "values": [
277
+ "inside",
278
+ "outside"
279
+ ]
280
+ },
281
+ "label": {
282
+ "type": "string",
283
+ "required": false
284
+ },
285
+ "isSubmit": {
286
+ "type": "boolean",
287
+ "required": false
288
+ },
289
+ "onClick": {
290
+ "type": "function",
291
+ "required": false
292
+ }
293
+ }
128
294
  },
129
295
  "validation": {
130
296
  "type": "boolean",
131
297
  "required": false
132
298
  },
133
299
  "value": {
134
- "type": "string",
300
+ "type": "object",
135
301
  "required": false,
136
302
  "rawType": "File[] | undefined"
137
303
  }