@ncds/ui-admin-mcp 1.0.0-alpha.13 → 1.0.0-alpha.15

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 (52) hide show
  1. package/bin/components.bundle.js +1 -1
  2. package/bin/definitions/external/editor.d.ts +50 -0
  3. package/bin/definitions/external/editor.js +53 -0
  4. package/bin/definitions/js-api.json +139 -21
  5. package/bin/server.d.ts +5 -0
  6. package/bin/server.js +21 -15
  7. package/bin/tools/external/editor.d.ts +17 -0
  8. package/bin/tools/external/editor.js +88 -0
  9. package/bin/tools/renderToHtml.d.ts +22 -7
  10. package/bin/tools/renderToHtml.js +232 -11
  11. package/bin/types.d.ts +10 -0
  12. package/data/badge-group.json +4 -4
  13. package/data/badge.json +3 -3
  14. package/data/bread-crumb.json +1 -1
  15. package/data/button-group.json +10 -0
  16. package/data/button.json +2 -2
  17. package/data/carousel-arrow.json +1 -1
  18. package/data/carousel-number-group.json +1 -1
  19. package/data/checkbox.json +1 -1
  20. package/data/combo-box.json +4 -4
  21. package/data/date-picker.json +2 -2
  22. package/data/divider.json +1 -1
  23. package/data/dot.json +1 -1
  24. package/data/dropdown.json +38 -18
  25. package/data/editor.json +85 -0
  26. package/data/empty-state.json +4 -4
  27. package/data/featured-icon.json +2 -2
  28. package/data/file-input.json +6 -1
  29. package/data/horizontal-tab.json +4 -4
  30. package/data/image-file-input.json +6 -1
  31. package/data/input-base.json +1 -1
  32. package/data/modal.json +51 -7
  33. package/data/notification.json +7 -23
  34. package/data/number-input.json +1 -1
  35. package/data/password-input.json +1 -1
  36. package/data/progress-bar.json +2 -2
  37. package/data/progress-circle.json +1 -1
  38. package/data/radio.json +1 -1
  39. package/data/range-date-picker-with-buttons.json +5 -5
  40. package/data/range-date-picker.json +5 -5
  41. package/data/select-box.json +4 -4
  42. package/data/select.json +8 -3
  43. package/data/slider.json +1 -1
  44. package/data/spinner.json +1 -1
  45. package/data/switch.json +1 -1
  46. package/data/table.json +3 -1
  47. package/data/tag.json +2 -2
  48. package/data/textarea.json +1 -1
  49. package/data/toggle.json +1 -1
  50. package/data/tooltip.json +1 -1
  51. package/data/vertical-tab.json +4 -4
  52. package/package.json +3 -2
@@ -3,7 +3,7 @@
3
3
  "exportName": "Dropdown",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": false,
6
- "category": "overlay",
6
+ "category": "overlays",
7
7
  "description": "Dropdown(메뉴형)은 버튼, 아이콘, 아바타 등 트리거 요소를 통해 숨겨진 메뉴 또는 작업(Action) 목록을 레이어 형태로 노출하는 컴포넌트입니다.",
8
8
  "aliases": [
9
9
  "Dropdown",
@@ -97,32 +97,25 @@
97
97
  "values": [
98
98
  "left",
99
99
  "right"
100
- ],
101
- "default": "left"
100
+ ]
102
101
  },
103
102
  "className": {
104
103
  "type": "string",
105
104
  "required": false
106
105
  },
107
- "closeOnClickItem": {
108
- "type": "boolean",
109
- "required": false,
110
- "default": true
111
- },
112
106
  "closeOnClickOutside": {
113
107
  "type": "boolean",
114
- "required": false,
115
- "default": true
108
+ "required": false
116
109
  },
117
110
  "groups": {
118
111
  "type": "object",
119
112
  "required": true,
120
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/dropdown/Dropdown\").DropdownGroup[]",
113
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/overlays/dropdown/Dropdown\").DropdownGroup[]",
121
114
  "properties": {
122
115
  "items": {
123
116
  "type": "object",
124
117
  "required": true,
125
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/dropdown/Dropdown\").DropdownItemType[]",
118
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/overlays/dropdown/Dropdown\").DropdownItemType[]",
126
119
  "properties": {
127
120
  "id": {
128
121
  "type": "string",
@@ -160,15 +153,27 @@
160
153
  "className": {
161
154
  "type": "string",
162
155
  "required": false
156
+ },
157
+ "visible": {
158
+ "type": "boolean",
159
+ "required": false
160
+ },
161
+ "required": {
162
+ "type": "boolean",
163
+ "required": false
163
164
  }
164
165
  }
166
+ },
167
+ "sortable": {
168
+ "type": "boolean",
169
+ "required": false
165
170
  }
166
171
  }
167
172
  },
168
173
  "header": {
169
174
  "type": "object",
170
175
  "required": false,
171
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/dropdown/Dropdown\").DropdownHeaderType | undefined",
176
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/overlays/dropdown/Dropdown\").DropdownHeaderType | undefined",
172
177
  "properties": {
173
178
  "type": {
174
179
  "type": "string",
@@ -191,13 +196,12 @@
191
196
  },
192
197
  "opened": {
193
198
  "type": "boolean",
194
- "required": false,
195
- "default": false
199
+ "required": false
196
200
  },
197
201
  "trigger": {
198
202
  "type": "object",
199
203
  "required": true,
200
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/dropdown/Dropdown\").AvatarTrigger | import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/dropdown/Dropdown\").ButtonTrigger | import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/dropdown/Dropdown\").IconTrigger | import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/dropdown/Dropdown\").CustomTrigger",
204
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/overlays/dropdown/Dropdown\").AvatarTrigger | import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/overlays/dropdown/Dropdown\").ButtonTrigger | import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/overlays/dropdown/Dropdown\").IconTrigger | import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/overlays/dropdown/Dropdown\").CustomTrigger",
201
205
  "properties": {
202
206
  "type": {
203
207
  "type": "string",
@@ -222,13 +226,23 @@
222
226
  "required": false
223
227
  }
224
228
  }
229
+ },
230
+ "variant": {
231
+ "type": "enum",
232
+ "required": false,
233
+ "values": [
234
+ "action",
235
+ "config"
236
+ ]
225
237
  }
226
238
  },
227
239
  "html": {},
228
240
  "bemClasses": [
229
241
  "ncua-dropdown",
242
+ "ncua-dropdown-",
230
243
  "ncua-dropdown--right",
231
244
  "ncua-dropdown__avatar",
245
+ "ncua-dropdown__footer",
232
246
  "ncua-dropdown__group",
233
247
  "ncua-dropdown__header",
234
248
  "ncua-dropdown__header-avatar-group",
@@ -236,12 +250,16 @@
236
250
  "ncua-dropdown__header-text",
237
251
  "ncua-dropdown__header-title",
238
252
  "ncua-dropdown__item",
239
- "ncua-dropdown__item-clickable-layer",
253
+ "ncua-dropdown__item--config",
254
+ "ncua-dropdown__item--drag-preview",
240
255
  "ncua-dropdown__item-content",
256
+ "ncua-dropdown__item-drag-handle",
257
+ "ncua-dropdown__item-drop-indicator",
241
258
  "ncua-dropdown__item-icon",
242
259
  "ncua-dropdown__item-shortcut",
243
260
  "ncua-dropdown__item-text",
244
261
  "ncua-dropdown__item-text-group",
262
+ "ncua-dropdown__item-visibility",
245
263
  "ncua-dropdown__menu",
246
264
  "ncua-dropdown__menu-items",
247
265
  "ncua-dropdown__trigger",
@@ -254,7 +272,9 @@
254
272
  "react": {
255
273
  "default": "<Dropdown groups=\"\" trigger=\"\" />",
256
274
  "align:left": "<Dropdown align=\"left\" groups=\"\" trigger=\"\" />",
257
- "align:right": "<Dropdown align=\"right\" groups=\"\" trigger=\"\" />"
275
+ "align:right": "<Dropdown align=\"right\" groups=\"\" trigger=\"\" />",
276
+ "variant:action": "<Dropdown variant=\"action\" groups=\"\" trigger=\"\" />",
277
+ "variant:config": "<Dropdown variant=\"config\" groups=\"\" trigger=\"\" />"
258
278
  }
259
279
  }
260
280
  }
@@ -0,0 +1,85 @@
1
+ {
2
+ "name": "editor",
3
+ "exportName": "NcdsEditor",
4
+ "importPath": "@ncds/editor-html",
5
+ "jsRequired": true,
6
+ "category": "form",
7
+ "description": "froala 기반 WYSIWYG 에디터. textarea 를 in-place 변환. 외부 패키지(@ncds/editor-html) — render_to_html 호출 시 외부 분기 모듈에서 응답 직접 조립.",
8
+ "aliases": [
9
+ "Editor",
10
+ "에디터",
11
+ "WYSIWYG",
12
+ "위지윅",
13
+ "Froala",
14
+ "GodoEditor",
15
+ "NcdsEditor",
16
+ "리치 텍스트",
17
+ "rich text",
18
+ "ncds-editor",
19
+ "editor-html"
20
+ ],
21
+ "hasChildren": false,
22
+ "whenToUse": [
23
+ "장문/리치 텍스트 입력이 필요한 경우 (게시글 본문·상품 설명·뉴스레터 작성 등)",
24
+ "이미지·표·링크 등 인라인 컨텐츠 삽입이 필요한 경우",
25
+ "한국어 폰트 다양성이 중요한 경우 (나눔고딕·바탕 등 9종 지원)"
26
+ ],
27
+ "forbiddenRules": [
28
+ "단순 한 줄 텍스트 입력에 사용 금지 (Input 컴포넌트 사용)",
29
+ "컴포넌트 자식(children)으로 직접 마크업 주입 금지 — setHTML(html) API 사용",
30
+ "동적 삽입(모달 안에 textarea 추가) 시 mcp 출력 그대로 사용 금지 — window.ncdsEditor.initAll() 수동 호출 필요 (현재 mcp 미지원, 후속 스토리)"
31
+ ],
32
+ "seeAlso": ["input", "textarea"],
33
+ "usageExamples": {
34
+ "default": {
35
+ "heightMin": 300,
36
+ "heightMax": 600,
37
+ "placeholderText": "내용을 입력하세요."
38
+ },
39
+ "resizable": {
40
+ "heightMin": 150,
41
+ "heightMax": 400,
42
+ "heightResize": true,
43
+ "placeholderText": "높이를 조정할 수 있습니다."
44
+ },
45
+ "withCustomImageUpload": {
46
+ "heightMin": 200,
47
+ "heightMax": 400,
48
+ "placeholderText": "이미지 업로드가 가능합니다.",
49
+ "imageUploadCallback": "customImageUploadHandler"
50
+ }
51
+ },
52
+ "props": {
53
+ "heightMin": {
54
+ "type": "number",
55
+ "required": false,
56
+ "default": 300
57
+ },
58
+ "heightMax": {
59
+ "type": "number",
60
+ "required": false,
61
+ "default": 600
62
+ },
63
+ "heightResize": {
64
+ "type": "boolean",
65
+ "required": false,
66
+ "default": false
67
+ },
68
+ "placeholderText": {
69
+ "type": "string",
70
+ "required": false,
71
+ "default": "내용을 입력하세요."
72
+ },
73
+ "imageUploadCallback": {
74
+ "type": "string",
75
+ "required": false,
76
+ "description": "전역 이미지 업로드 콜백 함수명. 마크업의 data-image-upload-callback 속성으로 직렬화."
77
+ }
78
+ },
79
+ "html": {},
80
+ "bemClasses": ["ncds-editor-container", "fr-toolbar", "fr-element", "fr-box", "fr-resize-handle"],
81
+ "usage": {
82
+ "import": "// CDN 로드 (npm import 미지원, vanilla JS only)\n<script src=\"https://fe-sdk.cdn-nhncommerce.com/@ncds/editor/0.0/ncds-editor.js\"></script>",
83
+ "react": {}
84
+ }
85
+ }
@@ -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",
@@ -37,7 +37,7 @@
37
37
  "buttons": {
38
38
  "type": "object",
39
39
  "required": false,
40
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/empty-state/EmptyState\").ButtonOptions | import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/empty-state/EmptyState\").ButtonOptions[] | undefined",
40
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/feedback-and-status/empty-state/EmptyState\").ButtonOptions | import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/feedback-and-status/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/nhn/Project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
82
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
83
83
  "properties": {
84
84
  "type": {
85
85
  "type": "string",
@@ -142,7 +142,7 @@
142
142
  "trailingIcon": {
143
143
  "type": "object",
144
144
  "required": false,
145
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
145
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
146
146
  "properties": {
147
147
  "type": {
148
148
  "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
  "피처드아이콘",
@@ -3,7 +3,7 @@
3
3
  "exportName": "FileInput",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": true,
6
- "category": "input",
6
+ "category": "forms-and-input",
7
7
  "description": "File Upload가 필요한 영역에서 공통 UI/UX를 적용하는 입력 컴포넌트입니다",
8
8
  "aliases": [
9
9
  "파일인풋",
@@ -167,6 +167,11 @@
167
167
  "type": "number",
168
168
  "required": false
169
169
  },
170
+ "multiple": {
171
+ "type": "boolean",
172
+ "required": false,
173
+ "default": false
174
+ },
170
175
  "onChange": {
171
176
  "type": "function",
172
177
  "required": false
@@ -60,7 +60,7 @@
60
60
  "menus": {
61
61
  "type": "object",
62
62
  "required": false,
63
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/tab/TabButton\").TabButtonProps[] | undefined",
63
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/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/nhn/Project/ncds/packages/ui-admin/src/components/badge/Badge\").BadgeProps | undefined",
100
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/feedback-and-status/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/nhn/Project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
134
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
135
135
  "properties": {
136
136
  "type": {
137
137
  "type": "string",
@@ -194,7 +194,7 @@
194
194
  "trailingIcon": {
195
195
  "type": "object",
196
196
  "required": false,
197
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
197
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
198
198
  "properties": {
199
199
  "type": {
200
200
  "type": "string",
@@ -3,7 +3,7 @@
3
3
  "exportName": "ImageFileInput",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": true,
6
- "category": "input",
6
+ "category": "forms-and-input",
7
7
  "description": "상품 이미지 등 시각적으로 참조되어야 하는 이미지 업로드 영역에 사용되는 컴포넌트입니다",
8
8
  "aliases": [
9
9
  "이미지파일인풋",
@@ -175,6 +175,11 @@
175
175
  "type": "number",
176
176
  "required": false
177
177
  },
178
+ "multiple": {
179
+ "type": "boolean",
180
+ "required": false,
181
+ "default": false
182
+ },
178
183
  "onChange": {
179
184
  "type": "function",
180
185
  "required": false
@@ -3,7 +3,7 @@
3
3
  "exportName": "InputBase",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": false,
6
- "category": "input",
6
+ "category": "forms-and-input",
7
7
  "description": "Input은 사용자에게 텍스트 데이터를 입력받는 UI 요소로, 다양한 사이즈와 상태를 지원하며 입력 필드 앞뒤로 아이콘, 텍스트, 버튼 등의 요소를 배치할 수 있습니다.",
8
8
  "aliases": [
9
9
  "인풋",
package/data/modal.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "exportName": "Modal",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": true,
6
- "category": "overlay",
6
+ "category": "overlays",
7
7
  "description": "Modal은 사용자가 현재 페이지를 이탈하지 않고도 집중이 필요한 중요 정보 제공 또는 복잡한 입력/처리 작업을 수행하도록 하기 위한 오버레이 UI 컴포넌트입니다.",
8
8
  "aliases": [
9
9
  "Modal",
@@ -31,10 +31,7 @@
31
31
  "NCDS"
32
32
  ],
33
33
  "hasChildren": true,
34
- "whenToUse": [
35
- "현재 흐름을 중단하고 사용자 집중을 요구하는 UI 패턴입니다",
36
- "정보 확인/입력/처리성 작업에만 한정하여 사용합니다"
37
- ],
34
+ "whenToUse": [],
38
35
  "forbiddenRules": [
39
36
  "단순 알림에 과도한 Modal 사용 금지",
40
37
  "버튼 3개 이상 구성 금지",
@@ -47,7 +44,9 @@
47
44
  "button",
48
45
  "featured-icon",
49
46
  "icon",
50
- "toast"
47
+ "notification",
48
+ "toast",
49
+ "snackbar"
51
50
  ],
52
51
  "usageExamples": {
53
52
  "default": {
@@ -196,10 +195,20 @@
196
195
  "type": "ReactNode",
197
196
  "required": false
198
197
  },
198
+ "closeOnBackdropClick": {
199
+ "type": "boolean",
200
+ "required": false,
201
+ "default": false
202
+ },
203
+ "closeOnEsc": {
204
+ "type": "boolean",
205
+ "required": false,
206
+ "default": true
207
+ },
199
208
  "featuredIcon": {
200
209
  "type": "object",
201
210
  "required": false,
202
- "rawType": "{ icon: import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/types/side-slot\").SlotIconComponent; color: import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/featured-icon/FeaturedIcon\").FeaturedIconColor; theme: import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/featured-icon/FeaturedIcon\").FeaturedIconTheme; } | undefined",
211
+ "rawType": "{ icon: import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/types/side-slot\").SlotIconComponent; color: import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/image-and-icons/featured-icon/FeaturedIcon\").FeaturedIconColor; theme: import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/image-and-icons/featured-icon/FeaturedIcon\").FeaturedIconTheme; } | undefined",
203
212
  "properties": {
204
213
  "icon": {
205
214
  "type": "function",
@@ -242,6 +251,11 @@
242
251
  "required": false,
243
252
  "default": false
244
253
  },
254
+ "size": {
255
+ "type": "string",
256
+ "required": false,
257
+ "default": "md"
258
+ },
245
259
  "subtitle": {
246
260
  "type": "ReactNode",
247
261
  "required": false
@@ -261,6 +275,21 @@
261
275
  "className": {
262
276
  "type": "string",
263
277
  "required": false
278
+ },
279
+ "closeOnBackdropClick": {
280
+ "type": "boolean",
281
+ "required": false,
282
+ "default": false
283
+ },
284
+ "closeOnEsc": {
285
+ "type": "boolean",
286
+ "required": false,
287
+ "default": true
288
+ },
289
+ "size": {
290
+ "type": "string",
291
+ "required": false,
292
+ "default": "md"
264
293
  }
265
294
  }
266
295
  },
@@ -289,6 +318,16 @@
289
318
  "type": "string",
290
319
  "required": false
291
320
  },
321
+ "closeOnBackdropClick": {
322
+ "type": "boolean",
323
+ "required": false,
324
+ "default": false
325
+ },
326
+ "closeOnEsc": {
327
+ "type": "boolean",
328
+ "required": false,
329
+ "default": true
330
+ },
292
331
  "layout": {
293
332
  "type": "enum",
294
333
  "required": false,
@@ -303,6 +342,11 @@
303
342
  "type": "boolean",
304
343
  "required": false,
305
344
  "default": false
345
+ },
346
+ "size": {
347
+ "type": "string",
348
+ "required": false,
349
+ "default": "md"
306
350
  }
307
351
  }
308
352
  }
@@ -3,19 +3,16 @@
3
3
  "exportName": "Notification",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": true,
6
- "category": "overlay",
7
- "description": "Notification 컴포넌트는 현재 작업과 관련된 상태 정보, 경고, 확인 요청, 처리 결과를 사용자에게 전달하는 UI입니다.",
6
+ "category": "overlays",
7
+ "description": "Notification 컴포넌트는 현재 작업과 관련된 상태 정보, 경고, 처리 결과를 비차단 방식으로 사용자에게 전달하는 UI입니다.",
8
8
  "aliases": [
9
9
  "Notification",
10
10
  "알림",
11
- "푸시알림",
12
- "Confirm Alert",
13
- "Alert",
14
- "Toast Alert",
15
11
  "Toast",
16
12
  "Floating",
17
13
  "Full-width",
18
14
  "Message",
15
+ "Callout",
19
16
  "onClose",
20
17
  "autoClose",
21
18
  "actions",
@@ -25,39 +22,26 @@
25
22
  "warning",
26
23
  "success",
27
24
  "info",
28
- "Dim",
29
- "Destructive",
30
25
  "aria-live",
31
26
  "NCDS"
32
27
  ],
33
28
  "hasChildren": false,
34
- "whenToUse": [
35
- "사용자 액션의 영향도 및 시스템 상태 변화에 따라 적절한 유형을 선택하여 사용해야 합니다",
36
- "과도하거나 잘못된 유형 사용은 사용자 경험을 저해합니다"
37
- ],
29
+ "whenToUse": [],
38
30
  "forbiddenRules": [
39
- "Confirm Alert에 단일 버튼 구성 금지",
40
- "Confirm Alert에 취소 버튼 미제공 금지",
41
- "파괴적 액션에 일반 버튼 사용 금지",
42
- "Alert에 2개 이상의 버튼 금지",
43
- "Alert에 Destructive 스타일 남용 금지",
44
31
  "Toast에 Dim 처리 금지",
45
- "Confirm 대신 Toast 사용 금지",
46
- "시스템 영향 큰 작업에 Toast 사용 금지",
47
32
  "Message type에 info 컬러 사용 금지"
48
33
  ],
49
34
  "seeAlso": [
50
- "modal",
51
- "button",
52
35
  "featured-icon",
53
- "icon"
36
+ "icon",
37
+ "modal"
54
38
  ],
55
39
  "htmlElement": "div",
56
40
  "props": {
57
41
  "actions": {
58
42
  "type": "object",
59
43
  "required": false,
60
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/notification/Notification\").NotificationAction[] | undefined",
44
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/overlays/notification/Notification\").NotificationAction[] | undefined",
61
45
  "properties": {
62
46
  "label": {
63
47
  "type": "string",
@@ -3,7 +3,7 @@
3
3
  "exportName": "NumberInput",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": false,
6
- "category": "input",
6
+ "category": "forms-and-input",
7
7
  "description": "NumberInput은 숫자만 입력 가능한 전용 입력 컨트롤로, 직접 입력과 Spin Button(▲/▼) 조작을 모두 지원하며 Step 기능을 통해 값을 증감할 수 있습니다.",
8
8
  "aliases": [
9
9
  "숫자입력",
@@ -3,7 +3,7 @@
3
3
  "exportName": "PasswordInput",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": false,
6
- "category": "input",
6
+ "category": "forms-and-input",
7
7
  "description": "비밀번호 전용 입력 필드로 마스킹 토글을 내장합니다",
8
8
  "aliases": [
9
9
  "비밀번호",
@@ -3,7 +3,7 @@
3
3
  "exportName": "ProgressBar",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": true,
6
- "category": "feedback",
6
+ "category": "feedback-and-status",
7
7
  "description": "ProgressBar는 작업 진행률, 로딩 프로세스, 완료율 등을 시각적으로 표시하여 사용자에게 진행 중인 작업의 정도를 퍼센트(%)로 보여주는 컴포넌트입니다.",
8
8
  "aliases": [
9
9
  "ProgressBar",
@@ -51,7 +51,7 @@
51
51
  "segments": {
52
52
  "type": "object",
53
53
  "required": false,
54
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/progress-bar/types\").ProgressSegment[] | undefined",
54
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/feedback-and-status/progress-bar/types\").ProgressSegment[] | undefined",
55
55
  "properties": {
56
56
  "value": {
57
57
  "type": "number",
@@ -3,7 +3,7 @@
3
3
  "exportName": "ProgressCircle",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": false,
6
- "category": "feedback",
6
+ "category": "feedback-and-status",
7
7
  "description": "ProgressCircle은 작업 진행 상태를 원형의 수치(%)로 시각화하여 사용자에게 현재 진행 정도를 명확하게 전달하는 컴포넌트입니다.",
8
8
  "aliases": [
9
9
  "ProgressCircle",
package/data/radio.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "exportName": "Radio",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": false,
6
- "category": "input",
6
+ "category": "forms-and-input",
7
7
  "description": "Radio는 여러 옵션 중 하나만 선택할 수 있는 단일 선택(Single Selection) 컨트롤로, 텍스트 라벨과 보조 설명을 함께 제공할 수 있습니다.",
8
8
  "aliases": [
9
9
  "라디오",
@@ -3,7 +3,7 @@
3
3
  "exportName": "RangeDatePickerWithButtons",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": false,
6
- "category": "input",
6
+ "category": "forms-and-input",
7
7
  "description": "기간 옵션 버튼이 내장된 RangeDatePicker 확장 컴포넌트로 빠른 기간 설정을 지원합니다",
8
8
  "aliases": [
9
9
  "기간 선택 버튼",
@@ -61,7 +61,7 @@
61
61
  "endDateOptions": {
62
62
  "type": "object",
63
63
  "required": true,
64
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/date-picker/DatePicker\").DatePickerProps",
64
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/forms-and-input/date-picker/DatePicker\").DatePickerProps",
65
65
  "properties": {
66
66
  "size": {
67
67
  "type": "enum",
@@ -82,7 +82,7 @@
82
82
  "datePickerOptions": {
83
83
  "type": "object",
84
84
  "required": false,
85
- "rawType": "Partial<import(\"/Users/nhn/Project/ncds/node_modules/.pnpm/flatpickr@4.6.13/node_modules/flatpickr/dist/types/options\").BaseOptions> | undefined"
85
+ "rawType": "Partial<import(\"/Users/nhncommerce/Desktop/project/ncds/node_modules/.pnpm/flatpickr@4.6.13/node_modules/flatpickr/dist/types/options\").BaseOptions> | undefined"
86
86
  },
87
87
  "destructive": {
88
88
  "type": "string",
@@ -144,7 +144,7 @@
144
144
  "startDateOptions": {
145
145
  "type": "object",
146
146
  "required": true,
147
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/date-picker/DatePicker\").DatePickerProps",
147
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/forms-and-input/date-picker/DatePicker\").DatePickerProps",
148
148
  "properties": {
149
149
  "size": {
150
150
  "type": "enum",
@@ -165,7 +165,7 @@
165
165
  "datePickerOptions": {
166
166
  "type": "object",
167
167
  "required": false,
168
- "rawType": "Partial<import(\"/Users/nhn/Project/ncds/node_modules/.pnpm/flatpickr@4.6.13/node_modules/flatpickr/dist/types/options\").BaseOptions> | undefined"
168
+ "rawType": "Partial<import(\"/Users/nhncommerce/Desktop/project/ncds/node_modules/.pnpm/flatpickr@4.6.13/node_modules/flatpickr/dist/types/options\").BaseOptions> | undefined"
169
169
  },
170
170
  "destructive": {
171
171
  "type": "string",