sh-view 1.7.6 → 2.0.1

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 (256) hide show
  1. package/.eslintrc.js +20 -21
  2. package/dist/css/227.45fab5b7.css +1 -0
  3. package/dist/css/291.e7facf7d.css +1 -0
  4. package/dist/css/299.e98df6ce.css +1 -0
  5. package/dist/css/358.e641c5d1.css +1 -0
  6. package/dist/css/534.726e6699.css +1 -0
  7. package/dist/css/769.8008ac6c.css +1 -0
  8. package/dist/css/index.2bd4fb37.css +1 -0
  9. package/dist/css/index.2bd4fb37.css.gz +0 -0
  10. package/dist/fonts/iconfont.03e5a9f9.ttf +0 -0
  11. package/dist/fonts/iconfont.03e5a9f9.ttf.gz +0 -0
  12. package/dist/fonts/ionicons.31fd4446.ttf +0 -0
  13. package/dist/fonts/ionicons.31fd4446.ttf.gz +0 -0
  14. package/dist/fonts/ionicons.d03f2836.woff2 +0 -0
  15. package/dist/fonts/ionicons.dacd136b.woff +0 -0
  16. package/dist/fonts/ionicons.dacd136b.woff.gz +0 -0
  17. package/dist/img/ionicons.6e8059e8.svg +870 -0
  18. package/dist/img/ionicons.6e8059e8.svg.gz +0 -0
  19. package/dist/js/152.588ca5b4.js +1 -0
  20. package/dist/js/165.f026fdcd.js +1 -0
  21. package/dist/js/227.6d340a71.js +1 -0
  22. package/dist/js/257.285f071f.js +1 -0
  23. package/dist/js/264.32b3a9a5.js +1 -0
  24. package/dist/js/291.e100da5e.js +1 -0
  25. package/dist/js/299.2062f9ff.js +1 -0
  26. package/dist/js/322.ff97ab5e.js +1 -0
  27. package/dist/js/333.da633859.js +1 -0
  28. package/dist/js/341.d4433549.js +1 -0
  29. package/dist/js/358.81429379.js +1 -0
  30. package/dist/js/387.7b1e3b8a.js +1 -0
  31. package/dist/js/392.c53bf6c9.js +1 -0
  32. package/dist/js/400.03e3be15.js +1 -0
  33. package/dist/js/41.fca2504e.js +1 -0
  34. package/dist/js/444.a0350517.js +1 -0
  35. package/dist/js/452.7f75d556.js +2 -0
  36. package/dist/js/452.7f75d556.js.gz +0 -0
  37. package/dist/js/497.06080ae1.js +1 -0
  38. package/dist/js/514.2ea0055a.js +1 -0
  39. package/dist/js/534.40a67536.js +1 -0
  40. package/dist/js/558.6175bf20.js +15 -0
  41. package/dist/js/558.6175bf20.js.gz +0 -0
  42. package/dist/js/586.098ab36d.js +1 -0
  43. package/dist/js/593.df7d7c2e.js +1 -0
  44. package/dist/js/601.abf6f256.js +1 -0
  45. package/dist/js/654.99b45cd4.js +18 -0
  46. package/dist/js/654.99b45cd4.js.gz +0 -0
  47. package/dist/js/668.a15a0058.js +1 -0
  48. package/dist/js/704.52e87fec.js +1 -0
  49. package/dist/js/720.aceca876.js +1 -0
  50. package/dist/js/769.1376ca7f.js +1 -0
  51. package/dist/js/875.975891f5.js +1 -0
  52. package/dist/js/89.c7317ccb.js +1 -0
  53. package/dist/js/94.d54e8b09.js +1 -0
  54. package/dist/js/chunk-vendors.e05ef0ac.js +438 -0
  55. package/dist/js/chunk-vendors.e05ef0ac.js.gz +0 -0
  56. package/dist/js/index.b31868df.js +1 -0
  57. package/dist/js/index.b31868df.js.gz +0 -0
  58. package/package.json +10 -10
  59. package/packages/assets/css/animated.scss +167 -2
  60. package/packages/assets/css/loader.scss +42 -42
  61. package/packages/assets/css/main.scss +41 -21
  62. package/packages/assets/css/theme.scss +83 -44
  63. package/packages/components/global-components/sh-alert/index.vue +173 -0
  64. package/packages/components/global-components/sh-badge/index.vue +227 -0
  65. package/packages/components/global-components/sh-card/index.vue +140 -122
  66. package/packages/components/global-components/sh-code-editor/index.vue +260 -260
  67. package/packages/components/global-components/sh-col/css/index.scss +76 -0
  68. package/packages/components/global-components/sh-col/index.vue +83 -0
  69. package/packages/components/global-components/sh-corner/index.vue +1 -9
  70. package/packages/components/global-components/sh-count-to/index.vue +102 -46
  71. package/packages/components/global-components/sh-date/index.vue +40 -0
  72. package/packages/components/global-components/sh-drawer/index.vue +518 -0
  73. package/packages/components/global-components/sh-drawer/scrollbar.js +76 -0
  74. package/packages/components/global-components/sh-empty/index.vue +43 -43
  75. package/packages/components/global-components/{sh-vxe-form → sh-form}/css/index.scss +6 -6
  76. package/packages/components/global-components/{sh-vxe-form → sh-form}/index.vue +114 -115
  77. package/packages/components/global-components/{sh-vxe-form → sh-form}/js/methods.js +146 -157
  78. package/packages/components/global-components/{sh-vxe-form → sh-form}/mixin/defaultData.js +32 -33
  79. package/packages/components/global-components/sh-header/index.vue +293 -269
  80. package/packages/components/global-components/sh-icon/css/default/fonts/ionicons.svg +870 -0
  81. package/packages/components/global-components/sh-icon/css/default/fonts/ionicons.ttf +0 -0
  82. package/packages/components/global-components/sh-icon/css/default/fonts/ionicons.woff +0 -0
  83. package/packages/components/global-components/sh-icon/css/default/fonts/ionicons.woff2 +0 -0
  84. package/packages/components/global-components/sh-icon/css/default/icons.scss +2583 -0
  85. package/packages/components/global-components/sh-icon/css/default/index.scss +27 -0
  86. package/packages/components/global-components/sh-icon/css/font/fonts/iconfont.js +1 -0
  87. package/packages/components/global-components/sh-icon/css/font/fonts/iconfont.json +247 -0
  88. package/packages/components/global-components/sh-icon/css/font/fonts/iconfont.ttf +0 -0
  89. package/packages/components/global-components/sh-icon/css/font/fonts/iconfont.woff +0 -0
  90. package/packages/components/global-components/sh-icon/css/font/fonts/iconfont.woff2 +0 -0
  91. package/packages/components/global-components/sh-icon/css/font/icons.scss +135 -0
  92. package/packages/components/global-components/sh-icon/css/font/index.scss +16 -0
  93. package/packages/components/global-components/sh-icon/icon-default.vue +32 -0
  94. package/packages/components/global-components/sh-icon/{icons.vue → icon-font.vue} +32 -32
  95. package/packages/components/global-components/sh-icon/index.vue +28 -27
  96. package/packages/components/global-components/sh-image/index.vue +123 -0
  97. package/packages/components/global-components/sh-list/index.vue +141 -0
  98. package/packages/components/global-components/sh-loading/index.vue +49 -42
  99. package/packages/components/global-components/{sh-vxe-modal → sh-modal}/index.vue +209 -209
  100. package/packages/components/global-components/sh-noticebar/index.vue +201 -201
  101. package/packages/components/global-components/sh-poptip/index.vue +479 -0
  102. package/packages/components/global-components/sh-poptip/popper.js +115 -0
  103. package/packages/components/global-components/sh-progress/index.vue +290 -0
  104. package/packages/components/global-components/sh-pull-refresh/index.vue +290 -290
  105. package/packages/components/global-components/{sh-vxe-query → sh-query}/index.vue +317 -310
  106. package/packages/components/global-components/sh-result/index.vue +110 -88
  107. package/packages/components/global-components/sh-row/css/index.scss +21 -0
  108. package/packages/components/global-components/sh-row/index.vue +63 -0
  109. package/packages/components/global-components/sh-split/components/trigger.vue +33 -0
  110. package/packages/components/global-components/sh-split/index.vue +334 -142
  111. package/packages/components/global-components/sh-table/components/importModal.vue +351 -0
  112. package/packages/components/global-components/{sh-vxe-table → sh-table}/css/index.scss +4 -22
  113. package/packages/components/global-components/{sh-vxe-table → sh-table}/index.vue +329 -351
  114. package/packages/components/global-components/{sh-vxe-table → sh-table}/js/methods.js +33 -88
  115. package/packages/components/global-components/{sh-vxe-table → sh-table}/js/props.js +304 -313
  116. package/packages/components/global-components/{sh-vxe-table → sh-table}/mixin/defaultData.js +94 -116
  117. package/packages/components/global-components/sh-tabs/index.vue +322 -0
  118. package/packages/components/global-components/sh-tag/index.vue +163 -0
  119. package/packages/components/global-components/{sh-vxe-toolbar → sh-toolbar}/index.vue +177 -172
  120. package/packages/components/global-components/sh-tree/components/table-tree.vue +280 -0
  121. package/packages/components/global-components/sh-tree/css/index.scss +54 -0
  122. package/packages/components/global-components/sh-tree/index.vue +195 -0
  123. package/packages/components/global-components/sh-tree/mixin/treeProps.js +124 -0
  124. package/packages/components/global-components/sh-upload/index.vue +278 -275
  125. package/packages/components/global-components/sh-water-fall/index.vue +87 -87
  126. package/packages/components/index.js +85 -59
  127. package/packages/components/other-components/sh-cron-modal/css/index.scss +2 -2
  128. package/packages/components/other-components/sh-menu-card/index.vue +224 -224
  129. package/packages/css/index.js +4 -6
  130. package/packages/directive/index.js +19 -19
  131. package/packages/directive/module/click-out.js +14 -0
  132. package/packages/directive/module/draggable.js +42 -42
  133. package/packages/directive/module/line-clamp.js +22 -0
  134. package/packages/directive/module/prevent-click.js +18 -0
  135. package/packages/directive/module/resize.js +19 -0
  136. package/packages/directive/module/ripple.js +166 -0
  137. package/packages/index.js +39 -40
  138. package/packages/utils/transfer-queue.js +12 -0
  139. package/packages/vxeTable/css/index.scss +12 -98
  140. package/packages/vxeTable/css/variable.scss +7 -265
  141. package/packages/vxeTable/index.js +184 -183
  142. package/packages/vxeTable/plugins/export.js +450 -0
  143. package/packages/vxeTable/render/cell/vxe-render-checkgroup.vue +36 -36
  144. package/packages/vxeTable/render/cell/vxe-render-goption.vue +94 -93
  145. package/packages/vxeTable/render/cell/vxe-render-img.vue +21 -28
  146. package/packages/vxeTable/render/cell/vxe-render-input.vue +51 -51
  147. package/packages/vxeTable/render/cell/vxe-render-progress.vue +19 -19
  148. package/packages/vxeTable/render/cell/vxe-render-radiogroup.vue +36 -36
  149. package/packages/vxeTable/render/cell/vxe-render-select.vue +36 -36
  150. package/packages/vxeTable/render/cell/vxe-render-tree.vue +59 -59
  151. package/packages/vxeTable/render/globalRenders.jsx +498 -491
  152. package/packages/assets/icons/demo.css +0 -539
  153. package/packages/assets/icons/iconfont.css +0 -415
  154. package/packages/assets/icons/iconfont.js +0 -1
  155. package/packages/assets/icons/iconfont.json +0 -709
  156. package/packages/assets/icons/iconfont.ttf +0 -0
  157. package/packages/assets/icons/iconfont.woff +0 -0
  158. package/packages/assets/icons/iconfont.woff2 +0 -0
  159. package/packages/assets/img/image-error.png +0 -0
  160. package/packages/assets/img/square-image.png +0 -0
  161. package/packages/components/global-components/sh-iv-form/components/iv-group-item.vue +0 -57
  162. package/packages/components/global-components/sh-iv-form/components/iv-single-item.vue +0 -76
  163. package/packages/components/global-components/sh-iv-form/index.vue +0 -255
  164. package/packages/components/global-components/sh-vxe-list/index.vue +0 -149
  165. package/packages/components/global-components/sh-vxe-table/components/importModal.vue +0 -377
  166. package/packages/components/global-components/sh-vxe-tree/components/table-tree.vue +0 -233
  167. package/packages/components/global-components/sh-vxe-tree/css/index.scss +0 -20
  168. package/packages/components/global-components/sh-vxe-tree/index.vue +0 -85
  169. package/packages/components/global-components/sh-vxe-tree/js/props.js +0 -120
  170. package/packages/components/global-components/sh-vxe-tree/js/treeMethods.js +0 -169
  171. package/packages/components/global-components/sh-vxe-tree/mixin/defaultData.js +0 -54
  172. package/packages/components/global-components/sh-vxe-tree/vxe-direct-tree.vue +0 -203
  173. package/packages/components/global-components/sh-vxe-tree/vxe-select-tree.vue +0 -291
  174. package/packages/components/other-components/sh-markdown/tinymce/langs/ar.js +0 -7
  175. package/packages/components/other-components/sh-markdown/tinymce/langs/az.js +0 -7
  176. package/packages/components/other-components/sh-markdown/tinymce/langs/bg_BG.js +0 -7
  177. package/packages/components/other-components/sh-markdown/tinymce/langs/bn_BD.js +0 -7
  178. package/packages/components/other-components/sh-markdown/tinymce/langs/ca.js +0 -7
  179. package/packages/components/other-components/sh-markdown/tinymce/langs/cs.js +0 -7
  180. package/packages/components/other-components/sh-markdown/tinymce/langs/cy.js +0 -7
  181. package/packages/components/other-components/sh-markdown/tinymce/langs/da.js +0 -7
  182. package/packages/components/other-components/sh-markdown/tinymce/langs/de.js +0 -7
  183. package/packages/components/other-components/sh-markdown/tinymce/langs/dv.js +0 -7
  184. package/packages/components/other-components/sh-markdown/tinymce/langs/el.js +0 -7
  185. package/packages/components/other-components/sh-markdown/tinymce/langs/eo.js +0 -7
  186. package/packages/components/other-components/sh-markdown/tinymce/langs/es.js +0 -7
  187. package/packages/components/other-components/sh-markdown/tinymce/langs/es_MX.js +0 -7
  188. package/packages/components/other-components/sh-markdown/tinymce/langs/et.js +0 -7
  189. package/packages/components/other-components/sh-markdown/tinymce/langs/eu.js +0 -7
  190. package/packages/components/other-components/sh-markdown/tinymce/langs/fa.js +0 -7
  191. package/packages/components/other-components/sh-markdown/tinymce/langs/fi.js +0 -7
  192. package/packages/components/other-components/sh-markdown/tinymce/langs/fr_FR.js +0 -7
  193. package/packages/components/other-components/sh-markdown/tinymce/langs/ga.js +0 -7
  194. package/packages/components/other-components/sh-markdown/tinymce/langs/gl.js +0 -7
  195. package/packages/components/other-components/sh-markdown/tinymce/langs/he_IL.js +0 -7
  196. package/packages/components/other-components/sh-markdown/tinymce/langs/hi.js +0 -7
  197. package/packages/components/other-components/sh-markdown/tinymce/langs/hr.js +0 -7
  198. package/packages/components/other-components/sh-markdown/tinymce/langs/hu_HU.js +0 -7
  199. package/packages/components/other-components/sh-markdown/tinymce/langs/hy.js +0 -7
  200. package/packages/components/other-components/sh-markdown/tinymce/langs/id.js +0 -7
  201. package/packages/components/other-components/sh-markdown/tinymce/langs/is_IS.js +0 -7
  202. package/packages/components/other-components/sh-markdown/tinymce/langs/it.js +0 -7
  203. package/packages/components/other-components/sh-markdown/tinymce/langs/ja.js +0 -7
  204. package/packages/components/other-components/sh-markdown/tinymce/langs/kab.js +0 -7
  205. package/packages/components/other-components/sh-markdown/tinymce/langs/kk.js +0 -7
  206. package/packages/components/other-components/sh-markdown/tinymce/langs/ko_KR.js +0 -7
  207. package/packages/components/other-components/sh-markdown/tinymce/langs/ku.js +0 -7
  208. package/packages/components/other-components/sh-markdown/tinymce/langs/lt.js +0 -7
  209. package/packages/components/other-components/sh-markdown/tinymce/langs/lv.js +0 -7
  210. package/packages/components/other-components/sh-markdown/tinymce/langs/nb_NO.js +0 -7
  211. package/packages/components/other-components/sh-markdown/tinymce/langs/ne.js +0 -7
  212. package/packages/components/other-components/sh-markdown/tinymce/langs/nl.js +0 -7
  213. package/packages/components/other-components/sh-markdown/tinymce/langs/nl_BE.js +0 -7
  214. package/packages/components/other-components/sh-markdown/tinymce/langs/oc.js +0 -7
  215. package/packages/components/other-components/sh-markdown/tinymce/langs/pl.js +0 -7
  216. package/packages/components/other-components/sh-markdown/tinymce/langs/pt_BR.js +0 -7
  217. package/packages/components/other-components/sh-markdown/tinymce/langs/ro.js +0 -7
  218. package/packages/components/other-components/sh-markdown/tinymce/langs/ru.js +0 -7
  219. package/packages/components/other-components/sh-markdown/tinymce/langs/sk.js +0 -7
  220. package/packages/components/other-components/sh-markdown/tinymce/langs/sl_SI.js +0 -7
  221. package/packages/components/other-components/sh-markdown/tinymce/langs/sq.js +0 -7
  222. package/packages/components/other-components/sh-markdown/tinymce/langs/sr.js +0 -7
  223. package/packages/components/other-components/sh-markdown/tinymce/langs/sv_SE.js +0 -7
  224. package/packages/components/other-components/sh-markdown/tinymce/langs/ta.js +0 -7
  225. package/packages/components/other-components/sh-markdown/tinymce/langs/tg.js +0 -7
  226. package/packages/components/other-components/sh-markdown/tinymce/langs/th_TH.js +0 -7
  227. package/packages/components/other-components/sh-markdown/tinymce/langs/tr.js +0 -7
  228. package/packages/components/other-components/sh-markdown/tinymce/langs/ug.js +0 -7
  229. package/packages/components/other-components/sh-markdown/tinymce/langs/uk.js +0 -7
  230. package/packages/components/other-components/sh-markdown/tinymce/langs/vi.js +0 -7
  231. package/packages/components/other-components/sh-markdown/tinymce/skins/content/dark/content.css +0 -72
  232. package/packages/components/other-components/sh-markdown/tinymce/skins/content/dark/content.min.css +0 -7
  233. package/packages/components/other-components/sh-markdown/tinymce/skins/content/default/content.min.css +0 -7
  234. package/packages/components/other-components/sh-markdown/tinymce/skins/content/document/content.css +0 -72
  235. package/packages/components/other-components/sh-markdown/tinymce/skins/content/document/content.min.css +0 -7
  236. package/packages/components/other-components/sh-markdown/tinymce/skins/content/writer/content.css +0 -68
  237. package/packages/components/other-components/sh-markdown/tinymce/skins/content/writer/content.min.css +0 -7
  238. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.css +0 -714
  239. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.inline.css +0 -726
  240. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.inline.min.css +0 -7
  241. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.min.css +0 -7
  242. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.mobile.css +0 -29
  243. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.mobile.min.css +0 -7
  244. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff +0 -0
  245. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.css +0 -3047
  246. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.min.css +0 -7
  247. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.mobile.css +0 -673
  248. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.mobile.min.css +0 -7
  249. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.shadowdom.css +0 -37
  250. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +0 -7
  251. package/packages/directive/directives.js +0 -27
  252. package/packages/iview/css/index.scss +0 -32
  253. package/packages/iview/index.js +0 -25
  254. /package/packages/components/global-components/{sh-vxe-form → sh-form}/components/form-item.vue +0 -0
  255. /package/packages/components/global-components/{sh-vxe-form → sh-form}/js/props.js +0 -0
  256. /package/packages/components/global-components/{sh-vxe-table → sh-table}/js/excel_to_json.js +0 -0
@@ -0,0 +1,166 @@
1
+ function magnitude(x1, y1, x2, y2) {
2
+ const deltaX = x1 - x2
3
+ const deltaY = y1 - y2
4
+ return Math.sqrt(deltaX * deltaX + deltaY * deltaY)
5
+ }
6
+
7
+ const RIPPLE_COUNT = 'vRippleCountInternal'
8
+ function setRippleCount(el, count) {
9
+ el.dataset[RIPPLE_COUNT] = count.toString()
10
+ }
11
+
12
+ function getRippleCount(el) {
13
+ return parseInt(el.dataset[RIPPLE_COUNT] ?? '0', 10)
14
+ }
15
+
16
+ function incrementRippleCount(el) {
17
+ const count = getRippleCount(el)
18
+ setRippleCount(el, count + 1)
19
+ }
20
+
21
+ function decrementRippleCount(el) {
22
+ const count = getRippleCount(el)
23
+ setRippleCount(el, count - 1)
24
+ }
25
+
26
+ function deleteRippleCount(el) {
27
+ delete el.dataset[RIPPLE_COUNT]
28
+ }
29
+
30
+ const getRelativePointer = ({ x, y }, { top, left }) => ({ x: x - left, y: y - top })
31
+
32
+ const getDistanceToFurthestCorner = (x, y, { width, height }) => {
33
+ // 获取点击目标的位置到块级作用域边界的距离
34
+ const topLeft = magnitude(x, y, 0, 0)
35
+ const topRight = magnitude(x, y, width, 0)
36
+ const bottomLeft = magnitude(x, y, 0, height)
37
+ const bottomRight = magnitude(x, y, width, height)
38
+ return Math.max(topLeft, topRight, bottomLeft, bottomRight)
39
+ }
40
+
41
+ const createContainer = ({ borderTopLeftRadius, borderTopRightRadius, borderBottomLeftRadius, borderBottomRightRadius }) => {
42
+ const rippleContainer = document.createElement('div')
43
+ rippleContainer.style.top = '0'
44
+ rippleContainer.style.left = '0'
45
+ rippleContainer.style.width = '100%'
46
+ rippleContainer.style.height = '100%'
47
+ rippleContainer.style.position = 'absolute'
48
+ rippleContainer.style.borderRadius = `${borderTopLeftRadius} ${borderTopRightRadius} ${borderBottomRightRadius} ${borderBottomLeftRadius}`
49
+ rippleContainer.style.overflow = 'hidden'
50
+ rippleContainer.style.pointerEvents = 'none'
51
+ // 兼容 ie 苹果
52
+ rippleContainer.style.webkitMaskImage = '-webkit-radial-gradient(white, black)'
53
+ return rippleContainer
54
+ }
55
+
56
+ const createrippleElement = (x, y, size, options) => {
57
+ const rippleElement = document.createElement('div')
58
+ rippleElement.style.position = 'absolute'
59
+ rippleElement.style.width = `${size}px`
60
+ rippleElement.style.height = `${size}px`
61
+ rippleElement.style.top = `${y}px`
62
+ rippleElement.style.left = `${x}px`
63
+ rippleElement.style.background = options.color
64
+ rippleElement.style.borderRadius = '50%'
65
+ rippleElement.style.opacity = `${options.initialOpacity}`
66
+ rippleElement.style.transform = `translate(-50%,-50%) scale(0)`
67
+ rippleElement.style.transition = `transform ${options.duration / 1000}s ${options.easing}, opacity ${options.duration / 1000}s ${options.easing}`
68
+ return rippleElement
69
+ }
70
+
71
+ const MULTIPLE_NUMBER = 2.05
72
+
73
+ const ripple = (event, el, options) => {
74
+ const rect = el.getBoundingClientRect()
75
+ const computedStyles = window.getComputedStyle(el)
76
+ const { x, y } = getRelativePointer(event, rect)
77
+ const size = MULTIPLE_NUMBER * getDistanceToFurthestCorner(x, y, rect)
78
+
79
+ const rippleContainer = createContainer(computedStyles)
80
+ const rippleEl = createrippleElement(x, y, size, options)
81
+ let originalPositionValue = ''
82
+ let shouldDissolveripple = false
83
+ let token = null
84
+ function dissolveripple() {
85
+ rippleEl.style.transition = 'opacity 150ms linear'
86
+ rippleEl.style.opacity = '0'
87
+ setTimeout(() => {
88
+ rippleContainer.remove()
89
+ decrementRippleCount(el)
90
+ if (getRippleCount(el) === 0) {
91
+ deleteRippleCount(el)
92
+ el.style.position = originalPositionValue
93
+ }
94
+ }, 150)
95
+ }
96
+ function releaseripple(e) {
97
+ if (typeof e !== 'undefined') {
98
+ document.removeEventListener('pointerup', releaseripple)
99
+ document.removeEventListener('pointercancel', releaseripple)
100
+ }
101
+ if (shouldDissolveripple) {
102
+ dissolveripple()
103
+ } else {
104
+ shouldDissolveripple = true
105
+ }
106
+ }
107
+ function cancelripple() {
108
+ clearTimeout(token)
109
+ rippleContainer.remove()
110
+ document.removeEventListener('pointerup', releaseripple)
111
+ document.removeEventListener('pointercancel', releaseripple)
112
+ document.removeEventListener('pointercancel', cancelripple)
113
+ }
114
+ incrementRippleCount(el)
115
+ if (computedStyles.position === 'static') {
116
+ if (el.style.position) {
117
+ originalPositionValue = el.style.position
118
+ }
119
+ el.style.position = 'relative'
120
+ }
121
+ rippleContainer.appendChild(rippleEl)
122
+ el.appendChild(rippleContainer)
123
+ document.addEventListener('pointerup', releaseripple)
124
+ document.addEventListener('pointercancel', releaseripple)
125
+ token = setTimeout(() => {
126
+ document.removeEventListener('pointercancel', cancelripple)
127
+ requestAnimationFrame(() => {
128
+ rippleEl.style.transform = `translate(-50%,-50%) scale(1)`
129
+ rippleEl.style.opacity = `${options.finalOpacity}`
130
+ setTimeout(() => releaseripple(), options.duration)
131
+ })
132
+ }, options.delay)
133
+ document.addEventListener('pointercancel', cancelripple)
134
+ }
135
+
136
+ const defaultOptions = {
137
+ directive: 'ripple',
138
+ color: 'currentColor', // 你可以设置 ·currentColor· to 能够自动使用元素的文本颜色
139
+ initialOpacity: 0.2, // 第一次出现的透明度
140
+ finalOpacity: 0.1, // 在透明度 结束的时候 stopped 的时候 我们设置透明度的大小
141
+ duration: 400, // 动画持续时间
142
+ easing: 'ease-out', // css 动画 从开始到结束 以相同的时间来执行动画
143
+ delay: 75, // 类似于 debounceTime
144
+ disabled: false // 类似于 点击禁止ripple效果
145
+ }
146
+ export default {
147
+ mounted(el, binding) {
148
+ el.addEventListener('pointerdown', event => {
149
+ const options = binding.value || {}
150
+ // 必须确保disabled 属性存在 否则指令终止报错
151
+ if (binding.value && binding.value.disabled) {
152
+ return
153
+ }
154
+ if (options === false) {
155
+ return
156
+ }
157
+ ripple(event, el, {
158
+ ...defaultOptions,
159
+ ...options
160
+ })
161
+ })
162
+ },
163
+ updated(el, binding) {
164
+ binding.value = {}
165
+ }
166
+ }
package/packages/index.js CHANGED
@@ -1,40 +1,39 @@
1
- import packageConfig from '../package.json'
2
- import { utils } from 'sh-tools'
3
- import { VueMasonryPlugin } from 'vue-masonry'
4
- import directive from './directive/index'
5
- import iview from './iview/index'
6
- import vxeTable from './vxeTable/index'
7
- import globalComponents from './components/index'
8
- import mixin from './mixin/index'
9
- import './css/index'
10
-
11
- // 全局公共封装组件
12
- const install = function (root, option = {}) {
13
- if (install.installed) return
14
- root.config.globalProperties.$vUtils = utils
15
- root.mixin(mixin)
16
- root.use(VueMasonryPlugin, option)
17
- root.use(directive)
18
- root.use(iview, option)
19
- root.use(vxeTable, option)
20
- root.use(globalComponents, option)
21
- }
22
-
23
- const ShUI = {
24
- name: packageConfig.name,
25
- version: packageConfig.version,
26
- install
27
- }
28
-
29
- let consInfo = ''
30
- let defaultBg = 'padding: 5px; color: #111; background: #f5f7f9; font-weight: bold;'
31
- let tagBg1 = 'padding: 5px; color: #fff; background: #8e2eff; font-weight: bold;'
32
- let tagBg2 = 'padding: 5px; color: #333; background: #ffee2e; font-weight: bold;'
33
- if ((window.navigator.language || window.navigator.browserLanguage).toLowerCase() === 'zh-cn') {
34
- consInfo = `%c由%c${ShUI.name}%c提供技术支持,版本%c${ShUI.version}%c`
35
- } else {
36
- consInfo = `%cPowered by%c${ShUI.name}%c,version%c${ShUI.version}%c`
37
- }
38
- console.info(consInfo, defaultBg, tagBg1, defaultBg, tagBg2, defaultBg)
39
-
40
- export default ShUI
1
+ import packageConfig from '../package.json'
2
+ import { utils, notice } from 'sh-tools'
3
+ import { VueMasonryPlugin } from 'vue-masonry'
4
+ import directive from './directive/index'
5
+ import vxeTable from './vxeTable/index'
6
+ import globalComponents from './components/index'
7
+ import mixin from './mixin/index'
8
+ import './css/index'
9
+
10
+ // 全局公共封装组件
11
+ const install = function (root, option = {}) {
12
+ if (install.installed) return
13
+ root.config.globalProperties.$vUtils = utils
14
+ root.config.globalProperties.$Notice = notice
15
+ root.mixin(mixin)
16
+ root.use(VueMasonryPlugin, option)
17
+ root.use(directive)
18
+ root.use(vxeTable, option)
19
+ root.use(globalComponents, option)
20
+ }
21
+
22
+ const ShUI = {
23
+ name: packageConfig.name,
24
+ version: packageConfig.version,
25
+ install
26
+ }
27
+
28
+ let consInfo = ''
29
+ let defaultBg = 'padding: 5px; color: #111; background: #f5f7f9; font-weight: bold;'
30
+ let tagBg1 = 'padding: 5px; color: #fff; background: #8e2eff; font-weight: bold;'
31
+ let tagBg2 = 'padding: 5px; color: #333; background: #ffee2e; font-weight: bold;'
32
+ if ((window.navigator.language || window.navigator.browserLanguage).toLowerCase() === 'zh-cn') {
33
+ consInfo = `%c由%c${ShUI.name}%c提供技术支持,版本%c${ShUI.version}%c`
34
+ } else {
35
+ consInfo = `%cPowered by%c${ShUI.name}%c,version%c${ShUI.version}%c`
36
+ }
37
+ console.info(consInfo, defaultBg, tagBg1, defaultBg, tagBg2, defaultBg)
38
+
39
+ export default ShUI
@@ -0,0 +1,12 @@
1
+ let transferIndex = 0
2
+ let lastVisibleIndex = 0
3
+
4
+ function transferIncrease() {
5
+ transferIndex++
6
+ }
7
+
8
+ function lastVisibleIncrease() {
9
+ lastVisibleIndex++
10
+ }
11
+
12
+ export { transferIndex, transferIncrease, lastVisibleIndex, lastVisibleIncrease }
@@ -1,6 +1,6 @@
1
1
  /* 自定义主题覆盖部分开始 */
2
- $theme-color: var(--theme-color);
3
- $theme-weak-color: var(--theme-weak-color);
2
+ $theme-color: var(--vxe-primary-color);
3
+ $theme-weak-color: var(--vxe-primary-lighten-color);
4
4
 
5
5
  @import "variable.scss";
6
6
  @import 'vxe-table/styles/all.scss';
@@ -26,68 +26,8 @@ input:focus, textarea:focus,
26
26
  background-color: #a50aa5;
27
27
  border-color: #a50aa5;
28
28
  }
29
- // 主题色按钮
30
- .vxe-button.type--button.theme--theme,
31
- .vxe-button.type--button.theme--theme:hover {
32
- color: #fff;
33
- }
34
- .vxe-button.type--button.theme--theme {
35
- background-color: $theme-color;
36
- border-color: $theme-color;
37
- }
38
- .vxe-button.type--button.theme--theme:active {
39
- background-color: $theme-color;
40
- border-color: $theme-color;
41
- opacity: 0.8;
42
- }
43
- .vxe-button.type--button.theme--theme.is--disabled, .vxe-button.type--button.theme--purple.is--disabled{
44
- opacity: 0.8;
45
- color: #eee;
46
- }
47
-
48
- .vxe-pager.is--background .vxe-pager--jump-next:not(.is--disabled).is--active, .vxe-pager.is--background .vxe-pager--jump-prev:not(.is--disabled).is--active, .vxe-pager.is--background .vxe-pager--num-btn:not(.is--disabled).is--active, .vxe-pager.is--perfect .vxe-pager--jump-next:not(.is--disabled).is--active, .vxe-pager.is--perfect .vxe-pager--jump-prev:not(.is--disabled).is--active, .vxe-pager.is--perfect .vxe-pager--num-btn:not(.is--disabled).is--active{
49
- background-color: $theme-color;
50
- }
51
- .vxe-pager.is--background .vxe-pager--jump-next:not(.is--disabled).is--active:focus, .vxe-pager.is--background .vxe-pager--jump-prev:not(.is--disabled).is--active:focus, .vxe-pager.is--background .vxe-pager--num-btn:not(.is--disabled).is--active:focus, .vxe-pager.is--perfect .vxe-pager--jump-next:not(.is--disabled).is--active:focus, .vxe-pager.is--perfect .vxe-pager--jump-prev:not(.is--disabled).is--active:focus, .vxe-pager.is--perfect .vxe-pager--num-btn:not(.is--disabled).is--active:focus{
52
- border-color: $theme-color;
53
- box-shadow: none;
54
- }
55
- .vxe-pager.is--background .vxe-pager--jump-next:not(.is--disabled).is--active:hover, .vxe-pager.is--background .vxe-pager--jump-prev:not(.is--disabled).is--active:hover, .vxe-pager.is--background .vxe-pager--num-btn:not(.is--disabled).is--active:hover, .vxe-pager.is--perfect .vxe-pager--jump-next:not(.is--disabled).is--active:hover, .vxe-pager.is--perfect .vxe-pager--jump-prev:not(.is--disabled).is--active:hover, .vxe-pager.is--perfect .vxe-pager--num-btn:not(.is--disabled).is--active:hover{
56
- background-color: $theme-color;
57
- }
58
- .vxe-pager.is--border .vxe-pager--num-btn.is--active{
59
- border-color: $theme-color;
60
- }
61
- .vxe-table--render-default.border--default .vxe-table--header-wrapper, .vxe-table--render-default.border--full .vxe-table--header-wrapper, .vxe-table--render-default.border--outer .vxe-table--header-wrapper{
62
- background-color: var(--header-color);
63
- }
64
- .vxe-modal--wrapper .vxe-modal--header{
65
- background-color: $theme-weak-color;
66
- }
67
- .is--checked.vxe-table--filter-option .vxe-checkbox--icon, .is--checked.vxe-export--panel-column-option .vxe-checkbox--icon, .vxe-table--render-default .is--checked.vxe-cell--checkbox .vxe-checkbox--icon, .is--checked.vxe-custom--option .vxe-checkbox--icon, .is--checked.vxe-checkbox .vxe-checkbox--icon, .is--indeterminate.vxe-table--filter-option .vxe-checkbox--icon, .is--indeterminate.vxe-export--panel-column-option .vxe-checkbox--icon, .vxe-table--render-default .is--indeterminate.vxe-cell--checkbox .vxe-checkbox--icon, .is--indeterminate.vxe-custom--option .vxe-checkbox--icon, .is--indeterminate.vxe-checkbox .vxe-checkbox--icon{
68
- color: $theme-color !important;
69
- &:hover{
70
- color: $theme-color;
71
- }
72
- }
73
- .is--checked.vxe-radio .vxe-radio--icon, .vxe-table--render-default .is--checked.vxe-cell--radio .vxe-radio--icon{
74
- color: $theme-color !important;
75
- &:hover{
76
- color: $theme-color;
77
- }
78
- }
79
- .vxe-checkbox:not(.is--disabled) > input:focus + .vxe-checkbox--icon{
80
- color: $theme-color;
81
- box-shadow: none;
82
- }
83
- .vxe-table--render-default .is--checked.vxe-cell--radio .vxe-radio--checked-icon:before{
84
- background-color: $theme-color;
85
- border-color: $theme-color;
86
- }
87
29
  /* 自定义主题覆盖部分结束 */
88
30
 
89
-
90
-
91
31
  // 按钮
92
32
  button:focus, .vxe-button.type--button:not(.is--disabled):focus{
93
33
  box-shadow: none;
@@ -102,7 +42,7 @@ button:focus, .vxe-button.type--button:not(.is--disabled):focus{
102
42
  float: none;
103
43
  &.is--error{
104
44
  .sh-code-editor{
105
- border-color: var(--error-color) !important;
45
+ border-color: var(--vxe-danger-color) !important;
106
46
  }
107
47
  }
108
48
  .vxe-form--item-inner{
@@ -144,9 +84,6 @@ button:focus, .vxe-button.type--button:not(.is--disabled):focus{
144
84
 
145
85
  // 下拉容器
146
86
  .vxe-pulldown--panel{
147
- &.animat--leave {
148
- transform-style: unset;
149
- }
150
87
  .vxe-pulldown--wrapper{
151
88
  box-shadow: 0 0 6px 2px rgba(0,0,0,0.1);
152
89
  padding: 0;
@@ -159,6 +96,9 @@ button:focus, .vxe-button.type--button:not(.is--disabled):focus{
159
96
  .vxe-modal--wrapper{
160
97
  width: calc(100%);
161
98
  height: calc(100%);
99
+ .vxe-modal--header{
100
+ background-color: var(--primary-weak-color);
101
+ }
162
102
  &.vxe-modal--preview{
163
103
  .vxe-modal--box{
164
104
  .vxe-modal--content{
@@ -168,7 +108,7 @@ button:focus, .vxe-button.type--button:not(.is--disabled):focus{
168
108
  }
169
109
  &.type--modal {
170
110
  .vxe-modal--footer{
171
- border-top: 1px solid var(--border-color);
111
+ border-top: 1px solid var(--vxe-table-border-color);
172
112
  padding-top: 0.5rem;
173
113
  padding-bottom: 0.5em;
174
114
  }
@@ -197,13 +137,6 @@ button:focus, .vxe-button.type--button:not(.is--disabled):focus{
197
137
  &.vxe-table--render-default{
198
138
  font-family: inherit;
199
139
  color: inherit;
200
- &.vxe-editable{
201
- .vxe-body--column{
202
- &.col--actived{
203
- background: var(--theme-weak-color);
204
- }
205
- }
206
- }
207
140
  .vxe-table--render-wrapper{
208
141
  .vxe-cell{
209
142
  padding-left: 2px;
@@ -256,25 +189,6 @@ button:focus, .vxe-button.type--button:not(.is--disabled):focus{
256
189
  }
257
190
  }
258
191
  }
259
- .vxe-grid--form-wrapper{
260
- .vxe-form{
261
- &.vxe-form-collapsed{
262
- &.vxe-form-collapsed-open{
263
- .vxe-form--wrapper{
264
- max-height: 200px;
265
- overflow: auto;
266
- }
267
- }
268
- &.vxe-form-collapsed-close{
269
- .vxe-form--wrapper{
270
- }
271
- }
272
- }
273
- .vxe-form-slots{
274
- display: block;
275
- }
276
- }
277
- }
278
192
  }
279
193
 
280
194
  // 渲染器
@@ -369,13 +283,13 @@ button:focus, .vxe-button.type--button:not(.is--disabled):focus{
369
283
  right: 0;
370
284
  bottom: 0;
371
285
  width: 1px;
372
- background-color: var(--border-color);
286
+ background-color: var(--vxe-table-border-color);
373
287
  }
374
288
  &.basic:after{
375
- background-color: var(--danger-color);
289
+ background-color: var(--vxe-danger-color);
376
290
  }
377
291
  &.commafy:after{
378
- background-color: var(--success-color);
292
+ background-color: var(--vxe-success-color);
379
293
  }
380
294
  }
381
295
  }
@@ -395,12 +309,12 @@ button:focus, .vxe-button.type--button:not(.is--disabled):focus{
395
309
  top: 100%;
396
310
  right: -2px;
397
311
  height: 100%;
398
- border-top: 1px solid var(--border-color);
312
+ border-top: 1px solid var(--vxe-table-border-color);
399
313
  }
400
314
  }
401
315
  }
402
316
  .header-money-unit-text{
403
- color: var(--theme-color);
317
+ color: var(--vxe-primary-color);
404
318
  font-size: .9em;
405
319
  }
406
320
  }