yc-pro-components 0.0.18 → 0.0.20

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 (65) hide show
  1. package/es/components/display-item/src/index.vue2.mjs +18 -5
  2. package/es/components/form/src/form-content.vue.d.ts +2 -0
  3. package/es/components/page/index.d.ts +67 -3
  4. package/es/components/page/src/index.vue.d.ts +44 -49
  5. package/es/components/page/src/index.vue2.mjs +4 -2
  6. package/es/components/table/index.d.ts +19 -0
  7. package/es/components/table/src/index.vue.d.ts +3 -0
  8. package/es/components/table/src/index.vue2.mjs +4 -2
  9. package/es/components/table/src/type.d.ts +9 -0
  10. package/es/components/yc-plus-page/src/index.vue.d.ts +64 -4
  11. package/es/components/yc-select-v2/src/directive.d.ts +0 -4
  12. package/es/components/yc-select-v2/src/directive.mjs +70 -17
  13. package/es/components/yc-select-v2/src/index.vue2.mjs +18 -6
  14. package/es/constants/form.d.ts +5 -0
  15. package/es/constants/form.mjs +2 -1
  16. package/es/constants/index.mjs +1 -1
  17. package/es/index.css +1 -0
  18. package/es/index.mjs +1 -1
  19. package/es/types/plus.d.ts +29 -0
  20. package/index.css +14 -0
  21. package/index.js +113 -27
  22. package/index.min.css +1 -0
  23. package/index.min.js +7 -7
  24. package/index.min.mjs +7 -7
  25. package/index.mjs +113 -28
  26. package/lib/components/display-item/src/index.vue2.js +16 -3
  27. package/lib/components/form/src/form-content.vue.d.ts +2 -0
  28. package/lib/components/page/index.d.ts +67 -3
  29. package/lib/components/page/src/index.vue.d.ts +44 -49
  30. package/lib/components/page/src/index.vue2.js +4 -2
  31. package/lib/components/table/index.d.ts +19 -0
  32. package/lib/components/table/src/index.vue.d.ts +3 -0
  33. package/lib/components/table/src/index.vue2.js +3 -1
  34. package/lib/components/table/src/type.d.ts +9 -0
  35. package/lib/components/yc-plus-page/src/index.vue.d.ts +64 -4
  36. package/lib/components/yc-select-v2/src/directive.d.ts +0 -4
  37. package/lib/components/yc-select-v2/src/directive.js +70 -17
  38. package/lib/components/yc-select-v2/src/index.vue2.js +17 -5
  39. package/lib/constants/form.d.ts +5 -0
  40. package/lib/constants/form.js +2 -0
  41. package/lib/constants/index.js +1 -0
  42. package/lib/index.css +1 -0
  43. package/lib/index.js +1 -0
  44. package/lib/types/plus.d.ts +29 -0
  45. package/locale/en.js +1 -1
  46. package/locale/en.min.js +1 -1
  47. package/locale/en.min.mjs +1 -1
  48. package/locale/en.mjs +1 -1
  49. package/locale/ja.js +1 -1
  50. package/locale/ja.min.js +1 -1
  51. package/locale/ja.min.mjs +1 -1
  52. package/locale/ja.mjs +1 -1
  53. package/locale/ko.js +1 -1
  54. package/locale/ko.min.js +1 -1
  55. package/locale/ko.min.mjs +1 -1
  56. package/locale/ko.mjs +1 -1
  57. package/locale/zh-cn.js +1 -1
  58. package/locale/zh-cn.min.js +1 -1
  59. package/locale/zh-cn.min.mjs +1 -1
  60. package/locale/zh-cn.mjs +1 -1
  61. package/locale/zh-tw.js +1 -1
  62. package/locale/zh-tw.min.js +1 -1
  63. package/locale/zh-tw.min.mjs +1 -1
  64. package/locale/zh-tw.mjs +1 -1
  65. package/package.json +1 -1
package/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! yc-pro-components v0.0.18 */
1
+ /*! yc-pro-components v0.0.20 */
2
2
  import { unref, isRef, ref, inject, isReactive, watch, computed, shallowRef, provide, onMounted, nextTick, onBeforeUnmount, defineComponent, watchEffect, openBlock, createBlock, mergeProps, createSlots, withCtx, createElementVNode, renderSlot, normalizeStyle, createVNode, createTextVNode, toDisplayString, createElementBlock, normalizeClass, createCommentVNode, reactive, useAttrs, 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 } from 'vue';
3
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';
4
4
 
@@ -4776,6 +4776,7 @@ const DefaultPageInfo = {
4776
4776
  const TableFormRefInjectionKey = Symbol("tableFormRefInjectionKey");
4777
4777
  const TableFormFieldRefInjectionKey = Symbol("tableFormFieldRefInjectionKey");
4778
4778
  const TableFormRowInfoInjectionKey = Symbol("tableFormRowInfoInjectionKey");
4779
+ const TableColumnsEmptyTextInjectionKey = Symbol("tableColumnsEmptyTextInjectionKey");
4779
4780
  const DatePickerValueIsArrayList = ["datetimerange", "daterange", "monthrange"];
4780
4781
  const ValueIsNumberList = ["rate", "input-number", "slider"];
4781
4782
  const ValueIsBooleanList = ["switch"];
@@ -17160,16 +17161,18 @@ var _sfc_main$z = /* @__PURE__ */ defineComponent({
17160
17161
  const value = props.column.valueType === "link" ? props.column.linkText || displayValue.value : displayValue.value;
17161
17162
  if (!selectValueTypeList.includes(props.column.valueType) && !isEdit.value) {
17162
17163
  if (props.column.formatter && isFunction(props.column.formatter)) {
17163
- return props.column.formatter(value, renderParams.value);
17164
+ const formattedValue = props.column.formatter(value, renderParams.value);
17165
+ return handleEmptyValue(formattedValue);
17164
17166
  }
17165
17167
  if (displayComponent.value.format && isFunction(displayComponent.value.format)) {
17166
- return displayComponent.value.format(
17168
+ const formattedValue = displayComponent.value.format(
17167
17169
  value,
17168
17170
  customFieldProps.value.format || customFieldProps.value.valueFormat
17169
17171
  );
17172
+ return handleEmptyValue(formattedValue);
17170
17173
  }
17171
17174
  }
17172
- return value;
17175
+ return handleEmptyValue(value);
17173
17176
  });
17174
17177
  const modelValues = computed({
17175
17178
  get() {
@@ -17201,6 +17204,17 @@ var _sfc_main$z = /* @__PURE__ */ defineComponent({
17201
17204
  column: { ...props.rest.column, ...props.column }
17202
17205
  }));
17203
17206
  provide(TableFormRowInfoInjectionKey, tableRowInfo);
17207
+ const injectedColumnsEmptyText = inject(TableColumnsEmptyTextInjectionKey, computed(() => "-"));
17208
+ const handleEmptyValue = (value) => {
17209
+ var _a;
17210
+ if (value === null || value === void 0 || value === "") {
17211
+ if (props.column.emptyText !== void 0) {
17212
+ return props.column.emptyText;
17213
+ }
17214
+ return (_a = injectedColumnsEmptyText.value) != null ? _a : "-";
17215
+ }
17216
+ return value;
17217
+ };
17204
17218
  const imageUrl = computed(() => {
17205
17219
  const option = formatterValue.value;
17206
17220
  if (option && isString(option)) {
@@ -18705,7 +18719,8 @@ var _sfc_main$t = /* @__PURE__ */ defineComponent({
18705
18719
  indexContentStyle: { type: [Object, Function], default: () => ({}) },
18706
18720
  editable: { type: [Boolean, String], default: false },
18707
18721
  adaptive: { type: [Boolean, Object], default: false },
18708
- filterTableHeaderOverflowLabelLength: {}
18722
+ filterTableHeaderOverflowLabelLength: {},
18723
+ columnsEmptyText: { default: "-" }
18709
18724
  },
18710
18725
  emits: ["paginationChange", "clickAction", "clickActionConfirmCancel", "dragSortEnd", "formChange", "refresh", "edited", "cell-click", "cell-dblclick", "filterTableHeader", "radioChange"],
18711
18726
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -18737,6 +18752,7 @@ var _sfc_main$t = /* @__PURE__ */ defineComponent({
18737
18752
  provide(TableFormRefInjectionKey, formRefs);
18738
18753
  const formFieldRefs = shallowRef({});
18739
18754
  provide(TableFormFieldRefInjectionKey, formFieldRefs);
18755
+ provide(TableColumnsEmptyTextInjectionKey, computed(() => props.columnsEmptyText));
18740
18756
  watch(
18741
18757
  () => props.columns,
18742
18758
  (val) => {
@@ -19951,7 +19967,8 @@ var _sfc_main$o = /* @__PURE__ */ defineComponent({
19951
19967
  page: "page",
19952
19968
  pageSize: "pageSize"
19953
19969
  }) },
19954
- searchSlot: { type: Boolean, default: false }
19970
+ searchSlot: { type: Boolean, default: false },
19971
+ columnsEmptyText: { default: "-" }
19955
19972
  },
19956
19973
  emits: ["search", "reset", "paginationChange", "requestError", "requestComplete"],
19957
19974
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -20140,6 +20157,7 @@ var _sfc_main$o = /* @__PURE__ */ defineComponent({
20140
20157
  "table-data": unref(tableData),
20141
20158
  "loading-status": unref(loadingStatus),
20142
20159
  columns: _ctx.columns,
20160
+ "columns-empty-text": _ctx.columnsEmptyText,
20143
20161
  pagination: _ctx.pagination === false ? void 0 : {
20144
20162
  ..._ctx.pagination,
20145
20163
  total: unref(total),
@@ -20195,7 +20213,7 @@ var _sfc_main$o = /* @__PURE__ */ defineComponent({
20195
20213
  ])
20196
20214
  };
20197
20215
  })
20198
- ]), 1040, ["table-data", "loading-status", "columns", "pagination"])
20216
+ ]), 1040, ["table-data", "loading-status", "columns", "columns-empty-text", "pagination"])
20199
20217
  ]),
20200
20218
  _: 3
20201
20219
  /* FORWARDED */
@@ -31336,28 +31354,83 @@ const RePlusPage = YcPlusPageComponent;
31336
31354
 
31337
31355
  const loadMoreDirective = {
31338
31356
  mounted(el, binding) {
31339
- nextTick(() => {
31340
- const domClass = ".el-select-dropdown__wrap";
31341
- const element = el.querySelector(domClass);
31342
- if (element) {
31357
+ const bindScrollListener = (poperId) => {
31358
+ const poper = document.getElementById(poperId);
31359
+ if (!poper) return;
31360
+ let scrollContainer = null;
31361
+ scrollContainer = poper.querySelector(".el-scrollbar .el-select-dropdown__wrap");
31362
+ if (!scrollContainer) {
31363
+ scrollContainer = poper.querySelector(".el-select-dropdown__wrap");
31364
+ }
31365
+ if (!scrollContainer) {
31366
+ scrollContainer = poper.querySelector('[class*="scrollbar__wrap"]');
31367
+ }
31368
+ if (scrollContainer && !scrollContainer.__vueLoadMoreBound__) {
31369
+ scrollContainer.__vueLoadMoreBound__ = true;
31370
+ let lastTriggerTime = 0;
31343
31371
  const handleScroll = () => {
31344
- const { scrollTop, scrollHeight, clientHeight } = element;
31345
- const scrollDistance = scrollHeight - scrollTop <= clientHeight + 10;
31346
- if (scrollDistance) {
31372
+ if (!scrollContainer) return;
31373
+ const { scrollTop, scrollHeight, clientHeight } = scrollContainer;
31374
+ const THRESHOLD = 100;
31375
+ const scrollDistance = scrollHeight - scrollTop <= clientHeight + THRESHOLD;
31376
+ const now = Date.now();
31377
+ if (scrollDistance && binding.value && now - lastTriggerTime > 1e3) {
31378
+ lastTriggerTime = now;
31347
31379
  binding.value();
31348
31380
  }
31349
31381
  };
31350
- element.__vueLoadMoreHandler__ = handleScroll;
31351
- element.addEventListener("scroll", handleScroll);
31382
+ scrollContainer.__vueLoadMoreHandler__ = handleScroll;
31383
+ scrollContainer.addEventListener("scroll", handleScroll);
31352
31384
  }
31353
- });
31385
+ };
31386
+ const callback = (records) => {
31387
+ records.forEach((record) => {
31388
+ if (record.attributeName === "aria-describedby") {
31389
+ const target = record.target;
31390
+ const newValue = target.getAttribute("aria-describedby");
31391
+ if (newValue) {
31392
+ bindScrollListener(newValue);
31393
+ }
31394
+ }
31395
+ });
31396
+ };
31397
+ const selectTrigger = el.querySelector(".select-trigger") || el.querySelector(".el-select__wrapper") || el.querySelector("input");
31398
+ if (selectTrigger) {
31399
+ const observer = new MutationObserver(callback);
31400
+ observer.observe(selectTrigger, {
31401
+ attributes: true,
31402
+ attributeOldValue: true,
31403
+ attributeFilter: ["aria-describedby"]
31404
+ });
31405
+ el.__vueLoadMoreObserver__ = observer;
31406
+ }
31354
31407
  },
31355
31408
  beforeUnmount(el) {
31356
- const domClass = ".el-select-dropdown__wrap";
31357
- const element = el.querySelector(domClass);
31358
- if (element && element.__vueLoadMoreHandler__) {
31359
- element.removeEventListener("scroll", element.__vueLoadMoreHandler__);
31360
- delete element.__vueLoadMoreHandler__;
31409
+ if (el.__vueLoadMoreObserver__) {
31410
+ el.__vueLoadMoreObserver__.disconnect();
31411
+ delete el.__vueLoadMoreObserver__;
31412
+ }
31413
+ const selectTrigger = el.querySelector(".select-trigger") || el.querySelector(".el-select__wrapper") || el.querySelector("input");
31414
+ if (selectTrigger) {
31415
+ const ariaId = selectTrigger.getAttribute("aria-describedby");
31416
+ if (ariaId) {
31417
+ const poper = document.getElementById(ariaId);
31418
+ if (poper) {
31419
+ const scrollContainer = poper.querySelector(
31420
+ ".el-scrollbar .el-select-dropdown__wrap"
31421
+ ) || poper.querySelector(
31422
+ ".el-select-dropdown__wrap"
31423
+ );
31424
+ if (scrollContainer && scrollContainer.__vueLoadMoreHandler__) {
31425
+ scrollContainer.removeEventListener(
31426
+ "scroll",
31427
+ scrollContainer.__vueLoadMoreHandler__
31428
+ );
31429
+ delete scrollContainer.__vueLoadMoreHandler__;
31430
+ delete scrollContainer.__vueLoadMoreBound__;
31431
+ }
31432
+ }
31433
+ }
31361
31434
  }
31362
31435
  }
31363
31436
  };
@@ -31366,6 +31439,8 @@ var loadMoreDirective$1 = loadMoreDirective;
31366
31439
  const ALL_SELECT_VALUE = "__ALL_SELECT__";
31367
31440
  const ALL_SELECT_LABEL = "\u5168\u9009";
31368
31441
  const ALL_UNSELECT_LABEL = "\u5168\u4E0D\u9009";
31442
+ const LOADING_VALUE = "__LOADING__";
31443
+ const LOADING_LABEL = "\u52A0\u8F7D\u4E2D...";
31369
31444
  var _sfc_main$c = /* @__PURE__ */ defineComponent({
31370
31445
  ...{
31371
31446
  name: "YcSelectV2",
@@ -31423,14 +31498,23 @@ var _sfc_main$c = /* @__PURE__ */ defineComponent({
31423
31498
  return innerOptions.value.every((opt) => currentValue.includes(opt.value));
31424
31499
  });
31425
31500
  const displayOptions = computed(() => {
31426
- if (props.allSelect && props.multiple && innerOptions.value.length > 0) {
31501
+ let options = [...innerOptions.value];
31502
+ if (props.allSelect && props.multiple && options.length > 0) {
31427
31503
  const allSelectOption = {
31428
31504
  label: isAllSelected.value ? ALL_UNSELECT_LABEL : ALL_SELECT_LABEL,
31429
31505
  value: ALL_SELECT_VALUE
31430
31506
  };
31431
- return [allSelectOption, ...innerOptions.value];
31507
+ options = [allSelectOption, ...options];
31508
+ }
31509
+ if (loading.value && hasMore.value) {
31510
+ const loadingOption = {
31511
+ label: LOADING_LABEL,
31512
+ value: LOADING_VALUE,
31513
+ disabled: true
31514
+ };
31515
+ options = [...options, loadingOption];
31432
31516
  }
31433
- return innerOptions.value;
31517
+ return options;
31434
31518
  });
31435
31519
  const initData = async () => {
31436
31520
  if (props.searchMode === "local" && props.options.length > 0) {
@@ -31728,8 +31812,9 @@ var _sfc_main$c = /* @__PURE__ */ defineComponent({
31728
31812
  key: item.value,
31729
31813
  label: item.label,
31730
31814
  value: item.value,
31731
- disabled: item.disabled
31732
- }, null, 8, ["label", "value", "disabled"]);
31815
+ disabled: item.disabled,
31816
+ class: normalizeClass({ "yc-select-v2-loading": item.value === "__LOADING__" })
31817
+ }, null, 8, ["label", "value", "disabled", "class"]);
31733
31818
  }),
31734
31819
  128
31735
31820
  /* KEYED_FRAGMENT */
@@ -59837,4 +59922,4 @@ const version = "0.0.13";
59837
59922
 
59838
59923
  const install = installer.install;
59839
59924
 
59840
- export { DEFAULT_CDN_CONFIG, DEFAULT_YC_CONFIG, DatePickerValueIsArrayList, DefaultPageInfo, DefaultPageSizeList, DictStoreInjectionKey, 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, 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, YcTabsWithFilter, YcTabsWithFilterWithInstall, YcText, YcTextWithInstall, addDrawer, animates, closeAllDrawer, closeDrawer, installer as default, drawerStore, findNodeById, findNodeByPath, findNodePosition, insertAsChild, insertAsSibling, insertNodeAtPosition, install, providePlusProConfig, removeNode, reorderNodeChildren, reorderSiblingNodes, selectValueTypeList, updateDrawer, useDialogFormConfig, useDictInjection, useDrawerFormConfig, useGetOptions, useLocale, usePlusFormReset, usePlusProConfig, useRenderFlicker, useRenderFlicker as useRenderReFlicker, useSelectWithMapping, useSelectWithPagination, useSortableDrag$1 as useSortableDrag, useTable, useYcAuth, useYcCdn, useYcCdnUrl, useYcComponentConfig, useYcConfig, useYcPerms, useYcShowPageSearch, useYcTranslate, version };
59925
+ export { DEFAULT_CDN_CONFIG, DEFAULT_YC_CONFIG, DatePickerValueIsArrayList, DefaultPageInfo, DefaultPageSizeList, DictStoreInjectionKey, 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, YcTabsWithFilter, YcTabsWithFilterWithInstall, YcText, YcTextWithInstall, addDrawer, animates, closeAllDrawer, closeDrawer, installer as default, drawerStore, findNodeById, findNodeByPath, findNodePosition, insertAsChild, insertAsSibling, insertNodeAtPosition, install, providePlusProConfig, removeNode, reorderNodeChildren, reorderSiblingNodes, selectValueTypeList, updateDrawer, useDialogFormConfig, useDictInjection, useDrawerFormConfig, useGetOptions, useLocale, usePlusFormReset, usePlusProConfig, useRenderFlicker, useRenderFlicker as useRenderReFlicker, useSelectWithMapping, useSelectWithPagination, useSortableDrag$1 as useSortableDrag, useTable, useYcAuth, useYcCdn, useYcCdnUrl, useYcComponentConfig, useYcConfig, useYcPerms, useYcShowPageSearch, useYcTranslate, version };
@@ -112,16 +112,18 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
112
112
  const value = props.column.valueType === "link" ? props.column.linkText || displayValue.value : displayValue.value;
113
113
  if (!displayItem.selectValueTypeList.includes(props.column.valueType) && !isEdit.value) {
114
114
  if (props.column.formatter && is.isFunction(props.column.formatter)) {
115
- return props.column.formatter(value, renderParams.value);
115
+ const formattedValue = props.column.formatter(value, renderParams.value);
116
+ return handleEmptyValue(formattedValue);
116
117
  }
117
118
  if (displayComponent.value.format && is.isFunction(displayComponent.value.format)) {
118
- return displayComponent.value.format(
119
+ const formattedValue = displayComponent.value.format(
119
120
  value,
120
121
  customFieldProps.value.format || customFieldProps.value.valueFormat
121
122
  );
123
+ return handleEmptyValue(formattedValue);
122
124
  }
123
125
  }
124
- return value;
126
+ return handleEmptyValue(value);
125
127
  });
126
128
  const modelValues = vue.computed({
127
129
  get() {
@@ -153,6 +155,17 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
153
155
  column: { ...props.rest.column, ...props.column }
154
156
  }));
155
157
  vue.provide(form.TableFormRowInfoInjectionKey, tableRowInfo);
158
+ const injectedColumnsEmptyText = vue.inject(form.TableColumnsEmptyTextInjectionKey, vue.computed(() => "-"));
159
+ const handleEmptyValue = (value) => {
160
+ var _a;
161
+ if (value === null || value === void 0 || value === "") {
162
+ if (props.column.emptyText !== void 0) {
163
+ return props.column.emptyText;
164
+ }
165
+ return (_a = injectedColumnsEmptyText.value) != null ? _a : "-";
166
+ }
167
+ return value;
168
+ };
156
169
  const imageUrl = vue.computed(() => {
157
170
  const option = formatterValue.value;
158
171
  if (option && is.isString(option)) {
@@ -124,6 +124,7 @@ declare const _default: __VLS_WithTemplateSlots< DefineComponent<__VLS_WithDefau
124
124
  }) => RenderTypes) | undefined;
125
125
  order?: number | ComputedRef<number> | undefined;
126
126
  children?: PlusColumn[] | undefined;
127
+ emptyText?: string | undefined;
127
128
  autoDict?: boolean | ((column: PlusColumn) => OptionsRow<undefined>[] | Promise< OptionsRow<undefined>[]>) | {
128
129
  store?: any;
129
130
  method?: string | undefined;
@@ -465,6 +466,7 @@ declare const _default: __VLS_WithTemplateSlots< DefineComponent<__VLS_WithDefau
465
466
  }) => RenderTypes) | undefined;
466
467
  order?: number | ComputedRef<number> | undefined;
467
468
  children?: PlusColumn[] | undefined;
469
+ emptyText?: string | undefined;
468
470
  autoDict?: boolean | ((column: PlusColumn) => OptionsRow<undefined>[] | Promise< OptionsRow<undefined>[]>) | {
469
471
  store?: any;
470
472
  method?: string | undefined;
@@ -51,6 +51,10 @@ export declare const PlusPage: {
51
51
  type: PropType<false | Omit< PlusPaginationProps, "total" | "modelValue" | "pageSizeList">>;
52
52
  default: () => {};
53
53
  };
54
+ columnsEmptyText: {
55
+ type: PropType<string>;
56
+ default: string;
57
+ };
54
58
  postData: {
55
59
  type: PropType<(<T = RecordType[]>(data: T[]) => T[])>;
56
60
  default: undefined;
@@ -3297,6 +3301,7 @@ export declare const PlusPage: {
3297
3301
  offsetBottom?: number | undefined;
3298
3302
  timeout?: number | undefined;
3299
3303
  };
3304
+ columnsEmptyText: string;
3300
3305
  }> & Omit<{
3301
3306
  readonly data: RecordType[];
3302
3307
  readonly columns: PlusColumn[];
@@ -3338,6 +3343,7 @@ export declare const PlusPage: {
3338
3343
  offsetBottom?: number | undefined;
3339
3344
  timeout?: number | undefined;
3340
3345
  };
3346
+ readonly columnsEmptyText: string;
3341
3347
  readonly height?: string | number | undefined;
3342
3348
  readonly radioProps?: Partial< PlusRadioProps & {
3343
3349
  style?: CSSProperties | undefined;
@@ -3489,6 +3495,10 @@ export declare const PlusPage: {
3489
3495
  filterTableHeaderOverflowLabelLength: {
3490
3496
  type: PropType<number>;
3491
3497
  };
3498
+ columnsEmptyText: {
3499
+ type: PropType<string>;
3500
+ default: string;
3501
+ };
3492
3502
  }>> & {
3493
3503
  onClickAction?: ((data: ButtonsCallBackParams) => any) | undefined;
3494
3504
  onClickActionConfirmCancel?: ((data: ButtonsCallBackParams) => any) | undefined;
@@ -3501,7 +3511,7 @@ export declare const PlusPage: {
3501
3511
  onPaginationChange?: ((pageInfo: PageInfo) => any) | undefined;
3502
3512
  onEdited?: (() => any) | undefined;
3503
3513
  onRadioChange?: ((row: RecordType, index: number, value: boolean) => any) | undefined;
3504
- }, "data" | "columns" | "headerCellStyle" | "rowKey" | "actionBar" | "editable" | "indexTableColumnProps" | "indexContentStyle" | "dragSortableTableColumnProps" | "titleBar" | "defaultSize" | "tableData" | "pagination" | "hasIndexColumn" | "isSelection" | "isRadio" | "hasExpand" | "loadingStatus" | "dragSortable" | "selectionTableColumnProps" | "radioTableColumnProps" | "radioProps" | "defaultSelectedRadioRow" | "expandTableColumnProps" | "adaptive">;
3514
+ }, "data" | "columns" | "headerCellStyle" | "rowKey" | "actionBar" | "editable" | "indexTableColumnProps" | "indexContentStyle" | "dragSortableTableColumnProps" | "titleBar" | "defaultSize" | "tableData" | "pagination" | "hasIndexColumn" | "isSelection" | "isRadio" | "hasExpand" | "loadingStatus" | "dragSortable" | "selectionTableColumnProps" | "radioTableColumnProps" | "radioProps" | "defaultSelectedRadioRow" | "expandTableColumnProps" | "adaptive" | "columnsEmptyText">;
3505
3515
  $attrs: {
3506
3516
  [x: string]: unknown;
3507
3517
  };
@@ -3648,6 +3658,10 @@ export declare const PlusPage: {
3648
3658
  filterTableHeaderOverflowLabelLength: {
3649
3659
  type: PropType<number>;
3650
3660
  };
3661
+ columnsEmptyText: {
3662
+ type: PropType<string>;
3663
+ default: string;
3664
+ };
3651
3665
  }>> & {
3652
3666
  onClickAction?: ((data: ButtonsCallBackParams) => any) | undefined;
3653
3667
  onClickActionConfirmCancel?: ((data: ButtonsCallBackParams) => any) | undefined;
@@ -4269,6 +4283,7 @@ export declare const PlusPage: {
4269
4283
  offsetBottom?: number | undefined;
4270
4284
  timeout?: number | undefined;
4271
4285
  };
4286
+ columnsEmptyText: string;
4272
4287
  }, {}, string, {}> & {
4273
4288
  beforeCreate?: ((() => void) | (() => void)[]) | undefined;
4274
4289
  created?: ((() => void) | (() => void)[]) | undefined;
@@ -4422,6 +4437,10 @@ export declare const PlusPage: {
4422
4437
  filterTableHeaderOverflowLabelLength: {
4423
4438
  type: PropType<number>;
4424
4439
  };
4440
+ columnsEmptyText: {
4441
+ type: PropType<string>;
4442
+ default: string;
4443
+ };
4425
4444
  }>> & {
4426
4445
  onClickAction?: ((data: ButtonsCallBackParams) => any) | undefined;
4427
4446
  onClickActionConfirmCancel?: ((data: ButtonsCallBackParams) => any) | undefined;
@@ -5063,6 +5082,10 @@ export declare const PlusPage: {
5063
5082
  type: PropType<false | Omit< PlusPaginationProps, "total" | "modelValue" | "pageSizeList">>;
5064
5083
  default: () => {};
5065
5084
  };
5085
+ columnsEmptyText: {
5086
+ type: PropType<string>;
5087
+ default: string;
5088
+ };
5066
5089
  postData: {
5067
5090
  type: PropType<(<T = RecordType[]>(data: T[]) => T[])>;
5068
5091
  default: undefined;
@@ -5137,6 +5160,7 @@ export declare const PlusPage: {
5137
5160
  immediate: boolean;
5138
5161
  params: RecordType;
5139
5162
  pagination: false | Omit< PlusPaginationProps, "total" | "modelValue" | "pageSizeList">;
5163
+ columnsEmptyText: string;
5140
5164
  postData: <T = RecordType[]>(data: T[]) => T[];
5141
5165
  beforeSearchSubmit: <T_1 = RecordType>(params: T_1) => T_1;
5142
5166
  isCard: boolean;
@@ -5202,6 +5226,10 @@ export declare const PlusPage: {
5202
5226
  type: PropType<false | Omit< PlusPaginationProps, "total" | "modelValue" | "pageSizeList">>;
5203
5227
  default: () => {};
5204
5228
  };
5229
+ columnsEmptyText: {
5230
+ type: PropType<string>;
5231
+ default: string;
5232
+ };
5205
5233
  postData: {
5206
5234
  type: PropType<(<T = RecordType[]>(data: T[]) => T[])>;
5207
5235
  default: undefined;
@@ -8448,6 +8476,7 @@ export declare const PlusPage: {
8448
8476
  offsetBottom?: number | undefined;
8449
8477
  timeout?: number | undefined;
8450
8478
  };
8479
+ columnsEmptyText: string;
8451
8480
  }> & Omit<{
8452
8481
  readonly data: RecordType[];
8453
8482
  readonly columns: PlusColumn[];
@@ -8489,6 +8518,7 @@ export declare const PlusPage: {
8489
8518
  offsetBottom?: number | undefined;
8490
8519
  timeout?: number | undefined;
8491
8520
  };
8521
+ readonly columnsEmptyText: string;
8492
8522
  readonly height?: string | number | undefined;
8493
8523
  readonly radioProps?: Partial< PlusRadioProps & {
8494
8524
  style?: CSSProperties | undefined;
@@ -8640,6 +8670,10 @@ export declare const PlusPage: {
8640
8670
  filterTableHeaderOverflowLabelLength: {
8641
8671
  type: PropType<number>;
8642
8672
  };
8673
+ columnsEmptyText: {
8674
+ type: PropType<string>;
8675
+ default: string;
8676
+ };
8643
8677
  }>> & {
8644
8678
  onClickAction?: ((data: ButtonsCallBackParams) => any) | undefined;
8645
8679
  onClickActionConfirmCancel?: ((data: ButtonsCallBackParams) => any) | undefined;
@@ -8652,7 +8686,7 @@ export declare const PlusPage: {
8652
8686
  onPaginationChange?: ((pageInfo: PageInfo) => any) | undefined;
8653
8687
  onEdited?: (() => any) | undefined;
8654
8688
  onRadioChange?: ((row: RecordType, index: number, value: boolean) => any) | undefined;
8655
- }, "data" | "columns" | "headerCellStyle" | "rowKey" | "actionBar" | "editable" | "indexTableColumnProps" | "indexContentStyle" | "dragSortableTableColumnProps" | "titleBar" | "defaultSize" | "tableData" | "pagination" | "hasIndexColumn" | "isSelection" | "isRadio" | "hasExpand" | "loadingStatus" | "dragSortable" | "selectionTableColumnProps" | "radioTableColumnProps" | "radioProps" | "defaultSelectedRadioRow" | "expandTableColumnProps" | "adaptive">;
8689
+ }, "data" | "columns" | "headerCellStyle" | "rowKey" | "actionBar" | "editable" | "indexTableColumnProps" | "indexContentStyle" | "dragSortableTableColumnProps" | "titleBar" | "defaultSize" | "tableData" | "pagination" | "hasIndexColumn" | "isSelection" | "isRadio" | "hasExpand" | "loadingStatus" | "dragSortable" | "selectionTableColumnProps" | "radioTableColumnProps" | "radioProps" | "defaultSelectedRadioRow" | "expandTableColumnProps" | "adaptive" | "columnsEmptyText">;
8656
8690
  $attrs: {
8657
8691
  [x: string]: unknown;
8658
8692
  };
@@ -8799,6 +8833,10 @@ export declare const PlusPage: {
8799
8833
  filterTableHeaderOverflowLabelLength: {
8800
8834
  type: PropType<number>;
8801
8835
  };
8836
+ columnsEmptyText: {
8837
+ type: PropType<string>;
8838
+ default: string;
8839
+ };
8802
8840
  }>> & {
8803
8841
  onClickAction?: ((data: ButtonsCallBackParams) => any) | undefined;
8804
8842
  onClickActionConfirmCancel?: ((data: ButtonsCallBackParams) => any) | undefined;
@@ -9420,6 +9458,7 @@ export declare const PlusPage: {
9420
9458
  offsetBottom?: number | undefined;
9421
9459
  timeout?: number | undefined;
9422
9460
  };
9461
+ columnsEmptyText: string;
9423
9462
  }, {}, string, {}> & {
9424
9463
  beforeCreate?: ((() => void) | (() => void)[]) | undefined;
9425
9464
  created?: ((() => void) | (() => void)[]) | undefined;
@@ -9573,6 +9612,10 @@ export declare const PlusPage: {
9573
9612
  filterTableHeaderOverflowLabelLength: {
9574
9613
  type: PropType<number>;
9575
9614
  };
9615
+ columnsEmptyText: {
9616
+ type: PropType<string>;
9617
+ default: string;
9618
+ };
9576
9619
  }>> & {
9577
9620
  onClickAction?: ((data: ButtonsCallBackParams) => any) | undefined;
9578
9621
  onClickActionConfirmCancel?: ((data: ButtonsCallBackParams) => any) | undefined;
@@ -10182,6 +10225,7 @@ export declare const PlusPage: {
10182
10225
  immediate: boolean;
10183
10226
  params: RecordType;
10184
10227
  pagination: false | Omit< PlusPaginationProps, "total" | "modelValue" | "pageSizeList">;
10228
+ columnsEmptyText: string;
10185
10229
  postData: <T = RecordType[]>(data: T[]) => T[];
10186
10230
  beforeSearchSubmit: <T_1 = RecordType>(params: T_1) => T_1;
10187
10231
  isCard: boolean;
@@ -10244,6 +10288,10 @@ export declare const PlusPage: {
10244
10288
  type: PropType<false | Omit< PlusPaginationProps, "total" | "modelValue" | "pageSizeList">>;
10245
10289
  default: () => {};
10246
10290
  };
10291
+ columnsEmptyText: {
10292
+ type: PropType<string>;
10293
+ default: string;
10294
+ };
10247
10295
  postData: {
10248
10296
  type: PropType<(<T = RecordType[]>(data: T[]) => T[])>;
10249
10297
  default: undefined;
@@ -13490,6 +13538,7 @@ export declare const PlusPage: {
13490
13538
  offsetBottom?: number | undefined;
13491
13539
  timeout?: number | undefined;
13492
13540
  };
13541
+ columnsEmptyText: string;
13493
13542
  }> & Omit<{
13494
13543
  readonly data: RecordType[];
13495
13544
  readonly columns: PlusColumn[];
@@ -13531,6 +13580,7 @@ export declare const PlusPage: {
13531
13580
  offsetBottom?: number | undefined;
13532
13581
  timeout?: number | undefined;
13533
13582
  };
13583
+ readonly columnsEmptyText: string;
13534
13584
  readonly height?: string | number | undefined;
13535
13585
  readonly radioProps?: Partial< PlusRadioProps & {
13536
13586
  style?: CSSProperties | undefined;
@@ -13682,6 +13732,10 @@ export declare const PlusPage: {
13682
13732
  filterTableHeaderOverflowLabelLength: {
13683
13733
  type: PropType<number>;
13684
13734
  };
13735
+ columnsEmptyText: {
13736
+ type: PropType<string>;
13737
+ default: string;
13738
+ };
13685
13739
  }>> & {
13686
13740
  onClickAction?: ((data: ButtonsCallBackParams) => any) | undefined;
13687
13741
  onClickActionConfirmCancel?: ((data: ButtonsCallBackParams) => any) | undefined;
@@ -13694,7 +13748,7 @@ export declare const PlusPage: {
13694
13748
  onPaginationChange?: ((pageInfo: PageInfo) => any) | undefined;
13695
13749
  onEdited?: (() => any) | undefined;
13696
13750
  onRadioChange?: ((row: RecordType, index: number, value: boolean) => any) | undefined;
13697
- }, "data" | "columns" | "headerCellStyle" | "rowKey" | "actionBar" | "editable" | "indexTableColumnProps" | "indexContentStyle" | "dragSortableTableColumnProps" | "titleBar" | "defaultSize" | "tableData" | "pagination" | "hasIndexColumn" | "isSelection" | "isRadio" | "hasExpand" | "loadingStatus" | "dragSortable" | "selectionTableColumnProps" | "radioTableColumnProps" | "radioProps" | "defaultSelectedRadioRow" | "expandTableColumnProps" | "adaptive">;
13751
+ }, "data" | "columns" | "headerCellStyle" | "rowKey" | "actionBar" | "editable" | "indexTableColumnProps" | "indexContentStyle" | "dragSortableTableColumnProps" | "titleBar" | "defaultSize" | "tableData" | "pagination" | "hasIndexColumn" | "isSelection" | "isRadio" | "hasExpand" | "loadingStatus" | "dragSortable" | "selectionTableColumnProps" | "radioTableColumnProps" | "radioProps" | "defaultSelectedRadioRow" | "expandTableColumnProps" | "adaptive" | "columnsEmptyText">;
13698
13752
  $attrs: {
13699
13753
  [x: string]: unknown;
13700
13754
  };
@@ -13841,6 +13895,10 @@ export declare const PlusPage: {
13841
13895
  filterTableHeaderOverflowLabelLength: {
13842
13896
  type: PropType<number>;
13843
13897
  };
13898
+ columnsEmptyText: {
13899
+ type: PropType<string>;
13900
+ default: string;
13901
+ };
13844
13902
  }>> & {
13845
13903
  onClickAction?: ((data: ButtonsCallBackParams) => any) | undefined;
13846
13904
  onClickActionConfirmCancel?: ((data: ButtonsCallBackParams) => any) | undefined;
@@ -14462,6 +14520,7 @@ export declare const PlusPage: {
14462
14520
  offsetBottom?: number | undefined;
14463
14521
  timeout?: number | undefined;
14464
14522
  };
14523
+ columnsEmptyText: string;
14465
14524
  }, {}, string, {}> & {
14466
14525
  beforeCreate?: ((() => void) | (() => void)[]) | undefined;
14467
14526
  created?: ((() => void) | (() => void)[]) | undefined;
@@ -14615,6 +14674,10 @@ export declare const PlusPage: {
14615
14674
  filterTableHeaderOverflowLabelLength: {
14616
14675
  type: PropType<number>;
14617
14676
  };
14677
+ columnsEmptyText: {
14678
+ type: PropType<string>;
14679
+ default: string;
14680
+ };
14618
14681
  }>> & {
14619
14682
  onClickAction?: ((data: ButtonsCallBackParams) => any) | undefined;
14620
14683
  onClickActionConfirmCancel?: ((data: ButtonsCallBackParams) => any) | undefined;
@@ -15230,6 +15293,7 @@ export declare const PlusPage: {
15230
15293
  immediate: boolean;
15231
15294
  params: RecordType;
15232
15295
  pagination: false | Omit< PlusPaginationProps, "total" | "modelValue" | "pageSizeList">;
15296
+ columnsEmptyText: string;
15233
15297
  postData: <T = RecordType[]>(data: T[]) => T[];
15234
15298
  beforeSearchSubmit: <T_1 = RecordType>(params: T_1) => T_1;
15235
15299
  isCard: boolean;