@dt-frames/ui 2.0.2 → 2.0.3

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 (54) hide show
  1. package/es/components/container/index.d.ts +4 -3
  2. package/es/components/container/index.js +24 -22
  3. package/es/components/container/src/slot-container.d.ts +5 -3
  4. package/es/components/curd/index.js +304 -282
  5. package/es/components/curd/src/components/Curd.d.ts +126 -331
  6. package/es/components/curd/src/props.d.ts +14 -15
  7. package/es/components/drawer/index.d.ts +2 -4
  8. package/es/components/drawer/index.js +64 -63
  9. package/es/components/drawer/src/components/DrawerHeader.d.ts +1 -3
  10. package/es/components/drawer/src/index.d.ts +2 -4
  11. package/es/components/form/index.d.ts +196 -344
  12. package/es/components/form/index.js +140 -139
  13. package/es/components/form/src/components/FormButtons.d.ts +3 -3
  14. package/es/components/form/src/components/FormItem.d.ts +156 -304
  15. package/es/components/form/src/components/formIcon.d.ts +10 -10
  16. package/es/components/form/src/components/formInputUseDialog.d.ts +5 -5
  17. package/es/components/form/src/index.d.ts +186 -334
  18. package/es/components/form/src/props.d.ts +7 -7
  19. package/es/components/form/src/types/form.type.d.ts +1 -1
  20. package/es/components/icons/index.d.ts +496 -2
  21. package/es/components/icons/src/pick-icon.d.ts +5 -5
  22. package/es/components/modal/index.js +87 -86
  23. package/es/components/modal/src/components/Modal.d.ts +108 -215
  24. package/es/components/modal/src/index.d.ts +107 -214
  25. package/es/components/source/index.js +1 -0
  26. package/es/components/table/index.js +357 -788
  27. package/es/components/table/index.less +9 -0
  28. package/es/components/table/src/components/TableAction.d.ts +1 -1
  29. package/es/components/table/src/components/TableHeader.d.ts +109 -216
  30. package/es/components/table/src/components/TableRender.d.ts +13 -9
  31. package/es/components/table/src/components/tableSetting/Download.d.ts +107 -214
  32. package/es/components/table/src/components/tableSetting/DownloadCtrl.d.ts +107 -214
  33. package/es/components/table/src/components/tableSetting/index.d.ts +107 -214
  34. package/es/components/table/src/hooks/useDataSource.d.ts +1 -2
  35. package/es/components/table/src/hooks/usePagination.d.ts +3 -118
  36. package/es/components/table/src/index.d.ts +79 -425
  37. package/es/components/table/src/props.d.ts +11 -70
  38. package/es/components/table/src/types/actions.type.d.ts +1 -2
  39. package/es/components/table/src/types/table.type.d.ts +9 -3
  40. package/es/index.d.ts +1 -1
  41. package/es/index.js +2 -3240
  42. package/es/theme/index.js +406 -393
  43. package/es/theme/src/components/header/components/logo.d.ts +0 -1
  44. package/es/theme/src/components/header/components/notify.d.ts +4 -3
  45. package/es/theme/src/components/header/components/setting-theme.d.ts +2 -1
  46. package/es/theme/src/components/header/components/size.d.ts +5 -5
  47. package/es/theme/src/components/header/components/user-info.d.ts +4 -3
  48. package/es/theme/src/components/header/index.d.ts +13 -12
  49. package/es/theme/src/components/header/multiple-header.d.ts +26 -28
  50. package/es/theme/src/hooks/useMenu.d.ts +1 -1
  51. package/es/theme/src/index.d.ts +27 -28
  52. package/es/theme/src/types/theme.type.d.ts +1 -1
  53. package/package.json +3 -2
  54. package/vite.config.ts +0 -27
@@ -1,12 +1,21 @@
1
- import { DtCache, CacheKey, deepMerge, Pages, useGo, useRedo, Language, useAppStore, useSlots as useSlots$1, error, http, useApp, getDynamicProps, isBoolean, isFunction, getPopupContainer, useI18n, isNumber, isArray, isObject, isString, isNull, dispatchResize, useTimeoutFn, off, on, windowResizeFn, useMessage, isNullAndUnDef, getDictValueByCode, formatNumber, isVnode } from "@dt-frames/core";
2
- import { toRaw as toRaw$1, unref as unref$1, computed as computed$1, defineComponent as defineComponent$1, resolveDirective, openBlock, createElementBlock, Fragment, renderList, withDirectives, createVNode, withCtx, createTextVNode, toDisplayString, createElementVNode, normalizeClass, normalizeStyle, createCommentVNode, createBlock, provide as provide$1, inject, mergeProps, ref as ref$1, watch as watch$1, getCurrentInstance as getCurrentInstance$1, reactive as reactive$1, readonly, watchEffect as watchEffect$1, nextTick as nextTick$1, isRef, useAttrs as useAttrs$1, normalizeProps, guardReactiveProps, isVNode, onUnmounted as onUnmounted$1, h as h$1, resolveDynamicComponent, renderSlot, createSlots } from "vue";
1
+ import { DtCache, CacheKey, deepMerge, Pages, useGo, useRedo, Language, useAppStore, useSlots as useSlots$1, error, http, useApp, getDynamicProps, isBoolean, isFunction, getPopupContainer, useI18n, isNumber, isArray, isObject, isString, dispatchResize, useTimeoutFn, off, on, windowResizeFn, useMessage, isNullAndUnDef, getDictValueByCode, formatNumber, isVnode } from "@dt-frames/core";
2
+ import { toRaw as toRaw$1, unref, computed as computed$1, ref as ref$1, watch, onUnmounted, defineComponent, useAttrs, resolveDirective, openBlock, createElementBlock, Fragment, renderList, withDirectives, createVNode, withCtx, createTextVNode, toDisplayString, createElementVNode, normalizeClass, normalizeStyle, createCommentVNode, createBlock, provide, inject, h as h$1, mergeProps, nextTick, getCurrentInstance as getCurrentInstance$1, reactive, readonly, watchEffect, isRef, normalizeProps, guardReactiveProps, toRefs, isVNode, onMounted as onMounted$1, resolveDynamicComponent, renderSlot, createSlots, useSlots as useSlots$2 } from "vue";
3
3
  import { defineStore } from "pinia";
4
- import { Tooltip, MenuItem, Menu, Dropdown, RadioButton, RadioGroup, Button, FormItem as FormItem$1, Col as Col$1, Spin, Checkbox as Checkbox$1, Divider as Divider$1, Row, CheckboxGroup, Popover as Popover$1, Table } from "ant-design-vue/es";
5
- import { omit, cloneDeep, isEqual, upperFirst } from "lodash-es";
4
+ import { Tooltip, MenuItem, Menu, Dropdown, RadioButton, RadioGroup, Button, FormItem, Col, Spin, Checkbox as Checkbox$1, Divider as Divider$1, Row, CheckboxGroup, Popover as Popover$1, Table } from "ant-design-vue/es";
5
+ import "ant-design-vue/es/table/style";
6
+ import { omit, cloneDeep, isEqual } from "lodash-es";
7
+ import "ant-design-vue/es/dropdown/style";
8
+ import "ant-design-vue/es/menu/style";
9
+ import "ant-design-vue/es/tooltip/style";
6
10
  import { useDebounceFn, useFullscreen, isFunction as isFunction$1 } from "@vueuse/core";
7
- import { Input, InputNumber, Select, TreeSelect, Switch, Checkbox, DatePicker, TimePicker, Popover, Radio, AutoComplete, Cascader, Slider, Rate, Divider, Col, Tooltip as Tooltip$1, Form, FormItem, Modal as Modal$1 } from "ant-design-vue";
11
+ import { Input, InputNumber, Select, TreeSelect, Switch, Checkbox, DatePicker, TimePicker, Popover, Radio, AutoComplete, Cascader, Slider, Rate, Divider, Modal } from "ant-design-vue";
12
+ import "ant-design-vue/es/radio/style";
13
+ import "ant-design-vue/es/col/style";
8
14
  import "ant-design-vue/es/form/style";
9
15
  import "ant-design-vue/es/button/style";
16
+ import "ant-design-vue/es/spin/style";
17
+ import "ant-design-vue/es/row/style";
18
+ import "ant-design-vue/es/divider/style";
10
19
  import "ant-design-vue/es/checkbox/style";
11
20
  import "ant-design-vue/es/popover/style";
12
21
  import Sortablejs from "sortablejs";
@@ -147,8 +156,8 @@ defineStore({
147
156
  return;
148
157
  }
149
158
  let updateIndex = -1;
150
- const tabHasExits = this.tabList.some((tab, index2) => {
151
- updateIndex = index2;
159
+ const tabHasExits = this.tabList.some((tab, index) => {
160
+ updateIndex = index;
152
161
  return (tab.fullPath || tab.path) === (fullPath || path);
153
162
  });
154
163
  if (tabHasExits) {
@@ -164,14 +173,14 @@ defineStore({
164
173
  },
165
174
  closeTab(path, router) {
166
175
  const go = useGo(router);
167
- const index2 = this.tabList.findIndex((item) => item.path === path);
176
+ const index = this.tabList.findIndex((item) => item.path === path);
168
177
  let page;
169
- if (index2 === 0) {
178
+ if (index === 0) {
170
179
  if (this.tabList.length !== 1) {
171
- page = this.tabList[index2 + 1];
180
+ page = this.tabList[index + 1];
172
181
  }
173
182
  } else {
174
- page = this.tabList[index2 - 1];
183
+ page = this.tabList[index - 1];
175
184
  }
176
185
  this.bulkCloseTabs([path]);
177
186
  this.updateCacheTab();
@@ -180,15 +189,15 @@ defineStore({
180
189
  closeAllTab(currentRoute, router) {
181
190
  const go = useGo(router);
182
191
  let filterTabList = this.tabList.filter((item) => item?.meta?.affix ?? false);
183
- const route = filterTabList.length > 0 ? filterTabList[filterTabList.length - 1] : unref$1(currentRoute);
192
+ const route = filterTabList.length > 0 ? filterTabList[filterTabList.length - 1] : unref(currentRoute);
184
193
  this.tabList = [route];
185
194
  this.updateCacheTab();
186
195
  go(route.path);
187
196
  },
188
197
  closeLeftTabs(path) {
189
- const index2 = this.tabList.findIndex((item) => item.path === path);
190
- if (index2 > 0) {
191
- const leftTabs = this.tabList.slice(0, index2);
198
+ const index = this.tabList.findIndex((item) => item.path === path);
199
+ if (index > 0) {
200
+ const leftTabs = this.tabList.slice(0, index);
192
201
  const pathList = [];
193
202
  for (const item of leftTabs) {
194
203
  const affix = item?.meta?.affix ?? false;
@@ -201,9 +210,9 @@ defineStore({
201
210
  this.updateCacheTab();
202
211
  },
203
212
  closeRightTabs(path) {
204
- const index2 = this.tabList.findIndex((item) => item.path === path);
205
- if (index2 >= 0 && index2 < this.tabList.length - 1) {
206
- const rightTabs = this.tabList.slice(index2 + 1, this.tabList.length);
213
+ const index = this.tabList.findIndex((item) => item.path === path);
214
+ if (index >= 0 && index < this.tabList.length - 1) {
215
+ const rightTabs = this.tabList.slice(index + 1, this.tabList.length);
207
216
  const pathList = [];
208
217
  for (const item of rightTabs) {
209
218
  const affix = item?.meta?.affix ?? false;
@@ -243,7 +252,7 @@ defineStore({
243
252
  this.cacheTabList = cacheMap;
244
253
  },
245
254
  async refreshPage(router) {
246
- const findTab = this.getCachedTabList.find((item) => item === unref$1(router.currentRoute).name);
255
+ const findTab = this.getCachedTabList.find((item) => item === unref(router.currentRoute).name);
247
256
  if (findTab) {
248
257
  this.cacheTabList.delete(findTab.toString());
249
258
  }
@@ -265,36 +274,36 @@ function useMenu() {
265
274
  const getMenuFixed = computed$1(() => getMenuConf.fixed);
266
275
  const getShowMenu = computed$1(() => getMenuConf.show);
267
276
  const getShowSidebar = computed$1(() => {
268
- return unref$1(getSplit) || unref$1(getShowMenu) && unref$1(getMenuMode) !== MenuMode.HORIZONTAL;
277
+ return unref(getSplit) || unref(getShowMenu) && unref(getMenuMode) !== MenuMode.HORIZONTAL;
269
278
  });
270
279
  const getMenuHidden = computed$1(() => getMenuConf.hidden);
271
280
  const getMenuTheme = computed$1(() => getMenuConf.theme);
272
281
  const getTrigger = computed$1(() => getMenuConf.trigger);
273
282
  const getCanDrag = computed$1(() => getMenuConf.canDrag);
274
283
  const getIsMixMode = computed$1(() => {
275
- return unref$1(getMenuMode) === MenuMode.INLINE && unref$1(getMenuType) === MenuType.MIX;
284
+ return unref(getMenuMode) === MenuMode.INLINE && unref(getMenuType) === MenuType.MIX;
276
285
  });
277
- const getMenuWidth = computed$1(() => unref$1(getIsMixMode) ? Number(getMenuConf.menuWidth) - 40 : getMenuConf.menuWidth);
286
+ const getMenuWidth = computed$1(() => unref(getIsMixMode) ? Number(getMenuConf.menuWidth) - 40 : getMenuConf.menuWidth);
278
287
  const getLogoWidth = computed$1(() => getMenuConf.menuWidth);
279
288
  const getMenuType = computed$1(() => getMenuConf.type);
280
- const getIsTopMenu = computed$1(() => unref$1(getMenuType) === MenuType.TOP_MENU);
289
+ const getIsTopMenu = computed$1(() => unref(getMenuType) === MenuType.TOP_MENU);
281
290
  const getMenuMode = computed$1(() => getMenuConf.mode);
282
291
  const getSplit = computed$1(() => getMenuConf.split);
283
292
  const getCollapsed = computed$1(() => getMenuConf.collapsed);
284
- const getIsHorizontal = computed$1(() => unref$1(getMenuMode) === MenuMode.HORIZONTAL);
293
+ const getIsHorizontal = computed$1(() => unref(getMenuMode) === MenuMode.HORIZONTAL);
285
294
  const setThemeStore = (conf = {}) => setThemeConf(conf);
286
295
  const toggleCollapsed = () => setThemeStore({
287
296
  menuOptions: {
288
- collapsed: !unref$1(getCollapsed)
297
+ collapsed: !unref(getCollapsed)
289
298
  }
290
299
  });
291
300
  const getMiniWidthNumber = computed$1(() => getMenuConf.collapsedShowTitle ? 80 : 48);
292
301
  const getRealWidth = computed$1(() => {
293
- return unref$1(getCollapsed) ? unref$1(getMiniWidthNumber) : unref$1(getMenuWidth);
302
+ return unref(getCollapsed) ? unref(getMiniWidthNumber) : unref(getMenuWidth);
294
303
  });
295
304
  const getCalcContentWidth = computed$1(() => {
296
- const width = unref$1(getIsTopMenu) || !unref$1(getShowMenu) || unref$1(getSplit) && unref$1(getMenuHidden) ? 0 : unref$1(getRealWidth);
297
- return `calc(100% - ${unref$1(width)}px)`;
305
+ const width = unref(getIsTopMenu) || !unref(getShowMenu) || unref(getSplit) && unref(getMenuHidden) ? 0 : unref(getRealWidth);
306
+ return `calc(100% - ${unref(width)}px)`;
298
307
  });
299
308
  return {
300
309
  getCollapsedShowTitle,
@@ -324,11 +333,11 @@ function useMenu() {
324
333
  }
325
334
  function useMultipleTab() {
326
335
  const { getRouteReuseConf } = useThemeStore();
327
- const getShowMultipleTab = computed(() => getRouteReuseConf.show);
328
- const getShowQuick = computed(() => getRouteReuseConf.showQuick);
329
- const getShowRedo = computed(() => getRouteReuseConf.showRedo);
330
- const getCanCache = computed(() => getRouteReuseConf.cache);
331
- const getCanDrag = computed(() => getRouteReuseConf.canDrag);
336
+ const getShowMultipleTab = computed$1(() => getRouteReuseConf.show);
337
+ const getShowQuick = computed$1(() => getRouteReuseConf.showQuick);
338
+ const getShowRedo = computed$1(() => getRouteReuseConf.showRedo);
339
+ const getCanCache = computed$1(() => getRouteReuseConf.cache);
340
+ const getCanDrag = computed$1(() => getRouteReuseConf.canDrag);
332
341
  return {
333
342
  getShowMultipleTab,
334
343
  getShowQuick,
@@ -355,37 +364,37 @@ function useHeader() {
355
364
  const { getShowMultipleTab } = useMultipleTab();
356
365
  const getHeaderTheme = computed$1(() => getHeaderConf.theme);
357
366
  const getFixed = computed$1(() => getHeaderConf.fixed);
358
- const getShowHeaderLogo = computed$1(() => unref$1(getShowLogo) && !unref$1(getIsSidebarType));
367
+ const getShowHeaderLogo = computed$1(() => unref(getShowLogo) && !unref(getIsSidebarType));
359
368
  const getShowSearch = computed$1(() => getHeaderConf.showSearch);
360
369
  const getShowHeaderTrigger = computed$1(() => {
361
- if (unref$1(getMenuType) === MenuType.TOP_MENU || !unref$1(getShowMenu) || unref$1(getMenuHidden)) {
370
+ if (unref(getMenuType) === MenuType.TOP_MENU || !unref(getShowMenu) || unref(getMenuHidden)) {
362
371
  return false;
363
372
  }
364
- return unref$1(getTrigger);
373
+ return unref(getTrigger);
365
374
  });
366
375
  const getShowBreadCrumb = computed$1(() => getHeaderConf.showBreadCrumb);
367
376
  const getShowBread = computed$1(
368
- () => unref$1(getMenuMode) !== MenuMode.HORIZONTAL && !unref$1(getSplit) && unref$1(getShowBreadCrumb)
377
+ () => unref(getMenuMode) !== MenuMode.HORIZONTAL && !unref(getSplit) && unref(getShowBreadCrumb)
369
378
  );
370
- const getShowTopMenu = computed$1(() => unref$1(getMenuMode) === MenuMode.HORIZONTAL || unref$1(getSplit));
379
+ const getShowTopMenu = computed$1(() => unref(getMenuMode) === MenuMode.HORIZONTAL || unref(getSplit));
371
380
  const getShowNotice = computed$1(() => getHeaderConf.showNotice);
372
381
  const getShowFullScreen = computed$1(() => getHeaderConf.showFullScreen);
373
382
  const getShowLocale = computed$1(() => getHeaderConf.showLocaleSwitch);
374
383
  const getShowSettingTheme = computed$1(() => getHeaderConf.showSettingTheme);
375
384
  const getShowFullHeaderRef = computed$1(() => {
376
- return !unref$1(getIsSidebarType) && !unref$1(getIsTopMenu);
385
+ return !unref(getIsSidebarType) && !unref(getIsTopMenu);
377
386
  });
378
387
  const getHeaderHeight = computed$1(() => {
379
388
  let height = 0;
380
389
  height += HEADER_HEIGHT;
381
- if (unref$1(getShowMultipleTab) && !unref$1(getSplit)) {
390
+ if (unref(getShowMultipleTab) && !unref(getSplit)) {
382
391
  height += TABS_HEIGHT;
383
392
  }
384
393
  return height;
385
394
  });
386
395
  const getTabsHeight = computed$1(() => TABS_HEIGHT);
387
396
  const getShowInsetHeaderRef = computed$1(() => {
388
- return unref$1(getIsSidebarType) || unref$1(getIsTopMenu);
397
+ return unref(getIsSidebarType) || unref(getIsTopMenu);
389
398
  });
390
399
  const getShowBackToTop = computed$1(() => getHeaderConf.showBackToTop);
391
400
  const getIsZH = computed$1(() => {
@@ -469,7 +478,7 @@ function useHeaderCode(code, changeColumns) {
469
478
  let rows = [];
470
479
  data.forEach((it) => {
471
480
  let obj = {
472
- title: unref$1(getIsZH) ? it.cloumnName : it.cloumnEngName,
481
+ title: unref(getIsZH) ? it.cloumnName : it.cloumnEngName,
473
482
  dataIndex: it.cloumnCode,
474
483
  sorter: it.ifOrder,
475
484
  align: getAlign(it.textAlign),
@@ -488,8 +497,8 @@ function useHeaderCode(code, changeColumns) {
488
497
  getColumns();
489
498
  }
490
499
  function useTable(props2) {
491
- const tableRef = ref(null);
492
- const loadedRef = ref(false);
500
+ const tableRef = ref$1(null);
501
+ const loadedRef = ref$1(false);
493
502
  let stopWatch;
494
503
  function registerTable(instance) {
495
504
  const { isProd } = useApp();
@@ -549,21 +558,7 @@ function useTable(props2) {
549
558
  };
550
559
  return [registerTable, methods];
551
560
  }
552
- const _default = "";
553
- const index$e = "";
554
- const index$d = "";
555
- const index$c = "";
556
- const index$b = "";
557
- const index$a = "";
558
- const index$9 = "";
559
- const index$8 = "";
560
- const index$7 = "";
561
- const index$6 = "";
562
- const index$5 = "";
563
- const index$4 = "";
564
- const index$3 = "";
565
561
  const _imports_0 = "data:image/png;base64,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";
566
- const index$2 = "";
567
562
  const _hoisted_1$b = {
568
563
  key: 0,
569
564
  class: "dt-table-action-btn"
@@ -571,7 +566,7 @@ const _hoisted_1$b = {
571
566
  const _hoisted_2$3 = ["onClick"];
572
567
  const _hoisted_3$3 = /* @__PURE__ */ createElementVNode("i", { class: "i ic:baseline-settings dt-table-action-dropdown cursor-pointer" }, null, -1);
573
568
  const _hoisted_4$3 = { class: "text-13 opacity-80" };
574
- const _sfc_main$j = /* @__PURE__ */ defineComponent$1({
569
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
575
570
  __name: "TableAction",
576
571
  props: {
577
572
  fixed: {
@@ -602,7 +597,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent$1({
602
597
  },
603
598
  setup(__props) {
604
599
  const props2 = __props;
605
- const actionBtns = ref([]);
600
+ const actionBtns = ref$1([]);
606
601
  function handleAction(it) {
607
602
  if (isFunction(it.onClick)) {
608
603
  it.onClick({
@@ -635,7 +630,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent$1({
635
630
  const _component_AMenu = Menu;
636
631
  const _component_ADropdown = Dropdown;
637
632
  const _directive_auth = resolveDirective("auth");
638
- return props2.expand ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(unref$1(actionBtns), (item) => {
633
+ return props2.expand ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(actionBtns.value, (item) => {
639
634
  return openBlock(), createElementBlock(Fragment, null, [
640
635
  item.ifShow ? withDirectives((openBlock(), createElementBlock("span", _hoisted_1$b, [
641
636
  createVNode(_component_ATooltip, { placement: "bottom" }, {
@@ -665,7 +660,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent$1({
665
660
  overlay: withCtx(() => [
666
661
  createVNode(_component_AMenu, { class: "dt-action-select flex flex-col" }, {
667
662
  default: withCtx(() => [
668
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref$1(actionBtns), (item) => {
663
+ (openBlock(true), createElementBlock(Fragment, null, renderList(actionBtns.value, (item) => {
669
664
  return withDirectives((openBlock(), createElementBlock("span", null, [
670
665
  item.ifShow ? (openBlock(), createBlock(_component_AMenuItem, {
671
666
  key: 0,
@@ -700,7 +695,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent$1({
700
695
  });
701
696
  const tableKey = Symbol("dt-page");
702
697
  function createTableInstance(instance) {
703
- provide$1(tableKey, instance);
698
+ provide(tableKey, instance);
704
699
  }
705
700
  function getTableInstance() {
706
701
  return inject(tableKey);
@@ -722,10 +717,10 @@ const CellComponent = ({
722
717
  getPopupContainer: getPopupContainer2
723
718
  }, { attrs }) => {
724
719
  const Comp = componentMap$1.get(component);
725
- const DefaultComp = h(Comp, attrs);
720
+ const DefaultComp = h$1(Comp, attrs);
726
721
  if (!rule)
727
722
  return DefaultComp;
728
- return h(
723
+ return h$1(
729
724
  Popover,
730
725
  {
731
726
  overlayClassName: "edit-cell-rule-popover",
@@ -753,7 +748,7 @@ const basicProps$1 = {
753
748
  index: Number
754
749
  };
755
750
  const _hoisted_1$a = { class: "editable-cell" };
756
- const _sfc_main$i = /* @__PURE__ */ defineComponent$1({
751
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
757
752
  __name: "EditTableCell",
758
753
  props: basicProps$1,
759
754
  setup(__props) {
@@ -762,18 +757,18 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent$1({
762
757
  const { t } = useI18n("UI");
763
758
  const { editRule, align = "left" } = props2.column;
764
759
  const table = getTableInstance();
765
- const ruleMessage = ref("");
766
- const ruleVisible = ref(false);
767
- const optionsRef = ref([]);
768
- const currentValueRef = ref(props2.value);
769
- const getComponent = computed(() => props2.column?.editComponent || "Input");
770
- const getRuleVisible = computed(() => {
760
+ const ruleMessage = ref$1("");
761
+ const ruleVisible = ref$1(false);
762
+ const optionsRef = ref$1([]);
763
+ const currentValueRef = ref$1(props2.value);
764
+ const getComponent = computed$1(() => props2.column?.editComponent || "Input");
765
+ const getRuleVisible = computed$1(() => {
771
766
  return unref(ruleMessage) && unref(ruleVisible);
772
767
  });
773
- const getWrapperClass = computed(() => {
768
+ const getWrapperClass = computed$1(() => {
774
769
  return `edit-cell-align-${align}`;
775
770
  });
776
- const getIsCheckComp = computed(() => {
771
+ const getIsCheckComp = computed$1(() => {
777
772
  const component = unref(getComponent);
778
773
  return ["Checkbox", "Switch"].includes(component);
779
774
  });
@@ -786,15 +781,15 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent$1({
786
781
  const setTableValue = () => {
787
782
  props2.record[props2.column.dataIndex] = unref(currentValueRef);
788
783
  };
789
- const getComponentProps = computed(() => {
784
+ const getComponentProps = computed$1(() => {
790
785
  const isCheckValue = unref(getIsCheckComp);
791
786
  const valueField = isCheckValue ? "checked" : "value";
792
787
  const val = unref(currentValueRef);
793
788
  const value = isCheckValue ? isNumber(val) && isBoolean(val) ? val : !!val : val;
794
789
  let compProps = props2.column?.editComponentProps ?? {};
795
- const { record, column, index: index2 } = props2;
790
+ const { record, column, index } = props2;
796
791
  if (isFunction(compProps)) {
797
- compProps = compProps({ text: val, record, column, index: index2 }) ?? {};
792
+ compProps = compProps({ text: val, record, column, index }) ?? {};
798
793
  }
799
794
  if (unref(getComponent) === "InputNumber") {
800
795
  compProps = {
@@ -861,12 +856,12 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent$1({
861
856
  }
862
857
  return (_ctx, _cache) => {
863
858
  return openBlock(), createElementBlock("div", _hoisted_1$a, [
864
- createVNode(unref$1(CellComponent), mergeProps({ ref: "elRef" }, unref$1(getComponentProps), {
859
+ createVNode(unref(CellComponent), mergeProps({ ref: "elRef" }, unref(getComponentProps), {
865
860
  component: _ctx.column?.editComponent,
866
- popoverVisible: unref$1(getRuleVisible),
867
- rule: unref$1(editRule),
868
- ruleMessage: unref$1(ruleMessage),
869
- class: unref$1(getWrapperClass),
861
+ popoverVisible: unref(getRuleVisible),
862
+ rule: unref(editRule),
863
+ ruleMessage: ruleMessage.value,
864
+ class: unref(getWrapperClass),
870
865
  onChange: handleChange,
871
866
  onOptionsChange: handleOptionsChange
872
867
  }), null, 16, ["component", "popoverVisible", "rule", "ruleMessage", "class"])
@@ -875,7 +870,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent$1({
875
870
  }
876
871
  });
877
872
  function renderEditCell(column) {
878
- return ({ text: value, record, index: index2 }) => {
873
+ return ({ text: value, record, index }) => {
879
874
  record.onValid = async () => {
880
875
  if (isArray(record?.validCbs)) {
881
876
  const validFns = (record?.validCbs || []).map((fn) => fn());
@@ -903,11 +898,11 @@ function renderEditCell(column) {
903
898
  }
904
899
  return true;
905
900
  };
906
- return h(_sfc_main$i, {
901
+ return h(_sfc_main$j, {
907
902
  value,
908
903
  record,
909
904
  column,
910
- index: index2
905
+ index
911
906
  });
912
907
  };
913
908
  }
@@ -943,9 +938,9 @@ function handleChildren(children, ellipsis) {
943
938
  function handleIndexColumn(propsRef, getPaginationRef, columns) {
944
939
  const { getIsZH } = useHeader();
945
940
  const { t } = useI18n("UI");
946
- const { showIndexColumn, indexColumnProps, isTreeTable } = unref$1(propsRef);
941
+ const { showIndexColumn, indexColumnProps, isTreeTable } = unref(propsRef);
947
942
  let pushIndexColumns = false;
948
- if (unref$1(isTreeTable)) {
943
+ if (unref(isTreeTable)) {
949
944
  return;
950
945
  }
951
946
  columns.forEach(() => {
@@ -961,18 +956,18 @@ function handleIndexColumn(propsRef, getPaginationRef, columns) {
961
956
  const isFixedLeft = columns.some((item) => item.fixed === "left");
962
957
  columns.unshift({
963
958
  flag: INDEX_FLAG,
964
- width: unref$1(getIsZH) ? 50 : 70,
959
+ width: unref(getIsZH) ? 50 : 70,
965
960
  title: t("NUMBER"),
966
961
  align: "center",
967
- customRender: ({ index: index2 }) => {
968
- const getPagination = unref$1(getPaginationRef);
962
+ customRender: ({ index }) => {
963
+ const getPagination = unref(getPaginationRef);
969
964
  const { appConf } = useAppStore();
970
965
  const { defaultPageSize } = appConf.ui.table;
971
966
  if (isBoolean(getPagination)) {
972
- return `${index2 + 1}`;
967
+ return `${index + 1}`;
973
968
  }
974
969
  const { current = 1, pageSize = defaultPageSize } = getPagination;
975
- return ((current < 1 ? 1 : current) - 1) * pageSize + index2 + 1;
970
+ return ((current < 1 ? 1 : current) - 1) * pageSize + index + 1;
976
971
  },
977
972
  ...isFixedLeft ? {
978
973
  fixed: "left"
@@ -984,9 +979,9 @@ function handleActionColumn(propsRef, columns) {
984
979
  const { getIsZH } = useHeader();
985
980
  const { t } = useI18n("UI");
986
981
  const { operations = [
987
- { name: t("EDIT"), icon: "mdi:text-box-edit-outline", onClick: unref$1(propsRef).onUpdate },
988
- { name: t("DELETE"), icon: "mdi:delete-outline", onClick: unref$1(propsRef).onDelete }
989
- ] } = unref$1(propsRef);
982
+ { name: t("EDIT"), icon: "mdi:text-box-edit-outline", onClick: unref(propsRef).onUpdate },
983
+ { name: t("DELETE"), icon: "mdi:delete-outline", onClick: unref(propsRef).onDelete }
984
+ ] } = unref(propsRef);
990
985
  if (!operations || isObject(operations) && !operations?.btns || isArray(operations) && !operations)
991
986
  return;
992
987
  const hasIndex = columns.findIndex((column) => column.flag === ACTION_COLUMN);
@@ -998,19 +993,19 @@ function handleActionColumn(propsRef, columns) {
998
993
  title: t("ACTIONS"),
999
994
  align: "center",
1000
995
  expand,
1001
- width: `${expand ? column.btns.length * 30 + 40 : unref$1(getIsZH) ? 70 : 90}px`,
996
+ width: `${expand ? column.btns.length * 30 + 40 : unref(getIsZH) ? 70 : 90}px`,
1002
997
  ...column,
1003
998
  flag: ACTION_COLUMN
1004
999
  };
1005
1000
  columns.push({
1006
1001
  ...columnObj,
1007
- customRender: ({ record, index: index2 }) => {
1008
- return h(
1009
- _sfc_main$j,
1002
+ customRender: ({ record, index }) => {
1003
+ return h$1(
1004
+ _sfc_main$k,
1010
1005
  omit({
1011
1006
  ...columnObj,
1012
1007
  record,
1013
- index: index2
1008
+ index
1014
1009
  }, "align")
1015
1010
  );
1016
1011
  }
@@ -1041,12 +1036,12 @@ function sortFixedColumn(columns) {
1041
1036
  ];
1042
1037
  }
1043
1038
  function useColumns(propsRef, getPaginationRef, tableElRef) {
1044
- const columnsRef = ref(unref$1(propsRef).columns);
1045
- let cacheColumns = unref$1(propsRef).columns;
1046
- const getColumnsRef = computed(() => {
1047
- const columns = cloneDeep(unref$1(columnsRef));
1048
- const { ellipsis } = unref$1(propsRef);
1049
- columns.forEach((it, index2) => {
1039
+ const columnsRef = ref(unref(propsRef).columns);
1040
+ let cacheColumns = unref(propsRef).columns;
1041
+ const getColumnsRef = computed$1(() => {
1042
+ const columns = cloneDeep(unref(columnsRef));
1043
+ const { ellipsis } = unref(propsRef);
1044
+ columns.forEach((it, index) => {
1050
1045
  it.class = it.class ?? "";
1051
1046
  if (!it.class.split(" ").includes("__column")) {
1052
1047
  it.class = `${it.class} __column`;
@@ -1066,8 +1061,8 @@ function useColumns(propsRef, getPaginationRef, tableElRef) {
1066
1061
  handleActionColumn(propsRef, columns);
1067
1062
  return columns;
1068
1063
  });
1069
- const getViewColumns = computed(() => {
1070
- const viewColumns = sortFixedColumn(unref$1(getColumnsRef));
1064
+ const getViewColumns = computed$1(() => {
1065
+ const viewColumns = sortFixedColumn(unref(getColumnsRef));
1071
1066
  const columns = cloneDeep(viewColumns);
1072
1067
  return columns.filter((column) => isIfShow(column)).map((column) => {
1073
1068
  if (column.edit) {
@@ -1080,10 +1075,10 @@ function useColumns(propsRef, getPaginationRef, tableElRef) {
1080
1075
  const ifShow = column.show;
1081
1076
  return isBoolean(ifShow) ? ifShow : isFunction(ifShow) ? ifShow(column) : true;
1082
1077
  }
1083
- const resizeFn = useDebounceFn(addResize, 100);
1078
+ useDebounceFn(addResize, 100);
1084
1079
  function addResize() {
1085
- const { resizable, minWidth = 50, maxWidth = 700 } = unref$1(propsRef);
1086
- let els = unref$1(tableElRef)?.$el.querySelectorAll(".__column"), allWidth = 0, columnAllWidth = 0, noWidthNum = 0, avgWidth = 0;
1080
+ const { resizable, minWidth = 50, maxWidth = 700 } = unref(propsRef);
1081
+ let els = unref(tableElRef)?.$el.querySelectorAll(".__column"), allWidth = 0, columnAllWidth = 0, noWidthNum = 0, avgWidth = 0;
1087
1082
  for (let i = 0; i < els?.length; i++) {
1088
1083
  allWidth += els[i].offsetWidth ?? 0;
1089
1084
  }
@@ -1108,7 +1103,7 @@ function useColumns(propsRef, getPaginationRef, tableElRef) {
1108
1103
  }
1109
1104
  function getColumns(opt) {
1110
1105
  const { ignoreIndex, ignoreAction, sort } = opt || {};
1111
- let columns = toRaw(unref$1(getColumnsRef));
1106
+ let columns = toRaw$1(unref(getColumnsRef));
1112
1107
  if (ignoreIndex) {
1113
1108
  columns = columns.filter((it) => it.flag !== INDEX_FLAG);
1114
1109
  }
@@ -1163,11 +1158,11 @@ function useColumns(propsRef, getPaginationRef, tableElRef) {
1163
1158
  return cacheColumns;
1164
1159
  }
1165
1160
  watch(
1166
- () => unref$1(propsRef).columns,
1161
+ () => unref(propsRef).columns,
1167
1162
  (columns) => {
1168
1163
  columnsRef.value = columns;
1169
1164
  cacheColumns = columns.filter((it) => !it.flag) ?? [];
1170
- nextTick(() => resizeFn());
1165
+ nextTick(() => addResize());
1171
1166
  }
1172
1167
  );
1173
1168
  return {
@@ -1180,12 +1175,12 @@ function useColumns(propsRef, getPaginationRef, tableElRef) {
1180
1175
  };
1181
1176
  }
1182
1177
  function useCustomRow(propsRef, { setSelectedRowKeys, getSelectedRowKeys, clearSelectedRowKeys, emits }) {
1183
- const customRow = (record, index2) => {
1178
+ const customRow = (record, index) => {
1184
1179
  return {
1185
1180
  onClick: (e) => {
1186
1181
  e?.stopPropagation();
1187
1182
  function handleClick() {
1188
- const { rowSelection, rowKey, clickToSelectRow } = unref$1(propsRef);
1183
+ const { rowSelection, rowKey, clickToSelectRow } = unref(propsRef);
1189
1184
  if (!rowSelection || !clickToSelectRow)
1190
1185
  return;
1191
1186
  const keys = getSelectedRowKeys();
@@ -1234,19 +1229,19 @@ function useCustomRow(propsRef, { setSelectedRowKeys, getSelectedRowKeys, clearS
1234
1229
  }
1235
1230
  }
1236
1231
  handleClick();
1237
- emits("row-click", record, index2, e);
1232
+ emits("row-click", record, index, e);
1238
1233
  },
1239
1234
  onDblclick: (event) => {
1240
- emits("row-dbClick", record, index2, event);
1235
+ emits("row-dbClick", record, index, event);
1241
1236
  },
1242
1237
  onContextmenu: (event) => {
1243
- emits("row-contextmenu", record, index2, event);
1238
+ emits("row-contextmenu", record, index, event);
1244
1239
  },
1245
1240
  onMouseenter: (event) => {
1246
- emits("row-mouseenter", record, index2, event);
1241
+ emits("row-mouseenter", record, index, event);
1247
1242
  },
1248
1243
  onMouseleave: (event) => {
1249
- emits("row-mouseleave", record, index2, event);
1244
+ emits("row-mouseleave", record, index, event);
1250
1245
  }
1251
1246
  };
1252
1247
  };
@@ -1260,8 +1255,8 @@ function useDataSource(propsRef, {
1260
1255
  clearSelectedRowKeys
1261
1256
  }) {
1262
1257
  const dataSourceRef = ref$1([]);
1263
- watch$1(
1264
- () => unref$1(propsRef).dataSource,
1258
+ watch(
1259
+ () => unref(propsRef).dataSource,
1265
1260
  (dataSource) => {
1266
1261
  dataSource && (dataSourceRef.value = dataSource);
1267
1262
  },
@@ -1270,10 +1265,10 @@ function useDataSource(propsRef, {
1270
1265
  }
1271
1266
  );
1272
1267
  const getDataSourceRef = computed$1(() => {
1273
- return unref$1(dataSourceRef);
1268
+ return unref(dataSourceRef);
1274
1269
  });
1275
1270
  function handleTableChange(pagination, filters, sorter) {
1276
- const { sortFn, filterFn, onTableChange: onTableChange2, clearSelectOnPageChange } = unref$1(propsRef);
1271
+ const { sortFn, filterFn, onTableChange: onTableChange2, clearSelectOnPageChange } = unref(propsRef);
1277
1272
  const { appConf: appConf2 } = useAppStore();
1278
1273
  const { current = 1, pageSize = appConf2.ui.table.defaultPageSize } = pagination;
1279
1274
  if (clearSelectOnPageChange) {
@@ -1293,11 +1288,11 @@ function useDataSource(propsRef, {
1293
1288
  pageSize
1294
1289
  },
1295
1290
  sort: sorter,
1296
- filter: toRaw$1(unref$1(params.filterInfo)),
1291
+ filter: toRaw$1(unref(params.filterInfo)),
1297
1292
  showBtnLoading: false
1298
1293
  });
1299
1294
  }
1300
- const { defSort, onTableChange } = unref$1(propsRef);
1295
+ const { defSort, onTableChange } = unref(propsRef);
1301
1296
  const { appConf } = useAppStore();
1302
1297
  onTableChange({
1303
1298
  pagination: {
@@ -1320,11 +1315,11 @@ function useDataSource(propsRef, {
1320
1315
  function findTableDataRecord(rowKey) {
1321
1316
  if (!dataSourceRef.value || dataSourceRef.value.length == 0 || !rowKey)
1322
1317
  return;
1323
- const { childrenColumnName = "children" } = unref$1(propsRef);
1318
+ const { childrenColumnName = "children" } = unref(propsRef);
1324
1319
  const findRow = (array) => {
1325
1320
  let ret;
1326
1321
  array.some(function iter(r) {
1327
- if (Reflect.has(r, unref$1(propsRef).rowKey) && r[unref$1(propsRef).rowKey] === rowKey) {
1322
+ if (Reflect.has(r, unref(propsRef).rowKey) && r[unref(propsRef).rowKey] === rowKey) {
1328
1323
  ret = r;
1329
1324
  return true;
1330
1325
  }
@@ -1341,71 +1336,20 @@ function useDataSource(propsRef, {
1341
1336
  findTableDataRecord
1342
1337
  };
1343
1338
  }
1344
- function useLabelWidth(schemaItemRef, propsRef) {
1345
- const { getIsZH } = useHeader();
1346
- const { appConf } = useAppStore();
1347
- return computed(() => {
1348
- const { labelWidth, enLabelWidth, labelCol = {}, wrapperCol = {} } = unref(schemaItemRef);
1349
- const {
1350
- labelWidth: gLabelWidth,
1351
- enLabelWidth: gEnLabelWidth,
1352
- labelCol: glabelCol = {},
1353
- wrapperCol: gwrapperCol = {},
1354
- layout = appConf.ui.form.layout
1355
- } = unref(propsRef);
1356
- let width = (unref(getIsZH) ? labelWidth ?? gLabelWidth : enLabelWidth ?? gEnLabelWidth) ?? labelWidth ?? gLabelWidth ?? 0;
1357
- const labelcol = { ...glabelCol, ...labelCol };
1358
- const wrapcol = { ...gwrapperCol, ...wrapperCol };
1359
- width = isNumber(width) ? `${width}px` : width;
1360
- return {
1361
- labelCol: {
1362
- style: { width },
1363
- ...labelcol
1364
- },
1365
- wrapperCol: {
1366
- style: { width: layout === "vertical" ? "100%" : `calc(100% - ${width})` },
1367
- ...wrapcol
1368
- }
1369
- };
1370
- });
1371
- }
1372
- const SINGLE_DATA_TYPE = ["DatePicker", "MonthPicker", "WeekPicker", "TimePicker"];
1373
- function createPlaceholder(component) {
1374
- const { t } = useI18n("UI");
1375
- if (component.includes("Input") || component.includes("Complete")) {
1376
- return t("PLEASE_INPUT");
1377
- }
1378
- if (component.includes("Picker") || component.includes("Select") || component.includes("Cascader") || component.includes("Checkbox") || component.includes("Radio") || component.includes("Switch")) {
1379
- return t("PLEASE_SELECT");
1380
- }
1381
- if (component.includes("Icon")) {
1382
- return t("PLEASE_SET_ICON");
1383
- }
1384
- return "";
1385
- }
1386
- function setComponentRuleType(rule, component, valueFormat) {
1387
- if (SINGLE_DATA_TYPE.includes(component)) {
1388
- rule.type = valueFormat ? "string" : "object";
1389
- } else if (["RangePicker", "Upload", "CheckboxGroup", "TimePicker"].includes(component)) {
1390
- rule.type = "array";
1391
- } else if (["InputNumber"].includes(component)) {
1392
- rule.type = "number";
1393
- }
1394
- }
1395
1339
  function useFormValue(props2, key = "value", changeEvent = "change", emitData) {
1396
1340
  const instance = getCurrentInstance$1();
1397
1341
  const emit = instance?.emit;
1398
- const innerState = reactive$1({
1342
+ const innerState = reactive({
1399
1343
  value: props2[key]
1400
1344
  });
1401
1345
  const defaultState = readonly(innerState);
1402
1346
  const setState = (val) => {
1403
1347
  innerState.value = val;
1404
- nextTick$1(() => {
1405
- emit?.(changeEvent, val, ...toRaw$1(unref$1(emitData)) || []);
1348
+ nextTick(() => {
1349
+ emit?.(changeEvent, val, ...toRaw$1(unref(emitData)) || []);
1406
1350
  });
1407
1351
  };
1408
- watchEffect$1(() => {
1352
+ watchEffect(() => {
1409
1353
  innerState.value = props2[key];
1410
1354
  });
1411
1355
  const state = computed$1({
@@ -1416,14 +1360,14 @@ function useFormValue(props2, key = "value", changeEvent = "change", emitData) {
1416
1360
  if (isEqual(value, defaultState.value))
1417
1361
  return;
1418
1362
  innerState.value = value;
1419
- nextTick$1(() => {
1420
- emit?.(changeEvent, value, ...toRaw$1(unref$1(emitData)) || []);
1363
+ nextTick(() => {
1364
+ emit?.(changeEvent, value, ...toRaw$1(unref(emitData)) || []);
1421
1365
  });
1422
1366
  }
1423
1367
  });
1424
1368
  return [state, setState, defaultState];
1425
1369
  }
1426
- const _sfc_main$h = /* @__PURE__ */ defineComponent$1({
1370
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
1427
1371
  __name: "radioButton",
1428
1372
  props: {
1429
1373
  value: {
@@ -1450,13 +1394,13 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent$1({
1450
1394
  return (_ctx, _cache) => {
1451
1395
  const _component_ARadioButton = RadioButton;
1452
1396
  const _component_ARadioGroup = RadioGroup;
1453
- return openBlock(), createBlock(_component_ARadioGroup, mergeProps(unref$1(attrs), {
1454
- value: unref$1(state),
1397
+ return openBlock(), createBlock(_component_ARadioGroup, mergeProps(unref(attrs), {
1398
+ value: unref(state),
1455
1399
  "onUpdate:value": _cache[0] || (_cache[0] = ($event) => isRef(state) ? state.value = $event : null),
1456
1400
  "button-style": "solid"
1457
1401
  }), {
1458
1402
  default: withCtx(() => [
1459
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref$1(getOptions), (item) => {
1403
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(getOptions), (item) => {
1460
1404
  return openBlock(), createBlock(_component_ARadioButton, {
1461
1405
  key: `${item.value}`,
1462
1406
  value: item.value,
@@ -1475,11 +1419,11 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent$1({
1475
1419
  }
1476
1420
  });
1477
1421
  const _hoisted_1$9 = { class: "input-with-dialog" };
1478
- const _sfc_main$g = /* @__PURE__ */ defineComponent$1({
1422
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
1479
1423
  __name: "formInputUseDialog",
1480
1424
  setup(__props) {
1481
1425
  const { t } = useI18n("UI");
1482
- const attrs = useAttrs$1();
1426
+ const attrs = useAttrs();
1483
1427
  const bindProps = computed$1(() => {
1484
1428
  return {
1485
1429
  ...omit(attrs, [
@@ -1503,9 +1447,9 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent$1({
1503
1447
  return (_ctx, _cache) => {
1504
1448
  return openBlock(), createElementBlock("div", _hoisted_1$9, [
1505
1449
  createElementVNode("div", { onClick: onClickInput }, [
1506
- createVNode(unref$1(Input), normalizeProps(guardReactiveProps(unref$1(bindProps))), null, 16)
1450
+ createVNode(unref(Input), normalizeProps(guardReactiveProps(unref(bindProps))), null, 16)
1507
1451
  ]),
1508
- unref$1(attrs).formValues?.schema?.linkProps?.length ? (openBlock(), createElementBlock("i", {
1452
+ unref(attrs).formValues?.schema?.linkProps?.length ? (openBlock(), createElementBlock("i", {
1509
1453
  key: 0,
1510
1454
  class: "i mdi:close-circle",
1511
1455
  onClick: clearProps
@@ -1516,7 +1460,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent$1({
1516
1460
  });
1517
1461
  const components = {
1518
1462
  Input,
1519
- InputWithDialog: _sfc_main$g,
1463
+ InputWithDialog: _sfc_main$h,
1520
1464
  InputTextArea: Input.TextArea,
1521
1465
  InputSearch: Input.Search,
1522
1466
  InputGroup: Input.Group,
@@ -1525,7 +1469,7 @@ const components = {
1525
1469
  TreeSelect,
1526
1470
  Radio,
1527
1471
  RadioGroup: Radio.Group,
1528
- RadioButtonGroup: _sfc_main$h,
1472
+ RadioButtonGroup: _sfc_main$i,
1529
1473
  Checkbox,
1530
1474
  CheckboxGroup: Checkbox.Group,
1531
1475
  AutoComplete,
@@ -1545,372 +1489,6 @@ const componentMap = /* @__PURE__ */ new Map();
1545
1489
  for (let item in components) {
1546
1490
  componentMap.set(item, components[item]);
1547
1491
  }
1548
- function _isSlot$1(s) {
1549
- return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
1550
- }
1551
- defineComponent({
1552
- name: "FormItem",
1553
- inheritAttrs: false,
1554
- props: {
1555
- schema: {
1556
- type: Object,
1557
- default: () => ({})
1558
- },
1559
- formProps: {
1560
- type: Object,
1561
- default: () => ({})
1562
- },
1563
- defaultValues: {
1564
- type: Object,
1565
- default: () => ({})
1566
- },
1567
- formModel: {
1568
- type: Object,
1569
- default: () => ({})
1570
- },
1571
- setFormModel: {
1572
- type: Function
1573
- },
1574
- formActionType: {
1575
- type: Object
1576
- }
1577
- },
1578
- setup(props2, {
1579
- emit,
1580
- slots
1581
- }) {
1582
- const {
1583
- getSlot
1584
- } = useSlots$1();
1585
- const {
1586
- t
1587
- } = useI18n("UI");
1588
- const {
1589
- getUiSize
1590
- } = useHeader();
1591
- const {
1592
- appConf
1593
- } = useAppStore();
1594
- const {
1595
- schema,
1596
- formProps
1597
- } = toRefs(props2);
1598
- const getValues = computed(() => {
1599
- const {
1600
- defaultValues,
1601
- formModel,
1602
- schema: schema2
1603
- } = props2;
1604
- let name = schema2.name;
1605
- return {
1606
- name: isArray(name) ? name.join("-") : name,
1607
- model: formModel,
1608
- schema: schema2,
1609
- values: {
1610
- ...defaultValues,
1611
- ...formModel
1612
- }
1613
- };
1614
- });
1615
- const getShow = computed(() => {
1616
- const {
1617
- show = true,
1618
- isAdvanced = true
1619
- } = props2.schema;
1620
- if (!isAdvanced) {
1621
- return false;
1622
- }
1623
- if (isFunction(show)) {
1624
- return show(unref(getValues).model);
1625
- }
1626
- return show;
1627
- });
1628
- const getComponentProps = computed(() => {
1629
- const {
1630
- schema: schema2
1631
- } = props2;
1632
- let {
1633
- props: cProps = {}
1634
- } = schema2;
1635
- if (isFunction(cProps)) {
1636
- cProps = cProps(unref(getValues).model) ?? {};
1637
- }
1638
- if (schema2.component === "Divider") {
1639
- cProps = Object.assign({
1640
- type: "horizontal"
1641
- }, cProps, {
1642
- orientation: "left"
1643
- });
1644
- }
1645
- return cProps;
1646
- });
1647
- function renderItem() {
1648
- const {
1649
- component,
1650
- slot,
1651
- render,
1652
- name,
1653
- colon = appConf.ui.form.colon,
1654
- suffix,
1655
- prefix
1656
- } = props2.schema;
1657
- const {
1658
- labelCol,
1659
- wrapperCol
1660
- } = unref(useLabelWidth(schema, formProps));
1661
- const getContent = () => {
1662
- const value = unref(getValues);
1663
- let _con = slot ? getSlot(slots, slot, value.model) : render ? render(value.model) : renderFormItem();
1664
- return component === "InputGroup" || component === "Icon" ? createVNode(FormItem, {
1665
- "class": "m-0"
1666
- }, _isSlot$1(_con) ? _con : {
1667
- default: () => [_con]
1668
- }) : _con;
1669
- };
1670
- const getSuffix = () => {
1671
- return isFunction(suffix) ? suffix(unref(getValues).model) : suffix;
1672
- };
1673
- const getPrefix = () => {
1674
- return isFunction(prefix) ? prefix(unref(getValues).model) : prefix;
1675
- };
1676
- return createVNode(Form.Item, {
1677
- "name": isArray(name) ? name.join("-") : name,
1678
- "colon": colon,
1679
- "class": [unref(getUiSize), {
1680
- "suffix-item": !!suffix
1681
- }],
1682
- "label": renderLabel(),
1683
- "rules": handleRules(),
1684
- "labelCol": labelCol,
1685
- "wrapperCol": wrapperCol
1686
- }, {
1687
- default: () => [createVNode("div", {
1688
- "style": "display:flex"
1689
- }, [!!prefix && createVNode("span", {
1690
- "class": "prefix px-2"
1691
- }, [getPrefix()]), createVNode("div", {
1692
- "style": "flex:1; width: 100%;"
1693
- }, [getContent()]), !!suffix && createVNode("span", {
1694
- "class": "suffix px-2"
1695
- }, [getSuffix()])])]
1696
- });
1697
- }
1698
- function renderLabel() {
1699
- const {
1700
- label,
1701
- toolTip,
1702
- subLabel,
1703
- toolTipProps = {}
1704
- } = props2.schema;
1705
- const renderLabel2 = subLabel ? createVNode("span", null, [createTextVNode(" "), label, createTextVNode(" "), createVNode("span", {
1706
- "class": "text-secondary opacity-50"
1707
- }, [createTextVNode("("), subLabel, createTextVNode(")")])]) : label;
1708
- const _toolTip = isFunction(toolTip) ? toolTip(unref(getValues).model) : toolTip;
1709
- const _toolTipProps = {
1710
- title: renderLabel2,
1711
- autoAdjustOverflow: true,
1712
- placement: "top",
1713
- ...toolTipProps
1714
- };
1715
- return _toolTip ? createVNode("span", null, [createVNode(Tooltip$1, _toolTipProps, _isSlot$1(renderLabel2) ? renderLabel2 : {
1716
- default: () => [renderLabel2]
1717
- })]) : renderLabel2;
1718
- }
1719
- function renderFormItem() {
1720
- const {
1721
- schema: schema2,
1722
- formModel,
1723
- formActionType
1724
- } = props2;
1725
- const {
1726
- component,
1727
- name,
1728
- changeEvent = "change",
1729
- valueField,
1730
- renderComponent,
1731
- props: sProps
1732
- } = props2.schema;
1733
- const isCheck = component && ["Switch", "Checkbox"].includes(component);
1734
- const eventKey = `on${upperFirst(changeEvent)}`;
1735
- const _sProps = isFunction(sProps) ? sProps(formModel) : sProps;
1736
- const on2 = {
1737
- [eventKey]: (...args) => {
1738
- const [e] = args;
1739
- const target = e ? e.target : null;
1740
- const value = target ? isCheck ? target.checked : target.value : e;
1741
- if (isString(name)) {
1742
- props2.setFormModel(name, value);
1743
- } else if (isArray(name)) {
1744
- name.map((key) => props2.setFormModel(key, value));
1745
- }
1746
- if (_sProps && _sProps[eventKey])
1747
- _sProps[eventKey](...args, formModel);
1748
- }
1749
- };
1750
- for (let it in _sProps) {
1751
- if (it.startsWith("on") && it !== eventKey) {
1752
- on2[it] = (...args) => {
1753
- _sProps[it](...args, formModel);
1754
- };
1755
- }
1756
- }
1757
- const getDisable = computed(() => {
1758
- const {
1759
- disabled: gDisabled
1760
- } = props2.formProps;
1761
- const {
1762
- disabled
1763
- } = props2.schema;
1764
- const {
1765
- disabled: itemDisabled = false
1766
- } = unref(getComponentProps);
1767
- let _disabled = !!gDisabled || itemDisabled;
1768
- if (isBoolean(disabled))
1769
- _disabled = disabled;
1770
- if (isFunction(disabled))
1771
- _disabled = disabled(unref(getValues).model);
1772
- return _disabled;
1773
- });
1774
- const itemProps = {
1775
- allowClear: _sProps?.allowClear ?? appConf.ui.form.allowClear,
1776
- size: unref(getUiSize) === UiSize.MIDDLE ? "default" : unref(getUiSize),
1777
- ...unref(getComponentProps),
1778
- disabled: unref(getDisable)
1779
- };
1780
- if (component === "Select") {
1781
- {
1782
- itemProps.showSearch = true;
1783
- itemProps.optionFilterProp = "label";
1784
- }
1785
- }
1786
- if (!itemProps.disabled && component !== "RangePicker") {
1787
- itemProps.placeholder = unref(getComponentProps)?.placeholder || createPlaceholder(component);
1788
- }
1789
- if (["DatePicker", "MonthPicker", "RangePicker"].includes(component)) {
1790
- itemProps.defaultValue = props2.formModel[name];
1791
- }
1792
- itemProps.codeName = name;
1793
- itemProps.formValues = unref(getValues);
1794
- if (["Select", "DatePicker", "MonthPicker", "WeekPicker", "RangePicker"].includes(component)) {
1795
- itemProps.dropdownClassName += ` ${unref(getUiSize)}`;
1796
- }
1797
- const bindValue = {
1798
- [valueField || (isCheck ? "checked" : "value")]: props2.formModel[name]
1799
- };
1800
- let compAttr = {
1801
- ...itemProps,
1802
- ...bindValue,
1803
- ...on2
1804
- };
1805
- const Comp = componentMap.get(component);
1806
- if (!renderComponent) {
1807
- return createVNode(Comp, compAttr, null);
1808
- }
1809
- const compSlot = isFunction(renderComponent) ? {
1810
- ...renderComponent(unref(getValues))
1811
- } : {
1812
- default: () => renderComponent
1813
- };
1814
- return createVNode(Comp, compAttr, _isSlot$1(compSlot) ? compSlot : {
1815
- default: () => [compSlot]
1816
- });
1817
- }
1818
- function handleRules() {
1819
- const {
1820
- rules: defaultRules = [],
1821
- component,
1822
- label,
1823
- dynamicRules,
1824
- required
1825
- } = props2.schema;
1826
- if (!component)
1827
- return [];
1828
- if (isFunction(dynamicRules)) {
1829
- return dynamicRules(unref(getValues).model);
1830
- }
1831
- const defaultMsg = createPlaceholder(component) + label;
1832
- let rules = cloneDeep(defaultRules);
1833
- const getRequired = isFunction(required) ? required(unref(getValues).model) : required;
1834
- function validator(rule, value) {
1835
- const msg = rule.message || defaultMsg;
1836
- if (value === void 0 || isNull(value) || Array.isArray(value) && value.length === 0 || typeof value === "string" && value.trim() === "" || typeof value === "object" && Reflect.has(value, "checked") && Reflect.has(value, "halfChecked") && Array.isArray(value.checked) && Array.isArray(value.halfChecked) && value.checked.length === 0 && value.halfChecked.length === 0) {
1837
- return Promise.reject(msg);
1838
- }
1839
- return Promise.resolve();
1840
- }
1841
- if (!rules || !rules.length) {
1842
- let _required = isBoolean(getRequired) ? getRequired : unref(getRequired);
1843
- rules = _required ? [{
1844
- required: _required,
1845
- validator
1846
- }] : [];
1847
- }
1848
- const requiredIndex = rules.findIndex((rule) => Reflect.has(rule, "required") && !Reflect.has(rule, "validator"));
1849
- if (requiredIndex !== -1) {
1850
- const rule = rules[requiredIndex];
1851
- if (!unref(getShow)) {
1852
- rule.required = false;
1853
- }
1854
- if (!Reflect.has(rule, "type")) {
1855
- rule.type = component === "InputNumber" ? "number" : "string";
1856
- }
1857
- rule.message = rule.message || defaultMsg;
1858
- if (component.includes("Input") || component.includes("Textarea")) {
1859
- rule.whitespace = true;
1860
- }
1861
- const valueFormat = unref(getComponentProps)?.valueFormat;
1862
- setComponentRuleType(rule, component, valueFormat);
1863
- }
1864
- const maxIndex = rules.findIndex((val) => val.max);
1865
- if (maxIndex !== -1 && !rules[maxIndex].validator) {
1866
- rules[maxIndex].message = rules[maxIndex].message || `\u6700\u5927\u503C\u4E3A${rules[maxIndex].max}`;
1867
- }
1868
- return rules;
1869
- }
1870
- return () => {
1871
- let _slot2;
1872
- const {
1873
- colSlot,
1874
- renderCol,
1875
- colProps,
1876
- component,
1877
- render,
1878
- slot
1879
- } = props2.schema;
1880
- const {
1881
- colProps: gColProps,
1882
- mode
1883
- } = props2.formProps;
1884
- let _colProps = colProps || gColProps || (mode === "search" ? appConf.ui.form.searchColspan : appConf.ui.form.dialogColspan);
1885
- const values = unref(getValues);
1886
- if (!component) {
1887
- if (!render && !renderCol && !slot) {
1888
- error(t("NEED_RENDER"));
1889
- return;
1890
- }
1891
- }
1892
- if (component === "Divider") {
1893
- let _slot;
1894
- let cprops = unref(getComponentProps);
1895
- const span = cprops?.span ?? 24;
1896
- return createVNode(Col, {
1897
- "span": span
1898
- }, {
1899
- default: () => [createVNode(Divider, cprops, _isSlot$1(_slot = renderLabel()) ? _slot : {
1900
- default: () => [_slot]
1901
- })]
1902
- });
1903
- }
1904
- const getContent = () => {
1905
- return colSlot ? getSlot(slots, colSlot, values) : renderCol ? renderCol(values) : renderItem();
1906
- };
1907
- return unref(getShow) && createVNode(Col, _colProps, _isSlot$1(_slot2 = getContent()) ? _slot2 : {
1908
- default: () => [_slot2]
1909
- });
1910
- };
1911
- }
1912
- });
1913
- const index$1 = "";
1914
1492
  const _hoisted_1$8 = {
1915
1493
  key: 0,
1916
1494
  className: "preIcon pr-1"
@@ -1924,7 +1502,7 @@ const _hoisted_4$2 = /* @__PURE__ */ createElementVNode("i", { class: "text-2xl
1924
1502
  const _hoisted_5$1 = [
1925
1503
  _hoisted_4$2
1926
1504
  ];
1927
- const _sfc_main$f = /* @__PURE__ */ defineComponent$1({
1505
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
1928
1506
  __name: "FormButtons",
1929
1507
  props: {
1930
1508
  mode: {
@@ -1956,12 +1534,12 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent$1({
1956
1534
  setup(__props, { emit: emits }) {
1957
1535
  const props2 = __props;
1958
1536
  const { t } = useI18n();
1959
- const advancedRef = ref(props2.isAdvanced);
1537
+ const advancedRef = ref$1(props2.isAdvanced);
1960
1538
  let key = 0;
1961
- const showAdvanceRef = computed(() => {
1539
+ const showAdvanceRef = computed$1(() => {
1962
1540
  return props2.mode === "search" ? props2.showAdvancedButton : false;
1963
1541
  });
1964
- const colOpt = computed(() => {
1542
+ const colOpt = computed$1(() => {
1965
1543
  let style = {
1966
1544
  textAlign: "right"
1967
1545
  };
@@ -1972,7 +1550,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent$1({
1972
1550
  }
1973
1551
  return { style };
1974
1552
  });
1975
- const getAdvanceClass = computed(() => {
1553
+ const getAdvanceClass = computed$1(() => {
1976
1554
  return [
1977
1555
  "basic-arrow",
1978
1556
  { "basic-arrow--active": !advancedRef.value }
@@ -2007,11 +1585,11 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent$1({
2007
1585
  );
2008
1586
  return (_ctx, _cache) => {
2009
1587
  const _component_AButton = Button;
2010
- const _component_AFormItem = FormItem$1;
2011
- const _component_ACol = Col$1;
1588
+ const _component_AFormItem = FormItem;
1589
+ const _component_ACol = Col;
2012
1590
  const _directive_icon = resolveDirective("icon");
2013
1591
  const _directive_auth = resolveDirective("auth");
2014
- return __props.show ? (openBlock(), createBlock(_component_ACol, normalizeProps(mergeProps({ key: 0 }, unref$1(colOpt))), {
1592
+ return __props.show ? (openBlock(), createBlock(_component_ACol, normalizeProps(mergeProps({ key: 0 }, unref(colOpt))), {
2015
1593
  default: withCtx(() => [
2016
1594
  createVNode(_component_AFormItem, {
2017
1595
  class: "dt-form-btns",
@@ -2025,9 +1603,9 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent$1({
2025
1603
  (button.show === void 0 ? true : button.show) ? withDirectives((openBlock(), createBlock(_component_AButton, {
2026
1604
  type: button.type,
2027
1605
  class: normalizeClass(button.class),
2028
- loading: button.loading,
1606
+ loading: button.loading?.value,
2029
1607
  disabled: button.disabled,
2030
- key: unref$1(key),
1608
+ key: unref(key),
2031
1609
  onClick: ($event) => handleBtnClick(button)
2032
1610
  }, {
2033
1611
  icon: withCtx(() => [
@@ -2036,7 +1614,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent$1({
2036
1614
  ]) : createCommentVNode("", true)
2037
1615
  ]),
2038
1616
  default: withCtx(() => [
2039
- createTextVNode(" " + toDisplayString(unref$1(t)(button.name)) + " ", 1),
1617
+ createTextVNode(" " + toDisplayString(unref(t)(button.name)) + " ", 1),
2040
1618
  button.postIcon ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$2, null, 512)), [
2041
1619
  [_directive_icon, button.postIcon]
2042
1620
  ]) : createCommentVNode("", true)
@@ -2047,16 +1625,16 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent$1({
2047
1625
  ]) : createCommentVNode("", true)
2048
1626
  ], 64);
2049
1627
  }), 256)),
2050
- unref$1(showAdvanceRef) ? (openBlock(), createBlock(_component_AButton, {
1628
+ unref(showAdvanceRef) ? (openBlock(), createBlock(_component_AButton, {
2051
1629
  key: 0,
2052
1630
  type: "link",
2053
1631
  class: "advanced",
2054
1632
  onClick: toggleAdvanced
2055
1633
  }, {
2056
1634
  default: withCtx(() => [
2057
- createElementVNode("span", _hoisted_3$2, toDisplayString(unref$1(advancedRef) ? unref$1(t)("UI.ADVANCED") : unref$1(t)("UI.EXPAND")), 1),
1635
+ createElementVNode("span", _hoisted_3$2, toDisplayString(advancedRef.value ? unref(t)("UI.ADVANCED") : unref(t)("UI.EXPAND")), 1),
2058
1636
  createElementVNode("span", {
2059
- class: normalizeClass(unref$1(getAdvanceClass))
1637
+ class: normalizeClass(unref(getAdvanceClass))
2060
1638
  }, _hoisted_5$1, 2)
2061
1639
  ]),
2062
1640
  _: 1
@@ -2071,12 +1649,12 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent$1({
2071
1649
  }
2072
1650
  });
2073
1651
  const _hoisted_1$7 = { key: 0 };
2074
- const _sfc_main$e = /* @__PURE__ */ defineComponent$1({
1652
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
2075
1653
  __name: "Fullscreen",
2076
1654
  setup(__props) {
2077
1655
  const { t } = useI18n("UI");
2078
1656
  const table = getTableInstance();
2079
- const wrapEl = ref(null);
1657
+ const wrapEl = ref$1(null);
2080
1658
  const { toggle, isFullscreen } = useFullscreen(wrapEl);
2081
1659
  watch(
2082
1660
  () => table.tableElRef.value,
@@ -2097,15 +1675,15 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent$1({
2097
1675
  const _component_ATooltip = Tooltip;
2098
1676
  return openBlock(), createBlock(_component_ATooltip, { placement: "top" }, {
2099
1677
  title: withCtx(() => [
2100
- !unref$1(isFullscreen) ? (openBlock(), createElementBlock("span", _hoisted_1$7, toDisplayString(unref$1(t)("FULLSCREEN")), 1)) : createCommentVNode("", true)
1678
+ !unref(isFullscreen) ? (openBlock(), createElementBlock("span", _hoisted_1$7, toDisplayString(unref(t)("FULLSCREEN")), 1)) : createCommentVNode("", true)
2101
1679
  ]),
2102
1680
  default: withCtx(() => [
2103
1681
  createElementVNode("span", {
2104
1682
  class: "flex",
2105
- onClick: _cache[0] || (_cache[0] = (...args) => unref$1(toggle) && unref$1(toggle)(...args))
1683
+ onClick: _cache[0] || (_cache[0] = (...args) => unref(toggle) && unref(toggle)(...args))
2106
1684
  }, [
2107
1685
  createElementVNode("i", {
2108
- class: normalizeClass(["i w-7 leading-7 text-center cursor-pointer", unref$1(isFullscreen) ? "ic:baseline-fullscreen-exit" : "ic:baseline-fullscreen"])
1686
+ class: normalizeClass(["i w-7 leading-7 text-center cursor-pointer", unref(isFullscreen) ? "ic:baseline-fullscreen-exit" : "ic:baseline-fullscreen"])
2109
1687
  }, null, 2)
2110
1688
  ])
2111
1689
  ]),
@@ -2118,9 +1696,9 @@ const orgDialogProp = reactive({});
2118
1696
  const cbTransfer = reactive({});
2119
1697
  const dataTransfer = reactive({});
2120
1698
  function useModalOut() {
2121
- const modal = ref(null);
2122
- const loaded = ref(true);
2123
- const uid = ref(null);
1699
+ const modal = ref$1(null);
1700
+ const loaded = ref$1(true);
1701
+ const uid = ref$1(null);
2124
1702
  const { isProd } = useApp();
2125
1703
  function register(modalMethod, uuid) {
2126
1704
  if (!getCurrentInstance()) {
@@ -2178,9 +1756,9 @@ function useModalOut() {
2178
1756
  return [register, methods];
2179
1757
  }
2180
1758
  function useModal(props2, setModalData) {
2181
- const modalInstanceRef = ref(null);
1759
+ const modalInstanceRef = ref$1(null);
2182
1760
  const currentInstance = getCurrentInstance();
2183
- const uidRef = ref(null);
1761
+ const uidRef = ref$1(null);
2184
1762
  const { isProd } = useApp();
2185
1763
  const getInstance = () => {
2186
1764
  const instance = unref(modalInstanceRef);
@@ -2384,7 +1962,7 @@ function useDragMove(context) {
2384
1962
  function _isSlot(s) {
2385
1963
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
2386
1964
  }
2387
- const Modal = defineComponent({
1965
+ const _sfc_main$e = {
2388
1966
  name: "Modal",
2389
1967
  inheritAttrs: false,
2390
1968
  props: basicProps,
@@ -2418,13 +1996,13 @@ const Modal = defineComponent({
2418
1996
  };
2419
1997
  if (!propsData?.visible)
2420
1998
  return null;
2421
- return createVNode(Modal$1, propsData, _isSlot(_slot = extendSlots(slots)) ? _slot : {
1999
+ return createVNode(Modal, propsData, _isSlot(_slot = extendSlots(slots)) ? _slot : {
2422
2000
  default: () => [_slot]
2423
2001
  });
2424
2002
  };
2425
2003
  }
2426
- });
2427
- const _sfc_main$d = /* @__PURE__ */ defineComponent$1({
2004
+ };
2005
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
2428
2006
  __name: "CloseIcon",
2429
2007
  props: {
2430
2008
  canFullscreen: { type: Boolean, default: true },
@@ -2434,7 +2012,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent$1({
2434
2012
  setup(__props, { emit }) {
2435
2013
  const props2 = __props;
2436
2014
  const { t } = useI18n("UI");
2437
- const getClass = computed(() => {
2015
+ const getClass = computed$1(() => {
2438
2016
  return [
2439
2017
  "dt-basic-modal-close",
2440
2018
  `dt-basic-modal-close--custom`,
@@ -2454,12 +2032,12 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent$1({
2454
2032
  return (_ctx, _cache) => {
2455
2033
  const _component_ATooltip = Tooltip;
2456
2034
  return openBlock(), createElementBlock("div", {
2457
- class: normalizeClass(["flex h-14 items-center justify-center", unref$1(getClass)])
2035
+ class: normalizeClass(["flex h-14 items-center justify-center", unref(getClass)])
2458
2036
  }, [
2459
2037
  __props.canFullscreen ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
2460
2038
  __props.fullScreen ? (openBlock(), createBlock(_component_ATooltip, {
2461
2039
  key: 0,
2462
- title: unref$1(t)("EXIT_FULLSCREEN"),
2040
+ title: unref(t)("EXIT_FULLSCREEN"),
2463
2041
  placement: "bottom"
2464
2042
  }, {
2465
2043
  default: withCtx(() => [
@@ -2471,7 +2049,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent$1({
2471
2049
  _: 1
2472
2050
  }, 8, ["title"])) : (openBlock(), createBlock(_component_ATooltip, {
2473
2051
  key: 1,
2474
- title: unref$1(t)("FULLSCREEN"),
2052
+ title: unref(t)("FULLSCREEN"),
2475
2053
  placement: "bottom"
2476
2054
  }, {
2477
2055
  default: withCtx(() => [
@@ -2551,7 +2129,7 @@ function removeResizeListener(element, fn) {
2551
2129
  element.__ro__.disconnect();
2552
2130
  }
2553
2131
  }
2554
- const Bar = defineComponent$1({
2132
+ const Bar = defineComponent({
2555
2133
  name: "Bar",
2556
2134
  props: {
2557
2135
  vertical: Boolean,
@@ -2607,7 +2185,7 @@ const Bar = defineComponent$1({
2607
2185
  off(document, "mousemove", mouseMoveDocumentHandler);
2608
2186
  document.onselectstart = null;
2609
2187
  }
2610
- onUnmounted$1(() => {
2188
+ onUnmounted(() => {
2611
2189
  off(document, "mouseup", mouseUpDocumentHandler);
2612
2190
  });
2613
2191
  return () => h$1(
@@ -2630,7 +2208,7 @@ const Bar = defineComponent$1({
2630
2208
  }
2631
2209
  });
2632
2210
  const _hoisted_1$6 = { class: "scrollbar relative h-full overflow-hidden" };
2633
- const _sfc_main$c = /* @__PURE__ */ defineComponent$1({
2211
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
2634
2212
  __name: "scroll-bar",
2635
2213
  props: {
2636
2214
  wrapClass: {
@@ -2654,14 +2232,14 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent$1({
2654
2232
  },
2655
2233
  setup(__props) {
2656
2234
  const props2 = __props;
2657
- const sizeWidth = ref("0");
2658
- const sizeHeight = ref("0");
2659
- const moveX = ref(0);
2660
- const moveY = ref(0);
2661
- const wrap = ref();
2662
- const resize = ref();
2235
+ const sizeWidth = ref$1("0");
2236
+ const sizeHeight = ref$1("0");
2237
+ const moveX = ref$1(0);
2238
+ const moveY = ref$1(0);
2239
+ const wrap = ref$1();
2240
+ const resize = ref$1();
2663
2241
  provide("scroll-bar-wrap", wrap);
2664
- const style = computed(() => {
2242
+ const style = computed$1(() => {
2665
2243
  let rsStyle = {};
2666
2244
  if (Array.isArray(props2.wrapStyle)) {
2667
2245
  props2.wrapStyle.forEach((it) => {
@@ -2683,7 +2261,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent$1({
2683
2261
  sizeHeight.value = heightPercentage < 100 ? heightPercentage + "%" : "";
2684
2262
  sizeWidth.value = widthPercentage < 100 ? widthPercentage + "%" : "";
2685
2263
  };
2686
- onMounted(() => {
2264
+ onMounted$1(() => {
2687
2265
  nextTick(update);
2688
2266
  if (!props2.noresize) {
2689
2267
  addResizeListener(unref(resize), update);
@@ -2704,7 +2282,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent$1({
2704
2282
  ref_key: "wrap",
2705
2283
  ref: wrap,
2706
2284
  class: normalizeClass([[__props.wrapClass, "scrollbar__wrap--hidden-default"], "h-full overflow-auto"]),
2707
- style: normalizeStyle(unref$1(style)),
2285
+ style: normalizeStyle(unref(style)),
2708
2286
  onScroll: handleScroll
2709
2287
  }, [
2710
2288
  (openBlock(), createBlock(resolveDynamicComponent(__props.tag), {
@@ -2719,20 +2297,20 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent$1({
2719
2297
  _: 3
2720
2298
  }, 8, ["class", "style"]))
2721
2299
  ], 38),
2722
- createVNode(unref$1(Bar), {
2723
- move: unref$1(moveX),
2724
- size: unref$1(sizeWidth)
2300
+ createVNode(unref(Bar), {
2301
+ move: moveX.value,
2302
+ size: sizeWidth.value
2725
2303
  }, null, 8, ["move", "size"]),
2726
- createVNode(unref$1(Bar), {
2304
+ createVNode(unref(Bar), {
2727
2305
  vertical: "",
2728
- move: unref$1(moveY),
2729
- size: unref$1(sizeHeight)
2306
+ move: moveY.value,
2307
+ size: sizeHeight.value
2730
2308
  }, null, 8, ["move", "size"])
2731
2309
  ]);
2732
2310
  };
2733
2311
  }
2734
2312
  });
2735
- const _sfc_main$b = /* @__PURE__ */ defineComponent$1({
2313
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
2736
2314
  __name: "scroll-container",
2737
2315
  setup(__props) {
2738
2316
  const scrollbarRef = ref(null);
@@ -2749,8 +2327,8 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent$1({
2749
2327
  };
2750
2328
  }
2751
2329
  });
2752
- const _sfc_main$a = defineComponent({
2753
- name: "slot-container",
2330
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2331
+ __name: "slot-container",
2754
2332
  props: {
2755
2333
  template: {
2756
2334
  type: Function
@@ -2759,9 +2337,11 @@ const _sfc_main$a = defineComponent({
2759
2337
  type: Object
2760
2338
  }
2761
2339
  },
2762
- setup(props2) {
2763
- return () => {
2764
- return h("div", [props2.template(props2.data)]);
2340
+ setup(__props) {
2341
+ const props2 = __props;
2342
+ const Container = h("div", [props2.template(props2.data)]);
2343
+ return (_ctx, _cache) => {
2344
+ return openBlock(), createBlock(unref(Container));
2765
2345
  };
2766
2346
  }
2767
2347
  });
@@ -2773,7 +2353,7 @@ const withInstall = (comp) => {
2773
2353
  };
2774
2354
  const DtScrollContainer = withInstall(_sfc_main$b);
2775
2355
  withInstall(_sfc_main$a);
2776
- const _sfc_main$9 = /* @__PURE__ */ defineComponent$1({
2356
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2777
2357
  __name: "ModalWrap",
2778
2358
  props: {
2779
2359
  useWrapper: { type: Boolean, default: true },
@@ -2787,12 +2367,12 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent$1({
2787
2367
  emits: ["ext-height", "height-change"],
2788
2368
  setup(__props, { emit: emits }) {
2789
2369
  const props2 = __props;
2790
- const wrapperRef = ref(null);
2791
- const wrapRef = ref(null);
2792
- const realHeightRef = ref(0);
2793
- const minRealHeightRef = ref(0);
2370
+ const wrapperRef = ref$1(null);
2371
+ const wrapRef = ref$1(null);
2372
+ const realHeightRef = ref$1(0);
2373
+ const minRealHeightRef = ref$1(0);
2794
2374
  let realHeight = 0;
2795
- const wrapStyle = computed(() => {
2375
+ const wrapStyle = computed$1(() => {
2796
2376
  return {
2797
2377
  minHeight: `${props2.minHeight}px`,
2798
2378
  [props2.fullScreen ? "height" : "maxHeight"]: `${unref(realHeightRef)}px`
@@ -2861,7 +2441,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent$1({
2861
2441
  }
2862
2442
  );
2863
2443
  return (_ctx, _cache) => {
2864
- return openBlock(), createBlock(unref$1(DtScrollContainer), {
2444
+ return openBlock(), createBlock(unref(DtScrollContainer), {
2865
2445
  ref_key: "wrapperRef",
2866
2446
  ref: wrapperRef
2867
2447
  }, {
@@ -2869,7 +2449,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent$1({
2869
2449
  createElementVNode("div", {
2870
2450
  ref_key: "wrapRef",
2871
2451
  ref: wrapRef,
2872
- style: normalizeStyle(unref$1(wrapStyle))
2452
+ style: normalizeStyle(unref(wrapStyle))
2873
2453
  }, [
2874
2454
  renderSlot(_ctx.$slots, "default")
2875
2455
  ], 4)
@@ -2879,7 +2459,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent$1({
2879
2459
  };
2880
2460
  }
2881
2461
  });
2882
- const _sfc_main$8 = /* @__PURE__ */ defineComponent$1({
2462
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2883
2463
  __name: "ModalFooter",
2884
2464
  props: {
2885
2465
  buttons: Object,
@@ -2921,9 +2501,9 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent$1({
2921
2501
  return (_ctx, _cache) => {
2922
2502
  return openBlock(), createElementBlock(Fragment, null, [
2923
2503
  renderSlot(_ctx.$slots, "appendFooter"),
2924
- createVNode(_sfc_main$f, {
2504
+ createVNode(_sfc_main$g, {
2925
2505
  mode: "dialog",
2926
- buttonList: unref$1(buttonList),
2506
+ buttonList: unref(buttonList),
2927
2507
  onHandleMethod: _cache[0] || (_cache[0] = ($event) => handleMethod($event))
2928
2508
  }, null, 8, ["buttonList"])
2929
2509
  ], 64);
@@ -2931,8 +2511,8 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent$1({
2931
2511
  }
2932
2512
  });
2933
2513
  function useFullScreen(wrapClassName) {
2934
- const fullScreenRef = ref(false);
2935
- const getWrapClassName = computed(() => {
2514
+ const fullScreenRef = ref$1(false);
2515
+ const getWrapClassName = computed$1(() => {
2936
2516
  const clsName = unref(wrapClassName) || "";
2937
2517
  const cls = unref(fullScreenRef) ? `fullscreen-modal ${clsName} ` : unref(clsName);
2938
2518
  return `dt-modal ${cls}`;
@@ -2948,23 +2528,23 @@ function useFullScreen(wrapClassName) {
2948
2528
  toggleFullScreen
2949
2529
  };
2950
2530
  }
2951
- const _sfc_main$7 = /* @__PURE__ */ defineComponent$1({
2531
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2952
2532
  __name: "index",
2953
2533
  props: basicProps,
2954
2534
  emits: ["visible-change", "height-change", "cancel", "save", "register", "update:visible"],
2955
2535
  setup(__props, { emit: emits }) {
2956
2536
  const props2 = __props;
2957
- const visibleRef = ref(false);
2958
- const propsRef = ref();
2959
- const modalWrapperRef = ref(null);
2960
- const { getWrapClassName, toggleFullScreen, fullScreenRef } = useFullScreen(computed(() => unref(propsRef)?.wrapClassName));
2961
- const getMergeProps = computed(() => {
2537
+ const visibleRef = ref$1(false);
2538
+ const propsRef = ref$1();
2539
+ const modalWrapperRef = ref$1(null);
2540
+ const { getWrapClassName, toggleFullScreen, fullScreenRef } = useFullScreen(computed$1(() => unref(propsRef)?.wrapClassName));
2541
+ const getMergeProps = computed$1(() => {
2962
2542
  return {
2963
2543
  ...props2,
2964
2544
  ...unref(propsRef)
2965
2545
  };
2966
2546
  });
2967
- const getBindValue = computed(() => {
2547
+ const getBindValue = computed$1(() => {
2968
2548
  const bindValue = {
2969
2549
  ...unref(getMergeProps),
2970
2550
  ...unref(propsRef),
@@ -2977,12 +2557,12 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent$1({
2977
2557
  }
2978
2558
  return omit(bindValue, omitArr);
2979
2559
  });
2980
- const getWrapperHeight = computed(() => {
2560
+ const getWrapperHeight = computed$1(() => {
2981
2561
  if (unref(fullScreenRef))
2982
2562
  return void 0;
2983
2563
  return unref(getBindValue).height;
2984
2564
  });
2985
- const modalFooterHeight = computed(() => {
2565
+ const modalFooterHeight = computed$1(() => {
2986
2566
  if (isArray(props2.footer)) {
2987
2567
  return (unref(propsRef)?.footer).length ? 0 : void 0;
2988
2568
  }
@@ -3048,23 +2628,23 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent$1({
3048
2628
  });
3049
2629
  return (_ctx, _cache) => {
3050
2630
  const _component_ASpin = Spin;
3051
- return openBlock(), createBlock(unref$1(Modal), mergeProps(unref$1(getBindValue), { onCancel: handleCancel }), createSlots({
2631
+ return openBlock(), createBlock(_sfc_main$e, mergeProps(unref(getBindValue), { onCancel: handleCancel }), createSlots({
3052
2632
  default: withCtx(() => [
3053
2633
  createVNode(_component_ASpin, {
3054
- spinning: unref$1(getBindValue).loading,
3055
- tip: unref$1(getBindValue).loadingTip
2634
+ spinning: unref(getBindValue).loading,
2635
+ tip: unref(getBindValue).loadingTip
3056
2636
  }, {
3057
2637
  default: withCtx(() => [
3058
2638
  createVNode(_sfc_main$9, mergeProps({
3059
- useWrapper: unref$1(getBindValue).useWrapper,
3060
- fullScreen: unref$1(fullScreenRef),
2639
+ useWrapper: unref(getBindValue).useWrapper,
2640
+ fullScreen: unref(fullScreenRef),
3061
2641
  ref_key: "modalWrapperRef",
3062
2642
  ref: modalWrapperRef,
3063
- minHeight: unref$1(getBindValue).minHeight,
3064
- height: unref$1(getWrapperHeight),
3065
- visible: unref$1(visibleRef),
3066
- modalFooterHeight: unref$1(modalFooterHeight)
3067
- }, unref$1(omit)(unref$1(getBindValue).wrapperProps, "visible", "height", "modalFooterHeight"), { onHeightChange: handleHeightChange }), {
2643
+ minHeight: unref(getBindValue).minHeight,
2644
+ height: unref(getWrapperHeight),
2645
+ visible: visibleRef.value,
2646
+ modalFooterHeight: unref(modalFooterHeight)
2647
+ }, unref(omit)(unref(getBindValue).wrapperProps, "visible", "height", "modalFooterHeight"), { onHeightChange: handleHeightChange }), {
3068
2648
  default: withCtx(() => [
3069
2649
  renderSlot(_ctx.$slots, "default")
3070
2650
  ]),
@@ -3080,10 +2660,10 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent$1({
3080
2660
  name: "closeIcon",
3081
2661
  fn: withCtx(() => [
3082
2662
  createVNode(_sfc_main$d, {
3083
- canFullscreen: unref$1(getBindValue).canFullscreen,
3084
- fullScreen: unref$1(fullScreenRef),
2663
+ canFullscreen: unref(getBindValue).canFullscreen,
2664
+ fullScreen: unref(fullScreenRef),
3085
2665
  onCancel: handleCancel,
3086
- onFullscreen: unref$1(toggleFullScreen)
2666
+ onFullscreen: unref(toggleFullScreen)
3087
2667
  }, null, 8, ["canFullscreen", "fullScreen", "onFullscreen"])
3088
2668
  ]),
3089
2669
  key: "0"
@@ -3091,7 +2671,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent$1({
3091
2671
  !_ctx.$slots.title ? {
3092
2672
  name: "title",
3093
2673
  fn: withCtx(() => [
3094
- createTextVNode(toDisplayString(unref$1(getMergeProps).title), 1)
2674
+ createTextVNode(toDisplayString(unref(getMergeProps).title), 1)
3095
2675
  ]),
3096
2676
  key: "1"
3097
2677
  } : void 0,
@@ -3099,11 +2679,11 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent$1({
3099
2679
  name: "footer",
3100
2680
  fn: withCtx(() => [
3101
2681
  createVNode(_sfc_main$8, {
3102
- buttons: unref$1(propsRef)?.footer,
3103
- showSave: unref$1(getBindValue).showOkBtn,
3104
- showCancel: unref$1(getBindValue).showCancelBtn,
3105
- okText: unref$1(getBindValue).okText,
3106
- cancelText: unref$1(getBindValue).cancelText,
2682
+ buttons: propsRef.value?.footer,
2683
+ showSave: unref(getBindValue).showOkBtn,
2684
+ showCancel: unref(getBindValue).showCancelBtn,
2685
+ okText: unref(getBindValue).okText,
2686
+ cancelText: unref(getBindValue).cancelText,
3107
2687
  onHandleSave: handleSave,
3108
2688
  onHandleCancel: handleCancel
3109
2689
  }, createSlots({ _: 2 }, [
@@ -3119,7 +2699,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent$1({
3119
2699
  ]),
3120
2700
  key: "2"
3121
2701
  } : void 0,
3122
- renderList(Object.keys(unref$1(omit)(_ctx.$slots, "default")), (item) => {
2702
+ renderList(Object.keys(unref(omit)(_ctx.$slots, "default")), (item) => {
3123
2703
  return {
3124
2704
  name: item,
3125
2705
  fn: withCtx((data) => [
@@ -3131,9 +2711,8 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent$1({
3131
2711
  };
3132
2712
  }
3133
2713
  });
3134
- const index = "";
3135
2714
  const _hoisted_1$5 = { class: "column-select" };
3136
- const _sfc_main$6 = /* @__PURE__ */ defineComponent$1({
2715
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3137
2716
  __name: "DownloadCtrl",
3138
2717
  setup(__props) {
3139
2718
  const { t } = useI18n("UI");
@@ -3142,7 +2721,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent$1({
3142
2721
  indeterminate: false,
3143
2722
  checkAll: false
3144
2723
  });
3145
- const modalData = ref([]);
2724
+ const modalData = ref$1([]);
3146
2725
  const onCheckAllChange = (e) => {
3147
2726
  modalData.value?.map((it) => it.show = e.target.checked);
3148
2727
  };
@@ -3181,29 +2760,29 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent$1({
3181
2760
  return (_ctx, _cache) => {
3182
2761
  const _component_ACheckbox = Checkbox$1;
3183
2762
  const _component_ADivider = Divider$1;
3184
- const _component_ACol = Col$1;
2763
+ const _component_ACol = Col;
3185
2764
  const _component_ARow = Row;
3186
- return openBlock(), createBlock(unref$1(_sfc_main$7), {
3187
- onRegister: unref$1(registerDialog),
2765
+ return openBlock(), createBlock(unref(_sfc_main$7), {
2766
+ onRegister: unref(registerDialog),
3188
2767
  onSave: save
3189
2768
  }, {
3190
2769
  default: withCtx(() => [
3191
2770
  createElementVNode("div", _hoisted_1$5, [
3192
2771
  createVNode(_component_ACheckbox, {
3193
- checked: unref$1(state).checkAll,
3194
- "onUpdate:checked": _cache[0] || (_cache[0] = ($event) => unref$1(state).checkAll = $event),
3195
- indeterminate: unref$1(state).indeterminate,
2772
+ checked: state.checkAll,
2773
+ "onUpdate:checked": _cache[0] || (_cache[0] = ($event) => state.checkAll = $event),
2774
+ indeterminate: state.indeterminate,
3196
2775
  onChange: onCheckAllChange
3197
2776
  }, {
3198
2777
  default: withCtx(() => [
3199
- createTextVNode(toDisplayString(unref$1(t)("SELECT_ALL")), 1)
2778
+ createTextVNode(toDisplayString(unref(t)("SELECT_ALL")), 1)
3200
2779
  ]),
3201
2780
  _: 1
3202
2781
  }, 8, ["checked", "indeterminate"]),
3203
2782
  createVNode(_component_ADivider, { dashed: "" }),
3204
2783
  createVNode(_component_ARow, null, {
3205
2784
  default: withCtx(() => [
3206
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref$1(modalData), (it, index2) => {
2785
+ (openBlock(true), createElementBlock(Fragment, null, renderList(modalData.value, (it, index) => {
3207
2786
  return openBlock(), createBlock(_component_ACol, { span: 8 }, {
3208
2787
  default: withCtx(() => [
3209
2788
  createVNode(_component_ACheckbox, {
@@ -3230,7 +2809,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent$1({
3230
2809
  }
3231
2810
  });
3232
2811
  const _hoisted_1$4 = /* @__PURE__ */ createElementVNode("i", { class: "i ic:baseline-download w-7 leading-7 text-center cursor-pointer" }, null, -1);
3233
- const _sfc_main$5 = /* @__PURE__ */ defineComponent$1({
2812
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
3234
2813
  __name: "Download",
3235
2814
  props: {
3236
2815
  onlyBackDowonload: Boolean,
@@ -3259,32 +2838,32 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent$1({
3259
2838
  const _component_ATooltip = Tooltip;
3260
2839
  return openBlock(), createBlock(_component_ATooltip, { placement: "top" }, {
3261
2840
  title: withCtx(() => [
3262
- createElementVNode("span", null, toDisplayString(unref$1(t)("EXPORT")), 1)
2841
+ createElementVNode("span", null, toDisplayString(unref(t)("EXPORT")), 1)
3263
2842
  ]),
3264
2843
  default: withCtx(() => [
3265
2844
  createVNode(_component_ADropdown, {
3266
2845
  placement: "bottom",
3267
2846
  trigger: ["click"],
3268
- getPopupContainer: unref$1(getPopupContainer)
2847
+ getPopupContainer: unref(getPopupContainer)
3269
2848
  }, {
3270
2849
  overlay: withCtx(() => [
3271
2850
  createVNode(_component_AMenu, { onClick: handleTitleClick }, {
3272
2851
  default: withCtx(() => [
3273
2852
  !__props.onlyBackDowonload ? (openBlock(), createBlock(_component_AMenuItem, { key: "current" }, {
3274
2853
  default: withCtx(() => [
3275
- createElementVNode("span", null, toDisplayString(unref$1(t)("EXPORT_CURRENT_PAGE")), 1)
2854
+ createElementVNode("span", null, toDisplayString(unref(t)("EXPORT_CURRENT_PAGE")), 1)
3276
2855
  ]),
3277
2856
  _: 1
3278
2857
  })) : createCommentVNode("", true),
3279
2858
  !__props.onlyBackDowonload ? (openBlock(), createBlock(_component_AMenuItem, { key: "select" }, {
3280
2859
  default: withCtx(() => [
3281
- createElementVNode("span", null, toDisplayString(unref$1(t)("EXPORT_SELECT_COLUMN")), 1)
2860
+ createElementVNode("span", null, toDisplayString(unref(t)("EXPORT_SELECT_COLUMN")), 1)
3282
2861
  ]),
3283
2862
  _: 1
3284
2863
  })) : createCommentVNode("", true),
3285
2864
  !__props.onlyFrontDownload ? (openBlock(), createBlock(_component_AMenuItem, { key: "all" }, {
3286
2865
  default: withCtx(() => [
3287
- createElementVNode("span", null, toDisplayString(unref$1(t)("EXPORT_ALL")), 1)
2866
+ createElementVNode("span", null, toDisplayString(unref(t)("EXPORT_ALL")), 1)
3288
2867
  ]),
3289
2868
  _: 1
3290
2869
  })) : createCommentVNode("", true)
@@ -3297,7 +2876,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent$1({
3297
2876
  ]),
3298
2877
  _: 1
3299
2878
  }, 8, ["getPopupContainer"]),
3300
- createVNode(_sfc_main$6, { onRegister: unref$1(registerDialog) }, null, 8, ["onRegister"])
2879
+ createVNode(_sfc_main$6, { onRegister: unref(registerDialog) }, null, 8, ["onRegister"])
3301
2880
  ]),
3302
2881
  _: 1
3303
2882
  });
@@ -3308,7 +2887,7 @@ const _hoisted_1$3 = /* @__PURE__ */ createElementVNode("i", { class: "i ant-des
3308
2887
  const _hoisted_2$1 = ["onClick"];
3309
2888
  const _hoisted_3$1 = ["onClick"];
3310
2889
  const _hoisted_4$1 = /* @__PURE__ */ createElementVNode("i", { class: "i ant-design:setting-outlined w-7 leading-7 text-center cursor-pointer" }, null, -1);
3311
- const _sfc_main$4 = /* @__PURE__ */ defineComponent$1({
2890
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
3312
2891
  __name: "Column",
3313
2892
  emits: [
3314
2893
  "columns-change"
@@ -3320,13 +2899,13 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent$1({
3320
2899
  const table = getTableInstance();
3321
2900
  const defaultRowSelection = omit(table.getRowSelection(), "selectedRowKeys");
3322
2901
  let inited = false;
3323
- const cachePlainOptions = ref([]);
3324
- const plainOptions = ref([]);
3325
- const plainSortOptions = ref([]);
3326
- const columnListRef = ref(null);
3327
- const checkIndex = ref(false);
3328
- const checkSelect = ref(false);
3329
- const getValues = computed(() => {
2902
+ const cachePlainOptions = ref$1([]);
2903
+ const plainOptions = ref$1([]);
2904
+ const plainSortOptions = ref$1([]);
2905
+ const columnListRef = ref$1(null);
2906
+ const checkIndex = ref$1(false);
2907
+ const checkSelect = ref$1(false);
2908
+ const getValues = computed$1(() => {
3330
2909
  return unref(table?.getBind);
3331
2910
  });
3332
2911
  let sortable;
@@ -3336,7 +2915,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent$1({
3336
2915
  checkedList: [],
3337
2916
  defaultCheckList: []
3338
2917
  });
3339
- const indeterminate = computed(() => {
2918
+ const indeterminate = computed$1(() => {
3340
2919
  let len = plainOptions.value.length;
3341
2920
  let checkedLen = state.checkedList.length;
3342
2921
  unref(checkIndex) && checkedLen--;
@@ -3446,9 +3025,9 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent$1({
3446
3025
  return;
3447
3026
  const columns = getColumns();
3448
3027
  const isFixed = item.fixed === fixed ? false : fixed;
3449
- const index2 = columns.findIndex((col) => col.dataIndex === item.dataIndex);
3450
- if (index2 !== -1) {
3451
- columns[index2].fixed = isFixed;
3028
+ const index = columns.findIndex((col) => col.dataIndex === item.dataIndex);
3029
+ if (index !== -1) {
3030
+ columns[index].fixed = isFixed;
3452
3031
  }
3453
3032
  item.fixed = isFixed;
3454
3033
  if (isFixed && !item.width) {
@@ -3495,7 +3074,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent$1({
3495
3074
  const _component_APopover = Popover$1;
3496
3075
  return openBlock(), createBlock(_component_ATooltip, { placement: "top" }, {
3497
3076
  title: withCtx(() => [
3498
- createElementVNode("span", null, toDisplayString(unref$1(t)("COLUMN_CONTROL")), 1)
3077
+ createElementVNode("span", null, toDisplayString(unref(t)("COLUMN_CONTROL")), 1)
3499
3078
  ]),
3500
3079
  default: withCtx(() => [
3501
3080
  createVNode(_component_APopover, {
@@ -3510,34 +3089,34 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent$1({
3510
3089
  class: normalizeClass(`${prefixCls}__popover-title flex`)
3511
3090
  }, [
3512
3091
  createVNode(_component_ACheckbox, {
3513
- indeterminate: unref$1(indeterminate),
3514
- checked: unref$1(state).checkAll,
3515
- "onUpdate:checked": _cache[0] || (_cache[0] = ($event) => unref$1(state).checkAll = $event),
3092
+ indeterminate: unref(indeterminate),
3093
+ checked: state.checkAll,
3094
+ "onUpdate:checked": _cache[0] || (_cache[0] = ($event) => state.checkAll = $event),
3516
3095
  onChange: onCheckAllChange
3517
3096
  }, {
3518
3097
  default: withCtx(() => [
3519
- createTextVNode(toDisplayString(unref$1(t)("COLUMN_SHOW")), 1)
3098
+ createTextVNode(toDisplayString(unref(t)("COLUMN_SHOW")), 1)
3520
3099
  ]),
3521
3100
  _: 1
3522
3101
  }, 8, ["indeterminate", "checked"]),
3523
3102
  createVNode(_component_ACheckbox, {
3524
- checked: unref$1(checkIndex),
3525
- "onUpdate:checked": _cache[1] || (_cache[1] = ($event) => isRef(checkIndex) ? checkIndex.value = $event : null),
3103
+ checked: checkIndex.value,
3104
+ "onUpdate:checked": _cache[1] || (_cache[1] = ($event) => checkIndex.value = $event),
3526
3105
  onChange: handleIndexCheckChange
3527
3106
  }, {
3528
3107
  default: withCtx(() => [
3529
- createTextVNode(toDisplayString(unref$1(t)("INDEX")), 1)
3108
+ createTextVNode(toDisplayString(unref(t)("INDEX")), 1)
3530
3109
  ]),
3531
3110
  _: 1
3532
3111
  }, 8, ["checked"]),
3533
3112
  createVNode(_component_ACheckbox, {
3534
- checked: unref$1(checkSelect),
3535
- "onUpdate:checked": _cache[2] || (_cache[2] = ($event) => isRef(checkSelect) ? checkSelect.value = $event : null),
3113
+ checked: checkSelect.value,
3114
+ "onUpdate:checked": _cache[2] || (_cache[2] = ($event) => checkSelect.value = $event),
3536
3115
  onChange: handleSelectCheckChange,
3537
- disabled: !unref$1(defaultRowSelection)
3116
+ disabled: !unref(defaultRowSelection)
3538
3117
  }, {
3539
3118
  default: withCtx(() => [
3540
- createTextVNode(toDisplayString(unref$1(t)("CHECKBOX")), 1)
3119
+ createTextVNode(toDisplayString(unref(t)("CHECKBOX")), 1)
3541
3120
  ]),
3542
3121
  _: 1
3543
3122
  }, 8, ["checked", "disabled"]),
@@ -3546,7 +3125,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent$1({
3546
3125
  onClick: reset
3547
3126
  }, {
3548
3127
  default: withCtx(() => [
3549
- createTextVNode(toDisplayString(unref$1(t)("RESET")), 1)
3128
+ createTextVNode(toDisplayString(unref(t)("RESET")), 1)
3550
3129
  ]),
3551
3130
  _: 1
3552
3131
  })
@@ -3554,14 +3133,14 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent$1({
3554
3133
  ]),
3555
3134
  content: withCtx(() => [
3556
3135
  createVNode(_component_ACheckboxGroup, {
3557
- value: unref$1(state).checkedList,
3558
- "onUpdate:value": _cache[3] || (_cache[3] = ($event) => unref$1(state).checkedList = $event),
3136
+ value: state.checkedList,
3137
+ "onUpdate:value": _cache[3] || (_cache[3] = ($event) => state.checkedList = $event),
3559
3138
  onChange,
3560
3139
  ref_key: "columnListRef",
3561
3140
  ref: columnListRef
3562
3141
  }, {
3563
3142
  default: withCtx(() => [
3564
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref$1(plainOptions), (item) => {
3143
+ (openBlock(true), createElementBlock(Fragment, null, renderList(plainOptions.value, (item) => {
3565
3144
  return openBlock(), createElementBlock("div", {
3566
3145
  key: item.value,
3567
3146
  class: normalizeClass(`${prefixCls}__check-item flex pt-1 pr-4 pb-2 items-center`)
@@ -3581,12 +3160,12 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent$1({
3581
3160
  getPopupContainer: getPopupContainer$1
3582
3161
  }, {
3583
3162
  title: withCtx(() => [
3584
- createTextVNode(toDisplayString(unref$1(t)("FIXED_TO_LEFT")), 1)
3163
+ createTextVNode(toDisplayString(unref(t)("FIXED_TO_LEFT")), 1)
3585
3164
  ]),
3586
3165
  default: withCtx(() => [
3587
3166
  createElementVNode("span", {
3588
3167
  class: normalizeClass({
3589
- disabled: !unref$1(state).checkedList.includes(item.value),
3168
+ disabled: !state.checkedList.includes(item.value),
3590
3169
  active: item.fixed === "left"
3591
3170
  })
3592
3171
  }, [
@@ -3605,12 +3184,12 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent$1({
3605
3184
  getPopupContainer: getPopupContainer$1
3606
3185
  }, {
3607
3186
  title: withCtx(() => [
3608
- createTextVNode(toDisplayString(unref$1(t)("FIXED_TO_RIGHT")), 1)
3187
+ createTextVNode(toDisplayString(unref(t)("FIXED_TO_RIGHT")), 1)
3609
3188
  ]),
3610
3189
  default: withCtx(() => [
3611
3190
  createElementVNode("span", {
3612
3191
  class: normalizeClass({
3613
- disabled: !unref$1(state).checkedList.includes(item.value),
3192
+ disabled: !state.checkedList.includes(item.value),
3614
3193
  active: item.fixed === "right"
3615
3194
  })
3616
3195
  }, [
@@ -3640,7 +3219,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent$1({
3640
3219
  }
3641
3220
  });
3642
3221
  const _hoisted_1$2 = { class: "flex dt-table-setting" };
3643
- const _sfc_main$3 = /* @__PURE__ */ defineComponent$1({
3222
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
3644
3223
  __name: "index",
3645
3224
  props: {
3646
3225
  setting: {
@@ -3651,7 +3230,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent$1({
3651
3230
  emits: ["columns-change"],
3652
3231
  setup(__props, { emit: emits }) {
3653
3232
  const props2 = __props;
3654
- const getSetting = computed(() => {
3233
+ const getSetting = computed$1(() => {
3655
3234
  return {
3656
3235
  download: true,
3657
3236
  setting: true,
@@ -3664,12 +3243,12 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent$1({
3664
3243
  }
3665
3244
  return (_ctx, _cache) => {
3666
3245
  return openBlock(), createElementBlock("div", _hoisted_1$2, [
3667
- unref$1(getSetting).download ? (openBlock(), createBlock(_sfc_main$5, normalizeProps(mergeProps({ key: 0 }, unref$1(getSetting))), null, 16)) : createCommentVNode("", true),
3668
- unref$1(getSetting).setting ? (openBlock(), createBlock(_sfc_main$4, {
3246
+ unref(getSetting).download ? (openBlock(), createBlock(_sfc_main$5, normalizeProps(mergeProps({ key: 0 }, unref(getSetting))), null, 16)) : createCommentVNode("", true),
3247
+ unref(getSetting).setting ? (openBlock(), createBlock(_sfc_main$4, {
3669
3248
  key: 1,
3670
3249
  onColumnsChange: handleColumnChange
3671
3250
  })) : createCommentVNode("", true),
3672
- unref$1(getSetting).fullscreen ? (openBlock(), createBlock(_sfc_main$e, { key: 2 })) : createCommentVNode("", true)
3251
+ unref(getSetting).fullscreen ? (openBlock(), createBlock(_sfc_main$f, { key: 2 })) : createCommentVNode("", true)
3673
3252
  ]);
3674
3253
  };
3675
3254
  }
@@ -3682,7 +3261,7 @@ const _hoisted_5 = {
3682
3261
  key: 0,
3683
3262
  class: "border dt-table-header-top text-12 bg-gray-100 mt-1 py-1 px-3 border-dashed"
3684
3263
  };
3685
- const _sfc_main$2 = /* @__PURE__ */ defineComponent$1({
3264
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3686
3265
  __name: "TableHeader",
3687
3266
  props: {
3688
3267
  tableSetting: {
@@ -3690,7 +3269,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent$1({
3690
3269
  },
3691
3270
  toolbar: {
3692
3271
  type: Array,
3693
- default: []
3272
+ default: () => []
3694
3273
  }
3695
3274
  },
3696
3275
  setup(__props) {
@@ -3705,7 +3284,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent$1({
3705
3284
  return openBlock(), createElementBlock("div", _hoisted_1$1, [
3706
3285
  createElementVNode("div", _hoisted_2, [
3707
3286
  createElementVNode("div", _hoisted_3, [
3708
- unref$1(getActionsProps)?.buttonList.length ? (openBlock(), createBlock(unref$1(_sfc_main$f), normalizeProps(mergeProps({ key: 0 }, unref$1(getActionsProps))), null, 16)) : createCommentVNode("", true),
3287
+ unref(getActionsProps)?.buttonList.length ? (openBlock(), createBlock(unref(_sfc_main$g), normalizeProps(mergeProps({ key: 0 }, unref(getActionsProps))), null, 16)) : createCommentVNode("", true),
3709
3288
  renderSlot(_ctx.$slots, "toolbar")
3710
3289
  ]),
3711
3290
  __props.tableSetting ? (openBlock(), createElementBlock("div", _hoisted_4, [
@@ -3730,7 +3309,7 @@ function useTableHeader(propsRef, slots, handlers) {
3730
3309
  const { getSlot } = useSlots$1();
3731
3310
  const hideTitle = (!toolbar || !toolbar.filter((it) => it.show ?? true).length) && !slots.toolbar && !slots.headerTop && !tableSetting;
3732
3311
  return {
3733
- title: hideTitle ? null : () => h(
3312
+ title: hideTitle ? null : () => h$1(
3734
3313
  _sfc_main$2,
3735
3314
  {
3736
3315
  tableSetting,
@@ -3753,7 +3332,7 @@ function useTableHeader(propsRef, slots, handlers) {
3753
3332
  };
3754
3333
  }
3755
3334
  function useLoading(props2) {
3756
- const getLoading = ref(false);
3335
+ const getLoading = ref$1(false);
3757
3336
  watch(
3758
3337
  () => unref(props2)?.loading,
3759
3338
  (v) => getLoading.value = v
@@ -3768,8 +3347,7 @@ function useLoading(props2) {
3768
3347
  }
3769
3348
  function usePagination(props2) {
3770
3349
  const { t } = useI18n("UI");
3771
- const paginationRef = ref();
3772
- const showPagination = ref(true);
3350
+ const paginationRef = ref$1();
3773
3351
  const { getUiSize } = useHeader();
3774
3352
  watch(
3775
3353
  () => unref(props2).pagination,
@@ -3782,13 +3360,22 @@ function usePagination(props2) {
3782
3360
  }
3783
3361
  }
3784
3362
  );
3785
- const getPaginationInfo = computed(() => {
3786
- const { pagination } = unref(props2);
3787
- if (!unref(showPagination) || isBoolean(pagination) && !pagination) {
3363
+ const getPaginationInfo = computed$1(() => {
3364
+ const { appConf } = useAppStore();
3365
+ let { pagination } = unref(props2);
3366
+ if (isBoolean(pagination) && !pagination) {
3788
3367
  return false;
3789
3368
  }
3790
- const { appConf } = useAppStore();
3791
- const { defaultPageSize = pagination.pageSize, pageSizeOptions } = appConf.ui.table;
3369
+ if (!pagination) {
3370
+ pagination = {
3371
+ pageSize: appConf.ui.table.defaultPageSize,
3372
+ current: 1
3373
+ };
3374
+ }
3375
+ const { defaultPageSize, pageSizeOptions } = {
3376
+ ...appConf.ui.table,
3377
+ ...pagination
3378
+ };
3792
3379
  return {
3793
3380
  current: 1,
3794
3381
  pageSize: defaultPageSize,
@@ -3812,18 +3399,10 @@ function usePagination(props2) {
3812
3399
  function getPagination() {
3813
3400
  return unref(getPaginationInfo);
3814
3401
  }
3815
- function getShowPagination() {
3816
- return unref(showPagination);
3817
- }
3818
- function setShowPagination(flag) {
3819
- showPagination.value = flag;
3820
- }
3821
3402
  return {
3822
3403
  getPaginationInfo,
3823
3404
  setPagination,
3824
- getPagination,
3825
- getShowPagination,
3826
- setShowPagination
3405
+ getPagination
3827
3406
  };
3828
3407
  }
3829
3408
  const DEFAULT_CONFIG = {
@@ -3832,14 +3411,14 @@ const DEFAULT_CONFIG = {
3832
3411
  pid: "pid"
3833
3412
  };
3834
3413
  function useRowSelection(propsRef, emit) {
3835
- const selectedRowKeysRef = ref([]);
3836
- const selectedRowRef = ref([]);
3837
- const getRowSelectionRef = computed(() => {
3414
+ const selectedRowKeysRef = ref$1([]);
3415
+ const selectedRowRef = ref$1([]);
3416
+ const getRowSelectionRef = computed$1(() => {
3838
3417
  const { rowSelection, showCheckboxColumn } = unref(propsRef);
3839
3418
  if (!rowSelection && !showCheckboxColumn)
3840
3419
  return null;
3841
3420
  if (isBoolean(showCheckboxColumn)) {
3842
- if (showCheckboxColumn) {
3421
+ if (showCheckboxColumn && rowSelection) {
3843
3422
  rowSelection.type = "checkbox";
3844
3423
  } else {
3845
3424
  return null;
@@ -3862,7 +3441,7 @@ function useRowSelection(propsRef, emit) {
3862
3441
  function setSelectedRowKeys(rowKeys) {
3863
3442
  selectedRowKeysRef.value = rowKeys;
3864
3443
  const allSelectedRows = findeNodeAll(
3865
- toRaw(unref(propsRef).dataSource).concat(toRaw(unref(selectedRowRef))),
3444
+ toRaw$1(unref(propsRef).dataSource).concat(toRaw$1(unref(selectedRowRef))),
3866
3445
  (item) => rowKeys.includes(item[unref(propsRef).rowKey]),
3867
3446
  {
3868
3447
  children: propsRef.value.childrenColumnName ?? "children"
@@ -3922,12 +3501,12 @@ function useRowSelection(propsRef, emit) {
3922
3501
  };
3923
3502
  }
3924
3503
  function useTableScroll(propsRef, tableElRef, columnsRef, rowSelectionRef) {
3925
- const tableHeightRef = ref(0), filterSource = ref([]);
3926
- ref(null);
3504
+ const tableHeightRef = ref$1(0), filterSource = ref$1([]);
3505
+ ref$1(null);
3927
3506
  let footerEl, bodyEl;
3928
3507
  const debounceRedoHeight = useDebounceFn(redoHeight, 100);
3929
3508
  windowResizeFn(calcTableHeight, 280);
3930
- const getCanResize = computed(() => {
3509
+ const getCanResize = computed$1(() => {
3931
3510
  const { canResize, scroll } = unref(propsRef);
3932
3511
  return canResize && !(scroll || {}).y;
3933
3512
  });
@@ -4004,7 +3583,7 @@ function useTableScroll(propsRef, tableElRef, columnsRef, rowSelectionRef) {
4004
3583
  bodyEl.style.height = `${height}px`;
4005
3584
  filterSource.value = unref(propsRef)?.dataSource;
4006
3585
  }
4007
- const getScrollX = computed(() => {
3586
+ const getScrollX = computed$1(() => {
4008
3587
  let width = 0;
4009
3588
  if (unref(rowSelectionRef)) {
4010
3589
  width += 32;
@@ -4018,7 +3597,7 @@ function useTableScroll(propsRef, tableElRef, columnsRef, rowSelectionRef) {
4018
3597
  const tableWidth = table?.$el?.offsetWidth ?? 0;
4019
3598
  return tableWidth > width ? "100%" : width;
4020
3599
  });
4021
- const getScrollRef = computed(() => {
3600
+ const getScrollRef = computed$1(() => {
4022
3601
  const tableHeight = unref(tableHeightRef);
4023
3602
  const { canResize, scroll } = unref(propsRef);
4024
3603
  return {
@@ -4028,7 +3607,7 @@ function useTableScroll(propsRef, tableElRef, columnsRef, rowSelectionRef) {
4028
3607
  ...scroll
4029
3608
  };
4030
3609
  });
4031
- onMounted(() => {
3610
+ onMounted$1(() => {
4032
3611
  calcTableHeight();
4033
3612
  nextTick(() => debounceRedoHeight());
4034
3613
  });
@@ -4038,14 +3617,14 @@ function useTableScroll(propsRef, tableElRef, columnsRef, rowSelectionRef) {
4038
3617
  };
4039
3618
  }
4040
3619
  function useRows(propsRef) {
4041
- function getRowClassName(record, index2) {
3620
+ function getRowClassName(record, index) {
4042
3621
  const { striped, rowClassName } = unref(propsRef);
4043
3622
  const classNames = [];
4044
3623
  if (striped) {
4045
- classNames.push(index2 % 2 === 1 ? "table-striped" : "");
3624
+ classNames.push(index % 2 === 1 ? "table-striped" : "");
4046
3625
  }
4047
3626
  if (rowClassName && isFunction(rowClassName)) {
4048
- classNames.push(rowClassName(record, index2));
3627
+ classNames.push(rowClassName(record, index));
4049
3628
  }
4050
3629
  return classNames.join(" ");
4051
3630
  }
@@ -4058,11 +3637,11 @@ const props = {
4058
3637
  record: Object,
4059
3638
  index: Number
4060
3639
  };
4061
- const _sfc_main$1 = defineComponent({
3640
+ const _sfc_main$1 = {
4062
3641
  name: "TableRender",
4063
3642
  props,
4064
3643
  setup(props2, {}) {
4065
- let renderText = ref(null);
3644
+ let renderText = ref$1(null);
4066
3645
  watch(() => [props2.record, props2.column], (v) => {
4067
3646
  if (v) {
4068
3647
  renderCell();
@@ -4075,7 +3654,7 @@ const _sfc_main$1 = defineComponent({
4075
3654
  const {
4076
3655
  column,
4077
3656
  record,
4078
- index: index2
3657
+ index
4079
3658
  } = props2;
4080
3659
  const {
4081
3660
  render,
@@ -4117,7 +3696,7 @@ const _sfc_main$1 = defineComponent({
4117
3696
  });
4118
3697
  }
4119
3698
  } else if (isFunction(render)) {
4120
- let afterRenderData = render(record, index2, text);
3699
+ let afterRenderData = render(record, index, text);
4121
3700
  if (afterRenderData.__v_isRef) {
4122
3701
  renderText = afterRenderData;
4123
3702
  } else if (afterRenderData["setup"]) {
@@ -4134,7 +3713,7 @@ const _sfc_main$1 = defineComponent({
4134
3713
  }
4135
3714
  return () => createVNode("span", null, [unref(renderText)]);
4136
3715
  }
4137
- });
3716
+ };
4138
3717
  const DEFAULT_SORT_FN = (sortInfo) => {
4139
3718
  const { field, order } = sortInfo;
4140
3719
  return field && order ? { field, order } : {};
@@ -4163,7 +3742,7 @@ const TableProps = {
4163
3742
  },
4164
3743
  columnCode: { type: String, default: "" },
4165
3744
  columns: { type: [Array], default: () => [] },
4166
- slotsTemplate: { type: Object, default: {} },
3745
+ slotsTemplate: { type: Object, default: () => ({}) },
4167
3746
  showIndexColumn: { type: Boolean, default: false },
4168
3747
  showCheckboxColumn: { type: Boolean, default: true },
4169
3748
  expandMethodIcon: { type: Boolean, default: false },
@@ -4173,10 +3752,7 @@ const TableProps = {
4173
3752
  canResize: { type: Boolean, default: true },
4174
3753
  pagination: {
4175
3754
  type: [Object, Boolean],
4176
- default: {
4177
- pageSize: 20,
4178
- current: 1
4179
- }
3755
+ default: null
4180
3756
  },
4181
3757
  loading: { type: Boolean, default: false },
4182
3758
  rowClassName: { type: Function },
@@ -4186,13 +3762,11 @@ const TableProps = {
4186
3762
  },
4187
3763
  onTableChange: {
4188
3764
  type: Function,
4189
- default: () => {
4190
- }
3765
+ default: () => ({})
4191
3766
  },
4192
3767
  onDownload: {
4193
3768
  type: Function,
4194
- default: (excelData) => {
4195
- }
3769
+ default: (excelData) => ({})
4196
3770
  },
4197
3771
  rowSelection: {
4198
3772
  type: Object,
@@ -4203,8 +3777,7 @@ const TableProps = {
4203
3777
  },
4204
3778
  customRow: {
4205
3779
  type: Function,
4206
- default: () => {
4207
- }
3780
+ default: () => ({})
4208
3781
  },
4209
3782
  childrenColumnName: {
4210
3783
  type: String,
@@ -4229,27 +3802,23 @@ const TableProps = {
4229
3802
  },
4230
3803
  onAdd: {
4231
3804
  type: Function,
4232
- default: (params) => {
4233
- }
3805
+ default: (params) => ({})
4234
3806
  },
4235
3807
  onUpdate: {
4236
3808
  type: Function,
4237
- default: (params) => {
4238
- }
3809
+ default: (params) => ({})
4239
3810
  },
4240
3811
  onDelete: {
4241
3812
  type: Function,
4242
- default: (params) => {
4243
- }
3813
+ default: (params) => ({})
4244
3814
  },
4245
3815
  onDeletes: {
4246
3816
  type: Function,
4247
- default: (params) => {
4248
- }
3817
+ default: (params) => ({})
4249
3818
  }
4250
3819
  };
4251
3820
  const _hoisted_1 = /* @__PURE__ */ createElementVNode("img", { src: _imports_0 }, null, -1);
4252
- const _sfc_main = /* @__PURE__ */ defineComponent$1({
3821
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4253
3822
  __name: "index",
4254
3823
  props: TableProps,
4255
3824
  emits: [
@@ -4265,15 +3834,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent$1({
4265
3834
  ],
4266
3835
  setup(__props, { emit: emits }) {
4267
3836
  const props2 = __props;
4268
- const tableElRef = ref(null);
3837
+ const tableElRef = ref$1(null);
4269
3838
  const attrs = useAttrs();
4270
- const slots = useSlots();
4271
- const innerPropsRef = ref();
4272
- const getProps = computed(() => {
3839
+ const slots = useSlots$2();
3840
+ const innerPropsRef = ref$1();
3841
+ const getProps = computed$1(() => {
4273
3842
  return { ...props2, ...unref(innerPropsRef) };
4274
3843
  });
4275
3844
  const { getRowClassName } = useRows(getProps);
4276
- const tableCls = computed(() => {
3845
+ const tableCls = computed$1(() => {
4277
3846
  return [
4278
3847
  "dt-table",
4279
3848
  "box-border",
@@ -4281,7 +3850,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent$1({
4281
3850
  ];
4282
3851
  });
4283
3852
  const { getLoading, setLoading } = useLoading(getProps);
4284
- const { getPaginationInfo, setPagination, getPagination, getShowPagination, setShowPagination } = usePagination(getProps);
3853
+ const { getPaginationInfo, setPagination, getPagination } = usePagination(getProps);
4285
3854
  const {
4286
3855
  getViewColumns,
4287
3856
  getColumnsRef,
@@ -4315,7 +3884,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent$1({
4315
3884
  clearSelectedRowKeys
4316
3885
  }
4317
3886
  );
4318
- const getBind = computed(() => {
3887
+ const getBind = computed$1(() => {
4319
3888
  return {
4320
3889
  ...attrs,
4321
3890
  ...unref(getProps),
@@ -4378,17 +3947,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent$1({
4378
3947
  return openBlock(), createBlock(_component_ATable, mergeProps({
4379
3948
  ref_key: "tableElRef",
4380
3949
  ref: tableElRef
4381
- }, unref$1(getBind), {
4382
- rowClassName: unref$1(getRowClassName),
4383
- onChange: unref$1(handleTableChange)
3950
+ }, unref(getBind), {
3951
+ rowClassName: unref(getRowClassName),
3952
+ onChange: unref(handleTableChange)
4384
3953
  }), createSlots({
4385
- bodyCell: withCtx(({ column, record, index: index2 }) => [
4386
- _ctx.$slots.bodyCell ? renderSlot(_ctx.$slots, "bodyCell", normalizeProps(mergeProps({ key: 0 }, { column, record, index: index2 }))) : createCommentVNode("", true),
3954
+ bodyCell: withCtx(({ column, record, index }) => [
3955
+ _ctx.$slots.bodyCell ? renderSlot(_ctx.$slots, "bodyCell", normalizeProps(mergeProps({ key: 0 }, { column, record, index }))) : createCommentVNode("", true),
4387
3956
  column?.render && !_ctx.$slots.bodyCell ? (openBlock(), createBlock(_sfc_main$1, {
4388
3957
  key: 1,
4389
3958
  column,
4390
3959
  record,
4391
- index: index2
3960
+ index
4392
3961
  }, null, 8, ["column", "record", "index"])) : createCommentVNode("", true)
4393
3962
  ]),
4394
3963
  emptyText: withCtx(() => [