@a2simcode/ui 0.0.70 → 0.0.72

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 (326) hide show
  1. package/.cursor/skills/ui-component-helper/README.md +43 -43
  2. package/.cursor/skills/ui-component-helper/SKILL.md +81 -81
  3. package/LICENSE +53 -53
  4. package/README.md +156 -156
  5. package/dist/components/barcode/index.d.ts +3 -3
  6. package/dist/components/barcode/src/barcode.vue.d.ts +1 -1
  7. package/dist/components/date/index.d.ts +98 -0
  8. package/dist/components/date/src/date.vue.d.ts +78 -0
  9. package/dist/components/index.d.ts +3 -1
  10. package/dist/components/slider/index.d.ts +3 -3
  11. package/dist/components/slider/src/slider.vue.d.ts +1 -1
  12. package/dist/components/tabs/index.d.ts +3 -3
  13. package/dist/components/tabs/src/tabs.vue.d.ts +1 -1
  14. package/dist/simcode-ui.es.js +4985 -4787
  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 -0
  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 +27 -27
  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 +56 -56
  56. package/docs/components/meta/date.ts +275 -0
  57. package/docs/components/meta/echarts.ts +64 -64
  58. package/docs/components/meta/form.ts +160 -160
  59. package/docs/components/meta/input-cards.ts +112 -112
  60. package/docs/components/meta/input-color.ts +243 -243
  61. package/docs/components/meta/input-rows.ts +113 -113
  62. package/docs/components/meta/layer-form.ts +56 -56
  63. package/docs/components/meta/map.ts +68 -68
  64. package/docs/components/meta/panel.ts +152 -152
  65. package/docs/components/meta/slider.ts +270 -270
  66. package/docs/components/meta/table.ts +363 -363
  67. package/docs/components/meta/tabs.ts +136 -136
  68. package/docs/components/meta/tree-select.ts +199 -199
  69. package/docs/components/meta/workflow-viewer.ts +55 -55
  70. package/docs/components/meta/workflow.ts +113 -113
  71. package/docs/components/number.md +124 -124
  72. package/docs/components/page.md +57 -57
  73. package/docs/components/panel.md +37 -37
  74. package/docs/components/radio.md +87 -87
  75. package/docs/components/rate.md +71 -71
  76. package/docs/components/select.md +133 -133
  77. package/docs/components/slider-captcha.md +41 -41
  78. package/docs/components/slider.md +101 -101
  79. package/docs/components/switch.md +90 -90
  80. package/docs/components/table-panel.md +218 -218
  81. package/docs/components/table.md +319 -319
  82. package/docs/components/tabs.md +26 -26
  83. package/docs/components/title.md +24 -24
  84. package/docs/components/tree.md +207 -207
  85. package/docs/components/upload.md +117 -117
  86. package/docs/components/workflow-viewer.md +21 -21
  87. package/docs/components/workflow.md +21 -21
  88. package/docs/examples/autocomplete/advanced.vue +35 -35
  89. package/docs/examples/autocomplete/basic.vue +32 -32
  90. package/docs/examples/autocomplete/clearable.vue +33 -33
  91. package/docs/examples/autocomplete/custom-template.vue +49 -49
  92. package/docs/examples/autocomplete/disabled.vue +33 -33
  93. package/docs/examples/autocomplete/icon.vue +37 -37
  94. package/docs/examples/barcode/all-types.vue +380 -380
  95. package/docs/examples/barcode/basic.vue +14 -14
  96. package/docs/examples/barcode/props-appearance.vue +243 -243
  97. package/docs/examples/barcode/props-geometry.vue +143 -143
  98. package/docs/examples/barcode/props-logic.vue +216 -216
  99. package/docs/examples/barcode/props-symbology.vue +199 -199
  100. package/docs/examples/barcode/props-text.vue +268 -268
  101. package/docs/examples/button/basic.vue +7 -7
  102. package/docs/examples/button/danger-ghost.vue +17 -17
  103. package/docs/examples/button/disabled.vue +10 -10
  104. package/docs/examples/button/loading.vue +6 -6
  105. package/docs/examples/button/shape.vue +7 -7
  106. package/docs/examples/button/size.vue +14 -14
  107. package/docs/examples/button/type.vue +9 -9
  108. package/docs/examples/button-select/basic.vue +19 -19
  109. package/docs/examples/buttons/basic.vue +45 -45
  110. package/docs/examples/buttons/disabled.vue +36 -36
  111. package/docs/examples/buttons/dropdown.vue +63 -63
  112. package/docs/examples/buttons/group.vue +52 -52
  113. package/docs/examples/buttons/link.vue +47 -47
  114. package/docs/examples/buttons/popup.vue +39 -39
  115. package/docs/examples/buttons/size.vue +45 -45
  116. package/docs/examples/cascader-select/basic.vue +28 -28
  117. package/docs/examples/cascader-select/clearable.vue +34 -34
  118. package/docs/examples/cascader-select/disabled.vue +43 -43
  119. package/docs/examples/cascader-select/filterable.vue +37 -37
  120. package/docs/examples/cascader-select/methods.vue +84 -84
  121. package/docs/examples/cascader-select/multiple.vue +38 -38
  122. package/docs/examples/cascader-select/slot.vue +45 -45
  123. package/docs/examples/checkbox/basic.vue +18 -18
  124. package/docs/examples/checkbox/button.vue +19 -19
  125. package/docs/examples/checkbox/color.vue +25 -25
  126. package/docs/examples/checkbox/disabled.vue +17 -17
  127. package/docs/examples/checkbox/min-max.vue +20 -20
  128. package/docs/examples/checkbox/mixed.vue +56 -56
  129. package/docs/examples/checkbox/size.vue +28 -28
  130. package/docs/examples/code-mirror/basic.vue +11 -11
  131. package/docs/examples/code-mirror/events.vue +42 -42
  132. package/docs/examples/code-mirror/height.vue +25 -25
  133. package/docs/examples/code-mirror/mode.vue +33 -33
  134. package/docs/examples/code-mirror/readonly.vue +14 -14
  135. package/docs/examples/collapse/basic.vue +82 -82
  136. package/docs/examples/comp/basic.vue +7 -7
  137. package/docs/examples/comp/collapse.vue +38 -38
  138. package/docs/examples/comp/tabs.vue +38 -38
  139. package/docs/examples/count/basic.vue +54 -54
  140. package/docs/examples/count-up/basic.vue +89 -89
  141. package/docs/examples/data-panel/basic.vue +110 -110
  142. package/docs/examples/date/basic.vue +73 -0
  143. package/docs/examples/date/default-value.vue +59 -0
  144. package/docs/examples/date/format.vue +75 -0
  145. package/docs/examples/date/range.vue +66 -0
  146. package/docs/examples/date/types.vue +79 -0
  147. package/docs/examples/dialog/basic.vue +36 -36
  148. package/docs/examples/dialog/custom-buttons.vue +44 -44
  149. package/docs/examples/dialog/fullscreen.vue +23 -23
  150. package/docs/examples/dialog/no-mask.vue +17 -17
  151. package/docs/examples/dialog/size.vue +44 -44
  152. package/docs/examples/dialog/steps.vue +57 -57
  153. package/docs/examples/dialog-full/basic.vue +29 -29
  154. package/docs/examples/dialog-full/custom-buttons.vue +45 -45
  155. package/docs/examples/dialog-full/no-buttons.vue +18 -18
  156. package/docs/examples/dialog-full/no-header.vue +27 -27
  157. package/docs/examples/dialog-full/steps.vue +71 -71
  158. package/docs/examples/divider/basic.vue +52 -52
  159. package/docs/examples/drawer/basic.vue +35 -35
  160. package/docs/examples/drawer/custom-buttons.vue +34 -34
  161. package/docs/examples/drawer/direction.vue +47 -47
  162. package/docs/examples/drawer/mask.vue +36 -36
  163. package/docs/examples/drawer/no-buttons.vue +20 -20
  164. package/docs/examples/drawer/size.vue +28 -28
  165. package/docs/examples/dynamic-layer/basic.vue +33 -33
  166. package/docs/examples/dynamic-layer/custom-buttons.vue +43 -43
  167. package/docs/examples/dynamic-layer/form.vue +73 -73
  168. package/docs/examples/dynamic-layer/steps.vue +52 -52
  169. package/docs/examples/dynamic-layer/types.vue +40 -40
  170. package/docs/examples/echarts/basic.vue +31 -31
  171. package/docs/examples/echarts/dynamic.vue +43 -43
  172. package/docs/examples/echarts/line.vue +46 -46
  173. package/docs/examples/echarts/pie.vue +44 -44
  174. package/docs/examples/editor/basic.vue +15 -15
  175. package/docs/examples/form/basic.vue +450 -450
  176. package/docs/examples/guid/basic.vue +10 -10
  177. package/docs/examples/guid/size.vue +13 -13
  178. package/docs/examples/hpanel/basic.vue +79 -79
  179. package/docs/examples/icon/basic.vue +9 -9
  180. package/docs/examples/icon/rotate-flip.vue +9 -9
  181. package/docs/examples/icon/size.vue +7 -7
  182. package/docs/examples/input/basic.vue +10 -10
  183. package/docs/examples/input/clearable.vue +12 -12
  184. package/docs/examples/input/disabled.vue +6 -6
  185. package/docs/examples/input/icon.vue +23 -23
  186. package/docs/examples/input/password.vue +18 -18
  187. package/docs/examples/input/size.vue +13 -13
  188. package/docs/examples/input/textarea.vue +25 -25
  189. package/docs/examples/input/word-limit.vue +28 -28
  190. package/docs/examples/input-button/basic.vue +33 -33
  191. package/docs/examples/input-code/basic.vue +29 -29
  192. package/docs/examples/input-color/basic.vue +10 -10
  193. package/docs/examples/input-color/disabled.vue +13 -13
  194. package/docs/examples/input-color/format.vue +17 -17
  195. package/docs/examples/input-color/no-alpha.vue +13 -13
  196. package/docs/examples/input-color/only-button.vue +15 -15
  197. package/docs/examples/input-color/predefine.vue +31 -31
  198. package/docs/examples/input-color/size.vue +15 -15
  199. package/docs/examples/input-layer/basic.vue +69 -69
  200. package/docs/examples/input-rows/basic.vue +73 -73
  201. package/docs/examples/input-rows/drag.vue +48 -48
  202. package/docs/examples/input-rows/layer-form.vue +85 -85
  203. package/docs/examples/input-rows/nested.vue +91 -91
  204. package/docs/examples/input-tag/basic.vue +27 -27
  205. package/docs/examples/input-tag/colors.vue +23 -23
  206. package/docs/examples/input-tag/readonly.vue +17 -17
  207. package/docs/examples/layer/basic.vue +43 -43
  208. package/docs/examples/layer/custom-buttons.vue +61 -61
  209. package/docs/examples/layer/drawer.vue +37 -37
  210. package/docs/examples/layer/full.vue +38 -38
  211. package/docs/examples/layer/modal.vue +34 -34
  212. package/docs/examples/layer/steps.vue +46 -46
  213. package/docs/examples/layer-form/basic.vue +76 -76
  214. package/docs/examples/layer-form/config.vue +82 -82
  215. package/docs/examples/layer-form/size.vue +72 -72
  216. package/docs/examples/layout/basic.vue +36 -36
  217. package/docs/examples/layout/custom-size.vue +50 -50
  218. package/docs/examples/layout/disable-move.vue +37 -37
  219. package/docs/examples/layout/hide-mid-when-narrow.vue +96 -96
  220. package/docs/examples/layout/min-size.vue +73 -73
  221. package/docs/examples/layout/percent-size.vue +80 -80
  222. package/docs/examples/layout/simple.vue +22 -22
  223. package/docs/examples/layout/top-side.vue +34 -34
  224. package/docs/examples/map/basic.vue +22 -22
  225. package/docs/examples/menu/basic.vue +58 -58
  226. package/docs/examples/menu/collapsed.vue +49 -49
  227. package/docs/examples/menu/horizontal.vue +44 -44
  228. package/docs/examples/menu/selection-test.vue +104 -104
  229. package/docs/examples/menu/theme.vue +46 -46
  230. package/docs/examples/menu/vertical.vue +46 -46
  231. package/docs/examples/number/advanced.vue +143 -143
  232. package/docs/examples/number/basic.vue +63 -63
  233. package/docs/examples/number/disabled.vue +49 -49
  234. package/docs/examples/number/size.vue +42 -42
  235. package/docs/examples/number/slots.vue +123 -123
  236. package/docs/examples/number/step-strictly.vue +41 -41
  237. package/docs/examples/number/step.vue +47 -47
  238. package/docs/examples/page/basic.vue +41 -41
  239. package/docs/examples/page/init.vue +87 -87
  240. package/docs/examples/page/log.vue +453 -207
  241. package/docs/examples/panel/tool-buttons.vue +18 -18
  242. package/docs/examples/radio/basic.vue +17 -17
  243. package/docs/examples/radio/button.vue +17 -17
  244. package/docs/examples/radio/color.vue +18 -18
  245. package/docs/examples/radio/disabled.vue +17 -17
  246. package/docs/examples/radio/size.vue +29 -29
  247. package/docs/examples/rate/basic.vue +24 -24
  248. package/docs/examples/rate/half.vue +24 -24
  249. package/docs/examples/rate/readonly.vue +11 -11
  250. package/docs/examples/rate/text.vue +32 -32
  251. package/docs/examples/select/basic.vue +16 -16
  252. package/docs/examples/select/clearable.vue +22 -22
  253. package/docs/examples/select/disabled.vue +31 -31
  254. package/docs/examples/select/filterable.vue +24 -24
  255. package/docs/examples/select/group.vue +23 -23
  256. package/docs/examples/select/icon.vue +16 -16
  257. package/docs/examples/select/multiple.vue +18 -18
  258. package/docs/examples/select/size.vue +39 -39
  259. package/docs/examples/slider/basic.vue +42 -42
  260. package/docs/examples/slider/disabled.vue +17 -17
  261. package/docs/examples/slider/marks.vue +30 -30
  262. package/docs/examples/slider/size.vue +37 -37
  263. package/docs/examples/slider/tooltip.vue +36 -36
  264. package/docs/examples/slider/vertical.vue +26 -26
  265. package/docs/examples/slider-captcha/basic.vue +44 -44
  266. package/docs/examples/slider-captcha/custom.vue +48 -48
  267. package/docs/examples/switch/basic.vue +16 -16
  268. package/docs/examples/switch/disabled.vue +13 -13
  269. package/docs/examples/switch/loading.vue +13 -13
  270. package/docs/examples/switch/size.vue +15 -15
  271. package/docs/examples/switch/text.vue +13 -13
  272. package/docs/examples/table/actions.vue +116 -116
  273. package/docs/examples/table/add-row.vue +103 -103
  274. package/docs/examples/table/basic.vue +168 -168
  275. package/docs/examples/table/custom-layout.vue +115 -115
  276. package/docs/examples/table/editable.vue +263 -262
  277. package/docs/examples/table/field-selection.vue +87 -87
  278. package/docs/examples/table/frozen-column.vue +140 -140
  279. package/docs/examples/table/height-mode.vue +99 -99
  280. package/docs/examples/table/icon.vue +85 -85
  281. package/docs/examples/table/link.vue +66 -66
  282. package/docs/examples/table/multiple.vue +178 -178
  283. package/docs/examples/table/pagination.vue +151 -151
  284. package/docs/examples/table/single-selection.vue +64 -64
  285. package/docs/examples/table/sub-table-lazy.vue +97 -97
  286. package/docs/examples/table/sub-table.vue +103 -103
  287. package/docs/examples/table/tag.vue +43 -43
  288. package/docs/examples/table/tree-column.vue +119 -119
  289. package/docs/examples/table/tree-data.vue +141 -141
  290. package/docs/examples/table/tree-lazy.vue +80 -80
  291. package/docs/examples/table-panel/basic.vue +228 -228
  292. package/docs/examples/table-panel/batch-operations.vue +285 -285
  293. package/docs/examples/table-panel/filter.vue +219 -209
  294. package/docs/examples/table-panel/multiple-selection.vue +243 -243
  295. package/docs/examples/table-panel/pagination.vue +133 -133
  296. package/docs/examples/table-panel/sub-table-lazy.vue +118 -100
  297. package/docs/examples/tabs/basic.vue +98 -98
  298. package/docs/examples/title/basic.vue +80 -80
  299. package/docs/examples/tree/accordion.vue +46 -46
  300. package/docs/examples/tree/basic.vue +50 -50
  301. package/docs/examples/tree/buttons.vue +53 -53
  302. package/docs/examples/tree/checkable.vue +52 -52
  303. package/docs/examples/tree/custom-keys.vue +39 -39
  304. package/docs/examples/tree/default-expanded.vue +52 -52
  305. package/docs/examples/tree/draggable.vue +29 -29
  306. package/docs/examples/tree/expand-on-click.vue +39 -39
  307. package/docs/examples/tree/flat-data.vue +20 -20
  308. package/docs/examples/tree/icon.vue +40 -40
  309. package/docs/examples/tree/load-data.vue +37 -37
  310. package/docs/examples/tree/methods.vue +74 -74
  311. package/docs/examples/tree/theme.vue +33 -33
  312. package/docs/examples/upload/accept.vue +31 -31
  313. package/docs/examples/upload/basic.vue +12 -12
  314. package/docs/examples/upload/drag.vue +11 -11
  315. package/docs/examples/upload/image.vue +17 -17
  316. package/docs/examples/upload/limit.vue +20 -20
  317. package/docs/examples/upload/multiple.vue +17 -17
  318. package/docs/examples/upload/readonly.vue +17 -17
  319. package/docs/examples/utils/cipher.vue +160 -160
  320. package/docs/examples/utils/common.vue +153 -153
  321. package/docs/examples/utils/date.vue +56 -56
  322. package/docs/examples/utils/dom.vue +52 -52
  323. package/docs/examples/utils/is.vue +70 -70
  324. package/docs/examples/workflow/basic.vue +265 -265
  325. package/docs/examples/workflow-viewer/basic.vue +248 -248
  326. 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
+ 感谢所有为这个项目做出贡献的开发者!
@@ -145,6 +145,7 @@ declare const JBarcode: {
145
145
  height: number;
146
146
  width: number;
147
147
  rows: number;
148
+ format: string;
148
149
  columns: number;
149
150
  scaleX: number;
150
151
  scaleY: number;
@@ -172,7 +173,6 @@ declare const JBarcode: {
172
173
  guardwidth: number;
173
174
  eclevel: string | number;
174
175
  version: string | number;
175
- format: string;
176
176
  errorlevel: number;
177
177
  }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
178
178
  P: {};
@@ -327,6 +327,7 @@ declare const JBarcode: {
327
327
  height: number;
328
328
  width: number;
329
329
  rows: number;
330
+ format: string;
330
331
  columns: number;
331
332
  scaleX: number;
332
333
  scaleY: number;
@@ -354,7 +355,6 @@ declare const JBarcode: {
354
355
  guardwidth: number;
355
356
  eclevel: string | number;
356
357
  version: string | number;
357
- format: string;
358
358
  errorlevel: number;
359
359
  }>;
360
360
  __isFragment?: never;
@@ -506,6 +506,7 @@ declare const JBarcode: {
506
506
  height: number;
507
507
  width: number;
508
508
  rows: number;
509
+ format: string;
509
510
  columns: number;
510
511
  scaleX: number;
511
512
  scaleY: number;
@@ -533,7 +534,6 @@ declare const JBarcode: {
533
534
  guardwidth: number;
534
535
  eclevel: string | number;
535
536
  version: string | number;
536
- format: string;
537
537
  errorlevel: number;
538
538
  }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & {
539
539
  install: (app: import('vue').App) => void;
@@ -389,6 +389,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
389
389
  height: number;
390
390
  width: number;
391
391
  rows: number;
392
+ format: string;
392
393
  columns: number;
393
394
  scaleX: number;
394
395
  scaleY: number;
@@ -416,7 +417,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
416
417
  guardwidth: number;
417
418
  eclevel: string | number;
418
419
  version: string | number;
419
- format: string;
420
420
  errorlevel: number;
421
421
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
422
422
  export default _default;
@@ -0,0 +1,98 @@
1
+ declare const JDate: {
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('.').DateProps> & Readonly<{
3
+ onFocus?: ((e: FocusEvent) => any) | undefined;
4
+ onBlur?: ((e: FocusEvent) => any) | undefined;
5
+ "onUpdate:modelValue"?: ((val: string | number | Date | (string | number | Date)[]) => any) | undefined;
6
+ onChange?: ((val: string | number | Date | (string | number | Date)[]) => any) | undefined;
7
+ "onCalendar-change"?: ((val: [Date, Date | null]) => any) | undefined;
8
+ "onPanel-change"?: ((date: Date, mode: string, view: string) => any) | undefined;
9
+ "onVisible-change"?: ((visibility: boolean) => any) | undefined;
10
+ }>, {
11
+ ref: import('vue').Ref<any, any>;
12
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
13
+ focus: (e: FocusEvent) => any;
14
+ blur: (e: FocusEvent) => any;
15
+ "update:modelValue": (val: string | number | Date | (string | number | Date)[]) => any;
16
+ change: (val: string | number | Date | (string | number | Date)[]) => any;
17
+ "calendar-change": (val: [Date, Date | null]) => any;
18
+ "panel-change": (date: Date, mode: string, view: string) => any;
19
+ "visible-change": (visibility: boolean) => any;
20
+ }, import('vue').PublicProps, {
21
+ size: "large" | "default" | "small";
22
+ disabled: boolean;
23
+ placeholder: string;
24
+ clearable: boolean;
25
+ readonly: boolean;
26
+ selectType: "year" | "month" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange";
27
+ editable: boolean;
28
+ startPlaceholder: string;
29
+ endPlaceholder: string;
30
+ teleported: boolean;
31
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
32
+ dateRef: unknown;
33
+ }, any, import('vue').ComponentProvideOptions, {
34
+ P: {};
35
+ B: {};
36
+ D: {};
37
+ C: {};
38
+ M: {};
39
+ Defaults: {};
40
+ }, Readonly<import('.').DateProps> & Readonly<{
41
+ onFocus?: ((e: FocusEvent) => any) | undefined;
42
+ onBlur?: ((e: FocusEvent) => any) | undefined;
43
+ "onUpdate:modelValue"?: ((val: string | number | Date | (string | number | Date)[]) => any) | undefined;
44
+ onChange?: ((val: string | number | Date | (string | number | Date)[]) => any) | undefined;
45
+ "onCalendar-change"?: ((val: [Date, Date | null]) => any) | undefined;
46
+ "onPanel-change"?: ((date: Date, mode: string, view: string) => any) | undefined;
47
+ "onVisible-change"?: ((visibility: boolean) => any) | undefined;
48
+ }>, {
49
+ ref: import('vue').Ref<any, any>;
50
+ }, {}, {}, {}, {
51
+ size: "large" | "default" | "small";
52
+ disabled: boolean;
53
+ placeholder: string;
54
+ clearable: boolean;
55
+ readonly: boolean;
56
+ selectType: "year" | "month" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange";
57
+ editable: boolean;
58
+ startPlaceholder: string;
59
+ endPlaceholder: string;
60
+ teleported: boolean;
61
+ }>;
62
+ __isFragment?: never;
63
+ __isTeleport?: never;
64
+ __isSuspense?: never;
65
+ } & import('vue').ComponentOptionsBase<Readonly<import('.').DateProps> & Readonly<{
66
+ onFocus?: ((e: FocusEvent) => any) | undefined;
67
+ onBlur?: ((e: FocusEvent) => any) | undefined;
68
+ "onUpdate:modelValue"?: ((val: string | number | Date | (string | number | Date)[]) => any) | undefined;
69
+ onChange?: ((val: string | number | Date | (string | number | Date)[]) => any) | undefined;
70
+ "onCalendar-change"?: ((val: [Date, Date | null]) => any) | undefined;
71
+ "onPanel-change"?: ((date: Date, mode: string, view: string) => any) | undefined;
72
+ "onVisible-change"?: ((visibility: boolean) => any) | undefined;
73
+ }>, {
74
+ ref: import('vue').Ref<any, any>;
75
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
76
+ focus: (e: FocusEvent) => any;
77
+ blur: (e: FocusEvent) => any;
78
+ "update:modelValue": (val: string | number | Date | (string | number | Date)[]) => any;
79
+ change: (val: string | number | Date | (string | number | Date)[]) => any;
80
+ "calendar-change": (val: [Date, Date | null]) => any;
81
+ "panel-change": (date: Date, mode: string, view: string) => any;
82
+ "visible-change": (visibility: boolean) => any;
83
+ }, string, {
84
+ size: "large" | "default" | "small";
85
+ disabled: boolean;
86
+ placeholder: string;
87
+ clearable: boolean;
88
+ readonly: boolean;
89
+ selectType: "year" | "month" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange";
90
+ editable: boolean;
91
+ startPlaceholder: string;
92
+ endPlaceholder: string;
93
+ teleported: boolean;
94
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & {
95
+ install: (app: import('vue').App) => void;
96
+ };
97
+ export default JDate;
98
+ export * from './src/date.vue';
@@ -0,0 +1,78 @@
1
+ import { Component } from 'vue';
2
+ export interface DateProps {
3
+ /** 绑定值 */
4
+ modelValue?: string | number | Date | Array<string | number | Date>;
5
+ /** 显示类型 */
6
+ selectType?: 'year' | 'month' | 'date' | 'dates' | 'week' | 'datetime' | 'datetimerange' | 'daterange' | 'monthrange';
7
+ /** 是否只读 */
8
+ readonly?: boolean;
9
+ /** 是否禁用 */
10
+ disabled?: boolean;
11
+ /** 文本框可输入 */
12
+ editable?: boolean;
13
+ /** 是否显示清除按钮 */
14
+ clearable?: boolean;
15
+ /** 输入框尺寸 */
16
+ size?: 'large' | 'default' | 'small';
17
+ /** 非范围选择时的占位内容 */
18
+ placeholder?: string;
19
+ /** 范围选择时开始日期的占位内容 */
20
+ startPlaceholder?: string;
21
+ /** 范围选择时结束日期的占位内容 */
22
+ endPlaceholder?: string;
23
+ /** 显示在输入框中的格式 */
24
+ format?: string;
25
+ /** 选择范围时的分隔符 */
26
+ rangeSeparator?: string;
27
+ /** 可选,选择器打开时默认显示的时间 */
28
+ defaultValue?: Date | Array<Date>;
29
+ /** 范围选择时选中日期所使用的当日内具体时刻 */
30
+ defaultTime?: Date | Array<Date>;
31
+ /** 设置快捷选项,需要传入数组对象 */
32
+ shortcuts?: Array<{
33
+ text: string;
34
+ value: Date | Function;
35
+ }>;
36
+ /** 一个用来判断该日期是否被禁用的函数,接受一个 Date 对象作为参数。 应该返回一个 Boolean 值 */
37
+ disabledDate?: (date: Date) => boolean;
38
+ /** 是否将 date-picker 的下拉列表插入至 body 元素 */
39
+ teleported?: boolean;
40
+ /** 自定义头部图标 */
41
+ prefixIcon?: string | Component;
42
+ /** 自定义清空图标 */
43
+ clearIcon?: string | Component;
44
+ }
45
+ declare const _default: import('vue').DefineComponent<DateProps, {
46
+ /** 获取 el-date-picker 实例 */
47
+ ref: import('vue').Ref<any, any>;
48
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
49
+ focus: (e: FocusEvent) => any;
50
+ blur: (e: FocusEvent) => any;
51
+ "update:modelValue": (val: string | number | Date | (string | number | Date)[]) => any;
52
+ change: (val: string | number | Date | (string | number | Date)[]) => any;
53
+ "calendar-change": (val: [Date, Date | null]) => any;
54
+ "panel-change": (date: Date, mode: string, view: string) => any;
55
+ "visible-change": (visibility: boolean) => any;
56
+ }, string, import('vue').PublicProps, Readonly<DateProps> & Readonly<{
57
+ onFocus?: ((e: FocusEvent) => any) | undefined;
58
+ onBlur?: ((e: FocusEvent) => any) | undefined;
59
+ "onUpdate:modelValue"?: ((val: string | number | Date | (string | number | Date)[]) => any) | undefined;
60
+ onChange?: ((val: string | number | Date | (string | number | Date)[]) => any) | undefined;
61
+ "onCalendar-change"?: ((val: [Date, Date | null]) => any) | undefined;
62
+ "onPanel-change"?: ((date: Date, mode: string, view: string) => any) | undefined;
63
+ "onVisible-change"?: ((visibility: boolean) => any) | undefined;
64
+ }>, {
65
+ size: "large" | "default" | "small";
66
+ disabled: boolean;
67
+ placeholder: string;
68
+ clearable: boolean;
69
+ readonly: boolean;
70
+ selectType: "year" | "month" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange";
71
+ editable: boolean;
72
+ startPlaceholder: string;
73
+ endPlaceholder: string;
74
+ teleported: boolean;
75
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
76
+ dateRef: unknown;
77
+ }, any>;
78
+ export default _default;
@@ -2,6 +2,7 @@ import { App } from 'vue';
2
2
  import { default as JButton } from './button';
3
3
  import { default as JButtons } from './buttons';
4
4
  import { default as JInput } from './input';
5
+ import { default as JDate } from './date';
5
6
  import { default as JIcon } from './icon';
6
7
  import { default as JRadio } from './radio';
7
8
  import { default as JSelect } from './select';
@@ -53,8 +54,9 @@ import { default as JCollapse } from './collapse';
53
54
  import { default as JEditor } from './editor';
54
55
  import { default as JWorkflowViewer, JWorkflow } from './workflow-viewer';
55
56
  import { default as JInputCards } from './input-cards';
56
- export { JButton, JButtons, JInput, JIcon, JRadio, JSelect, JCascaderSelect, JCheckbox, JNumber, JAutoComplete, JLayout, JTable, JDialog, JDialogFull, JDrawer, JLayer, JDynamicLayer, JInputTag, JRate, JSlider, JUpload, JEcharts, JBarcode, JCodeMirror, JCount, JCountUp, JDataPanel, JDivider, JHpanel, JGuid, JInputButton, JInputCode, JInputColor, JTitle, JButtonSelect, JTree, JTreeSelect, JComp, JForm, JFormItem, JPage, JSliderCaptcha, JMenu, JTablePanel, JInputRows, JInputLayer, JLayerForm, JSwitch, JTabs, JCollapse, JEditor, JWorkflowViewer, JWorkflow, JPanel, JInputCards, };
57
+ export { JButton, JButtons, JInput, JDate, JIcon, JRadio, JSelect, JCascaderSelect, JCheckbox, JNumber, JAutoComplete, JLayout, JTable, JDialog, JDialogFull, JDrawer, JLayer, JDynamicLayer, JInputTag, JRate, JSlider, JUpload, JEcharts, JBarcode, JCodeMirror, JCount, JCountUp, JDataPanel, JDivider, JHpanel, JGuid, JInputButton, JInputCode, JInputColor, JTitle, JButtonSelect, JTree, JTreeSelect, JComp, JForm, JFormItem, JPage, JSliderCaptcha, JMenu, JTablePanel, JInputRows, JInputLayer, JLayerForm, JSwitch, JTabs, JCollapse, JEditor, JWorkflowViewer, JWorkflow, JPanel, JInputCards, };
57
58
  export * from '../core';
59
+ export type { DateProps } from './date/src/date.vue';
58
60
  export type { InputProps } from './input/src/input.vue';
59
61
  export type { SelectOption, SelectProps } from './select/src/select.vue';
60
62
  export type { SwitchProps } from './switch/src/switch.vue';
@@ -18,12 +18,12 @@ export declare const JSlider: {
18
18
  min: number;
19
19
  step: number;
20
20
  validateEvent: boolean;
21
+ range: boolean;
21
22
  placement: "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end";
22
23
  showInput: boolean;
23
24
  showInputControls: boolean;
24
25
  showStops: boolean;
25
26
  showTooltip: boolean;
26
- range: boolean;
27
27
  persistent: boolean;
28
28
  }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
29
29
  P: {};
@@ -46,12 +46,12 @@ export declare const JSlider: {
46
46
  min: number;
47
47
  step: number;
48
48
  validateEvent: boolean;
49
+ range: boolean;
49
50
  placement: "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end";
50
51
  showInput: boolean;
51
52
  showInputControls: boolean;
52
53
  showStops: boolean;
53
54
  showTooltip: boolean;
54
- range: boolean;
55
55
  persistent: boolean;
56
56
  }>;
57
57
  __isFragment?: never;
@@ -76,12 +76,12 @@ export declare const JSlider: {
76
76
  min: number;
77
77
  step: number;
78
78
  validateEvent: boolean;
79
+ range: boolean;
79
80
  placement: "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end";
80
81
  showInput: boolean;
81
82
  showInputControls: boolean;
82
83
  showStops: boolean;
83
84
  showTooltip: boolean;
84
- range: boolean;
85
85
  persistent: boolean;
86
86
  }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & {
87
87
  install: (app: import('vue').App) => void;
@@ -65,12 +65,12 @@ declare const _default: import('vue').DefineComponent<SliderProps, {}, {}, {}, {
65
65
  min: number;
66
66
  step: number;
67
67
  validateEvent: boolean;
68
+ range: boolean;
68
69
  placement: "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end";
69
70
  showInput: boolean;
70
71
  showInputControls: boolean;
71
72
  showStops: boolean;
72
73
  showTooltip: boolean;
73
- range: boolean;
74
74
  persistent: boolean;
75
75
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
76
76
  export default _default;
@@ -47,10 +47,10 @@ declare const JTabs: {
47
47
  edit: (targetName: string | number, action: "add" | "remove") => any;
48
48
  }, import('vue').PublicProps, {
49
49
  type: "" | "card" | "border-card";
50
+ editable: boolean;
50
51
  closable: boolean;
51
52
  stretch: boolean;
52
53
  addable: boolean;
53
- editable: boolean;
54
54
  tabPosition: "top" | "right" | "bottom" | "left";
55
55
  }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
56
56
  P: {};
@@ -84,10 +84,10 @@ declare const JTabs: {
84
84
  onEdit?: ((targetName: string | number, action: "add" | "remove") => any) | undefined;
85
85
  }>, {}, {}, {}, {}, {
86
86
  type: "" | "card" | "border-card";
87
+ editable: boolean;
87
88
  closable: boolean;
88
89
  stretch: boolean;
89
90
  addable: boolean;
90
- editable: boolean;
91
91
  tabPosition: "top" | "right" | "bottom" | "left";
92
92
  }>;
93
93
  __isFragment?: never;
@@ -141,10 +141,10 @@ declare const JTabs: {
141
141
  edit: (targetName: string | number, action: "add" | "remove") => any;
142
142
  }, string, {
143
143
  type: "" | "card" | "border-card";
144
+ editable: boolean;
144
145
  closable: boolean;
145
146
  stretch: boolean;
146
147
  addable: boolean;
147
- editable: boolean;
148
148
  tabPosition: "top" | "right" | "bottom" | "left";
149
149
  }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
150
150
  $slots: {