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