yc-pro-components 0.0.75 → 0.0.77

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 (176) hide show
  1. package/es/components/check-card/index.d.ts +61 -61
  2. package/es/components/check-card/src/index.vue.d.ts +4 -4
  3. package/es/components/check-card-group/index.d.ts +43 -43
  4. package/es/components/check-card-group/src/index.vue.d.ts +3 -3
  5. package/es/components/date-picker/index.d.ts +30 -30
  6. package/es/components/date-picker/src/index.vue.d.ts +22 -22
  7. package/es/components/dialog/index.d.ts +45 -45
  8. package/es/components/dialog/src/index.vue.d.ts +3 -3
  9. package/es/components/dialog-form/index.d.ts +31 -31
  10. package/es/components/dialog-form/src/index.vue.d.ts +9 -9
  11. package/es/components/display-item/index.d.ts +41 -41
  12. package/es/components/display-item/src/index.vue.d.ts +22 -22
  13. package/es/components/drawer-form/index.d.ts +68 -68
  14. package/es/components/drawer-form/src/index.vue.d.ts +16 -16
  15. package/es/components/form/index.d.ts +71 -71
  16. package/es/components/form/src/form-content.vue.d.ts +21 -21
  17. package/es/components/form/src/index.vue.d.ts +19 -19
  18. package/es/components/form-item/index.d.ts +69 -69
  19. package/es/components/form-item/src/index.vue.d.ts +21 -21
  20. package/es/components/header/index.d.ts +19 -19
  21. package/es/components/header/src/index.vue.d.ts +1 -1
  22. package/es/components/index.mjs +1 -0
  23. package/es/components/input-tag/index.d.ts +15 -15
  24. package/es/components/input-tag/src/index.vue.d.ts +3 -3
  25. package/es/components/layout/index.d.ts +30 -30
  26. package/es/components/layout/src/index.vue.d.ts +10 -10
  27. package/es/components/page/index.d.ts +533 -533
  28. package/es/components/page/src/index.vue.d.ts +181 -181
  29. package/es/components/pagination/index.d.ts +42 -42
  30. package/es/components/pagination/src/index.vue.d.ts +3 -3
  31. package/es/components/radio/index.d.ts +35 -35
  32. package/es/components/radio/src/index.vue.d.ts +27 -27
  33. package/es/components/render/index.d.ts +3 -3
  34. package/es/components/render/src/index.vue.d.ts +1 -1
  35. package/es/components/search/index.d.ts +243 -243
  36. package/es/components/search/src/index.vue.d.ts +73 -73
  37. package/es/components/sidebar/index.d.ts +15 -15
  38. package/es/components/sidebar/src/index.vue.d.ts +5 -5
  39. package/es/components/steps-form/index.d.ts +23 -23
  40. package/es/components/steps-form/src/index.vue.d.ts +2 -2
  41. package/es/components/table/src/table-column.vue.d.ts +37 -37
  42. package/es/components/table/src/table-title-bar.vue.mjs +1 -1
  43. package/es/components/table/src/table-title-bar.vue2.mjs +79 -40
  44. package/es/components/table/src/type.d.ts +17 -0
  45. package/es/components/utils/index.d.ts +2 -2
  46. package/es/components/yc-dialog/index.d.ts +24 -24
  47. package/es/components/yc-download-dialog/index.d.ts +19 -19
  48. package/es/components/yc-download-dialog/src/index.vue.d.ts +1 -1
  49. package/es/components/yc-drawer/src/index.vue.mjs +1 -1
  50. package/es/components/yc-drawer/src/index.vue2.mjs +2 -3
  51. package/es/components/yc-form-container-header/index.d.ts +12 -12
  52. package/es/components/yc-more-actions/index.d.ts +46 -46
  53. package/es/components/yc-more-actions/src/index.vue.d.ts +3 -3
  54. package/es/components/yc-plus-page/index.d.ts +2 -0
  55. package/es/components/yc-plus-page/index.mjs +1 -0
  56. package/es/components/yc-plus-page/src/index.vue.d.ts +436 -361
  57. package/es/components/yc-plus-page/src/index.vue.mjs +1 -1
  58. package/es/components/yc-plus-page/src/index.vue2.mjs +90 -58
  59. package/es/components/yc-plus-page/src/type.d.ts +9 -0
  60. package/es/components/yc-segmented/index.d.ts +2 -2
  61. package/es/components/yc-segmented/src/index.d.ts +2 -2
  62. package/es/components/yc-select-v2/src/index.vue.d.ts +3 -3
  63. package/es/components/yc-status-dialog/src/index.vue.d.ts +1 -1
  64. package/es/components/yc-tabs-with-filter/index.d.ts +16 -16
  65. package/es/components/yc-text/src/index.vue.d.ts +2 -2
  66. package/es/hooks/index.d.ts +1 -0
  67. package/es/hooks/index.mjs +1 -0
  68. package/es/hooks/usePlusFormReset.d.ts +244 -244
  69. package/es/hooks/useTableDragScroll.d.ts +35 -0
  70. package/es/hooks/useTableDragScroll.mjs +201 -0
  71. package/es/index.css +13 -12
  72. package/es/index.mjs +1 -0
  73. package/es/version.d.ts +1 -1
  74. package/es/version.mjs +1 -1
  75. package/es/yc-components/version.d.ts +1 -1
  76. package/index.js +372 -104
  77. package/index.min.css +3 -2
  78. package/index.min.js +12 -11
  79. package/index.min.mjs +12 -11
  80. package/index.mjs +373 -106
  81. package/lib/components/check-card/index.d.ts +61 -61
  82. package/lib/components/check-card/src/index.vue.d.ts +4 -4
  83. package/lib/components/check-card-group/index.d.ts +43 -43
  84. package/lib/components/check-card-group/src/index.vue.d.ts +3 -3
  85. package/lib/components/date-picker/index.d.ts +30 -30
  86. package/lib/components/date-picker/src/index.vue.d.ts +22 -22
  87. package/lib/components/dialog/index.d.ts +45 -45
  88. package/lib/components/dialog/src/index.vue.d.ts +3 -3
  89. package/lib/components/dialog-form/index.d.ts +31 -31
  90. package/lib/components/dialog-form/src/index.vue.d.ts +9 -9
  91. package/lib/components/display-item/index.d.ts +41 -41
  92. package/lib/components/display-item/src/index.vue.d.ts +22 -22
  93. package/lib/components/drawer-form/index.d.ts +68 -68
  94. package/lib/components/drawer-form/src/index.vue.d.ts +16 -16
  95. package/lib/components/form/index.d.ts +71 -71
  96. package/lib/components/form/src/form-content.vue.d.ts +21 -21
  97. package/lib/components/form/src/index.vue.d.ts +19 -19
  98. package/lib/components/form-item/index.d.ts +69 -69
  99. package/lib/components/form-item/src/index.vue.d.ts +21 -21
  100. package/lib/components/header/index.d.ts +19 -19
  101. package/lib/components/header/src/index.vue.d.ts +1 -1
  102. package/lib/components/index.js +2 -0
  103. package/lib/components/input-tag/index.d.ts +15 -15
  104. package/lib/components/input-tag/src/index.vue.d.ts +3 -3
  105. package/lib/components/layout/index.d.ts +30 -30
  106. package/lib/components/layout/src/index.vue.d.ts +10 -10
  107. package/lib/components/page/index.d.ts +533 -533
  108. package/lib/components/page/src/index.vue.d.ts +181 -181
  109. package/lib/components/pagination/index.d.ts +42 -42
  110. package/lib/components/pagination/src/index.vue.d.ts +3 -3
  111. package/lib/components/radio/index.d.ts +35 -35
  112. package/lib/components/radio/src/index.vue.d.ts +27 -27
  113. package/lib/components/render/index.d.ts +3 -3
  114. package/lib/components/render/src/index.vue.d.ts +1 -1
  115. package/lib/components/search/index.d.ts +243 -243
  116. package/lib/components/search/src/index.vue.d.ts +73 -73
  117. package/lib/components/sidebar/index.d.ts +15 -15
  118. package/lib/components/sidebar/src/index.vue.d.ts +5 -5
  119. package/lib/components/steps-form/index.d.ts +23 -23
  120. package/lib/components/steps-form/src/index.vue.d.ts +2 -2
  121. package/lib/components/table/src/table-column.vue.d.ts +37 -37
  122. package/lib/components/table/src/table-title-bar.vue.js +1 -1
  123. package/lib/components/table/src/table-title-bar.vue2.js +78 -39
  124. package/lib/components/table/src/type.d.ts +17 -0
  125. package/lib/components/utils/index.d.ts +2 -2
  126. package/lib/components/yc-dialog/index.d.ts +24 -24
  127. package/lib/components/yc-download-dialog/index.d.ts +19 -19
  128. package/lib/components/yc-download-dialog/src/index.vue.d.ts +1 -1
  129. package/lib/components/yc-drawer/src/index.vue.js +1 -1
  130. package/lib/components/yc-drawer/src/index.vue2.js +2 -3
  131. package/lib/components/yc-form-container-header/index.d.ts +12 -12
  132. package/lib/components/yc-more-actions/index.d.ts +46 -46
  133. package/lib/components/yc-more-actions/src/index.vue.d.ts +3 -3
  134. package/lib/components/yc-plus-page/index.d.ts +2 -0
  135. package/lib/components/yc-plus-page/index.js +2 -0
  136. package/lib/components/yc-plus-page/src/index.vue.d.ts +436 -361
  137. package/lib/components/yc-plus-page/src/index.vue.js +1 -1
  138. package/lib/components/yc-plus-page/src/index.vue2.js +89 -57
  139. package/lib/components/yc-plus-page/src/type.d.ts +9 -0
  140. package/lib/components/yc-segmented/index.d.ts +2 -2
  141. package/lib/components/yc-segmented/src/index.d.ts +2 -2
  142. package/lib/components/yc-select-v2/src/index.vue.d.ts +3 -3
  143. package/lib/components/yc-status-dialog/src/index.vue.d.ts +1 -1
  144. package/lib/components/yc-tabs-with-filter/index.d.ts +16 -16
  145. package/lib/components/yc-text/src/index.vue.d.ts +2 -2
  146. package/lib/hooks/index.d.ts +1 -0
  147. package/lib/hooks/index.js +2 -0
  148. package/lib/hooks/usePlusFormReset.d.ts +244 -244
  149. package/lib/hooks/useTableDragScroll.d.ts +35 -0
  150. package/lib/hooks/useTableDragScroll.js +203 -0
  151. package/lib/index.css +13 -12
  152. package/lib/index.js +2 -0
  153. package/lib/version.d.ts +1 -1
  154. package/lib/version.js +1 -1
  155. package/lib/yc-components/version.d.ts +1 -1
  156. package/locale/en.js +1 -1
  157. package/locale/en.min.js +1 -1
  158. package/locale/en.min.mjs +1 -1
  159. package/locale/en.mjs +1 -1
  160. package/locale/ja.js +1 -1
  161. package/locale/ja.min.js +1 -1
  162. package/locale/ja.min.mjs +1 -1
  163. package/locale/ja.mjs +1 -1
  164. package/locale/ko.js +1 -1
  165. package/locale/ko.min.js +1 -1
  166. package/locale/ko.min.mjs +1 -1
  167. package/locale/ko.mjs +1 -1
  168. package/locale/zh-cn.js +1 -1
  169. package/locale/zh-cn.min.js +1 -1
  170. package/locale/zh-cn.min.mjs +1 -1
  171. package/locale/zh-cn.mjs +1 -1
  172. package/locale/zh-tw.js +1 -1
  173. package/locale/zh-tw.min.js +1 -1
  174. package/locale/zh-tw.min.mjs +1 -1
  175. package/locale/zh-tw.mjs +1 -1
  176. package/package.json +1 -1
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! yc-pro-components v0.0.75 */
1
+ /*! yc-pro-components v0.0.77 */
2
2
  (function (global, factory) {
3
3
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('element-plus')) :
4
4
  typeof define === 'function' && define.amd ? define(['exports', 'vue', 'element-plus'], factory) :
@@ -8616,6 +8616,204 @@
8616
8616
  vue.provide(DictStoreInjectionKey, dictStore);
8617
8617
  }
8618
8618
 
8619
+ const DEFAULT_RESIZE_AREA_WIDTH = 12;
8620
+ const DEFAULT_BORDER_COLOR = "var(--theme-color)";
8621
+ const DEFAULT_SCROLL_SELECTOR = ".el-scrollbar__wrap";
8622
+ function useTableDragScroll(wrapperRef, tableRef, options = {}) {
8623
+ var _a, _b, _c;
8624
+ const resizeAreaWidth = (_a = options.resizeAreaWidth) != null ? _a : DEFAULT_RESIZE_AREA_WIDTH;
8625
+ const borderColor = (_b = options.resizeBorderColor) != null ? _b : DEFAULT_BORDER_COLOR;
8626
+ const scrollSelector = (_c = options.scrollContainerSelector) != null ? _c : DEFAULT_SCROLL_SELECTOR;
8627
+ const isDragging = vue.ref(false);
8628
+ const isResizing = vue.ref(false);
8629
+ const startX = vue.ref(0);
8630
+ const scrollLeft = vue.ref(0);
8631
+ const scrollContainer = vue.ref(null);
8632
+ const isEnabled = () => {
8633
+ const enabled = options.enabled;
8634
+ if (enabled === void 0) return true;
8635
+ if (typeof enabled === "boolean") return enabled;
8636
+ return enabled.value;
8637
+ };
8638
+ const getTableEl = () => {
8639
+ var _a2;
8640
+ const fromRef = (_a2 = tableRef == null ? void 0 : tableRef.value) == null ? void 0 : _a2.$el;
8641
+ if (fromRef) return fromRef;
8642
+ const wrapper = wrapperRef.value;
8643
+ if (!wrapper) return null;
8644
+ return wrapper.querySelector(".el-table");
8645
+ };
8646
+ const refreshScrollContainer = () => {
8647
+ const tableEl = getTableEl();
8648
+ if (tableEl) {
8649
+ scrollContainer.value = tableEl.querySelector(scrollSelector);
8650
+ }
8651
+ };
8652
+ const isInsideTable = (e) => {
8653
+ const tableEl = getTableEl();
8654
+ if (!tableEl) return false;
8655
+ const target = e.target;
8656
+ return !!target && tableEl.contains(target);
8657
+ };
8658
+ const isInResizeArea = (e, th) => {
8659
+ const rect = th.getBoundingClientRect();
8660
+ const mouseX = e.clientX;
8661
+ return mouseX >= rect.right - resizeAreaWidth && mouseX <= rect.right + 4;
8662
+ };
8663
+ const getCurrentColumn = (e) => {
8664
+ var _a2;
8665
+ let current = e.target;
8666
+ while (current && ((_a2 = current.tagName) == null ? void 0 : _a2.toLowerCase()) !== "th") {
8667
+ current = current.parentElement;
8668
+ if (!current || current === wrapperRef.value) return null;
8669
+ }
8670
+ return current;
8671
+ };
8672
+ const clearAllHeaderStyles = () => {
8673
+ const tableEl = getTableEl();
8674
+ if (!tableEl) return;
8675
+ const headers = tableEl.querySelectorAll("th");
8676
+ headers.forEach((header) => {
8677
+ const h = header;
8678
+ h.style.borderRight = "";
8679
+ h.style.cursor = "";
8680
+ });
8681
+ };
8682
+ const onMouseDown = (e) => {
8683
+ if (!isEnabled()) return;
8684
+ if (!isInsideTable(e)) return;
8685
+ if (!scrollContainer.value) {
8686
+ refreshScrollContainer();
8687
+ if (!scrollContainer.value) return;
8688
+ }
8689
+ const target = e.target;
8690
+ const column = getCurrentColumn(e);
8691
+ if (column && isInResizeArea(e, column)) {
8692
+ isDragging.value = false;
8693
+ isResizing.value = true;
8694
+ return;
8695
+ }
8696
+ if (target.classList.contains("noclick")) {
8697
+ isDragging.value = false;
8698
+ isResizing.value = true;
8699
+ return;
8700
+ }
8701
+ isDragging.value = true;
8702
+ isResizing.value = false;
8703
+ startX.value = e.clientX;
8704
+ scrollLeft.value = scrollContainer.value.scrollLeft;
8705
+ if (wrapperRef.value) {
8706
+ wrapperRef.value.style.cursor = "";
8707
+ }
8708
+ target.style.cursor = "";
8709
+ };
8710
+ const onMouseMove = (e) => {
8711
+ var _a2, _b2, _c2;
8712
+ if (!isEnabled()) return;
8713
+ const target = e.target;
8714
+ const parentElement = target.parentElement;
8715
+ const insideTable = isInsideTable(e);
8716
+ if (!insideTable) {
8717
+ if (wrapperRef.value) {
8718
+ wrapperRef.value.style.cursor = "";
8719
+ }
8720
+ if (isDragging.value && scrollContainer.value) {
8721
+ const deltaX2 = e.clientX - startX.value;
8722
+ scrollContainer.value.scrollLeft = scrollLeft.value - deltaX2;
8723
+ }
8724
+ return;
8725
+ }
8726
+ if (target.classList.contains("drag-disabled")) {
8727
+ target.style.cursor = "pointer";
8728
+ return;
8729
+ }
8730
+ const column = getCurrentColumn(e);
8731
+ if (column) {
8732
+ const allHeaders = (_a2 = column.parentElement) == null ? void 0 : _a2.querySelectorAll("th");
8733
+ if (isInResizeArea(e, column)) {
8734
+ isDragging.value = false;
8735
+ isResizing.value = true;
8736
+ column.style.borderRight = `2px solid ${borderColor}`;
8737
+ allHeaders == null ? void 0 : allHeaders.forEach((header) => {
8738
+ const h = header;
8739
+ if (h !== column) {
8740
+ h.style.borderRight = "";
8741
+ h.style.cursor = "";
8742
+ }
8743
+ });
8744
+ return;
8745
+ } else {
8746
+ allHeaders == null ? void 0 : allHeaders.forEach((header) => {
8747
+ const h = header;
8748
+ h.style.borderRight = "";
8749
+ h.style.cursor = "";
8750
+ });
8751
+ isResizing.value = false;
8752
+ }
8753
+ }
8754
+ if (target.classList.contains("noclick") || target.classList.contains("el-table__column-resize-proxy")) {
8755
+ isDragging.value = false;
8756
+ isResizing.value = true;
8757
+ return;
8758
+ }
8759
+ if (isResizing.value || ((_b2 = parentElement == null ? void 0 : parentElement.tagName) == null ? void 0 : _b2.toLowerCase()) === "th" || ((_c2 = target.tagName) == null ? void 0 : _c2.toLowerCase()) === "th") {
8760
+ isDragging.value = false;
8761
+ return;
8762
+ }
8763
+ if (target.classList.contains("edit-icon")) {
8764
+ target.style.cursor = "pointer";
8765
+ return;
8766
+ }
8767
+ isResizing.value = false;
8768
+ target.style.cursor = "";
8769
+ if (wrapperRef.value) {
8770
+ wrapperRef.value.style.cursor = "grab";
8771
+ }
8772
+ if (!isDragging.value || !scrollContainer.value) return;
8773
+ const deltaX = e.clientX - startX.value;
8774
+ scrollContainer.value.scrollLeft = scrollLeft.value - deltaX;
8775
+ };
8776
+ const onMouseUp = () => {
8777
+ isDragging.value = false;
8778
+ isResizing.value = false;
8779
+ if (wrapperRef.value) {
8780
+ wrapperRef.value.style.cursor = "";
8781
+ }
8782
+ clearAllHeaderStyles();
8783
+ };
8784
+ const onTableBodyOver = () => {
8785
+ const ths = document.querySelectorAll(".el-table__header th");
8786
+ ths.forEach((th) => {
8787
+ const h = th;
8788
+ h.style.borderRight = "";
8789
+ h.style.cursor = "";
8790
+ });
8791
+ };
8792
+ let tableBodyEl = null;
8793
+ vue.onMounted(() => {
8794
+ document.addEventListener("mousemove", onMouseMove);
8795
+ document.addEventListener("mouseup", onMouseUp);
8796
+ requestAnimationFrame(() => {
8797
+ var _a2;
8798
+ refreshScrollContainer();
8799
+ const tableEl = getTableEl();
8800
+ tableBodyEl = (_a2 = tableEl == null ? void 0 : tableEl.querySelector(".el-table__body")) != null ? _a2 : null;
8801
+ tableBodyEl == null ? void 0 : tableBodyEl.addEventListener("mouseover", onTableBodyOver);
8802
+ });
8803
+ });
8804
+ vue.onBeforeUnmount(() => {
8805
+ document.removeEventListener("mousemove", onMouseMove);
8806
+ document.removeEventListener("mouseup", onMouseUp);
8807
+ tableBodyEl == null ? void 0 : tableBodyEl.removeEventListener("mouseover", onTableBodyOver);
8808
+ });
8809
+ return {
8810
+ onMouseDown,
8811
+ isDragging,
8812
+ isResizing,
8813
+ refreshScrollContainer
8814
+ };
8815
+ }
8816
+
8619
8817
  const _hoisted_1$v = { class: "plus-dialog-body" };
8620
8818
  var _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
8621
8819
  ...{
@@ -18340,11 +18538,12 @@
18340
18538
 
18341
18539
  const PlusPopover = Popover;
18342
18540
 
18541
+ const _withScopeId$4 = (n) => (vue.pushScopeId("data-v-d1506155"), n = n(), vue.popScopeId(), n);
18343
18542
  const _hoisted_1$k = { class: "plus-table-title-bar" };
18344
18543
  const _hoisted_2$e = { class: "plus-table-title-bar__title" };
18345
18544
  const _hoisted_3$c = { class: "plus-table-title-bar__toolbar" };
18346
18545
  const _hoisted_4$a = { class: "plus-table-title-bar__toolbar__density" };
18347
- const _hoisted_5$9 = /* @__PURE__ */ vue.createElementVNode(
18546
+ const _hoisted_5$9 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ vue.createElementVNode(
18348
18547
  "svg",
18349
18548
  {
18350
18549
  viewBox: "0 0 1024 1024",
@@ -18358,14 +18557,15 @@
18358
18557
  ],
18359
18558
  -1
18360
18559
  /* HOISTED */
18361
- );
18560
+ ));
18362
18561
  const _hoisted_6$7 = { class: "plus-table-checkbox-checkAll" };
18363
- const _hoisted_7$5 = {
18562
+ const _hoisted_7$5 = { class: "plus-table-checkbox-actions" };
18563
+ const _hoisted_8$4 = {
18364
18564
  key: 0,
18365
18565
  class: "plus-table-checkbox-handle"
18366
18566
  };
18367
- const _hoisted_8$4 = { key: 1 };
18368
18567
  const _hoisted_9$4 = { key: 1 };
18568
+ const _hoisted_10$3 = { key: 1 };
18369
18569
  var _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
18370
18570
  ...{
18371
18571
  name: "PlusTableToolbar"
@@ -18405,6 +18605,12 @@
18405
18605
  var _a;
18406
18606
  return ((_a = columnSetting.value) == null ? void 0 : _a.overflowLabelLength) || 6;
18407
18607
  });
18608
+ const confirmTextValue = vue.computed(
18609
+ () => {
18610
+ var _a;
18611
+ return ((_a = columnSetting.value) == null ? void 0 : _a.confirmText) || String(t("plus.table.confirmText"));
18612
+ }
18613
+ );
18408
18614
  const sortable = vue.ref(null);
18409
18615
  const buttonNameDensity = [
18410
18616
  {
@@ -18426,6 +18632,20 @@
18426
18632
  }
18427
18633
  return props.columns.filter((item) => vue.unref(item.headerIsChecked) !== false).map((item) => getTableKey(item));
18428
18634
  };
18635
+ const buildFilterColumns = () => {
18636
+ return props.columns.map((item) => {
18637
+ if (state.checkList.includes(getTableKey(item))) {
18638
+ return { ...item, headerIsChecked: true };
18639
+ }
18640
+ return { ...item, headerIsChecked: false };
18641
+ });
18642
+ };
18643
+ const buildConfirmPayload = () => {
18644
+ const columns = buildFilterColumns();
18645
+ const order = columns.map((item) => String(item.prop || "")).filter(Boolean);
18646
+ const checked = columns.filter((item) => item.headerIsChecked !== false).map((item) => String(item.prop || "")).filter(Boolean);
18647
+ return { columns, order, checked };
18648
+ };
18429
18649
  const state = vue.reactive({
18430
18650
  checkAll: true,
18431
18651
  isIndeterminate: false,
@@ -18454,13 +18674,11 @@
18454
18674
  handleFilterTableConfirm("allCheck");
18455
18675
  };
18456
18676
  const handleFilterTableConfirm = (type) => {
18457
- const filterColumns = props.columns.map((item) => {
18458
- if (state.checkList.includes(getTableKey(item))) {
18459
- return { ...item, headerIsChecked: true };
18460
- }
18461
- return { ...item, headerIsChecked: false };
18462
- });
18463
- emit("filterTableHeader", filterColumns, type);
18677
+ emit("filterTableHeader", buildFilterColumns(), type);
18678
+ };
18679
+ const handleConfirmClick = async () => {
18680
+ var _a, _b;
18681
+ await ((_b = (_a = columnSetting.value) == null ? void 0 : _a.onConfirm) == null ? void 0 : _b.call(_a, buildConfirmPayload()));
18464
18682
  };
18465
18683
  const handleCheckGroupChange = (value) => {
18466
18684
  setCheckAllState(value);
@@ -18525,10 +18743,10 @@
18525
18743
  1
18526
18744
  /* TEXT */
18527
18745
  )
18528
- ])
18746
+ ], true)
18529
18747
  ]),
18530
18748
  vue.createElementVNode("div", _hoisted_3$c, [
18531
- vue.renderSlot(_ctx.$slots, "toolbar"),
18749
+ vue.renderSlot(_ctx.$slots, "toolbar", {}, void 0, true),
18532
18750
  ((_a = titleBarConfig.value) == null ? void 0 : _a.refresh) === true ? (vue.openBlock(), vue.createElementBlock("span", {
18533
18751
  key: 0,
18534
18752
  class: "plus-table-title-bar__toolbar__refresh",
@@ -18552,7 +18770,7 @@
18552
18770
  _: 1
18553
18771
  /* STABLE */
18554
18772
  }, 8, ["size", "color"])
18555
- ])
18773
+ ], true)
18556
18774
  ]),
18557
18775
  _: 3
18558
18776
  /* FORWARDED */
@@ -18585,7 +18803,7 @@
18585
18803
  _: 1
18586
18804
  /* STABLE */
18587
18805
  }, 8, ["size", "color"])
18588
- ])
18806
+ ], true)
18589
18807
  ]),
18590
18808
  _: 3
18591
18809
  /* FORWARDED */
@@ -18650,14 +18868,14 @@
18650
18868
  _: 1
18651
18869
  /* STABLE */
18652
18870
  }, 8, ["size", "color"])
18653
- ])
18871
+ ], true)
18654
18872
  ]),
18655
18873
  _: 3
18656
18874
  /* FORWARDED */
18657
18875
  }, 8, ["content"])
18658
18876
  ]),
18659
18877
  default: vue.withCtx(() => {
18660
- var _a2, _b2, _c2;
18878
+ var _a2, _b2, _c2, _d;
18661
18879
  return [
18662
18880
  vue.createElementVNode("div", _hoisted_6$7, [
18663
18881
  vue.createVNode(vue.unref(elementPlus.ElCheckbox), {
@@ -18676,24 +18894,43 @@
18676
18894
  _: 1
18677
18895
  /* STABLE */
18678
18896
  }, 8, ["modelValue", "indeterminate"]),
18679
- ((_a2 = columnSetting.value) == null ? void 0 : _a2.reset) !== false ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElLink), vue.mergeProps({
18680
- key: 0,
18681
- type: "primary",
18682
- underline: vue.unref(versionIsLessThan299) ? false : "never",
18683
- href: "javaScript:;"
18684
- }, vue.unref(isPlainObject$1)((_b2 = columnSetting.value) == null ? void 0 : _b2.reset) ? (_c2 = columnSetting.value) == null ? void 0 : _c2.reset : {}, {
18685
- onClick: vue.withModifiers(resetCheckBoxList, ["stop", "prevent"])
18686
- }), {
18687
- default: vue.withCtx(() => [
18688
- vue.createTextVNode(
18689
- vue.toDisplayString(vue.unref(t)("plus.table.resetText")),
18690
- 1
18691
- /* TEXT */
18692
- )
18693
- ]),
18694
- _: 1
18695
- /* STABLE */
18696
- }, 16, ["underline"])) : vue.createCommentVNode("v-if", true)
18897
+ vue.createElementVNode("div", _hoisted_7$5, [
18898
+ ((_a2 = columnSetting.value) == null ? void 0 : _a2.confirm) ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElLink), {
18899
+ key: 0,
18900
+ type: "primary",
18901
+ underline: vue.unref(versionIsLessThan299) ? false : "never",
18902
+ href: "javaScript:;",
18903
+ onClick: vue.withModifiers(handleConfirmClick, ["stop", "prevent"])
18904
+ }, {
18905
+ default: vue.withCtx(() => [
18906
+ vue.createTextVNode(
18907
+ vue.toDisplayString(confirmTextValue.value),
18908
+ 1
18909
+ /* TEXT */
18910
+ )
18911
+ ]),
18912
+ _: 1
18913
+ /* STABLE */
18914
+ }, 8, ["underline"])) : vue.createCommentVNode("v-if", true),
18915
+ ((_b2 = columnSetting.value) == null ? void 0 : _b2.reset) !== false ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElLink), vue.mergeProps({
18916
+ key: 1,
18917
+ type: "primary",
18918
+ underline: vue.unref(versionIsLessThan299) ? false : "never",
18919
+ href: "javaScript:;"
18920
+ }, vue.unref(isPlainObject$1)((_c2 = columnSetting.value) == null ? void 0 : _c2.reset) ? (_d = columnSetting.value) == null ? void 0 : _d.reset : {}, {
18921
+ onClick: vue.withModifiers(resetCheckBoxList, ["stop", "prevent"])
18922
+ }), {
18923
+ default: vue.withCtx(() => [
18924
+ vue.createTextVNode(
18925
+ vue.toDisplayString(vue.unref(t)("plus.table.resetText")),
18926
+ 1
18927
+ /* TEXT */
18928
+ )
18929
+ ]),
18930
+ _: 1
18931
+ /* STABLE */
18932
+ }, 16, ["underline"])) : vue.createCommentVNode("v-if", true)
18933
+ ])
18697
18934
  ]),
18698
18935
  vue.createVNode(vue.unref(elementPlus.ElCheckboxGroup), {
18699
18936
  modelValue: state.checkList,
@@ -18718,10 +18955,10 @@
18718
18955
  key: item.prop,
18719
18956
  class: "plus-table-checkbox-item"
18720
18957
  }, [
18721
- ((_a3 = columnSetting.value) == null ? void 0 : _a3.dragSort) !== false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$5, [
18958
+ ((_a3 = columnSetting.value) == null ? void 0 : _a3.dragSort) !== false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$4, [
18722
18959
  vue.renderSlot(_ctx.$slots, "drag-sort-icon", {}, () => [
18723
18960
  vue.createTextVNode("\u2637")
18724
- ])
18961
+ ], true)
18725
18962
  ])) : vue.createCommentVNode("v-if", true),
18726
18963
  vue.createCommentVNode(" element-plus \u7248\u672C\u53F7\u5C0F\u4E8E2.6.0 "),
18727
18964
  vue.unref(versionIsLessThan260) ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElCheckbox), {
@@ -18747,7 +18984,7 @@
18747
18984
  /* DYNAMIC */
18748
18985
  }, 1032, ["content"])) : (vue.openBlock(), vue.createElementBlock(
18749
18986
  "span",
18750
- _hoisted_8$4,
18987
+ _hoisted_9$4,
18751
18988
  vue.toDisplayString(item.label ? getLabelValue(item.label) : ""),
18752
18989
  1
18753
18990
  /* TEXT */
@@ -18782,7 +19019,7 @@
18782
19019
  /* DYNAMIC */
18783
19020
  }, 1032, ["content"])) : (vue.openBlock(), vue.createElementBlock(
18784
19021
  "span",
18785
- _hoisted_9$4,
19022
+ _hoisted_10$3,
18786
19023
  vue.toDisplayString(item.label ? getLabelValue(item.label) : ""),
18787
19024
  1
18788
19025
  /* TEXT */
@@ -18819,7 +19056,7 @@
18819
19056
  }
18820
19057
  });
18821
19058
 
18822
- var PlusTableTitleBar = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__file", "table-title-bar.vue"]]);
19059
+ var PlusTableTitleBar = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-d1506155"], ["__file", "table-title-bar.vue"]]);
18823
19060
 
18824
19061
  const _hoisted_1$j = { class: "plus-table-expand-col" };
18825
19062
  var _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
@@ -33170,7 +33407,8 @@
33170
33407
  hideHeaderFilter: { type: Boolean, default: true },
33171
33408
  columnCacheKey: { default: void 0 },
33172
33409
  disableColumnCache: { type: Boolean, default: false },
33173
- columnSettingsText: { default: void 0 }
33410
+ columnSettingsText: { default: void 0 },
33411
+ dragScroll: { type: [Boolean, Object], default: false }
33174
33412
  },
33175
33413
  emits: ["header-filter-confirm", "header-filter-reset"],
33176
33414
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -33181,6 +33419,21 @@
33181
33419
  const plusPageConfig = useYcComponentConfig("plusPage");
33182
33420
  const plusPageRef = vue.ref();
33183
33421
  const rootRef = vue.ref();
33422
+ const dragScrollWrapperRef = vue.ref(null);
33423
+ const dragScrollEnabled = vue.computed(() => props.dragScroll !== false && props.dragScroll != null);
33424
+ const dragScrollOptions = vue.computed(() => {
33425
+ const value = props.dragScroll;
33426
+ if (value && typeof value === "object") return value;
33427
+ return {};
33428
+ });
33429
+ const { onMouseDown: onDragScrollMouseDown } = useTableDragScroll(
33430
+ dragScrollWrapperRef,
33431
+ void 0,
33432
+ {
33433
+ ...dragScrollOptions.value,
33434
+ enabled: dragScrollEnabled
33435
+ }
33436
+ );
33184
33437
  const plusTableInstance = vue.computed(() => {
33185
33438
  var _a;
33186
33439
  return (_a = plusPageRef.value) == null ? void 0 : _a.plusTableInstance;
@@ -33598,6 +33851,7 @@
33598
33851
  void resolvedColumnSettingsText.value;
33599
33852
  void hasRequest.value;
33600
33853
  void showDefaultColumnSettingsIcon.value;
33854
+ void dragScrollEnabled.value;
33601
33855
  __expose({
33602
33856
  plusPageRef,
33603
33857
  plusTableInstance,
@@ -33655,62 +33909,76 @@
33655
33909
  class: vue.normalizeClass(["yc-plus-page", { "yc-plus-page--borderless": isBorderless.value }])
33656
33910
  },
33657
33911
  [
33658
- vue.createVNode(vue.unref(PlusPage), vue.mergeProps({
33659
- ref_key: "plusPageRef",
33660
- ref: plusPageRef
33661
- }, { ...props, ..._ctx.$attrs }, {
33662
- columns: enhancedColumns.value,
33663
- "is-card": _ctx.isCard,
33664
- request: wrappedRequest.value,
33665
- search: mergedSearch.value,
33666
- "search-card-props": mergedSearchCardProps.value,
33667
- "table-card-props": mergedTableCardProps.value,
33668
- table: mergedTable.value,
33669
- pagination: mergedPagination.value,
33670
- "default-page-info": { page: 1, pageSize: DEFAULT_PAGE_SIZE },
33671
- onFilterTableHeader: handleFilterTableHeader,
33672
- onHeaderDragend: handleHeaderDragend
33673
- }), vue.createSlots({
33674
- default: vue.withCtx(() => [
33675
- vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
33676
- ]),
33677
- _: 2
33678
- /* DYNAMIC */
33679
- }, [
33680
- _ctx.$slots["column-settings-icon"] ? {
33681
- name: "column-settings-icon",
33682
- fn: vue.withCtx(() => [
33683
- vue.renderSlot(_ctx.$slots, "column-settings-icon", {}, void 0, true)
33684
- ]),
33685
- key: "0"
33686
- } : showDefaultColumnSettingsIcon.value ? {
33687
- name: "column-settings-icon",
33688
- fn: vue.withCtx(() => [
33689
- vue.createElementVNode("div", { class: "column-settings-wrapper" }, [
33690
- vue.createVNode(vue.unref(YcSvgIcon), {
33691
- src: fieldSettingIconUrl.value,
33692
- size: 16
33693
- }, null, 8, ["src"]),
33694
- vue.createElementVNode(
33695
- "span",
33696
- { class: "column-settings-text" },
33697
- vue.toDisplayString(resolvedColumnSettingsText.value),
33698
- 1
33699
- /* TEXT */
33700
- )
33701
- ])
33702
- ]),
33703
- key: "1"
33704
- } : void 0,
33705
- vue.renderList(_ctx.$slots, (_, name) => {
33706
- return {
33707
- name,
33708
- fn: vue.withCtx((slotProps) => [
33709
- name !== "column-settings-icon" && name !== "default" ? vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.mergeProps({ key: 0 }, slotProps)), void 0, true) : vue.createCommentVNode("v-if", true)
33710
- ])
33711
- };
33712
- })
33713
- ]), 1040, ["columns", "is-card", "request", "search", "search-card-props", "table-card-props", "table", "pagination", "default-page-info"])
33912
+ vue.createCommentVNode(" \u62D6\u62FD\u6EDA\u52A8\u5305\u88F9\u5C42\uFF1AdragScroll \u542F\u7528\u65F6\u4ECB\u5165\uFF0C\u4F46\u59CB\u7EC8\u4FDD\u7559 ref\uFF0C\n \u4EE5\u4FDD\u8BC1 mousedown \u900F\u4F20 + hook \u5185\u90E8 DOM \u67E5\u8BE2\u6B63\u5E38 "),
33913
+ vue.createElementVNode(
33914
+ "div",
33915
+ {
33916
+ ref_key: "dragScrollWrapperRef",
33917
+ ref: dragScrollWrapperRef,
33918
+ class: vue.normalizeClass(["yc-plus-page__drag-wrapper", { "yc-plus-page__drag-wrapper--enabled": dragScrollEnabled.value }]),
33919
+ onMousedown: _cache[0] || (_cache[0] = ($event) => dragScrollEnabled.value ? vue.unref(onDragScrollMouseDown)($event) : void 0)
33920
+ },
33921
+ [
33922
+ vue.createVNode(vue.unref(PlusPage), vue.mergeProps({
33923
+ ref_key: "plusPageRef",
33924
+ ref: plusPageRef
33925
+ }, { ...props, ..._ctx.$attrs }, {
33926
+ columns: enhancedColumns.value,
33927
+ "is-card": _ctx.isCard,
33928
+ request: wrappedRequest.value,
33929
+ search: mergedSearch.value,
33930
+ "search-card-props": mergedSearchCardProps.value,
33931
+ "table-card-props": mergedTableCardProps.value,
33932
+ table: mergedTable.value,
33933
+ pagination: mergedPagination.value,
33934
+ "default-page-info": { page: 1, pageSize: DEFAULT_PAGE_SIZE },
33935
+ onFilterTableHeader: handleFilterTableHeader,
33936
+ onHeaderDragend: handleHeaderDragend
33937
+ }), vue.createSlots({
33938
+ default: vue.withCtx(() => [
33939
+ vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
33940
+ ]),
33941
+ _: 2
33942
+ /* DYNAMIC */
33943
+ }, [
33944
+ _ctx.$slots["column-settings-icon"] ? {
33945
+ name: "column-settings-icon",
33946
+ fn: vue.withCtx(() => [
33947
+ vue.renderSlot(_ctx.$slots, "column-settings-icon", {}, void 0, true)
33948
+ ]),
33949
+ key: "0"
33950
+ } : showDefaultColumnSettingsIcon.value ? {
33951
+ name: "column-settings-icon",
33952
+ fn: vue.withCtx(() => [
33953
+ vue.createElementVNode("div", { class: "column-settings-wrapper" }, [
33954
+ vue.createVNode(vue.unref(YcSvgIcon), {
33955
+ src: fieldSettingIconUrl.value,
33956
+ size: 16
33957
+ }, null, 8, ["src"]),
33958
+ vue.createElementVNode(
33959
+ "span",
33960
+ { class: "column-settings-text" },
33961
+ vue.toDisplayString(resolvedColumnSettingsText.value),
33962
+ 1
33963
+ /* TEXT */
33964
+ )
33965
+ ])
33966
+ ]),
33967
+ key: "1"
33968
+ } : void 0,
33969
+ vue.renderList(_ctx.$slots, (_, name) => {
33970
+ return {
33971
+ name,
33972
+ fn: vue.withCtx((slotProps) => [
33973
+ name !== "column-settings-icon" && name !== "default" ? vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.mergeProps({ key: 0 }, slotProps)), void 0, true) : vue.createCommentVNode("v-if", true)
33974
+ ])
33975
+ };
33976
+ })
33977
+ ]), 1040, ["columns", "is-card", "request", "search", "search-card-props", "table-card-props", "table", "pagination", "default-page-info"])
33978
+ ],
33979
+ 34
33980
+ /* CLASS, NEED_HYDRATION */
33981
+ )
33714
33982
  ],
33715
33983
  2
33716
33984
  /* CLASS */
@@ -33719,7 +33987,7 @@
33719
33987
  }
33720
33988
  });
33721
33989
 
33722
- var YcPlusPageComponent = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-73380467"], ["__file", "index.vue"]]);
33990
+ var YcPlusPageComponent = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-3ce473db"], ["__file", "index.vue"]]);
33723
33991
 
33724
33992
  function compareValues(a, b) {
33725
33993
  if (a == null && b == null) return 0;
@@ -60379,8 +60647,7 @@
60379
60647
  drawerStore.value = [];
60380
60648
  };
60381
60649
 
60382
- const import_meta = {};
60383
- const _withScopeId$3 = (n) => (vue.pushScopeId("data-v-eb9ddafc"), n = n(), vue.popScopeId(), n);
60650
+ const _withScopeId$3 = (n) => (vue.pushScopeId("data-v-80cac14a"), n = n(), vue.popScopeId(), n);
60384
60651
  const _hoisted_1$6 = { class: "custom-drawer-header" };
60385
60652
  const _hoisted_2$6 = { class: "header-content" };
60386
60653
  const _hoisted_3$6 = ["id"];
@@ -60399,7 +60666,7 @@
60399
60666
  __name: "index",
60400
60667
  setup(__props) {
60401
60668
  const shouldRender = claimDrawerInstance();
60402
- if (!shouldRender && import_meta.env.DEV) {
60669
+ if (!shouldRender && process.env.NODE_ENV !== "production") {
60403
60670
  console.warn(
60404
60671
  "[YcDrawer] Multiple <YcDrawer /> instances detected. Only the first instance renders drawers. Remove duplicate <YcDrawer /> from your component \u2014 it only needs to be placed once in the root App."
60405
60672
  );
@@ -60641,7 +60908,7 @@
60641
60908
  }
60642
60909
  });
60643
60910
 
60644
- var YcDrawerComponent = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-eb9ddafc"], ["__file", "index.vue"]]);
60911
+ var YcDrawerComponent = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-80cac14a"], ["__file", "index.vue"]]);
60645
60912
 
60646
60913
  const YcDrawer = YcDrawerComponent;
60647
60914
  const ReDrawer = YcDrawerComponent;
@@ -64265,7 +64532,7 @@
64265
64532
  });
64266
64533
  }
64267
64534
 
64268
- const version = "0.0.75";
64535
+ const version = "0.0.77";
64269
64536
 
64270
64537
  const install = installer.install;
64271
64538
 
@@ -64411,6 +64678,7 @@
64411
64678
  exports.useSelectWithPagination = useSelectWithPagination;
64412
64679
  exports.useSortableDrag = useSortableDrag$1;
64413
64680
  exports.useTable = useTable;
64681
+ exports.useTableDragScroll = useTableDragScroll;
64414
64682
  exports.useVirtualScroll = useVirtualScroll;
64415
64683
  exports.useVirtualSelection = useVirtualSelection;
64416
64684
  exports.useYcAuth = useYcAuth;