vxe-pc-ui 4.20.14 → 4.20.16

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 (92) hide show
  1. package/dist/all.esm.js +1589 -1480
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/alert/src/alert.js +2 -1
  5. package/es/badge/src/badge.js +21 -4
  6. package/es/badge/style.css +24 -14
  7. package/es/badge/style.min.css +1 -1
  8. package/es/drawer/src/drawer.js +2 -1
  9. package/es/form/src/form.js +3 -2
  10. package/es/icon/style.css +1 -1
  11. package/es/list/src/list.js +2 -2
  12. package/es/modal/src/modal.js +2 -1
  13. package/es/pager/src/pager.js +3 -2
  14. package/es/select/src/select.js +59 -6
  15. package/es/select/style.css +18 -0
  16. package/es/select/style.min.css +1 -1
  17. package/es/style.css +1 -1
  18. package/es/style.min.css +1 -1
  19. package/es/table-select/src/table-select.js +48 -14
  20. package/es/tree/src/tree.js +2 -2
  21. package/es/ui/index.js +1 -1
  22. package/es/ui/src/log.js +1 -1
  23. package/es/vxe-badge/style.css +24 -14
  24. package/es/vxe-badge/style.min.css +1 -1
  25. package/es/vxe-select/style.css +18 -0
  26. package/es/vxe-select/style.min.css +1 -1
  27. package/lib/alert/src/alert.js +14 -8
  28. package/lib/alert/src/alert.min.js +1 -1
  29. package/lib/badge/src/badge.js +24 -4
  30. package/lib/badge/src/badge.min.js +1 -1
  31. package/lib/badge/style/style.css +24 -14
  32. package/lib/badge/style/style.min.css +1 -1
  33. package/lib/drawer/src/drawer.js +61 -51
  34. package/lib/drawer/src/drawer.min.js +1 -1
  35. package/lib/form/src/form.js +34 -26
  36. package/lib/form/src/form.min.js +1 -1
  37. package/lib/icon/style/style.css +1 -1
  38. package/lib/icon/style/style.min.css +1 -1
  39. package/lib/index.umd.js +454 -276
  40. package/lib/index.umd.min.js +1 -1
  41. package/lib/list/src/list.js +14 -12
  42. package/lib/list/src/list.min.js +1 -1
  43. package/lib/modal/src/modal.js +84 -74
  44. package/lib/modal/src/modal.min.js +1 -1
  45. package/lib/pager/src/pager.js +45 -36
  46. package/lib/pager/src/pager.min.js +1 -1
  47. package/lib/select/src/select.js +67 -8
  48. package/lib/select/src/select.min.js +1 -1
  49. package/lib/select/style/style.css +18 -0
  50. package/lib/select/style/style.min.css +1 -1
  51. package/lib/style.css +1 -1
  52. package/lib/style.min.css +1 -1
  53. package/lib/table-select/src/table-select.js +80 -32
  54. package/lib/table-select/src/table-select.min.js +1 -1
  55. package/lib/tree/src/tree.js +29 -23
  56. package/lib/tree/src/tree.min.js +1 -1
  57. package/lib/ui/index.js +1 -1
  58. package/lib/ui/index.min.js +1 -1
  59. package/lib/ui/src/log.js +1 -1
  60. package/lib/ui/src/log.min.js +1 -1
  61. package/lib/vxe-badge/style/style.css +24 -14
  62. package/lib/vxe-badge/style/style.min.css +1 -1
  63. package/lib/vxe-select/style/style.css +18 -0
  64. package/lib/vxe-select/style/style.min.css +1 -1
  65. package/package.json +1 -1
  66. package/packages/alert/src/alert.ts +3 -1
  67. package/packages/badge/src/badge.ts +22 -4
  68. package/packages/drawer/src/drawer.ts +3 -1
  69. package/packages/form/src/form.ts +4 -2
  70. package/packages/list/src/list.ts +2 -2
  71. package/packages/modal/src/modal.ts +3 -1
  72. package/packages/pager/src/pager.ts +4 -2
  73. package/packages/select/src/select.ts +60 -6
  74. package/packages/table-select/src/table-select.ts +51 -16
  75. package/packages/tree/src/tree.ts +2 -2
  76. package/styles/components/badge.scss +25 -16
  77. package/styles/components/select.scss +21 -0
  78. package/styles/theme/base.scss +4 -0
  79. package/types/components/badge.d.ts +4 -0
  80. package/types/components/select.d.ts +20 -0
  81. /package/es/icon/{iconfont.1792653813073.ttf → iconfont.1792671792434.ttf} +0 -0
  82. /package/es/icon/{iconfont.1792653813073.woff → iconfont.1792671792434.woff} +0 -0
  83. /package/es/icon/{iconfont.1792653813073.woff2 → iconfont.1792671792434.woff2} +0 -0
  84. /package/es/{iconfont.1792653813073.ttf → iconfont.1792671792434.ttf} +0 -0
  85. /package/es/{iconfont.1792653813073.woff → iconfont.1792671792434.woff} +0 -0
  86. /package/es/{iconfont.1792653813073.woff2 → iconfont.1792671792434.woff2} +0 -0
  87. /package/lib/icon/style/{iconfont.1792653813073.ttf → iconfont.1792671792434.ttf} +0 -0
  88. /package/lib/icon/style/{iconfont.1792653813073.woff → iconfont.1792671792434.woff} +0 -0
  89. /package/lib/icon/style/{iconfont.1792653813073.woff2 → iconfont.1792671792434.woff2} +0 -0
  90. /package/lib/{iconfont.1792653813073.ttf → iconfont.1792671792434.ttf} +0 -0
  91. /package/lib/{iconfont.1792653813073.woff → iconfont.1792671792434.woff} +0 -0
  92. /package/lib/{iconfont.1792653813073.woff2 → iconfont.1792671792434.woff2} +0 -0
@@ -16,6 +16,16 @@ var _button = _interopRequireDefault(require("../../button"));
16
16
  var _loading = _interopRequireDefault(require("../../loading"));
17
17
  var _scrollbar = _interopRequireDefault(require("../../scrollbar"));
18
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
+ const {
20
+ getIcon,
21
+ getConfig,
22
+ getI18n,
23
+ useFns,
24
+ globalEvents,
25
+ GLOBAL_EVENT_KEYS,
26
+ createEvent,
27
+ renderEmptyElement
28
+ } = _ui.VxeUI;
19
29
  var _default = exports.default = (0, _comp.defineVxeComponent)({
20
30
  name: 'VxeDrawer',
21
31
  props: {
@@ -29,49 +39,49 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
29
39
  className: String,
30
40
  position: {
31
41
  type: [String, Object],
32
- default: () => (0, _ui.getConfig)().drawer.position
42
+ default: () => getConfig().drawer.position
33
43
  },
34
44
  lockView: {
35
45
  type: Boolean,
36
- default: () => (0, _ui.getConfig)().drawer.lockView
46
+ default: () => getConfig().drawer.lockView
37
47
  },
38
48
  lockScroll: Boolean,
39
49
  mask: {
40
50
  type: Boolean,
41
- default: () => (0, _ui.getConfig)().drawer.mask
51
+ default: () => getConfig().drawer.mask
42
52
  },
43
53
  maskClosable: {
44
54
  type: Boolean,
45
- default: () => (0, _ui.getConfig)().drawer.maskClosable
55
+ default: () => getConfig().drawer.maskClosable
46
56
  },
47
57
  escClosable: {
48
58
  type: Boolean,
49
- default: () => (0, _ui.getConfig)().drawer.escClosable
59
+ default: () => getConfig().drawer.escClosable
50
60
  },
51
61
  cancelClosable: {
52
62
  type: Boolean,
53
- default: () => (0, _ui.getConfig)().drawer.cancelClosable
63
+ default: () => getConfig().drawer.cancelClosable
54
64
  },
55
65
  confirmClosable: {
56
66
  type: Boolean,
57
- default: () => (0, _ui.getConfig)().drawer.confirmClosable
67
+ default: () => getConfig().drawer.confirmClosable
58
68
  },
59
69
  showHeader: {
60
70
  type: Boolean,
61
- default: () => (0, _ui.getConfig)().drawer.showHeader
71
+ default: () => getConfig().drawer.showHeader
62
72
  },
63
73
  showFooter: {
64
74
  type: Boolean,
65
- default: () => (0, _ui.getConfig)().drawer.showFooter
75
+ default: () => getConfig().drawer.showFooter
66
76
  },
67
77
  showClose: {
68
78
  type: Boolean,
69
- default: () => (0, _ui.getConfig)().drawer.showClose
79
+ default: () => getConfig().drawer.showClose
70
80
  },
71
81
  content: [Number, String],
72
82
  useHtml: {
73
83
  type: Boolean,
74
- default: () => (0, _ui.getConfig)().drawer.useHtml
84
+ default: () => getConfig().drawer.useHtml
75
85
  },
76
86
  showCancelButton: {
77
87
  type: Boolean,
@@ -79,79 +89,79 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
79
89
  },
80
90
  cancelButtonText: {
81
91
  type: String,
82
- default: () => (0, _ui.getConfig)().drawer.cancelButtonText
92
+ default: () => getConfig().drawer.cancelButtonText
83
93
  },
84
94
  showConfirmButton: {
85
95
  type: Boolean,
86
- default: () => (0, _ui.getConfig)().drawer.showConfirmButton
96
+ default: () => getConfig().drawer.showConfirmButton
87
97
  },
88
98
  confirmButtonText: {
89
99
  type: String,
90
- default: () => (0, _ui.getConfig)().drawer.confirmButtonText
100
+ default: () => getConfig().drawer.confirmButtonText
91
101
  },
92
102
  destroyOnClose: {
93
103
  type: Boolean,
94
- default: () => (0, _ui.getConfig)().drawer.destroyOnClose
104
+ default: () => getConfig().drawer.destroyOnClose
95
105
  },
96
106
  showTitleOverflow: {
97
107
  type: Boolean,
98
- default: () => (0, _ui.getConfig)().drawer.showTitleOverflow
108
+ default: () => getConfig().drawer.showTitleOverflow
99
109
  },
100
110
  preload: Boolean,
101
111
  width: {
102
112
  type: [Number, String],
103
- default: () => (0, _ui.getConfig)().drawer.width
113
+ default: () => getConfig().drawer.width
104
114
  },
105
115
  height: {
106
116
  type: [Number, String],
107
- default: () => (0, _ui.getConfig)().drawer.height
117
+ default: () => getConfig().drawer.height
108
118
  },
109
119
  minWidth: {
110
120
  type: [Number, String],
111
- default: () => (0, _ui.getConfig)().drawer.minWidth
121
+ default: () => getConfig().drawer.minWidth
112
122
  },
113
123
  minHeight: {
114
124
  type: [Number, String],
115
- default: () => (0, _ui.getConfig)().drawer.minHeight
125
+ default: () => getConfig().drawer.minHeight
116
126
  },
117
127
  resize: {
118
128
  type: Boolean,
119
- default: () => (0, _ui.getConfig)().drawer.resize
129
+ default: () => getConfig().drawer.resize
120
130
  },
121
131
  border: {
122
132
  type: Boolean,
123
- default: () => (0, _ui.getConfig)().drawer.border
133
+ default: () => getConfig().drawer.border
124
134
  },
125
135
  showTitleBackground: {
126
136
  type: Boolean,
127
- default: () => (0, _ui.getConfig)().drawer.showTitleBackground
137
+ default: () => getConfig().drawer.showTitleBackground
128
138
  },
129
139
  zIndex: Number,
130
140
  transfer: {
131
141
  type: Boolean,
132
- default: () => (0, _ui.getConfig)().drawer.transfer
142
+ default: () => getConfig().drawer.transfer
133
143
  },
134
144
  appendTo: {
135
145
  type: [String, Function],
136
- default: () => (0, _ui.getConfig)().drawer.appendTo
146
+ default: () => getConfig().drawer.appendTo
137
147
  },
138
148
  isWithinAppendTo: {
139
149
  type: Boolean,
140
- default: () => (0, _ui.getConfig)().drawer.isWithinAppendTo
150
+ default: () => getConfig().drawer.isWithinAppendTo
141
151
  },
142
152
  padding: {
143
153
  type: Boolean,
144
- default: () => (0, _ui.getConfig)().drawer.padding
154
+ default: () => getConfig().drawer.padding
145
155
  },
146
156
  size: {
147
157
  type: String,
148
- default: () => (0, _ui.getConfig)().drawer.size || (0, _ui.getConfig)().size
158
+ default: () => getConfig().drawer.size || getConfig().size
149
159
  },
150
160
  beforeHideMethod: Function,
151
161
  slots: Object,
152
162
  useScrollbar: {
153
163
  type: Boolean,
154
- default: () => (0, _utils.getDefaultConfig)((0, _ui.getConfig)().drawer.useScrollbar, (0, _ui.getConfig)().useScrollbar)
164
+ default: () => (0, _utils.getDefaultConfig)(getConfig().drawer.useScrollbar, getConfig().useScrollbar)
155
165
  },
156
166
  scrollbarConfig: Object
157
167
  },
@@ -168,10 +178,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
168
178
  const $xeForm = (0, _vue.inject)('$xeForm', null);
169
179
  const {
170
180
  computeSize
171
- } = _ui.useFns.useSize(props);
181
+ } = useFns.useSize(props);
172
182
  const {
173
183
  computeIsVScrollbar
174
- } = _ui.useFns.useVScrollbar(props);
184
+ } = useFns.useVScrollbar(props);
175
185
  const refElem = (0, _vue.ref)();
176
186
  const refDrawerBox = (0, _vue.ref)();
177
187
  const refConfirmBtn = (0, _vue.ref)();
@@ -184,7 +194,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
184
194
  resizeFlag: 1
185
195
  });
186
196
  const defaultFuncProps = {
187
- beforeHideMethod: (0, _ui.getConfig)().drawer.beforeHideMethod
197
+ beforeHideMethod: getConfig().drawer.beforeHideMethod
188
198
  };
189
199
  const refMaps = {
190
200
  refElem
@@ -194,7 +204,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
194
204
  transfer
195
205
  } = props;
196
206
  if (transfer === null) {
197
- const globalTransfer = (0, _ui.getConfig)().modal.transfer;
207
+ const globalTransfer = getConfig().modal.transfer;
198
208
  if (_xeUtils.default.isBoolean(globalTransfer)) {
199
209
  return globalTransfer;
200
210
  }
@@ -216,7 +226,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
216
226
  return 'wl';
217
227
  });
218
228
  const computeScrollbarOpts = (0, _vue.computed)(() => {
219
- return Object.assign({}, (0, _ui.getConfig)().modal.scrollbarConfig, props.scrollbarConfig);
229
+ return Object.assign({}, getConfig().modal.scrollbarConfig, props.scrollbarConfig);
220
230
  });
221
231
  const computeScrollbarProps = (0, _vue.computed)(() => {
222
232
  const scrollbarOpts = computeScrollbarOpts.value;
@@ -399,7 +409,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
399
409
  return (0, _vue.nextTick)();
400
410
  };
401
411
  const dispatchEvent = (type, params, evnt) => {
402
- emit(type, (0, _ui.createEvent)(evnt, {
412
+ emit(type, createEvent(evnt, {
403
413
  $drawer: $xeDrawer
404
414
  }, params));
405
415
  };
@@ -419,7 +429,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
419
429
  }
420
430
  };
421
431
  const handleGlobalKeydownEvent = evnt => {
422
- const isEsc = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ESCAPE);
432
+ const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE);
423
433
  if (isEsc) {
424
434
  const lastDrawer = _xeUtils.default.max(_store.allActiveDrawers, item => item.reactData.drawerZIndex);
425
435
  // 多个时,只关掉最上层的窗口
@@ -545,19 +555,19 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
545
555
  class: 'vxe-drawer--header-title'
546
556
  }, titleSlot ? (0, _vn.getSlotVNs)(titleSlot({
547
557
  $drawer: $xeDrawer
548
- })) : title ? (0, _utils.getFuncText)(title) : (0, _ui.getI18n)('vxe.alert.title')), (0, _vue.h)('div', {
558
+ })) : title ? (0, _utils.getFuncText)(title) : getI18n('vxe.alert.title')), (0, _vue.h)('div', {
549
559
  class: 'vxe-drawer--header-right'
550
560
  }, [cornerSlot ? (0, _vue.h)('div', {
551
561
  class: 'vxe-drawer--corner-wrapper'
552
562
  }, (0, _vn.getSlotVNs)(cornerSlot({
553
563
  $drawer: $xeDrawer
554
- }))) : (0, _ui.renderEmptyElement)($xeDrawer), showClose ? (0, _vue.h)('div', {
564
+ }))) : renderEmptyElement($xeDrawer), showClose ? (0, _vue.h)('div', {
555
565
  class: ['vxe-drawer--close-btn', 'trigger--btn'],
556
- title: (0, _ui.getI18n)('vxe.drawer.close'),
566
+ title: getI18n('vxe.drawer.close'),
557
567
  onClick: closeEvent
558
568
  }, [(0, _vue.h)('i', {
559
- class: (0, _ui.getIcon)().DRAWER_CLOSE
560
- })]) : (0, _ui.renderEmptyElement)($xeDrawer)])];
569
+ class: getIcon().DRAWER_CLOSE
570
+ })]) : renderEmptyElement($xeDrawer)])];
561
571
  };
562
572
  const renderHeader = () => {
563
573
  const {
@@ -574,7 +584,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
574
584
  $drawer: $xeDrawer
575
585
  })) : renderTitles());
576
586
  }
577
- return (0, _ui.renderEmptyElement)($xeDrawer);
587
+ return renderEmptyElement($xeDrawer);
578
588
  };
579
589
  const renderBody = () => {
580
590
  const {
@@ -625,13 +635,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
625
635
  class: 'vxe-drawer--body-left'
626
636
  }, (0, _vn.getSlotVNs)(leftSlot({
627
637
  $drawer: $xeDrawer
628
- }))) : (0, _ui.renderEmptyElement)($xeDrawer), (0, _vue.h)('div', {
638
+ }))) : renderEmptyElement($xeDrawer), (0, _vue.h)('div', {
629
639
  class: 'vxe-drawer--body-default'
630
640
  }, contVNs), rightSlot ? (0, _vue.h)('div', {
631
641
  class: 'vxe-drawer--body-right'
632
642
  }, (0, _vn.getSlotVNs)(rightSlot({
633
643
  $drawer: $xeDrawer
634
- }))) : (0, _ui.renderEmptyElement)($xeDrawer), (0, _vue.h)(_loading.default, {
644
+ }))) : renderEmptyElement($xeDrawer), (0, _vue.h)(_loading.default, {
635
645
  class: 'vxe-drawer--loading',
636
646
  modelValue: props.loading
637
647
  })]);
@@ -650,7 +660,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
650
660
  btnVNs.push((0, _vue.h)(_button.default, {
651
661
  key: 1,
652
662
  ref: refCancelBtn,
653
- content: props.cancelButtonText || (0, _ui.getI18n)('vxe.button.cancel'),
663
+ content: props.cancelButtonText || getI18n('vxe.button.cancel'),
654
664
  onClick: cancelEvent
655
665
  }));
656
666
  }
@@ -660,7 +670,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
660
670
  ref: refConfirmBtn,
661
671
  loading: loading,
662
672
  status: 'primary',
663
- content: props.confirmButtonText || (0, _ui.getI18n)('vxe.button.confirm'),
673
+ content: props.confirmButtonText || getI18n('vxe.button.confirm'),
664
674
  onClick: confirmEvent
665
675
  }));
666
676
  }
@@ -688,7 +698,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
688
698
  $drawer: $xeDrawer
689
699
  })) : [renderDefaultFooter()]);
690
700
  }
691
- return (0, _ui.renderEmptyElement)($xeDrawer);
701
+ return renderEmptyElement($xeDrawer);
692
702
  };
693
703
  const renderVN = () => {
694
704
  const {
@@ -746,7 +756,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
746
756
  class: 'vxe-drawer--aside'
747
757
  }, (0, _vn.getSlotVNs)(asideSlot({
748
758
  $drawer: $xeDrawer
749
- }))) : (0, _ui.renderEmptyElement)($xeDrawer), (0, _vue.h)('div', {
759
+ }))) : renderEmptyElement($xeDrawer), (0, _vue.h)('div', {
750
760
  class: 'vxe-drawer--container'
751
761
  }, !reactData.initialized || destroyOnClose && !reactData.visible ? [] : [renderHeader(), renderBody(), renderFooter(), resize ? (0, _vue.h)('span', {
752
762
  class: 'vxe-drawer--resize'
@@ -754,7 +764,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
754
764
  class: `${dragType}-resize`,
755
765
  type: dragType,
756
766
  onMousedown: dragEvent
757
- })]) : (0, _ui.renderEmptyElement)($xeDrawer)])])])]);
767
+ })]) : renderEmptyElement($xeDrawer)])])])]);
758
768
  };
759
769
  const reFlag = (0, _vue.ref)(0);
760
770
  (0, _vue.watch)(() => props.width, () => {
@@ -783,11 +793,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
783
793
  recalculate();
784
794
  });
785
795
  if (props.escClosable) {
786
- _ui.globalEvents.on($xeDrawer, 'keydown', handleGlobalKeydownEvent);
796
+ globalEvents.on($xeDrawer, 'keydown', handleGlobalKeydownEvent);
787
797
  }
788
798
  });
789
799
  (0, _vue.onUnmounted)(() => {
790
- _ui.globalEvents.off($xeDrawer, 'keydown');
800
+ globalEvents.off($xeDrawer, 'keydown');
791
801
  removeActiveQueue();
792
802
  });
793
803
  (0, _vue.provide)('$xeDrawer', $xeDrawer);
@@ -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"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_store=require("./store"),_vn=require("../../ui/src/vn"),_button=_interopRequireDefault(require("../../button")),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDrawer",props:{modelValue:Boolean,id:String,title:String,loading:{type:Boolean,default:null},className:String,position:{type:[String,Object],default:()=>(0,_ui.getConfig)().drawer.position},lockView:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.lockView},lockScroll:Boolean,mask:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.mask},maskClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.maskClosable},escClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.escClosable},cancelClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.cancelClosable},confirmClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.confirmClosable},showHeader:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showHeader},showFooter:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showFooter},showClose:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showClose},content:[Number,String],useHtml:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.useHtml},showCancelButton:{type:Boolean,default:null},cancelButtonText:{type:String,default:()=>(0,_ui.getConfig)().drawer.cancelButtonText},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showConfirmButton},confirmButtonText:{type:String,default:()=>(0,_ui.getConfig)().drawer.confirmButtonText},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.destroyOnClose},showTitleOverflow:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showTitleOverflow},preload:Boolean,width:{type:[Number,String],default:()=>(0,_ui.getConfig)().drawer.width},height:{type:[Number,String],default:()=>(0,_ui.getConfig)().drawer.height},minWidth:{type:[Number,String],default:()=>(0,_ui.getConfig)().drawer.minWidth},minHeight:{type:[Number,String],default:()=>(0,_ui.getConfig)().drawer.minHeight},resize:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.resize},border:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.border},showTitleBackground:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showTitleBackground},zIndex:Number,transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.transfer},appendTo:{type:[String,Function],default:()=>(0,_ui.getConfig)().drawer.appendTo},isWithinAppendTo:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.isWithinAppendTo},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.padding},size:{type:String,default:()=>(0,_ui.getConfig)().drawer.size||(0,_ui.getConfig)().size},beforeHideMethod:Function,slots:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)((0,_ui.getConfig)().drawer.useScrollbar,(0,_ui.getConfig)().useScrollbar)},scrollbarConfig:Object},emits:["update:modelValue","show","hide","before-hide","close","confirm","cancel","resize"],setup(b,e){let{slots:x,emit:l}=e;var t=_xeUtils.default.uniqueId();let r=(0,_vue.inject)("$xeModal",null),i=(0,_vue.inject)("$xeDrawer",null),o=(0,_vue.inject)("$xeTable",null),a=(0,_vue.inject)("$xeForm",null),C=_ui.useFns.useSize(b).computeSize,y=_ui.useFns.useVScrollbar(b).computeIsVScrollbar,B=(0,_vue.ref)(),T=(0,_vue.ref)(),n=(0,_vue.ref)(),s=(0,_vue.ref)(),k=(0,_vue.reactive)({initialized:!1,visible:!1,contentVisible:!1,drawerZIndex:0,resizeFlag:1}),u={beforeHideMethod:(0,_ui.getConfig)().drawer.beforeHideMethod},d={refElem:B},S=(0,_vue.computed)(()=>{var e=b.transfer;if(null===e){var t=(0,_ui.getConfig)().modal.transfer;if(_xeUtils.default.isBoolean(t))return t;if(o||r||i||a)return!0}return e}),N=(0,_vue.computed)(()=>{switch(b.position){case"top":return"sb";case"bottom":return"st";case"left":return"wr"}return"wl"}),c=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().modal.scrollbarConfig,b.scrollbarConfig)),V=(0,_vue.computed)(()=>{var e=c.value,{viewClassName:t,viewInnerClassName:r}=e;return{width:e.width,height:e.height,autoHide:e.autoHide,visible:e.visible,xConfig:e.xConfig,yConfig:e.yConfig,className:e.className,viewAttrs:e.viewAttrs,viewClassName:"vxe-drawer--scrollbar-content-view"+(t?" "+t:""),viewInnerClassName:"vxe-drawer--scrollbar-content-inner"+(t?" "+r:"")}}),v={},E={xID:t,props:b,context:e,reactData:k,getRefMaps:()=>d,getComputeMaps:()=>v},z=()=>T.value,f=()=>{var{position:e,width:t,height:r}=b,i=z();return i&&(i.style.height=(e="top"===e||"bottom"===e)?(0,_dom.toCssUnit)(r):"",i.style.width=e?"":(0,_dom.toCssUnit)(t)),(0,_vue.nextTick)()},_=()=>{var e=b.zIndex,t=k.drawerZIndex;e?k.drawerZIndex=e:t<(0,_utils.getLastZIndex)()&&(k.drawerZIndex=(0,_utils.nextZIndex)())},g=()=>{-1<_store.allActiveDrawers.indexOf(E)&&_xeUtils.default.remove(_store.allActiveDrawers,e=>e===E)},w=e=>{var t=k.visible,r=b.beforeHideMethod||u.beforeHideMethod;let i={type:e};return t&&Promise.resolve(r?r(i):null).then(e=>{_xeUtils.default.isError(e)||((e=B.value)&&e.setAttribute("data-effect","y"),k.contentVisible=!1,g(),D("before-hide",i,null),setTimeout(()=>{k.visible=!1,l("update:modelValue",!1),D("hide",i,null)},200),setTimeout(()=>{var e=B.value;e&&e.removeAttribute("data-effect")},350))}).catch(e=>e),(0,_vue.nextTick)()},p=e=>{var t="close";D(t,{type:t},e),w(t)},h=e=>{var t=b.confirmClosable,r="confirm";D(r,{type:r},e),t&&w(r)},m=e=>{var t=b.cancelClosable,r="cancel";D(r,{type:r},e),t&&w(r)},I=()=>{let r=b.showFooter;var{initialized:e,visible:t}=k;return e||(k.initialized=!0),t||(k.visible=!0,k.contentVisible=!1,_(),_store.allActiveDrawers.push(E),(0,_vue.nextTick)(()=>{var e=B.value;e&&e.setAttribute("data-effect","y")}),setTimeout(()=>{f(),k.contentVisible=!0,(0,_vue.nextTick)(()=>{r&&(e=n.value,t=s.value,e=e||t)&&e.focus();var e,t={type:""};l("update:modelValue",!0),D("show",t,null)})},10),setTimeout(()=>{var e=B.value;e&&e.removeAttribute("data-effect")},350)),(0,_vue.nextTick)()},D=(e,t,r)=>{l(e,(0,_ui.createEvent)(r,{$drawer:E},t))};t={dispatchEvent:D,open:I,close(){return w("close")},getBox:z};let $=e=>{var t=B.value;b.maskClosable&&e.target===t&&w("mask")},A=t=>{if(_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ESCAPE)){let e=_xeUtils.default.max(_store.allActiveDrawers,e=>e.reactData.drawerZIndex);e&&setTimeout(()=>{e===E&&e.props.escClosable&&(D("close",{type:"exit"},t),w("exit"))},10)}},q=()=>{let t=k.drawerZIndex;_store.allActiveDrawers.some(e=>e.reactData.visible&&e.reactData.drawerZIndex>t)&&_()},F=e=>{e.preventDefault();var{resize:t,isWithinAppendTo:r}=b,i=B.value,i=(0,_dom.getPopupWrapperElement)(r?i:document.body);if(i){let o=i.clientWidth-(t&&r?8:0),a=i.clientHeight-(t&&r?8:0);let n=e.target.getAttribute("type"),s=_xeUtils.default.toNumber(b.minWidth),u=_xeUtils.default.toNumber(b.minHeight),d=o,c=a,v=z(),f=v.clientWidth,_=v.clientHeight,g=e.clientX,w=e.clientY,p=v.offsetTop,h=v.offsetLeft,m={type:"resize"};document.onmousemove=e=>{e.preventDefault();let t,r,i,l;switch(n){case"wl":t=g-e.clientX,i=t+f,0<h-t&&i>s&&(v.style.width=`${i<d?i:d}px`);break;case"st":r=w-e.clientY,l=_+r,0<p-r&&l>u&&(v.style.height=`${l<c?l:c}px`);break;case"wr":t=e.clientX-g,i=t+f,h+i+0<o&&i>s&&(v.style.width=`${i<d?i:d}px`);break;case"sb":r=e.clientY-w,l=r+_,p+l+0<a&&l>u&&(v.style.height=`${l<c?l:c}px`)}v.className=v.className.replace(/\s?is--drag/,"")+" is--drag",D("resize",m,e),k.resizeFlag++},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,k.resizeFlag++,setTimeout(()=>{v.className=v.className.replace(/\s?is--drag/,"")},50)}}};Object.assign(E,t,{});let O=()=>{var{slots:e={},showClose:t,title:r}=b,i=x.title||e.title,e=x.corner||e.corner;return[(0,_vue.h)("div",{class:"vxe-drawer--header-title"},i?(0,_vn.getSlotVNs)(i({$drawer:E})):r?(0,_utils.getFuncText)(r):(0,_ui.getI18n)("vxe.alert.title")),(0,_vue.h)("div",{class:"vxe-drawer--header-right"},[e?(0,_vue.h)("div",{class:"vxe-drawer--corner-wrapper"},(0,_vn.getSlotVNs)(e({$drawer:E}))):(0,_ui.renderEmptyElement)(E),t?(0,_vue.h)("div",{class:["vxe-drawer--close-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.drawer.close"),onClick:p},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().DRAWER_CLOSE})]):(0,_ui.renderEmptyElement)(E)])]},M=()=>{var{slots:e={},showCancelButton:t,showConfirmButton:r,loading:i}=b,l=x.leftfoot||e.leftfoot,e=x.rightfoot||e.rightfoot,o=[];return t&&o.push((0,_vue.h)(_button.default,{key:1,ref:s,content:b.cancelButtonText||(0,_ui.getI18n)("vxe.button.cancel"),onClick:m})),r&&o.push((0,_vue.h)(_button.default,{key:2,ref:n,loading:i,status:"primary",content:b.confirmButtonText||(0,_ui.getI18n)("vxe.button.confirm"),onClick:h})),(0,_vue.h)("div",{class:"vxe-drawer--footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-drawer--footer-left"},l?(0,_vn.getSlotVNs)(l({$drawer:E})):[]),(0,_vue.h)("div",{class:"vxe-drawer--footer-right"},e?(0,_vn.getSlotVNs)(e({$drawer:E})):o)])};let H=(0,_vue.ref)(0);return(0,_vue.watch)(()=>b.width,()=>{H.value++}),(0,_vue.watch)(()=>b.height,()=>{H.value++}),(0,_vue.watch)(()=>b.position,()=>{H.value++}),(0,_vue.watch)(H,f),(0,_vue.watch)(()=>b.modelValue,e=>{e?I():w("model")}),(0,_vue.onMounted)(()=>{k.initialized=!!b.preload,(0,_vue.nextTick)(()=>{b.modelValue&&I(),f()}),b.escClosable&&_ui.globalEvents.on(E,"keydown",A)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(E,"keydown"),g()}),(0,_vue.provide)("$xeDrawer",E),E.renderVN=()=>{var{border:e,showTitleBackground:t,slots:r={},className:i,position:l,loading:o,lockScroll:a,padding:n,lockView:s,mask:u,resize:d,appendTo:c,destroyOnClose:v,isWithinAppendTo:f}=b,{initialized:_,contentVisible:g,visible:w}=k,r=x.aside||r.aside,p=C.value,h=N.value,m=S.value;return(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(c),disabled:!m||!_},[(0,_vue.h)("div",{ref:B,class:["vxe-drawer--wrapper","pos--"+l,f?"ctx--within":"ctx--free",i||"",{["size--"+p]:p,"is--padding":n,"is--border":e,"is--title-bg":t,"lock--scroll":a,"lock--view":s,"is--resize":d,"is--mask":u,"is--visible":g,"is--active":w,"is--loading":o}],style:{zIndex:k.drawerZIndex},onClick:$},[(0,_vue.h)("div",{ref:T,class:"vxe-drawer--box",onMousedown:q},[r?(0,_vue.h)("div",{class:"vxe-drawer--aside"},(0,_vn.getSlotVNs)(r({$drawer:E}))):(0,_ui.renderEmptyElement)(E),(0,_vue.h)("div",{class:"vxe-drawer--container"},!k.initialized||v&&!k.visible?[]:[(()=>{var{slots:e={},showTitleOverflow:t}=b,e=x.header||e.header;return b.showHeader?(0,_vue.h)("div",{class:["vxe-drawer--header",{"is--ellipsis":t}]},e?(0,_vn.getSlotVNs)(e({$drawer:E})):O()):(0,_ui.renderEmptyElement)(E)})(),(()=>{let{slots:e={},content:t,useHtml:r}=b;var i=y.value,l=V.value;let o=x.default||e.default;var a=x.left||e.left,n=x.right||e.right,s=[];return r&&!o?s.push(i?(0,_vue.h)(_scrollbar.default,Object.assign({key:"shc",class:"vxe-drawer--scrollbar-content"},l),{default(){return[(0,_vue.h)("div",{class:"vxe-drawer--scrollbar-content-html",innerHTML:(0,_utils.getFuncText)(t)})]}}):(0,_vue.h)("div",{key:"hc",class:"vxe-drawer--content",innerHTML:(0,_utils.getFuncText)(t)})):s.push(i?(0,_vue.h)(_scrollbar.default,Object.assign({key:"sdc",class:"vxe-drawer--scrollbar-content"},l),{default:()=>o?(0,_vn.getSlotVNs)(o({$drawer:E})):(0,_utils.getFuncText)(t)}):(0,_vue.h)("div",{key:"dc",class:"vxe-drawer--content"},o?(0,_vn.getSlotVNs)(o({$drawer:E})):(0,_utils.getFuncText)(t))),(0,_vue.h)("div",{class:"vxe-drawer--body"},[a?(0,_vue.h)("div",{class:"vxe-drawer--body-left"},(0,_vn.getSlotVNs)(a({$drawer:E}))):(0,_ui.renderEmptyElement)(E),(0,_vue.h)("div",{class:"vxe-drawer--body-default"},s),n?(0,_vue.h)("div",{class:"vxe-drawer--body-right"},(0,_vn.getSlotVNs)(n({$drawer:E}))):(0,_ui.renderEmptyElement)(E),(0,_vue.h)(_loading.default,{class:"vxe-drawer--loading",modelValue:b.loading})])})(),(()=>{var{slots:e={}}=b,e=x.footer||e.footer;return b.showFooter?(0,_vue.h)("div",{class:"vxe-drawer--footer"},e?(0,_vn.getSlotVNs)(e({$drawer:E})):[M()]):(0,_ui.renderEmptyElement)(E)})(),d?(0,_vue.h)("span",{class:"vxe-drawer--resize"},[(0,_vue.h)("span",{class:h+"-resize",type:h,onMousedown:F})]):(0,_ui.renderEmptyElement)(E)])])])])},E},render(){return this.renderVN()}});
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"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_store=require("./store"),_vn=require("../../ui/src/vn"),_button=_interopRequireDefault(require("../../button")),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getIcon,getConfig,getI18n,useFns,globalEvents,GLOBAL_EVENT_KEYS,createEvent,renderEmptyElement}=_ui.VxeUI;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDrawer",props:{modelValue:Boolean,id:String,title:String,loading:{type:Boolean,default:null},className:String,position:{type:[String,Object],default:()=>getConfig().drawer.position},lockView:{type:Boolean,default:()=>getConfig().drawer.lockView},lockScroll:Boolean,mask:{type:Boolean,default:()=>getConfig().drawer.mask},maskClosable:{type:Boolean,default:()=>getConfig().drawer.maskClosable},escClosable:{type:Boolean,default:()=>getConfig().drawer.escClosable},cancelClosable:{type:Boolean,default:()=>getConfig().drawer.cancelClosable},confirmClosable:{type:Boolean,default:()=>getConfig().drawer.confirmClosable},showHeader:{type:Boolean,default:()=>getConfig().drawer.showHeader},showFooter:{type:Boolean,default:()=>getConfig().drawer.showFooter},showClose:{type:Boolean,default:()=>getConfig().drawer.showClose},content:[Number,String],useHtml:{type:Boolean,default:()=>getConfig().drawer.useHtml},showCancelButton:{type:Boolean,default:null},cancelButtonText:{type:String,default:()=>getConfig().drawer.cancelButtonText},showConfirmButton:{type:Boolean,default:()=>getConfig().drawer.showConfirmButton},confirmButtonText:{type:String,default:()=>getConfig().drawer.confirmButtonText},destroyOnClose:{type:Boolean,default:()=>getConfig().drawer.destroyOnClose},showTitleOverflow:{type:Boolean,default:()=>getConfig().drawer.showTitleOverflow},preload:Boolean,width:{type:[Number,String],default:()=>getConfig().drawer.width},height:{type:[Number,String],default:()=>getConfig().drawer.height},minWidth:{type:[Number,String],default:()=>getConfig().drawer.minWidth},minHeight:{type:[Number,String],default:()=>getConfig().drawer.minHeight},resize:{type:Boolean,default:()=>getConfig().drawer.resize},border:{type:Boolean,default:()=>getConfig().drawer.border},showTitleBackground:{type:Boolean,default:()=>getConfig().drawer.showTitleBackground},zIndex:Number,transfer:{type:Boolean,default:()=>getConfig().drawer.transfer},appendTo:{type:[String,Function],default:()=>getConfig().drawer.appendTo},isWithinAppendTo:{type:Boolean,default:()=>getConfig().drawer.isWithinAppendTo},padding:{type:Boolean,default:()=>getConfig().drawer.padding},size:{type:String,default:()=>getConfig().drawer.size||getConfig().size},beforeHideMethod:Function,slots:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)(getConfig().drawer.useScrollbar,getConfig().useScrollbar)},scrollbarConfig:Object},emits:["update:modelValue","show","hide","before-hide","close","confirm","cancel","resize"],setup(b,e){let{slots:x,emit:o}=e;var t=_xeUtils.default.uniqueId();let r=(0,_vue.inject)("$xeModal",null),l=(0,_vue.inject)("$xeDrawer",null),a=(0,_vue.inject)("$xeTable",null),i=(0,_vue.inject)("$xeForm",null),C=useFns.useSize(b).computeSize,y=useFns.useVScrollbar(b).computeIsVScrollbar,B=(0,_vue.ref)(),T=(0,_vue.ref)(),n=(0,_vue.ref)(),s=(0,_vue.ref)(),k=(0,_vue.reactive)({initialized:!1,visible:!1,contentVisible:!1,drawerZIndex:0,resizeFlag:1}),d={beforeHideMethod:getConfig().drawer.beforeHideMethod},u={refElem:B},E=(0,_vue.computed)(()=>{var e=b.transfer;if(null===e){var t=getConfig().modal.transfer;if(_xeUtils.default.isBoolean(t))return t;if(a||r||l||i)return!0}return e}),S=(0,_vue.computed)(()=>{switch(b.position){case"top":return"sb";case"bottom":return"st";case"left":return"wr"}return"wl"}),c=(0,_vue.computed)(()=>Object.assign({},getConfig().modal.scrollbarConfig,b.scrollbarConfig)),N=(0,_vue.computed)(()=>{var e=c.value,{viewClassName:t,viewInnerClassName:r}=e;return{width:e.width,height:e.height,autoHide:e.autoHide,visible:e.visible,xConfig:e.xConfig,yConfig:e.yConfig,className:e.className,viewAttrs:e.viewAttrs,viewClassName:"vxe-drawer--scrollbar-content-view"+(t?" "+t:""),viewInnerClassName:"vxe-drawer--scrollbar-content-inner"+(t?" "+r:"")}}),v={},V={xID:t,props:b,context:e,reactData:k,getRefMaps:()=>u,getComputeMaps:()=>v},z=()=>T.value,f=()=>{var{position:e,width:t,height:r}=b,l=z();return l&&(l.style.height=(e="top"===e||"bottom"===e)?(0,_dom.toCssUnit)(r):"",l.style.width=e?"":(0,_dom.toCssUnit)(t)),(0,_vue.nextTick)()},g=()=>{var e=b.zIndex,t=k.drawerZIndex;e?k.drawerZIndex=e:t<(0,_utils.getLastZIndex)()&&(k.drawerZIndex=(0,_utils.nextZIndex)())},w=()=>{-1<_store.allActiveDrawers.indexOf(V)&&_xeUtils.default.remove(_store.allActiveDrawers,e=>e===V)},p=e=>{var t=k.visible,r=b.beforeHideMethod||d.beforeHideMethod;let l={type:e};return t&&Promise.resolve(r?r(l):null).then(e=>{_xeUtils.default.isError(e)||((e=B.value)&&e.setAttribute("data-effect","y"),k.contentVisible=!1,w(),D("before-hide",l,null),setTimeout(()=>{k.visible=!1,o("update:modelValue",!1),D("hide",l,null)},200),setTimeout(()=>{var e=B.value;e&&e.removeAttribute("data-effect")},350))}).catch(e=>e),(0,_vue.nextTick)()},h=e=>{var t="close";D(t,{type:t},e),p(t)},m=e=>{var t=b.confirmClosable,r="confirm";D(r,{type:r},e),t&&p(r)},_=e=>{var t=b.cancelClosable,r="cancel";D(r,{type:r},e),t&&p(r)},I=()=>{let r=b.showFooter;var{initialized:e,visible:t}=k;return e||(k.initialized=!0),t||(k.visible=!0,k.contentVisible=!1,g(),_store.allActiveDrawers.push(V),(0,_vue.nextTick)(()=>{var e=B.value;e&&e.setAttribute("data-effect","y")}),setTimeout(()=>{f(),k.contentVisible=!0,(0,_vue.nextTick)(()=>{r&&(e=n.value,t=s.value,e=e||t)&&e.focus();var e,t={type:""};o("update:modelValue",!0),D("show",t,null)})},10),setTimeout(()=>{var e=B.value;e&&e.removeAttribute("data-effect")},350)),(0,_vue.nextTick)()},D=(e,t,r)=>{o(e,createEvent(r,{$drawer:V},t))};t={dispatchEvent:D,open:I,close(){return p("close")},getBox:z};let $=e=>{var t=B.value;b.maskClosable&&e.target===t&&p("mask")},H=t=>{if(globalEvents.hasKey(t,GLOBAL_EVENT_KEYS.ESCAPE)){let e=_xeUtils.default.max(_store.allActiveDrawers,e=>e.reactData.drawerZIndex);e&&setTimeout(()=>{e===V&&e.props.escClosable&&(D("close",{type:"exit"},t),p("exit"))},10)}},F=()=>{let t=k.drawerZIndex;_store.allActiveDrawers.some(e=>e.reactData.visible&&e.reactData.drawerZIndex>t)&&g()},O=e=>{e.preventDefault();var{resize:t,isWithinAppendTo:r}=b,l=B.value,l=(0,_dom.getPopupWrapperElement)(r?l:document.body);if(l){let a=l.clientWidth-(t&&r?8:0),i=l.clientHeight-(t&&r?8:0);let n=e.target.getAttribute("type"),s=_xeUtils.default.toNumber(b.minWidth),d=_xeUtils.default.toNumber(b.minHeight),u=a,c=i,v=z(),f=v.clientWidth,g=v.clientHeight,w=e.clientX,p=e.clientY,h=v.offsetTop,m=v.offsetLeft,_={type:"resize"};document.onmousemove=e=>{e.preventDefault();let t,r,l,o;switch(n){case"wl":t=w-e.clientX,l=t+f,0<m-t&&l>s&&(v.style.width=`${l<u?l:u}px`);break;case"st":r=p-e.clientY,o=g+r,0<h-r&&o>d&&(v.style.height=`${o<c?o:c}px`);break;case"wr":t=e.clientX-w,l=t+f,m+l+0<a&&l>s&&(v.style.width=`${l<u?l:u}px`);break;case"sb":r=e.clientY-p,o=r+g,h+o+0<i&&o>d&&(v.style.height=`${o<c?o:c}px`)}v.className=v.className.replace(/\s?is--drag/,"")+" is--drag",D("resize",_,e),k.resizeFlag++},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,k.resizeFlag++,setTimeout(()=>{v.className=v.className.replace(/\s?is--drag/,"")},50)}}};Object.assign(V,t,{});let q=()=>{var{slots:e={},showClose:t,title:r}=b,l=x.title||e.title,e=x.corner||e.corner;return[(0,_vue.h)("div",{class:"vxe-drawer--header-title"},l?(0,_vn.getSlotVNs)(l({$drawer:V})):r?(0,_utils.getFuncText)(r):getI18n("vxe.alert.title")),(0,_vue.h)("div",{class:"vxe-drawer--header-right"},[e?(0,_vue.h)("div",{class:"vxe-drawer--corner-wrapper"},(0,_vn.getSlotVNs)(e({$drawer:V}))):renderEmptyElement(V),t?(0,_vue.h)("div",{class:["vxe-drawer--close-btn","trigger--btn"],title:getI18n("vxe.drawer.close"),onClick:h},[(0,_vue.h)("i",{class:getIcon().DRAWER_CLOSE})]):renderEmptyElement(V)])]},M=()=>{var{slots:e={},showCancelButton:t,showConfirmButton:r,loading:l}=b,o=x.leftfoot||e.leftfoot,e=x.rightfoot||e.rightfoot,a=[];return t&&a.push((0,_vue.h)(_button.default,{key:1,ref:s,content:b.cancelButtonText||getI18n("vxe.button.cancel"),onClick:_})),r&&a.push((0,_vue.h)(_button.default,{key:2,ref:n,loading:l,status:"primary",content:b.confirmButtonText||getI18n("vxe.button.confirm"),onClick:m})),(0,_vue.h)("div",{class:"vxe-drawer--footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-drawer--footer-left"},o?(0,_vn.getSlotVNs)(o({$drawer:V})):[]),(0,_vue.h)("div",{class:"vxe-drawer--footer-right"},e?(0,_vn.getSlotVNs)(e({$drawer:V})):a)])};let A=(0,_vue.ref)(0);return(0,_vue.watch)(()=>b.width,()=>{A.value++}),(0,_vue.watch)(()=>b.height,()=>{A.value++}),(0,_vue.watch)(()=>b.position,()=>{A.value++}),(0,_vue.watch)(A,f),(0,_vue.watch)(()=>b.modelValue,e=>{e?I():p("model")}),(0,_vue.onMounted)(()=>{k.initialized=!!b.preload,(0,_vue.nextTick)(()=>{b.modelValue&&I(),f()}),b.escClosable&&globalEvents.on(V,"keydown",H)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(V,"keydown"),w()}),(0,_vue.provide)("$xeDrawer",V),V.renderVN=()=>{var{border:e,showTitleBackground:t,slots:r={},className:l,position:o,loading:a,lockScroll:i,padding:n,lockView:s,mask:d,resize:u,appendTo:c,destroyOnClose:v,isWithinAppendTo:f}=b,{initialized:g,contentVisible:w,visible:p}=k,r=x.aside||r.aside,h=C.value,m=S.value,_=E.value;return(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(c),disabled:!_||!g},[(0,_vue.h)("div",{ref:B,class:["vxe-drawer--wrapper","pos--"+o,f?"ctx--within":"ctx--free",l||"",{["size--"+h]:h,"is--padding":n,"is--border":e,"is--title-bg":t,"lock--scroll":i,"lock--view":s,"is--resize":u,"is--mask":d,"is--visible":w,"is--active":p,"is--loading":a}],style:{zIndex:k.drawerZIndex},onClick:$},[(0,_vue.h)("div",{ref:T,class:"vxe-drawer--box",onMousedown:F},[r?(0,_vue.h)("div",{class:"vxe-drawer--aside"},(0,_vn.getSlotVNs)(r({$drawer:V}))):renderEmptyElement(V),(0,_vue.h)("div",{class:"vxe-drawer--container"},!k.initialized||v&&!k.visible?[]:[(()=>{var{slots:e={},showTitleOverflow:t}=b,e=x.header||e.header;return b.showHeader?(0,_vue.h)("div",{class:["vxe-drawer--header",{"is--ellipsis":t}]},e?(0,_vn.getSlotVNs)(e({$drawer:V})):q()):renderEmptyElement(V)})(),(()=>{let{slots:e={},content:t,useHtml:r}=b;var l=y.value,o=N.value;let a=x.default||e.default;var i=x.left||e.left,n=x.right||e.right,s=[];return r&&!a?s.push(l?(0,_vue.h)(_scrollbar.default,Object.assign({key:"shc",class:"vxe-drawer--scrollbar-content"},o),{default(){return[(0,_vue.h)("div",{class:"vxe-drawer--scrollbar-content-html",innerHTML:(0,_utils.getFuncText)(t)})]}}):(0,_vue.h)("div",{key:"hc",class:"vxe-drawer--content",innerHTML:(0,_utils.getFuncText)(t)})):s.push(l?(0,_vue.h)(_scrollbar.default,Object.assign({key:"sdc",class:"vxe-drawer--scrollbar-content"},o),{default:()=>a?(0,_vn.getSlotVNs)(a({$drawer:V})):(0,_utils.getFuncText)(t)}):(0,_vue.h)("div",{key:"dc",class:"vxe-drawer--content"},a?(0,_vn.getSlotVNs)(a({$drawer:V})):(0,_utils.getFuncText)(t))),(0,_vue.h)("div",{class:"vxe-drawer--body"},[i?(0,_vue.h)("div",{class:"vxe-drawer--body-left"},(0,_vn.getSlotVNs)(i({$drawer:V}))):renderEmptyElement(V),(0,_vue.h)("div",{class:"vxe-drawer--body-default"},s),n?(0,_vue.h)("div",{class:"vxe-drawer--body-right"},(0,_vn.getSlotVNs)(n({$drawer:V}))):renderEmptyElement(V),(0,_vue.h)(_loading.default,{class:"vxe-drawer--loading",modelValue:b.loading})])})(),(()=>{var{slots:e={}}=b,e=x.footer||e.footer;return b.showFooter?(0,_vue.h)("div",{class:"vxe-drawer--footer"},e?(0,_vn.getSlotVNs)(e({$drawer:V})):[M()]):renderEmptyElement(V)})(),u?(0,_vue.h)("span",{class:"vxe-drawer--resize"},[(0,_vue.h)("span",{class:m+"-resize",type:m,onMousedown:O})]):renderEmptyElement(V)])])])])},V},render(){return this.renderVN()}});
@@ -19,6 +19,14 @@ var _vn = require("../../ui/src/vn");
19
19
  var _log = require("../../ui/src/log");
20
20
  require("../render");
21
21
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
+ const {
23
+ getConfig,
24
+ validators,
25
+ renderer,
26
+ createEvent,
27
+ useFns,
28
+ globalEvents
29
+ } = _ui.VxeUI;
22
30
  const {
23
31
  warnLog,
24
32
  errLog
@@ -181,59 +189,59 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
181
189
  data: Object,
182
190
  size: {
183
191
  type: String,
184
- default: () => (0, _ui.getConfig)().form.size || (0, _ui.getConfig)().size
192
+ default: () => getConfig().form.size || getConfig().size
185
193
  },
186
194
  span: {
187
195
  type: [String, Number],
188
- default: () => (0, _ui.getConfig)().form.span
196
+ default: () => getConfig().form.span
189
197
  },
190
198
  align: {
191
199
  type: String,
192
- default: () => (0, _ui.getConfig)().form.align
200
+ default: () => getConfig().form.align
193
201
  },
194
202
  verticalAlign: {
195
203
  type: String,
196
- default: () => (0, _ui.getConfig)().form.verticalAlign
204
+ default: () => getConfig().form.verticalAlign
197
205
  },
198
206
  border: {
199
207
  type: Boolean,
200
- default: () => (0, _ui.getConfig)().form.border
208
+ default: () => getConfig().form.border
201
209
  },
202
210
  titleBackground: {
203
211
  type: Boolean,
204
- default: () => (0, _ui.getConfig)().form.titleBackground
212
+ default: () => getConfig().form.titleBackground
205
213
  },
206
214
  titleBold: {
207
215
  type: Boolean,
208
- default: () => (0, _ui.getConfig)().form.titleBold
216
+ default: () => getConfig().form.titleBold
209
217
  },
210
218
  titleAlign: {
211
219
  type: String,
212
- default: () => (0, _ui.getConfig)().form.titleAlign
220
+ default: () => getConfig().form.titleAlign
213
221
  },
214
222
  titleWidth: {
215
223
  type: [String, Number],
216
- default: () => (0, _ui.getConfig)().form.titleWidth
224
+ default: () => getConfig().form.titleWidth
217
225
  },
218
226
  titleColon: {
219
227
  type: Boolean,
220
- default: () => (0, _ui.getConfig)().form.titleColon
228
+ default: () => getConfig().form.titleColon
221
229
  },
222
230
  titleAsterisk: {
223
231
  type: Boolean,
224
- default: () => (0, _ui.getConfig)().form.titleAsterisk
232
+ default: () => getConfig().form.titleAsterisk
225
233
  },
226
234
  titleOverflow: {
227
235
  type: [Boolean, String],
228
- default: () => (0, _ui.getConfig)().form.titleOverflow
236
+ default: () => getConfig().form.titleOverflow
229
237
  },
230
238
  vertical: {
231
239
  type: Boolean,
232
- default: () => (0, _ui.getConfig)().form.vertical
240
+ default: () => getConfig().form.vertical
233
241
  },
234
242
  padding: {
235
243
  type: Boolean,
236
- default: () => (0, _ui.getConfig)().form.padding
244
+ default: () => getConfig().form.padding
237
245
  },
238
246
  className: [String, Function],
239
247
  readonly: Boolean,
@@ -242,14 +250,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
242
250
  rules: Object,
243
251
  preventSubmit: {
244
252
  type: Boolean,
245
- default: () => (0, _ui.getConfig)().form.preventSubmit
253
+ default: () => getConfig().form.preventSubmit
246
254
  },
247
255
  validConfig: Object,
248
256
  tooltipConfig: Object,
249
257
  collapseConfig: Object,
250
258
  customLayout: {
251
259
  type: Boolean,
252
- default: () => (0, _ui.getConfig)().form.customLayout
260
+ default: () => getConfig().form.customLayout
253
261
  },
254
262
  params: Object
255
263
  },
@@ -263,19 +271,19 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
263
271
  const xID = _xeUtils.default.uniqueId();
264
272
  const {
265
273
  computeSize
266
- } = (0, _ui.useSize)(props);
274
+ } = useFns.useSize(props);
267
275
  const reactData = (0, _vue.reactive)(createReactData());
268
276
  const internalData = createInternalData();
269
277
  const refElem = (0, _vue.ref)();
270
278
  const refTooltip = (0, _vue.ref)();
271
279
  const computeValidOpts = (0, _vue.computed)(() => {
272
- return Object.assign({}, (0, _ui.getConfig)().form.validConfig, props.validConfig);
280
+ return Object.assign({}, getConfig().form.validConfig, props.validConfig);
273
281
  });
274
282
  const computeTooltipOpts = (0, _vue.computed)(() => {
275
- return Object.assign({}, (0, _ui.getConfig)().tooltip, (0, _ui.getConfig)().form.tooltipConfig, props.tooltipConfig);
283
+ return Object.assign({}, getConfig().tooltip, getConfig().form.tooltipConfig, props.tooltipConfig);
276
284
  });
277
285
  const computeCollapseOpts = (0, _vue.computed)(() => {
278
- return Object.assign({}, (0, _ui.getConfig)().form.collapseConfig, props.collapseConfig);
286
+ return Object.assign({}, getConfig().form.collapseConfig, props.collapseConfig);
279
287
  });
280
288
  const computeAutoItemWidthList = (0, _vue.computed)(() => {
281
289
  const {
@@ -326,7 +334,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
326
334
  getComputeMaps: () => computeMaps
327
335
  };
328
336
  const dispatchEvent = (type, params, evnt) => {
329
- emit(type, (0, _ui.createEvent)(evnt, {
337
+ emit(type, createEvent(evnt, {
330
338
  $form: $xeForm,
331
339
  $grid: $xeGrid
332
340
  }, params));
@@ -517,7 +525,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
517
525
  startField,
518
526
  endField
519
527
  } = itemRender;
520
- const compConf = _ui.renderer.get(name);
528
+ const compConf = renderer.get(name);
521
529
  const fiResetMethod = compConf ? compConf.formItemResetMethod || compConf.itemResetMethod : null;
522
530
  if (compConf && fiResetMethod) {
523
531
  fiResetMethod({
@@ -566,7 +574,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
566
574
  const {
567
575
  itemRender
568
576
  } = item;
569
- const compConf = _ui.renderer.get(itemRender.name);
577
+ const compConf = renderer.get(itemRender.name);
570
578
  // 定位到第一个
571
579
  if (!i) {
572
580
  (0, _dom.scrollToView)(el.querySelector(`.${item.id}`));
@@ -647,7 +655,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
647
655
  };
648
656
  let customValid;
649
657
  if (_xeUtils.default.isString(validator)) {
650
- const gvItem = _ui.validators.get(validator);
658
+ const gvItem = validators.get(validator);
651
659
  if (gvItem) {
652
660
  const validatorMethod = gvItem.formItemValidatorMethod || gvItem.itemValidatorMethod;
653
661
  if (validatorMethod) {
@@ -1093,10 +1101,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1093
1101
  errLog('vxe.error.errConflicts', ['custom-layout', 'items']);
1094
1102
  }
1095
1103
  });
1096
- _ui.globalEvents.on($xeForm, 'resize', handleGlobalResizeEvent);
1104
+ globalEvents.on($xeForm, 'resize', handleGlobalResizeEvent);
1097
1105
  });
1098
1106
  (0, _vue.onUnmounted)(() => {
1099
- _ui.globalEvents.off($xeForm, 'resize');
1107
+ globalEvents.off($xeForm, 'resize');
1100
1108
  _xeUtils.default.assign(reactData, createReactData());
1101
1109
  _xeUtils.default.assign(internalData, createInternalData());
1102
1110
  });
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.createReactData=createReactData,exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_tooltip=_interopRequireDefault(require("../../tooltip")),_formConfigItem=_interopRequireDefault(require("./form-config-item")),_loading=_interopRequireDefault(require("../../loading")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}require("../render");let{warnLog,errLog}=(0,_log.createComponentLog)("form");class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}function validREValue(e,t){return!(e&&!(_xeUtils.default.isRegExp(e)?e:new RegExp(e)).test(t))}function validMaxValue(e,t){return!(!_xeUtils.default.eqNull(e)&&t>_xeUtils.default.toNumber(e))}function validMinValue(e,t){return!(!_xeUtils.default.eqNull(e)&&t<_xeUtils.default.toNumber(e))}function validRuleValue(e,t,l){var{type:e,min:i,max:r,pattern:a}=e,u="array"===e,o="number"===e,e="string"===e,n=""+t;if(!validREValue(a,n))return!1;if(u){if(!_xeUtils.default.isArray(t))return!1;if(l&&!t.length)return!1;if(!validMinValue(i,t.length))return!1;if(!validMaxValue(r,t.length))return!1}else if(o){a=Number(t);if(isNaN(a))return!1;if(!validMinValue(i,a))return!1;if(!validMaxValue(r,a))return!1}else{if(e&&!_xeUtils.default.isString(t))return!1;if(l&&!n)return!1;if(!validMinValue(i,n.length))return!1;if(!validMaxValue(r,n.length))return!1}return!0}function checkRuleStatus(e,t,l){var{required:i,field:r}=e,t=r?_xeUtils.default.get(t,r):l,r=_xeUtils.default.isArray(t)?!t.length:(0,_utils.eqEmptyValue)(t);if(i){if(r)return!1;if(!validRuleValue(e,t,i))return!1}else if(!r&&!validRuleValue(e,t,i))return!1;return!0}function createReactData(){return{collapseAll:!1,staticItems:[],formItems:[],itemWidth:0}}function createInternalData(){return{meTimeout:void 0,stTimeout:void 0,tooltipStore:{item:null,visible:!1},itemFormatCache:{},fullItemList:[],fullItemIdData:{},fullItemFieldData:{}}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeForm",props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:()=>(0,_ui.getConfig)().form.size||(0,_ui.getConfig)().size},span:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.span},align:{type:String,default:()=>(0,_ui.getConfig)().form.align},verticalAlign:{type:String,default:()=>(0,_ui.getConfig)().form.verticalAlign},border:{type:Boolean,default:()=>(0,_ui.getConfig)().form.border},titleBackground:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleBackground},titleBold:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleBold},titleAlign:{type:String,default:()=>(0,_ui.getConfig)().form.titleAlign},titleWidth:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.titleWidth},titleColon:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleColon},titleAsterisk:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleAsterisk},titleOverflow:{type:[Boolean,String],default:()=>(0,_ui.getConfig)().form.titleOverflow},vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().form.vertical},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().form.padding},className:[String,Function],readonly:Boolean,disabled:Boolean,items:Array,rules:Object,preventSubmit:{type:Boolean,default:()=>(0,_ui.getConfig)().form.preventSubmit},validConfig:Object,tooltipConfig:Object,collapseConfig:Object,customLayout:{type:Boolean,default:()=>(0,_ui.getConfig)().form.customLayout},params:Object},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup(s,e){let{slots:d,emit:i}=e,o=(0,_vue.inject)("$xeGrid",null);var t=_xeUtils.default.uniqueId();let f=(0,_ui.useSize)(s).computeSize,m=(0,_vue.reactive)(createReactData()),c=createInternalData(),v=(0,_vue.ref)(),g=(0,_vue.ref)(),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.validConfig,s.validConfig)),p=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tooltip,(0,_ui.getConfig)().form.tooltipConfig,s.tooltipConfig));var l=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.collapseConfig,s.collapseConfig));let r=(0,_vue.computed)(()=>{let{titleWidth:i,vertical:r}=s;var e=m.formItems;let a=[];return _xeUtils.default.eachTree(e,e=>{var{titleWidth:t,vertical:l}=e;"auto"!==t&&("auto"!==((_xeUtils.default.eqNull(l)?r:l)?null:_xeUtils.default.eqNull(t)?i:t)||e.children&&e.children.length)||a.push(e)},{children:"children"}),a}),a={refElem:v},u={computeSize:f,computeValidOpts:_,computeTooltipOpts:p,computeCollapseOpts:l,computeAutoItemWidthList:r},h={xID:t,props:s,context:e,reactData:m,internalData:c,xeGrid:o,getRefMaps:()=>a,getComputeMaps:()=>u},n=(e,t,l)=>{i(e,(0,_ui.createEvent)(l,{$form:h,$grid:o},t))};let x=e=>(e.length&&e.forEach(e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{!e||_xeUtils.default.isFunction(e)||d[e]||errLog("vxe.error.notSlot",[e])})}),m.staticItems=_xeUtils.default.mapTree(e,e=>(0,_util.createItem)(h,e),{children:"children"}),c.itemFormatCache={},(0,_vue.nextTick)().then(()=>F()));let y=()=>c.fullItemList;let I=e=>{var t=c.fullItemFieldData,t=t[e];return t?t.item:null},b=()=>m.collapseAll,C=()=>{var e=!b();return m.collapseAll=e,i("update:collapseStatus",e),(0,_vue.nextTick)()};let U=t=>{var e=c.fullItemList;if(t){let e=t;(e=_xeUtils.default.isArray(t)?e:[t]).forEach(e=>{e&&(e=(0,_util.handleFieldOrItem)(h,e))&&(e.showError=!1,e.showIconMsg=!1)})}else e.forEach(e=>{e.showError=!1,e.showIconMsg=!1});return(0,_vue.nextTick)()},w=(e,t,l,i)=>{var{field:r,resetValue:a}=e;return _xeUtils.default.isFunction(a)?a({field:r,item:e,data:t,currentField:i||r||"",currentValue:l,$form:h,$grid:o}):_xeUtils.default.eqNull(a)&&_xeUtils.default.isArray(l)?[]:a},S=()=>{let u=s.data;var e=c.fullItemList;return u&&e.forEach(e=>{var t,l,i,{field:r,itemRender:a}=e;if((0,_utils.isEnableConf)(a))return{name:a,startField:t,endField:l}=a,i=(a=_ui.renderer.get(a))?a.formItemResetMethod||a.itemResetMethod:null,a&&i?i({data:u,field:r,property:r,item:e,$form:h,$grid:o}):r&&(a=_xeUtils.default.get(u,r),_xeUtils.default.set(u,r,w(e,u,a))),t&&l&&(_xeUtils.default.set(u,t,w(e,u,_xeUtils.default.get(u,t),t)),_xeUtils.default.set(u,l,w(e,u,_xeUtils.default.get(u,l),l))),""}),c.itemFormatCache={},U(),F()},O=e=>{e.preventDefault(),S(),n("reset",{data:s.data},e)},$=e=>{var l=v.value;if(l)for(let t=0;t<e.length;t++){var i=e[t],r=I(i);if(r&&(0,_utils.isEnableConf)(r.itemRender)){var a=r.itemRender,u=_ui.renderer.get(a.name);t||(0,_dom.scrollToView)(l.querySelector("."+r.id));let e=null;a=a.autoFocus||a.autofocus||(u?u.formItemAutoFocus:null);if(_xeUtils.default.isFunction(a)?e=a({$form:h,$grid:o,item:r,data:s.data,field:i}):!0===a?e=l.querySelector(`.${r.id} input,textarea`):a&&(e=l.querySelector(`.${r.id} `+a)),e){e.focus();break}}}},R=(f,e,t)=>{let{data:m,rules:l}=s,i={};return _xeUtils.default.isArray(e)||(e=[e]),Promise.all(e.map(n=>{let s=[],d=[];if(n&&l){var e=I(n);let o=e&&e.rules?e.rules:_xeUtils.default.get(l,n);if(o){let u=_xeUtils.default.isUndefined(t)?_xeUtils.default.get(m,n):t;o.forEach(t=>{let{trigger:l,validator:i}=t;if("all"===f||!l||f===l)if(i){var r,a={itemValue:u,rule:t,rules:o,data:m,field:n,property:n,$form:h};let e;_xeUtils.default.isString(i)?(r=_ui.validators.get(i))?(r=r.formItemValidatorMethod||r.itemValidatorMethod)?e=r(a):warnLog("vxe.error.notValidators",[i]):errLog("vxe.error.notValidators",[i]):e=i(a),e&&(_xeUtils.default.isError(e)?s.push(new Rule({type:"custom",trigger:l,content:e.message,rule:new Rule(t)})):e.catch&&d.push(e.catch(e=>{s.push(new Rule({type:"custom",trigger:l,content:e?e.message:t.content||t.message,rule:new Rule(t)}))})))}else checkRuleStatus(t,m,u)||s.push(new Rule(t))})}}return Promise.all(d).then(()=>{s.length&&(i[n]=s.map(e=>({$form:h,rule:e,data:m,field:n,property:n})))})})).then(()=>{if(!_xeUtils.default.isEmpty(i))return Promise.reject(i)})},E=(t,e,l)=>{var{data:i,rules:r}=s;let a=_.value,u={},o=[],n=[];return clearTimeout(c.meTimeout),i&&r?(t.forEach(t=>{let l=t.field;l&&!(0,_util.isHiddenItem)(h,t)&&(0,_util.isActiveItem)(h,t)&&n.push(R(e||"all",l).then(()=>{t.errRule=null}).catch(e=>{e=e[l];return u[l]||(u[l]=[]),u[l].push(e),o.push(l),t.errRule=e[0].rule,Promise.reject(e)}))}),Promise.all(n).then(()=>{l&&l()}).catch(()=>new Promise(e=>{c.meTimeout=setTimeout(()=>{t.forEach(e=>{e.errRule&&(e.showError=!0)})},20),!1!==a.autoPos&&(0,_vue.nextTick)(()=>{$(o)}),l?(l(u),e()):e(u)}))):(l&&l(),Promise.resolve())};let q=t=>{var e=s.readonly,l=c.fullItemList;U(),e?(n("submit",{data:s.data},t),F()):E(l).then(e=>{e?n("submit-invalid",{data:s.data,errMap:e},t):n("submit",{data:s.data},t),F()})},L=e=>{e.preventDefault(),s.preventSubmit||q(e)},T=()=>{var e=c.tooltipStore,t=g.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t)&&t.close(),(0,_vue.nextTick)()};let V=(e,l,t)=>l?R(e?["blur"].includes(e.type)?"blur":"change":"all",l,t).then(()=>{U(l)}).catch(e=>{var e=e[l],t=I(l);e&&t&&(t.showError=!0,t.errRule=e[0].rule)}):(0,_vue.nextTick)();let F=()=>{var e=r.value,l=v.value;if(l&&e.length){l=l.querySelectorAll(e.map(e=>`.vxe-form--item-title[itemid="${e.id}"]`).join(","));let t=0;_xeUtils.default.arrayEach(l,e=>{e.style.width="",t=Math.max(t,Math.ceil(e.clientWidth+2))}),_xeUtils.default.arrayEach(l,e=>{e.style.width=t+"px"})}return(0,_vue.nextTick)()},j=()=>{F()};l=t=>function(e){return(_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=(0,_util.handleFieldOrItem)(h,e);e&&(e.visible=t)}),(0,_vue.nextTick)()},t={dispatchEvent:n,loadItems:x,showItem:l(!0),hideItem:l(!1),reset:S,validate:e=>{var t=s.readonly,l=c.fullItemList;return U(),t?Promise.resolve():E(l,"",e).then(e=>(F(),e))},validateField:(e,t)=>{var l=s.readonly;if(l)return Promise.resolve();let i=[];l=(i=e?_xeUtils.default.isArray(e)?e:[e]:i).map(e=>(0,_util.handleFieldOrItem)(h,e));return E(l,"",t).then(e=>(F(),e))},clearValidate:U,updateStatus:(e,t)=>{e=e.field;return V(new Event("change"),e,t)},toggleCollapse:C,getItems:()=>y(),getFlatItems:y,getNestedItems:()=>m.formItems,getItemByField:I,closeTooltip:T,recalculate:F},e={callSlot:(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],triggerItemEvent:V,toggleCollapseEvent:e=>{var t=C(),l=b();n("toggle-collapse",{status:l,collapse:l,data:s.data},e),n("collapse",{status:l,collapse:l,data:s.data},e),t.then(()=>{F().then(()=>{o&&o.recalculate(!0)}),o&&o.recalculate()})},triggerTitleTipEvent:(e,t)=>{var t=t.item,l=c.tooltipStore,i=g.value,e=e.currentTarget.children[0],r=(e.textContent||"").trim(),a=e.scrollWidth>e.clientWidth;clearTimeout(c.stTimeout),l.item!==t&&T(),r&&a&&(Object.assign(l,{item:t,visible:!0}),i)&&i.open(e,r)},handleTitleTipLeaveEvent:()=>{var e=p.value;let t=g.value;t&&t.setActived(!1),e.enterable?c.stTimeout=setTimeout(()=>{(t=g.value)&&!t.isActived()&&T()},e.leaveDelay):T()},handleValidIconEvent(e,t){t=t.item;t.showIconMsg=!t.showIconMsg},handleSubmitEvent:q};Object.assign(h,t,e);let A=(0,_vue.ref)(0),D=((0,_vue.watch)(()=>s.vertical,()=>{A.value++}),(0,_vue.watch)(()=>s.titleWidth,()=>{A.value++}),(0,_vue.watch)(A,()=>{(0,_vue.nextTick)().then(()=>{F()})}),(0,_vue.ref)(0)),M=((0,_vue.watch)(()=>m.staticItems.length,()=>{D.value++}),(0,_vue.watch)(()=>m.staticItems,()=>{D.value++}),(0,_vue.watch)(D,()=>{m.formItems=m.staticItems,A.value++,(()=>{var e=m.formItems;let a={},u={},o=[];_xeUtils.default.eachTree(e,(e,t,l)=>{var{id:i,field:r}=e,l={item:e,items:l,index:t};i&&(a[i]=l),r&&(u[r]=l),o.push(e)},{children:"children"}),c.fullItemList=o,c.fullItemFieldData=u,c.fullItemIdData=a})()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>s.items?s.items.length:-1,()=>{M.value++}),(0,_vue.watch)(()=>s.items,()=>{M.value++}),(0,_vue.watch)(M,()=>{x(s.items||[])}),(0,_vue.watch)(()=>s.collapseStatus,e=>{m.collapseAll=!!e}),(0,_vue.watch)(()=>s.readonly,()=>{U()}),(0,_vue.watch)(()=>s.disabled,()=>{U()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{s.customLayout&&s.items&&errLog("vxe.error.errConflicts",["custom-layout","items"])}),_ui.globalEvents.on(h,"resize",j)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(h,"resize"),_xeUtils.default.assign(m,createReactData()),_xeUtils.default.assign(c,createInternalData())}),m.collapseAll=!!s.collapseStatus,s.items&&x(s.items),(0,_vue.provide)("xeFormItemInfo",null),(0,_vue.provide)("$xeForm",h),(0,_vue.provide)("$xeFormGroup",null),(0,_vue.provide)("$xeFormItem",null),h.renderVN=()=>{var{loading:e,border:t,className:l,data:i,customLayout:r}=s,a=m.formItems,u=f.value,o=p.value,n=d.default;return(0,_vue.h)("form",{ref:v,class:["vxe-form",l?_xeUtils.default.isFunction(l)?l({items:a,data:i,$form:h}):l:"",{["size--"+u]:u,"is--border":t,"custom--layout":r,"is--loading":e}],onSubmit:L,onReset:O},[(0,_vue.h)("div",{class:"vxe-form--wrapper vxe-form--item-row"},r?n?n({}):[]:a.map((e,t)=>(0,_vue.h)(_formConfigItem.default,{key:t,itemConfig:e,visible:e.visible}))),(0,_vue.h)("div",{class:"vxe-form-slots"},!r&&n?n({}):[]),(0,_vue.h)(_loading.default,{class:"vxe-form--loading",modelValue:e}),(0,_vue.h)(_tooltip.default,Object.assign({ref:g},o))])},h},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.createReactData=createReactData,exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_tooltip=_interopRequireDefault(require("../../tooltip")),_formConfigItem=_interopRequireDefault(require("./form-config-item")),_loading=_interopRequireDefault(require("../../loading")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}require("../render");let{getConfig,validators,renderer,createEvent,useFns,globalEvents}=_ui.VxeUI,{warnLog,errLog}=(0,_log.createComponentLog)("form");class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}function validREValue(e,t){return!(e&&!(_xeUtils.default.isRegExp(e)?e:new RegExp(e)).test(t))}function validMaxValue(e,t){return!(!_xeUtils.default.eqNull(e)&&t>_xeUtils.default.toNumber(e))}function validMinValue(e,t){return!(!_xeUtils.default.eqNull(e)&&t<_xeUtils.default.toNumber(e))}function validRuleValue(e,t,l){var{type:e,min:i,max:r,pattern:a}=e,u="array"===e,o="number"===e,e="string"===e,n=""+t;if(!validREValue(a,n))return!1;if(u){if(!_xeUtils.default.isArray(t))return!1;if(l&&!t.length)return!1;if(!validMinValue(i,t.length))return!1;if(!validMaxValue(r,t.length))return!1}else if(o){a=Number(t);if(isNaN(a))return!1;if(!validMinValue(i,a))return!1;if(!validMaxValue(r,a))return!1}else{if(e&&!_xeUtils.default.isString(t))return!1;if(l&&!n)return!1;if(!validMinValue(i,n.length))return!1;if(!validMaxValue(r,n.length))return!1}return!0}function checkRuleStatus(e,t,l){var{required:i,field:r}=e,t=r?_xeUtils.default.get(t,r):l,r=_xeUtils.default.isArray(t)?!t.length:(0,_utils.eqEmptyValue)(t);if(i){if(r)return!1;if(!validRuleValue(e,t,i))return!1}else if(!r&&!validRuleValue(e,t,i))return!1;return!0}function createReactData(){return{collapseAll:!1,staticItems:[],formItems:[],itemWidth:0}}function createInternalData(){return{meTimeout:void 0,stTimeout:void 0,tooltipStore:{item:null,visible:!1},itemFormatCache:{},fullItemList:[],fullItemIdData:{},fullItemFieldData:{}}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeForm",props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:()=>getConfig().form.size||getConfig().size},span:{type:[String,Number],default:()=>getConfig().form.span},align:{type:String,default:()=>getConfig().form.align},verticalAlign:{type:String,default:()=>getConfig().form.verticalAlign},border:{type:Boolean,default:()=>getConfig().form.border},titleBackground:{type:Boolean,default:()=>getConfig().form.titleBackground},titleBold:{type:Boolean,default:()=>getConfig().form.titleBold},titleAlign:{type:String,default:()=>getConfig().form.titleAlign},titleWidth:{type:[String,Number],default:()=>getConfig().form.titleWidth},titleColon:{type:Boolean,default:()=>getConfig().form.titleColon},titleAsterisk:{type:Boolean,default:()=>getConfig().form.titleAsterisk},titleOverflow:{type:[Boolean,String],default:()=>getConfig().form.titleOverflow},vertical:{type:Boolean,default:()=>getConfig().form.vertical},padding:{type:Boolean,default:()=>getConfig().form.padding},className:[String,Function],readonly:Boolean,disabled:Boolean,items:Array,rules:Object,preventSubmit:{type:Boolean,default:()=>getConfig().form.preventSubmit},validConfig:Object,tooltipConfig:Object,collapseConfig:Object,customLayout:{type:Boolean,default:()=>getConfig().form.customLayout},params:Object},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup(s,e){let{slots:d,emit:i}=e,o=(0,_vue.inject)("$xeGrid",null);var t=_xeUtils.default.uniqueId();let f=useFns.useSize(s).computeSize,m=(0,_vue.reactive)(createReactData()),c=createInternalData(),v=(0,_vue.ref)(),g=(0,_vue.ref)(),p=(0,_vue.computed)(()=>Object.assign({},getConfig().form.validConfig,s.validConfig)),_=(0,_vue.computed)(()=>Object.assign({},getConfig().tooltip,getConfig().form.tooltipConfig,s.tooltipConfig));var l=(0,_vue.computed)(()=>Object.assign({},getConfig().form.collapseConfig,s.collapseConfig));let r=(0,_vue.computed)(()=>{let{titleWidth:i,vertical:r}=s;var e=m.formItems;let a=[];return _xeUtils.default.eachTree(e,e=>{var{titleWidth:t,vertical:l}=e;"auto"!==t&&("auto"!==((_xeUtils.default.eqNull(l)?r:l)?null:_xeUtils.default.eqNull(t)?i:t)||e.children&&e.children.length)||a.push(e)},{children:"children"}),a}),a={refElem:v},u={computeSize:f,computeValidOpts:p,computeTooltipOpts:_,computeCollapseOpts:l,computeAutoItemWidthList:r},h={xID:t,props:s,context:e,reactData:m,internalData:c,xeGrid:o,getRefMaps:()=>a,getComputeMaps:()=>u},n=(e,t,l)=>{i(e,createEvent(l,{$form:h,$grid:o},t))};let x=e=>(e.length&&e.forEach(e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{!e||_xeUtils.default.isFunction(e)||d[e]||errLog("vxe.error.notSlot",[e])})}),m.staticItems=_xeUtils.default.mapTree(e,e=>(0,_util.createItem)(h,e),{children:"children"}),c.itemFormatCache={},(0,_vue.nextTick)().then(()=>F()));let y=()=>c.fullItemList;let I=e=>{var t=c.fullItemFieldData,t=t[e];return t?t.item:null},b=()=>m.collapseAll,C=()=>{var e=!b();return m.collapseAll=e,i("update:collapseStatus",e),(0,_vue.nextTick)()};let U=t=>{var e=c.fullItemList;if(t){let e=t;(e=_xeUtils.default.isArray(t)?e:[t]).forEach(e=>{e&&(e=(0,_util.handleFieldOrItem)(h,e))&&(e.showError=!1,e.showIconMsg=!1)})}else e.forEach(e=>{e.showError=!1,e.showIconMsg=!1});return(0,_vue.nextTick)()},w=(e,t,l,i)=>{var{field:r,resetValue:a}=e;return _xeUtils.default.isFunction(a)?a({field:r,item:e,data:t,currentField:i||r||"",currentValue:l,$form:h,$grid:o}):_xeUtils.default.eqNull(a)&&_xeUtils.default.isArray(l)?[]:a},E=()=>{let u=s.data;var e=c.fullItemList;return u&&e.forEach(e=>{var t,l,i,{field:r,itemRender:a}=e;if((0,_utils.isEnableConf)(a))return{name:a,startField:t,endField:l}=a,i=(a=renderer.get(a))?a.formItemResetMethod||a.itemResetMethod:null,a&&i?i({data:u,field:r,property:r,item:e,$form:h,$grid:o}):r&&(a=_xeUtils.default.get(u,r),_xeUtils.default.set(u,r,w(e,u,a))),t&&l&&(_xeUtils.default.set(u,t,w(e,u,_xeUtils.default.get(u,t),t)),_xeUtils.default.set(u,l,w(e,u,_xeUtils.default.get(u,l),l))),""}),c.itemFormatCache={},U(),F()},O=e=>{e.preventDefault(),E(),n("reset",{data:s.data},e)},$=e=>{var l=v.value;if(l)for(let t=0;t<e.length;t++){var i=e[t],r=I(i);if(r&&(0,_utils.isEnableConf)(r.itemRender)){var a=r.itemRender,u=renderer.get(a.name);t||(0,_dom.scrollToView)(l.querySelector("."+r.id));let e=null;a=a.autoFocus||a.autofocus||(u?u.formItemAutoFocus:null);if(_xeUtils.default.isFunction(a)?e=a({$form:h,$grid:o,item:r,data:s.data,field:i}):!0===a?e=l.querySelector(`.${r.id} input,textarea`):a&&(e=l.querySelector(`.${r.id} `+a)),e){e.focus();break}}}},S=(f,e,t)=>{let{data:m,rules:l}=s,i={};return _xeUtils.default.isArray(e)||(e=[e]),Promise.all(e.map(n=>{let s=[],d=[];if(n&&l){var e=I(n);let o=e&&e.rules?e.rules:_xeUtils.default.get(l,n);if(o){let u=_xeUtils.default.isUndefined(t)?_xeUtils.default.get(m,n):t;o.forEach(t=>{let{trigger:l,validator:i}=t;if("all"===f||!l||f===l)if(i){var r,a={itemValue:u,rule:t,rules:o,data:m,field:n,property:n,$form:h};let e;_xeUtils.default.isString(i)?(r=validators.get(i))?(r=r.formItemValidatorMethod||r.itemValidatorMethod)?e=r(a):warnLog("vxe.error.notValidators",[i]):errLog("vxe.error.notValidators",[i]):e=i(a),e&&(_xeUtils.default.isError(e)?s.push(new Rule({type:"custom",trigger:l,content:e.message,rule:new Rule(t)})):e.catch&&d.push(e.catch(e=>{s.push(new Rule({type:"custom",trigger:l,content:e?e.message:t.content||t.message,rule:new Rule(t)}))})))}else checkRuleStatus(t,m,u)||s.push(new Rule(t))})}}return Promise.all(d).then(()=>{s.length&&(i[n]=s.map(e=>({$form:h,rule:e,data:m,field:n,property:n})))})})).then(()=>{if(!_xeUtils.default.isEmpty(i))return Promise.reject(i)})},R=(t,e,l)=>{var{data:i,rules:r}=s;let a=p.value,u={},o=[],n=[];return clearTimeout(c.meTimeout),i&&r?(t.forEach(t=>{let l=t.field;l&&!(0,_util.isHiddenItem)(h,t)&&(0,_util.isActiveItem)(h,t)&&n.push(S(e||"all",l).then(()=>{t.errRule=null}).catch(e=>{e=e[l];return u[l]||(u[l]=[]),u[l].push(e),o.push(l),t.errRule=e[0].rule,Promise.reject(e)}))}),Promise.all(n).then(()=>{l&&l()}).catch(()=>new Promise(e=>{c.meTimeout=setTimeout(()=>{t.forEach(e=>{e.errRule&&(e.showError=!0)})},20),!1!==a.autoPos&&(0,_vue.nextTick)(()=>{$(o)}),l?(l(u),e()):e(u)}))):(l&&l(),Promise.resolve())};let q=t=>{var e=s.readonly,l=c.fullItemList;U(),e?(n("submit",{data:s.data},t),F()):R(l).then(e=>{e?n("submit-invalid",{data:s.data,errMap:e},t):n("submit",{data:s.data},t),F()})},L=e=>{e.preventDefault(),s.preventSubmit||q(e)},T=()=>{var e=c.tooltipStore,t=g.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t)&&t.close(),(0,_vue.nextTick)()};let V=(e,l,t)=>l?S(e?["blur"].includes(e.type)?"blur":"change":"all",l,t).then(()=>{U(l)}).catch(e=>{var e=e[l],t=I(l);e&&t&&(t.showError=!0,t.errRule=e[0].rule)}):(0,_vue.nextTick)();let F=()=>{var e=r.value,l=v.value;if(l&&e.length){l=l.querySelectorAll(e.map(e=>`.vxe-form--item-title[itemid="${e.id}"]`).join(","));let t=0;_xeUtils.default.arrayEach(l,e=>{e.style.width="",t=Math.max(t,Math.ceil(e.clientWidth+2))}),_xeUtils.default.arrayEach(l,e=>{e.style.width=t+"px"})}return(0,_vue.nextTick)()},j=()=>{F()};l=t=>function(e){return(_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=(0,_util.handleFieldOrItem)(h,e);e&&(e.visible=t)}),(0,_vue.nextTick)()},t={dispatchEvent:n,loadItems:x,showItem:l(!0),hideItem:l(!1),reset:E,validate:e=>{var t=s.readonly,l=c.fullItemList;return U(),t?Promise.resolve():R(l,"",e).then(e=>(F(),e))},validateField:(e,t)=>{var l=s.readonly;if(l)return Promise.resolve();let i=[];l=(i=e?_xeUtils.default.isArray(e)?e:[e]:i).map(e=>(0,_util.handleFieldOrItem)(h,e));return R(l,"",t).then(e=>(F(),e))},clearValidate:U,updateStatus:(e,t)=>{e=e.field;return V(new Event("change"),e,t)},toggleCollapse:C,getItems:()=>y(),getFlatItems:y,getNestedItems:()=>m.formItems,getItemByField:I,closeTooltip:T,recalculate:F},e={callSlot:(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],triggerItemEvent:V,toggleCollapseEvent:e=>{var t=C(),l=b();n("toggle-collapse",{status:l,collapse:l,data:s.data},e),n("collapse",{status:l,collapse:l,data:s.data},e),t.then(()=>{F().then(()=>{o&&o.recalculate(!0)}),o&&o.recalculate()})},triggerTitleTipEvent:(e,t)=>{var t=t.item,l=c.tooltipStore,i=g.value,e=e.currentTarget.children[0],r=(e.textContent||"").trim(),a=e.scrollWidth>e.clientWidth;clearTimeout(c.stTimeout),l.item!==t&&T(),r&&a&&(Object.assign(l,{item:t,visible:!0}),i)&&i.open(e,r)},handleTitleTipLeaveEvent:()=>{var e=_.value;let t=g.value;t&&t.setActived(!1),e.enterable?c.stTimeout=setTimeout(()=>{(t=g.value)&&!t.isActived()&&T()},e.leaveDelay):T()},handleValidIconEvent(e,t){t=t.item;t.showIconMsg=!t.showIconMsg},handleSubmitEvent:q};Object.assign(h,t,e);let A=(0,_vue.ref)(0),D=((0,_vue.watch)(()=>s.vertical,()=>{A.value++}),(0,_vue.watch)(()=>s.titleWidth,()=>{A.value++}),(0,_vue.watch)(A,()=>{(0,_vue.nextTick)().then(()=>{F()})}),(0,_vue.ref)(0)),M=((0,_vue.watch)(()=>m.staticItems.length,()=>{D.value++}),(0,_vue.watch)(()=>m.staticItems,()=>{D.value++}),(0,_vue.watch)(D,()=>{m.formItems=m.staticItems,A.value++,(()=>{var e=m.formItems;let a={},u={},o=[];_xeUtils.default.eachTree(e,(e,t,l)=>{var{id:i,field:r}=e,l={item:e,items:l,index:t};i&&(a[i]=l),r&&(u[r]=l),o.push(e)},{children:"children"}),c.fullItemList=o,c.fullItemFieldData=u,c.fullItemIdData=a})()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>s.items?s.items.length:-1,()=>{M.value++}),(0,_vue.watch)(()=>s.items,()=>{M.value++}),(0,_vue.watch)(M,()=>{x(s.items||[])}),(0,_vue.watch)(()=>s.collapseStatus,e=>{m.collapseAll=!!e}),(0,_vue.watch)(()=>s.readonly,()=>{U()}),(0,_vue.watch)(()=>s.disabled,()=>{U()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{s.customLayout&&s.items&&errLog("vxe.error.errConflicts",["custom-layout","items"])}),globalEvents.on(h,"resize",j)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(h,"resize"),_xeUtils.default.assign(m,createReactData()),_xeUtils.default.assign(c,createInternalData())}),m.collapseAll=!!s.collapseStatus,s.items&&x(s.items),(0,_vue.provide)("xeFormItemInfo",null),(0,_vue.provide)("$xeForm",h),(0,_vue.provide)("$xeFormGroup",null),(0,_vue.provide)("$xeFormItem",null),h.renderVN=()=>{var{loading:e,border:t,className:l,data:i,customLayout:r}=s,a=m.formItems,u=f.value,o=_.value,n=d.default;return(0,_vue.h)("form",{ref:v,class:["vxe-form",l?_xeUtils.default.isFunction(l)?l({items:a,data:i,$form:h}):l:"",{["size--"+u]:u,"is--border":t,"custom--layout":r,"is--loading":e}],onSubmit:L,onReset:O},[(0,_vue.h)("div",{class:"vxe-form--wrapper vxe-form--item-row"},r?n?n({}):[]:a.map((e,t)=>(0,_vue.h)(_formConfigItem.default,{key:t,itemConfig:e,visible:e.visible}))),(0,_vue.h)("div",{class:"vxe-form-slots"},!r&&n?n({}):[]),(0,_vue.h)(_loading.default,{class:"vxe-form--loading",modelValue:e}),(0,_vue.h)(_tooltip.default,Object.assign({ref:g},o))])},h},render(){return this.renderVN()}});