@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": "BadgeGroup",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": false,
6
- "category": "feedback",
6
+ "category": "feedback-and-status",
7
7
  "description": "BadgeGroup은 Badge 컴포넌트를 그룹화하여 표시하는 컴포넌트입니다. 주로 Badge와 함께 추가적인 라벨과 아이콘을 표시하여 액션유도할 수 있는 아이템으로 활용할 수 있습니다.",
8
8
  "aliases": [
9
9
  "BadgeGroup",
@@ -58,7 +58,66 @@
58
58
  },
59
59
  "groupIcon": {
60
60
  "type": "object",
61
- "required": false
61
+ "required": false,
62
+ "rawType": "import(\"/home/runner/_work/ncds/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
63
+ "properties": {
64
+ "type": {
65
+ "type": "string",
66
+ "required": true,
67
+ "rawType": "\"icon\""
68
+ },
69
+ "icon": {
70
+ "type": "function",
71
+ "required": false,
72
+ "semantic": "icon-component"
73
+ },
74
+ "color": {
75
+ "type": "enum",
76
+ "required": false,
77
+ "values": [
78
+ "black",
79
+ "blue500",
80
+ "blue600",
81
+ "currentColor",
82
+ "gray100",
83
+ "gray200",
84
+ "gray300",
85
+ "gray400",
86
+ "gray500",
87
+ "gray600",
88
+ "gray700",
89
+ "green500",
90
+ "green600",
91
+ "orange500",
92
+ "orange600",
93
+ "pink100",
94
+ "pink600",
95
+ "red500",
96
+ "red600",
97
+ "secondary-gray-blue-100",
98
+ "secondary-gray-blue-200",
99
+ "secondary-gray-blue-300",
100
+ "secondary-gray-blue-400",
101
+ "secondary-gray-blue-450",
102
+ "secondary-gray-blue-50",
103
+ "secondary-gray-blue-500",
104
+ "secondary-gray-blue-600",
105
+ "secondary-gray-blue-700",
106
+ "violet300",
107
+ "violet600",
108
+ "white",
109
+ "yellow600"
110
+ ]
111
+ },
112
+ "size": {
113
+ "type": "number",
114
+ "required": false
115
+ },
116
+ "children": {
117
+ "type": "ReactNode",
118
+ "required": false
119
+ }
120
+ }
62
121
  },
63
122
  "groupLabel": {
64
123
  "type": "string",
@@ -74,7 +133,66 @@
74
133
  },
75
134
  "leadingIcon": {
76
135
  "type": "object",
77
- "required": false
136
+ "required": false,
137
+ "rawType": "import(\"/home/runner/_work/ncds/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
138
+ "properties": {
139
+ "type": {
140
+ "type": "string",
141
+ "required": true,
142
+ "rawType": "\"icon\""
143
+ },
144
+ "icon": {
145
+ "type": "function",
146
+ "required": false,
147
+ "semantic": "icon-component"
148
+ },
149
+ "color": {
150
+ "type": "enum",
151
+ "required": false,
152
+ "values": [
153
+ "black",
154
+ "blue500",
155
+ "blue600",
156
+ "currentColor",
157
+ "gray100",
158
+ "gray200",
159
+ "gray300",
160
+ "gray400",
161
+ "gray500",
162
+ "gray600",
163
+ "gray700",
164
+ "green500",
165
+ "green600",
166
+ "orange500",
167
+ "orange600",
168
+ "pink100",
169
+ "pink600",
170
+ "red500",
171
+ "red600",
172
+ "secondary-gray-blue-100",
173
+ "secondary-gray-blue-200",
174
+ "secondary-gray-blue-300",
175
+ "secondary-gray-blue-400",
176
+ "secondary-gray-blue-450",
177
+ "secondary-gray-blue-50",
178
+ "secondary-gray-blue-500",
179
+ "secondary-gray-blue-600",
180
+ "secondary-gray-blue-700",
181
+ "violet300",
182
+ "violet600",
183
+ "white",
184
+ "yellow600"
185
+ ]
186
+ },
187
+ "size": {
188
+ "type": "number",
189
+ "required": false
190
+ },
191
+ "children": {
192
+ "type": "ReactNode",
193
+ "required": false
194
+ }
195
+ }
78
196
  },
79
197
  "size": {
80
198
  "type": "enum",
@@ -92,7 +210,66 @@
92
210
  },
93
211
  "trailingIcon": {
94
212
  "type": "object",
95
- "required": false
213
+ "required": false,
214
+ "rawType": "import(\"/home/runner/_work/ncds/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
215
+ "properties": {
216
+ "type": {
217
+ "type": "string",
218
+ "required": true,
219
+ "rawType": "\"icon\""
220
+ },
221
+ "icon": {
222
+ "type": "function",
223
+ "required": false,
224
+ "semantic": "icon-component"
225
+ },
226
+ "color": {
227
+ "type": "enum",
228
+ "required": false,
229
+ "values": [
230
+ "black",
231
+ "blue500",
232
+ "blue600",
233
+ "currentColor",
234
+ "gray100",
235
+ "gray200",
236
+ "gray300",
237
+ "gray400",
238
+ "gray500",
239
+ "gray600",
240
+ "gray700",
241
+ "green500",
242
+ "green600",
243
+ "orange500",
244
+ "orange600",
245
+ "pink100",
246
+ "pink600",
247
+ "red500",
248
+ "red600",
249
+ "secondary-gray-blue-100",
250
+ "secondary-gray-blue-200",
251
+ "secondary-gray-blue-300",
252
+ "secondary-gray-blue-400",
253
+ "secondary-gray-blue-450",
254
+ "secondary-gray-blue-50",
255
+ "secondary-gray-blue-500",
256
+ "secondary-gray-blue-600",
257
+ "secondary-gray-blue-700",
258
+ "violet300",
259
+ "violet600",
260
+ "white",
261
+ "yellow600"
262
+ ]
263
+ },
264
+ "size": {
265
+ "type": "number",
266
+ "required": false
267
+ },
268
+ "children": {
269
+ "type": "ReactNode",
270
+ "required": false
271
+ }
272
+ }
96
273
  }
97
274
  },
98
275
  "html": {},
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": "feedback-and-status",
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": {
@@ -66,7 +80,66 @@
66
80
  },
67
81
  "leadingIcon": {
68
82
  "type": "object",
69
- "required": false
83
+ "required": false,
84
+ "rawType": "import(\"/home/runner/_work/ncds/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
85
+ "properties": {
86
+ "type": {
87
+ "type": "string",
88
+ "required": true,
89
+ "rawType": "\"icon\""
90
+ },
91
+ "icon": {
92
+ "type": "function",
93
+ "required": false,
94
+ "semantic": "icon-component"
95
+ },
96
+ "color": {
97
+ "type": "enum",
98
+ "required": false,
99
+ "values": [
100
+ "black",
101
+ "blue500",
102
+ "blue600",
103
+ "currentColor",
104
+ "gray100",
105
+ "gray200",
106
+ "gray300",
107
+ "gray400",
108
+ "gray500",
109
+ "gray600",
110
+ "gray700",
111
+ "green500",
112
+ "green600",
113
+ "orange500",
114
+ "orange600",
115
+ "pink100",
116
+ "pink600",
117
+ "red500",
118
+ "red600",
119
+ "secondary-gray-blue-100",
120
+ "secondary-gray-blue-200",
121
+ "secondary-gray-blue-300",
122
+ "secondary-gray-blue-400",
123
+ "secondary-gray-blue-450",
124
+ "secondary-gray-blue-50",
125
+ "secondary-gray-blue-500",
126
+ "secondary-gray-blue-600",
127
+ "secondary-gray-blue-700",
128
+ "violet300",
129
+ "violet600",
130
+ "white",
131
+ "yellow600"
132
+ ]
133
+ },
134
+ "size": {
135
+ "type": "number",
136
+ "required": false
137
+ },
138
+ "children": {
139
+ "type": "ReactNode",
140
+ "required": false
141
+ }
142
+ }
70
143
  },
71
144
  "size": {
72
145
  "type": "enum",
@@ -76,11 +149,70 @@
76
149
  "sm",
77
150
  "xs"
78
151
  ],
79
- "default": "sm"
152
+ "default": "xs"
80
153
  },
81
154
  "trailingIcon": {
82
155
  "type": "object",
83
- "required": false
156
+ "required": false,
157
+ "rawType": "import(\"/home/runner/_work/ncds/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
158
+ "properties": {
159
+ "type": {
160
+ "type": "string",
161
+ "required": true,
162
+ "rawType": "\"icon\""
163
+ },
164
+ "icon": {
165
+ "type": "function",
166
+ "required": false,
167
+ "semantic": "icon-component"
168
+ },
169
+ "color": {
170
+ "type": "enum",
171
+ "required": false,
172
+ "values": [
173
+ "black",
174
+ "blue500",
175
+ "blue600",
176
+ "currentColor",
177
+ "gray100",
178
+ "gray200",
179
+ "gray300",
180
+ "gray400",
181
+ "gray500",
182
+ "gray600",
183
+ "gray700",
184
+ "green500",
185
+ "green600",
186
+ "orange500",
187
+ "orange600",
188
+ "pink100",
189
+ "pink600",
190
+ "red500",
191
+ "red600",
192
+ "secondary-gray-blue-100",
193
+ "secondary-gray-blue-200",
194
+ "secondary-gray-blue-300",
195
+ "secondary-gray-blue-400",
196
+ "secondary-gray-blue-450",
197
+ "secondary-gray-blue-50",
198
+ "secondary-gray-blue-500",
199
+ "secondary-gray-blue-600",
200
+ "secondary-gray-blue-700",
201
+ "violet300",
202
+ "violet600",
203
+ "white",
204
+ "yellow600"
205
+ ]
206
+ },
207
+ "size": {
208
+ "type": "number",
209
+ "required": false
210
+ },
211
+ "children": {
212
+ "type": "ReactNode",
213
+ "required": false
214
+ }
215
+ }
84
216
  },
85
217
  "type": {
86
218
  "type": "enum",
@@ -0,0 +1,95 @@
1
+ {
2
+ "name": "block-container",
3
+ "exportName": "BlockContainer",
4
+ "importPath": "@ncds/ui-admin",
5
+ "jsRequired": false,
6
+ "category": "layout",
7
+ "description": "Block은 하나의 UX 목적을 수행하는 독립된 레이아웃 단위입니다.",
8
+ "aliases": [
9
+ "Block",
10
+ "BlockContainer",
11
+ "블록",
12
+ "블록컨테이너",
13
+ "Block Header",
14
+ "Block Body",
15
+ "Default Block",
16
+ "Interactive Block",
17
+ "Collapsible Block",
18
+ "Split Layout",
19
+ "병렬배치",
20
+ "레이아웃",
21
+ "그룹화",
22
+ "위계",
23
+ "고정블록",
24
+ "block-fixed-sm",
25
+ "block-fixed-md",
26
+ "block-fixed-lg",
27
+ "Tree Block",
28
+ "Stepper",
29
+ "Preview",
30
+ "NCDS"
31
+ ],
32
+ "hasChildren": true,
33
+ "whenToUse": [
34
+ "하나의 블록은 하나의 UX 목적만 가진다"
35
+ ],
36
+ "forbiddenRules": [
37
+ "하나의 Block에 두 개 이상의 목적 혼합 금지",
38
+ "Block 내부에 또 다른 카드 스타일 중첩 지양",
39
+ "Block Border 색상 변경 금지",
40
+ "임의 Shadow 추가 금지",
41
+ "블록 간 구분선 사용 금지",
42
+ "블록 고정 높이 사용 금지",
43
+ "Block Header 생략 금지"
44
+ ],
45
+ "seeAlso": [
46
+ "block-header",
47
+ "tooltip",
48
+ "form",
49
+ "table",
50
+ "tab",
51
+ "card",
52
+ "inline-guide"
53
+ ],
54
+ "htmlElement": "section",
55
+ "usageExamples": {
56
+ "default": {
57
+ "children": "BlockHeader + BlockContainer.Body 구성"
58
+ }
59
+ },
60
+ "props": {
61
+ "children": {
62
+ "type": "ReactNode",
63
+ "required": true
64
+ },
65
+ "className": {
66
+ "type": "string",
67
+ "required": false
68
+ }
69
+ },
70
+ "subComponents": {
71
+ "BlockContainer.Body": {
72
+ "props": {
73
+ "children": {
74
+ "type": "ReactNode",
75
+ "required": true
76
+ },
77
+ "className": {
78
+ "type": "string",
79
+ "required": false
80
+ }
81
+ }
82
+ }
83
+ },
84
+ "html": {},
85
+ "bemClasses": [
86
+ "ncua-block-container",
87
+ "ncua-block-container__body"
88
+ ],
89
+ "usage": {
90
+ "import": "import { BlockContainer } from '@ncds/ui-admin';",
91
+ "react": {
92
+ "default": "<BlockContainer children=\"예시\" />"
93
+ }
94
+ }
95
+ }