@a2simcode/ui 0.0.257 → 0.0.258

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 (362) 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/simcode-ui.es.js +4184 -4157
  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/card-list.md +38 -38
  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/card-list.ts +210 -210
  50. package/docs/components/meta/code-mirror.ts +108 -108
  51. package/docs/components/meta/comp.ts +236 -236
  52. package/docs/components/meta/date.ts +267 -267
  53. package/docs/components/meta/echarts.ts +64 -64
  54. package/docs/components/meta/form-item.ts +50 -50
  55. package/docs/components/meta/form.ts +181 -181
  56. package/docs/components/meta/input-button.ts +175 -175
  57. package/docs/components/meta/input-cards.ts +112 -112
  58. package/docs/components/meta/input-code.ts +161 -161
  59. package/docs/components/meta/input-color.ts +243 -243
  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/table-panel.ts +326 -326
  68. package/docs/components/meta/table.ts +409 -409
  69. package/docs/components/meta/tabs.ts +146 -146
  70. package/docs/components/meta/title.ts +91 -91
  71. package/docs/components/meta/tree-select.ts +199 -199
  72. package/docs/components/meta/tree.ts +219 -219
  73. package/docs/components/meta/vpanel.ts +19 -19
  74. package/docs/components/meta/workflow-viewer.ts +55 -55
  75. package/docs/components/number.md +124 -124
  76. package/docs/components/page.md +102 -102
  77. package/docs/components/panel.md +37 -37
  78. package/docs/components/radio.md +87 -87
  79. package/docs/components/rate.md +71 -71
  80. package/docs/components/select.md +133 -133
  81. package/docs/components/slider-captcha.md +41 -41
  82. package/docs/components/slider.md +101 -101
  83. package/docs/components/switch.md +90 -90
  84. package/docs/components/table-panel.md +312 -312
  85. package/docs/components/table.md +450 -450
  86. package/docs/components/tabs.md +26 -26
  87. package/docs/components/title.md +24 -24
  88. package/docs/components/tree.md +207 -207
  89. package/docs/components/upload.md +117 -117
  90. package/docs/components/workflow-viewer.md +21 -21
  91. package/docs/components/workflow.md +21 -21
  92. package/docs/examples/autocomplete/advanced.vue +35 -35
  93. package/docs/examples/autocomplete/basic.vue +32 -32
  94. package/docs/examples/autocomplete/clearable.vue +33 -33
  95. package/docs/examples/autocomplete/custom-template.vue +49 -49
  96. package/docs/examples/autocomplete/disabled.vue +33 -33
  97. package/docs/examples/autocomplete/icon.vue +37 -37
  98. package/docs/examples/barcode/all-types.vue +380 -380
  99. package/docs/examples/barcode/basic.vue +14 -14
  100. package/docs/examples/barcode/props-appearance.vue +243 -243
  101. package/docs/examples/barcode/props-geometry.vue +143 -143
  102. package/docs/examples/barcode/props-logic.vue +216 -216
  103. package/docs/examples/barcode/props-symbology.vue +199 -199
  104. package/docs/examples/barcode/props-text.vue +268 -268
  105. package/docs/examples/button/basic.vue +7 -7
  106. package/docs/examples/button/disabled.vue +42 -42
  107. package/docs/examples/button/loading.vue +6 -6
  108. package/docs/examples/button/shape.vue +7 -7
  109. package/docs/examples/button/size.vue +14 -14
  110. package/docs/examples/button/status.vue +34 -34
  111. package/docs/examples/button/type.vue +10 -10
  112. package/docs/examples/button-select/basic.vue +19 -19
  113. package/docs/examples/buttons/basic.vue +62 -62
  114. package/docs/examples/buttons/disabled.vue +36 -36
  115. package/docs/examples/buttons/dropdown.vue +63 -63
  116. package/docs/examples/buttons/group.vue +52 -52
  117. package/docs/examples/buttons/link.vue +47 -47
  118. package/docs/examples/buttons/popup.vue +39 -39
  119. package/docs/examples/buttons/size.vue +45 -45
  120. package/docs/examples/card-list/basic.vue +70 -70
  121. package/docs/examples/card-list/selection-pagination.vue +69 -69
  122. package/docs/examples/cascader-select/basic.vue +28 -28
  123. package/docs/examples/cascader-select/clearable.vue +34 -34
  124. package/docs/examples/cascader-select/disabled.vue +43 -43
  125. package/docs/examples/cascader-select/filterable.vue +37 -37
  126. package/docs/examples/cascader-select/methods.vue +84 -84
  127. package/docs/examples/cascader-select/multiple.vue +38 -38
  128. package/docs/examples/cascader-select/slot.vue +45 -45
  129. package/docs/examples/checkbox/basic.vue +18 -18
  130. package/docs/examples/checkbox/button.vue +19 -19
  131. package/docs/examples/checkbox/color.vue +25 -25
  132. package/docs/examples/checkbox/disabled.vue +17 -17
  133. package/docs/examples/checkbox/min-max.vue +20 -20
  134. package/docs/examples/checkbox/mixed.vue +56 -56
  135. package/docs/examples/checkbox/size.vue +28 -28
  136. package/docs/examples/code-mirror/basic.vue +11 -11
  137. package/docs/examples/code-mirror/events.vue +42 -42
  138. package/docs/examples/code-mirror/height.vue +25 -25
  139. package/docs/examples/code-mirror/mode.vue +33 -33
  140. package/docs/examples/code-mirror/readonly.vue +14 -14
  141. package/docs/examples/collapse/basic.vue +82 -82
  142. package/docs/examples/comp/basic.vue +7 -7
  143. package/docs/examples/comp/collapse.vue +38 -38
  144. package/docs/examples/comp/tabs.vue +38 -38
  145. package/docs/examples/count/basic.vue +101 -101
  146. package/docs/examples/count-up/basic.vue +89 -89
  147. package/docs/examples/data-panel/basic.vue +110 -110
  148. package/docs/examples/date/basic.vue +73 -73
  149. package/docs/examples/date/default-value.vue +59 -59
  150. package/docs/examples/date/format.vue +75 -75
  151. package/docs/examples/date/range.vue +66 -66
  152. package/docs/examples/date/types.vue +79 -79
  153. package/docs/examples/decorated-title/basic.vue +31 -31
  154. package/docs/examples/dialog/basic.vue +36 -36
  155. package/docs/examples/dialog/custom-buttons.vue +44 -44
  156. package/docs/examples/dialog/fullscreen.vue +23 -23
  157. package/docs/examples/dialog/no-mask.vue +17 -17
  158. package/docs/examples/dialog/size.vue +44 -44
  159. package/docs/examples/dialog/steps.vue +57 -57
  160. package/docs/examples/dialog-full/basic.vue +29 -29
  161. package/docs/examples/dialog-full/custom-buttons.vue +45 -45
  162. package/docs/examples/dialog-full/no-buttons.vue +18 -18
  163. package/docs/examples/dialog-full/no-header.vue +27 -27
  164. package/docs/examples/dialog-full/steps.vue +71 -71
  165. package/docs/examples/divider/basic.vue +52 -52
  166. package/docs/examples/drawer/basic.vue +35 -35
  167. package/docs/examples/drawer/custom-buttons.vue +34 -34
  168. package/docs/examples/drawer/direction.vue +47 -47
  169. package/docs/examples/drawer/mask.vue +36 -36
  170. package/docs/examples/drawer/no-buttons.vue +20 -20
  171. package/docs/examples/drawer/size.vue +28 -28
  172. package/docs/examples/dynamic-layer/basic.vue +33 -33
  173. package/docs/examples/dynamic-layer/custom-buttons.vue +43 -43
  174. package/docs/examples/dynamic-layer/form.vue +73 -73
  175. package/docs/examples/dynamic-layer/steps.vue +52 -52
  176. package/docs/examples/dynamic-layer/types.vue +40 -40
  177. package/docs/examples/echarts/basic.vue +31 -31
  178. package/docs/examples/echarts/dynamic.vue +43 -43
  179. package/docs/examples/echarts/line.vue +46 -46
  180. package/docs/examples/echarts/pie.vue +44 -44
  181. package/docs/examples/editor/basic.vue +15 -15
  182. package/docs/examples/form/basic.vue +686 -686
  183. package/docs/examples/form/init.vue +76 -76
  184. package/docs/examples/form/master-detail.vue +203 -203
  185. package/docs/examples/form/rule-format.vue +179 -179
  186. package/docs/examples/form/view-table.vue +378 -378
  187. package/docs/examples/guid/basic.vue +10 -10
  188. package/docs/examples/guid/size.vue +13 -13
  189. package/docs/examples/hpanel/basic.vue +79 -79
  190. package/docs/examples/icon/basic.vue +9 -9
  191. package/docs/examples/icon/rotate-flip.vue +9 -9
  192. package/docs/examples/icon/size.vue +7 -7
  193. package/docs/examples/input/basic.vue +10 -10
  194. package/docs/examples/input/clearable.vue +12 -12
  195. package/docs/examples/input/disabled.vue +6 -6
  196. package/docs/examples/input/icon.vue +23 -23
  197. package/docs/examples/input/password.vue +18 -18
  198. package/docs/examples/input/size.vue +13 -13
  199. package/docs/examples/input/textarea.vue +25 -25
  200. package/docs/examples/input/word-limit.vue +28 -28
  201. package/docs/examples/input-button/basic.vue +33 -33
  202. package/docs/examples/input-cards/basic.vue +79 -79
  203. package/docs/examples/input-code/basic.vue +29 -29
  204. package/docs/examples/input-color/basic.vue +10 -10
  205. package/docs/examples/input-color/disabled.vue +13 -13
  206. package/docs/examples/input-color/format.vue +17 -17
  207. package/docs/examples/input-color/no-alpha.vue +13 -13
  208. package/docs/examples/input-color/only-button.vue +15 -15
  209. package/docs/examples/input-color/predefine.vue +31 -31
  210. package/docs/examples/input-color/size.vue +15 -15
  211. package/docs/examples/input-layer/basic.vue +85 -85
  212. package/docs/examples/input-layer/render-vnode-page.vue +160 -160
  213. package/docs/examples/input-layer/render-vnode.vue +127 -127
  214. package/docs/examples/input-rows/basic.vue +73 -73
  215. package/docs/examples/input-rows/drag.vue +48 -48
  216. package/docs/examples/input-rows/layer-form.vue +85 -85
  217. package/docs/examples/input-rows/nested.vue +91 -91
  218. package/docs/examples/input-tag/basic.vue +27 -27
  219. package/docs/examples/input-tag/colors.vue +23 -23
  220. package/docs/examples/input-tag/readonly.vue +17 -17
  221. package/docs/examples/layer/basic.vue +43 -43
  222. package/docs/examples/layer/custom-buttons.vue +61 -61
  223. package/docs/examples/layer/drawer.vue +37 -37
  224. package/docs/examples/layer/full.vue +38 -38
  225. package/docs/examples/layer/modal.vue +34 -34
  226. package/docs/examples/layer/steps.vue +46 -46
  227. package/docs/examples/layer-form/basic.vue +76 -76
  228. package/docs/examples/layer-form/config.vue +82 -82
  229. package/docs/examples/layer-form/size.vue +72 -72
  230. package/docs/examples/layout/basic.vue +36 -36
  231. package/docs/examples/layout/custom-size.vue +50 -50
  232. package/docs/examples/layout/disable-move.vue +37 -37
  233. package/docs/examples/layout/hide-mid-when-narrow.vue +96 -96
  234. package/docs/examples/layout/min-size.vue +73 -73
  235. package/docs/examples/layout/percent-size.vue +80 -80
  236. package/docs/examples/layout/simple.vue +22 -22
  237. package/docs/examples/layout/top-side.vue +34 -34
  238. package/docs/examples/map/basic.vue +22 -22
  239. package/docs/examples/menu/basic.vue +58 -58
  240. package/docs/examples/menu/collapsed.vue +49 -49
  241. package/docs/examples/menu/horizontal.vue +44 -44
  242. package/docs/examples/menu/selection-test.vue +104 -104
  243. package/docs/examples/menu/theme.vue +46 -46
  244. package/docs/examples/menu/vertical.vue +46 -46
  245. package/docs/examples/number/advanced.vue +143 -143
  246. package/docs/examples/number/basic.vue +63 -63
  247. package/docs/examples/number/disabled.vue +49 -49
  248. package/docs/examples/number/size.vue +42 -42
  249. package/docs/examples/number/slots.vue +123 -123
  250. package/docs/examples/number/step-strictly.vue +41 -41
  251. package/docs/examples/number/step.vue +47 -47
  252. package/docs/examples/page/basic.vue +41 -41
  253. package/docs/examples/page/code-table-model.vue +428 -428
  254. package/docs/examples/page/dept-user-management.vue +211 -211
  255. package/docs/examples/page/init.vue +87 -87
  256. package/docs/examples/page/log.vue +453 -453
  257. package/docs/examples/page/user-management.vue +313 -313
  258. package/docs/examples/panel/tool-buttons.vue +18 -18
  259. package/docs/examples/radio/basic.vue +17 -17
  260. package/docs/examples/radio/button.vue +17 -17
  261. package/docs/examples/radio/color.vue +18 -18
  262. package/docs/examples/radio/disabled.vue +17 -17
  263. package/docs/examples/radio/size.vue +29 -29
  264. package/docs/examples/rate/basic.vue +24 -24
  265. package/docs/examples/rate/half.vue +24 -24
  266. package/docs/examples/rate/readonly.vue +11 -11
  267. package/docs/examples/rate/text.vue +37 -37
  268. package/docs/examples/select/basic.vue +16 -16
  269. package/docs/examples/select/clearable.vue +22 -22
  270. package/docs/examples/select/disabled.vue +31 -31
  271. package/docs/examples/select/filterable.vue +24 -24
  272. package/docs/examples/select/group.vue +23 -23
  273. package/docs/examples/select/icon.vue +16 -16
  274. package/docs/examples/select/multiple.vue +18 -18
  275. package/docs/examples/select/size.vue +39 -39
  276. package/docs/examples/slider/basic.vue +42 -42
  277. package/docs/examples/slider/disabled.vue +17 -17
  278. package/docs/examples/slider/marks.vue +30 -30
  279. package/docs/examples/slider/size.vue +37 -37
  280. package/docs/examples/slider/tooltip.vue +36 -36
  281. package/docs/examples/slider/vertical.vue +26 -26
  282. package/docs/examples/slider-captcha/basic.vue +44 -44
  283. package/docs/examples/slider-captcha/custom.vue +48 -48
  284. package/docs/examples/switch/basic.vue +16 -16
  285. package/docs/examples/switch/disabled.vue +13 -13
  286. package/docs/examples/switch/loading.vue +13 -13
  287. package/docs/examples/switch/size.vue +15 -15
  288. package/docs/examples/switch/text.vue +13 -13
  289. package/docs/examples/table/action-filter.vue +126 -126
  290. package/docs/examples/table/actions.vue +116 -116
  291. package/docs/examples/table/add-row.vue +103 -103
  292. package/docs/examples/table/basic.vue +168 -168
  293. package/docs/examples/table/checkbox-layout.vue +68 -68
  294. package/docs/examples/table/column-filter.vue +96 -96
  295. package/docs/examples/table/custom-layout.vue +115 -115
  296. package/docs/examples/table/dynamic-type.vue +73 -73
  297. package/docs/examples/table/editable.vue +262 -262
  298. package/docs/examples/table/field-selection.vue +87 -87
  299. package/docs/examples/table/frozen-column.vue +140 -140
  300. package/docs/examples/table/height-mode.vue +99 -99
  301. package/docs/examples/table/icon.vue +85 -85
  302. package/docs/examples/table/layer-form.vue +133 -133
  303. package/docs/examples/table/link.vue +66 -66
  304. package/docs/examples/table/multiple-disabled.vue +112 -112
  305. package/docs/examples/table/multiple.vue +188 -188
  306. package/docs/examples/table/pagination.vue +151 -151
  307. package/docs/examples/table/row-drag.vue +67 -67
  308. package/docs/examples/table/single-selection.vue +64 -64
  309. package/docs/examples/table/sub-table-lazy.vue +97 -97
  310. package/docs/examples/table/sub-table.vue +103 -103
  311. package/docs/examples/table/tag.vue +43 -43
  312. package/docs/examples/table/tree-column.vue +119 -119
  313. package/docs/examples/table/tree-data.vue +141 -141
  314. package/docs/examples/table/tree-default-expand-all.vue +60 -60
  315. package/docs/examples/table/tree-lazy.vue +80 -80
  316. package/docs/examples/table/tree-set-selection.vue +75 -75
  317. package/docs/examples/table-panel/basic.vue +229 -229
  318. package/docs/examples/table-panel/batch-operations.vue +286 -286
  319. package/docs/examples/table-panel/button-visibility.vue +88 -88
  320. package/docs/examples/table-panel/card.vue +101 -101
  321. package/docs/examples/table-panel/column-filter.vue +116 -116
  322. package/docs/examples/table-panel/filter.vue +219 -219
  323. package/docs/examples/table-panel/get-selection.vue +111 -111
  324. package/docs/examples/table-panel/mask.vue +151 -151
  325. package/docs/examples/table-panel/model-value.vue +87 -87
  326. package/docs/examples/table-panel/multiple-selection.vue +243 -243
  327. package/docs/examples/table-panel/pagination.vue +133 -133
  328. package/docs/examples/table-panel/search-list.vue +207 -207
  329. package/docs/examples/table-panel/sub-table-lazy.vue +118 -118
  330. package/docs/examples/table-panel/tree-parent-key.vue +67 -67
  331. package/docs/examples/tabs/basic.vue +98 -98
  332. package/docs/examples/time/base.vue +67 -67
  333. package/docs/examples/title/basic.vue +87 -87
  334. package/docs/examples/tree/accordion.vue +46 -46
  335. package/docs/examples/tree/basic.vue +50 -50
  336. package/docs/examples/tree/buttons.vue +53 -53
  337. package/docs/examples/tree/checkable.vue +52 -52
  338. package/docs/examples/tree/custom-keys.vue +39 -39
  339. package/docs/examples/tree/default-expanded.vue +52 -52
  340. package/docs/examples/tree/draggable.vue +29 -29
  341. package/docs/examples/tree/expand-on-click.vue +39 -39
  342. package/docs/examples/tree/flat-data.vue +20 -20
  343. package/docs/examples/tree/icon.vue +40 -40
  344. package/docs/examples/tree/load-data.vue +37 -37
  345. package/docs/examples/tree/methods.vue +74 -74
  346. package/docs/examples/tree/theme.vue +33 -33
  347. package/docs/examples/tree-select/basic.vue +47 -47
  348. package/docs/examples/upload/accept.vue +31 -31
  349. package/docs/examples/upload/basic.vue +12 -12
  350. package/docs/examples/upload/drag.vue +11 -11
  351. package/docs/examples/upload/image.vue +17 -17
  352. package/docs/examples/upload/limit.vue +20 -20
  353. package/docs/examples/upload/multiple.vue +17 -17
  354. package/docs/examples/upload/readonly.vue +17 -17
  355. package/docs/examples/utils/cipher.vue +160 -160
  356. package/docs/examples/utils/common.vue +153 -153
  357. package/docs/examples/utils/date.vue +56 -56
  358. package/docs/examples/utils/dom.vue +52 -52
  359. package/docs/examples/utils/is.vue +70 -70
  360. package/docs/examples/workflow/basic.vue +265 -265
  361. package/docs/examples/workflow-viewer/basic.vue +248 -248
  362. package/package.json +23 -23
@@ -1,110 +1,110 @@
1
- <template>
2
- <div class="data-panel-demo">
3
- <div class="demo-item">
4
- <p>基础用法 - 带标题的面板:</p>
5
- <j-data-panel title="数据面板">
6
- <div style="padding: 16px">
7
- <p>这是一个数据展示面板</p>
8
- <p>可以在其中放置任何内容</p>
9
- </div>
10
- </j-data-panel>
11
- </div>
12
-
13
- <div class="demo-item">
14
- <p>无标题面板:</p>
15
- <j-data-panel>
16
- <div style="padding: 16px">
17
- <p>没有标题的面板</p>
18
- </div>
19
- </j-data-panel>
20
- </div>
21
-
22
- <div class="demo-item">
23
- <p>带标题右侧内容:</p>
24
- <j-data-panel title="用户数据">
25
- <template #titleRight>
26
- <j-button icon="mdi:refresh"></j-button>
27
- </template>
28
- <div style="padding: 16px">
29
- <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 16px">
30
- <div>
31
- <div style="color: var(--j-color-text-2); font-size: 12px; margin-bottom: 4px">
32
- 用户总数
33
- </div>
34
- <div style="font-size: 24px; font-weight: bold; color: var(--j-color-primary)">
35
- 1,234
36
- </div>
37
- </div>
38
- <div>
39
- <div style="color: var(--j-color-text-2); font-size: 12px; margin-bottom: 4px">
40
- 活跃用户
41
- </div>
42
- <div style="font-size: 24px; font-weight: bold; color: var(--j-color-success)">
43
- 856
44
- </div>
45
- </div>
46
- <div>
47
- <div style="color: var(--j-color-text-2); font-size: 12px; margin-bottom: 4px">
48
- 待审核
49
- </div>
50
- <div style="font-size: 24px; font-weight: bold; color: var(--j-color-warning)">
51
- 45
52
- </div>
53
- </div>
54
- <div>
55
- <div style="color: var(--j-color-text-2); font-size: 12px; margin-bottom: 4px">
56
- 异常
57
- </div>
58
- <div style="font-size: 24px; font-weight: bold; color: var(--j-color-danger)">12</div>
59
- </div>
60
- </div>
61
- </div>
62
- </j-data-panel>
63
- </div>
64
-
65
- <div class="demo-item">
66
- <p>多个面板并排显示:</p>
67
- <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 16px">
68
- <j-data-panel title="收入统计">
69
- <div style="padding: 16px">
70
- <div style="font-size: 20px; font-weight: bold; color: var(--j-color-primary)">
71
- ¥ 128,500
72
- </div>
73
- <div style="color: var(--j-color-text-2); font-size: 12px; margin-top: 8px">
74
- 本月收入
75
- </div>
76
- </div>
77
- </j-data-panel>
78
- <j-data-panel title="支出统计">
79
- <div style="padding: 16px">
80
- <div style="font-size: 20px; font-weight: bold; color: var(--j-color-danger)">
81
- ¥ 32,100
82
- </div>
83
- <div style="color: var(--j-color-text-2); font-size: 12px; margin-top: 8px">
84
- 本月支出
85
- </div>
86
- </div>
87
- </j-data-panel>
88
- </div>
89
- </div>
90
- </div>
91
- </template>
92
-
93
- <script setup lang="ts">
94
- // 示例代码无需额外逻辑
95
- </script>
96
-
97
- <style scoped>
98
- .data-panel-demo {
99
- display: flex;
100
- flex-direction: column;
101
- gap: 20px;
102
- }
103
-
104
- .demo-item p {
105
- margin-bottom: 12px;
106
- font-size: 14px;
107
- color: var(--j-color-text-2);
108
- font-weight: 500;
109
- }
110
- </style>
1
+ <template>
2
+ <div class="data-panel-demo">
3
+ <div class="demo-item">
4
+ <p>基础用法 - 带标题的面板:</p>
5
+ <j-data-panel title="数据面板">
6
+ <div style="padding: 16px">
7
+ <p>这是一个数据展示面板</p>
8
+ <p>可以在其中放置任何内容</p>
9
+ </div>
10
+ </j-data-panel>
11
+ </div>
12
+
13
+ <div class="demo-item">
14
+ <p>无标题面板:</p>
15
+ <j-data-panel>
16
+ <div style="padding: 16px">
17
+ <p>没有标题的面板</p>
18
+ </div>
19
+ </j-data-panel>
20
+ </div>
21
+
22
+ <div class="demo-item">
23
+ <p>带标题右侧内容:</p>
24
+ <j-data-panel title="用户数据">
25
+ <template #titleRight>
26
+ <j-button icon="mdi:refresh"></j-button>
27
+ </template>
28
+ <div style="padding: 16px">
29
+ <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 16px">
30
+ <div>
31
+ <div style="color: var(--j-color-text-2); font-size: 12px; margin-bottom: 4px">
32
+ 用户总数
33
+ </div>
34
+ <div style="font-size: 24px; font-weight: bold; color: var(--j-color-primary)">
35
+ 1,234
36
+ </div>
37
+ </div>
38
+ <div>
39
+ <div style="color: var(--j-color-text-2); font-size: 12px; margin-bottom: 4px">
40
+ 活跃用户
41
+ </div>
42
+ <div style="font-size: 24px; font-weight: bold; color: var(--j-color-success)">
43
+ 856
44
+ </div>
45
+ </div>
46
+ <div>
47
+ <div style="color: var(--j-color-text-2); font-size: 12px; margin-bottom: 4px">
48
+ 待审核
49
+ </div>
50
+ <div style="font-size: 24px; font-weight: bold; color: var(--j-color-warning)">
51
+ 45
52
+ </div>
53
+ </div>
54
+ <div>
55
+ <div style="color: var(--j-color-text-2); font-size: 12px; margin-bottom: 4px">
56
+ 异常
57
+ </div>
58
+ <div style="font-size: 24px; font-weight: bold; color: var(--j-color-danger)">12</div>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ </j-data-panel>
63
+ </div>
64
+
65
+ <div class="demo-item">
66
+ <p>多个面板并排显示:</p>
67
+ <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 16px">
68
+ <j-data-panel title="收入统计">
69
+ <div style="padding: 16px">
70
+ <div style="font-size: 20px; font-weight: bold; color: var(--j-color-primary)">
71
+ ¥ 128,500
72
+ </div>
73
+ <div style="color: var(--j-color-text-2); font-size: 12px; margin-top: 8px">
74
+ 本月收入
75
+ </div>
76
+ </div>
77
+ </j-data-panel>
78
+ <j-data-panel title="支出统计">
79
+ <div style="padding: 16px">
80
+ <div style="font-size: 20px; font-weight: bold; color: var(--j-color-danger)">
81
+ ¥ 32,100
82
+ </div>
83
+ <div style="color: var(--j-color-text-2); font-size: 12px; margin-top: 8px">
84
+ 本月支出
85
+ </div>
86
+ </div>
87
+ </j-data-panel>
88
+ </div>
89
+ </div>
90
+ </div>
91
+ </template>
92
+
93
+ <script setup lang="ts">
94
+ // 示例代码无需额外逻辑
95
+ </script>
96
+
97
+ <style scoped>
98
+ .data-panel-demo {
99
+ display: flex;
100
+ flex-direction: column;
101
+ gap: 20px;
102
+ }
103
+
104
+ .demo-item p {
105
+ margin-bottom: 12px;
106
+ font-size: 14px;
107
+ color: var(--j-color-text-2);
108
+ font-weight: 500;
109
+ }
110
+ </style>
@@ -1,73 +1,73 @@
1
- <template>
2
- <div class="demo-date-basic">
3
- <div class="block">
4
- <span class="demonstration">Default</span>
5
- <j-date v-model="value1" placeholder="Pick a day" />
6
- </div>
7
- <div class="block">
8
- <span class="demonstration">Picker with quick options</span>
9
- <j-date
10
- v-model="value2"
11
- placeholder="Pick a day"
12
- :disabled-date="disabledDate"
13
- :shortcuts="shortcuts"
14
- />
15
- </div>
16
- </div>
17
- </template>
18
-
19
- <script setup lang="ts">
20
- import { ref } from 'vue'
21
-
22
- const value1 = ref('')
23
- const value2 = ref('')
24
-
25
- const shortcuts = [
26
- {
27
- text: 'Today',
28
- value: new Date(),
29
- },
30
- {
31
- text: 'Yesterday',
32
- value: () => {
33
- const date = new Date()
34
- date.setTime(date.getTime() - 3600 * 1000 * 24)
35
- return date
36
- },
37
- },
38
- {
39
- text: 'A week ago',
40
- value: () => {
41
- const date = new Date()
42
- date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)
43
- return date
44
- },
45
- },
46
- ]
47
-
48
- const disabledDate = (time: Date) => {
49
- return time.getTime() > Date.now()
50
- }
51
- </script>
52
-
53
- <style scoped>
54
- .demo-date-basic {
55
- display: flex;
56
- flex-wrap: wrap;
57
- }
58
- .demo-date-basic .block {
59
- padding: 30px 0;
60
- text-align: center;
61
- border-right: solid 1px var(--el-border-color);
62
- flex: 1;
63
- }
64
- .demo-date-basic .block:last-child {
65
- border-right: none;
66
- }
67
- .demo-date-basic .demonstration {
68
- display: block;
69
- color: var(--el-text-color-secondary);
70
- font-size: 14px;
71
- margin-bottom: 20px;
72
- }
73
- </style>
1
+ <template>
2
+ <div class="demo-date-basic">
3
+ <div class="block">
4
+ <span class="demonstration">Default</span>
5
+ <j-date v-model="value1" placeholder="Pick a day" />
6
+ </div>
7
+ <div class="block">
8
+ <span class="demonstration">Picker with quick options</span>
9
+ <j-date
10
+ v-model="value2"
11
+ placeholder="Pick a day"
12
+ :disabled-date="disabledDate"
13
+ :shortcuts="shortcuts"
14
+ />
15
+ </div>
16
+ </div>
17
+ </template>
18
+
19
+ <script setup lang="ts">
20
+ import { ref } from 'vue'
21
+
22
+ const value1 = ref('')
23
+ const value2 = ref('')
24
+
25
+ const shortcuts = [
26
+ {
27
+ text: 'Today',
28
+ value: new Date(),
29
+ },
30
+ {
31
+ text: 'Yesterday',
32
+ value: () => {
33
+ const date = new Date()
34
+ date.setTime(date.getTime() - 3600 * 1000 * 24)
35
+ return date
36
+ },
37
+ },
38
+ {
39
+ text: 'A week ago',
40
+ value: () => {
41
+ const date = new Date()
42
+ date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)
43
+ return date
44
+ },
45
+ },
46
+ ]
47
+
48
+ const disabledDate = (time: Date) => {
49
+ return time.getTime() > Date.now()
50
+ }
51
+ </script>
52
+
53
+ <style scoped>
54
+ .demo-date-basic {
55
+ display: flex;
56
+ flex-wrap: wrap;
57
+ }
58
+ .demo-date-basic .block {
59
+ padding: 30px 0;
60
+ text-align: center;
61
+ border-right: solid 1px var(--el-border-color);
62
+ flex: 1;
63
+ }
64
+ .demo-date-basic .block:last-child {
65
+ border-right: none;
66
+ }
67
+ .demo-date-basic .demonstration {
68
+ display: block;
69
+ color: var(--el-text-color-secondary);
70
+ font-size: 14px;
71
+ margin-bottom: 20px;
72
+ }
73
+ </style>
@@ -1,59 +1,59 @@
1
- <template>
2
- <div class="demo-date-default">
3
- <div class="block">
4
- <span class="demonstration">Default Value</span>
5
- <j-date
6
- v-model="value1"
7
- select-type="date"
8
- placeholder="Pick a day"
9
- :default-value="new Date(2010, 9, 1)"
10
- />
11
- </div>
12
- <div class="block">
13
- <span class="demonstration">Default Time for Range</span>
14
- <j-date
15
- v-model="value2"
16
- select-type="datetimerange"
17
- start-placeholder="Start Date"
18
- end-placeholder="End Date"
19
- :default-time="defaultTime"
20
- />
21
- </div>
22
- </div>
23
- </template>
24
-
25
- <script setup lang="ts">
26
- import { ref } from 'vue'
27
-
28
- const value1 = ref('')
29
- const value2 = ref('')
30
-
31
- const defaultTime = [
32
- new Date(2000, 1, 1, 12, 0, 0),
33
- new Date(2000, 2, 1, 8, 0, 0),
34
- ]
35
- </script>
36
-
37
- <style scoped>
38
- .demo-date-default {
39
- display: flex;
40
- flex-wrap: wrap;
41
- gap: 20px;
42
- }
43
- .demo-date-default .block {
44
- padding: 30px 0;
45
- text-align: center;
46
- border-right: solid 1px var(--el-border-color);
47
- flex: 1;
48
- min-width: 300px;
49
- }
50
- .demo-date-default .block:last-child {
51
- border-right: none;
52
- }
53
- .demo-date-default .demonstration {
54
- display: block;
55
- color: var(--el-text-color-secondary);
56
- font-size: 14px;
57
- margin-bottom: 20px;
58
- }
59
- </style>
1
+ <template>
2
+ <div class="demo-date-default">
3
+ <div class="block">
4
+ <span class="demonstration">Default Value</span>
5
+ <j-date
6
+ v-model="value1"
7
+ select-type="date"
8
+ placeholder="Pick a day"
9
+ :default-value="new Date(2010, 9, 1)"
10
+ />
11
+ </div>
12
+ <div class="block">
13
+ <span class="demonstration">Default Time for Range</span>
14
+ <j-date
15
+ v-model="value2"
16
+ select-type="datetimerange"
17
+ start-placeholder="Start Date"
18
+ end-placeholder="End Date"
19
+ :default-time="defaultTime"
20
+ />
21
+ </div>
22
+ </div>
23
+ </template>
24
+
25
+ <script setup lang="ts">
26
+ import { ref } from 'vue'
27
+
28
+ const value1 = ref('')
29
+ const value2 = ref('')
30
+
31
+ const defaultTime = [
32
+ new Date(2000, 1, 1, 12, 0, 0),
33
+ new Date(2000, 2, 1, 8, 0, 0),
34
+ ]
35
+ </script>
36
+
37
+ <style scoped>
38
+ .demo-date-default {
39
+ display: flex;
40
+ flex-wrap: wrap;
41
+ gap: 20px;
42
+ }
43
+ .demo-date-default .block {
44
+ padding: 30px 0;
45
+ text-align: center;
46
+ border-right: solid 1px var(--el-border-color);
47
+ flex: 1;
48
+ min-width: 300px;
49
+ }
50
+ .demo-date-default .block:last-child {
51
+ border-right: none;
52
+ }
53
+ .demo-date-default .demonstration {
54
+ display: block;
55
+ color: var(--el-text-color-secondary);
56
+ font-size: 14px;
57
+ margin-bottom: 20px;
58
+ }
59
+ </style>
@@ -1,75 +1,75 @@
1
- <template>
2
- <div class="demo-date-format">
3
- <div class="block">
4
- <span class="demonstration">Format</span>
5
- <div class="demonstration-value">Value: {{ value1 }}</div>
6
- <j-date
7
- v-model="value1"
8
- select-type="date"
9
- placeholder="Pick a day"
10
- format="YYYY/MM/DD"
11
- value-format="YYYY-MM-DD"
12
- />
13
- </div>
14
- <div class="block">
15
- <span class="demonstration">Timestamp</span>
16
- <div class="demonstration-value">Value: {{ value2 }}</div>
17
- <j-date
18
- v-model="value2"
19
- select-type="date"
20
- placeholder="Pick a day"
21
- format="YYYY/MM/DD"
22
- value-format="x"
23
- />
24
- </div>
25
- <div class="block">
26
- <span class="demonstration">Month Format</span>
27
- <div class="demonstration-value">Value: {{ value3 }}</div>
28
- <j-date
29
- v-model="value3"
30
- select-type="month"
31
- placeholder="Pick a month"
32
- format="MMM"
33
- value-format="M"
34
- />
35
- </div>
36
- </div>
37
- </template>
38
-
39
- <script setup lang="ts">
40
- import { ref } from 'vue'
41
-
42
- const value1 = ref('')
43
- const value2 = ref('')
44
- const value3 = ref('')
45
- </script>
46
-
47
- <style scoped>
48
- .demo-date-format {
49
- display: flex;
50
- flex-wrap: wrap;
51
- gap: 20px;
52
- }
53
- .demo-date-format .block {
54
- padding: 30px 0;
55
- text-align: center;
56
- border-right: solid 1px var(--el-border-color);
57
- flex: 1;
58
- min-width: 300px;
59
- }
60
- .demo-date-format .block:last-child {
61
- border-right: none;
62
- }
63
- .demo-date-format .demonstration {
64
- display: block;
65
- color: var(--el-text-color-secondary);
66
- font-size: 14px;
67
- margin-bottom: 20px;
68
- }
69
- .demo-date-format .demonstration-value {
70
- display: block;
71
- color: var(--el-text-color-primary);
72
- font-size: 12px;
73
- margin-bottom: 10px;
74
- }
75
- </style>
1
+ <template>
2
+ <div class="demo-date-format">
3
+ <div class="block">
4
+ <span class="demonstration">Format</span>
5
+ <div class="demonstration-value">Value: {{ value1 }}</div>
6
+ <j-date
7
+ v-model="value1"
8
+ select-type="date"
9
+ placeholder="Pick a day"
10
+ format="YYYY/MM/DD"
11
+ value-format="YYYY-MM-DD"
12
+ />
13
+ </div>
14
+ <div class="block">
15
+ <span class="demonstration">Timestamp</span>
16
+ <div class="demonstration-value">Value: {{ value2 }}</div>
17
+ <j-date
18
+ v-model="value2"
19
+ select-type="date"
20
+ placeholder="Pick a day"
21
+ format="YYYY/MM/DD"
22
+ value-format="x"
23
+ />
24
+ </div>
25
+ <div class="block">
26
+ <span class="demonstration">Month Format</span>
27
+ <div class="demonstration-value">Value: {{ value3 }}</div>
28
+ <j-date
29
+ v-model="value3"
30
+ select-type="month"
31
+ placeholder="Pick a month"
32
+ format="MMM"
33
+ value-format="M"
34
+ />
35
+ </div>
36
+ </div>
37
+ </template>
38
+
39
+ <script setup lang="ts">
40
+ import { ref } from 'vue'
41
+
42
+ const value1 = ref('')
43
+ const value2 = ref('')
44
+ const value3 = ref('')
45
+ </script>
46
+
47
+ <style scoped>
48
+ .demo-date-format {
49
+ display: flex;
50
+ flex-wrap: wrap;
51
+ gap: 20px;
52
+ }
53
+ .demo-date-format .block {
54
+ padding: 30px 0;
55
+ text-align: center;
56
+ border-right: solid 1px var(--el-border-color);
57
+ flex: 1;
58
+ min-width: 300px;
59
+ }
60
+ .demo-date-format .block:last-child {
61
+ border-right: none;
62
+ }
63
+ .demo-date-format .demonstration {
64
+ display: block;
65
+ color: var(--el-text-color-secondary);
66
+ font-size: 14px;
67
+ margin-bottom: 20px;
68
+ }
69
+ .demo-date-format .demonstration-value {
70
+ display: block;
71
+ color: var(--el-text-color-primary);
72
+ font-size: 12px;
73
+ margin-bottom: 10px;
74
+ }
75
+ </style>