@a2simcode/ui 0.0.242 → 0.0.243

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 (357) 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/src/editors/j-comp-editor.d.ts +1 -0
  6. package/dist/simcode-ui.es.js +140 -131
  7. package/dist/simcode-ui.umd.js +1 -1
  8. package/dist/stats.html +1 -1
  9. package/dist/ui.css +1 -1
  10. package/docs/components/autocomplete.md +89 -89
  11. package/docs/components/barcode.md +101 -101
  12. package/docs/components/button-select.md +24 -24
  13. package/docs/components/button.md +117 -117
  14. package/docs/components/buttons.md +119 -119
  15. package/docs/components/cascader-select.md +114 -114
  16. package/docs/components/checkbox.md +114 -114
  17. package/docs/components/code-mirror.md +85 -85
  18. package/docs/components/collapse.md +26 -26
  19. package/docs/components/comp.md +71 -71
  20. package/docs/components/count-up.md +24 -24
  21. package/docs/components/count.md +24 -24
  22. package/docs/components/data-panel.md +24 -24
  23. package/docs/components/date.md +76 -76
  24. package/docs/components/dialog-full.md +112 -112
  25. package/docs/components/dialog.md +127 -127
  26. package/docs/components/divider.md +24 -24
  27. package/docs/components/drawer.md +127 -127
  28. package/docs/components/dynamic-layer.md +118 -118
  29. package/docs/components/echarts.md +72 -72
  30. package/docs/components/editor.md +24 -24
  31. package/docs/components/form.md +87 -87
  32. package/docs/components/guid.md +39 -39
  33. package/docs/components/hpanel.md +24 -24
  34. package/docs/components/icon.md +56 -56
  35. package/docs/components/input-button.md +24 -24
  36. package/docs/components/input-code.md +24 -24
  37. package/docs/components/input-color.md +114 -114
  38. package/docs/components/input-layer.md +56 -56
  39. package/docs/components/input-rows.md +370 -370
  40. package/docs/components/input-tag.md +50 -50
  41. package/docs/components/input.md +129 -129
  42. package/docs/components/layer-form.md +61 -61
  43. package/docs/components/layer.md +127 -127
  44. package/docs/components/layout.md +132 -132
  45. package/docs/components/map.md +24 -24
  46. package/docs/components/menu.md +121 -121
  47. package/docs/components/meta/button.ts +212 -212
  48. package/docs/components/meta/buttons.ts +76 -76
  49. package/docs/components/meta/code-mirror.ts +108 -108
  50. package/docs/components/meta/comp.ts +236 -236
  51. package/docs/components/meta/date.ts +267 -267
  52. package/docs/components/meta/echarts.ts +64 -64
  53. package/docs/components/meta/form-item.ts +50 -50
  54. package/docs/components/meta/form.ts +181 -181
  55. package/docs/components/meta/input-button.ts +175 -175
  56. package/docs/components/meta/input-cards.ts +112 -112
  57. package/docs/components/meta/input-code.ts +161 -161
  58. package/docs/components/meta/input-color.ts +243 -243
  59. package/docs/components/meta/input-layer.ts +382 -382
  60. package/docs/components/meta/input-rows.ts +119 -119
  61. package/docs/components/meta/layer-form.ts +74 -74
  62. package/docs/components/meta/map.ts +68 -68
  63. package/docs/components/meta/panel.ts +152 -152
  64. package/docs/components/meta/radio.ts +55 -55
  65. package/docs/components/meta/select.ts +279 -279
  66. package/docs/components/meta/slider.ts +270 -270
  67. package/docs/components/meta/tabs.ts +146 -146
  68. package/docs/components/meta/title.ts +91 -91
  69. package/docs/components/meta/tree-select.ts +199 -199
  70. package/docs/components/meta/tree.ts +219 -219
  71. package/docs/components/meta/vpanel.ts +19 -19
  72. package/docs/components/meta/workflow-viewer.ts +55 -55
  73. package/docs/components/number.md +124 -124
  74. package/docs/components/page.md +102 -102
  75. package/docs/components/panel.md +37 -37
  76. package/docs/components/radio.md +87 -87
  77. package/docs/components/rate.md +71 -71
  78. package/docs/components/select.md +133 -133
  79. package/docs/components/slider-captcha.md +41 -41
  80. package/docs/components/slider.md +101 -101
  81. package/docs/components/switch.md +90 -90
  82. package/docs/components/table-panel.md +297 -297
  83. package/docs/components/table.md +450 -450
  84. package/docs/components/tabs.md +26 -26
  85. package/docs/components/title.md +24 -24
  86. package/docs/components/tree.md +207 -207
  87. package/docs/components/upload.md +117 -117
  88. package/docs/components/workflow-viewer.md +21 -21
  89. package/docs/components/workflow.md +21 -21
  90. package/docs/examples/autocomplete/advanced.vue +35 -35
  91. package/docs/examples/autocomplete/basic.vue +32 -32
  92. package/docs/examples/autocomplete/clearable.vue +33 -33
  93. package/docs/examples/autocomplete/custom-template.vue +49 -49
  94. package/docs/examples/autocomplete/disabled.vue +33 -33
  95. package/docs/examples/autocomplete/icon.vue +37 -37
  96. package/docs/examples/barcode/all-types.vue +380 -380
  97. package/docs/examples/barcode/basic.vue +14 -14
  98. package/docs/examples/barcode/props-appearance.vue +243 -243
  99. package/docs/examples/barcode/props-geometry.vue +143 -143
  100. package/docs/examples/barcode/props-logic.vue +216 -216
  101. package/docs/examples/barcode/props-symbology.vue +199 -199
  102. package/docs/examples/barcode/props-text.vue +268 -268
  103. package/docs/examples/button/basic.vue +7 -7
  104. package/docs/examples/button/disabled.vue +42 -42
  105. package/docs/examples/button/loading.vue +6 -6
  106. package/docs/examples/button/shape.vue +7 -7
  107. package/docs/examples/button/size.vue +14 -14
  108. package/docs/examples/button/status.vue +34 -34
  109. package/docs/examples/button/type.vue +10 -10
  110. package/docs/examples/button-select/basic.vue +19 -19
  111. package/docs/examples/buttons/basic.vue +62 -62
  112. package/docs/examples/buttons/disabled.vue +36 -36
  113. package/docs/examples/buttons/dropdown.vue +63 -63
  114. package/docs/examples/buttons/group.vue +52 -52
  115. package/docs/examples/buttons/link.vue +47 -47
  116. package/docs/examples/buttons/popup.vue +39 -39
  117. package/docs/examples/buttons/size.vue +45 -45
  118. package/docs/examples/cascader-select/basic.vue +28 -28
  119. package/docs/examples/cascader-select/clearable.vue +34 -34
  120. package/docs/examples/cascader-select/disabled.vue +43 -43
  121. package/docs/examples/cascader-select/filterable.vue +37 -37
  122. package/docs/examples/cascader-select/methods.vue +84 -84
  123. package/docs/examples/cascader-select/multiple.vue +38 -38
  124. package/docs/examples/cascader-select/slot.vue +45 -45
  125. package/docs/examples/checkbox/basic.vue +18 -18
  126. package/docs/examples/checkbox/button.vue +19 -19
  127. package/docs/examples/checkbox/color.vue +25 -25
  128. package/docs/examples/checkbox/disabled.vue +17 -17
  129. package/docs/examples/checkbox/min-max.vue +20 -20
  130. package/docs/examples/checkbox/mixed.vue +56 -56
  131. package/docs/examples/checkbox/size.vue +28 -28
  132. package/docs/examples/code-mirror/basic.vue +11 -11
  133. package/docs/examples/code-mirror/events.vue +42 -42
  134. package/docs/examples/code-mirror/height.vue +25 -25
  135. package/docs/examples/code-mirror/mode.vue +33 -33
  136. package/docs/examples/code-mirror/readonly.vue +14 -14
  137. package/docs/examples/collapse/basic.vue +82 -82
  138. package/docs/examples/comp/basic.vue +7 -7
  139. package/docs/examples/comp/collapse.vue +38 -38
  140. package/docs/examples/comp/tabs.vue +38 -38
  141. package/docs/examples/count/basic.vue +101 -101
  142. package/docs/examples/count-up/basic.vue +89 -89
  143. package/docs/examples/data-panel/basic.vue +110 -110
  144. package/docs/examples/date/basic.vue +73 -73
  145. package/docs/examples/date/default-value.vue +59 -59
  146. package/docs/examples/date/format.vue +75 -75
  147. package/docs/examples/date/range.vue +66 -66
  148. package/docs/examples/date/types.vue +79 -79
  149. package/docs/examples/decorated-title/basic.vue +31 -31
  150. package/docs/examples/dialog/basic.vue +36 -36
  151. package/docs/examples/dialog/custom-buttons.vue +44 -44
  152. package/docs/examples/dialog/fullscreen.vue +23 -23
  153. package/docs/examples/dialog/no-mask.vue +17 -17
  154. package/docs/examples/dialog/size.vue +44 -44
  155. package/docs/examples/dialog/steps.vue +57 -57
  156. package/docs/examples/dialog-full/basic.vue +29 -29
  157. package/docs/examples/dialog-full/custom-buttons.vue +45 -45
  158. package/docs/examples/dialog-full/no-buttons.vue +18 -18
  159. package/docs/examples/dialog-full/no-header.vue +27 -27
  160. package/docs/examples/dialog-full/steps.vue +71 -71
  161. package/docs/examples/divider/basic.vue +52 -52
  162. package/docs/examples/drawer/basic.vue +35 -35
  163. package/docs/examples/drawer/custom-buttons.vue +34 -34
  164. package/docs/examples/drawer/direction.vue +47 -47
  165. package/docs/examples/drawer/mask.vue +36 -36
  166. package/docs/examples/drawer/no-buttons.vue +20 -20
  167. package/docs/examples/drawer/size.vue +28 -28
  168. package/docs/examples/dynamic-layer/basic.vue +33 -33
  169. package/docs/examples/dynamic-layer/custom-buttons.vue +43 -43
  170. package/docs/examples/dynamic-layer/form.vue +73 -73
  171. package/docs/examples/dynamic-layer/steps.vue +52 -52
  172. package/docs/examples/dynamic-layer/types.vue +40 -40
  173. package/docs/examples/echarts/basic.vue +31 -31
  174. package/docs/examples/echarts/dynamic.vue +43 -43
  175. package/docs/examples/echarts/line.vue +46 -46
  176. package/docs/examples/echarts/pie.vue +44 -44
  177. package/docs/examples/editor/basic.vue +15 -15
  178. package/docs/examples/form/basic.vue +663 -663
  179. package/docs/examples/form/init.vue +76 -76
  180. package/docs/examples/form/master-detail.vue +203 -203
  181. package/docs/examples/form/rule-format.vue +179 -179
  182. package/docs/examples/form/view-table.vue +378 -378
  183. package/docs/examples/guid/basic.vue +10 -10
  184. package/docs/examples/guid/size.vue +13 -13
  185. package/docs/examples/hpanel/basic.vue +79 -79
  186. package/docs/examples/icon/basic.vue +9 -9
  187. package/docs/examples/icon/rotate-flip.vue +9 -9
  188. package/docs/examples/icon/size.vue +7 -7
  189. package/docs/examples/input/basic.vue +10 -10
  190. package/docs/examples/input/clearable.vue +12 -12
  191. package/docs/examples/input/disabled.vue +6 -6
  192. package/docs/examples/input/icon.vue +23 -23
  193. package/docs/examples/input/password.vue +18 -18
  194. package/docs/examples/input/size.vue +13 -13
  195. package/docs/examples/input/textarea.vue +25 -25
  196. package/docs/examples/input/word-limit.vue +28 -28
  197. package/docs/examples/input-button/basic.vue +33 -33
  198. package/docs/examples/input-cards/basic.vue +79 -79
  199. package/docs/examples/input-code/basic.vue +29 -29
  200. package/docs/examples/input-color/basic.vue +10 -10
  201. package/docs/examples/input-color/disabled.vue +13 -13
  202. package/docs/examples/input-color/format.vue +17 -17
  203. package/docs/examples/input-color/no-alpha.vue +13 -13
  204. package/docs/examples/input-color/only-button.vue +15 -15
  205. package/docs/examples/input-color/predefine.vue +31 -31
  206. package/docs/examples/input-color/size.vue +15 -15
  207. package/docs/examples/input-layer/basic.vue +85 -85
  208. package/docs/examples/input-layer/render-vnode-page.vue +160 -160
  209. package/docs/examples/input-layer/render-vnode.vue +127 -127
  210. package/docs/examples/input-rows/basic.vue +73 -73
  211. package/docs/examples/input-rows/drag.vue +48 -48
  212. package/docs/examples/input-rows/layer-form.vue +85 -85
  213. package/docs/examples/input-rows/nested.vue +91 -91
  214. package/docs/examples/input-tag/basic.vue +27 -27
  215. package/docs/examples/input-tag/colors.vue +23 -23
  216. package/docs/examples/input-tag/readonly.vue +17 -17
  217. package/docs/examples/layer/basic.vue +43 -43
  218. package/docs/examples/layer/custom-buttons.vue +61 -61
  219. package/docs/examples/layer/drawer.vue +37 -37
  220. package/docs/examples/layer/full.vue +38 -38
  221. package/docs/examples/layer/modal.vue +34 -34
  222. package/docs/examples/layer/steps.vue +46 -46
  223. package/docs/examples/layer-form/basic.vue +76 -76
  224. package/docs/examples/layer-form/config.vue +82 -82
  225. package/docs/examples/layer-form/size.vue +72 -72
  226. package/docs/examples/layout/basic.vue +36 -36
  227. package/docs/examples/layout/custom-size.vue +50 -50
  228. package/docs/examples/layout/disable-move.vue +37 -37
  229. package/docs/examples/layout/hide-mid-when-narrow.vue +96 -96
  230. package/docs/examples/layout/min-size.vue +73 -73
  231. package/docs/examples/layout/percent-size.vue +80 -80
  232. package/docs/examples/layout/simple.vue +22 -22
  233. package/docs/examples/layout/top-side.vue +34 -34
  234. package/docs/examples/map/basic.vue +22 -22
  235. package/docs/examples/menu/basic.vue +58 -58
  236. package/docs/examples/menu/collapsed.vue +49 -49
  237. package/docs/examples/menu/horizontal.vue +44 -44
  238. package/docs/examples/menu/selection-test.vue +104 -104
  239. package/docs/examples/menu/theme.vue +46 -46
  240. package/docs/examples/menu/vertical.vue +46 -46
  241. package/docs/examples/number/advanced.vue +143 -143
  242. package/docs/examples/number/basic.vue +63 -63
  243. package/docs/examples/number/disabled.vue +49 -49
  244. package/docs/examples/number/size.vue +42 -42
  245. package/docs/examples/number/slots.vue +123 -123
  246. package/docs/examples/number/step-strictly.vue +41 -41
  247. package/docs/examples/number/step.vue +47 -47
  248. package/docs/examples/page/basic.vue +41 -41
  249. package/docs/examples/page/code-table-model.vue +428 -428
  250. package/docs/examples/page/dept-user-management.vue +211 -211
  251. package/docs/examples/page/init.vue +87 -87
  252. package/docs/examples/page/log.vue +453 -453
  253. package/docs/examples/page/user-management.vue +313 -313
  254. package/docs/examples/panel/tool-buttons.vue +18 -18
  255. package/docs/examples/radio/basic.vue +17 -17
  256. package/docs/examples/radio/button.vue +17 -17
  257. package/docs/examples/radio/color.vue +18 -18
  258. package/docs/examples/radio/disabled.vue +17 -17
  259. package/docs/examples/radio/size.vue +29 -29
  260. package/docs/examples/rate/basic.vue +24 -24
  261. package/docs/examples/rate/half.vue +24 -24
  262. package/docs/examples/rate/readonly.vue +11 -11
  263. package/docs/examples/rate/text.vue +37 -37
  264. package/docs/examples/select/basic.vue +16 -16
  265. package/docs/examples/select/clearable.vue +22 -22
  266. package/docs/examples/select/disabled.vue +31 -31
  267. package/docs/examples/select/filterable.vue +24 -24
  268. package/docs/examples/select/group.vue +23 -23
  269. package/docs/examples/select/icon.vue +16 -16
  270. package/docs/examples/select/multiple.vue +18 -18
  271. package/docs/examples/select/size.vue +39 -39
  272. package/docs/examples/slider/basic.vue +42 -42
  273. package/docs/examples/slider/disabled.vue +17 -17
  274. package/docs/examples/slider/marks.vue +30 -30
  275. package/docs/examples/slider/size.vue +37 -37
  276. package/docs/examples/slider/tooltip.vue +36 -36
  277. package/docs/examples/slider/vertical.vue +26 -26
  278. package/docs/examples/slider-captcha/basic.vue +44 -44
  279. package/docs/examples/slider-captcha/custom.vue +48 -48
  280. package/docs/examples/switch/basic.vue +16 -16
  281. package/docs/examples/switch/disabled.vue +13 -13
  282. package/docs/examples/switch/loading.vue +13 -13
  283. package/docs/examples/switch/size.vue +15 -15
  284. package/docs/examples/switch/text.vue +13 -13
  285. package/docs/examples/table/action-filter.vue +126 -126
  286. package/docs/examples/table/actions.vue +116 -116
  287. package/docs/examples/table/add-row.vue +103 -103
  288. package/docs/examples/table/basic.vue +168 -168
  289. package/docs/examples/table/checkbox-layout.vue +68 -68
  290. package/docs/examples/table/column-filter.vue +96 -96
  291. package/docs/examples/table/custom-layout.vue +115 -115
  292. package/docs/examples/table/dynamic-type.vue +73 -73
  293. package/docs/examples/table/editable.vue +262 -262
  294. package/docs/examples/table/field-selection.vue +87 -87
  295. package/docs/examples/table/frozen-column.vue +140 -140
  296. package/docs/examples/table/height-mode.vue +99 -99
  297. package/docs/examples/table/icon.vue +85 -85
  298. package/docs/examples/table/layer-form.vue +133 -133
  299. package/docs/examples/table/link.vue +66 -66
  300. package/docs/examples/table/multiple-disabled.vue +112 -112
  301. package/docs/examples/table/multiple.vue +188 -188
  302. package/docs/examples/table/pagination.vue +151 -151
  303. package/docs/examples/table/row-drag.vue +67 -67
  304. package/docs/examples/table/single-selection.vue +64 -64
  305. package/docs/examples/table/sub-table-lazy.vue +97 -97
  306. package/docs/examples/table/sub-table.vue +103 -103
  307. package/docs/examples/table/tag.vue +43 -43
  308. package/docs/examples/table/tree-column.vue +119 -119
  309. package/docs/examples/table/tree-data.vue +141 -141
  310. package/docs/examples/table/tree-default-expand-all.vue +60 -60
  311. package/docs/examples/table/tree-lazy.vue +80 -80
  312. package/docs/examples/table/tree-set-selection.vue +75 -75
  313. package/docs/examples/table-panel/basic.vue +229 -229
  314. package/docs/examples/table-panel/batch-operations.vue +286 -286
  315. package/docs/examples/table-panel/button-visibility.vue +88 -88
  316. package/docs/examples/table-panel/column-filter.vue +116 -116
  317. package/docs/examples/table-panel/filter.vue +219 -219
  318. package/docs/examples/table-panel/get-selection.vue +111 -111
  319. package/docs/examples/table-panel/mask.vue +151 -151
  320. package/docs/examples/table-panel/model-value.vue +87 -87
  321. package/docs/examples/table-panel/multiple-selection.vue +243 -243
  322. package/docs/examples/table-panel/pagination.vue +133 -133
  323. package/docs/examples/table-panel/search-list.vue +207 -207
  324. package/docs/examples/table-panel/sub-table-lazy.vue +118 -118
  325. package/docs/examples/table-panel/tree-parent-key.vue +67 -67
  326. package/docs/examples/tabs/basic.vue +98 -98
  327. package/docs/examples/time/base.vue +67 -67
  328. package/docs/examples/title/basic.vue +87 -87
  329. package/docs/examples/tree/accordion.vue +46 -46
  330. package/docs/examples/tree/basic.vue +50 -50
  331. package/docs/examples/tree/buttons.vue +53 -53
  332. package/docs/examples/tree/checkable.vue +52 -52
  333. package/docs/examples/tree/custom-keys.vue +39 -39
  334. package/docs/examples/tree/default-expanded.vue +52 -52
  335. package/docs/examples/tree/draggable.vue +29 -29
  336. package/docs/examples/tree/expand-on-click.vue +39 -39
  337. package/docs/examples/tree/flat-data.vue +20 -20
  338. package/docs/examples/tree/icon.vue +40 -40
  339. package/docs/examples/tree/load-data.vue +37 -37
  340. package/docs/examples/tree/methods.vue +74 -74
  341. package/docs/examples/tree/theme.vue +33 -33
  342. package/docs/examples/tree-select/basic.vue +47 -47
  343. package/docs/examples/upload/accept.vue +31 -31
  344. package/docs/examples/upload/basic.vue +12 -12
  345. package/docs/examples/upload/drag.vue +11 -11
  346. package/docs/examples/upload/image.vue +17 -17
  347. package/docs/examples/upload/limit.vue +20 -20
  348. package/docs/examples/upload/multiple.vue +17 -17
  349. package/docs/examples/upload/readonly.vue +17 -17
  350. package/docs/examples/utils/cipher.vue +160 -160
  351. package/docs/examples/utils/common.vue +153 -153
  352. package/docs/examples/utils/date.vue +56 -56
  353. package/docs/examples/utils/dom.vue +52 -52
  354. package/docs/examples/utils/is.vue +70 -70
  355. package/docs/examples/workflow/basic.vue +265 -265
  356. package/docs/examples/workflow-viewer/basic.vue +248 -248
  357. package/package.json +23 -23
@@ -1,79 +1,79 @@
1
- <template>
2
- <div class="demo-date-types">
3
- <div class="block">
4
- <span class="demonstration">Week</span>
5
- <j-date
6
- v-model="value1"
7
- select-type="week"
8
- format="[Week] ww"
9
- placeholder="Pick a week"
10
- />
11
- </div>
12
- <div class="block">
13
- <span class="demonstration">Month</span>
14
- <j-date
15
- v-model="value2"
16
- select-type="month"
17
- placeholder="Pick a month"
18
- />
19
- </div>
20
- <div class="block">
21
- <span class="demonstration">Year</span>
22
- <j-date
23
- v-model="value3"
24
- select-type="year"
25
- placeholder="Pick a year"
26
- />
27
- </div>
28
- <div class="block">
29
- <span class="demonstration">Dates</span>
30
- <j-date
31
- v-model="value4"
32
- select-type="dates"
33
- placeholder="Pick one or more dates"
34
- />
35
- </div>
36
- <div class="block">
37
- <span class="demonstration">Datetime</span>
38
- <j-date
39
- v-model="value5"
40
- select-type="datetime"
41
- placeholder="Select date and time"
42
- />
43
- </div>
44
- </div>
45
- </template>
46
-
47
- <script setup lang="ts">
48
- import { ref } from 'vue'
49
-
50
- const value1 = ref('')
51
- const value2 = ref('')
52
- const value3 = ref('')
53
- const value4 = ref('')
54
- const value5 = ref('')
55
- </script>
56
-
57
- <style scoped>
58
- .demo-date-types {
59
- display: flex;
60
- flex-wrap: wrap;
61
- gap: 20px;
62
- }
63
- .demo-date-types .block {
64
- padding: 30px 0;
65
- text-align: center;
66
- border-right: solid 1px var(--el-border-color);
67
- flex: 1;
68
- min-width: 300px;
69
- }
70
- .demo-date-types .block:last-child {
71
- border-right: none;
72
- }
73
- .demo-date-types .demonstration {
74
- display: block;
75
- color: var(--el-text-color-secondary);
76
- font-size: 14px;
77
- margin-bottom: 20px;
78
- }
79
- </style>
1
+ <template>
2
+ <div class="demo-date-types">
3
+ <div class="block">
4
+ <span class="demonstration">Week</span>
5
+ <j-date
6
+ v-model="value1"
7
+ select-type="week"
8
+ format="[Week] ww"
9
+ placeholder="Pick a week"
10
+ />
11
+ </div>
12
+ <div class="block">
13
+ <span class="demonstration">Month</span>
14
+ <j-date
15
+ v-model="value2"
16
+ select-type="month"
17
+ placeholder="Pick a month"
18
+ />
19
+ </div>
20
+ <div class="block">
21
+ <span class="demonstration">Year</span>
22
+ <j-date
23
+ v-model="value3"
24
+ select-type="year"
25
+ placeholder="Pick a year"
26
+ />
27
+ </div>
28
+ <div class="block">
29
+ <span class="demonstration">Dates</span>
30
+ <j-date
31
+ v-model="value4"
32
+ select-type="dates"
33
+ placeholder="Pick one or more dates"
34
+ />
35
+ </div>
36
+ <div class="block">
37
+ <span class="demonstration">Datetime</span>
38
+ <j-date
39
+ v-model="value5"
40
+ select-type="datetime"
41
+ placeholder="Select date and time"
42
+ />
43
+ </div>
44
+ </div>
45
+ </template>
46
+
47
+ <script setup lang="ts">
48
+ import { ref } from 'vue'
49
+
50
+ const value1 = ref('')
51
+ const value2 = ref('')
52
+ const value3 = ref('')
53
+ const value4 = ref('')
54
+ const value5 = ref('')
55
+ </script>
56
+
57
+ <style scoped>
58
+ .demo-date-types {
59
+ display: flex;
60
+ flex-wrap: wrap;
61
+ gap: 20px;
62
+ }
63
+ .demo-date-types .block {
64
+ padding: 30px 0;
65
+ text-align: center;
66
+ border-right: solid 1px var(--el-border-color);
67
+ flex: 1;
68
+ min-width: 300px;
69
+ }
70
+ .demo-date-types .block:last-child {
71
+ border-right: none;
72
+ }
73
+ .demo-date-types .demonstration {
74
+ display: block;
75
+ color: var(--el-text-color-secondary);
76
+ font-size: 14px;
77
+ margin-bottom: 20px;
78
+ }
79
+ </style>
@@ -1,31 +1,31 @@
1
- <template>
2
- <div>
3
- <h3>默认样式 (无 `titleType`)</h3>
4
- <j-decorated-title title="默认标题" background-color="#409eff" />
5
-
6
- <h3>Title Type 2</h3>
7
- <j-decorated-title title="标题二" content="这是 titleType 为 'title2' 的装饰标题" title-type="title2" background-color="#67c23a" />
8
-
9
- <h3>Title Type 3</h3>
10
- <j-decorated-title title="标题三" content="这是 titleType 为 'title3' 的装饰标题" title-type="title3" background-color="#e6a23c" />
11
-
12
- <h3>Title Type 4</h3>
13
- <j-decorated-title title="标题四" content="这是 titleType 为 'title4' 的装饰标题" title-type="title4" background-color="#f56c6c" />
14
-
15
- <h3>Title Type 5</h3>
16
- <j-decorated-title title="标题五" content="这是 titleType 为 'title5' 的装饰标题" title-type="title5" background-color="#f56c6c" />
17
-
18
- <h3>Title Type 6</h3>
19
- <j-decorated-title title="标题六" content="这是 titleType 为 'title6' 的装饰标题" title-type="title6" background-color="#909399" />
20
-
21
- <h3>Title Type 7</h3>
22
- <j-decorated-title title="标题七" content="这是 titleType 为 'title7' 的装饰标题" title-type="title7" background-color="#67c23a" />
23
-
24
- <h3>Title Type 8</h3>
25
- <j-decorated-title title="标题八" content="这是 titleType 为 'title8' 的装饰标题" title-type="title8" background-color="#409eff" />
26
-
27
- <h3>Title Type 9</h3>
28
- <j-decorated-title title="标题九" content="这是 titleType 为 'title9' 的装饰标题" title-type="title9" background-color="#e6a23c" />
29
- </div>
30
- </template>
31
-
1
+ <template>
2
+ <div>
3
+ <h3>默认样式 (无 `titleType`)</h3>
4
+ <j-decorated-title title="默认标题" background-color="#409eff" />
5
+
6
+ <h3>Title Type 2</h3>
7
+ <j-decorated-title title="标题二" content="这是 titleType 为 'title2' 的装饰标题" title-type="title2" background-color="#67c23a" />
8
+
9
+ <h3>Title Type 3</h3>
10
+ <j-decorated-title title="标题三" content="这是 titleType 为 'title3' 的装饰标题" title-type="title3" background-color="#e6a23c" />
11
+
12
+ <h3>Title Type 4</h3>
13
+ <j-decorated-title title="标题四" content="这是 titleType 为 'title4' 的装饰标题" title-type="title4" background-color="#f56c6c" />
14
+
15
+ <h3>Title Type 5</h3>
16
+ <j-decorated-title title="标题五" content="这是 titleType 为 'title5' 的装饰标题" title-type="title5" background-color="#f56c6c" />
17
+
18
+ <h3>Title Type 6</h3>
19
+ <j-decorated-title title="标题六" content="这是 titleType 为 'title6' 的装饰标题" title-type="title6" background-color="#909399" />
20
+
21
+ <h3>Title Type 7</h3>
22
+ <j-decorated-title title="标题七" content="这是 titleType 为 'title7' 的装饰标题" title-type="title7" background-color="#67c23a" />
23
+
24
+ <h3>Title Type 8</h3>
25
+ <j-decorated-title title="标题八" content="这是 titleType 为 'title8' 的装饰标题" title-type="title8" background-color="#409eff" />
26
+
27
+ <h3>Title Type 9</h3>
28
+ <j-decorated-title title="标题九" content="这是 titleType 为 'title9' 的装饰标题" title-type="title9" background-color="#e6a23c" />
29
+ </div>
30
+ </template>
31
+
@@ -1,36 +1,36 @@
1
- <template>
2
- <div>
3
- <j-button label="打开弹窗" @click="visible = true" />
4
- <j-dialog
5
- v-model:visible="visible"
6
- title="基础弹窗"
7
- :width="600"
8
- :height="400"
9
- @ok="handleOk"
10
- @cancel="handleCancel"
11
- >
12
- <div style="padding: 16px">
13
- <p>这是一个基础的弹窗示例。</p>
14
- <p>弹窗支持拖拽、缩放等功能。</p>
15
- </div>
16
- </j-dialog>
17
- </div>
18
- </template>
19
-
20
- <script setup lang="ts">
21
- import { ref } from 'vue'
22
-
23
- const visible = ref(false)
24
-
25
- const handleOk = (showLoading: any, hideLoading: any) => {
26
- showLoading('保存中...')
27
- setTimeout(() => {
28
- hideLoading()
29
- visible.value = false
30
- }, 1000)
31
- }
32
-
33
- const handleCancel = () => {
34
- visible.value = false
35
- }
36
- </script>
1
+ <template>
2
+ <div>
3
+ <j-button label="打开弹窗" @click="visible = true" />
4
+ <j-dialog
5
+ v-model:visible="visible"
6
+ title="基础弹窗"
7
+ :width="600"
8
+ :height="400"
9
+ @ok="handleOk"
10
+ @cancel="handleCancel"
11
+ >
12
+ <div style="padding: 16px">
13
+ <p>这是一个基础的弹窗示例。</p>
14
+ <p>弹窗支持拖拽、缩放等功能。</p>
15
+ </div>
16
+ </j-dialog>
17
+ </div>
18
+ </template>
19
+
20
+ <script setup lang="ts">
21
+ import { ref } from 'vue'
22
+
23
+ const visible = ref(false)
24
+
25
+ const handleOk = (showLoading: any, hideLoading: any) => {
26
+ showLoading('保存中...')
27
+ setTimeout(() => {
28
+ hideLoading()
29
+ visible.value = false
30
+ }, 1000)
31
+ }
32
+
33
+ const handleCancel = () => {
34
+ visible.value = false
35
+ }
36
+ </script>
@@ -1,44 +1,44 @@
1
- <template>
2
- <div>
3
- <j-button label="自定义按钮" @click="visible = true" />
4
- <j-dialog
5
- v-model:visible="visible"
6
- title="自定义按钮弹窗"
7
- :width="600"
8
- :height="400"
9
- :has-save-btn="false"
10
- :buttons="buttons"
11
- >
12
- <div style="padding: 16px">
13
- <p>这个弹窗使用了自定义按钮配置。</p>
14
- </div>
15
- </j-dialog>
16
- </div>
17
- </template>
18
-
19
- <script setup lang="ts">
20
- import { ref } from 'vue'
21
- import { ElMessage } from 'element-plus'
22
-
23
- const visible = ref(false)
24
-
25
- const buttons = [
26
- {
27
- prop: 'confirm',
28
- label: '确认',
29
- type: 'primary',
30
- click: () => {
31
- ElMessage.success('点击了确认按钮')
32
- visible.value = false
33
- },
34
- },
35
- {
36
- prop: 'delete',
37
- label: '删除',
38
- danger: true,
39
- click: () => {
40
- ElMessage.warning('点击了删除按钮')
41
- },
42
- },
43
- ]
44
- </script>
1
+ <template>
2
+ <div>
3
+ <j-button label="自定义按钮" @click="visible = true" />
4
+ <j-dialog
5
+ v-model:visible="visible"
6
+ title="自定义按钮弹窗"
7
+ :width="600"
8
+ :height="400"
9
+ :has-save-btn="false"
10
+ :buttons="buttons"
11
+ >
12
+ <div style="padding: 16px">
13
+ <p>这个弹窗使用了自定义按钮配置。</p>
14
+ </div>
15
+ </j-dialog>
16
+ </div>
17
+ </template>
18
+
19
+ <script setup lang="ts">
20
+ import { ref } from 'vue'
21
+ import { ElMessage } from 'element-plus'
22
+
23
+ const visible = ref(false)
24
+
25
+ const buttons = [
26
+ {
27
+ prop: 'confirm',
28
+ label: '确认',
29
+ type: 'primary',
30
+ click: () => {
31
+ ElMessage.success('点击了确认按钮')
32
+ visible.value = false
33
+ },
34
+ },
35
+ {
36
+ prop: 'delete',
37
+ label: '删除',
38
+ danger: true,
39
+ click: () => {
40
+ ElMessage.warning('点击了删除按钮')
41
+ },
42
+ },
43
+ ]
44
+ </script>
@@ -1,23 +1,23 @@
1
- <template>
2
- <div>
3
- <j-button label="可全屏弹窗" @click="visible = true" />
4
- <j-dialog
5
- v-model:visible="visible"
6
- title="全屏弹窗"
7
- :show-full-screen-btn="true"
8
- :width="600"
9
- :height="400"
10
- >
11
- <div style="padding: 16px">
12
- <p>点击右上角的全屏按钮可以切换全屏显示。</p>
13
- <p>全屏状态下可以再次点击退出全屏。</p>
14
- </div>
15
- </j-dialog>
16
- </div>
17
- </template>
18
-
19
- <script setup lang="ts">
20
- import { ref } from 'vue'
21
-
22
- const visible = ref(false)
23
- </script>
1
+ <template>
2
+ <div>
3
+ <j-button label="可全屏弹窗" @click="visible = true" />
4
+ <j-dialog
5
+ v-model:visible="visible"
6
+ title="全屏弹窗"
7
+ :show-full-screen-btn="true"
8
+ :width="600"
9
+ :height="400"
10
+ >
11
+ <div style="padding: 16px">
12
+ <p>点击右上角的全屏按钮可以切换全屏显示。</p>
13
+ <p>全屏状态下可以再次点击退出全屏。</p>
14
+ </div>
15
+ </j-dialog>
16
+ </div>
17
+ </template>
18
+
19
+ <script setup lang="ts">
20
+ import { ref } from 'vue'
21
+
22
+ const visible = ref(false)
23
+ </script>
@@ -1,17 +1,17 @@
1
- <template>
2
- <div>
3
- <j-button label="无遮罩弹窗" @click="visible = true" />
4
- <j-dialog v-model:visible="visible" title="无遮罩弹窗" :width="500" :height="350" :mask="false">
5
- <div style="padding: 16px">
6
- <p>这个弹窗没有遮罩层。</p>
7
- <p>你可以与页面其他内容进行交互。</p>
8
- </div>
9
- </j-dialog>
10
- </div>
11
- </template>
12
-
13
- <script setup lang="ts">
14
- import { ref } from 'vue'
15
-
16
- const visible = ref(false)
17
- </script>
1
+ <template>
2
+ <div>
3
+ <j-button label="无遮罩弹窗" @click="visible = true" />
4
+ <j-dialog v-model:visible="visible" title="无遮罩弹窗" :width="500" :height="350" :mask="false">
5
+ <div style="padding: 16px">
6
+ <p>这个弹窗没有遮罩层。</p>
7
+ <p>你可以与页面其他内容进行交互。</p>
8
+ </div>
9
+ </j-dialog>
10
+ </div>
11
+ </template>
12
+
13
+ <script setup lang="ts">
14
+ import { ref } from 'vue'
15
+
16
+ const visible = ref(false)
17
+ </script>
@@ -1,44 +1,44 @@
1
- <template>
2
- <div style="display: flex; gap: 8px">
3
- <j-button label="小弹窗" @click="showDialog('small')" />
4
- <j-button label="中等弹窗" @click="showDialog('medium')" />
5
- <j-button label="大弹窗" @click="showDialog('large')" />
6
- <j-dialog v-model:visible="visible" :title="title" :width="width" :height="height">
7
- <div style="padding: 16px">
8
- <p>当前弹窗尺寸:{{ title }}</p>
9
- <p>宽度:{{ width }}px</p>
10
- <p>高度:{{ height }}px</p>
11
- </div>
12
- </j-dialog>
13
- </div>
14
- </template>
15
-
16
- <script setup lang="ts">
17
- import { ref } from 'vue'
18
-
19
- const visible = ref(false)
20
- const title = ref('')
21
- const width = ref(600)
22
- const height = ref(400)
23
-
24
- const showDialog = (size: string) => {
25
- switch (size) {
26
- case 'small':
27
- title.value = '小弹窗'
28
- width.value = 400
29
- height.value = 300
30
- break
31
- case 'medium':
32
- title.value = '中等弹窗'
33
- width.value = 600
34
- height.value = 400
35
- break
36
- case 'large':
37
- title.value = '大弹窗'
38
- width.value = 900
39
- height.value = 600
40
- break
41
- }
42
- visible.value = true
43
- }
44
- </script>
1
+ <template>
2
+ <div style="display: flex; gap: 8px">
3
+ <j-button label="小弹窗" @click="showDialog('small')" />
4
+ <j-button label="中等弹窗" @click="showDialog('medium')" />
5
+ <j-button label="大弹窗" @click="showDialog('large')" />
6
+ <j-dialog v-model:visible="visible" :title="title" :width="width" :height="height">
7
+ <div style="padding: 16px">
8
+ <p>当前弹窗尺寸:{{ title }}</p>
9
+ <p>宽度:{{ width }}px</p>
10
+ <p>高度:{{ height }}px</p>
11
+ </div>
12
+ </j-dialog>
13
+ </div>
14
+ </template>
15
+
16
+ <script setup lang="ts">
17
+ import { ref } from 'vue'
18
+
19
+ const visible = ref(false)
20
+ const title = ref('')
21
+ const width = ref(600)
22
+ const height = ref(400)
23
+
24
+ const showDialog = (size: string) => {
25
+ switch (size) {
26
+ case 'small':
27
+ title.value = '小弹窗'
28
+ width.value = 400
29
+ height.value = 300
30
+ break
31
+ case 'medium':
32
+ title.value = '中等弹窗'
33
+ width.value = 600
34
+ height.value = 400
35
+ break
36
+ case 'large':
37
+ title.value = '大弹窗'
38
+ width.value = 900
39
+ height.value = 600
40
+ break
41
+ }
42
+ visible.value = true
43
+ }
44
+ </script>