vxe-pc-ui 3.17.7 → 3.17.8

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 (96) hide show
  1. package/es/button/src/button.js +2 -2
  2. package/es/button-group/style.css +1 -1
  3. package/es/button-group/style.min.css +1 -1
  4. package/es/color-picker/src/color-picker.js +2 -2
  5. package/es/date-picker/src/date-picker.js +2 -2
  6. package/es/date-range-picker/src/date-range-picker.js +2 -2
  7. package/es/drawer/src/drawer.js +2 -2
  8. package/es/icon/style.css +1 -1
  9. package/es/icon-picker/src/icon-picker.js +2 -2
  10. package/es/menu/src/menu.js +2 -2
  11. package/es/modal/src/modal.js +2 -2
  12. package/es/select/src/select.js +2 -2
  13. package/es/style.css +1 -1
  14. package/es/style.min.css +1 -1
  15. package/es/table-select/src/table-select.js +2 -2
  16. package/es/tooltip/src/tooltip.js +72 -127
  17. package/es/tree/src/tree.js +2 -2
  18. package/es/tree-select/src/tree-select.js +2 -2
  19. package/es/ui/index.js +4 -4
  20. package/es/ui/src/dom.js +114 -81
  21. package/es/ui/src/log.js +1 -1
  22. package/es/vxe-button-group/style.css +1 -1
  23. package/es/vxe-button-group/style.min.css +1 -1
  24. package/lib/button/src/button.js +1 -1
  25. package/lib/button/src/button.min.js +1 -1
  26. package/lib/button-group/style/style.css +1 -1
  27. package/lib/button-group/style/style.min.css +1 -1
  28. package/lib/color-picker/src/color-picker.js +1 -1
  29. package/lib/color-picker/src/color-picker.min.js +1 -1
  30. package/lib/date-picker/src/date-picker.js +1 -1
  31. package/lib/date-picker/src/date-picker.min.js +1 -1
  32. package/lib/date-range-picker/src/date-range-picker.js +1 -1
  33. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  34. package/lib/drawer/src/drawer.js +1 -1
  35. package/lib/drawer/src/drawer.min.js +1 -1
  36. package/lib/icon/style/style.css +1 -1
  37. package/lib/icon/style/style.min.css +1 -1
  38. package/lib/icon-picker/src/icon-picker.js +1 -1
  39. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  40. package/lib/index.umd.js +204 -222
  41. package/lib/index.umd.min.js +1 -1
  42. package/lib/menu/src/menu.js +1 -1
  43. package/lib/menu/src/menu.min.js +1 -1
  44. package/lib/modal/src/modal.js +1 -1
  45. package/lib/modal/src/modal.min.js +1 -1
  46. package/lib/select/src/select.js +1 -1
  47. package/lib/select/src/select.min.js +1 -1
  48. package/lib/style.css +1 -1
  49. package/lib/style.min.css +1 -1
  50. package/lib/table-select/src/table-select.js +1 -1
  51. package/lib/table-select/src/table-select.min.js +1 -1
  52. package/lib/tooltip/src/tooltip.js +78 -126
  53. package/lib/tooltip/src/tooltip.min.js +1 -1
  54. package/lib/tree/src/tree.js +3 -2
  55. package/lib/tree/src/tree.min.js +1 -1
  56. package/lib/tree-select/src/tree-select.js +1 -1
  57. package/lib/tree-select/src/tree-select.min.js +1 -1
  58. package/lib/ui/index.js +4 -4
  59. package/lib/ui/index.min.js +1 -1
  60. package/lib/ui/src/dom.js +109 -79
  61. package/lib/ui/src/dom.min.js +1 -1
  62. package/lib/ui/src/log.js +1 -1
  63. package/lib/ui/src/log.min.js +1 -1
  64. package/lib/vxe-button-group/style/style.css +1 -1
  65. package/lib/vxe-button-group/style/style.min.css +1 -1
  66. package/package.json +1 -1
  67. package/packages/button/src/button.ts +2 -2
  68. package/packages/color-picker/src/color-picker.ts +2 -2
  69. package/packages/date-picker/src/date-picker.ts +2 -2
  70. package/packages/date-range-picker/src/date-range-picker.ts +2 -2
  71. package/packages/drawer/src/drawer.ts +2 -2
  72. package/packages/icon-picker/src/icon-picker.ts +2 -2
  73. package/packages/menu/src/menu.ts +2 -2
  74. package/packages/modal/src/modal.ts +2 -2
  75. package/packages/select/src/select.ts +2 -2
  76. package/packages/table-select/src/table-select.ts +2 -2
  77. package/packages/tooltip/src/tooltip.ts +74 -126
  78. package/packages/tree/src/tree.ts +2 -2
  79. package/packages/tree-select/src/tree-select.ts +2 -2
  80. package/packages/ui/index.ts +3 -3
  81. package/packages/ui/src/dom.ts +125 -84
  82. package/styles/components/button-group.scss +4 -2
  83. package/types/components/table.d.ts +6 -0
  84. package/types/components/tooltip.d.ts +4 -0
  85. /package/es/icon/{iconfont.1787197085834.ttf → iconfont.1787216119203.ttf} +0 -0
  86. /package/es/icon/{iconfont.1787197085834.woff → iconfont.1787216119203.woff} +0 -0
  87. /package/es/icon/{iconfont.1787197085834.woff2 → iconfont.1787216119203.woff2} +0 -0
  88. /package/es/{iconfont.1787197085834.ttf → iconfont.1787216119203.ttf} +0 -0
  89. /package/es/{iconfont.1787197085834.woff → iconfont.1787216119203.woff} +0 -0
  90. /package/es/{iconfont.1787197085834.woff2 → iconfont.1787216119203.woff2} +0 -0
  91. /package/lib/icon/style/{iconfont.1787197085834.ttf → iconfont.1787216119203.ttf} +0 -0
  92. /package/lib/icon/style/{iconfont.1787197085834.woff → iconfont.1787216119203.woff} +0 -0
  93. /package/lib/icon/style/{iconfont.1787197085834.woff2 → iconfont.1787216119203.woff2} +0 -0
  94. /package/lib/{iconfont.1787197085834.ttf → iconfont.1787216119203.ttf} +0 -0
  95. /package/lib/{iconfont.1787197085834.woff → iconfont.1787216119203.woff} +0 -0
  96. /package/lib/{iconfont.1787197085834.woff2 → iconfont.1787216119203.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -13261,7 +13261,7 @@ var es_array_join = __webpack_require__(8598);
13261
13261
 
13262
13262
 
13263
13263
  var log_log = VxeUI.log;
13264
- var uiVersion = "ui v".concat("3.17.7");
13264
+ var uiVersion = "ui v".concat("3.17.8");
13265
13265
  function createComponentLog(name) {
13266
13266
  var tableVersion = VxeUI.tableVersion ? "table v".concat(VxeUI.tableVersion) : '';
13267
13267
  var ganttVersion = VxeUI.ganttVersion ? "gantt v".concat(VxeUI.ganttVersion) : '';
@@ -13281,7 +13281,7 @@ var errLog = log_log.create('error', uiVersion);
13281
13281
 
13282
13282
 
13283
13283
 
13284
- var ui_version = "3.17.7";
13284
+ var ui_version = "3.17.8";
13285
13285
  VxeUI.uiVersion = ui_version;
13286
13286
  VxeUI.dynamicApp = dynamicApp;
13287
13287
  function config(options) {
@@ -13698,7 +13698,8 @@ setConfig({
13698
13698
  theme: 'dark',
13699
13699
  enterDelay: 500,
13700
13700
  leaveDelay: 300,
13701
- isArrow: true
13701
+ isArrow: true,
13702
+ defaultPlacement: 'top'
13702
13703
  },
13703
13704
  transfer: {},
13704
13705
  tree: {
@@ -13712,8 +13713,7 @@ setConfig({
13712
13713
  tooltipConfig: {
13713
13714
  mode: 'tooltip',
13714
13715
  enterable: true,
13715
- leaveDelay: 300,
13716
- defaultPlacement: 'top'
13716
+ leaveDelay: 300
13717
13717
  },
13718
13718
  dragConfig: {
13719
13719
  showIcon: true,
@@ -15237,12 +15237,17 @@ function dom_triggerEvent(targetElem, type) {
15237
15237
  function isNodeElement(elem) {
15238
15238
  return elem && elem.nodeType === 1;
15239
15239
  }
15240
+ /**
15241
+ * 通用定位计算
15242
+ */
15240
15243
  function updatePanelPlacement(targetElem, panelElem, options) {
15241
15244
  var _Object$assign = Object.assign({
15242
15245
  teleportTo: false,
15243
15246
  marginSize: 18,
15244
15247
  isMinWidth: true
15245
15248
  }, options),
15249
+ defaultTop = _Object$assign.defaultTop,
15250
+ defaultLeft = _Object$assign.defaultLeft,
15246
15251
  placement = _Object$assign.placement,
15247
15252
  defaultPlacement = _Object$assign.defaultPlacement,
15248
15253
  teleportTo = _Object$assign.teleportTo,
@@ -15251,114 +15256,138 @@ function updatePanelPlacement(targetElem, panelElem, options) {
15251
15256
  var panelPlacement = 'bottom';
15252
15257
  var top = '';
15253
15258
  var bottom = '';
15254
- var left = '';
15255
- var right = '';
15259
+ var left = 0;
15256
15260
  var minWidth = '';
15261
+ var arrowLeft = '';
15257
15262
  var stys = {};
15258
15263
  if (panelElem && targetElem) {
15259
- var documentElement = document.documentElement;
15260
- var bodyElem = document.body;
15261
- var targetHeight = targetElem.offsetHeight;
15262
- var panelHeight = panelElem.offsetHeight;
15263
- var panelWidth = panelElem.offsetWidth;
15264
- var panelRect = panelElem.getBoundingClientRect();
15265
- var targetRect = targetElem.getBoundingClientRect();
15266
- var visibleHeight = documentElement.clientHeight || bodyElem.clientHeight;
15267
- var visibleWidth = documentElement.clientWidth || bodyElem.clientWidth;
15268
- minWidth = targetElem.offsetWidth;
15269
- if (teleportTo) {
15270
- left = targetRect.left;
15271
- top = targetRect.top + targetHeight;
15272
- if (placement === 'top') {
15273
- panelPlacement = 'top';
15274
- top = targetRect.top - panelHeight;
15275
- } else if (!placement) {
15276
- if (defaultPlacement === 'top') {
15264
+ var parentEl = panelElem.parentElement;
15265
+ var parentWrapperEl = parentEl === document.body ? document.documentElement : parentEl;
15266
+ if (parentWrapperEl) {
15267
+ var targetWidth = targetElem.offsetWidth;
15268
+ var targetHeight = targetElem.offsetHeight;
15269
+ var panelHeight = panelElem.offsetHeight;
15270
+ var panelWidth = panelElem.offsetWidth;
15271
+ var parentWrapperRect = parentWrapperEl.getBoundingClientRect();
15272
+ var panelRect = panelElem.getBoundingClientRect();
15273
+ var targetRect = targetElem.getBoundingClientRect();
15274
+ var visibleHeight = parentWrapperEl.clientHeight;
15275
+ var visibleWidth = parentWrapperEl.clientWidth;
15276
+ var offsetLeft = parentWrapperRect.left;
15277
+ var offsetTop = parentWrapperRect.top;
15278
+ var targetLeft = targetRect.left;
15279
+ var targetTop = targetRect.top;
15280
+ minWidth = targetElem.offsetWidth;
15281
+ if (teleportTo) {
15282
+ left = defaultLeft || targetLeft;
15283
+ top = defaultTop || targetTop + targetHeight;
15284
+ if (placement === 'top') {
15277
15285
  panelPlacement = 'top';
15278
- top = targetRect.top - panelHeight;
15279
- // 如果上面不够放,则向下
15280
- if (top < marginSize) {
15281
- panelPlacement = 'bottom';
15282
- top = targetRect.top + targetHeight;
15283
- }
15284
- // 如果下面不够放,则向上(优先)
15285
- if (top + panelHeight + marginSize > visibleHeight) {
15286
+ top = targetTop - panelHeight;
15287
+ } else if (!placement) {
15288
+ if (defaultPlacement === 'top') {
15286
15289
  panelPlacement = 'top';
15287
- top = targetRect.top - panelHeight;
15290
+ top = targetTop - panelHeight;
15291
+ // 如果上面不够放,则向下
15292
+ if (top < marginSize) {
15293
+ panelPlacement = 'bottom';
15294
+ top = targetTop + targetHeight;
15295
+ }
15296
+ // 如果下面不够放,则向上(优先)
15297
+ if (top + panelHeight + marginSize > visibleHeight) {
15298
+ panelPlacement = 'top';
15299
+ top = targetTop - panelHeight;
15300
+ }
15301
+ } else {
15302
+ // 如果下面不够放,则向上
15303
+ if (top + panelHeight + marginSize > visibleHeight) {
15304
+ panelPlacement = 'top';
15305
+ top = targetTop - panelHeight;
15306
+ }
15307
+ // 如果上面不够放,则向下(优先)
15308
+ if (top < marginSize) {
15309
+ panelPlacement = 'bottom';
15310
+ top = targetTop + targetHeight;
15311
+ }
15288
15312
  }
15289
- } else {
15313
+ }
15314
+ // 如果溢出右边
15315
+ if (left + panelWidth + marginSize > visibleWidth) {
15316
+ left -= left + panelWidth + marginSize - visibleWidth;
15317
+ }
15318
+ // 如果溢出左边
15319
+ if (left < marginSize) {
15320
+ left = marginSize;
15321
+ }
15322
+ // 偏移
15323
+ top -= offsetTop;
15324
+ left -= offsetLeft;
15325
+ } else {
15326
+ if (placement === 'top') {
15327
+ panelPlacement = 'top';
15328
+ bottom = targetHeight;
15329
+ } else if (!placement) {
15290
15330
  // 如果下面不够放,则向上
15291
- if (top + panelHeight + marginSize > visibleHeight) {
15292
- panelPlacement = 'top';
15293
- top = targetRect.top - panelHeight;
15294
- }
15295
- // 如果上面不够放,则向下(优先)
15296
- if (top < marginSize) {
15297
- panelPlacement = 'bottom';
15298
- top = targetRect.top + targetHeight;
15331
+ top = targetHeight;
15332
+ if (targetTop + targetHeight + panelHeight + marginSize > visibleHeight) {
15333
+ // 如果上面不够放,则向下(优先)
15334
+ if (targetTop - targetHeight - panelHeight > marginSize) {
15335
+ panelPlacement = 'top';
15336
+ top = '';
15337
+ bottom = targetHeight;
15338
+ }
15299
15339
  }
15300
15340
  }
15341
+ // 是否超出右侧
15342
+ if (panelRect.left + panelRect.width + marginSize > visibleWidth) {
15343
+ left = -(panelRect.left + panelRect.width + marginSize - visibleWidth);
15344
+ }
15301
15345
  }
15302
- // 如果溢出右边
15303
- if (left + panelWidth + marginSize > visibleWidth) {
15304
- left -= left + panelWidth + marginSize - visibleWidth;
15346
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(top)) {
15347
+ stys.top = toCssUnit(top);
15305
15348
  }
15306
- // 如果溢出左边
15307
- if (left < marginSize) {
15308
- left = marginSize;
15349
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(bottom)) {
15350
+ stys.bottom = toCssUnit(bottom);
15309
15351
  }
15310
- } else {
15311
- if (placement === 'top') {
15312
- panelPlacement = 'top';
15313
- bottom = targetHeight;
15314
- } else if (!placement) {
15315
- // 如果下面不够放,则向上
15316
- top = targetHeight;
15317
- if (targetRect.top + targetHeight + panelHeight + marginSize > visibleHeight) {
15318
- // 如果上面不够放,则向下(优先)
15319
- if (targetRect.top - targetHeight - panelHeight > marginSize) {
15320
- panelPlacement = 'top';
15321
- top = '';
15322
- bottom = targetHeight;
15323
- }
15324
- }
15352
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(left)) {
15353
+ stys.left = toCssUnit(left);
15325
15354
  }
15326
- // 是否超出右侧
15327
- if (panelRect.left + panelRect.width + marginSize > visibleWidth) {
15328
- left = -(panelRect.left + panelRect.width + marginSize - visibleWidth);
15355
+ if (isMinWidth && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(minWidth)) {
15356
+ stys.minWidth = toCssUnit(minWidth);
15357
+ }
15358
+ // 箭头
15359
+ if (left === targetLeft) {
15360
+ if (targetWidth <= panelWidth) {
15361
+ arrowLeft = targetWidth / 2;
15362
+ }
15363
+ } else if (left < targetLeft) {
15364
+ if (left + panelWidth > targetLeft + targetWidth) {
15365
+ arrowLeft = targetLeft - left + targetWidth / 2;
15366
+ } else {
15367
+ arrowLeft = targetLeft - left + (panelWidth - (targetLeft - left)) / 2;
15368
+ }
15329
15369
  }
15330
- }
15331
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(top)) {
15332
- stys.top = toCssUnit(top);
15333
- }
15334
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(bottom)) {
15335
- stys.bottom = toCssUnit(bottom);
15336
- }
15337
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(left)) {
15338
- stys.left = toCssUnit(left);
15339
- }
15340
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(right)) {
15341
- stys.right = toCssUnit(right);
15342
- }
15343
- if (isMinWidth && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(minWidth)) {
15344
- stys.minWidth = toCssUnit(minWidth);
15345
15370
  }
15346
15371
  }
15347
15372
  return {
15348
15373
  top: top || 0,
15349
15374
  bottom: bottom || 0,
15350
15375
  left: left || 0,
15351
- right: right || 0,
15376
+ arrowLeft: arrowLeft || 0,
15352
15377
  style: stys,
15353
15378
  placement: panelPlacement
15354
15379
  };
15355
15380
  }
15356
15381
  function getPopupContainer(appendTo) {
15357
15382
  var selectElem = appendTo && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(appendTo) ? appendTo({}) : appendTo;
15383
+ return selectElem || 'body';
15384
+ }
15385
+ function getPopupAppendElement(appendTo) {
15386
+ var selectElem = getPopupContainer(appendTo);
15358
15387
  if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(selectElem)) {
15359
15388
  return document.querySelector(selectElem) || document.body;
15360
15389
  }
15361
- return selectElem || document.body;
15390
+ return selectElem;
15362
15391
  }
15363
15392
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.filter.js
15364
15393
  var es_iterator_filter = __webpack_require__(2489);
@@ -16283,6 +16312,12 @@ function createInternalData() {
16283
16312
  default: function _default() {
16284
16313
  return getConfig().tooltip.leaveDelay;
16285
16314
  }
16315
+ },
16316
+ appendTo: {
16317
+ type: [String, Function],
16318
+ default: function _default() {
16319
+ return getConfig().tooltip.appendTo;
16320
+ }
16286
16321
  }
16287
16322
  },
16288
16323
  data: function data() {
@@ -16387,24 +16422,59 @@ function createInternalData() {
16387
16422
  var $xeTooltip = this;
16388
16423
  return $xeTooltip.handleVisible(target, content);
16389
16424
  },
16390
- updatePlacement: function updatePlacement() {
16425
+ updateTipStyle: function updateTipStyle() {
16391
16426
  var $xeTooltip = this;
16427
+ var props = $xeTooltip;
16392
16428
  var reactData = $xeTooltip.reactData;
16393
- var visible = reactData.visible,
16394
- tipTarget = reactData.tipTarget;
16395
- var el = $xeTooltip.$refs.refElem;
16396
- if (visible && tipTarget && el) {
16397
- $xeTooltip.updateTipStyle();
16429
+ var placement = props.placement,
16430
+ defaultPlacement = props.defaultPlacement,
16431
+ isArrow = props.isArrow;
16432
+ var targetElem = reactData.tipTarget,
16433
+ tipStore = reactData.tipStore,
16434
+ tipPos = reactData.tipPos,
16435
+ tipZindex = reactData.tipZindex;
16436
+ var panelElem = $xeTooltip.$refs.refElem;
16437
+ if (!targetElem || !panelElem) {
16438
+ return;
16398
16439
  }
16399
- return $xeTooltip.$nextTick().then(function () {
16400
- var tipTarget = reactData.tipTarget;
16401
- el = $xeTooltip.$refs.refElem;
16402
- if (tipTarget && el) {
16403
- $xeTooltip.updateTipStyle();
16404
- return $xeTooltip.$nextTick().then(function () {
16405
- $xeTooltip.updateTipStyle();
16406
- });
16440
+ var targetRect = targetElem.getBoundingClientRect();
16441
+ var targetWidth = targetElem.offsetWidth;
16442
+ var targetHeight = targetElem.offsetHeight;
16443
+ var panelWidth = panelElem.offsetWidth;
16444
+ var targetLeft = targetRect.left;
16445
+ var targetTop = targetRect.top;
16446
+ // 支持特殊定位逻辑
16447
+ var left = targetLeft;
16448
+ var top = targetTop + targetHeight;
16449
+ if (tipPos && (tipPos.oLeft || tipPos.oTop)) {
16450
+ if (isArrow) {
16451
+ left = left + Math.max(8, Math.min(targetWidth - 8, tipPos.oLeft)) - panelWidth / 2;
16452
+ } else {
16453
+ left = tipPos.x + 1;
16454
+ top = tipPos.y + 1;
16407
16455
  }
16456
+ } else {
16457
+ left = targetLeft + (targetWidth - panelWidth) / 2;
16458
+ }
16459
+ var ppObj = updatePanelPlacement(targetElem, panelElem, {
16460
+ defaultTop: top,
16461
+ defaultLeft: left,
16462
+ placement: placement,
16463
+ defaultPlacement: defaultPlacement,
16464
+ teleportTo: true
16465
+ });
16466
+ var panelStyle = Object.assign(ppObj.style, {
16467
+ zIndex: tipZindex
16468
+ });
16469
+ tipStore.placement = ppObj.placement;
16470
+ tipStore.style = panelStyle;
16471
+ tipStore.arrowStyle.left = "".concat(ppObj.arrowLeft, "px");
16472
+ },
16473
+ updatePlacement: function updatePlacement() {
16474
+ var $xeTooltip = this;
16475
+ $xeTooltip.updateTipStyle();
16476
+ return $xeTooltip.$nextTick().then(function () {
16477
+ return $xeTooltip.updateTipStyle();
16408
16478
  });
16409
16479
  },
16410
16480
  isActived: function isActived() {
@@ -16417,100 +16487,6 @@ function createInternalData() {
16417
16487
  var reactData = $xeTooltip.reactData;
16418
16488
  reactData.tipActive = !!active;
16419
16489
  },
16420
- updateTipStyle: function updateTipStyle() {
16421
- var $xeTooltip = this;
16422
- var props = $xeTooltip;
16423
- var reactData = $xeTooltip.reactData;
16424
- var isArrow = props.isArrow,
16425
- placement = props.placement,
16426
- defaultPlacement = props.defaultPlacement;
16427
- var targetElem = reactData.tipTarget,
16428
- tipStore = reactData.tipStore,
16429
- tipPos = reactData.tipPos;
16430
- var top = '';
16431
- var left = '';
16432
- var panelPlacement = 'bottom';
16433
- var arrowLeft = '';
16434
- var panelElem = $xeTooltip.$refs.refElem;
16435
- if (panelElem && targetElem) {
16436
- var documentElement = document.documentElement;
16437
- var bodyElem = document.body;
16438
- var targetWidth = targetElem.offsetWidth;
16439
- var targetHeight = targetElem.offsetHeight;
16440
- var panelHeight = panelElem.offsetHeight;
16441
- var panelWidth = panelElem.offsetWidth;
16442
- var targetRect = targetElem.getBoundingClientRect();
16443
- var visibleHeight = documentElement.clientHeight || bodyElem.clientHeight;
16444
- var visibleWidth = documentElement.clientWidth || bodyElem.clientWidth;
16445
- var marginSize = 6;
16446
- left = targetRect.left;
16447
- top = targetRect.top + targetHeight;
16448
- if (tipPos && (tipPos.oLeft || tipPos.oTop)) {
16449
- if (isArrow) {
16450
- left = left + Math.max(8, Math.min(targetWidth - 8, tipPos.oLeft)) - panelWidth / 2;
16451
- } else {
16452
- left = tipPos.x + 1;
16453
- top = tipPos.y + 1;
16454
- }
16455
- } else {
16456
- left = targetRect.left + (targetWidth - panelWidth) / 2;
16457
- }
16458
- if (placement === 'top') {
16459
- panelPlacement = 'top';
16460
- top = targetRect.top - panelHeight;
16461
- } else if (!placement) {
16462
- if (defaultPlacement === 'top') {
16463
- panelPlacement = 'top';
16464
- top = targetRect.top - panelHeight;
16465
- // 如果上面不够放,则向下
16466
- if (top < marginSize) {
16467
- panelPlacement = 'bottom';
16468
- top = targetRect.top + targetHeight;
16469
- }
16470
- // 如果下面不够放,则向上(优先)
16471
- if (top + panelHeight + marginSize > visibleHeight) {
16472
- panelPlacement = 'top';
16473
- top = targetRect.top - panelHeight;
16474
- }
16475
- } else {
16476
- // 如果下面不够放,则向上
16477
- if (top + panelHeight + marginSize > visibleHeight) {
16478
- panelPlacement = 'top';
16479
- top = targetRect.top - panelHeight;
16480
- }
16481
- // 如果上面不够放,则向下(优先)
16482
- if (top < marginSize) {
16483
- panelPlacement = 'bottom';
16484
- top = targetRect.top + targetHeight;
16485
- }
16486
- }
16487
- }
16488
- // 如果溢出右边
16489
- if (left + panelWidth + marginSize > visibleWidth) {
16490
- left -= left + panelWidth + marginSize - visibleWidth;
16491
- }
16492
- // 如果溢出左边
16493
- if (left < marginSize) {
16494
- left = marginSize;
16495
- }
16496
- // 箭头
16497
- if (left === targetRect.left) {
16498
- if (targetWidth <= panelWidth) {
16499
- arrowLeft = targetWidth / 2;
16500
- }
16501
- } else if (left < targetRect.left) {
16502
- if (left + panelWidth > targetRect.left + targetWidth) {
16503
- arrowLeft = targetRect.left - left + targetWidth / 2;
16504
- } else {
16505
- arrowLeft = targetRect.left - left + (panelWidth - (targetRect.left - left)) / 2;
16506
- }
16507
- }
16508
- tipStore.placement = panelPlacement;
16509
- tipStore.style.top = "".concat(top, "px");
16510
- tipStore.style.left = "".concat(left, "px");
16511
- tipStore.arrowStyle.left = "".concat(arrowLeft, "px");
16512
- }
16513
- },
16514
16490
  updateValue: function updateValue(value) {
16515
16491
  var $xeTooltip = this;
16516
16492
  var reactData = $xeTooltip.reactData;
@@ -16520,10 +16496,14 @@ function createInternalData() {
16520
16496
  $xeTooltip.emitModel(value);
16521
16497
  }
16522
16498
  },
16523
- updateZindex: function updateZindex() {
16499
+ updateZIndex: function updateZIndex() {
16524
16500
  var $xeTooltip = this;
16501
+ var props = $xeTooltip;
16525
16502
  var reactData = $xeTooltip.reactData;
16526
- if (reactData.tipZindex < getLastZIndex()) {
16503
+ var zIndex = props.zIndex;
16504
+ if (zIndex) {
16505
+ reactData.tipZindex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(zIndex);
16506
+ } else if (reactData.tipZindex < getLastZIndex()) {
16527
16507
  reactData.tipZindex = nextZIndex();
16528
16508
  }
16529
16509
  },
@@ -16586,16 +16566,17 @@ function createInternalData() {
16586
16566
  var $xeTooltip = this;
16587
16567
  var props = $xeTooltip;
16588
16568
  var reactData = $xeTooltip.reactData;
16569
+ var appendTo = props.appendTo;
16589
16570
  var tipStore = reactData.tipStore;
16590
- var el = $xeTooltip.$refs.refElem;
16591
- if (el) {
16592
- var parentNode = el.parentNode;
16571
+ var panelElem = $xeTooltip.$refs.refElem;
16572
+ if (panelElem) {
16573
+ var parentNode = panelElem.parentNode;
16593
16574
  if (!parentNode) {
16594
- document.body.appendChild(el);
16575
+ getPopupAppendElement(appendTo).appendChild(panelElem);
16595
16576
  }
16596
16577
  }
16597
16578
  $xeTooltip.updateValue(true);
16598
- $xeTooltip.updateZindex();
16579
+ $xeTooltip.updateZIndex();
16599
16580
  tipStore.placement = 'top';
16600
16581
  tipStore.style = {
16601
16582
  width: 'auto',
@@ -16781,21 +16762,21 @@ function createInternalData() {
16781
16762
  $xeTooltip.$nextTick(function () {
16782
16763
  var trigger = props.trigger,
16783
16764
  content = props.content;
16784
- var wrapperElem = $xeTooltip.$refs.refElem;
16785
- if (wrapperElem) {
16786
- var parentNode = wrapperElem.parentNode;
16765
+ var panelElem = $xeTooltip.$refs.refElem;
16766
+ if (panelElem) {
16767
+ var parentNode = panelElem.parentNode;
16787
16768
  if (parentNode) {
16788
16769
  reactData.tipContent = content;
16789
16770
  reactData.tipZindex = nextZIndex();
16790
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(wrapperElem.children, function (elem, index) {
16771
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(panelElem.children, function (elem, index) {
16791
16772
  if (index) {
16792
- parentNode.insertBefore(elem, wrapperElem);
16773
+ parentNode.insertBefore(elem, panelElem);
16793
16774
  if (!reactData.target) {
16794
16775
  reactData.target = elem;
16795
16776
  }
16796
16777
  }
16797
16778
  });
16798
- parentNode.removeChild(wrapperElem);
16779
+ parentNode.removeChild(panelElem);
16799
16780
  var target = reactData.target;
16800
16781
  if (target) {
16801
16782
  if (trigger === 'hover') {
@@ -16816,7 +16797,7 @@ function createInternalData() {
16816
16797
  var $xeTooltip = this;
16817
16798
  var reactData = $xeTooltip.reactData;
16818
16799
  var target = reactData.target;
16819
- var wrapperElem = $xeTooltip.$refs.refElem;
16800
+ var panelElem = $xeTooltip.$refs.refElem;
16820
16801
  if (target) {
16821
16802
  target.onmouseenter = null;
16822
16803
  target.onmouseleave = null;
@@ -16826,10 +16807,10 @@ function createInternalData() {
16826
16807
  if (contentWrapperfEl) {
16827
16808
  contentWrapperfEl.removeEventListener('wheel', $xeTooltip.wheelEvent);
16828
16809
  }
16829
- if (wrapperElem) {
16830
- var parentNode = wrapperElem.parentNode;
16810
+ if (panelElem) {
16811
+ var parentNode = panelElem.parentNode;
16831
16812
  if (parentNode) {
16832
- parentNode.removeChild(wrapperElem);
16813
+ parentNode.removeChild(panelElem);
16833
16814
  }
16834
16815
  }
16835
16816
  },
@@ -17191,7 +17172,7 @@ var _createComponentLog = createComponentLog('button'),
17191
17172
  reactData.initialized = true;
17192
17173
  if (btnTransfer) {
17193
17174
  var appendTo = popupOpts.appendTo;
17194
- getPopupContainer(appendTo).appendChild(panelElem);
17175
+ getPopupAppendElement(appendTo).appendChild(panelElem);
17195
17176
  }
17196
17177
  }
17197
17178
  internalData.showTime = setTimeout(function () {
@@ -32970,7 +32951,7 @@ var typeList = [{
32970
32951
  if (btnTransfer) {
32971
32952
  if (panelElem) {
32972
32953
  var appendTo = popupOpts.appendTo;
32973
- getPopupContainer(appendTo).appendChild(panelElem);
32954
+ getPopupAppendElement(appendTo).appendChild(panelElem);
32974
32955
  }
32975
32956
  }
32976
32957
  }
@@ -38641,7 +38622,7 @@ function date_picker_createInternalData() {
38641
38622
  reactData.initialized = true;
38642
38623
  if (btnTransfer && panelElem) {
38643
38624
  var appendTo = popupOpts.appendTo;
38644
- getPopupContainer(appendTo).appendChild(panelElem);
38625
+ getPopupAppendElement(appendTo).appendChild(panelElem);
38645
38626
  }
38646
38627
  }
38647
38628
  if (internalData.hpTimeout) {
@@ -40347,7 +40328,7 @@ function date_range_picker_createInternalData() {
40347
40328
  reactData.initialized = true;
40348
40329
  if (btnTransfer && panelElem) {
40349
40330
  var appendTo = popupOpts.appendTo;
40350
- getPopupContainer(appendTo).appendChild(panelElem);
40331
+ getPopupAppendElement(appendTo).appendChild(panelElem);
40351
40332
  }
40352
40333
  }
40353
40334
  if (internalData.hpTimeout) {
@@ -41296,7 +41277,7 @@ var allActiveDrawers = [];
41296
41277
  reactData.initialized = true;
41297
41278
  if (btnTransfer) {
41298
41279
  var panelElem = $xeDrawer.$refs.refElem;
41299
- getPopupContainer(appendTo).appendChild(panelElem);
41280
+ getPopupAppendElement(appendTo).appendChild(panelElem);
41300
41281
  }
41301
41282
  }
41302
41283
  if (!visible) {
@@ -45209,7 +45190,7 @@ function icon_picker_createInternalData() {
45209
45190
  if (btnTransfer) {
45210
45191
  if (panelElem) {
45211
45192
  var appendTo = popupOpts.appendTo;
45212
- getPopupContainer(appendTo).appendChild(panelElem);
45193
+ getPopupAppendElement(appendTo).appendChild(panelElem);
45213
45194
  }
45214
45195
  }
45215
45196
  }
@@ -48013,7 +47994,7 @@ var nemuUniqueKey = 100000000;
48013
47994
  $xeMenu.$nextTick(function () {
48014
47995
  var collapseEl = $xeMenu.$refs.refCollapseElem;
48015
47996
  if (collapseEl) {
48016
- getPopupContainer(appendTo).appendChild(collapseEl);
47997
+ getPopupAppendElement(appendTo).appendChild(collapseEl);
48017
47998
  }
48018
47999
  });
48019
48000
  }
@@ -49463,7 +49444,7 @@ var lockScrollCssWidthKey = '--vxe-ui-modal-lock-scroll-view-width';
49463
49444
  reactData.initialized = true;
49464
49445
  if (btnTransfer) {
49465
49446
  var panelElem = $xeModal.$refs.refElem;
49466
- getPopupContainer(appendTo).appendChild(panelElem);
49447
+ getPopupAppendElement(appendTo).appendChild(panelElem);
49467
49448
  }
49468
49449
  }
49469
49450
  if (!visible) {
@@ -51716,7 +51697,7 @@ function select_createInternalData() {
51716
51697
  var panelElem = $xeSelect.$refs.refOptionPanel;
51717
51698
  if (btnTransfer && panelElem) {
51718
51699
  var appendTo = popupOpts.appendTo;
51719
- getPopupContainer(appendTo).appendChild(panelElem);
51700
+ getPopupAppendElement(appendTo).appendChild(panelElem);
51720
51701
  }
51721
51702
  }
51722
51703
  reactData.isActivated = true;
@@ -59826,7 +59807,7 @@ function table_select_createInternalData() {
59826
59807
  if (btnTransfer) {
59827
59808
  if (panelElem) {
59828
59809
  var appendTo = popupOpts.appendTo;
59829
- getPopupContainer(appendTo).appendChild(panelElem);
59810
+ getPopupAppendElement(appendTo).appendChild(panelElem);
59830
59811
  }
59831
59812
  }
59832
59813
  }
@@ -66514,12 +66495,13 @@ function tree_createReactData() {
66514
66495
  var props = $xeTree;
66515
66496
  var slots = $xeTree.$scopedSlots;
66516
66497
  var internalData = $xeTree.internalData;
66517
- var transform = props.transform,
66498
+ var loading = props.loading,
66499
+ transform = props.transform,
66518
66500
  emptyText = props.emptyText;
66519
66501
  var treeExpandedMaps = internalData.treeExpandedMaps;
66520
66502
  var childrenField = $xeTree.computeChildrenField;
66521
66503
  var emptySlot = slots.empty;
66522
- if (!treeList.length) {
66504
+ if (!loading && !treeList.length) {
66523
66505
  return [h('div', {
66524
66506
  class: 'vxe-tree--empty-placeholder'
66525
66507
  }, emptySlot ? emptySlot({}) : [h('div', {
@@ -67440,7 +67422,7 @@ function tree_select_createInternalData() {
67440
67422
  if (btnTransfer) {
67441
67423
  if (panelElem) {
67442
67424
  var appendTo = popupOpts.appendTo;
67443
- getPopupContainer(appendTo).appendChild(panelElem);
67425
+ getPopupAppendElement(appendTo).appendChild(panelElem);
67444
67426
  }
67445
67427
  }
67446
67428
  }