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

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 (94) hide show
  1. package/README.md +113 -0
  2. package/bin/components.bundle.js +1 -0
  3. package/bin/definitions/compliance-rules.json +64 -0
  4. package/bin/definitions/instructions.md +164 -0
  5. package/bin/definitions/js-api.json +165 -0
  6. package/bin/definitions/rules.json +59 -0
  7. package/bin/definitions/token-descriptions.json +27 -0
  8. package/bin/definitions/tool-definitions.json +58 -0
  9. package/bin/server.d.ts +1 -0
  10. package/bin/server.js +217 -0
  11. package/bin/server.mjs +8 -0
  12. package/bin/tools/getComponentProps.d.ts +4 -0
  13. package/bin/tools/getComponentProps.js +20 -0
  14. package/bin/tools/getDesignTokens.d.ts +13 -0
  15. package/bin/tools/getDesignTokens.js +20 -0
  16. package/bin/tools/listComponents.d.ts +16 -0
  17. package/bin/tools/listComponents.js +24 -0
  18. package/bin/tools/listIcons.d.ts +22 -0
  19. package/bin/tools/listIcons.js +23 -0
  20. package/bin/tools/ping.d.ts +17 -0
  21. package/bin/tools/ping.js +20 -0
  22. package/bin/tools/renderToHtml.d.ts +23 -0
  23. package/bin/tools/renderToHtml.js +267 -0
  24. package/bin/tools/searchComponent.d.ts +4 -0
  25. package/bin/tools/searchComponent.js +33 -0
  26. package/bin/tools/searchIcon.d.ts +7 -0
  27. package/bin/tools/searchIcon.js +19 -0
  28. package/bin/tools/validateHtml.d.ts +18 -0
  29. package/bin/tools/validateHtml.js +85 -0
  30. package/bin/types.d.ts +123 -0
  31. package/bin/types.js +5 -0
  32. package/bin/utils/bemValidator.d.ts +36 -0
  33. package/bin/utils/bemValidator.js +198 -0
  34. package/bin/utils/compliance.d.ts +52 -0
  35. package/bin/utils/compliance.js +199 -0
  36. package/bin/utils/dataLoader.d.ts +35 -0
  37. package/bin/utils/dataLoader.js +192 -0
  38. package/bin/utils/domEnvironment.d.ts +9 -0
  39. package/bin/utils/domEnvironment.js +75 -0
  40. package/bin/utils/fuzzyMatch.d.ts +21 -0
  41. package/bin/utils/fuzzyMatch.js +110 -0
  42. package/bin/utils/logger.d.ts +18 -0
  43. package/bin/utils/logger.js +27 -0
  44. package/bin/utils/response.d.ts +28 -0
  45. package/bin/utils/response.js +39 -0
  46. package/bin/utils/tokenValidator.d.ts +24 -0
  47. package/bin/utils/tokenValidator.js +162 -0
  48. package/bin/version.d.ts +4 -0
  49. package/bin/version.js +7 -0
  50. package/data/_icons.json +12401 -0
  51. package/data/_meta.json +12 -0
  52. package/data/_tokens.json +661 -0
  53. package/data/badge-group.json +295 -0
  54. package/data/badge.json +246 -0
  55. package/data/bread-crumb.json +87 -0
  56. package/data/button-group.json +94 -0
  57. package/data/button.json +259 -0
  58. package/data/carousel-arrow.json +87 -0
  59. package/data/carousel-number-group.json +87 -0
  60. package/data/checkbox.json +99 -0
  61. package/data/combo-box.json +173 -0
  62. package/data/date-picker.json +123 -0
  63. package/data/divider.json +91 -0
  64. package/data/dot.json +103 -0
  65. package/data/dropdown.json +258 -0
  66. package/data/empty-state.json +227 -0
  67. package/data/featured-icon.json +139 -0
  68. package/data/file-input.json +315 -0
  69. package/data/horizontal-tab.json +329 -0
  70. package/data/image-file-input.json +339 -0
  71. package/data/input-base.json +299 -0
  72. package/data/modal.json +143 -0
  73. package/data/notification.json +194 -0
  74. package/data/number-input.json +295 -0
  75. package/data/pagination.json +101 -0
  76. package/data/password-input.json +263 -0
  77. package/data/progress-bar.json +109 -0
  78. package/data/progress-circle.json +96 -0
  79. package/data/radio.json +86 -0
  80. package/data/range-date-picker-with-buttons.json +273 -0
  81. package/data/range-date-picker.json +259 -0
  82. package/data/select-box.json +193 -0
  83. package/data/select.json +132 -0
  84. package/data/slider.json +100 -0
  85. package/data/spinner.json +93 -0
  86. package/data/switch.json +156 -0
  87. package/data/tag.json +159 -0
  88. package/data/textarea.json +96 -0
  89. package/data/toggle.json +102 -0
  90. package/data/tooltip.json +185 -0
  91. package/data/vertical-tab.json +314 -0
  92. package/package.json +61 -0
  93. package/templates/.mcp.json.example +8 -0
  94. package/templates/README.md +30 -0
@@ -0,0 +1,273 @@
1
+ {
2
+ "name": "range-date-picker-with-buttons",
3
+ "exportName": "RangeDatePickerWithButtons",
4
+ "importPath": "@ncds/ui-admin",
5
+ "jsRequired": false,
6
+ "category": "input",
7
+ "description": "기간 옵션 버튼이 내장된 RangeDatePicker 확장 컴포넌트로 빠른 기간 설정을 지원합니다",
8
+ "aliases": [
9
+ "기간 선택 버튼",
10
+ "빠른 기간",
11
+ "date range buttons",
12
+ "오늘",
13
+ "1주",
14
+ "1개월",
15
+ "RangeDatePickerWithButtons"
16
+ ],
17
+ "hasChildren": false,
18
+ "whenToUse": [
19
+ "시작일·종료일 동일 Format·동일 Size를 유지하며 기간 옵션 ButtonGroup으로 빠른 기간 설정이 필요한 경우",
20
+ "overlap/period 유효성 검증으로 잘못된 입력을 방지해야 하는 경우"
21
+ ],
22
+ "forbiddenRules": [
23
+ "시작일과 종료일의 Format 불일치 금지",
24
+ "기간 옵션 ButtonGroup 3개 이하 또는 8개 이상 구성 금지",
25
+ "시작일·종료일 DatePicker 사이즈 불일치 금지",
26
+ "종료일에 isEndDate 수동 false 설정 금지",
27
+ "조회 화면에서 Disabled Field 사용 금지",
28
+ "텍스트 입력 불가 UX 금지",
29
+ "ButtonGroup 없이 RangeDatePicker 단독 사용 시 기간 프리셋 누락 금지",
30
+ "구분자 ~ 외 다른 기호 사용 금지"
31
+ ],
32
+ "seeAlso": [
33
+ "range-date-picker",
34
+ "date-picker"
35
+ ],
36
+ "usageExamples": {
37
+ "default": {
38
+ "startDateOptions": {
39
+ "currentDate": "2026-03-17"
40
+ },
41
+ "endDateOptions": {
42
+ "currentDate": "2026-03-24"
43
+ },
44
+ "currentButtonId": "7DAYS",
45
+ "periodKeys": [
46
+ "TODAY",
47
+ "7DAYS",
48
+ "1MONTHS",
49
+ "3MONTHS",
50
+ "1YEAR",
51
+ "ENTIRE"
52
+ ]
53
+ }
54
+ },
55
+ "props": {
56
+ "currentButtonId": {
57
+ "type": "string",
58
+ "required": true,
59
+ "rawType": "keyof T & string"
60
+ },
61
+ "endDateOptions": {
62
+ "type": "object",
63
+ "required": true,
64
+ "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/date-picker/DatePicker\").DatePickerProps",
65
+ "properties": {
66
+ "size": {
67
+ "type": "enum",
68
+ "required": false,
69
+ "values": [
70
+ "sm",
71
+ "xs"
72
+ ]
73
+ },
74
+ "shouldFocus": {
75
+ "type": "boolean",
76
+ "required": false
77
+ },
78
+ "currentDate": {
79
+ "type": "string",
80
+ "required": true
81
+ },
82
+ "datePickerOptions": {
83
+ "type": "object",
84
+ "required": false,
85
+ "rawType": "Partial<import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/node_modules/flatpickr/dist/types/options\").BaseOptions> | undefined"
86
+ },
87
+ "destructive": {
88
+ "type": "string",
89
+ "required": false
90
+ },
91
+ "placeholder": {
92
+ "type": "string",
93
+ "required": false
94
+ },
95
+ "isEndDate": {
96
+ "type": "boolean",
97
+ "required": false
98
+ },
99
+ "className": {
100
+ "type": "string",
101
+ "required": false
102
+ },
103
+ "onChangeDate": {
104
+ "type": "function",
105
+ "required": true
106
+ },
107
+ "onValidationError": {
108
+ "type": "function",
109
+ "required": false
110
+ }
111
+ }
112
+ },
113
+ "onDateValidation": {
114
+ "type": "function",
115
+ "required": false
116
+ },
117
+ "periodItems": {
118
+ "type": "string",
119
+ "required": false,
120
+ "rawType": "T | undefined"
121
+ },
122
+ "periodKeys": {
123
+ "type": "object",
124
+ "required": true,
125
+ "rawType": "(keyof T & string)[]"
126
+ },
127
+ "setCurrentButtonId": {
128
+ "type": "function",
129
+ "required": true
130
+ },
131
+ "size": {
132
+ "type": "enum",
133
+ "required": false,
134
+ "values": [
135
+ "sm",
136
+ "xs"
137
+ ],
138
+ "default": "xs"
139
+ },
140
+ "startDateOptions": {
141
+ "type": "object",
142
+ "required": true,
143
+ "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/date-picker/DatePicker\").DatePickerProps",
144
+ "properties": {
145
+ "size": {
146
+ "type": "enum",
147
+ "required": false,
148
+ "values": [
149
+ "sm",
150
+ "xs"
151
+ ]
152
+ },
153
+ "shouldFocus": {
154
+ "type": "boolean",
155
+ "required": false
156
+ },
157
+ "currentDate": {
158
+ "type": "string",
159
+ "required": true
160
+ },
161
+ "datePickerOptions": {
162
+ "type": "object",
163
+ "required": false,
164
+ "rawType": "Partial<import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/node_modules/flatpickr/dist/types/options\").BaseOptions> | undefined"
165
+ },
166
+ "destructive": {
167
+ "type": "string",
168
+ "required": false
169
+ },
170
+ "placeholder": {
171
+ "type": "string",
172
+ "required": false
173
+ },
174
+ "isEndDate": {
175
+ "type": "boolean",
176
+ "required": false
177
+ },
178
+ "className": {
179
+ "type": "string",
180
+ "required": false
181
+ },
182
+ "onChangeDate": {
183
+ "type": "function",
184
+ "required": true
185
+ },
186
+ "onValidationError": {
187
+ "type": "function",
188
+ "required": false
189
+ }
190
+ }
191
+ },
192
+ "useYesterdayAsEndDate": {
193
+ "type": "boolean",
194
+ "required": false,
195
+ "default": false
196
+ },
197
+ "validationOption": {
198
+ "type": "object",
199
+ "required": false,
200
+ "properties": {
201
+ "initDate": {
202
+ "type": "object",
203
+ "required": false,
204
+ "properties": {
205
+ "startDate": {
206
+ "type": "string",
207
+ "required": false
208
+ },
209
+ "endDate": {
210
+ "type": "string",
211
+ "required": false
212
+ }
213
+ }
214
+ },
215
+ "setting": {
216
+ "type": "object",
217
+ "required": false,
218
+ "properties": {
219
+ "unit": {
220
+ "type": "enum",
221
+ "required": true,
222
+ "values": [
223
+ "M",
224
+ "Q",
225
+ "d",
226
+ "day",
227
+ "days",
228
+ "h",
229
+ "hour",
230
+ "hours",
231
+ "m",
232
+ "millisecond",
233
+ "milliseconds",
234
+ "minute",
235
+ "minutes",
236
+ "month",
237
+ "months",
238
+ "ms",
239
+ "quarter",
240
+ "quarters",
241
+ "s",
242
+ "second",
243
+ "seconds",
244
+ "w",
245
+ "week",
246
+ "weeks",
247
+ "y",
248
+ "year",
249
+ "years"
250
+ ]
251
+ },
252
+ "period": {
253
+ "type": "number",
254
+ "required": true
255
+ }
256
+ }
257
+ }
258
+ }
259
+ }
260
+ },
261
+ "html": {},
262
+ "bemClasses": [
263
+ "ncua-range-date-picker-with-buttons"
264
+ ],
265
+ "usage": {
266
+ "import": "import { RangeDatePickerWithButtons } from '@ncds/ui-admin';",
267
+ "react": {
268
+ "default": "<RangeDatePickerWithButtons currentButtonId=\"\" endDateOptions=\"\" periodKeys=\"\" setCurrentButtonId=\"\" startDateOptions=\"\" />",
269
+ "size:sm": "<RangeDatePickerWithButtons size=\"sm\" currentButtonId=\"\" endDateOptions=\"\" periodKeys=\"\" setCurrentButtonId=\"\" startDateOptions=\"\" />",
270
+ "size:xs": "<RangeDatePickerWithButtons size=\"xs\" currentButtonId=\"\" endDateOptions=\"\" periodKeys=\"\" setCurrentButtonId=\"\" startDateOptions=\"\" />"
271
+ }
272
+ }
273
+ }
@@ -0,0 +1,259 @@
1
+ {
2
+ "name": "range-date-picker",
3
+ "exportName": "RangeDatePicker",
4
+ "importPath": "@ncds/ui-admin",
5
+ "jsRequired": false,
6
+ "category": "input",
7
+ "description": "RangeDatePicker는 시작일~종료일 기간 범위를 선택해야 하는 경우 사용하는 복합 선택 위젯입니다. 검색 기간 설정, 노출 기간 설정, 이벤트 기간 설정 등 두 날짜의 쌍(Pair)이 필요한 모든 상황에서 사용합니다.",
8
+ "aliases": [
9
+ "범위날짜선택",
10
+ "RangeDatePicker",
11
+ "RangeDatePickerWithButtons",
12
+ "컴포넌트",
13
+ "기간선택",
14
+ "시작일",
15
+ "종료일",
16
+ "날짜범위",
17
+ "ButtonGroup",
18
+ "기간옵션",
19
+ "periodKeys",
20
+ "validationOption",
21
+ "onDateValidation",
22
+ "overlap",
23
+ "period",
24
+ "NCDS"
25
+ ],
26
+ "hasChildren": false,
27
+ "whenToUse": [
28
+ "시작일·종료일 동일 Format·동일 Size를 유지",
29
+ "기간 옵션 ButtonGroup(4~7개)으로 빠른 기간 설정 지원",
30
+ "overlap/period 유효성 검증으로 잘못된 입력 방지"
31
+ ],
32
+ "forbiddenRules": [
33
+ "시작일과 종료일의 Format 불일치 금지",
34
+ "기간 옵션 ButtonGroup 3개 이하 또는 8개 이상 구성 금지",
35
+ "시작일·종료일 DatePicker 사이즈 불일치 금지",
36
+ "종료일에 isEndDate 수동 false 설정 금지",
37
+ "조회 화면에서 Disabled Field 사용 금지",
38
+ "텍스트 입력 불가 UX 금지",
39
+ "ButtonGroup 없이 기간 프리셋 누락 금지",
40
+ "구분자 ~ 외 다른 기호 사용 금지"
41
+ ],
42
+ "seeAlso": [
43
+ "date-picker",
44
+ "button-group"
45
+ ],
46
+ "usageExamples": {
47
+ "default": {
48
+ "startDateOptions": {
49
+ "currentDate": "2026-03-01"
50
+ },
51
+ "endDateOptions": {
52
+ "currentDate": "2026-03-24"
53
+ }
54
+ },
55
+ "withSize": {
56
+ "startDateOptions": {
57
+ "currentDate": "2026-03-01"
58
+ },
59
+ "endDateOptions": {
60
+ "currentDate": "2026-03-24"
61
+ },
62
+ "size": "sm"
63
+ }
64
+ },
65
+ "props": {
66
+ "endDateOptions": {
67
+ "type": "object",
68
+ "required": true,
69
+ "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/date-picker/DatePicker\").DatePickerProps",
70
+ "properties": {
71
+ "size": {
72
+ "type": "enum",
73
+ "required": false,
74
+ "values": [
75
+ "sm",
76
+ "xs"
77
+ ]
78
+ },
79
+ "shouldFocus": {
80
+ "type": "boolean",
81
+ "required": false
82
+ },
83
+ "currentDate": {
84
+ "type": "string",
85
+ "required": true
86
+ },
87
+ "datePickerOptions": {
88
+ "type": "object",
89
+ "required": false,
90
+ "rawType": "Partial<import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/node_modules/flatpickr/dist/types/options\").BaseOptions> | undefined"
91
+ },
92
+ "destructive": {
93
+ "type": "string",
94
+ "required": false
95
+ },
96
+ "placeholder": {
97
+ "type": "string",
98
+ "required": false
99
+ },
100
+ "isEndDate": {
101
+ "type": "boolean",
102
+ "required": false
103
+ },
104
+ "className": {
105
+ "type": "string",
106
+ "required": false
107
+ },
108
+ "onChangeDate": {
109
+ "type": "function",
110
+ "required": true
111
+ },
112
+ "onValidationError": {
113
+ "type": "function",
114
+ "required": false
115
+ }
116
+ }
117
+ },
118
+ "onDateValidation": {
119
+ "type": "function",
120
+ "required": false
121
+ },
122
+ "size": {
123
+ "type": "enum",
124
+ "required": false,
125
+ "values": [
126
+ "sm",
127
+ "xs"
128
+ ],
129
+ "default": "xs"
130
+ },
131
+ "startDateOptions": {
132
+ "type": "object",
133
+ "required": true,
134
+ "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/date-picker/DatePicker\").DatePickerProps",
135
+ "properties": {
136
+ "size": {
137
+ "type": "enum",
138
+ "required": false,
139
+ "values": [
140
+ "sm",
141
+ "xs"
142
+ ]
143
+ },
144
+ "shouldFocus": {
145
+ "type": "boolean",
146
+ "required": false
147
+ },
148
+ "currentDate": {
149
+ "type": "string",
150
+ "required": true
151
+ },
152
+ "datePickerOptions": {
153
+ "type": "object",
154
+ "required": false,
155
+ "rawType": "Partial<import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/node_modules/flatpickr/dist/types/options\").BaseOptions> | undefined"
156
+ },
157
+ "destructive": {
158
+ "type": "string",
159
+ "required": false
160
+ },
161
+ "placeholder": {
162
+ "type": "string",
163
+ "required": false
164
+ },
165
+ "isEndDate": {
166
+ "type": "boolean",
167
+ "required": false
168
+ },
169
+ "className": {
170
+ "type": "string",
171
+ "required": false
172
+ },
173
+ "onChangeDate": {
174
+ "type": "function",
175
+ "required": true
176
+ },
177
+ "onValidationError": {
178
+ "type": "function",
179
+ "required": false
180
+ }
181
+ }
182
+ },
183
+ "validationOption": {
184
+ "type": "object",
185
+ "required": false,
186
+ "properties": {
187
+ "initDate": {
188
+ "type": "object",
189
+ "required": false,
190
+ "properties": {
191
+ "startDate": {
192
+ "type": "string",
193
+ "required": false
194
+ },
195
+ "endDate": {
196
+ "type": "string",
197
+ "required": false
198
+ }
199
+ }
200
+ },
201
+ "setting": {
202
+ "type": "object",
203
+ "required": false,
204
+ "properties": {
205
+ "unit": {
206
+ "type": "enum",
207
+ "required": true,
208
+ "values": [
209
+ "M",
210
+ "Q",
211
+ "d",
212
+ "day",
213
+ "days",
214
+ "h",
215
+ "hour",
216
+ "hours",
217
+ "m",
218
+ "millisecond",
219
+ "milliseconds",
220
+ "minute",
221
+ "minutes",
222
+ "month",
223
+ "months",
224
+ "ms",
225
+ "quarter",
226
+ "quarters",
227
+ "s",
228
+ "second",
229
+ "seconds",
230
+ "w",
231
+ "week",
232
+ "weeks",
233
+ "y",
234
+ "year",
235
+ "years"
236
+ ]
237
+ },
238
+ "period": {
239
+ "type": "number",
240
+ "required": true
241
+ }
242
+ }
243
+ }
244
+ }
245
+ }
246
+ },
247
+ "html": {},
248
+ "bemClasses": [
249
+ "ncua-range-date-picker"
250
+ ],
251
+ "usage": {
252
+ "import": "import { RangeDatePicker } from '@ncds/ui-admin';",
253
+ "react": {
254
+ "default": "<RangeDatePicker endDateOptions=\"\" startDateOptions=\"\" />",
255
+ "size:sm": "<RangeDatePicker size=\"sm\" endDateOptions=\"\" startDateOptions=\"\" />",
256
+ "size:xs": "<RangeDatePicker size=\"xs\" endDateOptions=\"\" startDateOptions=\"\" />"
257
+ }
258
+ }
259
+ }