@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.
- package/bin/components.bundle.js +15 -19
- package/bin/definitions/external/editor.d.ts +50 -0
- package/bin/definitions/external/editor.js +53 -0
- package/bin/definitions/external/step-guide.d.ts +61 -0
- package/bin/definitions/external/step-guide.js +52 -0
- package/bin/definitions/instructions.md +194 -10
- package/bin/definitions/js-api.json +352 -0
- package/bin/definitions/rules.json +36 -4
- package/bin/definitions/tool-definitions.json +33 -9
- package/bin/overrides/composition.json +2500 -0
- package/bin/server.d.ts +5 -0
- package/bin/server.js +97 -33
- package/bin/server.mjs +0 -0
- package/bin/tools/external/editor.d.ts +18 -0
- package/bin/tools/external/editor.js +88 -0
- package/bin/tools/external/step-guide.d.ts +19 -0
- package/bin/tools/external/step-guide.js +79 -0
- package/bin/tools/getComponentProps.d.ts +3 -0
- package/bin/tools/getComponentProps.js +12 -3
- package/bin/tools/listCompositionOverrides.d.ts +61 -0
- package/bin/tools/listCompositionOverrides.js +156 -0
- package/bin/tools/ping.d.ts +1 -1
- package/bin/tools/renderToHtml.d.ts +38 -7
- package/bin/tools/renderToHtml.js +785 -110
- package/bin/tools/searchComponent.d.ts +5 -0
- package/bin/tools/searchComponent.js +3 -3
- package/bin/tools/validateHtml.d.ts +8 -6
- package/bin/tools/validateHtml.js +74 -6
- package/bin/types.d.ts +60 -1
- package/bin/utils/bemValidator.d.ts +16 -8
- package/bin/utils/bemValidator.js +16 -4
- package/bin/utils/compliance.d.ts +7 -6
- package/bin/utils/compliance.js +8 -4
- package/bin/utils/dataLoader.d.ts +43 -14
- package/bin/utils/dataLoader.js +125 -22
- package/bin/utils/domEnvironment.js +51 -0
- package/bin/utils/fuzzyMatch.d.ts +4 -0
- package/bin/utils/fuzzyMatch.js +13 -3
- package/bin/utils/logger.d.ts +5 -5
- package/bin/utils/logger.js +5 -5
- package/bin/utils/response.d.ts +4 -2
- package/bin/utils/response.js +15 -4
- package/bin/utils/tokenValidator.d.ts +4 -3
- package/bin/utils/tokenValidator.js +13 -11
- package/bin/version.d.ts +4 -2
- package/bin/version.js +4 -2
- package/data/_icons.json +357 -2
- package/data/_meta.json +4 -5
- package/data/_tokens.json +8 -8
- package/data/badge-group.json +181 -4
- package/data/badge.json +146 -14
- package/data/block-container.json +95 -0
- package/data/block-header.json +208 -0
- package/data/bread-crumb.json +38 -2
- package/data/button-group.json +59 -0
- package/data/button.json +124 -1
- package/data/carousel-arrow.json +6 -11
- package/data/carousel-number-group.json +2 -12
- package/data/checkbox.json +1 -1
- package/data/combo-box.json +32 -8
- package/data/data-grid.json +240 -0
- package/data/date-picker.json +22 -2
- package/data/divider.json +1 -1
- package/data/dot.json +2 -2
- package/data/dropdown.json +187 -20
- package/data/editor.json +85 -0
- package/data/empty-state.json +168 -3
- package/data/featured-icon.json +20 -5
- package/data/file-input.json +176 -10
- package/data/horizontal-tab.json +219 -3
- package/data/image-file-input.json +176 -10
- package/data/input-base.json +165 -4
- package/data/modal.json +266 -5
- package/data/notification.json +56 -40
- package/data/number-input.json +164 -4
- package/data/page-title.json +135 -0
- package/data/pagination.json +8 -4
- package/data/password-input.json +252 -13
- package/data/progress-bar.json +28 -8
- package/data/progress-circle.json +9 -6
- package/data/radio.json +4 -3
- package/data/range-date-picker-with-buttons.json +187 -7
- package/data/range-date-picker.json +186 -6
- package/data/select-box.json +48 -16
- package/data/select.json +35 -25
- package/data/slider.json +1 -1
- package/data/spinner.json +3 -4
- package/data/step-guide.json +130 -0
- package/data/switch.json +66 -6
- package/data/table.json +293 -0
- package/data/tag.json +68 -6
- package/data/textarea.json +1 -1
- package/data/toggle.json +2 -2
- package/data/tooltip.json +16 -3
- package/data/vertical-tab.json +220 -3
- package/package.json +27 -25
- package/bin/instructions.d.ts +0 -1
- package/bin/instructions.js +0 -14
- package/bin/tools/getComponentHtml.d.ts +0 -3
- package/bin/tools/getComponentHtml.js +0 -30
package/data/slider.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"exportName": "Slider",
|
|
4
4
|
"importPath": "@ncds/ui-admin",
|
|
5
5
|
"jsRequired": true,
|
|
6
|
-
"category": "input",
|
|
6
|
+
"category": "forms-and-input",
|
|
7
7
|
"description": "Slider는 연속적 또는 구간 기반 수치를 직관적으로 조절하는 입력 컴포넌트로, 텍스트 입력보다 범위가 명확하고 빠른 조정이 필요하며 시각적 비율이 중요한 경우 사용합니다.",
|
|
8
8
|
"aliases": [
|
|
9
9
|
"슬라이더",
|
package/data/spinner.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"exportName": "Spinner",
|
|
4
4
|
"importPath": "@ncds/ui-admin",
|
|
5
5
|
"jsRequired": false,
|
|
6
|
-
"category": "feedback",
|
|
6
|
+
"category": "feedback-and-status",
|
|
7
7
|
"description": "Spinner는 데이터 조회, 검색, 업로드, 파일 생성 등 3초 이상 소요되는 처리 과정에서 사용자 불안감을 줄이기 위해 제공되는 피드백 UI입니다.",
|
|
8
8
|
"aliases": [
|
|
9
9
|
"Spinner",
|
|
@@ -41,9 +41,8 @@
|
|
|
41
41
|
],
|
|
42
42
|
"props": {
|
|
43
43
|
"as": {
|
|
44
|
-
"type": "
|
|
44
|
+
"type": "function",
|
|
45
45
|
"required": false,
|
|
46
|
-
"rawType": "React.ElementType | undefined",
|
|
47
46
|
"default": "p"
|
|
48
47
|
},
|
|
49
48
|
"backdrop": {
|
|
@@ -65,7 +64,7 @@
|
|
|
65
64
|
"xl",
|
|
66
65
|
"xs"
|
|
67
66
|
],
|
|
68
|
-
"default": "
|
|
67
|
+
"default": "sm"
|
|
69
68
|
}
|
|
70
69
|
},
|
|
71
70
|
"html": {},
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "step-guide",
|
|
3
|
+
"exportName": "stepGuide",
|
|
4
|
+
"importPath": "step-guide",
|
|
5
|
+
"jsRequired": true,
|
|
6
|
+
"category": "overlays",
|
|
7
|
+
"description": "vanilla JS 함수 기반 step-by-step 가이드 투어. 신규 기능 출시 온보딩 또는 관리자 페이지 인터랙티브 가이드용. CDN 로드 후 window.stepGuide({el, options}) 함수 호출로 시작. 외부 패키지(step-guide) — render_to_html 호출 시 외부 분기 모듈에서 응답 직접 조립.",
|
|
8
|
+
"aliases": [
|
|
9
|
+
"step-guide",
|
|
10
|
+
"stepguide",
|
|
11
|
+
"ncdsstepguide",
|
|
12
|
+
"step_guide",
|
|
13
|
+
"투어",
|
|
14
|
+
"온보딩",
|
|
15
|
+
"코치마크",
|
|
16
|
+
"coachmark",
|
|
17
|
+
"튜토리얼",
|
|
18
|
+
"tutorial"
|
|
19
|
+
],
|
|
20
|
+
"hasChildren": false,
|
|
21
|
+
"whenToUse": [
|
|
22
|
+
"신규 기능 출시 시 사용자에게 단계별 안내가 필요한 경우",
|
|
23
|
+
"관리자 페이지의 복잡한 워크플로우를 단계별로 강조해야 하는 경우",
|
|
24
|
+
"온보딩 화면에서 주요 UI 요소를 순차적으로 지목해야 하는 경우"
|
|
25
|
+
],
|
|
26
|
+
"forbiddenRules": [
|
|
27
|
+
"React 컴포넌트로 직접 사용 금지 — useEffect 내 window.stepGuide({el, options}) 호출 + cleanup 에서 instance.exit() 호출 필수",
|
|
28
|
+
"정적 HTML 미리보기 불가 — 런타임에 오버레이가 동작하므로 render_to_html 응답의 init 스니펫을 페이지에 붙여 동작 검증 필요",
|
|
29
|
+
"step.element 는 DOM 마운트 후에만 참조 가능 — 컴포넌트 mount 이후 stepGuide() 호출"
|
|
30
|
+
],
|
|
31
|
+
"seeAlso": ["modal", "tooltip"],
|
|
32
|
+
"usageExamples": {
|
|
33
|
+
"default": {
|
|
34
|
+
"steps": [
|
|
35
|
+
{
|
|
36
|
+
"title": "1단계",
|
|
37
|
+
"description": "첫 번째 안내",
|
|
38
|
+
"element": "#step1",
|
|
39
|
+
"position": "bottom"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"title": "2단계",
|
|
43
|
+
"description": "두 번째 안내",
|
|
44
|
+
"element": "#step2",
|
|
45
|
+
"position": "bottom"
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
"positionAll": {
|
|
50
|
+
"steps": [
|
|
51
|
+
{ "title": "위쪽", "description": "위쪽 위치", "element": "#top", "position": "top" },
|
|
52
|
+
{ "title": "오른쪽", "description": "오른쪽 위치", "element": "#right", "position": "right" },
|
|
53
|
+
{ "title": "아래쪽", "description": "아래쪽 위치", "element": "#bottom", "position": "bottom" },
|
|
54
|
+
{ "title": "왼쪽", "description": "왼쪽 위치", "element": "#left", "position": "left" }
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
"withSkipBtn": {
|
|
58
|
+
"hideSkip": false,
|
|
59
|
+
"steps": [
|
|
60
|
+
{
|
|
61
|
+
"title": "스킵 가능",
|
|
62
|
+
"description": "사용자가 '나중에 하기' 로 건너뛸 수 있습니다",
|
|
63
|
+
"element": "#step1",
|
|
64
|
+
"position": "bottom"
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"props": {
|
|
70
|
+
"steps": {
|
|
71
|
+
"type": "Step[]",
|
|
72
|
+
"required": true,
|
|
73
|
+
"description": "단계 배열. 각 Step 은 { element?: string | null, title: string, description?: string, subText?: string, position?: 'top' | 'right' | 'bottom' | 'left', customStyle?: Record<string, string>, isFixed?: boolean }"
|
|
74
|
+
},
|
|
75
|
+
"useAnimation": {
|
|
76
|
+
"type": "boolean",
|
|
77
|
+
"required": false,
|
|
78
|
+
"default": true,
|
|
79
|
+
"description": "애니메이션 사용 여부"
|
|
80
|
+
},
|
|
81
|
+
"buttonLabel": {
|
|
82
|
+
"type": "{ prev: string; next: string; done: string; skip: string }",
|
|
83
|
+
"required": false,
|
|
84
|
+
"description": "버튼 라벨 (v2 default: 이전 / 다음 / 완료 / 나중에 하기)"
|
|
85
|
+
},
|
|
86
|
+
"hideSkip": {
|
|
87
|
+
"type": "boolean",
|
|
88
|
+
"required": false,
|
|
89
|
+
"default": true,
|
|
90
|
+
"description": "스킵(나중에 하기) 버튼 숨김 여부"
|
|
91
|
+
},
|
|
92
|
+
"hideStepCount": {
|
|
93
|
+
"type": "boolean",
|
|
94
|
+
"required": false,
|
|
95
|
+
"default": true,
|
|
96
|
+
"description": "스텝 카운트(1 / N) 숨김 여부"
|
|
97
|
+
},
|
|
98
|
+
"hideStepPrefix": {
|
|
99
|
+
"type": "boolean",
|
|
100
|
+
"required": false,
|
|
101
|
+
"default": false,
|
|
102
|
+
"description": "STEP N prefix 숨김 여부. 단계 1개일 때는 옵션과 무관하게 자동 생략됨"
|
|
103
|
+
},
|
|
104
|
+
"exitOnOverlayClick": {
|
|
105
|
+
"type": "boolean",
|
|
106
|
+
"required": false,
|
|
107
|
+
"default": true,
|
|
108
|
+
"description": "오버레이 클릭 시 종료 여부"
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
"html": {},
|
|
112
|
+
"bemClasses": [
|
|
113
|
+
"ncua-coachmark-backdrop",
|
|
114
|
+
"ncua-coachmark-container",
|
|
115
|
+
"ncua-coachmark-overlay",
|
|
116
|
+
"ncua-coachmark-reference",
|
|
117
|
+
"ncua-coachmark-tooltip",
|
|
118
|
+
"ncua-coachmark-tooltip__title",
|
|
119
|
+
"ncua-coachmark-tooltip__title-step",
|
|
120
|
+
"ncua-coachmark-tooltip__description",
|
|
121
|
+
"ncua-coachmark-tooltip__sub-text",
|
|
122
|
+
"ncua-coachmark-tooltip__menu",
|
|
123
|
+
"ncua-coachmark-tooltip__count",
|
|
124
|
+
"ncua-coachmark-dummy"
|
|
125
|
+
],
|
|
126
|
+
"usage": {
|
|
127
|
+
"import": "// CDN 로드 (npm import 미지원, vanilla JS only)\n<link rel=\"stylesheet\" href=\"https://fe-sdk.cdn-nhncommerce.com/@ncds/step-guide/2.0/step-guide.min.css\" />\n<script src=\"https://fe-sdk.cdn-nhncommerce.com/@ncds/step-guide/2.0/step-guide.min.js\"></script>",
|
|
128
|
+
"react": {}
|
|
129
|
+
}
|
|
130
|
+
}
|
package/data/switch.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"exportName": "Switch",
|
|
4
4
|
"importPath": "@ncds/ui-admin",
|
|
5
5
|
"jsRequired": false,
|
|
6
|
-
"category": "input",
|
|
6
|
+
"category": "forms-and-input",
|
|
7
7
|
"description": "Switch는 하나의 기능 또는 상태에 대해 180도 다른 두 개의 선택지를 제공하는 토글형 컴포넌트로, 라디오 버튼 방식의 좌/우 영역 선택을 통해 즉각적인 상태 전환을 수행합니다.",
|
|
8
8
|
"aliases": [
|
|
9
9
|
"스위치",
|
|
@@ -39,6 +39,31 @@
|
|
|
39
39
|
"selectbox",
|
|
40
40
|
"toggle"
|
|
41
41
|
],
|
|
42
|
+
"usageExamples": {
|
|
43
|
+
"default": {
|
|
44
|
+
"left": {
|
|
45
|
+
"label": "사용함",
|
|
46
|
+
"value": "on"
|
|
47
|
+
},
|
|
48
|
+
"right": {
|
|
49
|
+
"label": "사용안함",
|
|
50
|
+
"value": "off"
|
|
51
|
+
},
|
|
52
|
+
"name": "feature-toggle"
|
|
53
|
+
},
|
|
54
|
+
"boolean": {
|
|
55
|
+
"left": {
|
|
56
|
+
"label": "활성",
|
|
57
|
+
"value": true
|
|
58
|
+
},
|
|
59
|
+
"right": {
|
|
60
|
+
"label": "비활성",
|
|
61
|
+
"value": false
|
|
62
|
+
},
|
|
63
|
+
"name": "active-toggle",
|
|
64
|
+
"size": "sm"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
42
67
|
"props": {
|
|
43
68
|
"className": {
|
|
44
69
|
"type": "string",
|
|
@@ -57,7 +82,18 @@
|
|
|
57
82
|
},
|
|
58
83
|
"left": {
|
|
59
84
|
"type": "object",
|
|
60
|
-
"required": true
|
|
85
|
+
"required": true,
|
|
86
|
+
"properties": {
|
|
87
|
+
"label": {
|
|
88
|
+
"type": "ReactNode",
|
|
89
|
+
"required": true
|
|
90
|
+
},
|
|
91
|
+
"value": {
|
|
92
|
+
"type": "string",
|
|
93
|
+
"required": true,
|
|
94
|
+
"rawType": "string | boolean"
|
|
95
|
+
}
|
|
96
|
+
}
|
|
61
97
|
},
|
|
62
98
|
"name": {
|
|
63
99
|
"type": "string",
|
|
@@ -73,12 +109,28 @@
|
|
|
73
109
|
},
|
|
74
110
|
"right": {
|
|
75
111
|
"type": "object",
|
|
76
|
-
"required": true
|
|
112
|
+
"required": true,
|
|
113
|
+
"properties": {
|
|
114
|
+
"label": {
|
|
115
|
+
"type": "ReactNode",
|
|
116
|
+
"required": true
|
|
117
|
+
},
|
|
118
|
+
"value": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"required": true,
|
|
121
|
+
"rawType": "string | boolean"
|
|
122
|
+
}
|
|
123
|
+
}
|
|
77
124
|
},
|
|
78
125
|
"size": {
|
|
79
|
-
"type": "
|
|
126
|
+
"type": "enum",
|
|
80
127
|
"required": false,
|
|
81
|
-
"
|
|
128
|
+
"values": [
|
|
129
|
+
"md",
|
|
130
|
+
"sm",
|
|
131
|
+
"xs",
|
|
132
|
+
"xxs"
|
|
133
|
+
],
|
|
82
134
|
"default": "xs"
|
|
83
135
|
},
|
|
84
136
|
"value": {
|
|
@@ -91,6 +143,10 @@
|
|
|
91
143
|
"bemClasses": [
|
|
92
144
|
"ncua-switch",
|
|
93
145
|
"ncua-switch--disabled",
|
|
146
|
+
"ncua-switch--md",
|
|
147
|
+
"ncua-switch--sm",
|
|
148
|
+
"ncua-switch--xs",
|
|
149
|
+
"ncua-switch--xxs",
|
|
94
150
|
"ncua-switch__label",
|
|
95
151
|
"ncua-switch__option",
|
|
96
152
|
"ncua-switch__option--active",
|
|
@@ -103,7 +159,11 @@
|
|
|
103
159
|
"usage": {
|
|
104
160
|
"import": "import { Switch } from '@ncds/ui-admin';",
|
|
105
161
|
"react": {
|
|
106
|
-
"default": "<Switch left=\"\" name=\"\" right=\"\" />"
|
|
162
|
+
"default": "<Switch left=\"\" name=\"\" right=\"\" />",
|
|
163
|
+
"size:md": "<Switch size=\"md\" left=\"\" name=\"\" right=\"\" />",
|
|
164
|
+
"size:sm": "<Switch size=\"sm\" left=\"\" name=\"\" right=\"\" />",
|
|
165
|
+
"size:xs": "<Switch size=\"xs\" left=\"\" name=\"\" right=\"\" />",
|
|
166
|
+
"size:xxs": "<Switch size=\"xxs\" left=\"\" name=\"\" right=\"\" />"
|
|
107
167
|
}
|
|
108
168
|
}
|
|
109
169
|
}
|
package/data/table.json
ADDED
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "table",
|
|
3
|
+
"exportName": "Table",
|
|
4
|
+
"importPath": "@ncds/ui-admin",
|
|
5
|
+
"jsRequired": true,
|
|
6
|
+
"category": "data-display",
|
|
7
|
+
"description": "Table은 어드민 SaaS 환경에서 데이터 표현을 위한 핵심 구조 컴포넌트입니다.",
|
|
8
|
+
"aliases": [
|
|
9
|
+
"Table",
|
|
10
|
+
"Horizontal Table",
|
|
11
|
+
"Vertical Table",
|
|
12
|
+
"List Table",
|
|
13
|
+
"Description Table",
|
|
14
|
+
"테이블",
|
|
15
|
+
"목록",
|
|
16
|
+
"데이터 표시",
|
|
17
|
+
"Row",
|
|
18
|
+
"Cell",
|
|
19
|
+
"Header",
|
|
20
|
+
"HeaderCell",
|
|
21
|
+
"Table.Row",
|
|
22
|
+
"Table.Cell",
|
|
23
|
+
"Table.HeaderCell",
|
|
24
|
+
"Table.ColGroup",
|
|
25
|
+
"Table.Footer",
|
|
26
|
+
"Table.Empty",
|
|
27
|
+
"Table.Pagination",
|
|
28
|
+
"fixedHeader",
|
|
29
|
+
"maxHeight",
|
|
30
|
+
"hoverable",
|
|
31
|
+
"selectable",
|
|
32
|
+
"sortDirection",
|
|
33
|
+
"onSort",
|
|
34
|
+
"isHeader",
|
|
35
|
+
"status",
|
|
36
|
+
"colSpan",
|
|
37
|
+
"widths",
|
|
38
|
+
"Pagination",
|
|
39
|
+
"NCDS",
|
|
40
|
+
"가로스크롤",
|
|
41
|
+
"horizontal scroll",
|
|
42
|
+
"scrollX",
|
|
43
|
+
"overflow-x",
|
|
44
|
+
"column min-width",
|
|
45
|
+
"셀 최소 너비",
|
|
46
|
+
"셀 최소 글자수",
|
|
47
|
+
"1140",
|
|
48
|
+
"table min-width",
|
|
49
|
+
"줄바꿈",
|
|
50
|
+
"word-break",
|
|
51
|
+
"콘텐츠 타입별 차등",
|
|
52
|
+
"2단 wrapper",
|
|
53
|
+
"Portal",
|
|
54
|
+
"Floating UI",
|
|
55
|
+
"스크롤 컨테이너",
|
|
56
|
+
"scrollbar token"
|
|
57
|
+
],
|
|
58
|
+
"hasChildren": true,
|
|
59
|
+
"whenToUse": [
|
|
60
|
+
"Table은 데이터를 일관된 구조로 전달하고, 정렬·선택·페이지네이션을 통해 효율적인 데이터 탐색을 지원하는 컴포넌트이다"
|
|
61
|
+
],
|
|
62
|
+
"forbiddenRules": [
|
|
63
|
+
"컬러 토큰 외 임의 색상 사용 금지",
|
|
64
|
+
"Row Height 임의 수정 금지",
|
|
65
|
+
"텍스트 정렬 규칙 무시 금지",
|
|
66
|
+
"프로젝트별 Padding 임의 변경 금지",
|
|
67
|
+
"정렬 아이콘 위치 변경 금지"
|
|
68
|
+
],
|
|
69
|
+
"seeAlso": [
|
|
70
|
+
"checkbox",
|
|
71
|
+
"pagination",
|
|
72
|
+
"badge",
|
|
73
|
+
"empty-state",
|
|
74
|
+
"button",
|
|
75
|
+
"spinner",
|
|
76
|
+
"block-container"
|
|
77
|
+
],
|
|
78
|
+
"htmlElement": "div",
|
|
79
|
+
"props": {
|
|
80
|
+
"children": {
|
|
81
|
+
"type": "ReactNode",
|
|
82
|
+
"required": true
|
|
83
|
+
},
|
|
84
|
+
"fixedHeader": {
|
|
85
|
+
"type": "boolean",
|
|
86
|
+
"required": false,
|
|
87
|
+
"default": false
|
|
88
|
+
},
|
|
89
|
+
"horizontalScroll": {
|
|
90
|
+
"type": "boolean",
|
|
91
|
+
"required": false,
|
|
92
|
+
"default": false
|
|
93
|
+
},
|
|
94
|
+
"hoverable": {
|
|
95
|
+
"type": "boolean",
|
|
96
|
+
"required": false,
|
|
97
|
+
"default": true
|
|
98
|
+
},
|
|
99
|
+
"maxHeight": {
|
|
100
|
+
"type": "string",
|
|
101
|
+
"required": false,
|
|
102
|
+
"rawType": "string | number | undefined"
|
|
103
|
+
},
|
|
104
|
+
"minWidth": {
|
|
105
|
+
"type": "string",
|
|
106
|
+
"required": false,
|
|
107
|
+
"rawType": "string | number | undefined"
|
|
108
|
+
},
|
|
109
|
+
"selectable": {
|
|
110
|
+
"type": "boolean",
|
|
111
|
+
"required": false,
|
|
112
|
+
"default": false
|
|
113
|
+
},
|
|
114
|
+
"type": {
|
|
115
|
+
"type": "enum",
|
|
116
|
+
"required": false,
|
|
117
|
+
"values": [
|
|
118
|
+
"horizontal",
|
|
119
|
+
"vertical"
|
|
120
|
+
],
|
|
121
|
+
"default": "horizontal"
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"subComponents": {
|
|
125
|
+
"Table.Header": {
|
|
126
|
+
"props": {
|
|
127
|
+
"children": {
|
|
128
|
+
"type": "ReactNode",
|
|
129
|
+
"required": true
|
|
130
|
+
},
|
|
131
|
+
"className": {
|
|
132
|
+
"type": "string",
|
|
133
|
+
"required": false
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
"Table.Body": {
|
|
138
|
+
"props": {
|
|
139
|
+
"children": {
|
|
140
|
+
"type": "ReactNode",
|
|
141
|
+
"required": true
|
|
142
|
+
},
|
|
143
|
+
"className": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"required": false
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
"Table.Row": {
|
|
150
|
+
"props": {
|
|
151
|
+
"selected": {
|
|
152
|
+
"type": "boolean",
|
|
153
|
+
"required": false
|
|
154
|
+
},
|
|
155
|
+
"status": {
|
|
156
|
+
"type": "enum",
|
|
157
|
+
"required": false,
|
|
158
|
+
"values": [
|
|
159
|
+
"error",
|
|
160
|
+
"warning"
|
|
161
|
+
]
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
"Table.HeaderCell": {
|
|
166
|
+
"props": {
|
|
167
|
+
"minWidth": {
|
|
168
|
+
"type": "string",
|
|
169
|
+
"required": false,
|
|
170
|
+
"rawType": "string | number | undefined"
|
|
171
|
+
},
|
|
172
|
+
"onSort": {
|
|
173
|
+
"type": "function",
|
|
174
|
+
"required": false
|
|
175
|
+
},
|
|
176
|
+
"sortDirection": {
|
|
177
|
+
"type": "enum",
|
|
178
|
+
"required": false,
|
|
179
|
+
"values": [
|
|
180
|
+
"asc",
|
|
181
|
+
"desc",
|
|
182
|
+
"none"
|
|
183
|
+
]
|
|
184
|
+
},
|
|
185
|
+
"width": {
|
|
186
|
+
"type": "string",
|
|
187
|
+
"required": false,
|
|
188
|
+
"rawType": "string | number | undefined"
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
"Table.Cell": {
|
|
193
|
+
"props": {
|
|
194
|
+
"isHeader": {
|
|
195
|
+
"type": "boolean",
|
|
196
|
+
"required": false
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
"Table.Footer": {
|
|
201
|
+
"props": {
|
|
202
|
+
"children": {
|
|
203
|
+
"type": "ReactNode",
|
|
204
|
+
"required": true
|
|
205
|
+
},
|
|
206
|
+
"className": {
|
|
207
|
+
"type": "string",
|
|
208
|
+
"required": false
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
"Table.Pagination": {
|
|
213
|
+
"props": {
|
|
214
|
+
"children": {
|
|
215
|
+
"type": "ReactNode",
|
|
216
|
+
"required": true
|
|
217
|
+
},
|
|
218
|
+
"className": {
|
|
219
|
+
"type": "string",
|
|
220
|
+
"required": false
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
"Table.ColGroup": {
|
|
225
|
+
"props": {
|
|
226
|
+
"minWidths": {
|
|
227
|
+
"type": "object",
|
|
228
|
+
"required": false,
|
|
229
|
+
"rawType": "(string | number)[] | undefined"
|
|
230
|
+
},
|
|
231
|
+
"widths": {
|
|
232
|
+
"type": "object",
|
|
233
|
+
"required": true,
|
|
234
|
+
"rawType": "(string | number)[]"
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
"Table.Empty": {
|
|
239
|
+
"props": {
|
|
240
|
+
"children": {
|
|
241
|
+
"type": "ReactNode",
|
|
242
|
+
"required": false
|
|
243
|
+
},
|
|
244
|
+
"colSpan": {
|
|
245
|
+
"type": "number",
|
|
246
|
+
"required": true
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
},
|
|
251
|
+
"html": {},
|
|
252
|
+
"bemClasses": [
|
|
253
|
+
"ncua-table",
|
|
254
|
+
"ncua-table--fixed-header",
|
|
255
|
+
"ncua-table--horizontal",
|
|
256
|
+
"ncua-table--hoverable",
|
|
257
|
+
"ncua-table--selectable",
|
|
258
|
+
"ncua-table--vertical",
|
|
259
|
+
"ncua-table-wrapper",
|
|
260
|
+
"ncua-table__body",
|
|
261
|
+
"ncua-table__cell",
|
|
262
|
+
"ncua-table__empty",
|
|
263
|
+
"ncua-table__footer",
|
|
264
|
+
"ncua-table__h-scroll-container",
|
|
265
|
+
"ncua-table__h-scroll-inner",
|
|
266
|
+
"ncua-table__h-scrollbar",
|
|
267
|
+
"ncua-table__h-scrollbar-thumb",
|
|
268
|
+
"ncua-table__header",
|
|
269
|
+
"ncua-table__header-cell",
|
|
270
|
+
"ncua-table__header-cell--sortable",
|
|
271
|
+
"ncua-table__header-cell-inner",
|
|
272
|
+
"ncua-table__header-cell-text",
|
|
273
|
+
"ncua-table__pagination",
|
|
274
|
+
"ncua-table__row",
|
|
275
|
+
"ncua-table__row--error",
|
|
276
|
+
"ncua-table__row--selected",
|
|
277
|
+
"ncua-table__row--warning",
|
|
278
|
+
"ncua-table__scroll-area",
|
|
279
|
+
"ncua-table__scroll-container",
|
|
280
|
+
"ncua-table__scrollbar",
|
|
281
|
+
"ncua-table__scrollbar-thumb",
|
|
282
|
+
"ncua-table__sort-icon",
|
|
283
|
+
"ncua-table__table"
|
|
284
|
+
],
|
|
285
|
+
"usage": {
|
|
286
|
+
"import": "import { Table } from '@ncds/ui-admin';",
|
|
287
|
+
"react": {
|
|
288
|
+
"default": "<Table children=\"예시\" />",
|
|
289
|
+
"type:horizontal": "<Table type=\"horizontal\" children=\"예시\" />",
|
|
290
|
+
"type:vertical": "<Table type=\"vertical\" children=\"예시\" />"
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
package/data/tag.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"exportName": "Tag",
|
|
4
4
|
"importPath": "@ncds/ui-admin",
|
|
5
5
|
"jsRequired": true,
|
|
6
|
-
"category": "feedback",
|
|
6
|
+
"category": "feedback-and-status",
|
|
7
7
|
"description": "Tag 컴포넌트는 정보를 분류하고 필터링하기 위한 시각적 표시를 제공합니다. 레이블, 카테고리, 필터 등을 나타내는 데 사용되며, 아이콘, 닫기 버튼, 체크박스, 카운트 등의 기능을 포함할 수 있습니다.",
|
|
8
8
|
"aliases": [
|
|
9
9
|
"Tag",
|
|
@@ -24,19 +24,22 @@
|
|
|
24
24
|
],
|
|
25
25
|
"hasChildren": true,
|
|
26
26
|
"whenToUse": [
|
|
27
|
-
"정보 분류와 필터링을 위한 시각적
|
|
28
|
-
"
|
|
27
|
+
"Tag는 정보 분류와 필터링을 위한 시각적 레이블로, 사용자가 콘텐츠를 빠르게 분류·식별·필터링할 수 있도록 합니다",
|
|
28
|
+
"작고 간결한 형태로 다양한 컨텍스트에서 사용되며, 아이콘·액션을 통해 의미를 전달합니다"
|
|
29
29
|
],
|
|
30
30
|
"forbiddenRules": [
|
|
31
31
|
"disabled 태그에 액션 제공 금지",
|
|
32
32
|
"과도한 태그 나열 금지",
|
|
33
|
-
"텍스트 없는 태그 사용 금지"
|
|
33
|
+
"텍스트 없는 태그 사용 금지",
|
|
34
|
+
"상태·중요도 표시에 Tag 사용 금지"
|
|
34
35
|
],
|
|
35
36
|
"seeAlso": [
|
|
36
37
|
"badge",
|
|
37
38
|
"badge-group",
|
|
38
39
|
"checkbox",
|
|
39
|
-
"
|
|
40
|
+
"icon",
|
|
41
|
+
"dot",
|
|
42
|
+
"tooltip"
|
|
40
43
|
],
|
|
41
44
|
"props": {
|
|
42
45
|
"children": {
|
|
@@ -53,7 +56,66 @@
|
|
|
53
56
|
},
|
|
54
57
|
"icon": {
|
|
55
58
|
"type": "object",
|
|
56
|
-
"required": false
|
|
59
|
+
"required": false,
|
|
60
|
+
"rawType": "import(\"/home/runner/_work/ncds/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
|
|
61
|
+
"properties": {
|
|
62
|
+
"type": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"required": true,
|
|
65
|
+
"rawType": "\"icon\""
|
|
66
|
+
},
|
|
67
|
+
"icon": {
|
|
68
|
+
"type": "function",
|
|
69
|
+
"required": false,
|
|
70
|
+
"semantic": "icon-component"
|
|
71
|
+
},
|
|
72
|
+
"color": {
|
|
73
|
+
"type": "enum",
|
|
74
|
+
"required": false,
|
|
75
|
+
"values": [
|
|
76
|
+
"black",
|
|
77
|
+
"blue500",
|
|
78
|
+
"blue600",
|
|
79
|
+
"currentColor",
|
|
80
|
+
"gray100",
|
|
81
|
+
"gray200",
|
|
82
|
+
"gray300",
|
|
83
|
+
"gray400",
|
|
84
|
+
"gray500",
|
|
85
|
+
"gray600",
|
|
86
|
+
"gray700",
|
|
87
|
+
"green500",
|
|
88
|
+
"green600",
|
|
89
|
+
"orange500",
|
|
90
|
+
"orange600",
|
|
91
|
+
"pink100",
|
|
92
|
+
"pink600",
|
|
93
|
+
"red500",
|
|
94
|
+
"red600",
|
|
95
|
+
"secondary-gray-blue-100",
|
|
96
|
+
"secondary-gray-blue-200",
|
|
97
|
+
"secondary-gray-blue-300",
|
|
98
|
+
"secondary-gray-blue-400",
|
|
99
|
+
"secondary-gray-blue-450",
|
|
100
|
+
"secondary-gray-blue-50",
|
|
101
|
+
"secondary-gray-blue-500",
|
|
102
|
+
"secondary-gray-blue-600",
|
|
103
|
+
"secondary-gray-blue-700",
|
|
104
|
+
"violet300",
|
|
105
|
+
"violet600",
|
|
106
|
+
"white",
|
|
107
|
+
"yellow600"
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
"size": {
|
|
111
|
+
"type": "number",
|
|
112
|
+
"required": false
|
|
113
|
+
},
|
|
114
|
+
"children": {
|
|
115
|
+
"type": "ReactNode",
|
|
116
|
+
"required": false
|
|
117
|
+
}
|
|
118
|
+
}
|
|
57
119
|
},
|
|
58
120
|
"maxLength": {
|
|
59
121
|
"type": "number",
|
package/data/textarea.json
CHANGED