@a2simcode/ui 0.0.136 → 0.0.138

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 (347) hide show
  1. package/.cursor/skills/ui-component-helper/README.md +86 -86
  2. package/.cursor/skills/ui-component-helper/SKILL.md +115 -115
  3. package/LICENSE +53 -53
  4. package/README.md +156 -156
  5. package/dist/components/form/index.d.ts +21 -0
  6. package/dist/components/form/src/form.vue.d.ts +18 -0
  7. package/dist/components/inject-provide.d.ts +2 -0
  8. package/dist/components/input-layer/index.d.ts +5 -5
  9. package/dist/components/input-layer/src/input-layer.vue.d.ts +3 -3
  10. package/dist/components/table/index.d.ts +3 -3
  11. package/dist/components/table/src/table.vue.d.ts +1 -1
  12. package/dist/components/table-panel/index.d.ts +3 -3
  13. package/dist/components/table-panel/src/table-panel.vue.d.ts +1 -1
  14. package/dist/simcode-ui.es.js +5103 -5066
  15. package/dist/simcode-ui.umd.js +2 -2
  16. package/dist/stats.html +1 -1
  17. package/dist/ui.css +1 -1
  18. package/docs/components/autocomplete.md +89 -89
  19. package/docs/components/barcode.md +101 -101
  20. package/docs/components/button-select.md +24 -24
  21. package/docs/components/button.md +117 -117
  22. package/docs/components/buttons.md +119 -119
  23. package/docs/components/cascader-select.md +114 -114
  24. package/docs/components/checkbox.md +114 -114
  25. package/docs/components/code-mirror.md +85 -85
  26. package/docs/components/collapse.md +26 -26
  27. package/docs/components/comp.md +71 -71
  28. package/docs/components/count-up.md +24 -24
  29. package/docs/components/count.md +24 -24
  30. package/docs/components/data-panel.md +24 -24
  31. package/docs/components/date.md +76 -76
  32. package/docs/components/dialog-full.md +112 -112
  33. package/docs/components/dialog.md +127 -127
  34. package/docs/components/divider.md +24 -24
  35. package/docs/components/drawer.md +127 -127
  36. package/docs/components/dynamic-layer.md +118 -118
  37. package/docs/components/echarts.md +72 -72
  38. package/docs/components/editor.md +24 -24
  39. package/docs/components/form.md +57 -57
  40. package/docs/components/guid.md +39 -39
  41. package/docs/components/hpanel.md +24 -24
  42. package/docs/components/icon.md +56 -56
  43. package/docs/components/input-button.md +24 -24
  44. package/docs/components/input-code.md +24 -24
  45. package/docs/components/input-color.md +114 -114
  46. package/docs/components/input-layer.md +26 -26
  47. package/docs/components/input-rows.md +370 -370
  48. package/docs/components/input-tag.md +50 -50
  49. package/docs/components/input.md +129 -129
  50. package/docs/components/layer-form.md +61 -61
  51. package/docs/components/layer.md +127 -127
  52. package/docs/components/layout.md +132 -132
  53. package/docs/components/map.md +24 -24
  54. package/docs/components/menu.md +121 -121
  55. package/docs/components/meta/buttons.ts +76 -76
  56. package/docs/components/meta/comp.ts +236 -236
  57. package/docs/components/meta/date.ts +267 -267
  58. package/docs/components/meta/echarts.ts +64 -64
  59. package/docs/components/meta/form-item.ts +50 -50
  60. package/docs/components/meta/form.ts +165 -165
  61. package/docs/components/meta/input-cards.ts +112 -112
  62. package/docs/components/meta/input-color.ts +243 -243
  63. package/docs/components/meta/input-layer.ts +366 -366
  64. package/docs/components/meta/input-rows.ts +113 -113
  65. package/docs/components/meta/layer-form.ts +56 -56
  66. package/docs/components/meta/map.ts +68 -68
  67. package/docs/components/meta/panel.ts +152 -152
  68. package/docs/components/meta/slider.ts +270 -270
  69. package/docs/components/meta/table-panel.ts +232 -232
  70. package/docs/components/meta/table.ts +391 -391
  71. package/docs/components/meta/tabs.ts +146 -146
  72. package/docs/components/meta/title.ts +91 -91
  73. package/docs/components/meta/tree-select.ts +199 -199
  74. package/docs/components/meta/vpanel.ts +19 -19
  75. package/docs/components/meta/workflow-viewer.ts +55 -55
  76. package/docs/components/number.md +124 -124
  77. package/docs/components/page.md +102 -87
  78. package/docs/components/panel.md +37 -37
  79. package/docs/components/radio.md +87 -87
  80. package/docs/components/rate.md +71 -71
  81. package/docs/components/select.md +133 -133
  82. package/docs/components/slider-captcha.md +41 -41
  83. package/docs/components/slider.md +101 -101
  84. package/docs/components/switch.md +90 -90
  85. package/docs/components/table-panel.md +236 -236
  86. package/docs/components/table.md +391 -391
  87. package/docs/components/tabs.md +26 -26
  88. package/docs/components/title.md +24 -24
  89. package/docs/components/tree.md +207 -207
  90. package/docs/components/upload.md +117 -117
  91. package/docs/components/workflow-viewer.md +21 -21
  92. package/docs/components/workflow.md +21 -21
  93. package/docs/examples/autocomplete/advanced.vue +35 -35
  94. package/docs/examples/autocomplete/basic.vue +32 -32
  95. package/docs/examples/autocomplete/clearable.vue +33 -33
  96. package/docs/examples/autocomplete/custom-template.vue +49 -49
  97. package/docs/examples/autocomplete/disabled.vue +33 -33
  98. package/docs/examples/autocomplete/icon.vue +37 -37
  99. package/docs/examples/barcode/all-types.vue +380 -380
  100. package/docs/examples/barcode/basic.vue +14 -14
  101. package/docs/examples/barcode/props-appearance.vue +243 -243
  102. package/docs/examples/barcode/props-geometry.vue +143 -143
  103. package/docs/examples/barcode/props-logic.vue +216 -216
  104. package/docs/examples/barcode/props-symbology.vue +199 -199
  105. package/docs/examples/barcode/props-text.vue +268 -268
  106. package/docs/examples/button/basic.vue +7 -7
  107. package/docs/examples/button/danger-ghost.vue +17 -17
  108. package/docs/examples/button/disabled.vue +10 -10
  109. package/docs/examples/button/loading.vue +6 -6
  110. package/docs/examples/button/shape.vue +7 -7
  111. package/docs/examples/button/size.vue +14 -14
  112. package/docs/examples/button/type.vue +9 -9
  113. package/docs/examples/button-select/basic.vue +19 -19
  114. package/docs/examples/buttons/basic.vue +45 -45
  115. package/docs/examples/buttons/disabled.vue +36 -36
  116. package/docs/examples/buttons/dropdown.vue +63 -63
  117. package/docs/examples/buttons/group.vue +52 -52
  118. package/docs/examples/buttons/link.vue +47 -47
  119. package/docs/examples/buttons/popup.vue +39 -39
  120. package/docs/examples/buttons/size.vue +45 -45
  121. package/docs/examples/cascader-select/basic.vue +28 -28
  122. package/docs/examples/cascader-select/clearable.vue +34 -34
  123. package/docs/examples/cascader-select/disabled.vue +43 -43
  124. package/docs/examples/cascader-select/filterable.vue +37 -37
  125. package/docs/examples/cascader-select/methods.vue +84 -84
  126. package/docs/examples/cascader-select/multiple.vue +38 -38
  127. package/docs/examples/cascader-select/slot.vue +45 -45
  128. package/docs/examples/checkbox/basic.vue +18 -18
  129. package/docs/examples/checkbox/button.vue +19 -19
  130. package/docs/examples/checkbox/color.vue +25 -25
  131. package/docs/examples/checkbox/disabled.vue +17 -17
  132. package/docs/examples/checkbox/min-max.vue +20 -20
  133. package/docs/examples/checkbox/mixed.vue +56 -56
  134. package/docs/examples/checkbox/size.vue +28 -28
  135. package/docs/examples/code-mirror/basic.vue +11 -11
  136. package/docs/examples/code-mirror/events.vue +42 -42
  137. package/docs/examples/code-mirror/height.vue +25 -25
  138. package/docs/examples/code-mirror/mode.vue +33 -33
  139. package/docs/examples/code-mirror/readonly.vue +14 -14
  140. package/docs/examples/collapse/basic.vue +82 -82
  141. package/docs/examples/comp/basic.vue +7 -7
  142. package/docs/examples/comp/collapse.vue +38 -38
  143. package/docs/examples/comp/tabs.vue +38 -38
  144. package/docs/examples/count/basic.vue +101 -101
  145. package/docs/examples/count-up/basic.vue +89 -89
  146. package/docs/examples/data-panel/basic.vue +110 -110
  147. package/docs/examples/date/basic.vue +73 -73
  148. package/docs/examples/date/default-value.vue +59 -59
  149. package/docs/examples/date/format.vue +75 -75
  150. package/docs/examples/date/range.vue +66 -66
  151. package/docs/examples/date/types.vue +79 -79
  152. package/docs/examples/decorated-title/basic.vue +31 -31
  153. package/docs/examples/dialog/basic.vue +36 -36
  154. package/docs/examples/dialog/custom-buttons.vue +44 -44
  155. package/docs/examples/dialog/fullscreen.vue +23 -23
  156. package/docs/examples/dialog/no-mask.vue +17 -17
  157. package/docs/examples/dialog/size.vue +44 -44
  158. package/docs/examples/dialog/steps.vue +57 -57
  159. package/docs/examples/dialog-full/basic.vue +29 -29
  160. package/docs/examples/dialog-full/custom-buttons.vue +45 -45
  161. package/docs/examples/dialog-full/no-buttons.vue +18 -18
  162. package/docs/examples/dialog-full/no-header.vue +27 -27
  163. package/docs/examples/dialog-full/steps.vue +71 -71
  164. package/docs/examples/divider/basic.vue +52 -52
  165. package/docs/examples/drawer/basic.vue +35 -35
  166. package/docs/examples/drawer/custom-buttons.vue +34 -34
  167. package/docs/examples/drawer/direction.vue +47 -47
  168. package/docs/examples/drawer/mask.vue +36 -36
  169. package/docs/examples/drawer/no-buttons.vue +20 -20
  170. package/docs/examples/drawer/size.vue +28 -28
  171. package/docs/examples/dynamic-layer/basic.vue +33 -33
  172. package/docs/examples/dynamic-layer/custom-buttons.vue +43 -43
  173. package/docs/examples/dynamic-layer/form.vue +73 -73
  174. package/docs/examples/dynamic-layer/steps.vue +52 -52
  175. package/docs/examples/dynamic-layer/types.vue +40 -40
  176. package/docs/examples/echarts/basic.vue +31 -31
  177. package/docs/examples/echarts/dynamic.vue +43 -43
  178. package/docs/examples/echarts/line.vue +46 -46
  179. package/docs/examples/echarts/pie.vue +44 -44
  180. package/docs/examples/editor/basic.vue +15 -15
  181. package/docs/examples/form/basic.vue +539 -539
  182. package/docs/examples/form/init.vue +76 -76
  183. package/docs/examples/form/master-detail.vue +203 -203
  184. package/docs/examples/guid/basic.vue +10 -10
  185. package/docs/examples/guid/size.vue +13 -13
  186. package/docs/examples/hpanel/basic.vue +79 -79
  187. package/docs/examples/icon/basic.vue +9 -9
  188. package/docs/examples/icon/rotate-flip.vue +9 -9
  189. package/docs/examples/icon/size.vue +7 -7
  190. package/docs/examples/input/basic.vue +10 -10
  191. package/docs/examples/input/clearable.vue +12 -12
  192. package/docs/examples/input/disabled.vue +6 -6
  193. package/docs/examples/input/icon.vue +23 -23
  194. package/docs/examples/input/password.vue +18 -18
  195. package/docs/examples/input/size.vue +13 -13
  196. package/docs/examples/input/textarea.vue +25 -25
  197. package/docs/examples/input/word-limit.vue +28 -28
  198. package/docs/examples/input-button/basic.vue +33 -33
  199. package/docs/examples/input-code/basic.vue +29 -29
  200. package/docs/examples/input-color/basic.vue +10 -10
  201. package/docs/examples/input-color/disabled.vue +13 -13
  202. package/docs/examples/input-color/format.vue +17 -17
  203. package/docs/examples/input-color/no-alpha.vue +13 -13
  204. package/docs/examples/input-color/only-button.vue +15 -15
  205. package/docs/examples/input-color/predefine.vue +31 -31
  206. package/docs/examples/input-color/size.vue +15 -15
  207. package/docs/examples/input-layer/basic.vue +86 -86
  208. package/docs/examples/input-rows/basic.vue +73 -73
  209. package/docs/examples/input-rows/drag.vue +48 -48
  210. package/docs/examples/input-rows/layer-form.vue +85 -85
  211. package/docs/examples/input-rows/nested.vue +91 -91
  212. package/docs/examples/input-tag/basic.vue +27 -27
  213. package/docs/examples/input-tag/colors.vue +23 -23
  214. package/docs/examples/input-tag/readonly.vue +17 -17
  215. package/docs/examples/layer/basic.vue +43 -43
  216. package/docs/examples/layer/custom-buttons.vue +61 -61
  217. package/docs/examples/layer/drawer.vue +37 -37
  218. package/docs/examples/layer/full.vue +38 -38
  219. package/docs/examples/layer/modal.vue +34 -34
  220. package/docs/examples/layer/steps.vue +46 -46
  221. package/docs/examples/layer-form/basic.vue +76 -76
  222. package/docs/examples/layer-form/config.vue +82 -82
  223. package/docs/examples/layer-form/size.vue +72 -72
  224. package/docs/examples/layout/basic.vue +36 -36
  225. package/docs/examples/layout/custom-size.vue +50 -50
  226. package/docs/examples/layout/disable-move.vue +37 -37
  227. package/docs/examples/layout/hide-mid-when-narrow.vue +96 -96
  228. package/docs/examples/layout/min-size.vue +73 -73
  229. package/docs/examples/layout/percent-size.vue +80 -80
  230. package/docs/examples/layout/simple.vue +22 -22
  231. package/docs/examples/layout/top-side.vue +34 -34
  232. package/docs/examples/map/basic.vue +22 -22
  233. package/docs/examples/menu/basic.vue +58 -58
  234. package/docs/examples/menu/collapsed.vue +49 -49
  235. package/docs/examples/menu/horizontal.vue +44 -44
  236. package/docs/examples/menu/selection-test.vue +104 -104
  237. package/docs/examples/menu/theme.vue +46 -46
  238. package/docs/examples/menu/vertical.vue +46 -46
  239. package/docs/examples/number/advanced.vue +143 -143
  240. package/docs/examples/number/basic.vue +63 -63
  241. package/docs/examples/number/disabled.vue +49 -49
  242. package/docs/examples/number/size.vue +42 -42
  243. package/docs/examples/number/slots.vue +123 -123
  244. package/docs/examples/number/step-strictly.vue +41 -41
  245. package/docs/examples/number/step.vue +47 -47
  246. package/docs/examples/page/basic.vue +41 -41
  247. package/docs/examples/page/code-table-model.vue +428 -0
  248. package/docs/examples/page/dept-user-management.vue +211 -211
  249. package/docs/examples/page/init.vue +87 -87
  250. package/docs/examples/page/log.vue +453 -453
  251. package/docs/examples/page/user-management.vue +313 -313
  252. package/docs/examples/panel/tool-buttons.vue +18 -18
  253. package/docs/examples/radio/basic.vue +17 -17
  254. package/docs/examples/radio/button.vue +17 -17
  255. package/docs/examples/radio/color.vue +18 -18
  256. package/docs/examples/radio/disabled.vue +17 -17
  257. package/docs/examples/radio/size.vue +29 -29
  258. package/docs/examples/rate/basic.vue +24 -24
  259. package/docs/examples/rate/half.vue +24 -24
  260. package/docs/examples/rate/readonly.vue +11 -11
  261. package/docs/examples/rate/text.vue +37 -37
  262. package/docs/examples/select/basic.vue +16 -16
  263. package/docs/examples/select/clearable.vue +22 -22
  264. package/docs/examples/select/disabled.vue +31 -31
  265. package/docs/examples/select/filterable.vue +24 -24
  266. package/docs/examples/select/group.vue +23 -23
  267. package/docs/examples/select/icon.vue +16 -16
  268. package/docs/examples/select/multiple.vue +18 -18
  269. package/docs/examples/select/size.vue +39 -39
  270. package/docs/examples/slider/basic.vue +42 -42
  271. package/docs/examples/slider/disabled.vue +17 -17
  272. package/docs/examples/slider/marks.vue +30 -30
  273. package/docs/examples/slider/size.vue +37 -37
  274. package/docs/examples/slider/tooltip.vue +36 -36
  275. package/docs/examples/slider/vertical.vue +26 -26
  276. package/docs/examples/slider-captcha/basic.vue +44 -44
  277. package/docs/examples/slider-captcha/custom.vue +48 -48
  278. package/docs/examples/switch/basic.vue +16 -16
  279. package/docs/examples/switch/disabled.vue +13 -13
  280. package/docs/examples/switch/loading.vue +13 -13
  281. package/docs/examples/switch/size.vue +15 -15
  282. package/docs/examples/switch/text.vue +13 -13
  283. package/docs/examples/table/action-filter.vue +126 -126
  284. package/docs/examples/table/actions.vue +116 -116
  285. package/docs/examples/table/add-row.vue +103 -103
  286. package/docs/examples/table/basic.vue +168 -168
  287. package/docs/examples/table/checkbox-layout.vue +68 -68
  288. package/docs/examples/table/custom-layout.vue +115 -115
  289. package/docs/examples/table/dynamic-type.vue +73 -73
  290. package/docs/examples/table/editable.vue +262 -262
  291. package/docs/examples/table/field-selection.vue +87 -87
  292. package/docs/examples/table/frozen-column.vue +140 -140
  293. package/docs/examples/table/height-mode.vue +99 -99
  294. package/docs/examples/table/icon.vue +85 -85
  295. package/docs/examples/table/link.vue +66 -66
  296. package/docs/examples/table/multiple.vue +188 -188
  297. package/docs/examples/table/pagination.vue +151 -151
  298. package/docs/examples/table/single-selection.vue +64 -64
  299. package/docs/examples/table/sub-table-lazy.vue +97 -97
  300. package/docs/examples/table/sub-table.vue +103 -103
  301. package/docs/examples/table/tag.vue +43 -43
  302. package/docs/examples/table/tree-column.vue +119 -119
  303. package/docs/examples/table/tree-data.vue +141 -141
  304. package/docs/examples/table/tree-default-expand-all.vue +60 -60
  305. package/docs/examples/table/tree-lazy.vue +80 -80
  306. package/docs/examples/table/tree-set-selection.vue +75 -75
  307. package/docs/examples/table-panel/basic.vue +229 -229
  308. package/docs/examples/table-panel/batch-operations.vue +285 -285
  309. package/docs/examples/table-panel/button-visibility.vue +88 -88
  310. package/docs/examples/table-panel/filter.vue +219 -219
  311. package/docs/examples/table-panel/get-selection.vue +111 -111
  312. package/docs/examples/table-panel/multiple-selection.vue +243 -243
  313. package/docs/examples/table-panel/pagination.vue +133 -133
  314. package/docs/examples/table-panel/sub-table-lazy.vue +118 -118
  315. package/docs/examples/table-panel/tree-parent-key.vue +67 -67
  316. package/docs/examples/tabs/basic.vue +98 -98
  317. package/docs/examples/time/base.vue +67 -67
  318. package/docs/examples/title/basic.vue +87 -87
  319. package/docs/examples/tree/accordion.vue +46 -46
  320. package/docs/examples/tree/basic.vue +50 -50
  321. package/docs/examples/tree/buttons.vue +53 -53
  322. package/docs/examples/tree/checkable.vue +52 -52
  323. package/docs/examples/tree/custom-keys.vue +39 -39
  324. package/docs/examples/tree/default-expanded.vue +52 -52
  325. package/docs/examples/tree/draggable.vue +29 -29
  326. package/docs/examples/tree/expand-on-click.vue +39 -39
  327. package/docs/examples/tree/flat-data.vue +20 -20
  328. package/docs/examples/tree/icon.vue +40 -40
  329. package/docs/examples/tree/load-data.vue +37 -37
  330. package/docs/examples/tree/methods.vue +74 -74
  331. package/docs/examples/tree/theme.vue +33 -33
  332. package/docs/examples/tree-select/basic.vue +47 -47
  333. package/docs/examples/upload/accept.vue +31 -31
  334. package/docs/examples/upload/basic.vue +12 -12
  335. package/docs/examples/upload/drag.vue +11 -11
  336. package/docs/examples/upload/image.vue +17 -17
  337. package/docs/examples/upload/limit.vue +20 -20
  338. package/docs/examples/upload/multiple.vue +17 -17
  339. package/docs/examples/upload/readonly.vue +17 -17
  340. package/docs/examples/utils/cipher.vue +160 -160
  341. package/docs/examples/utils/common.vue +153 -153
  342. package/docs/examples/utils/date.vue +56 -56
  343. package/docs/examples/utils/dom.vue +52 -52
  344. package/docs/examples/utils/is.vue +70 -70
  345. package/docs/examples/workflow/basic.vue +265 -265
  346. package/docs/examples/workflow-viewer/basic.vue +248 -248
  347. package/package.json +23 -23
package/README.md CHANGED
@@ -1,156 +1,156 @@
1
- # SimCode UI
2
-
3
- <div align="center">
4
- <h1>SimCode UI</h1>
5
- <p>基于 Vue 3 + TypeScript 的现代化 UI 组件库</p>
6
- </div>
7
-
8
- ## ✨ 特性
9
-
10
- - 🚀 **现代化技术栈**: 基于 Vue 3 + TypeScript + Vite
11
- - 📦 **开箱即用**: 提供完善的类型定义和文档
12
- - 🎨 **精美设计**: 现代化的设计风格
13
- - 🔧 **易于定制**: 支持主题定制
14
- - ⚡️ **按需加载**: 支持 Tree Shaking
15
- - 🧪 **完善测试**: 单元测试覆盖
16
-
17
- ## 📦 安装
18
-
19
- 使用 pnpm:
20
-
21
- ```bash
22
- pnpm add @a2simcode/ui
23
- ```
24
-
25
- 使用 npm:
26
-
27
- ```bash
28
- npm install @a2simcode/ui
29
- ```
30
-
31
- 使用 yarn:
32
-
33
- ```bash
34
- yarn add @a2simcode/ui
35
- ```
36
-
37
- ### 安装 Peer Dependencies
38
-
39
- `@a2simcode/ui` 使用 peer dependencies 来避免重复打包依赖。**必须安装**以下依赖:
40
-
41
- ```bash
42
- pnpm add vue element-plus
43
- ```
44
-
45
- 根据你使用的组件,可能还需要安装以下**可选依赖**:
46
-
47
- ```bash
48
- # 如果使用表格组件
49
- pnpm add @visactor/vtable @visactor/vtable-editors
50
-
51
- # 如果使用图表组件
52
- pnpm add echarts
53
-
54
- # 如果使用代码编辑器组件
55
- pnpm add codemirror @codemirror/autocomplete @codemirror/commands @codemirror/lang-javascript @codemirror/lang-json @codemirror/lang-sql @codemirror/lang-python @codemirror/lang-java @codemirror/lang-css @codemirror/lang-html @codemirror/lang-xml @codemirror/lang-markdown @codemirror/language @codemirror/state @codemirror/view
56
-
57
- # 如果使用其他功能组件
58
- pnpm add @iconify/vue @vueuse/core dayjs async-validator crypto-js sortablejs sql-formatter countup.js @bwip-js/browser @wangeditor/editor diagram-js diagram-js-direct-editing min-dom inherits tiny-svg min-dash
59
- ```
60
-
61
- > **注意**: 由于 `@a2simcode/ui` 输出的是预打包的单文件,使用方的打包器可能无法自动识别 peer dependencies。请确保在使用相关组件前,已安装对应的 peer dependencies。
62
-
63
- ## 🔨 快速开始
64
-
65
- ### 完整引入
66
-
67
- ```typescript
68
- import { createApp } from 'vue'
69
- import App from './App.vue'
70
- import SimCodeUI from '@a2simcode/ui'
71
- import '@a2simcode/ui/dist/style.css'
72
-
73
- const app = createApp(App)
74
- app.use(SimCodeUI)
75
- app.mount('#app')
76
- ```
77
-
78
- ### 按需引入
79
-
80
- ```vue
81
- <template>
82
- <j-button type="primary">按钮</j-button>
83
- </template>
84
-
85
- <script setup lang="ts">
86
- import { JButton } from '@a2simcode/ui'
87
- import '@a2simcode/ui/dist/style.css'
88
- </script>
89
- ```
90
-
91
- ## 🎯 组件列表
92
-
93
- - ✅ Button 按钮
94
- - ✅ Input 输入框
95
- - ✅ Radio 单选框
96
- - 🚧 更多组件开发中...
97
-
98
- ## 💻 本地开发
99
-
100
- ```bash
101
- # 进入项目目录
102
- cd simcode-ui
103
-
104
- # 安装依赖
105
- pnpm install
106
-
107
- # 启动开发服务器
108
- pnpm dev
109
-
110
- # 构建组件库
111
- pnpm build
112
-
113
- # 运行测试
114
- pnpm test
115
-
116
- # 启动文档站点
117
- pnpm docs:dev
118
- ```
119
-
120
- ## 📁 项目结构
121
-
122
- ```
123
- simcode-ui/
124
- ├── packages/ # 组件源码
125
- │ ├── components/ # 组件
126
- │ │ ├── button/ # 按钮组件
127
- │ │ ├── input/ # 输入框组件
128
- │ │ └── index.ts # 组件入口
129
- │ └── theme/ # 主题样式
130
- │ └── src/ # 样式源码 (Less)
131
- ├── examples/ # 组件预览
132
- │ ├── App.vue # 预览应用
133
- │ └── main.ts # 入口文件
134
- ├── docs/ # 文档
135
- │ ├── .vitepress/ # VitePress 配置
136
- │ ├── guide/ # 指南
137
- │ └── components/ # 组件文档
138
- ├── __tests__/ # 测试文件
139
- ├── vite.config.ts # Vite 配置
140
- ├── vitest.config.ts # Vitest 配置
141
- └── package.json # 项目配置
142
- ```
143
-
144
- ## 🤝 贡献
145
-
146
- 欢迎提交 Issue 和 Pull Request!
147
-
148
- ## 📄 版权声明
149
-
150
- Copyright © 2024 苏州极简搭信息技术有限公司. All rights reserved.
151
-
152
- 本软件及其相关文档为专有软件,受版权法保护。未经版权所有者明确书面许可,不得以任何形式或方式(电子、机械、复印、录制或其他方式)复制、分发、传播或使用本软件的任何部分。
153
-
154
- ## 🙏 致谢
155
-
156
- 感谢所有为这个项目做出贡献的开发者!
1
+ # SimCode UI
2
+
3
+ <div align="center">
4
+ <h1>SimCode UI</h1>
5
+ <p>基于 Vue 3 + TypeScript 的现代化 UI 组件库</p>
6
+ </div>
7
+
8
+ ## ✨ 特性
9
+
10
+ - 🚀 **现代化技术栈**: 基于 Vue 3 + TypeScript + Vite
11
+ - 📦 **开箱即用**: 提供完善的类型定义和文档
12
+ - 🎨 **精美设计**: 现代化的设计风格
13
+ - 🔧 **易于定制**: 支持主题定制
14
+ - ⚡️ **按需加载**: 支持 Tree Shaking
15
+ - 🧪 **完善测试**: 单元测试覆盖
16
+
17
+ ## 📦 安装
18
+
19
+ 使用 pnpm:
20
+
21
+ ```bash
22
+ pnpm add @a2simcode/ui
23
+ ```
24
+
25
+ 使用 npm:
26
+
27
+ ```bash
28
+ npm install @a2simcode/ui
29
+ ```
30
+
31
+ 使用 yarn:
32
+
33
+ ```bash
34
+ yarn add @a2simcode/ui
35
+ ```
36
+
37
+ ### 安装 Peer Dependencies
38
+
39
+ `@a2simcode/ui` 使用 peer dependencies 来避免重复打包依赖。**必须安装**以下依赖:
40
+
41
+ ```bash
42
+ pnpm add vue element-plus
43
+ ```
44
+
45
+ 根据你使用的组件,可能还需要安装以下**可选依赖**:
46
+
47
+ ```bash
48
+ # 如果使用表格组件
49
+ pnpm add @visactor/vtable @visactor/vtable-editors
50
+
51
+ # 如果使用图表组件
52
+ pnpm add echarts
53
+
54
+ # 如果使用代码编辑器组件
55
+ pnpm add codemirror @codemirror/autocomplete @codemirror/commands @codemirror/lang-javascript @codemirror/lang-json @codemirror/lang-sql @codemirror/lang-python @codemirror/lang-java @codemirror/lang-css @codemirror/lang-html @codemirror/lang-xml @codemirror/lang-markdown @codemirror/language @codemirror/state @codemirror/view
56
+
57
+ # 如果使用其他功能组件
58
+ pnpm add @iconify/vue @vueuse/core dayjs async-validator crypto-js sortablejs sql-formatter countup.js @bwip-js/browser @wangeditor/editor diagram-js diagram-js-direct-editing min-dom inherits tiny-svg min-dash
59
+ ```
60
+
61
+ > **注意**: 由于 `@a2simcode/ui` 输出的是预打包的单文件,使用方的打包器可能无法自动识别 peer dependencies。请确保在使用相关组件前,已安装对应的 peer dependencies。
62
+
63
+ ## 🔨 快速开始
64
+
65
+ ### 完整引入
66
+
67
+ ```typescript
68
+ import { createApp } from 'vue'
69
+ import App from './App.vue'
70
+ import SimCodeUI from '@a2simcode/ui'
71
+ import '@a2simcode/ui/dist/style.css'
72
+
73
+ const app = createApp(App)
74
+ app.use(SimCodeUI)
75
+ app.mount('#app')
76
+ ```
77
+
78
+ ### 按需引入
79
+
80
+ ```vue
81
+ <template>
82
+ <j-button type="primary">按钮</j-button>
83
+ </template>
84
+
85
+ <script setup lang="ts">
86
+ import { JButton } from '@a2simcode/ui'
87
+ import '@a2simcode/ui/dist/style.css'
88
+ </script>
89
+ ```
90
+
91
+ ## 🎯 组件列表
92
+
93
+ - ✅ Button 按钮
94
+ - ✅ Input 输入框
95
+ - ✅ Radio 单选框
96
+ - 🚧 更多组件开发中...
97
+
98
+ ## 💻 本地开发
99
+
100
+ ```bash
101
+ # 进入项目目录
102
+ cd simcode-ui
103
+
104
+ # 安装依赖
105
+ pnpm install
106
+
107
+ # 启动开发服务器
108
+ pnpm dev
109
+
110
+ # 构建组件库
111
+ pnpm build
112
+
113
+ # 运行测试
114
+ pnpm test
115
+
116
+ # 启动文档站点
117
+ pnpm docs:dev
118
+ ```
119
+
120
+ ## 📁 项目结构
121
+
122
+ ```
123
+ simcode-ui/
124
+ ├── packages/ # 组件源码
125
+ │ ├── components/ # 组件
126
+ │ │ ├── button/ # 按钮组件
127
+ │ │ ├── input/ # 输入框组件
128
+ │ │ └── index.ts # 组件入口
129
+ │ └── theme/ # 主题样式
130
+ │ └── src/ # 样式源码 (Less)
131
+ ├── examples/ # 组件预览
132
+ │ ├── App.vue # 预览应用
133
+ │ └── main.ts # 入口文件
134
+ ├── docs/ # 文档
135
+ │ ├── .vitepress/ # VitePress 配置
136
+ │ ├── guide/ # 指南
137
+ │ └── components/ # 组件文档
138
+ ├── __tests__/ # 测试文件
139
+ ├── vite.config.ts # Vite 配置
140
+ ├── vitest.config.ts # Vitest 配置
141
+ └── package.json # 项目配置
142
+ ```
143
+
144
+ ## 🤝 贡献
145
+
146
+ 欢迎提交 Issue 和 Pull Request!
147
+
148
+ ## 📄 版权声明
149
+
150
+ Copyright © 2024 苏州极简搭信息技术有限公司. All rights reserved.
151
+
152
+ 本软件及其相关文档为专有软件,受版权法保护。未经版权所有者明确书面许可,不得以任何形式或方式(电子、机械、复印、录制或其他方式)复制、分发、传播或使用本软件的任何部分。
153
+
154
+ ## 🙏 致谢
155
+
156
+ 感谢所有为这个项目做出贡献的开发者!
@@ -8,6 +8,7 @@ export declare const JForm: {
8
8
  gutter: number;
9
9
  span: number;
10
10
  codeInit: string;
11
+ codeChange: string;
11
12
  }>;
12
13
  default: () => {};
13
14
  };
@@ -23,6 +24,10 @@ export declare const JForm: {
23
24
  type: BooleanConstructor;
24
25
  default: boolean;
25
26
  };
27
+ actions: {
28
+ type: import('vue').PropType<Record<string, any>>;
29
+ default: () => {};
30
+ };
26
31
  }>> & Readonly<{
27
32
  onChange?: ((...args: any[]) => any) | undefined;
28
33
  }>, {
@@ -56,9 +61,11 @@ export declare const JForm: {
56
61
  gutter: number;
57
62
  span: number;
58
63
  codeInit: string;
64
+ codeChange: string;
59
65
  };
60
66
  readonly: boolean;
61
67
  schema: any[];
68
+ actions: Record<string, any>;
62
69
  isAutoSize: boolean;
63
70
  }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
64
71
  P: {};
@@ -76,6 +83,7 @@ export declare const JForm: {
76
83
  gutter: number;
77
84
  span: number;
78
85
  codeInit: string;
86
+ codeChange: string;
79
87
  }>;
80
88
  default: () => {};
81
89
  };
@@ -91,6 +99,10 @@ export declare const JForm: {
91
99
  type: BooleanConstructor;
92
100
  default: boolean;
93
101
  };
102
+ actions: {
103
+ type: import('vue').PropType<Record<string, any>>;
104
+ default: () => {};
105
+ };
94
106
  }>> & Readonly<{
95
107
  onChange?: ((...args: any[]) => any) | undefined;
96
108
  }>, {
@@ -122,9 +134,11 @@ export declare const JForm: {
122
134
  gutter: number;
123
135
  span: number;
124
136
  codeInit: string;
137
+ codeChange: string;
125
138
  };
126
139
  readonly: boolean;
127
140
  schema: any[];
141
+ actions: Record<string, any>;
128
142
  isAutoSize: boolean;
129
143
  }>;
130
144
  __isFragment?: never;
@@ -139,6 +153,7 @@ export declare const JForm: {
139
153
  gutter: number;
140
154
  span: number;
141
155
  codeInit: string;
156
+ codeChange: string;
142
157
  }>;
143
158
  default: () => {};
144
159
  };
@@ -154,6 +169,10 @@ export declare const JForm: {
154
169
  type: BooleanConstructor;
155
170
  default: boolean;
156
171
  };
172
+ actions: {
173
+ type: import('vue').PropType<Record<string, any>>;
174
+ default: () => {};
175
+ };
157
176
  }>> & Readonly<{
158
177
  onChange?: ((...args: any[]) => any) | undefined;
159
178
  }>, {
@@ -187,9 +206,11 @@ export declare const JForm: {
187
206
  gutter: number;
188
207
  span: number;
189
208
  codeInit: string;
209
+ codeChange: string;
190
210
  };
191
211
  readonly: boolean;
192
212
  schema: any[];
213
+ actions: Record<string, any>;
193
214
  isAutoSize: boolean;
194
215
  }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & {
195
216
  install: (app: import('vue').App) => void;
@@ -12,6 +12,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
12
12
  gutter: number;
13
13
  span: number;
14
14
  codeInit: string;
15
+ codeChange: string;
15
16
  }>;
16
17
  default: () => {};
17
18
  };
@@ -33,6 +34,13 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
33
34
  type: BooleanConstructor;
34
35
  default: boolean;
35
36
  };
37
+ /**
38
+ * @zh 事件编排执行动作
39
+ */
40
+ actions: {
41
+ type: PropType<Record<string, any>>;
42
+ default: () => {};
43
+ };
36
44
  }>, {
37
45
  init: (schemas: FormSchemaConfig[], _data?: Record<string, any>) => Promise<void>;
38
46
  reset: () => void;
@@ -68,6 +76,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
68
76
  gutter: number;
69
77
  span: number;
70
78
  codeInit: string;
79
+ codeChange: string;
71
80
  }>;
72
81
  default: () => {};
73
82
  };
@@ -89,6 +98,13 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
89
98
  type: BooleanConstructor;
90
99
  default: boolean;
91
100
  };
101
+ /**
102
+ * @zh 事件编排执行动作
103
+ */
104
+ actions: {
105
+ type: PropType<Record<string, any>>;
106
+ default: () => {};
107
+ };
92
108
  }>> & Readonly<{
93
109
  onChange?: ((...args: any[]) => any) | undefined;
94
110
  }>, {
@@ -99,9 +115,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
99
115
  gutter: number;
100
116
  span: number;
101
117
  codeInit: string;
118
+ codeChange: string;
102
119
  };
103
120
  readonly: boolean;
104
121
  schema: any[];
122
+ actions: Record<string, any>;
105
123
  isAutoSize: boolean;
106
124
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
107
125
  export default _default;
@@ -59,6 +59,8 @@ export interface FormProvideType {
59
59
  id: string;
60
60
  i?: number;
61
61
  }) => any;
62
+ runFlow: (data: Record<string, any>[], inputParams: Record<string, any>) => any;
63
+ runFlowByNotRunActions: (id: string) => any;
62
64
  }
63
65
  /**
64
66
  * 表格提供者类型
@@ -24,10 +24,10 @@ export declare const JInputLayer: {
24
24
  placeholder: string;
25
25
  clearable: boolean;
26
26
  readonly: boolean;
27
- isPage: boolean;
28
27
  columns: any[];
29
28
  isTree: boolean;
30
29
  defaultExpandAll: boolean;
30
+ isPage: boolean;
31
31
  onlyButton: boolean;
32
32
  pidKey: string;
33
33
  isMultiSelect: boolean;
@@ -420,7 +420,6 @@ export declare const JInputLayer: {
420
420
  }, import('vue').PublicProps, {
421
421
  immediate: boolean;
422
422
  buttons: import('..').ButtonCompType[];
423
- isPage: boolean;
424
423
  columns: import('..').SchemaConfig[];
425
424
  isTree: boolean;
426
425
  defaultExpandAll: boolean;
@@ -428,6 +427,7 @@ export declare const JInputLayer: {
428
427
  isShowNumber: boolean;
429
428
  isMultiple: boolean;
430
429
  selectStateKey: string;
430
+ isPage: boolean;
431
431
  pageSize: number;
432
432
  rowKey: string;
433
433
  actions: import('..').ButtonCompType[];
@@ -788,7 +788,6 @@ export declare const JInputLayer: {
788
788
  }, {}, {}, {}, {
789
789
  immediate: boolean;
790
790
  buttons: import('..').ButtonCompType[];
791
- isPage: boolean;
792
791
  columns: import('..').SchemaConfig[];
793
792
  isTree: boolean;
794
793
  defaultExpandAll: boolean;
@@ -796,6 +795,7 @@ export declare const JInputLayer: {
796
795
  isShowNumber: boolean;
797
796
  isMultiple: boolean;
798
797
  selectStateKey: string;
798
+ isPage: boolean;
799
799
  pageSize: number;
800
800
  rowKey: string;
801
801
  actions: import('..').ButtonCompType[];
@@ -851,10 +851,10 @@ export declare const JInputLayer: {
851
851
  placeholder: string;
852
852
  clearable: boolean;
853
853
  readonly: boolean;
854
- isPage: boolean;
855
854
  columns: any[];
856
855
  isTree: boolean;
857
856
  defaultExpandAll: boolean;
857
+ isPage: boolean;
858
858
  onlyButton: boolean;
859
859
  pidKey: string;
860
860
  isMultiSelect: boolean;
@@ -889,10 +889,10 @@ export declare const JInputLayer: {
889
889
  placeholder: string;
890
890
  clearable: boolean;
891
891
  readonly: boolean;
892
- isPage: boolean;
893
892
  columns: any[];
894
893
  isTree: boolean;
895
894
  defaultExpandAll: boolean;
895
+ isPage: boolean;
896
896
  onlyButton: boolean;
897
897
  pidKey: string;
898
898
  isMultiSelect: boolean;
@@ -89,10 +89,10 @@ declare const _default: import('vue').DefineComponent<InputLayerProps, {}, {}, {
89
89
  placeholder: string;
90
90
  clearable: boolean;
91
91
  readonly: boolean;
92
- isPage: boolean;
93
92
  columns: any[];
94
93
  isTree: boolean;
95
94
  defaultExpandAll: boolean;
95
+ isPage: boolean;
96
96
  onlyButton: boolean;
97
97
  pidKey: string;
98
98
  isMultiSelect: boolean;
@@ -485,7 +485,6 @@ declare const _default: import('vue').DefineComponent<InputLayerProps, {}, {}, {
485
485
  }, import('vue').PublicProps, {
486
486
  immediate: boolean;
487
487
  buttons: import('../..').ButtonCompType[];
488
- isPage: boolean;
489
488
  columns: import('../..').SchemaConfig[];
490
489
  isTree: boolean;
491
490
  defaultExpandAll: boolean;
@@ -493,6 +492,7 @@ declare const _default: import('vue').DefineComponent<InputLayerProps, {}, {}, {
493
492
  isShowNumber: boolean;
494
493
  isMultiple: boolean;
495
494
  selectStateKey: string;
495
+ isPage: boolean;
496
496
  pageSize: number;
497
497
  rowKey: string;
498
498
  actions: import('../..').ButtonCompType[];
@@ -853,7 +853,6 @@ declare const _default: import('vue').DefineComponent<InputLayerProps, {}, {}, {
853
853
  }, {}, {}, {}, {
854
854
  immediate: boolean;
855
855
  buttons: import('../..').ButtonCompType[];
856
- isPage: boolean;
857
856
  columns: import('../..').SchemaConfig[];
858
857
  isTree: boolean;
859
858
  defaultExpandAll: boolean;
@@ -861,6 +860,7 @@ declare const _default: import('vue').DefineComponent<InputLayerProps, {}, {}, {
861
860
  isShowNumber: boolean;
862
861
  isMultiple: boolean;
863
862
  selectStateKey: string;
863
+ isPage: boolean;
864
864
  pageSize: number;
865
865
  rowKey: string;
866
866
  actions: import('../..').ButtonCompType[];
@@ -192,7 +192,6 @@ declare const JTable: {
192
192
  }, import('vue').PublicProps, {
193
193
  id: string;
194
194
  modelValue: Record<string, any>[];
195
- isPage: boolean;
196
195
  columns: import('.').ColumnSchemaConfig[];
197
196
  records: Record<string, any>[];
198
197
  isTree: boolean;
@@ -201,6 +200,7 @@ declare const JTable: {
201
200
  isShowNumber: boolean;
202
201
  isMultiple: boolean;
203
202
  selectStateKey: string;
203
+ isPage: boolean;
204
204
  pageLayoutSimple: boolean;
205
205
  pageTotal: number;
206
206
  tablePage: number;
@@ -407,7 +407,6 @@ declare const JTable: {
407
407
  }, {}, {}, {}, {
408
408
  id: string;
409
409
  modelValue: Record<string, any>[];
410
- isPage: boolean;
411
410
  columns: import('.').ColumnSchemaConfig[];
412
411
  records: Record<string, any>[];
413
412
  isTree: boolean;
@@ -416,6 +415,7 @@ declare const JTable: {
416
415
  isShowNumber: boolean;
417
416
  isMultiple: boolean;
418
417
  selectStateKey: string;
418
+ isPage: boolean;
419
419
  pageLayoutSimple: boolean;
420
420
  pageTotal: number;
421
421
  tablePage: number;
@@ -642,7 +642,6 @@ declare const JTable: {
642
642
  }, string, {
643
643
  id: string;
644
644
  modelValue: Record<string, any>[];
645
- isPage: boolean;
646
645
  columns: import('.').ColumnSchemaConfig[];
647
646
  records: Record<string, any>[];
648
647
  isTree: boolean;
@@ -651,6 +650,7 @@ declare const JTable: {
651
650
  isShowNumber: boolean;
652
651
  isMultiple: boolean;
653
652
  selectStateKey: string;
653
+ isPage: boolean;
654
654
  pageLayoutSimple: boolean;
655
655
  pageTotal: number;
656
656
  tablePage: number;
@@ -510,7 +510,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
510
510
  }>, {
511
511
  id: string;
512
512
  modelValue: Record<string, any>[];
513
- isPage: boolean;
514
513
  columns: ColumnSchemaConfig[];
515
514
  records: Record<string, any>[];
516
515
  isTree: boolean;
@@ -519,6 +518,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
519
518
  isShowNumber: boolean;
520
519
  isMultiple: boolean;
521
520
  selectStateKey: string;
521
+ isPage: boolean;
522
522
  pageLayoutSimple: boolean;
523
523
  pageTotal: number;
524
524
  tablePage: number;
@@ -139,7 +139,6 @@ declare const JTablePanel: {
139
139
  }, import('vue').PublicProps, {
140
140
  immediate: boolean;
141
141
  buttons: import('..').ButtonCompType[];
142
- isPage: boolean;
143
142
  columns: import('..').SchemaConfig[];
144
143
  isTree: boolean;
145
144
  defaultExpandAll: boolean;
@@ -147,6 +146,7 @@ declare const JTablePanel: {
147
146
  isShowNumber: boolean;
148
147
  isMultiple: boolean;
149
148
  selectStateKey: string;
149
+ isPage: boolean;
150
150
  pageSize: number;
151
151
  rowKey: string;
152
152
  actions: import('..').ButtonCompType[];
@@ -507,7 +507,6 @@ declare const JTablePanel: {
507
507
  }, {}, {}, {}, {
508
508
  immediate: boolean;
509
509
  buttons: import('..').ButtonCompType[];
510
- isPage: boolean;
511
510
  columns: import('..').SchemaConfig[];
512
511
  isTree: boolean;
513
512
  defaultExpandAll: boolean;
@@ -515,6 +514,7 @@ declare const JTablePanel: {
515
514
  isShowNumber: boolean;
516
515
  isMultiple: boolean;
517
516
  selectStateKey: string;
517
+ isPage: boolean;
518
518
  pageSize: number;
519
519
  rowKey: string;
520
520
  actions: import('..').ButtonCompType[];
@@ -687,7 +687,6 @@ declare const JTablePanel: {
687
687
  }, string, {
688
688
  immediate: boolean;
689
689
  buttons: import('..').ButtonCompType[];
690
- isPage: boolean;
691
690
  columns: import('..').SchemaConfig[];
692
691
  isTree: boolean;
693
692
  defaultExpandAll: boolean;
@@ -695,6 +694,7 @@ declare const JTablePanel: {
695
694
  isShowNumber: boolean;
696
695
  isMultiple: boolean;
697
696
  selectStateKey: string;
697
+ isPage: boolean;
698
698
  pageSize: number;
699
699
  rowKey: string;
700
700
  actions: import('..').ButtonCompType[];