vxe-table 3.6.0-beta.1 → 3.6.0-beta.10

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 (126) hide show
  1. package/helper/vetur/attributes.json +17 -5
  2. package/helper/vetur/tags.json +10 -2
  3. package/lib/button/style/style.css +14 -5
  4. package/lib/button/style/style.min.css +1 -1
  5. package/lib/checkbox/src/checkbox.js +22 -9
  6. package/lib/checkbox/src/checkbox.min.js +1 -1
  7. package/lib/checkbox/src/group.js +13 -0
  8. package/lib/checkbox/src/group.min.js +1 -1
  9. package/lib/checkbox/style/style.css +37 -60
  10. package/lib/checkbox/style/style.min.css +1 -1
  11. package/lib/export/src/export-panel.js +10 -16
  12. package/lib/export/src/export-panel.min.js +1 -1
  13. package/lib/export/style/style.css +23 -92
  14. package/lib/export/style/style.min.css +1 -1
  15. package/lib/filter/src/panel.js +11 -15
  16. package/lib/filter/src/panel.min.js +1 -1
  17. package/lib/filter/style/style.css +24 -90
  18. package/lib/filter/style/style.min.css +1 -1
  19. package/lib/form/src/form.js +1 -1
  20. package/lib/form/src/form.min.js +1 -1
  21. package/lib/grid/style/style.css +1 -1
  22. package/lib/grid/style/style.min.css +1 -1
  23. package/lib/icon/index.js +10 -4
  24. package/lib/icon/index.min.js +1 -1
  25. package/lib/icon/src/icon.js +29 -0
  26. package/lib/icon/src/icon.min.js +1 -0
  27. package/lib/icon/style/style.css +103 -27
  28. package/lib/icon/style/style.min.css +1 -1
  29. package/lib/index.css +1 -1
  30. package/lib/index.umd.js +209 -113
  31. package/lib/index.umd.min.js +1 -1
  32. package/lib/input/style/style.css +6 -6
  33. package/lib/input/style/style.min.css +1 -1
  34. package/lib/list/src/list.js +1 -1
  35. package/lib/list/src/list.min.js +1 -1
  36. package/lib/loading/src/loading.js +19 -9
  37. package/lib/loading/src/loading.min.js +1 -1
  38. package/lib/locale/lang/en-US.js +1 -1
  39. package/lib/locale/lang/en-US.min.js +1 -1
  40. package/lib/locale/lang/en-US.umd.js +1 -1
  41. package/lib/locale/lang/ja-JP.js +1 -1
  42. package/lib/locale/lang/ja-JP.min.js +1 -1
  43. package/lib/locale/lang/ja-JP.umd.js +1 -1
  44. package/lib/locale/lang/zh-CN.js +1 -1
  45. package/lib/locale/lang/zh-CN.min.js +1 -1
  46. package/lib/locale/lang/zh-CN.umd.js +1 -1
  47. package/lib/locale/lang/zh-HK.min.js +1 -1
  48. package/lib/locale/lang/zh-HK.umd.js +1 -1
  49. package/lib/locale/lang/zh-MO.min.js +1 -1
  50. package/lib/locale/lang/zh-MO.umd.js +1 -1
  51. package/lib/locale/lang/zh-TC.js +1 -1
  52. package/lib/locale/lang/zh-TC.min.js +1 -1
  53. package/lib/locale/lang/zh-TC.umd.js +1 -1
  54. package/lib/locale/lang/zh-TW.min.js +1 -1
  55. package/lib/locale/lang/zh-TW.umd.js +1 -1
  56. package/lib/modal/src/modal.js +13 -6
  57. package/lib/modal/src/modal.min.js +1 -1
  58. package/lib/modal/style/style.css +22 -13
  59. package/lib/modal/style/style.min.css +1 -1
  60. package/lib/pager/style/style.css +1 -1
  61. package/lib/pager/style/style.min.css +1 -1
  62. package/lib/radio/src/radio.js +7 -5
  63. package/lib/radio/src/radio.min.js +1 -1
  64. package/lib/radio/style/style.css +32 -57
  65. package/lib/radio/style/style.min.css +1 -1
  66. package/lib/select/src/select.js +32 -3
  67. package/lib/select/src/select.min.js +1 -1
  68. package/lib/style.css +1 -1
  69. package/lib/style.min.css +1 -1
  70. package/lib/table/src/body.js +15 -7
  71. package/lib/table/src/body.min.js +1 -1
  72. package/lib/table/src/cell.js +4 -18
  73. package/lib/table/src/cell.min.js +1 -1
  74. package/lib/table/src/table.js +10 -2
  75. package/lib/table/src/table.min.js +1 -1
  76. package/lib/table/style/style.css +66 -143
  77. package/lib/table/style/style.min.css +1 -1
  78. package/lib/toolbar/src/toolbar.js +10 -14
  79. package/lib/toolbar/src/toolbar.min.js +1 -1
  80. package/lib/toolbar/style/style.css +24 -86
  81. package/lib/toolbar/style/style.min.css +1 -1
  82. package/lib/tools/log.js +1 -1
  83. package/lib/tools/log.min.js +1 -1
  84. package/lib/v-x-e-table/index.js +1 -1
  85. package/lib/v-x-e-table/index.min.js +1 -1
  86. package/lib/v-x-e-table/src/conf.js +5 -0
  87. package/lib/v-x-e-table/src/conf.min.js +1 -1
  88. package/lib/v-x-e-table/style/style.css +105 -29
  89. package/lib/v-x-e-table/style/style.min.css +1 -1
  90. package/package.json +4 -4
  91. package/packages/checkbox/src/checkbox.js +19 -5
  92. package/packages/checkbox/src/group.js +9 -0
  93. package/packages/export/src/export-panel.js +9 -19
  94. package/packages/filter/src/panel.js +9 -17
  95. package/packages/form/src/form.js +1 -1
  96. package/packages/icon/index.js +7 -4
  97. package/packages/icon/src/icon.js +20 -0
  98. package/packages/list/src/list.js +1 -1
  99. package/packages/loading/src/loading.js +18 -9
  100. package/packages/locale/lang/en-US.js +1 -1
  101. package/packages/locale/lang/ja-JP.js +1 -1
  102. package/packages/locale/lang/zh-CN.js +1 -1
  103. package/packages/locale/lang/zh-TC.js +1 -1
  104. package/packages/modal/src/modal.js +30 -22
  105. package/packages/radio/src/radio.js +7 -3
  106. package/packages/select/src/select.js +25 -3
  107. package/packages/table/src/body.js +14 -7
  108. package/packages/table/src/cell.js +4 -25
  109. package/packages/table/src/table.js +10 -2
  110. package/packages/toolbar/src/toolbar.js +10 -18
  111. package/packages/v-x-e-table/src/conf.js +5 -0
  112. package/styles/base/checked.scss +44 -148
  113. package/styles/button.scss +4 -2
  114. package/styles/checkbox.scss +6 -65
  115. package/styles/export.scss +2 -38
  116. package/styles/filter.scss +3 -36
  117. package/styles/icon.scss +136 -37
  118. package/styles/input.scss +1 -1
  119. package/styles/loading.scss +2 -2
  120. package/styles/modal.scss +19 -16
  121. package/styles/old-icon.scss +713 -0
  122. package/styles/radio.scss +9 -77
  123. package/styles/table.scss +13 -23
  124. package/styles/toolbar.scss +2 -26
  125. package/styles/variable.scss +11 -10
  126. package/types/table.d.ts +57 -18
@@ -185,6 +185,35 @@
185
185
  -webkit-transition: background-color 0.1s ease-in-out;
186
186
  transition: background-color 0.1s ease-in-out; }
187
187
 
188
+ .vxe-radio {
189
+ cursor: pointer; }
190
+ .vxe-radio .vxe-radio--icon {
191
+ font-size: 1.4em; }
192
+ .vxe-radio .vxe-radio--icon {
193
+ color: #dcdfe6;
194
+ vertical-align: middle;
195
+ font-weight: 700;
196
+ -webkit-user-select: none;
197
+ -moz-user-select: none;
198
+ -ms-user-select: none;
199
+ user-select: none; }
200
+ .is--checked.vxe-radio {
201
+ color: #409eff; }
202
+ .is--checked.vxe-radio .vxe-radio--icon {
203
+ color: #409eff; }
204
+ .vxe-radio:not(.is--disabled) {
205
+ cursor: pointer; }
206
+ .vxe-radio:not(.is--disabled):hover .vxe-radio--icon {
207
+ color: #409eff; }
208
+ .is--disabled.vxe-radio {
209
+ color: #BFBFBF;
210
+ cursor: not-allowed; }
211
+ .is--disabled.vxe-radio .vxe-radio--icon {
212
+ color: #dcdfe6; }
213
+ .vxe-radio .vxe-radio--label {
214
+ padding-left: 0.5em;
215
+ vertical-align: middle; }
216
+
188
217
  /*radio-group*/
189
218
  .vxe-radio-group {
190
219
  display: inline-block;
@@ -199,13 +228,7 @@
199
228
  display: inline-block;
200
229
  vertical-align: middle;
201
230
  white-space: nowrap;
202
- -webkit-user-select: none;
203
- -moz-user-select: none;
204
- -ms-user-select: none;
205
- user-select: none;
206
- line-height: 1;
207
- cursor: pointer;
208
- color: #606266; }
231
+ line-height: 1; }
209
232
  .vxe-radio > input[type="radio"] {
210
233
  position: absolute;
211
234
  width: 0;
@@ -214,52 +237,12 @@
214
237
  -webkit-appearance: none;
215
238
  -moz-appearance: none;
216
239
  appearance: none; }
217
- .vxe-radio > input + .vxe-radio--icon {
218
- position: relative;
219
- display: inline-block;
220
- width: 1em;
221
- height: 1em;
222
- border: 2px solid #dcdfe6;
223
- background-color: #fff;
224
- vertical-align: middle;
225
- border-radius: 50%; }
226
- .vxe-radio > input:checked + .vxe-radio--icon {
227
- background-color: #409eff;
228
- border-color: #409eff; }
229
- .vxe-radio > input:checked + .vxe-radio--icon:before {
230
- content: "";
231
- position: absolute;
232
- background-color: #fff;
233
- border-radius: 50%;
234
- height: 0.25em;
235
- width: 0.25em;
236
- top: 50%;
237
- left: 50%;
238
- -webkit-transform: translate(-50%, -50%);
239
- transform: translate(-50%, -50%); }
240
- .vxe-radio > input:checked + .vxe-radio--icon + .vxe-radio--label {
241
- color: #409eff; }
242
- .vxe-radio:not(.is--disabled) > input:focus + .vxe-radio--icon {
243
- border-color: #409eff;
244
- -webkit-box-shadow: 0 0 0.2em 0 #409eff;
245
- box-shadow: 0 0 0.2em 0 #409eff; }
246
- .vxe-radio:not(.is--disabled):hover > input + .vxe-radio--icon {
247
- border-color: #409eff; }
248
- .vxe-radio.is--disabled {
249
- cursor: not-allowed; }
250
- .vxe-radio.is--disabled > input + .vxe-radio--icon {
251
- border-color: #dcdfe6;
252
- background-color: #f3f3f3; }
253
- .vxe-radio.is--disabled > input + .vxe-radio--icon:before {
254
- border-color: #c0c4cc;
255
- background-color: #c0c4cc; }
256
- .vxe-radio.is--disabled > input + .vxe-radio--icon + .vxe-radio--label {
257
- color: #BFBFBF; }
258
240
  .vxe-radio .vxe-radio--label {
259
- padding-left: 0.5em;
260
241
  vertical-align: middle;
261
242
  display: inline-block;
262
243
  max-width: 50em; }
244
+ .vxe-radio:not(.is--disabled) > input:focus + .vxe-radio--icon {
245
+ color: #409eff; }
263
246
  .vxe-radio:not(.vxe-radio-button) + .vxe-radio {
264
247
  margin-left: 10px; }
265
248
 
@@ -314,17 +297,9 @@
314
297
 
315
298
  .vxe-radio {
316
299
  font-size: 14px; }
317
- .vxe-radio .vxe-radio--icon {
318
- font-size: 16px; }
319
300
  .vxe-radio.size--medium {
320
301
  font-size: 14px; }
321
- .vxe-radio.size--medium .vxe-radio--icon {
322
- font-size: 15px; }
323
302
  .vxe-radio.size--small {
324
303
  font-size: 13px; }
325
- .vxe-radio.size--small .vxe-radio--icon {
326
- font-size: 14px; }
327
304
  .vxe-radio.size--mini {
328
305
  font-size: 12px; }
329
- .vxe-radio.size--mini .vxe-radio--icon {
330
- font-size: 14px; }
@@ -1 +1 @@
1
- [class*=vxe-],[class*=vxe-] :after,[class*=vxe-] :before,[class*=vxe-]:after,[class*=vxe-]:before{-webkit-box-sizing:border-box;box-sizing:border-box}.vxe-radio .vxe-radio--label,.vxe-radio-button .vxe-radio--label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=vxe-]{font-variant:tabular-nums;-webkit-font-feature-settings:'tnum';font-feature-settings:'tnum'}.vxe-primary-color{color:#409eff}.vxe-success-color{color:#67c23a}.vxe-info-color{color:#909399}.vxe-warning-color{color:#e6a23c}.vxe-danger-color{color:#f56c6c}.vxe-perfect-color{color:#f8f8f9}.vxe-row:after{content:'';display:block;clear:both;height:0;overflow:hidden;visibility:hidden}.vxe-row>.vxe-col--1{float:left;width:4.16667%}.vxe-row>.vxe-col--2{float:left;width:8.33333%}.vxe-row>.vxe-col--3{float:left;width:12.5%}.vxe-row>.vxe-col--4{float:left;width:16.66667%}.vxe-row>.vxe-col--5{float:left;width:20.83333%}.vxe-row>.vxe-col--6{float:left;width:25%}.vxe-row>.vxe-col--7{float:left;width:29.16667%}.vxe-row>.vxe-col--8{float:left;width:33.33333%}.vxe-row>.vxe-col--9{float:left;width:37.5%}.vxe-row>.vxe-col--10{float:left;width:41.66667%}.vxe-row>.vxe-col--11{float:left;width:45.83333%}.vxe-row>.vxe-col--12{float:left;width:50%}.vxe-row>.vxe-col--13{float:left;width:54.16667%}.vxe-row>.vxe-col--14{float:left;width:58.33333%}.vxe-row>.vxe-col--15{float:left;width:62.5%}.vxe-row>.vxe-col--16{float:left;width:66.66667%}.vxe-row>.vxe-col--17{float:left;width:70.83333%}.vxe-row>.vxe-col--18{float:left;width:75%}.vxe-row>.vxe-col--19{float:left;width:79.16667%}.vxe-row>.vxe-col--20{float:left;width:83.33333%}.vxe-row>.vxe-col--21{float:left;width:87.5%}.vxe-row>.vxe-col--22{float:left;width:91.66667%}.vxe-row>.vxe-col--23{float:left;width:95.83333%}.vxe-row>.vxe-col--24{float:left;width:100%}.is--animat .vxe-filter--btn:after,.is--animat .vxe-filter--btn:before,.is--animat .vxe-sort--asc-btn:after,.is--animat .vxe-sort--asc-btn:before,.is--animat .vxe-sort--desc-btn:after,.is--animat .vxe-sort--desc-btn:before{-webkit-transition:border .1s ease-in-out;transition:border .1s ease-in-out}.is--animat .vxe-input--wrapper .vxe-input{-webkit-transition:border .1s ease-in-out;transition:border .1s ease-in-out}.is--animat .vxe-table--expand-btn,.is--animat .vxe-tree--node-btn{-webkit-transition:-webkit-transform .1s ease-in-out;transition:-webkit-transform .1s ease-in-out;transition:transform .1s ease-in-out;transition:transform .1s ease-in-out,-webkit-transform .1s ease-in-out}.is--animat .vxe-checkbox>input:checked+span,.is--animat .vxe-radio>input:checked+span{-webkit-transition:background-color .1s ease-in-out;transition:background-color .1s ease-in-out}.vxe-radio-group{display:inline-block;vertical-align:middle;line-height:1;font-size:0}.vxe-radio-group+.vxe-radio-group{margin-left:10px}.vxe-radio{display:inline-block;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:1;cursor:pointer;color:#606266}.vxe-radio>input[type=radio]{position:absolute;width:0;height:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.vxe-radio>input+.vxe-radio--icon{position:relative;display:inline-block;width:1em;height:1em;border:2px solid #dcdfe6;background-color:#fff;vertical-align:middle;border-radius:50%}.vxe-radio>input:checked+.vxe-radio--icon{background-color:#409eff;border-color:#409eff}.vxe-radio>input:checked+.vxe-radio--icon:before{content:"";position:absolute;background-color:#fff;border-radius:50%;height:.25em;width:.25em;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.vxe-radio>input:checked+.vxe-radio--icon+.vxe-radio--label{color:#409eff}.vxe-radio:not(.is--disabled)>input:focus+.vxe-radio--icon{border-color:#409eff;-webkit-box-shadow:0 0 .2em 0 #409eff;box-shadow:0 0 .2em 0 #409eff}.vxe-radio:not(.is--disabled):hover>input+.vxe-radio--icon{border-color:#409eff}.vxe-radio.is--disabled{cursor:not-allowed}.vxe-radio.is--disabled>input+.vxe-radio--icon{border-color:#dcdfe6;background-color:#f3f3f3}.vxe-radio.is--disabled>input+.vxe-radio--icon:before{border-color:#c0c4cc;background-color:#c0c4cc}.vxe-radio.is--disabled>input+.vxe-radio--icon+.vxe-radio--label{color:#bfbfbf}.vxe-radio .vxe-radio--label{padding-left:.5em;vertical-align:middle;display:inline-block;max-width:50em}.vxe-radio:not(.vxe-radio-button)+.vxe-radio{margin-left:10px}.vxe-radio-button .vxe-radio--label{background-color:#fff}.vxe-radio-button:first-child .vxe-radio--label{border-left:1px solid #dcdfe6;border-radius:4px 0 0 4px}.vxe-radio-button:last-child .vxe-radio--label{border-radius:0 4px 4px 0}.vxe-radio-button>input:checked+.vxe-radio--label{color:#fff;background-color:#409eff;border-color:#409eff}.vxe-radio-button .vxe-radio--label{padding:0 1em;line-height:32px;display:inline-block;border-style:solid;border-color:#dcdfe6;border-width:1px 1px 1px 0;max-width:50em}.vxe-radio-button.is--disabled{cursor:not-allowed}.vxe-radio-button.is--disabled>input:not(:checked)+.vxe-radio--label{color:#dcdfe6}.vxe-radio-button.is--disabled>input:checked+.vxe-radio--label{border-color:#a6d2ff;background-color:#a6d2ff}.vxe-radio-button:not(.is--disabled)>input:focus+.vxe-radio--label{border-color:#409eff;-webkit-box-shadow:0 0 .2em 0 #409eff;box-shadow:0 0 .2em 0 #409eff}.vxe-radio-button:not(.is--disabled):hover>input:not(:checked)+.vxe-radio--label{color:#409eff}.vxe-radio-button.size--medium .vxe-radio--label{line-height:30px}.vxe-radio-button.size--small .vxe-radio--label{line-height:28px}.vxe-radio-button.size--mini .vxe-radio--label{line-height:26px}.vxe-radio{font-size:14px}.vxe-radio .vxe-radio--icon{font-size:16px}.vxe-radio.size--medium{font-size:14px}.vxe-radio.size--medium .vxe-radio--icon{font-size:15px}.vxe-radio.size--small{font-size:13px}.vxe-radio.size--small .vxe-radio--icon{font-size:14px}.vxe-radio.size--mini{font-size:12px}.vxe-radio.size--mini .vxe-radio--icon{font-size:14px}
1
+ [class*=vxe-],[class*=vxe-] :after,[class*=vxe-] :before,[class*=vxe-]:after,[class*=vxe-]:before{-webkit-box-sizing:border-box;box-sizing:border-box}.vxe-radio .vxe-radio--label,.vxe-radio-button .vxe-radio--label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=vxe-]{font-variant:tabular-nums;-webkit-font-feature-settings:'tnum';font-feature-settings:'tnum'}.vxe-primary-color{color:#409eff}.vxe-success-color{color:#67c23a}.vxe-info-color{color:#909399}.vxe-warning-color{color:#e6a23c}.vxe-danger-color{color:#f56c6c}.vxe-perfect-color{color:#f8f8f9}.vxe-row:after{content:'';display:block;clear:both;height:0;overflow:hidden;visibility:hidden}.vxe-row>.vxe-col--1{float:left;width:4.16667%}.vxe-row>.vxe-col--2{float:left;width:8.33333%}.vxe-row>.vxe-col--3{float:left;width:12.5%}.vxe-row>.vxe-col--4{float:left;width:16.66667%}.vxe-row>.vxe-col--5{float:left;width:20.83333%}.vxe-row>.vxe-col--6{float:left;width:25%}.vxe-row>.vxe-col--7{float:left;width:29.16667%}.vxe-row>.vxe-col--8{float:left;width:33.33333%}.vxe-row>.vxe-col--9{float:left;width:37.5%}.vxe-row>.vxe-col--10{float:left;width:41.66667%}.vxe-row>.vxe-col--11{float:left;width:45.83333%}.vxe-row>.vxe-col--12{float:left;width:50%}.vxe-row>.vxe-col--13{float:left;width:54.16667%}.vxe-row>.vxe-col--14{float:left;width:58.33333%}.vxe-row>.vxe-col--15{float:left;width:62.5%}.vxe-row>.vxe-col--16{float:left;width:66.66667%}.vxe-row>.vxe-col--17{float:left;width:70.83333%}.vxe-row>.vxe-col--18{float:left;width:75%}.vxe-row>.vxe-col--19{float:left;width:79.16667%}.vxe-row>.vxe-col--20{float:left;width:83.33333%}.vxe-row>.vxe-col--21{float:left;width:87.5%}.vxe-row>.vxe-col--22{float:left;width:91.66667%}.vxe-row>.vxe-col--23{float:left;width:95.83333%}.vxe-row>.vxe-col--24{float:left;width:100%}.is--animat .vxe-filter--btn:after,.is--animat .vxe-filter--btn:before,.is--animat .vxe-sort--asc-btn:after,.is--animat .vxe-sort--asc-btn:before,.is--animat .vxe-sort--desc-btn:after,.is--animat .vxe-sort--desc-btn:before{-webkit-transition:border .1s ease-in-out;transition:border .1s ease-in-out}.is--animat .vxe-input--wrapper .vxe-input{-webkit-transition:border .1s ease-in-out;transition:border .1s ease-in-out}.is--animat .vxe-table--expand-btn,.is--animat .vxe-tree--node-btn{-webkit-transition:-webkit-transform .1s ease-in-out;transition:-webkit-transform .1s ease-in-out;transition:transform .1s ease-in-out;transition:transform .1s ease-in-out,-webkit-transform .1s ease-in-out}.is--animat .vxe-checkbox>input:checked+span,.is--animat .vxe-radio>input:checked+span{-webkit-transition:background-color .1s ease-in-out;transition:background-color .1s ease-in-out}.vxe-radio{cursor:pointer}.vxe-radio .vxe-radio--icon{font-size:1.4em}.vxe-radio .vxe-radio--icon{color:#dcdfe6;vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.is--checked.vxe-radio{color:#409eff}.is--checked.vxe-radio .vxe-radio--icon{color:#409eff}.vxe-radio:not(.is--disabled){cursor:pointer}.vxe-radio:not(.is--disabled):hover .vxe-radio--icon{color:#409eff}.is--disabled.vxe-radio{color:#bfbfbf;cursor:not-allowed}.is--disabled.vxe-radio .vxe-radio--icon{color:#dcdfe6}.vxe-radio .vxe-radio--label{padding-left:.5em;vertical-align:middle}.vxe-radio-group{display:inline-block;vertical-align:middle;line-height:1;font-size:0}.vxe-radio-group+.vxe-radio-group{margin-left:10px}.vxe-radio{display:inline-block;vertical-align:middle;white-space:nowrap;line-height:1}.vxe-radio>input[type=radio]{position:absolute;width:0;height:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.vxe-radio .vxe-radio--label{vertical-align:middle;display:inline-block;max-width:50em}.vxe-radio:not(.is--disabled)>input:focus+.vxe-radio--icon{color:#409eff}.vxe-radio:not(.vxe-radio-button)+.vxe-radio{margin-left:10px}.vxe-radio-button .vxe-radio--label{background-color:#fff}.vxe-radio-button:first-child .vxe-radio--label{border-left:1px solid #dcdfe6;border-radius:4px 0 0 4px}.vxe-radio-button:last-child .vxe-radio--label{border-radius:0 4px 4px 0}.vxe-radio-button>input:checked+.vxe-radio--label{color:#fff;background-color:#409eff;border-color:#409eff}.vxe-radio-button .vxe-radio--label{padding:0 1em;line-height:32px;display:inline-block;border-style:solid;border-color:#dcdfe6;border-width:1px 1px 1px 0;max-width:50em}.vxe-radio-button.is--disabled{cursor:not-allowed}.vxe-radio-button.is--disabled>input:not(:checked)+.vxe-radio--label{color:#dcdfe6}.vxe-radio-button.is--disabled>input:checked+.vxe-radio--label{border-color:#a6d2ff;background-color:#a6d2ff}.vxe-radio-button:not(.is--disabled)>input:focus+.vxe-radio--label{border-color:#409eff;-webkit-box-shadow:0 0 .2em 0 #409eff;box-shadow:0 0 .2em 0 #409eff}.vxe-radio-button:not(.is--disabled):hover>input:not(:checked)+.vxe-radio--label{color:#409eff}.vxe-radio-button.size--medium .vxe-radio--label{line-height:30px}.vxe-radio-button.size--small .vxe-radio--label{line-height:28px}.vxe-radio-button.size--mini .vxe-radio--label{line-height:26px}.vxe-radio{font-size:14px}.vxe-radio.size--medium{font-size:14px}.vxe-radio.size--small{font-size:13px}.vxe-radio.size--mini{font-size:12px}
@@ -189,6 +189,22 @@ function getSelectLabel(_vm, value) {
189
189
  return _xeUtils.default.toValueString(item ? item[_vm.labelField] : value);
190
190
  }
191
191
 
192
+ function checkOptionDisabled(_vm, isSelected, option, group) {
193
+ if (option.disabled) {
194
+ return true;
195
+ }
196
+
197
+ if (group && group.disabled) {
198
+ return true;
199
+ }
200
+
201
+ if (_vm.isMaximize && !isSelected) {
202
+ return true;
203
+ }
204
+
205
+ return false;
206
+ }
207
+
192
208
  function renderOption(h, _vm, list, group) {
193
209
  var isGroup = _vm.isGroup,
194
210
  labelField = _vm.labelField,
@@ -201,16 +217,17 @@ function renderOption(h, _vm, list, group) {
201
217
  var useKey = optionOpts.useKey;
202
218
  return list.map(function (option, cIndex) {
203
219
  var slots = option.slots;
204
- var isVisible = !isGroup || isOptionVisible(option);
205
- var isDisabled = group && group.disabled || option.disabled;
206
220
  var optionValue = option[valueField];
221
+ var isSelected = multiple ? value && value.indexOf(optionValue) > -1 : value === optionValue;
222
+ var isVisible = !isGroup || isOptionVisible(option);
223
+ var isDisabled = checkOptionDisabled(_vm, isSelected, option, group);
207
224
  var optid = getOptid(_vm, option);
208
225
  var defaultSlot = slots ? slots.default : null;
209
226
  return isVisible ? h('div', {
210
227
  key: useKey || optionKey ? optid : cIndex,
211
228
  class: ['vxe-select-option', option.className, {
212
229
  'is--disabled': isDisabled,
213
- 'is--selected': multiple ? value && value.indexOf(optionValue) > -1 : value === optionValue,
230
+ 'is--selected': isSelected,
214
231
  'is--hover': currentValue === optionValue
215
232
  }],
216
233
  attrs: {
@@ -322,6 +339,7 @@ var _default2 = {
322
339
  optionGroupProps: Object,
323
340
  optionConfig: Object,
324
341
  className: [String, Function],
342
+ max: [String, Number],
325
343
  size: {
326
344
  type: String,
327
345
  default: function _default() {
@@ -449,6 +467,17 @@ var _default2 = {
449
467
  }
450
468
 
451
469
  return getSelectLabel(this, value);
470
+ },
471
+ isMaximize: function isMaximize() {
472
+ var value = this.value,
473
+ multiple = this.multiple,
474
+ max = this.max;
475
+
476
+ if (multiple && max) {
477
+ return (value ? value.length : 0) >= _xeUtils.default.toNumber(max);
478
+ }
479
+
480
+ return false;
452
481
  }
453
482
  },
454
483
  watch: {
@@ -1 +1 @@
1
- "use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.renderOptgroup=renderOptgroup,exports.renderOption=renderOption;var _xeUtils=_interopRequireDefault(require("xe-utils")),_input=_interopRequireDefault(require("../../input/src/input")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_size=_interopRequireDefault(require("../../mixins/size")),_utils=_interopRequireWildcard(require("../../tools/utils")),_dom=_interopRequireDefault(require("../../tools/dom")),_event=require("../../tools/event"),_vn=require("../../tools/vn");function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(_getRequireWildcardCache=function(e){return e?i:t})(e)}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==_typeof(e)&&"function"!=typeof e)return{default:e};t=_getRequireWildcardCache(t);if(t&&t.has(e))return t.get(e);var i,n,o={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&((n=l?Object.getOwnPropertyDescriptor(e,i):null)&&(n.get||n.set)?Object.defineProperty(o,i,n):o[i]=e[i]);return o.default=e,t&&t.set(e,o),o}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}function getOptkey(e){return e.optionOpts.keyField||e.optionId||"_X_OPTION_KEY"}function getOptid(e,t){e=t[getOptkey(e)];return e?encodeURIComponent(e):""}function findOffsetOption(e,t,i){var n,o,l,s,r=e.isGroup,a=e.visibleOptionList,u=e.visibleGroupList,c=e.valueField,f=e.groupOptionsField;if(r)for(var p=0;p<u.length;p++){var h=u[p],d=h[f],v=h.disabled;if(d)for(var b=0;b<d.length;b++){var O=d[b],g=isOptionVisible(O),m=v||O.disabled;if(n||m||(n=O),s&&g&&!m&&(l=O,!i))return{offsetOption:l};if(t===O[c]){if(s=O,i)return{offsetOption:o}}else g&&!m&&(o=O)}}else for(var x=0;x<a.length;x++){var _=a[x],y=_.disabled;if(n||y||(n=_),s&&!y&&(l=_,!i))return{offsetOption:l};if(t===_[c]){if(s=_,i)return{offsetOption:o}}else y||(o=_)}return{firstOption:n}}function findOption(e,t){var i=e.isGroup,n=e.fullOptionList,o=e.fullGroupList,l=e.valueField;if(i)for(var s=0;s<o.length;s++){var r=o[s];if(r.options)for(var a=0;a<r.options.length;a++){var u=r.options[a];if(t===u[l])return u}}return n.find(function(e){return t===e[l]})}function getRemoteSelectLabel(e,t){var i=e.remoteValueList.find(function(e){return t===e.key}),i=i?i.result:null;return _xeUtils.default.toValueString(i?i[e.labelField]:t)}function getSelectLabel(e,t){var i=findOption(e,t);return _xeUtils.default.toValueString(i?i[e.labelField]:t)}function renderOption(r,a,e,u){var c=a.isGroup,f=a.labelField,p=a.valueField,h=a.optionKey,d=a.value,v=a.multiple,b=a.currentValue,O=a.optionOpts.useKey;return e.map(function(t,e){var i=t.slots,n=!c||isOptionVisible(t),o=u&&u.disabled||t.disabled,l=t[p],s=getOptid(a,t),i=i?i.default:null;return n?r("div",{key:O||h?s:e,class:["vxe-select-option",t.className,{"is--disabled":o,"is--selected":v?d&&-1<d.indexOf(l):d===l,"is--hover":b===l}],attrs:{optid:s},on:{mousedown:a.mousedownOptionEvent,click:function(e){o||a.changeOptionEvent(e,l,t)},mouseenter:function(){o||a.setCurrentOption(t)}}},i?a.callSlot(i,{option:t,$select:a},r):_utils.default.formatText((0,_utils.getFuncText)(t[f]))):null})}function renderOptgroup(l,s){var r=s.optionKey,e=s.visibleGroupList,a=s.groupLabelField,u=s.groupOptionsField,c=s.optionOpts.useKey;return e.map(function(e,t){var i=e.slots,n=getOptid(s,e),o=e.disabled,i=i?i.default:null;return l("div",{key:c||r?n:t,class:["vxe-optgroup",e.className,{"is--disabled":o}],attrs:{optid:n}},[l("div",{class:"vxe-optgroup--title"},i?s.callSlot(i,{option:e,$select:s},l):(0,_utils.getFuncText)(e[a])),l("div",{class:"vxe-optgroup--wrapper"},renderOption(l,s,e[u],e))])})}function renderOpts(e,t){var i=t.isGroup,n=t.visibleGroupList,o=t.visibleOptionList;if(t.searchLoading)return[e("div",{class:"vxe-select--search-loading"},[e("i",{class:["vxe-select--search-icon",_conf.default.icon.SELECT_LOADED]}),e("span",{class:"vxe-select--search-text"},_conf.default.i18n("vxe.select.loadingText"))])];if(i){if(n.length)return renderOptgroup(e,t)}else if(o.length)return renderOption(e,t,o);return[e("div",{class:"vxe-select--empty-placeholder"},t.emptyText||_conf.default.i18n("vxe.select.emptyText"))]}var _default2={name:"VxeSelect",mixins:[_size.default],props:{value:null,clearable:Boolean,placeholder:String,loading:Boolean,disabled:Boolean,multiple:Boolean,multiCharOverflow:{type:[Number,String],default:function(){return _conf.default.select.multiCharOverflow}},prefixIcon:String,placement:String,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],size:{type:String,default:function(){return _conf.default.select.size||_conf.default.size}},filterable:Boolean,filterMethod:Function,remote:Boolean,remoteMethod:Function,emptyText:String,optionId:{type:String,default:function(){return _conf.default.select.optionId}},optionKey:Boolean,transfer:{type:Boolean,default:function(){return _conf.default.select.transfer}}},components:{VxeInput:_input.default},inject:{$xeform:{default:null},$xeformiteminfo:{default:null}},provide:function(){return{$xeselect:this}},data:function(){return{inited:!1,collectOption:[],fullGroupList:[],fullOptionList:[],visibleGroupList:[],visibleOptionList:[],remoteValueList:[],panelIndex:0,panelStyle:null,panelPlacement:null,currentOption:null,currentValue:null,visiblePanel:!1,animatVisible:!1,isActivated:!1,searchValue:"",searchLoading:!1}},computed:{propsOpts:function(){return this.optionProps||{}},groupPropsOpts:function(){return this.optionGroupProps||{}},labelField:function(){return this.propsOpts.label||"label"},valueField:function(){return this.propsOpts.value||"value"},groupLabelField:function(){return this.groupPropsOpts.label||"label"},groupOptionsField:function(){return this.groupPropsOpts.options||"options"},optionOpts:function(){return Object.assign({},_conf.default.select.optionConfig,this.optionConfig)},isGroup:function(){return this.fullGroupList.some(function(e){return e.options&&e.options.length})},multiMaxCharNum:function(){return _xeUtils.default.toNumber(this.multiCharOverflow)},selectLabel:function(){var t=this,e=this.value,i=this.multiple,n=this.remote,o=this.multiMaxCharNum;if(e&&i){i=_xeUtils.default.isArray(e)?e:[e];return n?i.map(function(e){return getRemoteSelectLabel(t,e)}).join(", "):i.map(function(e){e=getSelectLabel(t,e);return 0<o&&e.length>o?"".concat(e.substring(0,o),"..."):e}).join(", ")}return(n?getRemoteSelectLabel:getSelectLabel)(this,e)}},watch:{collectOption:function(e){e.some(function(e){return e.options&&e.options.length})?(this.fullOptionList=[],this.fullGroupList=e):(this.fullGroupList=[],this.fullOptionList=e),this.cacheItemMap()},options:function(e){this.fullGroupList=[],this.fullOptionList=e,this.cacheItemMap()},optionGroups:function(e){this.fullOptionList=[],this.fullGroupList=e,this.cacheItemMap()}},created:function(){var e=this.options,t=this.optionGroups;t?this.fullGroupList=t:e&&(this.fullOptionList=e),this.cacheItemMap(),_event.GlobalEvent.on(this,"mousewheel",this.handleGlobalMousewheelEvent),_event.GlobalEvent.on(this,"mousedown",this.handleGlobalMousedownEvent),_event.GlobalEvent.on(this,"keydown",this.handleGlobalKeydownEvent),_event.GlobalEvent.on(this,"blur",this.handleGlobalBlurEvent)},beforeDestroy:function(){var e=this.$refs.panel;e&&e.parentNode&&e.parentNode.removeChild(e)},destroyed:function(){_event.GlobalEvent.off(this,"mousewheel"),_event.GlobalEvent.off(this,"mousedown"),_event.GlobalEvent.off(this,"keydown"),_event.GlobalEvent.off(this,"blur")},render:function(e){var t=this._e,i=this.$scopedSlots,n=this.vSize,o=this.className,l=this.inited,s=this.isActivated,r=this.loading,a=this.disabled,u=this.visiblePanel,c=this.filterable,f=i.prefix;return e("div",{class:["vxe-select",o?_xeUtils.default.isFunction(o)?o({$select:this}):o:"",(_defineProperty(o={},"size--".concat(n),n),_defineProperty(o,"is--visivle",u),_defineProperty(o,"is--disabled",a),_defineProperty(o,"is--filter",c),_defineProperty(o,"is--loading",r),_defineProperty(o,"is--active",s),o)]},[e("div",{class:"vxe-select-slots",ref:"hideOption"},this.$slots.default),e("vxe-input",{ref:"input",props:{clearable:this.clearable,placeholder:this.placeholder,readonly:!0,disabled:a,type:"text",prefixIcon:this.prefixIcon,suffixIcon:r?_conf.default.icon.SELECT_LOADED:u?_conf.default.icon.SELECT_OPEN:_conf.default.icon.SELECT_CLOSE,value:this.selectLabel},on:{clear:this.clearEvent,click:this.togglePanelEvent,focus:this.focusEvent,blur:this.blurEvent,"suffix-click":this.togglePanelEvent},scopedSlots:f?{prefix:function(){return f({})}}:{}}),e("div",{ref:"panel",class:["vxe-table--ignore-clear vxe-select--panel",(_defineProperty(a={},"size--".concat(n),n),_defineProperty(a,"is--transfer",this.transfer),_defineProperty(a,"animat--leave",!r&&this.animatVisible),_defineProperty(a,"animat--enter",!r&&u),a)],attrs:{placement:this.panelPlacement},style:this.panelStyle},l?[c?e("div",{class:"vxe-select-filter--wrapper"},[e("vxe-input",{ref:"inpSearch",class:"vxe-select-filter--input",props:{value:this.searchValue,type:"text",clearable:!0,placeholder:_conf.default.i18n("vxe.select.search"),prefixIcon:_conf.default.icon.INPUT_SEARCH},on:{modelValue:this.modelSearchEvent,focus:this.focusSearchEvent,keydown:this.keydownSearchEvent,change:this.triggerSearchEvent,search:this.triggerSearchEvent}})]):t(),e("div",{ref:"optWrapper",class:"vxe-select-option--wrapper"},renderOpts(e,this))]:null)])},methods:{callSlot:function(e,t,i){if(e){var n=this.$scopedSlots;if(_xeUtils.default.isString(e)&&(e=n[e]||null),_xeUtils.default.isFunction(e))return(0,_vn.getSlotVNs)(e.call(this,t,i))}return[]},cacheItemMap:function(){function t(e){getOptid(i,e)||(e[l]=getOptUniqueId())}var i=this,e=this.fullOptionList,n=this.fullGroupList,o=this.groupOptionsField,l=getOptkey(this);n.length?n.forEach(function(e){t(e),e[o]&&e[o].forEach(t)}):e.length&&e.forEach(t),this.refreshOption()},refreshOption:function(){var e=this.isGroup,t=this.fullOptionList,i=this.fullGroupList,n=this.filterable,o=this.filterMethod,l=this.searchValue,s=this.labelField,r=this.groupLabelField;return e?this.visibleGroupList=n&&o?i.filter(function(e){return isOptionVisible(e)&&o({group:e,option:null,searchValue:l})}):n?i.filter(function(e){return isOptionVisible(e)&&(!l||-1<"".concat(e[r]).indexOf(l))}):i.filter(isOptionVisible):this.visibleOptionList=n&&o?t.filter(function(e){return isOptionVisible(e)&&o({group:null,option:e,searchValue:l})}):n?t.filter(function(e){return isOptionVisible(e)&&(!l||-1<"".concat(e[s]).indexOf(l))}):t.filter(isOptionVisible),this.$nextTick()},setCurrentOption:function(e){e&&(this.currentOption=e,this.currentValue=e[this.valueField])},scrollToOption:function(n,o){var l=this;return this.$nextTick().then(function(){var e,t,i;n&&(e=(i=l.$refs).optWrapper,t=i.panel.querySelector("[optid='".concat(getOptid(l,n),"']")),e&&t&&(i=e.offsetHeight,o?t.offsetTop+t.offsetHeight-e.scrollTop>i&&(e.scrollTop=t.offsetTop+t.offsetHeight-i):(t.offsetTop+5<e.scrollTop||t.offsetTop+5>e.scrollTop+e.clientHeight)&&(e.scrollTop=t.offsetTop-5)))})},clearEvent:function(e,t){this.clearValueEvent(t,null),this.hideOptionPanel()},clearValueEvent:function(e,t){this.remoteValueList=[],this.changeEvent(e,t),this.$emit("clear",{value:t,$event:e})},changeEvent:function(e,t){t!==this.value&&(this.$emit("input",t),this.$emit("change",{value:t,$event:e}),this.$xeform&&this.$xeformiteminfo&&this.$xeform.triggerItemEvent(e,this.$xeformiteminfo.itemConfig.field,t))},mousedownOptionEvent:function(e){0===e.button&&e.stopPropagation()},changeOptionEvent:function(e,t,i){var n=this.value,o=this.multiple,l=this.remoteValueList;o?(o=n?-1===n.indexOf(t)?n.concat([t]):n.filter(function(e){return e!==t}):[t],(n=l.find(function(e){return e.key===t}))?n.result=i:l.push({key:t,result:i}),this.changeEvent(e,o)):(this.remoteValueList=[{key:t,result:i}],this.changeEvent(e,t),this.hideOptionPanel())},handleGlobalMousewheelEvent:function(e){var t=this.$refs,i=this.disabled,n=this.visiblePanel;i||n&&(_dom.default.getEventTargetNode(e,t.panel).flag?this.updatePlacement():this.hideOptionPanel())},handleGlobalMousedownEvent:function(e){var t=this.$refs,i=this.$el,n=this.disabled,o=this.visiblePanel;n||(this.isActivated=_dom.default.getEventTargetNode(e,i).flag||_dom.default.getEventTargetNode(e,t.panel).flag,o&&!this.isActivated&&this.hideOptionPanel())},handleGlobalKeydownEvent:function(e){var t,i,n,o,l,s,r,a=this.visiblePanel,u=this.currentValue,c=this.currentOption,f=this.clearable;this.disabled||(t=13===(r=e.keyCode),i=27===r,n=38===r,o=40===r,l=46===r,s=32===r,(r=9===r)&&(this.isActivated=!1),a?i||r?this.hideOptionPanel():t?(e.preventDefault(),e.stopPropagation(),this.changeOptionEvent(e,u,c)):n||o?(e.preventDefault(),c=(r=findOffsetOption(this,u,n)).firstOption,(r=r.offsetOption)||findOption(this,u)||(r=c),this.setCurrentOption(r),this.scrollToOption(r,o)):s&&e.preventDefault():(n||o||t||s)&&this.isActivated&&(e.preventDefault(),this.showOptionPanel()),this.isActivated&&l&&f&&this.clearValueEvent(e,null))},handleGlobalBlurEvent:function(){this.hideOptionPanel()},updateZindex:function(){this.panelIndex<_utils.default.getLastZIndex()&&(this.panelIndex=_utils.default.nextZIndex())},handleFocusSearch:function(){var e=this;this.filterable&&this.$nextTick(function(){e.$refs.inpSearch&&e.$refs.inpSearch.focus()})},focusEvent:function(){this.disabled||(this.isActivated=!0)},blurEvent:function(){this.isActivated=!1},modelSearchEvent:function(e){this.searchValue=e},focusSearchEvent:function(){this.isActivated=!0},keydownSearchEvent:function(e){e=e.$event;(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ENTER)&&(e.preventDefault(),e.stopPropagation())},triggerSearchEvent:_xeUtils.default.debounce(function(){var e=this,t=this.remote,i=this.remoteMethod,n=this.searchValue;t&&i?(this.searchLoading=!0,Promise.resolve(i({searchValue:n})).then(function(){return e.$nextTick()}).catch(function(){return e.$nextTick()}).finally(function(){e.searchLoading=!1,e.refreshOption()})):this.refreshOption()},350,{trailing:!0}),isPanelVisible:function(){return this.visiblePanel},togglePanel:function(){this.visiblePanel?this.hideOptionPanel():this.showOptionPanel(),this.$nextTick()},hidePanel:function(){this.visiblePanel&&this.hideOptionPanel(),this.$nextTick()},showPanel:function(){this.visiblePanel||this.showOptionPanel(),this.$nextTick()},togglePanelEvent:function(e){e.$event.preventDefault(),this.visiblePanel?this.hideOptionPanel():this.showOptionPanel()},showOptionPanel:function(){var i=this,e=this.loading,t=this.disabled,n=this.filterable;e||t||(this.searchList=this.option,clearTimeout(this.hidePanelTimeout),this.inited||(this.inited=!0,this.transfer&&document.body.appendChild(this.$refs.panel)),this.isActivated=!0,this.animatVisible=!0,n&&this.refreshOption(),setTimeout(function(){var e=i.value,t=i.multiple,e=findOption(i,t&&e?e[0]:e);i.visiblePanel=!0,e&&(i.setCurrentOption(e),i.scrollToOption(e)),i.handleFocusSearch()},10),this.updateZindex(),this.updatePlacement())},hideOptionPanel:function(){var e=this;this.searchValue="",this.searchLoading=!1,this.visiblePanel=!1,this.hidePanelTimeout=setTimeout(function(){e.animatVisible=!1,e.searchValue=""},350)},updatePlacement:function(){var p=this;return this.$nextTick().then(function(){var e=p.$refs,t=p.transfer,i=p.placement,n=p.panelIndex,o=e.input.$el,l=e.panel;if(l&&o){var s=o.offsetHeight,r=o.offsetWidth,a=l.offsetHeight,u=l.offsetWidth,c={zIndex:n},f=_dom.default.getAbsolutePos(o),e=f.boundingTop,l=f.boundingLeft,n=f.visibleHeight,o=f.visibleWidth,f="bottom";return t?(t=e+s,"top"===i?(f="top",t=e-a):i||(n<t+a+5&&(f="top",t=e-a),t<5&&(f="bottom",t=e+s)),o<(l=l)+u+5&&(l-=l+u+5-o),l<5&&(l=5),Object.assign(c,{left:"".concat(l,"px"),top:"".concat(t,"px"),minWidth:"".concat(r,"px")})):"top"===i?(f="top",c.bottom="".concat(s,"px")):i||n<e+s+a&&5<e-s-a&&(f="top",c.bottom="".concat(s,"px")),p.panelStyle=c,p.panelPlacement=f,p.$nextTick()}})},focus:function(){return this.isActivated=!0,this.$refs.input.focus(),this.$nextTick()},blur:function(){return this.hideOptionPanel(),this.$refs.input.blur(),this.$nextTick()}}};exports.default=_default2;
1
+ "use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.renderOptgroup=renderOptgroup,exports.renderOption=renderOption;var _xeUtils=_interopRequireDefault(require("xe-utils")),_input=_interopRequireDefault(require("../../input/src/input")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_size=_interopRequireDefault(require("../../mixins/size")),_utils=_interopRequireWildcard(require("../../tools/utils")),_dom=_interopRequireDefault(require("../../tools/dom")),_event=require("../../tools/event"),_vn=require("../../tools/vn");function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(_getRequireWildcardCache=function(e){return e?i:t})(e)}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==_typeof(e)&&"function"!=typeof e)return{default:e};t=_getRequireWildcardCache(t);if(t&&t.has(e))return t.get(e);var i,n,o={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&((n=l?Object.getOwnPropertyDescriptor(e,i):null)&&(n.get||n.set)?Object.defineProperty(o,i,n):o[i]=e[i]);return o.default=e,t&&t.set(e,o),o}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}function getOptkey(e){return e.optionOpts.keyField||e.optionId||"_X_OPTION_KEY"}function getOptid(e,t){e=t[getOptkey(e)];return e?encodeURIComponent(e):""}function findOffsetOption(e,t,i){var n,o,l,s,r=e.isGroup,a=e.visibleOptionList,u=e.visibleGroupList,c=e.valueField,f=e.groupOptionsField;if(r)for(var p=0;p<u.length;p++){var h=u[p],d=h[f],v=h.disabled;if(d)for(var b=0;b<d.length;b++){var O=d[b],g=isOptionVisible(O),m=v||O.disabled;if(n||m||(n=O),s&&g&&!m&&(l=O,!i))return{offsetOption:l};if(t===O[c]){if(s=O,i)return{offsetOption:o}}else g&&!m&&(o=O)}}else for(var x=0;x<a.length;x++){var _=a[x],y=_.disabled;if(n||y||(n=_),s&&!y&&(l=_,!i))return{offsetOption:l};if(t===_[c]){if(s=_,i)return{offsetOption:o}}else y||(o=_)}return{firstOption:n}}function findOption(e,t){var i=e.isGroup,n=e.fullOptionList,o=e.fullGroupList,l=e.valueField;if(i)for(var s=0;s<o.length;s++){var r=o[s];if(r.options)for(var a=0;a<r.options.length;a++){var u=r.options[a];if(t===u[l])return u}}return n.find(function(e){return t===e[l]})}function getRemoteSelectLabel(e,t){var i=e.remoteValueList.find(function(e){return t===e.key}),i=i?i.result:null;return _xeUtils.default.toValueString(i?i[e.labelField]:t)}function getSelectLabel(e,t){var i=findOption(e,t);return _xeUtils.default.toValueString(i?i[e.labelField]:t)}function checkOptionDisabled(e,t,i,n){return!!i.disabled||(!(!n||!n.disabled)||!(!e.isMaximize||t))}function renderOption(a,u,e,c){var f=u.isGroup,p=u.labelField,h=u.valueField,d=u.optionKey,v=u.value,b=u.multiple,O=u.currentValue,g=u.optionOpts.useKey;return e.map(function(t,e){var i=t.slots,n=t[h],o=b?v&&-1<v.indexOf(n):v===n,l=!f||isOptionVisible(t),s=checkOptionDisabled(u,o,t,c),r=getOptid(u,t),i=i?i.default:null;return l?a("div",{key:g||d?r:e,class:["vxe-select-option",t.className,{"is--disabled":s,"is--selected":o,"is--hover":O===n}],attrs:{optid:r},on:{mousedown:u.mousedownOptionEvent,click:function(e){s||u.changeOptionEvent(e,n,t)},mouseenter:function(){s||u.setCurrentOption(t)}}},i?u.callSlot(i,{option:t,$select:u},a):_utils.default.formatText((0,_utils.getFuncText)(t[p]))):null})}function renderOptgroup(l,s){var r=s.optionKey,e=s.visibleGroupList,a=s.groupLabelField,u=s.groupOptionsField,c=s.optionOpts.useKey;return e.map(function(e,t){var i=e.slots,n=getOptid(s,e),o=e.disabled,i=i?i.default:null;return l("div",{key:c||r?n:t,class:["vxe-optgroup",e.className,{"is--disabled":o}],attrs:{optid:n}},[l("div",{class:"vxe-optgroup--title"},i?s.callSlot(i,{option:e,$select:s},l):(0,_utils.getFuncText)(e[a])),l("div",{class:"vxe-optgroup--wrapper"},renderOption(l,s,e[u],e))])})}function renderOpts(e,t){var i=t.isGroup,n=t.visibleGroupList,o=t.visibleOptionList;if(t.searchLoading)return[e("div",{class:"vxe-select--search-loading"},[e("i",{class:["vxe-select--search-icon",_conf.default.icon.SELECT_LOADED]}),e("span",{class:"vxe-select--search-text"},_conf.default.i18n("vxe.select.loadingText"))])];if(i){if(n.length)return renderOptgroup(e,t)}else if(o.length)return renderOption(e,t,o);return[e("div",{class:"vxe-select--empty-placeholder"},t.emptyText||_conf.default.i18n("vxe.select.emptyText"))]}var _default2={name:"VxeSelect",mixins:[_size.default],props:{value:null,clearable:Boolean,placeholder:String,loading:Boolean,disabled:Boolean,multiple:Boolean,multiCharOverflow:{type:[Number,String],default:function(){return _conf.default.select.multiCharOverflow}},prefixIcon:String,placement:String,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],max:[String,Number],size:{type:String,default:function(){return _conf.default.select.size||_conf.default.size}},filterable:Boolean,filterMethod:Function,remote:Boolean,remoteMethod:Function,emptyText:String,optionId:{type:String,default:function(){return _conf.default.select.optionId}},optionKey:Boolean,transfer:{type:Boolean,default:function(){return _conf.default.select.transfer}}},components:{VxeInput:_input.default},inject:{$xeform:{default:null},$xeformiteminfo:{default:null}},provide:function(){return{$xeselect:this}},data:function(){return{inited:!1,collectOption:[],fullGroupList:[],fullOptionList:[],visibleGroupList:[],visibleOptionList:[],remoteValueList:[],panelIndex:0,panelStyle:null,panelPlacement:null,currentOption:null,currentValue:null,visiblePanel:!1,animatVisible:!1,isActivated:!1,searchValue:"",searchLoading:!1}},computed:{propsOpts:function(){return this.optionProps||{}},groupPropsOpts:function(){return this.optionGroupProps||{}},labelField:function(){return this.propsOpts.label||"label"},valueField:function(){return this.propsOpts.value||"value"},groupLabelField:function(){return this.groupPropsOpts.label||"label"},groupOptionsField:function(){return this.groupPropsOpts.options||"options"},optionOpts:function(){return Object.assign({},_conf.default.select.optionConfig,this.optionConfig)},isGroup:function(){return this.fullGroupList.some(function(e){return e.options&&e.options.length})},multiMaxCharNum:function(){return _xeUtils.default.toNumber(this.multiCharOverflow)},selectLabel:function(){var t=this,e=this.value,i=this.multiple,n=this.remote,o=this.multiMaxCharNum;if(e&&i){i=_xeUtils.default.isArray(e)?e:[e];return n?i.map(function(e){return getRemoteSelectLabel(t,e)}).join(", "):i.map(function(e){e=getSelectLabel(t,e);return 0<o&&e.length>o?"".concat(e.substring(0,o),"..."):e}).join(", ")}return(n?getRemoteSelectLabel:getSelectLabel)(this,e)},isMaximize:function(){var e=this.value,t=this.multiple,i=this.max;return!(!t||!i)&&(e?e.length:0)>=_xeUtils.default.toNumber(i)}},watch:{collectOption:function(e){e.some(function(e){return e.options&&e.options.length})?(this.fullOptionList=[],this.fullGroupList=e):(this.fullGroupList=[],this.fullOptionList=e),this.cacheItemMap()},options:function(e){this.fullGroupList=[],this.fullOptionList=e,this.cacheItemMap()},optionGroups:function(e){this.fullOptionList=[],this.fullGroupList=e,this.cacheItemMap()}},created:function(){var e=this.options,t=this.optionGroups;t?this.fullGroupList=t:e&&(this.fullOptionList=e),this.cacheItemMap(),_event.GlobalEvent.on(this,"mousewheel",this.handleGlobalMousewheelEvent),_event.GlobalEvent.on(this,"mousedown",this.handleGlobalMousedownEvent),_event.GlobalEvent.on(this,"keydown",this.handleGlobalKeydownEvent),_event.GlobalEvent.on(this,"blur",this.handleGlobalBlurEvent)},beforeDestroy:function(){var e=this.$refs.panel;e&&e.parentNode&&e.parentNode.removeChild(e)},destroyed:function(){_event.GlobalEvent.off(this,"mousewheel"),_event.GlobalEvent.off(this,"mousedown"),_event.GlobalEvent.off(this,"keydown"),_event.GlobalEvent.off(this,"blur")},render:function(e){var t=this._e,i=this.$scopedSlots,n=this.vSize,o=this.className,l=this.inited,s=this.isActivated,r=this.loading,a=this.disabled,u=this.visiblePanel,c=this.filterable,f=i.prefix;return e("div",{class:["vxe-select",o?_xeUtils.default.isFunction(o)?o({$select:this}):o:"",(_defineProperty(o={},"size--".concat(n),n),_defineProperty(o,"is--visivle",u),_defineProperty(o,"is--disabled",a),_defineProperty(o,"is--filter",c),_defineProperty(o,"is--loading",r),_defineProperty(o,"is--active",s),o)]},[e("div",{class:"vxe-select-slots",ref:"hideOption"},this.$slots.default),e("vxe-input",{ref:"input",props:{clearable:this.clearable,placeholder:this.placeholder,readonly:!0,disabled:a,type:"text",prefixIcon:this.prefixIcon,suffixIcon:r?_conf.default.icon.SELECT_LOADED:u?_conf.default.icon.SELECT_OPEN:_conf.default.icon.SELECT_CLOSE,value:this.selectLabel},on:{clear:this.clearEvent,click:this.togglePanelEvent,focus:this.focusEvent,blur:this.blurEvent,"suffix-click":this.togglePanelEvent},scopedSlots:f?{prefix:function(){return f({})}}:{}}),e("div",{ref:"panel",class:["vxe-table--ignore-clear vxe-select--panel",(_defineProperty(a={},"size--".concat(n),n),_defineProperty(a,"is--transfer",this.transfer),_defineProperty(a,"animat--leave",!r&&this.animatVisible),_defineProperty(a,"animat--enter",!r&&u),a)],attrs:{placement:this.panelPlacement},style:this.panelStyle},l?[c?e("div",{class:"vxe-select-filter--wrapper"},[e("vxe-input",{ref:"inpSearch",class:"vxe-select-filter--input",props:{value:this.searchValue,type:"text",clearable:!0,placeholder:_conf.default.i18n("vxe.select.search"),prefixIcon:_conf.default.icon.INPUT_SEARCH},on:{modelValue:this.modelSearchEvent,focus:this.focusSearchEvent,keydown:this.keydownSearchEvent,change:this.triggerSearchEvent,search:this.triggerSearchEvent}})]):t(),e("div",{ref:"optWrapper",class:"vxe-select-option--wrapper"},renderOpts(e,this))]:null)])},methods:{callSlot:function(e,t,i){if(e){var n=this.$scopedSlots;if(_xeUtils.default.isString(e)&&(e=n[e]||null),_xeUtils.default.isFunction(e))return(0,_vn.getSlotVNs)(e.call(this,t,i))}return[]},cacheItemMap:function(){function t(e){getOptid(i,e)||(e[l]=getOptUniqueId())}var i=this,e=this.fullOptionList,n=this.fullGroupList,o=this.groupOptionsField,l=getOptkey(this);n.length?n.forEach(function(e){t(e),e[o]&&e[o].forEach(t)}):e.length&&e.forEach(t),this.refreshOption()},refreshOption:function(){var e=this.isGroup,t=this.fullOptionList,i=this.fullGroupList,n=this.filterable,o=this.filterMethod,l=this.searchValue,s=this.labelField,r=this.groupLabelField;return e?this.visibleGroupList=n&&o?i.filter(function(e){return isOptionVisible(e)&&o({group:e,option:null,searchValue:l})}):n?i.filter(function(e){return isOptionVisible(e)&&(!l||-1<"".concat(e[r]).indexOf(l))}):i.filter(isOptionVisible):this.visibleOptionList=n&&o?t.filter(function(e){return isOptionVisible(e)&&o({group:null,option:e,searchValue:l})}):n?t.filter(function(e){return isOptionVisible(e)&&(!l||-1<"".concat(e[s]).indexOf(l))}):t.filter(isOptionVisible),this.$nextTick()},setCurrentOption:function(e){e&&(this.currentOption=e,this.currentValue=e[this.valueField])},scrollToOption:function(n,o){var l=this;return this.$nextTick().then(function(){var e,t,i;n&&(e=(i=l.$refs).optWrapper,t=i.panel.querySelector("[optid='".concat(getOptid(l,n),"']")),e&&t&&(i=e.offsetHeight,o?t.offsetTop+t.offsetHeight-e.scrollTop>i&&(e.scrollTop=t.offsetTop+t.offsetHeight-i):(t.offsetTop+5<e.scrollTop||t.offsetTop+5>e.scrollTop+e.clientHeight)&&(e.scrollTop=t.offsetTop-5)))})},clearEvent:function(e,t){this.clearValueEvent(t,null),this.hideOptionPanel()},clearValueEvent:function(e,t){this.remoteValueList=[],this.changeEvent(e,t),this.$emit("clear",{value:t,$event:e})},changeEvent:function(e,t){t!==this.value&&(this.$emit("input",t),this.$emit("change",{value:t,$event:e}),this.$xeform&&this.$xeformiteminfo&&this.$xeform.triggerItemEvent(e,this.$xeformiteminfo.itemConfig.field,t))},mousedownOptionEvent:function(e){0===e.button&&e.stopPropagation()},changeOptionEvent:function(e,t,i){var n=this.value,o=this.multiple,l=this.remoteValueList;o?(o=n?-1===n.indexOf(t)?n.concat([t]):n.filter(function(e){return e!==t}):[t],(n=l.find(function(e){return e.key===t}))?n.result=i:l.push({key:t,result:i}),this.changeEvent(e,o)):(this.remoteValueList=[{key:t,result:i}],this.changeEvent(e,t),this.hideOptionPanel())},handleGlobalMousewheelEvent:function(e){var t=this.$refs,i=this.disabled,n=this.visiblePanel;i||n&&(_dom.default.getEventTargetNode(e,t.panel).flag?this.updatePlacement():this.hideOptionPanel())},handleGlobalMousedownEvent:function(e){var t=this.$refs,i=this.$el,n=this.disabled,o=this.visiblePanel;n||(this.isActivated=_dom.default.getEventTargetNode(e,i).flag||_dom.default.getEventTargetNode(e,t.panel).flag,o&&!this.isActivated&&this.hideOptionPanel())},handleGlobalKeydownEvent:function(e){var t,i,n,o,l,s,r,a=this.visiblePanel,u=this.currentValue,c=this.currentOption,f=this.clearable;this.disabled||(t=13===(r=e.keyCode),i=27===r,n=38===r,o=40===r,l=46===r,s=32===r,(r=9===r)&&(this.isActivated=!1),a?i||r?this.hideOptionPanel():t?(e.preventDefault(),e.stopPropagation(),this.changeOptionEvent(e,u,c)):n||o?(e.preventDefault(),c=(r=findOffsetOption(this,u,n)).firstOption,(r=r.offsetOption)||findOption(this,u)||(r=c),this.setCurrentOption(r),this.scrollToOption(r,o)):s&&e.preventDefault():(n||o||t||s)&&this.isActivated&&(e.preventDefault(),this.showOptionPanel()),this.isActivated&&l&&f&&this.clearValueEvent(e,null))},handleGlobalBlurEvent:function(){this.hideOptionPanel()},updateZindex:function(){this.panelIndex<_utils.default.getLastZIndex()&&(this.panelIndex=_utils.default.nextZIndex())},handleFocusSearch:function(){var e=this;this.filterable&&this.$nextTick(function(){e.$refs.inpSearch&&e.$refs.inpSearch.focus()})},focusEvent:function(){this.disabled||(this.isActivated=!0)},blurEvent:function(){this.isActivated=!1},modelSearchEvent:function(e){this.searchValue=e},focusSearchEvent:function(){this.isActivated=!0},keydownSearchEvent:function(e){e=e.$event;(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ENTER)&&(e.preventDefault(),e.stopPropagation())},triggerSearchEvent:_xeUtils.default.debounce(function(){var e=this,t=this.remote,i=this.remoteMethod,n=this.searchValue;t&&i?(this.searchLoading=!0,Promise.resolve(i({searchValue:n})).then(function(){return e.$nextTick()}).catch(function(){return e.$nextTick()}).finally(function(){e.searchLoading=!1,e.refreshOption()})):this.refreshOption()},350,{trailing:!0}),isPanelVisible:function(){return this.visiblePanel},togglePanel:function(){this.visiblePanel?this.hideOptionPanel():this.showOptionPanel(),this.$nextTick()},hidePanel:function(){this.visiblePanel&&this.hideOptionPanel(),this.$nextTick()},showPanel:function(){this.visiblePanel||this.showOptionPanel(),this.$nextTick()},togglePanelEvent:function(e){e.$event.preventDefault(),this.visiblePanel?this.hideOptionPanel():this.showOptionPanel()},showOptionPanel:function(){var i=this,e=this.loading,t=this.disabled,n=this.filterable;e||t||(this.searchList=this.option,clearTimeout(this.hidePanelTimeout),this.inited||(this.inited=!0,this.transfer&&document.body.appendChild(this.$refs.panel)),this.isActivated=!0,this.animatVisible=!0,n&&this.refreshOption(),setTimeout(function(){var e=i.value,t=i.multiple,e=findOption(i,t&&e?e[0]:e);i.visiblePanel=!0,e&&(i.setCurrentOption(e),i.scrollToOption(e)),i.handleFocusSearch()},10),this.updateZindex(),this.updatePlacement())},hideOptionPanel:function(){var e=this;this.searchValue="",this.searchLoading=!1,this.visiblePanel=!1,this.hidePanelTimeout=setTimeout(function(){e.animatVisible=!1,e.searchValue=""},350)},updatePlacement:function(){var p=this;return this.$nextTick().then(function(){var e=p.$refs,t=p.transfer,i=p.placement,n=p.panelIndex,o=e.input.$el,l=e.panel;if(l&&o){var s=o.offsetHeight,r=o.offsetWidth,a=l.offsetHeight,u=l.offsetWidth,c={zIndex:n},f=_dom.default.getAbsolutePos(o),e=f.boundingTop,l=f.boundingLeft,n=f.visibleHeight,o=f.visibleWidth,f="bottom";return t?(t=e+s,"top"===i?(f="top",t=e-a):i||(n<t+a+5&&(f="top",t=e-a),t<5&&(f="bottom",t=e+s)),o<(l=l)+u+5&&(l-=l+u+5-o),l<5&&(l=5),Object.assign(c,{left:"".concat(l,"px"),top:"".concat(t,"px"),minWidth:"".concat(r,"px")})):"top"===i?(f="top",c.bottom="".concat(s,"px")):i||n<e+s+a&&5<e-s-a&&(f="top",c.bottom="".concat(s,"px")),p.panelStyle=c,p.panelPlacement=f,p.$nextTick()}})},focus:function(){return this.isActivated=!0,this.$refs.input.focus(),this.$nextTick()},blur:function(){return this.hideOptionPanel(),this.$refs.input.blur(),this.$nextTick()}}};exports.default=_default2;