vxe-pc-ui 3.14.38 → 3.14.40

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 (220) hide show
  1. package/es/cascader/src/cascader.js +1253 -253
  2. package/es/cascader/src/util.js +7 -0
  3. package/es/cascader/style.css +200 -21
  4. package/es/cascader/style.min.css +1 -1
  5. package/es/input/src/input.js +2 -2
  6. package/es/language/ar-EG.js +7 -0
  7. package/es/language/de-DE.js +7 -0
  8. package/es/language/en-US.js +7 -0
  9. package/es/language/es-ES.js +7 -0
  10. package/es/language/fr-FR.js +7 -0
  11. package/es/language/hu-HU.js +7 -0
  12. package/es/language/hy-AM.js +7 -0
  13. package/es/language/id-ID.js +7 -0
  14. package/es/language/it-IT.js +7 -0
  15. package/es/language/ja-JP.js +7 -0
  16. package/es/language/ko-KR.js +7 -0
  17. package/es/language/ms-MY.js +7 -0
  18. package/es/language/nb-NO.js +7 -0
  19. package/es/language/pt-BR.js +7 -0
  20. package/es/language/ru-RU.js +7 -0
  21. package/es/language/th-TH.js +7 -0
  22. package/es/language/ug-CN.js +7 -0
  23. package/es/language/uk-UA.js +7 -0
  24. package/es/language/uz-UZ.js +7 -0
  25. package/es/language/vi-VN.js +7 -0
  26. package/es/language/zh-CHT.js +7 -0
  27. package/es/language/zh-CN.js +7 -0
  28. package/es/list/style.css +2 -1
  29. package/es/list/style.min.css +1 -1
  30. package/es/number-input/src/number-input.js +25 -10
  31. package/es/number-input/src/util.js +17 -5
  32. package/es/split/style.css +1 -1
  33. package/es/split/style.min.css +1 -1
  34. package/es/splitter/style.css +1 -1
  35. package/es/splitter/style.min.css +1 -1
  36. package/es/style.css +1 -1
  37. package/es/style.min.css +1 -1
  38. package/es/tree/src/tree.js +30 -24
  39. package/es/tree-select/src/tree-select.js +22 -16
  40. package/es/tree-select/style.css +1 -8
  41. package/es/tree-select/style.min.css +1 -1
  42. package/es/ui/index.js +10 -4
  43. package/es/ui/src/dom.js +3 -3
  44. package/es/ui/src/log.js +1 -1
  45. package/es/vxe-cascader/style.css +200 -21
  46. package/es/vxe-cascader/style.min.css +1 -1
  47. package/es/vxe-list/style.css +2 -1
  48. package/es/vxe-list/style.min.css +1 -1
  49. package/es/vxe-split/style.css +1 -1
  50. package/es/vxe-split/style.min.css +1 -1
  51. package/es/vxe-splitter/style.css +1 -1
  52. package/es/vxe-splitter/style.min.css +1 -1
  53. package/es/vxe-tree-select/style.css +1 -8
  54. package/es/vxe-tree-select/style.min.css +1 -1
  55. package/lib/cascader/src/cascader.js +1312 -247
  56. package/lib/cascader/src/cascader.min.js +1 -1
  57. package/lib/cascader/src/util.js +15 -0
  58. package/lib/cascader/src/util.min.js +1 -0
  59. package/lib/cascader/style/style.css +200 -21
  60. package/lib/cascader/style/style.min.css +1 -1
  61. package/lib/index.umd.js +2868 -1726
  62. package/lib/index.umd.min.js +1 -1
  63. package/lib/input/src/input.js +2 -2
  64. package/lib/input/src/input.min.js +1 -1
  65. package/lib/language/ar-EG.js +7 -0
  66. package/lib/language/ar-EG.min.js +1 -1
  67. package/lib/language/ar-EG.umd.js +7 -0
  68. package/lib/language/de-DE.js +7 -0
  69. package/lib/language/de-DE.min.js +1 -1
  70. package/lib/language/de-DE.umd.js +7 -0
  71. package/lib/language/en-US.js +7 -0
  72. package/lib/language/en-US.min.js +1 -1
  73. package/lib/language/en-US.umd.js +7 -0
  74. package/lib/language/es-ES.js +7 -0
  75. package/lib/language/es-ES.min.js +1 -1
  76. package/lib/language/es-ES.umd.js +7 -0
  77. package/lib/language/fr-FR.js +7 -0
  78. package/lib/language/fr-FR.min.js +1 -1
  79. package/lib/language/fr-FR.umd.js +7 -0
  80. package/lib/language/hu-HU.js +7 -0
  81. package/lib/language/hu-HU.min.js +1 -1
  82. package/lib/language/hu-HU.umd.js +7 -0
  83. package/lib/language/hy-AM.js +7 -0
  84. package/lib/language/hy-AM.min.js +1 -1
  85. package/lib/language/hy-AM.umd.js +7 -0
  86. package/lib/language/id-ID.js +7 -0
  87. package/lib/language/id-ID.min.js +1 -1
  88. package/lib/language/id-ID.umd.js +7 -0
  89. package/lib/language/it-IT.js +7 -0
  90. package/lib/language/it-IT.min.js +1 -1
  91. package/lib/language/it-IT.umd.js +7 -0
  92. package/lib/language/ja-JP.js +7 -0
  93. package/lib/language/ja-JP.min.js +1 -1
  94. package/lib/language/ja-JP.umd.js +7 -0
  95. package/lib/language/ko-KR.js +7 -0
  96. package/lib/language/ko-KR.min.js +1 -1
  97. package/lib/language/ko-KR.umd.js +7 -0
  98. package/lib/language/ms-MY.js +7 -0
  99. package/lib/language/ms-MY.min.js +1 -1
  100. package/lib/language/ms-MY.umd.js +7 -0
  101. package/lib/language/nb-NO.js +7 -0
  102. package/lib/language/nb-NO.min.js +1 -1
  103. package/lib/language/nb-NO.umd.js +7 -0
  104. package/lib/language/pt-BR.js +7 -0
  105. package/lib/language/pt-BR.min.js +1 -1
  106. package/lib/language/pt-BR.umd.js +7 -0
  107. package/lib/language/ru-RU.js +7 -0
  108. package/lib/language/ru-RU.min.js +1 -1
  109. package/lib/language/ru-RU.umd.js +7 -0
  110. package/lib/language/th-TH.js +7 -0
  111. package/lib/language/th-TH.min.js +1 -1
  112. package/lib/language/th-TH.umd.js +7 -0
  113. package/lib/language/ug-CN.js +7 -0
  114. package/lib/language/ug-CN.min.js +1 -1
  115. package/lib/language/ug-CN.umd.js +7 -0
  116. package/lib/language/uk-UA.js +7 -0
  117. package/lib/language/uk-UA.min.js +1 -1
  118. package/lib/language/uk-UA.umd.js +7 -0
  119. package/lib/language/uz-UZ.js +7 -0
  120. package/lib/language/uz-UZ.min.js +1 -1
  121. package/lib/language/uz-UZ.umd.js +7 -0
  122. package/lib/language/vi-VN.js +7 -0
  123. package/lib/language/vi-VN.min.js +1 -1
  124. package/lib/language/vi-VN.umd.js +7 -0
  125. package/lib/language/zh-CHT.js +7 -0
  126. package/lib/language/zh-CHT.min.js +1 -1
  127. package/lib/language/zh-CHT.umd.js +7 -0
  128. package/lib/language/zh-CN.js +7 -0
  129. package/lib/language/zh-CN.min.js +1 -1
  130. package/lib/language/zh-CN.umd.js +7 -0
  131. package/lib/list/style/style.css +2 -1
  132. package/lib/list/style/style.min.css +1 -1
  133. package/lib/number-input/src/number-input.js +32 -10
  134. package/lib/number-input/src/number-input.min.js +1 -1
  135. package/lib/number-input/src/util.js +16 -5
  136. package/lib/number-input/src/util.min.js +1 -1
  137. package/lib/split/style/style.css +1 -1
  138. package/lib/split/style/style.min.css +1 -1
  139. package/lib/splitter/style/style.css +1 -1
  140. package/lib/splitter/style/style.min.css +1 -1
  141. package/lib/style.css +1 -1
  142. package/lib/style.min.css +1 -1
  143. package/lib/tree/src/tree.js +30 -24
  144. package/lib/tree/src/tree.min.js +1 -1
  145. package/lib/tree-select/src/tree-select.js +22 -17
  146. package/lib/tree-select/src/tree-select.min.js +1 -1
  147. package/lib/tree-select/style/style.css +1 -8
  148. package/lib/tree-select/style/style.min.css +1 -1
  149. package/lib/ui/index.js +10 -4
  150. package/lib/ui/index.min.js +1 -1
  151. package/lib/ui/src/dom.js +6 -4
  152. package/lib/ui/src/dom.min.js +1 -1
  153. package/lib/ui/src/log.js +1 -1
  154. package/lib/ui/src/log.min.js +1 -1
  155. package/lib/vxe-cascader/style/style.css +200 -21
  156. package/lib/vxe-cascader/style/style.min.css +1 -1
  157. package/lib/vxe-list/style/style.css +2 -1
  158. package/lib/vxe-list/style/style.min.css +1 -1
  159. package/lib/vxe-split/style/style.css +1 -1
  160. package/lib/vxe-split/style/style.min.css +1 -1
  161. package/lib/vxe-splitter/style/style.css +1 -1
  162. package/lib/vxe-splitter/style/style.min.css +1 -1
  163. package/lib/vxe-tree-select/style/style.css +1 -8
  164. package/lib/vxe-tree-select/style/style.min.css +1 -1
  165. package/package.json +2 -2
  166. package/packages/cascader/src/cascader.ts +1293 -280
  167. package/packages/cascader/src/util.ts +9 -0
  168. package/packages/input/src/input.ts +2 -2
  169. package/packages/language/ar-EG.ts +7 -0
  170. package/packages/language/de-DE.ts +7 -0
  171. package/packages/language/en-US.ts +7 -0
  172. package/packages/language/es-ES.ts +7 -0
  173. package/packages/language/fr-FR.ts +7 -0
  174. package/packages/language/hu-HU.ts +7 -0
  175. package/packages/language/hy-AM.ts +7 -0
  176. package/packages/language/id-ID.ts +7 -0
  177. package/packages/language/it-IT.ts +7 -0
  178. package/packages/language/ja-JP.ts +7 -0
  179. package/packages/language/ko-KR.ts +7 -0
  180. package/packages/language/ms-MY.ts +7 -0
  181. package/packages/language/nb-NO.ts +7 -0
  182. package/packages/language/pt-BR.ts +7 -0
  183. package/packages/language/ru-RU.ts +7 -0
  184. package/packages/language/th-TH.ts +7 -0
  185. package/packages/language/ug-CN.ts +7 -0
  186. package/packages/language/uk-UA.ts +7 -0
  187. package/packages/language/uz-UZ.ts +7 -0
  188. package/packages/language/vi-VN.ts +7 -0
  189. package/packages/language/zh-CHT.ts +7 -0
  190. package/packages/language/zh-CN.ts +7 -0
  191. package/packages/number-input/src/number-input.ts +25 -12
  192. package/packages/number-input/src/util.ts +18 -5
  193. package/packages/tree/src/tree.ts +33 -28
  194. package/packages/tree-select/src/tree-select.ts +23 -16
  195. package/packages/ui/index.ts +10 -3
  196. package/packages/ui/src/dom.ts +4 -3
  197. package/styles/components/cascader.scss +116 -21
  198. package/styles/components/list.scss +2 -1
  199. package/styles/components/splitter.scss +3 -1
  200. package/styles/components/tree-select.scss +1 -8
  201. package/styles/helpers/placement.scss +2 -2
  202. package/styles/theme/base.scss +7 -0
  203. package/styles/theme/dark.scss +9 -0
  204. package/styles/theme/light.scss +9 -0
  205. package/styles/variable.scss +8 -0
  206. package/types/components/cascader.d.ts +169 -56
  207. package/types/components/number-input.d.ts +12 -1
  208. package/types/ui/global-icon.d.ts +5 -0
  209. /package/es/icon/{iconfont.1781439381800.ttf → iconfont.1781658322623.ttf} +0 -0
  210. /package/es/icon/{iconfont.1781439381800.woff → iconfont.1781658322623.woff} +0 -0
  211. /package/es/icon/{iconfont.1781439381800.woff2 → iconfont.1781658322623.woff2} +0 -0
  212. /package/es/{iconfont.1781439381800.ttf → iconfont.1781658322623.ttf} +0 -0
  213. /package/es/{iconfont.1781439381800.woff → iconfont.1781658322623.woff} +0 -0
  214. /package/es/{iconfont.1781439381800.woff2 → iconfont.1781658322623.woff2} +0 -0
  215. /package/lib/icon/style/{iconfont.1781439381800.ttf → iconfont.1781658322623.ttf} +0 -0
  216. /package/lib/icon/style/{iconfont.1781439381800.woff → iconfont.1781658322623.woff} +0 -0
  217. /package/lib/icon/style/{iconfont.1781439381800.woff2 → iconfont.1781658322623.woff2} +0 -0
  218. /package/lib/{iconfont.1781439381800.ttf → iconfont.1781658322623.ttf} +0 -0
  219. /package/lib/{iconfont.1781439381800.woff → iconfont.1781658322623.woff} +0 -0
  220. /package/lib/{iconfont.1781439381800.woff2 → iconfont.1781658322623.woff2} +0 -0
@@ -653,7 +653,7 @@ export default {
653
653
  internalData,
654
654
  crossTreeDragNodeInfo: crossTreeDragNodeGlobal,
655
655
  hFlag: 0,
656
- rootConf: 0
656
+ dataFlag: 0
657
657
  };
658
658
  },
659
659
  computed: Object.assign(Object.assign({}, {}), { computeTitleField() {
@@ -794,6 +794,9 @@ export default {
794
794
  },
795
795
  getNodeId(node) {
796
796
  const $xeTree = this;
797
+ if (!node) {
798
+ return '';
799
+ }
797
800
  const valueField = $xeTree.computeValueField;
798
801
  const nodeKey = XEUtils.get(node, valueField);
799
802
  return enNodeValue(nodeKey);
@@ -1021,7 +1024,7 @@ export default {
1021
1024
  const valueField = $xeTree.computeValueField;
1022
1025
  const childrenField = $xeTree.computeChildrenField;
1023
1026
  const keyMaps = {};
1024
- XEUtils.eachTree(treeFullData, (item, index, items, path, parent, nodes) => {
1027
+ XEUtils.eachTree(treeFullData, (item, index, items, path, parenItem, nodes) => {
1025
1028
  let nodeid = $xeTree.getNodeId(item);
1026
1029
  if (!nodeid) {
1027
1030
  nodeid = getNodeUniqueId();
@@ -1033,7 +1036,7 @@ export default {
1033
1036
  $index: -1,
1034
1037
  _index: -1,
1035
1038
  items,
1036
- parent,
1039
+ parent: parenItem,
1037
1040
  nodes,
1038
1041
  level: nodes.length - 1,
1039
1042
  treeIndex: index,
@@ -1052,7 +1055,7 @@ export default {
1052
1055
  const childrenField = $xeTree.computeChildrenField;
1053
1056
  const mapChildrenField = $xeTree.computeMapChildrenField;
1054
1057
  let vtIndex = 0;
1055
- XEUtils.eachTree(afterTreeList, (item, index, items) => {
1058
+ XEUtils.eachTree(afterTreeList, (item, index, items, path, parenItem, nodes) => {
1056
1059
  const nodeid = $xeTree.getNodeId(item);
1057
1060
  const nodeItem = nodeMaps[nodeid];
1058
1061
  if (nodeItem) {
@@ -1067,9 +1070,9 @@ export default {
1067
1070
  $index: -1,
1068
1071
  _index: vtIndex,
1069
1072
  items,
1070
- parent,
1071
- nodes: [],
1072
- level: 0,
1073
+ parent: parenItem,
1074
+ nodes,
1075
+ level: nodes.length - 1,
1073
1076
  treeIndex: index,
1074
1077
  lineCount: 0,
1075
1078
  treeLoaded: false
@@ -2592,7 +2595,7 @@ export default {
2592
2595
  const extraSlot = slots.extra;
2593
2596
  const isExpand = updateExpandedFlag && treeExpandedMaps[nodeid];
2594
2597
  const nodeItem = nodeMaps[nodeid] || {};
2595
- const nodeValue = XEUtils.get(node, titleField);
2598
+ const nodeTitle = XEUtils.get(node, titleField);
2596
2599
  const nLevel = nodeItem.level;
2597
2600
  let isRadioChecked = false;
2598
2601
  if (showRadio) {
@@ -2691,7 +2694,7 @@ export default {
2691
2694
  }, [
2692
2695
  h('div', {
2693
2696
  class: 'vxe-tree--node-item-title'
2694
- }, titleSlot ? getSlotVNs(titleSlot(nParams)) : `${nodeValue}`),
2697
+ }, titleSlot ? getSlotVNs(titleSlot(nParams)) : `${nodeTitle}`),
2695
2698
  extraSlot
2696
2699
  ? h('div', {
2697
2700
  class: 'vxe-tree--node-item-extra'
@@ -2867,9 +2870,22 @@ export default {
2867
2870
  }
2868
2871
  },
2869
2872
  watch: {
2870
- data(val) {
2873
+ data() {
2874
+ const $xeTree = this;
2875
+ $xeTree.dataFlag++;
2876
+ },
2877
+ rootParentValue() {
2871
2878
  const $xeTree = this;
2872
- $xeTree.loadData(val || []);
2879
+ $xeTree.dataFlag++;
2880
+ },
2881
+ rootValues() {
2882
+ const $xeTree = this;
2883
+ $xeTree.dataFlag++;
2884
+ },
2885
+ dataFlag() {
2886
+ const $xeTree = this;
2887
+ const props = $xeTree;
2888
+ $xeTree.loadData(props.data || []);
2873
2889
  },
2874
2890
  checkNodeKey(nodeKey) {
2875
2891
  const $xeTree = this;
@@ -2900,19 +2916,6 @@ export default {
2900
2916
  hFlag() {
2901
2917
  const $xeTree = this;
2902
2918
  $xeTree.recalculate();
2903
- },
2904
- rootParentValue() {
2905
- const $xeTree = this;
2906
- $xeTree.rootConf++;
2907
- },
2908
- rootValues() {
2909
- const $xeTree = this;
2910
- $xeTree.rootConf++;
2911
- },
2912
- rootConf() {
2913
- const $xeTree = this;
2914
- const props = $xeTree;
2915
- $xeTree.loadData(props.data || []);
2916
2919
  }
2917
2920
  },
2918
2921
  created() {
@@ -2934,6 +2937,9 @@ export default {
2934
2937
  if (dragOpts.isCrossTreeDrag) {
2935
2938
  errLog('vxe.error.notProp', ['drag-config.isCrossTreeDrag']);
2936
2939
  }
2940
+ // if (valueField) {
2941
+ // errLog('vxe.error.delProp', ['value-field', 'value-field'])
2942
+ // }
2937
2943
  const VxeUIContextMenu = VxeUI.getComponent('VxeContextMenu');
2938
2944
  if (menuConfig && !VxeUIContextMenu) {
2939
2945
  errLog('vxe.error.reqComp', ['vxe-context-menu']);
@@ -214,12 +214,12 @@ export default {
214
214
  const $xeModal = $xeTreeSelect.$xeModal;
215
215
  const $xeDrawer = $xeTreeSelect.$xeDrawer;
216
216
  const $xeForm = $xeTreeSelect.$xeForm;
217
- const { transfer } = props;
218
217
  const popupOpts = $xeTreeSelect.computePopupOpts;
219
- if (XEUtils.isBoolean(popupOpts.transfer)) {
220
- return popupOpts.transfer;
218
+ const { transfer } = popupOpts;
219
+ if (XEUtils.isBoolean(transfer)) {
220
+ return transfer;
221
221
  }
222
- if (transfer === null) {
222
+ if (props.transfer === null) {
223
223
  const globalTransfer = getConfig().treeSelect.transfer;
224
224
  if (XEUtils.isBoolean(globalTransfer)) {
225
225
  return globalTransfer;
@@ -228,7 +228,7 @@ export default {
228
228
  return true;
229
229
  }
230
230
  }
231
- return transfer;
231
+ return props.transfer;
232
232
  },
233
233
  computePopupOpts() {
234
234
  const $xeTreeSelect = this;
@@ -320,16 +320,22 @@ export default {
320
320
  const treeOpts = $xeTreeSelect.computeTreeOpts;
321
321
  return Object.assign({}, treeOpts.filterConfig, props.filterConfig);
322
322
  },
323
+ computeSelectVals() {
324
+ const $xeTreeSelect = this;
325
+ const props = $xeTreeSelect;
326
+ const { value: modelValue } = props;
327
+ return XEUtils.eqNull(modelValue) ? [] : (XEUtils.isArray(modelValue) ? modelValue : [modelValue]);
328
+ },
323
329
  computeSelectLabel() {
324
330
  const $xeTreeSelect = this;
325
331
  const props = $xeTreeSelect;
326
332
  const reactData = $xeTreeSelect.reactData;
327
333
  const internalData = $xeTreeSelect.internalData;
328
- const { value: modelValue, showFullLabel } = props;
334
+ const { showFullLabel } = props;
329
335
  const { fullOptFlag, lazyOptFlag } = reactData;
330
336
  const { fullNodeMaps, lazyNodeMaps } = internalData;
331
337
  const labelField = $xeTreeSelect.computeLabelField;
332
- const selectVals = XEUtils.eqNull(modelValue) ? [] : (XEUtils.isArray(modelValue) ? modelValue : [modelValue]);
338
+ const selectVals = $xeTreeSelect.computeSelectVals;
333
339
  return selectVals.map(val => {
334
340
  const cacheItem = fullNodeMaps[val];
335
341
  if (fullOptFlag && cacheItem) {
@@ -414,12 +420,12 @@ export default {
414
420
  nodeid = getOptUniqueId();
415
421
  }
416
422
  if (keyMaps[nodeid]) {
417
- errLog('vxe.error.repeatKey', [`[tree-select] ${nodeKeyField}`, nodeid]);
423
+ errLog('vxe.error.repeatKey', [nodeKeyField, nodeid]);
418
424
  }
419
425
  keyMaps[nodeid] = true;
420
426
  const value = item[valueField];
421
427
  if (nodeMaps[value]) {
422
- errLog('vxe.error.repeatKey', [`[tree-select] ${valueField}`, value]);
428
+ errLog('vxe.error.repeatKey', [valueField, value]);
423
429
  }
424
430
  nodeMaps[value] = {
425
431
  item,
@@ -427,7 +433,7 @@ export default {
427
433
  items,
428
434
  parent: parentItem,
429
435
  nodes,
430
- fullLabel: nodes.map(item => item[labelField]).join((separator || '/') + ' ')
436
+ fullLabel: nodes.map(item => item[labelField]).join((separator || ' / '))
431
437
  };
432
438
  };
433
439
  if (optList) {
@@ -510,7 +516,7 @@ export default {
510
516
  handleStyle();
511
517
  return $xeTreeSelect.$nextTick().then(handleStyle);
512
518
  },
513
- showOptionPanel() {
519
+ showOptionPanel(evnt) {
514
520
  const $xeTreeSelect = this;
515
521
  const props = $xeTreeSelect;
516
522
  const reactData = $xeTreeSelect.reactData;
@@ -547,7 +553,7 @@ export default {
547
553
  }, 10);
548
554
  $xeTreeSelect.updateZindex();
549
555
  $xeTreeSelect.updatePlacement();
550
- $xeTreeSelect.dispatchEvent('visible-change', { visible: true }, null);
556
+ $xeTreeSelect.dispatchEvent('visible-change', { visible: true }, evnt || null);
551
557
  }
552
558
  },
553
559
  hideOptionPanel(evnt) {
@@ -597,7 +603,7 @@ export default {
597
603
  $tree.setAllCheckboxNode(true).then(({ checkNodeKeys, checkNodes }) => {
598
604
  $xeTreeSelect.changeEvent($event, checkNodeKeys, checkNodes[0]);
599
605
  $xeTreeSelect.dispatchEvent('all-change', { value: checkNodeKeys }, $event);
600
- if (XEUtils.isBoolean(autoClose) ? autoClose : checkedClosable) {
606
+ if (XEUtils.isBoolean(checkedClosable) ? checkedClosable : autoClose) {
601
607
  $xeTreeSelect.hideOptionPanel($event);
602
608
  }
603
609
  });
@@ -613,7 +619,7 @@ export default {
613
619
  if ($tree) {
614
620
  const value = multiple ? [] : null;
615
621
  $tree.clearCheckboxNode().then(() => {
616
- if (XEUtils.isBoolean(autoClose) ? autoClose : clearClosable) {
622
+ if (XEUtils.isBoolean(clearClosable) ? clearClosable : autoClose) {
617
623
  $xeTreeSelect.hideOptionPanel($event);
618
624
  }
619
625
  });
@@ -715,7 +721,7 @@ export default {
715
721
  if (!isDisabled) {
716
722
  if (!reactData.visiblePanel) {
717
723
  reactData.triggerFocusPanel = true;
718
- $xeTreeSelect.showOptionPanel();
724
+ $xeTreeSelect.showOptionPanel(evnt);
719
725
  setTimeout(() => {
720
726
  reactData.triggerFocusPanel = false;
721
727
  }, 150);
@@ -769,7 +775,7 @@ export default {
769
775
  $xeTreeSelect.hideOptionPanel($event);
770
776
  }
771
777
  else {
772
- $xeTreeSelect.showOptionPanel();
778
+ $xeTreeSelect.showOptionPanel($event);
773
779
  }
774
780
  }
775
781
  },
@@ -85,6 +85,7 @@
85
85
 
86
86
  .vxe-tree-select--panel-search {
87
87
  display: block;
88
+ padding: var(--vxe-ui-current-padding);
88
89
  }
89
90
  .vxe-tree-select--panel-search .vxe-tree-select-search--input {
90
91
  width: 100%;
@@ -132,14 +133,6 @@
132
133
  pointer-events: auto;
133
134
  }
134
135
 
135
- .vxe-tree-select--panel-search {
136
- display: block;
137
- padding: var(--vxe-ui-current-padding);
138
- }
139
- .vxe-tree-select--panel-search .vxe-tree-select-search--input {
140
- width: 100%;
141
- }
142
-
143
136
  .vxe-tree-select--panel-header {
144
137
  border-bottom: 1px solid var(--vxe-ui-base-popup-border-color);
145
138
  }
@@ -1 +1 @@
1
- .vxe-tree-select{position:relative;display:inline-block;width:180px;color:var(--vxe-ui-font-color);text-align:left}.vxe-tree-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-tree-select.is--filterable .vxe-tree-select-tree--wrapper{padding-top:0}.vxe-tree-select.is--filterable .vxe-tree-select--panel-header{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-tree-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-tree-select>.vxe-input{width:100%}.vxe-tree-select>.vxe-input .vxe-input--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-tree-select.is--active:not(.is--filter)>.vxe-input{border-color:var(--vxe-ui-font-primary-color)}.vxe-tree-select--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-tree-select--panel{pointer-events:none;display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);text-align:left}.vxe-tree-select--panel:not(.is--transfer){min-width:100%}.vxe-tree-select--panel.is--transfer{position:fixed}.vxe-tree-select--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-tree-select--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-tree-select--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-tree-select--panel.ani--enter>div::after{display:none}.vxe-tree-select--panel>div::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-tree-select--panel-search{display:block}.vxe-tree-select--panel-search .vxe-tree-select-search--input{width:100%}.vxe-tree-select--footer-button,.vxe-tree-select--header-button{display:flex;flex-direction:row;white-space:nowrap}.vxe-tree-select--total-btns{padding-left:var(--vxe-ui-current-padding);flex-shrink:0}.vxe-tree-select--oper-btns{display:flex;flex-direction:row;flex-grow:1;justify-content:right}.vxe-tree-select--expand-btns,.vxe-tree-select--footer-button,.vxe-tree-select--selected-btns{display:flex;flex-direction:row;flex-grow:1}.vxe-tree-select--selected-btns+.vxe-tree-select--expand-btns{padding-left:2.2em}.vxe-tree-select--panel-wrapper{display:flex;flex-direction:column;position:relative;border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);box-shadow:var(--vxe-ui-base-popup-box-shadow);background-color:var(--vxe-ui-layout-background-color);pointer-events:auto}.vxe-tree-select--panel-search{display:block;padding:var(--vxe-ui-current-padding)}.vxe-tree-select--panel-search .vxe-tree-select-search--input{width:100%}.vxe-tree-select--panel-header{border-bottom:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select--panel-footer{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select--panel-footer,.vxe-tree-select--panel-header{padding:4px 0}.vxe-tree-select-tree--wrapper{position:relative;overflow:auto;padding:var(--vxe-ui-current-padding) 0;outline:0}.vxe-tree-select--tree{width:100%}.vxe-tree-select--tree .vxe-tree--node-item.is-checkbox--checked>.vxe-tree--node-item-inner,.vxe-tree-select--tree .vxe-tree--node-item.is-radio--checked>.vxe-tree--node-item-inner{color:var(--vxe-ui-font-primary-color)}.vxe-tree-select--tree .vxe-tree--node-item-inner{cursor:pointer}.vxe-tree-select,.vxe-tree-select--panel{--vxe-ui-current-padding:var(--vxe-ui-layout-padding-default);--vxe-ui-tree-node-root-indent:var(--vxe-ui-current-padding)}.vxe-tree-select--panel.size--mini,.vxe-tree-select--panel.size--small,.vxe-tree-select.size--mini,.vxe-tree-select.size--small{--vxe-ui-current-padding:var(--vxe-ui-layout-padding-half)}.vxe-tree-select,.vxe-tree-select--panel{font-size:var(--vxe-ui-font-size-default)}.vxe-tree-select--panel.size--medium,.vxe-tree-select.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-tree-select--panel.size--small,.vxe-tree-select.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-tree-select--panel.size--mini,.vxe-tree-select.size--mini{font-size:var(--vxe-ui-font-size-mini)}
1
+ .vxe-tree-select{position:relative;display:inline-block;width:180px;color:var(--vxe-ui-font-color);text-align:left}.vxe-tree-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-tree-select.is--filterable .vxe-tree-select-tree--wrapper{padding-top:0}.vxe-tree-select.is--filterable .vxe-tree-select--panel-header{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-tree-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-tree-select>.vxe-input{width:100%}.vxe-tree-select>.vxe-input .vxe-input--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-tree-select.is--active:not(.is--filter)>.vxe-input{border-color:var(--vxe-ui-font-primary-color)}.vxe-tree-select--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-tree-select--panel{pointer-events:none;display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);text-align:left}.vxe-tree-select--panel:not(.is--transfer){min-width:100%}.vxe-tree-select--panel.is--transfer{position:fixed}.vxe-tree-select--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-tree-select--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-tree-select--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-tree-select--panel.ani--enter>div::after{display:none}.vxe-tree-select--panel>div::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-tree-select--panel-search{display:block;padding:var(--vxe-ui-current-padding)}.vxe-tree-select--panel-search .vxe-tree-select-search--input{width:100%}.vxe-tree-select--footer-button,.vxe-tree-select--header-button{display:flex;flex-direction:row;white-space:nowrap}.vxe-tree-select--total-btns{padding-left:var(--vxe-ui-current-padding);flex-shrink:0}.vxe-tree-select--oper-btns{display:flex;flex-direction:row;flex-grow:1;justify-content:right}.vxe-tree-select--expand-btns,.vxe-tree-select--footer-button,.vxe-tree-select--selected-btns{display:flex;flex-direction:row;flex-grow:1}.vxe-tree-select--selected-btns+.vxe-tree-select--expand-btns{padding-left:2.2em}.vxe-tree-select--panel-wrapper{display:flex;flex-direction:column;position:relative;border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);box-shadow:var(--vxe-ui-base-popup-box-shadow);background-color:var(--vxe-ui-layout-background-color);pointer-events:auto}.vxe-tree-select--panel-header{border-bottom:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select--panel-footer{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select--panel-footer,.vxe-tree-select--panel-header{padding:4px 0}.vxe-tree-select-tree--wrapper{position:relative;overflow:auto;padding:var(--vxe-ui-current-padding) 0;outline:0}.vxe-tree-select--tree{width:100%}.vxe-tree-select--tree .vxe-tree--node-item.is-checkbox--checked>.vxe-tree--node-item-inner,.vxe-tree-select--tree .vxe-tree--node-item.is-radio--checked>.vxe-tree--node-item-inner{color:var(--vxe-ui-font-primary-color)}.vxe-tree-select--tree .vxe-tree--node-item-inner{cursor:pointer}.vxe-tree-select,.vxe-tree-select--panel{--vxe-ui-current-padding:var(--vxe-ui-layout-padding-default);--vxe-ui-tree-node-root-indent:var(--vxe-ui-current-padding)}.vxe-tree-select--panel.size--mini,.vxe-tree-select--panel.size--small,.vxe-tree-select.size--mini,.vxe-tree-select.size--small{--vxe-ui-current-padding:var(--vxe-ui-layout-padding-half)}.vxe-tree-select,.vxe-tree-select--panel{font-size:var(--vxe-ui-font-size-default)}.vxe-tree-select--panel.size--medium,.vxe-tree-select.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-tree-select--panel.size--small,.vxe-tree-select.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-tree-select--panel.size--mini,.vxe-tree-select.size--mini{font-size:var(--vxe-ui-font-size-mini)}
package/es/ui/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { VxeUI, setConfig, setIcon } from '@vxe-ui/core';
2
2
  import { dynamicApp } from '../dynamics';
3
3
  import { warnLog } from './src/log';
4
- export const version = "3.14.38";
4
+ export const version = "3.14.40";
5
5
  VxeUI.uiVersion = version;
6
6
  VxeUI.dynamicApp = dynamicApp;
7
7
  export function config(options) {
@@ -61,7 +61,10 @@ setConfig({
61
61
  },
62
62
  carouselItem: {},
63
63
  cascader: {
64
- autoClose: true
64
+ showFullLabel: true,
65
+ treeConfig: {
66
+ showIcon: true
67
+ }
65
68
  },
66
69
  checkbox: {},
67
70
  checkboxButton: {},
@@ -415,7 +418,6 @@ setConfig({
415
418
  }
416
419
  },
417
420
  treeSelect: {
418
- autoClose: null,
419
421
  // separator: '/',
420
422
  virtualYConfig: {
421
423
  enabled: true,
@@ -653,7 +655,11 @@ setIcon({
653
655
  BACKTOP_TOP: iconPrefix + 'top',
654
656
  // context-menu
655
657
  CONTEXT_MENU_OPTION_LOADING: iconPrefix + 'spinner roll',
656
- CONTEXT_MENU_CHILDREN: iconPrefix + 'arrow-right'
658
+ CONTEXT_MENU_CHILDREN: iconPrefix + 'arrow-right',
659
+ // cascader
660
+ CASCADER_NODE_OPEN: iconPrefix + 'arrow-right',
661
+ CASCADER_NODE_CLOSE: iconPrefix + 'arrow-right',
662
+ CASCADER_NODE_LOADED: iconPrefix + 'spinner roll'
657
663
  });
658
664
  export * from '@vxe-ui/core';
659
665
  export default VxeUI;
package/es/ui/src/dom.js CHANGED
@@ -143,7 +143,7 @@ export function isNodeElement(elem) {
143
143
  return elem && elem.nodeType === 1;
144
144
  }
145
145
  export function updatePanelPlacement(targetElem, panelElem, options) {
146
- const { placement, defaultPlacement, teleportTo, marginSize } = Object.assign({ teleportTo: false, marginSize: 18 }, options);
146
+ const { placement, defaultPlacement, teleportTo, marginSize, isMinWidth } = Object.assign({ teleportTo: false, marginSize: 18, isMinWidth: true }, options);
147
147
  let panelPlacement = 'bottom';
148
148
  let top = '';
149
149
  let bottom = '';
@@ -214,7 +214,7 @@ export function updatePanelPlacement(targetElem, panelElem, options) {
214
214
  else if (!placement) {
215
215
  // 如果下面不够放,则向上
216
216
  top = targetHeight;
217
- if (targetRect.top + targetRect.height + marginSize > visibleHeight) {
217
+ if (targetRect.top + targetHeight + panelHeight + marginSize > visibleHeight) {
218
218
  // 如果上面不够放,则向下(优先)
219
219
  if (targetRect.top - targetHeight - panelHeight > marginSize) {
220
220
  panelPlacement = 'top';
@@ -240,7 +240,7 @@ export function updatePanelPlacement(targetElem, panelElem, options) {
240
240
  if (XEUtils.isNumber(right)) {
241
241
  stys.right = toCssUnit(right);
242
242
  }
243
- if (XEUtils.isNumber(minWidth)) {
243
+ if (isMinWidth && XEUtils.isNumber(minWidth)) {
244
244
  stys.minWidth = toCssUnit(minWidth);
245
245
  }
246
246
  }
package/es/ui/src/log.js CHANGED
@@ -1,4 +1,4 @@
1
1
  import { log } from '@vxe-ui/core';
2
- const version = `ui v${"3.14.38"}`;
2
+ const version = `ui v${"3.14.40"}`;
3
3
  export const warnLog = log.create('warn', version);
4
4
  export const errLog = log.create('error', version);
@@ -4,11 +4,12 @@
4
4
  width: 180px;
5
5
  color: var(--vxe-ui-font-color);
6
6
  text-align: left;
7
+ --vxe-ui-cascader-chunk-size: 1;
7
8
  }
8
9
  .vxe-cascader > .vxe-input .vxe-input--inner {
9
10
  cursor: pointer;
10
11
  }
11
- .vxe-cascader.is--filterable .vxe-cascader-tree--wrapper {
12
+ .vxe-cascader.is--filterable .vxe-cascader-chunk--wrapper {
12
13
  padding-top: 0;
13
14
  }
14
15
  .vxe-cascader.is--filterable .vxe-cascader--panel-header {
@@ -46,7 +47,7 @@
46
47
  text-align: left;
47
48
  }
48
49
  .vxe-cascader--panel:not(.is--transfer) {
49
- min-width: 100%;
50
+ min-width: var(--vxe-ui-cascader-node-width);
50
51
  }
51
52
  .vxe-cascader--panel.is--transfer {
52
53
  position: fixed;
@@ -85,33 +86,44 @@
85
86
 
86
87
  .vxe-cascader--panel-search {
87
88
  display: block;
89
+ padding: var(--vxe-ui-current-padding);
90
+ width: calc(var(--vxe-ui-cascader-node-width) * var(--vxe-ui-cascader-chunk-size));
88
91
  }
89
92
  .vxe-cascader--panel-search .vxe-cascader-search--input {
90
93
  width: 100%;
91
94
  }
92
95
 
93
- .vxe-cascader--header-button {
96
+ .vxe-cascader--header-button,
97
+ .vxe-cascader--footer-button {
94
98
  display: flex;
95
99
  flex-direction: row;
96
100
  white-space: nowrap;
97
101
  }
98
102
 
99
- .vxe-cascader--header-total {
100
- display: flex;
101
- flex-direction: row;
102
- align-items: center;
103
- justify-content: center;
103
+ .vxe-cascader--total-btns {
104
+ padding-left: var(--vxe-ui-current-padding);
104
105
  flex-shrink: 0;
105
- padding-left: 0.8em;
106
106
  }
107
107
 
108
- .vxe-cascader--header-btns {
108
+ .vxe-cascader--oper-btns {
109
109
  display: flex;
110
110
  flex-direction: row;
111
111
  flex-grow: 1;
112
112
  justify-content: right;
113
113
  }
114
114
 
115
+ .vxe-cascader--footer-button,
116
+ .vxe-cascader--selected-btns,
117
+ .vxe-cascader--expand-btns {
118
+ display: flex;
119
+ flex-direction: row;
120
+ flex-grow: 1;
121
+ }
122
+
123
+ .vxe-cascader--selected-btns + .vxe-cascader--expand-btns {
124
+ padding-left: 2.2em;
125
+ }
126
+
115
127
  .vxe-cascader--panel-wrapper {
116
128
  display: flex;
117
129
  flex-direction: column;
@@ -123,14 +135,6 @@
123
135
  pointer-events: auto;
124
136
  }
125
137
 
126
- .vxe-cascader--panel-search {
127
- display: block;
128
- padding: var(--vxe-ui-layout-padding-default);
129
- }
130
- .vxe-cascader--panel-search .vxe-cascader-search--input {
131
- width: 100%;
132
- }
133
-
134
138
  .vxe-cascader--panel-header {
135
139
  border-bottom: 1px solid var(--vxe-ui-base-popup-border-color);
136
140
  }
@@ -144,13 +148,188 @@
144
148
  padding: 4px 0;
145
149
  }
146
150
 
147
- .vxe-cascader-tree--wrapper {
151
+ .vxe-cascader--checkbox-option {
152
+ padding-right: 0.4em;
153
+ }
154
+ .vxe-cascader--checkbox-option {
155
+ cursor: pointer;
156
+ }
157
+ .vxe-cascader--checkbox-option .vxe-checkbox--icon {
158
+ font-size: 1.22em;
159
+ }
160
+ .vxe-cascader--checkbox-option .vxe-checkbox--icon {
161
+ color: var(--vxe-ui-input-border-color);
162
+ vertical-align: middle;
163
+ font-weight: 700;
164
+ -webkit-user-select: none;
165
+ -moz-user-select: none;
166
+ -ms-user-select: none;
167
+ user-select: none;
168
+ }
169
+ .vxe-cascader--checkbox-option.is--checked, .vxe-cascader--checkbox-option.is--indeterminate {
170
+ color: var(--vxe-ui-font-primary-color);
171
+ }
172
+ .vxe-cascader--checkbox-option.is--checked .vxe-checkbox--icon, .vxe-cascader--checkbox-option.is--indeterminate .vxe-checkbox--icon {
173
+ color: var(--vxe-ui-font-primary-color);
174
+ }
175
+ .vxe-cascader--checkbox-option:not(.is--disabled):hover .vxe-checkbox--icon {
176
+ color: var(--vxe-ui-font-primary-color);
177
+ }
178
+ .vxe-cascader--checkbox-option.is--hidden {
179
+ cursor: default;
180
+ }
181
+ .vxe-cascader--checkbox-option.is--readonly {
182
+ cursor: auto;
183
+ }
184
+ .vxe-cascader--checkbox-option.is--disabled {
185
+ color: var(--vxe-ui-font-disabled-color);
186
+ cursor: not-allowed;
187
+ }
188
+ .vxe-cascader--checkbox-option.is--disabled .vxe-checkbox--icon {
189
+ color: var(--vxe-ui-input-disabled-color);
190
+ }
191
+ .vxe-cascader--checkbox-option .vxe-checkbox--label {
192
+ padding-left: 0.5em;
193
+ vertical-align: middle;
194
+ }
195
+
196
+ .vxe-cascader--radio-option {
197
+ padding-right: 0.4em;
198
+ }
199
+ .vxe-cascader--radio-option {
200
+ cursor: pointer;
201
+ }
202
+ .vxe-cascader--radio-option .vxe-radio--icon {
203
+ font-size: 1.26em;
204
+ }
205
+ .vxe-cascader--radio-option .vxe-radio--icon {
206
+ color: var(--vxe-ui-input-border-color);
207
+ border-radius: 50%;
208
+ vertical-align: middle;
209
+ font-weight: 700;
210
+ -webkit-user-select: none;
211
+ -moz-user-select: none;
212
+ -ms-user-select: none;
213
+ user-select: none;
214
+ }
215
+ .vxe-cascader--radio-option.is--checked {
216
+ color: var(--vxe-ui-font-primary-color);
217
+ }
218
+ .vxe-cascader--radio-option.is--checked .vxe-radio--icon {
219
+ color: var(--vxe-ui-font-primary-color);
220
+ }
221
+ .vxe-cascader--radio-option:not(.is--disabled):hover .vxe-radio--icon {
222
+ color: var(--vxe-ui-font-primary-color);
223
+ }
224
+ .vxe-cascader--radio-option.is--readonly {
225
+ cursor: auto;
226
+ }
227
+ .vxe-cascader--radio-option.is--disabled {
228
+ color: var(--vxe-ui-font-disabled-color);
229
+ cursor: not-allowed;
230
+ }
231
+ .vxe-cascader--radio-option.is--disabled .vxe-radio--icon {
232
+ color: var(--vxe-ui-input-disabled-color);
233
+ }
234
+ .vxe-cascader--radio-option .vxe-radio--label {
235
+ padding-left: 0.5em;
236
+ vertical-align: middle;
237
+ }
238
+
239
+ .vxe-cascader--panel-body {
240
+ border-top: 1px solid var(--vxe-ui-base-popup-border-color);
241
+ }
242
+
243
+ .vxe-cascader-chunk--wrapper {
148
244
  position: relative;
149
- overflow: auto;
150
- padding: var(--vxe-ui-layout-padding-default);
245
+ display: flex;
246
+ flex-direction: row;
151
247
  outline: 0;
152
248
  }
153
249
 
250
+ .vxe-cascader-chunk--item-wrapper {
251
+ flex-shrink: 0;
252
+ border-left: 1px solid var(--vxe-ui-base-popup-border-color);
253
+ padding: var(--vxe-ui-current-padding) 0;
254
+ }
255
+ .vxe-cascader-chunk--item-wrapper:first-child {
256
+ border-left: 0;
257
+ }
258
+ .vxe-cascader-chunk--item-wrapper .vxe-list .vxe-list--virtual-wrapper {
259
+ height: var(--vxe-ui-cascader-chunk-height);
260
+ width: var(--vxe-ui-cascader-node-width);
261
+ overflow-x: hidden;
262
+ overflow-y: hidden;
263
+ }
264
+ .vxe-cascader-chunk--item-wrapper .vxe-list .vxe-list--virtual-wrapper:hover {
265
+ overflow-y: auto;
266
+ }
267
+ .vxe-cascader-chunk--item-wrapper .vxe-list .vxe-list--body {
268
+ width: var(--vxe-ui-cascader-node-width);
269
+ }
270
+
271
+ .vxe-cascader-chunk--node-item {
272
+ display: flex;
273
+ flex-direction: row;
274
+ height: var(--vxe-ui-cascader-node-height);
275
+ line-height: var(--vxe-ui-cascader-node-height);
276
+ padding: 0 calc(var(--vxe-ui-current-padding) + 18px) 0 var(--vxe-ui-current-padding);
277
+ cursor: pointer;
278
+ }
279
+ .vxe-cascader-chunk--node-item:hover {
280
+ background-color: var(--vxe-ui-cascader-node-hover-background-color);
281
+ }
282
+ .vxe-cascader-chunk--node-item.is--current, .vxe-cascader-chunk--node-item.is--expand {
283
+ font-weight: 700;
284
+ }
285
+ .vxe-cascader-chunk--node-item.is--current {
286
+ background-color: var(--vxe-ui-cascader-node-current-background-color);
287
+ }
288
+ .vxe-cascader-chunk--node-item.is-checkbox--indeterminate {
289
+ color: var(--vxe-ui-cascader-node-checkbox-indeterminate-color);
290
+ }
291
+ .vxe-cascader-chunk--node-item.is-radio--checked, .vxe-cascader-chunk--node-item.is-checkbox--checked {
292
+ color: var(--vxe-ui-cascader-node-checkbox-checked-color);
293
+ }
294
+
295
+ .vxe-cascader-chunk--node-item-inner {
296
+ display: flex;
297
+ flex-direction: row;
298
+ overflow: hidden;
299
+ flex-grow: 1;
300
+ }
301
+
302
+ .vxe-cascader-chunk--node-item-title {
303
+ flex-grow: 1;
304
+ overflow: hidden;
305
+ text-overflow: ellipsis;
306
+ white-space: nowrap;
307
+ }
308
+
309
+ .vxe-cascader-chunk--node-item-switcher {
310
+ -webkit-user-select: none;
311
+ -moz-user-select: none;
312
+ -ms-user-select: none;
313
+ user-select: none;
314
+ flex-shrink: 0;
315
+ width: 1em;
316
+ position: relative;
317
+ }
318
+ .vxe-cascader-chunk--node-item-switcher .vxe-cascader--node-item-icon > i {
319
+ display: inline-block;
320
+ transition: transform 0.2s ease-in-out;
321
+ }
322
+
323
+ .vxe-cascader,
324
+ .vxe-cascader--panel {
325
+ --vxe-ui-current-padding: var(--vxe-ui-layout-padding-default);
326
+ }
327
+ .vxe-cascader.size--small, .vxe-cascader.size--mini,
328
+ .vxe-cascader--panel.size--small,
329
+ .vxe-cascader--panel.size--mini {
330
+ --vxe-ui-current-padding: var(--vxe-ui-layout-padding-half);
331
+ }
332
+
154
333
  .vxe-cascader,
155
334
  .vxe-cascader--panel {
156
335
  font-size: var(--vxe-ui-font-size-default);