@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
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",
@@ -32,23 +32,111 @@
32
32
  ],
33
33
  "hasChildren": true,
34
34
  "whenToUse": [
35
- "현재 흐름을 중단하고 사용자 집중을 요구하는 UI 패턴입니다",
36
- "정보 확인/입력/처리성 작업에만 한정하여 사용합니다"
35
+ "Modal은 현재 흐름을 중단하고 사용자 집중을 요구하는 UI 패턴입니다",
36
+ "단순 알림이나 페이지 이동 대체용으로 남용해서는 안 되며, 정보 확인/입력/처리성 작업에만 한정하여 사용합니다"
37
37
  ],
38
38
  "forbiddenRules": [
39
39
  "단순 알림에 과도한 Modal 사용 금지",
40
40
  "버튼 3개 이상 구성 금지",
41
41
  "페이지 이동 대체용 사용 금지",
42
42
  "화면 전환을 모두 Modal로 처리 금지",
43
- "좌/우 스크롤 구조 금지",
43
+ "좌/우 스크롤 구조 금지 (Modal Content 자체)",
44
44
  "배경 스크롤 허용 금지"
45
45
  ],
46
46
  "seeAlso": [
47
47
  "button",
48
48
  "featured-icon",
49
49
  "icon",
50
- "toast"
50
+ "notification",
51
+ "toast",
52
+ "snackbar"
51
53
  ],
54
+ "usageExamples": {
55
+ "default": {
56
+ "isOpen": true,
57
+ "size": "md",
58
+ "children": [
59
+ {
60
+ "component": "modal.header",
61
+ "props": {
62
+ "title": "제목",
63
+ "align": "left"
64
+ }
65
+ },
66
+ {
67
+ "component": "modal.content",
68
+ "children": "모달 내용입니다."
69
+ },
70
+ {
71
+ "component": "modal.actions",
72
+ "props": {
73
+ "layout": "horizontal",
74
+ "align": "stretch"
75
+ },
76
+ "children": [
77
+ {
78
+ "component": "button",
79
+ "props": {
80
+ "label": "취소",
81
+ "hierarchy": "secondary-gray",
82
+ "size": "sm"
83
+ }
84
+ },
85
+ {
86
+ "component": "button",
87
+ "props": {
88
+ "label": "확인",
89
+ "hierarchy": "primary",
90
+ "size": "sm"
91
+ }
92
+ }
93
+ ]
94
+ }
95
+ ]
96
+ },
97
+ "confirm": {
98
+ "isOpen": true,
99
+ "size": "sm",
100
+ "children": [
101
+ {
102
+ "component": "modal.header",
103
+ "props": {
104
+ "title": "삭제 확인",
105
+ "align": "center"
106
+ }
107
+ },
108
+ {
109
+ "component": "modal.content",
110
+ "children": "정말 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다."
111
+ },
112
+ {
113
+ "component": "modal.actions",
114
+ "props": {
115
+ "layout": "vertical",
116
+ "align": "stretch"
117
+ },
118
+ "children": [
119
+ {
120
+ "component": "button",
121
+ "props": {
122
+ "label": "삭제",
123
+ "hierarchy": "destructive",
124
+ "size": "sm"
125
+ }
126
+ },
127
+ {
128
+ "component": "button",
129
+ "props": {
130
+ "label": "취소",
131
+ "hierarchy": "secondary-gray",
132
+ "size": "sm"
133
+ }
134
+ }
135
+ ]
136
+ }
137
+ ]
138
+ }
139
+ },
52
140
  "props": {
53
141
  "children": {
54
142
  "type": "ReactNode",
@@ -93,6 +181,179 @@
93
181
  "required": false
94
182
  }
95
183
  },
184
+ "subComponents": {
185
+ "Modal.Header": {
186
+ "props": {
187
+ "align": {
188
+ "type": "enum",
189
+ "required": false,
190
+ "values": [
191
+ "center",
192
+ "horizontal",
193
+ "left"
194
+ ],
195
+ "default": "stretch"
196
+ },
197
+ "children": {
198
+ "type": "ReactNode",
199
+ "required": false
200
+ },
201
+ "closeOnBackdropClick": {
202
+ "type": "boolean",
203
+ "required": false,
204
+ "default": false
205
+ },
206
+ "closeOnEsc": {
207
+ "type": "boolean",
208
+ "required": false,
209
+ "default": true
210
+ },
211
+ "featuredIcon": {
212
+ "type": "object",
213
+ "required": false,
214
+ "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/image-and-icons/featured-icon/FeaturedIcon\").FeaturedIconColor; theme: import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/image-and-icons/featured-icon/FeaturedIcon\").FeaturedIconTheme; } | undefined",
215
+ "properties": {
216
+ "icon": {
217
+ "type": "function",
218
+ "required": true,
219
+ "semantic": "icon-component"
220
+ },
221
+ "color": {
222
+ "type": "enum",
223
+ "required": true,
224
+ "values": [
225
+ "error",
226
+ "neutral",
227
+ "success",
228
+ "warning"
229
+ ]
230
+ },
231
+ "theme": {
232
+ "type": "enum",
233
+ "required": true,
234
+ "values": [
235
+ "dark-circle",
236
+ "light-circle",
237
+ "outline-circle",
238
+ "square-outline"
239
+ ]
240
+ }
241
+ }
242
+ },
243
+ "hideCloseButton": {
244
+ "type": "boolean",
245
+ "required": false,
246
+ "default": false
247
+ },
248
+ "onClose": {
249
+ "type": "function",
250
+ "required": true
251
+ },
252
+ "showDivider": {
253
+ "type": "boolean",
254
+ "required": false,
255
+ "default": false
256
+ },
257
+ "size": {
258
+ "type": "string",
259
+ "required": false,
260
+ "default": "md"
261
+ },
262
+ "subtitle": {
263
+ "type": "ReactNode",
264
+ "required": false
265
+ },
266
+ "title": {
267
+ "type": "ReactNode",
268
+ "required": false
269
+ }
270
+ }
271
+ },
272
+ "Modal.Content": {
273
+ "props": {
274
+ "children": {
275
+ "type": "ReactNode",
276
+ "required": true
277
+ },
278
+ "className": {
279
+ "type": "string",
280
+ "required": false
281
+ },
282
+ "closeOnBackdropClick": {
283
+ "type": "boolean",
284
+ "required": false,
285
+ "default": false
286
+ },
287
+ "closeOnEsc": {
288
+ "type": "boolean",
289
+ "required": false,
290
+ "default": true
291
+ },
292
+ "size": {
293
+ "type": "string",
294
+ "required": false,
295
+ "default": "md"
296
+ }
297
+ }
298
+ },
299
+ "Modal.Actions": {
300
+ "props": {
301
+ "align": {
302
+ "type": "enum",
303
+ "required": false,
304
+ "values": [
305
+ "center",
306
+ "left",
307
+ "right",
308
+ "stretch"
309
+ ],
310
+ "default": "stretch"
311
+ },
312
+ "checkboxContent": {
313
+ "type": "ReactNode",
314
+ "required": false
315
+ },
316
+ "children": {
317
+ "type": "ReactNode",
318
+ "required": true
319
+ },
320
+ "className": {
321
+ "type": "string",
322
+ "required": false
323
+ },
324
+ "closeOnBackdropClick": {
325
+ "type": "boolean",
326
+ "required": false,
327
+ "default": false
328
+ },
329
+ "closeOnEsc": {
330
+ "type": "boolean",
331
+ "required": false,
332
+ "default": true
333
+ },
334
+ "layout": {
335
+ "type": "enum",
336
+ "required": false,
337
+ "values": [
338
+ "checkbox",
339
+ "horizontal",
340
+ "vertical"
341
+ ],
342
+ "default": "vertical"
343
+ },
344
+ "showDivider": {
345
+ "type": "boolean",
346
+ "required": false,
347
+ "default": false
348
+ },
349
+ "size": {
350
+ "type": "string",
351
+ "required": false,
352
+ "default": "md"
353
+ }
354
+ }
355
+ }
356
+ },
96
357
  "html": {},
97
358
  "bemClasses": [
98
359
  "ncua-modal",
@@ -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,26 +22,17 @@
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
29
  "whenToUse": [
35
- "사용자 액션의 영향도 시스템 상태 변화에 따라 적절한 유형을 선택하여 사용해야 합니다",
36
- "과도하거나 잘못된 유형 사용은 사용자 경험을 저해합니다"
30
+ "Notification은 비차단(non-blocking) 알림 UI 컴포넌트이다",
31
+ "4가지 type(floating, full-width, message, callout)별 시각 토큰과 구현 규격을 정의한다"
37
32
  ],
38
33
  "forbiddenRules": [
39
- "Confirm Alert에 단일 버튼 구성 금지",
40
- "Confirm Alert에 취소 버튼 미제공 금지",
41
- "파괴적 액션에 일반 버튼 사용 금지",
42
- "Alert에 2개 이상의 버튼 금지",
43
- "Alert에 Destructive 스타일 남용 금지",
44
34
  "Toast에 Dim 처리 금지",
45
- "Confirm 대신 Toast 사용 금지",
46
- "시스템 영향 큰 작업에 Toast 사용 금지",
47
- "Message type에 info 컬러 사용 금지"
35
+ "Message · floating type에 info 컬러 사용 금지"
48
36
  ],
49
37
  "seeAlso": [
50
38
  "modal",
@@ -55,9 +43,27 @@
55
43
  "htmlElement": "div",
56
44
  "props": {
57
45
  "actions": {
58
- "type": "string",
46
+ "type": "object",
59
47
  "required": false,
60
- "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/notification/Notification\").NotificationAction[] | undefined"
48
+ "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/overlays/notification/Notification\").NotificationAction[] | undefined",
49
+ "properties": {
50
+ "label": {
51
+ "type": "string",
52
+ "required": true
53
+ },
54
+ "onClick": {
55
+ "type": "function",
56
+ "required": false
57
+ },
58
+ "hierarchy": {
59
+ "type": "enum",
60
+ "required": false,
61
+ "values": [
62
+ "text",
63
+ "text-gray"
64
+ ]
65
+ }
66
+ }
61
67
  },
62
68
  "autoClose": {
63
69
  "type": "number",
@@ -81,8 +87,9 @@
81
87
  "default": "neutral"
82
88
  },
83
89
  "icon": {
84
- "type": "object",
85
- "required": false
90
+ "type": "function",
91
+ "required": false,
92
+ "semantic": "icon-component"
86
93
  },
87
94
  "onClose": {
88
95
  "type": "function",
@@ -92,18 +99,24 @@
92
99
  "type": "function",
93
100
  "required": false
94
101
  },
102
+ "portal": {
103
+ "type": "boolean",
104
+ "required": false,
105
+ "default": false
106
+ },
95
107
  "supportingText": {
96
108
  "type": "ReactNode",
97
109
  "required": false
98
110
  },
99
111
  "title": {
100
112
  "type": "ReactNode",
101
- "required": true
113
+ "required": false
102
114
  },
103
115
  "type": {
104
116
  "type": "enum",
105
117
  "required": false,
106
118
  "values": [
119
+ "callout",
107
120
  "floating",
108
121
  "full-width",
109
122
  "message"
@@ -113,15 +126,17 @@
113
126
  },
114
127
  "html": {},
115
128
  "bemClasses": [
129
+ "ncua-callout-notification",
130
+ "ncua-callout-notification--callout",
131
+ "ncua-callout-notification--error",
132
+ "ncua-callout-notification--floating",
133
+ "ncua-callout-notification--full-width",
134
+ "ncua-callout-notification--info",
135
+ "ncua-callout-notification--message",
136
+ "ncua-callout-notification--neutral",
137
+ "ncua-callout-notification--success",
138
+ "ncua-callout-notification--warning",
116
139
  "ncua-floating-notification",
117
- "ncua-floating-notification--error",
118
- "ncua-floating-notification--floating",
119
- "ncua-floating-notification--full-width",
120
- "ncua-floating-notification--info",
121
- "ncua-floating-notification--message",
122
- "ncua-floating-notification--neutral",
123
- "ncua-floating-notification--success",
124
- "ncua-floating-notification--warning",
125
140
  "ncua-floating-notification__actions",
126
141
  "ncua-floating-notification__close-button",
127
142
  "ncua-floating-notification__container",
@@ -162,15 +177,16 @@
162
177
  "usage": {
163
178
  "import": "import { Notification } from '@ncds/ui-admin';",
164
179
  "react": {
165
- "default": "<Notification title=\"예시\" />",
166
- "color:error": "<Notification color=\"error\" title=\"예시\" />",
167
- "color:info": "<Notification color=\"info\" title=\"예시\" />",
168
- "color:neutral": "<Notification color=\"neutral\" title=\"예시\" />",
169
- "color:success": "<Notification color=\"success\" title=\"예시\" />",
170
- "color:warning": "<Notification color=\"warning\" title=\"예시\" />",
171
- "type:floating": "<Notification type=\"floating\" title=\"예시\" />",
172
- "type:full-width": "<Notification type=\"full-width\" title=\"예시\" />",
173
- "type:message": "<Notification type=\"message\" title=\"예시\" />"
180
+ "default": "<Notification />",
181
+ "color:error": "<Notification color=\"error\" />",
182
+ "color:info": "<Notification color=\"info\" />",
183
+ "color:neutral": "<Notification color=\"neutral\" />",
184
+ "color:success": "<Notification color=\"success\" />",
185
+ "color:warning": "<Notification color=\"warning\" />",
186
+ "type:callout": "<Notification type=\"callout\" />",
187
+ "type:floating": "<Notification type=\"floating\" />",
188
+ "type:full-width": "<Notification type=\"full-width\" />",
189
+ "type:message": "<Notification type=\"message\" />"
174
190
  }
175
191
  }
176
192
  }
@@ -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
  "숫자입력",
@@ -34,7 +34,7 @@
34
34
  "Leading/Trailing 혼합 사용 금지"
35
35
  ],
36
36
  "seeAlso": [
37
- "input",
37
+ "input-base",
38
38
  "slider",
39
39
  "tooltip",
40
40
  "label"
@@ -52,6 +52,10 @@
52
52
  "type": "boolean",
53
53
  "required": false
54
54
  },
55
+ "fullWidth": {
56
+ "type": "boolean",
57
+ "required": false
58
+ },
55
59
  "hintText": {
56
60
  "type": "string",
57
61
  "required": false
@@ -62,7 +66,81 @@
62
66
  },
63
67
  "leadingElement": {
64
68
  "type": "object",
65
- "required": false
69
+ "required": false,
70
+ "properties": {
71
+ "type": {
72
+ "type": "string",
73
+ "required": true,
74
+ "rawType": "\"text\""
75
+ },
76
+ "text": {
77
+ "type": "string",
78
+ "required": false
79
+ },
80
+ "icon": {
81
+ "type": "function",
82
+ "required": false,
83
+ "semantic": "icon-component"
84
+ },
85
+ "size": {
86
+ "type": "number",
87
+ "required": false
88
+ },
89
+ "color": {
90
+ "type": "enum",
91
+ "required": false,
92
+ "values": [
93
+ "black",
94
+ "blue500",
95
+ "blue600",
96
+ "currentColor",
97
+ "gray100",
98
+ "gray200",
99
+ "gray300",
100
+ "gray400",
101
+ "gray500",
102
+ "gray600",
103
+ "gray700",
104
+ "green500",
105
+ "green600",
106
+ "orange500",
107
+ "orange600",
108
+ "pink100",
109
+ "pink600",
110
+ "red500",
111
+ "red600",
112
+ "secondary-gray-blue-100",
113
+ "secondary-gray-blue-200",
114
+ "secondary-gray-blue-300",
115
+ "secondary-gray-blue-400",
116
+ "secondary-gray-blue-450",
117
+ "secondary-gray-blue-50",
118
+ "secondary-gray-blue-500",
119
+ "secondary-gray-blue-600",
120
+ "secondary-gray-blue-700",
121
+ "violet300",
122
+ "violet600",
123
+ "white",
124
+ "yellow600"
125
+ ]
126
+ },
127
+ "className": {
128
+ "type": "string",
129
+ "required": false
130
+ },
131
+ "children": {
132
+ "type": "ReactNode",
133
+ "required": false
134
+ },
135
+ "placement": {
136
+ "type": "enum",
137
+ "required": false,
138
+ "values": [
139
+ "inside",
140
+ "outside"
141
+ ]
142
+ }
143
+ }
66
144
  },
67
145
  "maxLength": {
68
146
  "type": "number",
@@ -116,7 +194,89 @@
116
194
  },
117
195
  "trailingElement": {
118
196
  "type": "object",
119
- "required": false
197
+ "required": false,
198
+ "properties": {
199
+ "type": {
200
+ "type": "string",
201
+ "required": true,
202
+ "rawType": "\"icon\""
203
+ },
204
+ "icon": {
205
+ "type": "function",
206
+ "required": false,
207
+ "semantic": "icon-component"
208
+ },
209
+ "size": {
210
+ "type": "number",
211
+ "required": false
212
+ },
213
+ "color": {
214
+ "type": "enum",
215
+ "required": false,
216
+ "values": [
217
+ "black",
218
+ "blue500",
219
+ "blue600",
220
+ "currentColor",
221
+ "gray100",
222
+ "gray200",
223
+ "gray300",
224
+ "gray400",
225
+ "gray500",
226
+ "gray600",
227
+ "gray700",
228
+ "green500",
229
+ "green600",
230
+ "orange500",
231
+ "orange600",
232
+ "pink100",
233
+ "pink600",
234
+ "red500",
235
+ "red600",
236
+ "secondary-gray-blue-100",
237
+ "secondary-gray-blue-200",
238
+ "secondary-gray-blue-300",
239
+ "secondary-gray-blue-400",
240
+ "secondary-gray-blue-450",
241
+ "secondary-gray-blue-50",
242
+ "secondary-gray-blue-500",
243
+ "secondary-gray-blue-600",
244
+ "secondary-gray-blue-700",
245
+ "violet300",
246
+ "violet600",
247
+ "white",
248
+ "yellow600"
249
+ ]
250
+ },
251
+ "className": {
252
+ "type": "string",
253
+ "required": false
254
+ },
255
+ "children": {
256
+ "type": "ReactNode",
257
+ "required": false
258
+ },
259
+ "placement": {
260
+ "type": "enum",
261
+ "required": false,
262
+ "values": [
263
+ "inside",
264
+ "outside"
265
+ ]
266
+ },
267
+ "label": {
268
+ "type": "string",
269
+ "required": false
270
+ },
271
+ "isSubmit": {
272
+ "type": "boolean",
273
+ "required": false
274
+ },
275
+ "onClick": {
276
+ "type": "function",
277
+ "required": false
278
+ }
279
+ }
120
280
  },
121
281
  "validation": {
122
282
  "type": "boolean",