vxe-pc-ui 3.3.32 → 3.3.35

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 (98) hide show
  1. package/es/icon/style.css +1 -1
  2. package/es/image/src/image.js +4 -2
  3. package/es/image/style.css +3 -0
  4. package/es/image/style.min.css +1 -0
  5. package/es/number-input/src/number-input.js +2 -1
  6. package/es/pager/style.css +1 -1
  7. package/es/pager/style.min.css +1 -1
  8. package/es/rate/src/rate.js +22 -5
  9. package/es/rate/style.css +6 -3
  10. package/es/rate/style.min.css +1 -1
  11. package/es/style.css +1 -1
  12. package/es/style.min.css +1 -1
  13. package/es/switch/src/switch.js +22 -2
  14. package/es/switch/style.css +3 -0
  15. package/es/switch/style.min.css +1 -1
  16. package/es/ui/index.js +5 -4
  17. package/es/ui/src/log.js +1 -1
  18. package/es/upload/src/upload.js +24 -9
  19. package/es/upload/style.css +21 -5
  20. package/es/upload/style.min.css +1 -1
  21. package/es/vxe-image/style.css +3 -0
  22. package/es/vxe-image/style.min.css +1 -0
  23. package/es/vxe-pager/style.css +1 -1
  24. package/es/vxe-pager/style.min.css +1 -1
  25. package/es/vxe-rate/style.css +6 -3
  26. package/es/vxe-rate/style.min.css +1 -1
  27. package/es/vxe-switch/style.css +3 -0
  28. package/es/vxe-switch/style.min.css +1 -1
  29. package/es/vxe-upload/style.css +21 -5
  30. package/es/vxe-upload/style.min.css +1 -1
  31. package/lib/icon/style/style.css +1 -1
  32. package/lib/icon/style/style.min.css +1 -1
  33. package/lib/image/src/image.js +4 -2
  34. package/lib/image/src/image.min.js +1 -1
  35. package/lib/image/style/style.css +3 -0
  36. package/lib/image/style/style.min.css +1 -0
  37. package/lib/index.umd.js +76 -23
  38. package/lib/index.umd.min.js +1 -1
  39. package/lib/number-input/src/number-input.js +2 -1
  40. package/lib/number-input/src/number-input.min.js +1 -1
  41. package/lib/pager/style/style.css +1 -1
  42. package/lib/pager/style/style.min.css +1 -1
  43. package/lib/rate/src/rate.js +21 -5
  44. package/lib/rate/src/rate.min.js +1 -1
  45. package/lib/rate/style/style.css +6 -3
  46. package/lib/rate/style/style.min.css +1 -1
  47. package/lib/style.css +1 -1
  48. package/lib/style.min.css +1 -1
  49. package/lib/switch/src/switch.js +22 -3
  50. package/lib/switch/src/switch.min.js +1 -1
  51. package/lib/switch/style/style.css +3 -0
  52. package/lib/switch/style/style.min.css +1 -1
  53. package/lib/ui/index.js +5 -4
  54. package/lib/ui/index.min.js +1 -1
  55. package/lib/ui/src/log.js +1 -1
  56. package/lib/ui/src/log.min.js +1 -1
  57. package/lib/upload/src/upload.js +21 -7
  58. package/lib/upload/src/upload.min.js +1 -1
  59. package/lib/upload/style/style.css +21 -5
  60. package/lib/upload/style/style.min.css +1 -1
  61. package/lib/vxe-image/style/style.css +3 -0
  62. package/lib/vxe-image/style/style.min.css +1 -0
  63. package/lib/vxe-pager/style/style.css +1 -1
  64. package/lib/vxe-pager/style/style.min.css +1 -1
  65. package/lib/vxe-rate/style/style.css +6 -3
  66. package/lib/vxe-rate/style/style.min.css +1 -1
  67. package/lib/vxe-switch/style/style.css +3 -0
  68. package/lib/vxe-switch/style/style.min.css +1 -1
  69. package/lib/vxe-upload/style/style.css +21 -5
  70. package/lib/vxe-upload/style/style.min.css +1 -1
  71. package/package.json +1 -1
  72. package/packages/image/src/image.ts +4 -2
  73. package/packages/number-input/src/number-input.ts +2 -1
  74. package/packages/rate/src/rate.ts +23 -5
  75. package/packages/switch/src/switch.ts +25 -4
  76. package/packages/ui/index.ts +4 -3
  77. package/packages/upload/src/upload.ts +24 -9
  78. package/styles/components/image.scss +5 -0
  79. package/styles/components/pager.scss +1 -1
  80. package/styles/components/rate.scss +10 -3
  81. package/styles/components/switch.scss +5 -0
  82. package/styles/components/upload.scss +21 -4
  83. package/types/components/image.d.ts +2 -0
  84. package/types/components/table-module/custom.d.ts +2 -0
  85. package/types/components/table.d.ts +35 -4
  86. package/types/components/upload.d.ts +14 -0
  87. /package/es/icon/{iconfont.1734000190581.ttf → iconfont.1734189926286.ttf} +0 -0
  88. /package/es/icon/{iconfont.1734000190581.woff → iconfont.1734189926286.woff} +0 -0
  89. /package/es/icon/{iconfont.1734000190581.woff2 → iconfont.1734189926286.woff2} +0 -0
  90. /package/es/{iconfont.1734000190581.ttf → iconfont.1734189926286.ttf} +0 -0
  91. /package/es/{iconfont.1734000190581.woff → iconfont.1734189926286.woff} +0 -0
  92. /package/es/{iconfont.1734000190581.woff2 → iconfont.1734189926286.woff2} +0 -0
  93. /package/lib/icon/style/{iconfont.1734000190581.ttf → iconfont.1734189926286.ttf} +0 -0
  94. /package/lib/icon/style/{iconfont.1734000190581.woff → iconfont.1734189926286.woff} +0 -0
  95. /package/lib/icon/style/{iconfont.1734000190581.woff2 → iconfont.1734189926286.woff2} +0 -0
  96. /package/lib/{iconfont.1734000190581.ttf → iconfont.1734189926286.ttf} +0 -0
  97. /package/lib/{iconfont.1734000190581.woff → iconfont.1734189926286.woff} +0 -0
  98. /package/lib/{iconfont.1734000190581.woff2 → iconfont.1734189926286.woff2} +0 -0
@@ -1 +1 @@
1
- .vxe-rate{display:inline-flex;flex-direction:row;color:var(--vxe-ui-font-color)}.vxe-rate.theme--primary .vxe-rte--item{color:var(--vxe-ui-font-primary-color)}.vxe-rate.theme--success .vxe-rte--item{color:var(--vxe-ui-status-success-color)}.vxe-rate.theme--info .vxe-rte--item{color:var(--vxe-ui-status-info-color)}.vxe-rate.theme--warning .vxe-rte--item{color:var(--vxe-ui-status-warning-color)}.vxe-rate.theme--danger .vxe-rte--item{color:var(--vxe-ui-status-danger-color)}.vxe-rate.theme--error .vxe-rte--item{color:var(--vxe-ui-status-error-color)}.vxe-rte--item{margin-right:.25em;font-size:1.2em;cursor:pointer}.vxe-rte--item:last-child{margin:0}.vxe-rte--item.is--checked{color:var(--vxe-ui-rate-item-color)}.vxe-rte--item.is--disabled{cursor:no-drop}.vxe-rate{font-size:var(--vxe-ui-font-size-default)}.vxe-rate.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-rate.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-rate.size--mini{font-size:var(--vxe-ui-font-size-mini)}
1
+ .vxe-rate{display:inline-flex;flex-direction:row;color:var(--vxe-ui-font-color)}.vxe-rate.theme--primary .vxe-rte--item{color:var(--vxe-ui-font-primary-color)}.vxe-rate.theme--success .vxe-rte--item{color:var(--vxe-ui-status-success-color)}.vxe-rate.theme--info .vxe-rte--item{color:var(--vxe-ui-status-info-color)}.vxe-rate.theme--warning .vxe-rte--item{color:var(--vxe-ui-status-warning-color)}.vxe-rate.theme--danger .vxe-rte--item{color:var(--vxe-ui-status-danger-color)}.vxe-rate.theme--error .vxe-rte--item{color:var(--vxe-ui-status-error-color)}.vxe-rate.is--disabled .vxe-rte--item{cursor:no-drop}.vxe-rate.is--readonly .vxe-rte--item{cursor:default}.vxe-rte--item{margin-right:.25em;font-size:1.2em;cursor:pointer}.vxe-rte--item:last-child{margin:0}.vxe-rte--item.is--checked{color:var(--vxe-ui-rate-item-color)}.vxe-rate{font-size:var(--vxe-ui-font-size-default)}.vxe-rate.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-rate.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-rate.size--mini{font-size:var(--vxe-ui-font-size-mini)}
@@ -62,6 +62,9 @@
62
62
  .vxe-switch.is--disabled.is--off .vxe-switch--icon {
63
63
  color: var(--vxe-switch-disabled-background-color);
64
64
  }
65
+ .vxe-switch.is--readonly .vxe-switch--button {
66
+ cursor: default;
67
+ }
65
68
  .vxe-switch .vxe-switch--button {
66
69
  display: block;
67
70
  position: relative;
@@ -1 +1 @@
1
- .vxe-switch{display:inline-block;color:var(--vxe-ui-font-color);vertical-align:middle;padding:.4em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center}.vxe-switch.is--animat .vxe-switch--button{transition:border-color .3s,background-color .3s}.vxe-switch.is--animat .vxe-switch--icon{transition:all .3s}.vxe-switch.is--on .vxe-switch--button{padding-right:1.7em;background-color:var(--vxe-ui-switch-open-background-color)}.vxe-switch.is--on .vxe-switch--icon{left:100%;transform:translateX(-1.4em);color:var(--vxe-primary-color)}.vxe-switch.is--off .vxe-switch--button{padding-left:1.7em;background-color:var(--vxe-ui-switch-close-background-color)}.vxe-switch.is--off .vxe-switch--icon{left:.2em;transform:translateX(0);color:var(--vxe-switch-close-background-color)}.vxe-switch.is--off .vxe-switch--label-on,.vxe-switch.is--on .vxe-switch--label-off{height:0;visibility:hidden;overflow:hidden}.vxe-switch.is--off .vxe-switch--label,.vxe-switch.is--on .vxe-switch--label{opacity:1}.vxe-switch:not(.is--disabled) .vxe-switch--button{cursor:pointer}.vxe-switch:not(.is--disabled) .vxe-switch--button:focus{box-shadow:0 0 .4em 0 var(--vxe-ui-font-primary-color)}.vxe-switch.is--disabled .vxe-switch--button{cursor:no-drop}.vxe-switch.is--disabled.is--on .vxe-switch--button{background-color:var(--vxe-ui-font-primary-lighten-color)}.vxe-switch.is--disabled.is--on .vxe-switch--icon{color:var(--vxe-primary-lighten-color)}.vxe-switch.is--disabled.is--off .vxe-switch--button{background-color:var(--vxe-ui-switch-disabled-background-color)}.vxe-switch.is--disabled.is--off .vxe-switch--icon{color:var(--vxe-switch-disabled-background-color)}.vxe-switch .vxe-switch--button{display:block;position:relative;height:1.6em;line-height:1;min-width:3.2em;padding:0 .6em;border-radius:1em;border:0;outline:0}.vxe-switch .vxe-switch--label{opacity:0;display:block;color:var(--vxe-ui-switch-font-color);font-size:.8em}.vxe-switch .vxe-switch--icon{position:absolute;top:.2em;left:0;width:1.2em;height:1.2em;line-height:1.4em;text-align:center;border-radius:50%;background-color:var(--vxe-ui-switch-icon-background-color)}.vxe-switch .vxe-switch--label-icon{margin-right:.25em}.vxe-switch{font-size:var(--vxe-ui-font-size-default)}.vxe-switch.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-switch.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-switch.size--mini{font-size:var(--vxe-ui-font-size-mini)}
1
+ .vxe-switch{display:inline-block;color:var(--vxe-ui-font-color);vertical-align:middle;padding:.4em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center}.vxe-switch.is--animat .vxe-switch--button{transition:border-color .3s,background-color .3s}.vxe-switch.is--animat .vxe-switch--icon{transition:all .3s}.vxe-switch.is--on .vxe-switch--button{padding-right:1.7em;background-color:var(--vxe-ui-switch-open-background-color)}.vxe-switch.is--on .vxe-switch--icon{left:100%;transform:translateX(-1.4em);color:var(--vxe-primary-color)}.vxe-switch.is--off .vxe-switch--button{padding-left:1.7em;background-color:var(--vxe-ui-switch-close-background-color)}.vxe-switch.is--off .vxe-switch--icon{left:.2em;transform:translateX(0);color:var(--vxe-switch-close-background-color)}.vxe-switch.is--off .vxe-switch--label-on,.vxe-switch.is--on .vxe-switch--label-off{height:0;visibility:hidden;overflow:hidden}.vxe-switch.is--off .vxe-switch--label,.vxe-switch.is--on .vxe-switch--label{opacity:1}.vxe-switch:not(.is--disabled) .vxe-switch--button{cursor:pointer}.vxe-switch:not(.is--disabled) .vxe-switch--button:focus{box-shadow:0 0 .4em 0 var(--vxe-ui-font-primary-color)}.vxe-switch.is--disabled .vxe-switch--button{cursor:no-drop}.vxe-switch.is--disabled.is--on .vxe-switch--button{background-color:var(--vxe-ui-font-primary-lighten-color)}.vxe-switch.is--disabled.is--on .vxe-switch--icon{color:var(--vxe-primary-lighten-color)}.vxe-switch.is--disabled.is--off .vxe-switch--button{background-color:var(--vxe-ui-switch-disabled-background-color)}.vxe-switch.is--disabled.is--off .vxe-switch--icon{color:var(--vxe-switch-disabled-background-color)}.vxe-switch.is--readonly .vxe-switch--button{cursor:default}.vxe-switch .vxe-switch--button{display:block;position:relative;height:1.6em;line-height:1;min-width:3.2em;padding:0 .6em;border-radius:1em;border:0;outline:0}.vxe-switch .vxe-switch--label{opacity:0;display:block;color:var(--vxe-ui-switch-font-color);font-size:.8em}.vxe-switch .vxe-switch--icon{position:absolute;top:.2em;left:0;width:1.2em;height:1.2em;line-height:1.4em;text-align:center;border-radius:50%;background-color:var(--vxe-ui-switch-icon-background-color)}.vxe-switch .vxe-switch--label-icon{margin-right:.25em}.vxe-switch{font-size:var(--vxe-ui-font-size-default)}.vxe-switch.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-switch.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-switch.size--mini{font-size:var(--vxe-ui-font-size-mini)}
@@ -224,7 +224,6 @@
224
224
  flex-direction: row;
225
225
  align-items: center;
226
226
  justify-content: center;
227
- border: 1px solid var(--vxe-ui-input-border-color);
228
227
  }
229
228
 
230
229
  .vxe-upload--image-action-box {
@@ -250,10 +249,10 @@
250
249
  border-color: var(--vxe-ui-input-border-color);
251
250
  }
252
251
 
253
- .vxe-upload--image-item:hover:not(.is--loading) .vxe-upload--image-item-box {
252
+ .vxe-upload--image-item:hover:not(.is--loading) .vxe-upload--image-item-img-wrapper {
254
253
  border-color: var(--vxe-ui-font-primary-color);
255
254
  }
256
- .vxe-upload--image-item:hover:not(.is--loading) .vxe-upload--image-item-box::after {
255
+ .vxe-upload--image-item:hover:not(.is--loading) .vxe-upload--image-item-img-wrapper::after {
257
256
  content: "";
258
257
  position: absolute;
259
258
  top: 0;
@@ -266,17 +265,34 @@
266
265
  .vxe-upload--image-item.is--loading .vxe-upload--image-item-box {
267
266
  cursor: progress;
268
267
  }
269
- .vxe-upload--image-item.is--error .vxe-upload--image-item-box {
268
+ .vxe-upload--image-item.is--error .vxe-upload--image-item-img-wrapper {
270
269
  border-color: var(--vxe-ui-status-error-color);
271
270
  }
272
271
  .vxe-upload--image-item.is--preview .vxe-upload--image-item-box {
273
272
  cursor: pointer;
274
273
  }
274
+ .vxe-upload--image-item.is--circle .vxe-upload--image-item-img-wrapper {
275
+ border-radius: 50%;
276
+ overflow: hidden;
277
+ }
278
+ .vxe-upload--image-item.is--circle .vxe-upload--image-item-img-wrapper::after {
279
+ border-radius: 50%;
280
+ }
281
+
282
+ .vxe-upload--image-item-img-wrapper {
283
+ display: flex;
284
+ flex-direction: row;
285
+ align-items: center;
286
+ justify-content: center;
287
+ width: 100%;
288
+ height: 100%;
289
+ border-radius: var(--vxe-ui-base-border-radius);
290
+ border: 1px solid var(--vxe-ui-input-border-color);
291
+ }
275
292
 
276
293
  .vxe-upload--image-item-img {
277
294
  max-width: 100%;
278
295
  max-height: 100%;
279
- border-radius: var(--vxe-ui-base-border-radius);
280
296
  }
281
297
 
282
298
  .vxe-upload--image-item-loading {
@@ -1 +1 @@
1
- .vxe-upload{position:relative;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family)}.vxe-upload.is--active .vxe-upload--image-action-box{border-color:var(--vxe-ui-font-primary-color)}.vxe-upload.is--active .vxe-upload--file-action-btn>.vxe-button{border-color:var(--vxe-ui-font-primary-color);border-style:var(--vxe-ui-upload-file-button-border-style)}.vxe-upload.show--error .vxe-upload--file-item.is--error{color:var(--vxe-ui-status-error-color)}.vxe-upload.show--error .vxe-upload--file-item.is--error:hover .vxe-upload--file-item-name{color:var(--vxe-ui-status-error-color)}.vxe-upload.show--error .vxe-upload--file-item.is--error .vxe-upload--file-item-name{text-decoration:line-through}.vxe-upload--more-popup.is--disabled .vxe-upload--file-action-btn,.vxe-upload--more-popup.is--disabled .vxe-upload--image-action-box,.vxe-upload.is--disabled .vxe-upload--file-action-btn,.vxe-upload.is--disabled .vxe-upload--image-action-box{cursor:no-drop}.vxe-upload--drag-placeholder{display:flex;flex-direction:row;align-items:center;justify-content:center;position:absolute;top:0;left:0;width:100%;height:100%;font-weight:700;font-weight:var(--vxe-ui-font-darken-color);font-size:1.2em;border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-upload-drag-over-background-color);border:1px dotted var(--vxe-ui-font-lighten-color);z-index:9}.vxe-upload--file-list-wrapper.is--horizontal{display:flex;flex-direction:row}.vxe-upload--file-list-wrapper.is--horizontal>.vxe-upload--file-list{flex-grow:1;display:flex;flex-direction:column;justify-content:center}.vxe-upload--file-list-wrapper.is--horizontal>.vxe-upload--file-action{flex-shrink:0}.vxe-upload--file-list{max-height:294px;overflow:auto;outline:0}.vxe-upload--file-item{position:relative;display:flex;flex-direction:row;align-items:center;line-height:1.5em;margin-bottom:var(--vxe-ui-layout-padding-half);padding:.1em var(--vxe-ui-layout-padding-half)}.vxe-upload--file-item:hover{background-color:var(--vxe-ui-base-hover-background-color)}.vxe-upload--file-item:hover:not(.is--loading) .vxe-upload--file-item-name{color:var(--vxe-ui-font-primary-color)}.vxe-upload--file-item:last-child{margin-bottom:0}.vxe-upload--file-item.is--loading{cursor:progress;color:var(--vxe-ui-input-placeholder-color)}.vxe-upload--file-item.is--preview .vxe-upload--file-item-name{cursor:pointer}.vxe-upload--file-over-more{display:flex;align-items:center;justify-content:center;flex-shrink:0}.vxe-upload--file-over-more .vxe-button{padding-top:0;padding-bottom:0}.vxe-upload--file-action-btn{display:inline-block}.vxe-upload--file-action-btn>.vxe-button{border-style:var(--vxe-ui-upload-file-button-border-style)}.vxe-upload--file-action-button:hover{border-color:var(--vxe-ui-font-primary-color)}.vxe-upload--file-action-tip{font-size:.9em;padding:var(--vxe-ui-layout-padding-half);color:var(--vxe-ui-input-placeholder-color)}.vxe-upload--file-item-error{padding-right:.4em;color:var(--vxe-ui-status-error-color);text-decoration:none;cursor:help}.vxe-upload--file-item-icon{flex-shrink:0;padding-right:.2em}.vxe-upload--file-item-name{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 .2em}.vxe-upload--file-item-btn-wrapper{display:inline-flex;flex-direction:row;justify-content:center}.vxe-upload--file-item-loading-icon{padding-right:.2em}.vxe-upload--file-item-loading-icon,.vxe-upload--file-item-loading-text{color:var(--vxe-ui-loading-color);flex-shrink:0}.vxe-upload--file-item-corner,.vxe-upload--file-item-download-btn,.vxe-upload--file-item-remove-btn{flex-shrink:0}.vxe-upload--file-item-download-btn,.vxe-upload--file-item-remove-btn{padding-left:.5em;cursor:pointer}.vxe-upload--file-item-download-btn{color:var(--vxe-ui-font-primary-color)}.vxe-upload--file-item-download-btn:hover{color:var(--vxe-ui-font-primary-lighten-color)}.vxe-upload--file-item-remove-btn{color:var(--vxe-ui-status-error-color)}.vxe-upload--file-item-remove-btn:hover{color:var(--vxe-ui-status-error-lighten-color)}.vxe-upload--image-list,.vxe-upload--image-more-list{display:flex;flex-direction:row;flex-wrap:wrap}.vxe-upload--image-action,.vxe-upload--image-item,.vxe-upload--image-over-more{flex-shrink:0;text-align:center;padding:var(--vxe-ui-layout-padding-half)}.vxe-upload--image-over-more{display:flex;align-items:center;justify-content:center}.vxe-upload--image-action-icon{font-size:1.2em;padding-bottom:.1em}.vxe-upload--image-action-content{font-size:.9em;padding:0 .15em .5em .15em}.vxe-upload--image-action-box,.vxe-upload--image-item-box{position:relative;border-radius:var(--vxe-ui-base-border-radius)}.vxe-upload--image-item-box{display:flex;flex-direction:row;align-items:center;justify-content:center;border:1px solid var(--vxe-ui-input-border-color)}.vxe-upload--image-action-box{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px var(--vxe-ui-upload-image-button-border-style) var(--vxe-ui-input-border-color);cursor:pointer}.vxe-upload--image-action-box:hover{color:var(--vxe-ui-font-primary-color);border-color:var(--vxe-ui-font-primary-color)}.vxe-upload.is--disabled .vxe-upload--file-action-btn,.vxe-upload.is--disabled .vxe-upload--image-action-box{color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-upload.is--disabled .vxe-upload--image-action-box:hover{color:var(--vxe-ui-font-disabled-color);border-color:var(--vxe-ui-input-border-color)}.vxe-upload--image-item:hover:not(.is--loading) .vxe-upload--image-item-box{border-color:var(--vxe-ui-font-primary-color)}.vxe-upload--image-item:hover:not(.is--loading) .vxe-upload--image-item-box::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background-color:rgba(0,0,0,.1)}.vxe-upload--image-item.is--loading .vxe-upload--image-item-box{cursor:progress}.vxe-upload--image-item.is--error .vxe-upload--image-item-box{border-color:var(--vxe-ui-status-error-color)}.vxe-upload--image-item.is--preview .vxe-upload--image-item-box{cursor:pointer}.vxe-upload--image-item-img{max-width:100%;max-height:100%;border-radius:var(--vxe-ui-base-border-radius)}.vxe-upload--image-item-loading{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;top:0;left:0;width:100%;height:100%;color:var(--vxe-ui-loading-color);background-color:var(--vxe-ui-loading-background-color);z-index:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-upload--image-action-hint{font-size:12px;word-break:break-all;color:var(--vxe-ui-input-placeholder-color)}.vxe-upload--image-item-btn-wrapper{display:inline-flex;flex-direction:row;justify-content:center;position:absolute;top:calc(var(--vxe-ui-layout-padding-half) * -1);right:calc(var(--vxe-ui-layout-padding-half) * -1)}.vxe-upload--file-item-,.vxe-upload--image-item-remove-btn{flex-shrink:0}.vxe-upload--image-item-remove-btn{display:flex;flex-direction:row;justify-content:center;align-items:center;width:1.8em;height:1.8em;font-size:.8em;border-radius:50%;color:#fff;background-color:var(--vxe-ui-status-error-color);z-index:3;cursor:pointer}.vxe-upload--image-item-remove-btn:hover{background-color:var(--vxe-ui-status-error-lighten-color)}.vxe-upload--file-message-over-error .vxe-upload--file-message-over-extra{margin-top:.5em;max-height:160px;overflow:auto;border:1px solid var(--vxe-ui-input-border-color);padding:var(--vxe-ui-layout-padding-half) var(--vxe-ui-layout-padding-default);outline:0}.vxe-upload--file-message-over-error .vxe-upload--file-message-over-extra-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-upload,.vxe-upload--more-popup{font-size:var(--vxe-ui-font-size-default)}.vxe-upload .vxe-upload--image-action-box,.vxe-upload .vxe-upload--image-item-box,.vxe-upload--more-popup .vxe-upload--image-action-box,.vxe-upload--more-popup .vxe-upload--image-item-box{width:var(--vxe-ui-upload-image-wh-default);height:var(--vxe-ui-upload-image-wh-default)}.vxe-upload--more-popup.size--medium,.vxe-upload.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-upload--more-popup.size--medium .vxe-upload--image-action-box,.vxe-upload--more-popup.size--medium .vxe-upload--image-item-box,.vxe-upload.size--medium .vxe-upload--image-action-box,.vxe-upload.size--medium .vxe-upload--image-item-box{width:var(--vxe-ui-upload-image-wh-medium);height:var(--vxe-ui-upload-image-wh-medium)}.vxe-upload--more-popup.size--small,.vxe-upload.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-upload--more-popup.size--small .vxe-upload--image-action-box,.vxe-upload--more-popup.size--small .vxe-upload--image-item-box,.vxe-upload.size--small .vxe-upload--image-action-box,.vxe-upload.size--small .vxe-upload--image-item-box{width:var(--vxe-ui-upload-image-wh-small);height:var(--vxe-ui-upload-image-wh-small)}.vxe-upload--more-popup.size--mini,.vxe-upload.size--mini{font-size:var(--vxe-ui-font-size-mini)}.vxe-upload--more-popup.size--mini .vxe-upload--image-action-box,.vxe-upload--more-popup.size--mini .vxe-upload--image-item-box,.vxe-upload.size--mini .vxe-upload--image-action-box,.vxe-upload.size--mini .vxe-upload--image-item-box{width:var(--vxe-ui-upload-image-wh-mini);height:var(--vxe-ui-upload-image-wh-mini)}.vxe-upload--image-more-list .vxe-upload--image-item-box{width:var(--vxe-ui-upload-image-wh-default);height:var(--vxe-ui-upload-image-wh-default)}
1
+ .vxe-upload{position:relative;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family)}.vxe-upload.is--active .vxe-upload--image-action-box{border-color:var(--vxe-ui-font-primary-color)}.vxe-upload.is--active .vxe-upload--file-action-btn>.vxe-button{border-color:var(--vxe-ui-font-primary-color);border-style:var(--vxe-ui-upload-file-button-border-style)}.vxe-upload.show--error .vxe-upload--file-item.is--error{color:var(--vxe-ui-status-error-color)}.vxe-upload.show--error .vxe-upload--file-item.is--error:hover .vxe-upload--file-item-name{color:var(--vxe-ui-status-error-color)}.vxe-upload.show--error .vxe-upload--file-item.is--error .vxe-upload--file-item-name{text-decoration:line-through}.vxe-upload--more-popup.is--disabled .vxe-upload--file-action-btn,.vxe-upload--more-popup.is--disabled .vxe-upload--image-action-box,.vxe-upload.is--disabled .vxe-upload--file-action-btn,.vxe-upload.is--disabled .vxe-upload--image-action-box{cursor:no-drop}.vxe-upload--drag-placeholder{display:flex;flex-direction:row;align-items:center;justify-content:center;position:absolute;top:0;left:0;width:100%;height:100%;font-weight:700;font-weight:var(--vxe-ui-font-darken-color);font-size:1.2em;border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-upload-drag-over-background-color);border:1px dotted var(--vxe-ui-font-lighten-color);z-index:9}.vxe-upload--file-list-wrapper.is--horizontal{display:flex;flex-direction:row}.vxe-upload--file-list-wrapper.is--horizontal>.vxe-upload--file-list{flex-grow:1;display:flex;flex-direction:column;justify-content:center}.vxe-upload--file-list-wrapper.is--horizontal>.vxe-upload--file-action{flex-shrink:0}.vxe-upload--file-list{max-height:294px;overflow:auto;outline:0}.vxe-upload--file-item{position:relative;display:flex;flex-direction:row;align-items:center;line-height:1.5em;margin-bottom:var(--vxe-ui-layout-padding-half);padding:.1em var(--vxe-ui-layout-padding-half)}.vxe-upload--file-item:hover{background-color:var(--vxe-ui-base-hover-background-color)}.vxe-upload--file-item:hover:not(.is--loading) .vxe-upload--file-item-name{color:var(--vxe-ui-font-primary-color)}.vxe-upload--file-item:last-child{margin-bottom:0}.vxe-upload--file-item.is--loading{cursor:progress;color:var(--vxe-ui-input-placeholder-color)}.vxe-upload--file-item.is--preview .vxe-upload--file-item-name{cursor:pointer}.vxe-upload--file-over-more{display:flex;align-items:center;justify-content:center;flex-shrink:0}.vxe-upload--file-over-more .vxe-button{padding-top:0;padding-bottom:0}.vxe-upload--file-action-btn{display:inline-block}.vxe-upload--file-action-btn>.vxe-button{border-style:var(--vxe-ui-upload-file-button-border-style)}.vxe-upload--file-action-button:hover{border-color:var(--vxe-ui-font-primary-color)}.vxe-upload--file-action-tip{font-size:.9em;padding:var(--vxe-ui-layout-padding-half);color:var(--vxe-ui-input-placeholder-color)}.vxe-upload--file-item-error{padding-right:.4em;color:var(--vxe-ui-status-error-color);text-decoration:none;cursor:help}.vxe-upload--file-item-icon{flex-shrink:0;padding-right:.2em}.vxe-upload--file-item-name{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 .2em}.vxe-upload--file-item-btn-wrapper{display:inline-flex;flex-direction:row;justify-content:center}.vxe-upload--file-item-loading-icon{padding-right:.2em}.vxe-upload--file-item-loading-icon,.vxe-upload--file-item-loading-text{color:var(--vxe-ui-loading-color);flex-shrink:0}.vxe-upload--file-item-corner,.vxe-upload--file-item-download-btn,.vxe-upload--file-item-remove-btn{flex-shrink:0}.vxe-upload--file-item-download-btn,.vxe-upload--file-item-remove-btn{padding-left:.5em;cursor:pointer}.vxe-upload--file-item-download-btn{color:var(--vxe-ui-font-primary-color)}.vxe-upload--file-item-download-btn:hover{color:var(--vxe-ui-font-primary-lighten-color)}.vxe-upload--file-item-remove-btn{color:var(--vxe-ui-status-error-color)}.vxe-upload--file-item-remove-btn:hover{color:var(--vxe-ui-status-error-lighten-color)}.vxe-upload--image-list,.vxe-upload--image-more-list{display:flex;flex-direction:row;flex-wrap:wrap}.vxe-upload--image-action,.vxe-upload--image-item,.vxe-upload--image-over-more{flex-shrink:0;text-align:center;padding:var(--vxe-ui-layout-padding-half)}.vxe-upload--image-over-more{display:flex;align-items:center;justify-content:center}.vxe-upload--image-action-icon{font-size:1.2em;padding-bottom:.1em}.vxe-upload--image-action-content{font-size:.9em;padding:0 .15em .5em .15em}.vxe-upload--image-action-box,.vxe-upload--image-item-box{position:relative;border-radius:var(--vxe-ui-base-border-radius)}.vxe-upload--image-item-box{display:flex;flex-direction:row;align-items:center;justify-content:center}.vxe-upload--image-action-box{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px var(--vxe-ui-upload-image-button-border-style) var(--vxe-ui-input-border-color);cursor:pointer}.vxe-upload--image-action-box:hover{color:var(--vxe-ui-font-primary-color);border-color:var(--vxe-ui-font-primary-color)}.vxe-upload.is--disabled .vxe-upload--file-action-btn,.vxe-upload.is--disabled .vxe-upload--image-action-box{color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-upload.is--disabled .vxe-upload--image-action-box:hover{color:var(--vxe-ui-font-disabled-color);border-color:var(--vxe-ui-input-border-color)}.vxe-upload--image-item:hover:not(.is--loading) .vxe-upload--image-item-img-wrapper{border-color:var(--vxe-ui-font-primary-color)}.vxe-upload--image-item:hover:not(.is--loading) .vxe-upload--image-item-img-wrapper::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background-color:rgba(0,0,0,.1)}.vxe-upload--image-item.is--loading .vxe-upload--image-item-box{cursor:progress}.vxe-upload--image-item.is--error .vxe-upload--image-item-img-wrapper{border-color:var(--vxe-ui-status-error-color)}.vxe-upload--image-item.is--preview .vxe-upload--image-item-box{cursor:pointer}.vxe-upload--image-item.is--circle .vxe-upload--image-item-img-wrapper{border-radius:50%;overflow:hidden}.vxe-upload--image-item.is--circle .vxe-upload--image-item-img-wrapper::after{border-radius:50%}.vxe-upload--image-item-img-wrapper{display:flex;flex-direction:row;align-items:center;justify-content:center;width:100%;height:100%;border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-input-border-color)}.vxe-upload--image-item-img{max-width:100%;max-height:100%}.vxe-upload--image-item-loading{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;top:0;left:0;width:100%;height:100%;color:var(--vxe-ui-loading-color);background-color:var(--vxe-ui-loading-background-color);z-index:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-upload--image-action-hint{font-size:12px;word-break:break-all;color:var(--vxe-ui-input-placeholder-color)}.vxe-upload--image-item-btn-wrapper{display:inline-flex;flex-direction:row;justify-content:center;position:absolute;top:calc(var(--vxe-ui-layout-padding-half) * -1);right:calc(var(--vxe-ui-layout-padding-half) * -1)}.vxe-upload--file-item-,.vxe-upload--image-item-remove-btn{flex-shrink:0}.vxe-upload--image-item-remove-btn{display:flex;flex-direction:row;justify-content:center;align-items:center;width:1.8em;height:1.8em;font-size:.8em;border-radius:50%;color:#fff;background-color:var(--vxe-ui-status-error-color);z-index:3;cursor:pointer}.vxe-upload--image-item-remove-btn:hover{background-color:var(--vxe-ui-status-error-lighten-color)}.vxe-upload--file-message-over-error .vxe-upload--file-message-over-extra{margin-top:.5em;max-height:160px;overflow:auto;border:1px solid var(--vxe-ui-input-border-color);padding:var(--vxe-ui-layout-padding-half) var(--vxe-ui-layout-padding-default);outline:0}.vxe-upload--file-message-over-error .vxe-upload--file-message-over-extra-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-upload,.vxe-upload--more-popup{font-size:var(--vxe-ui-font-size-default)}.vxe-upload .vxe-upload--image-action-box,.vxe-upload .vxe-upload--image-item-box,.vxe-upload--more-popup .vxe-upload--image-action-box,.vxe-upload--more-popup .vxe-upload--image-item-box{width:var(--vxe-ui-upload-image-wh-default);height:var(--vxe-ui-upload-image-wh-default)}.vxe-upload--more-popup.size--medium,.vxe-upload.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-upload--more-popup.size--medium .vxe-upload--image-action-box,.vxe-upload--more-popup.size--medium .vxe-upload--image-item-box,.vxe-upload.size--medium .vxe-upload--image-action-box,.vxe-upload.size--medium .vxe-upload--image-item-box{width:var(--vxe-ui-upload-image-wh-medium);height:var(--vxe-ui-upload-image-wh-medium)}.vxe-upload--more-popup.size--small,.vxe-upload.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-upload--more-popup.size--small .vxe-upload--image-action-box,.vxe-upload--more-popup.size--small .vxe-upload--image-item-box,.vxe-upload.size--small .vxe-upload--image-action-box,.vxe-upload.size--small .vxe-upload--image-item-box{width:var(--vxe-ui-upload-image-wh-small);height:var(--vxe-ui-upload-image-wh-small)}.vxe-upload--more-popup.size--mini,.vxe-upload.size--mini{font-size:var(--vxe-ui-font-size-mini)}.vxe-upload--more-popup.size--mini .vxe-upload--image-action-box,.vxe-upload--more-popup.size--mini .vxe-upload--image-item-box,.vxe-upload.size--mini .vxe-upload--image-action-box,.vxe-upload.size--mini .vxe-upload--image-item-box{width:var(--vxe-ui-upload-image-wh-mini);height:var(--vxe-ui-upload-image-wh-mini)}.vxe-upload--image-more-list .vxe-upload--image-item-box{width:var(--vxe-ui-upload-image-wh-default);height:var(--vxe-ui-upload-image-wh-default)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-pc-ui",
3
- "version": "3.3.32",
3
+ "version": "3.3.35",
4
4
  "description": "A vue based PC component library",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -19,6 +19,7 @@ export default defineVxeComponent({
19
19
  title: [String, Number] as PropType<VxeImagePropTypes.Title>,
20
20
  width: [String, Number] as PropType<VxeImagePropTypes.Width>,
21
21
  height: [String, Number] as PropType<VxeImagePropTypes.Height>,
22
+ circle: Boolean as PropType<VxeImagePropTypes.Circle>,
22
23
  maskClosable: {
23
24
  type: Boolean as PropType<VxeImagePropTypes.MaskClosable>,
24
25
  default: () => getConfig().image.maskClosable
@@ -147,14 +148,15 @@ export default defineVxeComponent({
147
148
  const $xeImage = this
148
149
  const props = $xeImage
149
150
 
150
- const { alt, loading } = props
151
+ const { alt, loading, circle } = props
151
152
  const imgStyle = $xeImage.computeImgStyle
152
153
  const imgUrl = $xeImage.computeImgUrl
153
154
  const vSize = $xeImage.computeSize
154
155
  return h('img', {
155
156
  ref: 'refElem',
156
157
  class: ['vxe-image', {
157
- [`size--${vSize}`]: vSize
158
+ [`size--${vSize}`]: vSize,
159
+ 'is--circle': circle
158
160
  }],
159
161
  style: imgStyle,
160
162
  attrs: {
@@ -712,13 +712,14 @@ export default defineVxeComponent({
712
712
 
713
713
  if (props.controls) {
714
714
  if (reactData.isActivated) {
715
+ evnt.stopPropagation()
716
+ evnt.preventDefault()
715
717
  const delta = evnt.deltaY
716
718
  if (delta > 0) {
717
719
  $xeNumberInput.numberNextEvent(evnt)
718
720
  } else if (delta < 0) {
719
721
  $xeNumberInput.numberPrevEvent(evnt)
720
722
  }
721
- evnt.preventDefault()
722
723
  }
723
724
  }
724
725
  $xeNumberInput.triggerEvent(evnt)
@@ -58,6 +58,20 @@ export default defineVxeComponent({
58
58
  }
59
59
  return disabled
60
60
  },
61
+ computeIsReadonly () {
62
+ const $xeRate = this
63
+ const props = $xeRate
64
+ const $xeForm = $xeRate.$xeForm
65
+
66
+ const { readonly } = props
67
+ if (readonly === null) {
68
+ if ($xeForm) {
69
+ return $xeForm.readonly || $xeForm.disabled
70
+ }
71
+ return false
72
+ }
73
+ return readonly
74
+ },
61
75
  computeNumVal () {
62
76
  const $xeRate = this
63
77
  const props = $xeRate
@@ -94,7 +108,8 @@ export default defineVxeComponent({
94
108
  const reactData = $xeRate.reactData
95
109
 
96
110
  const isDisabled = $xeRate.computeIsDisabled
97
- if (!isDisabled) {
111
+ const isReadonly = $xeRate.computeIsReadonly
112
+ if (!(isDisabled || isReadonly)) {
98
113
  const value = item.value
99
114
  reactData.activeValue = value
100
115
  }
@@ -111,7 +126,8 @@ export default defineVxeComponent({
111
126
  const formItemInfo = $xeRate.formItemInfo
112
127
 
113
128
  const isDisabled = $xeRate.computeIsDisabled
114
- if (!isDisabled) {
129
+ const isReadonly = $xeRate.computeIsReadonly
130
+ if (!(isDisabled || isReadonly)) {
115
131
  const value = item.value
116
132
  $xeRate.emitModel(value)
117
133
  $xeRate.dispatchEvent('change', { value }, evnt)
@@ -131,6 +147,7 @@ export default defineVxeComponent({
131
147
 
132
148
  const { status } = props
133
149
  const isDisabled = $xeRate.computeIsDisabled
150
+ const isReadonly = $xeRate.computeIsReadonly
134
151
  const itemList = $xeRate.computeItemList
135
152
  const vSize = $xeRate.computeSize
136
153
  const numVal = $xeRate.computeNumVal
@@ -140,7 +157,8 @@ export default defineVxeComponent({
140
157
  class: ['vxe-rate', {
141
158
  [`size--${vSize}`]: vSize,
142
159
  [`theme--${status}`]: status,
143
- 'is--disabled': isDisabled
160
+ 'is--disabled': isDisabled,
161
+ 'is--readonly': isReadonly
144
162
  }]
145
163
  }, itemList.map(item => {
146
164
  const isChecked = numVal >= item.value
@@ -150,13 +168,13 @@ export default defineVxeComponent({
150
168
  }],
151
169
  on: {
152
170
  mouseenter (evnt: MouseEvent) {
153
- if (!isDisabled) {
171
+ if (!(isDisabled || isReadonly)) {
154
172
  $xeRate.mouseenterEvent(evnt, item)
155
173
  }
156
174
  },
157
175
  mouseleave: $xeRate.mouseleaveEvent,
158
176
  click (evnt: MouseEvent) {
159
- if (!isDisabled) {
177
+ if (!(isDisabled || isReadonly)) {
160
178
  $xeRate.clickEvent(evnt, item)
161
179
  }
162
180
  }
@@ -18,6 +18,10 @@ export default defineVxeComponent({
18
18
  type: Boolean as PropType<VxeSwitchPropTypes.Disabled>,
19
19
  default: null
20
20
  },
21
+ readonly: {
22
+ type: Boolean as PropType<VxeSwitchPropTypes.Readonly>,
23
+ default: null
24
+ },
21
25
  size: {
22
26
  type: String as PropType<VxeSwitchPropTypes.Size>,
23
27
  default: () => getConfig().switch.size || getConfig().size
@@ -67,7 +71,7 @@ export default defineVxeComponent({
67
71
  $xeForm(): (VxeFormConstructor & VxeFormPrivateMethods) | null
68
72
  formItemInfo(): VxeFormDefines.ProvideItemInfo | null
69
73
  }),
70
- computeIsDisabled () {
74
+ computeIsDisabled () {
71
75
  const $xeSwitch = this
72
76
  const props = $xeSwitch
73
77
  const $xeForm = $xeSwitch.$xeForm
@@ -81,7 +85,21 @@ export default defineVxeComponent({
81
85
  }
82
86
  return disabled
83
87
  },
84
- computeOnShowLabel () {
88
+ computeIsReadonly () {
89
+ const $xeSwitch = this
90
+ const props = $xeSwitch
91
+ const $xeForm = $xeSwitch.$xeForm
92
+
93
+ const { readonly } = props
94
+ if (readonly === null) {
95
+ if ($xeForm) {
96
+ return $xeForm.readonly || $xeForm.disabled
97
+ }
98
+ return false
99
+ }
100
+ return readonly
101
+ },
102
+ computeOnShowLabel () {
85
103
  const $xeSwitch = this
86
104
  const props = $xeSwitch
87
105
 
@@ -150,7 +168,8 @@ export default defineVxeComponent({
150
168
  const formItemInfo = $xeSwitch.formItemInfo
151
169
 
152
170
  const isDisabled = $xeSwitch.computeIsDisabled
153
- if (!isDisabled) {
171
+ const isReadonly = $xeSwitch.computeIsReadonly
172
+ if (!(isDisabled || isReadonly)) {
154
173
  const isChecked = $xeSwitch.computeIsChecked
155
174
  clearTimeout(internalData.atTimeout)
156
175
  const value = isChecked ? props.closeValue : props.openValue
@@ -198,11 +217,13 @@ export default defineVxeComponent({
198
217
  const onShowLabel = $xeSwitch.computeOnShowLabel
199
218
  const offShowLabel = $xeSwitch.computeOffShowLabel
200
219
  const isDisabled = $xeSwitch.computeIsDisabled
220
+ const isReadonly = $xeSwitch.computeIsReadonly
201
221
 
202
222
  return h('div', {
203
223
  class: ['vxe-switch', isChecked ? 'is--on' : 'is--off', {
204
224
  [`size--${vSize}`]: vSize,
205
225
  'is--disabled': isDisabled,
226
+ 'is--readonly': isReadonly,
206
227
  'is--animat': reactData.hasAnimat
207
228
  }]
208
229
  }, [
@@ -211,7 +232,7 @@ export default defineVxeComponent({
211
232
  class: 'vxe-switch--button',
212
233
  attrs: {
213
234
  type: 'button',
214
- disabled: isDisabled
235
+ disabled: isDisabled || isReadonly
215
236
  },
216
237
  on: {
217
238
  click: $xeSwitch.clickEvent,
@@ -134,7 +134,8 @@ setConfig({
134
134
  },
135
135
  image: {
136
136
  showPreview: true,
137
- showPrintButton: true
137
+ showPrintButton: true,
138
+ maskClosable: true
138
139
  },
139
140
  imageGroup: {
140
141
  showPreview: true,
@@ -326,8 +327,8 @@ setConfig({
326
327
  showRemoveButton: true,
327
328
  showButtonIcon: true,
328
329
  showPreview: true,
329
- dragToUpload: true,
330
- imageStyle: {}
330
+ dragToUpload: true
331
+ // imageConfig: {}
331
332
  },
332
333
  watermark: {
333
334
  rotate: -30,
@@ -57,6 +57,14 @@ export default defineVxeComponent({
57
57
  type: Array as PropType<VxeUploadPropTypes.ImageTypes>,
58
58
  default: () => XEUtils.clone(getConfig().upload.imageTypes, true)
59
59
  },
60
+ imageConfig: {
61
+ type: Object as PropType<VxeUploadPropTypes.ImageConfig>,
62
+ default: () => XEUtils.clone(getConfig().upload.imageConfig, true)
63
+ },
64
+ /**
65
+ * 已废弃,被 image-config 替换
66
+ * @deprecated
67
+ */
60
68
  imageStyle: {
61
69
  type: Object as PropType<VxeUploadPropTypes.ImageStyle>,
62
70
  default: () => XEUtils.clone(getConfig().upload.imageStyle, true)
@@ -337,16 +345,17 @@ export default defineVxeComponent({
337
345
  }
338
346
  return defHints.join(getI18n('vxe.base.comma'))
339
347
  },
340
- computeImageStyleOpts () {
348
+ computeImageOpts () {
341
349
  const $xeUpload = this
342
350
  const props = $xeUpload
343
351
 
344
- return Object.assign({}, props.imageStyle)
352
+ return Object.assign({}, props.imageConfig || props.imageStyle)
345
353
  },
346
354
  computeImgStyle () {
347
355
  const $xeUpload = this
348
356
 
349
- const { width, height } = $xeUpload.computeImageStyleOpts
357
+ const imageOpts = $xeUpload.computeImageOpts
358
+ const { width, height } = imageOpts
350
359
  const stys: Record<string, string> = {}
351
360
  if (width) {
352
361
  stys.width = toCssUnit(width)
@@ -1274,6 +1283,7 @@ export default defineVxeComponent({
1274
1283
  const { fileCacheMaps } = reactData
1275
1284
  const isDisabled = $xeUpload.computeIsDisabled
1276
1285
  const formReadonly = $xeUpload.computeFormReadonly
1286
+ const imageOpts = $xeUpload.computeImageOpts
1277
1287
  const imgStyle = $xeUpload.computeImgStyle
1278
1288
  const cornerSlot = slots.corner
1279
1289
 
@@ -1286,6 +1296,7 @@ export default defineVxeComponent({
1286
1296
  key: index,
1287
1297
  class: ['vxe-upload--image-item', {
1288
1298
  'is--preview': showPreview,
1299
+ 'is--circle': imageOpts.circle,
1289
1300
  'is--loading': isLoading,
1290
1301
  'is--error': isError
1291
1302
  }]
@@ -1342,12 +1353,16 @@ export default defineVxeComponent({
1342
1353
  }
1343
1354
  })
1344
1355
  ])
1345
- : h('img', {
1346
- class: 'vxe-upload--image-item-img',
1347
- attrs: {
1348
- src: $xeUpload.getThumbnailFileUrl(item)
1349
- }
1350
- })
1356
+ : h('div', {
1357
+ class: 'vxe-upload--image-item-img-wrapper'
1358
+ }, [
1359
+ h('img', {
1360
+ class: 'vxe-upload--image-item-img',
1361
+ attrs: {
1362
+ src: $xeUpload.getThumbnailFileUrl(item)
1363
+ }
1364
+ })
1365
+ ])
1351
1366
  )
1352
1367
  : renderEmptyElement($xeUpload),
1353
1368
  h('div', {
@@ -0,0 +1,5 @@
1
+ .vxe-image {
2
+ &.is--circle {
3
+ border-radius: 50%;
4
+ }
5
+ }
@@ -217,7 +217,7 @@
217
217
  }
218
218
  }
219
219
  .vxe-pager--sizes {
220
- width: 7em;
220
+ width: 9em;
221
221
  text-align: center;
222
222
  cursor: pointer;
223
223
  & .vxe-input--inner {
@@ -40,6 +40,16 @@ $rateThemeList: (
40
40
  }
41
41
  }
42
42
  }
43
+ &.is--disabled {
44
+ .vxe-rte--item {
45
+ cursor: no-drop;
46
+ }
47
+ }
48
+ &.is--readonly {
49
+ .vxe-rte--item {
50
+ cursor: default;
51
+ }
52
+ }
43
53
  }
44
54
  .vxe-rte--item {
45
55
  margin-right: 0.25em;
@@ -51,9 +61,6 @@ $rateThemeList: (
51
61
  &.is--checked {
52
62
  color: var(--vxe-ui-rate-item-color);
53
63
  }
54
- &.is--disabled {
55
- cursor: no-drop;
56
- }
57
64
  }
58
65
 
59
66
  .vxe-rate {
@@ -76,6 +76,11 @@
76
76
  }
77
77
  }
78
78
  }
79
+ &.is--readonly {
80
+ .vxe-switch--button {
81
+ cursor: default;
82
+ }
83
+ }
79
84
  .vxe-switch--button {
80
85
  display: block;
81
86
  position: relative;
@@ -220,7 +220,6 @@
220
220
  flex-direction: row;
221
221
  align-items: center;
222
222
  justify-content: center;
223
- border: 1px solid var(--vxe-ui-input-border-color);
224
223
  }
225
224
  .vxe-upload--image-action-box {
226
225
  display: flex;
@@ -252,7 +251,7 @@
252
251
  .vxe-upload--image-item {
253
252
  &:hover {
254
253
  &:not(.is--loading) {
255
- .vxe-upload--image-item-box {
254
+ .vxe-upload--image-item-img-wrapper {
256
255
  border-color: var(--vxe-ui-font-primary-color);
257
256
  &::after {
258
257
  content: "";
@@ -273,7 +272,7 @@
273
272
  }
274
273
  }
275
274
  &.is--error {
276
- .vxe-upload--image-item-box {
275
+ .vxe-upload--image-item-img-wrapper {
277
276
  border-color: var(--vxe-ui-status-error-color);
278
277
  }
279
278
  }
@@ -282,11 +281,29 @@
282
281
  cursor: pointer;
283
282
  }
284
283
  }
284
+ &.is--circle {
285
+ .vxe-upload--image-item-img-wrapper {
286
+ border-radius: 50%;
287
+ overflow: hidden;
288
+ &::after {
289
+ border-radius: 50%;
290
+ }
291
+ }
292
+ }
293
+ }
294
+ .vxe-upload--image-item-img-wrapper {
295
+ display: flex;
296
+ flex-direction: row;
297
+ align-items: center;
298
+ justify-content: center;
299
+ width: 100%;
300
+ height: 100%;
301
+ border-radius: var(--vxe-ui-base-border-radius);
302
+ border: 1px solid var(--vxe-ui-input-border-color);
285
303
  }
286
304
  .vxe-upload--image-item-img {
287
305
  max-width: 100%;
288
306
  max-height: 100%;
289
- border-radius: var(--vxe-ui-base-border-radius);
290
307
  }
291
308
  .vxe-upload--image-item-loading {
292
309
  position: absolute;
@@ -26,6 +26,7 @@ export namespace VxeImagePropTypes {
26
26
  export type Title = number | string
27
27
  export type Width = number | string
28
28
  export type Height = number | string
29
+ export type Circle = boolean
29
30
  export type MaskClosable = boolean
30
31
  export type ShowPreview = boolean
31
32
  export type ShowPrintButton = boolean
@@ -40,6 +41,7 @@ export interface VxeImageProps {
40
41
  title?: VxeImagePropTypes.Title
41
42
  width?: VxeImagePropTypes.Width
42
43
  height?: VxeImagePropTypes.Height
44
+ circle?: VxeImagePropTypes.Circle
43
45
  maskClosable?: VxeImagePropTypes.MaskClosable
44
46
  showPreview?: VxeImagePropTypes.ShowPreview
45
47
  showPrintButton?: VxeImagePropTypes.ShowPrintButton
@@ -46,6 +46,8 @@ export interface TableCustomPrivateMethods<D = any> {
46
46
  triggerCustomEvent(evnt: MouseEvent): void
47
47
  customOpenEvent (evnt: Event): void
48
48
  customCloseEvent (evnt: Event): void
49
+ customOpenEvent (evnt: Event): void
50
+ handleUpdateCustomColumn (): void
49
51
  }
50
52
 
51
53
  declare module '../grid' {
@@ -2568,8 +2568,6 @@ export interface TableReactData<D = any> {
2568
2568
  reColumnFlag: number
2569
2569
  // 已标记的对象集
2570
2570
  pendingRowMaps: Record<string, D | null>
2571
- // 已标记的行
2572
- pendingRowList: any[],
2573
2571
  // 初始化标识
2574
2572
  initStore: {
2575
2573
  filter: boolean
@@ -3180,6 +3178,12 @@ export interface TableMethods<DT = any> {
3180
3178
  * @param checked 是否选中
3181
3179
  */
3182
3180
  setCheckboxRow(rows: any | any[], checked: boolean): Promise<any>
3181
+ /**
3182
+ * 用于 type=checkbox,设置行为选中状态,第二个参数为选中与否
3183
+ * @param keys 指定主键
3184
+ * @param checked 是否选中
3185
+ */
3186
+ setCheckboxRowKey(keys: string | number | (string | number)[] | null | undefined, checked: boolean): Promise<any>
3183
3187
  /**
3184
3188
  * 用于 type=checkbox,判断列头复选框是否被选中
3185
3189
  */
@@ -3193,11 +3197,21 @@ export interface TableMethods<DT = any> {
3193
3197
  * @param row 指定行
3194
3198
  */
3195
3199
  isCheckedByCheckboxRow(row: any): boolean
3200
+ /**
3201
+ * 用于 type=checkbox,判断复选行数据是否勾选
3202
+ * @param key 指定主键
3203
+ */
3204
+ isCheckedByCheckboxRowKey(key: string | number | null | undefined): boolean
3196
3205
  /**
3197
3206
  * 用于 type=checkbox,判断复选行数据是否半选
3198
3207
  * @param row 指定行
3199
3208
  */
3200
3209
  isIndeterminateByCheckboxRow(row: any): boolean
3210
+ /**
3211
+ * 用于 type=checkbox,判断复选行数据是否半选
3212
+ * @param key 指定主键
3213
+ */
3214
+ isIndeterminateByCheckboxRowKey(key: string | number | null | undefined): boolean
3201
3215
  /**
3202
3216
  * 用于 type=checkbox,切换某一行的选中状态
3203
3217
  * @param row 指定行
@@ -3246,11 +3260,21 @@ export interface TableMethods<DT = any> {
3246
3260
  * @param row 指定行
3247
3261
  */
3248
3262
  isCheckedByRadioRow(row: any | null): boolean
3263
+ /**
3264
+ * 用于 type=radio,判断单选行数据是否勾选
3265
+ * @param key 指定主键
3266
+ */
3267
+ isCheckedByRadioRowKey(key: string | number | null | undefined): boolean
3249
3268
  /**
3250
3269
  * 用于 type=radio,设置某一行为选中状态
3251
3270
  * @param row 指定行
3252
3271
  */
3253
3272
  setRadioRow(row: any): Promise<any>
3273
+ /**
3274
+ * 用于 type=radio,设置某一行为选中状态
3275
+ * @param key 指定主键
3276
+ */
3277
+ setRadioRowKey(key: string | number | null | undefined): Promise<any>
3254
3278
  /**
3255
3279
  * 将指定行设置为取消/标记待删除状态
3256
3280
  */
@@ -3335,7 +3359,7 @@ export interface TableMethods<DT = any> {
3335
3359
  * @param sortConfs
3336
3360
  * @param update 是否同时更新数据,如果不传,则可以手动调用 updateData() 更新数据
3337
3361
  */
3338
- setSort(sortConfs: VxeTableDefines.SortConfs | VxeTableDefines.SortConfs[], update?: boolean)
3362
+ setSort(sortConfs: VxeTableDefines.SortConfs | VxeTableDefines.SortConfs[], update?: boolean): Promise<void>
3339
3363
  /**
3340
3364
  * 手动清空排序条件,数据会恢复成未排序的状态
3341
3365
  * @param columnOrField 列对象或字段名
@@ -3574,7 +3598,14 @@ export interface TablePrivateMethods<D = any> {
3574
3598
  cacheSourceMap(fullData: any[]): void
3575
3599
  saveCustomStore(type: 'confirm' | 'reset' | 'update:width' | 'update:fixed' | 'update:sort' | 'update:visible'): Promise<any>
3576
3600
  analyColumnWidth(): void
3601
+ updateCheckboxStatus(): void
3602
+ updateAllCheckboxStatus(): void
3577
3603
  checkSelectionStatus(): void
3604
+ handleBatchSelectRows(rows: any[], value: any, isForce?: boolean): void
3605
+ /**
3606
+ * use handleBatchSelectRows
3607
+ * @deprecated
3608
+ */
3578
3609
  handleSelectRow(params: any, value: any, isForce?: boolean): void
3579
3610
  handleCustom(): Promise<void>
3580
3611
  handleUpdateDataQueue(): void
@@ -4356,7 +4387,7 @@ export namespace VxeTableDefines {
4356
4387
  }
4357
4388
  }
4358
4389
 
4359
- export interface EnterAppendRowEventParams {
4390
+ export interface EnterAppendRowEventParams<D = any> {
4360
4391
  row: D
4361
4392
  rowIndex: number
4362
4393
  $rowIndex: number