@fox-js/foxui-pc 4.1.1-7 → 4.1.1-9

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.
package/dist/index.cjs.js CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  /*!
3
- * @fox-js/foxui-desktop v4.0.0 Wed Nov 13 2024 22:02:56 GMT+0800 (中国标准时间)
3
+ * @fox-js/foxui-desktop v4.0.0 Mon Dec 02 2024 10:29:50 GMT+0800 (中国标准时间)
4
4
  */
5
5
  'use strict';
6
6
 
@@ -7909,14 +7909,17 @@ const DateUtils = {
7909
7909
  * 返回日期格式字符串
7910
7910
  * @param {Number} 0返回今天的日期、1返回明天的日期,2返回后天得日期,依次类推
7911
7911
  * @param {Date} 起点日期
7912
+ * @param {formatTemplate} 格式化模版
7912
7913
  * @return {string} '2014-12-31'
7914
+ *
7913
7915
  */
7914
- getDay(i, startDate) {
7916
+ getDay(i, startDate, formatTemplate) {
7915
7917
  i = i || 0;
7916
7918
  let date = startDate ?? /* @__PURE__ */ new Date();
7917
7919
  const diff = i * (1e3 * 60 * 60 * 24);
7918
7920
  date = new Date(date.getTime() + diff);
7919
- return this.date2Str(date);
7921
+ formatTemplate = formatTemplate ?? "YYYY-MM-DD";
7922
+ return this.format(date, formatTemplate);
7920
7923
  },
7921
7924
  /**
7922
7925
  * 时间比较
@@ -11861,6 +11864,10 @@ const tableProps = {
11861
11864
  params: {
11862
11865
  type: [Object]
11863
11866
  },
11867
+ // row class name
11868
+ rowClassName: {
11869
+ type: Function
11870
+ },
11864
11871
  // cell class name
11865
11872
  cellClassName: {
11866
11873
  type: Function
@@ -12098,7 +12105,7 @@ function component$l(componentName, scope, Item) {
12098
12105
  // setup
12099
12106
  setup(props, context) {
12100
12107
  const { locale } = i18n.useFoxI18n(scope);
12101
- const { emitEvent } = defineItem(
12108
+ const { emitEvent, broadcast } = defineItem(
12102
12109
  {
12103
12110
  componentName,
12104
12111
  // 获取value
@@ -12369,6 +12376,7 @@ function component$l(componentName, scope, Item) {
12369
12376
  expandedRows.splice(0, size, row);
12370
12377
  }
12371
12378
  }
12379
+ setTimeout(setChildCellClassNames, 0);
12372
12380
  };
12373
12381
  const settingId = context.attrs.id ?? props.prop ?? context.attrs.name;
12374
12382
  const settingModel = useSettingModel();
@@ -12466,10 +12474,14 @@ function component$l(componentName, scope, Item) {
12466
12474
  return cols;
12467
12475
  });
12468
12476
  const cellClassNames = vue.shallowRef(/* @__PURE__ */ new Map());
12469
- const defaultCellClassName = ({ column, rowIndex }) => {
12470
- const key = `${rowIndex}_${column.property}`;
12471
- const cellClassName = cellClassNames.value.get(key) ?? "";
12472
- return cellClassName;
12477
+ const defaultCellClassName = ({ row, column, rowIndex, columnIndex }) => {
12478
+ const rowIndexColumnPropkey = `${rowIndex}_${column.property}`;
12479
+ const indexKey = `${rowIndex}_${columnIndex}`;
12480
+ let cellClassName = cellClassNames.value.get(rowIndexColumnPropkey);
12481
+ if (!cellClassName) {
12482
+ cellClassName = cellClassNames.value.get(indexKey);
12483
+ }
12484
+ return cellClassName ?? "";
12473
12485
  };
12474
12486
  const getCellClassNameProperty = (clsName) => {
12475
12487
  if (typeof clsName === "function") {
@@ -12491,8 +12503,20 @@ function component$l(componentName, scope, Item) {
12491
12503
  }
12492
12504
  return defaultCellClassName;
12493
12505
  };
12494
- const setCellClassName = (rowIndex, columnName, cellClassName) => {
12495
- const key = `${rowIndex}_${columnName}`;
12506
+ const setChildCellClassNames = () => {
12507
+ cellClassNames.value.entries().forEach(([key, value]) => {
12508
+ const name = `${key}_item`;
12509
+ broadcast.emitToChildren(
12510
+ {
12511
+ name
12512
+ },
12513
+ "setCustomClassName",
12514
+ value
12515
+ );
12516
+ });
12517
+ };
12518
+ const setCellClassName = (rowIndex, column, cellClassName) => {
12519
+ const key = `${rowIndex}_${column}`;
12496
12520
  if (cellClassName) {
12497
12521
  cellClassNames.value.set(key, cellClassName);
12498
12522
  } else {
@@ -12500,6 +12524,49 @@ function component$l(componentName, scope, Item) {
12500
12524
  }
12501
12525
  vue.triggerRef(cellClassNames);
12502
12526
  };
12527
+ const clearCellClassName = () => {
12528
+ cellClassNames.value.clear();
12529
+ vue.triggerRef(cellClassNames);
12530
+ };
12531
+ const rowClassNames = vue.shallowRef(/* @__PURE__ */ new Map());
12532
+ const defaultRowClassName = ({ rowIndex }) => {
12533
+ const key = `${rowIndex}`;
12534
+ const rowClassName = cellClassNames.value.get(key) ?? "";
12535
+ return rowClassName;
12536
+ };
12537
+ const getRowClassNameProperty = (clsName) => {
12538
+ if (typeof clsName === "function") {
12539
+ return (args) => {
12540
+ const ret = [];
12541
+ let s = defaultRowClassName(args);
12542
+ if (s) {
12543
+ ret.push(s);
12544
+ }
12545
+ s = clsName(args);
12546
+ if (s) {
12547
+ ret.push(s);
12548
+ }
12549
+ if (ret.length === 0) {
12550
+ return "";
12551
+ }
12552
+ return ret.join(" ");
12553
+ };
12554
+ }
12555
+ return defaultRowClassName;
12556
+ };
12557
+ const setRowClassName = (rowIndex, rowClassName) => {
12558
+ const key = `${rowIndex}`;
12559
+ if (rowClassName) {
12560
+ rowClassNames.value.set(key, rowClassName);
12561
+ } else {
12562
+ rowClassNames.value.delete(key);
12563
+ }
12564
+ vue.triggerRef(rowClassNames);
12565
+ };
12566
+ const clearRowClassName = () => {
12567
+ rowClassNames.value.clear();
12568
+ vue.triggerRef(rowClassNames);
12569
+ };
12503
12570
  const tableRef = vue.ref();
12504
12571
  useExpose({
12505
12572
  // 清空selection
@@ -12613,7 +12680,13 @@ function component$l(componentName, scope, Item) {
12613
12680
  // 移除列属性配置
12614
12681
  removeColumnSetting,
12615
12682
  // 设置cell class name
12616
- setCellClassName
12683
+ setCellClassName,
12684
+ // 清空cell className
12685
+ clearCellClassName,
12686
+ // 设置row class name
12687
+ setRowClassName,
12688
+ // 清空row class name
12689
+ clearRowClassName
12617
12690
  });
12618
12691
  return () => {
12619
12692
  const attrs = filterInheritAttr(context.attrs);
@@ -12625,7 +12698,8 @@ function component$l(componentName, scope, Item) {
12625
12698
  data: source.value,
12626
12699
  ref: tableRef,
12627
12700
  class: classes.value,
12628
- [`cell-class-name`]: getCellClassNameProperty(props.cellClassName)
12701
+ [`cell-class-name`]: getCellClassNameProperty(props.cellClassName),
12702
+ [`row-class-name`]: getRowClassNameProperty(props.rowClassName)
12629
12703
  };
12630
12704
  const tableChildren = {};
12631
12705
  if (context.slots.default) {
@@ -14567,7 +14641,7 @@ const V = ["aria-labelledby"], A = /* @__PURE__ */ vue.createElementVNode("path"
14567
14641
  "fill-opacity": "0.9"
14568
14642
  }, null, -1), F = [
14569
14643
  A
14570
- ], G0 = /* @__PURE__ */ vue.defineComponent({
14644
+ ], X6 = /* @__PURE__ */ vue.defineComponent({
14571
14645
  __name: "Uploader",
14572
14646
  props: {
14573
14647
  class: { type: String, default: "" },
@@ -14605,13 +14679,13 @@ const V = ["aria-labelledby"], A = /* @__PURE__ */ vue.createElementVNode("path"
14605
14679
  role: "presentation"
14606
14680
  }, F, 14, V));
14607
14681
  }
14608
- }), P3 = ["aria-labelledby"], D3 = /* @__PURE__ */ vue.createElementVNode("path", {
14682
+ }), L3 = ["aria-labelledby"], B3 = /* @__PURE__ */ vue.createElementVNode("path", {
14609
14683
  d: "M834.7 920.1h-643c-23.7 0-43-19.2-43-43 0-23.7 19.2-43 43-43h643c23.7 0 43 19.2 43 43 0 23.7-19.3 43-43 43zm0-729.2h-643c-23.7 0-43-19.2-43-43 0-23.7 19.2-43 43-43h643c23.7 0 43 19.2 43 43s-19.3 43-43 43zm0 354.6h-643c-23.7 0-43-19.2-43-43 0-23.7 19.2-43 43-43h643c23.7 0 43 19.2 43 43 0 23.7-19.3 43-43 43z",
14610
14684
  fill: "currentColor",
14611
14685
  "fill-opacity": "0.9"
14612
- }, null, -1), H3 = [
14613
- D3
14614
- ], os = /* @__PURE__ */ vue.defineComponent({
14686
+ }, null, -1), V3 = [
14687
+ B3
14688
+ ], ds = /* @__PURE__ */ vue.defineComponent({
14615
14689
  __name: "MoreH",
14616
14690
  props: {
14617
14691
  class: { type: String, default: "" },
@@ -14647,15 +14721,15 @@ const V = ["aria-labelledby"], A = /* @__PURE__ */ vue.createElementVNode("path"
14647
14721
  viewBox: "0 0 1024 1024",
14648
14722
  "aria-labelledby": c.name,
14649
14723
  role: "presentation"
14650
- }, H3, 14, P3));
14724
+ }, V3, 14, L3));
14651
14725
  }
14652
- }), x4 = ["aria-labelledby"], z4 = /* @__PURE__ */ vue.createElementVNode("path", {
14726
+ }), C4 = ["aria-labelledby"], v4 = /* @__PURE__ */ vue.createElementVNode("path", {
14653
14727
  d: "M784 902.4c9.6 19.2 6.4 41.6-12.8 54.4-19.2 9.6-41.6 3.2-51.2-12.8-9.6-19.2-6.4-41.6 12.8-54.4 16-12.8 38.4-8 51.2 12.8zM550.4 984c0 22.4-16 38.4-38.4 38.4s-38.4-16-38.4-38.4v-24c0-22.4 19.2-38.4 41.6-38.4 19.2 0 35.2 16 38.4 38.4v25.6h-3.2zm-240-43.2c-9.6 19.2-35.2 25.6-54.4 16-19.2-9.6-25.6-35.2-16-51.2l28.8-51.2c9.6-19.2 35.2-25.6 54.4-16s25.6 35.2 12.8 54.4l-25.6 48zM121.6 784c-19.2 9.6-41.6 3.2-54.4-16-9.6-19.2-6.4-41.6 12.8-54.4l76.8-44.8c19.2-9.6 41.6-3.2 54.4 16 9.6 19.2 3.2 41.6-16 54.4L121.6 784zM38.4 552C16 552 0 536 0 513.6s16-38.4 38.4-38.4H160c22.4 0 38.4 19.2 38.4 38.4 0 22.4-16 38.4-38.4 38.4H38.4zm44.8-241.6c-19.2-9.6-25.6-35.2-16-51.2 9.6-19.2 35.2-25.6 54.4-16L256 320c19.2 9.6 25.6 35.2 16 54.4s-35.2 25.6-54.4 16l-134.4-80zm160-185.6 92.8 160c9.6 19.2 35.2 25.6 54.4 12.8s25.6-35.2 12.8-54.4l-92.8-160C297.6 64 275.2 60.8 256 70.4c-16 12.8-22.4 33.6-12.8 54.4zM473.6 40c0-22.4 16-38.4 38.4-38.4s38.4 19.2 38.4 38.4v184c0 22.4-19.2 38.4-38.4 38.4-22.4 0-38.4-19.2-38.4-38.4V40zm240 43.2c9.6-19.2 35.2-25.6 54.4-16 19.2 9.6 25.6 35.2 16 51.2l-92.8 160c-9.6 19.2-35.2 25.6-54.4 16-19.2-9.6-25.6-35.2-12.8-54.4l89.6-156.8zm188.8 160-160 92.8c-19.2 9.6-25.6 35.2-16 54.4 12.8 19.2 35.2 25.6 54.4 12.8l160-92.8c19.2-9.6 25.6-35.2 12.8-54.4-9.6-16-32-25.6-51.2-12.8zM985.6 472c22.4 0 38.4 16 38.4 38.4s-16 38.4-38.4 38.4H800c-22.4 0-38.4-19.2-38.4-38.4 0-22.4 19.2-38.4 38.4-38.4h185.6z",
14654
14728
  fill: "currentColor",
14655
14729
  "fill-opacity": "0.9"
14656
- }, null, -1), N4 = [
14657
- z4
14658
- ], zs = /* @__PURE__ */ vue.defineComponent({
14730
+ }, null, -1), $4 = [
14731
+ v4
14732
+ ], $s = /* @__PURE__ */ vue.defineComponent({
14659
14733
  __name: "Loading",
14660
14734
  props: {
14661
14735
  class: { type: String, default: "" },
@@ -14691,15 +14765,15 @@ const V = ["aria-labelledby"], A = /* @__PURE__ */ vue.createElementVNode("path"
14691
14765
  viewBox: "0 0 1024 1024",
14692
14766
  "aria-labelledby": c.name,
14693
14767
  role: "presentation"
14694
- }, N4, 14, x4));
14768
+ }, $4, 14, C4));
14695
14769
  }
14696
- }), g6 = ["aria-labelledby"], f6 = /* @__PURE__ */ vue.createElementVNode("path", {
14770
+ }), _0 = ["aria-labelledby"], w0 = /* @__PURE__ */ vue.createElementVNode("path", {
14697
14771
  d: "M981.577 1024c-11.703 0-23.406-2.926-32.183-11.703L13.166 76.07c-14.629-17.555-14.629-46.812 0-64.366 17.554-14.629 46.811-14.629 64.365 0L1013.76 947.93c17.554 17.555 17.554 43.886 0 61.44-8.777 11.703-20.48 14.629-32.183 14.629zm-936.228 0c-11.703 0-23.406-2.926-32.183-11.703-17.555-17.554-17.555-43.886 0-61.44L949.394 14.63c17.555-17.555 43.886-17.555 61.44 0 17.555 17.554 17.555 43.885 0 61.44L74.606 1012.297C68.754 1021.074 57.05 1024 45.349 1024z",
14698
14772
  fill: "currentColor",
14699
14773
  "fill-opacity": "0.9"
14700
- }, null, -1), y6 = [
14701
- f6
14702
- ], S7 = /* @__PURE__ */ vue.defineComponent({
14774
+ }, null, -1), S0 = [
14775
+ w0
14776
+ ], N7 = /* @__PURE__ */ vue.defineComponent({
14703
14777
  __name: "Close",
14704
14778
  props: {
14705
14779
  class: { type: String, default: "" },
@@ -14735,15 +14809,15 @@ const V = ["aria-labelledby"], A = /* @__PURE__ */ vue.createElementVNode("path"
14735
14809
  viewBox: "0 0 1026 1024",
14736
14810
  "aria-labelledby": c.name,
14737
14811
  role: "presentation"
14738
- }, y6, 14, g6));
14812
+ }, S0, 14, _0));
14739
14813
  }
14740
- }), P6 = ["aria-labelledby"], D6 = /* @__PURE__ */ vue.createElementVNode("path", {
14814
+ }), L0 = ["aria-labelledby"], B0 = /* @__PURE__ */ vue.createElementVNode("path", {
14741
14815
  d: "M159.289 500.622c62.578 0 125.155 17.067 221.867 102.4 8.533 5.69 19.91 5.69 25.6 0 48.355-54.044 238.933-261.689 455.11-329.955 0 0 28.445-5.69 42.667 19.91 8.534 17.067 19.911 34.134-5.689 54.045-22.755 17.067-264.533 179.2-440.888 440.89l-2.845 2.844c-11.378 8.533-68.267 51.2-119.467-14.223-56.888-71.11-85.333-139.377-196.266-196.266-2.845 0-2.845-2.845-5.69-5.69-11.377-11.377-54.044-73.955 25.6-73.955z",
14742
14816
  fill: "currentColor",
14743
14817
  "fill-opacity": "0.9"
14744
- }, null, -1), H6 = [
14745
- D6
14746
- ], C7 = /* @__PURE__ */ vue.defineComponent({
14818
+ }, null, -1), V0 = [
14819
+ B0
14820
+ ], M7 = /* @__PURE__ */ vue.defineComponent({
14747
14821
  __name: "Checklist",
14748
14822
  props: {
14749
14823
  class: { type: String, default: "" },
@@ -14779,15 +14853,15 @@ const V = ["aria-labelledby"], A = /* @__PURE__ */ vue.createElementVNode("path"
14779
14853
  viewBox: "0 0 1024 1024",
14780
14854
  "aria-labelledby": c.name,
14781
14855
  role: "presentation"
14782
- }, H6, 14, P6));
14856
+ }, V0, 14, L0));
14783
14857
  }
14784
- }), b0 = ["aria-labelledby"], x0 = /* @__PURE__ */ vue.createElementVNode("path", {
14858
+ }), N6 = ["aria-labelledby"], C6 = /* @__PURE__ */ vue.createElementVNode("path", {
14785
14859
  d: "m387.547 980.846 305.006-397.532a117.102 117.102 0 0 0 0-142.628L387.584 43.154a44.837 44.837 0 0 0-71.131 54.492l305.042 397.568a27.538 27.538 0 0 1 0 33.572L316.489 926.318a44.8 44.8 0 0 0 71.058 54.564",
14786
14860
  fill: "currentColor",
14787
14861
  "fill-opacity": "0.9"
14788
- }, null, -1), z0 = [
14789
- x0
14790
- ], U7 = /* @__PURE__ */ vue.defineComponent({
14862
+ }, null, -1), v6 = [
14863
+ C6
14864
+ ], J7 = /* @__PURE__ */ vue.defineComponent({
14791
14865
  __name: "ArrowRight",
14792
14866
  props: {
14793
14867
  class: { type: String, default: "" },
@@ -14823,7 +14897,7 @@ const V = ["aria-labelledby"], A = /* @__PURE__ */ vue.createElementVNode("path"
14823
14897
  viewBox: "0 0 1024 1024",
14824
14898
  "aria-labelledby": c.name,
14825
14899
  role: "presentation"
14826
- }, z0, 14, b0));
14900
+ }, v6, 14, N6));
14827
14901
  }
14828
14902
  });
14829
14903
 
@@ -15368,7 +15442,7 @@ function component$f(componentName, scope, MoreIcon, taro = false) {
15368
15442
  }
15369
15443
 
15370
15444
  const { create: create$k, componentName: componentName$j, scope: scope$h } = createComponent("tabs-bar");
15371
- const _sfc_main$k = create$k(component$f(componentName$j, scope$h, os, false));
15445
+ const _sfc_main$k = create$k(component$f(componentName$j, scope$h, ds, false));
15372
15446
 
15373
15447
  const TabsStatesKey = Symbol("TabsStatesKey");
15374
15448
  const tabsContainerProps = {
@@ -15631,7 +15705,7 @@ function component$d(componentName, scope, LoadingIcon) {
15631
15705
  }
15632
15706
 
15633
15707
  const { create: create$i, componentName: componentName$h, scope: scope$f } = createComponent("tabs-pane");
15634
- const _sfc_main$i = create$i(component$d(componentName$h, scope$f, zs));
15708
+ const _sfc_main$i = create$i(component$d(componentName$h, scope$f, $s));
15635
15709
 
15636
15710
  const stepBarProps = {
15637
15711
  // 步骤栏方向
@@ -16278,7 +16352,7 @@ function component$c(componentName, scope, DoneIcon, MarkIcon) {
16278
16352
  }
16279
16353
 
16280
16354
  const { componentName: componentName$g, create: create$h, scope: scope$e } = createComponent("steps-bar");
16281
- const _sfc_main$h = create$h(component$c(componentName$g, scope$e, C7, U7));
16355
+ const _sfc_main$h = create$h(component$c(componentName$g, scope$e, M7, J7));
16282
16356
 
16283
16357
  const InnerPageScopeKey$1 = Symbol.for("InnerPageScopeKey");
16284
16358
  const PageWrapperKey$1 = Symbol.for("PageWrapperKey");
@@ -16286,14 +16360,22 @@ function component$b(componentName, scope) {
16286
16360
  return {
16287
16361
  // 属性
16288
16362
  props: {
16363
+ // class
16364
+ class: {
16365
+ type: [String]
16366
+ },
16289
16367
  // 标题
16290
16368
  title: {
16291
16369
  type: [String]
16292
16370
  },
16371
+ // 隐藏header
16372
+ hideHeader: {
16373
+ type: [Boolean]
16374
+ },
16293
16375
  // 是否可拖动
16294
16376
  draggable: {
16295
16377
  type: [Boolean],
16296
- default: true
16378
+ default: () => true
16297
16379
  },
16298
16380
  // 是否加入body
16299
16381
  appendToBody: {
@@ -16303,12 +16385,12 @@ function component$b(componentName, scope) {
16303
16385
  // 是否可以通过点击 modal 关闭 Dialog
16304
16386
  closeOnClickModal: {
16305
16387
  type: [Boolean],
16306
- default: false
16388
+ default: () => false
16307
16389
  },
16308
16390
  // 是否可以通过按下 ESC 关闭 Dialog
16309
16391
  closeOnPressEscape: {
16310
16392
  type: [Boolean],
16311
- default: true
16393
+ default: () => true
16312
16394
  }
16313
16395
  },
16314
16396
  // setup
@@ -16327,7 +16409,7 @@ function component$b(componentName, scope) {
16327
16409
  };
16328
16410
  return () => {
16329
16411
  const attrs = context.attrs;
16330
- const dialogData = {
16412
+ const data = {
16331
16413
  ...attrs,
16332
16414
  title: props.title,
16333
16415
  draggable: props.draggable,
@@ -16338,12 +16420,19 @@ function component$b(componentName, scope) {
16338
16420
  "close-on-press-escape": props.closeOnPressEscape,
16339
16421
  "before-close": beforeClose
16340
16422
  };
16423
+ const classes = ["fox-dialog-item "];
16424
+ if (props.hideHeader) {
16425
+ classes.push("hide-header");
16426
+ }
16427
+ if (props.class) {
16428
+ classes.push(props.class);
16429
+ }
16430
+ data.class = classes.join(" ");
16341
16431
  const children = {};
16342
16432
  if (typeof context.slots.default === "function") {
16343
- const node = context.slots.default();
16344
- children.default = () => node;
16433
+ children.default = context.slots.default;
16345
16434
  }
16346
- return vue.h(elementPlus.ElDialog, dialogData, children);
16435
+ return vue.h(elementPlus.ElDialog, data, children);
16347
16436
  };
16348
16437
  }
16349
16438
  };
@@ -16654,7 +16743,7 @@ const { componentName: componentName$d, create: create$e } = createComponent("po
16654
16743
  const _sfc_main$e = create$e(
16655
16744
  component$a(componentName$d, {
16656
16745
  FoxOverLay: OverLay,
16657
- Close: S7
16746
+ Close: N7
16658
16747
  })
16659
16748
  );
16660
16749
 
@@ -17433,7 +17522,7 @@ function component$8(componentName, scope, Loading) {
17433
17522
  }
17434
17523
 
17435
17524
  const { componentName: componentName$b, create: create$b, scope: scope$b } = createComponent("infinite-loading");
17436
- const _sfc_main$b = create$b(component$8(componentName$b, scope$b, zs));
17525
+ const _sfc_main$b = create$b(component$8(componentName$b, scope$b, $s));
17437
17526
 
17438
17527
  const MIN_DISTANCE = 10;
17439
17528
  function getDirection(x, y) {
@@ -17817,7 +17906,7 @@ const component$7 = (componentName, scope, Loading) => {
17817
17906
  };
17818
17907
 
17819
17908
  const { componentName: componentName$a, create: create$a, scope: scope$a } = createComponent("pull-refresh");
17820
- const _sfc_main$a = create$a(component$7(componentName$a, scope$a, zs));
17909
+ const _sfc_main$a = create$a(component$7(componentName$a, scope$a, $s));
17821
17910
 
17822
17911
  function component$6(componentName, scope) {
17823
17912
  return {
@@ -18713,7 +18802,7 @@ const component$3 = (componentName, scope, addIcon, taro = false) => {
18713
18802
  };
18714
18803
 
18715
18804
  const { componentName: componentName$6, create: create$6, scope: scope$6 } = createComponent("floating-button");
18716
- const _sfc_main$6 = create$6(component$3(componentName$6, scope$6, G0, false));
18805
+ const _sfc_main$6 = create$6(component$3(componentName$6, scope$6, X6, false));
18717
18806
 
18718
18807
  function isWindow(val) {
18719
18808
  return val === window;
@@ -20303,6 +20392,10 @@ const popoverDialogProps = {
20303
20392
  // custom style
20304
20393
  customStyle: {
20305
20394
  type: [Object]
20395
+ },
20396
+ // leave hide(鼠标离开,自动隐藏)
20397
+ leaveHide: {
20398
+ type: [Boolean]
20306
20399
  }
20307
20400
  };
20308
20401
 
@@ -20690,6 +20783,16 @@ function component$2(componentName, scope, taro = false) {
20690
20783
  mounted.value = false;
20691
20784
  }
20692
20785
  };
20786
+ const onMouseleave = (e) => {
20787
+ if (!dialogRef.value || visible.value === false) {
20788
+ return;
20789
+ }
20790
+ const { relatedTarget } = e;
20791
+ if (!dialogRef.value.contains(relatedTarget)) {
20792
+ visible.value = false;
20793
+ emit("update:visible", false);
20794
+ }
20795
+ };
20693
20796
  expose({
20694
20797
  doLayout
20695
20798
  });
@@ -20721,6 +20824,9 @@ function component$2(componentName, scope, taro = false) {
20721
20824
  style: styles.value,
20722
20825
  onAnimationend
20723
20826
  };
20827
+ if (props.leaveHide) {
20828
+ data["onMouseleave"] = onMouseleave;
20829
+ }
20724
20830
  const dialogNode = vue.h("div", data, { default: () => children });
20725
20831
  rootNodes.push(dialogNode);
20726
20832
  return rootNodes;