vxe-pc-ui 3.14.17 → 3.14.19

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 (168) hide show
  1. package/es/language/ar-EG.js +4 -2
  2. package/es/language/de-DE.js +4 -2
  3. package/es/language/en-US.js +4 -2
  4. package/es/language/es-ES.js +4 -2
  5. package/es/language/fr-FR.js +4 -2
  6. package/es/language/hu-HU.js +4 -2
  7. package/es/language/hy-AM.js +4 -2
  8. package/es/language/id-ID.js +4 -2
  9. package/es/language/it-IT.js +4 -2
  10. package/es/language/ja-JP.js +4 -2
  11. package/es/language/ko-KR.js +4 -2
  12. package/es/language/ms-MY.js +4 -2
  13. package/es/language/nb-NO.js +4 -2
  14. package/es/language/pt-BR.js +4 -2
  15. package/es/language/ru-RU.js +4 -2
  16. package/es/language/th-TH.js +4 -2
  17. package/es/language/ug-CN.js +4 -2
  18. package/es/language/uk-UA.js +4 -2
  19. package/es/language/uz-UZ.js +4 -2
  20. package/es/language/vi-VN.js +4 -2
  21. package/es/language/zh-CHT.js +4 -2
  22. package/es/language/zh-CN.js +4 -2
  23. package/es/select/src/select.js +192 -48
  24. package/es/select/style.css +121 -10
  25. package/es/select/style.min.css +1 -1
  26. package/es/style.css +1 -1
  27. package/es/style.min.css +1 -1
  28. package/es/tree-select/src/tree-select.js +63 -20
  29. package/es/tree-select/style.css +8 -0
  30. package/es/tree-select/style.min.css +1 -1
  31. package/es/ui/index.js +10 -2
  32. package/es/ui/src/log.js +1 -1
  33. package/es/vxe-select/style.css +121 -10
  34. package/es/vxe-select/style.min.css +1 -1
  35. package/es/vxe-tree-select/style.css +8 -0
  36. package/es/vxe-tree-select/style.min.css +1 -1
  37. package/lib/index.umd.js +278 -69
  38. package/lib/index.umd.min.js +1 -1
  39. package/lib/language/ar-EG.js +4 -2
  40. package/lib/language/ar-EG.min.js +1 -1
  41. package/lib/language/ar-EG.umd.js +4 -2
  42. package/lib/language/de-DE.js +4 -2
  43. package/lib/language/de-DE.min.js +1 -1
  44. package/lib/language/de-DE.umd.js +4 -2
  45. package/lib/language/en-US.js +4 -2
  46. package/lib/language/en-US.min.js +1 -1
  47. package/lib/language/en-US.umd.js +4 -2
  48. package/lib/language/es-ES.js +4 -2
  49. package/lib/language/es-ES.min.js +1 -1
  50. package/lib/language/es-ES.umd.js +4 -2
  51. package/lib/language/fr-FR.js +4 -2
  52. package/lib/language/fr-FR.min.js +1 -1
  53. package/lib/language/fr-FR.umd.js +4 -2
  54. package/lib/language/hu-HU.js +4 -2
  55. package/lib/language/hu-HU.min.js +1 -1
  56. package/lib/language/hu-HU.umd.js +4 -2
  57. package/lib/language/hy-AM.js +4 -2
  58. package/lib/language/hy-AM.min.js +1 -1
  59. package/lib/language/hy-AM.umd.js +4 -2
  60. package/lib/language/id-ID.js +4 -2
  61. package/lib/language/id-ID.min.js +1 -1
  62. package/lib/language/id-ID.umd.js +4 -2
  63. package/lib/language/it-IT.js +4 -2
  64. package/lib/language/it-IT.min.js +1 -1
  65. package/lib/language/it-IT.umd.js +4 -2
  66. package/lib/language/ja-JP.js +4 -2
  67. package/lib/language/ja-JP.min.js +1 -1
  68. package/lib/language/ja-JP.umd.js +4 -2
  69. package/lib/language/ko-KR.js +4 -2
  70. package/lib/language/ko-KR.min.js +1 -1
  71. package/lib/language/ko-KR.umd.js +4 -2
  72. package/lib/language/ms-MY.js +4 -2
  73. package/lib/language/ms-MY.min.js +1 -1
  74. package/lib/language/ms-MY.umd.js +4 -2
  75. package/lib/language/nb-NO.js +4 -2
  76. package/lib/language/nb-NO.min.js +1 -1
  77. package/lib/language/nb-NO.umd.js +4 -2
  78. package/lib/language/pt-BR.js +4 -2
  79. package/lib/language/pt-BR.min.js +1 -1
  80. package/lib/language/pt-BR.umd.js +4 -2
  81. package/lib/language/ru-RU.js +4 -2
  82. package/lib/language/ru-RU.min.js +1 -1
  83. package/lib/language/ru-RU.umd.js +4 -2
  84. package/lib/language/th-TH.js +4 -2
  85. package/lib/language/th-TH.min.js +1 -1
  86. package/lib/language/th-TH.umd.js +4 -2
  87. package/lib/language/ug-CN.js +4 -2
  88. package/lib/language/ug-CN.min.js +1 -1
  89. package/lib/language/ug-CN.umd.js +4 -2
  90. package/lib/language/uk-UA.js +4 -2
  91. package/lib/language/uk-UA.min.js +1 -1
  92. package/lib/language/uk-UA.umd.js +4 -2
  93. package/lib/language/uz-UZ.js +4 -2
  94. package/lib/language/uz-UZ.min.js +1 -1
  95. package/lib/language/uz-UZ.umd.js +4 -2
  96. package/lib/language/vi-VN.js +4 -2
  97. package/lib/language/vi-VN.min.js +1 -1
  98. package/lib/language/vi-VN.umd.js +4 -2
  99. package/lib/language/zh-CHT.js +4 -2
  100. package/lib/language/zh-CHT.min.js +1 -1
  101. package/lib/language/zh-CHT.umd.js +4 -2
  102. package/lib/language/zh-CN.js +4 -2
  103. package/lib/language/zh-CN.min.js +1 -1
  104. package/lib/language/zh-CN.umd.js +4 -2
  105. package/lib/select/src/select.js +192 -44
  106. package/lib/select/src/select.min.js +1 -1
  107. package/lib/select/style/style.css +121 -10
  108. package/lib/select/style/style.min.css +1 -1
  109. package/lib/style.css +1 -1
  110. package/lib/style.min.css +1 -1
  111. package/lib/tree-select/src/tree-select.js +71 -20
  112. package/lib/tree-select/src/tree-select.min.js +1 -1
  113. package/lib/tree-select/style/style.css +8 -0
  114. package/lib/tree-select/style/style.min.css +1 -1
  115. package/lib/ui/index.js +10 -2
  116. package/lib/ui/index.min.js +1 -1
  117. package/lib/ui/src/log.js +1 -1
  118. package/lib/ui/src/log.min.js +1 -1
  119. package/lib/vxe-select/style/style.css +121 -10
  120. package/lib/vxe-select/style/style.min.css +1 -1
  121. package/lib/vxe-tree-select/style/style.css +8 -0
  122. package/lib/vxe-tree-select/style/style.min.css +1 -1
  123. package/package.json +1 -1
  124. package/packages/language/ar-EG.ts +4 -2
  125. package/packages/language/de-DE.ts +4 -2
  126. package/packages/language/en-US.ts +4 -2
  127. package/packages/language/es-ES.ts +4 -2
  128. package/packages/language/fr-FR.ts +4 -2
  129. package/packages/language/hu-HU.ts +4 -2
  130. package/packages/language/hy-AM.ts +4 -2
  131. package/packages/language/id-ID.ts +4 -2
  132. package/packages/language/it-IT.ts +4 -2
  133. package/packages/language/ja-JP.ts +4 -2
  134. package/packages/language/ko-KR.ts +4 -2
  135. package/packages/language/ms-MY.ts +4 -2
  136. package/packages/language/nb-NO.ts +4 -2
  137. package/packages/language/pt-BR.ts +4 -2
  138. package/packages/language/ru-RU.ts +4 -2
  139. package/packages/language/th-TH.ts +4 -2
  140. package/packages/language/ug-CN.ts +4 -2
  141. package/packages/language/uk-UA.ts +4 -2
  142. package/packages/language/uz-UZ.ts +4 -2
  143. package/packages/language/vi-VN.ts +4 -2
  144. package/packages/language/zh-CHT.ts +4 -2
  145. package/packages/language/zh-CN.ts +4 -2
  146. package/packages/select/src/select.ts +210 -49
  147. package/packages/tree-select/src/tree-select.ts +65 -21
  148. package/packages/ui/index.ts +9 -1
  149. package/styles/components/select.scss +40 -10
  150. package/styles/components/tree-select.scss +7 -0
  151. package/styles/theme/dark.scss +3 -0
  152. package/styles/theme/light.scss +3 -0
  153. package/styles/variable.scss +3 -0
  154. package/types/components/select.d.ts +20 -0
  155. package/types/components/table.d.ts +4 -0
  156. package/types/components/tree-select.d.ts +22 -1
  157. /package/es/icon/{iconfont.1779331536287.ttf → iconfont.1779445582657.ttf} +0 -0
  158. /package/es/icon/{iconfont.1779331536287.woff → iconfont.1779445582657.woff} +0 -0
  159. /package/es/icon/{iconfont.1779331536287.woff2 → iconfont.1779445582657.woff2} +0 -0
  160. /package/es/{iconfont.1779331536287.ttf → iconfont.1779445582657.ttf} +0 -0
  161. /package/es/{iconfont.1779331536287.woff → iconfont.1779445582657.woff} +0 -0
  162. /package/es/{iconfont.1779331536287.woff2 → iconfont.1779445582657.woff2} +0 -0
  163. /package/lib/icon/style/{iconfont.1779331536287.ttf → iconfont.1779445582657.ttf} +0 -0
  164. /package/lib/icon/style/{iconfont.1779331536287.woff → iconfont.1779445582657.woff} +0 -0
  165. /package/lib/icon/style/{iconfont.1779331536287.woff2 → iconfont.1779445582657.woff2} +0 -0
  166. /package/lib/{iconfont.1779331536287.ttf → iconfont.1779445582657.ttf} +0 -0
  167. /package/lib/{iconfont.1779331536287.woff → iconfont.1779445582657.woff} +0 -0
  168. /package/lib/{iconfont.1779331536287.woff2 → iconfont.1779445582657.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -13214,7 +13214,7 @@ function checkDynamic() {
13214
13214
  }
13215
13215
  ;// ./packages/ui/src/log.ts
13216
13216
 
13217
- var log_version = "ui v".concat("3.14.17");
13217
+ var log_version = "ui v".concat("3.14.19");
13218
13218
  var warnLog = log.create('warn', log_version);
13219
13219
  var errLog = log.create('error', log_version);
13220
13220
  ;// ./packages/ui/index.ts
@@ -13222,7 +13222,7 @@ var errLog = log.create('error', log_version);
13222
13222
 
13223
13223
 
13224
13224
 
13225
- var ui_version = "3.14.17";
13225
+ var ui_version = "3.14.19";
13226
13226
  VxeUI.uiVersion = ui_version;
13227
13227
  VxeUI.dynamicApp = dynamicApp;
13228
13228
  function config(options) {
@@ -13534,6 +13534,14 @@ setConfig({
13534
13534
  segmented: {},
13535
13535
  select: {
13536
13536
  multiCharOverflow: 8,
13537
+ radioConfig: {
13538
+ showIcon: true,
13539
+ trigger: 'option'
13540
+ },
13541
+ checkboxConfig: {
13542
+ showIcon: true,
13543
+ trigger: 'option'
13544
+ },
13537
13545
  remoteConfig: {
13538
13546
  enabled: true,
13539
13547
  autoLoad: true
@@ -13628,7 +13636,7 @@ setConfig({
13628
13636
  }
13629
13637
  },
13630
13638
  treeSelect: {
13631
- autoClose: true,
13639
+ autoClose: null,
13632
13640
  virtualYConfig: {
13633
13641
  enabled: true,
13634
13642
  gt: 0,
@@ -13976,7 +13984,8 @@ setIcon({
13976
13984
  select: {
13977
13985
  clear: '清除',
13978
13986
  allChecked: '全选',
13979
- total: '{0} / {1}',
13987
+ total: '已选 {0} ',
13988
+ close: '关闭',
13980
13989
  search: '搜索',
13981
13990
  loadingText: '加载中...',
13982
13991
  emptyText: '暂无数据',
@@ -13993,7 +14002,8 @@ setIcon({
13993
14002
  allChecked: '全选',
13994
14003
  allExpand: '全部展开',
13995
14004
  clearExpand: '全部收起',
13996
- total: '已选 {0}',
14005
+ total: '已选 {0}',
14006
+ close: '关闭',
13997
14007
  search: '搜索',
13998
14008
  emptyText: '暂无数据'
13999
14009
  },
@@ -45033,6 +45043,20 @@ function select_createInternalData() {
45033
45043
  type: [String, Number],
45034
45044
  default: null
45035
45045
  },
45046
+ showRadio: {
45047
+ type: Boolean,
45048
+ default: function _default() {
45049
+ return getConfig().select.showRadio;
45050
+ }
45051
+ },
45052
+ radioConfig: Object,
45053
+ showCheckbox: {
45054
+ type: Boolean,
45055
+ default: function _default() {
45056
+ return getConfig().select.showCheckedButoon;
45057
+ }
45058
+ },
45059
+ checkboxConfig: Object,
45036
45060
  /**
45037
45061
  * 已废弃,请使用 popupConfig.zIndex
45038
45062
  * @deprecated
@@ -45054,6 +45078,24 @@ function select_createInternalData() {
45054
45078
  remote: Boolean,
45055
45079
  remoteConfig: Object,
45056
45080
  emptyText: String,
45081
+ checkedClosable: {
45082
+ type: Boolean,
45083
+ default: function _default() {
45084
+ return getConfig().select.checkedClosable;
45085
+ }
45086
+ },
45087
+ clearClosable: {
45088
+ type: Boolean,
45089
+ default: function _default() {
45090
+ return getConfig().select.clearClosable;
45091
+ }
45092
+ },
45093
+ showCloseButton: {
45094
+ type: Boolean,
45095
+ default: function _default() {
45096
+ return getConfig().select.showCloseButton;
45097
+ }
45098
+ },
45057
45099
  showTotalButoon: {
45058
45100
  type: Boolean,
45059
45101
  default: function _default() {
@@ -45280,6 +45322,16 @@ function select_createInternalData() {
45280
45322
  var props = $xeSelect;
45281
45323
  return Object.assign({}, getConfig().select.optionConfig, props.optionConfig);
45282
45324
  },
45325
+ computeRadioOpts: function computeRadioOpts() {
45326
+ var $xeSelect = this;
45327
+ var props = $xeSelect;
45328
+ return Object.assign({}, getConfig().select.radioConfig, props.radioConfig);
45329
+ },
45330
+ computeCheckboxOpts: function computeCheckboxOpts() {
45331
+ var $xeSelect = this;
45332
+ var props = $xeSelect;
45333
+ return Object.assign({}, getConfig().select.checkboxConfig, props.checkboxConfig);
45334
+ },
45283
45335
  computeIsGroup: function computeIsGroup() {
45284
45336
  var $xeSelect = this;
45285
45337
  var reactData = $xeSelect.reactData;
@@ -45780,7 +45832,7 @@ function select_createInternalData() {
45780
45832
  }, null);
45781
45833
  }
45782
45834
  },
45783
- hideOptionPanel: function hideOptionPanel() {
45835
+ hideOptionPanel: function hideOptionPanel(evnt) {
45784
45836
  var $xeSelect = this;
45785
45837
  var props = $xeSelect;
45786
45838
  var reactData = $xeSelect.reactData;
@@ -45807,7 +45859,7 @@ function select_createInternalData() {
45807
45859
  }, 350);
45808
45860
  $xeSelect.dispatchEvent('visible-change', {
45809
45861
  visible: false
45810
- }, null);
45862
+ }, evnt || null);
45811
45863
  },
45812
45864
  changeEvent: function changeEvent(evnt, selectValue, option) {
45813
45865
  var $xeSelect = this;
@@ -45839,14 +45891,16 @@ function select_createInternalData() {
45839
45891
  var $xeSelect = this;
45840
45892
  var $event = params.$event;
45841
45893
  $xeSelect.clearValueEvent($event, null);
45842
- $xeSelect.hideOptionPanel();
45894
+ $xeSelect.hideOptionPanel($event);
45843
45895
  },
45844
45896
  allCheckedPanelEvent: function allCheckedPanelEvent(params) {
45845
45897
  var $xeSelect = this;
45846
45898
  var props = $xeSelect;
45847
45899
  var reactData = $xeSelect.reactData;
45848
45900
  var $event = params.$event;
45849
- var multiple = props.multiple;
45901
+ var multiple = props.multiple,
45902
+ max = props.max,
45903
+ checkedClosable = props.checkedClosable;
45850
45904
  var optList = reactData.optList;
45851
45905
  var valueField = $xeSelect.computeValueField;
45852
45906
  if (multiple) {
@@ -45857,6 +45911,12 @@ function select_createInternalData() {
45857
45911
  var selectValue = option[valueField];
45858
45912
  // 检测是否超过最大可选数量
45859
45913
  if ($xeSelect.checkMaxLimit(currVlas)) {
45914
+ if (VxeUI) {
45915
+ VxeUI.modal.message({
45916
+ content: getI18n('vxe.select.overSizeErr', [max]),
45917
+ status: 'warning'
45918
+ });
45919
+ }
45860
45920
  return 1; // break
45861
45921
  }
45862
45922
  if (!currVlas.some(function (val) {
@@ -45869,6 +45929,9 @@ function select_createInternalData() {
45869
45929
  if (_loop()) break;
45870
45930
  }
45871
45931
  $xeSelect.changeEvent($event, currVlas, optList[0]);
45932
+ if (checkedClosable) {
45933
+ $xeSelect.hideOptionPanel($event);
45934
+ }
45872
45935
  $xeSelect.dispatchEvent('all-change', {
45873
45936
  value: currVlas
45874
45937
  }, $event);
@@ -45876,9 +45939,18 @@ function select_createInternalData() {
45876
45939
  },
45877
45940
  clearCheckedPanelEvent: function clearCheckedPanelEvent(params) {
45878
45941
  var $xeSelect = this;
45942
+ var props = $xeSelect;
45943
+ var clearClosable = props.clearClosable;
45879
45944
  var $event = params.$event;
45880
45945
  $xeSelect.clearValueEvent($event, null);
45881
- $xeSelect.hideOptionPanel();
45946
+ if (clearClosable) {
45947
+ $xeSelect.hideOptionPanel($event);
45948
+ }
45949
+ },
45950
+ closePanelEvent: function closePanelEvent(params) {
45951
+ var $xeSelect = this;
45952
+ var $event = params.$event;
45953
+ $xeSelect.hideOptionPanel($event);
45882
45954
  },
45883
45955
  changeOptionEvent: function changeOptionEvent(evnt, option) {
45884
45956
  var $xeSelect = this;
@@ -45918,7 +45990,7 @@ function select_createInternalData() {
45918
45990
  $xeSelect.changeEvent(evnt, multipleValue, option);
45919
45991
  } else {
45920
45992
  $xeSelect.changeEvent(evnt, selectValue, option);
45921
- $xeSelect.hideOptionPanel();
45993
+ $xeSelect.hideOptionPanel(evnt);
45922
45994
  }
45923
45995
  reactData.reactFlag++;
45924
45996
  },
@@ -45933,7 +46005,7 @@ function select_createInternalData() {
45933
46005
  if (getEventTargetNode(evnt, panelElem).flag) {
45934
46006
  $xeSelect.updatePlacement();
45935
46007
  } else {
45936
- $xeSelect.hideOptionPanel();
46008
+ $xeSelect.hideOptionPanel(evnt);
45937
46009
  }
45938
46010
  }
45939
46011
  }
@@ -45951,7 +46023,7 @@ function select_createInternalData() {
45951
46023
  reactData.isActivated = getEventTargetNode(evnt, el).flag || getEventTargetNode(evnt, panelElem).flag;
45952
46024
  if (visiblePanel && !reactData.isActivated) {
45953
46025
  if (trigger !== 'manual') {
45954
- $xeSelect.hideOptionPanel();
46026
+ $xeSelect.hideOptionPanel(evnt);
45955
46027
  }
45956
46028
  }
45957
46029
  }
@@ -46052,7 +46124,7 @@ function select_createInternalData() {
46052
46124
  if (visiblePanel) {
46053
46125
  if (isEsc || isTab) {
46054
46126
  if (trigger !== 'manual') {
46055
- $xeSelect.hideOptionPanel();
46127
+ $xeSelect.hideOptionPanel(evnt);
46056
46128
  }
46057
46129
  } else if (isEnter) {
46058
46130
  if (currentOption) {
@@ -46083,7 +46155,7 @@ function select_createInternalData() {
46083
46155
  }
46084
46156
  }
46085
46157
  },
46086
- handleGlobalBlurEvent: function handleGlobalBlurEvent() {
46158
+ handleGlobalBlurEvent: function handleGlobalBlurEvent(evnt) {
46087
46159
  var $xeSelect = this;
46088
46160
  var reactData = $xeSelect.reactData;
46089
46161
  var visiblePanel = reactData.visiblePanel,
@@ -46092,7 +46164,7 @@ function select_createInternalData() {
46092
46164
  var trigger = popupOpts.trigger;
46093
46165
  if (visiblePanel) {
46094
46166
  if (trigger !== 'manual') {
46095
- $xeSelect.hideOptionPanel();
46167
+ $xeSelect.hideOptionPanel(evnt);
46096
46168
  }
46097
46169
  }
46098
46170
  if (isActivated) {
@@ -46230,7 +46302,7 @@ function select_createInternalData() {
46230
46302
  reactData.triggerFocusPanel = false;
46231
46303
  } else {
46232
46304
  if (reactData.visiblePanel) {
46233
- $xeSelect.hideOptionPanel();
46305
+ $xeSelect.hideOptionPanel($event);
46234
46306
  } else {
46235
46307
  $xeSelect.showOptionPanel();
46236
46308
  }
@@ -46557,6 +46629,60 @@ function select_createInternalData() {
46557
46629
  //
46558
46630
  // Render
46559
46631
  //
46632
+ renderRadio: function renderRadio(h, option, isOptGroup, isChecked, isDisabled) {
46633
+ var $xeSelect = this;
46634
+ var radioOpts = $xeSelect.computeRadioOpts;
46635
+ var showIcon = radioOpts.showIcon,
46636
+ trigger = radioOpts.trigger;
46637
+ if (isOptGroup || showIcon === false) {
46638
+ return renderEmptyElement($xeSelect);
46639
+ }
46640
+ var ons = {};
46641
+ if (!trigger || trigger === 'default') {
46642
+ ons.click = function (evnt) {
46643
+ if (!isDisabled && !isOptGroup) {
46644
+ $xeSelect.changeOptionEvent(evnt, option);
46645
+ }
46646
+ };
46647
+ }
46648
+ return h('div', {
46649
+ key: 2,
46650
+ class: ['vxe-select-option--radio', {
46651
+ 'is--checked': isChecked,
46652
+ 'is--disabled': isDisabled
46653
+ }],
46654
+ on: ons
46655
+ }, [h('span', {
46656
+ class: ['vxe-radio--icon', isChecked ? getIcon().RADIO_CHECKED : getIcon().RADIO_UNCHECKED]
46657
+ })]);
46658
+ },
46659
+ renderCheckbox: function renderCheckbox(h, option, isOptGroup, isChecked, isDisabled) {
46660
+ var $xeSelect = this;
46661
+ var checkboxOpts = $xeSelect.computeCheckboxOpts;
46662
+ var showIcon = checkboxOpts.showIcon,
46663
+ trigger = checkboxOpts.trigger;
46664
+ if (isOptGroup || showIcon === false) {
46665
+ return renderEmptyElement($xeSelect);
46666
+ }
46667
+ var ons = {};
46668
+ if (!trigger || trigger === 'default') {
46669
+ ons.click = function (evnt) {
46670
+ if (!isDisabled && !isOptGroup) {
46671
+ $xeSelect.changeOptionEvent(evnt, option);
46672
+ }
46673
+ };
46674
+ }
46675
+ return h('div', {
46676
+ key: 3,
46677
+ class: ['vxe-select-option--checkbox', {
46678
+ 'is--checked': isChecked,
46679
+ 'is--disabled': isDisabled
46680
+ }],
46681
+ on: ons
46682
+ }, [h('span', {
46683
+ class: ['vxe-checkbox--icon', isChecked ? getIcon().CHECKBOX_CHECKED : getIcon().CHECKBOX_UNCHECKED]
46684
+ })]);
46685
+ },
46560
46686
  renderOption: function renderOption(h, list) {
46561
46687
  var $xeSelect = this;
46562
46688
  var props = $xeSelect;
@@ -46564,7 +46690,10 @@ function select_createInternalData() {
46564
46690
  var reactData = $xeSelect.reactData;
46565
46691
  var internalData = $xeSelect.internalData;
46566
46692
  var allowCreate = props.allowCreate,
46567
- optionKey = props.optionKey;
46693
+ optionKey = props.optionKey,
46694
+ multiple = props.multiple,
46695
+ showRadio = props.showRadio,
46696
+ showCheckbox = props.showCheckbox;
46568
46697
  var currentOption = reactData.currentOption;
46569
46698
  var optAddMaps = internalData.optAddMaps;
46570
46699
  var optionOpts = $xeSelect.computeOptionOpts;
@@ -46572,9 +46701,13 @@ function select_createInternalData() {
46572
46701
  var valueField = $xeSelect.computeValueField;
46573
46702
  var groupLabelField = $xeSelect.computeGroupLabelField;
46574
46703
  var selectVals = $xeSelect.computeSelectVals;
46704
+ var radioOpts = $xeSelect.computeRadioOpts;
46705
+ var checkboxOpts = $xeSelect.computeCheckboxOpts;
46575
46706
  var useKey = optionOpts.useKey,
46576
46707
  height = optionOpts.height;
46577
46708
  var optionSlot = slots.option;
46709
+ var isCheckboxMode = showCheckbox && multiple;
46710
+ var isRadioMode = showRadio && !multiple;
46578
46711
  return list.map(function (option, cIndex) {
46579
46712
  var slots = option.slots,
46580
46713
  className = option.className;
@@ -46586,6 +46719,7 @@ function select_createInternalData() {
46586
46719
  var isVisible = isAdd || !isOptGroup || isOptionVisible(option);
46587
46720
  var isDisabled = !isAdd && $xeSelect.checkOptionDisabled(isSelected, option);
46588
46721
  var defaultSlot = slots ? slots.default : null;
46722
+ var optSlot = defaultSlot || optionSlot;
46589
46723
  var optParams = {
46590
46724
  option: option,
46591
46725
  group: isOptGroup ? option : null,
@@ -46593,13 +46727,41 @@ function select_createInternalData() {
46593
46727
  };
46594
46728
  var optLabel = '';
46595
46729
  var optVNs = [];
46596
- if (optionSlot) {
46597
- optVNs = $xeSelect.callSlot(optionSlot, optParams, h);
46598
- } else if (defaultSlot) {
46599
- optVNs = $xeSelect.callSlot(defaultSlot, optParams, h);
46730
+ if (isCheckboxMode) {
46731
+ optVNs.push($xeSelect.renderCheckbox(h, option, isOptGroup, isSelected, isDisabled));
46732
+ } else if (isRadioMode) {
46733
+ optVNs.push($xeSelect.renderRadio(h, option, isOptGroup, isSelected, isDisabled));
46734
+ }
46735
+ var otlbVNs = [];
46736
+ if (optSlot) {
46737
+ otlbVNs = $xeSelect.callSlot(optSlot, optParams, h);
46600
46738
  } else {
46601
46739
  optLabel = getFuncText(option[isOptGroup ? groupLabelField : labelField] || optionValue);
46602
- optVNs = optLabel;
46740
+ otlbVNs = [optLabel];
46741
+ }
46742
+ optVNs.push(h('div', {
46743
+ key: 1,
46744
+ class: 'vxe-select-option--label'
46745
+ }, otlbVNs));
46746
+ var ons = {
46747
+ mousedown: function mousedown(evnt) {
46748
+ var isLeftBtn = evnt.button === 0;
46749
+ if (isLeftBtn) {
46750
+ evnt.stopPropagation();
46751
+ }
46752
+ },
46753
+ mouseenter: function mouseenter() {
46754
+ if (!isDisabled && !isOptGroup && !$xeSelect.isVMScrollProcess()) {
46755
+ $xeSelect.setCurrentOption(option);
46756
+ }
46757
+ }
46758
+ };
46759
+ if (isCheckboxMode ? checkboxOpts.trigger === 'option' : isRadioMode ? radioOpts.trigger === 'option' : true) {
46760
+ ons.click = function (evnt) {
46761
+ if (!isDisabled && !isOptGroup) {
46762
+ $xeSelect.changeOptionEvent(evnt, option);
46763
+ }
46764
+ };
46603
46765
  }
46604
46766
  return isVisible ? h('div', {
46605
46767
  key: useKey || optionKey ? optid : cIndex,
@@ -46617,27 +46779,10 @@ function select_createInternalData() {
46617
46779
  style: height ? {
46618
46780
  height: toCssUnit(height)
46619
46781
  } : undefined,
46620
- on: {
46621
- mousedown: function mousedown(evnt) {
46622
- var isLeftBtn = evnt.button === 0;
46623
- if (isLeftBtn) {
46624
- evnt.stopPropagation();
46625
- }
46626
- },
46627
- click: function click(evnt) {
46628
- if (!isDisabled && !isOptGroup) {
46629
- $xeSelect.changeOptionEvent(evnt, option);
46630
- }
46631
- },
46632
- mouseenter: function mouseenter() {
46633
- if (!isDisabled && !isOptGroup && !$xeSelect.isVMScrollProcess()) {
46634
- $xeSelect.setCurrentOption(option);
46635
- }
46636
- }
46637
- }
46782
+ on: ons
46638
46783
  }, allowCreate ? [h('span', {
46639
46784
  key: 1,
46640
- class: 'vxe-select-option--label'
46785
+ class: 'vxe-select-option--add-label'
46641
46786
  }, optVNs), isAdd ? h('span', {
46642
46787
  key: 2,
46643
46788
  class: 'vxe-select-option--add-icon'
@@ -46679,7 +46824,8 @@ function select_createInternalData() {
46679
46824
  filterable = props.filterable,
46680
46825
  showTotalButoon = props.showTotalButoon,
46681
46826
  showCheckedButoon = props.showCheckedButoon,
46682
- showClearButton = props.showClearButton;
46827
+ showClearButton = props.showClearButton,
46828
+ showCloseButton = props.showCloseButton;
46683
46829
  var initialized = reactData.initialized,
46684
46830
  isActivated = reactData.isActivated,
46685
46831
  isAniVisible = reactData.isAniVisible,
@@ -46782,13 +46928,11 @@ function select_createInternalData() {
46782
46928
  change: $xeSelect.triggerSearchEvent,
46783
46929
  search: $xeSelect.triggerSearchEvent
46784
46930
  }
46785
- })]) : renderEmptyElement($xeSelect), showTotalButoon || showCheckedButoon && multiple || showClearButton || headerSlot ? h('div', {
46931
+ })]) : renderEmptyElement($xeSelect), showCheckedButoon && multiple || showClearButton || headerSlot ? h('div', {
46786
46932
  class: 'vxe-select--panel-header'
46787
46933
  }, headerSlot ? $xeSelect.callSlot(headerSlot, {}, h) : [h('div', {
46788
46934
  class: 'vxe-tree-select--header-button'
46789
- }, [showTotalButoon ? h('div', {
46790
- class: 'vxe-tree-select--header-total'
46791
- }, getI18n('vxe.select.total', [selectVals.length, optList.length])) : renderEmptyElement($xeSelect), h('div', {
46935
+ }, [h('div', {
46792
46936
  class: 'vxe-tree-select--header-btns'
46793
46937
  }, [showCheckedButoon && multiple ? h(src_button, {
46794
46938
  props: {
@@ -46825,9 +46969,23 @@ function select_createInternalData() {
46825
46969
  style: {
46826
46970
  transform: "translateY(".concat(topSpaceHeight, "px)")
46827
46971
  }
46828
- }, $xeSelect.renderOpts(h))])]), footerSlot ? h('div', {
46972
+ }, $xeSelect.renderOpts(h))])]), footerSlot || showTotalButoon || showCloseButton && multiple ? h('div', {
46829
46973
  class: 'vxe-select--panel-footer'
46830
- }, $xeSelect.callSlot(footerSlot, {}, h)) : renderEmptyElement($xeSelect)])] : [])]);
46974
+ }, footerSlot ? $xeSelect.callSlot(footerSlot, {}, h) : [h('div', {
46975
+ class: 'vxe-select--footer-button'
46976
+ }, [showTotalButoon ? h('div', {
46977
+ class: 'vxe-select--total-btns'
46978
+ }, getI18n('vxe.select.total', [selectVals.length, optList.length])) : renderEmptyElement($xeSelect), showCloseButton && multiple ? h('div', {
46979
+ class: 'vxe-select--oper-btns'
46980
+ }, [h(src_button, {
46981
+ props: {
46982
+ content: getI18n('vxe.select.close'),
46983
+ mode: 'text'
46984
+ },
46985
+ on: {
46986
+ click: $xeSelect.closePanelEvent
46987
+ }
46988
+ })]) : renderEmptyElement($xeSelect)])]) : renderEmptyElement($xeSelect)])] : [])]);
46831
46989
  }
46832
46990
  },
46833
46991
  watch: {
@@ -59516,12 +59674,34 @@ function tree_select_createInternalData() {
59516
59674
  treeConfig: Object,
59517
59675
  menuConfig: Object,
59518
59676
  virtualYConfig: Object,
59677
+ /**
59678
+ * 已废弃,被 checked-closable, clear-closable 替换
59679
+ * @deprecated
59680
+ */
59519
59681
  autoClose: {
59520
59682
  type: Boolean,
59521
59683
  default: function _default() {
59522
59684
  return getConfig().treeSelect.autoClose;
59523
59685
  }
59524
59686
  },
59687
+ checkedClosable: {
59688
+ type: Boolean,
59689
+ default: function _default() {
59690
+ return getConfig().treeSelect.checkedClosable;
59691
+ }
59692
+ },
59693
+ clearClosable: {
59694
+ type: Boolean,
59695
+ default: function _default() {
59696
+ return getConfig().treeSelect.clearClosable;
59697
+ }
59698
+ },
59699
+ showCloseButton: {
59700
+ type: Boolean,
59701
+ default: function _default() {
59702
+ return getConfig().treeSelect.showCloseButton;
59703
+ }
59704
+ },
59525
59705
  showTotalButoon: {
59526
59706
  type: Boolean,
59527
59707
  default: function _default() {
@@ -59923,9 +60103,12 @@ function tree_select_createInternalData() {
59923
60103
  }, 10);
59924
60104
  $xeTreeSelect.updateZindex();
59925
60105
  $xeTreeSelect.updatePlacement();
60106
+ $xeTreeSelect.dispatchEvent('visible-change', {
60107
+ visible: true
60108
+ }, null);
59926
60109
  }
59927
60110
  },
59928
- hideOptionPanel: function hideOptionPanel() {
60111
+ hideOptionPanel: function hideOptionPanel(evnt) {
59929
60112
  var $xeTreeSelect = this;
59930
60113
  var reactData = $xeTreeSelect.reactData;
59931
60114
  var internalData = $xeTreeSelect.internalData;
@@ -59933,6 +60116,9 @@ function tree_select_createInternalData() {
59933
60116
  internalData.hpTimeout = setTimeout(function () {
59934
60117
  reactData.isAniVisible = false;
59935
60118
  }, 350);
60119
+ $xeTreeSelect.dispatchEvent('visible-change', {
60120
+ visible: false
60121
+ }, evnt || null);
59936
60122
  },
59937
60123
  changeEvent: function changeEvent(evnt, selectValue, node) {
59938
60124
  var $xeTreeSelect = this;
@@ -59960,17 +60146,19 @@ function tree_select_createInternalData() {
59960
60146
  value: selectValue
59961
60147
  }, evnt);
59962
60148
  },
59963
- clearEvent: function clearEvent(params, evnt) {
60149
+ clearEvent: function clearEvent(params) {
59964
60150
  var $xeTreeSelect = this;
59965
- $xeTreeSelect.clearValueEvent(evnt, null);
59966
- $xeTreeSelect.hideOptionPanel();
60151
+ var $event = params.$event;
60152
+ $xeTreeSelect.clearValueEvent($event, null);
60153
+ $xeTreeSelect.hideOptionPanel($event);
59967
60154
  },
59968
60155
  allCheckedPanelEvent: function allCheckedPanelEvent(params) {
59969
60156
  var $xeTreeSelect = this;
59970
60157
  var props = $xeTreeSelect;
59971
60158
  var $event = params.$event;
59972
60159
  var multiple = props.multiple,
59973
- autoClose = props.autoClose;
60160
+ autoClose = props.autoClose,
60161
+ checkedClosable = props.checkedClosable;
59974
60162
  var $tree = $xeTreeSelect.$refs.refTree;
59975
60163
  if (multiple) {
59976
60164
  if ($tree) {
@@ -59981,8 +60169,8 @@ function tree_select_createInternalData() {
59981
60169
  $xeTreeSelect.dispatchEvent('all-change', {
59982
60170
  value: checkNodeKeys
59983
60171
  }, $event);
59984
- if (autoClose) {
59985
- $xeTreeSelect.hideOptionPanel();
60172
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(autoClose) ? autoClose : checkedClosable) {
60173
+ $xeTreeSelect.hideOptionPanel($event);
59986
60174
  }
59987
60175
  });
59988
60176
  }
@@ -59993,13 +60181,14 @@ function tree_select_createInternalData() {
59993
60181
  var props = $xeTreeSelect;
59994
60182
  var $event = params.$event;
59995
60183
  var multiple = props.multiple,
59996
- autoClose = props.autoClose;
60184
+ autoClose = props.autoClose,
60185
+ clearClosable = props.clearClosable;
59997
60186
  var $tree = $xeTreeSelect.$refs.refTree;
59998
60187
  if ($tree) {
59999
60188
  var value = multiple ? [] : null;
60000
60189
  $tree.clearCheckboxNode().then(function () {
60001
- if (autoClose) {
60002
- $xeTreeSelect.hideOptionPanel();
60190
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(autoClose) ? autoClose : clearClosable) {
60191
+ $xeTreeSelect.hideOptionPanel($event);
60003
60192
  }
60004
60193
  });
60005
60194
  $xeTreeSelect.changeEvent($event, value, null);
@@ -60008,6 +60197,11 @@ function tree_select_createInternalData() {
60008
60197
  }, $event);
60009
60198
  }
60010
60199
  },
60200
+ closePanelEvent: function closePanelEvent(params) {
60201
+ var $xeTreeSelect = this;
60202
+ var $event = params.$event;
60203
+ $xeTreeSelect.hideOptionPanel($event);
60204
+ },
60011
60205
  allExpandPanelEvent: function allExpandPanelEvent() {
60012
60206
  var $xeTreeSelect = this;
60013
60207
  var $tree = $xeTreeSelect.$refs.refTree;
@@ -60033,7 +60227,7 @@ function tree_select_createInternalData() {
60033
60227
  if (getEventTargetNode(evnt, panelElem).flag) {
60034
60228
  $xeTreeSelect.updatePlacement();
60035
60229
  } else {
60036
- $xeTreeSelect.hideOptionPanel();
60230
+ $xeTreeSelect.hideOptionPanel(evnt);
60037
60231
  }
60038
60232
  }
60039
60233
  }
@@ -60048,17 +60242,17 @@ function tree_select_createInternalData() {
60048
60242
  var panelElem = $xeTreeSelect.$refs.refOptionPanel;
60049
60243
  reactData.isActivated = getEventTargetNode(evnt, el).flag || getEventTargetNode(evnt, panelElem).flag;
60050
60244
  if (visiblePanel && !reactData.isActivated) {
60051
- $xeTreeSelect.hideOptionPanel();
60245
+ $xeTreeSelect.hideOptionPanel(evnt);
60052
60246
  }
60053
60247
  }
60054
60248
  },
60055
- handleGlobalBlurEvent: function handleGlobalBlurEvent() {
60249
+ handleGlobalBlurEvent: function handleGlobalBlurEvent(evnt) {
60056
60250
  var $xeTreeSelect = this;
60057
60251
  var reactData = $xeTreeSelect.reactData;
60058
60252
  var visiblePanel = reactData.visiblePanel,
60059
60253
  isActivated = reactData.isActivated;
60060
60254
  if (visiblePanel) {
60061
- $xeTreeSelect.hideOptionPanel();
60255
+ $xeTreeSelect.hideOptionPanel(evnt);
60062
60256
  }
60063
60257
  if (isActivated) {
60064
60258
  reactData.isActivated = false;
@@ -60155,7 +60349,7 @@ function tree_select_createInternalData() {
60155
60349
  reactData.triggerFocusPanel = false;
60156
60350
  } else {
60157
60351
  if (reactData.visiblePanel) {
60158
- $xeTreeSelect.hideOptionPanel();
60352
+ $xeTreeSelect.hideOptionPanel($event);
60159
60353
  } else {
60160
60354
  $xeTreeSelect.showOptionPanel();
60161
60355
  }
@@ -60176,7 +60370,7 @@ function tree_select_createInternalData() {
60176
60370
  $event = params.$event,
60177
60371
  node = params.node;
60178
60372
  $xeTreeSelect.changeEvent($event, value, node);
60179
- $xeTreeSelect.hideOptionPanel();
60373
+ $xeTreeSelect.hideOptionPanel($event);
60180
60374
  },
60181
60375
  checkboxChangeEvent: function checkboxChangeEvent(params) {
60182
60376
  var $xeTreeSelect = this;
@@ -60207,7 +60401,8 @@ function tree_select_createInternalData() {
60207
60401
  showTotalButoon = props.showTotalButoon,
60208
60402
  showCheckedButoon = props.showCheckedButoon,
60209
60403
  showClearButton = props.showClearButton,
60210
- showExpandButton = props.showExpandButton;
60404
+ showExpandButton = props.showExpandButton,
60405
+ showCloseButton = props.showCloseButton;
60211
60406
  var initialized = reactData.initialized,
60212
60407
  isActivated = reactData.isActivated,
60213
60408
  isAniVisible = reactData.isAniVisible,
@@ -60326,7 +60521,7 @@ function tree_select_createInternalData() {
60326
60521
  on: {
60327
60522
  'model-value': $xeTreeSelect.modelSearchEvent
60328
60523
  }
60329
- })]) : renderEmptyElement($xeTreeSelect), showTotalButoon || showCheckedButoon && multiple || showClearButton || showExpandButton || headerSlot ? h('div', {
60524
+ })]) : renderEmptyElement($xeTreeSelect), showCheckedButoon && multiple || showClearButton || showExpandButton || headerSlot ? h('div', {
60330
60525
  class: 'vxe-tree-select--panel-header'
60331
60526
  }, headerSlot ? headerSlot({}) : [h('div', {
60332
60527
  class: 'vxe-tree-select--header-button'
@@ -60423,13 +60618,23 @@ function tree_select_createInternalData() {
60423
60618
  'load-success': $xeTreeSelect.loadSuccessEvent
60424
60619
  },
60425
60620
  scopedSlots: treeScopedSlots
60426
- })])]), footerSlot || showTotalButoon ? h('div', {
60621
+ })])]), footerSlot || showTotalButoon || showCloseButton && multiple ? h('div', {
60427
60622
  class: 'vxe-tree-select--panel-footer'
60428
60623
  }, footerSlot ? footerSlot({}) : [h('div', {
60429
60624
  class: 'vxe-tree-select--footer-button'
60430
60625
  }, [showTotalButoon ? h('div', {
60431
60626
  class: 'vxe-tree-select--total-btns'
60432
- }, getI18n('vxe.treeSelect.total', [selectVals.length])) : renderEmptyElement($xeTreeSelect)])]) : renderEmptyElement($xeTreeSelect)])] : [])]);
60627
+ }, getI18n('vxe.treeSelect.total', [selectVals.length])) : renderEmptyElement($xeTreeSelect), showCloseButton && multiple ? h('div', {
60628
+ class: 'vxe-tree-select--oper-btns'
60629
+ }, [h(packages_button, {
60630
+ props: {
60631
+ content: getI18n('vxe.select.close'),
60632
+ mode: 'text'
60633
+ },
60634
+ on: {
60635
+ click: $xeTreeSelect.closePanelEvent
60636
+ }
60637
+ })]) : renderEmptyElement($xeTreeSelect)])]) : renderEmptyElement($xeTreeSelect)])] : [])]);
60433
60638
  }
60434
60639
  },
60435
60640
  watch: {
@@ -60444,6 +60649,10 @@ function tree_select_createInternalData() {
60444
60649
  },
60445
60650
  mounted: function mounted() {
60446
60651
  var $xeTreeSelect = this;
60652
+ var props = $xeTreeSelect;
60653
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(props.autoClose)) {
60654
+ warnLog('vxe.error.delProp', ['auto-close', 'checked-closable | clear-closable']);
60655
+ }
60447
60656
  globalEvents.on($xeTreeSelect, 'mousewheel', $xeTreeSelect.handleGlobalMousewheelEvent);
60448
60657
  globalEvents.on($xeTreeSelect, 'mousedown', $xeTreeSelect.handleGlobalMousedownEvent);
60449
60658
  globalEvents.on($xeTreeSelect, 'blur', $xeTreeSelect.handleGlobalBlurEvent);