vxe-pc-ui 3.20.6 → 3.20.7

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 (61) hide show
  1. package/es/icon/style.css +1 -1
  2. package/es/scrollbar/src/scrollbar.js +22 -2
  3. package/es/scrollbar/style.css +11 -0
  4. package/es/scrollbar/style.min.css +1 -1
  5. package/es/style.css +1 -1
  6. package/es/style.min.css +1 -1
  7. package/es/tabs/src/tabs.js +5 -3
  8. package/es/tooltip/src/tooltip.js +47 -7
  9. package/es/tooltip/style.css +2 -1
  10. package/es/tooltip/style.min.css +1 -1
  11. package/es/ui/index.js +1 -1
  12. package/es/ui/src/log.js +1 -1
  13. package/es/vxe-scrollbar/style.css +11 -0
  14. package/es/vxe-scrollbar/style.min.css +1 -1
  15. package/es/vxe-tooltip/style.css +2 -1
  16. package/es/vxe-tooltip/style.min.css +1 -1
  17. package/lib/icon/style/style.css +1 -1
  18. package/lib/icon/style/style.min.css +1 -1
  19. package/lib/index.umd.js +3248 -2967
  20. package/lib/index.umd.min.js +1 -1
  21. package/lib/scrollbar/src/scrollbar.js +27 -2
  22. package/lib/scrollbar/src/scrollbar.min.js +1 -1
  23. package/lib/scrollbar/style/style.css +11 -0
  24. package/lib/scrollbar/style/style.min.css +1 -1
  25. package/lib/style.css +1 -1
  26. package/lib/style.min.css +1 -1
  27. package/lib/tabs/src/tabs.js +41 -33
  28. package/lib/tabs/src/tabs.min.js +1 -1
  29. package/lib/tooltip/src/tooltip.js +79 -28
  30. package/lib/tooltip/src/tooltip.min.js +1 -1
  31. package/lib/tooltip/style/style.css +2 -1
  32. package/lib/tooltip/style/style.min.css +1 -1
  33. package/lib/ui/index.js +1 -1
  34. package/lib/ui/index.min.js +1 -1
  35. package/lib/ui/src/log.js +1 -1
  36. package/lib/ui/src/log.min.js +1 -1
  37. package/lib/vxe-scrollbar/style/style.css +11 -0
  38. package/lib/vxe-scrollbar/style/style.min.css +1 -1
  39. package/lib/vxe-tooltip/style/style.css +2 -1
  40. package/lib/vxe-tooltip/style/style.min.css +1 -1
  41. package/package.json +2 -2
  42. package/packages/scrollbar/src/scrollbar.ts +24 -2
  43. package/packages/tabs/src/tabs.ts +6 -3
  44. package/packages/tooltip/src/tooltip.ts +49 -8
  45. package/styles/components/scrollbar.scss +15 -1
  46. package/styles/components/tooltip.scss +2 -1
  47. package/types/components/scrollbar.d.ts +19 -1
  48. package/types/components/table.d.ts +1 -0
  49. package/types/components/tooltip.d.ts +21 -0
  50. /package/es/icon/{iconfont.1792054426799.ttf → iconfont.1792080131929.ttf} +0 -0
  51. /package/es/icon/{iconfont.1792054426799.woff → iconfont.1792080131929.woff} +0 -0
  52. /package/es/icon/{iconfont.1792054426799.woff2 → iconfont.1792080131929.woff2} +0 -0
  53. /package/es/{iconfont.1792054426799.ttf → iconfont.1792080131929.ttf} +0 -0
  54. /package/es/{iconfont.1792054426799.woff → iconfont.1792080131929.woff} +0 -0
  55. /package/es/{iconfont.1792054426799.woff2 → iconfont.1792080131929.woff2} +0 -0
  56. /package/lib/icon/style/{iconfont.1792054426799.ttf → iconfont.1792080131929.ttf} +0 -0
  57. /package/lib/icon/style/{iconfont.1792054426799.woff → iconfont.1792080131929.woff} +0 -0
  58. /package/lib/icon/style/{iconfont.1792054426799.woff2 → iconfont.1792080131929.woff2} +0 -0
  59. /package/lib/{iconfont.1792054426799.ttf → iconfont.1792080131929.ttf} +0 -0
  60. /package/lib/{iconfont.1792054426799.woff → iconfont.1792080131929.woff} +0 -0
  61. /package/lib/{iconfont.1792054426799.woff2 → iconfont.1792080131929.woff2} +0 -0
@@ -18,6 +18,14 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
18
18
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
19
19
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
20
20
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
21
+ var baseUtils = _ui.VxeUI.baseUtils,
22
+ createEvent = _ui.VxeUI.createEvent,
23
+ getConfig = _ui.VxeUI.getConfig,
24
+ getIcon = _ui.VxeUI.getIcon,
25
+ globalEvents = _ui.VxeUI.globalEvents,
26
+ permission = _ui.VxeUI.permission,
27
+ renderEmptyElement = _ui.VxeUI.renderEmptyElement;
28
+ var getDefVal = baseUtils.getDefVal;
21
29
  var _createComponentLog = (0, _log.createComponentLog)('tabs'),
22
30
  warnLog = _createComponentLog.warnLog,
23
31
  errLog = _createComponentLog.errLog;
@@ -33,7 +41,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
33
41
  destroyOnClose: {
34
42
  type: Boolean,
35
43
  default: function _default() {
36
- return (0, _ui.getConfig)().tabs.destroyOnClose;
44
+ return getConfig().tabs.destroyOnClose;
37
45
  }
38
46
  },
39
47
  titleWidth: [String, Number],
@@ -41,13 +49,13 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
41
49
  type: {
42
50
  type: String,
43
51
  default: function _default() {
44
- return (0, _ui.getConfig)().tabs.type;
52
+ return getConfig().tabs.type;
45
53
  }
46
54
  },
47
55
  position: {
48
56
  type: String,
49
57
  default: function _default() {
50
- return (0, _ui.getConfig)().tabs.position;
58
+ return getConfig().tabs.position;
51
59
  }
52
60
  },
53
61
  showClose: Boolean,
@@ -58,7 +66,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
58
66
  padding: {
59
67
  type: Boolean,
60
68
  default: function _default() {
61
- return (0, _ui.getConfig)().tabs.padding;
69
+ return getConfig().tabs.padding;
62
70
  }
63
71
  },
64
72
  trigger: String,
@@ -68,13 +76,13 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
68
76
  size: {
69
77
  type: String,
70
78
  default: function _default() {
71
- return (0, _ui.getConfig)().tabs.size || (0, _ui.getConfig)().size;
79
+ return getConfig().tabs.size || getConfig().size;
72
80
  }
73
81
  },
74
82
  useScrollbar: {
75
83
  type: Boolean,
76
84
  default: function _default() {
77
- return (0, _utils.getDefaultConfig)((0, _ui.getConfig)().tabs.useScrollbar, (0, _ui.getConfig)().useScrollbar);
85
+ return getDefVal(getConfig().tabs.useScrollbar, getConfig().useScrollbar);
78
86
  }
79
87
  },
80
88
  scrollbarConfig: Object,
@@ -174,12 +182,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
174
182
  computeCloseOpts: function computeCloseOpts() {
175
183
  var $xeTabs = this;
176
184
  var props = $xeTabs;
177
- return Object.assign({}, (0, _ui.getConfig)().tabs.closeConfig, props.closeConfig);
185
+ return Object.assign({}, getConfig().tabs.closeConfig, props.closeConfig);
178
186
  },
179
187
  computeRefreshOpts: function computeRefreshOpts() {
180
188
  var $xeTabs = this;
181
189
  var props = $xeTabs;
182
- return Object.assign({}, (0, _ui.getConfig)().tabs.refreshConfig, props.refreshConfig);
190
+ return Object.assign({}, getConfig().tabs.refreshConfig, props.refreshConfig);
183
191
  },
184
192
  computeTabOptions: function computeTabOptions() {
185
193
  var $xeTabs = this;
@@ -200,7 +208,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
200
208
  computeScrollbarOpts: function computeScrollbarOpts() {
201
209
  var $xeTabs = this;
202
210
  var props = $xeTabs;
203
- return Object.assign({}, (0, _ui.getConfig)().tabs.scrollbarConfig, props.scrollbarConfig);
211
+ return Object.assign({}, getConfig().tabs.scrollbarConfig, props.scrollbarConfig);
204
212
  },
205
213
  computeScrollbarProps: function computeScrollbarProps() {
206
214
  var $xeTabs = this;
@@ -227,7 +235,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
227
235
  //
228
236
  dispatchEvent: function dispatchEvent(type, params, evnt) {
229
237
  var $xeTabs = this;
230
- $xeTabs.$emit(type, (0, _ui.createEvent)(evnt, {
238
+ $xeTabs.$emit(type, createEvent(evnt, {
231
239
  $tabs: $xeTabs
232
240
  }, params));
233
241
  },
@@ -262,7 +270,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
262
270
  handleFilterTab: function handleFilterTab(item) {
263
271
  var permissionCode = item.permissionCode;
264
272
  if (permissionCode) {
265
- if (!_ui.permission.checkVisible(permissionCode)) {
273
+ if (!permission.checkVisible(permissionCode)) {
266
274
  return false;
267
275
  }
268
276
  }
@@ -445,7 +453,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
445
453
  var props = $xeTabs;
446
454
  var reactData = $xeTabs.reactData;
447
455
  var trigger = props.trigger;
448
- var beforeMethod = props.beforeChangeMethod || (0, _ui.getConfig)().tabs.beforeChangeMethod;
456
+ var beforeMethod = props.beforeChangeMethod || getConfig().tabs.beforeChangeMethod;
449
457
  var activeName = reactData.activeName;
450
458
  var name = item.name;
451
459
  var value = name;
@@ -537,7 +545,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
537
545
  evnt.stopPropagation();
538
546
  var activeName = reactData.activeName;
539
547
  var closeOpts = $xeTabs.computeCloseOpts;
540
- var beforeMethod = closeOpts.beforeMethod || props.beforeCloseMethod || (0, _ui.getConfig)().tabs.beforeCloseMethod;
548
+ var beforeMethod = closeOpts.beforeMethod || props.beforeCloseMethod || getConfig().tabs.beforeCloseMethod;
541
549
  var name = item.name;
542
550
  var value = activeName;
543
551
  var nextName = value;
@@ -769,15 +777,15 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
769
777
  class: ['vxe-tabs-header--prefix', "type--".concat(tabType), "pos--".concat(tabPosition)]
770
778
  }, $xeTabs.callSlot(tabPrefixSlot, {
771
779
  name: activeName
772
- }, h)) : (0, _ui.renderEmptyElement)($xeTabs), isTabOver ? h('div', {
780
+ }, h)) : renderEmptyElement($xeTabs), isTabOver ? h('div', {
773
781
  ref: 'refHeadPrevElem',
774
782
  class: ['vxe-tabs-header--bar vxe-tabs-header--prev-bar', "type--".concat(tabType), "pos--".concat(tabPosition)],
775
783
  on: {
776
784
  click: $xeTabs.scrollLeftEvent
777
785
  }
778
786
  }, [h('span', {
779
- class: lrPosition ? (0, _ui.getIcon)().TABS_TAB_BUTTON_TOP : (0, _ui.getIcon)().TABS_TAB_BUTTON_LEFT
780
- })]) : (0, _ui.renderEmptyElement)($xeTabs), h('div', {
787
+ class: lrPosition ? getIcon().TABS_TAB_BUTTON_TOP : getIcon().TABS_TAB_BUTTON_LEFT
788
+ })]) : renderEmptyElement($xeTabs), h('div', {
781
789
  class: ['vxe-tabs-header--wrapper', "type--".concat(tabType), "pos--".concat(tabPosition)]
782
790
  }, [h('div', {
783
791
  ref: 'refHeadWrapperElem',
@@ -834,12 +842,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
834
842
  class: 'vxe-tabs-header--item-icon'
835
843
  }, [h('i', {
836
844
  class: icon
837
- })]) : (0, _ui.renderEmptyElement)($xeTabs), titlePrefixSlot ? h('span', {
845
+ })]) : renderEmptyElement($xeTabs), titlePrefixSlot ? h('span', {
838
846
  class: 'vxe-tabs-header--item-prefix'
839
847
  }, $xeTabs.callSlot(titlePrefixSlot, {
840
848
  name: name,
841
849
  title: title
842
- }, h)) : (0, _ui.renderEmptyElement)($xeTabs), h('span', {
850
+ }, h)) : renderEmptyElement($xeTabs), h('span', {
843
851
  class: 'vxe-tabs-header--item-name'
844
852
  }, titleSlot ? $xeTabs.callSlot(titleSlot, {
845
853
  name: name,
@@ -849,7 +857,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
849
857
  }, $xeTabs.callSlot(titleSuffixSlot, {
850
858
  name: name,
851
859
  title: title
852
- }, h)) : (0, _ui.renderEmptyElement)($xeTabs)]), ((0, _utils.isEnableConf)(refreshConfig) || refreshOpts.enabled) && (refreshVisibleMethod ? refreshVisibleMethod(params) : true) ? h('div', {
860
+ }, h)) : renderEmptyElement($xeTabs)]), ((0, _utils.isEnableConf)(refreshConfig) || refreshOpts.enabled) && (refreshVisibleMethod ? refreshVisibleMethod(params) : true) ? h('div', {
853
861
  class: ['vxe-tabs-header--refresh-btn', {
854
862
  'is--active': isActive,
855
863
  'is--loading': isLoading,
@@ -861,8 +869,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
861
869
  }
862
870
  }
863
871
  }, [h('i', {
864
- class: isLoading ? (0, _ui.getIcon)().TABS_TAB_REFRESH_LOADING : (0, _ui.getIcon)().TABS_TAB_REFRESH
865
- })]) : (0, _ui.renderEmptyElement)($xeTabs), (showClose || (0, _utils.isEnableConf)(closeConfig) || closeOpts.enabled) && (!closeVisibleMethod || closeVisibleMethod(params)) ? h('div', {
872
+ class: isLoading ? getIcon().TABS_TAB_REFRESH_LOADING : getIcon().TABS_TAB_REFRESH
873
+ })]) : renderEmptyElement($xeTabs), (showClose || (0, _utils.isEnableConf)(closeConfig) || closeOpts.enabled) && (!closeVisibleMethod || closeVisibleMethod(params)) ? h('div', {
866
874
  class: ['vxe-tabs-header--close-btn', {
867
875
  'is--active': isActive
868
876
  }],
@@ -872,8 +880,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
872
880
  }
873
881
  }
874
882
  }, [h('i', {
875
- class: (0, _ui.getIcon)().TABS_TAB_CLOSE
876
- })]) : (0, _ui.renderEmptyElement)($xeTabs)])]);
883
+ class: getIcon().TABS_TAB_CLOSE
884
+ })]) : renderEmptyElement($xeTabs)])]);
877
885
  }).concat([h('span', {
878
886
  key: 'line',
879
887
  class: ['vxe-tabs-header--active-line', "type--".concat(tabType), "pos--".concat(tabPosition)],
@@ -885,12 +893,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
885
893
  click: $xeTabs.scrollRightEvent
886
894
  }
887
895
  }, [h('span', {
888
- class: lrPosition ? (0, _ui.getIcon)().TABS_TAB_BUTTON_BOTTOM : (0, _ui.getIcon)().TABS_TAB_BUTTON_RIGHT
889
- })]) : (0, _ui.renderEmptyElement)($xeTabs), tabSuffixSlot ? h('div', {
896
+ class: lrPosition ? getIcon().TABS_TAB_BUTTON_BOTTOM : getIcon().TABS_TAB_BUTTON_RIGHT
897
+ })]) : renderEmptyElement($xeTabs), tabSuffixSlot ? h('div', {
890
898
  class: ['vxe-tabs-header--suffix', "type--".concat(tabType), "pos--".concat(tabPosition)]
891
899
  }, $xeTabs.callSlot(tabSuffixSlot, {
892
900
  name: activeName
893
- }, h)) : (0, _ui.renderEmptyElement)($xeTabs)]);
901
+ }, h)) : renderEmptyElement($xeTabs)]);
894
902
  },
895
903
  renderTabPane: function renderTabPane(h, item) {
896
904
  var $xeTabs = this;
@@ -926,7 +934,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
926
934
  name: name
927
935
  }, h) : []);
928
936
  }
929
- return (0, _ui.renderEmptyElement)($xeTabs);
937
+ return renderEmptyElement($xeTabs);
930
938
  },
931
939
  renderTabContent: function renderTabContent(h, tabList) {
932
940
  var $xeTabs = this;
@@ -938,7 +946,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
938
946
  var activeTab = tabList.find(function (item) {
939
947
  return item.name === activeName;
940
948
  });
941
- return [activeTab ? $xeTabs.renderTabPane(h, activeTab) : (0, _ui.renderEmptyElement)($xeTabs)];
949
+ return [activeTab ? $xeTabs.renderTabPane(h, activeTab) : renderEmptyElement($xeTabs)];
942
950
  }
943
951
  return tabList.map(function (item) {
944
952
  return $xeTabs.renderTabPane(h, item);
@@ -962,7 +970,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
962
970
  var headerpSlot = slots.header;
963
971
  var footerSlot = slots.footer;
964
972
  if (!showBody) {
965
- return (0, _ui.renderEmptyElement)($xeTabs);
973
+ return renderEmptyElement($xeTabs);
966
974
  }
967
975
  var cacheItem = activeName ? cacheTabMaps["".concat(activeName)] : null;
968
976
  var isLoading = cacheItem ? cacheItem.loading : false;
@@ -976,11 +984,11 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
976
984
  }]
977
985
  }, [headerpSlot ? h('div', {
978
986
  class: 'vxe-tabs-pane--header'
979
- }, $xeTabs.callSlot(headerpSlot, defParams, h)) : (0, _ui.renderEmptyElement)($xeTabs), h('div', {
987
+ }, $xeTabs.callSlot(headerpSlot, defParams, h)) : renderEmptyElement($xeTabs), h('div', {
980
988
  class: ['vxe-tabs-pane--body', "type--".concat(tabType), "pos--".concat(tabPosition), _defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--padding', padding), 'is--height', height)]
981
989
  }, $xeTabs.renderTabContent(h, tabList)), footerSlot ? h('div', {
982
990
  class: 'vxe-tabs-pane--footer'
983
- }, $xeTabs.callSlot(footerSlot, defParams, h)) : (0, _ui.renderEmptyElement)($xeTabs), showLoading && isLoading ? (0, _ui.renderEmptyElement)($xeTabs) : h(_loading.default, {
991
+ }, $xeTabs.callSlot(footerSlot, defParams, h)) : renderEmptyElement($xeTabs), showLoading && isLoading ? renderEmptyElement($xeTabs) : h(_loading.default, {
984
992
  class: 'vxe-tabs--loading',
985
993
  props: {
986
994
  value: isLoading
@@ -1068,11 +1076,11 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
1068
1076
  mounted: function mounted() {
1069
1077
  var $xeTabs = this;
1070
1078
  $xeTabs.updateTabStyle();
1071
- _ui.globalEvents.on($xeTabs, 'resize', $xeTabs.updateTabStyle);
1079
+ globalEvents.on($xeTabs, 'resize', $xeTabs.updateTabStyle);
1072
1080
  },
1073
1081
  beforeDestroy: function beforeDestroy() {
1074
1082
  var $xeTabs = this;
1075
- _ui.globalEvents.off($xeTabs, 'resize');
1083
+ globalEvents.off($xeTabs, 'resize');
1076
1084
  },
1077
1085
  render: function render(h) {
1078
1086
  return this.renderVN(h);
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,i){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0===i)return("string"===t?String:Number)(e);i=i.call(e,t||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}var _createComponentLog=(0,_log.createComponentLog)("tabs"),warnLog=_createComponentLog.warnLog,errLog=_createComponentLog.errLog,scrollbarOffsetSize=20,_default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTabs",mixins:[_ui.globalMixins.sizeMixin],props:{value:[String,Number,Boolean],options:Array,width:[String,Number],height:[String,Number],destroyOnClose:{type:Boolean,default:function(){return(0,_ui.getConfig)().tabs.destroyOnClose}},titleWidth:[String,Number],titleAlign:[String,Number],type:{type:String,default:function(){return(0,_ui.getConfig)().tabs.type}},position:{type:String,default:function(){return(0,_ui.getConfig)().tabs.position}},showClose:Boolean,showBody:{type:Boolean,default:!0},padding:{type:Boolean,default:function(){return(0,_ui.getConfig)().tabs.padding}},trigger:String,beforeChangeMethod:Function,closeConfig:Object,refreshConfig:Object,size:{type:String,default:function(){return(0,_ui.getConfig)().tabs.size||(0,_ui.getConfig)().size}},useScrollbar:{type:Boolean,default:function(){return(0,_utils.getDefaultConfig)((0,_ui.getConfig)().tabs.useScrollbar,(0,_ui.getConfig)().useScrollbar)}},scrollbarConfig:Object,beforeCloseMethod:Function},inject:{$xeParentTabs:{from:"$xeTabs",default:null}},provide:function(){return{$xeTabs:this}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{staticTabs:[],activeName:null,initNames:[],lintLeft:0,lintTop:0,lintWidth:0,lintHeight:0,scrollbarWidth:0,scrollbarHeight:0,isTabOver:!1,resizeFlag:1,cacheTabMaps:{}},internalData:{slTimeout:void 0}}},computed:Object.assign(Object.assign({},{}),{computeParentTabsResizeFlag:function(){var e=this.$xeParentTabs;return e?e.reactData.resizeFlag:null},computeTabType:function(){return this.type||"default"},computeTabPosition:function(){return this.position||"top"},computeLrPosition:function(){var e=this.computeTabPosition;return"left"===e||"right"===e},computeLineStyle:function(){var e=this.reactData,t=e.lintLeft,i=e.lintWidth,a=e.lintHeight;return this.computeLrPosition?{top:"".concat(e.lintTop,"px"),height:"".concat(a,"px")}:{left:"".concat(t,"px"),width:"".concat(i,"px")}},computeWrapperStyle:function(){var e=this.width,t=this.height,i={};return e&&(i.width=(0,_dom.toCssUnit)(e)),t&&(i.height="auto"===t?"100%":(0,_dom.toCssUnit)(t)),i},computeCloseOpts:function(){return Object.assign({},(0,_ui.getConfig)().tabs.closeConfig,this.closeConfig)},computeRefreshOpts:function(){return Object.assign({},(0,_ui.getConfig)().tabs.refreshConfig,this.refreshConfig)},computeTabOptions:function(){var t=this;return(t.options||[]).filter(function(e){return t.handleFilterTab(e)})},computeTabStaticOptions:function(){var t=this;return t.reactData.staticTabs.filter(function(e){return t.handleFilterTab(e)})},computeScrollbarOpts:function(){return Object.assign({},(0,_ui.getConfig)().tabs.scrollbarConfig,this.scrollbarConfig)},computeScrollbarProps:function(){var e=this.computeScrollbarOpts,t=e.viewClassName;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-tabs-pane--scrollbar-item-view"+(t?" "+t:""),viewInnerClassName:"vxe-tabs-pane--scrollbar-item-inner"+(t?" "+e.viewInnerClassName:"")}}}),methods:{dispatchEvent:function(e,t,i){this.$emit(e,(0,_ui.createEvent)(i,{$tabs:this},t))},emitModel:function(e){var t=this._events;this.$emit("input",e),t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},prev:function(){return this.handlePrevNext(!1)},next:function(){return this.handlePrevNext(!0)},prevTab:function(){return warnLog("vxe.error.delFunc",["prevTab","prev"]),this.prev()},nextTab:function(){return warnLog("vxe.error.delFunc",["nextTab","next"]),this.next()},handleFilterTab:function(e){e=e.permissionCode;return!(e&&!_ui.permission.checkVisible(e))},callSlot:function(e,t,i){var a=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=a[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,i)):[]},checkScrolling:function(){var e,t,i,a,n,o=this.computeLrPosition,r=this.$refs.refHeadWrapperElem,s=this.$refs.refHeadPrevElem,l=this.$refs.refHeadNextElem;r&&(e=r.scrollLeft,t=r.scrollTop,i=r.clientWidth,a=r.clientHeight,n=r.scrollWidth,r=r.scrollHeight,s&&(0<(o?t:e)?(0,_dom.addClass):(0,_dom.removeClass))(s,"scrolling--middle"),l)&&((o?a<r-Math.ceil(t):i<n-Math.ceil(e))?(0,_dom.addClass):(0,_dom.removeClass))(l,"scrolling--middle")},updateTabStyle:function(){function e(){var e,t,i,a,n=g.activeName,o=v.computeTabType,r=v.computeTabOptions,s=v.computeTabStaticOptions,l=v.$refs.refHeadWrapperElem,c=v.computeLrPosition,u=0,f=0,d=0,p=0,m=0,h=0,b=!1;l&&(s=_xeUtils.default.findIndexOf(s.length?s:r,function(e){return e.name===n}),r=l.children,t=l.offsetWidth,e=l.scrollWidth,i=l.offsetHeight,a=l.scrollHeight,m=t-(t=l.clientWidth),h=i-(i=l.clientHeight),c?(b=a!==i,-1<s&&(l=r[s])&&(c=l.clientHeight,a=l.clientWidth,p="card"===o?(u=a,f=c,l.offsetTop):"border-card"===o?(u=a,f=c,l.offsetTop-1):(f=Math.max(4,Math.floor(.6*c)),l.offsetTop+Math.floor((c-f)/2)))):(b=e!==t,-1<s&&(i=r[s])&&(a=i.clientWidth,d="card"===o?(u=a+1,i.offsetLeft):"border-card"===o?(u=a,i.offsetLeft-1):(u=Math.max(4,Math.floor(.6*a)),i.offsetLeft+Math.floor((a-u)/2))))),g.scrollbarWidth=m,g.scrollbarHeight=h,g.lintLeft=d,g.lintTop=p,g.lintWidth=u,g.lintHeight=f,g.isTabOver=b,v.checkScrolling()}var v=this,g=v.reactData;e(),v.$nextTick(e)},addInitName:function(e,t){var i=this.reactData.initNames;return!(!e||i.includes(e)||(this.dispatchEvent("tab-load",{name:e},t),i.push(e),0))},initDefaultName:function(e){var i,a=this,t=a.reactData,n=null,o={};e&&e.length&&(i=!1,n=a.value,e.forEach(function(e){var e=e||{},t=e.name,e=e.preload;t&&(o["".concat(t)]={loading:!1},n===t&&(i=!0),e)&&a.addInitName(t,null)}),i||(n=e[0].name,a.addInitName(n,null),a.emitModel(n))),t.activeName=n,t.cacheTabMaps=o},clickEvent:function(t,i){var a=this,n=a.reactData,e=a.trigger,o=a.beforeChangeMethod||(0,_ui.getConfig)().tabs.beforeChangeMethod,r=n.activeName,s=i.name,l=s;a.dispatchEvent("tab-click",{name:s},t),"manual"!==e&&s!==r&&Promise.resolve(!o||o({$tabs:a,name:s,oldName:r,newName:s,option:i})).then(function(e){e?(n.activeName=s,a.emitModel(l),a.addInitName(s,t),a.dispatchEvent("change",{value:l,name:s,oldName:r,newName:s,option:i},t),a.dispatchEvent("tab-change",{value:l,name:s,oldName:r,newName:s,option:i},t)):a.dispatchEvent("tab-change-fail",{value:l,name:s,oldName:r,newName:s,option:i},t)}).catch(function(){a.dispatchEvent("tab-change-fail",{value:l,name:s,oldName:r,newName:s,option:i},t)})},handleRefreshTabEvent:function(e,t){var i=this.reactData,e=(e.stopPropagation(),i.activeName),i=i.cacheTabMaps,a=t.name,n=this.computeRefreshOpts.queryMethod,o=a?i["".concat(a)]:null;o&&!o.loading&&(n?(o.loading=!0,Promise.resolve(n({$tabs:this,value:e,name:a,option:t})).finally(function(){o.loading=!1})):errLog("vxe.error.notFunc",["refresh-config.queryMethod"]))},handleCloseTabEvent:function(t,e,i,a){var n=this,o=n,r=n.reactData,r=(t.stopPropagation(),r.activeName),o=n.computeCloseOpts.beforeMethod||o.beforeCloseMethod||(0,_ui.getConfig)().tabs.beforeCloseMethod,s=e.name,l=r,c=l;r===s&&(r=i<a.length-1?a[i+1]:a[i-1],c=r?r.name:null),Promise.resolve(!o||o({$tabs:n,value:l,name:s,nextName:c,option:e})).then(function(e){e?n.dispatchEvent("tab-close",{value:l,name:s,nextName:c},t):n.dispatchEvent("tab-close-fail",{value:l,name:s,nextName:c},t)}).catch(function(){n.dispatchEvent("tab-close-fail",{value:l,name:s,nextName:c},t)})},startScrollAnimation:function(s,e){var l=this,c=l.internalData,t=c.slTimeout,u=l.computeLrPosition,f=u?0:e,d=u?e:0,p=6,m=35,h=(t&&(clearTimeout(t),c.slTimeout=void 0),function(){var e,t,i,a,n,o,r=l.$refs.refHeadWrapperElem;0<p&&(p--,r)&&(e=r.clientWidth,t=r.clientHeight,i=r.scrollWidth,a=r.scrollHeight,n=r.scrollLeft,o=r.scrollTop,u?(d=Math.floor(d/2),0<s?t+o<a&&(r.scrollTop+=d,m-=4,c.slTimeout=setTimeout(h,m)):0<o&&(r.scrollTop-=d,m-=4,c.slTimeout=setTimeout(h,m))):(f=Math.floor(f/2),0<s?e+n<i&&(r.scrollLeft+=f,m-=4,c.slTimeout=setTimeout(h,m)):0<n&&(r.scrollLeft-=f,m-=4,c.slTimeout=setTimeout(h,m))),l.updateTabStyle())});h()},handleScrollToLeft:function(e){var t,i=this.computeLrPosition,a=this.$refs.refHeadWrapperElem;a&&(t=a.clientWidth,a=a.clientHeight,i=Math.floor(.75*(i?a:t)),this.startScrollAnimation(e,i))},scrollLeftEvent:function(){this.handleScrollToLeft(-1)},scrollRightEvent:function(){this.handleScrollToLeft(1)},scrollToTab:function(s){var l=this,c=l.computeTabOptions,u=l.computeTabStaticOptions,f=l.computeLrPosition;return l.$nextTick().then(function(){var e,t,i,a,n,o,r=l.$refs.refHeadWrapperElem;r&&(-1<(i=_xeUtils.default.findIndexOf(u.length?u:c,function(e){return e.name===s}))&&(e=r.scrollLeft,o=r.scrollTop,t=r.clientWidth,n=r.clientHeight,i=r.children[i])&&(f?(0<(n=(a=i.offsetTop)+i.clientHeight-(o+n))&&(r.scrollTop+=n),a<o&&(r.scrollTop=a)):(0<(o=(n=i.offsetLeft)+i.clientWidth-(e+t))&&(r.scrollLeft+=o),n<e&&(r.scrollLeft=n))),l.updateTabStyle())})},handlePrevNext:function(e){var t,i=this,a=i.reactData,n=a.activeName,o=i.computeTabStaticOptions,o=o.length?o:i.computeTabOptions,r=_xeUtils.default.findIndexOf(o,function(e){return e.name===n});return-1<r&&(t=null,e?r<o.length-1&&(t=o[r+1]):0<r&&(t=o[r-1]),t)&&(e=t.name,a.activeName=e,i.emitModel(e),i.addInitName(e,null)),i.$nextTick()},renderTabHeader:function(p,m){var h=this,e=h.$scopedSlots,t=h.reactData,b=h.titleWidth,v=h.titleAlign,g=h.showClose,T=h.closeConfig,_=h.refreshConfig,y=t.activeName,i=t.scrollbarWidth,a=t.scrollbarHeight,n=t.isTabOver,x=t.cacheTabMaps,S=h.computeTabType,E=h.computeTabPosition,t=h.computeLrPosition,o=h.computeLineStyle,r=e.tabPrefix||e["tab-prefix"]||e.prefix,e=e.tabSuffix||e["tab-suffix"]||e.suffix||e.extra,N=h.computeCloseOpts,C=N.visibleMethod,O=h.computeRefreshOpts,P=O.visibleMethod;return p("div",{key:"th",class:["vxe-tabs-header","type--".concat(S),"pos--".concat(E)]},[r?p("div",{class:["vxe-tabs-header--prefix","type--".concat(S),"pos--".concat(E)]},h.callSlot(r,{name:y},p)):(0,_ui.renderEmptyElement)(h),n?p("div",{ref:"refHeadPrevElem",class:["vxe-tabs-header--bar vxe-tabs-header--prev-bar","type--".concat(S),"pos--".concat(E)],on:{click:h.scrollLeftEvent}},[p("span",{class:t?(0,_ui.getIcon)().TABS_TAB_BUTTON_TOP:(0,_ui.getIcon)().TABS_TAB_BUTTON_LEFT})]):(0,_ui.renderEmptyElement)(h),p("div",{class:["vxe-tabs-header--wrapper","type--".concat(S),"pos--".concat(E)]},[p("div",{ref:"refHeadWrapperElem",class:"vxe-tabs-header--item-wrapper",style:t?{marginRight:"-".concat(i+scrollbarOffsetSize,"px"),paddingRight:"".concat(scrollbarOffsetSize,"px")}:{marginBottom:"-".concat(a+scrollbarOffsetSize,"px"),paddingBottom:"".concat(scrollbarOffsetSize,"px")},on:{scroll:h.checkScrolling}},m.map(function(t,i){var e=t.title,a=t.icon,n=t.name,o=t.slots||{},r=o.title||o.tab,s=o.titlePrefix||o["title-prefix"],o=o.titleSuffix||o["title-suffix"],l=t.titleWidth||b,c=t.titleAlign||v,u={$tabs:h,value:y,name:n,option:t},f=y===n,d=n?x["".concat(n)]:null,d=!!d&&d.loading;return p("div",{key:"".concat(n),class:["vxe-tabs-header--item","type--".concat(S),"pos--".concat(E),c?"align--".concat(c):"",{"is--active":f}],style:l?{width:(0,_dom.toCssUnit)(l)}:void 0,on:{click:function(e){h.clickEvent(e,t)}}},[p("div",{class:"vxe-tabs-header--item-inner"},[p("div",{class:"vxe-tabs-header--item-content"},[a?p("span",{class:"vxe-tabs-header--item-icon"},[p("i",{class:a})]):(0,_ui.renderEmptyElement)(h),s?p("span",{class:"vxe-tabs-header--item-prefix"},h.callSlot(s,{name:n,title:e},p)):(0,_ui.renderEmptyElement)(h),p("span",{class:"vxe-tabs-header--item-name"},r?h.callSlot(r,{name:n,title:e},p):"".concat(e)),o?p("span",{class:"vxe-tabs-header--item-suffix"},h.callSlot(o,{name:n,title:e},p)):(0,_ui.renderEmptyElement)(h)]),!(0,_utils.isEnableConf)(_)&&!O.enabled||P&&!P(u)?(0,_ui.renderEmptyElement)(h):p("div",{class:["vxe-tabs-header--refresh-btn",{"is--active":f,"is--loading":d,"is--disabled":d}],on:{click:function(e){h.handleRefreshTabEvent(e,t)}}},[p("i",{class:d?(0,_ui.getIcon)().TABS_TAB_REFRESH_LOADING:(0,_ui.getIcon)().TABS_TAB_REFRESH})]),!(g||(0,_utils.isEnableConf)(T)||N.enabled)||C&&!C(u)?(0,_ui.renderEmptyElement)(h):p("div",{class:["vxe-tabs-header--close-btn",{"is--active":f}],on:{click:function(e){h.handleCloseTabEvent(e,t,i,m)}}},[p("i",{class:(0,_ui.getIcon)().TABS_TAB_CLOSE})])])])}).concat([p("span",{key:"line",class:["vxe-tabs-header--active-line","type--".concat(S),"pos--".concat(E)],style:o})]))]),n?p("div",{ref:"refHeadNextElem",class:["vxe-tabs-header--bar vxe-tabs-header--next-bar","type--".concat(S),"pos--".concat(E)],on:{click:h.scrollRightEvent}},[p("span",{class:t?(0,_ui.getIcon)().TABS_TAB_BUTTON_BOTTOM:(0,_ui.getIcon)().TABS_TAB_BUTTON_RIGHT})]):(0,_ui.renderEmptyElement)(h),e?p("div",{class:["vxe-tabs-header--suffix","type--".concat(S),"pos--".concat(E)]},h.callSlot(e,{name:y},p)):(0,_ui.renderEmptyElement)(h)])},renderTabPane:function(e,t){var i=this,a=i.reactData,n=i.useScrollbar,o=a.initNames,a=a.activeName,r=t.name,t=t.slots,s=t?t.default:null,t=i.computeScrollbarProps;return r&&o.includes(r)?n?e(_scrollbar.default,{key:"".concat(r),class:["vxe-tabs-pane--scrollbar-item",{"is--visible":a===r}],props:t,scopedSlots:{default:function(){return s?i.callSlot(s,{name:r},e):[]}}}):e("div",{key:"".concat(r),class:["vxe-tabs-pane--item",{"is--visible":a===r}]},s?i.callSlot(s,{name:r},e):[]):(0,_ui.renderEmptyElement)(i)},renderTabContent:function(t,e){var i=this,a=i.reactData,n=i.destroyOnClose,o=a.activeName;return n?[(a=e.find(function(e){return e.name===o}))?i.renderTabPane(t,a):(0,_ui.renderEmptyElement)(i)]:e.map(function(e){return i.renderTabPane(t,e)})},rendetTabBody:function(e,t){var i=this,a=i.$scopedSlots,n=i.reactData,o=i.height,r=i.padding,s=i.showBody,l=n.activeName,c=i.computeSize,u=i.computeTabType,f=i.computeTabPosition,d=i.computeRefreshOpts.showLoading,p=a.header,a=a.footer;return s?(n=!!(n=l?n.cacheTabMaps["".concat(l)]:null)&&n.loading,l={name:l},e("div",{key:"tb",class:["vxe-tabs-pane--wrapper","type--".concat(u),"pos--".concat(f),{"is--content":s}]},[p?e("div",{class:"vxe-tabs-pane--header"},i.callSlot(p,l,e)):(0,_ui.renderEmptyElement)(i),e("div",{class:["vxe-tabs-pane--body","type--".concat(u),"pos--".concat(f),_defineProperty(_defineProperty(_defineProperty({},"size--".concat(c),c),"is--padding",r),"is--height",o)]},i.renderTabContent(e,t)),a?e("div",{class:"vxe-tabs-pane--footer"},i.callSlot(a,l,e)):(0,_ui.renderEmptyElement)(i),d&&n?(0,_ui.renderEmptyElement)(i):e(_loading.default,{class:"vxe-tabs--loading",props:{value:n}})])):(0,_ui.renderEmptyElement)(i)},renderVN:function(e){var t=this,i=t.$scopedSlots,a=t.height,n=t.padding,o=t.trigger,r=t.reactData.activeName,s=t.computeSize,l=t.computeTabType,c=t.computeTabPosition,u=t.computeWrapperStyle,i=i.default,f=i?t.computeTabStaticOptions:t.computeTabOptions,i=[e("div",{key:"ts",class:"vxe-tabs-slots"},i?i({name:r}):[])];return"right"===c||"bottom"===c?i.push(t.rendetTabBody(e,f),t.renderTabHeader(e,f)):i.push(t.renderTabHeader(e,f),t.rendetTabBody(e,f)),e("div",{ref:"refElem",class:["vxe-tabs","pos--".concat(c),"vxe-tabs--".concat(l),"trigger--".concat("manual"===o?"trigger":"default"),_defineProperty(_defineProperty(_defineProperty({},"size--".concat(s),s),"is--padding",n),"is--height",a)],style:u},i)}},watch:{position:function(){this.reactData.resizeFlag++},value:function(e){var t=this.reactData;this.addInitName(e,null),t.activeName=e},"reactData.activeName":function(e){this.scrollToTab(e)},options:function(){var e=this.reactData;this.initDefaultName(this.options),e.resizeFlag++},"reactData.staticTabs":function(){var e=this.reactData;this.initDefaultName(e.staticTabs),e.resizeFlag++},computeParentTabsResizeFlag:function(){var e=this;e.$nextTick(function(){e.updateTabStyle()})}},created:function(){var e=this.reactData;this.addInitName(this.value,null),this.initDefaultName(e.staticTabs.length?e.staticTabs:this.options)},mounted:function(){this.updateTabStyle(),_ui.globalEvents.on(this,"resize",this.updateTabStyle)},beforeDestroy:function(){_ui.globalEvents.off(this,"resize")},render:function(e){return this.renderVN(e)}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,a){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0===a)return("string"===t?String:Number)(e);a=a.call(e,t||"default");if("object"!=_typeof(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}var baseUtils=_ui.VxeUI.baseUtils,createEvent=_ui.VxeUI.createEvent,getConfig=_ui.VxeUI.getConfig,getIcon=_ui.VxeUI.getIcon,globalEvents=_ui.VxeUI.globalEvents,permission=_ui.VxeUI.permission,renderEmptyElement=_ui.VxeUI.renderEmptyElement,getDefVal=baseUtils.getDefVal,_createComponentLog=(0,_log.createComponentLog)("tabs"),warnLog=_createComponentLog.warnLog,errLog=_createComponentLog.errLog,scrollbarOffsetSize=20,_default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTabs",mixins:[_ui.globalMixins.sizeMixin],props:{value:[String,Number,Boolean],options:Array,width:[String,Number],height:[String,Number],destroyOnClose:{type:Boolean,default:function(){return getConfig().tabs.destroyOnClose}},titleWidth:[String,Number],titleAlign:[String,Number],type:{type:String,default:function(){return getConfig().tabs.type}},position:{type:String,default:function(){return getConfig().tabs.position}},showClose:Boolean,showBody:{type:Boolean,default:!0},padding:{type:Boolean,default:function(){return getConfig().tabs.padding}},trigger:String,beforeChangeMethod:Function,closeConfig:Object,refreshConfig:Object,size:{type:String,default:function(){return getConfig().tabs.size||getConfig().size}},useScrollbar:{type:Boolean,default:function(){return getDefVal(getConfig().tabs.useScrollbar,getConfig().useScrollbar)}},scrollbarConfig:Object,beforeCloseMethod:Function},inject:{$xeParentTabs:{from:"$xeTabs",default:null}},provide:function(){return{$xeTabs:this}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{staticTabs:[],activeName:null,initNames:[],lintLeft:0,lintTop:0,lintWidth:0,lintHeight:0,scrollbarWidth:0,scrollbarHeight:0,isTabOver:!1,resizeFlag:1,cacheTabMaps:{}},internalData:{slTimeout:void 0}}},computed:Object.assign(Object.assign({},{}),{computeParentTabsResizeFlag:function(){var e=this.$xeParentTabs;return e?e.reactData.resizeFlag:null},computeTabType:function(){return this.type||"default"},computeTabPosition:function(){return this.position||"top"},computeLrPosition:function(){var e=this.computeTabPosition;return"left"===e||"right"===e},computeLineStyle:function(){var e=this.reactData,t=e.lintLeft,a=e.lintWidth,n=e.lintHeight;return this.computeLrPosition?{top:"".concat(e.lintTop,"px"),height:"".concat(n,"px")}:{left:"".concat(t,"px"),width:"".concat(a,"px")}},computeWrapperStyle:function(){var e=this.width,t=this.height,a={};return e&&(a.width=(0,_dom.toCssUnit)(e)),t&&(a.height="auto"===t?"100%":(0,_dom.toCssUnit)(t)),a},computeCloseOpts:function(){return Object.assign({},getConfig().tabs.closeConfig,this.closeConfig)},computeRefreshOpts:function(){return Object.assign({},getConfig().tabs.refreshConfig,this.refreshConfig)},computeTabOptions:function(){var t=this;return(t.options||[]).filter(function(e){return t.handleFilterTab(e)})},computeTabStaticOptions:function(){var t=this;return t.reactData.staticTabs.filter(function(e){return t.handleFilterTab(e)})},computeScrollbarOpts:function(){return Object.assign({},getConfig().tabs.scrollbarConfig,this.scrollbarConfig)},computeScrollbarProps:function(){var e=this.computeScrollbarOpts,t=e.viewClassName;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-tabs-pane--scrollbar-item-view"+(t?" "+t:""),viewInnerClassName:"vxe-tabs-pane--scrollbar-item-inner"+(t?" "+e.viewInnerClassName:"")}}}),methods:{dispatchEvent:function(e,t,a){this.$emit(e,createEvent(a,{$tabs:this},t))},emitModel:function(e){var t=this._events;this.$emit("input",e),t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},prev:function(){return this.handlePrevNext(!1)},next:function(){return this.handlePrevNext(!0)},prevTab:function(){return warnLog("vxe.error.delFunc",["prevTab","prev"]),this.prev()},nextTab:function(){return warnLog("vxe.error.delFunc",["nextTab","next"]),this.next()},handleFilterTab:function(e){e=e.permissionCode;return!(e&&!permission.checkVisible(e))},callSlot:function(e,t,a){var n=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=n[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,a)):[]},checkScrolling:function(){var e,t,a,n,i,o=this.computeLrPosition,r=this.$refs.refHeadWrapperElem,s=this.$refs.refHeadPrevElem,l=this.$refs.refHeadNextElem;r&&(e=r.scrollLeft,t=r.scrollTop,a=r.clientWidth,n=r.clientHeight,i=r.scrollWidth,r=r.scrollHeight,s&&(0<(o?t:e)?(0,_dom.addClass):(0,_dom.removeClass))(s,"scrolling--middle"),l)&&((o?n<r-Math.ceil(t):a<i-Math.ceil(e))?(0,_dom.addClass):(0,_dom.removeClass))(l,"scrolling--middle")},updateTabStyle:function(){function e(){var e,t,a,n,i=g.activeName,o=v.computeTabType,r=v.computeTabOptions,s=v.computeTabStaticOptions,l=v.$refs.refHeadWrapperElem,c=v.computeLrPosition,u=0,f=0,d=0,p=0,m=0,h=0,b=!1;l&&(s=_xeUtils.default.findIndexOf(s.length?s:r,function(e){return e.name===i}),r=l.children,t=l.offsetWidth,e=l.scrollWidth,a=l.offsetHeight,n=l.scrollHeight,m=t-(t=l.clientWidth),h=a-(a=l.clientHeight),c?(b=n!==a,-1<s&&(l=r[s])&&(c=l.clientHeight,n=l.clientWidth,p="card"===o?(u=n,f=c,l.offsetTop):"border-card"===o?(u=n,f=c,l.offsetTop-1):(f=Math.max(4,Math.floor(.6*c)),l.offsetTop+Math.floor((c-f)/2)))):(b=e!==t,-1<s&&(a=r[s])&&(n=a.clientWidth,d="card"===o?(u=n+1,a.offsetLeft):"border-card"===o?(u=n,a.offsetLeft-1):(u=Math.max(4,Math.floor(.6*n)),a.offsetLeft+Math.floor((n-u)/2))))),g.scrollbarWidth=m,g.scrollbarHeight=h,g.lintLeft=d,g.lintTop=p,g.lintWidth=u,g.lintHeight=f,g.isTabOver=b,v.checkScrolling()}var v=this,g=v.reactData;e(),v.$nextTick(e)},addInitName:function(e,t){var a=this.reactData.initNames;return!(!e||a.includes(e)||(this.dispatchEvent("tab-load",{name:e},t),a.push(e),0))},initDefaultName:function(e){var a,n=this,t=n.reactData,i=null,o={};e&&e.length&&(a=!1,i=n.value,e.forEach(function(e){var e=e||{},t=e.name,e=e.preload;t&&(o["".concat(t)]={loading:!1},i===t&&(a=!0),e)&&n.addInitName(t,null)}),a||(i=e[0].name,n.addInitName(i,null),n.emitModel(i))),t.activeName=i,t.cacheTabMaps=o},clickEvent:function(t,a){var n=this,i=n.reactData,e=n.trigger,o=n.beforeChangeMethod||getConfig().tabs.beforeChangeMethod,r=i.activeName,s=a.name,l=s;n.dispatchEvent("tab-click",{name:s},t),"manual"!==e&&s!==r&&Promise.resolve(!o||o({$tabs:n,name:s,oldName:r,newName:s,option:a})).then(function(e){e?(i.activeName=s,n.emitModel(l),n.addInitName(s,t),n.dispatchEvent("change",{value:l,name:s,oldName:r,newName:s,option:a},t),n.dispatchEvent("tab-change",{value:l,name:s,oldName:r,newName:s,option:a},t)):n.dispatchEvent("tab-change-fail",{value:l,name:s,oldName:r,newName:s,option:a},t)}).catch(function(){n.dispatchEvent("tab-change-fail",{value:l,name:s,oldName:r,newName:s,option:a},t)})},handleRefreshTabEvent:function(e,t){var a=this.reactData,e=(e.stopPropagation(),a.activeName),a=a.cacheTabMaps,n=t.name,i=this.computeRefreshOpts.queryMethod,o=n?a["".concat(n)]:null;o&&!o.loading&&(i?(o.loading=!0,Promise.resolve(i({$tabs:this,value:e,name:n,option:t})).finally(function(){o.loading=!1})):errLog("vxe.error.notFunc",["refresh-config.queryMethod"]))},handleCloseTabEvent:function(t,e,a,n){var i=this,o=i,r=i.reactData,r=(t.stopPropagation(),r.activeName),o=i.computeCloseOpts.beforeMethod||o.beforeCloseMethod||getConfig().tabs.beforeCloseMethod,s=e.name,l=r,c=l;r===s&&(r=a<n.length-1?n[a+1]:n[a-1],c=r?r.name:null),Promise.resolve(!o||o({$tabs:i,value:l,name:s,nextName:c,option:e})).then(function(e){e?i.dispatchEvent("tab-close",{value:l,name:s,nextName:c},t):i.dispatchEvent("tab-close-fail",{value:l,name:s,nextName:c},t)}).catch(function(){i.dispatchEvent("tab-close-fail",{value:l,name:s,nextName:c},t)})},startScrollAnimation:function(s,e){var l=this,c=l.internalData,t=c.slTimeout,u=l.computeLrPosition,f=u?0:e,d=u?e:0,p=6,m=35,h=(t&&(clearTimeout(t),c.slTimeout=void 0),function(){var e,t,a,n,i,o,r=l.$refs.refHeadWrapperElem;0<p&&(p--,r)&&(e=r.clientWidth,t=r.clientHeight,a=r.scrollWidth,n=r.scrollHeight,i=r.scrollLeft,o=r.scrollTop,u?(d=Math.floor(d/2),0<s?t+o<n&&(r.scrollTop+=d,m-=4,c.slTimeout=setTimeout(h,m)):0<o&&(r.scrollTop-=d,m-=4,c.slTimeout=setTimeout(h,m))):(f=Math.floor(f/2),0<s?e+i<a&&(r.scrollLeft+=f,m-=4,c.slTimeout=setTimeout(h,m)):0<i&&(r.scrollLeft-=f,m-=4,c.slTimeout=setTimeout(h,m))),l.updateTabStyle())});h()},handleScrollToLeft:function(e){var t,a=this.computeLrPosition,n=this.$refs.refHeadWrapperElem;n&&(t=n.clientWidth,n=n.clientHeight,a=Math.floor(.75*(a?n:t)),this.startScrollAnimation(e,a))},scrollLeftEvent:function(){this.handleScrollToLeft(-1)},scrollRightEvent:function(){this.handleScrollToLeft(1)},scrollToTab:function(s){var l=this,c=l.computeTabOptions,u=l.computeTabStaticOptions,f=l.computeLrPosition;return l.$nextTick().then(function(){var e,t,a,n,i,o,r=l.$refs.refHeadWrapperElem;r&&(-1<(a=_xeUtils.default.findIndexOf(u.length?u:c,function(e){return e.name===s}))&&(e=r.scrollLeft,o=r.scrollTop,t=r.clientWidth,i=r.clientHeight,a=r.children[a])&&(f?(0<(i=(n=a.offsetTop)+a.clientHeight-(o+i))&&(r.scrollTop+=i),n<o&&(r.scrollTop=n)):(0<(o=(i=a.offsetLeft)+a.clientWidth-(e+t))&&(r.scrollLeft+=o),i<e&&(r.scrollLeft=i))),l.updateTabStyle())})},handlePrevNext:function(e){var t,a=this,n=a.reactData,i=n.activeName,o=a.computeTabStaticOptions,o=o.length?o:a.computeTabOptions,r=_xeUtils.default.findIndexOf(o,function(e){return e.name===i});return-1<r&&(t=null,e?r<o.length-1&&(t=o[r+1]):0<r&&(t=o[r-1]),t)&&(e=t.name,n.activeName=e,a.emitModel(e),a.addInitName(e,null)),a.$nextTick()},renderTabHeader:function(p,m){var h=this,e=h.$scopedSlots,t=h.reactData,b=h.titleWidth,v=h.titleAlign,g=h.showClose,T=h.closeConfig,y=h.refreshConfig,x=t.activeName,a=t.scrollbarWidth,n=t.scrollbarHeight,i=t.isTabOver,_=t.cacheTabMaps,S=h.computeTabType,E=h.computeTabPosition,t=h.computeLrPosition,o=h.computeLineStyle,r=e.tabPrefix||e["tab-prefix"]||e.prefix,e=e.tabSuffix||e["tab-suffix"]||e.suffix||e.extra,N=h.computeCloseOpts,C=N.visibleMethod,O=h.computeRefreshOpts,P=O.visibleMethod;return p("div",{key:"th",class:["vxe-tabs-header","type--".concat(S),"pos--".concat(E)]},[r?p("div",{class:["vxe-tabs-header--prefix","type--".concat(S),"pos--".concat(E)]},h.callSlot(r,{name:x},p)):renderEmptyElement(h),i?p("div",{ref:"refHeadPrevElem",class:["vxe-tabs-header--bar vxe-tabs-header--prev-bar","type--".concat(S),"pos--".concat(E)],on:{click:h.scrollLeftEvent}},[p("span",{class:t?getIcon().TABS_TAB_BUTTON_TOP:getIcon().TABS_TAB_BUTTON_LEFT})]):renderEmptyElement(h),p("div",{class:["vxe-tabs-header--wrapper","type--".concat(S),"pos--".concat(E)]},[p("div",{ref:"refHeadWrapperElem",class:"vxe-tabs-header--item-wrapper",style:t?{marginRight:"-".concat(a+scrollbarOffsetSize,"px"),paddingRight:"".concat(scrollbarOffsetSize,"px")}:{marginBottom:"-".concat(n+scrollbarOffsetSize,"px"),paddingBottom:"".concat(scrollbarOffsetSize,"px")},on:{scroll:h.checkScrolling}},m.map(function(t,a){var e=t.title,n=t.icon,i=t.name,o=t.slots||{},r=o.title||o.tab,s=o.titlePrefix||o["title-prefix"],o=o.titleSuffix||o["title-suffix"],l=t.titleWidth||b,c=t.titleAlign||v,u={$tabs:h,value:x,name:i,option:t},f=x===i,d=i?_["".concat(i)]:null,d=!!d&&d.loading;return p("div",{key:"".concat(i),class:["vxe-tabs-header--item","type--".concat(S),"pos--".concat(E),c?"align--".concat(c):"",{"is--active":f}],style:l?{width:(0,_dom.toCssUnit)(l)}:void 0,on:{click:function(e){h.clickEvent(e,t)}}},[p("div",{class:"vxe-tabs-header--item-inner"},[p("div",{class:"vxe-tabs-header--item-content"},[n?p("span",{class:"vxe-tabs-header--item-icon"},[p("i",{class:n})]):renderEmptyElement(h),s?p("span",{class:"vxe-tabs-header--item-prefix"},h.callSlot(s,{name:i,title:e},p)):renderEmptyElement(h),p("span",{class:"vxe-tabs-header--item-name"},r?h.callSlot(r,{name:i,title:e},p):"".concat(e)),o?p("span",{class:"vxe-tabs-header--item-suffix"},h.callSlot(o,{name:i,title:e},p)):renderEmptyElement(h)]),!(0,_utils.isEnableConf)(y)&&!O.enabled||P&&!P(u)?renderEmptyElement(h):p("div",{class:["vxe-tabs-header--refresh-btn",{"is--active":f,"is--loading":d,"is--disabled":d}],on:{click:function(e){h.handleRefreshTabEvent(e,t)}}},[p("i",{class:d?getIcon().TABS_TAB_REFRESH_LOADING:getIcon().TABS_TAB_REFRESH})]),!(g||(0,_utils.isEnableConf)(T)||N.enabled)||C&&!C(u)?renderEmptyElement(h):p("div",{class:["vxe-tabs-header--close-btn",{"is--active":f}],on:{click:function(e){h.handleCloseTabEvent(e,t,a,m)}}},[p("i",{class:getIcon().TABS_TAB_CLOSE})])])])}).concat([p("span",{key:"line",class:["vxe-tabs-header--active-line","type--".concat(S),"pos--".concat(E)],style:o})]))]),i?p("div",{ref:"refHeadNextElem",class:["vxe-tabs-header--bar vxe-tabs-header--next-bar","type--".concat(S),"pos--".concat(E)],on:{click:h.scrollRightEvent}},[p("span",{class:t?getIcon().TABS_TAB_BUTTON_BOTTOM:getIcon().TABS_TAB_BUTTON_RIGHT})]):renderEmptyElement(h),e?p("div",{class:["vxe-tabs-header--suffix","type--".concat(S),"pos--".concat(E)]},h.callSlot(e,{name:x},p)):renderEmptyElement(h)])},renderTabPane:function(e,t){var a=this,n=a.reactData,i=a.useScrollbar,o=n.initNames,n=n.activeName,r=t.name,t=t.slots,s=t?t.default:null,t=a.computeScrollbarProps;return r&&o.includes(r)?i?e(_scrollbar.default,{key:"".concat(r),class:["vxe-tabs-pane--scrollbar-item",{"is--visible":n===r}],props:t,scopedSlots:{default:function(){return s?a.callSlot(s,{name:r},e):[]}}}):e("div",{key:"".concat(r),class:["vxe-tabs-pane--item",{"is--visible":n===r}]},s?a.callSlot(s,{name:r},e):[]):renderEmptyElement(a)},renderTabContent:function(t,e){var a=this,n=a.reactData,i=a.destroyOnClose,o=n.activeName;return i?[(n=e.find(function(e){return e.name===o}))?a.renderTabPane(t,n):renderEmptyElement(a)]:e.map(function(e){return a.renderTabPane(t,e)})},rendetTabBody:function(e,t){var a=this,n=a.$scopedSlots,i=a.reactData,o=a.height,r=a.padding,s=a.showBody,l=i.activeName,c=a.computeSize,u=a.computeTabType,f=a.computeTabPosition,d=a.computeRefreshOpts.showLoading,p=n.header,n=n.footer;return s?(i=!!(i=l?i.cacheTabMaps["".concat(l)]:null)&&i.loading,l={name:l},e("div",{key:"tb",class:["vxe-tabs-pane--wrapper","type--".concat(u),"pos--".concat(f),{"is--content":s}]},[p?e("div",{class:"vxe-tabs-pane--header"},a.callSlot(p,l,e)):renderEmptyElement(a),e("div",{class:["vxe-tabs-pane--body","type--".concat(u),"pos--".concat(f),_defineProperty(_defineProperty(_defineProperty({},"size--".concat(c),c),"is--padding",r),"is--height",o)]},a.renderTabContent(e,t)),n?e("div",{class:"vxe-tabs-pane--footer"},a.callSlot(n,l,e)):renderEmptyElement(a),d&&i?renderEmptyElement(a):e(_loading.default,{class:"vxe-tabs--loading",props:{value:i}})])):renderEmptyElement(a)},renderVN:function(e){var t=this,a=t.$scopedSlots,n=t.height,i=t.padding,o=t.trigger,r=t.reactData.activeName,s=t.computeSize,l=t.computeTabType,c=t.computeTabPosition,u=t.computeWrapperStyle,a=a.default,f=a?t.computeTabStaticOptions:t.computeTabOptions,a=[e("div",{key:"ts",class:"vxe-tabs-slots"},a?a({name:r}):[])];return"right"===c||"bottom"===c?a.push(t.rendetTabBody(e,f),t.renderTabHeader(e,f)):a.push(t.renderTabHeader(e,f),t.rendetTabBody(e,f)),e("div",{ref:"refElem",class:["vxe-tabs","pos--".concat(c),"vxe-tabs--".concat(l),"trigger--".concat("manual"===o?"trigger":"default"),_defineProperty(_defineProperty(_defineProperty({},"size--".concat(s),s),"is--padding",i),"is--height",n)],style:u},a)}},watch:{position:function(){this.reactData.resizeFlag++},value:function(e){var t=this.reactData;this.addInitName(e,null),t.activeName=e},"reactData.activeName":function(e){this.scrollToTab(e)},options:function(){var e=this.reactData;this.initDefaultName(this.options),e.resizeFlag++},"reactData.staticTabs":function(){var e=this.reactData;this.initDefaultName(e.staticTabs),e.resizeFlag++},computeParentTabsResizeFlag:function(){var e=this;e.$nextTick(function(){e.updateTabStyle()})}},created:function(){var e=this.reactData;this.addInitName(this.value,null),this.initDefaultName(e.staticTabs.length?e.staticTabs:this.options)},mounted:function(){this.updateTabStyle(),globalEvents.on(this,"resize",this.updateTabStyle)},beforeDestroy:function(){globalEvents.off(this,"resize")},render:function(e){return this.renderVN(e)}});
@@ -10,6 +10,7 @@ var _ui = require("../../ui");
10
10
  var _utils = require("../../ui/src/utils");
11
11
  var _dom = require("../../ui/src/dom");
12
12
  var _vn = require("../../ui/src/vn");
13
+ var _scrollbar = _interopRequireDefault(require("../../scrollbar"));
13
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
15
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
15
16
  function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
@@ -21,6 +22,11 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
21
22
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
22
23
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
23
24
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
25
+ var baseUtils = _ui.VxeUI.baseUtils,
26
+ getConfig = _ui.VxeUI.getConfig,
27
+ createEvent = _ui.VxeUI.createEvent,
28
+ globalEvents = _ui.VxeUI.globalEvents;
29
+ var getDefVal = baseUtils.getDefVal;
24
30
  function createReactData() {
25
31
  return {
26
32
  target: null,
@@ -40,6 +46,7 @@ function createReactData() {
40
46
  }
41
47
  function createInternalData() {
42
48
  return {
49
+ // scrollbarViewEl: undefined,
43
50
  // showDelayTip: undefined
44
51
  };
45
52
  }
@@ -51,20 +58,20 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
51
58
  size: {
52
59
  type: String,
53
60
  default: function _default() {
54
- return (0, _ui.getConfig)().tooltip.size || (0, _ui.getConfig)().size;
61
+ return getConfig().tooltip.size || getConfig().size;
55
62
  }
56
63
  },
57
64
  selector: [String, Element],
58
65
  trigger: {
59
66
  type: String,
60
67
  default: function _default() {
61
- return (0, _ui.getConfig)().tooltip.trigger || 'hover';
68
+ return getConfig().tooltip.trigger || 'hover';
62
69
  }
63
70
  },
64
71
  theme: {
65
72
  type: String,
66
73
  default: function _default() {
67
- return (0, _ui.getConfig)().tooltip.theme || 'dark';
74
+ return getConfig().tooltip.theme || 'dark';
68
75
  }
69
76
  },
70
77
  content: {
@@ -74,14 +81,14 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
74
81
  useHtml: {
75
82
  type: Boolean,
76
83
  default: function _default() {
77
- return _xeUtils.default.isBoolean((0, _ui.getConfig)().tooltip.useHtml) ? (0, _ui.getConfig)().tooltip.useHtml : null;
84
+ return _xeUtils.default.isBoolean(getConfig().tooltip.useHtml) ? getConfig().tooltip.useHtml : null;
78
85
  }
79
86
  },
80
87
  // 已废弃,请使用 useHtml
81
88
  useHTML: {
82
89
  type: Boolean,
83
90
  default: function _default() {
84
- return (0, _ui.getConfig)().tooltip.useHTML;
91
+ return getConfig().tooltip.useHTML;
85
92
  }
86
93
  },
87
94
  zIndex: [String, Number],
@@ -89,81 +96,88 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
89
96
  width: {
90
97
  type: [String, Number],
91
98
  default: function _default() {
92
- return (0, _ui.getConfig)().tooltip.Width;
99
+ return getConfig().tooltip.Width;
93
100
  }
94
101
  },
95
102
  height: {
96
103
  type: [String, Number],
97
104
  default: function _default() {
98
- return (0, _ui.getConfig)().tooltip.height;
105
+ return getConfig().tooltip.height;
99
106
  }
100
107
  },
101
108
  minWidth: {
102
109
  type: [String, Number],
103
110
  default: function _default() {
104
- return (0, _ui.getConfig)().tooltip.minWidth;
111
+ return getConfig().tooltip.minWidth;
105
112
  }
106
113
  },
107
114
  minHeight: {
108
115
  type: [String, Number],
109
116
  default: function _default() {
110
- return (0, _ui.getConfig)().tooltip.minHeight;
117
+ return getConfig().tooltip.minHeight;
111
118
  }
112
119
  },
113
120
  maxWidth: {
114
121
  type: [String, Number],
115
122
  default: function _default() {
116
- return (0, _ui.getConfig)().tooltip.maxWidth;
123
+ return getConfig().tooltip.maxWidth;
117
124
  }
118
125
  },
119
126
  maxHeight: {
120
127
  type: [String, Number],
121
128
  default: function _default() {
122
- return (0, _ui.getConfig)().tooltip.maxHeight;
129
+ return getConfig().tooltip.maxHeight;
123
130
  }
124
131
  },
125
132
  placement: {
126
133
  type: String,
127
134
  default: function _default() {
128
- return (0, _ui.getConfig)().tooltip.placement;
135
+ return getConfig().tooltip.placement;
129
136
  }
130
137
  },
131
138
  defaultPlacement: {
132
139
  type: String,
133
140
  default: function _default() {
134
- return (0, _ui.getConfig)().tooltip.defaultPlacement;
141
+ return getConfig().tooltip.defaultPlacement;
135
142
  }
136
143
  },
137
144
  isArrow: {
138
145
  type: Boolean,
139
146
  default: function _default() {
140
- return (0, _ui.getConfig)().tooltip.isArrow;
147
+ return getConfig().tooltip.isArrow;
141
148
  }
142
149
  },
143
150
  enterable: {
144
151
  type: Boolean,
145
152
  default: function _default() {
146
- return (0, _ui.getConfig)().tooltip.enterable;
153
+ return getConfig().tooltip.enterable;
147
154
  }
148
155
  },
149
156
  enterDelay: {
150
157
  type: Number,
151
158
  default: function _default() {
152
- return (0, _ui.getConfig)().tooltip.enterDelay;
159
+ return getConfig().tooltip.enterDelay;
153
160
  }
154
161
  },
155
162
  leaveDelay: {
156
163
  type: Number,
157
164
  default: function _default() {
158
- return (0, _ui.getConfig)().tooltip.leaveDelay;
165
+ return getConfig().tooltip.leaveDelay;
159
166
  }
160
167
  },
161
168
  appendTo: {
162
169
  type: [String, Function],
163
170
  default: function _default() {
164
- return (0, _ui.getConfig)().tooltip.appendTo;
171
+ return getConfig().tooltip.appendTo;
165
172
  }
166
- }
173
+ },
174
+ useScrollbar: {
175
+ type: Boolean,
176
+ default: function _default() {
177
+ return getDefVal(getConfig().tooltip.useScrollbar, getConfig().useScrollbar);
178
+ }
179
+ },
180
+ scrollbarConfig: Object
167
181
  },
168
182
  data: function data() {
169
183
  var xID = _xeUtils.default.uniqueId();
@@ -211,7 +225,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
211
225
  //
212
226
  dispatchEvent: function dispatchEvent(type, params, evnt) {
213
227
  var $xeTooltip = this;
214
- $xeTooltip.$emit(type, (0, _ui.createEvent)(evnt, {
228
+ $xeTooltip.$emit(type, createEvent(evnt, {
215
229
  $tooltip: $xeTooltip
216
230
  }, params));
217
231
  },
@@ -436,7 +450,9 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
436
450
  tipStore.arrowStyle = {
437
451
  left: '50%'
438
452
  };
439
- return $xeTooltip.updatePlacement();
453
+ return $xeTooltip.updatePlacement().then(function () {
454
+ return $xeTooltip.updatePlacement();
455
+ });
440
456
  },
441
457
  handleDelayFn: function handleDelayFn() {
442
458
  var $xeTooltip = this;
@@ -523,6 +539,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
523
539
  var slots = $xeTooltip.$scopedSlots;
524
540
  var reactData = $xeTooltip.reactData;
525
541
  var useHtml = props.useHtml,
542
+ theme = props.theme,
543
+ useScrollbar = props.useScrollbar,
526
544
  useHTML = props.useHTML;
527
545
  var tipContent = reactData.tipContent;
528
546
  var wrapperStyle = $xeTooltip.computeWrapperStyle;
@@ -544,9 +562,27 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
544
562
  key: 'cd'
545
563
  }, "".concat(tipContent)));
546
564
  }
565
+ if (useScrollbar) {
566
+ return h(_scrollbar.default, {
567
+ key: 5,
568
+ ref: 'contentScrollbar',
569
+ class: 'vxe-tooltip--scrollbar-content',
570
+ props: {
571
+ theme: theme,
572
+ viewClassName: 'vxe-tooltip--scrollbar-content-view',
573
+ viewInnerClassName: 'vxe-tooltip--scrollbar-content-inner',
574
+ viewStyle: wrapperStyle
575
+ },
576
+ scopedSlots: {
577
+ default: function _default() {
578
+ return contVNs;
579
+ }
580
+ }
581
+ });
582
+ }
547
583
  return h('div', {
548
584
  key: 3,
549
- ref: 'contentWrapperfElem',
585
+ ref: 'contentWrapperElem',
550
586
  class: 'vxe-tooltip--content',
551
587
  style: wrapperStyle
552
588
  }, contVNs);
@@ -616,14 +652,25 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
616
652
  var $xeTooltip = this;
617
653
  $xeTooltip.internalData = createInternalData();
618
654
  $xeTooltip.handleDelayFn();
619
- _ui.globalEvents.on($xeTooltip, 'blur', $xeTooltip.handleGlobalBlurEvent);
620
- _ui.globalEvents.on($xeTooltip, 'scroll', $xeTooltip.handleGlobalScrollEvent);
655
+ globalEvents.on($xeTooltip, 'blur', $xeTooltip.handleGlobalBlurEvent);
656
+ globalEvents.on($xeTooltip, 'scroll', $xeTooltip.handleGlobalScrollEvent);
621
657
  },
622
658
  mounted: function mounted() {
623
659
  var $xeTooltip = this;
624
660
  var props = $xeTooltip;
625
661
  var reactData = $xeTooltip.reactData;
626
- var contentWrapperfEl = $xeTooltip.$refs.contentWrapperfElem;
662
+ var internalData = $xeTooltip.internalData;
663
+ var $scrollbar = $xeTooltip.$refs.contentScrollbar;
664
+ if ($scrollbar) {
665
+ var viewEl = $scrollbar.getViewElem();
666
+ if (viewEl) {
667
+ viewEl.addEventListener('wheel', $xeTooltip.wheelEvent, {
668
+ passive: false
669
+ });
670
+ internalData.scrollbarViewEl = viewEl;
671
+ }
672
+ }
673
+ var contentWrapperfEl = $xeTooltip.$refs.contentWrapperElem;
627
674
  if (contentWrapperfEl) {
628
675
  contentWrapperfEl.addEventListener('wheel', $xeTooltip.wheelEvent, {
629
676
  passive: false
@@ -668,24 +715,28 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
668
715
  var reactData = $xeTooltip.reactData;
669
716
  var internalData = $xeTooltip.internalData;
670
717
  var target = reactData.target;
718
+ var scrollbarViewEl = internalData.scrollbarViewEl;
671
719
  var panelElem = $xeTooltip.$refs.refElem;
672
720
  if (target) {
673
721
  target.onmouseenter = null;
674
722
  target.onmouseleave = null;
675
723
  target.onclick = null;
676
724
  }
677
- var contentWrapperfEl = $xeTooltip.$refs.contentWrapperfElem;
725
+ var contentWrapperfEl = $xeTooltip.$refs.contentWrapperElem;
678
726
  if (contentWrapperfEl) {
679
727
  contentWrapperfEl.removeEventListener('wheel', $xeTooltip.wheelEvent);
680
728
  }
729
+ if (scrollbarViewEl) {
730
+ scrollbarViewEl.removeEventListener('wheel', $xeTooltip.wheelEvent);
731
+ }
681
732
  if (panelElem) {
682
733
  var parentNode = panelElem.parentNode;
683
734
  if (parentNode) {
684
735
  parentNode.removeChild(panelElem);
685
736
  }
686
737
  }
687
- _ui.globalEvents.off($xeTooltip, 'blur');
688
- _ui.globalEvents.off($xeTooltip, 'scroll');
738
+ globalEvents.off($xeTooltip, 'blur');
739
+ globalEvents.off($xeTooltip, 'scroll');
689
740
  _xeUtils.default.assign(reactData, createReactData());
690
741
  _xeUtils.default.assign(internalData, createInternalData());
691
742
  },