@fjyueke/arco-mcp 1.0.0

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 (191) hide show
  1. package/README.md +85 -0
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.js +244 -0
  4. package/metaData/components/action-sheet/doc.md +102 -0
  5. package/metaData/components/action-sheet/example/index.tsx +199 -0
  6. package/metaData/components/action-sheet/example/methods.tsx +6 -0
  7. package/metaData/components/avatar/doc.md +57 -0
  8. package/metaData/components/avatar/example/group.tsx +69 -0
  9. package/metaData/components/avatar/example/index.tsx +196 -0
  10. package/metaData/components/badge/doc.md +28 -0
  11. package/metaData/components/badge/example/index.tsx +128 -0
  12. package/metaData/components/button/doc.md +45 -0
  13. package/metaData/components/button/example/index.tsx +264 -0
  14. package/metaData/components/carousel/doc.md +89 -0
  15. package/metaData/components/carousel/example/index.tsx +1481 -0
  16. package/metaData/components/cell/doc.md +68 -0
  17. package/metaData/components/cell/example/arrow.tsx +13 -0
  18. package/metaData/components/cell/example/cell.tsx +71 -0
  19. package/metaData/components/cell/example/group.tsx +63 -0
  20. package/metaData/components/cell/example/index.tsx +19 -0
  21. package/metaData/components/checkbox/doc.md +91 -0
  22. package/metaData/components/checkbox/example/checkbox.tsx +158 -0
  23. package/metaData/components/checkbox/example/group.tsx +103 -0
  24. package/metaData/components/checkbox/example/index.tsx +25 -0
  25. package/metaData/components/circle-progress/doc.md +40 -0
  26. package/metaData/components/circle-progress/example/index.tsx +323 -0
  27. package/metaData/components/collapse/doc.md +74 -0
  28. package/metaData/components/collapse/example/collapse.tsx +183 -0
  29. package/metaData/components/collapse/example/group.tsx +136 -0
  30. package/metaData/components/collapse/example/index.tsx +16 -0
  31. package/metaData/components/collapse/example/utils.tsx +20 -0
  32. package/metaData/components/context-provider/doc.md +44 -0
  33. package/metaData/components/context-provider/example/index.tsx +208 -0
  34. package/metaData/components/count-down/doc.md +40 -0
  35. package/metaData/components/count-down/example/hooks.tsx +118 -0
  36. package/metaData/components/count-down/example/index.tsx +63 -0
  37. package/metaData/components/date-picker/doc.md +102 -0
  38. package/metaData/components/date-picker/example/index.tsx +545 -0
  39. package/metaData/components/dialog/doc.md +200 -0
  40. package/metaData/components/dialog/example/index.tsx +328 -0
  41. package/metaData/components/dialog/example/methods.tsx +56 -0
  42. package/metaData/components/divider/doc.md +25 -0
  43. package/metaData/components/divider/example/index.tsx +87 -0
  44. package/metaData/components/dropdown/doc.md +80 -0
  45. package/metaData/components/dropdown/example/dropdown.tsx +308 -0
  46. package/metaData/components/dropdown/example/index.tsx +19 -0
  47. package/metaData/components/dropdown/example/options.tsx +103 -0
  48. package/metaData/components/dropdown-menu/doc.md +91 -0
  49. package/metaData/components/dropdown-menu/example/dropdown-menu.tsx +270 -0
  50. package/metaData/components/dropdown-menu/example/index.tsx +16 -0
  51. package/metaData/components/ellipsis/doc.md +33 -0
  52. package/metaData/components/ellipsis/example/index.tsx +93 -0
  53. package/metaData/components/ellipsis/example/js-ellipsis.tsx +229 -0
  54. package/metaData/components/ellipsis/example/native-ellipsis.tsx +48 -0
  55. package/metaData/components/form/doc.md +90 -0
  56. package/metaData/components/form/example/form-item-context.tsx +8 -0
  57. package/metaData/components/form/example/form-item.tsx +378 -0
  58. package/metaData/components/form/example/index.tsx +87 -0
  59. package/metaData/components/form/example/linked-container.tsx +66 -0
  60. package/metaData/components/grid/doc.md +39 -0
  61. package/metaData/components/grid/example/index.tsx +252 -0
  62. package/metaData/components/icon/doc.md +15 -0
  63. package/metaData/components/icon/example/index.tsx +32 -0
  64. package/metaData/components/image/doc.md +62 -0
  65. package/metaData/components/image/example/index.tsx +528 -0
  66. package/metaData/components/image-picker/doc.md +116 -0
  67. package/metaData/components/image-picker/example/add-icon.tsx +14 -0
  68. package/metaData/components/image-picker/example/index.tsx +175 -0
  69. package/metaData/components/image-preview/doc.md +119 -0
  70. package/metaData/components/image-preview/example/index.tsx +1290 -0
  71. package/metaData/components/image-preview/example/methods.tsx +72 -0
  72. package/metaData/components/index-bar/doc.md +83 -0
  73. package/metaData/components/index-bar/example/group.tsx +93 -0
  74. package/metaData/components/index-bar/example/index.tsx +271 -0
  75. package/metaData/components/index-bar/example/side-bar.tsx +82 -0
  76. package/metaData/components/input/doc.md +60 -0
  77. package/metaData/components/input/example/hooks.tsx +259 -0
  78. package/metaData/components/input/example/index.tsx +134 -0
  79. package/metaData/components/input/example/props.tsx +183 -0
  80. package/metaData/components/keyboard/doc.md +73 -0
  81. package/metaData/components/keyboard/example/index.tsx +238 -0
  82. package/metaData/components/load-more/doc.md +48 -0
  83. package/metaData/components/load-more/example/index.tsx +395 -0
  84. package/metaData/components/loading/doc.md +34 -0
  85. package/metaData/components/loading/example/index.tsx +312 -0
  86. package/metaData/components/masking/doc.md +93 -0
  87. package/metaData/components/masking/example/index.tsx +410 -0
  88. package/metaData/components/masking/example/methods.tsx +88 -0
  89. package/metaData/components/nav-bar/doc.md +40 -0
  90. package/metaData/components/nav-bar/example/back-icon.tsx +28 -0
  91. package/metaData/components/nav-bar/example/index.tsx +305 -0
  92. package/metaData/components/notice-bar/doc.md +34 -0
  93. package/metaData/components/notice-bar/example/index.tsx +294 -0
  94. package/metaData/components/notify/doc.md +81 -0
  95. package/metaData/components/notify/example/index.tsx +171 -0
  96. package/metaData/components/notify/example/methods.tsx +83 -0
  97. package/metaData/components/pagination/doc.md +41 -0
  98. package/metaData/components/pagination/example/arrow.tsx +14 -0
  99. package/metaData/components/pagination/example/index.tsx +292 -0
  100. package/metaData/components/picker/doc.md +89 -0
  101. package/metaData/components/picker/example/index.tsx +217 -0
  102. package/metaData/components/picker-view/doc.md +57 -0
  103. package/metaData/components/picker-view/example/cascader.tsx +141 -0
  104. package/metaData/components/picker-view/example/index.tsx +297 -0
  105. package/metaData/components/picker-view/example/multi-picker.tsx +66 -0
  106. package/metaData/components/picker-view/example/picker-cell.tsx +416 -0
  107. package/metaData/components/popover/doc.md +144 -0
  108. package/metaData/components/popover/example/index.tsx +23 -0
  109. package/metaData/components/popover/example/menu.tsx +145 -0
  110. package/metaData/components/popover/example/popover-inner.tsx +147 -0
  111. package/metaData/components/popover/example/popover.tsx +268 -0
  112. package/metaData/components/popup/doc.md +101 -0
  113. package/metaData/components/popup/example/index.tsx +125 -0
  114. package/metaData/components/popup/example/methods.tsx +6 -0
  115. package/metaData/components/popup-swiper/doc.md +108 -0
  116. package/metaData/components/popup-swiper/example/index.tsx +332 -0
  117. package/metaData/components/popup-swiper/example/methods.tsx +6 -0
  118. package/metaData/components/portal/doc.md +14 -0
  119. package/metaData/components/portal/example/index.tsx +35 -0
  120. package/metaData/components/progress/doc.md +42 -0
  121. package/metaData/components/progress/example/index.tsx +256 -0
  122. package/metaData/components/pull-refresh/doc.md +37 -0
  123. package/metaData/components/pull-refresh/example/android-pull-refresh.tsx +260 -0
  124. package/metaData/components/pull-refresh/example/index.tsx +44 -0
  125. package/metaData/components/pull-refresh/example/ios-pull-refresh.tsx +216 -0
  126. package/metaData/components/radio/doc.md +89 -0
  127. package/metaData/components/radio/example/group.tsx +92 -0
  128. package/metaData/components/radio/example/index.tsx +25 -0
  129. package/metaData/components/radio/example/radio.tsx +22 -0
  130. package/metaData/components/rate/doc.md +33 -0
  131. package/metaData/components/rate/example/index.tsx +281 -0
  132. package/metaData/components/search-bar/doc.md +97 -0
  133. package/metaData/components/search-bar/example/association.tsx +89 -0
  134. package/metaData/components/search-bar/example/cancel-button.tsx +34 -0
  135. package/metaData/components/search-bar/example/highlight.tsx +66 -0
  136. package/metaData/components/search-bar/example/index.tsx +251 -0
  137. package/metaData/components/show-monitor/doc.md +34 -0
  138. package/metaData/components/show-monitor/example/index.tsx +646 -0
  139. package/metaData/components/skeleton/doc.md +101 -0
  140. package/metaData/components/skeleton/example/elements.tsx +290 -0
  141. package/metaData/components/skeleton/example/index.tsx +96 -0
  142. package/metaData/components/skeleton/example/skeleton-context.tsx +7 -0
  143. package/metaData/components/slider/doc.md +42 -0
  144. package/metaData/components/slider/example/index.tsx +326 -0
  145. package/metaData/components/slider/example/marks.tsx +50 -0
  146. package/metaData/components/slider/example/popover.tsx +38 -0
  147. package/metaData/components/slider/example/thumb.tsx +48 -0
  148. package/metaData/components/slider/example/useSliderIcon.tsx +38 -0
  149. package/metaData/components/slider/example/useSliderInit.tsx +170 -0
  150. package/metaData/components/stepper/doc.md +46 -0
  151. package/metaData/components/stepper/example/index.tsx +166 -0
  152. package/metaData/components/stepper/example/useButtonClick.tsx +74 -0
  153. package/metaData/components/stepper/example/useInputEvent.tsx +65 -0
  154. package/metaData/components/stepper/example/useValue.tsx +43 -0
  155. package/metaData/components/steps/doc.md +57 -0
  156. package/metaData/components/steps/example/index.tsx +123 -0
  157. package/metaData/components/steps/example/step.tsx +126 -0
  158. package/metaData/components/sticky/doc.md +45 -0
  159. package/metaData/components/sticky/example/index.tsx +430 -0
  160. package/metaData/components/swipe-action/doc.md +44 -0
  161. package/metaData/components/swipe-action/example/index.tsx +338 -0
  162. package/metaData/components/swipe-action/example/item.tsx +40 -0
  163. package/metaData/components/swipe-load/doc.md +43 -0
  164. package/metaData/components/swipe-load/example/index.tsx +339 -0
  165. package/metaData/components/swipe-load/example/type.tsx +153 -0
  166. package/metaData/components/switch/doc.md +38 -0
  167. package/metaData/components/switch/example/index.tsx +237 -0
  168. package/metaData/components/tab-bar/doc.md +57 -0
  169. package/metaData/components/tab-bar/example/index.tsx +18 -0
  170. package/metaData/components/tab-bar/example/item.tsx +74 -0
  171. package/metaData/components/tab-bar/example/tab-bar.tsx +105 -0
  172. package/metaData/components/tabs/doc.md +187 -0
  173. package/metaData/components/tabs/example/index.tsx +514 -0
  174. package/metaData/components/tabs/example/tab-cell-underline.tsx +320 -0
  175. package/metaData/components/tabs/example/tab-cell.tsx +433 -0
  176. package/metaData/components/tabs/example/tab-pane.tsx +349 -0
  177. package/metaData/components/tag/doc.md +80 -0
  178. package/metaData/components/tag/example/index.tsx +23 -0
  179. package/metaData/components/tag/example/list.tsx +97 -0
  180. package/metaData/components/tag/example/tag.tsx +85 -0
  181. package/metaData/components/textarea/doc.md +67 -0
  182. package/metaData/components/textarea/example/index.tsx +258 -0
  183. package/metaData/components/toast/doc.md +90 -0
  184. package/metaData/components/toast/example/index.tsx +335 -0
  185. package/metaData/components/toast/example/methods.tsx +87 -0
  186. package/metaData/components/transition/doc.md +19 -0
  187. package/metaData/components/transition/example/index.tsx +113 -0
  188. package/metaData/components/uploader/doc.md +82 -0
  189. package/metaData/components/uploader/example/index.tsx +208 -0
  190. package/metaData/components-index.json +242 -0
  191. package/package.json +56 -0
@@ -0,0 +1,208 @@
1
+ import React, { useRef, forwardRef, Ref, useImperativeHandle } from 'react';
2
+ import { cls, defaultLocale, componentWrapper } from '@arco-design/mobile-utils';
3
+ import { ContextLayout } from '../context-provider';
4
+ import Button from '../button';
5
+ import { UploaderRef, UploaderProps, FileItem } from './type';
6
+ import { useLatestRef } from '../_helpers';
7
+ import { IconUpload, IconDelete, IconCheck, IconFile } from '../icon';
8
+ import Loading from '../loading';
9
+ import { Upload } from './upload';
10
+
11
+ export * from './type';
12
+
13
+ const Uploader = forwardRef((props: UploaderProps, ref: Ref<UploaderRef>) => {
14
+ const {
15
+ className = '',
16
+ style,
17
+ files = [],
18
+ accept = undefined,
19
+ multiple = false,
20
+ capture,
21
+ limit = 0,
22
+ hideStatus = false,
23
+ alwaysShowSelect = false,
24
+ disabled,
25
+ renderDeleteArea,
26
+ renderLoadedArea,
27
+ renderLoadingArea,
28
+ renderErrorArea,
29
+ renderFileIndexArea,
30
+ renderUploadArea,
31
+ renderFileList,
32
+ } = props;
33
+ const domRef = useRef<HTMLDivElement | null>(null);
34
+ const fileRef = useRef<HTMLInputElement | null>(null);
35
+ const cacheRef = useLatestRef<FileItem[]>(files as FileItem[]);
36
+
37
+ const uploadFunc = new Upload(props, fileRef, cacheRef);
38
+
39
+ useImperativeHandle(ref, () => ({
40
+ dom: domRef.current,
41
+ }));
42
+
43
+ const uploaderSelect = (prefixCls, locale) => {
44
+ const showSelect = files.length < (limit || Infinity);
45
+ return (
46
+ (showSelect || alwaysShowSelect) && (
47
+ <div className={`${prefixCls}-uploader-add`} onClick={uploadFunc.handleSelect}>
48
+ <input
49
+ type="file"
50
+ accept={accept}
51
+ capture={capture}
52
+ onChange={e => uploadFunc.handleChange(e)}
53
+ multiple={multiple}
54
+ ref={fileRef}
55
+ />
56
+ {(renderUploadArea && renderUploadArea()) || (
57
+ <Button
58
+ className={`${prefixCls}-uploader-add-button`}
59
+ size="medium"
60
+ icon={<IconUpload />}
61
+ disabled={disabled}
62
+ >
63
+ {locale.Uploader.uploadBtn}
64
+ </Button>
65
+ )}
66
+ </div>
67
+ )
68
+ );
69
+ };
70
+
71
+ const getUploadList = (prefixCls, locale) => {
72
+ const generateItemArea = (fileItem, index, render, part, defaultArea) => {
73
+ if (render) {
74
+ const node = render(fileItem, index);
75
+ return node ? (
76
+ <div className={`${prefixCls}-uploader-list-item-${part}`}>{node}</div>
77
+ ) : (
78
+ node
79
+ );
80
+ }
81
+ return <div className={`${prefixCls}-uploader-list-item-${part}`}>{defaultArea}</div>;
82
+ };
83
+
84
+ return (
85
+ (renderFileList &&
86
+ renderFileList({
87
+ retryUpload: uploadFunc.retryUpload,
88
+ deleteFile: uploadFunc.deleteFile,
89
+ })) || (
90
+ <div className={`${prefixCls}-uploader-list`}>
91
+ {(
92
+ (limit && limit < files.length
93
+ ? files.slice(0, limit)
94
+ : files) as FileItem[]
95
+ ).map((fileItem, index) => {
96
+ const { file, status } = fileItem;
97
+ return (
98
+ <div
99
+ className={`${prefixCls}-uploader-list-item`}
100
+ key={index}
101
+ onClick={e => uploadFunc.handleClick(e, fileItem, index)}
102
+ >
103
+ <div className={`${prefixCls}-uploader-list-item-container`}>
104
+ <div className={`${prefixCls}-uploader-list-item-wrapper`}>
105
+ {generateItemArea(
106
+ fileItem,
107
+ index,
108
+ renderFileIndexArea,
109
+ 'file',
110
+ <IconFile
111
+ className={`${prefixCls}-uploader-list-item-file-icon`}
112
+ />,
113
+ )}
114
+ <div
115
+ className={cls(`${prefixCls}-uploader-list-item-text`, {
116
+ [`${prefixCls}-uploader-list-item-text-error`]:
117
+ status === 'error',
118
+ })}
119
+ >
120
+ {file.name}
121
+ </div>
122
+ </div>
123
+ {!hideStatus && (
124
+ <div className={`${prefixCls}-uploader-list-item-status`}>
125
+ {status === 'loaded' &&
126
+ generateItemArea(
127
+ fileItem,
128
+ index,
129
+ renderLoadedArea,
130
+ 'loaded',
131
+ <IconCheck />,
132
+ )}
133
+ {status === 'loading' &&
134
+ generateItemArea(
135
+ fileItem,
136
+ index,
137
+ renderLoadingArea,
138
+ 'loading',
139
+ <Loading type="circle" radius={7} />,
140
+ )}
141
+ {status === 'error' && (
142
+ <div onClick={() => uploadFunc.retryUpload(index)}>
143
+ {generateItemArea(
144
+ fileItem,
145
+ index,
146
+ renderErrorArea,
147
+ 'error',
148
+ <span>{locale.Uploader.retryUpload}</span>,
149
+ )}
150
+ </div>
151
+ )}
152
+ </div>
153
+ )}
154
+ </div>
155
+ <div
156
+ className={`${prefixCls}-uploader-list-item-delete`}
157
+ onClick={() => uploadFunc.deleteFile(index)}
158
+ >
159
+ {(renderDeleteArea && renderDeleteArea(fileItem, index)) || (
160
+ <IconDelete
161
+ className={cls(
162
+ `${prefixCls}-uploader-list-item-delete-icon`,
163
+ {
164
+ [`${prefixCls}-uploader-list-item-delete-icon-disabled`]:
165
+ disabled,
166
+ },
167
+ )}
168
+ />
169
+ )}
170
+ </div>
171
+ </div>
172
+ );
173
+ })}
174
+ </div>
175
+ )
176
+ );
177
+ };
178
+
179
+ return (
180
+ <ContextLayout>
181
+ {({ prefixCls, locale = defaultLocale }) => (
182
+ <div
183
+ className={cls(`${prefixCls}-uploader`, className, {
184
+ [`${prefixCls}-uploader-disabled`]: disabled,
185
+ })}
186
+ style={style}
187
+ ref={domRef}
188
+ >
189
+ <div className={`${prefixCls}-uploader-container`}>
190
+ {uploaderSelect(prefixCls, locale)}
191
+ {getUploadList(prefixCls, locale)}
192
+ </div>
193
+ </div>
194
+ )}
195
+ </ContextLayout>
196
+ );
197
+ });
198
+
199
+ /**
200
+ * 文件上传组件
201
+ * @en Uploader Component
202
+ * @type 数据录入
203
+ * @type_en Data Entry
204
+ * @name 文件上传
205
+ * @name_en Uploader
206
+ * @displayName Uploader
207
+ */
208
+ export default componentWrapper(Uploader, 'Uploader');
@@ -0,0 +1,242 @@
1
+ [
2
+ {
3
+ "name": "ActionSheet",
4
+ "dirName": "action-sheet"
5
+ },
6
+ {
7
+ "name": "Avatar",
8
+ "dirName": "avatar"
9
+ },
10
+ {
11
+ "name": "Badge",
12
+ "dirName": "badge"
13
+ },
14
+ {
15
+ "name": "Button",
16
+ "dirName": "button"
17
+ },
18
+ {
19
+ "name": "Carousel",
20
+ "dirName": "carousel"
21
+ },
22
+ {
23
+ "name": "Cell",
24
+ "dirName": "cell"
25
+ },
26
+ {
27
+ "name": "Checkbox",
28
+ "dirName": "checkbox"
29
+ },
30
+ {
31
+ "name": "CircleProgress",
32
+ "dirName": "circle-progress"
33
+ },
34
+ {
35
+ "name": "Collapse",
36
+ "dirName": "collapse"
37
+ },
38
+ {
39
+ "name": "ContextProvider",
40
+ "dirName": "context-provider"
41
+ },
42
+ {
43
+ "name": "CountDown",
44
+ "dirName": "count-down"
45
+ },
46
+ {
47
+ "name": "DatePicker",
48
+ "dirName": "date-picker"
49
+ },
50
+ {
51
+ "name": "Dialog",
52
+ "dirName": "dialog"
53
+ },
54
+ {
55
+ "name": "Divider",
56
+ "dirName": "divider"
57
+ },
58
+ {
59
+ "name": "Dropdown",
60
+ "dirName": "dropdown"
61
+ },
62
+ {
63
+ "name": "DropdownMenu",
64
+ "dirName": "dropdown-menu"
65
+ },
66
+ {
67
+ "name": "Ellipsis",
68
+ "dirName": "ellipsis"
69
+ },
70
+ {
71
+ "name": "Form",
72
+ "dirName": "form"
73
+ },
74
+ {
75
+ "name": "Grid",
76
+ "dirName": "grid"
77
+ },
78
+ {
79
+ "name": "Icon",
80
+ "dirName": "icon"
81
+ },
82
+ {
83
+ "name": "Image",
84
+ "dirName": "image"
85
+ },
86
+ {
87
+ "name": "ImagePicker",
88
+ "dirName": "image-picker"
89
+ },
90
+ {
91
+ "name": "ImagePreview",
92
+ "dirName": "image-preview"
93
+ },
94
+ {
95
+ "name": "IndexBar",
96
+ "dirName": "index-bar"
97
+ },
98
+ {
99
+ "name": "Input",
100
+ "dirName": "input"
101
+ },
102
+ {
103
+ "name": "Keyboard",
104
+ "dirName": "keyboard"
105
+ },
106
+ {
107
+ "name": "LoadMore",
108
+ "dirName": "load-more"
109
+ },
110
+ {
111
+ "name": "Loading",
112
+ "dirName": "loading"
113
+ },
114
+ {
115
+ "name": "Masking",
116
+ "dirName": "masking"
117
+ },
118
+ {
119
+ "name": "NavBar",
120
+ "dirName": "nav-bar"
121
+ },
122
+ {
123
+ "name": "NoticeBar",
124
+ "dirName": "notice-bar"
125
+ },
126
+ {
127
+ "name": "Notify",
128
+ "dirName": "notify"
129
+ },
130
+ {
131
+ "name": "Pagination",
132
+ "dirName": "pagination"
133
+ },
134
+ {
135
+ "name": "Picker",
136
+ "dirName": "picker"
137
+ },
138
+ {
139
+ "name": "PickerView",
140
+ "dirName": "picker-view"
141
+ },
142
+ {
143
+ "name": "Popover",
144
+ "dirName": "popover"
145
+ },
146
+ {
147
+ "name": "Popup",
148
+ "dirName": "popup"
149
+ },
150
+ {
151
+ "name": "PopupSwiper",
152
+ "dirName": "popup-swiper"
153
+ },
154
+ {
155
+ "name": "Portal",
156
+ "dirName": "portal"
157
+ },
158
+ {
159
+ "name": "Progress",
160
+ "dirName": "progress"
161
+ },
162
+ {
163
+ "name": "PullRefresh",
164
+ "dirName": "pull-refresh"
165
+ },
166
+ {
167
+ "name": "Radio",
168
+ "dirName": "radio"
169
+ },
170
+ {
171
+ "name": "Rate",
172
+ "dirName": "rate"
173
+ },
174
+ {
175
+ "name": "SearchBar",
176
+ "dirName": "search-bar"
177
+ },
178
+ {
179
+ "name": "ShowMonitor",
180
+ "dirName": "show-monitor"
181
+ },
182
+ {
183
+ "name": "Skeleton",
184
+ "dirName": "skeleton"
185
+ },
186
+ {
187
+ "name": "Slider",
188
+ "dirName": "slider"
189
+ },
190
+ {
191
+ "name": "Stepper",
192
+ "dirName": "stepper"
193
+ },
194
+ {
195
+ "name": "Steps",
196
+ "dirName": "steps"
197
+ },
198
+ {
199
+ "name": "Sticky",
200
+ "dirName": "sticky"
201
+ },
202
+ {
203
+ "name": "SwipeAction",
204
+ "dirName": "swipe-action"
205
+ },
206
+ {
207
+ "name": "SwipeLoad",
208
+ "dirName": "swipe-load"
209
+ },
210
+ {
211
+ "name": "Switch",
212
+ "dirName": "switch"
213
+ },
214
+ {
215
+ "name": "TabBar",
216
+ "dirName": "tab-bar"
217
+ },
218
+ {
219
+ "name": "Tabs",
220
+ "dirName": "tabs"
221
+ },
222
+ {
223
+ "name": "Tag",
224
+ "dirName": "tag"
225
+ },
226
+ {
227
+ "name": "Textarea",
228
+ "dirName": "textarea"
229
+ },
230
+ {
231
+ "name": "Toast",
232
+ "dirName": "toast"
233
+ },
234
+ {
235
+ "name": "Transition",
236
+ "dirName": "transition"
237
+ },
238
+ {
239
+ "name": "Uploader",
240
+ "dirName": "uploader"
241
+ }
242
+ ]
package/package.json ADDED
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "@fjyueke/arco-mcp",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "description": "MCP UI builder by Arco Design Mobile",
6
+ "license": "MIT",
7
+ "keywords": [
8
+ "mcp",
9
+ "arco",
10
+ "arco-design",
11
+ "mobile"
12
+ ],
13
+ "homepage": "https://github.com/fjyueke/arco-mcp",
14
+ "main": "dist/index.js",
15
+ "bin": {
16
+ "mcp": "dist/index.js"
17
+ },
18
+ "repository": {
19
+ "type": "https",
20
+ "url": "git+https://github.com/fjyueke/arco-mcp.git"
21
+ },
22
+ "bugs": {
23
+ "url": "https://github.com/fjyueke/arco-mcp/issues/new"
24
+ },
25
+ "scripts": {
26
+ "build": "tsup",
27
+ "download": "jiti scripts/downloadRepo",
28
+ "analyze": "jiti scripts/analyze-doc",
29
+ "sync": "jiti scripts/syncFromArco",
30
+ "sync:build": "jiti scripts/syncFromArco && tsup"
31
+ },
32
+ "dependencies": {
33
+ "@modelcontextprotocol/sdk": "^1.9.0",
34
+ "zod": "^3.24.2"
35
+ },
36
+ "devDependencies": {
37
+ "@types/node": "^22.14.1",
38
+ "giget": "^2.0.0",
39
+ "jiti": "^2.4.2",
40
+ "ora": "^8.2.0",
41
+ "tsup": "^8.4.0",
42
+ "typescript": "^5.8.3"
43
+ },
44
+ "compilerOptions": {
45
+ "target": "ES2020",
46
+ "module": "NodeNext",
47
+ "moduleResolution": "NodeNext",
48
+ "esModuleInterop": true,
49
+ "strict": true,
50
+ "outDir": "dist",
51
+ "rootDir": "src"
52
+ },
53
+ "include": [
54
+ "src/**/*"
55
+ ]
56
+ }