@a2simcode/ui 0.0.71 → 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 (317) 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/simcode-ui.es.js +370 -363
  6. package/dist/simcode-ui.umd.js +2 -2
  7. package/dist/stats.html +1 -1
  8. package/dist/ui.css +1 -1
  9. package/docs/components/autocomplete.md +89 -89
  10. package/docs/components/barcode.md +101 -101
  11. package/docs/components/button-select.md +24 -24
  12. package/docs/components/button.md +117 -117
  13. package/docs/components/buttons.md +119 -119
  14. package/docs/components/cascader-select.md +114 -114
  15. package/docs/components/checkbox.md +114 -114
  16. package/docs/components/code-mirror.md +85 -85
  17. package/docs/components/collapse.md +26 -26
  18. package/docs/components/comp.md +71 -71
  19. package/docs/components/count-up.md +24 -24
  20. package/docs/components/count.md +24 -24
  21. package/docs/components/data-panel.md +24 -24
  22. package/docs/components/date.md +76 -76
  23. package/docs/components/dialog-full.md +112 -112
  24. package/docs/components/dialog.md +127 -127
  25. package/docs/components/divider.md +24 -24
  26. package/docs/components/drawer.md +127 -127
  27. package/docs/components/dynamic-layer.md +118 -118
  28. package/docs/components/echarts.md +72 -72
  29. package/docs/components/editor.md +24 -24
  30. package/docs/components/form.md +27 -27
  31. package/docs/components/guid.md +39 -39
  32. package/docs/components/hpanel.md +24 -24
  33. package/docs/components/icon.md +56 -56
  34. package/docs/components/input-button.md +24 -24
  35. package/docs/components/input-code.md +24 -24
  36. package/docs/components/input-color.md +114 -114
  37. package/docs/components/input-layer.md +26 -26
  38. package/docs/components/input-rows.md +370 -370
  39. package/docs/components/input-tag.md +50 -50
  40. package/docs/components/input.md +129 -129
  41. package/docs/components/layer-form.md +61 -61
  42. package/docs/components/layer.md +127 -127
  43. package/docs/components/layout.md +132 -132
  44. package/docs/components/map.md +24 -24
  45. package/docs/components/menu.md +121 -121
  46. package/docs/components/meta/buttons.ts +56 -56
  47. package/docs/components/meta/date.ts +275 -275
  48. package/docs/components/meta/echarts.ts +64 -64
  49. package/docs/components/meta/form.ts +160 -160
  50. package/docs/components/meta/input-cards.ts +112 -112
  51. package/docs/components/meta/input-color.ts +243 -243
  52. package/docs/components/meta/input-rows.ts +113 -113
  53. package/docs/components/meta/layer-form.ts +56 -56
  54. package/docs/components/meta/map.ts +68 -68
  55. package/docs/components/meta/panel.ts +152 -152
  56. package/docs/components/meta/slider.ts +270 -270
  57. package/docs/components/meta/table.ts +363 -363
  58. package/docs/components/meta/tabs.ts +136 -136
  59. package/docs/components/meta/tree-select.ts +199 -199
  60. package/docs/components/meta/workflow-viewer.ts +55 -55
  61. package/docs/components/meta/workflow.ts +113 -113
  62. package/docs/components/number.md +124 -124
  63. package/docs/components/page.md +57 -57
  64. package/docs/components/panel.md +37 -37
  65. package/docs/components/radio.md +87 -87
  66. package/docs/components/rate.md +71 -71
  67. package/docs/components/select.md +133 -133
  68. package/docs/components/slider-captcha.md +41 -41
  69. package/docs/components/slider.md +101 -101
  70. package/docs/components/switch.md +90 -90
  71. package/docs/components/table-panel.md +218 -218
  72. package/docs/components/table.md +319 -319
  73. package/docs/components/tabs.md +26 -26
  74. package/docs/components/title.md +24 -24
  75. package/docs/components/tree.md +207 -207
  76. package/docs/components/upload.md +117 -117
  77. package/docs/components/workflow-viewer.md +21 -21
  78. package/docs/components/workflow.md +21 -21
  79. package/docs/examples/autocomplete/advanced.vue +35 -35
  80. package/docs/examples/autocomplete/basic.vue +32 -32
  81. package/docs/examples/autocomplete/clearable.vue +33 -33
  82. package/docs/examples/autocomplete/custom-template.vue +49 -49
  83. package/docs/examples/autocomplete/disabled.vue +33 -33
  84. package/docs/examples/autocomplete/icon.vue +37 -37
  85. package/docs/examples/barcode/all-types.vue +380 -380
  86. package/docs/examples/barcode/basic.vue +14 -14
  87. package/docs/examples/barcode/props-appearance.vue +243 -243
  88. package/docs/examples/barcode/props-geometry.vue +143 -143
  89. package/docs/examples/barcode/props-logic.vue +216 -216
  90. package/docs/examples/barcode/props-symbology.vue +199 -199
  91. package/docs/examples/barcode/props-text.vue +268 -268
  92. package/docs/examples/button/basic.vue +7 -7
  93. package/docs/examples/button/danger-ghost.vue +17 -17
  94. package/docs/examples/button/disabled.vue +10 -10
  95. package/docs/examples/button/loading.vue +6 -6
  96. package/docs/examples/button/shape.vue +7 -7
  97. package/docs/examples/button/size.vue +14 -14
  98. package/docs/examples/button/type.vue +9 -9
  99. package/docs/examples/button-select/basic.vue +19 -19
  100. package/docs/examples/buttons/basic.vue +45 -45
  101. package/docs/examples/buttons/disabled.vue +36 -36
  102. package/docs/examples/buttons/dropdown.vue +63 -63
  103. package/docs/examples/buttons/group.vue +52 -52
  104. package/docs/examples/buttons/link.vue +47 -47
  105. package/docs/examples/buttons/popup.vue +39 -39
  106. package/docs/examples/buttons/size.vue +45 -45
  107. package/docs/examples/cascader-select/basic.vue +28 -28
  108. package/docs/examples/cascader-select/clearable.vue +34 -34
  109. package/docs/examples/cascader-select/disabled.vue +43 -43
  110. package/docs/examples/cascader-select/filterable.vue +37 -37
  111. package/docs/examples/cascader-select/methods.vue +84 -84
  112. package/docs/examples/cascader-select/multiple.vue +38 -38
  113. package/docs/examples/cascader-select/slot.vue +45 -45
  114. package/docs/examples/checkbox/basic.vue +18 -18
  115. package/docs/examples/checkbox/button.vue +19 -19
  116. package/docs/examples/checkbox/color.vue +25 -25
  117. package/docs/examples/checkbox/disabled.vue +17 -17
  118. package/docs/examples/checkbox/min-max.vue +20 -20
  119. package/docs/examples/checkbox/mixed.vue +56 -56
  120. package/docs/examples/checkbox/size.vue +28 -28
  121. package/docs/examples/code-mirror/basic.vue +11 -11
  122. package/docs/examples/code-mirror/events.vue +42 -42
  123. package/docs/examples/code-mirror/height.vue +25 -25
  124. package/docs/examples/code-mirror/mode.vue +33 -33
  125. package/docs/examples/code-mirror/readonly.vue +14 -14
  126. package/docs/examples/collapse/basic.vue +82 -82
  127. package/docs/examples/comp/basic.vue +7 -7
  128. package/docs/examples/comp/collapse.vue +38 -38
  129. package/docs/examples/comp/tabs.vue +38 -38
  130. package/docs/examples/count/basic.vue +54 -54
  131. package/docs/examples/count-up/basic.vue +89 -89
  132. package/docs/examples/data-panel/basic.vue +110 -110
  133. package/docs/examples/date/basic.vue +73 -73
  134. package/docs/examples/date/default-value.vue +59 -59
  135. package/docs/examples/date/format.vue +75 -75
  136. package/docs/examples/date/range.vue +66 -66
  137. package/docs/examples/date/types.vue +79 -79
  138. package/docs/examples/dialog/basic.vue +36 -36
  139. package/docs/examples/dialog/custom-buttons.vue +44 -44
  140. package/docs/examples/dialog/fullscreen.vue +23 -23
  141. package/docs/examples/dialog/no-mask.vue +17 -17
  142. package/docs/examples/dialog/size.vue +44 -44
  143. package/docs/examples/dialog/steps.vue +57 -57
  144. package/docs/examples/dialog-full/basic.vue +29 -29
  145. package/docs/examples/dialog-full/custom-buttons.vue +45 -45
  146. package/docs/examples/dialog-full/no-buttons.vue +18 -18
  147. package/docs/examples/dialog-full/no-header.vue +27 -27
  148. package/docs/examples/dialog-full/steps.vue +71 -71
  149. package/docs/examples/divider/basic.vue +52 -52
  150. package/docs/examples/drawer/basic.vue +35 -35
  151. package/docs/examples/drawer/custom-buttons.vue +34 -34
  152. package/docs/examples/drawer/direction.vue +47 -47
  153. package/docs/examples/drawer/mask.vue +36 -36
  154. package/docs/examples/drawer/no-buttons.vue +20 -20
  155. package/docs/examples/drawer/size.vue +28 -28
  156. package/docs/examples/dynamic-layer/basic.vue +33 -33
  157. package/docs/examples/dynamic-layer/custom-buttons.vue +43 -43
  158. package/docs/examples/dynamic-layer/form.vue +73 -73
  159. package/docs/examples/dynamic-layer/steps.vue +52 -52
  160. package/docs/examples/dynamic-layer/types.vue +40 -40
  161. package/docs/examples/echarts/basic.vue +31 -31
  162. package/docs/examples/echarts/dynamic.vue +43 -43
  163. package/docs/examples/echarts/line.vue +46 -46
  164. package/docs/examples/echarts/pie.vue +44 -44
  165. package/docs/examples/editor/basic.vue +15 -15
  166. package/docs/examples/form/basic.vue +450 -450
  167. package/docs/examples/guid/basic.vue +10 -10
  168. package/docs/examples/guid/size.vue +13 -13
  169. package/docs/examples/hpanel/basic.vue +79 -79
  170. package/docs/examples/icon/basic.vue +9 -9
  171. package/docs/examples/icon/rotate-flip.vue +9 -9
  172. package/docs/examples/icon/size.vue +7 -7
  173. package/docs/examples/input/basic.vue +10 -10
  174. package/docs/examples/input/clearable.vue +12 -12
  175. package/docs/examples/input/disabled.vue +6 -6
  176. package/docs/examples/input/icon.vue +23 -23
  177. package/docs/examples/input/password.vue +18 -18
  178. package/docs/examples/input/size.vue +13 -13
  179. package/docs/examples/input/textarea.vue +25 -25
  180. package/docs/examples/input/word-limit.vue +28 -28
  181. package/docs/examples/input-button/basic.vue +33 -33
  182. package/docs/examples/input-code/basic.vue +29 -29
  183. package/docs/examples/input-color/basic.vue +10 -10
  184. package/docs/examples/input-color/disabled.vue +13 -13
  185. package/docs/examples/input-color/format.vue +17 -17
  186. package/docs/examples/input-color/no-alpha.vue +13 -13
  187. package/docs/examples/input-color/only-button.vue +15 -15
  188. package/docs/examples/input-color/predefine.vue +31 -31
  189. package/docs/examples/input-color/size.vue +15 -15
  190. package/docs/examples/input-layer/basic.vue +69 -69
  191. package/docs/examples/input-rows/basic.vue +73 -73
  192. package/docs/examples/input-rows/drag.vue +48 -48
  193. package/docs/examples/input-rows/layer-form.vue +85 -85
  194. package/docs/examples/input-rows/nested.vue +91 -91
  195. package/docs/examples/input-tag/basic.vue +27 -27
  196. package/docs/examples/input-tag/colors.vue +23 -23
  197. package/docs/examples/input-tag/readonly.vue +17 -17
  198. package/docs/examples/layer/basic.vue +43 -43
  199. package/docs/examples/layer/custom-buttons.vue +61 -61
  200. package/docs/examples/layer/drawer.vue +37 -37
  201. package/docs/examples/layer/full.vue +38 -38
  202. package/docs/examples/layer/modal.vue +34 -34
  203. package/docs/examples/layer/steps.vue +46 -46
  204. package/docs/examples/layer-form/basic.vue +76 -76
  205. package/docs/examples/layer-form/config.vue +82 -82
  206. package/docs/examples/layer-form/size.vue +72 -72
  207. package/docs/examples/layout/basic.vue +36 -36
  208. package/docs/examples/layout/custom-size.vue +50 -50
  209. package/docs/examples/layout/disable-move.vue +37 -37
  210. package/docs/examples/layout/hide-mid-when-narrow.vue +96 -96
  211. package/docs/examples/layout/min-size.vue +73 -73
  212. package/docs/examples/layout/percent-size.vue +80 -80
  213. package/docs/examples/layout/simple.vue +22 -22
  214. package/docs/examples/layout/top-side.vue +34 -34
  215. package/docs/examples/map/basic.vue +22 -22
  216. package/docs/examples/menu/basic.vue +58 -58
  217. package/docs/examples/menu/collapsed.vue +49 -49
  218. package/docs/examples/menu/horizontal.vue +44 -44
  219. package/docs/examples/menu/selection-test.vue +104 -104
  220. package/docs/examples/menu/theme.vue +46 -46
  221. package/docs/examples/menu/vertical.vue +46 -46
  222. package/docs/examples/number/advanced.vue +143 -143
  223. package/docs/examples/number/basic.vue +63 -63
  224. package/docs/examples/number/disabled.vue +49 -49
  225. package/docs/examples/number/size.vue +42 -42
  226. package/docs/examples/number/slots.vue +123 -123
  227. package/docs/examples/number/step-strictly.vue +41 -41
  228. package/docs/examples/number/step.vue +47 -47
  229. package/docs/examples/page/basic.vue +41 -41
  230. package/docs/examples/page/init.vue +87 -87
  231. package/docs/examples/page/log.vue +453 -439
  232. package/docs/examples/panel/tool-buttons.vue +18 -18
  233. package/docs/examples/radio/basic.vue +17 -17
  234. package/docs/examples/radio/button.vue +17 -17
  235. package/docs/examples/radio/color.vue +18 -18
  236. package/docs/examples/radio/disabled.vue +17 -17
  237. package/docs/examples/radio/size.vue +29 -29
  238. package/docs/examples/rate/basic.vue +24 -24
  239. package/docs/examples/rate/half.vue +24 -24
  240. package/docs/examples/rate/readonly.vue +11 -11
  241. package/docs/examples/rate/text.vue +32 -32
  242. package/docs/examples/select/basic.vue +16 -16
  243. package/docs/examples/select/clearable.vue +22 -22
  244. package/docs/examples/select/disabled.vue +31 -31
  245. package/docs/examples/select/filterable.vue +24 -24
  246. package/docs/examples/select/group.vue +23 -23
  247. package/docs/examples/select/icon.vue +16 -16
  248. package/docs/examples/select/multiple.vue +18 -18
  249. package/docs/examples/select/size.vue +39 -39
  250. package/docs/examples/slider/basic.vue +42 -42
  251. package/docs/examples/slider/disabled.vue +17 -17
  252. package/docs/examples/slider/marks.vue +30 -30
  253. package/docs/examples/slider/size.vue +37 -37
  254. package/docs/examples/slider/tooltip.vue +36 -36
  255. package/docs/examples/slider/vertical.vue +26 -26
  256. package/docs/examples/slider-captcha/basic.vue +44 -44
  257. package/docs/examples/slider-captcha/custom.vue +48 -48
  258. package/docs/examples/switch/basic.vue +16 -16
  259. package/docs/examples/switch/disabled.vue +13 -13
  260. package/docs/examples/switch/loading.vue +13 -13
  261. package/docs/examples/switch/size.vue +15 -15
  262. package/docs/examples/switch/text.vue +13 -13
  263. package/docs/examples/table/actions.vue +116 -116
  264. package/docs/examples/table/add-row.vue +103 -103
  265. package/docs/examples/table/basic.vue +168 -168
  266. package/docs/examples/table/custom-layout.vue +115 -115
  267. package/docs/examples/table/editable.vue +263 -263
  268. package/docs/examples/table/field-selection.vue +87 -87
  269. package/docs/examples/table/frozen-column.vue +140 -140
  270. package/docs/examples/table/height-mode.vue +99 -99
  271. package/docs/examples/table/icon.vue +85 -85
  272. package/docs/examples/table/link.vue +66 -66
  273. package/docs/examples/table/multiple.vue +178 -178
  274. package/docs/examples/table/pagination.vue +151 -151
  275. package/docs/examples/table/single-selection.vue +64 -64
  276. package/docs/examples/table/sub-table-lazy.vue +97 -97
  277. package/docs/examples/table/sub-table.vue +103 -103
  278. package/docs/examples/table/tag.vue +43 -43
  279. package/docs/examples/table/tree-column.vue +119 -119
  280. package/docs/examples/table/tree-data.vue +141 -141
  281. package/docs/examples/table/tree-lazy.vue +80 -80
  282. package/docs/examples/table-panel/basic.vue +228 -228
  283. package/docs/examples/table-panel/batch-operations.vue +285 -285
  284. package/docs/examples/table-panel/filter.vue +219 -219
  285. package/docs/examples/table-panel/multiple-selection.vue +243 -243
  286. package/docs/examples/table-panel/pagination.vue +133 -133
  287. package/docs/examples/table-panel/sub-table-lazy.vue +118 -118
  288. package/docs/examples/tabs/basic.vue +98 -98
  289. package/docs/examples/title/basic.vue +80 -80
  290. package/docs/examples/tree/accordion.vue +46 -46
  291. package/docs/examples/tree/basic.vue +50 -50
  292. package/docs/examples/tree/buttons.vue +53 -53
  293. package/docs/examples/tree/checkable.vue +52 -52
  294. package/docs/examples/tree/custom-keys.vue +39 -39
  295. package/docs/examples/tree/default-expanded.vue +52 -52
  296. package/docs/examples/tree/draggable.vue +29 -29
  297. package/docs/examples/tree/expand-on-click.vue +39 -39
  298. package/docs/examples/tree/flat-data.vue +20 -20
  299. package/docs/examples/tree/icon.vue +40 -40
  300. package/docs/examples/tree/load-data.vue +37 -37
  301. package/docs/examples/tree/methods.vue +74 -74
  302. package/docs/examples/tree/theme.vue +33 -33
  303. package/docs/examples/upload/accept.vue +31 -31
  304. package/docs/examples/upload/basic.vue +12 -12
  305. package/docs/examples/upload/drag.vue +11 -11
  306. package/docs/examples/upload/image.vue +17 -17
  307. package/docs/examples/upload/limit.vue +20 -20
  308. package/docs/examples/upload/multiple.vue +17 -17
  309. package/docs/examples/upload/readonly.vue +17 -17
  310. package/docs/examples/utils/cipher.vue +160 -160
  311. package/docs/examples/utils/common.vue +153 -153
  312. package/docs/examples/utils/date.vue +56 -56
  313. package/docs/examples/utils/dom.vue +52 -52
  314. package/docs/examples/utils/is.vue +70 -70
  315. package/docs/examples/workflow/basic.vue +265 -265
  316. package/docs/examples/workflow-viewer/basic.vue +248 -248
  317. package/package.json +23 -23
@@ -1,23 +1,23 @@
1
- <template>
2
- <j-select
3
- v-model="value"
4
- :options="options"
5
- is-group
6
- group-key="group"
7
- placeholder="分组选择"
8
- style="width: 300px"
9
- />
10
- <p v-if="value" style="margin-top: 12px; color: #606266">选中的值: {{ value }}</p>
11
- </template>
12
-
13
- <script setup lang="ts">
14
- import { ref } from 'vue'
15
-
16
- const value = ref('')
17
- const options = [
18
- { label: '选项1', value: '1', group: '分组1' },
19
- { label: '选项2', value: '2', group: '分组1' },
20
- { label: '选项3', value: '3', group: '分组2' },
21
- { label: '选项4', value: '4', group: '分组2' },
22
- ]
23
- </script>
1
+ <template>
2
+ <j-select
3
+ v-model="value"
4
+ :options="options"
5
+ is-group
6
+ group-key="group"
7
+ placeholder="分组选择"
8
+ style="width: 300px"
9
+ />
10
+ <p v-if="value" style="margin-top: 12px; color: #606266">选中的值: {{ value }}</p>
11
+ </template>
12
+
13
+ <script setup lang="ts">
14
+ import { ref } from 'vue'
15
+
16
+ const value = ref('')
17
+ const options = [
18
+ { label: '选项1', value: '1', group: '分组1' },
19
+ { label: '选项2', value: '2', group: '分组1' },
20
+ { label: '选项3', value: '3', group: '分组2' },
21
+ { label: '选项4', value: '4', group: '分组2' },
22
+ ]
23
+ </script>
@@ -1,16 +1,16 @@
1
- <template>
2
- <j-select v-model="value" :options="options" placeholder="带图标选择" style="width: 300px" />
3
- <p v-if="value" style="margin-top: 12px; color: #606266">选中的值: {{ value }}</p>
4
- </template>
5
-
6
- <script setup lang="ts">
7
- import { ref } from 'vue'
8
-
9
- const value = ref('')
10
- const options = [
11
- { label: '选项1', value: '1', icon: 'mdi:home' },
12
- { label: '选项2', value: '2', icon: 'mdi:account' },
13
- { label: '选项3', value: '3', icon: 'mdi:settings' },
14
- { label: '选项4', value: '4', icon: 'mdi:email' },
15
- ]
16
- </script>
1
+ <template>
2
+ <j-select v-model="value" :options="options" placeholder="带图标选择" style="width: 300px" />
3
+ <p v-if="value" style="margin-top: 12px; color: #606266">选中的值: {{ value }}</p>
4
+ </template>
5
+
6
+ <script setup lang="ts">
7
+ import { ref } from 'vue'
8
+
9
+ const value = ref('')
10
+ const options = [
11
+ { label: '选项1', value: '1', icon: 'mdi:home' },
12
+ { label: '选项2', value: '2', icon: 'mdi:account' },
13
+ { label: '选项3', value: '3', icon: 'mdi:settings' },
14
+ { label: '选项4', value: '4', icon: 'mdi:email' },
15
+ ]
16
+ </script>
@@ -1,18 +1,18 @@
1
- <template>
2
- <j-select v-model="value" :options="options" multiple placeholder="多选" style="width: 300px" />
3
- <p v-if="value && value.length > 0" style="margin-top: 12px; color: #606266">
4
- 选中的值: {{ value }}
5
- </p>
6
- </template>
7
-
8
- <script setup lang="ts">
9
- import { ref } from 'vue'
10
-
11
- const value = ref<string>('')
12
- const options = [
13
- { label: '选项1', value: '1' },
14
- { label: '选项2', value: '2' },
15
- { label: '选项3', value: '3' },
16
- { label: '选项4', value: '4' },
17
- ]
18
- </script>
1
+ <template>
2
+ <j-select v-model="value" :options="options" multiple placeholder="多选" style="width: 300px" />
3
+ <p v-if="value && value.length > 0" style="margin-top: 12px; color: #606266">
4
+ 选中的值: {{ value }}
5
+ </p>
6
+ </template>
7
+
8
+ <script setup lang="ts">
9
+ import { ref } from 'vue'
10
+
11
+ const value = ref<string>('')
12
+ const options = [
13
+ { label: '选项1', value: '1' },
14
+ { label: '选项2', value: '2' },
15
+ { label: '选项3', value: '3' },
16
+ { label: '选项4', value: '4' },
17
+ ]
18
+ </script>
@@ -1,39 +1,39 @@
1
- <template>
2
- <div style="display: flex; flex-direction: column; gap: 16px">
3
- <j-select
4
- v-model="value1"
5
- :options="options"
6
- size="large"
7
- placeholder="大尺寸"
8
- style="width: 300px"
9
- />
10
- <j-select
11
- v-model="value2"
12
- :options="options"
13
- size="default"
14
- placeholder="默认尺寸"
15
- style="width: 300px"
16
- />
17
- <j-select
18
- v-model="value3"
19
- :options="options"
20
- size="small"
21
- placeholder="小尺寸"
22
- style="width: 300px"
23
- />
24
- </div>
25
- </template>
26
-
27
- <script setup lang="ts">
28
- import { ref } from 'vue'
29
-
30
- const value1 = ref('')
31
- const value2 = ref('')
32
- const value3 = ref('')
33
- const options = [
34
- { label: '选项1', value: '1' },
35
- { label: '选项2', value: '2' },
36
- { label: '选项3', value: '3' },
37
- { label: '选项4', value: '4' },
38
- ]
39
- </script>
1
+ <template>
2
+ <div style="display: flex; flex-direction: column; gap: 16px">
3
+ <j-select
4
+ v-model="value1"
5
+ :options="options"
6
+ size="large"
7
+ placeholder="大尺寸"
8
+ style="width: 300px"
9
+ />
10
+ <j-select
11
+ v-model="value2"
12
+ :options="options"
13
+ size="default"
14
+ placeholder="默认尺寸"
15
+ style="width: 300px"
16
+ />
17
+ <j-select
18
+ v-model="value3"
19
+ :options="options"
20
+ size="small"
21
+ placeholder="小尺寸"
22
+ style="width: 300px"
23
+ />
24
+ </div>
25
+ </template>
26
+
27
+ <script setup lang="ts">
28
+ import { ref } from 'vue'
29
+
30
+ const value1 = ref('')
31
+ const value2 = ref('')
32
+ const value3 = ref('')
33
+ const options = [
34
+ { label: '选项1', value: '1' },
35
+ { label: '选项2', value: '2' },
36
+ { label: '选项3', value: '3' },
37
+ { label: '选项4', value: '4' },
38
+ ]
39
+ </script>
@@ -1,42 +1,42 @@
1
- <template>
2
- <div class="slider-demo">
3
- <div class="demo-item">
4
- <p>Basic usage</p>
5
- <j-slider v-model="value1" />
6
- </div>
7
- <div class="demo-item">
8
- <p>Discrete values</p>
9
- <j-slider v-model="value2" :step="10" show-stops />
10
- </div>
11
- <div class="demo-item">
12
- <p>With input box</p>
13
- <j-slider v-model="value3" show-input />
14
- </div>
15
- <div class="demo-item">
16
- <p>Range selection</p>
17
- <j-slider v-model="value4" range :max="50" />
18
- </div>
19
- </div>
20
- </template>
21
-
22
- <script setup lang="ts">
23
- import { ref } from 'vue'
24
-
25
- const value1 = ref(38)
26
- const value2 = ref(0)
27
- const value3 = ref(0)
28
- const value4 = ref([4, 15])
29
- </script>
30
-
31
- <style scoped>
32
- .slider-demo {
33
- display: flex;
34
- flex-direction: column;
35
- gap: 24px;
36
- }
37
- .demo-item p {
38
- margin-bottom: 8px;
39
- font-size: 14px;
40
- color: #666;
41
- }
42
- </style>
1
+ <template>
2
+ <div class="slider-demo">
3
+ <div class="demo-item">
4
+ <p>Basic usage</p>
5
+ <j-slider v-model="value1" />
6
+ </div>
7
+ <div class="demo-item">
8
+ <p>Discrete values</p>
9
+ <j-slider v-model="value2" :step="10" show-stops />
10
+ </div>
11
+ <div class="demo-item">
12
+ <p>With input box</p>
13
+ <j-slider v-model="value3" show-input />
14
+ </div>
15
+ <div class="demo-item">
16
+ <p>Range selection</p>
17
+ <j-slider v-model="value4" range :max="50" />
18
+ </div>
19
+ </div>
20
+ </template>
21
+
22
+ <script setup lang="ts">
23
+ import { ref } from 'vue'
24
+
25
+ const value1 = ref(38)
26
+ const value2 = ref(0)
27
+ const value3 = ref(0)
28
+ const value4 = ref([4, 15])
29
+ </script>
30
+
31
+ <style scoped>
32
+ .slider-demo {
33
+ display: flex;
34
+ flex-direction: column;
35
+ gap: 24px;
36
+ }
37
+ .demo-item p {
38
+ margin-bottom: 8px;
39
+ font-size: 14px;
40
+ color: #666;
41
+ }
42
+ </style>
@@ -1,17 +1,17 @@
1
- <template>
2
- <div class="slider-demo">
3
- <j-slider v-model="value" readonly />
4
- </div>
5
- </template>
6
-
7
- <script setup lang="ts">
8
- import { ref } from 'vue'
9
-
10
- const value = ref(50)
11
- </script>
12
-
13
- <style scoped>
14
- .slider-demo {
15
- padding: 20px 0;
16
- }
17
- </style>
1
+ <template>
2
+ <div class="slider-demo">
3
+ <j-slider v-model="value" readonly />
4
+ </div>
5
+ </template>
6
+
7
+ <script setup lang="ts">
8
+ import { ref } from 'vue'
9
+
10
+ const value = ref(50)
11
+ </script>
12
+
13
+ <style scoped>
14
+ .slider-demo {
15
+ padding: 20px 0;
16
+ }
17
+ </style>
@@ -1,30 +1,30 @@
1
- <template>
2
- <div class="slider-demo">
3
- <j-slider v-model="value" :marks="marks" :step="10" />
4
- </div>
5
- </template>
6
-
7
- <script setup lang="ts">
8
- import { ref } from 'vue'
9
-
10
- const value = ref(30)
11
- const marks = {
12
- 0: '0°C',
13
- 20: '20°C',
14
- 40: '40°C',
15
- 60: '60°C',
16
- 80: '80°C',
17
- 100: {
18
- style: {
19
- color: '#f50',
20
- },
21
- label: '100°C',
22
- },
23
- }
24
- </script>
25
-
26
- <style scoped>
27
- .slider-demo {
28
- padding: 20px 0;
29
- }
30
- </style>
1
+ <template>
2
+ <div class="slider-demo">
3
+ <j-slider v-model="value" :marks="marks" :step="10" />
4
+ </div>
5
+ </template>
6
+
7
+ <script setup lang="ts">
8
+ import { ref } from 'vue'
9
+
10
+ const value = ref(30)
11
+ const marks = {
12
+ 0: '0°C',
13
+ 20: '20°C',
14
+ 40: '40°C',
15
+ 60: '60°C',
16
+ 80: '80°C',
17
+ 100: {
18
+ style: {
19
+ color: '#f50',
20
+ },
21
+ label: '100°C',
22
+ },
23
+ }
24
+ </script>
25
+
26
+ <style scoped>
27
+ .slider-demo {
28
+ padding: 20px 0;
29
+ }
30
+ </style>
@@ -1,37 +1,37 @@
1
- <template>
2
- <div class="slider-demo">
3
- <div class="demo-item">
4
- <p>Large</p>
5
- <j-slider v-model="value1" size="large" show-input />
6
- </div>
7
- <div class="demo-item">
8
- <p>Default</p>
9
- <j-slider v-model="value2" show-input />
10
- </div>
11
- <div class="demo-item">
12
- <p>Small</p>
13
- <j-slider v-model="value3" size="small" show-input />
14
- </div>
15
- </div>
16
- </template>
17
-
18
- <script setup lang="ts">
19
- import { ref } from 'vue'
20
-
21
- const value1 = ref(50)
22
- const value2 = ref(50)
23
- const value3 = ref(50)
24
- </script>
25
-
26
- <style scoped>
27
- .slider-demo {
28
- display: flex;
29
- flex-direction: column;
30
- gap: 24px;
31
- }
32
- .demo-item p {
33
- margin-bottom: 8px;
34
- font-size: 14px;
35
- color: #666;
36
- }
37
- </style>
1
+ <template>
2
+ <div class="slider-demo">
3
+ <div class="demo-item">
4
+ <p>Large</p>
5
+ <j-slider v-model="value1" size="large" show-input />
6
+ </div>
7
+ <div class="demo-item">
8
+ <p>Default</p>
9
+ <j-slider v-model="value2" show-input />
10
+ </div>
11
+ <div class="demo-item">
12
+ <p>Small</p>
13
+ <j-slider v-model="value3" size="small" show-input />
14
+ </div>
15
+ </div>
16
+ </template>
17
+
18
+ <script setup lang="ts">
19
+ import { ref } from 'vue'
20
+
21
+ const value1 = ref(50)
22
+ const value2 = ref(50)
23
+ const value3 = ref(50)
24
+ </script>
25
+
26
+ <style scoped>
27
+ .slider-demo {
28
+ display: flex;
29
+ flex-direction: column;
30
+ gap: 24px;
31
+ }
32
+ .demo-item p {
33
+ margin-bottom: 8px;
34
+ font-size: 14px;
35
+ color: #666;
36
+ }
37
+ </style>
@@ -1,36 +1,36 @@
1
- <template>
2
- <div class="slider-demo">
3
- <div class="demo-item">
4
- <p>自定义提示</p>
5
- <j-slider v-model="value1" :format-tooltip="formatTooltip" />
6
- </div>
7
- <div class="demo-item">
8
- <p>隐藏提示</p>
9
- <j-slider v-model="value2" :show-tooltip="false" />
10
- </div>
11
- </div>
12
- </template>
13
-
14
- <script setup lang="ts">
15
- import { ref } from 'vue'
16
-
17
- const value1 = ref(48)
18
- const value2 = ref(60)
19
-
20
- const formatTooltip = (val: number) => {
21
- return `${val}%`
22
- }
23
- </script>
24
-
25
- <style scoped>
26
- .slider-demo {
27
- display: flex;
28
- flex-direction: column;
29
- gap: 24px;
30
- }
31
- .demo-item p {
32
- margin-bottom: 8px;
33
- font-size: 14px;
34
- color: #666;
35
- }
36
- </style>
1
+ <template>
2
+ <div class="slider-demo">
3
+ <div class="demo-item">
4
+ <p>自定义提示</p>
5
+ <j-slider v-model="value1" :format-tooltip="formatTooltip" />
6
+ </div>
7
+ <div class="demo-item">
8
+ <p>隐藏提示</p>
9
+ <j-slider v-model="value2" :show-tooltip="false" />
10
+ </div>
11
+ </div>
12
+ </template>
13
+
14
+ <script setup lang="ts">
15
+ import { ref } from 'vue'
16
+
17
+ const value1 = ref(48)
18
+ const value2 = ref(60)
19
+
20
+ const formatTooltip = (val: number) => {
21
+ return `${val}%`
22
+ }
23
+ </script>
24
+
25
+ <style scoped>
26
+ .slider-demo {
27
+ display: flex;
28
+ flex-direction: column;
29
+ gap: 24px;
30
+ }
31
+ .demo-item p {
32
+ margin-bottom: 8px;
33
+ font-size: 14px;
34
+ color: #666;
35
+ }
36
+ </style>
@@ -1,26 +1,26 @@
1
- <template>
2
- <div class="slider-demo">
3
- <div class="demo-vertical">
4
- <j-slider v-model="value1" vertical height="200px" />
5
- <j-slider v-model="value2" vertical height="200px" range />
6
- </div>
7
- </div>
8
- </template>
9
-
10
- <script setup lang="ts">
11
- import { ref } from 'vue'
12
-
13
- const value1 = ref(36)
14
- const value2 = ref([10, 50])
15
- </script>
16
-
17
- <style scoped>
18
- .slider-demo {
19
- padding: 20px 0;
20
- }
21
- .demo-vertical {
22
- display: flex;
23
- gap: 40px;
24
- align-items: center;
25
- }
26
- </style>
1
+ <template>
2
+ <div class="slider-demo">
3
+ <div class="demo-vertical">
4
+ <j-slider v-model="value1" vertical height="200px" />
5
+ <j-slider v-model="value2" vertical height="200px" range />
6
+ </div>
7
+ </div>
8
+ </template>
9
+
10
+ <script setup lang="ts">
11
+ import { ref } from 'vue'
12
+
13
+ const value1 = ref(36)
14
+ const value2 = ref([10, 50])
15
+ </script>
16
+
17
+ <style scoped>
18
+ .slider-demo {
19
+ padding: 20px 0;
20
+ }
21
+ .demo-vertical {
22
+ display: flex;
23
+ gap: 40px;
24
+ align-items: center;
25
+ }
26
+ </style>
@@ -1,44 +1,44 @@
1
- <template>
2
- <div class="slider-captcha-demo">
3
- <div class="demo-item">
4
- <p>基础用法</p>
5
- <j-slider-captcha v-model="isPassing1" />
6
- <p class="status">验证状态: {{ isPassing1 ? '已通过' : '未通过' }}</p>
7
- </div>
8
- <div class="demo-item">
9
- <p>自定义文字</p>
10
- <j-slider-captcha
11
- v-model="isPassing2"
12
- text="向右拖动滑块完成验证"
13
- success-text="验证成功!"
14
- />
15
- <p class="status">验证状态: {{ isPassing2 ? '已通过' : '未通过' }}</p>
16
- </div>
17
- </div>
18
- </template>
19
-
20
- <script setup lang="ts">
21
- import { ref } from 'vue'
22
-
23
- const isPassing1 = ref(false)
24
- const isPassing2 = ref(false)
25
- </script>
26
-
27
- <style scoped>
28
- .slider-captcha-demo {
29
- display: flex;
30
- flex-direction: column;
31
- gap: 32px;
32
- }
33
- .demo-item p {
34
- margin-bottom: 12px;
35
- font-size: 14px;
36
- color: #666;
37
- }
38
- .demo-item .status {
39
- margin-top: 12px;
40
- margin-bottom: 0;
41
- font-size: 13px;
42
- color: #999;
43
- }
44
- </style>
1
+ <template>
2
+ <div class="slider-captcha-demo">
3
+ <div class="demo-item">
4
+ <p>基础用法</p>
5
+ <j-slider-captcha v-model="isPassing1" />
6
+ <p class="status">验证状态: {{ isPassing1 ? '已通过' : '未通过' }}</p>
7
+ </div>
8
+ <div class="demo-item">
9
+ <p>自定义文字</p>
10
+ <j-slider-captcha
11
+ v-model="isPassing2"
12
+ text="向右拖动滑块完成验证"
13
+ success-text="验证成功!"
14
+ />
15
+ <p class="status">验证状态: {{ isPassing2 ? '已通过' : '未通过' }}</p>
16
+ </div>
17
+ </div>
18
+ </template>
19
+
20
+ <script setup lang="ts">
21
+ import { ref } from 'vue'
22
+
23
+ const isPassing1 = ref(false)
24
+ const isPassing2 = ref(false)
25
+ </script>
26
+
27
+ <style scoped>
28
+ .slider-captcha-demo {
29
+ display: flex;
30
+ flex-direction: column;
31
+ gap: 32px;
32
+ }
33
+ .demo-item p {
34
+ margin-bottom: 12px;
35
+ font-size: 14px;
36
+ color: #666;
37
+ }
38
+ .demo-item .status {
39
+ margin-top: 12px;
40
+ margin-bottom: 0;
41
+ font-size: 13px;
42
+ color: #999;
43
+ }
44
+ </style>