@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": "RangeDatePicker",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": false,
6
- "category": "input",
6
+ "category": "forms-and-input",
7
7
  "description": "RangeDatePicker는 시작일~종료일 기간 범위를 선택해야 하는 경우 사용하는 복합 선택 위젯입니다. 검색 기간 설정, 노출 기간 설정, 이벤트 기간 설정 등 두 날짜의 쌍(Pair)이 필요한 모든 상황에서 사용합니다.",
8
8
  "aliases": [
9
9
  "범위날짜선택",
@@ -66,7 +66,7 @@
66
66
  "endDateOptions": {
67
67
  "type": "object",
68
68
  "required": true,
69
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/date-picker/DatePicker\").DatePickerProps",
69
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/forms-and-input/date-picker/DatePicker\").DatePickerProps",
70
70
  "properties": {
71
71
  "size": {
72
72
  "type": "enum",
@@ -87,7 +87,7 @@
87
87
  "datePickerOptions": {
88
88
  "type": "object",
89
89
  "required": false,
90
- "rawType": "Partial<import(\"/Users/nhn/Project/ncds/node_modules/.pnpm/flatpickr@4.6.13/node_modules/flatpickr/dist/types/options\").BaseOptions> | undefined"
90
+ "rawType": "Partial<import(\"/Users/nhncommerce/Desktop/project/ncds/node_modules/.pnpm/flatpickr@4.6.13/node_modules/flatpickr/dist/types/options\").BaseOptions> | undefined"
91
91
  },
92
92
  "destructive": {
93
93
  "type": "string",
@@ -135,7 +135,7 @@
135
135
  "startDateOptions": {
136
136
  "type": "object",
137
137
  "required": true,
138
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/date-picker/DatePicker\").DatePickerProps",
138
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/forms-and-input/date-picker/DatePicker\").DatePickerProps",
139
139
  "properties": {
140
140
  "size": {
141
141
  "type": "enum",
@@ -156,7 +156,7 @@
156
156
  "datePickerOptions": {
157
157
  "type": "object",
158
158
  "required": false,
159
- "rawType": "Partial<import(\"/Users/nhn/Project/ncds/node_modules/.pnpm/flatpickr@4.6.13/node_modules/flatpickr/dist/types/options\").BaseOptions> | undefined"
159
+ "rawType": "Partial<import(\"/Users/nhncommerce/Desktop/project/ncds/node_modules/.pnpm/flatpickr@4.6.13/node_modules/flatpickr/dist/types/options\").BaseOptions> | undefined"
160
160
  },
161
161
  "destructive": {
162
162
  "type": "string",
@@ -3,7 +3,7 @@
3
3
  "exportName": "SelectBox",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": true,
6
- "category": "input",
6
+ "category": "forms-and-input",
7
7
  "description": "Selectbox는 목록(레이어) 중에서 하나 이상의 항목을 선택하는 입력 컴포넌트로, 선택 가능한 옵션이 3~30개 정도이며 공간 효율이 중요한 경우 사용합니다.",
8
8
  "aliases": [
9
9
  "셀렉트박스",
@@ -106,7 +106,7 @@
106
106
  "optionItems": {
107
107
  "type": "object",
108
108
  "required": false,
109
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/types/dropdown/option\").OptionType[] | undefined",
109
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/types/dropdown/option\").OptionType[] | undefined",
110
110
  "properties": {
111
111
  "id": {
112
112
  "type": "string",
@@ -133,7 +133,7 @@
133
133
  "register": {
134
134
  "type": "object",
135
135
  "required": false,
136
- "rawType": "import(\"/Users/nhn/Project/ncds/node_modules/.pnpm/react-hook-form@7.72.0_react@18.2.0/node_modules/react-hook-form/dist/types/form\").UseFormRegisterReturn | undefined"
136
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/node_modules/.pnpm/react-hook-form@7.72.0_react@18.2.0/node_modules/react-hook-form/dist/types/form\").UseFormRegisterReturn | undefined"
137
137
  },
138
138
  "size": {
139
139
  "type": "enum",
@@ -157,7 +157,7 @@
157
157
  "value": {
158
158
  "type": "object",
159
159
  "required": false,
160
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/types/dropdown/option\").OptionValue | undefined"
160
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/types/dropdown/option\").OptionValue | undefined"
161
161
  }
162
162
  },
163
163
  "html": {},
package/data/select.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "exportName": "Select",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": false,
6
- "category": "input",
6
+ "category": "forms-and-input",
7
7
  "description": "네이티브 HTML select 래퍼입니다. 대부분의 경우 select-box를 사용하세요. 네이티브 select가 명시적으로 필요한 경우에만 사용합니다.",
8
8
  "aliases": [
9
9
  "네이티브 셀렉트",
@@ -40,6 +40,11 @@
40
40
  "required": false,
41
41
  "default": false
42
42
  },
43
+ "disabled": {
44
+ "type": "boolean",
45
+ "required": false,
46
+ "default": false
47
+ },
43
48
  "disabledPlaceholder": {
44
49
  "type": "boolean",
45
50
  "required": false,
@@ -52,7 +57,7 @@
52
57
  "optionItems": {
53
58
  "type": "object",
54
59
  "required": false,
55
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/types/dropdown/option\").OptionType[] | undefined",
60
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/types/dropdown/option\").OptionType[] | undefined",
56
61
  "properties": {
57
62
  "id": {
58
63
  "type": "string",
@@ -77,7 +82,7 @@
77
82
  "register": {
78
83
  "type": "object",
79
84
  "required": false,
80
- "rawType": "import(\"/Users/nhn/Project/ncds/node_modules/.pnpm/react-hook-form@7.72.0_react@18.2.0/node_modules/react-hook-form/dist/types/form\").UseFormRegisterReturn | undefined"
85
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/node_modules/.pnpm/react-hook-form@7.72.0_react@18.2.0/node_modules/react-hook-form/dist/types/form\").UseFormRegisterReturn | undefined"
81
86
  },
82
87
  "size": {
83
88
  "type": "enum",
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",
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
  "스위치",
package/data/table.json CHANGED
@@ -45,7 +45,9 @@
45
45
  "Row Height 임의 수정 금지",
46
46
  "텍스트 정렬 규칙 무시 금지",
47
47
  "프로젝트별 Padding 임의 변경 금지",
48
- "정렬 아이콘 위치 변경 금지"
48
+ "정렬 아이콘 위치 변경 금지",
49
+ "Vertical Table을 Block에 배치 시 Block Body padding 0 override 금지",
50
+ "Vertical Table을 Block에 배치 시 Table [outer] 래퍼 생략 금지"
49
51
  ],
50
52
  "seeAlso": [
51
53
  "checkbox",
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",
@@ -54,7 +54,7 @@
54
54
  "icon": {
55
55
  "type": "object",
56
56
  "required": false,
57
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
57
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
58
58
  "properties": {
59
59
  "type": {
60
60
  "type": "string",
@@ -3,7 +3,7 @@
3
3
  "exportName": "Textarea",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": false,
6
- "category": "input",
6
+ "category": "forms-and-input",
7
7
  "description": "Textarea(멀티라인 인풋)는 여러 줄의 사용형 텍스트 입력을 위한 컴포넌트입니다.",
8
8
  "aliases": [
9
9
  "Textarea",
package/data/toggle.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "exportName": "Toggle",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": false,
6
- "category": "input",
6
+ "category": "forms-and-input",
7
7
  "description": "Toggle은 단일 기능의 활성/비활성 상태를 즉시 전환하는 컨트롤입니다. 설정 값의 ON/OFF, 수신 여부, 사용 여부 등 즉각 반영되는 상태 전환 UI에 사용합니다.",
8
8
  "aliases": [
9
9
  "Toggle",
package/data/tooltip.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "exportName": "Tooltip",
4
4
  "importPath": "@ncds/ui-admin",
5
5
  "jsRequired": true,
6
- "category": "overlay",
6
+ "category": "overlays",
7
7
  "description": "Tooltip은 항목, 데이터, 기능 등에 대해 추가 설명이 필요한 경우 보조 정보를 제공하는 말풍선 내 UI 컴포넌트입니다.",
8
8
  "aliases": [
9
9
  "Tooltip",
@@ -59,7 +59,7 @@
59
59
  "menus": {
60
60
  "type": "object",
61
61
  "required": false,
62
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/tab/TabButton\").TabButtonProps[] | undefined",
62
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/tab/TabButton\").TabButtonProps[] | undefined",
63
63
  "properties": {
64
64
  "id": {
65
65
  "type": "string",
@@ -96,7 +96,7 @@
96
96
  "badgeInfo": {
97
97
  "type": "object",
98
98
  "required": false,
99
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/components/badge/Badge\").BadgeProps | undefined",
99
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/components/feedback-and-status/badge/Badge\").BadgeProps | undefined",
100
100
  "properties": {
101
101
  "label": {
102
102
  "type": "string",
@@ -130,7 +130,7 @@
130
130
  "leadingIcon": {
131
131
  "type": "object",
132
132
  "required": false,
133
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
133
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
134
134
  "properties": {
135
135
  "type": {
136
136
  "type": "string",
@@ -193,7 +193,7 @@
193
193
  "trailingIcon": {
194
194
  "type": "object",
195
195
  "required": false,
196
- "rawType": "import(\"/Users/nhn/Project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
196
+ "rawType": "import(\"/Users/nhncommerce/Desktop/project/ncds/packages/ui-admin/src/types/side-slot\").SideSlotType | undefined",
197
197
  "properties": {
198
198
  "type": {
199
199
  "type": "string",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ncds/ui-admin-mcp",
3
- "version": "1.0.0-alpha.13",
3
+ "version": "1.0.0-alpha.15",
4
4
  "description": "NCDS UI Admin MCP 서버 — AI 에이전트가 NCUA 컴포넌트를 조회하고 HTML을 검증할 수 있는 MCP 서버",
5
5
  "bin": {
6
6
  "ncua-mcp": "./bin/server.mjs"
@@ -20,7 +20,7 @@
20
20
  "extract:tokens": "tsx scripts/extract-design-tokens.ts",
21
21
  "generate:cdn-meta": "tsx scripts/generate-cdn-meta.ts",
22
22
  "build:bundle": "tsx scripts/build-bundle.ts",
23
- "build:server": "tsc --project tsconfig.json && rm -rf bin/definitions && cp -r src/definitions bin/definitions",
23
+ "build:server": "mkdir -p bin && rm -rf bin/definitions && cp -r src/definitions bin/definitions && find bin/definitions -name '*.ts' -delete && tsc --project tsconfig.json",
24
24
  "build": "pnpm extract && pnpm extract:icons && pnpm extract:tokens && pnpm generate:cdn-meta && pnpm build:bundle && pnpm build:server",
25
25
  "check-meta": "tsx scripts/check-meta-coherence.ts",
26
26
  "test": "vitest run --config vitest.config.ts",
@@ -57,6 +57,7 @@
57
57
  },
58
58
  "devDependencies": {
59
59
  "@ncds/ui-admin": "workspace:*",
60
+ "@types/lodash": "^4.17.24",
60
61
  "@types/node": "^25.5.0",
61
62
  "@types/react": "^18.3.20",
62
63
  "esbuild": "^0.28.0",