vxe-pc-ui 4.17.30 → 4.18.0

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 (84) hide show
  1. package/dist/all.esm.js +121 -192
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/button/src/button.js +10 -9
  5. package/es/cascader/src/cascader.js +8 -17
  6. package/es/color-picker/src/color-picker.js +8 -17
  7. package/es/date-picker/src/date-picker.js +8 -17
  8. package/es/date-range-picker/src/date-range-picker.js +9 -18
  9. package/es/icon/style.css +1 -1
  10. package/es/icon-picker/src/icon-picker.js +16 -16
  11. package/es/pulldown/src/pulldown.js +30 -44
  12. package/es/select/src/select.js +8 -17
  13. package/es/slider/src/slider.js +6 -1
  14. package/es/slider/style.css +52 -6
  15. package/es/slider/style.min.css +1 -1
  16. package/es/style.css +1 -1
  17. package/es/style.min.css +1 -1
  18. package/es/table-select/src/table-select.js +8 -17
  19. package/es/tree-select/src/tree-select.js +8 -17
  20. package/es/ui/index.js +1 -1
  21. package/es/ui/src/log.js +1 -1
  22. package/es/vxe-slider/style.css +52 -6
  23. package/es/vxe-slider/style.min.css +1 -1
  24. package/lib/button/src/button.js +12 -9
  25. package/lib/button/src/button.min.js +1 -1
  26. package/lib/cascader/src/cascader.js +10 -18
  27. package/lib/cascader/src/cascader.min.js +1 -1
  28. package/lib/color-picker/src/color-picker.js +10 -18
  29. package/lib/color-picker/src/color-picker.min.js +1 -1
  30. package/lib/date-picker/src/date-picker.js +10 -18
  31. package/lib/date-picker/src/date-picker.min.js +1 -1
  32. package/lib/date-range-picker/src/date-range-picker.js +11 -19
  33. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  34. package/lib/icon/style/style.css +1 -1
  35. package/lib/icon/style/style.min.css +1 -1
  36. package/lib/icon-picker/src/icon-picker.js +20 -17
  37. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  38. package/lib/index.umd.js +142 -202
  39. package/lib/index.umd.min.js +1 -1
  40. package/lib/pulldown/src/pulldown.js +31 -47
  41. package/lib/pulldown/src/pulldown.min.js +1 -1
  42. package/lib/select/src/select.js +10 -18
  43. package/lib/select/src/select.min.js +1 -1
  44. package/lib/slider/src/slider.js +6 -0
  45. package/lib/slider/src/slider.min.js +1 -1
  46. package/lib/slider/style/style.css +52 -6
  47. package/lib/slider/style/style.min.css +1 -1
  48. package/lib/style.css +1 -1
  49. package/lib/style.min.css +1 -1
  50. package/lib/table-select/src/table-select.js +10 -18
  51. package/lib/table-select/src/table-select.min.js +1 -1
  52. package/lib/tree-select/src/tree-select.js +10 -18
  53. package/lib/tree-select/src/tree-select.min.js +1 -1
  54. package/lib/ui/index.js +1 -1
  55. package/lib/ui/index.min.js +1 -1
  56. package/lib/ui/src/log.js +1 -1
  57. package/lib/ui/src/log.min.js +1 -1
  58. package/lib/vxe-slider/style/style.css +52 -6
  59. package/lib/vxe-slider/style/style.min.css +1 -1
  60. package/package.json +1 -1
  61. package/packages/button/src/button.ts +12 -10
  62. package/packages/cascader/src/cascader.ts +9 -17
  63. package/packages/color-picker/src/color-picker.ts +9 -17
  64. package/packages/date-picker/src/date-picker.ts +9 -17
  65. package/packages/date-range-picker/src/date-range-picker.ts +10 -18
  66. package/packages/icon-picker/src/icon-picker.ts +18 -16
  67. package/packages/pulldown/src/pulldown.ts +33 -46
  68. package/packages/select/src/select.ts +9 -17
  69. package/packages/slider/src/slider.ts +6 -1
  70. package/packages/table-select/src/table-select.ts +9 -17
  71. package/packages/tree-select/src/tree-select.ts +9 -17
  72. package/styles/components/slider.scss +14 -1
  73. /package/es/icon/{iconfont.1788500786360.ttf → iconfont.1788505334427.ttf} +0 -0
  74. /package/es/icon/{iconfont.1788500786360.woff → iconfont.1788505334427.woff} +0 -0
  75. /package/es/icon/{iconfont.1788500786360.woff2 → iconfont.1788505334427.woff2} +0 -0
  76. /package/es/{iconfont.1788500786360.ttf → iconfont.1788505334427.ttf} +0 -0
  77. /package/es/{iconfont.1788500786360.woff → iconfont.1788505334427.woff} +0 -0
  78. /package/es/{iconfont.1788500786360.woff2 → iconfont.1788505334427.woff2} +0 -0
  79. /package/lib/icon/style/{iconfont.1788500786360.ttf → iconfont.1788505334427.ttf} +0 -0
  80. /package/lib/icon/style/{iconfont.1788500786360.woff → iconfont.1788505334427.woff} +0 -0
  81. /package/lib/icon/style/{iconfont.1788500786360.woff2 → iconfont.1788505334427.woff2} +0 -0
  82. /package/lib/{iconfont.1788500786360.ttf → iconfont.1788505334427.ttf} +0 -0
  83. /package/lib/{iconfont.1788500786360.woff → iconfont.1788505334427.woff} +0 -0
  84. /package/lib/{iconfont.1788500786360.woff2 → iconfont.1788505334427.woff2} +0 -0
@@ -468,21 +468,6 @@ export default defineVxeComponent({
468
468
  clearValueEvent(evnt, null);
469
469
  hideOptionPanel();
470
470
  };
471
- const handleGlobalMousewheelEvent = (evnt) => {
472
- const { visiblePanel } = reactData;
473
- const isDisabled = computeIsDisabled.value;
474
- if (!isDisabled) {
475
- if (visiblePanel) {
476
- const panelElem = refOptionPanel.value;
477
- if (getEventTargetNode(evnt, panelElem).flag) {
478
- updatePlacement();
479
- }
480
- else {
481
- hideOptionPanel();
482
- }
483
- }
484
- }
485
- };
486
471
  const handleGlobalMousedownEvent = (evnt) => {
487
472
  const { visiblePanel } = reactData;
488
473
  const isDisabled = computeIsDisabled.value;
@@ -516,6 +501,12 @@ export default defineVxeComponent({
516
501
  updatePlacement();
517
502
  }
518
503
  };
504
+ const handleGlobalScrollEvent = () => {
505
+ const { visiblePanel } = reactData;
506
+ if (visiblePanel) {
507
+ updatePlacement();
508
+ }
509
+ };
519
510
  const focusEvent = (evnt) => {
520
511
  const isDisabled = computeIsDisabled.value;
521
512
  if (!isDisabled) {
@@ -701,16 +692,16 @@ export default defineVxeComponent({
701
692
  reactData.initialized = true;
702
693
  }
703
694
  }
704
- globalEvents.on($xeTableSelect, 'mousewheel', handleGlobalMousewheelEvent);
705
695
  globalEvents.on($xeTableSelect, 'mousedown', handleGlobalMousedownEvent);
706
696
  globalEvents.on($xeTableSelect, 'blur', handleGlobalBlurEvent);
707
697
  globalEvents.on($xeTableSelect, 'resize', handleGlobalResizeEvent);
698
+ globalEvents.on($xeTableSelect, 'scroll', handleGlobalScrollEvent);
708
699
  });
709
700
  onUnmounted(() => {
710
- globalEvents.off($xeTableSelect, 'mousewheel');
711
701
  globalEvents.off($xeTableSelect, 'mousedown');
712
702
  globalEvents.off($xeTableSelect, 'blur');
713
703
  globalEvents.off($xeTableSelect, 'resize');
704
+ globalEvents.off($xeTableSelect, 'scroll');
714
705
  XEUtils.assign(reactData, createReactData());
715
706
  XEUtils.assign(internalData, createInternalData());
716
707
  });
@@ -568,21 +568,6 @@ export default defineVxeComponent({
568
568
  $tree.clearAllExpandNode();
569
569
  }
570
570
  };
571
- const handleGlobalMousewheelEvent = (evnt) => {
572
- const { visiblePanel } = reactData;
573
- const isDisabled = computeIsDisabled.value;
574
- if (!isDisabled) {
575
- if (visiblePanel) {
576
- const panelElem = refOptionPanel.value;
577
- if (getEventTargetNode(evnt, panelElem).flag) {
578
- updatePlacement();
579
- }
580
- else {
581
- hideOptionPanel(evnt);
582
- }
583
- }
584
- }
585
- };
586
571
  const handleGlobalMousedownEvent = (evnt) => {
587
572
  const { visiblePanel } = reactData;
588
573
  const isDisabled = computeIsDisabled.value;
@@ -616,6 +601,12 @@ export default defineVxeComponent({
616
601
  updatePlacement();
617
602
  }
618
603
  };
604
+ const handleGlobalScrollEvent = () => {
605
+ const { visiblePanel } = reactData;
606
+ if (visiblePanel) {
607
+ updatePlacement();
608
+ }
609
+ };
619
610
  const handleFocusSearch = () => {
620
611
  if (props.filterable) {
621
612
  nextTick(() => {
@@ -986,16 +977,16 @@ export default defineVxeComponent({
986
977
  if (XEUtils.isBoolean(props.autoClose)) {
987
978
  warnLog('vxe.error.delProp', ['auto-close', 'checked-closable | clear-closable']);
988
979
  }
989
- globalEvents.on($xeTreeSelect, 'mousewheel', handleGlobalMousewheelEvent);
990
980
  globalEvents.on($xeTreeSelect, 'mousedown', handleGlobalMousedownEvent);
991
981
  globalEvents.on($xeTreeSelect, 'blur', handleGlobalBlurEvent);
992
982
  globalEvents.on($xeTreeSelect, 'resize', handleGlobalResizeEvent);
983
+ globalEvents.on($xeTreeSelect, 'scroll', handleGlobalScrollEvent);
993
984
  });
994
985
  onBeforeUnmount(() => {
995
- globalEvents.off($xeTreeSelect, 'mousewheel');
996
986
  globalEvents.off($xeTreeSelect, 'mousedown');
997
987
  globalEvents.off($xeTreeSelect, 'blur');
998
988
  globalEvents.off($xeTreeSelect, 'resize');
989
+ globalEvents.off($xeTreeSelect, 'scroll');
999
990
  XEUtils.assign(reactData, createReactData());
1000
991
  XEUtils.assign(internalData, createInternalData());
1001
992
  });
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 = "4.17.30";
4
+ export const version = "4.18.0";
5
5
  VxeUI.uiVersion = version;
6
6
  VxeUI.dynamicApp = dynamicApp;
7
7
  export function config(options) {
package/es/ui/src/log.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const uiVersion = `ui v${"4.17.30"}`;
3
+ const uiVersion = `ui v${"4.18.0"}`;
4
4
  export function createComponentLog(name) {
5
5
  const tableVersion = VxeUI.tableVersion ? `table v${VxeUI.tableVersion}` : '';
6
6
  const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
@@ -13,7 +13,14 @@
13
13
  background-color: var(--vxe-ui-font-primary-darken-color);
14
14
  }
15
15
  .vxe-slider.theme--primary .vxe-slider--bar-btn {
16
- background-color: var(--vxe-ui-font-primary-color);
16
+ border-color: var(--vxe-ui-font-primary-color);
17
+ }
18
+ .vxe-slider.theme--primary.is--disabled .vxe-slider--bar-track {
19
+ background-color: var(--vxe-ui-font-primary-disabled-color);
20
+ }
21
+ .vxe-slider.theme--primary.is--disabled .vxe-slider--bar-btn {
22
+ border-color: var(--vxe-ui-font-primary-disabled-color);
23
+ cursor: not-allowed;
17
24
  }
18
25
  .vxe-slider.theme--success .vxe-slider--bar-track {
19
26
  background-color: var(--vxe-ui-status-success-color);
@@ -25,7 +32,14 @@
25
32
  background-color: var(--vxe-ui-status-success-darken-color);
26
33
  }
27
34
  .vxe-slider.theme--success .vxe-slider--bar-btn {
28
- background-color: var(--vxe-ui-status-success-color);
35
+ border-color: var(--vxe-ui-status-success-color);
36
+ }
37
+ .vxe-slider.theme--success.is--disabled .vxe-slider--bar-track {
38
+ background-color: var(--vxe-ui-status-success-disabled-color);
39
+ }
40
+ .vxe-slider.theme--success.is--disabled .vxe-slider--bar-btn {
41
+ border-color: var(--vxe-ui-status-success-disabled-color);
42
+ cursor: not-allowed;
29
43
  }
30
44
  .vxe-slider.theme--info .vxe-slider--bar-track {
31
45
  background-color: var(--vxe-ui-status-info-color);
@@ -37,7 +51,14 @@
37
51
  background-color: var(--vxe-ui-status-info-darken-color);
38
52
  }
39
53
  .vxe-slider.theme--info .vxe-slider--bar-btn {
40
- background-color: var(--vxe-ui-status-info-color);
54
+ border-color: var(--vxe-ui-status-info-color);
55
+ }
56
+ .vxe-slider.theme--info.is--disabled .vxe-slider--bar-track {
57
+ background-color: var(--vxe-ui-status-info-disabled-color);
58
+ }
59
+ .vxe-slider.theme--info.is--disabled .vxe-slider--bar-btn {
60
+ border-color: var(--vxe-ui-status-info-disabled-color);
61
+ cursor: not-allowed;
41
62
  }
42
63
  .vxe-slider.theme--warning .vxe-slider--bar-track {
43
64
  background-color: var(--vxe-ui-status-warning-color);
@@ -49,7 +70,14 @@
49
70
  background-color: var(--vxe-ui-status-warning-darken-color);
50
71
  }
51
72
  .vxe-slider.theme--warning .vxe-slider--bar-btn {
52
- background-color: var(--vxe-ui-status-warning-color);
73
+ border-color: var(--vxe-ui-status-warning-color);
74
+ }
75
+ .vxe-slider.theme--warning.is--disabled .vxe-slider--bar-track {
76
+ background-color: var(--vxe-ui-status-warning-disabled-color);
77
+ }
78
+ .vxe-slider.theme--warning.is--disabled .vxe-slider--bar-btn {
79
+ border-color: var(--vxe-ui-status-warning-disabled-color);
80
+ cursor: not-allowed;
53
81
  }
54
82
  .vxe-slider.theme--danger .vxe-slider--bar-track {
55
83
  background-color: var(--vxe-ui-status-danger-color);
@@ -61,7 +89,14 @@
61
89
  background-color: var(--vxe-ui-status-danger-darken-color);
62
90
  }
63
91
  .vxe-slider.theme--danger .vxe-slider--bar-btn {
64
- background-color: var(--vxe-ui-status-danger-color);
92
+ border-color: var(--vxe-ui-status-danger-color);
93
+ }
94
+ .vxe-slider.theme--danger.is--disabled .vxe-slider--bar-track {
95
+ background-color: var(--vxe-ui-status-danger-disabled-color);
96
+ }
97
+ .vxe-slider.theme--danger.is--disabled .vxe-slider--bar-btn {
98
+ border-color: var(--vxe-ui-status-danger-disabled-color);
99
+ cursor: not-allowed;
65
100
  }
66
101
  .vxe-slider.theme--error .vxe-slider--bar-track {
67
102
  background-color: var(--vxe-ui-status-error-color);
@@ -73,9 +108,20 @@
73
108
  background-color: var(--vxe-ui-status-error-darken-color);
74
109
  }
75
110
  .vxe-slider.theme--error .vxe-slider--bar-btn {
76
- background-color: var(--vxe-ui-status-error-color);
111
+ border-color: var(--vxe-ui-status-error-color);
112
+ }
113
+ .vxe-slider.theme--error.is--disabled .vxe-slider--bar-track {
114
+ background-color: var(--vxe-ui-status-error-disabled-color);
115
+ }
116
+ .vxe-slider.theme--error.is--disabled .vxe-slider--bar-btn {
117
+ border-color: var(--vxe-ui-status-error-disabled-color);
118
+ cursor: not-allowed;
119
+ }
120
+ .vxe-slider.is--disabled .vxe-slider--bar-track {
121
+ background-color: var(--vxe-ui-font-primary-disabled-color);
77
122
  }
78
123
  .vxe-slider.is--disabled .vxe-slider--bar-btn {
124
+ border-color: var(--vxe-ui-font-primary-disabled-color);
79
125
  cursor: not-allowed;
80
126
  }
81
127
  .vxe-slider:not(.is--disabled) .vxe-slider--bar-wrapper,
@@ -1 +1 @@
1
- .vxe-slider{position:relative;display:block;padding:.8em}.vxe-slider.theme--primary .vxe-slider--bar-track{background-color:var(--vxe-ui-font-primary-color)}.vxe-slider.theme--primary .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-font-primary-lighten-color)}.vxe-slider.theme--primary .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-font-primary-darken-color)}.vxe-slider.theme--primary .vxe-slider--bar-btn{background-color:var(--vxe-ui-font-primary-color)}.vxe-slider.theme--success .vxe-slider--bar-track{background-color:var(--vxe-ui-status-success-color)}.vxe-slider.theme--success .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-success-lighten-color)}.vxe-slider.theme--success .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-success-darken-color)}.vxe-slider.theme--success .vxe-slider--bar-btn{background-color:var(--vxe-ui-status-success-color)}.vxe-slider.theme--info .vxe-slider--bar-track{background-color:var(--vxe-ui-status-info-color)}.vxe-slider.theme--info .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-info-lighten-color)}.vxe-slider.theme--info .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-info-darken-color)}.vxe-slider.theme--info .vxe-slider--bar-btn{background-color:var(--vxe-ui-status-info-color)}.vxe-slider.theme--warning .vxe-slider--bar-track{background-color:var(--vxe-ui-status-warning-color)}.vxe-slider.theme--warning .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-warning-lighten-color)}.vxe-slider.theme--warning .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-warning-darken-color)}.vxe-slider.theme--warning .vxe-slider--bar-btn{background-color:var(--vxe-ui-status-warning-color)}.vxe-slider.theme--danger .vxe-slider--bar-track{background-color:var(--vxe-ui-status-danger-color)}.vxe-slider.theme--danger .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-danger-lighten-color)}.vxe-slider.theme--danger .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-danger-darken-color)}.vxe-slider.theme--danger .vxe-slider--bar-btn{background-color:var(--vxe-ui-status-danger-color)}.vxe-slider.theme--error .vxe-slider--bar-track{background-color:var(--vxe-ui-status-error-color)}.vxe-slider.theme--error .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-error-lighten-color)}.vxe-slider.theme--error .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-error-darken-color)}.vxe-slider.theme--error .vxe-slider--bar-btn{background-color:var(--vxe-ui-status-error-color)}.vxe-slider.is--disabled .vxe-slider--bar-btn{cursor:not-allowed}.vxe-slider:not(.is--disabled) .vxe-slider--bar-wrapper,.vxe-slider:not(.is--disabled) .vxe-slider--inner{cursor:pointer}.vxe-slider:not(.is--disabled) .vxe-slider--bar-btn:hover{transform:translate(-50%,-50%) scale(1.2)}.vxe-slider:not(.is--disabled) .vxe-slider--bar-btn:active{transform:translate(-50%,-50%) scale(1.1);cursor:grab}.vxe-slider.is--readonly .vxe-slider--bar-wrapper,.vxe-slider.is--readonly .vxe-slider--inner{cursor:default}.vxe-slider--inner{position:relative}.vxe-slider--bar-wrapper{background-color:#e4e7ed}.vxe-slider--bar-track{position:absolute;left:0;top:0;z-index:1;background-color:var(--vxe-ui-font-primary-color)}.vxe-slider--bar-track:hover{background-color:var(--vxe-ui-font-primary-lighten-color)}.vxe-slider--bar-track:active{background-color:var(--vxe-ui-font-primary-darken-color)}.vxe-slider--bar-track,.vxe-slider--bar-wrapper{height:.3em;border-radius:var(--vxe-ui-base-border-radius)}.vxe-slider--bar-btn{position:absolute;width:1.2em;height:1.2em;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--vxe-ui-font-primary-color);background-color:#fff;cursor:pointer;z-index:1;transition:transform .1s ease-in-out}
1
+ .vxe-slider{position:relative;display:block;padding:.8em}.vxe-slider.theme--primary .vxe-slider--bar-track{background-color:var(--vxe-ui-font-primary-color)}.vxe-slider.theme--primary .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-font-primary-lighten-color)}.vxe-slider.theme--primary .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-font-primary-darken-color)}.vxe-slider.theme--primary .vxe-slider--bar-btn{border-color:var(--vxe-ui-font-primary-color)}.vxe-slider.theme--primary.is--disabled .vxe-slider--bar-track{background-color:var(--vxe-ui-font-primary-disabled-color)}.vxe-slider.theme--primary.is--disabled .vxe-slider--bar-btn{border-color:var(--vxe-ui-font-primary-disabled-color);cursor:not-allowed}.vxe-slider.theme--success .vxe-slider--bar-track{background-color:var(--vxe-ui-status-success-color)}.vxe-slider.theme--success .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-success-lighten-color)}.vxe-slider.theme--success .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-success-darken-color)}.vxe-slider.theme--success .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-success-color)}.vxe-slider.theme--success.is--disabled .vxe-slider--bar-track{background-color:var(--vxe-ui-status-success-disabled-color)}.vxe-slider.theme--success.is--disabled .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-success-disabled-color);cursor:not-allowed}.vxe-slider.theme--info .vxe-slider--bar-track{background-color:var(--vxe-ui-status-info-color)}.vxe-slider.theme--info .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-info-lighten-color)}.vxe-slider.theme--info .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-info-darken-color)}.vxe-slider.theme--info .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-info-color)}.vxe-slider.theme--info.is--disabled .vxe-slider--bar-track{background-color:var(--vxe-ui-status-info-disabled-color)}.vxe-slider.theme--info.is--disabled .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-info-disabled-color);cursor:not-allowed}.vxe-slider.theme--warning .vxe-slider--bar-track{background-color:var(--vxe-ui-status-warning-color)}.vxe-slider.theme--warning .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-warning-lighten-color)}.vxe-slider.theme--warning .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-warning-darken-color)}.vxe-slider.theme--warning .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-warning-color)}.vxe-slider.theme--warning.is--disabled .vxe-slider--bar-track{background-color:var(--vxe-ui-status-warning-disabled-color)}.vxe-slider.theme--warning.is--disabled .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-warning-disabled-color);cursor:not-allowed}.vxe-slider.theme--danger .vxe-slider--bar-track{background-color:var(--vxe-ui-status-danger-color)}.vxe-slider.theme--danger .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-danger-lighten-color)}.vxe-slider.theme--danger .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-danger-darken-color)}.vxe-slider.theme--danger .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-danger-color)}.vxe-slider.theme--danger.is--disabled .vxe-slider--bar-track{background-color:var(--vxe-ui-status-danger-disabled-color)}.vxe-slider.theme--danger.is--disabled .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-danger-disabled-color);cursor:not-allowed}.vxe-slider.theme--error .vxe-slider--bar-track{background-color:var(--vxe-ui-status-error-color)}.vxe-slider.theme--error .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-error-lighten-color)}.vxe-slider.theme--error .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-error-darken-color)}.vxe-slider.theme--error .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-error-color)}.vxe-slider.theme--error.is--disabled .vxe-slider--bar-track{background-color:var(--vxe-ui-status-error-disabled-color)}.vxe-slider.theme--error.is--disabled .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-error-disabled-color);cursor:not-allowed}.vxe-slider.is--disabled .vxe-slider--bar-track{background-color:var(--vxe-ui-font-primary-disabled-color)}.vxe-slider.is--disabled .vxe-slider--bar-btn{border-color:var(--vxe-ui-font-primary-disabled-color);cursor:not-allowed}.vxe-slider:not(.is--disabled) .vxe-slider--bar-wrapper,.vxe-slider:not(.is--disabled) .vxe-slider--inner{cursor:pointer}.vxe-slider:not(.is--disabled) .vxe-slider--bar-btn:hover{transform:translate(-50%,-50%) scale(1.2)}.vxe-slider:not(.is--disabled) .vxe-slider--bar-btn:active{transform:translate(-50%,-50%) scale(1.1);cursor:grab}.vxe-slider.is--readonly .vxe-slider--bar-wrapper,.vxe-slider.is--readonly .vxe-slider--inner{cursor:default}.vxe-slider--inner{position:relative}.vxe-slider--bar-wrapper{background-color:#e4e7ed}.vxe-slider--bar-track{position:absolute;left:0;top:0;z-index:1;background-color:var(--vxe-ui-font-primary-color)}.vxe-slider--bar-track:hover{background-color:var(--vxe-ui-font-primary-lighten-color)}.vxe-slider--bar-track:active{background-color:var(--vxe-ui-font-primary-darken-color)}.vxe-slider--bar-track,.vxe-slider--bar-wrapper{height:.3em;border-radius:var(--vxe-ui-base-border-radius)}.vxe-slider--bar-btn{position:absolute;width:1.2em;height:1.2em;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--vxe-ui-font-primary-color);background-color:#fff;cursor:pointer;z-index:1;transition:transform .1s ease-in-out}
@@ -128,6 +128,7 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
128
128
  } = context;
129
129
  const $xeModal = (0, _vue.inject)('$xeModal', null);
130
130
  const $xeDrawer = (0, _vue.inject)('$xeDrawer', null);
131
+ const $xeGrid = (0, _vue.inject)('$xeGrid', null);
131
132
  const $xeTable = (0, _vue.inject)('$xeTable', null);
132
133
  const $xeTree = (0, _vue.inject)('$xeTree', null);
133
134
  const $xeForm = (0, _vue.inject)('$xeForm', null);
@@ -180,7 +181,7 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
180
181
  if (_xeUtils.default.isBoolean(globalTransfer)) {
181
182
  return globalTransfer;
182
183
  }
183
- if ($xeTable || $xeTree || $xeModal || $xeDrawer || $xeForm) {
184
+ if ($xeGrid || $xeTable || $xeTree || $xeModal || $xeDrawer || $xeForm) {
184
185
  return true;
185
186
  }
186
187
  }
@@ -582,12 +583,6 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
582
583
  return (0, _vue.nextTick)();
583
584
  }
584
585
  };
585
- const handleGlobalMousewheelEvent = evnt => {
586
- const panelElem = refBtnPanel.value;
587
- if (reactData.visiblePanel && !(0, _dom.getEventTargetNode)(evnt, panelElem).flag) {
588
- hidePanel();
589
- }
590
- };
591
586
  const handleGlobalMousedownEvent = evnt => {
592
587
  const btnDisabled = computeBtnDisabled.value;
593
588
  const {
@@ -610,6 +605,14 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
610
605
  updatePlacement();
611
606
  }
612
607
  };
608
+ const handleGlobalScrollEvent = () => {
609
+ const {
610
+ visiblePanel
611
+ } = reactData;
612
+ if (visiblePanel) {
613
+ updatePlacement();
614
+ }
615
+ };
613
616
  Object.assign($xeButton, buttonMethods);
614
617
  const renderVN = () => {
615
618
  const {
@@ -816,14 +819,14 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
816
819
  if (props.type === 'text') {
817
820
  warnLog('vxe.error.delProp', ['type=text', 'mode=text']);
818
821
  }
819
- _ui.globalEvents.on($xeButton, 'mousewheel', handleGlobalMousewheelEvent);
820
822
  _ui.globalEvents.on($xeButton, 'mousedown', handleGlobalMousedownEvent);
821
823
  _ui.globalEvents.on($xeButton, 'resize', handleGlobalResizeEvent);
824
+ _ui.globalEvents.on($xeButton, 'scroll', handleGlobalScrollEvent);
822
825
  });
823
826
  (0, _vue.onUnmounted)(() => {
824
- _ui.globalEvents.off($xeButton, 'mousewheel');
825
827
  _ui.globalEvents.off($xeButton, 'mousedown');
826
828
  _ui.globalEvents.off($xeButton, 'resize');
829
+ _ui.globalEvents.off($xeButton, 'scroll');
827
830
  });
828
831
  return $xeButton;
829
832
  },
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_tooltip=_interopRequireDefault(require("../../tooltip"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let warnLog=(0,_log.createComponentLog)("button").warnLog,VxeButtonComponent=(0,_comp.defineVxeComponent)({name:"VxeButton",props:{type:String,mode:String,className:[String,Function],popupClassName:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().button.size||(0,_ui.getConfig)().size},zIndex:Number,name:[String,Number],routerLink:Object,permissionCode:[String,Number],content:String,placement:String,status:String,title:String,shadow:Boolean,icon:String,iconRender:Object,prefixIcon:String,prefixRender:Object,suffixIcon:String,suffixRender:Object,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,trigger:{type:String,default:()=>(0,_ui.getConfig)().button.trigger},align:String,prefixTooltip:Object,suffixTooltip:Object,options:Array,showDropdownIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().button.showDropdownIcon},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().button.destroyOnClose},popupConfig:Object,transfer:{type:Boolean,default:null}},emits:["click","mouseenter","mouseleave","dropdown-click","dropdownClick","contextmenu"],setup(N,e){let{slots:I,emit:i}=e,n=(0,_vue.inject)("$xeModal",null),o=(0,_vue.inject)("$xeDrawer",null),u=(0,_vue.inject)("$xeTable",null),l=(0,_vue.inject)("$xeTree",null),a=(0,_vue.inject)("$xeForm",null),s=(0,_vue.inject)("$xeButtonGroup",null);var t=_xeUtils.default.uniqueId();let B=(0,_ui.useSize)(N).computeSize,S=(0,_ui.usePermission)(N).computePermissionInfo,j=(0,_vue.reactive)({initialized:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,panelIndex:0,panelStyle:{},panelPlacement:""}),r={showTime:void 0,tooltipTimeout:void 0},z=(0,_vue.ref)(),U=(0,_vue.ref)(),$=(0,_vue.ref)(),v={refElem:z},V={xID:t,props:N,context:e,reactData:j,internalData:r,getRefMaps:()=>v};let E=(0,_vue.computed)(()=>{var e=N.transfer,t=q.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=(0,_ui.getConfig)().button.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||l||n||o||a)return!0}return e}),D=(0,_vue.computed)(()=>{var e=N.disabled,t=S.value;return e||t.disabled}),M=(0,_vue.computed)(()=>{var e=N.type;return!!e&&-1<["submit","reset","button"].indexOf(e)}),J=(0,_vue.computed)(()=>{var{type:e,mode:t}=N;return"text"===t||"text"===e||s&&"text"===s.props.mode?"text":"button"}),K=(0,_vue.computed)(()=>{var e=N.status;return e||(s?s.props.status:"")}),Q=(0,_vue.computed)(()=>{var e=N.align;return e||!!s&&s.props.align}),X=(0,_vue.computed)(()=>{var e=N.round;return e||!!s&&s.props.round}),ee=(0,_vue.computed)(()=>{var e=N.circle;return e||!!s&&s.props.circle}),te=(0,_vue.computed)(()=>{var e=N.options;return e?e.filter(e=>{e=e.permissionCode;return!e||_ui.permission.checkVisible(e)}):[]}),q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.popupConfig,N.popupConfig)),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.prefixTooltip,N.prefixTooltip)),b=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.suffixTooltip,N.suffixTooltip)),p=()=>{var e=q.value.zIndex||N.zIndex;e?j.panelIndex=_xeUtils.default.toNumber(e):j.panelIndex<(0,_utils.getLastZIndex)()&&(j.panelIndex=(0,_utils.nextZIndex)())},d=()=>{let n=N.placement,i=j.panelIndex,o=U.value,u=$.value,l=E.value,a=q.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(o,u,{placement:a.placement||n,defaultPlacement:a.defaultPlacement,teleportTo:l}),t=Object.assign(e.style,{zIndex:i});j.panelStyle=t,j.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},A=e=>{s&&s.handleClick({name:N.name},e),Z("click",{$event:e},e)},ne=e=>{0===e.button&&e.stopPropagation()},ie=e=>{var t=e.currentTarget;let n=$.value;var{flag:t,targetElem:i}=(0,_dom.getEventTargetNode)(e,t,"vxe-button");t&&(n&&(n.dataset.active="N"),j.visiblePanel=!1,setTimeout(()=>{n&&"Y"===n.dataset.active||(j.isAniVisible=!1)},350),Z("dropdown-click",{name:i.getAttribute("name"),option:null},e))},L=()=>{let e=$.value;e&&(e.dataset.active="Y",j.isAniVisible=!0,setTimeout(()=>{"Y"===e.dataset.active&&(j.visiblePanel=!0,p(),d(),setTimeout(()=>{j.visiblePanel&&d()},50))},20))},oe=e=>{var t=N.loading;D.value||t||(c(),R(e))},ue=e=>{G(),F(e)},R=e=>{Z("mouseenter",{},e)},F=e=>{Z("mouseleave",{},e)},Y=e=>{Z("contextmenu",{},e)},H=e=>{var{loading:t,trigger:n}=N;D.value||t||("click"===n&&(j.visiblePanel?G:c)(),A(e))},c=()=>{var e=N.trigger;let t=$.value;return t&&(t.dataset.active="Y",j.initialized||(j.initialized=!0),r.showTime=setTimeout(()=>{"Y"===t.dataset.active?L():j.isAniVisible=!1},"click"===e?50:250)),(0,_vue.nextTick)()},G=()=>{let e=$.value;return clearTimeout(r.showTime),e?(e.dataset.active="N",setTimeout(()=>{"Y"!==e.dataset.active&&(j.visiblePanel=!1,setTimeout(()=>{"Y"!==e.dataset.active&&(j.isAniVisible=!1)},350))},100)):(j.isAniVisible=!1,j.visiblePanel=!1),(0,_vue.nextTick)()},le=()=>{G()},m=(e,t)=>(0,_vue.h)(_tooltip.default,{useHtml:_xeUtils.default.isBoolean(e.useHtml)?e.useHtml:e.useHTML,content:e.content,enterable:e.enterable,theme:e.theme},{default(){return(0,_vue.h)("span",{class:`vxe-button--item vxe-button--tooltip-${t}-icon`},[(0,_vue.h)("i",{class:e.icon||(0,_ui.getIcon)().BUTTON_TOOLTIP_ICON})])}}),W=()=>{var{content:e,suffixIcon:t,loading:n,prefixTooltip:i,suffixTooltip:o,suffixRender:u}=N,l=N.prefixIcon||N.icon,a=N.prefixRender||N.iconRender,s=_.value,r=b.value,v=I.prefix||I.icon,d=I.suffix,c=I.default,p=[];return i&&p.push(m(s,"prefix")),n?p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--loading-icon",(0,_ui.getIcon)().BUTTON_LOADING]})):v?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-prefix-icon"},v({}))):a?(s=(i=_ui.renderer.get(a.name))?i.renderButtonPrefix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-prefix-icon"]},s?(0,_vn.getSlotVNs)(s(a,{$button:V})):[]))):l&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--prefix-icon",l]})),c?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},c({}))):e&&p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},(0,_utils.getFuncText)(e))),d?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-suffix-icon"},d({}))):u?(v=(n=_ui.renderer.get(u.name))?n.renderButtonSuffix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-suffix-icon"]},v?(0,_vn.getSlotVNs)(v(u,{$button:V})):[]))):t&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--suffix-icon",t]})),o&&p.push(m(r,"suffix")),p},Z=(e,t,n)=>{i(e,(0,_ui.createEvent)(n,{$button:V},t))},x=(t={dispatchEvent:Z,openPanel:c,closePanel:G,focus(){var e=U.value;return e&&e.focus(),(0,_vue.nextTick)()},blur(){var e=U.value;return e&&e.blur(),(0,_vue.nextTick)()}},e=>{var t=$.value;j.visiblePanel&&!(0,_dom.getEventTargetNode)(e,t).flag&&G()}),f=e=>{var t,n=D.value,i=j.visiblePanel;n||(n=z.value,t=$.value,j.isActivated=(0,_dom.getEventTargetNode)(e,n).flag||(0,_dom.getEventTargetNode)(e,t).flag,i&&!j.isActivated&&G())},g=()=>{var e=j.visiblePanel;e&&d()};Object.assign(V,t);return V.renderVN=()=>{let{className:e,trigger:t,title:n,routerLink:i,type:o,destroyOnClose:u,name:l,loading:a,shadow:s,showDropdownIcon:r}=N;var{initialized:v,isAniVisible:d,visiblePanel:c}=j,p=M.value;let m=J.value;var _=K.value;let b=X.value;var x=Q.value;let f=ee.value;var g,h=E.value,T=D.value,C=S.value,w=te.value,y=q.value,O=B.value,k=y.appendTo,P=I.dropdowns,y=y.className||N.popupClassName;return C.visible?P||w.length?(C={onContextmenu:Y},g={},"hover"===t&&(C.onMouseenter=oe,C.onMouseleave=ue,g.onMouseenter=L,g.onMouseleave=le),(0,_vue.h)("div",{ref:z,class:["vxe-button--dropdown",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+O]:O,"is--active":c}]},[i?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({ref:U,class:["vxe-button","vxe-button--link","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+O]:O,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--shadow":s,"is--disabled":T||a,"is--loading":a}],title:n,name:l,type:p?o:"button",disabled:T||a,to:i,onClick:H},C),{default(){return W().concat(r?[(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})]:[])}}):(0,_vue.h)("button",Object.assign({ref:U,class:["vxe-button","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+O]:O,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--shadow":s,"is--disabled":T||a,"is--loading":a}],title:n,name:l,type:p?o:"button",disabled:T||a,onClick:H},C),W().concat(r?[(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})]:[])),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(k),disabled:!h||!v},[(0,_vue.h)("div",Object.assign({ref:$,class:["vxe-button--dropdown-panel",y?_xeUtils.default.isFunction(y)?y({$button:V}):y:"",{["size--"+O]:O,"is--transfer":h,"ani--leave":d,"ani--enter":c}],placement:j.panelPlacement,style:j.panelStyle},g),v&&(c||d)?[P?(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper",onMousedown:ne,onClick:ie},v&&(!u||c||d)?P({}):[]):(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper"},v&&(!u||c||d)?w.map((t,e)=>(0,_vue.h)(VxeButtonComponent,{key:e,type:t.type,mode:t.mode||m,className:t.className,name:t.name,routerLink:t.routerLink,permissionCode:t.permissionCode,title:t.title,content:t.content,status:t.status,icon:t.icon,round:_xeUtils.default.isBoolean(t.round)?t.round:"text"!==m&&b,circle:_xeUtils.default.isBoolean(t.circle)?t.circle:"text"!==m&&f,disabled:t.disabled,loading:t.loading,align:t.align,onClick(e){((e,t)=>{e=e.$event;G(),Z("dropdown-click",{name:t.name,option:t},e)})(e,t)}})):[])]:[])])])):i?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{ref:U,class:["vxe-button","vxe-button--link","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+O]:O,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--shadow":s,"is--disabled":T||a,"is--loading":a}],title:n,name:l,type:p?o:"button",disabled:T||a,to:i,onClick:A,onMouseenter:R,onMouseleave:F,onContextmenu:Y},{default(){return W()}}):(0,_vue.h)("button",{ref:U,class:["vxe-button","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+O]:O,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--shadow":s,"is--disabled":T||a,"is--loading":a}],title:n,name:l,type:p?o:"button",disabled:T||a,onClick:A,onMouseenter:R,onMouseleave:F,onContextmenu:Y},W()):(0,_ui.renderEmptyElement)(V)},(0,_vue.onMounted)(()=>{"text"===N.type&&warnLog("vxe.error.delProp",["type=text","mode=text"]),_ui.globalEvents.on(V,"mousewheel",x),_ui.globalEvents.on(V,"mousedown",f),_ui.globalEvents.on(V,"resize",g)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(V,"mousewheel"),_ui.globalEvents.off(V,"mousedown"),_ui.globalEvents.off(V,"resize")}),V},render(){return this.renderVN()}});var _default=exports.default=VxeButtonComponent;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_tooltip=_interopRequireDefault(require("../../tooltip"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let warnLog=(0,_log.createComponentLog)("button").warnLog,VxeButtonComponent=(0,_comp.defineVxeComponent)({name:"VxeButton",props:{type:String,mode:String,className:[String,Function],popupClassName:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().button.size||(0,_ui.getConfig)().size},zIndex:Number,name:[String,Number],routerLink:Object,permissionCode:[String,Number],content:String,placement:String,status:String,title:String,shadow:Boolean,icon:String,iconRender:Object,prefixIcon:String,prefixRender:Object,suffixIcon:String,suffixRender:Object,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,trigger:{type:String,default:()=>(0,_ui.getConfig)().button.trigger},align:String,prefixTooltip:Object,suffixTooltip:Object,options:Array,showDropdownIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().button.showDropdownIcon},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().button.destroyOnClose},popupConfig:Object,transfer:{type:Boolean,default:null}},emits:["click","mouseenter","mouseleave","dropdown-click","dropdownClick","contextmenu"],setup(I,e){let{slots:N,emit:i}=e,n=(0,_vue.inject)("$xeModal",null),o=(0,_vue.inject)("$xeDrawer",null),u=(0,_vue.inject)("$xeGrid",null),l=(0,_vue.inject)("$xeTable",null),a=(0,_vue.inject)("$xeTree",null),s=(0,_vue.inject)("$xeForm",null),r=(0,_vue.inject)("$xeButtonGroup",null);var t=_xeUtils.default.uniqueId();let B=(0,_ui.useSize)(I).computeSize,S=(0,_ui.usePermission)(I).computePermissionInfo,j=(0,_vue.reactive)({initialized:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,panelIndex:0,panelStyle:{},panelPlacement:""}),v={showTime:void 0,tooltipTimeout:void 0},z=(0,_vue.ref)(),U=(0,_vue.ref)(),$=(0,_vue.ref)(),c={refElem:z},V={xID:t,props:I,context:e,reactData:j,internalData:v,getRefMaps:()=>c};let D=(0,_vue.computed)(()=>{var e=I.transfer,t=M.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=(0,_ui.getConfig)().button.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||l||a||n||o||s)return!0}return e}),E=(0,_vue.computed)(()=>{var e=I.disabled,t=S.value;return e||t.disabled}),Z=(0,_vue.computed)(()=>{var e=I.type;return!!e&&-1<["submit","reset","button"].indexOf(e)}),J=(0,_vue.computed)(()=>{var{type:e,mode:t}=I;return"text"===t||"text"===e||r&&"text"===r.props.mode?"text":"button"}),K=(0,_vue.computed)(()=>{var e=I.status;return e||(r?r.props.status:"")}),Q=(0,_vue.computed)(()=>{var e=I.align;return e||!!r&&r.props.align}),X=(0,_vue.computed)(()=>{var e=I.round;return e||!!r&&r.props.round}),ee=(0,_vue.computed)(()=>{var e=I.circle;return e||!!r&&r.props.circle}),te=(0,_vue.computed)(()=>{var e=I.options;return e?e.filter(e=>{e=e.permissionCode;return!e||_ui.permission.checkVisible(e)}):[]}),M=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.popupConfig,I.popupConfig)),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.prefixTooltip,I.prefixTooltip)),b=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.suffixTooltip,I.suffixTooltip)),x=()=>{var e=M.value.zIndex||I.zIndex;e?j.panelIndex=_xeUtils.default.toNumber(e):j.panelIndex<(0,_utils.getLastZIndex)()&&(j.panelIndex=(0,_utils.nextZIndex)())},d=()=>{let n=I.placement,i=j.panelIndex,o=U.value,u=$.value,l=D.value,a=M.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(o,u,{placement:a.placement||n,defaultPlacement:a.defaultPlacement,teleportTo:l}),t=Object.assign(e.style,{zIndex:i});j.panelStyle=t,j.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},q=e=>{r&&r.handleClick({name:I.name},e),W("click",{$event:e},e)},ne=e=>{0===e.button&&e.stopPropagation()},ie=e=>{var t=e.currentTarget;let n=$.value;var{flag:t,targetElem:i}=(0,_dom.getEventTargetNode)(e,t,"vxe-button");t&&(n&&(n.dataset.active="N"),j.visiblePanel=!1,setTimeout(()=>{n&&"Y"===n.dataset.active||(j.isAniVisible=!1)},350),W("dropdown-click",{name:i.getAttribute("name"),option:null},e))},A=()=>{let e=$.value;e&&(e.dataset.active="Y",j.isAniVisible=!0,setTimeout(()=>{"Y"===e.dataset.active&&(j.visiblePanel=!0,x(),d(),setTimeout(()=>{j.visiblePanel&&d()},50))},20))},oe=e=>{var t=I.loading;E.value||t||(p(),L(e))},ue=e=>{H(),R(e)},L=e=>{W("mouseenter",{},e)},R=e=>{W("mouseleave",{},e)},F=e=>{W("contextmenu",{},e)},Y=e=>{var{loading:t,trigger:n}=I;E.value||t||("click"===n&&(j.visiblePanel?H:p)(),q(e))},p=()=>{var e=I.trigger;let t=$.value;return t&&(t.dataset.active="Y",j.initialized||(j.initialized=!0),v.showTime=setTimeout(()=>{"Y"===t.dataset.active?A():j.isAniVisible=!1},"click"===e?50:250)),(0,_vue.nextTick)()},H=()=>{let e=$.value;return clearTimeout(v.showTime),e?(e.dataset.active="N",setTimeout(()=>{"Y"!==e.dataset.active&&(j.visiblePanel=!1,setTimeout(()=>{"Y"!==e.dataset.active&&(j.isAniVisible=!1)},350))},100)):(j.isAniVisible=!1,j.visiblePanel=!1),(0,_vue.nextTick)()},le=()=>{H()},m=(e,t)=>(0,_vue.h)(_tooltip.default,{useHtml:_xeUtils.default.isBoolean(e.useHtml)?e.useHtml:e.useHTML,content:e.content,enterable:e.enterable,theme:e.theme},{default(){return(0,_vue.h)("span",{class:`vxe-button--item vxe-button--tooltip-${t}-icon`},[(0,_vue.h)("i",{class:e.icon||(0,_ui.getIcon)().BUTTON_TOOLTIP_ICON})])}}),G=()=>{var{content:e,suffixIcon:t,loading:n,prefixTooltip:i,suffixTooltip:o,suffixRender:u}=I,l=I.prefixIcon||I.icon,a=I.prefixRender||I.iconRender,s=_.value,r=b.value,v=N.prefix||N.icon,c=N.suffix,d=N.default,p=[];return i&&p.push(m(s,"prefix")),n?p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--loading-icon",(0,_ui.getIcon)().BUTTON_LOADING]})):v?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-prefix-icon"},v({}))):a?(s=(i=_ui.renderer.get(a.name))?i.renderButtonPrefix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-prefix-icon"]},s?(0,_vn.getSlotVNs)(s(a,{$button:V})):[]))):l&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--prefix-icon",l]})),d?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},d({}))):e&&p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},(0,_utils.getFuncText)(e))),c?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-suffix-icon"},c({}))):u?(v=(n=_ui.renderer.get(u.name))?n.renderButtonSuffix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-suffix-icon"]},v?(0,_vn.getSlotVNs)(v(u,{$button:V})):[]))):t&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--suffix-icon",t]})),o&&p.push(m(r,"suffix")),p},W=(e,t,n)=>{i(e,(0,_ui.createEvent)(n,{$button:V},t))},f=(t={dispatchEvent:W,openPanel:p,closePanel:H,focus(){var e=U.value;return e&&e.focus(),(0,_vue.nextTick)()},blur(){var e=U.value;return e&&e.blur(),(0,_vue.nextTick)()}},e=>{var t,n=E.value,i=j.visiblePanel;n||(n=z.value,t=$.value,j.isActivated=(0,_dom.getEventTargetNode)(e,n).flag||(0,_dom.getEventTargetNode)(e,t).flag,i&&!j.isActivated&&H())}),g=()=>{var e=j.visiblePanel;e&&d()},h=()=>{var e=j.visiblePanel;e&&d()};Object.assign(V,t);return V.renderVN=()=>{let{className:e,trigger:t,title:n,routerLink:i,type:o,destroyOnClose:u,name:l,loading:a,shadow:s,showDropdownIcon:r}=I;var{initialized:v,isAniVisible:c,visiblePanel:d}=j,p=Z.value;let m=J.value;var _=K.value;let b=X.value;var x=Q.value;let f=ee.value;var g,h=D.value,T=E.value,C=S.value,w=te.value,y=M.value,O=B.value,k=y.appendTo,P=N.dropdowns,y=y.className||I.popupClassName;return C.visible?P||w.length?(C={onContextmenu:F},g={},"hover"===t&&(C.onMouseenter=oe,C.onMouseleave=ue,g.onMouseenter=A,g.onMouseleave=le),(0,_vue.h)("div",{ref:z,class:["vxe-button--dropdown",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+O]:O,"is--active":d}]},[i?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({ref:U,class:["vxe-button","vxe-button--link","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+O]:O,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--shadow":s,"is--disabled":T||a,"is--loading":a}],title:n,name:l,type:p?o:"button",disabled:T||a,to:i,onClick:Y},C),{default(){return G().concat(r?[(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})]:[])}}):(0,_vue.h)("button",Object.assign({ref:U,class:["vxe-button","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+O]:O,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--shadow":s,"is--disabled":T||a,"is--loading":a}],title:n,name:l,type:p?o:"button",disabled:T||a,onClick:Y},C),G().concat(r?[(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})]:[])),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(k),disabled:!h||!v},[(0,_vue.h)("div",Object.assign({ref:$,class:["vxe-button--dropdown-panel",y?_xeUtils.default.isFunction(y)?y({$button:V}):y:"",{["size--"+O]:O,"is--transfer":h,"ani--leave":c,"ani--enter":d}],placement:j.panelPlacement,style:j.panelStyle},g),v&&(d||c)?[P?(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper",onMousedown:ne,onClick:ie},v&&(!u||d||c)?P({}):[]):(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper"},v&&(!u||d||c)?w.map((t,e)=>(0,_vue.h)(VxeButtonComponent,{key:e,type:t.type,mode:t.mode||m,className:t.className,name:t.name,routerLink:t.routerLink,permissionCode:t.permissionCode,title:t.title,content:t.content,status:t.status,icon:t.icon,round:_xeUtils.default.isBoolean(t.round)?t.round:"text"!==m&&b,circle:_xeUtils.default.isBoolean(t.circle)?t.circle:"text"!==m&&f,disabled:t.disabled,loading:t.loading,align:t.align,onClick(e){((e,t)=>{e=e.$event;H(),W("dropdown-click",{name:t.name,option:t},e)})(e,t)}})):[])]:[])])])):i?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{ref:U,class:["vxe-button","vxe-button--link","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+O]:O,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--shadow":s,"is--disabled":T||a,"is--loading":a}],title:n,name:l,type:p?o:"button",disabled:T||a,to:i,onClick:q,onMouseenter:L,onMouseleave:R,onContextmenu:F},{default(){return G()}}):(0,_vue.h)("button",{ref:U,class:["vxe-button","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+O]:O,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--shadow":s,"is--disabled":T||a,"is--loading":a}],title:n,name:l,type:p?o:"button",disabled:T||a,onClick:q,onMouseenter:L,onMouseleave:R,onContextmenu:F},G()):(0,_ui.renderEmptyElement)(V)},(0,_vue.onMounted)(()=>{"text"===I.type&&warnLog("vxe.error.delProp",["type=text","mode=text"]),_ui.globalEvents.on(V,"mousedown",f),_ui.globalEvents.on(V,"resize",g),_ui.globalEvents.on(V,"scroll",h)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(V,"mousedown"),_ui.globalEvents.off(V,"resize"),_ui.globalEvents.off(V,"scroll")}),V},render(){return this.renderVN()}});var _default=exports.default=VxeButtonComponent;
@@ -1038,22 +1038,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1038
1038
  } = params;
1039
1039
  hideOptionPanel($event);
1040
1040
  };
1041
- const handleGlobalMousewheelEvent = evnt => {
1042
- const {
1043
- visiblePanel
1044
- } = reactData;
1045
- const isDisabled = computeIsDisabled.value;
1046
- if (!isDisabled) {
1047
- if (visiblePanel) {
1048
- const panelElem = refOptionPanel.value;
1049
- if ((0, _dom.getEventTargetNode)(evnt, panelElem).flag) {
1050
- updatePlacement();
1051
- } else {
1052
- hideOptionPanel(evnt);
1053
- }
1054
- }
1055
- }
1056
- };
1057
1041
  const handleGlobalMousedownEvent = evnt => {
1058
1042
  const {
1059
1043
  visiblePanel
@@ -1094,6 +1078,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1094
1078
  updatePlacement();
1095
1079
  }
1096
1080
  };
1081
+ const handleGlobalScrollEvent = () => {
1082
+ const {
1083
+ visiblePanel
1084
+ } = reactData;
1085
+ if (visiblePanel) {
1086
+ updatePlacement();
1087
+ }
1088
+ };
1097
1089
  const handleFocusSearch = () => {
1098
1090
  if (props.filterable) {
1099
1091
  (0, _vue.nextTick)(() => {
@@ -2028,16 +2020,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2028
2020
  });
2029
2021
  loadData(props.options || []);
2030
2022
  (0, _vue.onMounted)(() => {
2031
- _ui.globalEvents.on($xeCascader, 'mousewheel', handleGlobalMousewheelEvent);
2032
2023
  _ui.globalEvents.on($xeCascader, 'mousedown', handleGlobalMousedownEvent);
2033
2024
  _ui.globalEvents.on($xeCascader, 'blur', handleGlobalBlurEvent);
2034
2025
  _ui.globalEvents.on($xeCascader, 'resize', handleGlobalResizeEvent);
2026
+ _ui.globalEvents.on($xeCascader, 'scroll', handleGlobalScrollEvent);
2035
2027
  });
2036
2028
  (0, _vue.onUnmounted)(() => {
2037
- _ui.globalEvents.off($xeCascader, 'mousewheel');
2038
2029
  _ui.globalEvents.off($xeCascader, 'mousedown');
2039
2030
  _ui.globalEvents.off($xeCascader, 'blur');
2040
2031
  _ui.globalEvents.off($xeCascader, 'resize');
2032
+ _ui.globalEvents.off($xeCascader, 'scroll');
2041
2033
  _xeUtils.default.assign(reactData, createReactData());
2042
2034
  _xeUtils.default.assign(internalData, createInternalData());
2043
2035
  });
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils")),_list=_interopRequireDefault(require("../../list")),_input=_interopRequireDefault(require("../../input")),_button=_interopRequireDefault(require("../../button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}function createReactData(){return{initialized:!1,searchValue:"",searchLoading:!1,currentCunkList:[],currentItems:[],currentNode:null,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,selectRadioKey:null,treeList:[],updateExpandedFlag:1,updateCheckboxFlag:1,fullOptFlag:1,lazyOptFlag:1}}function createInternalData(){return{listVirtualYOpts:{enabled:!0,gt:20},afterTreeList:[],treeFullData:[],afterVisibleList:[],nodeMaps:{},fullNodeMaps:{},lazyNodeMaps:{},indeterminateRowMaps:{},selectCheckboxMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{}}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeCascader",props:{modelValue:[String,Number,Array],clearable:Boolean,placeholder:{type:String,default:()=>_xeUtils.default.eqNull((0,_ui.getConfig)().cascader.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().cascader.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},filterable:Boolean,filterConfig:Object,showFullLabel:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showFullLabel},separator:{type:String,default:()=>(0,_ui.getConfig)().cascader.separator},multiple:Boolean,className:[String,Function],prefixIcon:String,lazyOptions:Array,options:Array,optionProps:Object,size:{type:String,default:()=>(0,_ui.getConfig)().cascader.size||(0,_ui.getConfig)().size},treeConfig:Object,showRadio:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showRadio},radioConfig:Object,showCheckbox:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showCheckbox},checkboxConfig:Object,remote:Boolean,remoteConfig:Function,popupConfig:Object,checkedClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.checkedClosable},clearClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.clearClosable},showCloseButton:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showCloseButton},showTotalButton:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showTotalButton},showCheckedButton:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showCheckedButton},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showClearButton}},emits:["update:modelValue","change","all-change","clear","blur","focus","click","node-click","node-expand","current-change","radio-change","checkbox-change","load-success","load-error","visible-change"],setup(U,e){let{emit:l,slots:V}=e,d=(0,_vue.inject)("$xeModal",null),c=(0,_vue.inject)("$xeDrawer",null),k=(0,_vue.inject)("$xeTable",null),r=(0,_vue.inject)("$xeForm",null),i=(0,_vue.inject)("xeFormItemInfo",null);var a=_xeUtils.default.uniqueId();let w=(0,_ui.useSize)(U).computeSize,I=(0,_vue.ref)(),$=(0,_vue.ref)(),j=(0,_vue.ref)(),q=(0,_vue.ref)(),L=(0,_vue.ref)(),D=(0,_vue.reactive)(createReactData()),F=createInternalData(),y={refElem:I},K=(0,_vue.computed)(()=>{var e=U.readonly;return null===e?!!r&&r.props.readonly:e}),T=(0,_vue.computed)(()=>{var e=U.disabled;return null===e?!!r&&r.props.disabled:e}),H=(0,_vue.computed)(()=>{var e=N.value.transfer;return _xeUtils.default.isBoolean(e)?e:!!(k||d||c||r)}),O=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.treeConfig,U.treeConfig)),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.radioConfig,U.radioConfig)),g=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.checkboxConfig,U.checkboxConfig)),N=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.popupConfig,U.popupConfig)),M=(0,_vue.computed)(()=>U.optionProps||{}),P=(0,_vue.computed)(()=>M.value.label||"label"),p=(0,_vue.computed)(()=>M.value.value||"value"),X=(0,_vue.computed)(()=>O.value.keyField||"id"),Y=(0,_vue.computed)(()=>O.value.parentField||"parentId"),A=(0,_vue.computed)(()=>O.value.childrenField||"children"),B=(0,_vue.computed)(()=>O.value.mapChildrenField||"mapChildren"),W=(0,_vue.computed)(()=>O.value.hasChildField||"hasChild"),Z=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.remoteConfig,U.remoteConfig)),G=(0,_vue.computed)(()=>{var e=U.modelValue;return _xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e]}),J=(0,_vue.computed)(()=>{let t=U.showFullLabel,{fullOptFlag:l,lazyOptFlag:r}=D,{fullNodeMaps:i,lazyNodeMaps:n}=F,u=P.value;return G.value.map(e=>{var a=i[e];if(l&&a)return t?a.fullLabel:a.item[u];if(r){a=n[e];if(a)return t?a.fullLabel:a.item[u]}return e}).join(", ")}),Q=(0,_vue.computed)(()=>{var{currentCunkList:e,panelStyle:a}=D,{height:t,nodeWidth:l,nodeHeight:r}=N.value,a=Object.assign(Object.assign({},a),{"--vxe-ui-cascader-chunk-size":e.length});return t&&(a["--vxe-ui-cascader-chunk-height"]=(0,_dom.toCssUnit)(t)),l&&(a["--vxe-ui-cascader-node-width"]=(0,_dom.toCssUnit)(l)),r&&(a["--vxe-ui-cascader-node-height"]=(0,_dom.toCssUnit)(r)),a}),ee=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.filterConfig,U.filterConfig)),ae={},R={xID:a,props:U,context:e,reactData:D,internalData:F,getRefMaps:()=>y,getComputeMaps:()=>ae},x=(e,a,t)=>{l(e,(0,_ui.createEvent)(t,{$cascader:R},a))},te=e=>{l("update:modelValue",e)};a={dispatchEvent:x};let S=e=>e?(e=e[p.value],(0,_util.enNodeValue)(e)):"";let le=(e,t)=>{let l=F.selectCheckboxMaps;var a=B.value,r=A.value,i=g.value.checkStrictly,n=O.value.transform,u=e=>{var a=S(e);t?l[a]||(l[a]=e):l[a]&&delete l[a]};i?e.forEach(u):_xeUtils.default.eachTree(e,u,{children:n?a:r}),D.updateCheckboxFlag++,C()},re=(e,t)=>{let l=F.nodeMaps;if(e){_xeUtils.default.isArray(e)||(e=[e]);let a=[];e.forEach(e=>{e=(0,_util.enNodeValue)(e),e=l[e];e&&a.push(e.item)}),le(a,t)}return(0,_vue.nextTick)()},ie=()=>{var e,a=U.modelValue,t=F.nodeMaps;let l={};U.multiple?a&&a.length&&(e=a,F.selectCheckboxMaps={},re(e,!0)):a&&(t=t[e=(0,_util.enNodeValue)(_xeUtils.default.isArray(a)?a[0]:a)])&&(t.nodes.forEach(e=>{l[S(e)]=!0}),D.selectRadioKey=e),F.treeExpandedMaps=l},ne=()=>{let o=U.separator;var e=F.treeFullData;let s=p.value,d=P.value;var a=A.value;let c={},v={};_xeUtils.default.eachTree(e,(e,a,t,l,r,i)=>{let n=S(e);n||(n=getNodeUniqueId(),e[s]=n);var u=e[s],e={item:e,index:a,$index:-1,_index:-1,items:t,parent:r,nodes:i,level:i.length-1,treeIndex:a,lineCount:0,treeLoaded:!1,fullLabel:i.map(e=>e[d]).join(o||" / ")};c[n]=e,v[u]=e},{children:a}),F.nodeMaps=c,F.fullNodeMaps=v,D.fullOptFlag++},ue=()=>{let o=U.separator,{afterTreeList:e,nodeMaps:s}=F,d=P.value;var a=A.value,t=B.value,l=O.value.transform;let c=0;_xeUtils.default.eachTree(e,(e,a,t,l,r,i)=>{var n=S(e),u=s[n];u?(u.items=t,u.treeIndex=a,u._index=c):(u={item:e,index:a,$index:-1,_index:c,items:t,parent:r,nodes:i,level:i.length-1,treeIndex:a,lineCount:0,treeLoaded:!1,fullLabel:i.map(e=>e[d]).join(o||" / ")},s[n]=u),c++},{children:l?t:a})},oe=()=>{var a=D.searchValue,{treeFullData:t,lastFilterValue:e}=F;let l=P.value;var r=A.value,i=B.value,n=O.value.transform;let{beforeFilterMethod:u,filterMethod:o,afterFilterMethod:s}=ee.value,d=t,c=d,v="";if(a){v=""+a;a=o?e=>o({$cascader:R,node:e,filterValue:v}):e=>-1<String(e[l]).toLowerCase().indexOf(v.toLowerCase());let e={$cascader:R,filterValue:v};u&&u(e),d=n?c=_xeUtils.default.searchTree(t,a,{original:!0,isEvery:!1,children:r,mapChildren:i}):t.filter(a),F.lastFilterValue=v,(0,_vue.nextTick)(()=>{s&&s(e)})}else{if(n&&(c=_xeUtils.default.searchTree(t,()=>!0,{original:!0,isEvery:!1,children:r,mapChildren:i}),d=c,e)){let e={$cascader:R,filterValue:v};u&&u(e),(0,_vue.nextTick)(()=>{s&&s(e)})}F.lastFilterValue=""}F.afterVisibleList=d,F.afterTreeList=c,ue()},v=()=>{let{afterTreeList:e,treeExpandedMaps:o}=F;var a=B.value,t=O.value.transform;let s={};if(t){let u=[];return _xeUtils.default.eachTree(e,(e,a,t,l,r)=>{var i=S(e),n=S(r);(!r||s[n]&&o[n])&&(s[i]=1,u.push(e))},{children:a}),F.afterVisibleList=u}return F.afterVisibleList},h=e=>{let a=F.afterVisibleList;e&&(oe(),a=v());e=a.slice(0);D.treeList=e};let se=_xeUtils.default.debounce(()=>{h(!0),C();var e=D.currentItems,t=F.afterTreeList,l=ee.value.autoExpandMode;if(!((e,t)=>{if(!t||!t.length)return!1;let l=e;for(let a of t){var r=l.find(e=>S(e)===a);if(!r)return!1;l=r.children||[]}return!0})(t,e))if("first"===l||"last"===l){e=((e,a)=>{var t=A.value,l=B.value,r=O.value.transform,i=r?l:t,n=[];let u=e;for(;u.length;){let e=null;for(var o of u){var s=o[i];if(_xeUtils.default.isArray(s)&&0<s.length){e=o;break}}if(!e){var d=_xeUtils.default[a](u);n.push(S(d));break}n.push(S(e)),u=e[i]}return n})(t,l);let a={};e.forEach(e=>{a[e]=!0}),F.treeExpandedMaps=a,D.currentItems=e}else o();u()},350,{trailing:!0}),de=e=>{var a=O.value,t=X.value,l=Y.value,r=A.value,{rootParentValue:i,rootValues:n}=a,a=a.transform,a=a?_xeUtils.default.toArrayTree(e,{key:t,parentKey:l,mapChildren:r,rootParentValue:i,rootValues:n}):e?e.slice(0):[];return F.treeFullData=a,ne(),h(!0),ie(),o(),u(),(0,_vue.nextTick)()},u=()=>{var l=D.currentItems,r=F.afterTreeList,i=A.value,n=B.value,u=O.value.transform,o=[r];if(l.length){let e=0,a=l[e],t=r;for(;a&&t&&t.length;){a=l[e++];var s=t.find(e=>a===S(e));if(!(t=s?s[u?n:i]:[])||!t.length)break;o.push(t)}}D.currentCunkList=o},o=()=>{var e=D.currentNode,a=F.afterTreeList,t=G.value,l=A.value,r=B.value,i=O.value.transform;let n=[],u={},o=e?S(e):(0,_util.enNodeValue)(_xeUtils.default.last(t));o&&(e=_xeUtils.default.findTree(a,e=>o===S(e),{children:i?r:l}))&&(t=e.nodes,t.forEach(e=>{e=S(e);u[e]=!0,n.push(e)})),D.currentItems=n,F.treeExpandedMaps=u},ce=()=>{var e=N.value.zIndex;e?D.panelIndex=e:D.panelIndex<(0,_utils.getLastZIndex)()&&(D.panelIndex=(0,_utils.nextZIndex)())},s=()=>{let t=D.panelIndex,l=I.value,r=L.value,i=H.value,n=N.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(l,r,{placement:n.placement,defaultPlacement:n.defaultPlacement,teleportTo:i,isMinWidth:!1}),a=Object.assign(e.style,{zIndex:t});D.panelStyle=a,D.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},t=e=>{var{loading:a,remote:t,filterable:l}=U,r=F.treeFullData,i=T.value,n=Z.value;a||i||(clearTimeout(F.hpTimeout),D.initialized||(D.initialized=!0),D.isActivated=!0,D.isAniVisible=!0,l&&t&&n.enabled&&n.autoLoad&&!r.length&&Fe(),setTimeout(()=>{D.visiblePanel=!0,ye()},10),ce(),s(),x("visible-change",{visible:!0},e||null))},f=e=>{D.visiblePanel=!1,F.hpTimeout=setTimeout(()=>{D.isAniVisible=!1},350),x("visible-change",{visible:!1},e||null)},ve=e=>(D.currentNode=e,u(),(0,_vue.nextTick)()),pe=e=>{let t={};var a=A.value,l=B.value,r=O.value.transform;let i=[],n=[];return e&&_xeUtils.default.eachTree(F.afterTreeList,e=>{var a=S(e);i.push(a),n.push(e),t[a]=!0},{children:r?l:a}),F.indeterminateRowMaps={},F.selectCheckboxMaps=t,D.updateCheckboxFlag++,C(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:i,checkNodes:n}))},he=()=>(F.indeterminateRowMaps={},F.selectCheckboxMaps={},D.updateCheckboxFlag++,D.selectRadioKey=null,C(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:[],checkNodes:[]}))),m=(e,a,t)=>{a=_xeUtils.default.isArray(a)?a.map(_util.deNodeValue):(0,_util.deNodeValue)(a);F.isUpdateMode=!0,te(a),a!==U.modelValue&&(x("change",{value:a,node:t,option:t},e),r)&&i&&r.triggerItemEvent(e,i.itemConfig.field,a)},fe=(e,a)=>{m(e,a,null),x("clear",{value:a},e)},_e=(e,a)=>{fe(a,null),f(a)},ge=e=>{let t=e.$event,{multiple:a,checkedClosable:l}=U;a&&pe(!0).then(({checkNodeKeys:e,checkNodes:a})=>{m(t,e,a[0]),x("all-change",{value:e},t),l&&f(t)})},xe=e=>{let a=e.$event,{multiple:t,checkedClosable:l}=U;e=t?[]:null;he().then(()=>{l&&f(a)}),m(a,e,null),x("clear",{value:e},a)},me=e=>{e=e.$event;f(e)},be=e=>{var a=D.visiblePanel;T.value||a&&(a=L.value,(0,_dom.getEventTargetNode)(e,a).flag?s():f(e))},Ce=e=>{var a,t,l=D.visiblePanel;T.value||(a=I.value,t=L.value,D.isActivated=(0,_dom.getEventTargetNode)(e,a).flag||(0,_dom.getEventTargetNode)(e,t).flag,l&&!D.isActivated&&f(e))},Ee=e=>{var{visiblePanel:a,isActivated:t}=D;a&&f(e),t&&(D.isActivated=!1),(a||t)&&(e=$.value)&&e.blur()},ke=()=>{var e=D.visiblePanel;e&&s()},ye=()=>{U.filterable&&(0,_vue.nextTick)(()=>{var e=j.value;e&&e.focus()})},b=(e,a)=>{e.preventDefault();D.currentNode=a,x("current-change",{node:a,checked:!0},e)},Me=(e,a,t,l)=>{e.preventDefault(),e.stopPropagation();var r=D.currentItems,i=F.nodeMaps,n=_.value,u=A.value,o=O.value.transform,s=B.value,{checkMode:n,checkMethod:d}=n,c=S(a),o=a[o?s:u],s=o&&0<o.length,u=(i[c]||{}).level;(d?d({$cascader:R,node:a}):E(n,s,u))&&(o=c,D.selectRadioKey=o,m(e,o,a),r.includes(c)||(b(e,a),z(e,a,t,l)),f(e))},Ie=i=>{var e=g.value;let t=O.value.loadMethod,n=e.checkStrictly;return new Promise(e=>{if(t){var a=F.nodeMaps;let l=S(i),r=a[l];F.treeExpandLazyLoadedMaps[l]=!0,Promise.resolve(t({$cascader:R,node:i})).then(t=>{var e=F.treeExpandLazyLoadedMaps;if(r.treeLoaded=!0,e[l]&&(e[l]=!1),t=_xeUtils.default.isArray(t)?t:[])return R.loadChildrenNode(i,t).then(e=>{var a=F.treeExpandedMaps;return e.length&&!a[l]&&(a[l]=!0),D.updateExpandedFlag++,!n&&R.isCheckedByCheckboxNodeId(l)&&le(e,!0),x("load-success",{node:i,data:t},new Event("load-success")),(0,_vue.nextTick)()});x("load-success",{node:i,data:t},new Event("load-success"))}).catch(e=>{var a=F.treeExpandLazyLoadedMaps;r.treeLoaded=!1,a[l]&&(a[l]=!1),x("load-error",{node:i,data:e},new Event("load-error"))}).finally(()=>{v(),h()})}else e()})},Le=(e,a)=>{let{treeExpandLazyLoadedMaps:l,treeExpandedMaps:r}=F,i=F.nodeMaps,n=A.value,u=W.value;let{lazy:o,toggleMethod:t}=O.value,s=[];var e=(e=t?e.filter(e=>t({$cascader:R,expanded:a,node:e})):e).length?[e[e.length-1]]:[],d=S(e[0]),d=i[d];d&&d.items.forEach(e=>{e=S(e);r[e]&&delete r[e]});let c=[];return a?e.forEach(e=>{var a,t=S(e);r[t]||(a=i[t],o&&e[u]&&!a.treeLoaded&&!l[t]?s.push(Ie(e)):e[n]&&e[n].length&&(r[t]=!0,c.push(e)))}):e.forEach(e=>{var a=S(e);r[a]&&(delete r[a],c.push(e))}),D.updateExpandedFlag++,v(),h(),Promise.all(s)},z=(e,a,t,l)=>{var r=D.currentItems,i=F.treeExpandLazyLoadedMaps,n=O.value.lazy,r=r.slice(0,l),l=S(a);e.stopPropagation(),r.push(l),D.currentItems=r,n&&i[l]||Le([a],!0),ve(a),x("node-expand",{node:a,expanded:!0},e)},C=()=>{let{selectCheckboxMaps:o,indeterminateRowMaps:s,afterTreeList:e}=F,i=A.value,n=B.value;let{checkStrictly:a,checkMethod:d}=g.value,u=O.value.transform;if(!a){let l={},r=[];_xeUtils.default.eachTree(e,e=>{var a=S(e),t=e[u?n:i];t&&t.length&&!l[a]&&(l[a]=1,r.unshift([e,a,t]))},{children:u?n:i}),r.forEach(e=>{var a=e[0],t=e[1],e=e[2];let l=0,r=0,i=0;var n=e.length;e.forEach(d?e=>{var a=S(e),t=o[a];d({$cascader:R,node:e})?(t?l++:s[a]&&r++,i++):t?l++:s[a]&&r++}:e=>{e=S(e);o[e]?l++:s[e]&&r++,i++});let u=!1;e=!(u=0<n?0<i?(0<l||0<r)&&l>=i:0<l&&l>=i||!!o[t]:o[t])&&(0<l||0<r);u?(o[t]=a,s[t]&&delete s[t]):(o[t]&&delete o[t],e?s[t]=a:s[t]&&delete s[t])}),D.updateCheckboxFlag++}},Te=(e,a,l,r)=>{e.preventDefault(),e.stopPropagation();var i=D.currentItems;let{selectCheckboxMaps:n,nodeMaps:t}=F;var u=A.value,o=B.value,{checkStrictly:s,checkMode:d,checkMethod:c}=g.value,v=O.value.transform,p=S(a),h=a[v?o:u],f=h&&0<h.length,_=(t[p]||{}).level,c=c?!c({$cascader:R,node:a}):!E(d,f,_);if(!c){let t=!1;n[p]?delete n[p]:(t=!0,n[p]=a),s||_xeUtils.default.eachTree(h,e=>{var a=S(e);t?n[a]||(n[a]=e):n[a]&&delete n[a]},{children:v?o:u}),n[p]=a,D.updateCheckboxFlag++,C();d=_xeUtils.default.keys(n);m(e,d,a),i.includes(p)||(b(e,a),z(e,a,l,r))}},Ne=(e,a,t,l)=>{var{multiple:r,showCheckbox:i,showRadio:n}=U,u=O.value,o=_.value,s=g.value,d=A.value,c=B.value,{transform:u,trigger:v}=u,u=a[u?c:d];let p=!1,h=!1,f=!1;b(e,a),"icon"!==v&&(f=!0,z(e,a,t,l)),r?"node"!==s.trigger&&(i||u&&u.length)||(h=!0,Te(e,a,t,l)):"node"!==o.trigger&&(n||u&&u.length)||(p=!0,Me(e,a,t,l)),x("node-click",{node:a,triggerCurrent:!0,triggerRadio:p,triggerCheckbox:h,triggerExpand:f},e)},we=e=>{T.value||D.visiblePanel||(D.triggerFocusPanel=!0,t(e),setTimeout(()=>{D.triggerFocusPanel=!1},150)),x("focus",{},e)},Ue=e=>{e.preventDefault(),D.triggerFocusPanel?D.triggerFocusPanel=!1:D.visiblePanel||t(e),x("click",{},e)},Ve=e=>{D.isActivated=!1,x("blur",{},e)},De=e=>{D.searchValue=e,se(new Event("filter"))},Fe=()=>{var{modelValue:e,remote:a}=U,t=D.searchValue,l=Z.value,r=l.queryMethod;a&&r&&l.enabled&&(D.searchLoading=!0,Promise.resolve(r({$cascader:R,searchValue:t,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{D.searchLoading=!1}))},Oe=e=>{e=e.$event;e.preventDefault(),D.triggerFocusPanel?D.triggerFocusPanel=!1:(D.visiblePanel?f:t)(e)},E=(Object.assign(R,a,{isCheckedByCheckboxNodeId:e=>{var a=D.updateCheckboxFlag,t=F.selectCheckboxMaps;return!(!a||!t[e])},loadChildrenNode(a,e){let u=U.separator,o=F.nodeMaps;var t=O.value;let s=P.value,{lazy:l,transform:r}=t;if(!l)return Promise.resolve([]);let i=A.value,n=B.value,d=o[S(a)],c=d?d.level:0,v=d?d.nodes:[];return(e=>{let t=p.value;return Promise.resolve(e.map(e=>{var a,e=Object.assign({},e);return S(e)||(a=getNodeUniqueId(),_xeUtils.default.set(e,t,a)),e}))})(e).then(e=>(_xeUtils.default.eachTree(e,(e,a,t,l,r,i)=>{var n=S(e);o[n]={item:e,index:-1,$index:-1,_index:-1,items:t,parent:r||d.item,nodes:v.concat(i),level:c+i.length,treeIndex:-1,lineCount:0,treeLoaded:!1,fullLabel:i.map(e=>e[s]).join(u||" / ")}},{children:i}),a[i]=e,r&&(a[n]=e),ue(),e))}}),(e,a,t)=>{if(e){if("first"===e)return!t;if("last"===e)return!a}return!0}),Pe=(t,e,l,r,i,n)=>{var a=U.showRadio,{checkMode:u,checkMethod:o,visibleMode:s,visibleMethod:d}=_.value,d=d?d({$cascader:R,node:t}):E(s,e,l);if(a&&d){let a=o?!o({$cascader:R,node:t}):!E(u,e,l);return(0,_vue.h)("div",{class:["vxe-tree--radio-option",{"is--checked":r,"is--disabled":a}],onClick:e=>{a||Me(e,t,i,n)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",r?(0,_ui.getIcon)().RADIO_CHECKED:a?(0,_ui.getIcon)().RADIO_DISABLED_UNCHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(R)},Ae=(t,e,l,r,i,n,u)=>{var a=U.showCheckbox,{checkMode:o,checkMethod:s,visibleMode:d,visibleMethod:c}=g.value,c=c?c({$cascader:R,node:t}):E(d,e,l);if(a&&c){let a=s?!s({$cascader:R,node:t}):!E(o,e,l);return(0,_vue.h)("div",{class:["vxe-cascader--checkbox-option",{"is--checked":r,"is--indeterminate":i,"is--disabled":a}],onClick:e=>{a||Te(e,t,n,u)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:r?(0,_ui.getIcon)().CHECKBOX_CHECKED:a?(0,_ui.getIcon)().CHECKBOX_DISABLED_UNCHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(R)};(0,_vue.watch)(()=>U.modelValue,()=>{F.isUpdateMode||(ie(),o(),u()),F.isUpdateMode=!1}),(0,_vue.watch)(()=>U.options,()=>{ne()});let n=(0,_vue.ref)(0);return(0,_vue.watch)(()=>U.options?U.options.length:0,()=>{n.value++}),(0,_vue.watch)(()=>U.options,()=>{n.value++}),(0,_vue.watch)(n,()=>{de(U.options||[])}),de(U.options||[]),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(R,"mousewheel",be),_ui.globalEvents.on(R,"mousedown",Ce),_ui.globalEvents.on(R,"blur",Ee),_ui.globalEvents.on(R,"resize",ke)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(R,"mousewheel"),_ui.globalEvents.off(R,"mousedown"),_ui.globalEvents.off(R,"blur"),_ui.globalEvents.off(R,"resize"),_xeUtils.default.assign(D,createReactData()),_xeUtils.default.assign(F,createInternalData())}),(0,_vue.provide)("$xeCascader",R),R.renderVN=()=>{var{className:e,modelValue:a,multiple:t,loading:l,filterable:r,showTotalButton:i,showCheckedButton:n,showClearButton:u,showCloseButton:o}=U,{initialized:s,isActivated:d,isAniVisible:c,visiblePanel:v,searchValue:p,currentCunkList:h}=D;let f=F.listVirtualYOpts;var _=w.value,g=T.value,x=J.value,m=H.value,b=K.value,C=Q.value,E=V.header,k=V.footer;let y=V.prefix;var M=N.value.className;return b?(0,_vue.h)("div",{ref:I,class:["vxe-cascader--readonly",e]},[(0,_vue.h)("span",{class:"vxe-cascader-label"},x)]):(b=_xeUtils.default.eqNull(a)?[]:_xeUtils.default.isArray(a)?a:[a],(0,_vue.h)("div",{ref:I,class:["vxe-cascader",e?_xeUtils.default.isFunction(e)?e({$cascader:R}):e:"",{["size--"+_]:_,"is--filterable":r,"is--visible":v,"is--disabled":g,"is--loading":l,"is--active":d}]},[(0,_vue.h)(_input.default,{ref:$,clearable:U.clearable,placeholder:l?(0,_ui.getI18n)("vxe.select.loadingText"):U.placeholder,editable:!1,disabled:g,type:"text",prefixIcon:U.prefixIcon,suffixIcon:l?(0,_ui.getIcon)().TREE_SELECT_LOADED:v?(0,_ui.getIcon)().TREE_SELECT_OPEN:(0,_ui.getIcon)().TREE_SELECT_CLOSE,modelValue:l?"":x,title:x,onClear:_e,onClick:Ue,onFocus:we,onBlur:Ve,onSuffixClick:Oe},y?{prefix:()=>y({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!m||!s},[(0,_vue.h)("div",{ref:L,class:["vxe-table--ignore-clear vxe-cascader--panel",M?_xeUtils.default.isFunction(M)?M({$cascader:R}):M:"",{["size--"+_]:_,"is--transfer":m,"ani--leave":!l&&c,"ani--enter":!l&&v}],placement:D.panelPlacement,style:C},s?[(0,_vue.h)("div",{class:"vxe-cascader--panel-wrapper"},[r?(0,_vue.h)("div",{class:"vxe-cascader--panel-search"},[(0,_vue.h)(_input.default,{ref:j,class:"vxe-cascader-search--input",modelValue:p,clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.cascader.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH,"onUpdate:modelValue":De})]):(0,_ui.renderEmptyElement)(R),n&&t||u||E?(0,_vue.h)("div",{class:"vxe-cascader--panel-header"},E?E({}):[(0,_vue.h)("div",{class:"vxe-cascader--header-button"},[n&&t||u?(0,_vue.h)("div",{class:"vxe-cascader--selected-btns"},[n&&t?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.allChecked"),mode:"text",onClick:ge}):(0,_ui.renderEmptyElement)(R),u?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.clearChecked"),mode:"text",onClick:xe}):(0,_ui.renderEmptyElement)(R)]):(0,_ui.renderEmptyElement)(R)])]):(0,_ui.renderEmptyElement)(R),(0,_vue.h)("div",{class:"vxe-cascader--panel-body"},[(0,_vue.h)("div",{ref:q,class:"vxe-cascader-chunk--wrapper"},[h.map((t,l)=>(0,_vue.h)("div",{key:l,class:"vxe-cascader-chunk--item-wrapper"},[(0,_vue.h)(_list.default,{data:t,virtualYConfig:f},{default(e){e=e.items;return e.map((e,a)=>((a,e,t,l,r)=>{var i=U.multiple,{currentNode:n,selectRadioKey:u,updateCheckboxFlag:o,updateExpandedFlag:s}=D,{nodeMaps:d,selectCheckboxMaps:c,indeterminateRowMaps:v,treeExpandedMaps:p,treeExpandLazyLoadedMaps:h}=F;let f=O.value;var{lazy:_,transform:g,iconLoaded:x,iconOpen:m,iconClose:b}=f,C=A.value,E=B.value,k=P.value,y=W.value,g=a[g?E:C],E=g&&0<g.length,C=V.icon,g=V.title,s=s&&p[e],p=d[e]||{},d=a[k],k=p.level;let M=!1,I=(i||(M=e===u),!1),L=!1,T=(i&&(I=!(!o||!c[e]),L=!(!o||!v[e])),!1),N=!1,w=!1;_&&(N=!!h[e],T=a[y],w=!!p.treeLoaded);u={node:a};return(0,_vue.h)("div",{key:r+"_"+t,class:["vxe-cascader-chunk--node-item",{"is--current":n&&(n===a||S(n)===e),"is-radio--checked":M,"is-checkbox--checked":I,"is-checkbox--indeterminate":L,"is--expand":s}],title:d,onMousedown:e=>{0===e.button&&e.stopPropagation()},onClick(e){Ne(e,a,l,r)}},[i?Ae(a,E,k,I,L,l,r):Pe(a,E,k,M,l,r),(0,_vue.h)("div",{class:"vxe-cascader-chunk--node-item-inner"},[(0,_vue.h)("div",{class:"vxe-cascader-chunk--node-item-title"},g?(0,_ui.getSlotVNs)(g(u)):d)]),f.showIcon&&(!_||w?E:T)?(0,_vue.h)("div",{class:"vxe-cascader-chunk--node-item-switcher"},[[(0,_vue.h)("div",{class:"vxe-cascader--node-item-icon",onClick(e){"icon"===f.trigger&&z(e,a,l,r)}},C?(0,_ui.getSlotVNs)(C(u)):[(0,_vue.h)("i",{class:N?x||(0,_ui.getIcon)().CASCADER_NODE_LOADED:s?m||(0,_ui.getIcon)().CASCADER_NODE_OPEN:b||(0,_ui.getIcon)().CASCADER_NODE_CLOSE})])]]):(0,_ui.renderEmptyElement)(R)])})(e,S(e),a,t,l))}})]))])]),k||i||o?(0,_vue.h)("div",{class:"vxe-cascader--panel-footer"},k?k({}):[(0,_vue.h)("div",{class:"vxe-cascader--footer-button"},[i?(0,_vue.h)("div",{class:"vxe-cascader--total-btns"},(0,_ui.getI18n)("vxe.treeSelect.total",[b.length])):(0,_ui.renderEmptyElement)(R),o?(0,_vue.h)("div",{class:"vxe-cascader--oper-btns"},[(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.close"),mode:"text",onClick:me})]):(0,_ui.renderEmptyElement)(R)])]):(0,_ui.renderEmptyElement)(R)])]:[])])]))},R},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils")),_list=_interopRequireDefault(require("../../list")),_input=_interopRequireDefault(require("../../input")),_button=_interopRequireDefault(require("../../button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}function createReactData(){return{initialized:!1,searchValue:"",searchLoading:!1,currentCunkList:[],currentItems:[],currentNode:null,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,selectRadioKey:null,treeList:[],updateExpandedFlag:1,updateCheckboxFlag:1,fullOptFlag:1,lazyOptFlag:1}}function createInternalData(){return{listVirtualYOpts:{enabled:!0,gt:20},afterTreeList:[],treeFullData:[],afterVisibleList:[],nodeMaps:{},fullNodeMaps:{},lazyNodeMaps:{},indeterminateRowMaps:{},selectCheckboxMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{}}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeCascader",props:{modelValue:[String,Number,Array],clearable:Boolean,placeholder:{type:String,default:()=>_xeUtils.default.eqNull((0,_ui.getConfig)().cascader.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().cascader.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},filterable:Boolean,filterConfig:Object,showFullLabel:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showFullLabel},separator:{type:String,default:()=>(0,_ui.getConfig)().cascader.separator},multiple:Boolean,className:[String,Function],prefixIcon:String,lazyOptions:Array,options:Array,optionProps:Object,size:{type:String,default:()=>(0,_ui.getConfig)().cascader.size||(0,_ui.getConfig)().size},treeConfig:Object,showRadio:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showRadio},radioConfig:Object,showCheckbox:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showCheckbox},checkboxConfig:Object,remote:Boolean,remoteConfig:Function,popupConfig:Object,checkedClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.checkedClosable},clearClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.clearClosable},showCloseButton:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showCloseButton},showTotalButton:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showTotalButton},showCheckedButton:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showCheckedButton},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().cascader.showClearButton}},emits:["update:modelValue","change","all-change","clear","blur","focus","click","node-click","node-expand","current-change","radio-change","checkbox-change","load-success","load-error","visible-change"],setup(V,e){let{emit:l,slots:w}=e,d=(0,_vue.inject)("$xeModal",null),c=(0,_vue.inject)("$xeDrawer",null),k=(0,_vue.inject)("$xeTable",null),r=(0,_vue.inject)("$xeForm",null),i=(0,_vue.inject)("xeFormItemInfo",null);var a=_xeUtils.default.uniqueId();let U=(0,_ui.useSize)(V).computeSize,I=(0,_vue.ref)(),$=(0,_vue.ref)(),j=(0,_vue.ref)(),q=(0,_vue.ref)(),L=(0,_vue.ref)(),D=(0,_vue.reactive)(createReactData()),F=createInternalData(),y={refElem:I},K=(0,_vue.computed)(()=>{var e=V.readonly;return null===e?!!r&&r.props.readonly:e}),T=(0,_vue.computed)(()=>{var e=V.disabled;return null===e?!!r&&r.props.disabled:e}),H=(0,_vue.computed)(()=>{var e=N.value.transfer;return _xeUtils.default.isBoolean(e)?e:!!(k||d||c||r)}),O=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.treeConfig,V.treeConfig)),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.radioConfig,V.radioConfig)),g=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.checkboxConfig,V.checkboxConfig)),N=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.popupConfig,V.popupConfig)),M=(0,_vue.computed)(()=>V.optionProps||{}),P=(0,_vue.computed)(()=>M.value.label||"label"),p=(0,_vue.computed)(()=>M.value.value||"value"),X=(0,_vue.computed)(()=>O.value.keyField||"id"),Y=(0,_vue.computed)(()=>O.value.parentField||"parentId"),A=(0,_vue.computed)(()=>O.value.childrenField||"children"),B=(0,_vue.computed)(()=>O.value.mapChildrenField||"mapChildren"),W=(0,_vue.computed)(()=>O.value.hasChildField||"hasChild"),Z=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.remoteConfig,V.remoteConfig)),G=(0,_vue.computed)(()=>{var e=V.modelValue;return _xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e]}),J=(0,_vue.computed)(()=>{let t=V.showFullLabel,{fullOptFlag:l,lazyOptFlag:r}=D,{fullNodeMaps:i,lazyNodeMaps:n}=F,u=P.value;return G.value.map(e=>{var a=i[e];if(l&&a)return t?a.fullLabel:a.item[u];if(r){a=n[e];if(a)return t?a.fullLabel:a.item[u]}return e}).join(", ")}),Q=(0,_vue.computed)(()=>{var{currentCunkList:e,panelStyle:a}=D,{height:t,nodeWidth:l,nodeHeight:r}=N.value,a=Object.assign(Object.assign({},a),{"--vxe-ui-cascader-chunk-size":e.length});return t&&(a["--vxe-ui-cascader-chunk-height"]=(0,_dom.toCssUnit)(t)),l&&(a["--vxe-ui-cascader-node-width"]=(0,_dom.toCssUnit)(l)),r&&(a["--vxe-ui-cascader-node-height"]=(0,_dom.toCssUnit)(r)),a}),ee=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().cascader.filterConfig,V.filterConfig)),ae={},R={xID:a,props:V,context:e,reactData:D,internalData:F,getRefMaps:()=>y,getComputeMaps:()=>ae},x=(e,a,t)=>{l(e,(0,_ui.createEvent)(t,{$cascader:R},a))},te=e=>{l("update:modelValue",e)};a={dispatchEvent:x};let S=e=>e?(e=e[p.value],(0,_util.enNodeValue)(e)):"";let le=(e,t)=>{let l=F.selectCheckboxMaps;var a=B.value,r=A.value,i=g.value.checkStrictly,n=O.value.transform,u=e=>{var a=S(e);t?l[a]||(l[a]=e):l[a]&&delete l[a]};i?e.forEach(u):_xeUtils.default.eachTree(e,u,{children:n?a:r}),D.updateCheckboxFlag++,C()},re=(e,t)=>{let l=F.nodeMaps;if(e){_xeUtils.default.isArray(e)||(e=[e]);let a=[];e.forEach(e=>{e=(0,_util.enNodeValue)(e),e=l[e];e&&a.push(e.item)}),le(a,t)}return(0,_vue.nextTick)()},ie=()=>{var e,a=V.modelValue,t=F.nodeMaps;let l={};V.multiple?a&&a.length&&(e=a,F.selectCheckboxMaps={},re(e,!0)):a&&(t=t[e=(0,_util.enNodeValue)(_xeUtils.default.isArray(a)?a[0]:a)])&&(t.nodes.forEach(e=>{l[S(e)]=!0}),D.selectRadioKey=e),F.treeExpandedMaps=l},ne=()=>{let o=V.separator;var e=F.treeFullData;let s=p.value,d=P.value;var a=A.value;let c={},v={};_xeUtils.default.eachTree(e,(e,a,t,l,r,i)=>{let n=S(e);n||(n=getNodeUniqueId(),e[s]=n);var u=e[s],e={item:e,index:a,$index:-1,_index:-1,items:t,parent:r,nodes:i,level:i.length-1,treeIndex:a,lineCount:0,treeLoaded:!1,fullLabel:i.map(e=>e[d]).join(o||" / ")};c[n]=e,v[u]=e},{children:a}),F.nodeMaps=c,F.fullNodeMaps=v,D.fullOptFlag++},ue=()=>{let o=V.separator,{afterTreeList:e,nodeMaps:s}=F,d=P.value;var a=A.value,t=B.value,l=O.value.transform;let c=0;_xeUtils.default.eachTree(e,(e,a,t,l,r,i)=>{var n=S(e),u=s[n];u?(u.items=t,u.treeIndex=a,u._index=c):(u={item:e,index:a,$index:-1,_index:c,items:t,parent:r,nodes:i,level:i.length-1,treeIndex:a,lineCount:0,treeLoaded:!1,fullLabel:i.map(e=>e[d]).join(o||" / ")},s[n]=u),c++},{children:l?t:a})},oe=()=>{var a=D.searchValue,{treeFullData:t,lastFilterValue:e}=F;let l=P.value;var r=A.value,i=B.value,n=O.value.transform;let{beforeFilterMethod:u,filterMethod:o,afterFilterMethod:s}=ee.value,d=t,c=d,v="";if(a){v=""+a;a=o?e=>o({$cascader:R,node:e,filterValue:v}):e=>-1<String(e[l]).toLowerCase().indexOf(v.toLowerCase());let e={$cascader:R,filterValue:v};u&&u(e),d=n?c=_xeUtils.default.searchTree(t,a,{original:!0,isEvery:!1,children:r,mapChildren:i}):t.filter(a),F.lastFilterValue=v,(0,_vue.nextTick)(()=>{s&&s(e)})}else{if(n&&(c=_xeUtils.default.searchTree(t,()=>!0,{original:!0,isEvery:!1,children:r,mapChildren:i}),d=c,e)){let e={$cascader:R,filterValue:v};u&&u(e),(0,_vue.nextTick)(()=>{s&&s(e)})}F.lastFilterValue=""}F.afterVisibleList=d,F.afterTreeList=c,ue()},v=()=>{let{afterTreeList:e,treeExpandedMaps:o}=F;var a=B.value,t=O.value.transform;let s={};if(t){let u=[];return _xeUtils.default.eachTree(e,(e,a,t,l,r)=>{var i=S(e),n=S(r);(!r||s[n]&&o[n])&&(s[i]=1,u.push(e))},{children:a}),F.afterVisibleList=u}return F.afterVisibleList},h=e=>{let a=F.afterVisibleList;e&&(oe(),a=v());e=a.slice(0);D.treeList=e};let se=_xeUtils.default.debounce(()=>{h(!0),C();var e=D.currentItems,t=F.afterTreeList,l=ee.value.autoExpandMode;if(!((e,t)=>{if(!t||!t.length)return!1;let l=e;for(let a of t){var r=l.find(e=>S(e)===a);if(!r)return!1;l=r.children||[]}return!0})(t,e))if("first"===l||"last"===l){e=((e,a)=>{var t=A.value,l=B.value,r=O.value.transform,i=r?l:t,n=[];let u=e;for(;u.length;){let e=null;for(var o of u){var s=o[i];if(_xeUtils.default.isArray(s)&&0<s.length){e=o;break}}if(!e){var d=_xeUtils.default[a](u);n.push(S(d));break}n.push(S(e)),u=e[i]}return n})(t,l);let a={};e.forEach(e=>{a[e]=!0}),F.treeExpandedMaps=a,D.currentItems=e}else o();u()},350,{trailing:!0}),de=e=>{var a=O.value,t=X.value,l=Y.value,r=A.value,{rootParentValue:i,rootValues:n}=a,a=a.transform,a=a?_xeUtils.default.toArrayTree(e,{key:t,parentKey:l,mapChildren:r,rootParentValue:i,rootValues:n}):e?e.slice(0):[];return F.treeFullData=a,ne(),h(!0),ie(),o(),u(),(0,_vue.nextTick)()},u=()=>{var l=D.currentItems,r=F.afterTreeList,i=A.value,n=B.value,u=O.value.transform,o=[r];if(l.length){let e=0,a=l[e],t=r;for(;a&&t&&t.length;){a=l[e++];var s=t.find(e=>a===S(e));if(!(t=s?s[u?n:i]:[])||!t.length)break;o.push(t)}}D.currentCunkList=o},o=()=>{var e=D.currentNode,a=F.afterTreeList,t=G.value,l=A.value,r=B.value,i=O.value.transform;let n=[],u={},o=e?S(e):(0,_util.enNodeValue)(_xeUtils.default.last(t));o&&(e=_xeUtils.default.findTree(a,e=>o===S(e),{children:i?r:l}))&&(t=e.nodes,t.forEach(e=>{e=S(e);u[e]=!0,n.push(e)})),D.currentItems=n,F.treeExpandedMaps=u},ce=()=>{var e=N.value.zIndex;e?D.panelIndex=e:D.panelIndex<(0,_utils.getLastZIndex)()&&(D.panelIndex=(0,_utils.nextZIndex)())},s=()=>{let t=D.panelIndex,l=I.value,r=L.value,i=H.value,n=N.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(l,r,{placement:n.placement,defaultPlacement:n.defaultPlacement,teleportTo:i,isMinWidth:!1}),a=Object.assign(e.style,{zIndex:t});D.panelStyle=a,D.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},t=e=>{var{loading:a,remote:t,filterable:l}=V,r=F.treeFullData,i=T.value,n=Z.value;a||i||(clearTimeout(F.hpTimeout),D.initialized||(D.initialized=!0),D.isActivated=!0,D.isAniVisible=!0,l&&t&&n.enabled&&n.autoLoad&&!r.length&&Fe(),setTimeout(()=>{D.visiblePanel=!0,ye()},10),ce(),s(),x("visible-change",{visible:!0},e||null))},f=e=>{D.visiblePanel=!1,F.hpTimeout=setTimeout(()=>{D.isAniVisible=!1},350),x("visible-change",{visible:!1},e||null)},ve=e=>(D.currentNode=e,u(),(0,_vue.nextTick)()),pe=e=>{let t={};var a=A.value,l=B.value,r=O.value.transform;let i=[],n=[];return e&&_xeUtils.default.eachTree(F.afterTreeList,e=>{var a=S(e);i.push(a),n.push(e),t[a]=!0},{children:r?l:a}),F.indeterminateRowMaps={},F.selectCheckboxMaps=t,D.updateCheckboxFlag++,C(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:i,checkNodes:n}))},he=()=>(F.indeterminateRowMaps={},F.selectCheckboxMaps={},D.updateCheckboxFlag++,D.selectRadioKey=null,C(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:[],checkNodes:[]}))),m=(e,a,t)=>{a=_xeUtils.default.isArray(a)?a.map(_util.deNodeValue):(0,_util.deNodeValue)(a);F.isUpdateMode=!0,te(a),a!==V.modelValue&&(x("change",{value:a,node:t,option:t},e),r)&&i&&r.triggerItemEvent(e,i.itemConfig.field,a)},fe=(e,a)=>{m(e,a,null),x("clear",{value:a},e)},_e=(e,a)=>{fe(a,null),f(a)},ge=e=>{let t=e.$event,{multiple:a,checkedClosable:l}=V;a&&pe(!0).then(({checkNodeKeys:e,checkNodes:a})=>{m(t,e,a[0]),x("all-change",{value:e},t),l&&f(t)})},xe=e=>{let a=e.$event,{multiple:t,checkedClosable:l}=V;e=t?[]:null;he().then(()=>{l&&f(a)}),m(a,e,null),x("clear",{value:e},a)},me=e=>{e=e.$event;f(e)},be=e=>{var a,t,l=D.visiblePanel;T.value||(a=I.value,t=L.value,D.isActivated=(0,_dom.getEventTargetNode)(e,a).flag||(0,_dom.getEventTargetNode)(e,t).flag,l&&!D.isActivated&&f(e))},Ce=e=>{var{visiblePanel:a,isActivated:t}=D;a&&f(e),t&&(D.isActivated=!1),(a||t)&&(e=$.value)&&e.blur()},Ee=()=>{var e=D.visiblePanel;e&&s()},ke=()=>{var e=D.visiblePanel;e&&s()},ye=()=>{V.filterable&&(0,_vue.nextTick)(()=>{var e=j.value;e&&e.focus()})},b=(e,a)=>{e.preventDefault();D.currentNode=a,x("current-change",{node:a,checked:!0},e)},Me=(e,a,t,l)=>{e.preventDefault(),e.stopPropagation();var r=D.currentItems,i=F.nodeMaps,n=_.value,u=A.value,o=O.value.transform,s=B.value,{checkMode:n,checkMethod:d}=n,c=S(a),o=a[o?s:u],s=o&&0<o.length,u=(i[c]||{}).level;(d?d({$cascader:R,node:a}):E(n,s,u))&&(o=c,D.selectRadioKey=o,m(e,o,a),r.includes(c)||(b(e,a),z(e,a,t,l)),f(e))},Ie=i=>{var e=g.value;let t=O.value.loadMethod,n=e.checkStrictly;return new Promise(e=>{if(t){var a=F.nodeMaps;let l=S(i),r=a[l];F.treeExpandLazyLoadedMaps[l]=!0,Promise.resolve(t({$cascader:R,node:i})).then(t=>{var e=F.treeExpandLazyLoadedMaps;if(r.treeLoaded=!0,e[l]&&(e[l]=!1),t=_xeUtils.default.isArray(t)?t:[])return R.loadChildrenNode(i,t).then(e=>{var a=F.treeExpandedMaps;return e.length&&!a[l]&&(a[l]=!0),D.updateExpandedFlag++,!n&&R.isCheckedByCheckboxNodeId(l)&&le(e,!0),x("load-success",{node:i,data:t},new Event("load-success")),(0,_vue.nextTick)()});x("load-success",{node:i,data:t},new Event("load-success"))}).catch(e=>{var a=F.treeExpandLazyLoadedMaps;r.treeLoaded=!1,a[l]&&(a[l]=!1),x("load-error",{node:i,data:e},new Event("load-error"))}).finally(()=>{v(),h()})}else e()})},Le=(e,a)=>{let{treeExpandLazyLoadedMaps:l,treeExpandedMaps:r}=F,i=F.nodeMaps,n=A.value,u=W.value;let{lazy:o,toggleMethod:t}=O.value,s=[];var e=(e=t?e.filter(e=>t({$cascader:R,expanded:a,node:e})):e).length?[e[e.length-1]]:[],d=S(e[0]),d=i[d];d&&d.items.forEach(e=>{e=S(e);r[e]&&delete r[e]});let c=[];return a?e.forEach(e=>{var a,t=S(e);r[t]||(a=i[t],o&&e[u]&&!a.treeLoaded&&!l[t]?s.push(Ie(e)):e[n]&&e[n].length&&(r[t]=!0,c.push(e)))}):e.forEach(e=>{var a=S(e);r[a]&&(delete r[a],c.push(e))}),D.updateExpandedFlag++,v(),h(),Promise.all(s)},z=(e,a,t,l)=>{var r=D.currentItems,i=F.treeExpandLazyLoadedMaps,n=O.value.lazy,r=r.slice(0,l),l=S(a);e.stopPropagation(),r.push(l),D.currentItems=r,n&&i[l]||Le([a],!0),ve(a),x("node-expand",{node:a,expanded:!0},e)},C=()=>{let{selectCheckboxMaps:o,indeterminateRowMaps:s,afterTreeList:e}=F,i=A.value,n=B.value;let{checkStrictly:a,checkMethod:d}=g.value,u=O.value.transform;if(!a){let l={},r=[];_xeUtils.default.eachTree(e,e=>{var a=S(e),t=e[u?n:i];t&&t.length&&!l[a]&&(l[a]=1,r.unshift([e,a,t]))},{children:u?n:i}),r.forEach(e=>{var a=e[0],t=e[1],e=e[2];let l=0,r=0,i=0;var n=e.length;e.forEach(d?e=>{var a=S(e),t=o[a];d({$cascader:R,node:e})?(t?l++:s[a]&&r++,i++):t?l++:s[a]&&r++}:e=>{e=S(e);o[e]?l++:s[e]&&r++,i++});let u=!1;e=!(u=0<n?0<i?(0<l||0<r)&&l>=i:0<l&&l>=i||!!o[t]:o[t])&&(0<l||0<r);u?(o[t]=a,s[t]&&delete s[t]):(o[t]&&delete o[t],e?s[t]=a:s[t]&&delete s[t])}),D.updateCheckboxFlag++}},Te=(e,a,l,r)=>{e.preventDefault(),e.stopPropagation();var i=D.currentItems;let{selectCheckboxMaps:n,nodeMaps:t}=F;var u=A.value,o=B.value,{checkStrictly:s,checkMode:d,checkMethod:c}=g.value,v=O.value.transform,p=S(a),h=a[v?o:u],f=h&&0<h.length,_=(t[p]||{}).level,c=c?!c({$cascader:R,node:a}):!E(d,f,_);if(!c){let t=!1;n[p]?delete n[p]:(t=!0,n[p]=a),s||_xeUtils.default.eachTree(h,e=>{var a=S(e);t?n[a]||(n[a]=e):n[a]&&delete n[a]},{children:v?o:u}),n[p]=a,D.updateCheckboxFlag++,C();d=_xeUtils.default.keys(n);m(e,d,a),i.includes(p)||(b(e,a),z(e,a,l,r))}},Ne=(e,a,t,l)=>{var{multiple:r,showCheckbox:i,showRadio:n}=V,u=O.value,o=_.value,s=g.value,d=A.value,c=B.value,{transform:u,trigger:v}=u,u=a[u?c:d];let p=!1,h=!1,f=!1;b(e,a),"icon"!==v&&(f=!0,z(e,a,t,l)),r?"node"!==s.trigger&&(i||u&&u.length)||(h=!0,Te(e,a,t,l)):"node"!==o.trigger&&(n||u&&u.length)||(p=!0,Me(e,a,t,l)),x("node-click",{node:a,triggerCurrent:!0,triggerRadio:p,triggerCheckbox:h,triggerExpand:f},e)},Ue=e=>{T.value||D.visiblePanel||(D.triggerFocusPanel=!0,t(e),setTimeout(()=>{D.triggerFocusPanel=!1},150)),x("focus",{},e)},Ve=e=>{e.preventDefault(),D.triggerFocusPanel?D.triggerFocusPanel=!1:D.visiblePanel||t(e),x("click",{},e)},we=e=>{D.isActivated=!1,x("blur",{},e)},De=e=>{D.searchValue=e,se(new Event("filter"))},Fe=()=>{var{modelValue:e,remote:a}=V,t=D.searchValue,l=Z.value,r=l.queryMethod;a&&r&&l.enabled&&(D.searchLoading=!0,Promise.resolve(r({$cascader:R,searchValue:t,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{D.searchLoading=!1}))},Oe=e=>{e=e.$event;e.preventDefault(),D.triggerFocusPanel?D.triggerFocusPanel=!1:(D.visiblePanel?f:t)(e)},E=(Object.assign(R,a,{isCheckedByCheckboxNodeId:e=>{var a=D.updateCheckboxFlag,t=F.selectCheckboxMaps;return!(!a||!t[e])},loadChildrenNode(a,e){let u=V.separator,o=F.nodeMaps;var t=O.value;let s=P.value,{lazy:l,transform:r}=t;if(!l)return Promise.resolve([]);let i=A.value,n=B.value,d=o[S(a)],c=d?d.level:0,v=d?d.nodes:[];return(e=>{let t=p.value;return Promise.resolve(e.map(e=>{var a,e=Object.assign({},e);return S(e)||(a=getNodeUniqueId(),_xeUtils.default.set(e,t,a)),e}))})(e).then(e=>(_xeUtils.default.eachTree(e,(e,a,t,l,r,i)=>{var n=S(e);o[n]={item:e,index:-1,$index:-1,_index:-1,items:t,parent:r||d.item,nodes:v.concat(i),level:c+i.length,treeIndex:-1,lineCount:0,treeLoaded:!1,fullLabel:i.map(e=>e[s]).join(u||" / ")}},{children:i}),a[i]=e,r&&(a[n]=e),ue(),e))}}),(e,a,t)=>{if(e){if("first"===e)return!t;if("last"===e)return!a}return!0}),Pe=(t,e,l,r,i,n)=>{var a=V.showRadio,{checkMode:u,checkMethod:o,visibleMode:s,visibleMethod:d}=_.value,d=d?d({$cascader:R,node:t}):E(s,e,l);if(a&&d){let a=o?!o({$cascader:R,node:t}):!E(u,e,l);return(0,_vue.h)("div",{class:["vxe-tree--radio-option",{"is--checked":r,"is--disabled":a}],onClick:e=>{a||Me(e,t,i,n)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",r?(0,_ui.getIcon)().RADIO_CHECKED:a?(0,_ui.getIcon)().RADIO_DISABLED_UNCHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(R)},Ae=(t,e,l,r,i,n,u)=>{var a=V.showCheckbox,{checkMode:o,checkMethod:s,visibleMode:d,visibleMethod:c}=g.value,c=c?c({$cascader:R,node:t}):E(d,e,l);if(a&&c){let a=s?!s({$cascader:R,node:t}):!E(o,e,l);return(0,_vue.h)("div",{class:["vxe-cascader--checkbox-option",{"is--checked":r,"is--indeterminate":i,"is--disabled":a}],onClick:e=>{a||Te(e,t,n,u)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:r?(0,_ui.getIcon)().CHECKBOX_CHECKED:a?(0,_ui.getIcon)().CHECKBOX_DISABLED_UNCHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(R)};(0,_vue.watch)(()=>V.modelValue,()=>{F.isUpdateMode||(ie(),o(),u()),F.isUpdateMode=!1}),(0,_vue.watch)(()=>V.options,()=>{ne()});let n=(0,_vue.ref)(0);return(0,_vue.watch)(()=>V.options?V.options.length:0,()=>{n.value++}),(0,_vue.watch)(()=>V.options,()=>{n.value++}),(0,_vue.watch)(n,()=>{de(V.options||[])}),de(V.options||[]),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(R,"mousedown",be),_ui.globalEvents.on(R,"blur",Ce),_ui.globalEvents.on(R,"resize",Ee),_ui.globalEvents.on(R,"scroll",ke)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(R,"mousedown"),_ui.globalEvents.off(R,"blur"),_ui.globalEvents.off(R,"resize"),_ui.globalEvents.off(R,"scroll"),_xeUtils.default.assign(D,createReactData()),_xeUtils.default.assign(F,createInternalData())}),(0,_vue.provide)("$xeCascader",R),R.renderVN=()=>{var{className:e,modelValue:a,multiple:t,loading:l,filterable:r,showTotalButton:i,showCheckedButton:n,showClearButton:u,showCloseButton:o}=V,{initialized:s,isActivated:d,isAniVisible:c,visiblePanel:v,searchValue:p,currentCunkList:h}=D;let f=F.listVirtualYOpts;var _=U.value,g=T.value,x=J.value,m=H.value,b=K.value,C=Q.value,E=w.header,k=w.footer;let y=w.prefix;var M=N.value.className;return b?(0,_vue.h)("div",{ref:I,class:["vxe-cascader--readonly",e]},[(0,_vue.h)("span",{class:"vxe-cascader-label"},x)]):(b=_xeUtils.default.eqNull(a)?[]:_xeUtils.default.isArray(a)?a:[a],(0,_vue.h)("div",{ref:I,class:["vxe-cascader",e?_xeUtils.default.isFunction(e)?e({$cascader:R}):e:"",{["size--"+_]:_,"is--filterable":r,"is--visible":v,"is--disabled":g,"is--loading":l,"is--active":d}]},[(0,_vue.h)(_input.default,{ref:$,clearable:V.clearable,placeholder:l?(0,_ui.getI18n)("vxe.select.loadingText"):V.placeholder,editable:!1,disabled:g,type:"text",prefixIcon:V.prefixIcon,suffixIcon:l?(0,_ui.getIcon)().TREE_SELECT_LOADED:v?(0,_ui.getIcon)().TREE_SELECT_OPEN:(0,_ui.getIcon)().TREE_SELECT_CLOSE,modelValue:l?"":x,title:x,onClear:_e,onClick:Ve,onFocus:Ue,onBlur:we,onSuffixClick:Oe},y?{prefix:()=>y({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!m||!s},[(0,_vue.h)("div",{ref:L,class:["vxe-table--ignore-clear vxe-cascader--panel",M?_xeUtils.default.isFunction(M)?M({$cascader:R}):M:"",{["size--"+_]:_,"is--transfer":m,"ani--leave":!l&&c,"ani--enter":!l&&v}],placement:D.panelPlacement,style:C},s?[(0,_vue.h)("div",{class:"vxe-cascader--panel-wrapper"},[r?(0,_vue.h)("div",{class:"vxe-cascader--panel-search"},[(0,_vue.h)(_input.default,{ref:j,class:"vxe-cascader-search--input",modelValue:p,clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.cascader.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH,"onUpdate:modelValue":De})]):(0,_ui.renderEmptyElement)(R),n&&t||u||E?(0,_vue.h)("div",{class:"vxe-cascader--panel-header"},E?E({}):[(0,_vue.h)("div",{class:"vxe-cascader--header-button"},[n&&t||u?(0,_vue.h)("div",{class:"vxe-cascader--selected-btns"},[n&&t?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.allChecked"),mode:"text",onClick:ge}):(0,_ui.renderEmptyElement)(R),u?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.clearChecked"),mode:"text",onClick:xe}):(0,_ui.renderEmptyElement)(R)]):(0,_ui.renderEmptyElement)(R)])]):(0,_ui.renderEmptyElement)(R),(0,_vue.h)("div",{class:"vxe-cascader--panel-body"},[(0,_vue.h)("div",{ref:q,class:"vxe-cascader-chunk--wrapper"},[h.map((t,l)=>(0,_vue.h)("div",{key:l,class:"vxe-cascader-chunk--item-wrapper"},[(0,_vue.h)(_list.default,{data:t,virtualYConfig:f},{default(e){e=e.items;return e.map((e,a)=>((a,e,t,l,r)=>{var i=V.multiple,{currentNode:n,selectRadioKey:u,updateCheckboxFlag:o,updateExpandedFlag:s}=D,{nodeMaps:d,selectCheckboxMaps:c,indeterminateRowMaps:v,treeExpandedMaps:p,treeExpandLazyLoadedMaps:h}=F;let f=O.value;var{lazy:_,transform:g,iconLoaded:x,iconOpen:m,iconClose:b}=f,C=A.value,E=B.value,k=P.value,y=W.value,g=a[g?E:C],E=g&&0<g.length,C=w.icon,g=w.title,s=s&&p[e],p=d[e]||{},d=a[k],k=p.level;let M=!1,I=(i||(M=e===u),!1),L=!1,T=(i&&(I=!(!o||!c[e]),L=!(!o||!v[e])),!1),N=!1,U=!1;_&&(N=!!h[e],T=a[y],U=!!p.treeLoaded);u={node:a};return(0,_vue.h)("div",{key:r+"_"+t,class:["vxe-cascader-chunk--node-item",{"is--current":n&&(n===a||S(n)===e),"is-radio--checked":M,"is-checkbox--checked":I,"is-checkbox--indeterminate":L,"is--expand":s}],title:d,onMousedown:e=>{0===e.button&&e.stopPropagation()},onClick(e){Ne(e,a,l,r)}},[i?Ae(a,E,k,I,L,l,r):Pe(a,E,k,M,l,r),(0,_vue.h)("div",{class:"vxe-cascader-chunk--node-item-inner"},[(0,_vue.h)("div",{class:"vxe-cascader-chunk--node-item-title"},g?(0,_ui.getSlotVNs)(g(u)):d)]),f.showIcon&&(!_||U?E:T)?(0,_vue.h)("div",{class:"vxe-cascader-chunk--node-item-switcher"},[[(0,_vue.h)("div",{class:"vxe-cascader--node-item-icon",onClick(e){"icon"===f.trigger&&z(e,a,l,r)}},C?(0,_ui.getSlotVNs)(C(u)):[(0,_vue.h)("i",{class:N?x||(0,_ui.getIcon)().CASCADER_NODE_LOADED:s?m||(0,_ui.getIcon)().CASCADER_NODE_OPEN:b||(0,_ui.getIcon)().CASCADER_NODE_CLOSE})])]]):(0,_ui.renderEmptyElement)(R)])})(e,S(e),a,t,l))}})]))])]),k||i||o?(0,_vue.h)("div",{class:"vxe-cascader--panel-footer"},k?k({}):[(0,_vue.h)("div",{class:"vxe-cascader--footer-button"},[i?(0,_vue.h)("div",{class:"vxe-cascader--total-btns"},(0,_ui.getI18n)("vxe.treeSelect.total",[b.length])):(0,_ui.renderEmptyElement)(R),o?(0,_vue.h)("div",{class:"vxe-cascader--oper-btns"},[(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.close"),mode:"text",onClick:me})]):(0,_ui.renderEmptyElement)(R)])]):(0,_ui.renderEmptyElement)(R)])]:[])])]))},R},render(){return this.renderVN()}});
@@ -648,22 +648,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
648
648
  }
649
649
  }
650
650
  };
651
- const handleGlobalMousewheelEvent = evnt => {
652
- const {
653
- visiblePanel
654
- } = reactData;
655
- const isDisabled = computeIsDisabled.value;
656
- if (!isDisabled) {
657
- if (visiblePanel) {
658
- const panelElem = refOptionPanel.value;
659
- if ((0, _dom.getEventTargetNode)(evnt, panelElem).flag) {
660
- updatePlacement();
661
- } else {
662
- hideOptionPanel();
663
- }
664
- }
665
- }
666
- };
667
651
  const handleGlobalMousedownEvent = evnt => {
668
652
  const {
669
653
  visiblePanel
@@ -704,6 +688,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
704
688
  updatePlacement();
705
689
  }
706
690
  };
691
+ const handleGlobalScrollEvent = () => {
692
+ const {
693
+ visiblePanel
694
+ } = reactData;
695
+ if (visiblePanel) {
696
+ updatePlacement();
697
+ }
698
+ };
707
699
  const dispatchEvent = (type, params, evnt) => {
708
700
  emit(type, (0, _ui.createEvent)(evnt, {
709
701
  $colorPicker: $xeColorPicker
@@ -1050,16 +1042,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1050
1042
  updateType();
1051
1043
  });
1052
1044
  (0, _vue.onMounted)(() => {
1053
- _ui.globalEvents.on($xeColorPicker, 'mousewheel', handleGlobalMousewheelEvent);
1054
1045
  _ui.globalEvents.on($xeColorPicker, 'mousedown', handleGlobalMousedownEvent);
1055
1046
  _ui.globalEvents.on($xeColorPicker, 'blur', handleGlobalBlurEvent);
1056
1047
  _ui.globalEvents.on($xeColorPicker, 'resize', handleGlobalResizeEvent);
1048
+ _ui.globalEvents.on($xeColorPicker, 'scroll', handleGlobalScrollEvent);
1057
1049
  });
1058
1050
  (0, _vue.onUnmounted)(() => {
1059
- _ui.globalEvents.off($xeColorPicker, 'mousewheel');
1060
1051
  _ui.globalEvents.off($xeColorPicker, 'mousedown');
1061
1052
  _ui.globalEvents.off($xeColorPicker, 'blur');
1062
1053
  _ui.globalEvents.off($xeColorPicker, 'resize');
1054
+ _ui.globalEvents.off($xeColorPicker, 'scroll');
1063
1055
  });
1064
1056
  updateType();
1065
1057
  (0, _vue.provide)('$xeColorPicker', $xeColorPicker);