vxe-pc-ui 4.15.0 → 4.15.2

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 (74) hide show
  1. package/dist/all.esm.js +220 -37
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/cascader/src/cascader.js +76 -10
  5. package/es/date-panel/src/util.js +12 -0
  6. package/es/date-picker/src/date-picker.js +71 -5
  7. package/es/date-range-picker/src/date-range-picker.js +17 -2
  8. package/es/form/render/index.js +25 -14
  9. package/es/form/style.css +4 -2
  10. package/es/form/style.min.css +1 -1
  11. package/es/number-input/src/number-input.js +2 -3
  12. package/es/splitter/src/splitter.js +5 -1
  13. package/es/style.css +1 -1
  14. package/es/style.min.css +1 -1
  15. package/es/tree-select/src/tree-select.js +12 -2
  16. package/es/ui/index.js +1 -1
  17. package/es/ui/src/log.js +1 -1
  18. package/es/vxe-form/style.css +4 -2
  19. package/es/vxe-form/style.min.css +1 -1
  20. package/lib/cascader/src/cascader.js +89 -10
  21. package/lib/cascader/src/cascader.min.js +1 -1
  22. package/lib/date-panel/src/util.js +13 -0
  23. package/lib/date-panel/src/util.min.js +1 -1
  24. package/lib/date-picker/src/date-picker.js +82 -3
  25. package/lib/date-picker/src/date-picker.min.js +1 -1
  26. package/lib/date-range-picker/src/date-range-picker.js +17 -2
  27. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  28. package/lib/form/render/index.js +32 -14
  29. package/lib/form/render/index.min.js +1 -1
  30. package/lib/form/style/style.css +4 -2
  31. package/lib/form/style/style.min.css +1 -1
  32. package/lib/index.umd.js +260 -37
  33. package/lib/index.umd.min.js +1 -1
  34. package/lib/number-input/src/number-input.js +2 -3
  35. package/lib/splitter/src/splitter.js +5 -1
  36. package/lib/splitter/src/splitter.min.js +1 -1
  37. package/lib/style.css +1 -1
  38. package/lib/style.min.css +1 -1
  39. package/lib/tree-select/src/tree-select.js +16 -2
  40. package/lib/tree-select/src/tree-select.min.js +1 -1
  41. package/lib/ui/index.js +1 -1
  42. package/lib/ui/index.min.js +1 -1
  43. package/lib/ui/src/log.js +1 -1
  44. package/lib/ui/src/log.min.js +1 -1
  45. package/lib/vxe-form/style/style.css +4 -2
  46. package/lib/vxe-form/style/style.min.css +1 -1
  47. package/package.json +1 -1
  48. package/packages/cascader/src/cascader.ts +78 -10
  49. package/packages/date-panel/src/util.ts +13 -0
  50. package/packages/date-picker/src/date-picker.ts +73 -5
  51. package/packages/date-range-picker/src/date-range-picker.ts +15 -2
  52. package/packages/form/render/index.ts +28 -14
  53. package/packages/number-input/src/number-input.ts +2 -6
  54. package/packages/splitter/src/splitter.ts +5 -1
  55. package/packages/tree-select/src/tree-select.ts +12 -2
  56. package/styles/components/form.scss +4 -2
  57. package/types/components/cascader.d.ts +6 -2
  58. package/types/components/date-picker.d.ts +18 -0
  59. package/types/components/date-range-picker.d.ts +4 -0
  60. package/types/components/splitter.d.ts +1 -0
  61. package/types/components/table.d.ts +29 -3
  62. package/types/components/tree-select.d.ts +19 -1
  63. /package/es/icon/{iconfont.1781659237913.ttf → iconfont.1781753592499.ttf} +0 -0
  64. /package/es/icon/{iconfont.1781659237913.woff → iconfont.1781753592499.woff} +0 -0
  65. /package/es/icon/{iconfont.1781659237913.woff2 → iconfont.1781753592499.woff2} +0 -0
  66. /package/es/{iconfont.1781659237913.ttf → iconfont.1781753592499.ttf} +0 -0
  67. /package/es/{iconfont.1781659237913.woff → iconfont.1781753592499.woff} +0 -0
  68. /package/es/{iconfont.1781659237913.woff2 → iconfont.1781753592499.woff2} +0 -0
  69. /package/lib/icon/style/{iconfont.1781659237913.ttf → iconfont.1781753592499.ttf} +0 -0
  70. /package/lib/icon/style/{iconfont.1781659237913.woff → iconfont.1781753592499.woff} +0 -0
  71. /package/lib/icon/style/{iconfont.1781659237913.woff2 → iconfont.1781753592499.woff2} +0 -0
  72. /package/lib/{iconfont.1781659237913.ttf → iconfont.1781753592499.ttf} +0 -0
  73. /package/lib/{iconfont.1781659237913.woff → iconfont.1781753592499.woff} +0 -0
  74. /package/lib/{iconfont.1781659237913.woff2 → iconfont.1781753592499.woff2} +0 -0
package/dist/all.esm.js CHANGED
@@ -80,11 +80,11 @@ function checkDynamic() {
80
80
  }
81
81
  }
82
82
 
83
- const version$1 = `ui v${"4.15.0"}`;
83
+ const version$1 = `ui v${"4.15.2"}`;
84
84
  const warnLog = log.create('warn', version$1);
85
85
  const errLog = log.create('error', version$1);
86
86
 
87
- const version = "4.15.0";
87
+ const version = "4.15.2";
88
88
  VxeUI.uiVersion = version;
89
89
  VxeUI.dynamicApp = dynamicApp;
90
90
  function config(options) {
@@ -4432,6 +4432,18 @@ function handleValueFormat(type, valueFormat) {
4432
4432
  }
4433
4433
  return 'yyyy-MM-dd';
4434
4434
  }
4435
+ function handleInputFormat(type, inputFormat) {
4436
+ if (inputFormat) {
4437
+ return inputFormat;
4438
+ }
4439
+ if (type === 'time') {
4440
+ return 'HH:mm:ss';
4441
+ }
4442
+ if (type === 'datetime') {
4443
+ return 'yyyy-MM-dd HH:mm:ss';
4444
+ }
4445
+ return 'yyyy-MM-dd';
4446
+ }
4435
4447
  function toStringTimeDate(str) {
4436
4448
  const rest = new Date(2e3, 0, 1);
4437
4449
  if (str) {
@@ -9806,6 +9818,10 @@ function createReactData$8() {
9806
9818
  function createInternalData$b() {
9807
9819
  return {
9808
9820
  // hpTimeout: undefined,
9821
+ listVirtualYOpts: {
9822
+ enabled: true,
9823
+ gt: 20
9824
+ },
9809
9825
  afterTreeList: [],
9810
9826
  treeFullData: [],
9811
9827
  afterVisibleList: [],
@@ -9857,7 +9873,15 @@ var VxeCascaderComponent = defineVxeComponent({
9857
9873
  default: () => getConfig$3().cascader.size || getConfig$3().size
9858
9874
  },
9859
9875
  treeConfig: Object,
9876
+ showRadio: {
9877
+ type: Boolean,
9878
+ default: () => getConfig$3().cascader.showRadio
9879
+ },
9860
9880
  radioConfig: Object,
9881
+ showCheckbox: {
9882
+ type: Boolean,
9883
+ default: () => getConfig$3().cascader.showCheckbox
9884
+ },
9861
9885
  checkboxConfig: Object,
9862
9886
  remote: Boolean,
9863
9887
  remoteConfig: Function,
@@ -10112,6 +10136,51 @@ var VxeCascaderComponent = defineVxeComponent({
10112
10136
  return item;
10113
10137
  }));
10114
10138
  };
10139
+ const handleSetCheckboxByNodeId = (nodeKeys, checked) => {
10140
+ const { nodeMaps } = internalData;
10141
+ if (nodeKeys) {
10142
+ if (!XEUtils.isArray(nodeKeys)) {
10143
+ nodeKeys = [nodeKeys];
10144
+ }
10145
+ const nodeList = [];
10146
+ nodeKeys.forEach((nodeKey) => {
10147
+ const nodeid = enNodeValue$1(nodeKey);
10148
+ const nodeItem = nodeMaps[nodeid];
10149
+ if (nodeItem) {
10150
+ nodeList.push(nodeItem.item);
10151
+ }
10152
+ });
10153
+ handleCheckedCheckboxNode(nodeList);
10154
+ }
10155
+ return nextTick();
10156
+ };
10157
+ const updateCheckboxChecked = (nodeKeys) => {
10158
+ internalData.selectCheckboxMaps = {};
10159
+ handleSetCheckboxByNodeId(nodeKeys);
10160
+ };
10161
+ const updateModelChecked = () => {
10162
+ const { modelValue } = props;
10163
+ const { nodeMaps } = internalData;
10164
+ const expandedMaps = {};
10165
+ if (props.multiple) {
10166
+ if (modelValue && modelValue.length) {
10167
+ updateCheckboxChecked(modelValue);
10168
+ }
10169
+ }
10170
+ else {
10171
+ if (modelValue) {
10172
+ const nodeid = enNodeValue$1(XEUtils.isArray(modelValue) ? modelValue[0] : modelValue);
10173
+ const itemRest = nodeMaps[nodeid];
10174
+ if (itemRest) {
10175
+ itemRest.nodes.forEach(item => {
10176
+ expandedMaps[getNodeId(item)] = true;
10177
+ });
10178
+ reactData.selectRadioKey = nodeid;
10179
+ }
10180
+ }
10181
+ }
10182
+ internalData.treeExpandedMaps = expandedMaps;
10183
+ };
10115
10184
  const cacheNodeMap = () => {
10116
10185
  const { separator } = props;
10117
10186
  const { treeFullData } = internalData;
@@ -10325,6 +10394,7 @@ var VxeCascaderComponent = defineVxeComponent({
10325
10394
  internalData.treeFullData = fullData;
10326
10395
  cacheNodeMap();
10327
10396
  handleData(true);
10397
+ updateModelChecked();
10328
10398
  handleCurrentItems();
10329
10399
  updateCurrentChunk();
10330
10400
  return nextTick();
@@ -10354,11 +10424,14 @@ var VxeCascaderComponent = defineVxeComponent({
10354
10424
  const { treeFullData } = internalData;
10355
10425
  const selectVals = computeSelectVals.value;
10356
10426
  const childrenField = computeChildrenField.value;
10427
+ const mapChildrenField = computeMapChildrenField.value;
10428
+ const treeOpts = computeTreeOpts.value;
10429
+ const { transform } = treeOpts;
10357
10430
  const stItems = [];
10358
10431
  const expandedMaps = {};
10359
10432
  if (selectVals.length) {
10360
- const lastVal = XEUtils.last(selectVals);
10361
- const stRest = XEUtils.findTree(treeFullData, (item) => lastVal === getNodeId(item), { children: childrenField });
10433
+ const lastVal = enNodeValue$1(XEUtils.last(selectVals));
10434
+ const stRest = XEUtils.findTree(treeFullData, (item) => lastVal === getNodeId(item), { children: transform ? mapChildrenField : childrenField });
10362
10435
  if (stRest) {
10363
10436
  const { nodes } = stRest;
10364
10437
  nodes.forEach(item => {
@@ -10884,7 +10957,7 @@ var VxeCascaderComponent = defineVxeComponent({
10884
10957
  changeEvent(evnt, value, node);
10885
10958
  };
10886
10959
  const handleNodeClickEvent = (evnt, node, chunks, chunkIndex) => {
10887
- const { multiple } = props;
10960
+ const { multiple, showCheckbox, showRadio } = props;
10888
10961
  const treeOpts = computeTreeOpts.value;
10889
10962
  const radioOpts = computeRadioOpts.value;
10890
10963
  const checkboxOpts = computeCheckboxOpts.value;
@@ -10903,13 +10976,13 @@ var VxeCascaderComponent = defineVxeComponent({
10903
10976
  toggleExpandEvent(evnt, node, chunks, chunkIndex);
10904
10977
  }
10905
10978
  if (multiple) {
10906
- if (checkboxOpts.trigger === 'node' || (!checkboxOpts.showIcon && (!childList || !childList.length))) {
10979
+ if (checkboxOpts.trigger === 'node' || (!showCheckbox && (!childList || !childList.length))) {
10907
10980
  triggerCheckbox = true;
10908
10981
  changeCheckboxEvent(evnt, node);
10909
10982
  }
10910
10983
  }
10911
10984
  else {
10912
- if (radioOpts.trigger === 'node' || (!radioOpts.showIcon && (!childList || !childList.length))) {
10985
+ if (radioOpts.trigger === 'node' || (!showRadio && (!childList || !childList.length))) {
10913
10986
  triggerRadio = true;
10914
10987
  changeRadioEvent(evnt, node);
10915
10988
  }
@@ -11037,10 +11110,11 @@ var VxeCascaderComponent = defineVxeComponent({
11037
11110
  return true;
11038
11111
  };
11039
11112
  const renderRadio = (node, isExistChild, nLevel, isChecked) => {
11113
+ const { showRadio } = props;
11040
11114
  const radioOpts = computeRadioOpts.value;
11041
- const { showIcon, checkMode, checkMethod, visibleMode, visibleMethod } = radioOpts;
11115
+ const { checkMode, checkMethod, visibleMode, visibleMethod } = radioOpts;
11042
11116
  const isVisible = visibleMethod ? visibleMethod({ $cascader: $xeCascader, node }) : handleVisibleOrCheckMode(visibleMode, isExistChild, nLevel);
11043
- if (showIcon && isVisible) {
11117
+ if (showRadio && isVisible) {
11044
11118
  const isDisabled = checkMethod ? !checkMethod({ $cascader: $xeCascader, node }) : !handleVisibleOrCheckMode(checkMode, isExistChild, nLevel);
11045
11119
  return h('div', {
11046
11120
  class: ['vxe-tree--radio-option', {
@@ -11061,10 +11135,11 @@ var VxeCascaderComponent = defineVxeComponent({
11061
11135
  return renderEmptyElement($xeCascader);
11062
11136
  };
11063
11137
  const renderCheckbox = (node, isExistChild, nLevel, isChecked, isIndeterminate) => {
11138
+ const { showCheckbox } = props;
11064
11139
  const checkboxOpts = computeCheckboxOpts.value;
11065
- const { showIcon, checkMode, checkMethod, visibleMode, visibleMethod } = checkboxOpts;
11140
+ const { checkMode, checkMethod, visibleMode, visibleMethod } = checkboxOpts;
11066
11141
  const isVisible = visibleMethod ? visibleMethod({ $cascader: $xeCascader, node }) : handleVisibleOrCheckMode(visibleMode, isExistChild, nLevel);
11067
- if (showIcon && isVisible) {
11142
+ if (showCheckbox && isVisible) {
11068
11143
  const isDisabled = checkMethod ? !checkMethod({ $cascader: $xeCascader, node }) : !handleVisibleOrCheckMode(checkMode, isExistChild, nLevel);
11069
11144
  return h('div', {
11070
11145
  class: ['vxe-cascader--checkbox-option', {
@@ -11176,6 +11251,7 @@ var VxeCascaderComponent = defineVxeComponent({
11176
11251
  const renderVN = () => {
11177
11252
  const { className, modelValue, multiple, loading, filterable, showTotalButton, showCheckedButton, showClearButton, showCloseButton } = props;
11178
11253
  const { initialized, isActivated, isAniVisible, visiblePanel, searchValue, currentCunkList } = reactData;
11254
+ const { listVirtualYOpts } = internalData;
11179
11255
  const vSize = computeSize.value;
11180
11256
  const isDisabled = computeIsDisabled.value;
11181
11257
  const selectLabel = computeSelectLabel.value;
@@ -11311,7 +11387,8 @@ var VxeCascaderComponent = defineVxeComponent({
11311
11387
  class: 'vxe-cascader-chunk--item-wrapper'
11312
11388
  }, [
11313
11389
  h(VxeListComponent, {
11314
- data: chunks
11390
+ data: chunks,
11391
+ virtualYConfig: listVirtualYOpts
11315
11392
  }, {
11316
11393
  default(slotParams) {
11317
11394
  const { items } = slotParams;
@@ -11361,6 +11438,7 @@ var VxeCascaderComponent = defineVxeComponent({
11361
11438
  };
11362
11439
  watch(() => props.modelValue, () => {
11363
11440
  if (!reactData.visiblePanel) {
11441
+ updateModelChecked();
11364
11442
  handleCurrentItems();
11365
11443
  updateCurrentChunk();
11366
11444
  }
@@ -12643,7 +12721,6 @@ var VxeNumberInputComponent = defineVxeComponent({
12643
12721
  type: String,
12644
12722
  default: () => getConfig$3().numberInput.size || getConfig$3().size
12645
12723
  },
12646
- // number、integer、float
12647
12724
  min: {
12648
12725
  type: [String, Number],
12649
12726
  default: null
@@ -12666,12 +12743,12 @@ var VxeNumberInputComponent = defineVxeComponent({
12666
12743
  default: () => getConfig$3().numberInput.currencySymbol
12667
12744
  },
12668
12745
  controlConfig: Object,
12669
- // float
12746
+ // number、float、amount
12670
12747
  roundingMode: {
12671
12748
  type: String,
12672
12749
  default: () => getConfig$3().numberInput.roundingMode
12673
12750
  },
12674
- // float
12751
+ // float、amount
12675
12752
  digits: {
12676
12753
  type: [String, Number],
12677
12754
  default: null
@@ -17605,6 +17682,7 @@ var VxeDatePickerComponent = defineVxeComponent({
17605
17682
  labelFormat: String,
17606
17683
  valueFormat: String,
17607
17684
  timeFormat: String,
17685
+ inputFormat: String,
17608
17686
  editable: {
17609
17687
  type: Boolean,
17610
17688
  default: true
@@ -17634,6 +17712,7 @@ var VxeDatePickerComponent = defineVxeComponent({
17634
17712
  type: Boolean,
17635
17713
  default: () => getConfig$3().datePicker.autoClose
17636
17714
  },
17715
+ controlConfig: Object,
17637
17716
  prefixIcon: String,
17638
17717
  suffixIcon: String,
17639
17718
  placement: String,
@@ -17686,7 +17765,8 @@ var VxeDatePickerComponent = defineVxeComponent({
17686
17765
  inputLabel: ''
17687
17766
  });
17688
17767
  const internalData = {
17689
- hpTimeout: undefined
17768
+ // hpTimeout: undefined,
17769
+ parseInputKayMaps: {}
17690
17770
  };
17691
17771
  const refElem = ref();
17692
17772
  const refInputTarget = ref();
@@ -17802,6 +17882,10 @@ var VxeDatePickerComponent = defineVxeComponent({
17802
17882
  const { type, valueFormat } = props;
17803
17883
  return handleValueFormat(type, valueFormat);
17804
17884
  });
17885
+ const computeDateInputFormat = computed(() => {
17886
+ const { type, inputFormat } = props;
17887
+ return handleInputFormat(type, inputFormat);
17888
+ });
17805
17889
  const computeFirstDayOfWeek = computed(() => {
17806
17890
  const { startDay } = props;
17807
17891
  return XEUtils.toNumber(startDay);
@@ -17822,6 +17906,9 @@ var VxeDatePickerComponent = defineVxeComponent({
17822
17906
  return dateObj.label;
17823
17907
  }).join(', ');
17824
17908
  });
17909
+ const computeControlOpts = computed(() => {
17910
+ return Object.assign({}, getConfig$3().datePicker.controlConfig, props.controlConfig);
17911
+ });
17825
17912
  const updateModelValue = () => {
17826
17913
  const { modelValue } = props;
17827
17914
  let val = '';
@@ -17896,6 +17983,9 @@ var VxeDatePickerComponent = defineVxeComponent({
17896
17983
  if (!trigger || trigger === 'default') {
17897
17984
  datePickerOpenEvent(evnt);
17898
17985
  }
17986
+ else if (trigger === 'icon') {
17987
+ hidePanel();
17988
+ }
17899
17989
  triggerEvent(evnt);
17900
17990
  };
17901
17991
  const clickPrefixEvent = (evnt) => {
@@ -17929,6 +18019,31 @@ var VxeDatePickerComponent = defineVxeComponent({
17929
18019
  dispatchEvent('suffix-click', { value: inputValue }, evnt);
17930
18020
  }
17931
18021
  };
18022
+ const handleArrowInputDate = (evnt, isUpArrow) => {
18023
+ const { multiple } = props;
18024
+ if (multiple) {
18025
+ return;
18026
+ }
18027
+ const { inputValue } = reactData;
18028
+ if (!inputValue) {
18029
+ return;
18030
+ }
18031
+ const targetElem = refInputTarget.value;
18032
+ if (!targetElem) {
18033
+ return;
18034
+ }
18035
+ const { parseInputKayMaps } = internalData;
18036
+ const inputFormat = computeDateInputFormat.value;
18037
+ const selectionStart = targetElem.selectionStart || 0;
18038
+ let selectKey = inputFormat[selectionStart];
18039
+ if (!parseInputKayMaps[selectKey]) {
18040
+ selectKey = inputFormat[selectionStart - 1];
18041
+ }
18042
+ const inputPaesrFn = parseInputKayMaps[selectKey];
18043
+ if (inputPaesrFn) {
18044
+ inputPaesrFn(evnt, targetElem, isUpArrow);
18045
+ }
18046
+ };
17932
18047
  const blurEvent = (evnt) => {
17933
18048
  const $datePanel = refDatePanel.value;
17934
18049
  const { inputValue } = reactData;
@@ -17951,6 +18066,13 @@ var VxeDatePickerComponent = defineVxeComponent({
17951
18066
  }
17952
18067
  };
17953
18068
  const keydownEvent = (evnt) => {
18069
+ const { controlConfig } = props;
18070
+ const controlOpts = computeControlOpts.value;
18071
+ const isUpArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP);
18072
+ const isDwArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN);
18073
+ if ((isUpArrow || isDwArrow) && controlOpts.isArrow && (controlConfig || controlOpts.enabled)) {
18074
+ handleArrowInputDate(evnt, isUpArrow);
18075
+ }
17954
18076
  triggerEvent(evnt);
17955
18077
  };
17956
18078
  const keyupEvent = (evnt) => {
@@ -18071,6 +18193,9 @@ var VxeDatePickerComponent = defineVxeComponent({
18071
18193
  const { panelIndex } = reactData;
18072
18194
  const targetElem = refInputTarget.value;
18073
18195
  const panelElem = refInputPanel.value;
18196
+ if (!panelElem) {
18197
+ return nextTick();
18198
+ }
18074
18199
  const btnTransfer = computeBtnTransfer.value;
18075
18200
  const popupOpts = computePopupOpts.value;
18076
18201
  const handleStyle = () => {
@@ -18118,10 +18243,16 @@ var VxeDatePickerComponent = defineVxeComponent({
18118
18243
  }
18119
18244
  };
18120
18245
  const clickIconEvent = (evnt) => {
18246
+ const { visiblePanel } = reactData;
18121
18247
  const popupOpts = computePopupOpts.value;
18122
18248
  const { trigger } = popupOpts;
18123
18249
  if (!trigger || trigger === 'default' || trigger === 'icon') {
18124
- datePickerOpenEvent(evnt);
18250
+ if (visiblePanel) {
18251
+ hidePanel();
18252
+ }
18253
+ else {
18254
+ datePickerOpenEvent(evnt);
18255
+ }
18125
18256
  }
18126
18257
  };
18127
18258
  const clickEvent = (evnt) => {
@@ -18236,6 +18367,10 @@ var VxeDatePickerComponent = defineVxeComponent({
18236
18367
  return renderEmptyElement($xeDatePicker);
18237
18368
  };
18238
18369
  const renderPanel = () => {
18370
+ const popupOpts = computePopupOpts.value;
18371
+ if (popupOpts.enabled === false) {
18372
+ return renderEmptyElement($xeDatePicker);
18373
+ }
18239
18374
  const { type, multiple, showClearButton, showConfirmButton } = props;
18240
18375
  const { initialized, isAniVisible, visiblePanel, panelPlacement, panelStyle, inputValue } = reactData;
18241
18376
  const vSize = computeSize.value;
@@ -18245,7 +18380,6 @@ var VxeDatePickerComponent = defineVxeComponent({
18245
18380
  const isDateTimeType = computeIsDateTimeType.value;
18246
18381
  const shortcutList = computeShortcutList.value;
18247
18382
  const timeOpts = computeTimeOpts.value;
18248
- const popupOpts = computePopupOpts.value;
18249
18383
  const { position } = shortcutOpts;
18250
18384
  const headerSlot = slots.header;
18251
18385
  const footerSlot = slots.footer;
@@ -18517,6 +18651,15 @@ var VxeDatePickerComponent = defineVxeComponent({
18517
18651
  globalEvents.on($xeDatePicker, 'blur', handleGlobalBlurEvent);
18518
18652
  globalEvents.on($xeDatePicker, 'resize', handleGlobalResizeEvent);
18519
18653
  });
18654
+ onMounted(() => {
18655
+ const { parseInputKayMaps } = internalData;
18656
+ const inputKeys = ['y', 'M', 'd', 'H', 'm', 'n'];
18657
+ inputKeys.forEach(key => {
18658
+ parseInputKayMaps[key] = (evnt) => {
18659
+ evnt.preventDefault();
18660
+ };
18661
+ });
18662
+ });
18520
18663
  onUnmounted(() => {
18521
18664
  globalEvents.off($xeDatePicker, 'mousewheel');
18522
18665
  globalEvents.off($xeDatePicker, 'mousedown');
@@ -18992,6 +19135,9 @@ var VxeDateRangePickerComponent = defineVxeComponent({
18992
19135
  if (!trigger || trigger === 'default') {
18993
19136
  dateRangePickerOpenEvent(evnt);
18994
19137
  }
19138
+ else if (trigger === 'icon') {
19139
+ hidePanel();
19140
+ }
18995
19141
  triggerEvent(evnt);
18996
19142
  };
18997
19143
  const clickPrefixEvent = (evnt) => {
@@ -19303,6 +19449,9 @@ var VxeDateRangePickerComponent = defineVxeComponent({
19303
19449
  const { panelIndex } = reactData;
19304
19450
  const targetElem = refInputTarget.value;
19305
19451
  const panelElem = refInputPanel.value;
19452
+ if (!panelElem) {
19453
+ return nextTick();
19454
+ }
19306
19455
  const btnTransfer = computeBtnTransfer.value;
19307
19456
  const popupOpts = computePopupOpts.value;
19308
19457
  const handleStyle = () => {
@@ -19351,10 +19500,16 @@ var VxeDateRangePickerComponent = defineVxeComponent({
19351
19500
  }
19352
19501
  };
19353
19502
  const clickIconEvent = (evnt) => {
19503
+ const { visiblePanel } = reactData;
19354
19504
  const popupOpts = computePopupOpts.value;
19355
19505
  const { trigger } = popupOpts;
19356
19506
  if (!trigger || trigger === 'default' || trigger === 'icon') {
19357
- dateRangePickerOpenEvent(evnt);
19507
+ if (visiblePanel) {
19508
+ hidePanel();
19509
+ }
19510
+ else {
19511
+ dateRangePickerOpenEvent(evnt);
19512
+ }
19358
19513
  }
19359
19514
  };
19360
19515
  const clickEvent = (evnt) => {
@@ -19480,6 +19635,10 @@ var VxeDateRangePickerComponent = defineVxeComponent({
19480
19635
  return renderEmptyElement($xeDateRangePicker);
19481
19636
  };
19482
19637
  const renderPanel = () => {
19638
+ const popupOpts = computePopupOpts.value;
19639
+ if (popupOpts.enabled === false) {
19640
+ return renderEmptyElement($xeDateRangePicker);
19641
+ }
19483
19642
  const { type, separator, autoClose, showConfirmButton, showClearButton } = props;
19484
19643
  const { initialized, isAniVisible, visiblePanel, panelPlacement, panelStyle, startValue, endValue } = reactData;
19485
19644
  const vSize = computeSize.value;
@@ -19492,7 +19651,6 @@ var VxeDateRangePickerComponent = defineVxeComponent({
19492
19651
  const defaultDates = computeDefaultDates.value;
19493
19652
  const defaultTimes = computeDefaultTimes.value;
19494
19653
  const timeOpts = computeTimeOpts.value;
19495
- const popupOpts = computePopupOpts.value;
19496
19654
  const { startLabel, endLabel } = panelLabelObj;
19497
19655
  const { position } = shortcutOpts;
19498
19656
  const headerSlot = slots.header;
@@ -21631,15 +21789,15 @@ function oldFormItemRadioAndCheckboxRender(renderOpts, params) {
21631
21789
  */
21632
21790
  renderer.mixin({
21633
21791
  input: {
21634
- formItemAutoFocus: 'input',
21792
+ formItemAutoFocus: true,
21635
21793
  renderFormItemContent: nativeItemRender
21636
21794
  },
21637
21795
  textarea: {
21638
- formItemAutoFocus: 'textarea',
21796
+ formItemAutoFocus: true,
21639
21797
  renderFormItemContent: nativeItemRender
21640
21798
  },
21641
21799
  select: {
21642
- formItemAutoFocus: 'input',
21800
+ formItemAutoFocus: true,
21643
21801
  renderFormItemContent(renderOpts, params) {
21644
21802
  return [
21645
21803
  h('select', Object.assign(Object.assign({ class: 'vxe-default-select' }, getNativeAttrs(renderOpts)), getNativeItemOns(renderOpts, params)), renderOpts.optionGroups ? renderNativeOptgroup(renderOpts, params, renderNativeFormOptions) : renderNativeFormOptions(renderOpts.options, renderOpts, params))
@@ -21647,27 +21805,27 @@ renderer.mixin({
21647
21805
  }
21648
21806
  },
21649
21807
  VxeInput: {
21650
- formItemAutoFocus: 'input',
21808
+ formItemAutoFocus: true,
21651
21809
  renderFormItemContent: defaultItemRender
21652
21810
  },
21653
21811
  VxeNumberInput: {
21654
- formItemAutoFocus: 'input',
21812
+ formItemAutoFocus: true,
21655
21813
  renderFormItemContent: defaultItemRender
21656
21814
  },
21657
21815
  VxePasswordInput: {
21658
- formItemAutoFocus: 'input',
21816
+ formItemAutoFocus: true,
21659
21817
  renderFormItemContent: defaultItemRender
21660
21818
  },
21661
21819
  VxeTextarea: {
21662
- formItemAutoFocus: 'textarea',
21820
+ formItemAutoFocus: true,
21663
21821
  renderFormItemContent: defaultItemRender
21664
21822
  },
21665
21823
  VxeDatePicker: {
21666
- formItemAutoFocus: 'input',
21824
+ formItemAutoFocus: true,
21667
21825
  renderFormItemContent: defaultItemRender
21668
21826
  },
21669
21827
  VxeDateRangePicker: {
21670
- formItemAutoFocus: 'input',
21828
+ formItemAutoFocus: true,
21671
21829
  renderFormItemContent(renderOpts, params) {
21672
21830
  const { startField, endField } = renderOpts;
21673
21831
  const { $form, data, field } = params;
@@ -21719,7 +21877,7 @@ renderer.mixin({
21719
21877
  }
21720
21878
  },
21721
21879
  VxeSelect: {
21722
- formItemAutoFocus: 'input',
21880
+ formItemAutoFocus: true,
21723
21881
  renderFormItemContent(renderOpts, params) {
21724
21882
  const { data, field } = params;
21725
21883
  const { options, optionProps, optionGroups, optionGroupProps } = renderOpts;
@@ -21730,7 +21888,18 @@ renderer.mixin({
21730
21888
  }
21731
21889
  },
21732
21890
  VxeTreeSelect: {
21733
- formItemAutoFocus: 'input',
21891
+ formItemAutoFocus: true,
21892
+ renderFormItemContent(renderOpts, params) {
21893
+ const { data, field } = params;
21894
+ const { options, optionProps } = renderOpts;
21895
+ const itemValue = XEUtils.get(data, field);
21896
+ return [
21897
+ h(getDefaultComponent(renderOpts), Object.assign(Object.assign({}, getComponentFormItemProps(renderOpts, params, itemValue, { options, optionProps })), getItemOns(renderOpts, params)))
21898
+ ];
21899
+ }
21900
+ },
21901
+ VxeCascader: {
21902
+ formItemAutoFocus: true,
21734
21903
  renderFormItemContent(renderOpts, params) {
21735
21904
  const { data, field } = params;
21736
21905
  const { options, optionProps } = renderOpts;
@@ -21741,7 +21910,7 @@ renderer.mixin({
21741
21910
  }
21742
21911
  },
21743
21912
  VxeTableSelect: {
21744
- formItemAutoFocus: 'input',
21913
+ formItemAutoFocus: true,
21745
21914
  renderFormItemContent(renderOpts, params) {
21746
21915
  const { data, field } = params;
21747
21916
  const { options, optionProps } = renderOpts;
@@ -21752,7 +21921,7 @@ renderer.mixin({
21752
21921
  }
21753
21922
  },
21754
21923
  VxeColorPicker: {
21755
- formItemAutoFocus: 'input',
21924
+ formItemAutoFocus: true,
21756
21925
  renderFormItemContent(renderOpts, params) {
21757
21926
  const { data, field } = params;
21758
21927
  const { options } = renderOpts;
@@ -21763,7 +21932,7 @@ renderer.mixin({
21763
21932
  }
21764
21933
  },
21765
21934
  VxeIconPicker: {
21766
- formItemAutoFocus: 'input',
21935
+ formItemAutoFocus: true,
21767
21936
  renderFormItemContent(renderOpts, params) {
21768
21937
  const { data, field } = params;
21769
21938
  const { options } = renderOpts;
@@ -32561,7 +32730,8 @@ var VxeSplitComponent = defineVxeComponent({
32561
32730
  staticItems: [],
32562
32731
  itemList: [],
32563
32732
  barWidth: 0,
32564
- barHeight: 0
32733
+ barHeight: 0,
32734
+ resizeFlag: 0
32565
32735
  });
32566
32736
  const internalData = {
32567
32737
  wrapperWidth: 0,
@@ -33064,6 +33234,7 @@ var VxeSplitComponent = defineVxeComponent({
33064
33234
  document.onmousemove = (evnt) => {
33065
33235
  evnt.preventDefault();
33066
33236
  handleDrag(evnt);
33237
+ reactData.resizeFlag++;
33067
33238
  };
33068
33239
  document.onmouseup = (evnt) => {
33069
33240
  document.onmousemove = null;
@@ -33075,6 +33246,7 @@ var VxeSplitComponent = defineVxeComponent({
33075
33246
  removeClass(el, 'is--drag');
33076
33247
  dispatchEvent('resize-end', { prevItem, nextItem, offsetHeight: targetOffsetHeight, offsetWidth: targetOffsetWidth }, evnt);
33077
33248
  recalculate();
33249
+ reactData.resizeFlag++;
33078
33250
  };
33079
33251
  if (rsSplitterLineEl) {
33080
33252
  rsSplitterLineEl.style.display = 'block';
@@ -33129,6 +33301,7 @@ var VxeSplitComponent = defineVxeComponent({
33129
33301
  dispatchEvent('toggle-expand', { prevItem, nextItem, expanded, item }, evnt);
33130
33302
  }
33131
33303
  recalculate();
33304
+ reactData.resizeFlag++;
33132
33305
  };
33133
33306
  const handlePrevActionDblclickEvent = (evnt) => {
33134
33307
  const { itemList } = reactData;
@@ -39836,6 +40009,14 @@ var VxeTreeSelectComponent = defineVxeComponent({
39836
40009
  },
39837
40010
  remote: Boolean,
39838
40011
  remoteConfig: Function,
40012
+ showRadio: {
40013
+ type: Boolean,
40014
+ default: () => getConfig$3().treeSelect.showRadio
40015
+ },
40016
+ showCheckbox: {
40017
+ type: Boolean,
40018
+ default: () => getConfig$3().treeSelect.showCheckbox
40019
+ },
39839
40020
  popupConfig: Object,
39840
40021
  treeConfig: Object,
39841
40022
  menuConfig: Object,
@@ -39968,17 +40149,19 @@ var VxeTreeSelectComponent = defineVxeComponent({
39968
40149
  return Object.assign({ isHover: true }, treeOpts.nodeConfig);
39969
40150
  });
39970
40151
  const computeTreeCheckboxOpts = computed(() => {
40152
+ const { showCheckbox } = props;
39971
40153
  const treeOpts = computeTreeOpts.value;
39972
40154
  return Object.assign({
39973
- showIcon: !!treeOpts.showCheckbox
40155
+ showIcon: XEUtils.isBoolean(showCheckbox) ? showCheckbox : !!treeOpts.showCheckbox
39974
40156
  }, treeOpts.checkboxConfig, {
39975
40157
  trigger: 'node'
39976
40158
  });
39977
40159
  });
39978
40160
  const computeTreeRadioOpts = computed(() => {
40161
+ const { showRadio } = props;
39979
40162
  const treeOpts = computeTreeOpts.value;
39980
40163
  return Object.assign({
39981
- showIcon: !!treeOpts.showRadio
40164
+ showIcon: XEUtils.isBoolean(showRadio) ? showRadio : !!treeOpts.showRadio
39982
40165
  }, treeOpts.radioConfig, {
39983
40166
  trigger: 'node'
39984
40167
  });