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

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 (97) hide show
  1. package/README.md +113 -0
  2. package/bin/components.bundle.js +21 -0
  3. package/bin/definitions/compliance-rules.json +64 -0
  4. package/bin/definitions/instructions.md +96 -0
  5. package/bin/definitions/rules.json +57 -0
  6. package/bin/definitions/token-descriptions.json +27 -0
  7. package/bin/definitions/tool-definitions.json +42 -0
  8. package/bin/instructions.d.ts +1 -0
  9. package/bin/instructions.js +14 -0
  10. package/bin/server.d.ts +1 -0
  11. package/bin/server.js +164 -0
  12. package/bin/server.mjs +8 -0
  13. package/bin/tools/getComponentHtml.d.ts +3 -0
  14. package/bin/tools/getComponentHtml.js +30 -0
  15. package/bin/tools/getComponentProps.d.ts +4 -0
  16. package/bin/tools/getComponentProps.js +17 -0
  17. package/bin/tools/getDesignTokens.d.ts +13 -0
  18. package/bin/tools/getDesignTokens.js +20 -0
  19. package/bin/tools/listComponents.d.ts +16 -0
  20. package/bin/tools/listComponents.js +24 -0
  21. package/bin/tools/listIcons.d.ts +22 -0
  22. package/bin/tools/listIcons.js +23 -0
  23. package/bin/tools/ping.d.ts +17 -0
  24. package/bin/tools/ping.js +20 -0
  25. package/bin/tools/renderToHtml.d.ts +21 -0
  26. package/bin/tools/renderToHtml.js +177 -0
  27. package/bin/tools/searchComponent.d.ts +4 -0
  28. package/bin/tools/searchComponent.js +33 -0
  29. package/bin/tools/searchIcon.d.ts +7 -0
  30. package/bin/tools/searchIcon.js +19 -0
  31. package/bin/tools/validateHtml.d.ts +18 -0
  32. package/bin/tools/validateHtml.js +85 -0
  33. package/bin/types.d.ts +111 -0
  34. package/bin/types.js +5 -0
  35. package/bin/utils/bemValidator.d.ts +36 -0
  36. package/bin/utils/bemValidator.js +198 -0
  37. package/bin/utils/compliance.d.ts +52 -0
  38. package/bin/utils/compliance.js +199 -0
  39. package/bin/utils/dataLoader.d.ts +33 -0
  40. package/bin/utils/dataLoader.js +174 -0
  41. package/bin/utils/domEnvironment.d.ts +9 -0
  42. package/bin/utils/domEnvironment.js +25 -0
  43. package/bin/utils/fuzzyMatch.d.ts +21 -0
  44. package/bin/utils/fuzzyMatch.js +110 -0
  45. package/bin/utils/logger.d.ts +18 -0
  46. package/bin/utils/logger.js +27 -0
  47. package/bin/utils/response.d.ts +26 -0
  48. package/bin/utils/response.js +28 -0
  49. package/bin/utils/tokenValidator.d.ts +24 -0
  50. package/bin/utils/tokenValidator.js +162 -0
  51. package/bin/version.d.ts +4 -0
  52. package/bin/version.js +7 -0
  53. package/data/_icons.json +12361 -0
  54. package/data/_meta.json +12 -0
  55. package/data/_tokens.json +661 -0
  56. package/data/badge-group.json +121 -0
  57. package/data/badge.json +130 -0
  58. package/data/bread-crumb.json +51 -0
  59. package/data/button-group.json +94 -0
  60. package/data/button.json +143 -0
  61. package/data/carousel-arrow.json +87 -0
  62. package/data/carousel-number-group.json +87 -0
  63. package/data/checkbox.json +99 -0
  64. package/data/combo-box.json +157 -0
  65. package/data/date-picker.json +109 -0
  66. package/data/divider.json +91 -0
  67. package/data/dot.json +103 -0
  68. package/data/dropdown.json +123 -0
  69. package/data/empty-state.json +64 -0
  70. package/data/featured-icon.json +125 -0
  71. package/data/file-input.json +161 -0
  72. package/data/horizontal-tab.json +114 -0
  73. package/data/image-file-input.json +185 -0
  74. package/data/input-base.json +145 -0
  75. package/data/modal.json +131 -0
  76. package/data/notification.json +176 -0
  77. package/data/number-input.json +141 -0
  78. package/data/pagination.json +101 -0
  79. package/data/password-input.json +45 -0
  80. package/data/progress-bar.json +90 -0
  81. package/data/progress-circle.json +96 -0
  82. package/data/radio.json +86 -0
  83. package/data/range-date-picker-with-buttons.json +101 -0
  84. package/data/range-date-picker.json +87 -0
  85. package/data/select-box.json +177 -0
  86. package/data/select.json +116 -0
  87. package/data/slider.json +100 -0
  88. package/data/spinner.json +94 -0
  89. package/data/switch.json +109 -0
  90. package/data/tag.json +101 -0
  91. package/data/textarea.json +96 -0
  92. package/data/toggle.json +102 -0
  93. package/data/tooltip.json +185 -0
  94. package/data/vertical-tab.json +99 -0
  95. package/package.json +71 -0
  96. package/templates/.mcp.json.example +8 -0
  97. package/templates/README.md +30 -0
@@ -0,0 +1,123 @@
1
+ {
2
+ "name": "dropdown",
3
+ "exportName": "Dropdown",
4
+ "importPath": "@ncds/ui-admin",
5
+ "jsRequired": false,
6
+ "category": "overlay",
7
+ "description": "Dropdown(메뉴형)은 버튼, 아이콘, 아바타 등 트리거 요소를 통해 숨겨진 메뉴 또는 작업(Action) 목록을 레이어 형태로 노출하는 컴포넌트입니다.",
8
+ "aliases": [
9
+ "Dropdown",
10
+ "드롭다운",
11
+ "Trigger",
12
+ "Layer",
13
+ "Menu",
14
+ "IconTrigger",
15
+ "AvatarTrigger",
16
+ "ButtonTrigger",
17
+ "TextTrigger",
18
+ "CustomTrigger",
19
+ "DropdownGroup",
20
+ "DropdownItem",
21
+ "Header",
22
+ "Divider",
23
+ "Danger",
24
+ "align",
25
+ "closeOnClickItem",
26
+ "NCDS"
27
+ ],
28
+ "hasChildren": true,
29
+ "whenToUse": [
30
+ "Dropdown은 값 선택이 아닌 액션 실행 컴포넌트입니다",
31
+ "제한된 화면 공간에서 다수의 작업을 구조적으로 제공할 때 사용합니다"
32
+ ],
33
+ "forbiddenRules": [
34
+ "메뉴명 말줄임 처리 금지",
35
+ "10개 이상 메뉴 구성 지양",
36
+ "내부 스크롤 지양",
37
+ "값 선택 용도 사용 금지",
38
+ "별도 전용 버튼 생성 금지",
39
+ "Danger 스타일 남용 금지"
40
+ ],
41
+ "seeAlso": [
42
+ "button",
43
+ "selectbox",
44
+ "icon",
45
+ "icon-button"
46
+ ],
47
+ "props": {
48
+ "align": {
49
+ "type": "enum",
50
+ "required": false,
51
+ "values": [
52
+ "left",
53
+ "right"
54
+ ],
55
+ "default": "left"
56
+ },
57
+ "className": {
58
+ "type": "string",
59
+ "required": false
60
+ },
61
+ "closeOnClickItem": {
62
+ "type": "boolean",
63
+ "required": false,
64
+ "default": true
65
+ },
66
+ "closeOnClickOutside": {
67
+ "type": "boolean",
68
+ "required": false,
69
+ "default": true
70
+ },
71
+ "groups": {
72
+ "type": "string",
73
+ "required": true,
74
+ "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/dropdown/Dropdown\").DropdownGroup[]"
75
+ },
76
+ "header": {
77
+ "type": "object",
78
+ "required": false
79
+ },
80
+ "opened": {
81
+ "type": "boolean",
82
+ "required": false,
83
+ "default": false
84
+ },
85
+ "trigger": {
86
+ "type": "object",
87
+ "required": true
88
+ }
89
+ },
90
+ "html": {},
91
+ "bemClasses": [
92
+ "ncua-dropdown",
93
+ "ncua-dropdown--right",
94
+ "ncua-dropdown__avatar",
95
+ "ncua-dropdown__group",
96
+ "ncua-dropdown__header",
97
+ "ncua-dropdown__header-avatar-group",
98
+ "ncua-dropdown__header-subtitle",
99
+ "ncua-dropdown__header-text",
100
+ "ncua-dropdown__header-title",
101
+ "ncua-dropdown__item",
102
+ "ncua-dropdown__item-clickable-layer",
103
+ "ncua-dropdown__item-content",
104
+ "ncua-dropdown__item-icon",
105
+ "ncua-dropdown__item-shortcut",
106
+ "ncua-dropdown__item-text",
107
+ "ncua-dropdown__item-text-group",
108
+ "ncua-dropdown__menu",
109
+ "ncua-dropdown__menu-items",
110
+ "ncua-dropdown__trigger",
111
+ "ncua-dropdown__trigger ncua-dropdown__trigger--avatar",
112
+ "ncua-dropdown__trigger ncua-dropdown__trigger--button",
113
+ "ncua-dropdown__trigger ncua-dropdown__trigger--icon"
114
+ ],
115
+ "usage": {
116
+ "import": "import { Dropdown } from '@ncds/ui-admin';",
117
+ "react": {
118
+ "default": "<Dropdown groups=\"\" trigger=\"\" />",
119
+ "align:left": "<Dropdown align=\"left\" groups=\"\" trigger=\"\" />",
120
+ "align:right": "<Dropdown align=\"right\" groups=\"\" trigger=\"\" />"
121
+ }
122
+ }
123
+ }
@@ -0,0 +1,64 @@
1
+ {
2
+ "name": "empty-state",
3
+ "exportName": "EmptyState",
4
+ "importPath": "@ncds/ui-admin",
5
+ "jsRequired": false,
6
+ "category": "feedback",
7
+ "description": "EmptyState는 앱에서 사용자에게 표시할 데이터가 없거나 검색어가 0개의 결과를 반환하는 순간을 표시하는 컴포넌트입니다.",
8
+ "aliases": [
9
+ "EmptyState",
10
+ "빈상태",
11
+ "빈화면",
12
+ "검색결과없음",
13
+ "데이터없음",
14
+ "안내메시지",
15
+ "title",
16
+ "description",
17
+ "buttons",
18
+ "액션버튼",
19
+ "NCDS"
20
+ ],
21
+ "hasChildren": false,
22
+ "whenToUse": [
23
+ "빈 상태의 이유를 명확하게 설명하고 사용자가 취할 수 있는 다음 단계와 명확한 작업에 대한 지침을 제공",
24
+ "충분한 지침이 있으면 작업이 예상대로 작동하지 않을 때에도 원활한 경험을 보장"
25
+ ],
26
+ "forbiddenRules": [
27
+ "빈 상태 무시 금지(반드시 EmptyState로 안내 메시지 제공)",
28
+ "모호한 메시지 금지",
29
+ "과도한 버튼 사용 금지",
30
+ "장식 용도 금지",
31
+ "로딩 중 표시 금지"
32
+ ],
33
+ "seeAlso": [
34
+ "spinner"
35
+ ],
36
+ "props": {
37
+ "buttons": {
38
+ "type": "string",
39
+ "required": false,
40
+ "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/empty-state/EmptyState\").ButtonOptions | import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/empty-state/EmptyState\").ButtonOptions[] | undefined"
41
+ },
42
+ "description": {
43
+ "type": "string",
44
+ "required": true
45
+ },
46
+ "title": {
47
+ "type": "string",
48
+ "required": true
49
+ }
50
+ },
51
+ "html": {},
52
+ "bemClasses": [
53
+ "ncua-empty-state",
54
+ "ncua-empty-state__button-group",
55
+ "ncua-empty-state__description",
56
+ "ncua-empty-state__title"
57
+ ],
58
+ "usage": {
59
+ "import": "import { EmptyState } from '@ncds/ui-admin';",
60
+ "react": {
61
+ "default": "<EmptyState description=\"\" title=\"\" />"
62
+ }
63
+ }
64
+ }
@@ -0,0 +1,125 @@
1
+ {
2
+ "name": "featured-icon",
3
+ "exportName": "FeaturedIcon",
4
+ "importPath": "@ncds/ui-admin",
5
+ "jsRequired": true,
6
+ "category": "icon",
7
+ "description": "FeaturedIcon은 상태(Status), 결과(Result), 중요 액션(Action)을 시각적으로 강조하기 위한 아이콘 강조 컴포넌트입니다",
8
+ "aliases": [
9
+ "FeaturedIcon",
10
+ "피처드아이콘",
11
+ "아이콘강조",
12
+ "상태아이콘",
13
+ "light-circle",
14
+ "dark-circle",
15
+ "outline-circle",
16
+ "square-outline",
17
+ "neutral",
18
+ "error",
19
+ "warning",
20
+ "success",
21
+ "컨테이너아이콘",
22
+ "NCDS"
23
+ ],
24
+ "hasChildren": false,
25
+ "whenToUse": [
26
+ "상태 결과 페이지",
27
+ "에러 페이지",
28
+ "단독 메시지 영역",
29
+ "알림/승인 결과",
30
+ "시스템 메시지"
31
+ ],
32
+ "forbiddenRules": [
33
+ "버튼 트리거로 사용 금지",
34
+ "임의 색상 사용 금지",
35
+ "의미와 맞지 않는 색상 사용 금지",
36
+ "Interactive 사용 지양",
37
+ "반복적 나열 지양"
38
+ ],
39
+ "seeAlso": [
40
+ "icon",
41
+ "icon-button",
42
+ "badge",
43
+ "dot"
44
+ ],
45
+ "htmlElement": "div",
46
+ "props": {
47
+ "className": {
48
+ "type": "string",
49
+ "required": false
50
+ },
51
+ "color": {
52
+ "type": "enum",
53
+ "required": false,
54
+ "values": [
55
+ "error",
56
+ "neutral",
57
+ "success",
58
+ "warning"
59
+ ],
60
+ "default": "neutral"
61
+ },
62
+ "icon": {
63
+ "type": "object",
64
+ "required": true
65
+ },
66
+ "size": {
67
+ "type": "enum",
68
+ "required": false,
69
+ "values": [
70
+ "lg",
71
+ "md",
72
+ "sm",
73
+ "xl"
74
+ ],
75
+ "default": "md"
76
+ },
77
+ "theme": {
78
+ "type": "enum",
79
+ "required": false,
80
+ "values": [
81
+ "dark-circle",
82
+ "light-circle",
83
+ "outline-circle",
84
+ "square-outline"
85
+ ],
86
+ "default": "light-circle"
87
+ }
88
+ },
89
+ "html": {},
90
+ "bemClasses": [
91
+ "ncua-featured-icon",
92
+ "ncua-featured-icon--dark-circle",
93
+ "ncua-featured-icon--error",
94
+ "ncua-featured-icon--lg",
95
+ "ncua-featured-icon--light-circle",
96
+ "ncua-featured-icon--md",
97
+ "ncua-featured-icon--neutral",
98
+ "ncua-featured-icon--outline-circle",
99
+ "ncua-featured-icon--sm",
100
+ "ncua-featured-icon--square-outline",
101
+ "ncua-featured-icon--success",
102
+ "ncua-featured-icon--warning",
103
+ "ncua-featured-icon--xl",
104
+ "ncua-featured-icon__outline ncua-featured-icon__outline--inner",
105
+ "ncua-featured-icon__outline ncua-featured-icon__outline--outer"
106
+ ],
107
+ "usage": {
108
+ "import": "import { FeaturedIcon } from '@ncds/ui-admin';",
109
+ "react": {
110
+ "default": "<FeaturedIcon icon=\"\" />",
111
+ "color:error": "<FeaturedIcon color=\"error\" icon=\"\" />",
112
+ "color:neutral": "<FeaturedIcon color=\"neutral\" icon=\"\" />",
113
+ "color:success": "<FeaturedIcon color=\"success\" icon=\"\" />",
114
+ "color:warning": "<FeaturedIcon color=\"warning\" icon=\"\" />",
115
+ "size:lg": "<FeaturedIcon size=\"lg\" icon=\"\" />",
116
+ "size:md": "<FeaturedIcon size=\"md\" icon=\"\" />",
117
+ "size:sm": "<FeaturedIcon size=\"sm\" icon=\"\" />",
118
+ "size:xl": "<FeaturedIcon size=\"xl\" icon=\"\" />",
119
+ "theme:dark-circle": "<FeaturedIcon theme=\"dark-circle\" icon=\"\" />",
120
+ "theme:light-circle": "<FeaturedIcon theme=\"light-circle\" icon=\"\" />",
121
+ "theme:outline-circle": "<FeaturedIcon theme=\"outline-circle\" icon=\"\" />",
122
+ "theme:square-outline": "<FeaturedIcon theme=\"square-outline\" icon=\"\" />"
123
+ }
124
+ }
125
+ }
@@ -0,0 +1,161 @@
1
+ {
2
+ "name": "file-input",
3
+ "exportName": "FileInput",
4
+ "importPath": "@ncds/ui-admin",
5
+ "jsRequired": true,
6
+ "category": "input",
7
+ "description": "File Upload가 필요한 영역에서 공통 UI/UX를 적용하는 입력 컴포넌트입니다",
8
+ "aliases": [
9
+ "파일인풋",
10
+ "FileInput",
11
+ "파일업로드",
12
+ "파일첨부",
13
+ "파일찾기",
14
+ "업로드",
15
+ "accept",
16
+ "maxFileCount",
17
+ "maxFileSize",
18
+ "onFail",
19
+ "multiple",
20
+ "hintText",
21
+ "hintItems",
22
+ "destructive",
23
+ "NCDS"
24
+ ],
25
+ "hasChildren": false,
26
+ "whenToUse": [
27
+ "제한 정책 안내문을 항상 노출하며 파일명 텍스트 중심 UI를 기본으로 하고 삭제 기능을 필수 제공해야 하는 경우",
28
+ "단일 파일 또는 다중 파일 업로드가 필요한 경우",
29
+ "이미지가 아닌 일반 파일 업로드 영역"
30
+ ],
31
+ "forbiddenRules": [
32
+ "제한 정책 안내 없이 업로드 허용 금지",
33
+ "최대 등록 수 초과 시 무반응 처리 금지",
34
+ "파일명 34자 초과 그대로 노출 금지",
35
+ "단일 파일 영역에서 다중 파일 누적 금지",
36
+ "삭제 기능 없는 업로드 UI 제공 금지"
37
+ ],
38
+ "seeAlso": [
39
+ "image-file-input"
40
+ ],
41
+ "props": {
42
+ "accept": {
43
+ "type": "string",
44
+ "required": false
45
+ },
46
+ "buttonLabel": {
47
+ "type": "string",
48
+ "required": false,
49
+ "default": "파일 찾기"
50
+ },
51
+ "destructive": {
52
+ "type": "boolean",
53
+ "required": false
54
+ },
55
+ "disabled": {
56
+ "type": "boolean",
57
+ "required": false
58
+ },
59
+ "hintItems": {
60
+ "type": "string",
61
+ "required": false,
62
+ "rawType": "string[] | undefined"
63
+ },
64
+ "hintText": {
65
+ "type": "string",
66
+ "required": false
67
+ },
68
+ "isRequired": {
69
+ "type": "boolean",
70
+ "required": false
71
+ },
72
+ "label": {
73
+ "type": "string",
74
+ "required": false
75
+ },
76
+ "leadingElement": {
77
+ "type": "object",
78
+ "required": false
79
+ },
80
+ "maxFileCount": {
81
+ "type": "number",
82
+ "required": false
83
+ },
84
+ "maxFileSize": {
85
+ "type": "number",
86
+ "required": false
87
+ },
88
+ "maxLength": {
89
+ "type": "number",
90
+ "required": false
91
+ },
92
+ "onChange": {
93
+ "type": "function",
94
+ "required": false
95
+ },
96
+ "onFail": {
97
+ "type": "function",
98
+ "required": false
99
+ },
100
+ "onFileSelect": {
101
+ "type": "function",
102
+ "required": false
103
+ },
104
+ "required": {
105
+ "type": "boolean",
106
+ "required": false
107
+ },
108
+ "showHelpIcon": {
109
+ "type": "boolean",
110
+ "required": false
111
+ },
112
+ "showTextCount": {
113
+ "type": "boolean",
114
+ "required": false
115
+ },
116
+ "size": {
117
+ "type": "enum",
118
+ "required": false,
119
+ "values": [
120
+ "sm",
121
+ "xs"
122
+ ],
123
+ "default": "xs"
124
+ },
125
+ "trailingElement": {
126
+ "type": "object",
127
+ "required": false
128
+ },
129
+ "validation": {
130
+ "type": "boolean",
131
+ "required": false
132
+ },
133
+ "value": {
134
+ "type": "string",
135
+ "required": false,
136
+ "rawType": "File[] | undefined"
137
+ }
138
+ },
139
+ "html": {},
140
+ "bemClasses": [
141
+ "ncua-file-input",
142
+ "ncua-file-input--sm",
143
+ "ncua-file-input--xs",
144
+ "ncua-file-input__file-image",
145
+ "ncua-file-input__file-tag-container",
146
+ "ncua-file-input__file-tags",
147
+ "ncua-file-input__hint-item",
148
+ "ncua-file-input__hint-list",
149
+ "ncua-file-input__input-container",
150
+ "ncua-file-input__label",
151
+ "ncua-input__help-icon"
152
+ ],
153
+ "usage": {
154
+ "import": "import { FileInput } from '@ncds/ui-admin';",
155
+ "react": {
156
+ "default": "<FileInput />",
157
+ "size:sm": "<FileInput size=\"sm\" />",
158
+ "size:xs": "<FileInput size=\"xs\" />"
159
+ }
160
+ }
161
+ }
@@ -0,0 +1,114 @@
1
+ {
2
+ "name": "horizontal-tab",
3
+ "exportName": "HorizontalTab",
4
+ "importPath": "@ncds/ui-admin",
5
+ "jsRequired": true,
6
+ "category": "navigation",
7
+ "description": "HorizontalTab은 동일한 계층 구조의 관련 콘텐츠를 그룹화하여 탭 메뉴 사이를 전환하는 내비게이션 UI 컴포넌트입니다.",
8
+ "aliases": [
9
+ "HorizontalTab",
10
+ "가로탭",
11
+ "탭",
12
+ "Tab",
13
+ "수평탭",
14
+ "콘텐츠전환",
15
+ "Underline",
16
+ "Button",
17
+ "Badge",
18
+ "Closable",
19
+ "Slider",
20
+ "SPA",
21
+ "네비게이션",
22
+ "NCDS"
23
+ ],
24
+ "hasChildren": false,
25
+ "whenToUse": [
26
+ "동일 페이지 내에서 콘텐츠를 전환하는 수평 내비게이션",
27
+ "페이지 리로드 없이 SPA 기준 라우팅 변경으로 동작",
28
+ "동등한 중요도의 섹션을 구분"
29
+ ],
30
+ "forbiddenRules": [
31
+ "아이콘 장식 사용 금지",
32
+ "이미지 사용 금지",
33
+ "서로 다른 계층 혼합 금지",
34
+ "과도한 개수 구성 지양(7개 이상 지양, 권장 2~6개)",
35
+ "페이지 리로드 금지",
36
+ "1개 탭 단독 노출 금지",
37
+ "탭 높이 변형 금지",
38
+ "배지를 클릭 액션으로 사용 금지",
39
+ "New 배지 영구 고정 금지",
40
+ "일반 페이지 구조 탭에 Close Button 사용 금지"
41
+ ],
42
+ "seeAlso": [
43
+ "badge",
44
+ "vertical-tab"
45
+ ],
46
+ "props": {
47
+ "activeTab": {
48
+ "type": "string",
49
+ "required": false
50
+ },
51
+ "className": {
52
+ "type": "string",
53
+ "required": false
54
+ },
55
+ "fullWidth": {
56
+ "type": "boolean",
57
+ "required": false,
58
+ "default": false
59
+ },
60
+ "menus": {
61
+ "type": "string",
62
+ "required": false,
63
+ "rawType": "import(\"/Users/nhncommerce/Desktop/company/ai-driven-ncds/packages/ui-admin/src/components/tab/TabButton\").TabButtonProps[] | undefined",
64
+ "default": "[]"
65
+ },
66
+ "size": {
67
+ "type": "enum",
68
+ "required": false,
69
+ "values": [
70
+ "lg",
71
+ "md",
72
+ "sm"
73
+ ],
74
+ "default": "sm"
75
+ },
76
+ "type": {
77
+ "type": "enum",
78
+ "required": false,
79
+ "values": [
80
+ "button-primary",
81
+ "button-white",
82
+ "underline",
83
+ "underline-fill"
84
+ ],
85
+ "default": "button-primary"
86
+ }
87
+ },
88
+ "html": {},
89
+ "bemClasses": [
90
+ "ncua-horizontal-tab",
91
+ "ncua-horizontal-tab--button-primary",
92
+ "ncua-horizontal-tab--button-white",
93
+ "ncua-horizontal-tab--fullWidth",
94
+ "ncua-horizontal-tab--lg",
95
+ "ncua-horizontal-tab--md",
96
+ "ncua-horizontal-tab--sm",
97
+ "ncua-horizontal-tab--underline",
98
+ "ncua-horizontal-tab--underline-fill",
99
+ "ncua-horizontal-tab__item"
100
+ ],
101
+ "usage": {
102
+ "import": "import { HorizontalTab } from '@ncds/ui-admin';",
103
+ "react": {
104
+ "default": "<HorizontalTab />",
105
+ "size:lg": "<HorizontalTab size=\"lg\" />",
106
+ "size:md": "<HorizontalTab size=\"md\" />",
107
+ "size:sm": "<HorizontalTab size=\"sm\" />",
108
+ "type:button-primary": "<HorizontalTab type=\"button-primary\" />",
109
+ "type:button-white": "<HorizontalTab type=\"button-white\" />",
110
+ "type:underline": "<HorizontalTab type=\"underline\" />",
111
+ "type:underline-fill": "<HorizontalTab type=\"underline-fill\" />"
112
+ }
113
+ }
114
+ }