@veltra/desktop 1.1.31 → 1.1.33

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 (80) hide show
  1. package/dist/components/action/action-group.vue.d.ts +1 -1
  2. package/dist/components/action/action.vue.d.ts +1 -1
  3. package/dist/components/cascade/cascade.vue.d.ts +1 -1
  4. package/dist/components/checkbox/checkbox-button.vue.d.ts +1 -1
  5. package/dist/components/contextmenu/api.d.ts +8 -0
  6. package/dist/components/{context-menu → contextmenu}/api.js +2 -2
  7. package/dist/components/contextmenu/api.js.map +1 -0
  8. package/dist/components/contextmenu/contextmenu-item.js +64 -0
  9. package/dist/components/contextmenu/contextmenu-item.js.map +1 -0
  10. package/dist/components/contextmenu/contextmenu-panel.js +33 -0
  11. package/dist/components/contextmenu/contextmenu-panel.js.map +1 -0
  12. package/dist/components/contextmenu/contextmenu-sub.js +83 -0
  13. package/dist/components/contextmenu/contextmenu-sub.js.map +1 -0
  14. package/dist/components/contextmenu/contextmenu.js +79 -0
  15. package/dist/components/contextmenu/contextmenu.js.map +1 -0
  16. package/dist/components/{context-menu/context-menu.vue.d.ts → contextmenu/contextmenu.vue.d.ts} +5 -5
  17. package/dist/components/contextmenu/di.js +7 -0
  18. package/dist/components/contextmenu/di.js.map +1 -0
  19. package/dist/components/contextmenu/helper.js +8 -0
  20. package/dist/components/contextmenu/helper.js.map +1 -0
  21. package/dist/components/contextmenu/index.d.ts +2 -0
  22. package/dist/components/contextmenu/style2.css +154 -0
  23. package/dist/components/date-panel/date-panel.vue.d.ts +1 -1
  24. package/dist/components/date-picker/date-picker.vue.d.ts +1 -1
  25. package/dist/components/date-range-picker/date-range-picker.vue.d.ts +1 -1
  26. package/dist/components/file-viewer/previewers/sheet-previewer.js +33 -93
  27. package/dist/components/file-viewer/previewers/sheet-previewer.js.map +1 -1
  28. package/dist/components/file-viewer/sheet-parser.js +46 -0
  29. package/dist/components/file-viewer/sheet-parser.js.map +1 -0
  30. package/dist/components/index.d.ts +2 -2
  31. package/dist/components/index.js +3 -3
  32. package/dist/components/index.js.map +1 -1
  33. package/dist/components/number/number.vue.d.ts +1 -1
  34. package/dist/components/table/node/col.d.ts +5 -0
  35. package/dist/components/table/node/col.js +6 -0
  36. package/dist/components/table/node/col.js.map +1 -1
  37. package/dist/components/table/use-col-resize.js +10 -10
  38. package/dist/components/table/use-col-resize.js.map +1 -1
  39. package/dist/components/tip/tip.vue.d.ts +1 -1
  40. package/dist/index.d.ts +5 -5
  41. package/dist/index.js +3 -3
  42. package/dist/style.js +1 -1
  43. package/dist/types/{context-menu.d.ts → contextmenu.d.ts} +12 -10
  44. package/dist/types/index.d.ts +2 -2
  45. package/package.json +6 -6
  46. package/src/components/{context-menu → contextmenu}/api.ts +4 -4
  47. package/src/components/contextmenu/contextmenu-item.vue +63 -0
  48. package/src/components/contextmenu/contextmenu-panel.vue +28 -0
  49. package/src/components/contextmenu/contextmenu-sub.vue +88 -0
  50. package/src/components/contextmenu/contextmenu.vue +77 -0
  51. package/src/components/contextmenu/di.ts +13 -0
  52. package/src/components/contextmenu/helper.ts +5 -0
  53. package/src/components/contextmenu/index.ts +3 -0
  54. package/src/components/contextmenu/style.scss +135 -0
  55. package/src/components/file-viewer/previewers/sheet-previewer.vue +35 -131
  56. package/src/components/file-viewer/sheet-parser.ts +52 -0
  57. package/src/components/index.ts +1 -1
  58. package/src/components/table/node/col.ts +7 -0
  59. package/src/components/table/use-col-resize.ts +18 -16
  60. package/src/style.ts +1 -1
  61. package/src/types/{context-menu.ts → contextmenu.ts} +9 -7
  62. package/src/types/index.ts +1 -1
  63. package/dist/components/context-menu/api.d.ts +0 -8
  64. package/dist/components/context-menu/api.js.map +0 -1
  65. package/dist/components/context-menu/context-menu-item.js +0 -60
  66. package/dist/components/context-menu/context-menu-item.js.map +0 -1
  67. package/dist/components/context-menu/context-menu.js +0 -95
  68. package/dist/components/context-menu/context-menu.js.map +0 -1
  69. package/dist/components/context-menu/di.js +0 -6
  70. package/dist/components/context-menu/di.js.map +0 -1
  71. package/dist/components/context-menu/index.d.ts +0 -2
  72. package/dist/components/context-menu/style2.css +0 -52
  73. package/src/components/context-menu/context-menu-item.vue +0 -67
  74. package/src/components/context-menu/context-menu.vue +0 -119
  75. package/src/components/context-menu/di.ts +0 -5
  76. package/src/components/context-menu/index.ts +0 -3
  77. package/src/components/context-menu/style.scss +0 -51
  78. /package/dist/components/{context-menu → contextmenu}/style.d.ts +0 -0
  79. /package/dist/components/{context-menu → contextmenu}/style.js +0 -0
  80. /package/src/components/{context-menu → contextmenu}/style.ts +0 -0
@@ -1,5 +1,7 @@
1
+ import { parseSheetFile } from "../sheet-parser.js";
1
2
  import { Fragment, createCommentVNode, createElementBlock, createElementVNode, defineComponent, normalizeClass, onBeforeUnmount, openBlock, ref, renderList, shallowRef, toDisplayString, unref, useTemplateRef, watch } from "vue";
2
3
  import { bem } from "@veltra/utils";
4
+ import { ListTable } from "@visactor/vtable";
3
5
  //#region src/components/file-viewer/previewers/sheet-previewer.vue
4
6
  const _hoisted_1 = ["onClick"];
5
7
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -22,48 +24,41 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
22
24
  const sheets = shallowRef([]);
23
25
  const activeSheetIndex = ref(0);
24
26
  let controller;
25
- let instance;
27
+ let table;
26
28
  let resizeObserver;
29
+ function releaseTable() {
30
+ table?.release();
31
+ table = void 0;
32
+ }
33
+ function renderActive() {
34
+ const sheet = sheets.value[activeSheetIndex.value];
35
+ const el = container.value;
36
+ if (!sheet || !el) return;
37
+ releaseTable();
38
+ const limit = props.maxRows > 0 ? Math.min(props.maxRows, sheet.rows.length) : sheet.rows.length;
39
+ totalRows.value = sheet.rows.length;
40
+ renderedRows.value = limit;
41
+ truncated.value = props.maxRows > 0 && sheet.rows.length > props.maxRows;
42
+ table = new ListTable(el, {
43
+ records: sheet.rows.slice(0, limit),
44
+ columns: sheet.headers.map((title, i) => ({
45
+ field: String(i),
46
+ title,
47
+ width: "auto"
48
+ })),
49
+ widthMode: "standard"
50
+ });
51
+ }
27
52
  async function load() {
28
53
  controller?.abort();
29
54
  controller = new AbortController();
30
- const signal = controller.signal;
31
55
  loading.value = true;
32
56
  sheets.value = [];
33
57
  activeSheetIndex.value = 0;
34
58
  try {
35
- const ext = props.file.name.slice(props.file.name.lastIndexOf(".") + 1).toLowerCase();
36
- const { toArrayBuffer, parseCsv } = await import("../helper.js");
37
- const buf = await toArrayBuffer(props.file.src, signal);
38
- if (signal.aborted) return;
39
- if (ext === "csv") {
40
- const parsed = parseCsv(new TextDecoder("utf-8", { fatal: false }).decode(buf)).filter((row) => row.some((c) => c.length > 0));
41
- const headers = parsed[0] ?? [];
42
- const rows = parsed.slice(1);
43
- sheets.value = [{
44
- name: props.file.name,
45
- headers: headers.map((h, i) => String(h) || `Column ${i + 1}`),
46
- rows,
47
- totalCount: rows.length
48
- }];
49
- } else {
50
- const { readWorkbook } = await import("@cat-kit/excel");
51
- const workbook = await readWorkbook(new Uint8Array(buf));
52
- if (signal.aborted) return;
53
- sheets.value = workbook.worksheets.map((ws) => {
54
- const wsRows = ws.getRows();
55
- const firstRow = wsRows[0];
56
- const headers = firstRow ? firstRow.toValues().map((v) => cellToString(v)) : [];
57
- const rows = wsRows.slice(1).map((r) => r.toValues().map(cellToString));
58
- return {
59
- name: ws.name,
60
- headers: headers.map((h, i) => h || `Column ${i + 1}`),
61
- rows,
62
- totalCount: rows.length
63
- };
64
- });
65
- }
66
- await renderActive();
59
+ sheets.value = await parseSheetFile(props.file, controller.signal);
60
+ if (controller.signal.aborted) return;
61
+ renderActive();
67
62
  } catch (err) {
68
63
  if (err?.name === "AbortError") return;
69
64
  emit("error", err);
@@ -71,73 +66,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
71
66
  loading.value = false;
72
67
  }
73
68
  }
74
- function cellToString(v) {
75
- if (v === null || v === void 0) return "";
76
- if (typeof v === "string") return v;
77
- if (typeof v === "number" || typeof v === "boolean") return String(v);
78
- if (v instanceof Date) return v.toLocaleString();
79
- if (typeof v === "object" && v !== null && "formula" in v) {
80
- const f = v;
81
- if (f.result !== void 0 && f.result !== null) return cellToString(f.result);
82
- return `=${f.formula}`;
83
- }
84
- return String(v);
85
- }
86
- async function renderActive() {
87
- const sheet = sheets.value[activeSheetIndex.value];
88
- if (!sheet || !container.value) return;
89
- releaseInstance();
90
- const limit = props.maxRows > 0 ? Math.min(props.maxRows, sheet.rows.length) : sheet.rows.length;
91
- totalRows.value = sheet.totalCount;
92
- renderedRows.value = limit;
93
- truncated.value = props.maxRows > 0 && sheet.rows.length > props.maxRows;
94
- const columns = sheet.headers.map((h, i) => ({
95
- field: "c" + i,
96
- title: h,
97
- width: "auto"
98
- }));
99
- const records = [];
100
- for (let i = 0; i < limit; i++) {
101
- const row = sheet.rows[i];
102
- if (!row) continue;
103
- const record = {};
104
- for (let j = 0; j < columns.length; j++) record["c" + j] = row[j] ?? "";
105
- records.push(record);
106
- }
107
- const VTable = await import("@visactor/vtable");
108
- if (!container.value) return;
109
- instance = new VTable.ListTable(container.value, {
110
- records,
111
- columns,
112
- widthMode: "standard",
113
- heightMode: "standard",
114
- defaultRowHeight: 32,
115
- defaultHeaderRowHeight: 36,
116
- autoFillWidth: true,
117
- frozenColCount: 0,
118
- theme: (VTable.themes.ARCO ?? VTable.themes.DEFAULT).extends({ defaultStyle: { borderLineWidth: 1 } })
119
- });
120
- }
121
- function releaseInstance() {
122
- if (instance && typeof instance.release === "function") try {
123
- instance.release();
124
- } catch {}
125
- instance = void 0;
126
- }
127
- watch(() => props.file, () => load(), { immediate: true });
128
- watch(activeSheetIndex, () => renderActive());
69
+ watch(() => props.file, load, { immediate: true });
70
+ watch(activeSheetIndex, renderActive);
129
71
  watch(container, (el) => {
130
72
  resizeObserver?.disconnect();
131
73
  if (!el) return;
132
- resizeObserver = new ResizeObserver(() => {
133
- instance?.resize?.();
134
- });
74
+ resizeObserver = new ResizeObserver(() => table?.resize?.());
135
75
  resizeObserver.observe(el);
136
76
  });
137
77
  onBeforeUnmount(() => {
138
78
  controller?.abort();
139
79
  resizeObserver?.disconnect();
140
- releaseInstance();
80
+ releaseTable();
141
81
  sheets.value = [];
142
82
  });
143
83
  return (_ctx, _cache) => {
@@ -1 +1 @@
1
- {"version":3,"file":"sheet-previewer.js","names":[],"sources":["../../../../src/components/file-viewer/previewers/sheet-previewer.vue"],"sourcesContent":["<template>\n <div :class=\"cls.e('sheet')\">\n <div v-if=\"truncated\" :class=\"cls.e('sheet-note')\">\n 仅展示前 {{ renderedRows.toLocaleString() }} 行(共 {{ totalRows.toLocaleString() }} 行)\n </div>\n <div v-if=\"sheets.length > 1\" :class=\"cls.e('sheet-tabs')\">\n <button\n v-for=\"(s, i) in sheets\"\n :key=\"s.name\"\n :class=\"[cls.e('sheet-tab'), bem.is('active', i === activeSheetIndex)]\"\n @click=\"activeSheetIndex = i\"\n >\n {{ s.name }}\n </button>\n </div>\n <div ref=\"container\" :class=\"cls.e('sheet-stage')\" />\n <div v-if=\"loading\" :class=\"cls.e('loading')\">加载中…</div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { bem } from '@veltra/utils'\nimport { onBeforeUnmount, ref, shallowRef, useTemplateRef, watch } from 'vue'\n\nimport type { FileViewerItem } from '../../../types/file-viewer'\n\ndefineOptions({ name: 'FileViewerSheetPreviewer' })\n\nconst props = withDefaults(defineProps<{ file: FileViewerItem; maxRows?: number }>(), {\n maxRows: 50_000\n})\n\nconst emit = defineEmits<{ (e: 'error', err: unknown): void }>()\n\nconst cls = bem('file-viewer')\n\nconst container = useTemplateRef<HTMLDivElement>('container')\nconst loading = ref(true)\nconst truncated = ref(false)\nconst totalRows = ref(0)\nconst renderedRows = ref(0)\n\ninterface SheetData {\n name: string\n headers: string[]\n rows: string[][]\n totalCount: number\n}\n\nconst sheets = shallowRef<SheetData[]>([])\nconst activeSheetIndex = ref(0)\n\nlet controller: AbortController | undefined\nlet instance: { release?: () => void; resize?: () => void } | undefined\nlet resizeObserver: ResizeObserver | undefined\n\nasync function load() {\n controller?.abort()\n controller = new AbortController()\n const signal = controller.signal\n loading.value = true\n sheets.value = []\n activeSheetIndex.value = 0\n\n try {\n const ext = props.file.name.slice(props.file.name.lastIndexOf('.') + 1).toLowerCase()\n const { toArrayBuffer, parseCsv } = await import('../helper')\n const buf = await toArrayBuffer(props.file.src, signal)\n if (signal.aborted) return\n\n if (ext === 'csv') {\n const text = new TextDecoder('utf-8', { fatal: false }).decode(buf)\n const parsed = parseCsv(text).filter((row) => row.some((c) => c.length > 0))\n const headers = parsed[0] ?? []\n const rows = parsed.slice(1)\n sheets.value = [\n {\n name: props.file.name,\n headers: headers.map((h, i) => String(h) || `Column ${i + 1}`),\n rows,\n totalCount: rows.length\n }\n ]\n } else {\n const { readWorkbook } = await import('@cat-kit/excel')\n const workbook = await readWorkbook(new Uint8Array(buf))\n if (signal.aborted) return\n sheets.value = workbook.worksheets.map((ws) => {\n const wsRows = ws.getRows()\n const firstRow = wsRows[0]\n const headers = firstRow ? firstRow.toValues().map((v) => cellToString(v)) : []\n const rows = wsRows.slice(1).map((r) => r.toValues().map(cellToString))\n return {\n name: ws.name,\n headers: headers.map((h, i) => h || `Column ${i + 1}`),\n rows,\n totalCount: rows.length\n }\n })\n }\n\n await renderActive()\n } catch (err) {\n if ((err as { name?: string })?.name === 'AbortError') return\n emit('error', err)\n } finally {\n loading.value = false\n }\n}\n\nfunction cellToString(v: unknown): string {\n if (v === null || v === undefined) return ''\n if (typeof v === 'string') return v\n if (typeof v === 'number' || typeof v === 'boolean') return String(v)\n if (v instanceof Date) return v.toLocaleString()\n if (typeof v === 'object' && v !== null && 'formula' in v) {\n const f = v as { formula: string; result?: unknown }\n if (f.result !== undefined && f.result !== null) return cellToString(f.result)\n return `=${f.formula}`\n }\n return String(v)\n}\n\nasync function renderActive() {\n const sheet = sheets.value[activeSheetIndex.value]\n if (!sheet || !container.value) return\n\n releaseInstance()\n\n const limit = props.maxRows > 0 ? Math.min(props.maxRows, sheet.rows.length) : sheet.rows.length\n totalRows.value = sheet.totalCount\n renderedRows.value = limit\n truncated.value = props.maxRows > 0 && sheet.rows.length > props.maxRows\n\n const columns = sheet.headers.map((h, i) => ({\n field: 'c' + i,\n title: h,\n width: 'auto' as const\n }))\n\n const records: Record<string, string>[] = []\n for (let i = 0; i < limit; i++) {\n const row = sheet.rows[i]\n if (!row) continue\n const record: Record<string, string> = {}\n for (let j = 0; j < columns.length; j++) {\n record['c' + j] = row[j] ?? ''\n }\n records.push(record)\n }\n\n const VTable = await import('@visactor/vtable')\n if (!container.value) return\n\n instance = new VTable.ListTable(container.value, {\n records,\n columns,\n widthMode: 'standard',\n heightMode: 'standard',\n defaultRowHeight: 32,\n defaultHeaderRowHeight: 36,\n autoFillWidth: true,\n frozenColCount: 0,\n theme: (VTable.themes.ARCO ?? VTable.themes.DEFAULT).extends({\n defaultStyle: { borderLineWidth: 1 }\n })\n })\n}\n\nfunction releaseInstance() {\n if (instance && typeof instance.release === 'function') {\n try {\n instance.release()\n } catch {\n /* noop */\n }\n }\n instance = undefined\n}\n\nwatch(\n () => props.file,\n () => load(),\n { immediate: true }\n)\n\nwatch(activeSheetIndex, () => renderActive())\n\nwatch(container, (el) => {\n resizeObserver?.disconnect()\n if (!el) return\n resizeObserver = new ResizeObserver(() => {\n instance?.resize?.()\n })\n resizeObserver.observe(el)\n})\n\nonBeforeUnmount(() => {\n controller?.abort()\n resizeObserver?.disconnect()\n releaseInstance()\n sheets.value = []\n})\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"sheet-previewer.js","names":[],"sources":["../../../../src/components/file-viewer/previewers/sheet-previewer.vue"],"sourcesContent":["<template>\n <div :class=\"cls.e('sheet')\">\n <div v-if=\"truncated\" :class=\"cls.e('sheet-note')\">\n 仅展示前 {{ renderedRows.toLocaleString() }} 行(共 {{ totalRows.toLocaleString() }} 行)\n </div>\n <div v-if=\"sheets.length > 1\" :class=\"cls.e('sheet-tabs')\">\n <button\n v-for=\"(s, i) in sheets\"\n :key=\"s.name\"\n :class=\"[cls.e('sheet-tab'), bem.is('active', i === activeSheetIndex)]\"\n @click=\"activeSheetIndex = i\"\n >\n {{ s.name }}\n </button>\n </div>\n <div ref=\"container\" :class=\"cls.e('sheet-stage')\" />\n <div v-if=\"loading\" :class=\"cls.e('loading')\">加载中…</div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { bem } from '@veltra/utils'\nimport { ListTable } from '@visactor/vtable'\nimport { onBeforeUnmount, ref, shallowRef, useTemplateRef, watch } from 'vue'\n\nimport type { FileViewerItem } from '../../../types/file-viewer'\nimport { parseSheetFile, type SheetPreview } from '../sheet-parser'\n\ndefineOptions({ name: 'FileViewerSheetPreviewer' })\n\nconst props = withDefaults(defineProps<{ file: FileViewerItem; maxRows?: number }>(), {\n maxRows: 50_000\n})\n\nconst emit = defineEmits<{ (e: 'error', err: unknown): void }>()\n\nconst cls = bem('file-viewer')\nconst container = useTemplateRef<HTMLDivElement>('container')\nconst loading = ref(true)\nconst truncated = ref(false)\nconst totalRows = ref(0)\nconst renderedRows = ref(0)\nconst sheets = shallowRef<SheetPreview[]>([])\nconst activeSheetIndex = ref(0)\n\nlet controller: AbortController | undefined\nlet table: ListTable | undefined\nlet resizeObserver: ResizeObserver | undefined\n\nfunction releaseTable() {\n table?.release()\n table = undefined\n}\n\nfunction renderActive() {\n const sheet = sheets.value[activeSheetIndex.value]\n const el = container.value\n if (!sheet || !el) return\n\n releaseTable()\n\n const limit = props.maxRows > 0 ? Math.min(props.maxRows, sheet.rows.length) : sheet.rows.length\n totalRows.value = sheet.rows.length\n renderedRows.value = limit\n truncated.value = props.maxRows > 0 && sheet.rows.length > props.maxRows\n\n table = new ListTable(el, {\n records: sheet.rows.slice(0, limit),\n columns: sheet.headers.map((title, i) => ({ field: String(i), title, width: 'auto' })),\n widthMode: 'standard'\n })\n}\n\nasync function load() {\n controller?.abort()\n controller = new AbortController()\n loading.value = true\n sheets.value = []\n activeSheetIndex.value = 0\n\n try {\n sheets.value = await parseSheetFile(props.file, controller.signal)\n if (controller.signal.aborted) return\n renderActive()\n } catch (err) {\n if ((err as { name?: string })?.name === 'AbortError') return\n emit('error', err)\n } finally {\n loading.value = false\n }\n}\n\nwatch(() => props.file, load, { immediate: true })\nwatch(activeSheetIndex, renderActive)\nwatch(container, (el) => {\n resizeObserver?.disconnect()\n if (!el) return\n resizeObserver = new ResizeObserver(() => table?.resize?.())\n resizeObserver.observe(el)\n})\n\nonBeforeUnmount(() => {\n controller?.abort()\n resizeObserver?.disconnect()\n releaseTable()\n sheets.value = []\n})\n</script>\n"],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { getExtension, parseCsv, toArrayBuffer } from "./helper.js";
2
+ import { readWorkbook } from "@cat-kit/excel";
3
+ //#region src/components/file-viewer/sheet-parser.ts
4
+ function cellToString(v) {
5
+ if (v == null) return "";
6
+ if (typeof v === "string") return v;
7
+ if (typeof v === "number" || typeof v === "boolean") return String(v);
8
+ if (v instanceof Date) return v.toLocaleString();
9
+ if (typeof v === "object" && "formula" in v) {
10
+ const f = v;
11
+ return f.result != null ? cellToString(f.result) : `=${f.formula}`;
12
+ }
13
+ return JSON.stringify(v);
14
+ }
15
+ /** 解析 CSV / Excel 为表格预览数据 */
16
+ async function parseSheetFile(file, signal) {
17
+ const ext = getExtension(file.name);
18
+ const buf = await toArrayBuffer(file.src, signal);
19
+ if (signal?.aborted) return [];
20
+ if (ext === "csv") {
21
+ const parsed = parseCsv(new TextDecoder("utf-8", { fatal: false }).decode(buf)).filter((row) => row.some((c) => c.length > 0));
22
+ const headers = (parsed[0] ?? []).map((h, i) => String(h) || `Column ${i + 1}`);
23
+ return [{
24
+ name: file.name,
25
+ headers,
26
+ rows: parsed.slice(1)
27
+ }];
28
+ }
29
+ const workbook = await readWorkbook(new Uint8Array(buf));
30
+ if (signal?.aborted) return [];
31
+ return workbook.worksheets.map((ws) => {
32
+ const wsRows = ws.getRows();
33
+ const firstRow = wsRows[0];
34
+ const headers = (firstRow ? firstRow.toValues().map(cellToString) : []).map((h, i) => h || `Column ${i + 1}`);
35
+ const rows = wsRows.slice(1).map((r) => r.toValues().map(cellToString));
36
+ return {
37
+ name: ws.name,
38
+ headers,
39
+ rows
40
+ };
41
+ });
42
+ }
43
+ //#endregion
44
+ export { parseSheetFile };
45
+
46
+ //# sourceMappingURL=sheet-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet-parser.js","names":[],"sources":["../../../src/components/file-viewer/sheet-parser.ts"],"sourcesContent":["import { readWorkbook } from '@cat-kit/excel'\n\nimport type { FileViewerItem } from '../../types/file-viewer'\nimport { getExtension, parseCsv, toArrayBuffer } from './helper'\n\nexport interface SheetPreview {\n name: string\n headers: string[]\n rows: string[][]\n}\n\nfunction cellToString(v: unknown): string {\n if (v == null) return ''\n if (typeof v === 'string') return v\n if (typeof v === 'number' || typeof v === 'boolean') return String(v)\n if (v instanceof Date) return v.toLocaleString()\n if (typeof v === 'object' && 'formula' in v) {\n const f = v as { formula: string; result?: unknown }\n return f.result != null ? cellToString(f.result) : `=${f.formula}`\n }\n return JSON.stringify(v)\n}\n\n/** 解析 CSV / Excel 为表格预览数据 */\nexport async function parseSheetFile(\n file: FileViewerItem,\n signal?: AbortSignal\n): Promise<SheetPreview[]> {\n const ext = getExtension(file.name)\n const buf = await toArrayBuffer(file.src, signal)\n if (signal?.aborted) return []\n\n if (ext === 'csv') {\n const text = new TextDecoder('utf-8', { fatal: false }).decode(buf)\n const parsed = parseCsv(text).filter((row) => row.some((c) => c.length > 0))\n const headers = (parsed[0] ?? []).map((h, i) => String(h) || `Column ${i + 1}`)\n return [{ name: file.name, headers, rows: parsed.slice(1) }]\n }\n\n const workbook = await readWorkbook(new Uint8Array(buf))\n if (signal?.aborted) return []\n\n return workbook.worksheets.map((ws) => {\n const wsRows = ws.getRows()\n const firstRow = wsRows[0]\n const headers = (firstRow ? firstRow.toValues().map(cellToString) : []).map(\n (h, i) => h || `Column ${i + 1}`\n )\n const rows = wsRows.slice(1).map((r) => r.toValues().map(cellToString))\n return { name: ws.name, headers, rows }\n })\n}\n"],"mappings":";;;AAWA,SAAS,aAAa,GAAoB;CACxC,IAAI,KAAK,MAAM,OAAO;CACtB,IAAI,OAAO,MAAM,UAAU,OAAO;CAClC,IAAI,OAAO,MAAM,YAAY,OAAO,MAAM,WAAW,OAAO,OAAO,CAAC;CACpE,IAAI,aAAa,MAAM,OAAO,EAAE,eAAe;CAC/C,IAAI,OAAO,MAAM,YAAY,aAAa,GAAG;EAC3C,MAAM,IAAI;EACV,OAAO,EAAE,UAAU,OAAO,aAAa,EAAE,MAAM,IAAI,IAAI,EAAE;CAC3D;CACA,OAAO,KAAK,UAAU,CAAC;AACzB;;AAGA,eAAsB,eACpB,MACA,QACyB;CACzB,MAAM,MAAM,aAAa,KAAK,IAAI;CAClC,MAAM,MAAM,MAAM,cAAc,KAAK,KAAK,MAAM;CAChD,IAAI,QAAQ,SAAS,OAAO,CAAC;CAE7B,IAAI,QAAQ,OAAO;EAEjB,MAAM,SAAS,SADF,IAAI,YAAY,SAAS,EAAE,OAAO,MAAM,CAAC,EAAE,OAAO,GACpC,CAAC,EAAE,QAAQ,QAAQ,IAAI,MAAM,MAAM,EAAE,SAAS,CAAC,CAAC;EAC3E,MAAM,WAAW,OAAO,MAAM,CAAC,GAAG,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,UAAU,IAAI,GAAG;EAC9E,OAAO,CAAC;GAAE,MAAM,KAAK;GAAM;GAAS,MAAM,OAAO,MAAM,CAAC;EAAE,CAAC;CAC7D;CAEA,MAAM,WAAW,MAAM,aAAa,IAAI,WAAW,GAAG,CAAC;CACvD,IAAI,QAAQ,SAAS,OAAO,CAAC;CAE7B,OAAO,SAAS,WAAW,KAAK,OAAO;EACrC,MAAM,SAAS,GAAG,QAAQ;EAC1B,MAAM,WAAW,OAAO;EACxB,MAAM,WAAW,WAAW,SAAS,SAAS,EAAE,IAAI,YAAY,IAAI,CAAC,GAAG,KACrE,GAAG,MAAM,KAAK,UAAU,IAAI,GAC/B;EACA,MAAM,OAAO,OAAO,MAAM,CAAC,EAAE,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,YAAY,CAAC;EACtE,OAAO;GAAE,MAAM,GAAG;GAAM;GAAS;EAAK;CACxC,CAAC;AACH"}
@@ -48,8 +48,8 @@ import { _default as _default$39 } from "./collapse/collapse-item.vue.js";
48
48
  import { _default as _default$40 } from "./date-panel/date-panel.vue.js";
49
49
  import { _default as _default$41 } from "./table-editor/table-editor.vue.js";
50
50
  import { _default as _default$42 } from "./check-tag/check-tag.vue.js";
51
- import { _default as _default$43 } from "./context-menu/context-menu.vue.js";
52
- import { contextmenu } from "./context-menu/api.js";
51
+ import { _default as _default$43 } from "./contextmenu/contextmenu.vue.js";
52
+ import { contextmenu } from "./contextmenu/api.js";
53
53
  import { _default as _default$44 } from "./password-input/password-input.vue.js";
54
54
  import { _default as _default$45 } from "./number/number.vue.js";
55
55
  import { _default as _default$46 } from "./dialog/dialog.vue.js";
@@ -61,8 +61,8 @@ import { defineTableColumns } from "./table/use-columns.js";
61
61
  import _sfc_main$46 from "./table/table.js";
62
62
  import _sfc_main$47 from "./table-editor/table-editor.js";
63
63
  import _sfc_main$48 from "./check-tag/check-tag.js";
64
- import _sfc_main$49 from "./context-menu/context-menu.js";
65
- import { contextmenu } from "./context-menu/api.js";
64
+ import _sfc_main$49 from "./contextmenu/contextmenu.js";
65
+ import { contextmenu } from "./contextmenu/api.js";
66
66
  import _sfc_main$50 from "./password-input/password-input.js";
67
67
  import _sfc_main$51 from "./number/number.js";
68
68
  import _sfc_main$52 from "./dialog/dialog.js";
@@ -127,7 +127,7 @@ var components_exports = /* @__PURE__ */ __exportAll({
127
127
  UCollapse: () => _sfc_main$44,
128
128
  UCollapseItem: () => _sfc_main$45,
129
129
  UConditionEditor: () => _sfc_main$6,
130
- UContextMenu: () => _sfc_main$49,
130
+ UContextmenu: () => _sfc_main$49,
131
131
  UDatePanel: () => _sfc_main$27,
132
132
  UDatePicker: () => _sfc_main$62,
133
133
  UDateRangePicker: () => _sfc_main$28,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/components/index.ts"],"sourcesContent":["export * from './condition-editor'\n\nexport * from './tabs'\n\nexport * from './tree'\n\nexport * from './tree-select'\n\nexport * from './code-editor'\n\nexport * from './dropdown'\n\nexport * from './drawer'\n\nexport * from './form'\n\nexport * from './message-confirm'\n\nexport * from './calendar'\n\nexport * from './radio'\n\nexport * from './card'\n\nexport * from './date-range-picker'\n\nexport * from './loading'\n\nexport * from './scroll'\n\nexport * from './progress-nodes'\n\nexport * from './empty'\n\nexport * from './auto-complete'\n\nexport * from './progress'\n\nexport * from './input'\n\nexport * from './notification'\n\nexport * from './layout'\n\nexport * from './multi-select'\n\nexport * from './checkbox'\n\nexport * from './slider'\n\nexport * from './gantt-chart'\n\nexport * from './message'\n\nexport * from './file-picker'\n\nexport * from './number-range-input'\n\nexport * from './number-input'\n\nexport * from './collapse'\n\nexport * from './date-panel'\n\nexport * from './table-editor'\n\nexport * from './check-tag'\n\nexport * from './context-menu'\n\nexport * from './password-input'\n\nexport * from './number'\n\nexport * from './dialog'\n\nexport * from './node-render'\n\nexport * from './expression-editor'\n\nexport * from './watermark'\n\nexport * from './batch-edit'\n\nexport * from './action'\n\nexport * from './tip'\n\nexport * from './textarea'\n\nexport * from './button'\n\nexport * from './cascade'\n\nexport * from './steps'\n\nexport * from './date-picker'\n\nexport * from './theme'\n\nexport * from './table'\n\nexport * from './multi-tree-select'\n\nexport * from './group-input'\n\nexport * from './list'\n\nexport * from './rich-text-editor'\n\nexport * from './menu'\n\nexport * from './grid-input'\n\nexport * from './switch'\n\nexport * from './form-item'\n\nexport * from './radio-group'\n\nexport * from './checkbox-group'\n\nexport * from './file-viewer'\n\nexport * from './text'\n\nexport * from './select'\n\nexport * from './breadcrumb'\n\nexport * from './icon'\n\nexport * from './kbd'\n\nexport * from './pop-confirm'\n\nexport * from './paginator'\n\nexport * from './tag'\n\nexport * from './float-button'\n\nexport * from './palette'\n\nexport * from './grid'\n\nexport * from './badge'\n"],"mappings":""}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/components/index.ts"],"sourcesContent":["export * from './condition-editor'\n\nexport * from './tabs'\n\nexport * from './tree'\n\nexport * from './tree-select'\n\nexport * from './code-editor'\n\nexport * from './dropdown'\n\nexport * from './drawer'\n\nexport * from './form'\n\nexport * from './message-confirm'\n\nexport * from './calendar'\n\nexport * from './radio'\n\nexport * from './card'\n\nexport * from './date-range-picker'\n\nexport * from './loading'\n\nexport * from './scroll'\n\nexport * from './progress-nodes'\n\nexport * from './empty'\n\nexport * from './auto-complete'\n\nexport * from './progress'\n\nexport * from './input'\n\nexport * from './notification'\n\nexport * from './layout'\n\nexport * from './multi-select'\n\nexport * from './checkbox'\n\nexport * from './slider'\n\nexport * from './gantt-chart'\n\nexport * from './message'\n\nexport * from './file-picker'\n\nexport * from './number-range-input'\n\nexport * from './number-input'\n\nexport * from './collapse'\n\nexport * from './date-panel'\n\nexport * from './table-editor'\n\nexport * from './check-tag'\n\nexport * from './contextmenu'\n\nexport * from './password-input'\n\nexport * from './number'\n\nexport * from './dialog'\n\nexport * from './node-render'\n\nexport * from './expression-editor'\n\nexport * from './watermark'\n\nexport * from './batch-edit'\n\nexport * from './action'\n\nexport * from './tip'\n\nexport * from './textarea'\n\nexport * from './button'\n\nexport * from './cascade'\n\nexport * from './steps'\n\nexport * from './date-picker'\n\nexport * from './theme'\n\nexport * from './table'\n\nexport * from './multi-tree-select'\n\nexport * from './group-input'\n\nexport * from './list'\n\nexport * from './rich-text-editor'\n\nexport * from './menu'\n\nexport * from './grid-input'\n\nexport * from './switch'\n\nexport * from './form-item'\n\nexport * from './radio-group'\n\nexport * from './checkbox-group'\n\nexport * from './file-viewer'\n\nexport * from './text'\n\nexport * from './select'\n\nexport * from './breadcrumb'\n\nexport * from './icon'\n\nexport * from './kbd'\n\nexport * from './pop-confirm'\n\nexport * from './paginator'\n\nexport * from './tag'\n\nexport * from './float-button'\n\nexport * from './palette'\n\nexport * from './grid'\n\nexport * from './badge'\n"],"mappings":""}
@@ -1,8 +1,8 @@
1
1
  import { NumberProps } from "../../types/number.js";
2
2
  //#region src/components/number/number.vue.d.ts
3
3
  declare const __VLS_export: import("vue").DefineComponent<NumberProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<NumberProps> & Readonly<{}>, {
4
- format: "currency" | "percent" | "decimal";
5
4
  duration: number;
5
+ format: "currency" | "percent" | "decimal";
6
6
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
7
  declare const _default: typeof __VLS_export;
8
8
  //#endregion
@@ -37,6 +37,11 @@ declare class ColumnNode extends TreeNode<TableColumn, ColumnNode> {
37
37
  get isFirstFixed(): boolean;
38
38
  /** 是否是可调整宽度的列 */
39
39
  get resizable(): boolean;
40
+ /**
41
+ * 是否在列配置上显式指定了 width,或经表头拖拽锁定。
42
+ * 此类列不参与剩余宽度的均分。
43
+ */
44
+ explicitWidth: boolean;
40
45
  style: Record<string, number>;
41
46
  constructor(val: TableColumn, index: number, depth: number, parent?: ColumnNode);
42
47
  }
@@ -74,9 +74,15 @@ var ColumnNode = class extends TreeNode {
74
74
  get resizable() {
75
75
  return this.data.resizable ?? true;
76
76
  }
77
+ /**
78
+ * 是否在列配置上显式指定了 width,或经表头拖拽锁定。
79
+ * 此类列不参与剩余宽度的均分。
80
+ */
81
+ explicitWidth;
77
82
  style = reactive({});
78
83
  constructor(val, index, depth, parent) {
79
84
  super(isReactive(val) ? val : shallowReactive(val), index, depth, parent);
85
+ this.explicitWidth = val.width !== void 0;
80
86
  }
81
87
  };
82
88
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"col.js","names":[],"sources":["../../../../src/components/table/node/col.ts"],"sourcesContent":["import { TreeNode } from '@cat-kit/core'\nimport { isReactive, reactive, shallowReactive } from 'vue'\n\nimport type { TableColumn, TableColumnAlign } from '../../../types'\n\nexport class ColumnNode extends TreeNode<TableColumn, ColumnNode> {\n declare children?: ColumnNode[] | undefined\n declare parent?: ColumnNode\n /** 叶子节点数量 */\n leafs?: number\n\n nextNode: ColumnNode | null = null\n\n /** 列key */\n get key(): string {\n return this.data.key\n }\n set key(val) {\n this.data.key = val\n }\n /** 列名 */\n get name(): string {\n return this.data.name\n }\n set name(val) {\n this.data.name = val\n }\n\n /**\n * 列对齐方式\n * @default 'left'\n */\n get align(): TableColumnAlign {\n return this.data.align ?? 'left'\n }\n set align(val) {\n this.data.align = val\n }\n\n get headerAlign(): TableColumnAlign {\n return this.data.headerAlign ?? this.align\n }\n set headerAlign(val) {\n this.data.headerAlign = val\n }\n\n /** 宽度 */\n get width(): number | undefined {\n const { width } = this.data\n if (!width || (this.minWidth && width && width < this.minWidth)) {\n return this.minWidth\n }\n return width\n }\n set width(val) {\n if (this.minWidth && val && val < this.minWidth) {\n val = this.minWidth\n }\n this.data.width = val\n }\n /** 最小宽度 */\n get minWidth(): number | undefined {\n const minWidth = this.data.minWidth\n if (!minWidth && this.isLeaf) {\n return 100\n }\n return minWidth\n }\n set minWidth(val) {\n this.data.minWidth = val\n }\n\n /** 列固定方向 */\n get fixed(): 'left' | 'right' | undefined {\n if (this.depth > 0) return\n return this.data.fixed\n }\n set fixed(val) {\n this.data.fixed = val\n }\n\n /** 是否是左侧的最后一个固定列 */\n get isLastFixed(): boolean {\n return this.data.isLastFixed ?? false\n }\n\n /** 是否是右侧的第一个固定列 */\n get isFirstFixed(): boolean {\n return this.data.isFirstFixed ?? false\n }\n\n /** 是否是可调整宽度的列 */\n get resizable(): boolean {\n return this.data.resizable ?? true\n }\n\n style: Record<string, number> = reactive({})\n\n constructor(val: TableColumn, index: number, depth: number, parent?: ColumnNode) {\n super(isReactive(val) ? val : shallowReactive(val), index, depth, parent)\n }\n}\n"],"mappings":";;;AAKA,IAAa,aAAb,cAAgC,SAAkC;;CAIhE;CAEA,WAA8B;;CAG9B,IAAI,MAAc;EAChB,OAAO,KAAK,KAAK;CACnB;CACA,IAAI,IAAI,KAAK;EACX,KAAK,KAAK,MAAM;CAClB;;CAEA,IAAI,OAAe;EACjB,OAAO,KAAK,KAAK;CACnB;CACA,IAAI,KAAK,KAAK;EACZ,KAAK,KAAK,OAAO;CACnB;;;;;CAMA,IAAI,QAA0B;EAC5B,OAAO,KAAK,KAAK,SAAS;CAC5B;CACA,IAAI,MAAM,KAAK;EACb,KAAK,KAAK,QAAQ;CACpB;CAEA,IAAI,cAAgC;EAClC,OAAO,KAAK,KAAK,eAAe,KAAK;CACvC;CACA,IAAI,YAAY,KAAK;EACnB,KAAK,KAAK,cAAc;CAC1B;;CAGA,IAAI,QAA4B;EAC9B,MAAM,EAAE,UAAU,KAAK;EACvB,IAAI,CAAC,SAAU,KAAK,YAAY,SAAS,QAAQ,KAAK,UACpD,OAAO,KAAK;EAEd,OAAO;CACT;CACA,IAAI,MAAM,KAAK;EACb,IAAI,KAAK,YAAY,OAAO,MAAM,KAAK,UACrC,MAAM,KAAK;EAEb,KAAK,KAAK,QAAQ;CACpB;;CAEA,IAAI,WAA+B;EACjC,MAAM,WAAW,KAAK,KAAK;EAC3B,IAAI,CAAC,YAAY,KAAK,QACpB,OAAO;EAET,OAAO;CACT;CACA,IAAI,SAAS,KAAK;EAChB,KAAK,KAAK,WAAW;CACvB;;CAGA,IAAI,QAAsC;EACxC,IAAI,KAAK,QAAQ,GAAG;EACpB,OAAO,KAAK,KAAK;CACnB;CACA,IAAI,MAAM,KAAK;EACb,KAAK,KAAK,QAAQ;CACpB;;CAGA,IAAI,cAAuB;EACzB,OAAO,KAAK,KAAK,eAAe;CAClC;;CAGA,IAAI,eAAwB;EAC1B,OAAO,KAAK,KAAK,gBAAgB;CACnC;;CAGA,IAAI,YAAqB;EACvB,OAAO,KAAK,KAAK,aAAa;CAChC;CAEA,QAAgC,SAAS,CAAC,CAAC;CAE3C,YAAY,KAAkB,OAAe,OAAe,QAAqB;EAC/E,MAAM,WAAW,GAAG,IAAI,MAAM,gBAAgB,GAAG,GAAG,OAAO,OAAO,MAAM;CAC1E;AACF"}
1
+ {"version":3,"file":"col.js","names":[],"sources":["../../../../src/components/table/node/col.ts"],"sourcesContent":["import { TreeNode } from '@cat-kit/core'\nimport { isReactive, reactive, shallowReactive } from 'vue'\n\nimport type { TableColumn, TableColumnAlign } from '../../../types'\n\nexport class ColumnNode extends TreeNode<TableColumn, ColumnNode> {\n declare children?: ColumnNode[] | undefined\n declare parent?: ColumnNode\n /** 叶子节点数量 */\n leafs?: number\n\n nextNode: ColumnNode | null = null\n\n /** 列key */\n get key(): string {\n return this.data.key\n }\n set key(val) {\n this.data.key = val\n }\n /** 列名 */\n get name(): string {\n return this.data.name\n }\n set name(val) {\n this.data.name = val\n }\n\n /**\n * 列对齐方式\n * @default 'left'\n */\n get align(): TableColumnAlign {\n return this.data.align ?? 'left'\n }\n set align(val) {\n this.data.align = val\n }\n\n get headerAlign(): TableColumnAlign {\n return this.data.headerAlign ?? this.align\n }\n set headerAlign(val) {\n this.data.headerAlign = val\n }\n\n /** 宽度 */\n get width(): number | undefined {\n const { width } = this.data\n if (!width || (this.minWidth && width && width < this.minWidth)) {\n return this.minWidth\n }\n return width\n }\n set width(val) {\n if (this.minWidth && val && val < this.minWidth) {\n val = this.minWidth\n }\n this.data.width = val\n }\n /** 最小宽度 */\n get minWidth(): number | undefined {\n const minWidth = this.data.minWidth\n if (!minWidth && this.isLeaf) {\n return 100\n }\n return minWidth\n }\n set minWidth(val) {\n this.data.minWidth = val\n }\n\n /** 列固定方向 */\n get fixed(): 'left' | 'right' | undefined {\n if (this.depth > 0) return\n return this.data.fixed\n }\n set fixed(val) {\n this.data.fixed = val\n }\n\n /** 是否是左侧的最后一个固定列 */\n get isLastFixed(): boolean {\n return this.data.isLastFixed ?? false\n }\n\n /** 是否是右侧的第一个固定列 */\n get isFirstFixed(): boolean {\n return this.data.isFirstFixed ?? false\n }\n\n /** 是否是可调整宽度的列 */\n get resizable(): boolean {\n return this.data.resizable ?? true\n }\n\n /**\n * 是否在列配置上显式指定了 width,或经表头拖拽锁定。\n * 此类列不参与剩余宽度的均分。\n */\n explicitWidth: boolean\n\n style: Record<string, number> = reactive({})\n\n constructor(val: TableColumn, index: number, depth: number, parent?: ColumnNode) {\n super(isReactive(val) ? val : shallowReactive(val), index, depth, parent)\n this.explicitWidth = val.width !== undefined\n }\n}\n"],"mappings":";;;AAKA,IAAa,aAAb,cAAgC,SAAkC;;CAIhE;CAEA,WAA8B;;CAG9B,IAAI,MAAc;EAChB,OAAO,KAAK,KAAK;CACnB;CACA,IAAI,IAAI,KAAK;EACX,KAAK,KAAK,MAAM;CAClB;;CAEA,IAAI,OAAe;EACjB,OAAO,KAAK,KAAK;CACnB;CACA,IAAI,KAAK,KAAK;EACZ,KAAK,KAAK,OAAO;CACnB;;;;;CAMA,IAAI,QAA0B;EAC5B,OAAO,KAAK,KAAK,SAAS;CAC5B;CACA,IAAI,MAAM,KAAK;EACb,KAAK,KAAK,QAAQ;CACpB;CAEA,IAAI,cAAgC;EAClC,OAAO,KAAK,KAAK,eAAe,KAAK;CACvC;CACA,IAAI,YAAY,KAAK;EACnB,KAAK,KAAK,cAAc;CAC1B;;CAGA,IAAI,QAA4B;EAC9B,MAAM,EAAE,UAAU,KAAK;EACvB,IAAI,CAAC,SAAU,KAAK,YAAY,SAAS,QAAQ,KAAK,UACpD,OAAO,KAAK;EAEd,OAAO;CACT;CACA,IAAI,MAAM,KAAK;EACb,IAAI,KAAK,YAAY,OAAO,MAAM,KAAK,UACrC,MAAM,KAAK;EAEb,KAAK,KAAK,QAAQ;CACpB;;CAEA,IAAI,WAA+B;EACjC,MAAM,WAAW,KAAK,KAAK;EAC3B,IAAI,CAAC,YAAY,KAAK,QACpB,OAAO;EAET,OAAO;CACT;CACA,IAAI,SAAS,KAAK;EAChB,KAAK,KAAK,WAAW;CACvB;;CAGA,IAAI,QAAsC;EACxC,IAAI,KAAK,QAAQ,GAAG;EACpB,OAAO,KAAK,KAAK;CACnB;CACA,IAAI,MAAM,KAAK;EACb,KAAK,KAAK,QAAQ;CACpB;;CAGA,IAAI,cAAuB;EACzB,OAAO,KAAK,KAAK,eAAe;CAClC;;CAGA,IAAI,eAAwB;EAC1B,OAAO,KAAK,KAAK,gBAAgB;CACnC;;CAGA,IAAI,YAAqB;EACvB,OAAO,KAAK,KAAK,aAAa;CAChC;;;;;CAMA;CAEA,QAAgC,SAAS,CAAC,CAAC;CAE3C,YAAY,KAAkB,OAAe,OAAe,QAAqB;EAC/E,MAAM,WAAW,GAAG,IAAI,MAAM,gBAAgB,GAAG,GAAG,OAAO,OAAO,MAAM;EACxE,KAAK,gBAAgB,IAAI,UAAU,KAAA;CACrC;AACF"}
@@ -13,17 +13,16 @@ function useColResize(options) {
13
13
  function correctColumnStyle() {
14
14
  const containerWidth = scrollRef.value?.containerRef?.clientWidth;
15
15
  if (!containerWidth || !leafColumns.value.length) return;
16
- const allColumnsWidth = leafColumns.value.reduce((acc, cur) => {
17
- return acc + (cur.width ?? cur.minWidth);
18
- }, 0);
19
- if (allColumnsWidth < containerWidth) {
20
- const freeWidth = containerWidth - allColumnsWidth;
21
- const allocatableColumns = leafColumns.value.filter((column) => column.resizable !== false);
22
- const allocatedWidth = freeWidth / allocatableColumns.length;
23
- allocatableColumns.forEach((column) => {
24
- column.width = (column.width ?? column.minWidth) + allocatedWidth;
16
+ const flexColumns = leafColumns.value.filter((column) => !column.explicitWidth);
17
+ const totalBase = leafColumns.value.filter((column) => column.explicitWidth).reduce((acc, cur) => acc + (cur.width ?? cur.minWidth), 0) + flexColumns.reduce((acc, cur) => acc + cur.minWidth, 0);
18
+ if (flexColumns.length > 0 && totalBase < containerWidth) {
19
+ const allocatedWidth = (containerWidth - totalBase) / flexColumns.length;
20
+ flexColumns.forEach((column) => {
21
+ column.width = column.minWidth + allocatedWidth;
25
22
  });
26
- }
23
+ } else flexColumns.forEach((column) => {
24
+ column.data.width = void 0;
25
+ });
27
26
  const fixedLeft = leafColumns.value.filter((column) => column.fixed === "left");
28
27
  const fixedRight = leafColumns.value.filter((column) => column.fixed === "right");
29
28
  fixedLeft.reduce((acc, cur) => {
@@ -64,6 +63,7 @@ function useColResize(options) {
64
63
  }
65
64
  function handleResizeMouseup(e) {
66
65
  currentResizeColumn.width = Math.max(originWidth + e.pageX - originX, currentResizeColumn.minWidth);
66
+ currentResizeColumn.explicitWidth = true;
67
67
  showResizeLine.value = false;
68
68
  currentResizeColumn = null;
69
69
  correctColumnStyle();
@@ -1 +1 @@
1
- {"version":3,"file":"use-col-resize.js","names":[],"sources":["../../../src/components/table/use-col-resize.ts"],"sourcesContent":["import { nextTick, provide, shallowRef, watchEffect, type ShallowRef } from 'vue'\n\nimport type { ScrollExposed } from '../../types'\nimport { TableResizeKey } from './di'\nimport type { ColumnNode } from './node/col'\n\ninterface Options {\n scrollRef: ShallowRef<ScrollExposed | undefined>\n leafColumns: ShallowRef<ColumnNode[]>\n}\n\ninterface UseColResizeReturned {\n resizeLineRef: ShallowRef<HTMLElement | undefined>\n colgroupRef: ShallowRef<HTMLElement | undefined>\n showResizeLine: ShallowRef<boolean>\n handleResizeMousedown: (e: MouseEvent, resizeColumn: ColumnNode) => void\n}\n\nexport function useColResize(options: Options): UseColResizeReturned {\n const { scrollRef, leafColumns } = options\n\n const showResizeLine = shallowRef(false)\n\n const resizeLineRef = shallowRef<HTMLElement>()\n const colgroupRef = shallowRef<HTMLElement>()\n const headerRef = shallowRef<HTMLElement>()\n\n /**\n * 修正列样式\n */\n function correctColumnStyle() {\n // 获取表格容器宽度\n const containerWidth = scrollRef.value?.containerRef?.clientWidth\n\n if (!containerWidth || !leafColumns.value.length) return\n\n // 如果每个列都设置了宽度, 有两种情况\n // 1. 表格容器宽度大于所有列宽度之和,则将剩下的宽度均匀分布到所有列中\n // 2. 表格容器宽度小于所有列宽度之和,则什么也不管\n const allColumnsWidth = leafColumns.value.reduce((acc, cur) => {\n return acc + (cur.width ?? cur.minWidth!)\n }, 0)\n\n if (allColumnsWidth < containerWidth) {\n const freeWidth = containerWidth - allColumnsWidth\n\n const allocatableColumns = leafColumns.value.filter((column) => column.resizable !== false)\n\n const allocatedWidth = freeWidth / allocatableColumns.length\n\n allocatableColumns.forEach((column) => {\n column.width = (column.width ?? column.minWidth!) + allocatedWidth\n })\n }\n\n const fixedLeft = leafColumns.value.filter((column) => column.fixed === 'left')\n const fixedRight = leafColumns.value.filter((column) => column.fixed === 'right')\n\n fixedLeft.reduce((acc, cur) => {\n cur.style.left = acc\n return acc + (cur.width ?? cur.minWidth!)\n }, 0)\n\n fixedRight.reduceRight((acc, cur) => {\n cur.style.right = acc\n return acc + (cur.width ?? cur.minWidth!)\n }, 0)\n }\n\n watchEffect(correctColumnStyle)\n\n function updateResizeLine(transformX: number): void {\n if (!resizeLineRef.value) return\n resizeLineRef.value.style.transform = `translateX(${transformX}px)`\n }\n\n // 表格相对于页面左边缘的偏移量,\n // 此处作为缓存以减少频繁地调用 getBoundingClientRect 方法\n let containerLeft = 0\n let originX = 0\n let originWidth = 0\n let currentResizeColumn: ColumnNode | null = null\n\n function handleResizeMousedown(e: MouseEvent, resizeColumn: ColumnNode): void {\n const tableEl = scrollRef.value?.el\n if (!tableEl) return\n\n showResizeLine.value = true\n currentResizeColumn = resizeColumn\n originX = e.pageX\n originWidth = resizeColumn.width ?? 0\n\n const { left } = tableEl.getBoundingClientRect()\n containerLeft = left\n\n nextTick(() => {\n updateResizeLine(e.pageX - left)\n })\n\n document.addEventListener('mousemove', handleResizeMousemove)\n document.addEventListener('mouseup', handleResizeMouseup)\n }\n\n function handleResizeMousemove(e: MouseEvent): void {\n updateResizeLine(e.pageX - containerLeft)\n }\n\n function handleResizeMouseup(e: MouseEvent): void {\n currentResizeColumn!.width = Math.max(\n originWidth + e.pageX - originX,\n currentResizeColumn!.minWidth!\n )\n\n showResizeLine.value = false\n currentResizeColumn = null\n correctColumnStyle()\n\n document.removeEventListener('mouseup', handleResizeMouseup)\n document.removeEventListener('mousemove', handleResizeMousemove)\n }\n\n provide(TableResizeKey, { handleResizeMousedown, headerRef })\n\n return { resizeLineRef, colgroupRef, showResizeLine, handleResizeMousedown }\n}\n"],"mappings":";;;AAkBA,SAAgB,aAAa,SAAwC;CACnE,MAAM,EAAE,WAAW,gBAAgB;CAEnC,MAAM,iBAAiB,WAAW,KAAK;CAEvC,MAAM,gBAAgB,WAAwB;CAC9C,MAAM,cAAc,WAAwB;CAC5C,MAAM,YAAY,WAAwB;;;;CAK1C,SAAS,qBAAqB;EAE5B,MAAM,iBAAiB,UAAU,OAAO,cAAc;EAEtD,IAAI,CAAC,kBAAkB,CAAC,YAAY,MAAM,QAAQ;EAKlD,MAAM,kBAAkB,YAAY,MAAM,QAAQ,KAAK,QAAQ;GAC7D,OAAO,OAAO,IAAI,SAAS,IAAI;EACjC,GAAG,CAAC;EAEJ,IAAI,kBAAkB,gBAAgB;GACpC,MAAM,YAAY,iBAAiB;GAEnC,MAAM,qBAAqB,YAAY,MAAM,QAAQ,WAAW,OAAO,cAAc,KAAK;GAE1F,MAAM,iBAAiB,YAAY,mBAAmB;GAEtD,mBAAmB,SAAS,WAAW;IACrC,OAAO,SAAS,OAAO,SAAS,OAAO,YAAa;GACtD,CAAC;EACH;EAEA,MAAM,YAAY,YAAY,MAAM,QAAQ,WAAW,OAAO,UAAU,MAAM;EAC9E,MAAM,aAAa,YAAY,MAAM,QAAQ,WAAW,OAAO,UAAU,OAAO;EAEhF,UAAU,QAAQ,KAAK,QAAQ;GAC7B,IAAI,MAAM,OAAO;GACjB,OAAO,OAAO,IAAI,SAAS,IAAI;EACjC,GAAG,CAAC;EAEJ,WAAW,aAAa,KAAK,QAAQ;GACnC,IAAI,MAAM,QAAQ;GAClB,OAAO,OAAO,IAAI,SAAS,IAAI;EACjC,GAAG,CAAC;CACN;CAEA,YAAY,kBAAkB;CAE9B,SAAS,iBAAiB,YAA0B;EAClD,IAAI,CAAC,cAAc,OAAO;EAC1B,cAAc,MAAM,MAAM,YAAY,cAAc,WAAW;CACjE;CAIA,IAAI,gBAAgB;CACpB,IAAI,UAAU;CACd,IAAI,cAAc;CAClB,IAAI,sBAAyC;CAE7C,SAAS,sBAAsB,GAAe,cAAgC;EAC5E,MAAM,UAAU,UAAU,OAAO;EACjC,IAAI,CAAC,SAAS;EAEd,eAAe,QAAQ;EACvB,sBAAsB;EACtB,UAAU,EAAE;EACZ,cAAc,aAAa,SAAS;EAEpC,MAAM,EAAE,SAAS,QAAQ,sBAAsB;EAC/C,gBAAgB;EAEhB,eAAe;GACb,iBAAiB,EAAE,QAAQ,IAAI;EACjC,CAAC;EAED,SAAS,iBAAiB,aAAa,qBAAqB;EAC5D,SAAS,iBAAiB,WAAW,mBAAmB;CAC1D;CAEA,SAAS,sBAAsB,GAAqB;EAClD,iBAAiB,EAAE,QAAQ,aAAa;CAC1C;CAEA,SAAS,oBAAoB,GAAqB;EAChD,oBAAqB,QAAQ,KAAK,IAChC,cAAc,EAAE,QAAQ,SACxB,oBAAqB,QACvB;EAEA,eAAe,QAAQ;EACvB,sBAAsB;EACtB,mBAAmB;EAEnB,SAAS,oBAAoB,WAAW,mBAAmB;EAC3D,SAAS,oBAAoB,aAAa,qBAAqB;CACjE;CAEA,QAAQ,gBAAgB;EAAE;EAAuB;CAAU,CAAC;CAE5D,OAAO;EAAE;EAAe;EAAa;EAAgB;CAAsB;AAC7E"}
1
+ {"version":3,"file":"use-col-resize.js","names":[],"sources":["../../../src/components/table/use-col-resize.ts"],"sourcesContent":["import { nextTick, provide, shallowRef, watchEffect, type ShallowRef } from 'vue'\n\nimport type { ScrollExposed } from '../../types'\nimport { TableResizeKey } from './di'\nimport type { ColumnNode } from './node/col'\n\ninterface Options {\n scrollRef: ShallowRef<ScrollExposed | undefined>\n leafColumns: ShallowRef<ColumnNode[]>\n}\n\ninterface UseColResizeReturned {\n resizeLineRef: ShallowRef<HTMLElement | undefined>\n colgroupRef: ShallowRef<HTMLElement | undefined>\n showResizeLine: ShallowRef<boolean>\n handleResizeMousedown: (e: MouseEvent, resizeColumn: ColumnNode) => void\n}\n\nexport function useColResize(options: Options): UseColResizeReturned {\n const { scrollRef, leafColumns } = options\n\n const showResizeLine = shallowRef(false)\n\n const resizeLineRef = shallowRef<HTMLElement>()\n const colgroupRef = shallowRef<HTMLElement>()\n const headerRef = shallowRef<HTMLElement>()\n\n /**\n * 修正列样式\n */\n function correctColumnStyle() {\n // 获取表格容器宽度\n const containerWidth = scrollRef.value?.containerRef?.clientWidth\n\n if (!containerWidth || !leafColumns.value.length) return\n\n const flexColumns = leafColumns.value.filter((column) => !column.explicitWidth)\n const fixedWidthTotal = leafColumns.value\n .filter((column) => column.explicitWidth)\n .reduce((acc, cur) => acc + (cur.width ?? cur.minWidth!), 0)\n const flexBaseTotal = flexColumns.reduce((acc, cur) => acc + cur.minWidth!, 0)\n const totalBase = fixedWidthTotal + flexBaseTotal\n\n // 仅未显式指定 width 的列参与剩余宽度均分;指定了 width 的列保持该宽度。\n if (flexColumns.length > 0 && totalBase < containerWidth) {\n const allocatedWidth = (containerWidth - totalBase) / flexColumns.length\n\n flexColumns.forEach((column) => {\n column.width = column.minWidth! + allocatedWidth\n })\n } else {\n flexColumns.forEach((column) => {\n column.data.width = undefined\n })\n }\n\n const fixedLeft = leafColumns.value.filter((column) => column.fixed === 'left')\n const fixedRight = leafColumns.value.filter((column) => column.fixed === 'right')\n\n fixedLeft.reduce((acc, cur) => {\n cur.style.left = acc\n return acc + (cur.width ?? cur.minWidth!)\n }, 0)\n\n fixedRight.reduceRight((acc, cur) => {\n cur.style.right = acc\n return acc + (cur.width ?? cur.minWidth!)\n }, 0)\n }\n\n watchEffect(correctColumnStyle)\n\n function updateResizeLine(transformX: number): void {\n if (!resizeLineRef.value) return\n resizeLineRef.value.style.transform = `translateX(${transformX}px)`\n }\n\n // 表格相对于页面左边缘的偏移量,\n // 此处作为缓存以减少频繁地调用 getBoundingClientRect 方法\n let containerLeft = 0\n let originX = 0\n let originWidth = 0\n let currentResizeColumn: ColumnNode | null = null\n\n function handleResizeMousedown(e: MouseEvent, resizeColumn: ColumnNode): void {\n const tableEl = scrollRef.value?.el\n if (!tableEl) return\n\n showResizeLine.value = true\n currentResizeColumn = resizeColumn\n originX = e.pageX\n originWidth = resizeColumn.width ?? 0\n\n const { left } = tableEl.getBoundingClientRect()\n containerLeft = left\n\n nextTick(() => {\n updateResizeLine(e.pageX - left)\n })\n\n document.addEventListener('mousemove', handleResizeMousemove)\n document.addEventListener('mouseup', handleResizeMouseup)\n }\n\n function handleResizeMousemove(e: MouseEvent): void {\n updateResizeLine(e.pageX - containerLeft)\n }\n\n function handleResizeMouseup(e: MouseEvent): void {\n currentResizeColumn!.width = Math.max(\n originWidth + e.pageX - originX,\n currentResizeColumn!.minWidth!\n )\n currentResizeColumn!.explicitWidth = true\n\n showResizeLine.value = false\n currentResizeColumn = null\n correctColumnStyle()\n\n document.removeEventListener('mouseup', handleResizeMouseup)\n document.removeEventListener('mousemove', handleResizeMousemove)\n }\n\n provide(TableResizeKey, { handleResizeMousedown, headerRef })\n\n return { resizeLineRef, colgroupRef, showResizeLine, handleResizeMousedown }\n}\n"],"mappings":";;;AAkBA,SAAgB,aAAa,SAAwC;CACnE,MAAM,EAAE,WAAW,gBAAgB;CAEnC,MAAM,iBAAiB,WAAW,KAAK;CAEvC,MAAM,gBAAgB,WAAwB;CAC9C,MAAM,cAAc,WAAwB;CAC5C,MAAM,YAAY,WAAwB;;;;CAK1C,SAAS,qBAAqB;EAE5B,MAAM,iBAAiB,UAAU,OAAO,cAAc;EAEtD,IAAI,CAAC,kBAAkB,CAAC,YAAY,MAAM,QAAQ;EAElD,MAAM,cAAc,YAAY,MAAM,QAAQ,WAAW,CAAC,OAAO,aAAa;EAK9E,MAAM,YAJkB,YAAY,MACjC,QAAQ,WAAW,OAAO,aAAa,EACvC,QAAQ,KAAK,QAAQ,OAAO,IAAI,SAAS,IAAI,WAAY,CAE5B,IADV,YAAY,QAAQ,KAAK,QAAQ,MAAM,IAAI,UAAW,CAC5B;EAGhD,IAAI,YAAY,SAAS,KAAK,YAAY,gBAAgB;GACxD,MAAM,kBAAkB,iBAAiB,aAAa,YAAY;GAElE,YAAY,SAAS,WAAW;IAC9B,OAAO,QAAQ,OAAO,WAAY;GACpC,CAAC;EACH,OACE,YAAY,SAAS,WAAW;GAC9B,OAAO,KAAK,QAAQ,KAAA;EACtB,CAAC;EAGH,MAAM,YAAY,YAAY,MAAM,QAAQ,WAAW,OAAO,UAAU,MAAM;EAC9E,MAAM,aAAa,YAAY,MAAM,QAAQ,WAAW,OAAO,UAAU,OAAO;EAEhF,UAAU,QAAQ,KAAK,QAAQ;GAC7B,IAAI,MAAM,OAAO;GACjB,OAAO,OAAO,IAAI,SAAS,IAAI;EACjC,GAAG,CAAC;EAEJ,WAAW,aAAa,KAAK,QAAQ;GACnC,IAAI,MAAM,QAAQ;GAClB,OAAO,OAAO,IAAI,SAAS,IAAI;EACjC,GAAG,CAAC;CACN;CAEA,YAAY,kBAAkB;CAE9B,SAAS,iBAAiB,YAA0B;EAClD,IAAI,CAAC,cAAc,OAAO;EAC1B,cAAc,MAAM,MAAM,YAAY,cAAc,WAAW;CACjE;CAIA,IAAI,gBAAgB;CACpB,IAAI,UAAU;CACd,IAAI,cAAc;CAClB,IAAI,sBAAyC;CAE7C,SAAS,sBAAsB,GAAe,cAAgC;EAC5E,MAAM,UAAU,UAAU,OAAO;EACjC,IAAI,CAAC,SAAS;EAEd,eAAe,QAAQ;EACvB,sBAAsB;EACtB,UAAU,EAAE;EACZ,cAAc,aAAa,SAAS;EAEpC,MAAM,EAAE,SAAS,QAAQ,sBAAsB;EAC/C,gBAAgB;EAEhB,eAAe;GACb,iBAAiB,EAAE,QAAQ,IAAI;EACjC,CAAC;EAED,SAAS,iBAAiB,aAAa,qBAAqB;EAC5D,SAAS,iBAAiB,WAAW,mBAAmB;CAC1D;CAEA,SAAS,sBAAsB,GAAqB;EAClD,iBAAiB,EAAE,QAAQ,aAAa;CAC1C;CAEA,SAAS,oBAAoB,GAAqB;EAChD,oBAAqB,QAAQ,KAAK,IAChC,cAAc,EAAE,QAAQ,SACxB,oBAAqB,QACvB;EACA,oBAAqB,gBAAgB;EAErC,eAAe,QAAQ;EACvB,sBAAsB;EACtB,mBAAmB;EAEnB,SAAS,oBAAoB,WAAW,mBAAmB;EAC3D,SAAS,oBAAoB,aAAa,qBAAqB;CACjE;CAEA,QAAQ,gBAAgB;EAAE;EAAuB;CAAU,CAAC;CAE5D,OAAO;EAAE;EAAe;EAAa;EAAgB;CAAsB;AAC7E"}
@@ -9,11 +9,11 @@ declare const __VLS_base: import("vue").DefineComponent<TipProps, {}, {}, {}, {}
9
9
  }, string, import("vue").PublicProps, Readonly<TipProps> & Readonly<{
10
10
  "onUpdate:visible"?: ((value: boolean) => any) | undefined;
11
11
  }>, {
12
+ content: string;
12
13
  trigger: "hover" | "click";
13
14
  contentTag: string;
14
15
  visible: boolean;
15
16
  direction: TipDirection;
16
- content: string;
17
17
  alignment: TipAlign;
18
18
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
19
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
package/dist/index.d.ts CHANGED
@@ -51,7 +51,7 @@ import { MenuEmits, MenuExposed, MenuItem, MenuProps, _MenuExposed } from "./typ
51
51
  import { PasswordInputEmits, PasswordInputExposed, PasswordInputProps, _PasswordInputExposed } from "./types/password-input.js";
52
52
  import { DatePickerEmits, DatePickerExposed, DatePickerProps, _DatePickerExposed } from "./types/date-picker.js";
53
53
  import { DropdownEmits, DropdownExposed, DropdownProps, _DropdownExposed } from "./types/dropdown.js";
54
- import { ContextMenuEmits, ContextMenuExposed, ContextMenuItem, ContextMenuProps, _ContextMenuExposed } from "./types/context-menu.js";
54
+ import { ContextmenuEmits, ContextmenuExposed, ContextmenuItem, ContextmenuProps, _ContextmenuExposed } from "./types/contextmenu.js";
55
55
  import { SelectEmits, SelectExposed, SelectProps, _SelectExposed } from "./types/select.js";
56
56
  import { RadioEmits, RadioExposed, RadioProps, _RadioExposed } from "./types/radio.js";
57
57
  import { CheckboxButtonEmits, CheckboxButtonProps, CheckboxEmits, CheckboxExposed, CheckboxProps } from "./types/checkbox.js";
@@ -128,8 +128,8 @@ import { _default as _default$22 } from "./components/collapse/collapse-item.vue
128
128
  import { _default as _default$25 } from "./components/date-panel/date-panel.vue.js";
129
129
  import { _default as _default$76 } from "./components/table-editor/table-editor.vue.js";
130
130
  import { _default as _default$16 } from "./components/check-tag/check-tag.vue.js";
131
- import { _default as _default$24 } from "./components/context-menu/context-menu.vue.js";
132
- import { contextmenu } from "./components/context-menu/api.js";
131
+ import { _default as _default$24 } from "./components/contextmenu/contextmenu.vue.js";
132
+ import { contextmenu } from "./components/contextmenu/api.js";
133
133
  import { _default as _default$63 } from "./components/password-input/password-input.vue.js";
134
134
  import { _default as _default$58 } from "./components/number/number.vue.js";
135
135
  import { _default as _default$28 } from "./components/dialog/dialog.vue.js";
@@ -181,8 +181,8 @@ export * from "@veltra/utils";
181
181
 
182
182
  //#region src/index.d.ts
183
183
  declare namespace index_d_exports {
184
- export { ActionEmits, ActionExposed, ActionGroupExposed, ActionGroupProps, ActionProps, AllKeys, AnimationEmits, AnimationExposed, AnimationProps, AutoCompleteEmits, AutoCompleteExposed, AutoCompleteProps, BadgeEmits, BadgeExposed, BadgeProps, BarType, BatchEditColumn, BatchEditEmits, BatchEditExposed, BatchEditFeature, BatchEditProps, BreadcrumbEmits, BreadcrumbExposed, BreadcrumbItem, BreadcrumbProps, BreadcrumbSlotScope, BreakCols, Breakpoint, ButtonEmits, ButtonExposed, ButtonProps, ButtonType, CalendarDay, CalendarEmits, CalendarExposed, CalendarMonth, CalendarProps, CalendarYear, CardActionProps, CardContentProps, CardCoverProps, CardEmits, CardExposed, CardProps, CascadeEmits, CascadeExposed, CascadeNode, CascadeProps, CheckTagEmits, CheckTagExposed, CheckTagProps, CheckboxButtonEmits, CheckboxButtonProps, CheckboxEmits, CheckboxExposed, CheckboxGroupEmits, CheckboxGroupExposed, CheckboxGroupProps, CheckboxProps, CodeEditorEmits, CodeEditorExposed, CodeEditorLang, CodeEditorProps, CollapseEmits, CollapseItemProps, CollapseModelValue, CollapseProps, CollapseValue, ConditionConnector, ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, EvaluateOptions as ConditionEvaluateOptions, ConditionExpression, ConditionField, ConditionGroup, ConditionLeaf, ConditionNode, ConditionValue, ContextMenuEmits, ContextMenuExposed, ContextMenuItem, ContextMenuProps, CssTransitionEmits, CssTransitionExposed, CssTransitionProps, DataSettingConfig, DatePanelEmits, DatePanelProps, DatePickerEmits, DatePickerExposed, DatePickerProps, DateRangePickerEmits, DateRangePickerExposed, DateRangePickerProps, DialogEmits, DialogExposed, DialogProps, DrawerDirection, DrawerEmits, DrawerExposed, DrawerMode, DrawerProps, DropdownEmits, DropdownExposed, DropdownProps, DynamicFormModel, EmptyEmits, EmptyExposed, EmptyProps, ExpressionEditorEmits, ExpressionEditorExposed, ExpressionEditorProps, ExpressionSelectableLevels, FileViewerEmits, FileViewerExposed, FileViewerItem, FileViewerKind, FileViewerProps, FloatButtonEmits, FloatButtonExposed, FloatButtonItem, FloatButtonProps, FormExposed, FormItemEmits, FormItemExposed, FormItemProps, FormModel, FormModelField, FormModelItem, FormProps, GanttChartEmits, GanttChartExposed, GanttChartProps, GridEmits, GridExposed, GridInputEmits, GridInputExposed, GridInputProps, GridItemProps, GridProps, GroupInputEmits, GroupInputExposed, GroupInputProps, IFormModel, IconEmits, IconExposed, IconProps, InputEmits, InputExposed, InputProps, LayoutEmits, LayoutExposed, LayoutProps, ListEmits, ListExposed, ListProps, LoadingEmits, LoadingExposed, LoadingProps, LoadingType, MenuEmits, MenuExposed, MenuItem, MenuProps, Message, _default as MessageConfirm, MessageConfirmEmits, MessageConfirmExposed, MessageConfirmProps, MessageEmits, MessageExposed, MessageInstance, MessageOptions, MessageProps, MessageType, ModelData, ModelRules, MultiAutoCompleteEmits, MultiAutoCompleteExposed, MultiAutoCompleteProps, MultiSelectEmits, MultiSelectExposed, MultiSelectProps, MultiTreeSelectEmits, MultiTreeSelectExposed, MultiTreeSelectProps, NestedFieldMarker, NodeRenderExposed, NodeRenderProps, Notification, NotificationEmits, NotificationExposed, NotificationProps, NumberEmits, NumberExposed, NumberInputEmits, NumberInputExposed, NumberInputProps, NumberProps, NumberRangeInputEmits, NumberRangeInputExposed, NumberRangeInputProps, NumberRangeTuple, PaginatorEmits, PaginatorExposed, PaginatorProps, PaletteColorType, PaletteEmits, PaletteExposed, PaletteHSV, PaletteProps, PaletteRGB, PanelItem, PanelType, PasswordInputEmits, PasswordInputExposed, PasswordInputProps, PopConfirmEmits, PopConfirmExposed, PopConfirmProps, PopEmits, PopExposed, PopProps, ProgressEmits, ProgressExposed, ProgressNodesEmits, ProgressNodesExposed, ProgressNodesProps, ProgressProps, QuickBatchEditEmits, QuickBatchEditExposed, QuickBatchEditProps, RadioEmits, RadioExposed, RadioGroupEmits, RadioGroupExposed, RadioGroupProps, RadioProps, RichTextEditorEmits, RichTextEditorExposed, RichTextEditorProps, RichTextFormat, ScrollEmits, ScrollExposed, ScrollPosition, ScrollProps, SelectEmits, SelectExposed, SelectProps, SliderEmits, SliderExposed, SliderProps, StepsEmits, StepsExposed, StepsProps, StepsSlotScope, SwitchEmits, SwitchExposed, SwitchProps, TabItem, TableColumn, TableColumnAlign, TableColumnNode, TableColumnRenderContext, TableColumnSlotsScope, TableEditorEmits, TableEditorExposed, TableEditorProps, TableEmits, TableExposed, TableProps, TableRow, TableRowSlotsScope, TableSummaryContext, TabsEmits, TabsExposed, TabsHorizontalEmits, TabsHorizontalExposed, TabsHorizontalProps, TabsProps, TabsVerticalEmits, TabsVerticalExposed, TabsVerticalProps, TagEmits, TagExposed, TagProps, TextEditorEmits, TextEditorExposed, TextEditorProps, TextEmits, TextExposed, TextProps, TextareaEmits, TextareaExposed, TextareaProps, ThemeExposed, ThemeProps, TipAlign, TipDirection, TipEmits, TipExposed, TipProps, ToolbarItem, TreeEmit, TreeExposed, TreeNode, TreeNodeProps, TreeProps, TreeSelectEmits, TreeSelectExposed, TreeSelectProps, _default$1 as UAction, _default$2 as UActionGroup, _default$3 as UAutoComplete, _default$4 as UBadge, _default$5 as UBatchEdit, _default$6 as UBreadcrumb, _default$7 as UButton, _default$8 as UButtonGroup, _default$9 as UCalendar, _default$10 as UCard, _default$11 as UCardAction, _default$12 as UCardContent, _default$13 as UCardCover, _default$14 as UCardHeader, _default$15 as UCascade, _default$16 as UCheckTag, _default$17 as UCheckbox, _default$18 as UCheckboxButton, _default$19 as UCheckboxGroup, _default$20 as UCodeEditor, _default$21 as UCollapse, _default$22 as UCollapseItem, _default$23 as UConditionEditor, _default$24 as UContextMenu, _default$25 as UDatePanel, _default$26 as UDatePicker, _default$27 as UDateRangePicker, _default$28 as UDialog, _default$29 as UDrawer, _default$30 as UDropdown, _default$31 as UEmpty, _default$32 as UExpressionEditor, _default$33 as UFilePicker, _default$34 as UFileViewer, _default$35 as UFloatButton, _default$36 as UForm, _default$37 as UFormItem, _default$38 as UGanttChart, _default$39 as UGrid, _default$40 as UGridInput, _default$41 as UGridItem, _default$42 as UGroupInput, _default$43 as UIcon, _default$44 as UInput, _default$45 as UKbd, _default$46 as ULayout, _default$47 as UList, _default$48 as UListItem, _default$49 as ULoading, _default$50 as UMenu, _default$51 as UMenuItem, _default$52 as UMenuSub, _default$53 as UMessage, _default$54 as UMessageConfirm, _default$55 as UMultiSelect, _default$56 as UMultiTreeSelect, NodeRender as UNodeRender, _default$57 as UNotification, _default$58 as UNumber, _default$59 as UNumberInput, _default$60 as UNumberRangeInput, _default$61 as UPaginator, _default$62 as UPalette, _default$63 as UPasswordInput, _default$64 as UPopConfirm, _default$65 as UProgress, _default$66 as UProgressNodes, _default$67 as URadio, _default$68 as URadioGroup, _default$69 as URichTextEditor, _default$70 as UScroll, _default$71 as USelect, _default$72 as USlider, _default$73 as USteps, _default$74 as USwitch, _default$75 as UTable, _default$76 as UTableEditor, _default$77 as UTabs, _default$78 as UTabsHorizontal, _default$79 as UTabsVertical, _default$80 as UTag, _default$81 as UText, _default$82 as UTextarea, _default$83 as UTheme, _default$84 as UTip, _default$85 as UTree, _default$86 as UTreeSelect, _default$87 as UWatermark, UploaderEmits, UploaderExposed, UploaderProps, VariableItem, WatermarkEmits, WatermarkExposed, WatermarkProps, _ActionExposed, _ActionGroupExposed, _AnimationExposed, _AutoCompleteExposed, _BadgeExposed, _BatchEditExposed, _BreadcrumbExposed, _ButtonExposed, _CalendarExposed, _CardExposed, _CascadeExposed, _CheckTagExposed, _CodeEditorExposed, _ConditionEditorExposed, _ContextMenuExposed, _CssTransitionExposed, _DatePickerExposed, _DateRangePickerExposed, _DialogExposed, _DrawerExposed, _DropdownExposed, _EmptyExposed, _ExpressionEditorExposed, _FileViewerExposed, _FloatButtonExposed, _FormExposed, _GanttChartExposed, _GridExposed, _GridInputExposed, _GroupInputExposed, _InputExposed, _LayoutExposed, _ListExposed, _LoadingExposed, _MenuExposed, _MessageConfirmExposed, _MessageExposed, _MultiAutoCompleteExposed, _MultiSelectExposed, _MultiTreeSelectExposed, _NotificationExposed, _PaginatorExposed, _PaletteExposed, _PasswordInputExposed, _PopConfirmExposed, _PopExposed, _ProgressExposed, _ProgressNodesExposed, _QuickBatchEditExposed, _RadioExposed, _RadioGroupExposed, _RichTextEditorExposed, _ScrollExposed, _SelectExposed, _SliderExposed, _StepsExposed, _SwitchExposed, _TableEditorExposed, _TableExposed, _TabsExposed, _TabsHorizontalExposed, _TabsVerticalExposed, _TextEditorExposed, _TextExposed, _TextareaExposed, _ThemeExposed, _TipExposed, _TreeExposed, _TreeSelectExposed, _UploaderExposed, _WatermarkExposed, contextmenu, createEmptyGroup, createEmptyLeaf, defineBatchEditColumns, defineTableColumns, evaluate as evaluateConditionExpression, formField, message, nestField, vLoading };
184
+ export { ActionEmits, ActionExposed, ActionGroupExposed, ActionGroupProps, ActionProps, AllKeys, AnimationEmits, AnimationExposed, AnimationProps, AutoCompleteEmits, AutoCompleteExposed, AutoCompleteProps, BadgeEmits, BadgeExposed, BadgeProps, BarType, BatchEditColumn, BatchEditEmits, BatchEditExposed, BatchEditFeature, BatchEditProps, BreadcrumbEmits, BreadcrumbExposed, BreadcrumbItem, BreadcrumbProps, BreadcrumbSlotScope, BreakCols, Breakpoint, ButtonEmits, ButtonExposed, ButtonProps, ButtonType, CalendarDay, CalendarEmits, CalendarExposed, CalendarMonth, CalendarProps, CalendarYear, CardActionProps, CardContentProps, CardCoverProps, CardEmits, CardExposed, CardProps, CascadeEmits, CascadeExposed, CascadeNode, CascadeProps, CheckTagEmits, CheckTagExposed, CheckTagProps, CheckboxButtonEmits, CheckboxButtonProps, CheckboxEmits, CheckboxExposed, CheckboxGroupEmits, CheckboxGroupExposed, CheckboxGroupProps, CheckboxProps, CodeEditorEmits, CodeEditorExposed, CodeEditorLang, CodeEditorProps, CollapseEmits, CollapseItemProps, CollapseModelValue, CollapseProps, CollapseValue, ConditionConnector, ConditionEditorEmits, ConditionEditorExposed, ConditionEditorProps, EvaluateOptions as ConditionEvaluateOptions, ConditionExpression, ConditionField, ConditionGroup, ConditionLeaf, ConditionNode, ConditionValue, ContextmenuEmits, ContextmenuExposed, ContextmenuItem, ContextmenuProps, CssTransitionEmits, CssTransitionExposed, CssTransitionProps, DataSettingConfig, DatePanelEmits, DatePanelProps, DatePickerEmits, DatePickerExposed, DatePickerProps, DateRangePickerEmits, DateRangePickerExposed, DateRangePickerProps, DialogEmits, DialogExposed, DialogProps, DrawerDirection, DrawerEmits, DrawerExposed, DrawerMode, DrawerProps, DropdownEmits, DropdownExposed, DropdownProps, DynamicFormModel, EmptyEmits, EmptyExposed, EmptyProps, ExpressionEditorEmits, ExpressionEditorExposed, ExpressionEditorProps, ExpressionSelectableLevels, FileViewerEmits, FileViewerExposed, FileViewerItem, FileViewerKind, FileViewerProps, FloatButtonEmits, FloatButtonExposed, FloatButtonItem, FloatButtonProps, FormExposed, FormItemEmits, FormItemExposed, FormItemProps, FormModel, FormModelField, FormModelItem, FormProps, GanttChartEmits, GanttChartExposed, GanttChartProps, GridEmits, GridExposed, GridInputEmits, GridInputExposed, GridInputProps, GridItemProps, GridProps, GroupInputEmits, GroupInputExposed, GroupInputProps, IFormModel, IconEmits, IconExposed, IconProps, InputEmits, InputExposed, InputProps, LayoutEmits, LayoutExposed, LayoutProps, ListEmits, ListExposed, ListProps, LoadingEmits, LoadingExposed, LoadingProps, LoadingType, MenuEmits, MenuExposed, MenuItem, MenuProps, Message, _default as MessageConfirm, MessageConfirmEmits, MessageConfirmExposed, MessageConfirmProps, MessageEmits, MessageExposed, MessageInstance, MessageOptions, MessageProps, MessageType, ModelData, ModelRules, MultiAutoCompleteEmits, MultiAutoCompleteExposed, MultiAutoCompleteProps, MultiSelectEmits, MultiSelectExposed, MultiSelectProps, MultiTreeSelectEmits, MultiTreeSelectExposed, MultiTreeSelectProps, NestedFieldMarker, NodeRenderExposed, NodeRenderProps, Notification, NotificationEmits, NotificationExposed, NotificationProps, NumberEmits, NumberExposed, NumberInputEmits, NumberInputExposed, NumberInputProps, NumberProps, NumberRangeInputEmits, NumberRangeInputExposed, NumberRangeInputProps, NumberRangeTuple, PaginatorEmits, PaginatorExposed, PaginatorProps, PaletteColorType, PaletteEmits, PaletteExposed, PaletteHSV, PaletteProps, PaletteRGB, PanelItem, PanelType, PasswordInputEmits, PasswordInputExposed, PasswordInputProps, PopConfirmEmits, PopConfirmExposed, PopConfirmProps, PopEmits, PopExposed, PopProps, ProgressEmits, ProgressExposed, ProgressNodesEmits, ProgressNodesExposed, ProgressNodesProps, ProgressProps, QuickBatchEditEmits, QuickBatchEditExposed, QuickBatchEditProps, RadioEmits, RadioExposed, RadioGroupEmits, RadioGroupExposed, RadioGroupProps, RadioProps, RichTextEditorEmits, RichTextEditorExposed, RichTextEditorProps, RichTextFormat, ScrollEmits, ScrollExposed, ScrollPosition, ScrollProps, SelectEmits, SelectExposed, SelectProps, SliderEmits, SliderExposed, SliderProps, StepsEmits, StepsExposed, StepsProps, StepsSlotScope, SwitchEmits, SwitchExposed, SwitchProps, TabItem, TableColumn, TableColumnAlign, TableColumnNode, TableColumnRenderContext, TableColumnSlotsScope, TableEditorEmits, TableEditorExposed, TableEditorProps, TableEmits, TableExposed, TableProps, TableRow, TableRowSlotsScope, TableSummaryContext, TabsEmits, TabsExposed, TabsHorizontalEmits, TabsHorizontalExposed, TabsHorizontalProps, TabsProps, TabsVerticalEmits, TabsVerticalExposed, TabsVerticalProps, TagEmits, TagExposed, TagProps, TextEditorEmits, TextEditorExposed, TextEditorProps, TextEmits, TextExposed, TextProps, TextareaEmits, TextareaExposed, TextareaProps, ThemeExposed, ThemeProps, TipAlign, TipDirection, TipEmits, TipExposed, TipProps, ToolbarItem, TreeEmit, TreeExposed, TreeNode, TreeNodeProps, TreeProps, TreeSelectEmits, TreeSelectExposed, TreeSelectProps, _default$1 as UAction, _default$2 as UActionGroup, _default$3 as UAutoComplete, _default$4 as UBadge, _default$5 as UBatchEdit, _default$6 as UBreadcrumb, _default$7 as UButton, _default$8 as UButtonGroup, _default$9 as UCalendar, _default$10 as UCard, _default$11 as UCardAction, _default$12 as UCardContent, _default$13 as UCardCover, _default$14 as UCardHeader, _default$15 as UCascade, _default$16 as UCheckTag, _default$17 as UCheckbox, _default$18 as UCheckboxButton, _default$19 as UCheckboxGroup, _default$20 as UCodeEditor, _default$21 as UCollapse, _default$22 as UCollapseItem, _default$23 as UConditionEditor, _default$24 as UContextmenu, _default$25 as UDatePanel, _default$26 as UDatePicker, _default$27 as UDateRangePicker, _default$28 as UDialog, _default$29 as UDrawer, _default$30 as UDropdown, _default$31 as UEmpty, _default$32 as UExpressionEditor, _default$33 as UFilePicker, _default$34 as UFileViewer, _default$35 as UFloatButton, _default$36 as UForm, _default$37 as UFormItem, _default$38 as UGanttChart, _default$39 as UGrid, _default$40 as UGridInput, _default$41 as UGridItem, _default$42 as UGroupInput, _default$43 as UIcon, _default$44 as UInput, _default$45 as UKbd, _default$46 as ULayout, _default$47 as UList, _default$48 as UListItem, _default$49 as ULoading, _default$50 as UMenu, _default$51 as UMenuItem, _default$52 as UMenuSub, _default$53 as UMessage, _default$54 as UMessageConfirm, _default$55 as UMultiSelect, _default$56 as UMultiTreeSelect, NodeRender as UNodeRender, _default$57 as UNotification, _default$58 as UNumber, _default$59 as UNumberInput, _default$60 as UNumberRangeInput, _default$61 as UPaginator, _default$62 as UPalette, _default$63 as UPasswordInput, _default$64 as UPopConfirm, _default$65 as UProgress, _default$66 as UProgressNodes, _default$67 as URadio, _default$68 as URadioGroup, _default$69 as URichTextEditor, _default$70 as UScroll, _default$71 as USelect, _default$72 as USlider, _default$73 as USteps, _default$74 as USwitch, _default$75 as UTable, _default$76 as UTableEditor, _default$77 as UTabs, _default$78 as UTabsHorizontal, _default$79 as UTabsVertical, _default$80 as UTag, _default$81 as UText, _default$82 as UTextarea, _default$83 as UTheme, _default$84 as UTip, _default$85 as UTree, _default$86 as UTreeSelect, _default$87 as UWatermark, UploaderEmits, UploaderExposed, UploaderProps, VariableItem, WatermarkEmits, WatermarkExposed, WatermarkProps, _ActionExposed, _ActionGroupExposed, _AnimationExposed, _AutoCompleteExposed, _BadgeExposed, _BatchEditExposed, _BreadcrumbExposed, _ButtonExposed, _CalendarExposed, _CardExposed, _CascadeExposed, _CheckTagExposed, _CodeEditorExposed, _ConditionEditorExposed, _ContextmenuExposed, _CssTransitionExposed, _DatePickerExposed, _DateRangePickerExposed, _DialogExposed, _DrawerExposed, _DropdownExposed, _EmptyExposed, _ExpressionEditorExposed, _FileViewerExposed, _FloatButtonExposed, _FormExposed, _GanttChartExposed, _GridExposed, _GridInputExposed, _GroupInputExposed, _InputExposed, _LayoutExposed, _ListExposed, _LoadingExposed, _MenuExposed, _MessageConfirmExposed, _MessageExposed, _MultiAutoCompleteExposed, _MultiSelectExposed, _MultiTreeSelectExposed, _NotificationExposed, _PaginatorExposed, _PaletteExposed, _PasswordInputExposed, _PopConfirmExposed, _PopExposed, _ProgressExposed, _ProgressNodesExposed, _QuickBatchEditExposed, _RadioExposed, _RadioGroupExposed, _RichTextEditorExposed, _ScrollExposed, _SelectExposed, _SliderExposed, _StepsExposed, _SwitchExposed, _TableEditorExposed, _TableExposed, _TabsExposed, _TabsHorizontalExposed, _TabsVerticalExposed, _TextEditorExposed, _TextExposed, _TextareaExposed, _ThemeExposed, _TipExposed, _TreeExposed, _TreeSelectExposed, _UploaderExposed, _WatermarkExposed, contextmenu, createEmptyGroup, createEmptyLeaf, defineBatchEditColumns, defineTableColumns, evaluate as evaluateConditionExpression, formField, message, nestField, vLoading };
185
185
  }
186
186
  //#endregion
187
- export { type ActionEmits, type ActionExposed, type ActionGroupExposed, type ActionGroupProps, type ActionProps, type AllKeys, type AnimationEmits, type AnimationExposed, type AnimationProps, type AutoCompleteEmits, type AutoCompleteExposed, type AutoCompleteProps, type BadgeEmits, type BadgeExposed, type BadgeProps, type BarType, type BatchEditColumn, type BatchEditEmits, type BatchEditExposed, type BatchEditFeature, type BatchEditProps, type BreadcrumbEmits, type BreadcrumbExposed, type BreadcrumbItem, type BreadcrumbProps, type BreadcrumbSlotScope, type BreakCols, type Breakpoint, type ButtonEmits, type ButtonExposed, type ButtonProps, type ButtonType, type CalendarDay, type CalendarEmits, type CalendarExposed, type CalendarMonth, type CalendarProps, type CalendarYear, type CardActionProps, type CardContentProps, type CardCoverProps, type CardEmits, type CardExposed, type CardProps, type CascadeEmits, type CascadeExposed, type CascadeNode, type CascadeProps, type CheckTagEmits, type CheckTagExposed, type CheckTagProps, type CheckboxButtonEmits, type CheckboxButtonProps, type CheckboxEmits, type CheckboxExposed, type CheckboxGroupEmits, type CheckboxGroupExposed, type CheckboxGroupProps, type CheckboxProps, type CodeEditorEmits, type CodeEditorExposed, type CodeEditorLang, type CodeEditorProps, type CollapseEmits, type CollapseItemProps, type CollapseModelValue, type CollapseProps, type CollapseValue, type ConditionConnector, type ConditionEditorEmits, type ConditionEditorExposed, type ConditionEditorProps, type EvaluateOptions as ConditionEvaluateOptions, type ConditionExpression, type ConditionField, type ConditionGroup, type ConditionLeaf, type ConditionNode, type ConditionValue, type ContextMenuEmits, type ContextMenuExposed, type ContextMenuItem, type ContextMenuProps, type CssTransitionEmits, type CssTransitionExposed, type CssTransitionProps, type DataSettingConfig, type DatePanelEmits, type DatePanelProps, type DatePickerEmits, type DatePickerExposed, type DatePickerProps, type DateRangePickerEmits, type DateRangePickerExposed, type DateRangePickerProps, type DialogEmits, type DialogExposed, type DialogProps, type DrawerDirection, type DrawerEmits, type DrawerExposed, type DrawerMode, type DrawerProps, type DropdownEmits, type DropdownExposed, type DropdownProps, DynamicFormModel, type EmptyEmits, type EmptyExposed, type EmptyProps, type ExpressionEditorEmits, type ExpressionEditorExposed, type ExpressionEditorProps, type ExpressionSelectableLevels, type FileViewerEmits, type FileViewerExposed, type FileViewerItem, type FileViewerKind, type FileViewerProps, type FloatButtonEmits, type FloatButtonExposed, type FloatButtonItem, type FloatButtonProps, type FormExposed, type FormItemEmits, type FormItemExposed, type FormItemProps, FormModel, type FormModelField, type FormModelItem, type FormProps, type GanttChartEmits, type GanttChartExposed, type GanttChartProps, type GridEmits, type GridExposed, type GridInputEmits, type GridInputExposed, type GridInputProps, type GridItemProps, type GridProps, type GroupInputEmits, type GroupInputExposed, type GroupInputProps, type IFormModel, type IconEmits, type IconExposed, type IconProps, type InputEmits, type InputExposed, type InputProps, type LayoutEmits, type LayoutExposed, type LayoutProps, type ListEmits, type ListExposed, type ListProps, type LoadingEmits, type LoadingExposed, type LoadingProps, type LoadingType, type MenuEmits, type MenuExposed, type MenuItem, type MenuProps, type Message, _default as MessageConfirm, type MessageConfirmEmits, type MessageConfirmExposed, type MessageConfirmProps, type MessageEmits, type MessageExposed, type MessageInstance, type MessageOptions, type MessageProps, type MessageType, type ModelData, type ModelRules, type MultiAutoCompleteEmits, type MultiAutoCompleteExposed, type MultiAutoCompleteProps, type MultiSelectEmits, type MultiSelectExposed, type MultiSelectProps, type MultiTreeSelectEmits, type MultiTreeSelectExposed, type MultiTreeSelectProps, type NestedFieldMarker, type NodeRenderExposed, type NodeRenderProps, Notification, type NotificationEmits, type NotificationExposed, type NotificationProps, type NumberEmits, type NumberExposed, type NumberInputEmits, type NumberInputExposed, type NumberInputProps, type NumberProps, type NumberRangeInputEmits, type NumberRangeInputExposed, type NumberRangeInputProps, type NumberRangeTuple, type PaginatorEmits, type PaginatorExposed, type PaginatorProps, type PaletteColorType, type PaletteEmits, type PaletteExposed, type PaletteHSV, type PaletteProps, type PaletteRGB, type PanelItem, type PanelType, type PasswordInputEmits, type PasswordInputExposed, type PasswordInputProps, type PopConfirmEmits, type PopConfirmExposed, type PopConfirmProps, type PopEmits, type PopExposed, type PopProps, type ProgressEmits, type ProgressExposed, type ProgressNodesEmits, type ProgressNodesExposed, type ProgressNodesProps, type ProgressProps, type QuickBatchEditEmits, type QuickBatchEditExposed, type QuickBatchEditProps, type RadioEmits, type RadioExposed, type RadioGroupEmits, type RadioGroupExposed, type RadioGroupProps, type RadioProps, type RichTextEditorEmits, type RichTextEditorExposed, type RichTextEditorProps, type RichTextFormat, type ScrollEmits, type ScrollExposed, type ScrollPosition, type ScrollProps, type SelectEmits, type SelectExposed, type SelectProps, type SliderEmits, type SliderExposed, type SliderProps, type StepsEmits, type StepsExposed, type StepsProps, type StepsSlotScope, type SwitchEmits, type SwitchExposed, type SwitchProps, type TabItem, type TableColumn, type TableColumnAlign, type TableColumnNode, type TableColumnRenderContext, type TableColumnSlotsScope, type TableEditorEmits, type TableEditorExposed, type TableEditorProps, type TableEmits, type TableExposed, type TableProps, type TableRow, type TableRowSlotsScope, type TableSummaryContext, type TabsEmits, type TabsExposed, type TabsHorizontalEmits, type TabsHorizontalExposed, type TabsHorizontalProps, type TabsProps, type TabsVerticalEmits, type TabsVerticalExposed, type TabsVerticalProps, type TagEmits, type TagExposed, type TagProps, type TextEditorEmits, type TextEditorExposed, type TextEditorProps, type TextEmits, type TextExposed, type TextProps, type TextareaEmits, type TextareaExposed, type TextareaProps, type ThemeExposed, type ThemeProps, type TipAlign, type TipDirection, type TipEmits, type TipExposed, type TipProps, type ToolbarItem, type TreeEmit, type TreeExposed, type TreeNode, type TreeNodeProps, type TreeProps, type TreeSelectEmits, type TreeSelectExposed, type TreeSelectProps, _default$1 as UAction, _default$2 as UActionGroup, _default$3 as UAutoComplete, _default$4 as UBadge, _default$5 as UBatchEdit, _default$6 as UBreadcrumb, _default$7 as UButton, _default$8 as UButtonGroup, _default$9 as UCalendar, _default$10 as UCard, _default$11 as UCardAction, _default$12 as UCardContent, _default$13 as UCardCover, _default$14 as UCardHeader, _default$15 as UCascade, _default$16 as UCheckTag, _default$17 as UCheckbox, _default$18 as UCheckboxButton, _default$19 as UCheckboxGroup, _default$20 as UCodeEditor, _default$21 as UCollapse, _default$22 as UCollapseItem, _default$23 as UConditionEditor, _default$24 as UContextMenu, _default$25 as UDatePanel, _default$26 as UDatePicker, _default$27 as UDateRangePicker, _default$28 as UDialog, _default$29 as UDrawer, _default$30 as UDropdown, _default$31 as UEmpty, _default$32 as UExpressionEditor, _default$33 as UFilePicker, _default$34 as UFileViewer, _default$35 as UFloatButton, _default$36 as UForm, _default$37 as UFormItem, _default$38 as UGanttChart, _default$39 as UGrid, _default$40 as UGridInput, _default$41 as UGridItem, _default$42 as UGroupInput, _default$43 as UIcon, _default$44 as UInput, _default$45 as UKbd, _default$46 as ULayout, _default$47 as UList, _default$48 as UListItem, _default$49 as ULoading, _default$50 as UMenu, _default$51 as UMenuItem, _default$52 as UMenuSub, _default$53 as UMessage, _default$54 as UMessageConfirm, _default$55 as UMultiSelect, _default$56 as UMultiTreeSelect, NodeRender as UNodeRender, _default$57 as UNotification, _default$58 as UNumber, _default$59 as UNumberInput, _default$60 as UNumberRangeInput, _default$61 as UPaginator, _default$62 as UPalette, _default$63 as UPasswordInput, _default$64 as UPopConfirm, _default$65 as UProgress, _default$66 as UProgressNodes, _default$67 as URadio, _default$68 as URadioGroup, _default$69 as URichTextEditor, _default$70 as UScroll, _default$71 as USelect, _default$72 as USlider, _default$73 as USteps, _default$74 as USwitch, _default$75 as UTable, _default$76 as UTableEditor, _default$77 as UTabs, _default$78 as UTabsHorizontal, _default$79 as UTabsVertical, _default$80 as UTag, _default$81 as UText, _default$82 as UTextarea, _default$83 as UTheme, _default$84 as UTip, _default$85 as UTree, _default$86 as UTreeSelect, _default$87 as UWatermark, type UploaderEmits, type UploaderExposed, type UploaderProps, type VariableItem, type WatermarkEmits, type WatermarkExposed, type WatermarkProps, type _ActionExposed, type _ActionGroupExposed, type _AnimationExposed, type _AutoCompleteExposed, type _BadgeExposed, type _BatchEditExposed, type _BreadcrumbExposed, type _ButtonExposed, type _CalendarExposed, type _CardExposed, type _CascadeExposed, type _CheckTagExposed, type _CodeEditorExposed, type _ConditionEditorExposed, type _ContextMenuExposed, type _CssTransitionExposed, type _DatePickerExposed, type _DateRangePickerExposed, type _DialogExposed, type _DrawerExposed, type _DropdownExposed, type _EmptyExposed, type _ExpressionEditorExposed, type _FileViewerExposed, type _FloatButtonExposed, type _FormExposed, type _GanttChartExposed, type _GridExposed, type _GridInputExposed, type _GroupInputExposed, type _InputExposed, type _LayoutExposed, type _ListExposed, type _LoadingExposed, type _MenuExposed, type _MessageConfirmExposed, type _MessageExposed, type _MultiAutoCompleteExposed, type _MultiSelectExposed, type _MultiTreeSelectExposed, type _NotificationExposed, type _PaginatorExposed, type _PaletteExposed, type _PasswordInputExposed, type _PopConfirmExposed, type _PopExposed, type _ProgressExposed, type _ProgressNodesExposed, type _QuickBatchEditExposed, type _RadioExposed, type _RadioGroupExposed, type _RichTextEditorExposed, type _ScrollExposed, type _SelectExposed, type _SliderExposed, type _StepsExposed, type _SwitchExposed, type _TableEditorExposed, type _TableExposed, type _TabsExposed, type _TabsHorizontalExposed, type _TabsVerticalExposed, type _TextEditorExposed, type _TextExposed, type _TextareaExposed, type _ThemeExposed, type _TipExposed, type _TreeExposed, type _TreeSelectExposed, type _UploaderExposed, type _WatermarkExposed, contextmenu, createEmptyGroup, createEmptyLeaf, defineBatchEditColumns, defineTableColumns, evaluate as evaluateConditionExpression, formField, message, nestField, vLoading };
187
+ export { type ActionEmits, type ActionExposed, type ActionGroupExposed, type ActionGroupProps, type ActionProps, type AllKeys, type AnimationEmits, type AnimationExposed, type AnimationProps, type AutoCompleteEmits, type AutoCompleteExposed, type AutoCompleteProps, type BadgeEmits, type BadgeExposed, type BadgeProps, type BarType, type BatchEditColumn, type BatchEditEmits, type BatchEditExposed, type BatchEditFeature, type BatchEditProps, type BreadcrumbEmits, type BreadcrumbExposed, type BreadcrumbItem, type BreadcrumbProps, type BreadcrumbSlotScope, type BreakCols, type Breakpoint, type ButtonEmits, type ButtonExposed, type ButtonProps, type ButtonType, type CalendarDay, type CalendarEmits, type CalendarExposed, type CalendarMonth, type CalendarProps, type CalendarYear, type CardActionProps, type CardContentProps, type CardCoverProps, type CardEmits, type CardExposed, type CardProps, type CascadeEmits, type CascadeExposed, type CascadeNode, type CascadeProps, type CheckTagEmits, type CheckTagExposed, type CheckTagProps, type CheckboxButtonEmits, type CheckboxButtonProps, type CheckboxEmits, type CheckboxExposed, type CheckboxGroupEmits, type CheckboxGroupExposed, type CheckboxGroupProps, type CheckboxProps, type CodeEditorEmits, type CodeEditorExposed, type CodeEditorLang, type CodeEditorProps, type CollapseEmits, type CollapseItemProps, type CollapseModelValue, type CollapseProps, type CollapseValue, type ConditionConnector, type ConditionEditorEmits, type ConditionEditorExposed, type ConditionEditorProps, type EvaluateOptions as ConditionEvaluateOptions, type ConditionExpression, type ConditionField, type ConditionGroup, type ConditionLeaf, type ConditionNode, type ConditionValue, type ContextmenuEmits, type ContextmenuExposed, type ContextmenuItem, type ContextmenuProps, type CssTransitionEmits, type CssTransitionExposed, type CssTransitionProps, type DataSettingConfig, type DatePanelEmits, type DatePanelProps, type DatePickerEmits, type DatePickerExposed, type DatePickerProps, type DateRangePickerEmits, type DateRangePickerExposed, type DateRangePickerProps, type DialogEmits, type DialogExposed, type DialogProps, type DrawerDirection, type DrawerEmits, type DrawerExposed, type DrawerMode, type DrawerProps, type DropdownEmits, type DropdownExposed, type DropdownProps, DynamicFormModel, type EmptyEmits, type EmptyExposed, type EmptyProps, type ExpressionEditorEmits, type ExpressionEditorExposed, type ExpressionEditorProps, type ExpressionSelectableLevels, type FileViewerEmits, type FileViewerExposed, type FileViewerItem, type FileViewerKind, type FileViewerProps, type FloatButtonEmits, type FloatButtonExposed, type FloatButtonItem, type FloatButtonProps, type FormExposed, type FormItemEmits, type FormItemExposed, type FormItemProps, FormModel, type FormModelField, type FormModelItem, type FormProps, type GanttChartEmits, type GanttChartExposed, type GanttChartProps, type GridEmits, type GridExposed, type GridInputEmits, type GridInputExposed, type GridInputProps, type GridItemProps, type GridProps, type GroupInputEmits, type GroupInputExposed, type GroupInputProps, type IFormModel, type IconEmits, type IconExposed, type IconProps, type InputEmits, type InputExposed, type InputProps, type LayoutEmits, type LayoutExposed, type LayoutProps, type ListEmits, type ListExposed, type ListProps, type LoadingEmits, type LoadingExposed, type LoadingProps, type LoadingType, type MenuEmits, type MenuExposed, type MenuItem, type MenuProps, type Message, _default as MessageConfirm, type MessageConfirmEmits, type MessageConfirmExposed, type MessageConfirmProps, type MessageEmits, type MessageExposed, type MessageInstance, type MessageOptions, type MessageProps, type MessageType, type ModelData, type ModelRules, type MultiAutoCompleteEmits, type MultiAutoCompleteExposed, type MultiAutoCompleteProps, type MultiSelectEmits, type MultiSelectExposed, type MultiSelectProps, type MultiTreeSelectEmits, type MultiTreeSelectExposed, type MultiTreeSelectProps, type NestedFieldMarker, type NodeRenderExposed, type NodeRenderProps, Notification, type NotificationEmits, type NotificationExposed, type NotificationProps, type NumberEmits, type NumberExposed, type NumberInputEmits, type NumberInputExposed, type NumberInputProps, type NumberProps, type NumberRangeInputEmits, type NumberRangeInputExposed, type NumberRangeInputProps, type NumberRangeTuple, type PaginatorEmits, type PaginatorExposed, type PaginatorProps, type PaletteColorType, type PaletteEmits, type PaletteExposed, type PaletteHSV, type PaletteProps, type PaletteRGB, type PanelItem, type PanelType, type PasswordInputEmits, type PasswordInputExposed, type PasswordInputProps, type PopConfirmEmits, type PopConfirmExposed, type PopConfirmProps, type PopEmits, type PopExposed, type PopProps, type ProgressEmits, type ProgressExposed, type ProgressNodesEmits, type ProgressNodesExposed, type ProgressNodesProps, type ProgressProps, type QuickBatchEditEmits, type QuickBatchEditExposed, type QuickBatchEditProps, type RadioEmits, type RadioExposed, type RadioGroupEmits, type RadioGroupExposed, type RadioGroupProps, type RadioProps, type RichTextEditorEmits, type RichTextEditorExposed, type RichTextEditorProps, type RichTextFormat, type ScrollEmits, type ScrollExposed, type ScrollPosition, type ScrollProps, type SelectEmits, type SelectExposed, type SelectProps, type SliderEmits, type SliderExposed, type SliderProps, type StepsEmits, type StepsExposed, type StepsProps, type StepsSlotScope, type SwitchEmits, type SwitchExposed, type SwitchProps, type TabItem, type TableColumn, type TableColumnAlign, type TableColumnNode, type TableColumnRenderContext, type TableColumnSlotsScope, type TableEditorEmits, type TableEditorExposed, type TableEditorProps, type TableEmits, type TableExposed, type TableProps, type TableRow, type TableRowSlotsScope, type TableSummaryContext, type TabsEmits, type TabsExposed, type TabsHorizontalEmits, type TabsHorizontalExposed, type TabsHorizontalProps, type TabsProps, type TabsVerticalEmits, type TabsVerticalExposed, type TabsVerticalProps, type TagEmits, type TagExposed, type TagProps, type TextEditorEmits, type TextEditorExposed, type TextEditorProps, type TextEmits, type TextExposed, type TextProps, type TextareaEmits, type TextareaExposed, type TextareaProps, type ThemeExposed, type ThemeProps, type TipAlign, type TipDirection, type TipEmits, type TipExposed, type TipProps, type ToolbarItem, type TreeEmit, type TreeExposed, type TreeNode, type TreeNodeProps, type TreeProps, type TreeSelectEmits, type TreeSelectExposed, type TreeSelectProps, _default$1 as UAction, _default$2 as UActionGroup, _default$3 as UAutoComplete, _default$4 as UBadge, _default$5 as UBatchEdit, _default$6 as UBreadcrumb, _default$7 as UButton, _default$8 as UButtonGroup, _default$9 as UCalendar, _default$10 as UCard, _default$11 as UCardAction, _default$12 as UCardContent, _default$13 as UCardCover, _default$14 as UCardHeader, _default$15 as UCascade, _default$16 as UCheckTag, _default$17 as UCheckbox, _default$18 as UCheckboxButton, _default$19 as UCheckboxGroup, _default$20 as UCodeEditor, _default$21 as UCollapse, _default$22 as UCollapseItem, _default$23 as UConditionEditor, _default$24 as UContextmenu, _default$25 as UDatePanel, _default$26 as UDatePicker, _default$27 as UDateRangePicker, _default$28 as UDialog, _default$29 as UDrawer, _default$30 as UDropdown, _default$31 as UEmpty, _default$32 as UExpressionEditor, _default$33 as UFilePicker, _default$34 as UFileViewer, _default$35 as UFloatButton, _default$36 as UForm, _default$37 as UFormItem, _default$38 as UGanttChart, _default$39 as UGrid, _default$40 as UGridInput, _default$41 as UGridItem, _default$42 as UGroupInput, _default$43 as UIcon, _default$44 as UInput, _default$45 as UKbd, _default$46 as ULayout, _default$47 as UList, _default$48 as UListItem, _default$49 as ULoading, _default$50 as UMenu, _default$51 as UMenuItem, _default$52 as UMenuSub, _default$53 as UMessage, _default$54 as UMessageConfirm, _default$55 as UMultiSelect, _default$56 as UMultiTreeSelect, NodeRender as UNodeRender, _default$57 as UNotification, _default$58 as UNumber, _default$59 as UNumberInput, _default$60 as UNumberRangeInput, _default$61 as UPaginator, _default$62 as UPalette, _default$63 as UPasswordInput, _default$64 as UPopConfirm, _default$65 as UProgress, _default$66 as UProgressNodes, _default$67 as URadio, _default$68 as URadioGroup, _default$69 as URichTextEditor, _default$70 as UScroll, _default$71 as USelect, _default$72 as USlider, _default$73 as USteps, _default$74 as USwitch, _default$75 as UTable, _default$76 as UTableEditor, _default$77 as UTabs, _default$78 as UTabsHorizontal, _default$79 as UTabsVertical, _default$80 as UTag, _default$81 as UText, _default$82 as UTextarea, _default$83 as UTheme, _default$84 as UTip, _default$85 as UTree, _default$86 as UTreeSelect, _default$87 as UWatermark, type UploaderEmits, type UploaderExposed, type UploaderProps, type VariableItem, type WatermarkEmits, type WatermarkExposed, type WatermarkProps, type _ActionExposed, type _ActionGroupExposed, type _AnimationExposed, type _AutoCompleteExposed, type _BadgeExposed, type _BatchEditExposed, type _BreadcrumbExposed, type _ButtonExposed, type _CalendarExposed, type _CardExposed, type _CascadeExposed, type _CheckTagExposed, type _CodeEditorExposed, type _ConditionEditorExposed, type _ContextmenuExposed, type _CssTransitionExposed, type _DatePickerExposed, type _DateRangePickerExposed, type _DialogExposed, type _DrawerExposed, type _DropdownExposed, type _EmptyExposed, type _ExpressionEditorExposed, type _FileViewerExposed, type _FloatButtonExposed, type _FormExposed, type _GanttChartExposed, type _GridExposed, type _GridInputExposed, type _GroupInputExposed, type _InputExposed, type _LayoutExposed, type _ListExposed, type _LoadingExposed, type _MenuExposed, type _MessageConfirmExposed, type _MessageExposed, type _MultiAutoCompleteExposed, type _MultiSelectExposed, type _MultiTreeSelectExposed, type _NotificationExposed, type _PaginatorExposed, type _PaletteExposed, type _PasswordInputExposed, type _PopConfirmExposed, type _PopExposed, type _ProgressExposed, type _ProgressNodesExposed, type _QuickBatchEditExposed, type _RadioExposed, type _RadioGroupExposed, type _RichTextEditorExposed, type _ScrollExposed, type _SelectExposed, type _SliderExposed, type _StepsExposed, type _SwitchExposed, type _TableEditorExposed, type _TableExposed, type _TabsExposed, type _TabsHorizontalExposed, type _TabsVerticalExposed, type _TextEditorExposed, type _TextExposed, type _TextareaExposed, type _ThemeExposed, type _TipExposed, type _TreeExposed, type _TreeSelectExposed, type _UploaderExposed, type _WatermarkExposed, contextmenu, createEmptyGroup, createEmptyLeaf, defineBatchEditColumns, defineTableColumns, evaluate as evaluateConditionExpression, formField, message, nestField, vLoading };
188
188
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -60,8 +60,8 @@ import { defineTableColumns } from "./components/table/use-columns.js";
60
60
  import _sfc_main$70 from "./components/table/table.js";
61
61
  import _sfc_main$71 from "./components/table-editor/table-editor.js";
62
62
  import _sfc_main$14 from "./components/check-tag/check-tag.js";
63
- import _sfc_main$22 from "./components/context-menu/context-menu.js";
64
- import { contextmenu } from "./components/context-menu/api.js";
63
+ import _sfc_main$22 from "./components/contextmenu/contextmenu.js";
64
+ import { contextmenu } from "./components/contextmenu/api.js";
65
65
  import _sfc_main$58 from "./components/password-input/password-input.js";
66
66
  import _sfc_main$53 from "./components/number/number.js";
67
67
  import _sfc_main$26 from "./components/dialog/dialog.js";
@@ -97,4 +97,4 @@ import _sfc_main$4 from "./components/breadcrumb/breadcrumb.js";
97
97
  import _sfc_main$56 from "./components/paginator/paginator.js";
98
98
  import _sfc_main$33 from "./components/float-button/float-button.js";
99
99
  import _sfc_main$2 from "./components/badge/badge.js";
100
- export { DynamicFormModel, FormModel, MessageConfirm, Notification, _sfc_main as UAction, action_group_default as UActionGroup, _sfc_main$1 as UAutoComplete, _sfc_main$2 as UBadge, _sfc_main$3 as UBatchEdit, _sfc_main$4 as UBreadcrumb, _sfc_main$5 as UButton, _sfc_main$6 as UButtonGroup, _sfc_main$7 as UCalendar, _sfc_main$8 as UCard, _sfc_main$9 as UCardAction, _sfc_main$10 as UCardContent, _sfc_main$11 as UCardCover, _sfc_main$12 as UCardHeader, _sfc_main$13 as UCascade, _sfc_main$14 as UCheckTag, _sfc_main$15 as UCheckbox, _sfc_main$16 as UCheckboxButton, _sfc_main$17 as UCheckboxGroup, _sfc_main$18 as UCodeEditor, _sfc_main$19 as UCollapse, _sfc_main$20 as UCollapseItem, _sfc_main$21 as UConditionEditor, _sfc_main$22 as UContextMenu, _sfc_main$23 as UDatePanel, _sfc_main$24 as UDatePicker, _sfc_main$25 as UDateRangePicker, _sfc_main$26 as UDialog, _sfc_main$27 as UDrawer, _sfc_main$28 as UDropdown, _sfc_main$29 as UEmpty, _sfc_main$30 as UExpressionEditor, _sfc_main$31 as UFilePicker, _sfc_main$32 as UFileViewer, _sfc_main$33 as UFloatButton, form_default as UForm, form_item_default as UFormItem, _sfc_main$34 as UGanttChart, _sfc_main$35 as UGrid, _sfc_main$36 as UGridInput, _sfc_main$37 as UGridItem, _sfc_main$38 as UGroupInput, _sfc_main$39 as UIcon, input_default as UInput, _sfc_main$40 as UKbd, _sfc_main$41 as ULayout, _sfc_main$42 as UList, _sfc_main$43 as UListItem, _sfc_main$44 as ULoading, _sfc_main$45 as UMenu, _sfc_main$46 as UMenuItem, _sfc_main$47 as UMenuSub, _sfc_main$48 as UMessage, _sfc_main$49 as UMessageConfirm, _sfc_main$50 as UMultiSelect, _sfc_main$51 as UMultiTreeSelect, NodeRender as UNodeRender, _sfc_main$52 as UNotification, _sfc_main$53 as UNumber, _sfc_main$54 as UNumberInput, _sfc_main$55 as UNumberRangeInput, _sfc_main$56 as UPaginator, _sfc_main$57 as UPalette, _sfc_main$58 as UPasswordInput, _sfc_main$59 as UPopConfirm, _sfc_main$60 as UProgress, _sfc_main$61 as UProgressNodes, _sfc_main$62 as URadio, _sfc_main$63 as URadioGroup, _sfc_main$64 as URichTextEditor, _sfc_main$65 as UScroll, _sfc_main$66 as USelect, _sfc_main$67 as USlider, _sfc_main$68 as USteps, _sfc_main$69 as USwitch, _sfc_main$70 as UTable, _sfc_main$71 as UTableEditor, _sfc_main$72 as UTabs, _sfc_main$73 as UTabsHorizontal, _sfc_main$74 as UTabsVertical, _sfc_main$75 as UTag, _sfc_main$76 as UText, _sfc_main$77 as UTextarea, _sfc_main$78 as UTheme, _sfc_main$79 as UTip, _sfc_main$80 as UTree, _sfc_main$81 as UTreeSelect, _sfc_main$82 as UWatermark, contextmenu, createEmptyGroup, createEmptyLeaf, defineBatchEditColumns, defineTableColumns, evaluate as evaluateConditionExpression, formField, message, nestField, vLoading };
100
+ export { DynamicFormModel, FormModel, MessageConfirm, Notification, _sfc_main as UAction, action_group_default as UActionGroup, _sfc_main$1 as UAutoComplete, _sfc_main$2 as UBadge, _sfc_main$3 as UBatchEdit, _sfc_main$4 as UBreadcrumb, _sfc_main$5 as UButton, _sfc_main$6 as UButtonGroup, _sfc_main$7 as UCalendar, _sfc_main$8 as UCard, _sfc_main$9 as UCardAction, _sfc_main$10 as UCardContent, _sfc_main$11 as UCardCover, _sfc_main$12 as UCardHeader, _sfc_main$13 as UCascade, _sfc_main$14 as UCheckTag, _sfc_main$15 as UCheckbox, _sfc_main$16 as UCheckboxButton, _sfc_main$17 as UCheckboxGroup, _sfc_main$18 as UCodeEditor, _sfc_main$19 as UCollapse, _sfc_main$20 as UCollapseItem, _sfc_main$21 as UConditionEditor, _sfc_main$22 as UContextmenu, _sfc_main$23 as UDatePanel, _sfc_main$24 as UDatePicker, _sfc_main$25 as UDateRangePicker, _sfc_main$26 as UDialog, _sfc_main$27 as UDrawer, _sfc_main$28 as UDropdown, _sfc_main$29 as UEmpty, _sfc_main$30 as UExpressionEditor, _sfc_main$31 as UFilePicker, _sfc_main$32 as UFileViewer, _sfc_main$33 as UFloatButton, form_default as UForm, form_item_default as UFormItem, _sfc_main$34 as UGanttChart, _sfc_main$35 as UGrid, _sfc_main$36 as UGridInput, _sfc_main$37 as UGridItem, _sfc_main$38 as UGroupInput, _sfc_main$39 as UIcon, input_default as UInput, _sfc_main$40 as UKbd, _sfc_main$41 as ULayout, _sfc_main$42 as UList, _sfc_main$43 as UListItem, _sfc_main$44 as ULoading, _sfc_main$45 as UMenu, _sfc_main$46 as UMenuItem, _sfc_main$47 as UMenuSub, _sfc_main$48 as UMessage, _sfc_main$49 as UMessageConfirm, _sfc_main$50 as UMultiSelect, _sfc_main$51 as UMultiTreeSelect, NodeRender as UNodeRender, _sfc_main$52 as UNotification, _sfc_main$53 as UNumber, _sfc_main$54 as UNumberInput, _sfc_main$55 as UNumberRangeInput, _sfc_main$56 as UPaginator, _sfc_main$57 as UPalette, _sfc_main$58 as UPasswordInput, _sfc_main$59 as UPopConfirm, _sfc_main$60 as UProgress, _sfc_main$61 as UProgressNodes, _sfc_main$62 as URadio, _sfc_main$63 as URadioGroup, _sfc_main$64 as URichTextEditor, _sfc_main$65 as UScroll, _sfc_main$66 as USelect, _sfc_main$67 as USlider, _sfc_main$68 as USteps, _sfc_main$69 as USwitch, _sfc_main$70 as UTable, _sfc_main$71 as UTableEditor, _sfc_main$72 as UTabs, _sfc_main$73 as UTabsHorizontal, _sfc_main$74 as UTabsVertical, _sfc_main$75 as UTag, _sfc_main$76 as UText, _sfc_main$77 as UTextarea, _sfc_main$78 as UTheme, _sfc_main$79 as UTip, _sfc_main$80 as UTree, _sfc_main$81 as UTreeSelect, _sfc_main$82 as UWatermark, contextmenu, createEmptyGroup, createEmptyLeaf, defineBatchEditColumns, defineTableColumns, evaluate as evaluateConditionExpression, formField, message, nestField, vLoading };