bkui-vue 0.0.2-beta.16 → 0.0.2-beta.18

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.
@@ -5857,6 +5857,21 @@ class BKZIndexManager {
5857
5857
  }
5858
5858
  const bkZIndexManager = new BKZIndexManager();
5859
5859
  `__bk_mask_${random(16)}`;
5860
+ const MaskEventMap = /* @__PURE__ */ new WeakMap();
5861
+ const getMaskEvent = (mask) => {
5862
+ if (MaskEventMap.has(mask)) {
5863
+ return MaskEventMap.get(mask);
5864
+ }
5865
+ return [];
5866
+ };
5867
+ const setMaskEvent = (mask, event, args, content, instanceId) => {
5868
+ const maskEvent = getMaskEvent(mask);
5869
+ if (maskEvent.some((evet) => evet.instanceId === instanceId)) {
5870
+ return;
5871
+ }
5872
+ maskEvent.push({ event, args, content, instanceId });
5873
+ MaskEventMap.set(mask, maskEvent);
5874
+ };
5860
5875
  class MaskQueueMaker {
5861
5876
  constructor() {
5862
5877
  __publicField(this, "timer", null);
@@ -5869,11 +5884,7 @@ class MaskQueueMaker {
5869
5884
  }
5870
5885
  pushMaskStyle(parentNode, style2) {
5871
5886
  const value = this.getMaskMap(parentNode);
5872
- if (!(value == null ? void 0 : value.styles)) {
5873
- this.setMaskMap(parentNode, { styles: [style2], ...value || {} });
5874
- } else {
5875
- value.styles.push(style2);
5876
- }
5887
+ this.setMaskMap(parentNode, { styles: [style2], ...value || {} });
5877
5888
  }
5878
5889
  getMaskStyles(parentNode) {
5879
5890
  var _a;
@@ -5944,26 +5955,30 @@ class BkMaskManager {
5944
5955
  display: "none",
5945
5956
  "background-color": "rgba(0,0,0,.6)"
5946
5957
  });
5947
- __publicField(this, "onClick");
5948
5958
  // 用于判定是否已经初始化过当前实例
5949
5959
  __publicField(this, "isInit", false);
5950
5960
  __publicField(this, "maskAttrTag", "auto");
5951
- __publicField(this, "popInstance");
5952
- const { multiInstance = false, maskAttrTag = "auto", parentNode = document.body, maskStyle = {}, onClick = null, popInstance = null } = config || {};
5961
+ const {
5962
+ multiInstance = false,
5963
+ maskAttrTag = "auto",
5964
+ parentNode = document.body,
5965
+ maskStyle = {}
5966
+ } = config || {};
5953
5967
  this.parentNode = parentNode || document;
5954
5968
  this.maskAttrTag = maskAttrTag;
5955
- this.onClick = onClick;
5956
5969
  this.activeInstance = void 0;
5957
5970
  this.multiInstance = multiInstance;
5958
- this.popInstance = popInstance;
5959
5971
  this.uniqueMaskAttrTag = this.getMaskAttrTag(maskAttrTag);
5960
5972
  bkMaskMaker.appendMaker(() => {
5961
5973
  this.initInstance(maskStyle);
5962
5974
  });
5963
5975
  }
5964
5976
  setOption(option) {
5965
- const { parentNode = document.body, maskStyle = {}, onClick = null, maskAttrTag = this.maskAttrTag } = option || {};
5966
- this.onClick = onClick;
5977
+ const {
5978
+ parentNode = document.body,
5979
+ maskStyle = {},
5980
+ maskAttrTag = this.maskAttrTag
5981
+ } = option || {};
5967
5982
  this.parentNode = parentNode || document;
5968
5983
  this.setMaskStyle(Object.assign({}, this.maskStyle, maskStyle));
5969
5984
  this.uniqueMaskAttrTag = this.getMaskAttrTag(maskAttrTag);
@@ -5976,7 +5991,7 @@ class BkMaskManager {
5976
5991
  * @param appendStyle 追加样式
5977
5992
  * @param transfer 是否显示将内容加入遮罩下
5978
5993
  */
5979
- show(content, zIndex, showMask = true, appendStyle = {}, uuid2 = null, transfer2 = false) {
5994
+ show(content, zIndex, showMask = true, appendStyle = {}, uuid2 = null, transfer2 = false, onMaskClick, instanceId) {
5980
5995
  const uid = uuid2 ?? random(16);
5981
5996
  const localZIndex = /-?\d+/.test(`${zIndex}`) ? zIndex : bkZIndexManager.getModalNextIndex();
5982
5997
  let style2 = Object.assign({}, this.maskStyle, appendStyle || {});
@@ -6000,7 +6015,9 @@ class BkMaskManager {
6000
6015
  "pointer-events": "all"
6001
6016
  });
6002
6017
  this.initInstance(style2);
6003
- this.catchClickEvent();
6018
+ if (onMaskClick) {
6019
+ this.catchClickEvent(content, onMaskClick, instanceId);
6020
+ }
6004
6021
  this.setMaskStyle(style2);
6005
6022
  bkMaskMaker.pushMaskStyle(this.parentNode, { ...style2 });
6006
6023
  this.backupMask.style.setProperty("z-index", `${localZIndex - 1}`);
@@ -6057,17 +6074,20 @@ class BkMaskManager {
6057
6074
  }
6058
6075
  }
6059
6076
  backupContentElement(content) {
6060
- content && this.backupMask.append(content);
6077
+ var _a;
6078
+ content && ((_a = this.backupMask) == null ? void 0 : _a.append(content));
6061
6079
  }
6062
6080
  getActiveContentInstance() {
6063
6081
  return this.activeInstance;
6064
6082
  }
6083
+ removeClickEvent() {
6084
+ }
6065
6085
  initInstance(maskStyle) {
6066
6086
  if (!this.isInit) {
6067
6087
  this.isInit = true;
6088
+ this.backupMask = this.getBackupMask();
6068
6089
  const { instance, isExist } = this.getMask();
6069
6090
  this.mask = instance;
6070
- this.backupMask = this.getBackupMask();
6071
6091
  !isExist && this.setMaskStyle(Object.assign({}, this.maskStyle, maskStyle));
6072
6092
  }
6073
6093
  }
@@ -6084,26 +6104,31 @@ class BkMaskManager {
6084
6104
  if (!div) {
6085
6105
  isExist = false;
6086
6106
  div = this.createMask();
6107
+ div.addEventListener(
6108
+ "click",
6109
+ (e3) => this.handleMaskClick(e3),
6110
+ true
6111
+ );
6087
6112
  }
6088
6113
  return {
6089
6114
  instance: div,
6090
6115
  isExist
6091
6116
  };
6092
6117
  }
6093
- catchClickEvent() {
6094
- if (this.mask) {
6095
- this.mask.addEventListener("click", (e3) => this.handleMaskClick(e3), true);
6096
- }
6097
- }
6098
- removeClickEvent() {
6118
+ catchClickEvent(content, onMaskClick, instanceId) {
6099
6119
  if (this.mask) {
6100
- this.mask.removeEventListener("click", this.handleMaskClick);
6120
+ setMaskEvent(this.mask, onMaskClick, [], content, instanceId);
6101
6121
  }
6102
6122
  }
6103
6123
  handleMaskClick(e3) {
6104
- if (e3.target === this.mask) {
6105
- if (typeof this.onClick === "function") {
6106
- Reflect.apply(this.onClick, this.popInstance || this, [e3]);
6124
+ if (e3.target !== this.mask) {
6125
+ return;
6126
+ }
6127
+ const events = getMaskEvent(this.mask);
6128
+ if (events.length) {
6129
+ const { event } = events.pop();
6130
+ if (typeof event === "function") {
6131
+ event(e3);
6107
6132
  }
6108
6133
  }
6109
6134
  }
@@ -6149,23 +6174,34 @@ class BkMaskManager {
6149
6174
  }
6150
6175
  }
6151
6176
  new BkMaskManager({});
6177
+ const popInstanceStore = /* @__PURE__ */ new WeakMap();
6152
6178
  class BKPopIndexManager {
6153
- // private instanceUUID;
6154
6179
  constructor(options) {
6155
6180
  /** 用来缓存弹出层实例 */
6156
- __publicField(this, "popInstanceList");
6157
6181
  __publicField(this, "uuidAttrName");
6158
6182
  __publicField(this, "clickFn");
6159
6183
  __publicField(this, "bKMaskManagerInstance");
6160
- this.popInstanceList = [];
6184
+ __publicField(this, "transfer");
6185
+ __publicField(this, "uniqId");
6161
6186
  this.clickFn = void 0;
6162
6187
  this.uuidAttrName = "data-bk-pop-uuid";
6188
+ this.uniqId = random(16);
6189
+ this.transfer = this.getParentNode(options == null ? void 0 : options.transfer);
6163
6190
  this.bKMaskManagerInstance = new BkMaskManager({
6164
6191
  parentNode: this.getParentNode(options == null ? void 0 : options.transfer),
6165
6192
  popInstance: this,
6166
6193
  onClick: this.onMaskClickFn
6167
6194
  });
6168
6195
  }
6196
+ get popInstanceList() {
6197
+ if (!popInstanceStore.has(this.transfer)) {
6198
+ popInstanceStore.set(this.transfer, []);
6199
+ }
6200
+ return popInstanceStore.get(this.transfer);
6201
+ }
6202
+ set popInstanceList(val) {
6203
+ popInstanceStore.set(this.transfer, val);
6204
+ }
6169
6205
  getParentNode(transfer2) {
6170
6206
  if (typeof transfer2 === "string") {
6171
6207
  const target = document.querySelector(transfer2);
@@ -6189,7 +6225,7 @@ class BKPopIndexManager {
6189
6225
  * @param transfer 是否显示在body内(即是否显示在div#app内,默认为false)
6190
6226
  * @returns
6191
6227
  */
6192
- show(content, showMask = true, appendStyle = {}, transfer2 = false, zindex = void 0) {
6228
+ show(content, showMask = true, appendStyle = {}, transfer2 = false, zindex = void 0, onMaskClick) {
6193
6229
  if (!content) {
6194
6230
  console.warn("pop show error: content is null or undefined");
6195
6231
  return;
@@ -6197,9 +6233,20 @@ class BKPopIndexManager {
6197
6233
  const zIndex = typeof zindex === "number" ? zindex : bkZIndexManager.getModalNextIndex();
6198
6234
  const uuid2 = random(16);
6199
6235
  content.setAttribute(this.uuidAttrName, uuid2);
6236
+ if (this.popInstanceList.length > 0) {
6237
+ showMask && this.bKMaskManagerInstance.backupContentElement(this.popInstanceList.slice(-1)[0].content);
6238
+ }
6200
6239
  this.popInstanceList.push({ uuid: uuid2, zIndex, content, showMask, appendStyle });
6201
- showMask && this.bKMaskManagerInstance.backupActiveInstance();
6202
- this.bKMaskManagerInstance.show(content, zIndex, showMask, appendStyle, uuid2, transfer2);
6240
+ this.bKMaskManagerInstance.show(
6241
+ content,
6242
+ zIndex,
6243
+ showMask,
6244
+ appendStyle,
6245
+ uuid2,
6246
+ transfer2,
6247
+ onMaskClick,
6248
+ this.uniqId
6249
+ );
6203
6250
  }
6204
6251
  /**
6205
6252
  * 销毁指定实例
@@ -6224,7 +6271,13 @@ class BKPopIndexManager {
6224
6271
  if (this.popInstanceList.length) {
6225
6272
  const activeItem = this.popInstanceList.slice(-1)[0];
6226
6273
  const { zIndex, content, showMask, appendStyle, uuid: uuid2 } = activeItem;
6227
- this.bKMaskManagerInstance.show(content, zIndex, showMask, appendStyle, uuid2);
6274
+ this.bKMaskManagerInstance.show(
6275
+ content,
6276
+ zIndex,
6277
+ showMask,
6278
+ appendStyle,
6279
+ uuid2
6280
+ );
6228
6281
  } else {
6229
6282
  this.bKMaskManagerInstance.hide();
6230
6283
  }
@@ -6252,6 +6305,7 @@ class BKPopIndexManager {
6252
6305
  } else {
6253
6306
  content == null ? void 0 : content.remove();
6254
6307
  }
6308
+ this.bKMaskManagerInstance.removeClickEvent();
6255
6309
  }
6256
6310
  onMaskClickFn(e3) {
6257
6311
  if (this.clickFn) {
@@ -13234,7 +13288,6 @@ const usePopperId = (props2, prefix = "#") => {
13234
13288
  if (!/^body$/i.test(props2.boundary)) {
13235
13289
  if (typeof props2.boundary === "string") {
13236
13290
  if (!isAvailableId(props2.boundary)) {
13237
- console.error("props.boundary is not available selector");
13238
13291
  resolvedBoundary = "body";
13239
13292
  return;
13240
13293
  }
@@ -15491,14 +15544,13 @@ const Component$t = /* @__PURE__ */ vue.defineComponent({
15491
15544
  var _a, _b;
15492
15545
  if (val) {
15493
15546
  this.$nextTick(() => {
15494
- this.bkPopIndexManager.onMaskClick((_e) => {
15495
- this.handleClickOutSide();
15496
- }, this.$el);
15497
15547
  const hideMaskStyle = {
15498
15548
  "background-color": "rgba(0,0,0,0)"
15499
15549
  };
15500
15550
  const appendStyle = this.showMask ? {} : hideMaskStyle;
15501
- this.bkPopIndexManager.show(this.$el, this.showMask, appendStyle, !!this.transfer, this.zIndex);
15551
+ this.bkPopIndexManager.show(this.$el, this.showMask, appendStyle, !!this.transfer, this.zIndex, (_e) => {
15552
+ this.handleClickOutSide();
15553
+ });
15502
15554
  this.$emit("shown");
15503
15555
  });
15504
15556
  } else {
@@ -18640,6 +18692,7 @@ const Component$j = /* @__PURE__ */ vue.defineComponent({
18640
18692
  emit
18641
18693
  }) {
18642
18694
  const handleClose = async () => {
18695
+ console.log("slider handleClose");
18643
18696
  let shouldClose = true;
18644
18697
  if (typeof props2.beforeClose === "function") {
18645
18698
  shouldClose = await props2.beforeClose();
@@ -21197,7 +21250,6 @@ const HeadFilter = /* @__PURE__ */ vue.defineComponent({
21197
21250
  setup(props2, {
21198
21251
  emit
21199
21252
  }) {
21200
- var _a;
21201
21253
  const {
21202
21254
  resolveClassName: resolveClassName2
21203
21255
  } = usePrefix();
@@ -21208,7 +21260,10 @@ const HeadFilter = /* @__PURE__ */ vue.defineComponent({
21208
21260
  const {
21209
21261
  filter
21210
21262
  } = vue.toRefs(props2.column);
21211
- const checked = vue.ref(((_a = filter.value) == null ? void 0 : _a.checked) ?? []);
21263
+ const checked = vue.computed(() => {
21264
+ var _a;
21265
+ return ((_a = filter.value) == null ? void 0 : _a.checked) ?? [];
21266
+ });
21212
21267
  const state = vue.reactive({
21213
21268
  isOpen: false,
21214
21269
  checked: checked.value
@@ -21694,7 +21749,7 @@ const useFixedColumn = (props2, colgroups, hasScrollY) => {
21694
21749
  }
21695
21750
  const fixedOffset = {
21696
21751
  left: 0,
21697
- right: hasScrollY2 ? SCROLLY_WIDTH : 0
21752
+ right: hasScrollY2 ? SCROLLY_WIDTH : -1
21698
21753
  };
21699
21754
  const fixedPos = resolveFixColPos(column);
21700
21755
  fixedOffset[fixedPos] = getPreColumnOffset(fixedPos, column, fixedOffset[fixedPos]);
@@ -21750,12 +21805,13 @@ class TableRender {
21750
21805
  }
21751
21806
  return resolvePropVal(this.props, "rowHeight", ["tbody", row, rowIndex]);
21752
21807
  });
21753
- __publicField(this, "getColumnClass", (column, colIndex) => [{
21808
+ __publicField(this, "getColumnClass", (column, colIndex) => ({
21754
21809
  [`${this.uuid}-column-${colIndex}`]: true,
21755
21810
  column_fixed: !!column.fixed,
21756
21811
  column_fixed_left: !!column.fixed,
21757
- column_fixed_right: column.fixed === "right"
21758
- }, column.className]);
21812
+ column_fixed_right: column.fixed === "right",
21813
+ [`${column.className}`]: true
21814
+ }));
21759
21815
  __publicField(this, "getHeadColumnClass", (column, colIndex) => ({
21760
21816
  ...this.getColumnClass(column, colIndex),
21761
21817
  active: this.isColActive(colIndex)
@@ -22061,13 +22117,16 @@ class TableRender {
22061
22117
  return vue.createVNode(vue.Fragment, null, [vue.createVNode("thead", {
22062
22118
  "style": rowStyle
22063
22119
  }, [vue.createVNode(TableRow, null, {
22064
- default: () => [vue.createVNode("tr", null, [this.filterColGroups.map((column, index2) => vue.createVNode("th", vue.mergeProps({
22065
- "colspan": 1,
22066
- "rowspan": 1,
22067
- "class": [this.getHeadColumnClass(column, index2), this.getColumnCustomClass(column), column.align || this.props.headerAlign || this.props.align],
22068
- "style": resolveFixedColumnStyle(column, this.styleRef.value.hasScrollY),
22069
- "onClick": () => this.handleColumnHeadClick(index2, column)
22070
- }, resolveEventListener(column)), [renderHeadCell(column, index2)])), getScrollFix()])]
22120
+ default: () => [vue.createVNode("tr", null, [this.filterColGroups.map((column, index2) => {
22121
+ console.log("getHeadColumnClass", column, index2, this.getHeadColumnClass(column, index2));
22122
+ return vue.createVNode("th", vue.mergeProps({
22123
+ "colspan": 1,
22124
+ "rowspan": 1,
22125
+ "class": [this.getHeadColumnClass(column, index2), this.getColumnCustomClass(column), column.align || this.props.headerAlign || this.props.align],
22126
+ "style": resolveFixedColumnStyle(column, this.styleRef.value.hasScrollY),
22127
+ "onClick": () => this.handleColumnHeadClick(index2, column)
22128
+ }, resolveEventListener(column)), [renderHeadCell(column, index2)]);
22129
+ }), getScrollFix()])]
22071
22130
  })])]);
22072
22131
  }
22073
22132
  /**
@@ -22592,15 +22651,6 @@ const useClass = (props2, targetColumns, root, reactiveProp, pageData) => {
22592
22651
  "has-settings": !!props2.settings
22593
22652
  });
22594
22653
  const resolvedColumns = vue.computed(() => getColumns());
22595
- const offsetXVarStyle = vue.computed(() => ({
22596
- "--var-scroll-left": `${reactiveProp.scrollTranslateX}px`,
22597
- "--var-scroll-top": `${reactiveProp.scrollTranslateY}px`
22598
- }));
22599
- const headOffsetXVarStyle = vue.computed(() => ({
22600
- "--var-scroll-left": `${reactiveProp.scrollTranslateX}px`,
22601
- "--var-scroll-top": "0px",
22602
- right: hasScrollYRef.value ? `${SCROLLY_WIDTH - 2}px` : "0px"
22603
- }));
22604
22654
  const config = resolveHeadConfig(props2);
22605
22655
  const headStyle = vue.computed(() => ({
22606
22656
  "--row-height": `${resolvePropVal(config, "height", ["thead"])}px`,
@@ -22714,8 +22764,6 @@ const useClass = (props2, targetColumns, root, reactiveProp, pageData) => {
22714
22764
  wrapperStyle,
22715
22765
  contentStyle,
22716
22766
  headStyle,
22717
- offsetXVarStyle,
22718
- headOffsetXVarStyle,
22719
22767
  resetTableHeight,
22720
22768
  updateBorderClass,
22721
22769
  getColumnsWidthOffsetWidth,
@@ -23132,8 +23180,6 @@ const Component$f = /* @__PURE__ */ vue.defineComponent({
23132
23180
  contentStyle,
23133
23181
  headStyle,
23134
23182
  hasScrollYRef,
23135
- offsetXVarStyle,
23136
- headOffsetXVarStyle,
23137
23183
  updateBorderClass,
23138
23184
  resetTableHeight,
23139
23185
  getColumnsWidthOffsetWidth,
@@ -23314,8 +23360,9 @@ const Component$f = /* @__PURE__ */ vue.defineComponent({
23314
23360
  if (!root.value) {
23315
23361
  return;
23316
23362
  }
23317
- if (props2.height === "100%" || props2.height === "auto")
23318
- ;
23363
+ if (props2.height === "100%" || props2.height === "auto") {
23364
+ resetTableHeight(root.value);
23365
+ }
23319
23366
  updateBorderClass(root.value);
23320
23367
  const offset2 = getColumnsWidthOffsetWidth();
23321
23368
  resolveColumnWidth(root.value, colgroups, 20, offset2);
@@ -23375,6 +23422,10 @@ const Component$f = /* @__PURE__ */ vue.defineComponent({
23375
23422
  const footerStyle = vue.computed(() => ({
23376
23423
  "--footer-height": hasFooter.value ? `${props2.paginationHeight}px` : "0"
23377
23424
  }));
23425
+ const fixedContainerStyle = vue.computed(() => ({
23426
+ right: hasScrollYRef.value ? `${SCROLLY_WIDTH}px` : 0,
23427
+ ...footerStyle.value
23428
+ }));
23378
23429
  const {
23379
23430
  renderScrollLoading
23380
23431
  } = useScrollLoading(props2, ctx);
@@ -23389,25 +23440,6 @@ const Component$f = /* @__PURE__ */ vue.defineComponent({
23389
23440
  zIndex: 2,
23390
23441
  ...props2.prependStyle || {}
23391
23442
  }));
23392
- const renderFixedColumns = () => fixedColumns.value.map(({
23393
- isExist,
23394
- colPos,
23395
- column
23396
- }) => isExist ? "" : vue.createVNode("div", {
23397
- "class": resolveColumnClass(column, reactiveSchema.scrollTranslateX, tableOffsetRight.value),
23398
- "style": resolveColumnStyle(colPos)
23399
- }, null));
23400
- const renderBodyAppend = () => vue.createVNode(vue.Fragment, null, [vue.createVNode("div", {
23401
- "class": fixedBottomBorder.value
23402
- }, null), vue.createVNode("div", {
23403
- "class": fixedWrapperClass,
23404
- "style": offsetXVarStyle.value
23405
- }, [renderFixedColumns(), vue.createVNode("div", {
23406
- "class": resizeColumnClass,
23407
- "style": resizeColumnStyle.value
23408
- }, null), vue.createVNode("div", {
23409
- "class": loadingRowClass
23410
- }, [renderScrollLoading()])])]);
23411
23443
  const renderPrepend = () => {
23412
23444
  if (ctx.slots.prepend) {
23413
23445
  return vue.createVNode("div", {
@@ -23428,10 +23460,7 @@ const Component$f = /* @__PURE__ */ vue.defineComponent({
23428
23460
  vue.createVNode("div", {
23429
23461
  "class": headClass,
23430
23462
  "style": headStyle.value
23431
- }, [[tableRender.renderTableHeadSchema(), vue.createVNode("div", {
23432
- "class": fixedWrapperClass,
23433
- "style": headOffsetXVarStyle.value
23434
- }, [renderFixedColumns()])]]),
23463
+ }, [tableRender.renderTableHeadSchema()]),
23435
23464
  vue.createVNode(BkVirtualRender, vue.mergeProps({
23436
23465
  "ref": refVirtualRender,
23437
23466
  "lineHeight": tableRender.getRowHeight,
@@ -23449,8 +23478,26 @@ const Component$f = /* @__PURE__ */ vue.defineComponent({
23449
23478
  }), {
23450
23479
  beforeContent: () => renderPrepend(),
23451
23480
  default: (scope) => tableRender.renderTableBodySchema(scope.data || pageData),
23452
- afterSection: () => renderBodyAppend()
23481
+ afterSection: () => vue.createVNode("div", {
23482
+ "class": fixedBottomBorder.value
23483
+ }, null)
23453
23484
  }),
23485
+ vue.createVNode("div", {
23486
+ "class": fixedWrapperClass,
23487
+ "style": fixedContainerStyle.value
23488
+ }, [fixedColumns.value.map(({
23489
+ isExist,
23490
+ colPos,
23491
+ column
23492
+ }) => isExist ? "" : vue.createVNode("div", {
23493
+ "class": resolveColumnClass(column, reactiveSchema.scrollTranslateX, tableOffsetRight.value),
23494
+ "style": resolveColumnStyle(colPos)
23495
+ }, null)), vue.createVNode("div", {
23496
+ "class": resizeColumnClass,
23497
+ "style": resizeColumnStyle.value
23498
+ }, null), vue.createVNode("div", {
23499
+ "class": loadingRowClass
23500
+ }, [renderScrollLoading()])]),
23454
23501
  vue.createVNode("div", {
23455
23502
  "class": footerClass.value,
23456
23503
  "style": footerStyle.value
@@ -26146,9 +26193,13 @@ const MessageConstructor = /* @__PURE__ */ vue.defineComponent({
26146
26193
  offsetWidth,
26147
26194
  offsetTop
26148
26195
  } = e3.trigger;
26196
+ const msgTree = e3.trigger.closest(".message-tree");
26197
+ const msgTreeScrollTop = msgTree ? msgTree.scrollTop : 0;
26149
26198
  target.classList.remove(...["success", "error", "is-hidden"]);
26150
26199
  target.classList.add(...[theme, "is-show"]);
26151
- target.style.setProperty("transform", `translate(${offsetLeft + offsetWidth / 2 - 41}px, ${offsetTop - 40}px`);
26200
+ const transX = offsetLeft + offsetWidth / 2 - 41;
26201
+ const transY = offsetTop - msgTreeScrollTop - 40;
26202
+ target.style.setProperty("transform", `translate(${transX}px, ${transY}px`);
26152
26203
  copyStatusTimer && clearTimeout(copyStatusTimer);
26153
26204
  copyStatusTimer = setTimeout(() => {
26154
26205
  target.classList.remove(...["is-show"]);