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

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 (104) hide show
  1. package/README.md +3 -3
  2. package/bin/components.bundle.js +18 -9
  3. package/bin/definitions/external/editor.d.ts +50 -0
  4. package/bin/definitions/external/editor.js +53 -0
  5. package/bin/definitions/external/step-guide.d.ts +61 -0
  6. package/bin/definitions/external/step-guide.js +52 -0
  7. package/bin/definitions/instructions.md +194 -10
  8. package/bin/definitions/js-api.json +352 -0
  9. package/bin/definitions/rules.json +36 -4
  10. package/bin/definitions/tool-definitions.json +33 -9
  11. package/bin/overrides/composition.json +2473 -0
  12. package/bin/server.d.ts +5 -0
  13. package/bin/server.js +97 -33
  14. package/bin/server.mjs +0 -0
  15. package/bin/tools/external/editor.d.ts +18 -0
  16. package/bin/tools/external/editor.js +88 -0
  17. package/bin/tools/external/step-guide.d.ts +19 -0
  18. package/bin/tools/external/step-guide.js +79 -0
  19. package/bin/tools/getComponentProps.d.ts +3 -0
  20. package/bin/tools/getComponentProps.js +12 -3
  21. package/bin/tools/listCompositionOverrides.d.ts +61 -0
  22. package/bin/tools/listCompositionOverrides.js +156 -0
  23. package/bin/tools/listSidecarOverrides.d.ts +54 -0
  24. package/bin/tools/listSidecarOverrides.js +96 -0
  25. package/bin/tools/ping.d.ts +1 -1
  26. package/bin/tools/renderToHtml.d.ts +38 -7
  27. package/bin/tools/renderToHtml.js +785 -110
  28. package/bin/tools/searchComponent.d.ts +5 -0
  29. package/bin/tools/searchComponent.js +3 -3
  30. package/bin/tools/validateHtml.d.ts +8 -6
  31. package/bin/tools/validateHtml.js +74 -6
  32. package/bin/types.d.ts +60 -1
  33. package/bin/utils/bemValidator.d.ts +16 -8
  34. package/bin/utils/bemValidator.js +16 -4
  35. package/bin/utils/compliance.d.ts +7 -6
  36. package/bin/utils/compliance.js +8 -4
  37. package/bin/utils/dataLoader.d.ts +43 -14
  38. package/bin/utils/dataLoader.js +125 -22
  39. package/bin/utils/domEnvironment.js +51 -0
  40. package/bin/utils/fuzzyMatch.d.ts +4 -0
  41. package/bin/utils/fuzzyMatch.js +13 -3
  42. package/bin/utils/logger.d.ts +5 -5
  43. package/bin/utils/logger.js +5 -5
  44. package/bin/utils/response.d.ts +4 -2
  45. package/bin/utils/response.js +15 -4
  46. package/bin/utils/tokenValidator.d.ts +4 -3
  47. package/bin/utils/tokenValidator.js +13 -11
  48. package/bin/version.d.ts +4 -2
  49. package/bin/version.js +4 -2
  50. package/data/_icons.json +357 -2
  51. package/data/_meta.json +4 -5
  52. package/data/_tokens.json +8 -8
  53. package/data/badge-group.json +181 -4
  54. package/data/badge.json +146 -14
  55. package/data/block-container.json +95 -0
  56. package/data/block-header.json +208 -0
  57. package/data/bread-crumb.json +38 -2
  58. package/data/button-group.json +59 -0
  59. package/data/button.json +124 -1
  60. package/data/carousel-arrow.json +6 -11
  61. package/data/carousel-number-group.json +2 -12
  62. package/data/checkbox.json +1 -1
  63. package/data/combo-box.json +36 -8
  64. package/data/data-grid.json +240 -0
  65. package/data/date-picker.json +22 -2
  66. package/data/divider.json +1 -1
  67. package/data/dot.json +2 -2
  68. package/data/dropdown.json +187 -20
  69. package/data/editor.json +85 -0
  70. package/data/empty-state.json +168 -3
  71. package/data/featured-icon.json +20 -5
  72. package/data/file-input.json +176 -10
  73. package/data/horizontal-tab.json +219 -3
  74. package/data/image-file-input.json +177 -10
  75. package/data/input-base.json +165 -4
  76. package/data/modal.json +266 -5
  77. package/data/notification.json +56 -40
  78. package/data/number-input.json +164 -4
  79. package/data/page-title.json +135 -0
  80. package/data/pagination.json +8 -4
  81. package/data/password-input.json +252 -13
  82. package/data/progress-bar.json +28 -8
  83. package/data/progress-circle.json +9 -6
  84. package/data/radio.json +4 -3
  85. package/data/range-date-picker-with-buttons.json +187 -7
  86. package/data/range-date-picker.json +186 -6
  87. package/data/select-box.json +52 -16
  88. package/data/select.json +35 -25
  89. package/data/slider.json +1 -1
  90. package/data/spinner.json +3 -4
  91. package/data/step-guide.json +130 -0
  92. package/data/switch.json +66 -6
  93. package/data/table.json +293 -0
  94. package/data/tag.json +68 -6
  95. package/data/textarea.json +1 -1
  96. package/data/toggle.json +2 -2
  97. package/data/tooltip.json +20 -3
  98. package/data/vertical-tab.json +220 -3
  99. package/package.json +28 -26
  100. package/templates/README.md +1 -1
  101. package/bin/instructions.d.ts +0 -1
  102. package/bin/instructions.js +0 -14
  103. package/bin/tools/getComponentHtml.d.ts +0 -3
  104. package/bin/tools/getComponentHtml.js +0 -30
@@ -0,0 +1,135 @@
1
+ {
2
+ "name": "page-title",
3
+ "exportName": "PageTitle",
4
+ "importPath": "@ncds/ui-admin",
5
+ "jsRequired": false,
6
+ "category": "layout",
7
+ "description": "PageTitle은 페이지 최상단에 위치하며, 현재 페이지의 위치·목적·핵심 액션을 정의하는 영역입니다.",
8
+ "aliases": [
9
+ "PageTitle",
10
+ "Page Header",
11
+ "Page Title",
12
+ "페이지 타이틀",
13
+ "페이지 헤더",
14
+ "BreadCrumb",
15
+ "Back Button",
16
+ "Title",
17
+ "Action",
18
+ "Fixed Header",
19
+ "Tab Wrapper",
20
+ "탭 래퍼",
21
+ "페이지 탭",
22
+ "페이지 레벨 탭",
23
+ "NCDS"
24
+ ],
25
+ "hasChildren": false,
26
+ "whenToUse": [
27
+ "PageTitle은 페이지의 목적과 위치를 한눈에 전달하고, 핵심 액션의 진입점이 되는 영역이다",
28
+ "일반 목록/설정 페이지",
29
+ "상세 조회/수정 페이지",
30
+ "스크롤 시 상단 고정",
31
+ "Block Header와 혼동 시"
32
+ ],
33
+ "forbiddenRules": [
34
+ "PageTitle에 Primary 버튼 2개 이상 배치 금지",
35
+ "PageTitle 배경색 변경 금지",
36
+ "Title에 두 줄 이상의 긴 텍스트 지양",
37
+ "Fixed Variant에서 BreadCrumb 노출 금지",
38
+ "Block Header와 PageTitle 스타일 혼용 금지",
39
+ "Back Button을 일반 페이지(Default)에서 사용 금지",
40
+ "Guide Button의 스타일 변경 금지",
41
+ "PageTitle 영역에 Form 요소 배치 금지",
42
+ "BreadCrumb 구분자에 텍스트 문자(`>`) 사용 금지",
43
+ "Action Button을 Title Row/Title Container 안에 배치 금지",
44
+ "NCDS 외부 아이콘 사용 금지",
45
+ "Default ↔ Fixed 전환 미구현 금지"
46
+ ],
47
+ "seeAlso": [
48
+ "bread-crumb",
49
+ "button",
50
+ "block-header",
51
+ "block-container",
52
+ "horizontal-tab"
53
+ ],
54
+ "htmlElement": "header",
55
+ "props": {
56
+ "breadcrumbItems": {
57
+ "type": "object",
58
+ "required": false,
59
+ "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/layout/page-title/PageTitle\").PageTitleBreadcrumbItem[] | undefined",
60
+ "properties": {
61
+ "label": {
62
+ "type": "string",
63
+ "required": true
64
+ },
65
+ "href": {
66
+ "type": "string",
67
+ "required": false
68
+ }
69
+ }
70
+ },
71
+ "className": {
72
+ "type": "string",
73
+ "required": false
74
+ },
75
+ "guideButton": {
76
+ "type": "ReactNode",
77
+ "required": false
78
+ },
79
+ "onBack": {
80
+ "type": "function",
81
+ "required": false
82
+ },
83
+ "primaryAction": {
84
+ "type": "ReactNode",
85
+ "required": false
86
+ },
87
+ "secondaryAction": {
88
+ "type": "ReactNode",
89
+ "required": false
90
+ },
91
+ "title": {
92
+ "type": "string",
93
+ "required": true
94
+ },
95
+ "variant": {
96
+ "type": "enum",
97
+ "required": false,
98
+ "values": [
99
+ "default",
100
+ "detail",
101
+ "fixed",
102
+ "fixed-detail"
103
+ ],
104
+ "default": "default"
105
+ }
106
+ },
107
+ "html": {},
108
+ "bemClasses": [
109
+ "ncua-page-title",
110
+ "ncua-page-title--fixed",
111
+ "ncua-page-title__actions",
112
+ "ncua-page-title__back-btn",
113
+ "ncua-page-title__breadcrumb",
114
+ "ncua-page-title__breadcrumb-current",
115
+ "ncua-page-title__breadcrumb-item",
116
+ "ncua-page-title__breadcrumb-separator",
117
+ "ncua-page-title__container",
118
+ "ncua-page-title__guide-btn",
119
+ "ncua-page-title__header",
120
+ "ncua-page-title__header--has-breadcrumb",
121
+ "ncua-page-title__page-header",
122
+ "ncua-page-title__title",
123
+ "ncua-page-title__title-row"
124
+ ],
125
+ "usage": {
126
+ "import": "import { PageTitle } from '@ncds/ui-admin';",
127
+ "react": {
128
+ "default": "<PageTitle title=\"\" />",
129
+ "variant:default": "<PageTitle variant=\"default\" title=\"\" />",
130
+ "variant:detail": "<PageTitle variant=\"detail\" title=\"\" />",
131
+ "variant:fixed": "<PageTitle variant=\"fixed\" title=\"\" />",
132
+ "variant:fixed-detail": "<PageTitle variant=\"fixed-detail\" title=\"\" />"
133
+ }
134
+ }
135
+ }
@@ -23,9 +23,12 @@
23
23
  ],
24
24
  "hasChildren": false,
25
25
  "whenToUse": [
26
- "대량 데이터를 페이지 단위로 분할하여 순차적으로 탐색",
27
- "20개 이상 데이터가 누적될 가능성이 있는 경우 필수 적용",
28
- "10페이지 단위 그룹 이동과 첫/마지막 페이지 점프 지원"
26
+ "Pagination은 대량 데이터를 페이지 단위로 분할하여 순차적으로 탐색할 수 있게 하는 내비게이션입니다",
27
+ "20개 이상 데이터가 누적될 가능성이 있는 경우 필수 적용하며, 10페이지 단위 그룹 이동과 첫/마지막 페이지 점프를 지원합니다",
28
+ "20개 이상 데이터 누적 가능성",
29
+ "가로형 테이블",
30
+ "리스트 구조",
31
+ "검색 결과 목록"
29
32
  ],
30
33
  "forbiddenRules": [
31
34
  "10페이지 이하에서 이동 버튼 노출 금지",
@@ -34,7 +37,8 @@
34
37
  "세로형 테이블에서 사용 금지"
35
38
  ],
36
39
  "seeAlso": [
37
- "table"
40
+ "table",
41
+ "select"
38
42
  ],
39
43
  "htmlElement": "button",
40
44
  "props": {
@@ -3,21 +3,31 @@
3
3
  "exportName": "PasswordInput",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": false,
6
- "category": "input",
7
- "description": "비밀번호 전용 입력 필드로 마스킹 토글을 내장합니다",
6
+ "category": "forms-and-input",
7
+ "description": "Input은 사용자에게 텍스트 데이터를 입력받는 UI 요소로, 다양한 사이즈와 상태를 지원하며 입력 필드 앞뒤로 아이콘, 텍스트, 버튼 등의 요소를 배치할 수 있습니다.",
8
8
  "aliases": [
9
- "비밀번호",
10
- "비밀번호 입력",
11
- "password",
12
- "패스워드",
9
+ "인풋",
10
+ "Input",
11
+ "InputBase",
13
12
  "PasswordInput",
14
- "비밀번호 변경",
15
- "비밀번호 확인"
13
+ "텍스트입력",
14
+ "비밀번호",
15
+ "이메일",
16
+ "드롭다운",
17
+ "리딩텍스트",
18
+ "트레일링버튼",
19
+ "clearText",
20
+ "showTextCount",
21
+ "maxLength",
22
+ "leadingElement",
23
+ "trailingElement",
24
+ "validation",
25
+ "destructive",
26
+ "NCDS"
16
27
  ],
17
28
  "hasChildren": false,
18
29
  "whenToUse": [
19
- "명확한 레이블과 입력 예시 Placeholder 유효성 안내 Helper Text와 함께 제공되어야 하는 경우",
20
- "사용자가 입력 가능한 형식과 제한 조건을 입력 전에 인지할 수 있어야 하는 경우"
30
+ "Input은 명확한 레이블, 입력 예시(Placeholder), 유효성 안내(Helper Text)와 함께 제공되어야 하며, 사용자가 입력 가능한 형식과 제한 조건을 입력 전에 인지할 수 있어야 한다"
21
31
  ],
22
32
  "forbiddenRules": [
23
33
  "Label 없는 단독 Input 사용 금지",
@@ -27,9 +37,236 @@
27
37
  "Error 상태를 실시간 남용 금지"
28
38
  ],
29
39
  "seeAlso": [
30
- "input"
40
+ "textarea",
41
+ "button",
42
+ "dropdown",
43
+ "tooltip",
44
+ "file-input",
45
+ "image-file-input"
31
46
  ],
32
- "props": {},
47
+ "props": {
48
+ "clearText": {
49
+ "type": "boolean",
50
+ "required": false
51
+ },
52
+ "destructive": {
53
+ "type": "boolean",
54
+ "required": false
55
+ },
56
+ "disabled": {
57
+ "type": "boolean",
58
+ "required": false
59
+ },
60
+ "fullWidth": {
61
+ "type": "boolean",
62
+ "required": false
63
+ },
64
+ "hintText": {
65
+ "type": "string",
66
+ "required": false
67
+ },
68
+ "label": {
69
+ "type": "string",
70
+ "required": false
71
+ },
72
+ "leadingElement": {
73
+ "type": "object",
74
+ "required": false,
75
+ "properties": {
76
+ "type": {
77
+ "type": "string",
78
+ "required": true,
79
+ "rawType": "\"text\""
80
+ },
81
+ "text": {
82
+ "type": "string",
83
+ "required": false
84
+ },
85
+ "icon": {
86
+ "type": "function",
87
+ "required": false,
88
+ "semantic": "icon-component"
89
+ },
90
+ "size": {
91
+ "type": "number",
92
+ "required": false
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
+ "className": {
133
+ "type": "string",
134
+ "required": false
135
+ },
136
+ "children": {
137
+ "type": "ReactNode",
138
+ "required": false
139
+ },
140
+ "placement": {
141
+ "type": "enum",
142
+ "required": false,
143
+ "values": [
144
+ "inside",
145
+ "outside"
146
+ ]
147
+ }
148
+ }
149
+ },
150
+ "maxLength": {
151
+ "type": "number",
152
+ "required": false
153
+ },
154
+ "onClearText": {
155
+ "type": "function",
156
+ "required": false
157
+ },
158
+ "required": {
159
+ "type": "boolean",
160
+ "required": false
161
+ },
162
+ "showHelpIcon": {
163
+ "type": "boolean",
164
+ "required": false
165
+ },
166
+ "showTextCount": {
167
+ "type": "boolean",
168
+ "required": false
169
+ },
170
+ "size": {
171
+ "type": "enum",
172
+ "required": false,
173
+ "values": [
174
+ "sm",
175
+ "xs"
176
+ ],
177
+ "default": "xs"
178
+ },
179
+ "trailingElement": {
180
+ "type": "object",
181
+ "required": false,
182
+ "properties": {
183
+ "type": {
184
+ "type": "string",
185
+ "required": true,
186
+ "rawType": "\"icon\""
187
+ },
188
+ "icon": {
189
+ "type": "function",
190
+ "required": false,
191
+ "semantic": "icon-component"
192
+ },
193
+ "size": {
194
+ "type": "number",
195
+ "required": false
196
+ },
197
+ "color": {
198
+ "type": "enum",
199
+ "required": false,
200
+ "values": [
201
+ "black",
202
+ "blue500",
203
+ "blue600",
204
+ "currentColor",
205
+ "gray100",
206
+ "gray200",
207
+ "gray300",
208
+ "gray400",
209
+ "gray500",
210
+ "gray600",
211
+ "gray700",
212
+ "green500",
213
+ "green600",
214
+ "orange500",
215
+ "orange600",
216
+ "pink100",
217
+ "pink600",
218
+ "red500",
219
+ "red600",
220
+ "secondary-gray-blue-100",
221
+ "secondary-gray-blue-200",
222
+ "secondary-gray-blue-300",
223
+ "secondary-gray-blue-400",
224
+ "secondary-gray-blue-450",
225
+ "secondary-gray-blue-50",
226
+ "secondary-gray-blue-500",
227
+ "secondary-gray-blue-600",
228
+ "secondary-gray-blue-700",
229
+ "violet300",
230
+ "violet600",
231
+ "white",
232
+ "yellow600"
233
+ ]
234
+ },
235
+ "className": {
236
+ "type": "string",
237
+ "required": false
238
+ },
239
+ "children": {
240
+ "type": "ReactNode",
241
+ "required": false
242
+ },
243
+ "placement": {
244
+ "type": "enum",
245
+ "required": false,
246
+ "values": [
247
+ "inside",
248
+ "outside"
249
+ ]
250
+ },
251
+ "label": {
252
+ "type": "string",
253
+ "required": false
254
+ },
255
+ "isSubmit": {
256
+ "type": "boolean",
257
+ "required": false
258
+ },
259
+ "onClick": {
260
+ "type": "function",
261
+ "required": false
262
+ }
263
+ }
264
+ },
265
+ "validation": {
266
+ "type": "boolean",
267
+ "required": false
268
+ }
269
+ },
33
270
  "html": {},
34
271
  "bemClasses": [
35
272
  "ncua-input__icon-wrap",
@@ -39,7 +276,9 @@
39
276
  "usage": {
40
277
  "import": "import { PasswordInput } from '@ncds/ui-admin';",
41
278
  "react": {
42
- "default": "<PasswordInput />"
279
+ "default": "<PasswordInput />",
280
+ "size:sm": "<PasswordInput size=\"sm\" />",
281
+ "size:xs": "<PasswordInput size=\"xs\" />"
43
282
  }
44
283
  }
45
284
  }
@@ -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",
@@ -23,19 +23,20 @@
23
23
  ],
24
24
  "hasChildren": false,
25
25
  "whenToUse": [
26
- "진행 상태를 직관적인 막대 형태로 시각화",
27
- "단일 값 표시뿐 아니라 다중 세그먼트를 통해 항목별 비율 분포도 표현"
26
+ "ProgressBar는 진행 상태를 직관적인 막대 형태로 시각화하여 사용자가 작업의 현재 상태와 남은 정도를 즉시 파악할 수 있도록 합니다",
27
+ "단일 값 표시뿐 아니라 다중 세그먼트를 통해 항목별 비율 분포도 표현할 수 있습니다"
28
28
  ],
29
29
  "forbiddenRules": [
30
- "0-100 범위 이탈 금지",
31
- "불확정 진행률에 사용 금지(Spinner 사용)",
30
+ "0100 범위 이탈 금지",
31
+ "불확정 진행률에 사용 금지",
32
32
  "white/black 세그먼트 색상 금지",
33
33
  "세그먼트 최대 3개 제한",
34
34
  "장식 용도 금지"
35
35
  ],
36
36
  "seeAlso": [
37
37
  "progress-circle",
38
- "spinner"
38
+ "spinner",
39
+ "skeleton"
39
40
  ],
40
41
  "props": {
41
42
  "label": {
@@ -49,9 +50,28 @@
49
50
  ]
50
51
  },
51
52
  "segments": {
52
- "type": "string",
53
+ "type": "object",
53
54
  "required": false,
54
- "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/progress-bar/types\").ProgressSegment[] | undefined"
55
+ "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/feedback-and-status/progress-bar/types\").ProgressSegment[] | undefined",
56
+ "properties": {
57
+ "value": {
58
+ "type": "number",
59
+ "required": true
60
+ },
61
+ "color": {
62
+ "type": "enum",
63
+ "required": false,
64
+ "values": [
65
+ "blue",
66
+ "gray",
67
+ "green",
68
+ "orange",
69
+ "pink",
70
+ "red",
71
+ "violet"
72
+ ]
73
+ }
74
+ }
55
75
  },
56
76
  "showZeroLabel": {
57
77
  "type": "boolean",
@@ -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",
@@ -22,20 +22,23 @@
22
22
  ],
23
23
  "hasChildren": false,
24
24
  "whenToUse": [
25
- "시간 예측이 어려운 장시간 진행 작업의 진행률을 원형 그래프로 시각화",
26
- "Overlay(Dim Layer)와 함께 사용되어 작업 중 사용자 인터랙션을 차단하고 이탈 불안감을 최소화"
25
+ "ProgressCircle은 시간 예측이 어려운 장시간 진행 작업의 진행률을 원형 그래프로 시각화하여 사용자에게 현재 상태와 남은 정도를 즉시 파악할 수 있도록 합니다",
26
+ "Overlay(Dim Layer)와 함께 사용되어 작업 중 사용자 인터랙션을 차단하고, 이탈 불안감을 최소화합니다"
27
27
  ],
28
28
  "forbiddenRules": [
29
29
  "% 없는 진행 Circle 금지",
30
30
  "100% 초과 값 표시 금지",
31
31
  "값 점프형 급격 변화 지양",
32
- "완료 즉시 사라짐 금지(0.5~1초 유지)",
33
- "불확정 진행률에 사용 금지(Spinner 사용)",
32
+ "완료 즉시 사라짐 금지",
33
+ "불확정 진행률에 사용 금지",
34
34
  "단순 대기(3초 이내)에 사용 금지"
35
35
  ],
36
36
  "seeAlso": [
37
37
  "progress-bar",
38
- "spinner"
38
+ "spinner",
39
+ "skeleton",
40
+ "toast",
41
+ "alert"
39
42
  ],
40
43
  "props": {
41
44
  "label": {
package/data/radio.json CHANGED
@@ -3,8 +3,8 @@
3
3
  "exportName": "Radio",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": false,
6
- "category": "input",
7
- "description": "Radio는 여러 옵션 중 하나만 선택할 수 있는 단일 선택(Single Selection) 컨트롤로, 텍스트 라벨과 보조 설명을 함께 제공할 수 있습니다.",
6
+ "category": "forms-and-input",
7
+ "description": "Radio는 여러 옵션 중 하나만 선택할 수 있는 단일 선택(Single Selection) 컨트롤로, 텍스트 레이블과 보조 설명을 함께 제공할 수 있습니다.",
8
8
  "aliases": [
9
9
  "라디오",
10
10
  "Radio",
@@ -26,7 +26,7 @@
26
26
  "forbiddenRules": [
27
27
  "Radio 단독 사용 금지",
28
28
  "기본 선택 없이 사용 지양",
29
- "텍스트 라벨 없이 사용 지양",
29
+ "텍스트 레이블 없이 사용 지양",
30
30
  "Checkbox와 혼동 금지",
31
31
  "선택 해제 동작 구현 금지"
32
32
  ],
@@ -34,6 +34,7 @@
34
34
  "checkbox",
35
35
  "toggle",
36
36
  "select",
37
+ "dropdown",
37
38
  "label"
38
39
  ],
39
40
  "htmlElement": "input",