yc-pro-components 0.0.42 → 0.0.44

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 (207) hide show
  1. package/es/component.mjs +2 -0
  2. package/es/components/check-card/index.d.ts +61 -61
  3. package/es/components/check-card/src/index.vue.d.ts +4 -4
  4. package/es/components/check-card-group/index.d.ts +43 -43
  5. package/es/components/check-card-group/src/index.vue.d.ts +3 -3
  6. package/es/components/date-picker/index.d.ts +20 -20
  7. package/es/components/date-picker/src/index.vue.d.ts +12 -12
  8. package/es/components/dialog/index.d.ts +26 -26
  9. package/es/components/dialog/src/index.vue.d.ts +2 -2
  10. package/es/components/dialog-form/index.d.ts +31 -31
  11. package/es/components/dialog-form/src/index.vue.d.ts +9 -9
  12. package/es/components/display-item/index.d.ts +41 -41
  13. package/es/components/display-item/src/index.vue.d.ts +22 -22
  14. package/es/components/drawer-form/index.d.ts +65 -65
  15. package/es/components/drawer-form/src/index.vue.d.ts +15 -15
  16. package/es/components/form/index.d.ts +45 -45
  17. package/es/components/form/src/form-content.vue.d.ts +20 -20
  18. package/es/components/form/src/index.vue.d.ts +17 -17
  19. package/es/components/form-item/index.d.ts +48 -48
  20. package/es/components/form-item/src/index.vue.d.ts +14 -14
  21. package/es/components/header/index.d.ts +19 -19
  22. package/es/components/header/src/index.vue.d.ts +1 -1
  23. package/es/components/index.d.ts +1 -0
  24. package/es/components/index.mjs +4 -0
  25. package/es/components/input-tag/index.d.ts +15 -15
  26. package/es/components/input-tag/src/index.vue.d.ts +3 -3
  27. package/es/components/layout/index.d.ts +50 -50
  28. package/es/components/layout/src/index.vue.d.ts +11 -11
  29. package/es/components/page/index.d.ts +4166 -2538
  30. package/es/components/page/src/index.vue.d.ts +712 -137
  31. package/es/components/page/src/index.vue2.mjs +120 -31
  32. package/es/components/pagination/index.d.ts +42 -42
  33. package/es/components/pagination/src/index.vue.d.ts +3 -3
  34. package/es/components/radio/index.d.ts +35 -35
  35. package/es/components/radio/src/index.vue.d.ts +27 -27
  36. package/es/components/render/index.d.ts +3 -3
  37. package/es/components/render/src/index.vue.d.ts +1 -1
  38. package/es/components/search/index.d.ts +154 -154
  39. package/es/components/search/src/index.vue.d.ts +50 -50
  40. package/es/components/sidebar/index.d.ts +15 -15
  41. package/es/components/sidebar/src/index.vue.d.ts +5 -5
  42. package/es/components/steps-form/index.d.ts +23 -23
  43. package/es/components/steps-form/src/index.vue.d.ts +2 -2
  44. package/es/components/table/src/table-column.vue.d.ts +37 -37
  45. package/es/components/utils/index.d.ts +2 -2
  46. package/es/components/virtual-table/index.d.ts +646 -0
  47. package/es/components/virtual-table/index.mjs +8 -0
  48. package/es/components/virtual-table/src/index.vue.d.ts +139 -0
  49. package/es/components/virtual-table/src/index.vue.mjs +6 -0
  50. package/es/components/virtual-table/src/index.vue2.mjs +327 -0
  51. package/es/components/virtual-table/src/type.d.ts +295 -0
  52. package/es/components/virtual-table/src/type.mjs +1 -0
  53. package/es/components/virtual-table/src/use-column-adapter.d.ts +40 -0
  54. package/es/components/virtual-table/src/use-column-adapter.mjs +137 -0
  55. package/es/components/virtual-table/src/use-virtual-scroll.d.ts +35 -0
  56. package/es/components/virtual-table/src/use-virtual-scroll.mjs +71 -0
  57. package/es/components/virtual-table/src/use-virtual-selection.d.ts +40 -0
  58. package/es/components/virtual-table/src/use-virtual-selection.mjs +112 -0
  59. package/es/components/virtual-table/src/virtual-table-action-bar.d.ts +11 -0
  60. package/es/components/virtual-table/src/virtual-table-action-bar.mjs +121 -0
  61. package/es/components/virtual-table/src/virtual-table-cell-renderer.d.ts +16 -0
  62. package/es/components/virtual-table/src/virtual-table-cell-renderer.mjs +170 -0
  63. package/es/components/virtual-table/src/virtual-table-header-renderer.d.ts +10 -0
  64. package/es/components/virtual-table/src/virtual-table-header-renderer.mjs +51 -0
  65. package/es/components/virtual-table/style/css.d.ts +3 -0
  66. package/es/components/virtual-table/style/css.mjs +1 -0
  67. package/es/components/virtual-table/style/index.d.ts +12 -0
  68. package/es/components/virtual-table/style/index.mjs +1 -0
  69. package/es/components/yc-dialog/index.d.ts +24 -24
  70. package/es/components/yc-download-dialog/index.d.ts +19 -19
  71. package/es/components/yc-download-dialog/src/index.vue.d.ts +1 -1
  72. package/es/components/yc-form-container-header/index.d.ts +12 -12
  73. package/es/components/yc-more-actions/index.d.ts +46 -46
  74. package/es/components/yc-more-actions/src/index.vue.d.ts +3 -3
  75. package/es/components/yc-plus-page/src/index.vue.d.ts +2445 -1430
  76. package/es/components/yc-plus-page/src/index.vue.mjs +1 -1
  77. package/es/components/yc-plus-page/src/type.d.ts +8 -2
  78. package/es/components/yc-segmented/index.d.ts +2 -2
  79. package/es/components/yc-segmented/src/index.d.ts +2 -2
  80. package/es/components/yc-select-v2/src/index.vue.d.ts +3 -3
  81. package/es/components/yc-status-dialog/src/index.vue.d.ts +1 -1
  82. package/es/components/yc-tabs-with-filter/index.d.ts +16 -16
  83. package/es/components/yc-text/src/index.vue.d.ts +2 -2
  84. package/es/hooks/usePlusFormReset.d.ts +238 -238
  85. package/es/index.css +20 -1
  86. package/es/index.d.ts +1 -0
  87. package/es/index.mjs +4 -0
  88. package/es/yc-components/index.d.ts +1 -0
  89. package/index.css +111 -6
  90. package/index.js +1141 -149
  91. package/index.min.css +2 -1
  92. package/index.min.js +13 -10
  93. package/index.min.mjs +13 -10
  94. package/index.mjs +1139 -151
  95. package/lib/component.js +42 -40
  96. package/lib/components/check-card/index.d.ts +61 -61
  97. package/lib/components/check-card/src/index.vue.d.ts +4 -4
  98. package/lib/components/check-card-group/index.d.ts +43 -43
  99. package/lib/components/check-card-group/src/index.vue.d.ts +3 -3
  100. package/lib/components/date-picker/index.d.ts +20 -20
  101. package/lib/components/date-picker/src/index.vue.d.ts +12 -12
  102. package/lib/components/dialog/index.d.ts +26 -26
  103. package/lib/components/dialog/src/index.vue.d.ts +2 -2
  104. package/lib/components/dialog-form/index.d.ts +31 -31
  105. package/lib/components/dialog-form/src/index.vue.d.ts +9 -9
  106. package/lib/components/display-item/index.d.ts +41 -41
  107. package/lib/components/display-item/src/index.vue.d.ts +22 -22
  108. package/lib/components/drawer-form/index.d.ts +65 -65
  109. package/lib/components/drawer-form/src/index.vue.d.ts +15 -15
  110. package/lib/components/form/index.d.ts +45 -45
  111. package/lib/components/form/src/form-content.vue.d.ts +20 -20
  112. package/lib/components/form/src/index.vue.d.ts +17 -17
  113. package/lib/components/form-item/index.d.ts +48 -48
  114. package/lib/components/form-item/src/index.vue.d.ts +14 -14
  115. package/lib/components/header/index.d.ts +19 -19
  116. package/lib/components/header/src/index.vue.d.ts +1 -1
  117. package/lib/components/index.d.ts +1 -0
  118. package/lib/components/index.js +98 -90
  119. package/lib/components/input-tag/index.d.ts +15 -15
  120. package/lib/components/input-tag/src/index.vue.d.ts +3 -3
  121. package/lib/components/layout/index.d.ts +50 -50
  122. package/lib/components/layout/src/index.vue.d.ts +11 -11
  123. package/lib/components/page/index.d.ts +4166 -2538
  124. package/lib/components/page/src/index.vue.d.ts +712 -137
  125. package/lib/components/page/src/index.vue2.js +125 -36
  126. package/lib/components/pagination/index.d.ts +42 -42
  127. package/lib/components/pagination/src/index.vue.d.ts +3 -3
  128. package/lib/components/radio/index.d.ts +35 -35
  129. package/lib/components/radio/src/index.vue.d.ts +27 -27
  130. package/lib/components/render/index.d.ts +3 -3
  131. package/lib/components/render/src/index.vue.d.ts +1 -1
  132. package/lib/components/search/index.d.ts +154 -154
  133. package/lib/components/search/src/index.vue.d.ts +50 -50
  134. package/lib/components/sidebar/index.d.ts +15 -15
  135. package/lib/components/sidebar/src/index.vue.d.ts +5 -5
  136. package/lib/components/steps-form/index.d.ts +23 -23
  137. package/lib/components/steps-form/src/index.vue.d.ts +2 -2
  138. package/lib/components/table/src/table-column.vue.d.ts +37 -37
  139. package/lib/components/utils/index.d.ts +2 -2
  140. package/lib/components/virtual-table/index.d.ts +646 -0
  141. package/lib/components/virtual-table/index.js +13 -0
  142. package/lib/components/virtual-table/src/index.vue.d.ts +139 -0
  143. package/lib/components/virtual-table/src/index.vue.js +10 -0
  144. package/lib/components/virtual-table/src/index.vue2.js +331 -0
  145. package/lib/components/virtual-table/src/type.d.ts +295 -0
  146. package/lib/components/virtual-table/src/type.js +2 -0
  147. package/lib/components/virtual-table/src/use-column-adapter.d.ts +40 -0
  148. package/lib/components/virtual-table/src/use-column-adapter.js +139 -0
  149. package/lib/components/virtual-table/src/use-virtual-scroll.d.ts +35 -0
  150. package/lib/components/virtual-table/src/use-virtual-scroll.js +73 -0
  151. package/lib/components/virtual-table/src/use-virtual-selection.d.ts +40 -0
  152. package/lib/components/virtual-table/src/use-virtual-selection.js +114 -0
  153. package/lib/components/virtual-table/src/virtual-table-action-bar.d.ts +11 -0
  154. package/lib/components/virtual-table/src/virtual-table-action-bar.js +123 -0
  155. package/lib/components/virtual-table/src/virtual-table-cell-renderer.d.ts +16 -0
  156. package/lib/components/virtual-table/src/virtual-table-cell-renderer.js +172 -0
  157. package/lib/components/virtual-table/src/virtual-table-header-renderer.d.ts +10 -0
  158. package/lib/components/virtual-table/src/virtual-table-header-renderer.js +53 -0
  159. package/lib/components/virtual-table/style/css.d.ts +3 -0
  160. package/lib/components/virtual-table/style/css.js +2 -0
  161. package/lib/components/virtual-table/style/index.d.ts +12 -0
  162. package/lib/components/virtual-table/style/index.js +2 -0
  163. package/lib/components/yc-dialog/index.d.ts +24 -24
  164. package/lib/components/yc-download-dialog/index.d.ts +19 -19
  165. package/lib/components/yc-download-dialog/src/index.vue.d.ts +1 -1
  166. package/lib/components/yc-form-container-header/index.d.ts +12 -12
  167. package/lib/components/yc-more-actions/index.d.ts +46 -46
  168. package/lib/components/yc-more-actions/src/index.vue.d.ts +3 -3
  169. package/lib/components/yc-plus-page/src/index.vue.d.ts +2445 -1430
  170. package/lib/components/yc-plus-page/src/index.vue.js +1 -1
  171. package/lib/components/yc-plus-page/src/type.d.ts +8 -2
  172. package/lib/components/yc-segmented/index.d.ts +2 -2
  173. package/lib/components/yc-segmented/src/index.d.ts +2 -2
  174. package/lib/components/yc-select-v2/src/index.vue.d.ts +3 -3
  175. package/lib/components/yc-status-dialog/src/index.vue.d.ts +1 -1
  176. package/lib/components/yc-tabs-with-filter/index.d.ts +16 -16
  177. package/lib/components/yc-text/src/index.vue.d.ts +2 -2
  178. package/lib/hooks/usePlusFormReset.d.ts +238 -238
  179. package/lib/index.css +20 -1
  180. package/lib/index.d.ts +1 -0
  181. package/lib/index.js +143 -135
  182. package/lib/yc-components/index.d.ts +1 -0
  183. package/locale/en.js +1 -1
  184. package/locale/en.min.js +1 -1
  185. package/locale/en.min.mjs +1 -1
  186. package/locale/en.mjs +1 -1
  187. package/locale/ja.js +1 -1
  188. package/locale/ja.min.js +1 -1
  189. package/locale/ja.min.mjs +1 -1
  190. package/locale/ja.mjs +1 -1
  191. package/locale/ko.js +1 -1
  192. package/locale/ko.min.js +1 -1
  193. package/locale/ko.min.mjs +1 -1
  194. package/locale/ko.mjs +1 -1
  195. package/locale/zh-cn.js +1 -1
  196. package/locale/zh-cn.min.js +1 -1
  197. package/locale/zh-cn.min.mjs +1 -1
  198. package/locale/zh-cn.mjs +1 -1
  199. package/locale/zh-tw.js +1 -1
  200. package/locale/zh-tw.min.js +1 -1
  201. package/locale/zh-tw.min.mjs +1 -1
  202. package/locale/zh-tw.mjs +1 -1
  203. package/package.json +1 -1
  204. package/theme-chalk/index.css +1 -1
  205. package/theme-chalk/plus-virtual-table.css +1 -0
  206. package/theme-chalk/src/index.scss +3 -0
  207. package/theme-chalk/src/virtual-table.scss +128 -0
package/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
- /*! yc-pro-components v0.0.42 */
1
+ /*! yc-pro-components v0.0.44 */
2
2
  import { unref, isRef, ref, inject, isReactive, watch, computed, shallowRef, provide, onMounted, nextTick, onBeforeUnmount, defineComponent, useAttrs, watchEffect, openBlock, createBlock, mergeProps, createSlots, withCtx, createElementVNode, renderSlot, normalizeStyle, createVNode, createTextVNode, toDisplayString, createElementBlock, normalizeClass, createCommentVNode, reactive, Fragment, renderList, resolveDynamicComponent, normalizeProps, guardReactiveProps, h, withDirectives, isVNode, withKeys, withModifiers, TransitionGroup, toHandlers, getCurrentInstance, resolveComponent, toRefs, useSlots, onUnmounted, resolveDirective, pushScopeId, popScopeId, onBeforeMount, getCurrentScope, onScopeDispose, toRef, mergeModels, useModel, vShow, hasInjectionContext, markRaw, effectScope, toRaw } from 'vue';
3
- import { dayjs, localeContextKey, ElDialog, ElButton, ElPagination, ElRadioGroup, ElRadio, ElTableColumn, ElDropdown, ElDropdownMenu, ElDropdownItem, ElIcon, ElTooltip, ElPopconfirm, ElLink, ElMessageBox, useFormDisabled, ElDatePicker, ClickOutside, ElTag, ElInput, ElAutocomplete, ElCascader, ElCheckboxGroup, ElCheckbox, ElColorPicker, ElInputNumber, ElRate, ElSelect, ElOption, ElSlider, ElSwitch, ElTimePicker, ElTimeSelect, ElTransfer, ElTreeSelect, ElSelectV2, ElText, ElDivider, ElFormItem, ElOptionGroup, ElRow, ElCol, ElForm, ElCard, ElMessage, ElImage, ElProgress, ElAvatar, ElPopover, ElTable, vLoading, ElDescriptions, ElDescriptionsItem, ElDrawer, ElSteps, ElStep, ElBreadcrumb, ElBreadcrumbItem, ElMenuItem, ElSubMenu, ElMenu, ElScrollbar, ElHeader, ElContainer, ElMain, ElBacktop } from 'element-plus';
3
+ import { dayjs, localeContextKey, ElDialog, ElButton, ElPagination, ElRadioGroup, ElRadio, ElTableColumn, ElDropdown, ElDropdownMenu, ElDropdownItem, ElIcon, ElTooltip, ElPopconfirm, ElLink, ElMessageBox, useFormDisabled, ElDatePicker, ClickOutside, ElTag, ElInput, ElAutocomplete, ElCascader, ElCheckboxGroup, ElCheckbox, ElColorPicker, ElInputNumber, ElRate, ElSelect, ElOption, ElSlider, ElSwitch, ElTimePicker, ElTimeSelect, ElTransfer, ElTreeSelect, ElSelectV2, ElText, ElDivider, ElFormItem, ElOptionGroup, ElRow, ElCol, ElForm, ElCard, ElMessage, ElImage, ElProgress, ElAvatar, ElPopover, ElTable, vLoading, ElDescriptions, ElDescriptionsItem, ElDrawer, TableV2FixedDir, ElAutoResizer, ElTableV2, ElSteps, ElStep, ElBreadcrumb, ElBreadcrumbItem, ElMenuItem, ElSubMenu, ElMenu, ElScrollbar, ElHeader, ElContainer, ElMain, ElBacktop } from 'element-plus';
4
4
 
5
5
  const makeInstaller = (components = []) => {
6
6
  const install = (app) => {
@@ -4668,7 +4668,7 @@ function formatDate(date, format = "YYYY-MM-DD HH:mm:ss") {
4668
4668
  if (!date) return "";
4669
4669
  return dayjs(date || /* @__PURE__ */ new Date()).format(format);
4670
4670
  }
4671
- function formatMoney(val, format = "\uFFE5", decimal = 2) {
4671
+ function formatMoney$1(val, format = "\uFFE5", decimal = 2) {
4672
4672
  if (!val) return "";
4673
4673
  return `${format}${Number(val).toFixed(decimal)}`;
4674
4674
  }
@@ -4760,7 +4760,7 @@ const compareVersion = (version1, version2) => {
4760
4760
  };
4761
4761
  const versionIsLessThan260 = compareVersion(version$2, "2.6.0") < 0;
4762
4762
  const versionIsLessThan299 = compareVersion(version$2, "2.9.9") < 0;
4763
- const getLabel = (label) => label ? unref(label) : "";
4763
+ const getLabel$1 = (label) => label ? unref(label) : "";
4764
4764
  const removeChildrenField = (item) => {
4765
4765
  const { children, ...rest } = item;
4766
4766
  const data = { ...rest, __children: children };
@@ -8586,8 +8586,8 @@ function useDictInjection(dictStore) {
8586
8586
  provide(DictStoreInjectionKey, dictStore);
8587
8587
  }
8588
8588
 
8589
- const _hoisted_1$s = { class: "plus-dialog-body" };
8590
- var _sfc_main$L = /* @__PURE__ */ defineComponent({
8589
+ const _hoisted_1$t = { class: "plus-dialog-body" };
8590
+ var _sfc_main$M = /* @__PURE__ */ defineComponent({
8591
8591
  ...{
8592
8592
  name: "PlusDialog",
8593
8593
  inheritAttrs: false
@@ -8670,7 +8670,7 @@ var _sfc_main$L = /* @__PURE__ */ defineComponent({
8670
8670
  style: mergedDialogStyle.value
8671
8671
  }, filteredAttrs.value), createSlots({
8672
8672
  default: withCtx(() => [
8673
- createElementVNode("div", _hoisted_1$s, [
8673
+ createElementVNode("div", _hoisted_1$t, [
8674
8674
  renderSlot(_ctx.$slots, "default")
8675
8675
  ])
8676
8676
  ]),
@@ -8742,25 +8742,25 @@ var _export_sfc = (sfc, props) => {
8742
8742
  return target;
8743
8743
  };
8744
8744
 
8745
- var Dialog = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__file", "index.vue"]]);
8745
+ var Dialog = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__file", "index.vue"]]);
8746
8746
 
8747
8747
  const PlusDialog = Dialog;
8748
8748
 
8749
- const _hoisted_1$r = /* @__PURE__ */ createElementVNode(
8749
+ const _hoisted_1$s = /* @__PURE__ */ createElementVNode(
8750
8750
  "span",
8751
8751
  null,
8752
8752
  null,
8753
8753
  -1
8754
8754
  /* HOISTED */
8755
8755
  );
8756
- const _hoisted_2$h = /* @__PURE__ */ createElementVNode(
8756
+ const _hoisted_2$i = /* @__PURE__ */ createElementVNode(
8757
8757
  "span",
8758
8758
  null,
8759
8759
  null,
8760
8760
  -1
8761
8761
  /* HOISTED */
8762
8762
  );
8763
- var _sfc_main$K = /* @__PURE__ */ defineComponent({
8763
+ var _sfc_main$L = /* @__PURE__ */ defineComponent({
8764
8764
  ...{
8765
8765
  name: "PlusPagination"
8766
8766
  },
@@ -8802,7 +8802,7 @@ var _sfc_main$K = /* @__PURE__ */ defineComponent({
8802
8802
  },
8803
8803
  [
8804
8804
  _ctx.align === "right" || _ctx.align === "center" ? renderSlot(_ctx.$slots, "pagination-left", { key: 0 }, () => [
8805
- _hoisted_1$r
8805
+ _hoisted_1$s
8806
8806
  ]) : createCommentVNode("v-if", true),
8807
8807
  createVNode(unref(ElPagination), mergeProps({
8808
8808
  layout: "total, sizes, prev, pager, next, jumper",
@@ -8816,7 +8816,7 @@ var _sfc_main$K = /* @__PURE__ */ defineComponent({
8816
8816
  onCurrentChange: handleCurrentChange
8817
8817
  }), null, 16, ["current-page", "page-size", "total", "page-sizes"]),
8818
8818
  _ctx.align === "left" || _ctx.align === "center" ? renderSlot(_ctx.$slots, "pagination-right", { key: 1 }, () => [
8819
- _hoisted_2$h
8819
+ _hoisted_2$i
8820
8820
  ]) : createCommentVNode("v-if", true)
8821
8821
  ],
8822
8822
  2
@@ -8826,11 +8826,11 @@ var _sfc_main$K = /* @__PURE__ */ defineComponent({
8826
8826
  }
8827
8827
  });
8828
8828
 
8829
- var Pagination = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__file", "index.vue"]]);
8829
+ var Pagination = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__file", "index.vue"]]);
8830
8830
 
8831
8831
  const PlusPagination = Pagination;
8832
8832
 
8833
- var _sfc_main$J = /* @__PURE__ */ defineComponent({
8833
+ var _sfc_main$K = /* @__PURE__ */ defineComponent({
8834
8834
  ...{
8835
8835
  name: "PlusRadio"
8836
8836
  },
@@ -9015,7 +9015,7 @@ var _sfc_main$J = /* @__PURE__ */ defineComponent({
9015
9015
  }
9016
9016
  });
9017
9017
 
9018
- var Radio = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__file", "index.vue"]]);
9018
+ var Radio = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__file", "index.vue"]]);
9019
9019
 
9020
9020
  const PlusRadio = Radio;
9021
9021
 
@@ -15077,13 +15077,13 @@ var ElementPlusIconsVue = /*#__PURE__*/Object.freeze({
15077
15077
  ZoomOut: zoom_out_default
15078
15078
  });
15079
15079
 
15080
- const _hoisted_1$q = {
15080
+ const _hoisted_1$r = {
15081
15081
  key: 0,
15082
15082
  class: "plus-table-action-bar__dropdown__link"
15083
15083
  };
15084
- const _hoisted_2$g = { class: "plus-table-action-bar__dropdown__link" };
15085
- const _hoisted_3$c = { class: "plus-table-action-bar__more-text" };
15086
- var _sfc_main$I = /* @__PURE__ */ defineComponent({
15084
+ const _hoisted_2$h = { class: "plus-table-action-bar__dropdown__link" };
15085
+ const _hoisted_3$d = { class: "plus-table-action-bar__more-text" };
15086
+ var _sfc_main$J = /* @__PURE__ */ defineComponent({
15087
15087
  ...{
15088
15088
  name: "PlusTableActionBar"
15089
15089
  },
@@ -15399,7 +15399,7 @@ var _sfc_main$I = /* @__PURE__ */ defineComponent({
15399
15399
  )
15400
15400
  ]),
15401
15401
  default: withCtx(() => [
15402
- _ctx.moreType === "icon" ? (openBlock(), createElementBlock("span", _hoisted_1$q, [
15402
+ _ctx.moreType === "icon" ? (openBlock(), createElementBlock("span", _hoisted_1$r, [
15403
15403
  renderSlot(_ctx.$slots, "action-bar-more-icon", {}, () => [
15404
15404
  createVNode(unref(ElIcon), null, {
15405
15405
  default: withCtx(() => [
@@ -15414,10 +15414,10 @@ var _sfc_main$I = /* @__PURE__ */ defineComponent({
15414
15414
  { key: 1 },
15415
15415
  [
15416
15416
  createCommentVNode(" \u9ED8\u8BA4 "),
15417
- createElementVNode("span", _hoisted_2$g, [
15417
+ createElementVNode("span", _hoisted_2$h, [
15418
15418
  createElementVNode(
15419
15419
  "span",
15420
- _hoisted_3$c,
15420
+ _hoisted_3$d,
15421
15421
  toDisplayString(unref(t)("plus.table.more")),
15422
15422
  1
15423
15423
  /* TEXT */
@@ -15448,9 +15448,9 @@ var _sfc_main$I = /* @__PURE__ */ defineComponent({
15448
15448
  }
15449
15449
  });
15450
15450
 
15451
- var PlusTableActionBar = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__file", "table-action-bar.vue"]]);
15451
+ var PlusTableActionBar = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__file", "table-action-bar.vue"]]);
15452
15452
 
15453
- var _sfc_main$H = /* @__PURE__ */ defineComponent({
15453
+ var _sfc_main$I = /* @__PURE__ */ defineComponent({
15454
15454
  ...{
15455
15455
  name: "PlusRender"
15456
15456
  },
@@ -15518,12 +15518,12 @@ var _sfc_main$H = /* @__PURE__ */ defineComponent({
15518
15518
  }
15519
15519
  });
15520
15520
 
15521
- var Render = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__file", "index.vue"]]);
15521
+ var Render = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__file", "index.vue"]]);
15522
15522
 
15523
15523
  const PlusRender = Render;
15524
15524
 
15525
- const _hoisted_1$p = { class: "plus-date-picker__middle" };
15526
- var _sfc_main$G = /* @__PURE__ */ defineComponent({
15525
+ const _hoisted_1$q = { class: "plus-date-picker__middle" };
15526
+ var _sfc_main$H = /* @__PURE__ */ defineComponent({
15527
15527
  ...{
15528
15528
  name: "PlusDatePicker"
15529
15529
  },
@@ -15628,7 +15628,7 @@ var _sfc_main$G = /* @__PURE__ */ defineComponent({
15628
15628
  }), null, 16, ["modelValue", "type", "value-format", "placeholder", "disabled"]),
15629
15629
  createElementVNode(
15630
15630
  "span",
15631
- _hoisted_1$p,
15631
+ _hoisted_1$q,
15632
15632
  toDisplayString(_ctx.rangeSeparator),
15633
15633
  1
15634
15634
  /* TEXT */
@@ -15659,11 +15659,11 @@ var _sfc_main$G = /* @__PURE__ */ defineComponent({
15659
15659
  }
15660
15660
  });
15661
15661
 
15662
- var DatePicker = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__file", "index.vue"]]);
15662
+ var DatePicker = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__file", "index.vue"]]);
15663
15663
 
15664
15664
  const PlusDatePicker = DatePicker;
15665
15665
 
15666
- var _sfc_main$F = /* @__PURE__ */ defineComponent({
15666
+ var _sfc_main$G = /* @__PURE__ */ defineComponent({
15667
15667
  ...{
15668
15668
  name: "PlusInputTag"
15669
15669
  },
@@ -15800,7 +15800,7 @@ var _sfc_main$F = /* @__PURE__ */ defineComponent({
15800
15800
  }
15801
15801
  });
15802
15802
 
15803
- var InputTag = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__file", "index.vue"]]);
15803
+ var InputTag = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__file", "index.vue"]]);
15804
15804
 
15805
15805
  const PlusInputTag = InputTag;
15806
15806
 
@@ -15894,17 +15894,17 @@ const hasFieldComponent = (valueType) => Object.keys(FieldComponentMap).includes
15894
15894
  );
15895
15895
  const getFieldComponent = (valueType) => Reflect.get(FieldComponentMap, valueType) || {};
15896
15896
 
15897
- const _hoisted_1$o = { class: "el-form-item__error" };
15898
- const _hoisted_2$f = { class: "plus-form-item__label" };
15899
- const _hoisted_3$b = {
15897
+ const _hoisted_1$p = { class: "el-form-item__error" };
15898
+ const _hoisted_2$g = { class: "plus-form-item__label" };
15899
+ const _hoisted_3$c = {
15900
15900
  key: 0,
15901
15901
  class: "plus-form-item-field"
15902
15902
  };
15903
- const _hoisted_4$8 = {
15903
+ const _hoisted_4$9 = {
15904
15904
  key: 1,
15905
15905
  class: "plus-form-item-field"
15906
15906
  };
15907
- var _sfc_main$E = /* @__PURE__ */ defineComponent({
15907
+ var _sfc_main$F = /* @__PURE__ */ defineComponent({
15908
15908
  ...{
15909
15909
  name: "PlusFormItem"
15910
15910
  },
@@ -15949,7 +15949,7 @@ var _sfc_main$E = /* @__PURE__ */ defineComponent({
15949
15949
  const state = ref();
15950
15950
  const customFieldPropsIsReady = ref(false);
15951
15951
  const valueIsReady = ref(false);
15952
- const labelValue = computed(() => getLabel(props.label));
15952
+ const labelValue = computed(() => getLabel$1(props.label));
15953
15953
  const formFieldRefs = inject(TableFormFieldRefInjectionKey, {});
15954
15954
  const tableRowInfo = inject(TableFormRowInfoInjectionKey, {});
15955
15955
  const params = computed(() => ({
@@ -16118,7 +16118,7 @@ var _sfc_main$E = /* @__PURE__ */ defineComponent({
16118
16118
  "label-width": _ctx.hasLabel ? (_a = customFormItemProps.value) == null ? void 0 : _a.labelWidth : "0px"
16119
16119
  }), createSlots({
16120
16120
  default: withCtx(() => [
16121
- _ctx.renderField && unref(isFunction)(_ctx.renderField) ? (openBlock(), createElementBlock("div", _hoisted_3$b, [
16121
+ _ctx.renderField && unref(isFunction)(_ctx.renderField) ? (openBlock(), createElementBlock("div", _hoisted_3$c, [
16122
16122
  valueIsReady.value ? (openBlock(), createBlock(unref(PlusRender), {
16123
16123
  key: 0,
16124
16124
  render: _ctx.renderField,
@@ -16128,7 +16128,7 @@ var _sfc_main$E = /* @__PURE__ */ defineComponent({
16128
16128
  "render-type": "form",
16129
16129
  "handle-change": handleChange
16130
16130
  }, null, 8, ["render", "params", "callback-value", "custom-field-props"])) : createCommentVNode("v-if", true)
16131
- ])) : _ctx.$slots[unref(getFieldSlotName)(_ctx.prop)] ? (openBlock(), createElementBlock("div", _hoisted_4$8, [
16131
+ ])) : _ctx.$slots[unref(getFieldSlotName)(_ctx.prop)] ? (openBlock(), createElementBlock("div", _hoisted_4$9, [
16132
16132
  renderSlot(_ctx.$slots, unref(getFieldSlotName)(_ctx.prop), mergeProps(params.value, { column: props }))
16133
16133
  ])) : _ctx.valueType === "select" && customFieldProps.value.multiple === true ? (openBlock(), createBlock(unref(ElSelect$1), mergeProps({
16134
16134
  key: 2,
@@ -16455,7 +16455,7 @@ var _sfc_main$E = /* @__PURE__ */ defineComponent({
16455
16455
  unref(isFunction)(_ctx.renderErrorMessage) ? {
16456
16456
  name: "error",
16457
16457
  fn: withCtx(({ error }) => [
16458
- createElementVNode("div", _hoisted_1$o, [
16458
+ createElementVNode("div", _hoisted_1$p, [
16459
16459
  (openBlock(), createBlock(resolveDynamicComponent(_ctx.renderErrorMessage), mergeProps(props, {
16460
16460
  value: state.value,
16461
16461
  error,
@@ -16468,7 +16468,7 @@ var _sfc_main$E = /* @__PURE__ */ defineComponent({
16468
16468
  _ctx.hasLabel ? {
16469
16469
  name: "label",
16470
16470
  fn: withCtx(({ label: currentLabel }) => [
16471
- createElementVNode("span", _hoisted_2$f, [
16471
+ createElementVNode("span", _hoisted_2$g, [
16472
16472
  _ctx.renderLabel && unref(isFunction)(_ctx.renderLabel) ? (openBlock(), createElementBlock(
16473
16473
  Fragment,
16474
16474
  { key: 0 },
@@ -16526,11 +16526,11 @@ var _sfc_main$E = /* @__PURE__ */ defineComponent({
16526
16526
  }
16527
16527
  });
16528
16528
 
16529
- var FormItem = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__file", "index.vue"]]);
16529
+ var FormItem = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__file", "index.vue"]]);
16530
16530
 
16531
16531
  const PlusFormItem = FormItem;
16532
16532
 
16533
- var _sfc_main$D = /* @__PURE__ */ defineComponent({
16533
+ var _sfc_main$E = /* @__PURE__ */ defineComponent({
16534
16534
  ...{
16535
16535
  name: "PlusCollapseTransition"
16536
16536
  },
@@ -16581,17 +16581,17 @@ var _sfc_main$D = /* @__PURE__ */ defineComponent({
16581
16581
  }
16582
16582
  });
16583
16583
 
16584
- var PlusCollapseTransition = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__file", "collapse-transition.vue"]]);
16584
+ var PlusCollapseTransition = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__file", "collapse-transition.vue"]]);
16585
16585
 
16586
- const _hoisted_1$n = {
16586
+ const _hoisted_1$o = {
16587
16587
  key: 0,
16588
16588
  class: "plus-form-item-previous"
16589
16589
  };
16590
- const _hoisted_2$e = {
16590
+ const _hoisted_2$f = {
16591
16591
  key: 1,
16592
16592
  class: "plus-form-item-extra"
16593
16593
  };
16594
- var _sfc_main$C = /* @__PURE__ */ defineComponent({
16594
+ var _sfc_main$D = /* @__PURE__ */ defineComponent({
16595
16595
  ...{
16596
16596
  name: "PlusFormContent"
16597
16597
  },
@@ -16672,7 +16672,7 @@ var _sfc_main$C = /* @__PURE__ */ defineComponent({
16672
16672
  }), {
16673
16673
  default: withCtx(() => [
16674
16674
  createCommentVNode(" el-form-item\u4E0A\u4E00\u884C\u7684\u5185\u5BB9 "),
16675
- item.renderPrevious || _ctx.$slots[unref(getPreviousSlotName)(item.prop)] ? (openBlock(), createElementBlock("div", _hoisted_1$n, [
16675
+ item.renderPrevious || _ctx.$slots[unref(getPreviousSlotName)(item.prop)] ? (openBlock(), createElementBlock("div", _hoisted_1$o, [
16676
16676
  unref(isFunction)(item.renderPrevious) ? (openBlock(), createBlock(
16677
16677
  resolveDynamicComponent(item.renderPrevious),
16678
16678
  normalizeProps(mergeProps({ key: 0 }, item)),
@@ -16714,7 +16714,7 @@ var _sfc_main$C = /* @__PURE__ */ defineComponent({
16714
16714
  } : void 0
16715
16715
  ]), 1040, ["model-value", "clearable", "has-label", "onChange"]),
16716
16716
  createCommentVNode(" el-form-item \u4E0B\u4E00\u884C\u989D\u5916\u7684\u5185\u5BB9 "),
16717
- item.renderExtra || _ctx.$slots[unref(getExtraSlotName)(item.prop)] ? (openBlock(), createElementBlock("div", _hoisted_2$e, [
16717
+ item.renderExtra || _ctx.$slots[unref(getExtraSlotName)(item.prop)] ? (openBlock(), createElementBlock("div", _hoisted_2$f, [
16718
16718
  item.renderExtra && unref(isFunction)(item.renderExtra) ? (openBlock(), createBlock(
16719
16719
  resolveDynamicComponent(item.renderExtra),
16720
16720
  normalizeProps(mergeProps({ key: 0 }, item)),
@@ -16745,10 +16745,10 @@ var _sfc_main$C = /* @__PURE__ */ defineComponent({
16745
16745
  }
16746
16746
  });
16747
16747
 
16748
- var PlusFormContent = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__file", "form-content.vue"]]);
16748
+ var PlusFormContent = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__file", "form-content.vue"]]);
16749
16749
 
16750
- const _hoisted_1$m = { class: "plus-form__group__item__icon" };
16751
- var _sfc_main$B = /* @__PURE__ */ defineComponent({
16750
+ const _hoisted_1$n = { class: "plus-form__group__item__icon" };
16751
+ var _sfc_main$C = /* @__PURE__ */ defineComponent({
16752
16752
  ...{
16753
16753
  name: "PlusForm",
16754
16754
  inheritAttrs: false
@@ -16913,7 +16913,7 @@ var _sfc_main$B = /* @__PURE__ */ defineComponent({
16913
16913
  icon: groupItem.icon,
16914
16914
  index
16915
16915
  }, () => [
16916
- createElementVNode("div", _hoisted_1$m, [
16916
+ createElementVNode("div", _hoisted_1$n, [
16917
16917
  groupItem.icon ? (openBlock(), createBlock(
16918
16918
  unref(ElIcon),
16919
16919
  { key: 0 },
@@ -17060,7 +17060,7 @@ var _sfc_main$B = /* @__PURE__ */ defineComponent({
17060
17060
  }
17061
17061
  });
17062
17062
 
17063
- var Form = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__file", "index.vue"]]);
17063
+ var Form = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__file", "index.vue"]]);
17064
17064
 
17065
17065
  const PlusForm = Form;
17066
17066
 
@@ -17093,7 +17093,7 @@ const DisplayComponentMap = {
17093
17093
  },
17094
17094
  money: {
17095
17095
  component: "span",
17096
- format: formatMoney
17096
+ format: formatMoney$1
17097
17097
  },
17098
17098
  code: {
17099
17099
  component: "span",
@@ -17103,9 +17103,9 @@ const DisplayComponentMap = {
17103
17103
  const hasDisplayComponent = (valueType) => Object.keys(DisplayComponentMap).includes(valueType);
17104
17104
  const getDisplayComponent = (valueType) => Reflect.get(DisplayComponentMap, valueType) || {};
17105
17105
 
17106
- const _hoisted_1$l = ["innerHTML"];
17107
- const _hoisted_2$d = { class: "plus-display-item" };
17108
- const _hoisted_3$a = /* @__PURE__ */ createElementVNode(
17106
+ const _hoisted_1$m = ["innerHTML"];
17107
+ const _hoisted_2$e = { class: "plus-display-item" };
17108
+ const _hoisted_3$b = /* @__PURE__ */ createElementVNode(
17109
17109
  "svg",
17110
17110
  {
17111
17111
  fill: "none",
@@ -17124,7 +17124,7 @@ const _hoisted_3$a = /* @__PURE__ */ createElementVNode(
17124
17124
  -1
17125
17125
  /* HOISTED */
17126
17126
  );
17127
- var _sfc_main$A = /* @__PURE__ */ defineComponent({
17127
+ var _sfc_main$B = /* @__PURE__ */ defineComponent({
17128
17128
  ...{
17129
17129
  name: "PlusDisplayItem"
17130
17130
  },
@@ -17514,7 +17514,7 @@ var _sfc_main$A = /* @__PURE__ */ defineComponent({
17514
17514
  createElementVNode("span", {
17515
17515
  class: "plus-display-item",
17516
17516
  innerHTML: _ctx.column.renderHTML(displayValue.value, renderParams.value)
17517
- }, null, 8, _hoisted_1$l)
17517
+ }, null, 8, _hoisted_1$m)
17518
17518
  ],
17519
17519
  2112
17520
17520
  /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
@@ -17620,7 +17620,7 @@ var _sfc_main$A = /* @__PURE__ */ defineComponent({
17620
17620
  { key: 5 },
17621
17621
  [
17622
17622
  createCommentVNode(" \u590D\u5236 "),
17623
- createElementVNode("span", _hoisted_2$d, [
17623
+ createElementVNode("span", _hoisted_2$e, [
17624
17624
  createTextVNode(
17625
17625
  toDisplayString(formatterValue.value) + " ",
17626
17626
  1
@@ -17746,7 +17746,7 @@ var _sfc_main$A = /* @__PURE__ */ defineComponent({
17746
17746
  "pointer-events": "none"
17747
17747
  }, {
17748
17748
  default: withCtx(() => [
17749
- _hoisted_3$a
17749
+ _hoisted_3$b
17750
17750
  ]),
17751
17751
  _: 1
17752
17752
  /* STABLE */
@@ -17760,13 +17760,13 @@ var _sfc_main$A = /* @__PURE__ */ defineComponent({
17760
17760
  }
17761
17761
  });
17762
17762
 
17763
- var DisplayItem = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["__file", "index.vue"]]);
17763
+ var DisplayItem = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__file", "index.vue"]]);
17764
17764
 
17765
17765
  const PlusDisplayItem = DisplayItem;
17766
17766
 
17767
- const _hoisted_1$k = { class: "plus-table-column__header-text" };
17768
- const _hoisted_2$c = { class: "plus-table-column__header-text" };
17769
- var _sfc_main$z = /* @__PURE__ */ defineComponent({
17767
+ const _hoisted_1$l = { class: "plus-table-column__header-text" };
17768
+ const _hoisted_2$d = { class: "plus-table-column__header-text" };
17769
+ var _sfc_main$A = /* @__PURE__ */ defineComponent({
17770
17770
  ...{
17771
17771
  name: "PlusTableColumn"
17772
17772
  },
@@ -17875,7 +17875,7 @@ var _sfc_main$z = /* @__PURE__ */ defineComponent({
17875
17875
  key: 0,
17876
17876
  render: item.renderHeader,
17877
17877
  params: { ...scoped, ...item, cellIndex: index },
17878
- "callback-value": unref(getLabel)(item.label)
17878
+ "callback-value": unref(getLabel$1)(item.label)
17879
17879
  }, null, 8, ["render", "params", "callback-value"])) : (openBlock(), createElementBlock(
17880
17880
  Fragment,
17881
17881
  { key: 1 },
@@ -17883,7 +17883,7 @@ var _sfc_main$z = /* @__PURE__ */ defineComponent({
17883
17883
  createCommentVNode("\u8868\u683C\u5355\u5143\u683CHeader\u7684\u63D2\u69FD "),
17884
17884
  renderSlot(_ctx.$slots, unref(getTableHeaderSlotName)(item.prop), mergeProps({
17885
17885
  prop: item.prop,
17886
- label: unref(getLabel)(item.label),
17886
+ label: unref(getLabel$1)(item.label),
17887
17887
  fieldProps: item.fieldProps,
17888
17888
  valueType: item.valueType,
17889
17889
  cellIndex: index
@@ -17893,15 +17893,15 @@ var _sfc_main$z = /* @__PURE__ */ defineComponent({
17893
17893
  createCommentVNode(" \u542F\u7528\u7701\u7565 + tooltip \u65F6 "),
17894
17894
  shouldShowHeaderTooltip(item) ? (openBlock(), createBlock(unref(ElTooltip), {
17895
17895
  key: 0,
17896
- content: unref(getLabel)(item.label),
17896
+ content: unref(getLabel$1)(item.label),
17897
17897
  placement: "top",
17898
17898
  "show-after": 300
17899
17899
  }, {
17900
17900
  default: withCtx(() => [
17901
17901
  createElementVNode(
17902
17902
  "span",
17903
- _hoisted_1$k,
17904
- toDisplayString(unref(getLabel)(item.label)),
17903
+ _hoisted_1$l,
17904
+ toDisplayString(unref(getLabel$1)(item.label)),
17905
17905
  1
17906
17906
  /* TEXT */
17907
17907
  )
@@ -17915,8 +17915,8 @@ var _sfc_main$z = /* @__PURE__ */ defineComponent({
17915
17915
  createCommentVNode(" \u542F\u7528\u7701\u7565\u4F46\u7981\u7528 tooltip \u65F6 "),
17916
17916
  createElementVNode(
17917
17917
  "span",
17918
- _hoisted_2$c,
17919
- toDisplayString(unref(getLabel)(item.label)),
17918
+ _hoisted_2$d,
17919
+ toDisplayString(unref(getLabel$1)(item.label)),
17920
17920
  1
17921
17921
  /* TEXT */
17922
17922
  )
@@ -17929,7 +17929,7 @@ var _sfc_main$z = /* @__PURE__ */ defineComponent({
17929
17929
  [
17930
17930
  createCommentVNode(" \u9ED8\u8BA4\u4E0D\u7701\u7565 "),
17931
17931
  createTextVNode(
17932
- toDisplayString(unref(getLabel)(item.label)),
17932
+ toDisplayString(unref(getLabel$1)(item.label)),
17933
17933
  1
17934
17934
  /* TEXT */
17935
17935
  )
@@ -18044,9 +18044,9 @@ var _sfc_main$z = /* @__PURE__ */ defineComponent({
18044
18044
  }
18045
18045
  });
18046
18046
 
18047
- var PlusTableColumn = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__file", "table-column.vue"]]);
18047
+ var PlusTableColumn = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["__file", "table-column.vue"]]);
18048
18048
 
18049
- var _sfc_main$y = /* @__PURE__ */ defineComponent({
18049
+ var _sfc_main$z = /* @__PURE__ */ defineComponent({
18050
18050
  ...{
18051
18051
  name: "PlusTableTableColumnIndex"
18052
18052
  },
@@ -18120,10 +18120,10 @@ var _sfc_main$y = /* @__PURE__ */ defineComponent({
18120
18120
  }
18121
18121
  });
18122
18122
 
18123
- var PlusTableTableColumnIndex = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__file", "table-column-index.vue"]]);
18123
+ var PlusTableTableColumnIndex = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__file", "table-column-index.vue"]]);
18124
18124
 
18125
- const _hoisted_1$j = { class: "plus-table-column-drag-icon" };
18126
- var _sfc_main$x = /* @__PURE__ */ defineComponent({
18125
+ const _hoisted_1$k = { class: "plus-table-column-drag-icon" };
18126
+ var _sfc_main$y = /* @__PURE__ */ defineComponent({
18127
18127
  ...{
18128
18128
  name: "PlusTableColumnDragSort"
18129
18129
  },
@@ -18174,7 +18174,7 @@ var _sfc_main$x = /* @__PURE__ */ defineComponent({
18174
18174
  "class-name": "plus-table-column-drag-sort"
18175
18175
  }, _ctx.dragSortableTableColumnProps), {
18176
18176
  default: withCtx(() => [
18177
- createElementVNode("span", _hoisted_1$j, [
18177
+ createElementVNode("span", _hoisted_1$k, [
18178
18178
  renderSlot(_ctx.$slots, "drag-sort-icon", {}, () => [
18179
18179
  createTextVNode("\u2637")
18180
18180
  ])
@@ -18187,13 +18187,13 @@ var _sfc_main$x = /* @__PURE__ */ defineComponent({
18187
18187
  }
18188
18188
  });
18189
18189
 
18190
- var PlusTableColumnDragSort = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__file", "table-column-drag-sort.vue"]]);
18190
+ var PlusTableColumnDragSort = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__file", "table-column-drag-sort.vue"]]);
18191
18191
 
18192
- const _hoisted_1$i = {
18192
+ const _hoisted_1$j = {
18193
18193
  key: 0,
18194
18194
  style: { "padding-top": "12px" }
18195
18195
  };
18196
- var _sfc_main$w = /* @__PURE__ */ defineComponent({
18196
+ var _sfc_main$x = /* @__PURE__ */ defineComponent({
18197
18197
  ...{
18198
18198
  name: "PlusPopover"
18199
18199
  },
@@ -18252,7 +18252,7 @@ var _sfc_main$w = /* @__PURE__ */ defineComponent({
18252
18252
  ]),
18253
18253
  default: withCtx(() => [
18254
18254
  renderSlot(_ctx.$slots, "default"),
18255
- _ctx.hasShowBottomButton ? (openBlock(), createElementBlock("div", _hoisted_1$i, [
18255
+ _ctx.hasShowBottomButton ? (openBlock(), createElementBlock("div", _hoisted_1$j, [
18256
18256
  createVNode(unref(ElButton), {
18257
18257
  size: "small",
18258
18258
  plain: "",
@@ -18293,14 +18293,14 @@ var _sfc_main$w = /* @__PURE__ */ defineComponent({
18293
18293
  }
18294
18294
  });
18295
18295
 
18296
- var Popover = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__file", "index.vue"]]);
18296
+ var Popover = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__file", "index.vue"]]);
18297
18297
 
18298
18298
  const PlusPopover = Popover;
18299
18299
 
18300
- const _hoisted_1$h = { class: "plus-table-title-bar" };
18301
- const _hoisted_2$b = { class: "plus-table-title-bar__title" };
18302
- const _hoisted_3$9 = { class: "plus-table-title-bar__toolbar" };
18303
- const _hoisted_4$7 = { class: "plus-table-title-bar__toolbar__density" };
18300
+ const _hoisted_1$i = { class: "plus-table-title-bar" };
18301
+ const _hoisted_2$c = { class: "plus-table-title-bar__title" };
18302
+ const _hoisted_3$a = { class: "plus-table-title-bar__toolbar" };
18303
+ const _hoisted_4$8 = { class: "plus-table-title-bar__toolbar__density" };
18304
18304
  const _hoisted_5$7 = /* @__PURE__ */ createElementVNode(
18305
18305
  "svg",
18306
18306
  {
@@ -18323,7 +18323,7 @@ const _hoisted_7$4 = {
18323
18323
  };
18324
18324
  const _hoisted_8$2 = { key: 1 };
18325
18325
  const _hoisted_9$2 = { key: 1 };
18326
- var _sfc_main$v = /* @__PURE__ */ defineComponent({
18326
+ var _sfc_main$w = /* @__PURE__ */ defineComponent({
18327
18327
  ...{
18328
18328
  name: "PlusTableToolbar"
18329
18329
  },
@@ -18430,7 +18430,7 @@ var _sfc_main$v = /* @__PURE__ */ defineComponent({
18430
18430
  emit("refresh");
18431
18431
  };
18432
18432
  const getLabelValue = (label) => {
18433
- const tempLabel = getLabel(label);
18433
+ const tempLabel = getLabel$1(label);
18434
18434
  if (tempLabel && (tempLabel == null ? void 0 : tempLabel.length) <= overflowLabelLength.value) {
18435
18435
  return tempLabel;
18436
18436
  }
@@ -18474,8 +18474,8 @@ var _sfc_main$v = /* @__PURE__ */ defineComponent({
18474
18474
  });
18475
18475
  return (_ctx, _cache) => {
18476
18476
  var _a, _b, _c;
18477
- return openBlock(), createElementBlock("div", _hoisted_1$h, [
18478
- createElementVNode("div", _hoisted_2$b, [
18477
+ return openBlock(), createElementBlock("div", _hoisted_1$i, [
18478
+ createElementVNode("div", _hoisted_2$c, [
18479
18479
  renderSlot(_ctx.$slots, "title", {}, () => [
18480
18480
  createTextVNode(
18481
18481
  toDisplayString(titleBarConfig.value.title),
@@ -18484,7 +18484,7 @@ var _sfc_main$v = /* @__PURE__ */ defineComponent({
18484
18484
  )
18485
18485
  ])
18486
18486
  ]),
18487
- createElementVNode("div", _hoisted_3$9, [
18487
+ createElementVNode("div", _hoisted_3$a, [
18488
18488
  renderSlot(_ctx.$slots, "toolbar"),
18489
18489
  ((_a = titleBarConfig.value) == null ? void 0 : _a.refresh) === true ? (openBlock(), createElementBlock("span", {
18490
18490
  key: 0,
@@ -18549,7 +18549,7 @@ var _sfc_main$v = /* @__PURE__ */ defineComponent({
18549
18549
  }, 8, ["content"])
18550
18550
  ]),
18551
18551
  default: withCtx(() => [
18552
- createElementVNode("div", _hoisted_4$7, [
18552
+ createElementVNode("div", _hoisted_4$8, [
18553
18553
  (openBlock(), createElementBlock(
18554
18554
  Fragment,
18555
18555
  null,
@@ -18688,9 +18688,9 @@ var _sfc_main$v = /* @__PURE__ */ defineComponent({
18688
18688
  class: "plus-table-title-bar__toolbar__checkbox__item"
18689
18689
  }, {
18690
18690
  default: withCtx(() => [
18691
- unref(getLabel)(item.label).length > overflowLabelLength.value ? (openBlock(), createBlock(unref(ElTooltip), {
18691
+ unref(getLabel$1)(item.label).length > overflowLabelLength.value ? (openBlock(), createBlock(unref(ElTooltip), {
18692
18692
  key: 0,
18693
- content: unref(getLabel)(item.label),
18693
+ content: unref(getLabel$1)(item.label),
18694
18694
  placement: "right-start"
18695
18695
  }, {
18696
18696
  default: withCtx(() => [
@@ -18723,9 +18723,9 @@ var _sfc_main$v = /* @__PURE__ */ defineComponent({
18723
18723
  class: "plus-table-title-bar__toolbar__checkbox__item"
18724
18724
  }, {
18725
18725
  default: withCtx(() => [
18726
- unref(getLabel)(item.label).length > overflowLabelLength.value ? (openBlock(), createBlock(unref(ElTooltip), {
18726
+ unref(getLabel$1)(item.label).length > overflowLabelLength.value ? (openBlock(), createBlock(unref(ElTooltip), {
18727
18727
  key: 0,
18728
- content: unref(getLabel)(item.label),
18728
+ content: unref(getLabel$1)(item.label),
18729
18729
  placement: "right-start"
18730
18730
  }, {
18731
18731
  default: withCtx(() => [
@@ -18776,10 +18776,10 @@ var _sfc_main$v = /* @__PURE__ */ defineComponent({
18776
18776
  }
18777
18777
  });
18778
18778
 
18779
- var PlusTableTitleBar = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__file", "table-title-bar.vue"]]);
18779
+ var PlusTableTitleBar = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__file", "table-title-bar.vue"]]);
18780
18780
 
18781
- const _hoisted_1$g = { class: "plus-table-expand-col" };
18782
- var _sfc_main$u = /* @__PURE__ */ defineComponent({
18781
+ const _hoisted_1$h = { class: "plus-table-expand-col" };
18782
+ var _sfc_main$v = /* @__PURE__ */ defineComponent({
18783
18783
  ...{
18784
18784
  name: "PlusTable",
18785
18785
  inheritAttrs: false
@@ -19132,7 +19132,7 @@ var _sfc_main$u = /* @__PURE__ */ defineComponent({
19132
19132
  }, _ctx.expandTableColumnProps),
19133
19133
  {
19134
19134
  default: withCtx((scoped) => [
19135
- createElementVNode("div", _hoisted_1$g, [
19135
+ createElementVNode("div", _hoisted_1$h, [
19136
19136
  renderSlot(_ctx.$slots, "expand", mergeProps({
19137
19137
  index: scoped.$index
19138
19138
  }, scoped))
@@ -19235,11 +19235,11 @@ var _sfc_main$u = /* @__PURE__ */ defineComponent({
19235
19235
  }
19236
19236
  });
19237
19237
 
19238
- var _Table = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__file", "index.vue"]]);
19238
+ var _Table = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__file", "index.vue"]]);
19239
19239
 
19240
19240
  const PlusTable = _Table;
19241
19241
 
19242
- var _sfc_main$t = /* @__PURE__ */ defineComponent({
19242
+ var _sfc_main$u = /* @__PURE__ */ defineComponent({
19243
19243
  ...{
19244
19244
  name: "PlusDescriptions"
19245
19245
  },
@@ -19342,14 +19342,14 @@ var _sfc_main$t = /* @__PURE__ */ defineComponent({
19342
19342
  var _a, _b;
19343
19343
  return openBlock(), createBlock(unref(ElDescriptionsItem), mergeProps({
19344
19344
  key: item.prop,
19345
- label: unref(getLabel)(item.label),
19345
+ label: unref(getLabel$1)(item.label),
19346
19346
  "class-name": (((_a = item.descriptionsItemProps) == null ? void 0 : _a.className) || "") + " plus-description__name plus-description__content",
19347
19347
  "label-class-name": (((_b = item.descriptionsItemProps) == null ? void 0 : _b.labelClassName) || "") + " plus-description__label" + (getIsRequired(item, index) ? " is-required" : "")
19348
19348
  }, item.descriptionsItemProps || _ctx.descriptionsItemProps), {
19349
19349
  label: withCtx(() => [
19350
19350
  item.renderDescriptionsLabel && unref(isFunction)(item.renderDescriptionsLabel) ? (openBlock(), createBlock(resolveDynamicComponent(item.renderDescriptionsLabel), {
19351
19351
  key: 0,
19352
- label: unref(getLabel)(item.label),
19352
+ label: unref(getLabel$1)(item.label),
19353
19353
  column: item,
19354
19354
  row: _ctx.data
19355
19355
  }, null, 8, ["label", "column", "row"])) : _ctx.$slots[unref(getDescLabelSlotName)(item.prop)] ? (openBlock(), createElementBlock(
@@ -19360,7 +19360,7 @@ var _sfc_main$t = /* @__PURE__ */ defineComponent({
19360
19360
  renderSlot(_ctx.$slots, unref(getDescLabelSlotName)(item.prop), {
19361
19361
  column: item,
19362
19362
  row: _ctx.data,
19363
- label: unref(getLabel)(item.label)
19363
+ label: unref(getLabel$1)(item.label)
19364
19364
  })
19365
19365
  ],
19366
19366
  64
@@ -19371,7 +19371,7 @@ var _sfc_main$t = /* @__PURE__ */ defineComponent({
19371
19371
  [
19372
19372
  createCommentVNode(" normal "),
19373
19373
  createTextVNode(
19374
- toDisplayString(unref(getLabel)(item.label)),
19374
+ toDisplayString(unref(getLabel$1)(item.label)),
19375
19375
  1
19376
19376
  /* TEXT */
19377
19377
  )
@@ -19447,11 +19447,11 @@ var _sfc_main$t = /* @__PURE__ */ defineComponent({
19447
19447
  }
19448
19448
  });
19449
19449
 
19450
- var Descriptions = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__file", "index.vue"]]);
19450
+ var Descriptions = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__file", "index.vue"]]);
19451
19451
 
19452
19452
  const PlusDescriptions = Descriptions;
19453
19453
 
19454
- var _sfc_main$s = /* @__PURE__ */ defineComponent({
19454
+ var _sfc_main$t = /* @__PURE__ */ defineComponent({
19455
19455
  ...{
19456
19456
  name: "PlusSearch"
19457
19457
  },
@@ -19666,11 +19666,11 @@ var _sfc_main$s = /* @__PURE__ */ defineComponent({
19666
19666
  }
19667
19667
  });
19668
19668
 
19669
- var Search = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__file", "index.vue"]]);
19669
+ var Search = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__file", "index.vue"]]);
19670
19670
 
19671
19671
  const PlusSearch = Search;
19672
19672
 
19673
- var _sfc_main$r = /* @__PURE__ */ defineComponent({
19673
+ var _sfc_main$s = /* @__PURE__ */ defineComponent({
19674
19674
  ...{
19675
19675
  name: "PlusDialogForm"
19676
19676
  },
@@ -19832,12 +19832,12 @@ var _sfc_main$r = /* @__PURE__ */ defineComponent({
19832
19832
  }
19833
19833
  });
19834
19834
 
19835
- var DialogForm = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__file", "index.vue"]]);
19835
+ var DialogForm = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__file", "index.vue"]]);
19836
19836
 
19837
19837
  const PlusDialogForm = DialogForm;
19838
19838
 
19839
- const _hoisted_1$f = { class: "plus-drawer-form__footer" };
19840
- var _sfc_main$q = /* @__PURE__ */ defineComponent({
19839
+ const _hoisted_1$g = { class: "plus-drawer-form__footer" };
19840
+ var _sfc_main$r = /* @__PURE__ */ defineComponent({
19841
19841
  ...{
19842
19842
  name: "PlusDrawerForm"
19843
19843
  },
@@ -19992,7 +19992,7 @@ var _sfc_main$q = /* @__PURE__ */ defineComponent({
19992
19992
  _ctx.hasFooter ? {
19993
19993
  name: "footer",
19994
19994
  fn: withCtx(() => [
19995
- createElementVNode("div", _hoisted_1$f, [
19995
+ createElementVNode("div", _hoisted_1$g, [
19996
19996
  renderSlot(_ctx.$slots, "drawer-footer", normalizeProps(guardReactiveProps({ handleConfirm, handleCancel })), () => [
19997
19997
  createVNode(unref(ElButton), { onClick: handleCancel }, {
19998
19998
  default: withCtx(() => [
@@ -20030,10 +20030,909 @@ var _sfc_main$q = /* @__PURE__ */ defineComponent({
20030
20030
  }
20031
20031
  });
20032
20032
 
20033
- var DrawerForm = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__file", "index.vue"]]);
20033
+ var DrawerForm = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__file", "index.vue"]]);
20034
20034
 
20035
20035
  const PlusDrawerForm = DrawerForm;
20036
20036
 
20037
+ function isEmpty(value) {
20038
+ return value === null || value === void 0 || value === "";
20039
+ }
20040
+ function findOptionByValue(options, value) {
20041
+ const arr = unref(options);
20042
+ if (!Array.isArray(arr)) return void 0;
20043
+ return arr.find((opt) => opt.value === value);
20044
+ }
20045
+ function renderOptionStatus(option) {
20046
+ const { label, color, type: statusType } = option;
20047
+ const colorMap = {
20048
+ success: "#67c23a",
20049
+ warning: "#e6a23c",
20050
+ info: "#909399",
20051
+ primary: "#409eff",
20052
+ danger: "#f56c6c"
20053
+ };
20054
+ const dotColor = color || (statusType ? colorMap[statusType] : void 0);
20055
+ if (dotColor) {
20056
+ return /* @__PURE__ */ React.createElement("span", { class: "plus-table-column-status" }, /* @__PURE__ */ React.createElement(
20057
+ "span",
20058
+ {
20059
+ class: "plus-table-column-status__dot",
20060
+ style: { backgroundColor: dotColor }
20061
+ }
20062
+ ), /* @__PURE__ */ React.createElement("span", { class: "plus-table-column-status__text" }, label != null ? label : ""));
20063
+ }
20064
+ return /* @__PURE__ */ React.createElement("span", null, label != null ? label : "");
20065
+ }
20066
+ function renderByValueType(valueType, value, column, _row) {
20067
+ var _a;
20068
+ switch (valueType) {
20069
+ case "img": {
20070
+ const imgProps = {
20071
+ src: value,
20072
+ "preview-src-list": [value],
20073
+ fit: "cover",
20074
+ class: "plus-display-item__image",
20075
+ style: { width: "40px", height: "40px" }
20076
+ };
20077
+ return /* @__PURE__ */ React.createElement(ElImage, { ...imgProps });
20078
+ }
20079
+ case "link": {
20080
+ const linkProps = {
20081
+ href: value,
20082
+ type: "primary",
20083
+ class: "plus-display-item__link"
20084
+ };
20085
+ return /* @__PURE__ */ React.createElement(ElLink, { ...linkProps }, column.linkText || value);
20086
+ }
20087
+ case "tag": {
20088
+ const tagOption = findOptionByValue(column.options, value);
20089
+ if (tagOption) {
20090
+ const tagProps = { type: tagOption.type || "" };
20091
+ return /* @__PURE__ */ React.createElement(ElTag, { ...tagProps }, (_a = tagOption.label) != null ? _a : value);
20092
+ }
20093
+ return /* @__PURE__ */ React.createElement(ElTag, null, String(value != null ? value : ""));
20094
+ }
20095
+ case "money":
20096
+ return /* @__PURE__ */ React.createElement("span", null, formatMoney(value));
20097
+ case "progress": {
20098
+ const progressProps = { percentage: Number(value) || 0 };
20099
+ return /* @__PURE__ */ React.createElement(ElProgress, { ...progressProps });
20100
+ }
20101
+ case "avatar": {
20102
+ const avatarProps = { src: value };
20103
+ return /* @__PURE__ */ React.createElement(ElAvatar, { ...avatarProps });
20104
+ }
20105
+ case "code":
20106
+ return /* @__PURE__ */ React.createElement("span", { class: "plus-display-item__pre" }, String(value != null ? value : ""));
20107
+ default:
20108
+ return String(value != null ? value : "");
20109
+ }
20110
+ }
20111
+ function formatMoney(value) {
20112
+ if (isEmpty(value)) return "";
20113
+ const num = Number(value);
20114
+ if (isNaN(num)) return String(value);
20115
+ return num.toLocaleString("zh-CN", { minimumFractionDigits: 2, maximumFractionDigits: 2 });
20116
+ }
20117
+ function createCellRenderer(plusColumn, globalEmptyText = "-") {
20118
+ var _a;
20119
+ const emptyText = (_a = plusColumn.emptyText) != null ? _a : globalEmptyText;
20120
+ return (params) => {
20121
+ const { rowData, rowIndex } = params;
20122
+ const value = rowData[plusColumn.prop];
20123
+ if (plusColumn.render && typeof plusColumn.render === "function") {
20124
+ return plusColumn.render(value, {
20125
+ row: rowData,
20126
+ column: plusColumn,
20127
+ index: rowIndex
20128
+ });
20129
+ }
20130
+ if (plusColumn.renderHTML && typeof plusColumn.renderHTML === "function") {
20131
+ const html = plusColumn.renderHTML(value, {
20132
+ row: rowData,
20133
+ column: plusColumn,
20134
+ index: rowIndex
20135
+ });
20136
+ return /* @__PURE__ */ React.createElement("span", { innerHTML: html });
20137
+ }
20138
+ if (plusColumn.formatter && typeof plusColumn.formatter === "function") {
20139
+ const formatted = plusColumn.formatter(value, {
20140
+ row: rowData,
20141
+ column: plusColumn,
20142
+ index: rowIndex
20143
+ });
20144
+ return /* @__PURE__ */ React.createElement("span", null, isEmpty(formatted) ? emptyText : formatted);
20145
+ }
20146
+ if (plusColumn.valueType) {
20147
+ if (isEmpty(value)) return /* @__PURE__ */ React.createElement("span", null, emptyText);
20148
+ return renderByValueType(
20149
+ plusColumn.valueType,
20150
+ value,
20151
+ plusColumn);
20152
+ }
20153
+ if (plusColumn.options) {
20154
+ const option = findOptionByValue(plusColumn.options, value);
20155
+ if (option) {
20156
+ return renderOptionStatus(option);
20157
+ }
20158
+ }
20159
+ if (isEmpty(value)) {
20160
+ return /* @__PURE__ */ React.createElement("span", { class: "plus-table-column-empty" }, emptyText);
20161
+ }
20162
+ return /* @__PURE__ */ React.createElement("span", null, String(value));
20163
+ };
20164
+ }
20165
+
20166
+ function resolveTooltip(tooltip) {
20167
+ if (!tooltip) return null;
20168
+ const resolved = unref(tooltip);
20169
+ if (typeof resolved === "string") {
20170
+ return { content: resolved };
20171
+ }
20172
+ if (typeof resolved === "object" && resolved !== null) {
20173
+ return resolved;
20174
+ }
20175
+ return null;
20176
+ }
20177
+ function getLabel(label) {
20178
+ var _a;
20179
+ if (typeof label === "string") return label;
20180
+ return String((_a = unref(label)) != null ? _a : "");
20181
+ }
20182
+ function createHeaderRenderer(plusColumn) {
20183
+ return (_params) => {
20184
+ const label = getLabel(plusColumn.label);
20185
+ if (plusColumn.renderHeader && typeof plusColumn.renderHeader === "function") {
20186
+ return plusColumn.renderHeader(label, plusColumn);
20187
+ }
20188
+ const tooltipConfig = resolveTooltip(plusColumn.tooltip);
20189
+ if (tooltipConfig) {
20190
+ const tooltipProps = { placement: "top", ...tooltipConfig };
20191
+ const iconProps = { class: "plus-table-column__header__icon", size: 16 };
20192
+ return /* @__PURE__ */ React.createElement("span", { class: "plus-table-column__header" }, /* @__PURE__ */ React.createElement("span", null, label), /* @__PURE__ */ React.createElement(ElTooltip, { ...tooltipProps }, /* @__PURE__ */ React.createElement(ElIcon, { ...iconProps }, /* @__PURE__ */ React.createElement(question_filled_default, null))));
20193
+ }
20194
+ return /* @__PURE__ */ React.createElement("span", null, label);
20195
+ };
20196
+ }
20197
+
20198
+ function resolveButtonText(button, row, index) {
20199
+ var _a, _b;
20200
+ const { text } = button;
20201
+ if (typeof text === "function") {
20202
+ return String((_a = unref(text(row, index, button))) != null ? _a : "");
20203
+ }
20204
+ return String((_b = unref(text)) != null ? _b : "");
20205
+ }
20206
+ function resolveButtonShow(button, row, index) {
20207
+ const { show } = button;
20208
+ if (show === void 0) return true;
20209
+ if (typeof show === "function") {
20210
+ return !!unref(show(row, index, button));
20211
+ }
20212
+ return !!unref(show);
20213
+ }
20214
+ function resolveButtonProps(button, row, index) {
20215
+ const { props } = button;
20216
+ if (!props) return {};
20217
+ if (typeof props === "function") {
20218
+ return props(row, index, button) || {};
20219
+ }
20220
+ return unref(props) || {};
20221
+ }
20222
+ function createActionBarColumn(actionBar, onClickAction) {
20223
+ const label = typeof actionBar.label === "string" ? actionBar.label : unref(actionBar.label) || "\u64CD\u4F5C\u680F";
20224
+ const width = typeof actionBar.width === "number" ? actionBar.width : parseInt(String(actionBar.width || "200"), 10) || 200;
20225
+ const showNumber = typeof actionBar.showNumber === "number" ? actionBar.showNumber : 3;
20226
+ const buttons = actionBar.buttons || [];
20227
+ return {
20228
+ key: "__action__",
20229
+ dataKey: "__action__",
20230
+ title: label,
20231
+ width,
20232
+ fixed: actionBar.fixed === "right" || actionBar.fixed === void 0 ? TableV2FixedDir.RIGHT : void 0,
20233
+ align: "center",
20234
+ cellRenderer: (params) => {
20235
+ const { rowData, rowIndex } = params;
20236
+ const visibleButtons = buttons.filter(
20237
+ (btn) => resolveButtonShow(btn, rowData, rowIndex)
20238
+ );
20239
+ if (visibleButtons.length === 0) return "";
20240
+ const currentShowNumber = typeof actionBar.showNumber === "function" ? actionBar.showNumber(rowData, rowIndex) : showNumber;
20241
+ const directButtons = visibleButtons.slice(0, currentShowNumber);
20242
+ const moreButtons = visibleButtons.slice(currentShowNumber);
20243
+ const handleClick = (button, e) => {
20244
+ var _a;
20245
+ const callbackParams = {
20246
+ row: rowData,
20247
+ index: rowIndex,
20248
+ rowIndex,
20249
+ buttonRow: button,
20250
+ text: resolveButtonText(button, rowData, rowIndex),
20251
+ e,
20252
+ column: {},
20253
+ cellIndex: 0,
20254
+ store: {},
20255
+ expanded: false,
20256
+ _self: {}
20257
+ };
20258
+ (_a = button.onClick) == null ? void 0 : _a.call(button, callbackParams);
20259
+ onClickAction == null ? void 0 : onClickAction(callbackParams);
20260
+ };
20261
+ const renderButton = (button, idx) => {
20262
+ var _a;
20263
+ const text = resolveButtonText(button, rowData, rowIndex);
20264
+ const btnProps = resolveButtonProps(button, rowData, rowIndex);
20265
+ return h(ElButton, {
20266
+ key: (_a = button.code) != null ? _a : idx,
20267
+ link: true,
20268
+ type: "primary",
20269
+ size: "small",
20270
+ ...btnProps,
20271
+ onClick: (e) => handleClick(button, e)
20272
+ }, () => text);
20273
+ };
20274
+ const nodes = directButtons.map(renderButton);
20275
+ if (moreButtons.length > 0) {
20276
+ const dropdownNode = h(
20277
+ ElDropdown,
20278
+ { trigger: "hover" },
20279
+ {
20280
+ default: () => h(ElButton, { link: true, type: "primary", size: "small" }, () => "\u66F4\u591A"),
20281
+ dropdown: () => h(
20282
+ ElDropdownMenu,
20283
+ null,
20284
+ () => moreButtons.map((btn, idx) => {
20285
+ var _a;
20286
+ const text = resolveButtonText(btn, rowData, rowIndex);
20287
+ return h(
20288
+ ElDropdownItem,
20289
+ {
20290
+ key: (_a = btn.code) != null ? _a : `more-${idx}`,
20291
+ onClick: (e) => handleClick(btn, e)
20292
+ },
20293
+ () => text
20294
+ );
20295
+ })
20296
+ )
20297
+ }
20298
+ );
20299
+ nodes.push(dropdownNode);
20300
+ }
20301
+ return h("div", {
20302
+ class: "plus-virtual-table-action-bar",
20303
+ style: { display: "flex", alignItems: "center", justifyContent: "center", gap: "4px" }
20304
+ }, nodes);
20305
+ }
20306
+ };
20307
+ }
20308
+
20309
+ function resolveFixed(column) {
20310
+ var _a;
20311
+ const fixed = (_a = column.tableColumnProps) == null ? void 0 : _a.fixed;
20312
+ if (!fixed) return void 0;
20313
+ if (fixed === true || fixed === "left") return TableV2FixedDir.LEFT;
20314
+ if (fixed === "right") return TableV2FixedDir.RIGHT;
20315
+ return void 0;
20316
+ }
20317
+ function resolveWidth(column, defaultWidth) {
20318
+ var _a;
20319
+ const w = (_a = column.width) != null ? _a : column.minWidth;
20320
+ if (typeof w === "number") return w;
20321
+ if (typeof w === "string") {
20322
+ const parsed = parseInt(w, 10);
20323
+ if (!isNaN(parsed)) return parsed;
20324
+ }
20325
+ return defaultWidth;
20326
+ }
20327
+ function isFlexColumn(column) {
20328
+ return column.width === void 0;
20329
+ }
20330
+ function distributeRemainingWidth(columns, flexIndices, containerWidth, scrollbarWidth = 0) {
20331
+ if (flexIndices.length === 0 || containerWidth <= 0) return;
20332
+ const totalFixedWidth = columns.reduce((sum, col) => sum + col.width, 0);
20333
+ const availableWidth = containerWidth - scrollbarWidth;
20334
+ const remaining = availableWidth - totalFixedWidth;
20335
+ if (remaining <= 0) return;
20336
+ const totalMinWidth = flexIndices.reduce(
20337
+ (sum, idx) => sum + columns[idx].width,
20338
+ 0
20339
+ );
20340
+ if (totalMinWidth <= 0) return;
20341
+ for (const idx of flexIndices) {
20342
+ const col = columns[idx];
20343
+ const currentWidth = col.width;
20344
+ const extraShare = Math.floor(remaining * (currentWidth / totalMinWidth));
20345
+ col.width = currentWidth + extraShare;
20346
+ }
20347
+ }
20348
+ function resolveAlign(column) {
20349
+ var _a;
20350
+ const align = (_a = column.tableColumnProps) == null ? void 0 : _a.align;
20351
+ if (align === "left" || align === "center" || align === "right") return align;
20352
+ return "left";
20353
+ }
20354
+ function adaptColumn(column, defaultWidth, columnsEmptyText) {
20355
+ const prop = column.prop || "";
20356
+ const label = typeof column.label === "string" ? column.label : unref(column.label) || "";
20357
+ const adapted = {
20358
+ key: prop,
20359
+ dataKey: prop,
20360
+ title: label,
20361
+ width: resolveWidth(column, defaultWidth),
20362
+ align: resolveAlign(column),
20363
+ fixed: resolveFixed(column),
20364
+ _plusColumn: column
20365
+ };
20366
+ adapted.cellRenderer = createCellRenderer(column, columnsEmptyText);
20367
+ if (column.renderHeader || column.tooltip) {
20368
+ adapted.headerCellRenderer = createHeaderRenderer(column);
20369
+ }
20370
+ return adapted;
20371
+ }
20372
+ function createIndexColumn(width, pageInfo) {
20373
+ return {
20374
+ key: "__index__",
20375
+ dataKey: "__index__",
20376
+ title: "#",
20377
+ width,
20378
+ fixed: TableV2FixedDir.LEFT,
20379
+ align: "center",
20380
+ cellRenderer: ({ rowIndex }) => {
20381
+ const offset = pageInfo ? (pageInfo.page - 1) * pageInfo.pageSize : 0;
20382
+ return `${offset + rowIndex + 1}`;
20383
+ }
20384
+ };
20385
+ }
20386
+ function useColumnAdapter(config) {
20387
+ const virtualColumns = computed(() => {
20388
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
20389
+ const rawColumns = config.columns();
20390
+ const isSelection = (_b = (_a = config.isSelection) == null ? void 0 : _a.call(config)) != null ? _b : false;
20391
+ const hasIndexColumn = (_d = (_c = config.hasIndexColumn) == null ? void 0 : _c.call(config)) != null ? _d : false;
20392
+ const actionBar = (_e = config.actionBar) == null ? void 0 : _e.call(config);
20393
+ const defaultWidth = (_g = (_f = config.defaultColumnWidth) == null ? void 0 : _f.call(config)) != null ? _g : 150;
20394
+ const emptyText = (_i = (_h = config.columnsEmptyText) == null ? void 0 : _h.call(config)) != null ? _i : "-";
20395
+ const pageInfo = (_j = config.pageInfo) == null ? void 0 : _j.call(config);
20396
+ const selectionWidth = (_l = (_k = config.selectionColumnWidth) == null ? void 0 : _k.call(config)) != null ? _l : 50;
20397
+ const indexWidth = (_n = (_m = config.indexColumnWidth) == null ? void 0 : _m.call(config)) != null ? _n : 60;
20398
+ const cWidth = (_p = (_o = config.containerWidth) == null ? void 0 : _o.call(config)) != null ? _p : 0;
20399
+ const result = [];
20400
+ const flexIndices = [];
20401
+ if (isSelection) {
20402
+ const selectionCol = {
20403
+ key: "__selection__",
20404
+ dataKey: "__selection__",
20405
+ title: "",
20406
+ width: selectionWidth,
20407
+ fixed: TableV2FixedDir.LEFT,
20408
+ align: "center"
20409
+ };
20410
+ const cellRenderer = (_q = config.selectionCellRenderer) == null ? void 0 : _q.call(config);
20411
+ const headerRenderer = (_r = config.selectionHeaderRenderer) == null ? void 0 : _r.call(config);
20412
+ if (cellRenderer) selectionCol.cellRenderer = cellRenderer;
20413
+ if (headerRenderer) selectionCol.headerCellRenderer = headerRenderer;
20414
+ result.push(selectionCol);
20415
+ }
20416
+ if (hasIndexColumn) {
20417
+ result.push(createIndexColumn(indexWidth, pageInfo));
20418
+ }
20419
+ const visibleColumns = rawColumns.filter(
20420
+ (col) => unref(col.hideInTable) !== true
20421
+ );
20422
+ for (const col of visibleColumns) {
20423
+ const idx = result.length;
20424
+ result.push(adaptColumn(col, defaultWidth, emptyText));
20425
+ if (isFlexColumn(col)) {
20426
+ flexIndices.push(idx);
20427
+ }
20428
+ }
20429
+ if (actionBar) {
20430
+ const actionCol = createActionBarColumn(actionBar, config.onClickAction);
20431
+ result.push(actionCol);
20432
+ }
20433
+ distributeRemainingWidth(result, flexIndices, cWidth);
20434
+ return result;
20435
+ });
20436
+ return { virtualColumns };
20437
+ }
20438
+
20439
+ function useVirtualSelection(options) {
20440
+ const selectedKeys = ref(/* @__PURE__ */ new Set());
20441
+ const getRowKey = (row) => {
20442
+ const key = options.rowKey();
20443
+ return row[key];
20444
+ };
20445
+ const dataLength = computed(() => options.data().length);
20446
+ const isAllSelected = computed(() => {
20447
+ if (dataLength.value === 0) return false;
20448
+ return selectedKeys.value.size === dataLength.value;
20449
+ });
20450
+ const isIndeterminate = computed(() => {
20451
+ const size = selectedKeys.value.size;
20452
+ return size > 0 && size < dataLength.value;
20453
+ });
20454
+ const getSelectionRows = () => {
20455
+ const data = options.data();
20456
+ const keys = selectedKeys.value;
20457
+ if (keys.size === 0) return [];
20458
+ return data.filter((row) => keys.has(getRowKey(row)));
20459
+ };
20460
+ const clearSelection = () => {
20461
+ var _a;
20462
+ selectedKeys.value = /* @__PURE__ */ new Set();
20463
+ (_a = options.onSelectionChange) == null ? void 0 : _a.call(options, []);
20464
+ };
20465
+ const toggleRowSelection = (row, selected) => {
20466
+ var _a, _b;
20467
+ const key = getRowKey(row);
20468
+ const newSet = new Set(selectedKeys.value);
20469
+ const shouldSelect = selected != null ? selected : !newSet.has(key);
20470
+ if (shouldSelect) {
20471
+ newSet.add(key);
20472
+ } else {
20473
+ newSet.delete(key);
20474
+ }
20475
+ selectedKeys.value = newSet;
20476
+ const selection = getSelectionRows();
20477
+ (_a = options.onSelect) == null ? void 0 : _a.call(options, selection, row);
20478
+ (_b = options.onSelectionChange) == null ? void 0 : _b.call(options, selection);
20479
+ };
20480
+ const toggleAllSelection = (selected) => {
20481
+ var _a, _b;
20482
+ const shouldSelectAll = selected != null ? selected : !isAllSelected.value;
20483
+ if (shouldSelectAll) {
20484
+ const data = options.data();
20485
+ selectedKeys.value = new Set(data.map((row) => getRowKey(row)));
20486
+ } else {
20487
+ selectedKeys.value = /* @__PURE__ */ new Set();
20488
+ }
20489
+ const selection = getSelectionRows();
20490
+ (_a = options.onSelectAll) == null ? void 0 : _a.call(options, selection);
20491
+ (_b = options.onSelectionChange) == null ? void 0 : _b.call(options, selection);
20492
+ };
20493
+ watch(
20494
+ () => options.data(),
20495
+ (newData) => {
20496
+ var _a;
20497
+ if (selectedKeys.value.size === 0) return;
20498
+ const currentKeys = new Set(newData.map((row) => getRowKey(row)));
20499
+ const filtered = /* @__PURE__ */ new Set();
20500
+ for (const key of selectedKeys.value) {
20501
+ if (currentKeys.has(key)) {
20502
+ filtered.add(key);
20503
+ }
20504
+ }
20505
+ if (filtered.size !== selectedKeys.value.size) {
20506
+ selectedKeys.value = filtered;
20507
+ (_a = options.onSelectionChange) == null ? void 0 : _a.call(options, getSelectionRows());
20508
+ }
20509
+ }
20510
+ );
20511
+ const selectionCellRenderer = (params) => {
20512
+ const row = params.rowData;
20513
+ const key = getRowKey(row);
20514
+ const checked = selectedKeys.value.has(key);
20515
+ return h(ElCheckbox, {
20516
+ modelValue: checked,
20517
+ onChange: (value) => {
20518
+ toggleRowSelection(row, !!value);
20519
+ },
20520
+ onClick: (e) => {
20521
+ e.stopPropagation();
20522
+ }
20523
+ });
20524
+ };
20525
+ const selectionHeaderRenderer = (_params) => {
20526
+ return h(ElCheckbox, {
20527
+ modelValue: isAllSelected.value,
20528
+ indeterminate: isIndeterminate.value,
20529
+ onChange: (value) => {
20530
+ toggleAllSelection(!!value);
20531
+ }
20532
+ });
20533
+ };
20534
+ return {
20535
+ selectedKeys,
20536
+ isAllSelected,
20537
+ isIndeterminate,
20538
+ getSelectionRows,
20539
+ clearSelection,
20540
+ toggleRowSelection,
20541
+ toggleAllSelection,
20542
+ selectionCellRenderer,
20543
+ selectionHeaderRenderer
20544
+ };
20545
+ }
20546
+
20547
+ function useVirtualScroll(options = {}) {
20548
+ const tableRef = shallowRef(null);
20549
+ const wrapperRef = shallowRef(null);
20550
+ const containerWidth = ref(0);
20551
+ let resizeObserver = null;
20552
+ const observeWidth = (el) => {
20553
+ resizeObserver == null ? void 0 : resizeObserver.disconnect();
20554
+ if (!el) return;
20555
+ containerWidth.value = el.clientWidth;
20556
+ resizeObserver = new ResizeObserver((entries) => {
20557
+ for (const entry of entries) {
20558
+ containerWidth.value = entry.contentRect.width;
20559
+ }
20560
+ });
20561
+ resizeObserver.observe(el);
20562
+ };
20563
+ watch(wrapperRef, (el) => {
20564
+ observeWidth(el);
20565
+ });
20566
+ onMounted(() => {
20567
+ if (wrapperRef.value) observeWidth(wrapperRef.value);
20568
+ });
20569
+ onBeforeUnmount(() => {
20570
+ resizeObserver == null ? void 0 : resizeObserver.disconnect();
20571
+ });
20572
+ const rowHeight = computed(() => {
20573
+ var _a, _b;
20574
+ return (_b = (_a = options.rowHeight) == null ? void 0 : _a.call(options)) != null ? _b : 50;
20575
+ });
20576
+ const headerHeight = computed(() => {
20577
+ var _a, _b;
20578
+ return (_b = (_a = options.headerHeight) == null ? void 0 : _a.call(options)) != null ? _b : 50;
20579
+ });
20580
+ const useAutoResizer = computed(() => {
20581
+ var _a;
20582
+ const h = (_a = options.height) == null ? void 0 : _a.call(options);
20583
+ return h === void 0 || h === null || h === "";
20584
+ });
20585
+ const containerStyle = computed(() => {
20586
+ var _a, _b;
20587
+ if (useAutoResizer.value) {
20588
+ return {
20589
+ width: "100%"
20590
+ };
20591
+ }
20592
+ const h = (_a = options.height) == null ? void 0 : _a.call(options);
20593
+ const w = (_b = options.width) == null ? void 0 : _b.call(options);
20594
+ return {
20595
+ width: typeof w === "number" ? `${w}px` : w || "100%",
20596
+ height: typeof h === "number" ? `${h}px` : h || "400px"
20597
+ };
20598
+ });
20599
+ const scrollToRow = (rowIndex) => {
20600
+ var _a;
20601
+ (_a = tableRef.value) == null ? void 0 : _a.scrollToRow(rowIndex);
20602
+ };
20603
+ return {
20604
+ tableRef,
20605
+ wrapperRef,
20606
+ scrollToRow,
20607
+ useAutoResizer,
20608
+ containerStyle,
20609
+ rowHeight,
20610
+ headerHeight,
20611
+ containerWidth
20612
+ };
20613
+ }
20614
+
20615
+ const _hoisted_1$f = {
20616
+ key: 0,
20617
+ class: "plus-virtual-table__title-bar"
20618
+ };
20619
+ const _hoisted_2$b = { class: "plus-virtual-table__title-bar__left" };
20620
+ const _hoisted_3$9 = {
20621
+ key: 0,
20622
+ class: "plus-virtual-table__title-bar__text"
20623
+ };
20624
+ const _hoisted_4$7 = { class: "plus-virtual-table__title-bar__right" };
20625
+ var _sfc_main$q = /* @__PURE__ */ defineComponent({
20626
+ ...{
20627
+ name: "PlusVirtualTable",
20628
+ inheritAttrs: false
20629
+ },
20630
+ __name: "index",
20631
+ props: {
20632
+ columns: { default: () => [] },
20633
+ tableData: { default: () => [] },
20634
+ data: { default: () => [] },
20635
+ pagination: { type: [Boolean, Object], default: false },
20636
+ actionBar: { type: [Boolean, Object], default: false },
20637
+ hasIndexColumn: { type: Boolean, default: false },
20638
+ isSelection: { type: Boolean, default: false },
20639
+ loadingStatus: { type: Boolean, default: false },
20640
+ height: {},
20641
+ width: {},
20642
+ headerCellStyle: {},
20643
+ rowKey: { default: "id" },
20644
+ defaultSize: { default: "default" },
20645
+ rowHeight: { default: 50 },
20646
+ headerHeight: { default: 50 },
20647
+ fixed: { type: Boolean, default: true },
20648
+ defaultColumnWidth: { default: 150 },
20649
+ columnsEmptyText: { default: "-" },
20650
+ rowClass: {},
20651
+ rowStyle: {},
20652
+ scrollbarAlwaysOn: { type: Boolean, default: true },
20653
+ titleBar: { type: [Boolean, Object], default: false },
20654
+ selectionColumnWidth: { default: 50 },
20655
+ indexColumnWidth: { default: 60 },
20656
+ stripe: { type: Boolean, default: false },
20657
+ border: { type: Boolean, default: false }
20658
+ },
20659
+ emits: ["paginationChange", "clickAction", "selection-change", "select", "select-all", "refresh", "row-click", "sort-change"],
20660
+ setup(__props, { expose: __expose, emit: __emit }) {
20661
+ var _a;
20662
+ const props = __props;
20663
+ const emit = __emit;
20664
+ const tableData = computed(() => {
20665
+ var _a2;
20666
+ return ((_a2 = props.tableData) == null ? void 0 : _a2.length) ? props.tableData : props.data;
20667
+ });
20668
+ const state = reactive({
20669
+ subPageInfo: {
20670
+ ...((_a = props.pagination) == null ? void 0 : _a.modelValue) || DefaultPageInfo
20671
+ }
20672
+ });
20673
+ watch(
20674
+ () => {
20675
+ var _a2;
20676
+ return (_a2 = props.pagination) == null ? void 0 : _a2.modelValue;
20677
+ },
20678
+ (newVal) => {
20679
+ if (newVal) {
20680
+ Object.assign(state.subPageInfo, newVal);
20681
+ }
20682
+ },
20683
+ { deep: true }
20684
+ );
20685
+ const {
20686
+ tableRef,
20687
+ wrapperRef,
20688
+ scrollToRow,
20689
+ useAutoResizer,
20690
+ containerStyle,
20691
+ rowHeight,
20692
+ headerHeight,
20693
+ containerWidth
20694
+ } = useVirtualScroll({
20695
+ height: () => props.height,
20696
+ width: () => props.width,
20697
+ rowHeight: () => props.rowHeight,
20698
+ headerHeight: () => props.headerHeight
20699
+ });
20700
+ const selectionComposable = useVirtualSelection({
20701
+ rowKey: () => props.rowKey,
20702
+ data: () => tableData.value,
20703
+ onSelectionChange: (selection) => {
20704
+ emit("selection-change", selection);
20705
+ },
20706
+ onSelect: (selection, row) => {
20707
+ emit("select", selection, row);
20708
+ },
20709
+ onSelectAll: (selection) => {
20710
+ emit("select-all", selection);
20711
+ }
20712
+ });
20713
+ const { virtualColumns } = useColumnAdapter({
20714
+ columns: () => props.columns,
20715
+ isSelection: () => props.isSelection,
20716
+ hasIndexColumn: () => props.hasIndexColumn,
20717
+ actionBar: () => props.actionBar,
20718
+ rowKey: () => props.rowKey,
20719
+ defaultColumnWidth: () => props.defaultColumnWidth,
20720
+ columnsEmptyText: () => props.columnsEmptyText,
20721
+ containerWidth: () => containerWidth.value,
20722
+ pageInfo: () => {
20723
+ if (!props.pagination) return void 0;
20724
+ return state.subPageInfo;
20725
+ },
20726
+ selectionColumnWidth: () => props.selectionColumnWidth,
20727
+ indexColumnWidth: () => props.indexColumnWidth,
20728
+ selectionCellRenderer: () => selectionComposable.selectionCellRenderer,
20729
+ selectionHeaderRenderer: () => selectionComposable.selectionHeaderRenderer,
20730
+ onClickAction: (params) => {
20731
+ emit("clickAction", params);
20732
+ }
20733
+ });
20734
+ const showTitleBar = computed(() => !!props.titleBar);
20735
+ const titleBarConfig = computed(() => {
20736
+ if (typeof props.titleBar === "object") {
20737
+ return props.titleBar;
20738
+ }
20739
+ return { refresh: false };
20740
+ });
20741
+ const fixedWidth = computed(() => {
20742
+ const w = props.width;
20743
+ if (typeof w === "number") return w;
20744
+ if (typeof w === "string") return parseInt(w, 10) || 700;
20745
+ return 700;
20746
+ });
20747
+ const fixedHeight = computed(() => {
20748
+ const h = props.height;
20749
+ if (typeof h === "number") return h;
20750
+ if (typeof h === "string") return parseInt(h, 10) || 400;
20751
+ return 400;
20752
+ });
20753
+ const rowEventHandlers = computed(() => ({
20754
+ onClick: (params) => {
20755
+ emit("row-click", params.rowData, params.rowIndex);
20756
+ }
20757
+ }));
20758
+ const wrapperClass = computed(() => [
20759
+ "plus-virtual-table",
20760
+ {
20761
+ "plus-virtual-table--striped": props.stripe,
20762
+ "plus-virtual-table--border": props.border
20763
+ }
20764
+ ]);
20765
+ const mergedRowClass = computed(() => {
20766
+ return (params) => {
20767
+ const classes = [];
20768
+ if (props.stripe && params.rowIndex % 2 === 1) {
20769
+ classes.push("plus-virtual-table__row--striped");
20770
+ }
20771
+ const userClass = props.rowClass;
20772
+ if (typeof userClass === "string") {
20773
+ classes.push(userClass);
20774
+ } else if (typeof userClass === "function") {
20775
+ const result = userClass(params);
20776
+ if (result) classes.push(result);
20777
+ }
20778
+ return classes.join(" ");
20779
+ };
20780
+ });
20781
+ const headerClass = computed(() => "plus-virtual-table__header");
20782
+ const handlePaginationChange = () => {
20783
+ emit("paginationChange", { ...state.subPageInfo });
20784
+ };
20785
+ const handleRefresh = () => {
20786
+ emit("refresh");
20787
+ };
20788
+ const { subPageInfo } = toRefs(state);
20789
+ __expose({
20790
+ getSelectionRows: selectionComposable.getSelectionRows,
20791
+ clearSelection: selectionComposable.clearSelection,
20792
+ toggleRowSelection: selectionComposable.toggleRowSelection,
20793
+ toggleAllSelection: selectionComposable.toggleAllSelection,
20794
+ scrollToRow,
20795
+ data: tableData,
20796
+ tableRef
20797
+ });
20798
+ return (_ctx, _cache) => {
20799
+ return openBlock(), createElementBlock(
20800
+ "div",
20801
+ {
20802
+ ref_key: "wrapperRef",
20803
+ ref: wrapperRef,
20804
+ class: normalizeClass(wrapperClass.value)
20805
+ },
20806
+ [
20807
+ createCommentVNode(" \u6807\u9898\u680F\uFF08\u7B80\u5316\u7248\uFF09 "),
20808
+ showTitleBar.value ? (openBlock(), createElementBlock("div", _hoisted_1$f, [
20809
+ createElementVNode("div", _hoisted_2$b, [
20810
+ renderSlot(_ctx.$slots, "title", {}, () => [
20811
+ titleBarConfig.value.title ? (openBlock(), createElementBlock(
20812
+ "span",
20813
+ _hoisted_3$9,
20814
+ toDisplayString(titleBarConfig.value.title),
20815
+ 1
20816
+ /* TEXT */
20817
+ )) : createCommentVNode("v-if", true)
20818
+ ])
20819
+ ]),
20820
+ createElementVNode("div", _hoisted_4$7, [
20821
+ renderSlot(_ctx.$slots, "toolbar"),
20822
+ titleBarConfig.value.refresh ? (openBlock(), createBlock(unref(ElIcon), {
20823
+ key: 0,
20824
+ class: "plus-virtual-table__title-bar__refresh",
20825
+ size: 16,
20826
+ onClick: handleRefresh
20827
+ }, {
20828
+ default: withCtx(() => [
20829
+ createVNode(unref(refresh_default))
20830
+ ]),
20831
+ _: 1
20832
+ /* STABLE */
20833
+ })) : createCommentVNode("v-if", true)
20834
+ ])
20835
+ ])) : createCommentVNode("v-if", true),
20836
+ createCommentVNode(" \u8868\u683C\u4E3B\u4F53 "),
20837
+ withDirectives((openBlock(), createElementBlock(
20838
+ "div",
20839
+ {
20840
+ class: "plus-virtual-table__body",
20841
+ style: normalizeStyle(unref(containerStyle))
20842
+ },
20843
+ [
20844
+ createCommentVNode(" \u81EA\u9002\u5E94\u6A21\u5F0F\uFF1A\u4F7F\u7528 AutoResizer \u81EA\u52A8\u83B7\u53D6\u7236\u5BB9\u5668\u5C3A\u5BF8 "),
20845
+ unref(useAutoResizer) ? (openBlock(), createBlock(unref(ElAutoResizer), { key: 0 }, {
20846
+ default: withCtx(({ height: autoHeight, width: autoWidth }) => [
20847
+ createVNode(unref(ElTableV2), {
20848
+ ref_key: "tableRef",
20849
+ ref: tableRef,
20850
+ columns: unref(virtualColumns),
20851
+ data: tableData.value,
20852
+ width: autoWidth,
20853
+ height: autoHeight,
20854
+ fixed: _ctx.fixed,
20855
+ "row-key": _ctx.rowKey,
20856
+ "row-height": unref(rowHeight),
20857
+ "header-height": unref(headerHeight),
20858
+ "row-class": mergedRowClass.value,
20859
+ "row-event-handlers": rowEventHandlers.value,
20860
+ "scrollbar-always-on": _ctx.scrollbarAlwaysOn,
20861
+ "header-class": headerClass.value
20862
+ }, null, 8, ["columns", "data", "width", "height", "fixed", "row-key", "row-height", "header-height", "row-class", "row-event-handlers", "scrollbar-always-on", "header-class"])
20863
+ ]),
20864
+ _: 1
20865
+ /* STABLE */
20866
+ })) : (openBlock(), createElementBlock(
20867
+ Fragment,
20868
+ { key: 1 },
20869
+ [
20870
+ createCommentVNode(" \u56FA\u5B9A\u5C3A\u5BF8\u6A21\u5F0F\uFF1A\u76F4\u63A5\u4F7F\u7528\u6307\u5B9A\u7684\u5BBD\u9AD8 "),
20871
+ createVNode(unref(ElTableV2), {
20872
+ ref_key: "tableRef",
20873
+ ref: tableRef,
20874
+ columns: unref(virtualColumns),
20875
+ data: tableData.value,
20876
+ width: fixedWidth.value,
20877
+ height: fixedHeight.value,
20878
+ fixed: _ctx.fixed,
20879
+ "row-key": _ctx.rowKey,
20880
+ "row-height": unref(rowHeight),
20881
+ "header-height": unref(headerHeight),
20882
+ "row-class": mergedRowClass.value,
20883
+ "row-event-handlers": rowEventHandlers.value,
20884
+ "scrollbar-always-on": _ctx.scrollbarAlwaysOn,
20885
+ "header-class": headerClass.value
20886
+ }, null, 8, ["columns", "data", "width", "height", "fixed", "row-key", "row-height", "header-height", "row-class", "row-event-handlers", "scrollbar-always-on", "header-class"])
20887
+ ],
20888
+ 2112
20889
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
20890
+ ))
20891
+ ],
20892
+ 4
20893
+ /* STYLE */
20894
+ )), [
20895
+ [unref(vLoading), _ctx.loadingStatus]
20896
+ ]),
20897
+ createCommentVNode(" \u5206\u9875 "),
20898
+ _ctx.pagination ? (openBlock(), createBlock(unref(PlusPagination), mergeProps({
20899
+ key: 1,
20900
+ modelValue: unref(subPageInfo),
20901
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(subPageInfo) ? subPageInfo.value = $event : null)
20902
+ }, _ctx.pagination, {
20903
+ class: "plus-virtual-table__pagination",
20904
+ onChange: handlePaginationChange
20905
+ }), createSlots({
20906
+ _: 2
20907
+ /* DYNAMIC */
20908
+ }, [
20909
+ _ctx.$slots["pagination-left"] ? {
20910
+ name: "pagination-left",
20911
+ fn: withCtx(() => [
20912
+ renderSlot(_ctx.$slots, "pagination-left")
20913
+ ]),
20914
+ key: "0"
20915
+ } : void 0,
20916
+ _ctx.$slots["pagination-right"] ? {
20917
+ name: "pagination-right",
20918
+ fn: withCtx(() => [
20919
+ renderSlot(_ctx.$slots, "pagination-right")
20920
+ ]),
20921
+ key: "1"
20922
+ } : void 0
20923
+ ]), 1040, ["modelValue"])) : createCommentVNode("v-if", true)
20924
+ ],
20925
+ 2
20926
+ /* CLASS */
20927
+ );
20928
+ };
20929
+ }
20930
+ });
20931
+
20932
+ var _VirtualTable = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__file", "index.vue"]]);
20933
+
20934
+ const PlusVirtualTable = _VirtualTable;
20935
+
20037
20936
  const _hoisted_1$e = { class: "plus-page" };
20038
20937
  var _sfc_main$p = /* @__PURE__ */ defineComponent({
20039
20938
  ...{
@@ -20095,7 +20994,35 @@ var _sfc_main$p = /* @__PURE__ */ defineComponent({
20095
20994
  const { tableData, pageInfo, total, loadingStatus } = useTable(computedDefaultPageInfo);
20096
20995
  const plusSearchInstance = ref(null);
20097
20996
  const plusTableInstance = ref(null);
20997
+ const plusVirtualTableInstance = ref(null);
20098
20998
  const values = ref({ ...(_a = props.search) == null ? void 0 : _a.defaultValues });
20999
+ const isVirtualMode = computed(() => {
21000
+ var _a2;
21001
+ return !!((_a2 = props.table) == null ? void 0 : _a2.useVirtual);
21002
+ });
21003
+ const virtualTableProps = computed(() => {
21004
+ if (!isVirtualMode.value) return {};
21005
+ const { useVirtual: _, ...rest } = props.table || {};
21006
+ return rest;
21007
+ });
21008
+ const virtualColumns = computed(() => {
21009
+ if (!isVirtualMode.value) return props.columns;
21010
+ return props.columns.map((col) => {
21011
+ const prop = col.prop;
21012
+ if (!prop) return col;
21013
+ const headerSlotName = `plus-header-${prop}`;
21014
+ const headerSlot = slots[headerSlotName];
21015
+ if (headerSlot && !col.renderHeader) {
21016
+ return {
21017
+ ...col,
21018
+ renderHeader: (label, column) => {
21019
+ return headerSlot({ label, column });
21020
+ }
21021
+ };
21022
+ }
21023
+ return col;
21024
+ });
21025
+ });
20099
21026
  const renderWrapper = () => {
20100
21027
  if (props.isCard) {
20101
21028
  return {
@@ -20177,6 +21104,7 @@ var _sfc_main$p = /* @__PURE__ */ defineComponent({
20177
21104
  __expose({
20178
21105
  plusSearchInstance,
20179
21106
  plusTableInstance,
21107
+ plusVirtualTableInstance,
20180
21108
  getList,
20181
21109
  handleReset,
20182
21110
  /**
@@ -20242,14 +21170,15 @@ var _sfc_main$p = /* @__PURE__ */ defineComponent({
20242
21170
  class: "plus-page__table_wrapper"
20243
21171
  }, {
20244
21172
  default: withCtx(() => [
20245
- createVNode(unref(PlusTable), mergeProps({
20246
- ref_key: "plusTableInstance",
20247
- ref: plusTableInstance,
20248
- "title-bar": { refresh: true }
20249
- }, _ctx.table, {
21173
+ createCommentVNode("\n \u865A\u62DF\u8868\u683C\u6A21\u5F0F\uFF1A\u5F53 table.useVirtual \u4E3A true \u65F6\u4F7F\u7528 PlusVirtualTable\n \u4F7F\u7528 el-table-v2 \u5B9E\u73B0\u865A\u62DF\u6EDA\u52A8\uFF0C\u9002\u7528\u4E8E\u5927\u6570\u636E\u91CF\u573A\u666F\uFF08500+ \u884C\uFF09\n "),
21174
+ isVirtualMode.value ? (openBlock(), createBlock(unref(PlusVirtualTable), mergeProps({
21175
+ key: 0,
21176
+ ref_key: "plusVirtualTableInstance",
21177
+ ref: plusVirtualTableInstance
21178
+ }, virtualTableProps.value, {
20250
21179
  "table-data": unref(tableData),
20251
21180
  "loading-status": unref(loadingStatus),
20252
- columns: _ctx.columns,
21181
+ columns: virtualColumns.value,
20253
21182
  "columns-empty-text": _ctx.columnsEmptyText,
20254
21183
  pagination: _ctx.pagination === false ? void 0 : {
20255
21184
  ..._ctx.pagination,
@@ -20277,36 +21206,94 @@ var _sfc_main$p = /* @__PURE__ */ defineComponent({
20277
21206
  ]),
20278
21207
  key: "1"
20279
21208
  } : void 0,
20280
- _ctx.$slots["table-expand"] ? {
20281
- name: "expand",
20282
- fn: withCtx((data) => [
20283
- renderSlot(_ctx.$slots, "table-expand", normalizeProps(guardReactiveProps(data)))
21209
+ _ctx.$slots["pagination-left"] ? {
21210
+ name: "pagination-left",
21211
+ fn: withCtx(() => [
21212
+ renderSlot(_ctx.$slots, "pagination-left")
20284
21213
  ]),
20285
21214
  key: "2"
20286
21215
  } : void 0,
20287
- _ctx.$slots["table-append"] ? {
20288
- name: "append",
21216
+ _ctx.$slots["pagination-right"] ? {
21217
+ name: "pagination-right",
20289
21218
  fn: withCtx(() => [
20290
- renderSlot(_ctx.$slots, "table-append")
21219
+ renderSlot(_ctx.$slots, "pagination-right")
20291
21220
  ]),
20292
21221
  key: "3"
20293
- } : void 0,
20294
- _ctx.$slots["table-empty"] ? {
20295
- name: "empty",
20296
- fn: withCtx(() => [
20297
- renderSlot(_ctx.$slots, "table-empty")
20298
- ]),
20299
- key: "4"
20300
- } : void 0,
20301
- renderList(tableSlots.value, (_, key) => {
20302
- return {
20303
- name: key,
20304
- fn: withCtx((data) => [
20305
- renderSlot(_ctx.$slots, key, normalizeProps(guardReactiveProps(data)))
20306
- ])
20307
- };
20308
- })
20309
- ]), 1040, ["table-data", "loading-status", "columns", "columns-empty-text", "pagination"])
21222
+ } : void 0
21223
+ ]), 1040, ["table-data", "loading-status", "columns", "columns-empty-text", "pagination"])) : (openBlock(), createElementBlock(
21224
+ Fragment,
21225
+ { key: 1 },
21226
+ [
21227
+ createCommentVNode(" \u6807\u51C6\u8868\u683C\u6A21\u5F0F\uFF1A\u4F7F\u7528 el-table \u7684 PlusTable "),
21228
+ createVNode(unref(PlusTable), mergeProps({
21229
+ ref_key: "plusTableInstance",
21230
+ ref: plusTableInstance,
21231
+ "title-bar": { refresh: true }
21232
+ }, _ctx.table, {
21233
+ "table-data": unref(tableData),
21234
+ "loading-status": unref(loadingStatus),
21235
+ columns: _ctx.columns,
21236
+ "columns-empty-text": _ctx.columnsEmptyText,
21237
+ pagination: _ctx.pagination === false ? void 0 : {
21238
+ ..._ctx.pagination,
21239
+ total: unref(total),
21240
+ modelValue: unref(pageInfo),
21241
+ pageSizeList: computedDefaultPageSizeList.value
21242
+ },
21243
+ onPaginationChange: handlePaginationChange,
21244
+ onRefresh: handleRefresh
21245
+ }), createSlots({
21246
+ _: 2
21247
+ /* DYNAMIC */
21248
+ }, [
21249
+ _ctx.$slots["table-title"] ? {
21250
+ name: "title",
21251
+ fn: withCtx(() => [
21252
+ renderSlot(_ctx.$slots, "table-title")
21253
+ ]),
21254
+ key: "0"
21255
+ } : void 0,
21256
+ _ctx.$slots["table-toolbar"] ? {
21257
+ name: "toolbar",
21258
+ fn: withCtx(() => [
21259
+ renderSlot(_ctx.$slots, "table-toolbar")
21260
+ ]),
21261
+ key: "1"
21262
+ } : void 0,
21263
+ _ctx.$slots["table-expand"] ? {
21264
+ name: "expand",
21265
+ fn: withCtx((data) => [
21266
+ renderSlot(_ctx.$slots, "table-expand", normalizeProps(guardReactiveProps(data)))
21267
+ ]),
21268
+ key: "2"
21269
+ } : void 0,
21270
+ _ctx.$slots["table-append"] ? {
21271
+ name: "append",
21272
+ fn: withCtx(() => [
21273
+ renderSlot(_ctx.$slots, "table-append")
21274
+ ]),
21275
+ key: "3"
21276
+ } : void 0,
21277
+ _ctx.$slots["table-empty"] ? {
21278
+ name: "empty",
21279
+ fn: withCtx(() => [
21280
+ renderSlot(_ctx.$slots, "table-empty")
21281
+ ]),
21282
+ key: "4"
21283
+ } : void 0,
21284
+ renderList(tableSlots.value, (_, key) => {
21285
+ return {
21286
+ name: key,
21287
+ fn: withCtx((data) => [
21288
+ renderSlot(_ctx.$slots, key, normalizeProps(guardReactiveProps(data)))
21289
+ ])
21290
+ };
21291
+ })
21292
+ ]), 1040, ["table-data", "loading-status", "columns", "columns-empty-text", "pagination"])
21293
+ ],
21294
+ 2112
21295
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
21296
+ ))
20310
21297
  ]),
20311
21298
  _: 3
20312
21299
  /* FORWARDED */
@@ -32178,7 +33165,7 @@ var _sfc_main$d = /* @__PURE__ */ defineComponent({
32178
33165
  }
32179
33166
  });
32180
33167
 
32181
- var YcPlusPageComponent = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-0a41b082"], ["__file", "index.vue"]]);
33168
+ var YcPlusPageComponent = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-7430d4ed"], ["__file", "index.vue"]]);
32182
33169
 
32183
33170
  const YcPlusPage = YcPlusPageComponent;
32184
33171
  const YcTableHeaderFilterCell = YcTableHeaderFilterCellComponent;
@@ -60788,6 +61775,7 @@ const plugins = [
60788
61775
  PlusLayout,
60789
61776
  PlusCheckCard,
60790
61777
  PlusCheckCardGroup,
61778
+ PlusVirtualTable,
60791
61779
  // Yc 组件
60792
61780
  YcConfigProvider,
60793
61781
  YcPlusPage,
@@ -61753,4 +62741,4 @@ const version = "0.0.13";
61753
62741
 
61754
62742
  const install = installer.install;
61755
62743
 
61756
- export { DEFAULT_CDN_CONFIG, DEFAULT_OPERATORS, DEFAULT_YC_CONFIG, DatePickerValueIsArrayList, DefaultPageInfo, DefaultPageSizeList, DictStoreInjectionKey, NO_VALUE_OPERATORS, OPERATOR_CATALOG, OPERATOR_LABELS, PlusBreadcrumb, PlusCheckCard, PlusCheckCardGroup, PlusDatePicker, PlusDescriptions, PlusDialog, PlusDialogForm, PlusDisplayItem, PlusDrawerForm, PlusForm, PlusFormItem, PlusHeader, PlusInputTag, PlusLayout, PlusPage, PlusPagination, PlusPopover, PlusRadio, PlusSearch, PlusSidebar, PlusSidebarItem, PlusStepsForm, PlusTable, YcAnimateSelector as ReAnimateSelector, YcAuth as ReAuth, YcCard as ReCard, YcCol as ReCol, YcConfigProvider as ReConfigProvider, ReDialog, YcDownloadDialog as ReDownloadDialog, ReDrawer, ReFormContainerHeader, YcLineTree as ReLineTree, ReMoreActions, YcCountTo as ReNormalCountTo, YcPerms as RePerms, RePlusPage, RePlusTree, YcSegmented as ReSegmented, YcSelectV2 as ReSelectV2, YcStatusDialog as ReStatusDialog, YcSvgIcon as ReSvgIcon, YcTabsWithFilter as ReTabsWithFilter, YcText as ReText, YcReboundCountTo as ReboundCountTo, SIZE_MAP, STATUS_CONFIG_MAP, TableColumnsEmptyTextInjectionKey, TableFormFieldRefInjectionKey, TableFormRefInjectionKey, TableFormRowInfoInjectionKey, ValueIsArrayList, ValueIsBooleanList, ValueIsNumberList, YC_CONFIG_KEY, YcAnimateSelector, YcAnimateSelectorWithInstall, YcAuth, YcAuthWithInstall, YcCard, YcCardWithInstall, YcCol, YcConfigProvider, YcCountTo, YcDialog, YcDownloadDialog, YcDownloadDialogWithInstall, YcDrawer, YcFlicker, YcFormContainerHeader, YcLineTree, YcLineTreeWithInstall, YcMoreActions, YcPerms, YcPermsWithInstall, YcPlusPage, YcPlusTree, YcReboundCountTo, YcReboundCountToWithInstall, YcSegmented, YcSegmentedWithInstall, YcSelectV2, YcStatusDialog, YcSvgIcon, YcTableHeaderFilterCell, YcTabsWithFilter, YcTabsWithFilterWithInstall, YcText, YcTextWithInstall, addDrawer, animates, closeAllDrawer, closeDrawer, createDictStore, installer as default, drawerStore, findNodeById, findNodeByPath, findNodePosition, insertAsChild, insertAsSibling, insertNodeAtPosition, install, providePlusProConfig, removeNode, reorderNodeChildren, reorderSiblingNodes, selectValueTypeList, updateDrawer, useDialogFormConfig, useDictInjection, useDrawerFormConfig, useGetOptions, useHeaderFilter, useLocale, usePlusFormReset, usePlusProConfig, useRenderFlicker, useRenderFlicker as useRenderReFlicker, useSelectWithMapping, useSelectWithPagination, useSortableDrag$1 as useSortableDrag, useTable, useYcAuth, useYcCdn, useYcCdnUrl, useYcComponentConfig, useYcConfig, useYcPerms, useYcShowPageSearch, useYcTranslate, version };
62744
+ export { DEFAULT_CDN_CONFIG, DEFAULT_OPERATORS, DEFAULT_YC_CONFIG, DatePickerValueIsArrayList, DefaultPageInfo, DefaultPageSizeList, DictStoreInjectionKey, NO_VALUE_OPERATORS, OPERATOR_CATALOG, OPERATOR_LABELS, PlusBreadcrumb, PlusCheckCard, PlusCheckCardGroup, PlusDatePicker, PlusDescriptions, PlusDialog, PlusDialogForm, PlusDisplayItem, PlusDrawerForm, PlusForm, PlusFormItem, PlusHeader, PlusInputTag, PlusLayout, PlusPage, PlusPagination, PlusPopover, PlusRadio, PlusSearch, PlusSidebar, PlusSidebarItem, PlusStepsForm, PlusTable, PlusVirtualTable, YcAnimateSelector as ReAnimateSelector, YcAuth as ReAuth, YcCard as ReCard, YcCol as ReCol, YcConfigProvider as ReConfigProvider, ReDialog, YcDownloadDialog as ReDownloadDialog, ReDrawer, ReFormContainerHeader, YcLineTree as ReLineTree, ReMoreActions, YcCountTo as ReNormalCountTo, YcPerms as RePerms, RePlusPage, RePlusTree, YcSegmented as ReSegmented, YcSelectV2 as ReSelectV2, YcStatusDialog as ReStatusDialog, YcSvgIcon as ReSvgIcon, YcTabsWithFilter as ReTabsWithFilter, YcText as ReText, YcReboundCountTo as ReboundCountTo, SIZE_MAP, STATUS_CONFIG_MAP, TableColumnsEmptyTextInjectionKey, TableFormFieldRefInjectionKey, TableFormRefInjectionKey, TableFormRowInfoInjectionKey, ValueIsArrayList, ValueIsBooleanList, ValueIsNumberList, YC_CONFIG_KEY, YcAnimateSelector, YcAnimateSelectorWithInstall, YcAuth, YcAuthWithInstall, YcCard, YcCardWithInstall, YcCol, YcConfigProvider, YcCountTo, YcDialog, YcDownloadDialog, YcDownloadDialogWithInstall, YcDrawer, YcFlicker, YcFormContainerHeader, YcLineTree, YcLineTreeWithInstall, YcMoreActions, YcPerms, YcPermsWithInstall, YcPlusPage, YcPlusTree, YcReboundCountTo, YcReboundCountToWithInstall, YcSegmented, YcSegmentedWithInstall, YcSelectV2, YcStatusDialog, YcSvgIcon, YcTableHeaderFilterCell, YcTabsWithFilter, YcTabsWithFilterWithInstall, YcText, YcTextWithInstall, addDrawer, animates, closeAllDrawer, closeDrawer, createDictStore, installer as default, drawerStore, findNodeById, findNodeByPath, findNodePosition, insertAsChild, insertAsSibling, insertNodeAtPosition, install, providePlusProConfig, removeNode, reorderNodeChildren, reorderSiblingNodes, selectValueTypeList, updateDrawer, useColumnAdapter, useDialogFormConfig, useDictInjection, useDrawerFormConfig, useGetOptions, useHeaderFilter, useLocale, usePlusFormReset, usePlusProConfig, useRenderFlicker, useRenderFlicker as useRenderReFlicker, useSelectWithMapping, useSelectWithPagination, useSortableDrag$1 as useSortableDrag, useTable, useVirtualScroll, useVirtualSelection, useYcAuth, useYcCdn, useYcCdnUrl, useYcComponentConfig, useYcConfig, useYcPerms, useYcShowPageSearch, useYcTranslate, version };