@web-utils/component 4.0.15 → 5.0.0-beta01

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 (307) hide show
  1. package/address-input/index.mjs +76 -76
  2. package/affix/index.mjs +71 -78
  3. package/aside-menu/index.mjs +20 -31
  4. package/avatar/index.mjs +94 -82
  5. package/awesome-button/index.mjs +54 -71
  6. package/capsule-tab/index.mjs +27 -32
  7. package/card/index.mjs +86 -71
  8. package/carousel/index.mjs +45 -34
  9. package/chat/index.mjs +440 -276
  10. package/chunk-file-uploader/index.mjs +2 -445
  11. package/chunk-file-uploader/style.css +1 -1
  12. package/chunks/ChunkFileUploader.C3EA0e5t.mjs +114 -0
  13. package/chunks/EditableTree.C_IJBL5b.mjs +648 -0
  14. package/chunks/ElementBaseInfo.DyuFR6fE.mjs +209 -0
  15. package/chunks/ElementDialog.C0IjriTW.mjs +681 -0
  16. package/chunks/ElementForm.ButuYDPA.mjs +627 -0
  17. package/chunks/ElementListeners.Dg3e_dmp.mjs +656 -0
  18. package/chunks/ElementMultiInstance.Dmi79FqA.mjs +290 -0
  19. package/chunks/ElementOtherConfig.C2AddGTp.mjs +51 -0
  20. package/chunks/ElementProperties.CfV8UF7L.mjs +196 -0
  21. package/chunks/ElementTaskConfig.Bn7ycGGn.mjs +446 -0
  22. package/chunks/FlowCondition.C6PdqOAW.mjs +194 -0
  23. package/chunks/FlowDesigner.uJYFfKpR.mjs +5101 -0
  24. package/chunks/FormBlock.BEENc22F.mjs +117 -0
  25. package/chunks/FormCascader.CaM-oEhv.mjs +1226 -0
  26. package/chunks/FormInputTime.Bg3UIP8H.mjs +1773 -0
  27. package/chunks/FormItem.H9OOvNzT.mjs +90 -0
  28. package/chunks/FormItemGroup.D9eRy-cZ.mjs +147 -0
  29. package/chunks/FormSelect.CanodoAI.mjs +1472 -0
  30. package/chunks/FormSwitch.DTqdaFjv.mjs +296 -0
  31. package/chunks/FormTemp.DiI5EfgK.mjs +139 -0
  32. package/chunks/FyCurd.DMj1dMK9.mjs +2622 -0
  33. package/chunks/FyForm.vgR8ujEF.mjs +904 -0
  34. package/chunks/FyFormDesign.DEWT6LsX.mjs +5600 -0
  35. package/chunks/FyUEditor.D_rEYfll.mjs +221 -0
  36. package/chunks/FyUpload.B2QKfTxF.mjs +504 -0
  37. package/chunks/Keyboard.ItiRy7Gb.mjs +379 -0
  38. package/chunks/MonacoEditor.Bd5Kui-Y.mjs +301 -0
  39. package/chunks/PageableTable.Bujb0NUx.mjs +658 -0
  40. package/chunks/RecordVideo.B35_dLty.mjs +116 -0
  41. package/chunks/SignalAndMessage.CYVzlFuL.mjs +198 -0
  42. package/chunks/SplitPane.Dw96M0Yf.mjs +219 -0
  43. package/chunks/TableColumn.DJYkznbJ.mjs +180 -0
  44. package/chunks/TableView.DyIdIxAg.mjs +484 -0
  45. package/chunks/Toolbar.DHuXJAoG.mjs +219 -0
  46. package/chunks/UserTaskListeners.Bp-2qkHs.mjs +599 -0
  47. package/chunks/VueCron.GfjodnyM.mjs +1766 -0
  48. package/chunks/VueTreeSelect.9Ywl-I8e.mjs +1872 -0
  49. package/chunks/_plugin-vue_export-helper.7vrlOII_.mjs +8 -0
  50. package/chunks/checkbox.emIuFmnt.mjs +437 -0
  51. package/chunks/confirmable-mixin.BBil7dto.mjs +1646 -0
  52. package/chunks/core.DJv6Qrae.mjs +51 -0
  53. package/chunks/dataformat.Bfr4nOcA.mjs +144 -0
  54. package/chunks/dic.DgDfnovD.mjs +116 -0
  55. package/chunks/dictionary.5eKjWeAp.mjs +19 -0
  56. package/chunks/dictionary.DxZxP0ej.mjs +87 -0
  57. package/chunks/event.B4iwtUNO.mjs +4 -0
  58. package/chunks/event.eJ-c1Z3a.mjs +224 -0
  59. package/chunks/focus-trap.DT4GnqQI.mjs +211 -0
  60. package/chunks/form-input.D25eDRMq.mjs +34 -0
  61. package/chunks/form-item.CgmUuw_n.mjs +714 -0
  62. package/chunks/form-pick.Axem0gOO.mjs +7 -0
  63. package/chunks/form-validate.B1KPCHqN.mjs +11 -0
  64. package/chunks/icon.CbS8-322.mjs +259 -0
  65. package/chunks/init.DwpukyOB.mjs +115 -0
  66. package/chunks/input.PejnqwSH.mjs +547 -0
  67. package/chunks/install.yLcn5MLL.mjs +84 -0
  68. package/chunks/message.BCmee5N0.mjs +400 -0
  69. package/chunks/overlay.DubSnqma.mjs +122 -0
  70. package/chunks/packages.BGjydzjm.mjs +56 -0
  71. package/chunks/permission.DgEVNWlh.mjs +16 -0
  72. package/chunks/photo-swipe.BB0SJZg9.mjs +55 -0
  73. package/chunks/radio.BotKXqJr.mjs +274 -0
  74. package/chunks/scroll.CzORc5Zk.mjs +28 -0
  75. package/chunks/scrollbar.CAmrlKi9.mjs +345 -0
  76. package/chunks/slot.C6Ozd2e7.mjs +25 -0
  77. package/chunks/style.BmlGmjpO.mjs +325 -0
  78. package/chunks/sub-table-plus-props.B_lLth3j.mjs +28 -0
  79. package/chunks/tab-mixin.u0EZpx3j.mjs +70 -0
  80. package/chunks/tag.DPi-PLbb.mjs +141 -0
  81. package/chunks/teleport._VGEzK4d.mjs +22 -0
  82. package/chunks/tooltip.D50x7Rva.mjs +1926 -0
  83. package/chunks/typescript.DiWBU4nj.mjs +4 -0
  84. package/chunks/use-aria.BW7nWOl1.mjs +17 -0
  85. package/chunks/use-composition.mUaomyno.mjs +47 -0
  86. package/chunks/use-deprecated.BfDSbZS9.mjs +12 -0
  87. package/chunks/use-empty-values.Dy_r78F6.mjs +263 -0
  88. package/chunks/use-form-item.wsRjehHp.mjs +47 -0
  89. package/chunks/use-global-config.C9hs-O_x.mjs +56 -0
  90. package/chunks/use-id.CFO5NeoV.mjs +15 -0
  91. package/chunks/use-size.DxrwTUwf.mjs +18 -0
  92. package/chunks/util.B3sjVZoZ.mjs +103 -0
  93. package/chunks/util.g-WQEec9.mjs +223 -0
  94. package/chunks/utilSelf.ZED4DmCU.mjs +46 -0
  95. package/chunks/utils.Cs2fYBrT.mjs +60 -0
  96. package/chunks/utils.DsGhtCIO.mjs +14 -0
  97. package/chunks/validator.C4-z_t9p.mjs +5 -0
  98. package/chunks/vnode.D_SioRnx.mjs +14 -0
  99. package/code-mirror-editor/index.mjs +89 -88
  100. package/comment/index.mjs +62 -57
  101. package/configComponents.mjs +40 -50
  102. package/confirm-button/index.mjs +34 -46
  103. package/confirmable/index.mjs +7 -17
  104. package/context-menu/index.mjs +195 -174
  105. package/count-up/index.mjs +97 -105
  106. package/custom-scrollbar/index.mjs +91 -98
  107. package/data-box/index.mjs +64 -47
  108. package/data-card/index.mjs +60 -49
  109. package/data-card-text/index.mjs +63 -51
  110. package/data-display/index.mjs +71 -53
  111. package/data-icons/index.mjs +70 -53
  112. package/data-imgtext/index.mjs +67 -46
  113. package/data-operatext/index.mjs +51 -42
  114. package/data-panel/index.mjs +57 -47
  115. package/data-pay/index.mjs +105 -52
  116. package/data-price/index.mjs +48 -42
  117. package/data-progress/index.mjs +67 -48
  118. package/data-rotate/index.mjs +61 -47
  119. package/data-table-picker/index.mjs +119 -74
  120. package/data-tabs/index.mjs +67 -47
  121. package/dialog-form/index.mjs +139 -89
  122. package/dynamic-table/index.mjs +166 -114
  123. package/e-charts/index.mjs +174 -200
  124. package/easy-popup/index.mjs +91 -102
  125. package/editable-progress/index.mjs +112 -85
  126. package/editable-tree/index.mjs +2 -485
  127. package/element-dialog/index.mjs +2 -307
  128. package/element-listeners/style.css +1 -0
  129. package/element-multi-instance/style.css +1 -0
  130. package/ellipsis/index.mjs +124 -148
  131. package/empty-view/index.mjs +48 -65
  132. package/error-view/index.mjs +39 -51
  133. package/flex-column/index.mjs +32 -51
  134. package/flex-item/index.mjs +54 -64
  135. package/flex-row/index.mjs +32 -39
  136. package/flex-scroller/index.mjs +29 -30
  137. package/flow/index.mjs +240 -248
  138. package/flow-designer/index.mjs +2 -5983
  139. package/flow-designer/style.css +1 -1
  140. package/flow-node/index.mjs +56 -64
  141. package/flow-viewer/index.mjs +159 -157
  142. package/form-block/index.mjs +2 -149
  143. package/form-button/index.mjs +35 -47
  144. package/form-card/index.mjs +14 -25
  145. package/form-cascader/index.mjs +2 -116
  146. package/form-checkbox/index.mjs +89 -71
  147. package/form-checkbox-group/index.mjs +161 -116
  148. package/form-date-picker/index.mjs +155 -144
  149. package/form-holder/index.mjs +137 -110
  150. package/form-input/index.mjs +113 -87
  151. package/form-input-cron-expression/index.mjs +97 -79
  152. package/form-input-email/index.mjs +64 -52
  153. package/form-input-id-card/index.mjs +72 -55
  154. package/form-input-phone-number/index.mjs +71 -57
  155. package/form-input-tag/index.mjs +88 -62
  156. package/form-input-time/index.mjs +2 -74
  157. package/form-item/index.mjs +2 -5
  158. package/form-item-config-provider/index.mjs +46 -60
  159. package/form-item-group/index.mjs +2 -160
  160. package/form-radio-group/index.mjs +161 -122
  161. package/form-select/index.mjs +2 -181
  162. package/form-switch/index.mjs +2 -55
  163. package/form-table/index.mjs +131 -85
  164. package/form-table-plus/index.mjs +164 -109
  165. package/form-textarea/index.mjs +90 -57
  166. package/form-tree-select/index.mjs +89 -72
  167. package/form-tree-select-multiple/index.mjs +92 -78
  168. package/form-view/index.mjs +275 -211
  169. package/fy-array/index.mjs +121 -74
  170. package/fy-article/index.mjs +73 -60
  171. package/fy-cascader/index.mjs +113 -91
  172. package/fy-checkbox/index.mjs +96 -66
  173. package/fy-code/index.mjs +48 -50
  174. package/fy-curd/index.mjs +2 -1903
  175. package/fy-date/index.mjs +76 -42
  176. package/fy-draggable/index.mjs +322 -318
  177. package/fy-dynamic/index.mjs +259 -227
  178. package/fy-empty/index.mjs +35 -36
  179. package/fy-form/index.mjs +2 -17
  180. package/fy-form-design/index.mjs +2 -2890
  181. package/fy-form-design/style.css +1 -1
  182. package/fy-from/crud/zh.d.ts +6 -6
  183. package/fy-input/index.mjs +117 -99
  184. package/fy-input-color/index.mjs +77 -56
  185. package/fy-input-icon/index.mjs +129 -85
  186. package/fy-input-map/index.mjs +242 -186
  187. package/fy-input-number/index.mjs +74 -50
  188. package/fy-input-table/index.mjs +160 -109
  189. package/fy-input-tree/index.mjs +259 -182
  190. package/fy-progress/index.mjs +36 -40
  191. package/fy-radio/index.mjs +53 -38
  192. package/fy-rate/index.mjs +86 -71
  193. package/fy-select/index.mjs +223 -140
  194. package/fy-slider/index.mjs +68 -44
  195. package/fy-switch/index.mjs +67 -42
  196. package/fy-tabs/index.mjs +46 -48
  197. package/fy-time/index.mjs +81 -53
  198. package/fy-title/index.mjs +18 -27
  199. package/fy-tree/index.mjs +382 -292
  200. package/fy-u-editor/index.mjs +2 -357
  201. package/fy-upload/index.mjs +2 -423
  202. package/guide-steps/index.mjs +72 -73
  203. package/helper-function.d.ts +2 -30
  204. package/helper-function.mjs +41 -67
  205. package/highlight-j-s/index.mjs +50 -59
  206. package/icon-card/index.mjs +34 -36
  207. package/icon-temp/index.mjs +27 -27
  208. package/iframe-window/index.mjs +39 -33
  209. package/image-cropper/index.mjs +171 -75
  210. package/image-preview/index.mjs +187 -118
  211. package/image-viewer/index.mjs +69 -66
  212. package/index.d.ts +3 -9
  213. package/index.mjs +173 -488
  214. package/input-number-range/index.mjs +78 -59
  215. package/j-s-x-component/index.mjs +13 -15
  216. package/keyboard/index.mjs +2 -369
  217. package/license/index.mjs +106 -115
  218. package/loading-view/index.mjs +39 -51
  219. package/login/index.mjs +252 -125
  220. package/monaco-editor/index.mjs +2 -7
  221. package/name-avatar/index.mjs +61 -53
  222. package/nav-bar/index.mjs +33 -31
  223. package/not-implement/index.mjs +10 -22
  224. package/notice/index.mjs +100 -94
  225. package/package.json +3 -3
  226. package/page/index.mjs +18 -25
  227. package/page-header/index.mjs +27 -33
  228. package/page-index/index.mjs +121 -100
  229. package/page-index-top/index.mjs +79 -79
  230. package/page-skeleton/index.mjs +48 -45
  231. package/page-skeleton-new/index.mjs +79 -50
  232. package/pageable-table/index.mjs +2 -522
  233. package/pageable-view/index.mjs +279 -275
  234. package/photo-swipe/index.d.ts +4 -0
  235. package/photo-swipe/index.mjs +33 -36
  236. package/picker-table-view/index.mjs +224 -126
  237. package/present-view/index.mjs +266 -200
  238. package/queue/index.mjs +45 -53
  239. package/record-video/index.mjs +2 -134
  240. package/resize-observer/index.mjs +43 -46
  241. package/search/index.mjs +116 -109
  242. package/sign/index.mjs +103 -110
  243. package/sign-panel/index.mjs +182 -141
  244. package/skeleton/index.mjs +51 -54
  245. package/skeleton-panel/index.mjs +33 -38
  246. package/split-pane/index.mjs +3 -197
  247. package/stateful/index.mjs +69 -73
  248. package/static-pageable-table/index.mjs +72 -66
  249. package/sub-table/index.mjs +508 -219
  250. package/sub-table-plus/index.mjs +592 -19
  251. package/swiper/index.mjs +128 -121
  252. package/tab/index.mjs +117 -119
  253. package/tab-item/index.mjs +48 -56
  254. package/table-column/index.mjs +2 -5
  255. package/table-view/index.mjs +3 -334
  256. package/tabs-view/index.mjs +109 -106
  257. package/tag-render/index.mjs +79 -69
  258. package/text-ellipsis/index.mjs +94 -78
  259. package/toolbar/index.mjs +2 -255
  260. package/toolbar-button/index.mjs +145 -121
  261. package/verify/index.mjs +58 -64
  262. package/vue-cron/index.mjs +2 -1188
  263. package/vue-qr-code/index.mjs +30 -54
  264. package/vue-quill-editor/index.mjs +123 -99
  265. package/vue-tags-input/index.mjs +348 -431
  266. package/vue-tree-select/index.mjs +2 -2627
  267. package/vue-video-player/index.mjs +135 -136
  268. package/watermark/index.mjs +46 -74
  269. package/web-types.json +197 -975
  270. package/x-input-tag/index.mjs +144 -109
  271. package/chunks/ElementTaskConfig.AvBOzAni.mjs +0 -325
  272. package/chunks/FormItem.Bhsy_O2B.mjs +0 -372
  273. package/chunks/FyForm.DriwCJ7b.mjs +0 -765
  274. package/chunks/MonacoEditor.D31t4FTy.mjs +0 -327
  275. package/chunks/SignalAndMessage.BpjOoKhK.mjs +0 -92
  276. package/chunks/SubTablePlus.BH0IIv3X.mjs +0 -270
  277. package/chunks/TableColumn.BzivvXMF.mjs +0 -337
  278. package/chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs +0 -10
  279. package/chunks/confirmable-mixin.BFZb6pcK.mjs +0 -86
  280. package/chunks/dataformat.DJoNBlmI.mjs +0 -154
  281. package/chunks/dic.BinnDitI.mjs +0 -128
  282. package/chunks/dictionary.DqiP9x2m.mjs +0 -25
  283. package/chunks/event.DSlcqYHL.mjs +0 -236
  284. package/chunks/form-input.BtS_J5a2.mjs +0 -31
  285. package/chunks/form-pick.BFTIVn_i.mjs +0 -11
  286. package/chunks/form-validate.CVarNHKX.mjs +0 -12
  287. package/chunks/helper.BiMLcEEk.mjs +0 -41
  288. package/chunks/index.BmYCjxZQ.mjs +0 -47
  289. package/chunks/index.CIfe3UB3.mjs +0 -16
  290. package/chunks/index.Cn7aq-Et.mjs +0 -184
  291. package/chunks/init.xOlFpTyZ.mjs +0 -122
  292. package/chunks/packages.ByyangTp.mjs +0 -58
  293. package/chunks/permission.CO31YIkD.mjs +0 -16
  294. package/chunks/slot.DXIbhGat.mjs +0 -27
  295. package/chunks/tab-mixin.BNK6dxLN.mjs +0 -81
  296. package/chunks/util.DI42t5GU.mjs +0 -241
  297. package/color-picker/index.mjs +0 -157
  298. package/egd-collapse/index.mjs +0 -62
  299. package/egd-collapse-item/index.mjs +0 -72
  300. package/form-input-number/index.mjs +0 -70
  301. package/form-input-number/style.css +0 -1
  302. package/input-number/index.mjs +0 -233
  303. package/input-number/style.css +0 -1
  304. package/keep-view-alive/index.mjs +0 -117
  305. package/search-popover/index.mjs +0 -118
  306. package/search-popover/style.css +0 -1
  307. /package/{base.css → utils/style.css} +0 -0
package/sign/index.mjs CHANGED
@@ -1,111 +1,104 @@
1
- import { s as v } from "../chunks/util.DI42t5GU.mjs";
2
- import { n as m } from "../chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs";
3
- function p(e, s, n, r, t, o) {
4
- e.save(), e.fillStyle = t, e.translate(s, n), e.rotate(Math.PI + o), e.beginPath();
5
- let a = Math.sin(0), d = Math.cos(0);
6
- const u = Math.PI / 5 * 4;
7
- for (let h = 0; h < 5; h++)
8
- a = Math.sin(h * u), d = Math.cos(h * u), e.lineTo(a * r, d * r);
9
- e.closePath(), e.stroke(), e.fill(), e.restore();
1
+ import { t as e } from "../chunks/_plugin-vue_export-helper.7vrlOII_.mjs";
2
+ import { x as t } from "../chunks/util.g-WQEec9.mjs";
3
+ import { createElementBlock as n, createElementVNode as r, normalizeStyle as i, openBlock as a } from "vue";
4
+ //#region src/components/sign/Sign.vue
5
+ function o(e, t, n, r, i, a) {
6
+ e.save(), e.fillStyle = i, e.translate(t, n), e.rotate(Math.PI + a), e.beginPath();
7
+ let o = Math.sin(0), s = Math.cos(0), c = Math.PI / 5 * 4;
8
+ for (let t = 0; t < 5; t++) o = Math.sin(t * c), s = Math.cos(t * c), e.lineTo(o * r, s * r);
9
+ e.closePath(), e.stroke(), e.fill(), e.restore();
10
10
  }
11
- const x = {
12
- name: "Sign",
13
- props: {
14
- width: {
15
- type: Number,
16
- default: 600
17
- },
18
- height: {
19
- type: Number,
20
- default: 400
21
- }
22
- },
23
- data() {
24
- return {
25
- disabled: !1,
26
- linex: [],
27
- liney: [],
28
- linen: [],
29
- canvas: {},
30
- context: {}
31
- };
32
- },
33
- computed: {
34
- styleName() {
35
- return {
36
- width: v(this.width),
37
- height: v(this.height)
38
- };
39
- }
40
- },
41
- mounted() {
42
- this.init();
43
- },
44
- methods: {
45
- getStar(e, s, n) {
46
- const r = this.canvas, t = this.context, o = r.width / 2, a = r.height / 2;
47
- t.lineWidth = 7, t.strokeStyle = "#f00", t.beginPath(), t.arc(o, a, 110, 0, Math.PI * 2), t.stroke(), p(t, o, a, 20, "#f00", 0), t.font = "18px 黑体", t.textBaseline = "middle", t.textAlign = "center", t.lineWidth = 1, t.strokeStyle = "#f00", t.strokeText(e, o, a + 50), t.font = "14px 黑体", t.textBaseline = "middle", t.textAlign = "center", t.lineWidth = 1, t.strokeStyle = "#f00", t.strokeText(n, o, a + 80), t.translate(o, a), t.font = "22px 黑体";
48
- const d = s.length, u = 4 * Math.PI / (3 * (d - 1)), h = s.split("");
49
- let l;
50
- for (let i = 0; i < d; i++)
51
- l = h[i], i === 0 ? t.rotate(5 * Math.PI / 6) : t.rotate(u), t.save(), t.translate(90, 0), t.rotate(Math.PI / 2), t.strokeText(l, 0, 0), t.restore(), t.save();
52
- this.disabled = !0;
53
- },
54
- submit(e, s) {
55
- return e || (e = this.width), s || (s = this.height), this.canvas.toDataURL("i/png");
56
- },
57
- clear() {
58
- this.linex = [], this.liney = [], this.linen = [], this.disabled = !1;
59
- },
60
- init() {
61
- this.canvas = this.$refs.canvas;
62
- const e = this.canvas, s = this;
63
- typeof document.ontouchstart < "u" ? (e.addEventListener("touchmove", d, !1), e.addEventListener("touchstart", u, !1), e.addEventListener("touchend", h, !1)) : (e.addEventListener("mousemove", d, !1), e.addEventListener("mousedown", u, !1), e.addEventListener("mouseup", h, !1), e.addEventListener("mouseleave", h, !1)), this.context = e.getContext("2d");
64
- const n = this.context;
65
- this.linex = [], this.liney = [], this.linen = [];
66
- let r = 1, t = 30, o = 0;
67
- function a(l, i) {
68
- const f = l.getBoundingClientRect();
69
- let c, g;
70
- return i.targetTouches ? (c = i.targetTouches[0].clientX, g = i.targetTouches[0].clientY) : (c = i.clientX, g = i.clientY), {
71
- x: (c - f.left) * (l.width / f.width),
72
- y: (g - f.top) * (l.height / f.height)
73
- };
74
- }
75
- function d(l) {
76
- if (s.disabled) return;
77
- const i = a(e, l).x, f = a(e, l).y;
78
- if (o === 1) {
79
- s.linex.push(i), s.liney.push(f), s.linen.push(1), n.save(), n.translate(n.canvas.width / 2, n.canvas.height / 2), n.translate(-n.canvas.width / 2, -n.canvas.height / 2), n.beginPath(), n.lineWidth = 2;
80
- for (let c = 1; c < s.linex.length; c++)
81
- r = s.linex[c], t = s.liney[c], s.linen[c] === 0 ? n.moveTo(r, t) : n.lineTo(r, t);
82
- n.shadowBlur = 10, n.stroke(), n.restore();
83
- }
84
- l.preventDefault();
85
- }
86
- function u(l) {
87
- if (s.disabled) return;
88
- const i = a(e, l).x, f = a(e, l).y;
89
- o = 1, s.linex.push(i), s.liney.push(f), s.linen.push(0);
90
- }
91
- function h() {
92
- s.disabled || (o = 0);
93
- }
94
- }
95
- }
96
- };
97
- var y = function() {
98
- var s = this, n = s._self._c;
99
- return n("div", { staticClass: "avue-sign", style: s.styleName }, [n("canvas", { ref: "canvas", staticClass: "avue-sige__canvas", attrs: { width: s.width, height: s.height } })]);
100
- }, _ = [], w = /* @__PURE__ */ m(
101
- x,
102
- y,
103
- _,
104
- !1,
105
- null,
106
- null
107
- );
108
- const P = w.exports;
109
- export {
110
- P as default
111
- };
11
+ var s = {
12
+ name: "Sign",
13
+ props: {
14
+ width: {
15
+ type: Number,
16
+ default: 600
17
+ },
18
+ height: {
19
+ type: Number,
20
+ default: 400
21
+ }
22
+ },
23
+ data() {
24
+ return {
25
+ disabled: !1,
26
+ linex: [],
27
+ liney: [],
28
+ linen: [],
29
+ canvas: {},
30
+ context: {}
31
+ };
32
+ },
33
+ computed: { styleName() {
34
+ return {
35
+ width: t(this.width),
36
+ height: t(this.height)
37
+ };
38
+ } },
39
+ mounted() {
40
+ this.init();
41
+ },
42
+ methods: {
43
+ getStar(e, t, n) {
44
+ let r = this.canvas, i = this.context, a = r.width / 2, s = r.height / 2;
45
+ i.lineWidth = 7, i.strokeStyle = "#f00", i.beginPath(), i.arc(a, s, 110, 0, Math.PI * 2), i.stroke(), o(i, a, s, 20, "#f00", 0), i.font = "18px 黑体", i.textBaseline = "middle", i.textAlign = "center", i.lineWidth = 1, i.strokeStyle = "#f00", i.strokeText(e, a, s + 50), i.font = "14px 黑体", i.textBaseline = "middle", i.textAlign = "center", i.lineWidth = 1, i.strokeStyle = "#f00", i.strokeText(n, a, s + 80), i.translate(a, s), i.font = "22px 黑体";
46
+ let c = t.length, l = 4 * Math.PI / (3 * (c - 1)), u = t.split(""), d;
47
+ for (let e = 0; e < c; e++) d = u[e], e === 0 ? i.rotate(5 * Math.PI / 6) : i.rotate(l), i.save(), i.translate(90, 0), i.rotate(Math.PI / 2), i.strokeText(d, 0, 0), i.restore(), i.save();
48
+ this.disabled = !0;
49
+ },
50
+ submit(e, t) {
51
+ return e || (e = this.width), t || (t = this.height), this.canvas.toDataURL("i/png");
52
+ },
53
+ clear() {
54
+ this.linex = [], this.liney = [], this.linen = [], this.disabled = !1;
55
+ },
56
+ init() {
57
+ this.canvas = this.$refs.canvas;
58
+ let e = this.canvas, t = this;
59
+ document.ontouchstart === void 0 ? (e.addEventListener("mousemove", s, !1), e.addEventListener("mousedown", c, !1), e.addEventListener("mouseup", l, !1), e.addEventListener("mouseleave", l, !1)) : (e.addEventListener("touchmove", s, !1), e.addEventListener("touchstart", c, !1), e.addEventListener("touchend", l, !1)), this.context = e.getContext("2d");
60
+ let n = this.context;
61
+ this.linex = [], this.liney = [], this.linen = [];
62
+ let r = 1, i = 30, a = 0;
63
+ function o(e, t) {
64
+ let n = e.getBoundingClientRect(), r, i;
65
+ return t.targetTouches ? (r = t.targetTouches[0].clientX, i = t.targetTouches[0].clientY) : (r = t.clientX, i = t.clientY), {
66
+ x: (r - n.left) * (e.width / n.width),
67
+ y: (i - n.top) * (e.height / n.height)
68
+ };
69
+ }
70
+ function s(s) {
71
+ if (t.disabled) return;
72
+ let c = o(e, s).x, l = o(e, s).y;
73
+ if (a === 1) {
74
+ t.linex.push(c), t.liney.push(l), t.linen.push(1), n.save(), n.translate(n.canvas.width / 2, n.canvas.height / 2), n.translate(-n.canvas.width / 2, -n.canvas.height / 2), n.beginPath(), n.lineWidth = 2;
75
+ for (let e = 1; e < t.linex.length; e++) r = t.linex[e], i = t.liney[e], t.linen[e] === 0 ? n.moveTo(r, i) : n.lineTo(r, i);
76
+ n.shadowBlur = 10, n.stroke(), n.restore();
77
+ }
78
+ s.preventDefault();
79
+ }
80
+ function c(n) {
81
+ if (t.disabled) return;
82
+ let r = o(e, n).x, i = o(e, n).y;
83
+ a = 1, t.linex.push(r), t.liney.push(i), t.linen.push(0);
84
+ }
85
+ function l() {
86
+ t.disabled || (a = 0);
87
+ }
88
+ }
89
+ }
90
+ }, c = ["width", "height"];
91
+ function l(e, t, o, s, l, u) {
92
+ return a(), n("div", {
93
+ class: "avue-sign",
94
+ style: i(u.styleName)
95
+ }, [r("canvas", {
96
+ ref: "canvas",
97
+ class: "avue-sige__canvas",
98
+ width: o.width,
99
+ height: o.height
100
+ }, null, 8, c)], 4);
101
+ }
102
+ var u = /* @__PURE__ */ e(s, [["render", l]]);
103
+ //#endregion
104
+ export { u as default };
@@ -1,142 +1,183 @@
1
- import { n as a } from "../chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs";
2
- const n = {
3
- name: "SignPanel",
4
- props: {
5
- width: {
6
- type: Number,
7
- default: 400
8
- },
9
- height: {
10
- type: Number,
11
- default: 150
12
- },
13
- lineWidth: {
14
- type: Number,
15
- default: 1
16
- },
17
- text: {
18
- type: String,
19
- default: "签名区"
20
- },
21
- fontSize: {
22
- type: Number,
23
- default: 20
24
- },
25
- value: {
26
- type: String
27
- },
28
- disabled: Boolean
29
- },
30
- data() {
31
- return {
32
- edit: !1
33
- };
34
- },
35
- mounted() {
36
- this.init();
37
- },
38
- methods: {
39
- // 初始化
40
- init() {
41
- if (this.stack = [], this.canvas = this.$refs.canvas, !this.canvas.getContext) {
42
- alert("当前浏览器不支持手写签名");
43
- return;
44
- }
45
- this.canvasInit();
46
- },
47
- rollback() {
48
- if (this.stack.length > 0) {
49
- const i = this.stack[this.stack.length - 1];
50
- this.ctx.putImageData(i, 0, 0), this.stack.length = this.stack.length - 1;
51
- }
52
- },
53
- // 位置初始化
54
- position() {
55
- this.restorePoint = this.ctx.getImageData(0, 0, this.canvas.width, this.canvas.height);
56
- const i = this.canvas.getBoundingClientRect();
57
- this.start = i.left, this.end = i.top;
58
- },
59
- // 画布初始化
60
- canvasInit() {
61
- this.ctx = this.canvas.getContext("2d"), this.ctx.lineCap = "round", this.ctx.lineWidth = this.lineWidth, this.ctx.clearRect(0, 0, this.width, this.height), this.blank = this.canvas.toDataURL("image/png");
62
- },
63
- /**
64
- * 绘制水印
65
- */
66
- drawWaterMark() {
67
- this.ctx.font = `${this.fontSize}px bold 黑体`, this.ctx.fillStyle = "#eee", this.ctx.textAlign = "center", this.ctx.shadowBlur = 1, this.ctx.textBaseline = "middle", this.ctx.fillText(this.text, this.width / 2, this.height / 2);
68
- },
69
- // PC 端鼠标按下开始绘画
70
- down(i) {
71
- this.position(), this.startLine(i.clientX, i.clientY, i), this.target = i.target, this.target.addEventListener("mousemove", this.move), window.addEventListener("mouseup", this.up);
72
- },
73
- // PC 端鼠标按下开始绘画后,跟踪移动轨迹
74
- move(i) {
75
- this.moveLine(i.clientX, i.clientY, i);
76
- },
77
- // PC 端鼠标松开结束绘画
78
- up() {
79
- this.target && this.target.removeEventListener("mousemove", this.move), window.removeEventListener("mouseup", this.up), this.record();
80
- },
81
- // 移动端触摸开始绘画
82
- touchstart(i) {
83
- this.position(), this.startLine(i.changedTouches[0].clientX, i.changedTouches[0].clientY, i);
84
- },
85
- // 移动端触摸开始绘画后,跟踪滑动轨迹
86
- touchmove(i) {
87
- this.moveLine(i.touches[0].clientX, i.touches[0].clientY, i);
88
- },
89
- // 开始绘画
90
- startLine(i, t) {
91
- this.ctx.beginPath(), i -= this.start, t -= this.end, this.ctx.moveTo(i, t);
92
- },
93
- // 绘制移动轨迹
94
- moveLine(i, t, s) {
95
- s == null || s.preventDefault(), i -= this.start, t -= this.end, this.ctx.lineTo(i, t), this.ctx.stroke();
96
- },
97
- clear() {
98
- this.ctx.clearRect(0, 0, this.width, this.height);
99
- },
100
- cancel() {
101
- this.clear(), this.edit = !1;
102
- },
103
- touchend() {
104
- this.record();
105
- },
106
- record() {
107
- this.stack.push(this.restorePoint);
108
- },
109
- save() {
110
- const i = this.canvas.toDataURL("image/png");
111
- this.blank === i ? this.$emit("input", "") : this.$emit("input", i), this.edit = !1, this.stack.length = 0, this.ctx.clearRect(0, 0, this.width, this.height);
112
- },
113
- showSign() {
114
- this.disabled || (this.edit = !0);
115
- }
116
- }
117
- };
118
- var o = function() {
119
- var t = this, s = t._self._c;
120
- return s("div", { staticClass: "sign-panel flex-column" }, [s("div", { directives: [{ name: "show", rawName: "v-show", value: !t.disabled && t.edit, expression: "!disabled && edit" }], staticClass: "sign-edit" }, [s("div", { staticClass: "sign-draw-area", style: { width: `${t.width + 2}px`, height: `${t.height + 2}px` } }, [s("div", { staticClass: "sign-watermark", style: { fontSize: `${t.fontSize}px` } }, [t._v(" " + t._s(t.text) + " ")]), s("canvas", { ref: "canvas", staticClass: "sign-canvas", attrs: { width: t.width, height: t.height }, on: { touchstart: function(e) {
121
- return e.stopPropagation(), t.touchstart.apply(null, arguments);
122
- }, touchmove: function(e) {
123
- return e.stopPropagation(), t.touchmove.apply(null, arguments);
124
- }, mousedown: function(e) {
125
- return e.stopPropagation(), t.down.apply(null, arguments);
126
- }, touchend: function(e) {
127
- return e.stopPropagation(), t.touchend.apply(null, arguments);
128
- }, mouseup: function(e) {
129
- return e.stopPropagation(), t.up.apply(null, arguments);
130
- } } }, [t._v("当前浏览器不支持手写签名 ")])]), s("div", { staticClass: "sign-tool-bar" }, [s("div", { staticClass: "sign-button flex-item", staticStyle: { color: "red" }, on: { click: t.clear } }, [s("i", { staticClass: "fa fa-trash" }), t._v(" 清除")]), s("div", { staticClass: "sign-button flex-item", staticStyle: { color: "red" }, on: { click: t.cancel } }, [s("i", { staticClass: "fa fa-close" }), t._v(" 取消")]), s("div", { staticClass: "sign-button flex-item", staticStyle: { color: "orange" }, on: { click: t.rollback } }, [s("i", { staticClass: "fa fa-repeat" }), t._v(" 撤销")]), s("div", { staticClass: "sign-button flex-item", staticStyle: { color: "green" }, on: { click: t.save } }, [s("i", { staticClass: "fa fa-check" }), t._v(" 确定")])])]), s("div", { directives: [{ name: "show", rawName: "v-show", value: t.disabled || !t.edit, expression: "disabled || !edit" }], staticClass: "sign-view", style: { cursor: t.disabled ? "not-allowed" : "pointer" }, on: { click: t.showSign } }, [t.value ? s("img", { staticClass: "sign-image", attrs: { src: t.value, alt: "签名" } }) : t._e(), t.value ? t._e() : s("p", { staticClass: "sign-tips", style: { color: !t.value && t.disabled ? "red" : "" } }, [t._v(" " + t._s(t.disabled ? "未签名" : "点击进行签名") + " ")]), t.disabled ? t._e() : s("i", { staticClass: "el-icon-edit-outline sign-edit-icon" })])]);
131
- }, c = [], l = /* @__PURE__ */ a(
132
- n,
133
- o,
134
- c,
135
- !1,
136
- null,
137
- null
138
- );
139
- const r = l.exports;
140
- export {
141
- r as default
1
+ import { t as e } from "../chunks/_plugin-vue_export-helper.7vrlOII_.mjs";
2
+ import { createCommentVNode as t, createElementBlock as n, createElementVNode as r, createTextVNode as i, normalizeStyle as a, openBlock as o, toDisplayString as s, vShow as c, withDirectives as l, withModifiers as u } from "vue";
3
+ //#region src/components/SignPanel.vue
4
+ var d = {
5
+ name: "SignPanel",
6
+ props: {
7
+ width: {
8
+ type: Number,
9
+ default: 400
10
+ },
11
+ height: {
12
+ type: Number,
13
+ default: 150
14
+ },
15
+ lineWidth: {
16
+ type: Number,
17
+ default: 1
18
+ },
19
+ text: {
20
+ type: String,
21
+ default: "签名区"
22
+ },
23
+ fontSize: {
24
+ type: Number,
25
+ default: 20
26
+ },
27
+ modelValue: { type: String },
28
+ disabled: Boolean
29
+ },
30
+ emits: ["update:modelValue"],
31
+ data() {
32
+ return { edit: !1 };
33
+ },
34
+ mounted() {
35
+ this.init();
36
+ },
37
+ methods: {
38
+ init() {
39
+ if (this.stack = [], this.canvas = this.$refs.canvas, !this.canvas.getContext) {
40
+ alert("当前浏览器不支持手写签名");
41
+ return;
42
+ }
43
+ this.canvasInit();
44
+ },
45
+ rollback() {
46
+ if (this.stack.length > 0) {
47
+ let e = this.stack[this.stack.length - 1];
48
+ this.ctx.putImageData(e, 0, 0), this.stack.length = this.stack.length - 1;
49
+ }
50
+ },
51
+ position() {
52
+ this.restorePoint = this.ctx.getImageData(0, 0, this.canvas.width, this.canvas.height);
53
+ let e = this.canvas.getBoundingClientRect();
54
+ this.start = e.left, this.end = e.top;
55
+ },
56
+ canvasInit() {
57
+ this.ctx = this.canvas.getContext("2d"), this.ctx.lineCap = "round", this.ctx.lineWidth = this.lineWidth, this.ctx.clearRect(0, 0, this.width, this.height), this.blank = this.canvas.toDataURL("image/png");
58
+ },
59
+ drawWaterMark() {
60
+ this.ctx.font = `${this.fontSize}px bold 黑体`, this.ctx.fillStyle = "#eee", this.ctx.textAlign = "center", this.ctx.shadowBlur = 1, this.ctx.textBaseline = "middle", this.ctx.fillText(this.text, this.width / 2, this.height / 2);
61
+ },
62
+ down(e) {
63
+ this.position(), this.startLine(e.clientX, e.clientY, e), this.target = e.target, this.target.addEventListener("mousemove", this.move), window.addEventListener("mouseup", this.up);
64
+ },
65
+ move(e) {
66
+ this.moveLine(e.clientX, e.clientY, e);
67
+ },
68
+ up() {
69
+ this.target && this.target.removeEventListener("mousemove", this.move), window.removeEventListener("mouseup", this.up), this.record();
70
+ },
71
+ touchstart(e) {
72
+ this.position(), this.startLine(e.changedTouches[0].clientX, e.changedTouches[0].clientY, e);
73
+ },
74
+ touchmove(e) {
75
+ this.moveLine(e.touches[0].clientX, e.touches[0].clientY, e);
76
+ },
77
+ startLine(e, t) {
78
+ this.ctx.beginPath(), e -= this.start, t -= this.end, this.ctx.moveTo(e, t);
79
+ },
80
+ moveLine(e, t, n) {
81
+ n == null || n.preventDefault(), e -= this.start, t -= this.end, this.ctx.lineTo(e, t), this.ctx.stroke();
82
+ },
83
+ clear() {
84
+ this.ctx.clearRect(0, 0, this.width, this.height);
85
+ },
86
+ cancel() {
87
+ this.clear(), this.edit = !1;
88
+ },
89
+ touchend() {
90
+ this.record();
91
+ },
92
+ record() {
93
+ this.stack.push(this.restorePoint);
94
+ },
95
+ save() {
96
+ let e = this.canvas.toDataURL("image/png");
97
+ this.blank === e ? this.$emit("update:modelValue", "") : this.$emit("update:modelValue", e), this.edit = !1, this.stack.length = 0, this.ctx.clearRect(0, 0, this.width, this.height);
98
+ },
99
+ showSign() {
100
+ this.disabled || (this.edit = !0);
101
+ }
102
+ }
103
+ }, f = { class: "sign-panel flex-column" }, p = { class: "sign-edit" }, m = ["width", "height"], h = { class: "sign-tool-bar" }, g = ["src"], _ = {
104
+ key: 2,
105
+ class: "el-icon-edit-outline sign-edit-icon"
142
106
  };
107
+ function v(e, d, v, y, b, x) {
108
+ return o(), n("div", f, [
109
+ t("编辑"),
110
+ l(r("div", p, [
111
+ r("div", {
112
+ style: a({
113
+ width: `${v.width + 2}px`,
114
+ height: `${v.height + 2}px`
115
+ }),
116
+ class: "sign-draw-area"
117
+ }, [
118
+ t("水印层"),
119
+ r("div", {
120
+ class: "sign-watermark",
121
+ style: a({ fontSize: `${v.fontSize}px` })
122
+ }, s(v.text), 5),
123
+ t("canvas 画布"),
124
+ r("canvas", {
125
+ ref: "canvas",
126
+ class: "sign-canvas",
127
+ width: v.width,
128
+ height: v.height,
129
+ onTouchstart: d[0] || (d[0] = u((...e) => x.touchstart && x.touchstart(...e), ["stop"])),
130
+ onTouchmove: d[1] || (d[1] = u((...e) => x.touchmove && x.touchmove(...e), ["stop"])),
131
+ onMousedown: d[2] || (d[2] = u((...e) => x.down && x.down(...e), ["stop"])),
132
+ onTouchend: d[3] || (d[3] = u((...e) => x.touchend && x.touchend(...e), ["stop"])),
133
+ onMouseup: d[4] || (d[4] = u((...e) => x.up && x.up(...e), ["stop"]))
134
+ }, "当前浏览器不支持手写签名 ", 40, m)
135
+ ], 4),
136
+ t("操作按钮"),
137
+ r("div", h, [
138
+ r("div", {
139
+ class: "sign-button flex-item",
140
+ style: { color: "red" },
141
+ onClick: d[5] || (d[5] = (...e) => x.clear && x.clear(...e))
142
+ }, [...d[10] || (d[10] = [r("i", { class: "fa fa-trash" }, null, -1), i(" 清除", -1)])]),
143
+ r("div", {
144
+ class: "sign-button flex-item",
145
+ style: { color: "red" },
146
+ onClick: d[6] || (d[6] = (...e) => x.cancel && x.cancel(...e))
147
+ }, [...d[11] || (d[11] = [r("i", { class: "fa fa-close" }, null, -1), i(" 取消", -1)])]),
148
+ r("div", {
149
+ class: "sign-button flex-item",
150
+ style: { color: "orange" },
151
+ onClick: d[7] || (d[7] = (...e) => x.rollback && x.rollback(...e))
152
+ }, [...d[12] || (d[12] = [r("i", { class: "fa fa-repeat" }, null, -1), i(" 撤销", -1)])]),
153
+ r("div", {
154
+ class: "sign-button flex-item",
155
+ style: { color: "green" },
156
+ onClick: d[8] || (d[8] = (...e) => x.save && x.save(...e))
157
+ }, [...d[13] || (d[13] = [r("i", { class: "fa fa-check" }, null, -1), i(" 确定", -1)])])
158
+ ])
159
+ ], 512), [[c, !v.disabled && b.edit]]),
160
+ t("只读"),
161
+ l(r("div", {
162
+ class: "sign-view",
163
+ style: a({ cursor: v.disabled ? "not-allowed" : "pointer" }),
164
+ onClick: d[9] || (d[9] = (...e) => x.showSign && x.showSign(...e))
165
+ }, [
166
+ v.modelValue ? (o(), n("img", {
167
+ key: 0,
168
+ src: v.modelValue,
169
+ alt: "签名",
170
+ class: "sign-image"
171
+ }, null, 8, g)) : t("v-if", !0),
172
+ v.modelValue ? t("v-if", !0) : (o(), n("p", {
173
+ key: 1,
174
+ class: "sign-tips",
175
+ style: a({ color: !v.modelValue && v.disabled ? "red" : "" })
176
+ }, s(v.disabled ? "未签名" : "点击进行签名"), 5)),
177
+ v.disabled ? t("v-if", !0) : (o(), n("i", _))
178
+ ], 4), [[c, v.disabled || !b.edit]])
179
+ ]);
180
+ }
181
+ var y = /* @__PURE__ */ e(d, [["render", v]]);
182
+ //#endregion
183
+ export { y as default };