@a2simcode/ui 0.0.282 → 0.0.283

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 (372) 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/table-panel/index.d.ts +3 -0
  6. package/dist/components/table-panel/src/table-panel.vue.d.ts +1 -0
  7. package/dist/simcode-ui.es.js +4781 -4761
  8. package/dist/simcode-ui.umd.js +2 -2
  9. package/dist/stats.html +1 -1
  10. package/dist/ui.css +1 -1
  11. package/docs/components/autocomplete.md +89 -89
  12. package/docs/components/barcode.md +101 -101
  13. package/docs/components/button-select.md +24 -24
  14. package/docs/components/button.md +117 -117
  15. package/docs/components/buttons.md +119 -119
  16. package/docs/components/card-list.md +38 -38
  17. package/docs/components/cascader-select.md +114 -114
  18. package/docs/components/checkbox.md +114 -114
  19. package/docs/components/code-mirror.md +85 -85
  20. package/docs/components/collapse.md +26 -26
  21. package/docs/components/comp.md +106 -106
  22. package/docs/components/count-up.md +24 -24
  23. package/docs/components/count.md +24 -24
  24. package/docs/components/data-panel.md +24 -24
  25. package/docs/components/date.md +76 -76
  26. package/docs/components/dialog-full.md +112 -112
  27. package/docs/components/dialog.md +127 -127
  28. package/docs/components/divider.md +24 -24
  29. package/docs/components/drawer.md +127 -127
  30. package/docs/components/dynamic-layer.md +118 -118
  31. package/docs/components/echarts.md +72 -72
  32. package/docs/components/editor.md +24 -24
  33. package/docs/components/form.md +87 -87
  34. package/docs/components/guid.md +39 -39
  35. package/docs/components/hpanel.md +24 -24
  36. package/docs/components/icon.md +56 -56
  37. package/docs/components/input-button.md +24 -24
  38. package/docs/components/input-code.md +24 -24
  39. package/docs/components/input-color.md +114 -114
  40. package/docs/components/input-layer.md +56 -56
  41. package/docs/components/input-rows.md +370 -370
  42. package/docs/components/input-tag.md +50 -50
  43. package/docs/components/input.md +129 -129
  44. package/docs/components/layer-form.md +61 -61
  45. package/docs/components/layer.md +127 -127
  46. package/docs/components/layout.md +132 -132
  47. package/docs/components/map.md +24 -24
  48. package/docs/components/menu.md +121 -121
  49. package/docs/components/meta/button.ts +212 -212
  50. package/docs/components/meta/buttons.ts +76 -76
  51. package/docs/components/meta/card-list.ts +210 -210
  52. package/docs/components/meta/code-mirror.ts +108 -108
  53. package/docs/components/meta/comp.ts +236 -236
  54. package/docs/components/meta/date.ts +267 -267
  55. package/docs/components/meta/echarts.ts +64 -64
  56. package/docs/components/meta/form-item.ts +62 -62
  57. package/docs/components/meta/form.ts +181 -181
  58. package/docs/components/meta/input-button.ts +175 -175
  59. package/docs/components/meta/input-cards.ts +112 -112
  60. package/docs/components/meta/input-code.ts +161 -161
  61. package/docs/components/meta/input-color.ts +243 -243
  62. package/docs/components/meta/input-rows.ts +119 -119
  63. package/docs/components/meta/layer-form.ts +74 -74
  64. package/docs/components/meta/map.ts +68 -68
  65. package/docs/components/meta/panel.ts +152 -152
  66. package/docs/components/meta/radio.ts +55 -55
  67. package/docs/components/meta/select.ts +279 -279
  68. package/docs/components/meta/slider.ts +270 -270
  69. package/docs/components/meta/table-panel.ts +326 -326
  70. package/docs/components/meta/table.ts +489 -489
  71. package/docs/components/meta/tabs.ts +146 -146
  72. package/docs/components/meta/title.ts +91 -91
  73. package/docs/components/meta/tree.ts +225 -225
  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 -102
  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 +327 -312
  86. package/docs/components/table.md +510 -510
  87. package/docs/components/tabs.md +26 -26
  88. package/docs/components/title.md +24 -24
  89. package/docs/components/tree.md +222 -222
  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/disabled.vue +42 -42
  108. package/docs/examples/button/loading.vue +6 -6
  109. package/docs/examples/button/shape.vue +7 -7
  110. package/docs/examples/button/size.vue +14 -14
  111. package/docs/examples/button/status.vue +34 -34
  112. package/docs/examples/button/type.vue +10 -10
  113. package/docs/examples/button-select/basic.vue +19 -19
  114. package/docs/examples/buttons/basic.vue +62 -62
  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/card-list/basic.vue +70 -70
  122. package/docs/examples/card-list/selection-pagination.vue +69 -69
  123. package/docs/examples/cascader-select/basic.vue +28 -28
  124. package/docs/examples/cascader-select/clearable.vue +34 -34
  125. package/docs/examples/cascader-select/disabled.vue +43 -43
  126. package/docs/examples/cascader-select/filterable.vue +37 -37
  127. package/docs/examples/cascader-select/methods.vue +84 -84
  128. package/docs/examples/cascader-select/multiple.vue +38 -38
  129. package/docs/examples/cascader-select/slot.vue +45 -45
  130. package/docs/examples/checkbox/basic.vue +18 -18
  131. package/docs/examples/checkbox/button.vue +19 -19
  132. package/docs/examples/checkbox/color.vue +25 -25
  133. package/docs/examples/checkbox/disabled.vue +17 -17
  134. package/docs/examples/checkbox/min-max.vue +20 -20
  135. package/docs/examples/checkbox/mixed.vue +56 -56
  136. package/docs/examples/checkbox/size.vue +28 -28
  137. package/docs/examples/code-mirror/basic.vue +11 -11
  138. package/docs/examples/code-mirror/events.vue +42 -42
  139. package/docs/examples/code-mirror/height.vue +25 -25
  140. package/docs/examples/code-mirror/mode.vue +33 -33
  141. package/docs/examples/code-mirror/readonly.vue +14 -14
  142. package/docs/examples/collapse/basic.vue +82 -82
  143. package/docs/examples/comp/basic.vue +7 -7
  144. package/docs/examples/comp/collapse.vue +38 -38
  145. package/docs/examples/comp/table-merge-rows.vue +77 -77
  146. package/docs/examples/comp/table-row-fixed-merge.vue +105 -105
  147. package/docs/examples/comp/tabs.vue +38 -38
  148. package/docs/examples/count/basic.vue +101 -101
  149. package/docs/examples/count-up/basic.vue +89 -89
  150. package/docs/examples/data-panel/basic.vue +110 -110
  151. package/docs/examples/date/basic.vue +73 -73
  152. package/docs/examples/date/default-value.vue +59 -59
  153. package/docs/examples/date/format.vue +75 -75
  154. package/docs/examples/date/range.vue +66 -66
  155. package/docs/examples/date/types.vue +79 -79
  156. package/docs/examples/decorated-title/basic.vue +31 -31
  157. package/docs/examples/dialog/basic.vue +36 -36
  158. package/docs/examples/dialog/custom-buttons.vue +44 -44
  159. package/docs/examples/dialog/fullscreen.vue +23 -23
  160. package/docs/examples/dialog/no-mask.vue +17 -17
  161. package/docs/examples/dialog/size.vue +44 -44
  162. package/docs/examples/dialog/steps.vue +57 -57
  163. package/docs/examples/dialog-full/basic.vue +29 -29
  164. package/docs/examples/dialog-full/custom-buttons.vue +45 -45
  165. package/docs/examples/dialog-full/no-buttons.vue +18 -18
  166. package/docs/examples/dialog-full/no-header.vue +27 -27
  167. package/docs/examples/dialog-full/steps.vue +71 -71
  168. package/docs/examples/divider/basic.vue +52 -52
  169. package/docs/examples/drawer/basic.vue +35 -35
  170. package/docs/examples/drawer/custom-buttons.vue +34 -34
  171. package/docs/examples/drawer/direction.vue +47 -47
  172. package/docs/examples/drawer/mask.vue +36 -36
  173. package/docs/examples/drawer/no-buttons.vue +20 -20
  174. package/docs/examples/drawer/size.vue +28 -28
  175. package/docs/examples/dynamic-layer/basic.vue +33 -33
  176. package/docs/examples/dynamic-layer/custom-buttons.vue +43 -43
  177. package/docs/examples/dynamic-layer/form.vue +73 -73
  178. package/docs/examples/dynamic-layer/steps.vue +52 -52
  179. package/docs/examples/dynamic-layer/types.vue +40 -40
  180. package/docs/examples/echarts/basic.vue +31 -31
  181. package/docs/examples/echarts/dynamic.vue +43 -43
  182. package/docs/examples/echarts/line.vue +46 -46
  183. package/docs/examples/echarts/pie.vue +44 -44
  184. package/docs/examples/editor/basic.vue +15 -15
  185. package/docs/examples/form/basic.vue +688 -688
  186. package/docs/examples/form/init.vue +76 -76
  187. package/docs/examples/form/master-detail.vue +203 -203
  188. package/docs/examples/form/rule-format.vue +179 -179
  189. package/docs/examples/form/view-table.vue +378 -378
  190. package/docs/examples/guid/basic.vue +10 -10
  191. package/docs/examples/guid/size.vue +13 -13
  192. package/docs/examples/hpanel/basic.vue +79 -79
  193. package/docs/examples/icon/basic.vue +9 -9
  194. package/docs/examples/icon/rotate-flip.vue +9 -9
  195. package/docs/examples/icon/size.vue +7 -7
  196. package/docs/examples/input/basic.vue +10 -10
  197. package/docs/examples/input/clearable.vue +12 -12
  198. package/docs/examples/input/disabled.vue +6 -6
  199. package/docs/examples/input/icon.vue +23 -23
  200. package/docs/examples/input/password.vue +18 -18
  201. package/docs/examples/input/size.vue +13 -13
  202. package/docs/examples/input/textarea.vue +25 -25
  203. package/docs/examples/input/word-limit.vue +28 -28
  204. package/docs/examples/input-button/basic.vue +33 -33
  205. package/docs/examples/input-cards/basic.vue +79 -79
  206. package/docs/examples/input-code/basic.vue +29 -29
  207. package/docs/examples/input-color/basic.vue +10 -10
  208. package/docs/examples/input-color/disabled.vue +13 -13
  209. package/docs/examples/input-color/format.vue +17 -17
  210. package/docs/examples/input-color/no-alpha.vue +13 -13
  211. package/docs/examples/input-color/only-button.vue +15 -15
  212. package/docs/examples/input-color/predefine.vue +31 -31
  213. package/docs/examples/input-color/size.vue +15 -15
  214. package/docs/examples/input-layer/basic.vue +85 -85
  215. package/docs/examples/input-layer/render-vnode-page.vue +160 -160
  216. package/docs/examples/input-layer/render-vnode.vue +127 -127
  217. package/docs/examples/input-rows/basic.vue +73 -73
  218. package/docs/examples/input-rows/drag.vue +48 -48
  219. package/docs/examples/input-rows/layer-form.vue +85 -85
  220. package/docs/examples/input-rows/nested.vue +91 -91
  221. package/docs/examples/input-tag/basic.vue +27 -27
  222. package/docs/examples/input-tag/colors.vue +23 -23
  223. package/docs/examples/input-tag/readonly.vue +17 -17
  224. package/docs/examples/layer/basic.vue +43 -43
  225. package/docs/examples/layer/custom-buttons.vue +61 -61
  226. package/docs/examples/layer/drawer.vue +37 -37
  227. package/docs/examples/layer/full.vue +38 -38
  228. package/docs/examples/layer/modal.vue +34 -34
  229. package/docs/examples/layer/steps.vue +46 -46
  230. package/docs/examples/layer-form/basic.vue +76 -76
  231. package/docs/examples/layer-form/config.vue +82 -82
  232. package/docs/examples/layer-form/size.vue +72 -72
  233. package/docs/examples/layout/basic.vue +36 -36
  234. package/docs/examples/layout/custom-size.vue +50 -50
  235. package/docs/examples/layout/disable-move.vue +37 -37
  236. package/docs/examples/layout/hide-mid-when-narrow.vue +96 -96
  237. package/docs/examples/layout/min-size.vue +73 -73
  238. package/docs/examples/layout/percent-size.vue +80 -80
  239. package/docs/examples/layout/simple.vue +22 -22
  240. package/docs/examples/layout/top-side.vue +34 -34
  241. package/docs/examples/map/basic.vue +22 -22
  242. package/docs/examples/menu/basic.vue +58 -58
  243. package/docs/examples/menu/collapsed.vue +49 -49
  244. package/docs/examples/menu/horizontal.vue +44 -44
  245. package/docs/examples/menu/selection-test.vue +104 -104
  246. package/docs/examples/menu/theme.vue +46 -46
  247. package/docs/examples/menu/vertical.vue +46 -46
  248. package/docs/examples/number/advanced.vue +143 -143
  249. package/docs/examples/number/basic.vue +63 -63
  250. package/docs/examples/number/disabled.vue +49 -49
  251. package/docs/examples/number/size.vue +42 -42
  252. package/docs/examples/number/slots.vue +123 -123
  253. package/docs/examples/number/step-strictly.vue +41 -41
  254. package/docs/examples/number/step.vue +47 -47
  255. package/docs/examples/page/basic.vue +41 -41
  256. package/docs/examples/page/code-table-model.vue +428 -428
  257. package/docs/examples/page/dept-user-management.vue +211 -211
  258. package/docs/examples/page/init.vue +87 -87
  259. package/docs/examples/page/log.vue +453 -453
  260. package/docs/examples/page/user-management.vue +313 -313
  261. package/docs/examples/panel/tool-buttons.vue +18 -18
  262. package/docs/examples/radio/basic.vue +17 -17
  263. package/docs/examples/radio/button.vue +17 -17
  264. package/docs/examples/radio/color.vue +18 -18
  265. package/docs/examples/radio/disabled.vue +17 -17
  266. package/docs/examples/radio/size.vue +29 -29
  267. package/docs/examples/rate/basic.vue +24 -24
  268. package/docs/examples/rate/half.vue +24 -24
  269. package/docs/examples/rate/readonly.vue +11 -11
  270. package/docs/examples/rate/text.vue +37 -37
  271. package/docs/examples/select/basic.vue +16 -16
  272. package/docs/examples/select/clearable.vue +22 -22
  273. package/docs/examples/select/disabled.vue +31 -31
  274. package/docs/examples/select/filterable.vue +24 -24
  275. package/docs/examples/select/group.vue +23 -23
  276. package/docs/examples/select/icon.vue +16 -16
  277. package/docs/examples/select/multiple.vue +18 -18
  278. package/docs/examples/select/size.vue +39 -39
  279. package/docs/examples/slider/basic.vue +42 -42
  280. package/docs/examples/slider/disabled.vue +17 -17
  281. package/docs/examples/slider/marks.vue +30 -30
  282. package/docs/examples/slider/size.vue +37 -37
  283. package/docs/examples/slider/tooltip.vue +36 -36
  284. package/docs/examples/slider/vertical.vue +26 -26
  285. package/docs/examples/slider-captcha/basic.vue +44 -44
  286. package/docs/examples/slider-captcha/custom.vue +48 -48
  287. package/docs/examples/switch/basic.vue +16 -16
  288. package/docs/examples/switch/disabled.vue +13 -13
  289. package/docs/examples/switch/loading.vue +13 -13
  290. package/docs/examples/switch/size.vue +15 -15
  291. package/docs/examples/switch/text.vue +13 -13
  292. package/docs/examples/table/action-filter.vue +126 -126
  293. package/docs/examples/table/actions.vue +116 -116
  294. package/docs/examples/table/add-row.vue +103 -103
  295. package/docs/examples/table/basic.vue +168 -168
  296. package/docs/examples/table/checkbox-layout.vue +68 -68
  297. package/docs/examples/table/column-filter.vue +96 -96
  298. package/docs/examples/table/custom-layout.vue +115 -115
  299. package/docs/examples/table/custom-merge-cell.vue +206 -206
  300. package/docs/examples/table/dynamic-type.vue +73 -73
  301. package/docs/examples/table/editable.vue +262 -262
  302. package/docs/examples/table/field-selection.vue +87 -87
  303. package/docs/examples/table/frozen-column.vue +140 -140
  304. package/docs/examples/table/height-mode.vue +99 -99
  305. package/docs/examples/table/icon.vue +85 -85
  306. package/docs/examples/table/layer-form.vue +133 -133
  307. package/docs/examples/table/link.vue +66 -66
  308. package/docs/examples/table/merge-cell.vue +78 -78
  309. package/docs/examples/table/merge-header.vue +86 -86
  310. package/docs/examples/table/multiple-disabled.vue +112 -112
  311. package/docs/examples/table/multiple.vue +188 -188
  312. package/docs/examples/table/pagination.vue +151 -151
  313. package/docs/examples/table/row-drag.vue +67 -67
  314. package/docs/examples/table/row-fixed.vue +61 -61
  315. package/docs/examples/table/single-selection.vue +64 -64
  316. package/docs/examples/table/sub-table-lazy.vue +97 -97
  317. package/docs/examples/table/sub-table.vue +103 -103
  318. package/docs/examples/table/tag.vue +43 -43
  319. package/docs/examples/table/tree-column.vue +119 -119
  320. package/docs/examples/table/tree-data.vue +141 -141
  321. package/docs/examples/table/tree-default-expand-all.vue +60 -60
  322. package/docs/examples/table/tree-lazy.vue +80 -80
  323. package/docs/examples/table/tree-set-selection.vue +75 -75
  324. package/docs/examples/table-panel/basic.vue +229 -229
  325. package/docs/examples/table-panel/batch-operations.vue +286 -286
  326. package/docs/examples/table-panel/button-visibility.vue +88 -88
  327. package/docs/examples/table-panel/card.vue +101 -101
  328. package/docs/examples/table-panel/column-filter.vue +116 -116
  329. package/docs/examples/table-panel/filter.vue +219 -219
  330. package/docs/examples/table-panel/get-selection.vue +111 -111
  331. package/docs/examples/table-panel/mask.vue +151 -151
  332. package/docs/examples/table-panel/model-value.vue +87 -87
  333. package/docs/examples/table-panel/multiple-selection.vue +243 -243
  334. package/docs/examples/table-panel/pagination-select-state-key.vue +176 -0
  335. package/docs/examples/table-panel/pagination.vue +133 -133
  336. package/docs/examples/table-panel/search-list.vue +207 -207
  337. package/docs/examples/table-panel/sub-table-lazy.vue +118 -118
  338. package/docs/examples/table-panel/tree-parent-key.vue +67 -67
  339. package/docs/examples/tabs/basic.vue +98 -98
  340. package/docs/examples/time/base.vue +67 -67
  341. package/docs/examples/title/basic.vue +87 -87
  342. package/docs/examples/tree/accordion.vue +46 -46
  343. package/docs/examples/tree/basic.vue +50 -50
  344. package/docs/examples/tree/buttons.vue +53 -53
  345. package/docs/examples/tree/check-strictly.vue +53 -53
  346. package/docs/examples/tree/checkable.vue +52 -52
  347. package/docs/examples/tree/custom-keys.vue +39 -39
  348. package/docs/examples/tree/default-expanded.vue +52 -52
  349. package/docs/examples/tree/draggable.vue +29 -29
  350. package/docs/examples/tree/expand-on-click.vue +39 -39
  351. package/docs/examples/tree/flat-data.vue +20 -20
  352. package/docs/examples/tree/icon.vue +40 -40
  353. package/docs/examples/tree/load-data.vue +37 -37
  354. package/docs/examples/tree/methods.vue +74 -74
  355. package/docs/examples/tree/theme.vue +33 -33
  356. package/docs/examples/tree-select/basic.vue +47 -47
  357. package/docs/examples/tree-select/lazy.vue +42 -42
  358. package/docs/examples/upload/accept.vue +31 -31
  359. package/docs/examples/upload/basic.vue +12 -12
  360. package/docs/examples/upload/drag.vue +11 -11
  361. package/docs/examples/upload/image.vue +17 -17
  362. package/docs/examples/upload/limit.vue +20 -20
  363. package/docs/examples/upload/multiple.vue +17 -17
  364. package/docs/examples/upload/readonly.vue +17 -17
  365. package/docs/examples/utils/cipher.vue +160 -160
  366. package/docs/examples/utils/common.vue +153 -153
  367. package/docs/examples/utils/date.vue +56 -56
  368. package/docs/examples/utils/dom.vue +52 -52
  369. package/docs/examples/utils/is.vue +70 -70
  370. package/docs/examples/workflow/basic.vue +265 -265
  371. package/docs/examples/workflow-viewer/basic.vue +248 -248
  372. 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
+ 感谢所有为这个项目做出贡献的开发者!
@@ -189,6 +189,7 @@ declare const JTablePanel: {
189
189
  resetData: () => Promise<void>;
190
190
  getSelection: () => any;
191
191
  setSelection: (records: any[]) => void;
192
+ setSelectionById: (ids: (string | number)[]) => void;
192
193
  clearSelection: () => void;
193
194
  getTableRef: () => any;
194
195
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
@@ -647,6 +648,7 @@ declare const JTablePanel: {
647
648
  resetData: () => Promise<void>;
648
649
  getSelection: () => any;
649
650
  setSelection: (records: any[]) => void;
651
+ setSelectionById: (ids: (string | number)[]) => void;
650
652
  clearSelection: () => void;
651
653
  getTableRef: () => any;
652
654
  }, {}, {}, {}, {
@@ -896,6 +898,7 @@ declare const JTablePanel: {
896
898
  resetData: () => Promise<void>;
897
899
  getSelection: () => any;
898
900
  setSelection: (records: any[]) => void;
901
+ setSelectionById: (ids: (string | number)[]) => void;
899
902
  clearSelection: () => void;
900
903
  getTableRef: () => any;
901
904
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
@@ -331,6 +331,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
331
331
  resetData: () => Promise<void>;
332
332
  getSelection: () => any;
333
333
  setSelection: (records: any[]) => void;
334
+ setSelectionById: (ids: (string | number)[]) => void;
334
335
  clearSelection: () => void;
335
336
  getTableRef: () => any;
336
337
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {