@robot-admin/naive-ui-components 0.20.0 → 0.21.0

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 (178) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +5 -5
  3. package/README_EN.md +5 -5
  4. package/SECURITY.md +39 -0
  5. package/dist/C_AntV.css +31 -31
  6. package/dist/C_AntV2.cjs +1 -1
  7. package/dist/C_AntV2.js +1 -1
  8. package/dist/C_Chat.css +90 -90
  9. package/dist/C_Chat2.cjs +1 -1
  10. package/dist/C_Chat2.js +1 -1
  11. package/dist/C_CollapsePanel2.cjs +1 -1
  12. package/dist/C_CollapsePanel2.js +1 -1
  13. package/dist/C_Draggable.css +53 -53
  14. package/dist/C_Draggable2.cjs +1 -1
  15. package/dist/C_Draggable2.js +1 -1
  16. package/dist/C_FilePreview.css +98 -98
  17. package/dist/C_FilePreview.d.cts +2 -2
  18. package/dist/C_FilePreview.d.ts +2 -2
  19. package/dist/C_FilePreview2.cjs +1 -1
  20. package/dist/C_FilePreview2.js +1 -1
  21. package/dist/C_Form.base.css +9 -9
  22. package/dist/C_Form.css +9 -9
  23. package/dist/C_FormSearch.css +52 -52
  24. package/dist/C_FormSearch2.cjs +1 -1
  25. package/dist/C_FormSearch2.js +1 -1
  26. package/dist/C_Language.css +2 -2
  27. package/dist/C_Language2.cjs +1 -1
  28. package/dist/C_Language2.js +1 -1
  29. package/dist/C_Login.css +79 -79
  30. package/dist/C_Login2.cjs +1 -1
  31. package/dist/C_Login2.js +1 -1
  32. package/dist/C_Menu.css +1 -1
  33. package/dist/C_Menu.d.cts +2 -2
  34. package/dist/C_Menu.d.ts +2 -2
  35. package/dist/C_Menu2.cjs +1 -1
  36. package/dist/C_Menu2.js +1 -1
  37. package/dist/C_NotificationCenter.css +124 -124
  38. package/dist/C_NotificationCenter.d.cts +2 -2
  39. package/dist/C_NotificationCenter.d.ts +2 -2
  40. package/dist/C_NotificationCenter2.cjs +1 -1
  41. package/dist/C_NotificationCenter2.js +1 -1
  42. package/dist/C_Skeleton.css +2 -2
  43. package/dist/C_Skeleton2.cjs +1 -1
  44. package/dist/C_Skeleton2.js +1 -1
  45. package/dist/C_SplitPane.css +66 -66
  46. package/dist/C_SplitPane2.cjs +1 -1
  47. package/dist/C_SplitPane2.js +1 -1
  48. package/dist/C_Table.base.css +9 -9
  49. package/dist/C_Table.css +9 -9
  50. package/dist/C_Table.d.ts +1 -0
  51. package/dist/C_Theme2.cjs +1 -1
  52. package/dist/C_Theme2.js +1 -1
  53. package/dist/C_Timeline.css +46 -46
  54. package/dist/C_Timeline2.cjs +1 -1
  55. package/dist/C_Timeline2.js +1 -1
  56. package/dist/C_Transfer.css +26 -26
  57. package/dist/C_Transfer2.cjs +1 -1
  58. package/dist/C_Transfer2.js +1 -1
  59. package/dist/C_Tree.css +23 -23
  60. package/dist/C_Tree.d.ts +1 -0
  61. package/dist/C_Tree2.cjs +1 -1
  62. package/dist/C_Tree2.js +1 -1
  63. package/dist/C_Upload2.cjs +1 -1
  64. package/dist/C_Upload2.js +1 -1
  65. package/dist/C_VideoPlayer.d.cts +2 -2
  66. package/dist/C_VideoPlayer.d.ts +2 -2
  67. package/dist/C_VideoPlayer2.cjs +2 -2
  68. package/dist/C_VideoPlayer2.js +2 -2
  69. package/dist/C_WaterFall.css +31 -29
  70. package/dist/C_WaterFall2.cjs +1 -1
  71. package/dist/C_WaterFall2.js +1 -1
  72. package/dist/C_WorkFlow.css +111 -111
  73. package/dist/C_WorkFlow2.cjs +1 -1
  74. package/dist/C_WorkFlow2.js +1 -1
  75. package/dist/config.cjs +1 -0
  76. package/dist/config.d.cts +8 -0
  77. package/dist/config.d.ts +8 -0
  78. package/dist/config.js +1 -0
  79. package/dist/constants3.d.cts +34 -11
  80. package/dist/constants3.d.ts +34 -11
  81. package/dist/constants4.d.cts +20 -9
  82. package/dist/constants4.d.ts +20 -9
  83. package/dist/constants5.d.cts +22 -18
  84. package/dist/constants5.d.ts +22 -18
  85. package/dist/data.d.cts +8 -8
  86. package/dist/data.d.ts +8 -8
  87. package/dist/dateRange.d.cts +2 -0
  88. package/dist/dateRange.d.ts +2 -0
  89. package/dist/feedback.cjs +1 -1
  90. package/dist/feedback.js +1 -1
  91. package/dist/helpers.cjs +1 -1
  92. package/dist/helpers.js +1 -1
  93. package/dist/index.cjs +1 -1
  94. package/dist/index.d.cts +7 -6
  95. package/dist/index.d.ts +8 -6
  96. package/dist/index.js +1 -1
  97. package/dist/index.vue.d.cts +6 -6
  98. package/dist/index.vue.d.ts +6 -6
  99. package/dist/index10.vue.d.cts +3 -3
  100. package/dist/index10.vue.d.ts +5 -5
  101. package/dist/index11.vue.d.cts +5 -5
  102. package/dist/index11.vue.d.ts +2 -2
  103. package/dist/index12.vue.d.cts +2 -2
  104. package/dist/index12.vue.d.ts +5 -5
  105. package/dist/index13.vue.d.cts +5 -5
  106. package/dist/index13.vue.d.ts +6 -6
  107. package/dist/index14.vue.d.cts +6 -6
  108. package/dist/index14.vue.d.ts +0 -1
  109. package/dist/index15.vue.d.cts +0 -1
  110. package/dist/index15.vue.d.ts +1 -1
  111. package/dist/index16.vue.d.cts +1 -1
  112. package/dist/index17.vue.d.ts +2 -2
  113. package/dist/index18.vue.d.cts +2 -2
  114. package/dist/index18.vue.d.ts +44 -40
  115. package/dist/index19.vue.d.cts +1 -1
  116. package/dist/index19.vue.d.ts +1 -1
  117. package/dist/index2.vue.d.cts +3 -3
  118. package/dist/index2.vue.d.ts +3 -3
  119. package/dist/index20.vue.d.cts +1 -1
  120. package/dist/index20.vue.d.ts +1 -1
  121. package/dist/index21.vue.d.cts +1 -1
  122. package/dist/index21.vue.d.ts +1 -1
  123. package/dist/index22.vue.d.cts +2 -2
  124. package/dist/index22.vue.d.ts +2 -2
  125. package/dist/index25.vue.d.cts +5 -6
  126. package/dist/index25.vue.d.ts +5 -6
  127. package/dist/index26.vue.d.cts +3 -3
  128. package/dist/index26.vue.d.ts +3 -3
  129. package/dist/index3.vue.d.cts +5 -5
  130. package/dist/index3.vue.d.ts +5 -5
  131. package/dist/index4.vue.d.cts +44 -40
  132. package/dist/index6.vue.d.ts +2 -4
  133. package/dist/index7.vue.d.cts +2 -4
  134. package/dist/index9.vue.d.ts +3 -3
  135. package/dist/mapUtils.d.cts +1 -1
  136. package/dist/mapUtils.d.ts +1 -1
  137. package/dist/style.css +846 -844
  138. package/dist/useCalendarEvents.d.cts +1 -1
  139. package/dist/useCalendarEvents.d.ts +1 -1
  140. package/dist/useCollapsePanel.d.cts +1 -1
  141. package/dist/useCollapsePanel.d.ts +1 -1
  142. package/dist/useComponentLocale.cjs +1 -1
  143. package/dist/useComponentLocale.js +1 -1
  144. package/dist/useCropperCore.d.cts +8 -8
  145. package/dist/useCropperCore.d.ts +8 -8
  146. package/dist/useDraggableLayout.d.cts +1 -0
  147. package/dist/useDraggableLayout.d.ts +1 -0
  148. package/dist/useDynamicFormState.d.cts +2 -2
  149. package/dist/useDynamicFormState.d.ts +2 -2
  150. package/dist/useEdgeInteraction.d.cts +1 -1
  151. package/dist/useEdgeInteraction.d.ts +1 -1
  152. package/dist/useFullscreen.d.cts +41 -23
  153. package/dist/useFullscreen.d.ts +41 -23
  154. package/dist/useGlobalSearch.d.cts +1 -1
  155. package/dist/useGlobalSearch.d.ts +1 -1
  156. package/dist/useInfiniteScroll.d.cts +7 -5
  157. package/dist/useInfiniteScroll.d.ts +7 -5
  158. package/dist/useQRCode.d.cts +3 -3
  159. package/dist/useQRCode.d.ts +3 -3
  160. package/dist/useSignatureHistory.d.cts +5 -5
  161. package/dist/useSignatureHistory.d.ts +5 -5
  162. package/dist/useSplitResize.d.cts +10 -11
  163. package/dist/useSplitResize.d.ts +10 -11
  164. package/dist/useTableQuery.cjs +1 -1
  165. package/dist/useTableQuery.d.cts +12 -16
  166. package/dist/useTableQuery.d.ts +12 -16
  167. package/dist/useTableQuery.js +1 -1
  168. package/dist/useWorkflowValidation.d.cts +91 -83
  169. package/dist/useWorkflowValidation.d.ts +91 -83
  170. package/dist/verification.d.cts +4 -4
  171. package/dist/verification.d.ts +4 -4
  172. package/docs/architecture.en.md +3 -1
  173. package/docs/architecture.md +3 -1
  174. package/docs/guides/usage.en.md +16 -0
  175. package/docs/guides/usage.md +56 -0
  176. package/package.json +27 -10
  177. package/dist/context.cjs +0 -1
  178. package/dist/context.js +0 -1
@@ -7,10 +7,6 @@ import { DataTableBaseColumn, DataTableColumn, DataTableRowKey, FormItemRule, Pa
7
7
  import * as _vue_shared0 from "@vue/shared";
8
8
  import { HLJSApi } from "highlight.js";
9
9
 
10
- //#region src/context.d.ts
11
- declare const COMPONENT_FEEDBACK_KEY: InjectionKey<ComponentFeedback>;
12
- declare const COMPONENT_LOCALE_KEY: InjectionKey<ComponentLocale>;
13
- //#endregion
14
10
  //#region src/composables/useComponentLocale.d.ts
15
11
  /** Bind the UI-independent translator to this Vue application and local configuration. */
16
12
  declare function useComponentLocale(local?: MaybeRefOrGetter<ComponentLocale | undefined>): {
@@ -1084,8 +1080,8 @@ type ColumnWithKey = TableColumn & {
1084
1080
  //#region src/components/C_Table/index.vue.d.ts
1085
1081
  declare const __VLS_export$1: <T extends object = DataRecord, C = unknown>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal$1<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
1086
1082
  props: vue.PublicProps & __VLS_PrettifyLocal$1<TableRuntimeProps<T, C> & {
1087
- onCancel?: ((rowData: T, rowIndex: number) => any) | undefined;
1088
1083
  onSave?: ((rowData: T, rowIndex: number, columnKey?: string | undefined) => any) | undefined;
1084
+ onCancel?: ((rowData: T, rowIndex: number) => any) | undefined;
1089
1085
  "onPagination-change"?: ((page: number, pageSize: number) => any) | undefined;
1090
1086
  "onRow-delete"?: ((deletedRow: T, index: number) => any) | undefined;
1091
1087
  "onBatch-action-error"?: ((error: unknown, actionKey: string) => any) | undefined;
@@ -1118,7 +1114,7 @@ declare const __VLS_export$1: <T extends object = DataRecord, C = unknown>(__VLS
1118
1114
  } & {
1119
1115
  loading?: (props: {}) => any;
1120
1116
  };
1121
- emit: ((evt: "cancel", rowData: T, rowIndex: number) => void) & ((evt: "save", rowData: T, rowIndex: number, columnKey?: string | undefined) => void) & ((evt: "pagination-change", page: number, pageSize: number) => void) & ((evt: "row-delete", deletedRow: T, index: number) => void) & ((evt: "batch-action-error", error: unknown, actionKey: string) => void) & ((evt: "row-key-error", issues: TableRowKeyIssue<T>[]) => void) & ((evt: "row-add", newRow: T) => void) & ((evt: "row-copy", originalRow: T, newRow: T) => void) & ((evt: "row-move", row: T, fromIndex: number, toIndex: number) => void) & ((evt: "row-selection-change", selectedKey: DataTableRowKey | null, selectedRow: T | null) => void) & ((evt: "view-detail", data: T) => void) & ((evt: "column-change", columns: TableColumn<T>[]) => void) & ((evt: "expand-change", expandedKeys: DataTableRowKey[], row?: T | undefined, expanded?: boolean | undefined) => void) & ((evt: "selection-change", checkedKeys: DataTableRowKey[], checkedRows: T[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]> | undefined) => void) & ((evt: "child-selection-change", parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: C[]) => void) & ((evt: "parent-child-link-change", parentKey: DataTableRowKey, shouldSelect: boolean) => void) & ((evt: "update:data", data: T[]) => void) & ((evt: "edit-error", error: unknown) => void);
1117
+ emit: ((evt: "save", rowData: T, rowIndex: number, columnKey?: string | undefined) => void) & ((evt: "cancel", rowData: T, rowIndex: number) => void) & ((evt: "pagination-change", page: number, pageSize: number) => void) & ((evt: "row-delete", deletedRow: T, index: number) => void) & ((evt: "batch-action-error", error: unknown, actionKey: string) => void) & ((evt: "row-key-error", issues: TableRowKeyIssue<T>[]) => void) & ((evt: "row-add", newRow: T) => void) & ((evt: "row-copy", originalRow: T, newRow: T) => void) & ((evt: "row-move", row: T, fromIndex: number, toIndex: number) => void) & ((evt: "row-selection-change", selectedKey: DataTableRowKey | null, selectedRow: T | null) => void) & ((evt: "view-detail", data: T) => void) & ((evt: "column-change", columns: TableColumn<T>[]) => void) & ((evt: "expand-change", expandedKeys: DataTableRowKey[], row?: T | undefined, expanded?: boolean | undefined) => void) & ((evt: "selection-change", checkedKeys: DataTableRowKey[], checkedRows: T[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]> | undefined) => void) & ((evt: "child-selection-change", parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: C[]) => void) & ((evt: "parent-child-link-change", parentKey: DataTableRowKey, shouldSelect: boolean) => void) & ((evt: "update:data", data: T[]) => void) & ((evt: "edit-error", error: unknown) => void);
1122
1118
  }>) => vue.VNode & {
1123
1119
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
1124
1120
  };
@@ -1751,26 +1747,26 @@ interface TreeSlots<T extends object = TreeOption$1> {
1751
1747
  declare const __VLS_export: <T extends object = TreeNodeData>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
1752
1748
  props: vue.PublicProps & __VLS_PrettifyLocal<TreeProps$1<T> & {
1753
1749
  onAdd?: ((parentNode?: T | undefined) => any) | undefined;
1754
- "onNode-drop"?: ((info: DropInfo<T>) => any) | undefined;
1750
+ onRefresh?: (() => any) | undefined;
1751
+ "onLoad-error"?: ((error: unknown, node: T) => any) | undefined;
1752
+ "onUpdate:expandedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "expand" | "collapse" | "select" | "unselect" | "check" | "uncheck">) => any) | undefined;
1755
1753
  "onUpdate:searchPattern"?: ((pattern: string) => any) | undefined;
1756
- "onUpdate:expandedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "expand" | "collapse" | "unselect" | "check" | "uncheck">) => any) | undefined;
1757
- "onUpdate:selectedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "expand" | "collapse" | "unselect" | "check" | "uncheck">) => any) | undefined;
1758
- "onUpdate:checkedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "expand" | "collapse" | "unselect" | "check" | "uncheck">) => any) | undefined;
1754
+ "onUpdate:selectedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "expand" | "collapse" | "select" | "unselect" | "check" | "uncheck">) => any) | undefined;
1755
+ "onUpdate:checkedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "expand" | "collapse" | "select" | "unselect" | "check" | "uncheck">) => any) | undefined;
1759
1756
  "onNode-select"?: ((node: T | null, selectedKeys: TreeKey[]) => any) | undefined;
1760
1757
  "onNode-action"?: ((action: string, node: T) => any) | undefined;
1761
- "onLoad-error"?: ((error: unknown, node: T) => any) | undefined;
1762
- onRefresh?: (() => any) | undefined;
1758
+ "onNode-drop"?: ((info: DropInfo<T>) => any) | undefined;
1763
1759
  }> & (typeof globalThis extends {
1764
1760
  __VLS_PROPS_FALLBACK: infer P;
1765
1761
  } ? P : {});
1766
- expose: (exposed: vue.ShallowUnwrapRef<Omit<TreeExpose<T>, "expandedKeys" | "checkedKeys" | "selectedKeys"> & {
1762
+ expose: (exposed: vue.ShallowUnwrapRef<Omit<TreeExpose<T>, "expandedKeys" | "selectedKeys" | "checkedKeys"> & {
1767
1763
  expandedKeys: vue.Ref<TreeKey[]>;
1768
1764
  selectedKeys: vue.Ref<TreeKey[]>;
1769
1765
  checkedKeys: vue.Ref<TreeKey[]>;
1770
1766
  }>) => void;
1771
1767
  attrs: any;
1772
1768
  slots: TreeSlots<T>;
1773
- emit: ((evt: "add", parentNode?: T | undefined) => void) & ((evt: "node-drop", info: DropInfo<T>) => void) & ((evt: "update:searchPattern", pattern: string) => void) & ((evt: "update:expandedKeys", keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "expand" | "collapse" | "unselect" | "check" | "uncheck">) => void) & ((evt: "update:selectedKeys", keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "expand" | "collapse" | "unselect" | "check" | "uncheck">) => void) & ((evt: "update:checkedKeys", keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "expand" | "collapse" | "unselect" | "check" | "uncheck">) => void) & ((evt: "node-select", node: T | null, selectedKeys: TreeKey[]) => void) & ((evt: "node-action", action: string, node: T) => void) & ((evt: "load-error", error: unknown, node: T) => void) & ((evt: "refresh") => void);
1769
+ emit: ((evt: "add", parentNode?: T | undefined) => void) & ((evt: "refresh") => void) & ((evt: "load-error", error: unknown, node: T) => void) & ((evt: "update:expandedKeys", keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "expand" | "collapse" | "select" | "unselect" | "check" | "uncheck">) => void) & ((evt: "update:searchPattern", pattern: string) => void) & ((evt: "update:selectedKeys", keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "expand" | "collapse" | "select" | "unselect" | "check" | "uncheck">) => void) & ((evt: "update:checkedKeys", keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "expand" | "collapse" | "select" | "unselect" | "check" | "uncheck">) => void) & ((evt: "node-select", node: T | null, selectedKeys: TreeKey[]) => void) & ((evt: "node-action", action: string, node: T) => void) & ((evt: "node-drop", info: DropInfo<T>) => void);
1774
1770
  }>) => vue.VNode & {
1775
1771
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
1776
1772
  };
@@ -1808,7 +1804,7 @@ declare function useTreeOperations<T extends object = TreeNodeData>(props: TreeP
1808
1804
  handleDrop: (info: DropInfo<T>) => void;
1809
1805
  handleAdd: () => void;
1810
1806
  handleRefresh: () => void;
1811
- expose: Omit<TreeExpose<T>, "expandedKeys" | "checkedKeys" | "selectedKeys"> & {
1807
+ expose: Omit<TreeExpose<T>, "expandedKeys" | "selectedKeys" | "checkedKeys"> & {
1812
1808
  expandedKeys: Ref<TreeKey[]>;
1813
1809
  selectedKeys: Ref<TreeKey[]>;
1814
1810
  checkedKeys: Ref<TreeKey[]>;
@@ -1956,4 +1952,4 @@ declare function useTableQuery<T extends object, Q extends object = Record<strin
1956
1952
  cancel: () => void;
1957
1953
  };
1958
1954
  //#endregion
1959
- export { MaybeRefLike as $, PrintWatermarkOptions as $t, HighlightPluginOptions as A, createEditModeChecker as At, useRowEdit as B, mergeGlobalConfig as Bt, TreeNodeData as C, ExpandConfig$1 as Ct, TreeSlots as D, ToolbarConfig as Dt, TreeRenderContext as E, TableConfig as Et, useCellEdit as F, FormatterConfig as Ft, _default$1 as G, useCrossPageSelection as Gt, defineTableColumns as H, CrossPageSelectionConfig as Ht, usePagination as I, FormatterType as It, ChildSelectionState as J, UseRowDragReturn as Jt, ApiFunction as K, RowDragConfig as Kt, useTableActions as L, TABLE_GLOBAL_CONFIG_KEY as Lt, setupHighlight as M, ExportConfig as Mt, useHighlight as N, exportTableData as Nt, TreeUpdateMeta as O, TreeConfig as Ot, useModalEdit as P, ColumnFormatter as Pt, EditMode as Q, useDynamicRows as Qt, useTableExpand as R, TableGlobalConfig as Rt, TreeNativeProps as S, ErrorConfig as St, TreeProps$1 as T, SummaryConfig as Tt, defineTableConfig as U, UseCrossPageSelectionOptions as Ut, useTableColumns as V, useTableGlobalConfig as Vt, validateTableRowKeys as W, UseCrossPageSelectionReturn as Wt, CustomAction as X, DynamicRowsOptions as Xt, ColumnWithKey as Y, useRowDrag as Yt, DataRecord as Z, DynamicRowsReturn as Zt, StatusType as _, BatchActionsConfig as _t, getItem as a, COMPONENT_LOCALE_KEY as an, SelectOption as at, TreeKey as b, DisplayConfig as bt, setItem as c, TableColumn as ct, _default as d, TableManagerApi as dt, printPresets as en, NormalTableColumn as et, ActionConfig as f, TableProps as ft, StatusConfig as g, UseTableExpandReturn as gt, IconConfig as h, UseTableExpandOptions as ht, useTableQuery as i, COMPONENT_FEEDBACK_KEY as in, RowAction as it, createHighlight as j, resolveConfig as jt, HighlightAPI as k, VirtualScrollConfig as kt, useTreeOperations as l, TableEmits as lt, DropInfo as m, TableRowKeyIssue as mt, TableQueryResult as n, useComponentFeedback as nn, ParentChildLinkMode as nt, removeAllItem as o, SimpleTableActions as ot, ButtonType as p, TableRowKey as pt, BuiltInTableColumn as q, UseRowDragOptions as qt, UseTableQueryOptions as r, useComponentLocale as rn, RenderFunction as rt, removeItem as s, StrictTableColumn as st, TableQueryContext as t, usePrintWatermark as tn, PaginationConfig as tt, presetConfigs as u, TableInstance as ut, TreeEmits as v, ColumnDragConfig as vt, TreeOption$1 as w, SelectionConfig$1 as wt, TreeMode as x, EditConfig as xt, TreeExpose as y, CrudBinding as yt, useTableManager as z, applyFormatter as zt };
1955
+ export { MaybeRefLike as $, PrintWatermarkOptions as $t, HighlightPluginOptions as A, createEditModeChecker as At, useRowEdit as B, mergeGlobalConfig as Bt, TreeNodeData as C, ExpandConfig$1 as Ct, TreeSlots as D, ToolbarConfig as Dt, TreeRenderContext as E, TableConfig as Et, useCellEdit as F, FormatterConfig as Ft, _default$1 as G, useCrossPageSelection as Gt, defineTableColumns as H, CrossPageSelectionConfig as Ht, usePagination as I, FormatterType as It, ChildSelectionState as J, UseRowDragReturn as Jt, ApiFunction as K, RowDragConfig as Kt, useTableActions as L, TABLE_GLOBAL_CONFIG_KEY as Lt, setupHighlight as M, ExportConfig as Mt, useHighlight as N, exportTableData as Nt, TreeUpdateMeta as O, TreeConfig as Ot, useModalEdit as P, ColumnFormatter as Pt, EditMode as Q, useDynamicRows as Qt, useTableExpand as R, TableGlobalConfig as Rt, TreeNativeProps as S, ErrorConfig as St, TreeProps$1 as T, SummaryConfig as Tt, defineTableConfig as U, UseCrossPageSelectionOptions as Ut, useTableColumns as V, useTableGlobalConfig as Vt, validateTableRowKeys as W, UseCrossPageSelectionReturn as Wt, CustomAction as X, DynamicRowsOptions as Xt, ColumnWithKey as Y, useRowDrag as Yt, DataRecord as Z, DynamicRowsReturn as Zt, StatusType as _, BatchActionsConfig as _t, getItem as a, SelectOption as at, TreeKey as b, DisplayConfig as bt, setItem as c, TableColumn as ct, _default as d, TableManagerApi as dt, printPresets as en, NormalTableColumn as et, ActionConfig as f, TableProps as ft, StatusConfig as g, UseTableExpandReturn as gt, IconConfig as h, UseTableExpandOptions as ht, useTableQuery as i, RowAction as it, createHighlight as j, resolveConfig as jt, HighlightAPI as k, VirtualScrollConfig as kt, useTreeOperations as l, TableEmits as lt, DropInfo as m, TableRowKeyIssue as mt, TableQueryResult as n, useComponentFeedback as nn, ParentChildLinkMode as nt, removeAllItem as o, SimpleTableActions as ot, ButtonType as p, TableRowKey as pt, BuiltInTableColumn as q, UseRowDragOptions as qt, UseTableQueryOptions as r, useComponentLocale as rn, RenderFunction as rt, removeItem as s, StrictTableColumn as st, TableQueryContext as t, usePrintWatermark as tn, PaginationConfig as tt, presetConfigs as u, TableInstance as ut, TreeEmits as v, ColumnDragConfig as vt, TreeOption$1 as w, SelectionConfig$1 as wt, TreeMode as x, EditConfig as xt, TreeExpose as y, CrudBinding as yt, useTableManager as z, applyFormatter as zt };
@@ -7,10 +7,6 @@ import { DataTableBaseColumn, DataTableColumn, DataTableRowKey, FormItemRule, Pa
7
7
  import * as _vue_shared0 from "@vue/shared";
8
8
  import { HLJSApi } from "highlight.js";
9
9
 
10
- //#region src/context.d.ts
11
- declare const COMPONENT_FEEDBACK_KEY: InjectionKey<ComponentFeedback>;
12
- declare const COMPONENT_LOCALE_KEY: InjectionKey<ComponentLocale>;
13
- //#endregion
14
10
  //#region src/composables/useComponentLocale.d.ts
15
11
  /** Bind the UI-independent translator to this Vue application and local configuration. */
16
12
  declare function useComponentLocale(local?: MaybeRefOrGetter<ComponentLocale | undefined>): {
@@ -1084,8 +1080,8 @@ type ColumnWithKey = TableColumn & {
1084
1080
  //#region src/components/C_Table/index.vue.d.ts
1085
1081
  declare const __VLS_export$1: <T extends object = DataRecord, C = unknown>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal$1<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
1086
1082
  props: vue.PublicProps & __VLS_PrettifyLocal$1<TableRuntimeProps<T, C> & {
1087
- onCancel?: ((rowData: T, rowIndex: number) => any) | undefined;
1088
1083
  onSave?: ((rowData: T, rowIndex: number, columnKey?: string | undefined) => any) | undefined;
1084
+ onCancel?: ((rowData: T, rowIndex: number) => any) | undefined;
1089
1085
  "onPagination-change"?: ((page: number, pageSize: number) => any) | undefined;
1090
1086
  "onRow-delete"?: ((deletedRow: T, index: number) => any) | undefined;
1091
1087
  "onBatch-action-error"?: ((error: unknown, actionKey: string) => any) | undefined;
@@ -1118,7 +1114,7 @@ declare const __VLS_export$1: <T extends object = DataRecord, C = unknown>(__VLS
1118
1114
  } & {
1119
1115
  loading?: (props: {}) => any;
1120
1116
  };
1121
- emit: ((evt: "cancel", rowData: T, rowIndex: number) => void) & ((evt: "save", rowData: T, rowIndex: number, columnKey?: string | undefined) => void) & ((evt: "pagination-change", page: number, pageSize: number) => void) & ((evt: "row-delete", deletedRow: T, index: number) => void) & ((evt: "batch-action-error", error: unknown, actionKey: string) => void) & ((evt: "row-key-error", issues: TableRowKeyIssue<T>[]) => void) & ((evt: "row-add", newRow: T) => void) & ((evt: "row-copy", originalRow: T, newRow: T) => void) & ((evt: "row-move", row: T, fromIndex: number, toIndex: number) => void) & ((evt: "row-selection-change", selectedKey: DataTableRowKey | null, selectedRow: T | null) => void) & ((evt: "view-detail", data: T) => void) & ((evt: "column-change", columns: TableColumn<T>[]) => void) & ((evt: "expand-change", expandedKeys: DataTableRowKey[], row?: T | undefined, expanded?: boolean | undefined) => void) & ((evt: "selection-change", checkedKeys: DataTableRowKey[], checkedRows: T[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]> | undefined) => void) & ((evt: "child-selection-change", parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: C[]) => void) & ((evt: "parent-child-link-change", parentKey: DataTableRowKey, shouldSelect: boolean) => void) & ((evt: "update:data", data: T[]) => void) & ((evt: "edit-error", error: unknown) => void);
1117
+ emit: ((evt: "save", rowData: T, rowIndex: number, columnKey?: string | undefined) => void) & ((evt: "cancel", rowData: T, rowIndex: number) => void) & ((evt: "pagination-change", page: number, pageSize: number) => void) & ((evt: "row-delete", deletedRow: T, index: number) => void) & ((evt: "batch-action-error", error: unknown, actionKey: string) => void) & ((evt: "row-key-error", issues: TableRowKeyIssue<T>[]) => void) & ((evt: "row-add", newRow: T) => void) & ((evt: "row-copy", originalRow: T, newRow: T) => void) & ((evt: "row-move", row: T, fromIndex: number, toIndex: number) => void) & ((evt: "row-selection-change", selectedKey: DataTableRowKey | null, selectedRow: T | null) => void) & ((evt: "view-detail", data: T) => void) & ((evt: "column-change", columns: TableColumn<T>[]) => void) & ((evt: "expand-change", expandedKeys: DataTableRowKey[], row?: T | undefined, expanded?: boolean | undefined) => void) & ((evt: "selection-change", checkedKeys: DataTableRowKey[], checkedRows: T[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]> | undefined) => void) & ((evt: "child-selection-change", parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: C[]) => void) & ((evt: "parent-child-link-change", parentKey: DataTableRowKey, shouldSelect: boolean) => void) & ((evt: "update:data", data: T[]) => void) & ((evt: "edit-error", error: unknown) => void);
1122
1118
  }>) => vue.VNode & {
1123
1119
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
1124
1120
  };
@@ -1751,26 +1747,26 @@ interface TreeSlots<T extends object = TreeOption$1> {
1751
1747
  declare const __VLS_export: <T extends object = TreeNodeData>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
1752
1748
  props: vue.PublicProps & __VLS_PrettifyLocal<TreeProps$1<T> & {
1753
1749
  onAdd?: ((parentNode?: T | undefined) => any) | undefined;
1754
- "onNode-drop"?: ((info: DropInfo<T>) => any) | undefined;
1750
+ onRefresh?: (() => any) | undefined;
1751
+ "onLoad-error"?: ((error: unknown, node: T) => any) | undefined;
1752
+ "onUpdate:expandedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "expand" | "collapse" | "select" | "unselect" | "check" | "uncheck">) => any) | undefined;
1755
1753
  "onUpdate:searchPattern"?: ((pattern: string) => any) | undefined;
1756
- "onUpdate:expandedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "expand" | "collapse" | "unselect" | "check" | "uncheck">) => any) | undefined;
1757
- "onUpdate:selectedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "expand" | "collapse" | "unselect" | "check" | "uncheck">) => any) | undefined;
1758
- "onUpdate:checkedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "expand" | "collapse" | "unselect" | "check" | "uncheck">) => any) | undefined;
1754
+ "onUpdate:selectedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "expand" | "collapse" | "select" | "unselect" | "check" | "uncheck">) => any) | undefined;
1755
+ "onUpdate:checkedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "expand" | "collapse" | "select" | "unselect" | "check" | "uncheck">) => any) | undefined;
1759
1756
  "onNode-select"?: ((node: T | null, selectedKeys: TreeKey[]) => any) | undefined;
1760
1757
  "onNode-action"?: ((action: string, node: T) => any) | undefined;
1761
- "onLoad-error"?: ((error: unknown, node: T) => any) | undefined;
1762
- onRefresh?: (() => any) | undefined;
1758
+ "onNode-drop"?: ((info: DropInfo<T>) => any) | undefined;
1763
1759
  }> & (typeof globalThis extends {
1764
1760
  __VLS_PROPS_FALLBACK: infer P;
1765
1761
  } ? P : {});
1766
- expose: (exposed: vue.ShallowUnwrapRef<Omit<TreeExpose<T>, "expandedKeys" | "checkedKeys" | "selectedKeys"> & {
1762
+ expose: (exposed: vue.ShallowUnwrapRef<Omit<TreeExpose<T>, "expandedKeys" | "selectedKeys" | "checkedKeys"> & {
1767
1763
  expandedKeys: vue.Ref<TreeKey[]>;
1768
1764
  selectedKeys: vue.Ref<TreeKey[]>;
1769
1765
  checkedKeys: vue.Ref<TreeKey[]>;
1770
1766
  }>) => void;
1771
1767
  attrs: any;
1772
1768
  slots: TreeSlots<T>;
1773
- emit: ((evt: "add", parentNode?: T | undefined) => void) & ((evt: "node-drop", info: DropInfo<T>) => void) & ((evt: "update:searchPattern", pattern: string) => void) & ((evt: "update:expandedKeys", keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "expand" | "collapse" | "unselect" | "check" | "uncheck">) => void) & ((evt: "update:selectedKeys", keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "expand" | "collapse" | "unselect" | "check" | "uncheck">) => void) & ((evt: "update:checkedKeys", keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "expand" | "collapse" | "unselect" | "check" | "uncheck">) => void) & ((evt: "node-select", node: T | null, selectedKeys: TreeKey[]) => void) & ((evt: "node-action", action: string, node: T) => void) & ((evt: "load-error", error: unknown, node: T) => void) & ((evt: "refresh") => void);
1769
+ emit: ((evt: "add", parentNode?: T | undefined) => void) & ((evt: "refresh") => void) & ((evt: "load-error", error: unknown, node: T) => void) & ((evt: "update:expandedKeys", keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "expand" | "collapse" | "select" | "unselect" | "check" | "uncheck">) => void) & ((evt: "update:searchPattern", pattern: string) => void) & ((evt: "update:selectedKeys", keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "expand" | "collapse" | "select" | "unselect" | "check" | "uncheck">) => void) & ((evt: "update:checkedKeys", keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "expand" | "collapse" | "select" | "unselect" | "check" | "uncheck">) => void) & ((evt: "node-select", node: T | null, selectedKeys: TreeKey[]) => void) & ((evt: "node-action", action: string, node: T) => void) & ((evt: "node-drop", info: DropInfo<T>) => void);
1774
1770
  }>) => vue.VNode & {
1775
1771
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
1776
1772
  };
@@ -1808,7 +1804,7 @@ declare function useTreeOperations<T extends object = TreeNodeData>(props: TreeP
1808
1804
  handleDrop: (info: DropInfo<T>) => void;
1809
1805
  handleAdd: () => void;
1810
1806
  handleRefresh: () => void;
1811
- expose: Omit<TreeExpose<T>, "expandedKeys" | "checkedKeys" | "selectedKeys"> & {
1807
+ expose: Omit<TreeExpose<T>, "expandedKeys" | "selectedKeys" | "checkedKeys"> & {
1812
1808
  expandedKeys: Ref<TreeKey[]>;
1813
1809
  selectedKeys: Ref<TreeKey[]>;
1814
1810
  checkedKeys: Ref<TreeKey[]>;
@@ -1956,4 +1952,4 @@ declare function useTableQuery<T extends object, Q extends object = Record<strin
1956
1952
  cancel: () => void;
1957
1953
  };
1958
1954
  //#endregion
1959
- export { MaybeRefLike as $, PrintWatermarkOptions as $t, HighlightPluginOptions as A, createEditModeChecker as At, useRowEdit as B, mergeGlobalConfig as Bt, TreeNodeData as C, ExpandConfig$1 as Ct, TreeSlots as D, ToolbarConfig as Dt, TreeRenderContext as E, TableConfig as Et, useCellEdit as F, FormatterConfig as Ft, _default$1 as G, useCrossPageSelection as Gt, defineTableColumns as H, CrossPageSelectionConfig as Ht, usePagination as I, FormatterType as It, ChildSelectionState as J, UseRowDragReturn as Jt, ApiFunction as K, RowDragConfig as Kt, useTableActions as L, TABLE_GLOBAL_CONFIG_KEY as Lt, setupHighlight as M, ExportConfig as Mt, useHighlight as N, exportTableData as Nt, TreeUpdateMeta as O, TreeConfig as Ot, useModalEdit as P, ColumnFormatter as Pt, EditMode as Q, useDynamicRows as Qt, useTableExpand as R, TableGlobalConfig as Rt, TreeNativeProps as S, ErrorConfig as St, TreeProps$1 as T, SummaryConfig as Tt, defineTableConfig as U, UseCrossPageSelectionOptions as Ut, useTableColumns as V, useTableGlobalConfig as Vt, validateTableRowKeys as W, UseCrossPageSelectionReturn as Wt, CustomAction as X, DynamicRowsOptions as Xt, ColumnWithKey as Y, useRowDrag as Yt, DataRecord as Z, DynamicRowsReturn as Zt, StatusType as _, BatchActionsConfig as _t, getItem as a, COMPONENT_LOCALE_KEY as an, SelectOption as at, TreeKey as b, DisplayConfig as bt, setItem as c, TableColumn as ct, _default as d, TableManagerApi as dt, printPresets as en, NormalTableColumn as et, ActionConfig as f, TableProps as ft, StatusConfig as g, UseTableExpandReturn as gt, IconConfig as h, UseTableExpandOptions as ht, useTableQuery as i, COMPONENT_FEEDBACK_KEY as in, RowAction as it, createHighlight as j, resolveConfig as jt, HighlightAPI as k, VirtualScrollConfig as kt, useTreeOperations as l, TableEmits as lt, DropInfo as m, TableRowKeyIssue as mt, TableQueryResult as n, useComponentFeedback as nn, ParentChildLinkMode as nt, removeAllItem as o, SimpleTableActions as ot, ButtonType as p, TableRowKey as pt, BuiltInTableColumn as q, UseRowDragOptions as qt, UseTableQueryOptions as r, useComponentLocale as rn, RenderFunction as rt, removeItem as s, StrictTableColumn as st, TableQueryContext as t, usePrintWatermark as tn, PaginationConfig as tt, presetConfigs as u, TableInstance as ut, TreeEmits as v, ColumnDragConfig as vt, TreeOption$1 as w, SelectionConfig$1 as wt, TreeMode as x, EditConfig as xt, TreeExpose as y, CrudBinding as yt, useTableManager as z, applyFormatter as zt };
1955
+ export { MaybeRefLike as $, PrintWatermarkOptions as $t, HighlightPluginOptions as A, createEditModeChecker as At, useRowEdit as B, mergeGlobalConfig as Bt, TreeNodeData as C, ExpandConfig$1 as Ct, TreeSlots as D, ToolbarConfig as Dt, TreeRenderContext as E, TableConfig as Et, useCellEdit as F, FormatterConfig as Ft, _default$1 as G, useCrossPageSelection as Gt, defineTableColumns as H, CrossPageSelectionConfig as Ht, usePagination as I, FormatterType as It, ChildSelectionState as J, UseRowDragReturn as Jt, ApiFunction as K, RowDragConfig as Kt, useTableActions as L, TABLE_GLOBAL_CONFIG_KEY as Lt, setupHighlight as M, ExportConfig as Mt, useHighlight as N, exportTableData as Nt, TreeUpdateMeta as O, TreeConfig as Ot, useModalEdit as P, ColumnFormatter as Pt, EditMode as Q, useDynamicRows as Qt, useTableExpand as R, TableGlobalConfig as Rt, TreeNativeProps as S, ErrorConfig as St, TreeProps$1 as T, SummaryConfig as Tt, defineTableConfig as U, UseCrossPageSelectionOptions as Ut, useTableColumns as V, useTableGlobalConfig as Vt, validateTableRowKeys as W, UseCrossPageSelectionReturn as Wt, CustomAction as X, DynamicRowsOptions as Xt, ColumnWithKey as Y, useRowDrag as Yt, DataRecord as Z, DynamicRowsReturn as Zt, StatusType as _, BatchActionsConfig as _t, getItem as a, SelectOption as at, TreeKey as b, DisplayConfig as bt, setItem as c, TableColumn as ct, _default as d, TableManagerApi as dt, printPresets as en, NormalTableColumn as et, ActionConfig as f, TableProps as ft, StatusConfig as g, UseTableExpandReturn as gt, IconConfig as h, UseTableExpandOptions as ht, useTableQuery as i, RowAction as it, createHighlight as j, resolveConfig as jt, HighlightAPI as k, VirtualScrollConfig as kt, useTreeOperations as l, TableEmits as lt, DropInfo as m, TableRowKeyIssue as mt, TableQueryResult as n, useComponentFeedback as nn, ParentChildLinkMode as nt, removeAllItem as o, SimpleTableActions as ot, ButtonType as p, TableRowKey as pt, BuiltInTableColumn as q, UseRowDragOptions as qt, UseTableQueryOptions as r, useComponentLocale as rn, RenderFunction as rt, removeItem as s, StrictTableColumn as st, TableQueryContext as t, usePrintWatermark as tn, PaginationConfig as tt, presetConfigs as u, TableInstance as ut, TreeEmits as v, ColumnDragConfig as vt, TreeOption$1 as w, SelectionConfig$1 as wt, TreeMode as x, EditConfig as xt, TreeExpose as y, CrudBinding as yt, useTableManager as z, applyFormatter as zt };
@@ -1,3 +1,3 @@
1
- import{t as e}from"./density.js";import{t}from"./useComponentLocale.js";import{t as n}from"./feedback.js";import{t as r}from"./C_Icon2.js";import{t as i}from"./export-helper.js";import{t as a}from"./C_Loading2.js";import{t as o}from"./useActionTask.js";import{t as s}from"./C_ActionBar2.js";import{a as c,t as l}from"./data.js";import{i as u}from"./formValidation.js";import{Fragment as d,computed as f,createBlock as p,createCommentVNode as m,createElementBlock as h,createElementVNode as g,createSlots as _,createTextVNode as v,createVNode as y,defineAsyncComponent as b,defineComponent as x,getCurrentInstance as S,getCurrentScope as C,h as w,inject as T,isRef as E,mergeProps as ee,nextTick as D,normalizeClass as te,normalizeStyle as O,onBeforeUnmount as ne,onMounted as re,onScopeDispose as ie,openBlock as k,reactive as A,ref as j,renderList as ae,renderSlot as oe,resolveDynamicComponent as se,shallowReactive as M,shallowRef as N,toDisplayString as P,toValue as F,unref as I,useAttrs as ce,watch as L,withCtx as R}from"vue";import{NButton as z,NButtonGroup as le,NCheckbox as B,NDataTable as ue,NDrawer as de,NDrawerContent as fe,NDropdown as pe,NInput as me,NInputNumber as V,NModal as he,NPagination as ge,NSelect as _e,NSpace as ve,NSpin as ye,NSwitch as be,NTag as xe,NText as H,NTooltip as U}from"naive-ui";const Se={editable:!1,editMode:`none`,showRowActions:!1,modalTitle:`编辑数据`,modalWidth:600,onEditSave:void 0,onEditCancel:void 0,onEditError:void 0},Ce=e=>{if(e===!1||e===void 0)return Se;if(typeof e==`string`)return Ce({mode:e});if(e===!0)return{editable:!0,editMode:`modal`,showRowActions:!0,modalTitle:`编辑数据`,modalWidth:600,onEditSave:void 0,onEditCancel:void 0,onEditError:void 0};let t=e.enabled!==!1&&e.mode!==`none`;return{editable:t,editMode:e.mode||`modal`,showRowActions:t&&e.showRowActions!==!1,modalTitle:e.modalTitle||`编辑数据`,modalWidth:e.modalWidth||600,onEditSave:e.onSave,onEditCancel:e.onCancel,onEditError:e.onError}},we=e=>e?e===!0?{expandable:!0,defaultExpandedKeys:void 0,onLoadExpandData:void 0,onExpandError:void 0,renderExpandContent:void 0,rowExpandable:void 0}:{expandable:e.enabled!==!1,defaultExpandedKeys:e.defaultExpandedKeys,onLoadExpandData:e.onLoadData,onExpandError:e.onError,renderExpandContent:e.renderContent,rowExpandable:e.rowExpandable}:{expandable:!1,defaultExpandedKeys:void 0,onLoadExpandData:void 0,onExpandError:void 0,renderExpandContent:void 0,rowExpandable:void 0},Te=e=>{if(!e)return{enableSelection:!1,defaultCheckedKeys:void 0,rowCheckable:void 0,maxSelection:void 0,enableChildSelection:!1,childRowCheckable:void 0,enableParentChildLink:!1,parentChildLinkMode:`loose`};if(e===!0)return{enableSelection:!0,defaultCheckedKeys:void 0,rowCheckable:void 0,maxSelection:void 0,enableChildSelection:!1,childRowCheckable:void 0,enableParentChildLink:!1,parentChildLinkMode:`loose`};let t=e.childSelection||{},n=e.parentChildLink||{};return{enableSelection:e.enabled!==!1,defaultCheckedKeys:e.defaultCheckedKeys,rowCheckable:e.rowCheckable,maxSelection:e.maxSelection,enableChildSelection:t.enabled||!1,childRowCheckable:t.childRowCheckable,enableParentChildLink:n.enabled||!1,parentChildLinkMode:n.mode||`loose`}},W=(t,n)=>{let r={enabled:!0,page:1,pageSize:10,showSizePicker:!0,showQuickJumper:!0,pageSizes:[10,20,50,100],simple:!1,size:n?e(n).size:`medium`};return t===!1?{pagination:null}:t===!0||t===void 0?{pagination:r}:{pagination:{...r,...t}}},Ee=e=>e?e===!0?{dynamicRows:{enableRadioSelection:!0,enableAdd:!0,enableInsert:!0,enableDelete:!0,enableCopy:!0,enableMove:!0,enablePrint:!0}}:{dynamicRows:e}:{dynamicRows:void 0},De={striped:!0,bordered:!0,singleLine:!0,size:`medium`,maxHeight:void 0,scrollX:void 0,columnWidth:180};function Oe(t,n){let{size:r}=e(n);return t?{striped:t.striped??De.striped,bordered:t.bordered??De.bordered,singleLine:t.singleLine??De.singleLine,size:t.size??r,maxHeight:t.maxHeight,scrollX:t.scrollX,columnWidth:t.columnWidth??De.columnWidth}:{...De,size:r}}const ke=(t,n)=>({showToolbar:t?.show!==!1,enableColumnSettings:t?.columnSettings!==!1,toolbarActions:t?.actions??[],toolbarRightActions:t?.rightActions??[],toolbarActionBarConfig:{...n?{size:e(n).size,compact:n===`compact`}:{},...t?.actionBar}}),Ae=e=>e?e===!0?{virtualScroll:!0,virtualItemHeight:34,virtualMaxHeight:600}:{virtualScroll:e.enabled!==!1,virtualItemHeight:e.itemHeight??34,virtualMaxHeight:e.maxHeight??600}:{virtualScroll:!1,virtualItemHeight:34,virtualMaxHeight:600},je=e=>e?{summaryPosition:e.position??`bottom`,summaryRender:e.render}:{summaryPosition:void 0,summaryRender:void 0},Me=e=>e?e===!0?{enableColumnDrag:!0,columnDragHandleClass:void 0,columnDragAnimationDuration:150}:{enableColumnDrag:e.enabled!==!1,columnDragHandleClass:e.handleClass,columnDragAnimationDuration:e.animationDuration??150}:{enableColumnDrag:!1,columnDragHandleClass:void 0,columnDragAnimationDuration:150},Ne=e=>e?e===!0?{treeEnabled:!0,treeChildrenKey:`children`,treeIndent:16,treeDefaultExpandAll:!1}:{treeEnabled:e.enabled!==!1,treeChildrenKey:e.childrenKey??`children`,treeIndent:e.indent??16,treeDefaultExpandAll:e.defaultExpandAll??!1}:{treeEnabled:!1,treeChildrenKey:`children`,treeIndent:16,treeDefaultExpandAll:!1},Pe=e=>e?e===!0?{rowDrag:{enabled:!0}}:{rowDrag:e.enabled===!1?void 0:e}:{rowDrag:void 0},Fe=e=>e?e===!0?{crossPageSelection:{enabled:!0}}:{crossPageSelection:e.enabled===!1?void 0:e}:{crossPageSelection:void 0};function Ie(t={}){return{density:t.density,controlSize:t.density?e(t.density).size:`small`,feedback:t.feedback,locale:t.locale,...Ce(t.edit),...we(t.expand),...Te(t.selection),...W(t.pagination,t.density),...Ee(t.dynamicRows),...Oe(t.display,t.density),...ke(t.toolbar,t.density),...Ae(t.virtualScroll),...je(t.summary),...Me(t.columnDrag),...Ne(t.tree),...Pe(t.rowDrag),...Fe(t.crossPageSelection),exportConfig:t.export,persistKey:t.persistKey,formatterConfig:t.formatterConfig,error:t.error,batchActions:t.batchActions}}const Le=e=>({isNonEditable:t=>!e.editable||t.editable===!1||e.editMode===`none`,isRowEditMode:()=>[`row`,`both`].includes(e.editMode),isCellEditMode:()=>[`cell`,`both`].includes(e.editMode)});function G(e){return e.type===void 0&&e.editable!==!1&&e.key!==`_actions`&&String(e.key??``).trim().length>0}function K(e,t){if(!G(e))return[];let n=[...e.editProps?.rules??[]];return e.required&&!n.some(e=>e.required)&&n.unshift(u(e.title,`${e.title}不能为空`)),n.map(n=>{let r={...n};if(r.type===void 0&&(e.editType===`number`&&(r.type=`number`),e.editType===`switch`&&(r.type=`boolean`)),n.validator){let e=n.validator;r.validator=(n,r,i,a,o)=>{let s=!1;try{let c=e(n,r,e=>{s=!0,i(e)},t?.()??a,o);return c===void 0&&!s?!0:c}catch(e){return e instanceof Error?e:Error(String(e))}}}if(n.asyncValidator){let e=n.asyncValidator;r.asyncValidator=(n,r,i,a,o)=>new Promise((i,s)=>{e(n,r,e=>{e?s(e):i()},t?.()??a,o)?.then(i,s)})}return r})}async function Re(e,t,n,r,i=e.key??`value`){if(e.level===`warning`)return null;let a=`${n}校验失败`;try{let n=(await import(`async-validator`)).default;return await new(`default`in n?n.default:n)({[i]:e}).validate({...r,[i]:t},{first:!0,suppressWarning:!0,suppressValidatorError:!0}),null}catch(e){return(e?.errors)?.[0]?.message??(e instanceof Error?e.message:a)}}function ze(e){let t=0,n=j(null),r=j({}),i=j(!1),a=j([]),o=()=>{t++,n.value=null,r.value={},a.value=[]},s=e=>n.value===e,c=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)},u=e=>{let t=c(e);return!t||i.value?!1:(n.value=e,r.value={[String(e)]:l(t)},a.value=[],!0)},d=async()=>{if(n.value===null||i.value)return;let t=e.data();if(!t||!Array.isArray(t))return;let a=t.findIndex(t=>e.rowKey(t)===n.value);i.value=!0;try{a>-1&&await e.onCancel?.(t[a],a),n.value=null,r.value={}}finally{i.value=!1}},f=async(r,i)=>{let o=t,s=(e.columns?.()||[]).filter(G).map(async e=>{let t=String(e.key);if(!t)return null;let n=(await Promise.all(K(e).map(n=>Re(n,r[t],e.title||t,r,t)))).find(Boolean);return n?{field:t,message:n}:null}),c=(await Promise.all(s)).filter(Boolean);return t===o?(n.value===i&&(a.value=c),c.length===0):!1},p=async()=>{let e=n.value;if(e===null)return!0;let t=r.value[String(e)];return t?f(l(t),e):!0},m=async()=>{let a=n.value;if(a===null||i.value)return;let o=r.value[String(a)];if(!o)return;let s=l(o),u=t,d=c(a);i.value=!0;try{if(!await f(s,a)||t!==u)return;let i=e.data(),o=i.findIndex(t=>e.rowKey(t)===a);return o===-1||i[o]!==d||(await e.onSave?.(s,o,a),t!==u)?void 0:(n.value=null,r.value={},{updatedData:s,rowIndex:o})}finally{i.value=!1}},h=e=>{if(n.value===e)return r.value[String(e)]};return{editingRowKey:n,editingData:r,isSaving:i,isEditingRow:s,startEditRow:u,cancelEditRow:d,saveEditRow:m,validateRow:p,validationErrors:a,getEditingRowData:h,updateEditingRowData:(e,t,n)=>{let r=h(e);!r||i.value||(r[t]=l(n))},findRowData:c,invalidate:o}}function Be(e,t){let n=String(e);return`${typeof e}:${n.length}:${n}|${t.length}:${t}`}function Ve(e){let t=0,n=j({rowKey:null,columnKey:null}),r=j({}),i=j(!1),a=j(null),o=()=>{t++,n.value={rowKey:null,columnKey:null},r.value={},a.value=null},s=(e,t)=>n.value.rowKey===e&&n.value.columnKey===t,c=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)},u=(e,t)=>{let o=c(e);return!o||!t||i.value?!1:(n.value={rowKey:e,columnKey:t},r.value={[Be(e,t)]:l(o[t])},a.value=null,!0)},d=t=>(e.columns?.()??[]).find(e=>String(e.key)===t),f=async()=>{let e=t;a.value=null;let{rowKey:i,columnKey:o}=n.value;if(i===null||o===null)return!0;let s=d(o);if(!s)return!0;let l=Be(i,o),u=r.value[l],f=s.title||o,p={...c(i),[o]:u},m=await Promise.all(K(s).map(e=>Re(e,u,f,p,o)));if(t!==e)return!1;let h=m.find(Boolean);return h?(a.value=h,!1):!0};return{editingCell:n,editingData:r,isSaving:i,isEditingCell:s,startEditCell:u,saveEditCell:async()=>{let{rowKey:a,columnKey:o}=n.value;if(a===null||o===null||i.value)return;let s=Be(a,o),u=l(r.value[s]),d=t,p=c(a);i.value=!0;try{if(!await f()||t!==d)return;let i=e.data(),s=i.findIndex(t=>e.rowKey(t)===a);if(s===-1||i[s]!==p)return;let c={...i[s],[o]:u};return await e.onSave?.(l(c),s,o,a),t===d?(n.value={rowKey:null,columnKey:null},r.value={},{updatedData:c,rowIndex:s,columnKey:o}):void 0}finally{i.value=!1}},cancelEditCell:()=>{let{rowKey:e,columnKey:t}=n.value;i.value||(e!==null&&t!==null&&delete r.value[Be(e,t)],n.value={rowKey:null,columnKey:null},a.value=null)},validateCell:f,cellValidationError:a,getEditingCellValue:(e,t)=>r.value[Be(e,t)],updateEditingCellValue:(e,t,n)=>{!s(e,t)||i.value||(r.value[Be(e,t)]=l(n))},findRowData:c,invalidate:o}}function He(e){let t=0,n=j(!1),r=j(!1),i=j(null),a=j({}),o=()=>{t++,n.value=!1,i.value=null,a.value={}},s=f(()=>{if(i.value===null)return-1;let t=e.data();return Array.isArray(t)?t.findIndex(t=>e.rowKey(t)===i.value):-1});return{isModalVisible:n,isSaving:r,editingData:a,editingRowKey:i,editingRowIndex:s,startEdit:(o,s)=>{if(r.value)return!1;let c=e.data();if(!Array.isArray(c))return!1;let u=c.findIndex(t=>e.rowKey(t)===o);return u===-1?!1:(t++,i.value=o,a.value=l(s??c[u]),n.value=!0,!0)},saveEdit:async o=>{if(r.value||i.value===null)return;let c=s.value;if(c===-1)return;let u=i.value,d=t,f=l(o??a.value);r.value=!0;try{return await e.onSave?.(f,c,u),t===d?(n.value=!1,i.value=null,a.value={},{updatedData:f,rowIndex:c}):void 0}finally{r.value=!1}},cancelEdit:async()=>{if(r.value)return!1;let o=t,c=s.value;try{if(i.value!==null&&c>-1){let t=e.data();t[c]&&await e.onCancel?.(t[c],c)}}finally{t===o&&(n.value=!1,i.value=null,a.value={})}return!0},updateEditingData:e=>r.value?!1:(a.value=l(e),!0),resetEditingState:()=>r.value?!1:(i.value=null,a.value={},!0),isEditingRow:e=>i.value===e&&n.value,getEditingRowData:e=>i.value===e?a.value:null,invalidate:o}}function Ue(e,t){try{let n=t(e);if(typeof n==`string`&&n!==``)return JSON.stringify([`string`,n]);if(typeof n==`number`&&Number.isFinite(n))return JSON.stringify([`number`,n])}catch{}}function We(e,t){if(!t)return e;let n=[],r=new WeakSet,i=[];for(let t=e.length-1;t>=0;t--)i.push(e[t]);for(;i.length;){let e=i.pop();if(r.has(e))continue;r.add(e),n.push(e);let a=e[t];if(Array.isArray(a))for(let e=a.length-1;e>=0;e--){let t=a[e];t&&typeof t==`object`&&i.push(t)}}return n}function Ge(e,t,n,r){let i=new WeakSet,a=e=>{if(e===t)return n;if(!r||i.has(e))return e;i.add(e);let o=e[r];if(!Array.isArray(o))return e;let s=o.map(e=>e&&typeof e==`object`?a(e):e);return s.some((e,t)=>e!==o[t])?{...e,[r]:s}:e};return e.map(a)}function Ke(e){return e}function q(e){return e}function qe(e,t){let n=new Map,r=[];return e.forEach((e,i)=>{let a;try{a=t(e)}catch(t){r.push({type:`error`,row:e,index:i,cause:t});return}if(a==null||a===``){r.push({type:`missing`,row:e,index:i});return}let o=n.get(a);if(o!==void 0){r.push({type:`duplicate`,row:e,index:i,key:a,firstIndex:o});return}n.set(a,i)}),r}function Je(e,t,n){let r=new Set,i=new WeakSet,a=[...e],o=e=>{try{return n(e)}catch{return}},s=e=>e!=null&&e!==``;for(;a.length;){let e=a.pop();if(i.has(e))continue;i.add(e);let n=e[t];if(!Array.isArray(n)||n.length===0)continue;let c=o(e);s(c)&&r.add(c);for(let e of n)e&&typeof e==`object`&&a.push(e)}return[...r]}const J=e=>({expandedKeys:j([...e.defaultExpandedKeys||[]]),expandDataMap:j(new Map),loadingMap:j(new Map),errorMap:j(new Map),checkedKeys:e.enableSelection?j([...e.defaultCheckedKeys||[]]):j([]),childSelections:(e.enableChildSelection,j(new Map))}),Ye=e=>{let t=f(()=>We(I(e.data),e.childrenKey)),n=e.rowKey,r=f(()=>{let e=new Map;for(let r of t.value){let t=n(r);e.has(t)||e.set(t,r)}return e});return{data:t,getRowKey:n,getChildRowKey:e.childRowKey||(e=>e.id),findRow:e=>r.value.get(e),isRowExpandable:t=>e.rowExpandable?.(t)??!0,isRowCheckable:t=>e.rowCheckable?.(t)??!0,isChildRowCheckable:(t,n)=>e.childRowCheckable?.(t,n)??!0}},Xe=(e,t,n)=>{let r=new Map,i=new Map,a=!1,o=0,s=new Set(n.defaultExpandedKeys||[]),c=t=>{let n=t===void 0?new Set([...e.expandDataMap.value.keys(),...e.errorMap.value.keys(),...r.keys()]):new Set([t]);for(let t of n)r.delete(t),i.delete(t),e.expandDataMap.value.delete(t),e.errorMap.value.delete(t),e.loadingMap.value.delete(t),e.childSelections.value.delete(t)},l=async o=>{if(!n.onLoadData||a)return[];let s=t.getRowKey(o);if(e.expandDataMap.value.has(s))return e.expandDataMap.value.get(s);if(e.errorMap.value.has(s))return[];let c=r.get(s);if(c)return c.promise;let l={};i.set(s,o),e.loadingMap.value.set(s,!0);let u=()=>!a&&r.get(s)?.token===l,d,f=new Promise(e=>{d=e});return r.set(s,{token:l,promise:f}),(async()=>{try{let t=await n.onLoadData(o),r=Array.isArray(t)?t:[];return u()?(e.expandDataMap.value.set(s,r),n.enableChildSelection&&!e.childSelections.value.has(s)&&e.childSelections.value.set(s,[]),r):[]}catch(t){return u()&&(e.errorMap.value.set(s,t),n.onError?.(t,o)),[]}finally{u()&&(r.delete(s),e.loadingMap.value.set(s,!1))}})().then(d,()=>d([])),f};return L(t.data,n=>{if(i.size===0)return;let r=new Map(n.map(e=>[t.getRowKey(e),e]));for(let[t,n]of i){let i=r.get(t);i!==n&&(c(t),i&&e.expandedKeys.value.includes(t)&&l(i),i||s.delete(t))}e.expandedKeys.value=e.expandedKeys.value.filter(e=>r.has(e))}),C()&&ie(()=>{a=!0,c()}),{loadData:l,retryExpand:async e=>{let n=t.findRow(e);n&&(c(e),await l(n))},invalidateExpand:c,handleRowExpand:async(r,i)=>{let a=t.getRowKey(r);if(o+=1,i){if(s.add(a),e.expandedKeys.value.includes(a)||(e.expandedKeys.value=[...e.expandedKeys.value,a]),await l(r),!s.has(a))return}else s.delete(a),e.expandedKeys.value=e.expandedKeys.value.filter(e=>e!==a);n.onExpandChange?.(e.expandedKeys.value,r,i)},expandAll:async()=>{let r=++o,i=t.data.value.filter(t.isRowExpandable);s=new Set(i.map(t.getRowKey)),e.expandedKeys.value=[...s],await Promise.allSettled(i.map(l)),r===o&&(e.expandedKeys.value=i.map(t.getRowKey),n.onExpandChange?.(e.expandedKeys.value))},collapseAll:()=>{o+=1,s.clear(),e.expandedKeys.value=[],e.childSelections.value.clear(),n.onExpandChange?.(e.expandedKeys.value)},handleExpandChange:async r=>{let i=++o;s=new Set(r);let a=new Set(e.expandedKeys.value),c=new Set(r),u=[...c].filter(e=>!a.has(e)),d=e.expandedKeys.value.filter(e=>!c.has(e));for(let t of d)e.childSelections.value.delete(t);e.expandedKeys.value=[...r],await Promise.all(u.map(async e=>{let n=t.findRow(e);n&&await l(n)})),i===o&&n.onExpandChange?.(r)}}},Ze=(e,t,n)=>{let r=[],i=[],a=(t,a)=>{let o=t.length===r.length&&t.every((e,t)=>e===r[t]),s=a.length===i.length&&a.every((e,t)=>e===i[t]);o&&s||(r=[...t],i=[...a],n.onSelectionChange?.(t,a,e.childSelections.value))},o=f(()=>t.data.value.filter(t.isRowCheckable));return{selectAll:()=>{if(!n.enableSelection)return;let r=o.value.map(t.getRowKey),i=n.maxSelection?r.slice(0,n.maxSelection):r;e.checkedKeys.value=i;let s=new Set(i);a(i,o.value.filter(e=>s.has(t.getRowKey(e))))},clearSelection:()=>{n.enableSelection&&(e.checkedKeys.value=[],a([],[]))},handleSelectionChange:r=>{if(!n.enableSelection)return;let i=new Set(o.value.map(e=>t.getRowKey(e))),s=[...new Set(r)].filter(e=>i.has(e)),c=n.maxSelection?s.slice(0,Math.max(0,n.maxSelection)):s;e.checkedKeys.value=c;let l=new Set(c);a(c,t.data.value.filter(e=>l.has(t.getRowKey(e))))},selectedRowsCount:f(()=>e.checkedKeys.value.length),selectableRows:o}},Qe=(e,t)=>{let n=()=>!!(t.enableParentChildLink&&t.enableSelection&&t.enableChildSelection);return{handleParentChildLink:(r,i,a)=>{if(!n())return;let o=t.parentChildLinkMode===`strict`?i.length===a&&a>0:i.length>0,s=[...e.checkedKeys.value],c=s.includes(r);o&&!c?e.checkedKeys.value=[...s,r]:!o&&c&&(e.checkedKeys.value=s.filter(e=>e!==r))},isLinkEnabled:n}},$e=(e,t,n,r)=>({totalChildSelections:f(()=>r.enableChildSelection?Array.from(e.childSelections.value.values()).reduce((e,t)=>e+t.length,0):0),clearAllSelections:()=>{e.checkedKeys.value=[],e.childSelections.value.clear(),r.onSelectionChange?.([],[],e.childSelections.value)},handleChildSelectionChange:(i,a)=>{if(!r.enableChildSelection)return;e.childSelections.value.set(i,a);let o=e.expandDataMap.value.get(i)||[],s=o.filter(e=>a.includes(t.getChildRowKey(e)));r.onChildSelectionChange?.(i,a,s),n.isLinkEnabled()&&n.handleParentChildLink(i,a,o.length)}}),et=(e,t,n,r,i)=>{if(!i.enableChildSelection)return;let a=t.childSelections.value.get(e)||[],o=t.expandDataMap.value.get(e)||[],s=n.findRow(e);if(!s)return;let c=o.filter(e=>n.isChildRowCheckable(e,s));return{selectedKeys:a,isAllChecked:c.length>0&&c.every(e=>a.includes(n.getChildRowKey(e))),selectAll:()=>{let t=c.map(e=>n.getChildRowKey(e));r.handleChildSelectionChange(e,t)},clearAll:()=>{r.handleChildSelectionChange(e,[])}}},tt=e=>w(`div`,{class:`flex justify-center items-center py-8`},e?[e()]:[w(ye,{size:`small`}),w(`span`,{class:`ml-2 text-gray-500`},`加载中...`)]),nt=()=>w(`div`,{class:`text-center py-8 text-gray-400`},`暂无数据`),rt=e=>{if(!e.length)return[];let t=e[0];return!t||typeof t!=`object`?[]:[{title:`序号`,key:`_index`,width:60,align:`center`,titleAlign:`center`,render:(e,t)=>t+1},...Object.keys(t).filter(e=>![`id`,`key`].includes(e)).map(e=>({key:e,title:e.charAt(0).toUpperCase()+e.slice(1),width:120,align:`center`,titleAlign:`center`,ellipsis:{tooltip:!0}}))]},Y=(e,t,n,r,i,a)=>{let o=[];return a.enableChildSelection&&o.push({type:`selection`,multiple:!0}),o.push(...rt(t)),w(`div`,{class:`p-4 bg-gray-50`},[w(`div`,{class:`mb-2 text-sm text-gray-600`},`详细信息 (${t.length} 条)`),w(ue,{data:t,columns:o,size:`small`,striped:!0,checkedRowKeys:n?.selectedKeys||[],rowKey:e=>r.getChildRowKey(e),onUpdateCheckedRowKeys:a.enableChildSelection?t=>{i.handleChildSelectionChange(e,t)}:void 0})])},it=(e,n,r,i,a)=>{let{t:o}=t(()=>a.locale),s=t=>{let s=n.getRowKey(t),c=e.expandDataMap.value.get(s)||[],l=e.loadingMap.value.get(s)||!1,u=et(s,e,n,r,a);return a.renderContent?a.renderContent(t,c,l,u):l?tt(a.renderLoading):e.errorMap.value.has(s)?w(`div`,{class:`c-table-expand-error`,role:`alert`},[w(`span`,o(`table.loadFailed`)),w(z,{size:`small`,onClick:()=>i.retryExpand(s)},()=>o(`common.retry`))]):c.length?Y(s,c,u,n,r,a):nt()};return{getTableColumns:e=>e.map(e=>{if(e.type===`selection`&&a.enableSelection){let t=`disabled`in e?e.disabled:void 0,r=`multiple`in e?e.multiple:void 0;return{...e,type:`selection`,disabled:e=>!!t?.(e)||!n.isRowCheckable(e),multiple:a.maxSelection===1?!1:r??!0}}return e.type===`expand`&&(a.onLoadData||a.renderContent)?{...e,type:`expand`,expandable:t=>n.isRowExpandable(t)&&(!(`expandable`in e)||e.expandable?.(t)!==!1),renderExpand:s}:e})}};function at(e){let t=J(e),n=Ye(e),r=Xe(t,n,e),i=Ze(t,n,e),a=$e(t,n,Qe(t,e),e),o=it(t,n,a,r,e);return L(n.data,()=>{!e.enableSelection||t.checkedKeys.value.length===0||i.handleSelectionChange(t.checkedKeys.value)}),e.defaultExpandedKeys?.length&&D(async()=>{let i=e.defaultExpandedKeys||[];if(i.length===0)return;let a=i.map(async e=>{let i=n.findRow(e);i&&!t.expandDataMap.value.has(e)&&await r.loadData(i)});await Promise.allSettled(a)}),{expandedKeys:t.expandedKeys,checkedKeys:t.checkedKeys,childSelections:t.childSelections,selectedRowsCount:i.selectedRowsCount,totalChildSelections:a.totalChildSelections,expandAll:r.expandAll,collapseAll:r.collapseAll,expandRow:async e=>{if(t.expandedKeys.value.includes(e)&&!t.loadingMap.value.get(e))return;let i=n.findRow(e);i&&await r.handleRowExpand(i,!0)},handleExpandChange:r.handleExpandChange,selectAll:i.selectAll,clearSelection:i.clearSelection,clearAllSelections:a.clearAllSelections,handleSelectionChange:i.handleSelectionChange,getTableColumns:o.getTableColumns,expandDataMap:t.expandDataMap,loadingMap:t.loadingMap,errorMap:t.errorMap,retryExpand:r.retryExpand,invalidateExpand:r.invalidateExpand}}const ot={text:`Robot Admin`,textSize:16,textColor:`rgba(128, 128, 128, 0.3)`,font:`Microsoft JhengHei`,opacity:.3,rotate:-20,position:`repeat`,xGap:200,yGap:120},st={scale:1,quality:.92,format:`png`,backgroundColor:`#ffffff`,logging:!1,allowTaint:!0,useCORS:!0},ct={orientation:`portrait`,paperSize:`A4`,margin:`10mm 10mm 0 10mm`,style:`@page { margin: 10mm 10mm 0 10mm; } @media print { body { margin: 0; } }`,header:``,footer:``,showModal:!1,modalMessage:`正在准备打印...`,onLoadingStart:()=>{},onLoadingEnd:()=>{},onPrintDialogClose:()=>{}};function lt(e,t,n,r){e.save(),e.translate(t/2,n/2),e.rotate(r.rotate*Math.PI/180),e.fillText(r.text,0,0),e.restore()}function ut(e,t,n,r){[[50,50],[t-50,50],[50,n-50],[t-50,n-50]].forEach(([t,n])=>{e.save(),e.translate(t,n),e.rotate(r.rotate*Math.PI/180),e.fillText(r.text,0,0),e.restore()})}function X(e,t,n,r){let i=Math.sqrt(t*t+n*n),a=t/2,o=n/2;e.save(),e.translate(a,o),e.rotate(Math.atan2(n,t));let s=Math.floor(i/r.xGap),c=-i/2;for(let t=0;t<=s;t++){let n=c+t*r.xGap;e.fillText(r.text,n,0)}e.restore()}function dt(e,t,n,r){let i=Math.ceil(t/r.xGap)+1,a=Math.ceil(n/r.yGap)+1;for(let t=0;t<a;t++)for(let n=0;n<i;n++){let i=n*r.xGap+r.xGap/2,a=t*r.yGap+r.yGap/2;e.save(),e.translate(i,a),e.rotate(r.rotate*Math.PI/180),e.fillText(r.text,0,0),e.restore()}}function ft(e,t){let n=e.getContext(`2d`);if(!n)return e;let r={...ot,...t},{width:i,height:a}=e;n.save(),n.globalAlpha=r.opacity,n.font=`${r.textSize}px ${r.font}`,n.fillStyle=r.textColor,n.textAlign=`center`,n.textBaseline=`middle`;let o={center:lt,corner:ut,diagonal:X,repeat:dt};return(o[r.position]||o.repeat)(n,i,a,r),n.restore(),e}async function pt(e,t={}){if(typeof window>`u`)throw Error(`截图功能仅支持浏览器环境`);let n={...st,...t},{default:r}=await import(`html2canvas`);return await r(e,{logging:n.logging,scale:n.scale,allowTaint:n.allowTaint,useCORS:n.useCORS,backgroundColor:n.backgroundColor,onclone:e=>{let t=e.body;t.style.transform=`scale(1)`}})}function Z(e,t=`png`,n=.92){let r=`image/${t}`;return t===`png`?e.toDataURL(r):e.toDataURL(r,n)}function mt(e,t=`screenshot-${new Date().toISOString().slice(0,10)}.png`,n=`png`){let r=Z(e,n),i=document.createElement(`a`);i.download=t,i.href=r,document.body.appendChild(i),i.click(),document.body.removeChild(i)}async function ht(e,t={}){if(typeof window>`u`)throw Error(`打印功能仅支持浏览器环境`);let n={...ct,...t},{default:r}=await import(`print-js`);return new Promise((t,i)=>{try{n.onLoadingStart?.(),r({printable:e,type:`image`,style:n.style,showModal:n.showModal,modalMessage:n.modalMessage,onLoadingEnd:n.onLoadingEnd,onPrintDialogClose:()=>{n.onPrintDialogClose?.(),t()}})}catch(e){i(e)}})}function gt(e,t,n){let r=0,i=0;e.forEach(e=>{let{width:n,height:a}=e;t===`horizontal`?(r+=n,i=Math.max(i,a)):(r=Math.max(r,n),i+=a)});let a=(e.length-1)*n;return t===`horizontal`?r+=a:i+=a,{totalWidth:r,totalHeight:i}}function _t(e,t){let{orientation:n,spacing:r,backgroundColor:i,totalWidth:a,totalHeight:o}=t,s=document.createElement(`canvas`);s.width=a,s.height=o;let c=s.getContext(`2d`);if(!c)throw Error(`无法创建画布上下文`);c.fillStyle=i,c.fillRect(0,0,a,o);let l=0,u=0;return e.forEach(e=>{c.drawImage(e,l,u),n===`horizontal`?l+=e.width+r:u+=e.height+r}),s}function vt(e,t,n){return e.length?{orientation:t.orientation||`vertical`,spacing:t.spacing||20,backgroundColor:t.backgroundColor||`#ffffff`}:(n.warning(`没有要打印的元素`),null)}async function yt(e,t,n,r){let{orientation:i,spacing:a,backgroundColor:o}=n;r(10);let s=await Promise.all(e.map(e=>pt(e,t.capture)));r(50);let{totalWidth:c,totalHeight:l}=gt(s,i,a);return r(60),_t(s,{orientation:i,spacing:a,backgroundColor:o,totalWidth:c,totalHeight:l})}async function Q(e,t,n,r,i){r(70),t.watermark&&ft(e,t.watermark),r(90),await ht(Z(e,t.capture?.format,t.capture?.quality),t.print),r(100),i.success(`合并打印完成,共合并 ${n} 个元素`)}function bt(){let e=n(),t=j(!1),r=j(0),i=e=>{r.value=Math.max(0,Math.min(100,e))},a=async(e,t={})=>{try{i(0),i(30);let n=await pt(e,t.capture);i(60),t.watermark&&ft(n,t.watermark),i(90);let r=Z(n,t.capture?.format||`png`,t.capture?.quality||.92);return i(100),r}catch(e){throw Error(`截图失败: ${e instanceof Error?e.message:`未知错误`}`)}},o=async(n,r={})=>{t.value=!0,i(0);try{await D();let t=await a(n,r);i(95),await ht(t,r.print),i(100),e.success(`打印完成`)}catch(t){throw e.error(`打印失败: ${t instanceof Error?t.message:`未知错误`}`,t),t}finally{t.value=!1,i(0)}},s=async(n,r,i={})=>{t.value=!0;try{await D();let t=await pt(n,i.capture);i.watermark&&ft(t,i.watermark);let a=i.capture?.format||`png`,o=`screenshot-${new Date().toISOString().slice(0,19).replace(/:/g,`-`)}.${a}`;mt(t,r||o,a),e.success(`下载完成`)}catch(t){throw e.error(`下载失败`,t),t}finally{t.value=!1}},c=async(e,t=`Robot Admin`)=>o(e,{watermark:{text:t,position:`repeat`,textColor:`rgba(128, 128, 128, 0.3)`}}),l=async(e,t={})=>{let n=e.length;i(10);let r=e.map(async(e,r)=>{let o=await a(e,t);return i(10+(r+1)/n*70),o});return Promise.all(r)},u=async(e,t={})=>{await e.reduce(async(n,r,i)=>{await n,await ht(r,t),i<e.length-1&&await new Promise(e=>{setTimeout(()=>e(),1e3)})},Promise.resolve())};return{loading:t,progress:r,captureWithWatermark:a,printWithWatermark:o,downloadScreenshot:s,quickPrint:c,batchCapture:l,batchPrint:async(n,r={})=>{if(!n.length){e.warning(`没有要打印的元素`);return}t.value=!0;try{i(0);let t=await l(n,r);i(80),await u(t,r.print),i(100),e.success(`批量打印完成,共 ${n.length} 个元素`)}catch(t){throw e.error(`批量打印失败`,t),t}finally{t.value=!1,i(0)}},mergePrint:async(n,r={},a={})=>{let o=vt(n,a,e);if(o){t.value=!0;try{await Q(await yt(n,r,o,i),r,n.length,i,e)}catch(t){throw e.error(`合并打印失败`,t),t}finally{t.value=!1,i(0)}}},createPreset:(e,t)=>({use:e=>o(e,t),download:(e,n)=>s(e,n,t)}),updateProgress:i,utils:{captureElement:pt,drawWatermark:ft,canvasToDataURL:Z,downloadCanvas:mt,printImage:ht}}}const xt={table:{watermark:{text:`Robot Admin - 数据表格`,position:`repeat`,textColor:`rgba(100, 100, 100, 0.25)`,textSize:14,xGap:250,yGap:120},capture:{scale:1.2},print:{orientation:`landscape`,style:`@page { margin: 8mm; } body { font-family: Arial, sans-serif; }`}},form:{watermark:{text:`Robot Admin - 表单数据`,position:`diagonal`,textColor:`rgba(150, 150, 150, 0.2)`,textSize:16},print:{orientation:`portrait`}},report:{watermark:{text:`Robot Admin - 机密报告`,position:`center`,textColor:`rgba(200, 50, 50, 0.15)`,textSize:24},capture:{quality:.95,format:`png`}}};function St(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?`row_${crypto.randomUUID()}`:`row_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}function Ct(e,t){return typeof t==`function`?t(e):Reflect.get(e,t)}function wt(e,t,n){if(e){let r=e(n===void 0?void 0:l(n));if(!r||typeof r!=`object`||Array.isArray(r))return null;let i=l(r);return n&&typeof t==`string`?{...l(n),[t]:Reflect.get(i,t)}:i}return typeof t==`string`?{...n?l(n):{},[t]:St()}:null}function Tt(e,...i){let a=i[0]??{},o={enabled:!0,rowKey:`id`,enableRadioSelection:!0,enableAdd:!0,enableInsert:!0,enableDelete:!0,enableCopy:!0,enableMove:!0,enablePrint:!0,confirmDelete:!0,deleteConfirmText:``,printPreset:`table`,printTargetSelector:`.c-table-wrapper`},s=A({...o,...F(a)});L(()=>F(a),e=>{let t=s;Object.keys(t).forEach(e=>delete t[e]),Object.assign(t,o,e)},{deep:!0});let c=n(()=>s.feedback),{t:l}=t(()=>s.locale),u=`c-table-radio-${St()}`,d=j(null),p=j(!1),m=f(()=>d.value===null?null:e.value.find(e=>Ct(e,s.rowKey)===d.value)||null),h=f(()=>m.value?e.value.findIndex(e=>e===m.value):-1),g=f(()=>h.value>0),_=f(()=>h.value>=0&&h.value<e.value.length-1),{loading:v,progress:y,printWithWatermark:b,downloadScreenshot:x,quickPrint:S}=bt(),T=()=>{if(s.printOptions)return s.printOptions;let e=xt[s.printPreset||`table`];return s.printWatermarkText&&e.watermark?{...e,watermark:{...e.watermark,text:s.printWatermarkText}}:e},E=e=>{s.onRowChange?.(e)},ee=t=>{let n=Ct(t,s.rowKey);return(typeof n==`string`&&n!==``||typeof n==`number`&&Number.isFinite(n))&&!e.value.some(e=>Ct(e,s.rowKey)===n)?!0:(c.warning(l(`table.invalidRowKeys`,{count:1})),!1)},D=e=>{try{let t=wt(s.defaultRowData,s.rowKey,e);if(t)return ee(t)?t:null;c.warning(l(`table.invalidRowKeys`,{count:1}))}catch(t){c.error(l(`table.actionFailed`,{action:l(e?`table.copyRow`:`table.addRow`)}),t)}return null},te=()=>{if(!s.enabled||!s.enableAdd)return;let t=D();t&&(E([...e.value,t]),s.onRowAdd?.(t),c.success(l(`table.addRowSuccess`)))},O=()=>{if(!s.enabled||!s.enableInsert||!m.value){c.warning(l(`table.selectRowFirst`));return}let t=D();if(!t)return;let n=[...e.value];n.splice(h.value+1,0,t),E(n),s.onRowAdd?.(t),c.success(l(`table.insertRowSuccess`))},ne=()=>{if(!s.enabled||!s.enableDelete||!m.value){c.warning(l(`table.selectDeleteRowFirst`));return}s.confirmDelete?p.value=!0:re()},re=()=>{if(!m.value)return;let t=m.value,n=h.value;E(e.value.filter((e,t)=>t!==n)),d.value=null,s.onSelectionChange?.(null,null),s.onRowDelete?.(t,n),c.success(l(`table.deleteRowSuccess`)),p.value=!1},k=()=>{if(!s.enabled||!s.enableCopy||!m.value){c.warning(l(`table.selectCopyRowFirst`));return}let t=m.value,n=D(t);n&&(E([...e.value,n]),s.onRowCopy?.(t,n),c.success(l(`table.copyRowSuccess`)))},ae=()=>{if(!s.enabled||!s.enableMove||!g.value)return;let t=h.value,n=[...e.value],r=n[t];[n[t],n[t-1]]=[n[t-1],n[t]],E(n),s.onRowMove?.(r,t,t-1),c.success(l(`table.moveUpSuccess`))},oe=()=>{if(!s.enabled||!s.enableMove||!_.value)return;let t=h.value,n=[...e.value],r=n[t];[n[t],n[t+1]]=[n[t+1],n[t]],E(n),s.onRowMove?.(r,t,t+1),c.success(l(`table.moveDownSuccess`))},se=t=>{if(!s.enabled)return;let n=e.value.find(e=>Ct(e,s.rowKey)===t);n&&(d.value=t,s.onSelectionChange?.(t,n))},M=()=>{d.value=null,s.onSelectionChange?.(null,null)},P=async e=>{if(!e.value){c.error(l(`table.printTargetMissing`));return}let t=T();await b(e.value,t)};return C()&&ie(()=>{d.value=null,p.value=!1}),{selectedRowKey:d,selectedRowData:m,selectedRowIndex:h,canMoveUp:g,canMoveDown:_,deleteConfirmVisible:p,printLoading:v,printProgress:y,addRow:te,insertRow:O,deleteRow:ne,confirmDelete:re,copyRow:k,moveRowUp:ae,moveRowDown:oe,selectRow:se,clearSelection:M,handlePrint:P,handleDownload:async(e,t)=>{if(!e.value){c.error(l(`table.downloadTargetMissing`));return}let n=T();await x(e.value,t,n)},handleQuickPrint:async e=>{if(!e.value){c.error(l(`table.printTargetMissing`));return}let t=s.printWatermarkText||`Robot Admin`;await S(e.value,t)},enhanceColumns:e=>{if(!s.enabled)return e;let t=[...e];return s.enabled&&s.enableRadioSelection&&t.unshift({key:`_radio_selection`,title:l(`common.select`),width:80,align:`center`,editable:!1,render:e=>{let t=Ct(e,s.rowKey);return w(`div`,{class:`flex justify-center`},[w(`input`,{type:`radio`,name:u,"aria-label":l(`common.select`),checked:d.value===t,class:`cursor-pointer accent-blue-500 scale-110`,onChange:e=>{e.target.checked&&se(t)}})])}}),t},renderToolbar:e=>{if(!s.enabled)return null;let t=[];s.enablePrint&&t.push(w(z,{loading:v.value,type:`primary`,ghost:!0,onClick:async()=>{try{let t=e??document.querySelector(s.printTargetSelector);t?await P(N(t)):c.warning(l(`table.printTargetMissing`))}catch(e){c.error(l(`table.printTargetMissing`),e)}}},{icon:()=>w(r,{name:`mdi:printer`,title:l(`common.print`)}),default:()=>l(`common.print`)}));let n=[];return s.enableAdd&&n.push(w(z,{onClick:te,type:`primary`},{icon:()=>w(r,{name:`mdi:plus`,title:l(`table.addRow`)}),default:()=>l(`table.addRow`)})),s.enableInsert&&n.push(w(U,{disabled:!!m.value},{trigger:()=>w(z,{onClick:O,disabled:!m.value,type:`primary`,ghost:!0},{icon:()=>w(r,{name:`mdi:table-row-plus-after`,title:l(`table.insertRow`)}),default:()=>l(`table.insertRow`)}),default:()=>l(`table.selectRowFirst`)})),s.enableDelete&&n.push(w(U,{disabled:!!m.value},{trigger:()=>w(z,{onClick:ne,disabled:!m.value,type:`error`,ghost:!0},{icon:()=>w(r,{name:`mdi:delete`,title:l(`table.deleteRow`)}),default:()=>l(`table.deleteRow`)}),default:()=>l(`table.selectDeleteRowFirst`)})),s.enableCopy&&n.push(w(U,{disabled:!!m.value},{trigger:()=>w(z,{onClick:k,disabled:!m.value,type:`info`,ghost:!0},{icon:()=>w(r,{name:`mdi:content-copy`,title:l(`table.copyRow`)}),default:()=>l(`table.copyRow`)}),default:()=>l(`table.selectCopyRowFirst`)})),s.enableMove&&n.push(w(U,{disabled:g.value},{trigger:()=>w(z,{onClick:ae,disabled:!g.value,type:`warning`,ghost:!0},{icon:()=>w(r,{name:`mdi:arrow-up`,title:l(`table.moveUp`)}),default:()=>l(`table.moveUp`)}),default:()=>m.value?l(`table.firstRow`):l(`table.selectRowFirst`)}),w(U,{disabled:_.value},{trigger:()=>w(z,{onClick:oe,disabled:!_.value,type:`warning`,ghost:!0},{icon:()=>w(r,{name:`mdi:arrow-down`,title:l(`table.moveDown`)}),default:()=>l(`table.moveDown`)}),default:()=>m.value?l(`table.lastRow`):l(`table.selectRowFirst`)})),n.length>0&&t.push(w(le,{},()=>n)),w(`div`,{class:`dynamic-rows-toolbar mb-4 flex justify-end`},[w(ve,{},()=>t)])},renderConfirmModal:()=>w(he,{show:p.value,"onUpdate:show":e=>{p.value=e},preset:`dialog`,title:l(`table.deleteTitle`),content:s.deleteConfirmText||l(`table.deleteRowContent`),positiveText:l(`table.confirmDeleteRow`),negativeText:l(`common.cancel`),onPositiveClick:re})}}function Et(e){let r=0,{data:i,rowKey:a,emit:o}=e,s=()=>F(e.config),c=()=>s().treeEnabled?s().treeChildrenKey??`children`:void 0,l=f(()=>We(i(),c())),u=()=>l.value,d=n(()=>s().feedback),{t:p}=t(()=>s().locale),m=(e,t,n)=>i()===e&&l.value.find(e=>a(e)===t)===n,h={onSave:async(e,t,n,u)=>{let d=i(),f=u??a(e),p=l.value.find(e=>a(e)===f);if(!p)return;let h=l.value.indexOf(p),g={...p,...e},_=r;if(s().editable)try{if(await s().onEditSave?.(g,h,n),r!==_||(await o(`save`,g,h,n),r!==_)||!m(d,f,p))return;o(`update:data`,Ge(i(),p,g,c()))}catch(e){throw s().onEditError?.(e),o(`edit-error`,e),e}},onCancel:async(e,t)=>{let n=r;try{if(await s().onEditCancel?.(e,t),r!==n)return;await o(`cancel`,e,t)}catch(e){throw s().onEditError?.(e),o(`edit-error`,e),e}},onExpandChange:(e,t,n)=>{o(`expand-change`,e,t,n)},onSelectionChange:(e,t,n)=>{o(`selection-change`,e,t,n)},onChildSelectionChange:(e,t,n)=>{o(`child-selection-change`,e,t,n)},onRowChange:e=>{o(`update:data`,e),s().dynamicRows?.onRowChange?.(e)},onRowSelectionChange:(e,t)=>{o(`row-selection-change`,e,t),s().dynamicRows?.onSelectionChange?.(e,t)},onRowAdd:e=>{o(`row-add`,e),s().dynamicRows?.onRowAdd?.(e)},onRowDelete:(e,t)=>{o(`row-delete`,e,t),s().dynamicRows?.onRowDelete?.(e,t)},onRowCopy:(e,t)=>{o(`row-copy`,e,t),s().dynamicRows?.onRowCopy?.(e,t)},onRowMove:(e,t,n)=>{o(`row-move`,e,t,n),s().dynamicRows?.onRowMove?.(e,t,n)}},g=()=>({rowEdit:ze({data:u,rowKey:a,onSave:(e,t,n)=>h.onSave(e,t,void 0,n),onCancel:h.onCancel,columns:e.columns}),cellEdit:Ve({data:u,rowKey:a,onSave:h.onSave,columns:e.columns}),modalEdit:He({data:u,rowKey:a,onSave:(e,t,n)=>h.onSave(e,t,void 0,n),onCancel:h.onCancel})}),_=()=>at({data:f(()=>i()),rowKey:a,get childrenKey(){return c()},childRowKey:e=>e.id,get locale(){return s().locale},renderLoading:e.renderLoading,get defaultExpandedKeys(){return s().defaultExpandedKeys},get onLoadData(){return s().onLoadExpandData},onError:(e,t)=>{let n=s().onExpandError;n?n(e,t):d.error(p(`table.loadFailed`),e)},get renderContent(){return s().renderExpandContent},get rowExpandable(){return s().rowExpandable},get enableSelection(){return s().enableSelection},get defaultCheckedKeys(){return s().defaultCheckedKeys},get rowCheckable(){return s().rowCheckable},get maxSelection(){return s().maxSelection},get enableChildSelection(){return s().enableChildSelection},get childRowCheckable(){return s().childRowCheckable},get enableParentChildLink(){return s().enableParentChildLink},get parentChildLinkMode(){return s().parentChildLinkMode},onExpandChange:h.onExpandChange,onSelectionChange:h.onSelectionChange,onChildSelectionChange:h.onChildSelectionChange}),v=()=>Tt(f(()=>i()),f(()=>({...s().dynamicRows,rowKey:s().dynamicRows?.rowKey??F(e.rowKeyField)??a,enabled:!!s().dynamicRows&&s().dynamicRows?.enabled!==!1,feedback:s().feedback,locale:s().locale,onRowChange:h.onRowChange,onSelectionChange:h.onRowSelectionChange,onRowAdd:h.onRowAdd,onRowDelete:h.onRowDelete,onRowCopy:h.onRowCopy,onRowMove:h.onRowMove}))),y=g();L(y.rowEdit.validationErrors,e=>{y.rowEdit.editingRowKey.value!==null&&e.length&&d.error(e[0].message)}),L(y.cellEdit.cellValidationError,e=>{y.cellEdit.editingCell.value.rowKey!==null&&e&&d.error(e)});let b=()=>{r++,y.rowEdit.invalidate(),y.cellEdit.invalidate(),y.modalEdit.invalidate()};L([()=>s().editable,()=>s().editMode],b,{flush:`sync`}),C()&&ie(b);let x=_(),S=v();return{editStates:y,expandState:x,dynamicRowsState:S,stateManager:{edit:{start(e,t){if(!s().editable)return;let n=s().editMode;n===`modal`?y.modalEdit.startEdit(e):n===`cell`&&t?y.cellEdit.startEditCell(e,t):(n===`row`||n===`both`)&&y.rowEdit.startEditRow(e)},cancel(){y.modalEdit.isModalVisible.value?y.modalEdit.cancelEdit():y.cellEdit.editingCell.value.rowKey===null?y.rowEdit.editingRowKey.value!==null&&y.rowEdit.cancelEditRow():y.cellEdit.cancelEditCell()},async save(){y.modalEdit.isModalVisible.value?await y.modalEdit.saveEdit():y.cellEdit.editingCell.value.rowKey===null?y.rowEdit.editingRowKey.value!==null&&await y.rowEdit.saveEditRow():await y.cellEdit.saveEditCell()},isEditing(e,t){return s().editMode===`modal`?y.modalEdit.isEditingRow(e):t?y.cellEdit.isEditingCell(e,t):y.rowEdit.isEditingRow(e)},getEditingData(){return y.modalEdit.isModalVisible.value?y.modalEdit.editingData.value:y.rowEdit.editingRowKey.value===null?null:y.rowEdit.getEditingRowData(y.rowEdit.editingRowKey.value)}},expand:{async row(e){if(x){let t=[...x.expandedKeys.value];t.includes(e)||(t.push(e),x.handleExpandChange(t))}},collapse(e){if(x){let t=x.expandedKeys.value.filter(t=>t!==e);x.handleExpandChange(t)}},async toggle(e){x?.expandedKeys.value.includes(e)?this.collapse(e):await this.row(e)},async all(){await x?.expandAll()},collapseAll(){x?.collapseAll()},isExpanded(e){return x?.expandedKeys.value.includes(e)??!1}},selection:{select(e){if(x?.checkedKeys.value&&!x.checkedKeys.value.includes(e)){let t=[...x.checkedKeys.value,e];x.handleSelectionChange(t)}},unselect(e){if(x?.checkedKeys.value){let t=x.checkedKeys.value.filter(t=>t!==e);x.handleSelectionChange(t)}},all(){x?.selectAll()},clear(){x?.clearSelection()},isSelected(e){return x?.checkedKeys.value.includes(e)??!1},getSelected(){if(!x?.checkedKeys.value)return[];let e=new Set(x.checkedKeys.value);return l.value.filter(t=>e.has(a(t)))}},childSelection:{select(e,t){if(x?.childSelections.value){let n=x.childSelections.value.get(e)||[];if(!n.includes(t)){let r=[...n,t];x.childSelections.value.set(e,r),o(`child-selection-change`,e,r,[])}}},unselect(e,t){if(x?.childSelections.value){let n=(x.childSelections.value.get(e)||[]).filter(e=>e!==t);x.childSelections.value.set(e,n),o(`child-selection-change`,e,n,[])}},selectAll(e){if(x?.childSelections.value&&x.expandDataMap?.value){let t=x.expandDataMap.value.get(e)||[],n=t.map(e=>e.id);x.childSelections.value.set(e,n),o(`child-selection-change`,e,n,t)}},clear(e){x?.childSelections.value&&(x.childSelections.value.set(e,[]),o(`child-selection-change`,e,[],[]))},getSelected(e){if(!x?.childSelections.value||!x.expandDataMap?.value)return[];let t=x.childSelections.value.get(e)||[];return(x.expandDataMap.value.get(e)||[]).filter(e=>t.includes(e.id))}},dynamicRows:{add(){S?.addRow()},insert(){S?.insertRow()},delete(){S?.deleteRow()},copy(){S?.copyRow()},moveUp(){S?.moveRowUp()},moveDown(){S?.moveRowDown()},clearSelection(){S?.clearSelection()},getSelected(){return S?.selectedRowData.value||null},async print(e){S&&e&&await S.handlePrint(N(e))},async download(e,t){S&&e&&await S.handleDownload(N(e),t)}},clearAllSelections(){x?.clearAllSelections()}},expandedKeys:f(()=>x?.expandedKeys.value??[]),checkedKeys:f(()=>x?.checkedKeys.value??[]),eventHandlers:h}}const $={page:1,pageSize:10,showSizePicker:!0,showQuickJumper:!0,pageSizes:[10,20,50,100],simple:!1,size:`medium`};function Dt(e,t){return!Number.isFinite(e)||(e??0)<=0?t:Math.max(1,Math.trunc(e))}function Ot(e){let{data:t,config:n,emit:r}=e,i=j($.page),a=j($.pageSize),o=f(()=>{let e=typeof t==`function`?t():I(t);return Array.isArray(e)?e:[]}),s=f(()=>{let e=n.value;return e?.remote?Math.max(0,Math.trunc(e.total??o.value.length)):o.value.length}),c=()=>n.value?.enabled?Math.max(1,Math.ceil(s.value/a.value)):1,l=(e,t)=>{let n=Math.min(Dt(e,1),c());i.value!==n&&(i.value=n,t&&r?.(`pagination-change`,n,a.value))},u=e=>l(e,!0),d=e=>{let t=Dt(e,$.pageSize),n=a.value!==t;a.value=t,i.value=1,n&&r?.(`pagination-change`,1,t)},p=()=>l(1,!0),m=f(()=>{let e=n.value;if(!e?.enabled||e.remote)return o.value;let t=(i.value-1)*a.value;return o.value.slice(t,t+a.value)}),h=f(()=>{let e=n.value;return e?.enabled?{page:i.value,pageSize:a.value,itemCount:s.value,showSizePicker:e.showSizePicker??$.showSizePicker,showQuickJumper:e.showQuickJumper??$.showQuickJumper,pageSizes:e.pageSizes??$.pageSizes,simple:e.simple??$.simple,size:e.size??$.size,prefix:e=>`共 ${e.itemCount??0} 条`,suffix:e=>(e.itemCount??0)>0?`第 ${e.startIndex+1}-${e.endIndex} 条`:`暂无数据`,"onUpdate:page":u,"onUpdate:pageSize":d}:null});return L(()=>[n.value?.page,n.value?.pageSize],([e,t])=>{a.value=Dt(t,$.pageSize),i.value=Math.min(Dt(e,$.page),c())},{immediate:!0}),L([s,a],()=>{let e=Math.min(i.value,c());e!==i.value&&(i.value=e,r?.(`pagination-change`,e,a.value))}),{currentPage:i,currentPageSize:a,paginatedData:m,paginationConfig:h,handlePageChange:u,handlePageSizeChange:d,resetToFirstPage:p,getTotalPages:c}}function kt(e){return e.flatMap(e=>e.visible===!1?[]:`children`in e&&Array.isArray(e.children)?kt(e.children):`type`in e&&e.type?[]:[e])}function At(e,t){return e==null?t==null?0:-1:t==null?1:typeof e==`number`&&typeof t==`number`?e-t:typeof e==`string`&&typeof t==`string`?e.localeCompare(t):0}function jt(e,t,n){let{sorter:r}=e;return typeof r==`function`?r(t,n):r&&typeof r==`object`&&typeof r.compare==`function`?r.compare(t,n):r===`default`||typeof r==`object`&&r.compare===`default`?At(t[e.key],n[e.key]):0}function Mt(e,t,n){let r=Array.isArray(t)?t:[t];if(t==null||r.length===0)return!0;let{filter:i}=e,a=t=>t==null?!0:typeof i==`function`?i(t,n):i===`default`?String(n[e.key]).includes(String(t)):!0;return e.filterMode===`and`?r.every(a):r.some(a)}function Nt(e,t){return e.filterOptionValues===void 0?e.filterOptionValue===void 0?Object.prototype.hasOwnProperty.call(t,e.key)?t[e.key]:e.defaultFilterOptionValues??e.defaultFilterOptionValue:e.filterOptionValue:e.filterOptionValues}function Pt(e){let t=N(),n=N({}),r=f(()=>kt(F(e.columns))),i=f(()=>r.value.flatMap(e=>{if(e.filter!==`default`&&typeof e.filter!=`function`)return[];let t=Nt(e,n.value);return t==null||Array.isArray(t)&&t.length===0?[]:[{column:e,value:t}]})),a=f(()=>{let t=F(e.data);if(F(e.remote))return t;let n=i.value;return n.length?t.filter(e=>n.every(({column:t,value:n})=>Mt(t,n,e))):t}),o=f(()=>{let e=r.value.filter(e=>e.sortOrder===!1||e.sortOrder===`ascend`||e.sortOrder===`descend`);return e.length?e.map(e=>({columnKey:e.key,order:e.sortOrder})):t.value===void 0?r.value.map(e=>({columnKey:e.key,order:e.defaultSortOrder})):t.value?Array.isArray(t.value)?t.value:[t.value]:[]});return{processedData:f(()=>{if(F(e.remote))return F(e.data);let t=o.value.flatMap(e=>{let t=r.value.find(t=>t.key===e.columnKey);if(!t?.sorter||!e.order)return[];let n=typeof t.sorter==`object`?t.sorter.multiple??0:0;return[{column:t,direction:e.order===`ascend`?1:-1,priority:n}]}).sort((e,t)=>t.priority-e.priority);return t.length?a.value.slice().sort((e,n)=>{for(let r of t){let t=jt(r.column,e,n)*r.direction;if(t)return t}return 0}):a.value}),setSorter:e=>{t.value=e},setFilters:e=>{n.value={...e}}}}const Ft=e=>e&&typeof e==`object`&&`error`in e?e.error:null;function It(e){let{actions:i,config:a,tableManager:s,rowKey:c,onRowDeleted:l,onViewDetail:u,isDeleteFeedbackHandled:d}=e,f=o(),p=!0;C()&&ie(()=>{p=!1});let m=(e,t)=>JSON.stringify([typeof e,e,t]),h=n(()=>a.value.feedback),{t:g}=t(()=>a.value.locale),_=e=>e===`edit`?a.value.editable&&i.value?.edit!==!1:typeof i.value?.[e]==`function`,v=e=>e!==!1&&typeof e==`function`,y=e=>e&&typeof e==`object`&&`data`in e?e.data:e,b=(e,t,n=`primary`,i,o,s=!1)=>w(z,{size:a.value.controlSize??`small`,type:n,quaternary:!0,onClick:i,loading:s||(o?f.isRunning(o):!1),disabled:o?f.isRunning(o):!1},()=>[w(r,{name:e,size:14,title:t})]),x=async(e,t)=>{let n=c(e),r=i.value?.edit;if(v(r)){try{await r(e,t)}catch(e){h.error(g(`table.actionFailed`,{action:g(`common.edit`)}),e)}return}a.value.editMode===`modal`?s.editStates.modalEdit.startEdit(n,{...e}):s.editStates.rowEdit.startEditRow(n)},S=(e,t)=>{p&&!t&&h.error(g(`table.deleteFailed`),e)},T=async(e,t,n)=>{let r=d?.(e)===!0;try{let i=await e(t,n);if(!p)return;let a=Ft(i);if(a!=null){S(a,r);return}r||h.success(g(`table.deleteSuccess`)),l?.(t,n)}catch(e){throw S(e,r),e}},E=async(e,t)=>{let n=i.value?.delete;v(n)&&await h.confirm({title:g(`table.deleteTitle`),content:g(`table.deleteContent`),positiveText:g(`common.confirm`),negativeText:g(`common.cancel`),type:`warning`})&&p&&await T(n,e,t)},ee=async(e,t)=>{let n=i.value?.detail;if(!v(n)){u?.(e);return}try{let r=await n(e,t);if(!p)return;let i=y(r);u?.(i||e)}catch(t){if(!p)return;h.error(g(`table.detailFailed`),t),u?.(e)}},D=(e,t)=>f.run(m(c(e),`edit`),()=>x(e,t)),te=(e,t)=>f.run(m(c(e),`delete`),()=>E(e,t)),O=(e,t)=>f.run(m(c(e),`detail`),()=>ee(e,t)),ne=e=>s.editStates.rowEdit.isEditingRow(e)?[b(`mdi:check`,g(`common.save`),`primary`,()=>void f.run(m(e,`save`),()=>s.editStates.rowEdit.saveEditRow()).catch(e=>h.error(g(`table.actionFailed`,{action:g(`common.save`)}),e)),m(e,`save`)),b(`mdi:close`,g(`common.cancel`),`default`,()=>void f.run(m(e,`cancel`),()=>s.editStates.rowEdit.cancelEditRow()).catch(e=>h.error(g(`table.actionFailed`,{action:g(`common.cancel`)}),e)),m(e,`cancel`))]:[b(`mdi:pencil`,g(`common.edit`),`warning`,()=>s.editStates.rowEdit.startEditRow(e))],re=(e,t)=>{let n=[];return _(`detail`)&&n.push(b(`mdi:eye`,g(`common.detail`),`info`,()=>void O(e,t),m(c(e),`detail`))),_(`edit`)&&(a.value.editMode===`modal`||v(i.value?.edit))&&n.push(b(`mdi:pencil`,g(`common.edit`),`warning`,()=>void D(e,t),m(c(e),`edit`))),_(`delete`)&&n.push(b(`mdi:delete`,g(`common.delete`),`error`,()=>void te(e,t).catch(()=>void 0),m(c(e),`delete`))),n},k=(e,t)=>{let n=i.value?.custom;if(!n?.length)return null;let a=n.filter(n=>n.show?n.show(e,t):!0);return a.length?w(pe,{options:a.map(n=>{let i=typeof n.label==`function`?n.label(e,t):n.label,a=typeof n.icon==`function`?n.icon(e,t):n.icon;return{label:i,key:n.key,icon:()=>w(r,{name:a,size:14}),disabled:n.disabled?.(e,t)||f.isRunning(m(c(e),`custom:${n.key}`))}}),onSelect:n=>{let r=a.find(e=>e.key===n);if(!r)return;let i=typeof r.label==`function`?r.label(e,t):r.label;f.run(m(c(e),`custom:${r.key}`),()=>r.onClick(e,t),()=>!r.disabled?.(e,t)).catch(e=>h.error(g(`table.actionFailed`,{action:i}),e))}},()=>b(`mdi:dots-horizontal`,g(`table.moreActions`),`default`,()=>{},void 0,a.some(t=>f.isRunning(m(c(e),`custom:${t.key}`))))):null};return{renderActions:(e,t)=>{if(i.value?.render)return i.value.render(e,t);let n=c(e),r=a.value.editable&&[`row`,`both`].includes(a.value.editMode);if(r&&s.editStates.rowEdit.isEditingRow(n))return w(ve,{size:2,wrap:!1},()=>ne(n));let o=v(i.value?.edit),l=[...r&&!o?ne(n):[],...re(e,t)],u=k(e,t);return u&&l.push(u),w(ve,{size:2,wrap:!1},()=>l)},isActionEnabled:_}}const Lt=Symbol(`C_TABLE_GLOBAL_CONFIG`),Rt={date:{format:`YYYY-MM-DD`},datetime:{format:`YYYY-MM-DD HH:mm:ss`},currency:{prefix:`¥`,precision:2},percent:{precision:2,suffix:`%`},number:{precision:0}};function zt(e,t){if(e==null||e===``)return`-`;let n=new Date(typeof e==`number`?e:String(e));if(Number.isNaN(n.getTime()))return String(e);let r=e=>String(e).padStart(2,`0`);return t.replace(`YYYY`,String(n.getFullYear())).replace(`MM`,r(n.getMonth()+1)).replace(`DD`,r(n.getDate())).replace(`HH`,r(n.getHours())).replace(`mm`,r(n.getMinutes())).replace(`ss`,r(n.getSeconds()))}function Bt(e,t){if(e==null||e===``)return`-`;let n=Number(e);return Number.isNaN(n)?String(e):n.toLocaleString(`zh-CN`,{minimumFractionDigits:t,maximumFractionDigits:t})}const Vt={date:(e,t)=>zt(e,t.format??`YYYY-MM-DD`),datetime:(e,t)=>zt(e,t.format??`YYYY-MM-DD HH:mm:ss`),currency:(e,t)=>{let n=Bt(e,t.precision??2);return n===`-`?`-`:`${t.prefix??`¥`}${n}${t.suffix??``}`},percent:(e,t)=>{if(e==null||e===``)return`-`;let n=Number(e);return Number.isNaN(n)?String(e):`${(n*100).toFixed(t.precision??2)}${t.suffix??`%`}`},number:(e,t)=>Bt(e,t.precision??0)};function Ht(e,t,n,r){if(n.fn)return n.fn(e,t);if(n.type===`enum`)return n.mapping?n.mapping[String(e)]??String(e??`-`):String(e??`-`);let i=n.type&&Vt[n.type];return i?i(e,{...{...Rt,...r}[n.type],...n.config}):String(e??`-`)}function Ut(){return S()?T(Lt,{}):{}}const Wt=(e,t)=>t===void 0?e:t&&e&&typeof t==`object`&&typeof e==`object`&&!Array.isArray(t)&&!Array.isArray(e)?{...e,...t}:t;function Gt(e,t){let n=t.defaults??{},r={...n,...e};if([`edit`,`pagination`,`expand`,`selection`,`dynamicRows`,`toolbar`,`display`,`virtualScroll`,`summary`,`columnDrag`,`tree`,`rowDrag`,`crossPageSelection`,`export`,`formatterConfig`,`error`,`batchActions`].forEach(t=>{let i=e=>t===`edit`&&typeof e==`string`?{mode:e}:e,a=Wt(i(n[t]),i(e[t]));a!==void 0&&(r[t]=a)}),t.display){let e=typeof r.display==`object`?r.display:{};r.display={...t.display,...e}}if(t.pageSize&&r.pagination!==!1){let e=typeof r.pagination==`object`?r.pagination:{};e.pageSize||(r.pagination={...e,pageSize:t.pageSize})}return r}const Kt=b(()=>import(`./date-picker.js`)),qt={number:V,switch:be,input:me,email:me,mobile:me,date:e=>w(Kt,{...e,type:`date`,format:`yyyy-MM-dd`}),select:e=>w(_e,{...e,options:e.options||[]}),textarea:e=>w(me,{...e,type:`textarea`,rows:3})},Jt={number:`inputNumber`,date:`datePicker`,textarea:`textarea`,select:`select`,switch:`switch`},Yt=(e,t)=>e.filter(G).map(e=>{let n={...e.editProps};return delete n.rules,{prop:String(e.key),label:e.title||String(e.key),type:Jt[e.editType??`input`]??`input`,placeholder:e.editProps?.placeholder??`请输入${e.title}`,rules:K(e,t),attrs:n,layout:{span:1},show:!0}});function Xt(e,t,n,r={},i=0,a,o=!1){if(e.editRender)return e.editRender(t,r,i,{onUpdate:n});let s=e,c={value:t,"onUpdate:value":n,placeholder:`请输入${s.title??``}`,style:{width:`100%`},...a?{size:a}:{},...e.editProps,...o?{disabled:!0}:{}};return w(qt[e.editType||`input`]||qt.input,c)}function Zt(e,t,n,r,i){return e.render?e.render(t,n)??String(r??``):e.formatter?Ht(r,t,e.formatter,i):String(r??``)}function Qt(e,t,n,i,a,o={rowData:{},rowIndex:0}){let s=(e,t,n)=>w(`button`,{class:`cell-action-btn cell-action-${e}`,disabled:o.busy,"aria-busy":o.busy||void 0,title:t,type:`button`,onClick:e=>{e.stopPropagation(),e.preventDefault(),n(e)}},[w(r,{name:`mdi:${e===`save`?`check`:`close`}`,title:e===`save`?`保存`:`取消`,size:12})]);return w(`div`,{class:`cell-editing-container`},[w(`div`,{class:`cell-editing-input`},[Xt(e,t,n,o.rowData,o.rowIndex,o.size,o.busy)]),w(`div`,{class:`cell-editing-actions`},[s(`save`,`保存`,i),s(`cancel`,`取消`,a)])])}function $t(e,t,n,i,a,o){let s;return s=e.render?e.render(t,n)??String(i??``):e.formatter?Ht(i,t,e.formatter,o):String(i??``),w(`div`,{class:`cell-edit-wrapper`},[w(`span`,{class:`cell-value`},s),w(r,{name:`mdi:square-edit-outline`,title:`编辑`,class:`cell-edit-icon`,size:14,clickable:!0,onClick:e=>{e.stopPropagation(),a()}})])}function en(e){let{rawColumns:t,config:n,rowKey:r,tableManager:i,actionsRenderer:a,editModeChecker:o,showActionsColumn:s}=e,c=j([]),l=j(!1),u=e=>{let t=e.find(e=>e.key===`_actions`),n=c.value.find(e=>e.key===`_actions`),r=e.filter(e=>e.key!==`_actions`);c.value=s.value?[...r,t||n||{key:`_actions`,title:`操作`,width:180,editable:!1,visible:!0,fixed:`right`}]:r};L([t,s],([e])=>{e?.length?u(e):c.value=[]},{deep:!0,immediate:!0});let d=(e,t,r,a)=>{let o=e.key??``,s=t[o],{isEditingCell:c,getEditingCellValue:l,updateEditingCellValue:u,saveEditCell:d,cancelEditCell:f,startEditCell:p}=i.editStates.cellEdit;return c(a,o)?Qt(e,l(a,o),e=>u(a,o,e),()=>d(),()=>f(),{rowData:t,rowIndex:r,busy:i.editStates.cellEdit.isSaving?.value,size:n.value.density?n.value.controlSize:void 0}):$t(e,t,r,s,()=>p(a,o),n.value.formatterConfig)},p=(e,t,a)=>{let s=e.key??``,c=t[s],l=r(t),u=o.value;if(u.isNonEditable(e))return Zt(e,t,a,c,n.value.formatterConfig);if(u.isRowEditMode()&&i.editStates.rowEdit.isEditingRow(l)){let r=i.editStates.rowEdit.getEditingRowData(l);return Xt(e,r?.[s],e=>i.editStates.rowEdit.updateEditingRowData(l,s,e),r??t,a,n.value.density?n.value.controlSize:void 0,i.editStates.rowEdit.isSaving?.value)}return u.isCellEditMode()?d(e,t,a,l):Zt(e,t,a,c,n.value.formatterConfig)},m=t=>t.width===void 0?t.type===`selection`||t.type===`expand`?40:t.type===`index`?50:e.columnWidth??180:t.width,h=e=>{let t=e;return{...t,type:void 0,key:`_index`,title:t.title??`序号`,width:m(e),className:[t.className,`c-table-index-column`].filter(Boolean).join(` `),titleAlign:t.titleAlign??`center`,align:t.align??`center`,render:(e,t)=>t+1,fixed:e.fixed}},g=t=>{let n=t,r=!n.fixed&&n.width===void 0&&n.maxWidth===void 0&&e.columnWidthExplicit===!1,i={...n,width:r?void 0:m(t),minWidth:n.minWidth??(r?e.columnWidth:void 0),titleAlign:n.titleAlign||`center`,align:n.align||`center`,render:(e,n)=>p(t,e,n)};return t.fixed&&(i.fixed=t.fixed),t.resizable&&typeof i.width==`number`&&(i.resizable=!0,i.minWidth=t.minWidth??80,i.maxWidth=t.maxWidth??500),i},_=f(()=>{let e=c.value.filter(e=>{let t=e;return t.visible!==!1&&t.key!==`_actions`}).map(e=>{let t=e;return e.type===`index`?h(e):e.type===`selection`||e.type===`expand`?{...t,width:m(e)}:g(e)});if(i.dynamicRowsState&&(e=i.dynamicRowsState.enhanceColumns(e)),i.expandState&&(n.value.expandable||n.value.enableSelection)&&(e=i.expandState.getTableColumns(e)),s.value){let t=c.value.find(e=>e.key===`_actions`);e.push({...t,type:void 0,key:`_actions`,title:t?.title??`操作`,width:t?.width??180,className:[t?.className,`c-table-actions-column`].filter(Boolean).join(` `),align:t?.align??`center`,titleAlign:t?.titleAlign??`center`,render:a,fixed:t?.fixed})}return e});return{reactiveColumns:c,showSettingsPanel:l,computedColumns:_,computedScrollX:f(()=>{if(e.scrollX!==void 0)return e.scrollX;let t=_.value.some(e=>e.fixed),n=_.value.some(e=>e.type===`selection`||e.type===`expand`||e.key===`_index`),r=_.value.some(e=>!e.type&&!e.fixed&&e.key!==`_index`&&e.key!==`_actions`&&e.width===void 0);if(!(!t&&!(n&&r)))return _.value.reduce((e,t)=>{let n=t.width;return e+(typeof n==`number`?n:typeof n==`string`&&/^\s*\d+(?:\.\d+)?(?:px)?\s*$/.test(n)?Number.parseFloat(n):typeof t.minWidth==`number`?t.minWidth:180)},0)}),handleColumnChange:e=>{c.value=e.map(e=>{let t=e;return{...e,visible:t.visible!==!1,fixed:e.fixed,width:t.width??(t.type?m(e):void 0),align:t.align||`center`,titleAlign:t.titleAlign||`center`}})}}}function tn(e){let{data:t,onReorder:n,onSort:r}=e,i=j(!1),a=null,o=0,s=!1,c,l=null,u,d,f=null,p,m=t=>t.map(t=>Ue(t,e.rowKey)),h=()=>{p?.parentNode!==l||!l||f&&f.parentNode!==l||l.insertBefore(p,f)},g=()=>{a?.destroy(),a=null,l=null,u=void 0,d=void 0,p=void 0,f=null,i.value=!1},_=(e,t,n)=>{if(!u||u.length!==e.length||u.some((t,n)=>t!==e[n])||t.some((e,t)=>e===void 0||e!==d?.[t])||n.length!==t.length||new Set(n).size!==t.length)return!1;let r=new Set(t);return n.every(e=>r.has(e))},v=e=>{i.value=!1;let{item:a}=e,o=a.getAttribute(`data-c-table-row-key`),s=[...t.value],c=m(s),g=l?[...l.children].map(e=>e.getAttribute(`data-c-table-row-key`)).filter(e=>e!==null):[],v=a===p&&_(s,c,g);if(h(),u=void 0,d=void 0,p=void 0,f=null,!v||!o)return;let y=c.indexOf(o),b=g.indexOf(o);if(y<0||b<0||y===b)return;let[x]=s.splice(y,1);s.splice(b,0,x),n?.(s),r?.(x,y,b)},y=async n=>{let r=++o;c?.disconnect(),c=void 0,g();let h=F(e.config);if(!(!h||h.enabled===!1||!n||s))try{let{default:e}=await import(`sortablejs`);if(s||r!==o)return;let _=()=>{if(s||r!==o)return;let c=n.querySelector(`.n-data-table-tbody`);c!==l&&(g(),c&&(l=c,a=new e(c,{animation:h.animationDuration??150,handle:h.handleSelector,draggable:`> tr[data-c-table-row-key]`,ghostClass:h.ghostClass??`row-drag-ghost`,chosenClass:h.chosenClass??`row-drag-chosen`,onMove:e=>e.related.hasAttribute(`data-c-table-row-key`),onStart:e=>{u=[...t.value],d=m(u),p=e.item,f=e.item.nextSibling,i.value=!0},onEnd:v})))};c=new MutationObserver(_),c.observe(n,{childList:!0,subtree:!0}),_()}catch{}},b=()=>{o+=1,c?.disconnect(),c=void 0,g()};return ne(()=>{s=!0,b()}),{initRowDrag:y,destroyRowDrag:b,isDragging:i}}function nn(e){let t=j(new Set),n=M(new Map),r=()=>F(e.config)?.enabled===!0,i=(t=e.allData.value)=>We(t,F(e.childrenKey)),a=f(()=>{let t=new Map,n=new Map;for(let r of i()){let i=e.rowKey(r),a=t.get(i);if(!a)t.set(i,r);else{let e=n.get(i);e?e.push(r):n.set(i,[a,r])}}return{index:t,duplicates:n}}),o=t=>e.rowCheckable?.(t)!==!1,s=()=>{let t=F(e.config)?.maxSelection;return Number.isFinite(t)&&(t??0)>0?Math.trunc(t):void 0},c=f(()=>t.value.size),l=()=>[...t.value].flatMap(e=>{let t=n.get(e);return t?[t]:[]}),u=e=>{let t=s(),n=new Set;for(let r of e){if(t&&n.size>=t)break;n.add(r)}return n},d=(r,i=[])=>{let a=u(r);for(let t of i){let r=e.rowKey(t);a.has(r)&&n.set(r,t)}for(let e of n.keys())a.has(e)||n.delete(e);let o=t.value;o.size===a.size&&[...o].every(e=>a.has(e))||(t.value=a,e.onSelectionChange?.([...a],l()))},p=n=>i(n).map(e.rowKey).filter(e=>t.value.has(e)),m=(n,a)=>{if(!r())return;let s=i(a),c=new Set(s.filter(o).map(e.rowKey)),l=new Set(t.value);s.forEach(t=>l.delete(e.rowKey(t))),n.forEach(e=>{c.has(e)&&l.add(e)}),d(l,s)},h=()=>{if(!r())return;let n=i().filter(o),a=n.map(e.rowKey);d(F(e.remote)?[...t.value,...a]:a,n)},g=e=>{if(!r())return!1;if(t.value.has(e))return!0;let{index:n,duplicates:i}=a.value,c=i.get(e),l=c?c.find(o):n.get(e);if(!l||!c&&!o(l))return!1;let u=s();return u&&t.value.size>=u?!1:(d([...t.value,e],[l]),!0)},_=e=>{if(!t.value.has(e))return;let n=new Set(t.value);n.delete(e),d(n)},v=()=>d([]);return L(e.allData,a=>{if(!r()||t.value.size===0)return;let o=i(a);if(F(e.remote)){for(let r of o){let i=e.rowKey(r);t.value.has(i)&&n.set(i,r)}return}let s=new Set(o.map(e.rowKey));d([...t.value].filter(e=>s.has(e)),o)}),L(()=>[r(),s()],([e])=>{e?d(t.value):v()}),{selectedKeys:t,selectedCount:c,getPageCheckedKeys:p,handlePageSelectionChange:m,selectAll:h,select:g,unselect:_,clearAll:v,getSelectedRows:l,isSelected:e=>t.value.has(e)}}function rn(e,t){return e.filter(e=>typeof e.key!=`string`||e.key.startsWith(`_`)||e.type===`selection`||e.type===`expand`?!1:t?.length?t.includes(e.key):e.visible!==!1)}function an(e,t,n){let r=e[t.key];return t.formatter?Ht(r,e,t.formatter,n):r==null?``:typeof r==`boolean`?r?`是`:`否`:String(r)}function on(e,t,n){let r=n&&/^[=+\-@\t\r]/.test(e)?`'${e}`:e;return r.includes(t)||r.includes(`"`)||r.includes(`
1
+ import{t as e}from"./density.js";import{t}from"./useComponentLocale.js";import{t as n}from"./feedback.js";import{t as r}from"./C_Icon2.js";import{t as i}from"./export-helper.js";import{t as a}from"./C_Loading2.js";import{t as o}from"./useActionTask.js";import{t as s}from"./C_ActionBar2.js";import{a as c,t as l}from"./data.js";import{i as u}from"./formValidation.js";import{Fragment as d,computed as f,createBlock as p,createCommentVNode as m,createElementBlock as h,createElementVNode as g,createSlots as _,createTextVNode as v,createVNode as y,defineAsyncComponent as b,defineComponent as x,getCurrentInstance as S,getCurrentScope as C,h as w,inject as T,isRef as E,mergeProps as ee,nextTick as D,normalizeClass as te,normalizeStyle as O,onBeforeUnmount as ne,onMounted as re,onScopeDispose as ie,openBlock as k,reactive as A,ref as j,renderList as ae,renderSlot as oe,resolveDynamicComponent as se,shallowReactive as M,shallowRef as N,toDisplayString as P,toValue as F,unref as I,useAttrs as ce,watch as L,withCtx as R}from"vue";import{NButton as z,NButtonGroup as le,NCheckbox as B,NDataTable as ue,NDrawer as de,NDrawerContent as fe,NDropdown as pe,NInput as me,NInputNumber as V,NModal as he,NPagination as ge,NSelect as _e,NSpace as ve,NSpin as ye,NSwitch as be,NTag as xe,NText as H,NTooltip as U}from"naive-ui";const Se={editable:!1,editMode:`none`,showRowActions:!1,modalTitle:`编辑数据`,modalWidth:600,onEditSave:void 0,onEditCancel:void 0,onEditError:void 0},Ce=e=>{if(e===!1||e===void 0)return Se;if(typeof e==`string`)return Ce({mode:e});if(e===!0)return{editable:!0,editMode:`modal`,showRowActions:!0,modalTitle:`编辑数据`,modalWidth:600,onEditSave:void 0,onEditCancel:void 0,onEditError:void 0};let t=e.enabled!==!1&&e.mode!==`none`;return{editable:t,editMode:e.mode||`modal`,showRowActions:t&&e.showRowActions!==!1,modalTitle:e.modalTitle||`编辑数据`,modalWidth:e.modalWidth||600,onEditSave:e.onSave,onEditCancel:e.onCancel,onEditError:e.onError}},we=e=>e?e===!0?{expandable:!0,defaultExpandedKeys:void 0,onLoadExpandData:void 0,onExpandError:void 0,renderExpandContent:void 0,rowExpandable:void 0}:{expandable:e.enabled!==!1,defaultExpandedKeys:e.defaultExpandedKeys,onLoadExpandData:e.onLoadData,onExpandError:e.onError,renderExpandContent:e.renderContent,rowExpandable:e.rowExpandable}:{expandable:!1,defaultExpandedKeys:void 0,onLoadExpandData:void 0,onExpandError:void 0,renderExpandContent:void 0,rowExpandable:void 0},Te=e=>{if(!e)return{enableSelection:!1,defaultCheckedKeys:void 0,rowCheckable:void 0,maxSelection:void 0,enableChildSelection:!1,childRowCheckable:void 0,enableParentChildLink:!1,parentChildLinkMode:`loose`};if(e===!0)return{enableSelection:!0,defaultCheckedKeys:void 0,rowCheckable:void 0,maxSelection:void 0,enableChildSelection:!1,childRowCheckable:void 0,enableParentChildLink:!1,parentChildLinkMode:`loose`};let t=e.childSelection||{},n=e.parentChildLink||{};return{enableSelection:e.enabled!==!1,defaultCheckedKeys:e.defaultCheckedKeys,rowCheckable:e.rowCheckable,maxSelection:e.maxSelection,enableChildSelection:t.enabled||!1,childRowCheckable:t.childRowCheckable,enableParentChildLink:n.enabled||!1,parentChildLinkMode:n.mode||`loose`}},W=(t,n)=>{let r={enabled:!0,page:1,pageSize:10,showSizePicker:!0,showQuickJumper:!0,pageSizes:[10,20,50,100],simple:!1,size:n?e(n).size:`medium`};return t===!1?{pagination:null}:t===!0||t===void 0?{pagination:r}:{pagination:{...r,...t}}},Ee=e=>e?e===!0?{dynamicRows:{enableRadioSelection:!0,enableAdd:!0,enableInsert:!0,enableDelete:!0,enableCopy:!0,enableMove:!0,enablePrint:!0}}:{dynamicRows:e}:{dynamicRows:void 0},De={striped:!0,bordered:!0,singleLine:!0,size:`medium`,maxHeight:void 0,scrollX:void 0,columnWidth:180};function Oe(t,n){let{size:r}=e(n);return t?{striped:t.striped??De.striped,bordered:t.bordered??De.bordered,singleLine:t.singleLine??De.singleLine,size:t.size??r,maxHeight:t.maxHeight,scrollX:t.scrollX,columnWidth:t.columnWidth??De.columnWidth}:{...De,size:r}}const ke=(t,n)=>({showToolbar:t?.show!==!1,enableColumnSettings:t?.columnSettings!==!1,toolbarActions:t?.actions??[],toolbarRightActions:t?.rightActions??[],toolbarActionBarConfig:{...n?{size:e(n).size,compact:n===`compact`}:{},...t?.actionBar}}),Ae=e=>e?e===!0?{virtualScroll:!0,virtualItemHeight:34,virtualMaxHeight:600}:{virtualScroll:e.enabled!==!1,virtualItemHeight:e.itemHeight??34,virtualMaxHeight:e.maxHeight??600}:{virtualScroll:!1,virtualItemHeight:34,virtualMaxHeight:600},je=e=>e?{summaryPosition:e.position??`bottom`,summaryRender:e.render}:{summaryPosition:void 0,summaryRender:void 0},Me=e=>e?e===!0?{enableColumnDrag:!0,columnDragHandleClass:void 0,columnDragAnimationDuration:150}:{enableColumnDrag:e.enabled!==!1,columnDragHandleClass:e.handleClass,columnDragAnimationDuration:e.animationDuration??150}:{enableColumnDrag:!1,columnDragHandleClass:void 0,columnDragAnimationDuration:150},Ne=e=>e?e===!0?{treeEnabled:!0,treeChildrenKey:`children`,treeIndent:16,treeDefaultExpandAll:!1}:{treeEnabled:e.enabled!==!1,treeChildrenKey:e.childrenKey??`children`,treeIndent:e.indent??16,treeDefaultExpandAll:e.defaultExpandAll??!1}:{treeEnabled:!1,treeChildrenKey:`children`,treeIndent:16,treeDefaultExpandAll:!1},Pe=e=>e?e===!0?{rowDrag:{enabled:!0}}:{rowDrag:e.enabled===!1?void 0:e}:{rowDrag:void 0},Fe=e=>e?e===!0?{crossPageSelection:{enabled:!0}}:{crossPageSelection:e.enabled===!1?void 0:e}:{crossPageSelection:void 0};function Ie(t={}){return{density:t.density,controlSize:t.density?e(t.density).size:`small`,feedback:t.feedback,locale:t.locale,...Ce(t.edit),...we(t.expand),...Te(t.selection),...W(t.pagination,t.density),...Ee(t.dynamicRows),...Oe(t.display,t.density),...ke(t.toolbar,t.density),...Ae(t.virtualScroll),...je(t.summary),...Me(t.columnDrag),...Ne(t.tree),...Pe(t.rowDrag),...Fe(t.crossPageSelection),exportConfig:t.export,persistKey:t.persistKey,formatterConfig:t.formatterConfig,error:t.error,batchActions:t.batchActions}}const Le=e=>({isNonEditable:t=>!e.editable||t.editable===!1||e.editMode===`none`,isRowEditMode:()=>[`row`,`both`].includes(e.editMode),isCellEditMode:()=>[`cell`,`both`].includes(e.editMode)});function G(e){return e.type===void 0&&e.editable!==!1&&e.key!==`_actions`&&String(e.key??``).trim().length>0}function K(e,t){if(!G(e))return[];let n=[...e.editProps?.rules??[]];return e.required&&!n.some(e=>e.required)&&n.unshift(u(e.title,`${e.title}不能为空`)),n.map(n=>{let r={...n};if(r.type===void 0&&(e.editType===`number`&&(r.type=`number`),e.editType===`switch`&&(r.type=`boolean`)),n.validator){let e=n.validator;r.validator=(n,r,i,a,o)=>{let s=!1;try{let c=e(n,r,e=>{s=!0,i(e)},t?.()??a,o);return c===void 0&&!s?!0:c}catch(e){return e instanceof Error?e:Error(String(e))}}}if(n.asyncValidator){let e=n.asyncValidator;r.asyncValidator=(n,r,i,a,o)=>new Promise((i,s)=>{e(n,r,e=>{e?s(e):i()},t?.()??a,o)?.then(i,s)})}return r})}async function Re(e,t,n,r,i=e.key??`value`){if(e.level===`warning`)return null;let a=`${n}校验失败`;try{let n=(await import(`async-validator`)).default;return await new(`default`in n?n.default:n)({[i]:e}).validate({...r,[i]:t},{first:!0,suppressWarning:!0,suppressValidatorError:!0}),null}catch(e){return(e?.errors)?.[0]?.message??(e instanceof Error?e.message:a)}}function ze(e){let t=0,n=j(null),r=j({}),i=j(!1),a=j([]),o=()=>{t++,n.value=null,r.value={},a.value=[]},s=e=>n.value===e,c=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)},u=e=>{let t=c(e);return!t||i.value?!1:(n.value=e,r.value={[String(e)]:l(t)},a.value=[],!0)},d=async()=>{if(n.value===null||i.value)return;let t=e.data();if(!t||!Array.isArray(t))return;let a=t.findIndex(t=>e.rowKey(t)===n.value);i.value=!0;try{a>-1&&await e.onCancel?.(t[a],a),n.value=null,r.value={}}finally{i.value=!1}},f=async(r,i)=>{let o=t,s=(e.columns?.()||[]).filter(G).map(async e=>{let t=String(e.key);if(!t)return null;let n=(await Promise.all(K(e).map(n=>Re(n,r[t],e.title||t,r,t)))).find(Boolean);return n?{field:t,message:n}:null}),c=(await Promise.all(s)).filter(Boolean);return t===o?(n.value===i&&(a.value=c),c.length===0):!1},p=async()=>{let e=n.value;if(e===null)return!0;let t=r.value[String(e)];return t?f(l(t),e):!0},m=async()=>{let a=n.value;if(a===null||i.value)return;let o=r.value[String(a)];if(!o)return;let s=l(o),u=t,d=c(a);i.value=!0;try{if(!await f(s,a)||t!==u)return;let i=e.data(),o=i.findIndex(t=>e.rowKey(t)===a);return o===-1||i[o]!==d||(await e.onSave?.(s,o,a),t!==u)?void 0:(n.value=null,r.value={},{updatedData:s,rowIndex:o})}finally{i.value=!1}},h=e=>{if(n.value===e)return r.value[String(e)]};return{editingRowKey:n,editingData:r,isSaving:i,isEditingRow:s,startEditRow:u,cancelEditRow:d,saveEditRow:m,validateRow:p,validationErrors:a,getEditingRowData:h,updateEditingRowData:(e,t,n)=>{let r=h(e);!r||i.value||(r[t]=l(n))},findRowData:c,invalidate:o}}function Be(e,t){let n=String(e);return`${typeof e}:${n.length}:${n}|${t.length}:${t}`}function Ve(e){let t=0,n=j({rowKey:null,columnKey:null}),r=j({}),i=j(!1),a=j(null),o=()=>{t++,n.value={rowKey:null,columnKey:null},r.value={},a.value=null},s=(e,t)=>n.value.rowKey===e&&n.value.columnKey===t,c=t=>{let n=e.data();return!n||!Array.isArray(n)?null:n.find(n=>e.rowKey(n)===t)},u=(e,t)=>{let o=c(e);return!o||!t||i.value?!1:(n.value={rowKey:e,columnKey:t},r.value={[Be(e,t)]:l(o[t])},a.value=null,!0)},d=t=>(e.columns?.()??[]).find(e=>String(e.key)===t),f=async()=>{let e=t;a.value=null;let{rowKey:i,columnKey:o}=n.value;if(i===null||o===null)return!0;let s=d(o);if(!s)return!0;let l=Be(i,o),u=r.value[l],f=s.title||o,p={...c(i),[o]:u},m=await Promise.all(K(s).map(e=>Re(e,u,f,p,o)));if(t!==e)return!1;let h=m.find(Boolean);return h?(a.value=h,!1):!0};return{editingCell:n,editingData:r,isSaving:i,isEditingCell:s,startEditCell:u,saveEditCell:async()=>{let{rowKey:a,columnKey:o}=n.value;if(a===null||o===null||i.value)return;let s=Be(a,o),u=l(r.value[s]),d=t,p=c(a);i.value=!0;try{if(!await f()||t!==d)return;let i=e.data(),s=i.findIndex(t=>e.rowKey(t)===a);if(s===-1||i[s]!==p)return;let c={...i[s],[o]:u};return await e.onSave?.(l(c),s,o,a),t===d?(n.value={rowKey:null,columnKey:null},r.value={},{updatedData:c,rowIndex:s,columnKey:o}):void 0}finally{i.value=!1}},cancelEditCell:()=>{let{rowKey:e,columnKey:t}=n.value;i.value||(e!==null&&t!==null&&delete r.value[Be(e,t)],n.value={rowKey:null,columnKey:null},a.value=null)},validateCell:f,cellValidationError:a,getEditingCellValue:(e,t)=>r.value[Be(e,t)],updateEditingCellValue:(e,t,n)=>{!s(e,t)||i.value||(r.value[Be(e,t)]=l(n))},findRowData:c,invalidate:o}}function He(e){let t=0,n=j(!1),r=j(!1),i=j(null),a=j({}),o=()=>{t++,n.value=!1,i.value=null,a.value={}},s=f(()=>{if(i.value===null)return-1;let t=e.data();return Array.isArray(t)?t.findIndex(t=>e.rowKey(t)===i.value):-1});return{isModalVisible:n,isSaving:r,editingData:a,editingRowKey:i,editingRowIndex:s,startEdit:(o,s)=>{if(r.value)return!1;let c=e.data();if(!Array.isArray(c))return!1;let u=c.findIndex(t=>e.rowKey(t)===o);return u===-1?!1:(t++,i.value=o,a.value=l(s??c[u]),n.value=!0,!0)},saveEdit:async o=>{if(r.value||i.value===null)return;let c=s.value;if(c===-1)return;let u=i.value,d=t,f=l(o??a.value);r.value=!0;try{return await e.onSave?.(f,c,u),t===d?(n.value=!1,i.value=null,a.value={},{updatedData:f,rowIndex:c}):void 0}finally{r.value=!1}},cancelEdit:async()=>{if(r.value)return!1;let o=t,c=s.value;try{if(i.value!==null&&c>-1){let t=e.data();t[c]&&await e.onCancel?.(t[c],c)}}finally{t===o&&(n.value=!1,i.value=null,a.value={})}return!0},updateEditingData:e=>r.value?!1:(a.value=l(e),!0),resetEditingState:()=>r.value?!1:(i.value=null,a.value={},!0),isEditingRow:e=>i.value===e&&n.value,getEditingRowData:e=>i.value===e?a.value:null,invalidate:o}}function Ue(e,t){try{let n=t(e);if(typeof n==`string`&&n!==``)return JSON.stringify([`string`,n]);if(typeof n==`number`&&Number.isFinite(n))return JSON.stringify([`number`,n])}catch{}}function We(e,t){if(!t)return e;let n=[],r=new WeakSet,i=[];for(let t=e.length-1;t>=0;t--)i.push(e[t]);for(;i.length;){let e=i.pop();if(r.has(e))continue;r.add(e),n.push(e);let a=e[t];if(Array.isArray(a))for(let e=a.length-1;e>=0;e--){let t=a[e];t&&typeof t==`object`&&i.push(t)}}return n}function Ge(e,t,n,r){let i=new WeakSet,a=e=>{if(e===t)return n;if(!r||i.has(e))return e;i.add(e);let o=e[r];if(!Array.isArray(o))return e;let s=o.map(e=>e&&typeof e==`object`?a(e):e);return s.some((e,t)=>e!==o[t])?{...e,[r]:s}:e};return e.map(a)}function Ke(e){return e}function q(e){return e}function qe(e,t){let n=new Map,r=[];return e.forEach((e,i)=>{let a;try{a=t(e)}catch(t){r.push({type:`error`,row:e,index:i,cause:t});return}if(a==null||a===``){r.push({type:`missing`,row:e,index:i});return}let o=n.get(a);if(o!==void 0){r.push({type:`duplicate`,row:e,index:i,key:a,firstIndex:o});return}n.set(a,i)}),r}function Je(e,t,n){let r=new Set,i=new WeakSet,a=[...e],o=e=>{try{return n(e)}catch{return}},s=e=>e!=null&&e!==``;for(;a.length;){let e=a.pop();if(i.has(e))continue;i.add(e);let n=e[t];if(!Array.isArray(n)||n.length===0)continue;let c=o(e);s(c)&&r.add(c);for(let e of n)e&&typeof e==`object`&&a.push(e)}return[...r]}const J=e=>({expandedKeys:j([...e.defaultExpandedKeys||[]]),expandDataMap:j(new Map),loadingMap:j(new Map),errorMap:j(new Map),checkedKeys:e.enableSelection?j([...e.defaultCheckedKeys||[]]):j([]),childSelections:(e.enableChildSelection,j(new Map))}),Ye=e=>{let t=f(()=>We(I(e.data),e.childrenKey)),n=e.rowKey,r=f(()=>{let e=new Map;for(let r of t.value){let t=n(r);e.has(t)||e.set(t,r)}return e});return{data:t,getRowKey:n,getChildRowKey:e.childRowKey||(e=>e.id),findRow:e=>r.value.get(e),isRowExpandable:t=>e.rowExpandable?.(t)??!0,isRowCheckable:t=>e.rowCheckable?.(t)??!0,isChildRowCheckable:(t,n)=>e.childRowCheckable?.(t,n)??!0}},Xe=(e,t,n)=>{let r=new Map,i=new Map,a=!1,o=0,s=new Set(n.defaultExpandedKeys||[]),c=t=>{let n=t===void 0?new Set([...e.expandDataMap.value.keys(),...e.errorMap.value.keys(),...r.keys()]):new Set([t]);for(let t of n)r.delete(t),i.delete(t),e.expandDataMap.value.delete(t),e.errorMap.value.delete(t),e.loadingMap.value.delete(t),e.childSelections.value.delete(t)},l=async o=>{if(!n.onLoadData||a)return[];let s=t.getRowKey(o);if(e.expandDataMap.value.has(s))return e.expandDataMap.value.get(s);if(e.errorMap.value.has(s))return[];let c=r.get(s);if(c)return c.promise;let l={};i.set(s,o),e.loadingMap.value.set(s,!0);let u=()=>!a&&r.get(s)?.token===l,d,f=new Promise(e=>{d=e});return r.set(s,{token:l,promise:f}),(async()=>{try{let t=await n.onLoadData(o),r=Array.isArray(t)?t:[];return u()?(e.expandDataMap.value.set(s,r),n.enableChildSelection&&!e.childSelections.value.has(s)&&e.childSelections.value.set(s,[]),r):[]}catch(t){return u()&&(e.errorMap.value.set(s,t),n.onError?.(t,o)),[]}finally{u()&&(r.delete(s),e.loadingMap.value.set(s,!1))}})().then(d,()=>d([])),f};return L(t.data,n=>{if(o+=1,i.size===0&&e.expandedKeys.value.length===0&&s.size===0)return;let r=new Map(n.map(e=>[t.getRowKey(e),e]));for(let[t,n]of i){let i=r.get(t);i!==n&&(c(t),i&&e.expandedKeys.value.includes(t)&&l(i),i||s.delete(t))}s=new Set([...s].filter(e=>r.has(e))),e.expandedKeys.value=e.expandedKeys.value.filter(e=>r.has(e))}),C()&&ie(()=>{a=!0,o+=1,c()}),{loadData:l,retryExpand:async e=>{let n=t.findRow(e);n&&(c(e),await l(n))},invalidateExpand:c,handleRowExpand:async(r,i)=>{let c=t.getRowKey(r);if(o+=1,i){if(s.add(c),e.expandedKeys.value.includes(c)||(e.expandedKeys.value=[...e.expandedKeys.value,c]),await l(r),a||t.findRow(c)!==r||!s.has(c))return}else s.delete(c),e.expandedKeys.value=e.expandedKeys.value.filter(e=>e!==c);n.onExpandChange?.(e.expandedKeys.value,r,i)},expandAll:async()=>{if(a)return;let r=++o,i=t.data.value.filter(t.isRowExpandable);s=new Set(i.map(t.getRowKey)),e.expandedKeys.value=[...s],await Promise.allSettled(i.map(l)),!(a||r!==o)&&(e.expandedKeys.value=i.map(t.getRowKey),n.onExpandChange?.(e.expandedKeys.value))},collapseAll:()=>{o+=1,s.clear(),e.expandedKeys.value=[],e.childSelections.value.clear(),n.onExpandChange?.(e.expandedKeys.value)},handleExpandChange:async r=>{let i=++o;s=new Set(r);let c=new Set(e.expandedKeys.value),u=new Set(r),d=[...u].filter(e=>!c.has(e)),f=e.expandedKeys.value.filter(e=>!u.has(e));for(let t of f)e.childSelections.value.delete(t);e.expandedKeys.value=[...r],await Promise.all(d.map(async e=>{let n=t.findRow(e);n&&await l(n)})),!(a||i!==o)&&n.onExpandChange?.(r)}}},Ze=(e,t,n)=>{let r=[],i=[],a=(t,a,o=!1)=>{let s=t.length===r.length&&t.every((e,t)=>e===r[t]),c=a.length===i.length&&a.every((e,t)=>e===i[t]);!o&&s&&c||(r=[...t],i=[...a],n.onSelectionChange?.(t,a,e.childSelections.value))},o=f(()=>t.data.value.filter(t.isRowCheckable)),s=f(()=>e.checkedKeys.value.length),c=(r,i=!1)=>{let s=new Set(o.value.map(e=>t.getRowKey(e))),c=[...new Set(r)].filter(e=>s.has(e)),l=n.maxSelection?c.slice(0,Math.max(0,n.maxSelection)):c;e.checkedKeys.value=l;let u=new Set(l);a(l,t.data.value.filter(e=>u.has(t.getRowKey(e))),i)},l=(e,t=!1)=>{n.enableSelection&&c(e,t)};return{commitSelection:c,selectAll:()=>{n.enableSelection&&l(o.value.map(t.getRowKey))},clearSelection:()=>{l([])},handleSelectionChange:l,selectedRowsCount:s,selectableRows:o}},Qe=(e,t,n)=>{let r=()=>!!(t.enableParentChildLink&&t.enableSelection&&t.enableChildSelection);return{handleParentChildLink:(i,a,o)=>{if(!r())return;let s=t.parentChildLinkMode===`strict`?a.length===o&&o>0:a.length>0,c=[...e.checkedKeys.value],l=c.includes(i),u=s&&!l?[...c,i]:!s&&l?c.filter(e=>e!==i):c;n.handleSelectionChange(u,!0)},isLinkEnabled:r}},$e=(e,t,n,r,i)=>({totalChildSelections:f(()=>i.enableChildSelection?Array.from(e.childSelections.value.values()).reduce((e,t)=>e+t.length,0):0),clearAllSelections:()=>{e.childSelections.value.clear(),r.commitSelection([],!0)},handleChildSelectionChange:(r,a)=>{if(!i.enableChildSelection)return;let o=t.findRow(r);if(!o)return;let s=(e.expandDataMap.value.get(r)||[]).filter(e=>t.isChildRowCheckable(e,o)),c=new Set(s.map(t.getChildRowKey)),l=[...new Set(a)].filter(e=>c.has(e)),u=e.childSelections.value.get(r)??[];if(u.length===l.length&&u.every((e,t)=>e===l[t]))return;e.childSelections.value.set(r,l);let d=new Set(l),f=s.filter(e=>d.has(t.getChildRowKey(e)));n.isLinkEnabled()&&n.handleParentChildLink(r,l,s.length),i.onChildSelectionChange?.(r,l,f)}}),et=(e,t,n,r,i)=>{if(!i.enableChildSelection)return;let a=t.childSelections.value.get(e)||[],o=t.expandDataMap.value.get(e)||[],s=n.findRow(e);if(!s)return;let c=o.filter(e=>n.isChildRowCheckable(e,s));return{selectedKeys:a,isAllChecked:c.length>0&&c.every(e=>a.includes(n.getChildRowKey(e))),selectAll:()=>{let t=c.map(e=>n.getChildRowKey(e));r.handleChildSelectionChange(e,t)},clearAll:()=>{r.handleChildSelectionChange(e,[])}}},tt=e=>w(`div`,{class:`flex justify-center items-center py-8`},e?[e()]:[w(ye,{size:`small`}),w(`span`,{class:`ml-2 text-gray-500`},`加载中...`)]),nt=()=>w(`div`,{class:`text-center py-8 text-gray-400`},`暂无数据`),rt=e=>{if(!e.length)return[];let t=e[0];return!t||typeof t!=`object`?[]:[{title:`序号`,key:`_index`,width:60,align:`center`,titleAlign:`center`,render:(e,t)=>t+1},...Object.keys(t).filter(e=>![`id`,`key`].includes(e)).map(e=>({key:e,title:e.charAt(0).toUpperCase()+e.slice(1),width:120,align:`center`,titleAlign:`center`,ellipsis:{tooltip:!0}}))]},Y=(e,t,n,r,i,a)=>{let o=[];return a.enableChildSelection&&o.push({type:`selection`,multiple:!0,disabled:t=>{let n=r.findRow(e);return!n||!r.isChildRowCheckable(t,n)}}),o.push(...rt(t)),w(`div`,{class:`p-4 bg-gray-50`},[w(`div`,{class:`mb-2 text-sm text-gray-600`},`详细信息 (${t.length} 条)`),w(ue,{data:t,columns:o,size:`small`,striped:!0,checkedRowKeys:n?.selectedKeys||[],rowKey:e=>r.getChildRowKey(e),onUpdateCheckedRowKeys:a.enableChildSelection?t=>{i.handleChildSelectionChange(e,t)}:void 0})])},it=(e,n,r,i,a)=>{let{t:o}=t(()=>a.locale),s=t=>{let s=n.getRowKey(t),c=e.expandDataMap.value.get(s)||[],l=e.loadingMap.value.get(s)||!1,u=et(s,e,n,r,a);return a.renderContent?a.renderContent(t,c,l,u):l?tt(a.renderLoading):e.errorMap.value.has(s)?w(`div`,{class:`c-table-expand-error`,role:`alert`},[w(`span`,o(`table.loadFailed`)),w(z,{size:`small`,onClick:()=>i.retryExpand(s)},()=>o(`common.retry`))]):c.length?Y(s,c,u,n,r,a):nt()};return{getTableColumns:e=>e.map(e=>{if(e.type===`selection`&&a.enableSelection){let t=`disabled`in e?e.disabled:void 0,r=`multiple`in e?e.multiple:void 0;return{...e,type:`selection`,disabled:e=>!!t?.(e)||!n.isRowCheckable(e),multiple:a.maxSelection===1?!1:r??!0}}return e.type===`expand`&&(a.onLoadData||a.renderContent)?{...e,type:`expand`,expandable:t=>n.isRowExpandable(t)&&(!(`expandable`in e)||e.expandable?.(t)!==!1),renderExpand:s}:e})}};function at(e){let t=J(e),n=Ye(e),r=Xe(t,n,e),i=Ze(t,n,e),a=$e(t,n,Qe(t,e,i),i,e),o=it(t,n,a,r,e);return L(n.data,()=>{!e.enableSelection||t.checkedKeys.value.length===0||i.handleSelectionChange(t.checkedKeys.value)}),e.defaultExpandedKeys?.length&&D(async()=>{let i=e.defaultExpandedKeys||[];if(i.length===0)return;let a=i.map(async e=>{let i=n.findRow(e);i&&!t.expandDataMap.value.has(e)&&await r.loadData(i)});await Promise.allSettled(a)}),{expandedKeys:t.expandedKeys,checkedKeys:t.checkedKeys,childSelections:t.childSelections,selectedRowsCount:i.selectedRowsCount,totalChildSelections:a.totalChildSelections,expandAll:r.expandAll,collapseAll:r.collapseAll,expandRow:async e=>{if(t.expandedKeys.value.includes(e)&&!t.loadingMap.value.get(e))return;let i=n.findRow(e);i&&await r.handleRowExpand(i,!0)},handleExpandChange:r.handleExpandChange,selectAll:i.selectAll,clearSelection:i.clearSelection,clearAllSelections:a.clearAllSelections,handleSelectionChange:i.handleSelectionChange,getTableColumns:o.getTableColumns,expandDataMap:t.expandDataMap,loadingMap:t.loadingMap,errorMap:t.errorMap,retryExpand:r.retryExpand,invalidateExpand:r.invalidateExpand}}const ot={text:`Robot Admin`,textSize:16,textColor:`rgba(128, 128, 128, 0.3)`,font:`Microsoft JhengHei`,opacity:.3,rotate:-20,position:`repeat`,xGap:200,yGap:120},st={scale:1,quality:.92,format:`png`,backgroundColor:`#ffffff`,logging:!1,allowTaint:!0,useCORS:!0},ct={orientation:`portrait`,paperSize:`A4`,margin:`10mm 10mm 0 10mm`,style:`@page { margin: 10mm 10mm 0 10mm; } @media print { body { margin: 0; } }`,header:``,footer:``,showModal:!1,modalMessage:`正在准备打印...`,onLoadingStart:()=>{},onLoadingEnd:()=>{},onPrintDialogClose:()=>{}};function lt(e,t,n,r){e.save(),e.translate(t/2,n/2),e.rotate(r.rotate*Math.PI/180),e.fillText(r.text,0,0),e.restore()}function ut(e,t,n,r){[[50,50],[t-50,50],[50,n-50],[t-50,n-50]].forEach(([t,n])=>{e.save(),e.translate(t,n),e.rotate(r.rotate*Math.PI/180),e.fillText(r.text,0,0),e.restore()})}function X(e,t,n,r){let i=Math.sqrt(t*t+n*n),a=t/2,o=n/2;e.save(),e.translate(a,o),e.rotate(Math.atan2(n,t));let s=Math.floor(i/r.xGap),c=-i/2;for(let t=0;t<=s;t++){let n=c+t*r.xGap;e.fillText(r.text,n,0)}e.restore()}function dt(e,t,n,r){let i=Math.ceil(t/r.xGap)+1,a=Math.ceil(n/r.yGap)+1;for(let t=0;t<a;t++)for(let n=0;n<i;n++){let i=n*r.xGap+r.xGap/2,a=t*r.yGap+r.yGap/2;e.save(),e.translate(i,a),e.rotate(r.rotate*Math.PI/180),e.fillText(r.text,0,0),e.restore()}}function ft(e,t){let n=e.getContext(`2d`);if(!n)return e;let r={...ot,...t},{width:i,height:a}=e;n.save(),n.globalAlpha=r.opacity,n.font=`${r.textSize}px ${r.font}`,n.fillStyle=r.textColor,n.textAlign=`center`,n.textBaseline=`middle`;let o={center:lt,corner:ut,diagonal:X,repeat:dt};return(o[r.position]||o.repeat)(n,i,a,r),n.restore(),e}async function pt(e,t={}){if(typeof window>`u`)throw Error(`截图功能仅支持浏览器环境`);let n={...st,...t},{default:r}=await import(`html2canvas`);return await r(e,{logging:n.logging,scale:n.scale,allowTaint:n.allowTaint,useCORS:n.useCORS,backgroundColor:n.backgroundColor,onclone:e=>{let t=e.body;t.style.transform=`scale(1)`}})}function Z(e,t=`png`,n=.92){let r=`image/${t}`;return t===`png`?e.toDataURL(r):e.toDataURL(r,n)}function mt(e,t=`screenshot-${new Date().toISOString().slice(0,10)}.png`,n=`png`){let r=Z(e,n),i=document.createElement(`a`);i.download=t,i.href=r,document.body.appendChild(i),i.click(),document.body.removeChild(i)}async function ht(e,t={}){if(typeof window>`u`)throw Error(`打印功能仅支持浏览器环境`);let n={...ct,...t},{default:r}=await import(`print-js`);return new Promise((t,i)=>{try{n.onLoadingStart?.(),r({printable:e,type:`image`,style:n.style,showModal:n.showModal,modalMessage:n.modalMessage,onLoadingEnd:n.onLoadingEnd,onPrintDialogClose:()=>{n.onPrintDialogClose?.(),t()}})}catch(e){i(e)}})}function gt(e,t,n){let r=0,i=0;e.forEach(e=>{let{width:n,height:a}=e;t===`horizontal`?(r+=n,i=Math.max(i,a)):(r=Math.max(r,n),i+=a)});let a=(e.length-1)*n;return t===`horizontal`?r+=a:i+=a,{totalWidth:r,totalHeight:i}}function _t(e,t){let{orientation:n,spacing:r,backgroundColor:i,totalWidth:a,totalHeight:o}=t,s=document.createElement(`canvas`);s.width=a,s.height=o;let c=s.getContext(`2d`);if(!c)throw Error(`无法创建画布上下文`);c.fillStyle=i,c.fillRect(0,0,a,o);let l=0,u=0;return e.forEach(e=>{c.drawImage(e,l,u),n===`horizontal`?l+=e.width+r:u+=e.height+r}),s}function vt(e,t,n){return e.length?{orientation:t.orientation||`vertical`,spacing:t.spacing||20,backgroundColor:t.backgroundColor||`#ffffff`}:(n.warning(`没有要打印的元素`),null)}async function yt(e,t,n,r){let{orientation:i,spacing:a,backgroundColor:o}=n;r(10);let s=await Promise.all(e.map(e=>pt(e,t.capture)));r(50);let{totalWidth:c,totalHeight:l}=gt(s,i,a);return r(60),_t(s,{orientation:i,spacing:a,backgroundColor:o,totalWidth:c,totalHeight:l})}async function Q(e,t,n,r,i){r(70),t.watermark&&ft(e,t.watermark),r(90),await ht(Z(e,t.capture?.format,t.capture?.quality),t.print),r(100),i.success(`合并打印完成,共合并 ${n} 个元素`)}function bt(){let e=n(),t=j(!1),r=j(0),i=e=>{r.value=Math.max(0,Math.min(100,e))},a=async(e,t={})=>{try{i(0),i(30);let n=await pt(e,t.capture);i(60),t.watermark&&ft(n,t.watermark),i(90);let r=Z(n,t.capture?.format||`png`,t.capture?.quality||.92);return i(100),r}catch(e){throw Error(`截图失败: ${e instanceof Error?e.message:`未知错误`}`)}},o=async(n,r={})=>{t.value=!0,i(0);try{await D();let t=await a(n,r);i(95),await ht(t,r.print),i(100),e.success(`打印完成`)}catch(t){throw e.error(`打印失败: ${t instanceof Error?t.message:`未知错误`}`,t),t}finally{t.value=!1,i(0)}},s=async(n,r,i={})=>{t.value=!0;try{await D();let t=await pt(n,i.capture);i.watermark&&ft(t,i.watermark);let a=i.capture?.format||`png`,o=`screenshot-${new Date().toISOString().slice(0,19).replace(/:/g,`-`)}.${a}`;mt(t,r||o,a),e.success(`下载完成`)}catch(t){throw e.error(`下载失败`,t),t}finally{t.value=!1}},c=async(e,t=`Robot Admin`)=>o(e,{watermark:{text:t,position:`repeat`,textColor:`rgba(128, 128, 128, 0.3)`}}),l=async(e,t={})=>{let n=e.length;i(10);let r=e.map(async(e,r)=>{let o=await a(e,t);return i(10+(r+1)/n*70),o});return Promise.all(r)},u=async(e,t={})=>{await e.reduce(async(n,r,i)=>{await n,await ht(r,t),i<e.length-1&&await new Promise(e=>{setTimeout(()=>e(),1e3)})},Promise.resolve())};return{loading:t,progress:r,captureWithWatermark:a,printWithWatermark:o,downloadScreenshot:s,quickPrint:c,batchCapture:l,batchPrint:async(n,r={})=>{if(!n.length){e.warning(`没有要打印的元素`);return}t.value=!0;try{i(0);let t=await l(n,r);i(80),await u(t,r.print),i(100),e.success(`批量打印完成,共 ${n.length} 个元素`)}catch(t){throw e.error(`批量打印失败`,t),t}finally{t.value=!1,i(0)}},mergePrint:async(n,r={},a={})=>{let o=vt(n,a,e);if(o){t.value=!0;try{await Q(await yt(n,r,o,i),r,n.length,i,e)}catch(t){throw e.error(`合并打印失败`,t),t}finally{t.value=!1,i(0)}}},createPreset:(e,t)=>({use:e=>o(e,t),download:(e,n)=>s(e,n,t)}),updateProgress:i,utils:{captureElement:pt,drawWatermark:ft,canvasToDataURL:Z,downloadCanvas:mt,printImage:ht}}}const xt={table:{watermark:{text:`Robot Admin - 数据表格`,position:`repeat`,textColor:`rgba(100, 100, 100, 0.25)`,textSize:14,xGap:250,yGap:120},capture:{scale:1.2},print:{orientation:`landscape`,style:`@page { margin: 8mm; } body { font-family: Arial, sans-serif; }`}},form:{watermark:{text:`Robot Admin - 表单数据`,position:`diagonal`,textColor:`rgba(150, 150, 150, 0.2)`,textSize:16},print:{orientation:`portrait`}},report:{watermark:{text:`Robot Admin - 机密报告`,position:`center`,textColor:`rgba(200, 50, 50, 0.15)`,textSize:24},capture:{quality:.95,format:`png`}}};function St(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?`row_${crypto.randomUUID()}`:`row_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}function Ct(e,t){return typeof t==`function`?t(e):Reflect.get(e,t)}function wt(e,t,n){if(e){let r=e(n===void 0?void 0:l(n));if(!r||typeof r!=`object`||Array.isArray(r))return null;let i=l(r);return n&&typeof t==`string`?{...l(n),[t]:Reflect.get(i,t)}:i}return typeof t==`string`?{...n?l(n):{},[t]:St()}:null}function Tt(e,...i){let a=i[0]??{},o={enabled:!0,rowKey:`id`,enableRadioSelection:!0,enableAdd:!0,enableInsert:!0,enableDelete:!0,enableCopy:!0,enableMove:!0,enablePrint:!0,confirmDelete:!0,deleteConfirmText:``,printPreset:`table`,printTargetSelector:`.c-table-wrapper`},s=A({...o,...F(a)});L(()=>F(a),e=>{let t=s;Object.keys(t).forEach(e=>delete t[e]),Object.assign(t,o,e)},{deep:!0});let c=n(()=>s.feedback),{t:l}=t(()=>s.locale),u=`c-table-radio-${St()}`,d=j(null),p=j(!1),m=f(()=>d.value===null?null:e.value.find(e=>Ct(e,s.rowKey)===d.value)||null),h=f(()=>m.value?e.value.findIndex(e=>e===m.value):-1),g=f(()=>h.value>0),_=f(()=>h.value>=0&&h.value<e.value.length-1),{loading:v,progress:y,printWithWatermark:b,downloadScreenshot:x,quickPrint:S}=bt(),T=()=>{if(s.printOptions)return s.printOptions;let e=xt[s.printPreset||`table`];return s.printWatermarkText&&e.watermark?{...e,watermark:{...e.watermark,text:s.printWatermarkText}}:e},E=e=>{s.onRowChange?.(e)},ee=t=>{let n=Ct(t,s.rowKey);return(typeof n==`string`&&n!==``||typeof n==`number`&&Number.isFinite(n))&&!e.value.some(e=>Ct(e,s.rowKey)===n)?!0:(c.warning(l(`table.invalidRowKeys`,{count:1})),!1)},D=e=>{try{let t=wt(s.defaultRowData,s.rowKey,e);if(t)return ee(t)?t:null;c.warning(l(`table.invalidRowKeys`,{count:1}))}catch(t){c.error(l(`table.actionFailed`,{action:l(e?`table.copyRow`:`table.addRow`)}),t)}return null},te=()=>{if(!s.enabled||!s.enableAdd)return;let t=D();t&&(E([...e.value,t]),s.onRowAdd?.(t),c.success(l(`table.addRowSuccess`)))},O=()=>{if(!s.enabled||!s.enableInsert||!m.value){c.warning(l(`table.selectRowFirst`));return}let t=D();if(!t)return;let n=[...e.value];n.splice(h.value+1,0,t),E(n),s.onRowAdd?.(t),c.success(l(`table.insertRowSuccess`))},ne=()=>{if(!s.enabled||!s.enableDelete||!m.value){c.warning(l(`table.selectDeleteRowFirst`));return}s.confirmDelete?p.value=!0:re()},re=()=>{if(!m.value)return;let t=m.value,n=h.value;E(e.value.filter((e,t)=>t!==n)),d.value=null,s.onSelectionChange?.(null,null),s.onRowDelete?.(t,n),c.success(l(`table.deleteRowSuccess`)),p.value=!1},k=()=>{if(!s.enabled||!s.enableCopy||!m.value){c.warning(l(`table.selectCopyRowFirst`));return}let t=m.value,n=D(t);n&&(E([...e.value,n]),s.onRowCopy?.(t,n),c.success(l(`table.copyRowSuccess`)))},ae=()=>{if(!s.enabled||!s.enableMove||!g.value)return;let t=h.value,n=[...e.value],r=n[t];[n[t],n[t-1]]=[n[t-1],n[t]],E(n),s.onRowMove?.(r,t,t-1),c.success(l(`table.moveUpSuccess`))},oe=()=>{if(!s.enabled||!s.enableMove||!_.value)return;let t=h.value,n=[...e.value],r=n[t];[n[t],n[t+1]]=[n[t+1],n[t]],E(n),s.onRowMove?.(r,t,t+1),c.success(l(`table.moveDownSuccess`))},se=t=>{if(!s.enabled)return;let n=e.value.find(e=>Ct(e,s.rowKey)===t);n&&(d.value=t,s.onSelectionChange?.(t,n))},M=()=>{d.value=null,s.onSelectionChange?.(null,null)},P=async e=>{if(!e.value){c.error(l(`table.printTargetMissing`));return}let t=T();await b(e.value,t)};return C()&&ie(()=>{d.value=null,p.value=!1}),{selectedRowKey:d,selectedRowData:m,selectedRowIndex:h,canMoveUp:g,canMoveDown:_,deleteConfirmVisible:p,printLoading:v,printProgress:y,addRow:te,insertRow:O,deleteRow:ne,confirmDelete:re,copyRow:k,moveRowUp:ae,moveRowDown:oe,selectRow:se,clearSelection:M,handlePrint:P,handleDownload:async(e,t)=>{if(!e.value){c.error(l(`table.downloadTargetMissing`));return}let n=T();await x(e.value,t,n)},handleQuickPrint:async e=>{if(!e.value){c.error(l(`table.printTargetMissing`));return}let t=s.printWatermarkText||`Robot Admin`;await S(e.value,t)},enhanceColumns:e=>{if(!s.enabled)return e;let t=[...e];return s.enabled&&s.enableRadioSelection&&t.unshift({key:`_radio_selection`,title:l(`common.select`),width:80,align:`center`,editable:!1,render:e=>{let t=Ct(e,s.rowKey);return w(`div`,{class:`flex justify-center`},[w(`input`,{type:`radio`,name:u,"aria-label":l(`common.select`),checked:d.value===t,class:`cursor-pointer accent-blue-500 scale-110`,onChange:e=>{e.target.checked&&se(t)}})])}}),t},renderToolbar:e=>{if(!s.enabled)return null;let t=[];s.enablePrint&&t.push(w(z,{loading:v.value,type:`primary`,ghost:!0,onClick:async()=>{try{let t=e??document.querySelector(s.printTargetSelector);t?await P(N(t)):c.warning(l(`table.printTargetMissing`))}catch(e){c.error(l(`table.printTargetMissing`),e)}}},{icon:()=>w(r,{name:`mdi:printer`,title:l(`common.print`)}),default:()=>l(`common.print`)}));let n=[];return s.enableAdd&&n.push(w(z,{onClick:te,type:`primary`},{icon:()=>w(r,{name:`mdi:plus`,title:l(`table.addRow`)}),default:()=>l(`table.addRow`)})),s.enableInsert&&n.push(w(U,{disabled:!!m.value},{trigger:()=>w(z,{onClick:O,disabled:!m.value,type:`primary`,ghost:!0},{icon:()=>w(r,{name:`mdi:table-row-plus-after`,title:l(`table.insertRow`)}),default:()=>l(`table.insertRow`)}),default:()=>l(`table.selectRowFirst`)})),s.enableDelete&&n.push(w(U,{disabled:!!m.value},{trigger:()=>w(z,{onClick:ne,disabled:!m.value,type:`error`,ghost:!0},{icon:()=>w(r,{name:`mdi:delete`,title:l(`table.deleteRow`)}),default:()=>l(`table.deleteRow`)}),default:()=>l(`table.selectDeleteRowFirst`)})),s.enableCopy&&n.push(w(U,{disabled:!!m.value},{trigger:()=>w(z,{onClick:k,disabled:!m.value,type:`info`,ghost:!0},{icon:()=>w(r,{name:`mdi:content-copy`,title:l(`table.copyRow`)}),default:()=>l(`table.copyRow`)}),default:()=>l(`table.selectCopyRowFirst`)})),s.enableMove&&n.push(w(U,{disabled:g.value},{trigger:()=>w(z,{onClick:ae,disabled:!g.value,type:`warning`,ghost:!0},{icon:()=>w(r,{name:`mdi:arrow-up`,title:l(`table.moveUp`)}),default:()=>l(`table.moveUp`)}),default:()=>m.value?l(`table.firstRow`):l(`table.selectRowFirst`)}),w(U,{disabled:_.value},{trigger:()=>w(z,{onClick:oe,disabled:!_.value,type:`warning`,ghost:!0},{icon:()=>w(r,{name:`mdi:arrow-down`,title:l(`table.moveDown`)}),default:()=>l(`table.moveDown`)}),default:()=>m.value?l(`table.lastRow`):l(`table.selectRowFirst`)})),n.length>0&&t.push(w(le,{},()=>n)),w(`div`,{class:`dynamic-rows-toolbar mb-4 flex justify-end`},[w(ve,{},()=>t)])},renderConfirmModal:()=>w(he,{show:p.value,"onUpdate:show":e=>{p.value=e},preset:`dialog`,title:l(`table.deleteTitle`),content:s.deleteConfirmText||l(`table.deleteRowContent`),positiveText:l(`table.confirmDeleteRow`),negativeText:l(`common.cancel`),onPositiveClick:re})}}function Et(e){let r=0,{data:i,rowKey:a,emit:o}=e,s=()=>F(e.config),c=()=>s().treeEnabled?s().treeChildrenKey??`children`:void 0,l=f(()=>We(i(),c())),u=()=>l.value,d=n(()=>s().feedback),{t:p}=t(()=>s().locale),m=(e,t,n)=>i()===e&&l.value.find(e=>a(e)===t)===n,h={onSave:async(e,t,n,u)=>{let d=i(),f=u??a(e),p=l.value.find(e=>a(e)===f);if(!p)return;let h=l.value.indexOf(p),g={...p,...e},_=r;if(s().editable)try{if(await s().onEditSave?.(g,h,n),r!==_||(await o(`save`,g,h,n),r!==_)||!m(d,f,p))return;o(`update:data`,Ge(i(),p,g,c()))}catch(e){throw s().onEditError?.(e),o(`edit-error`,e),e}},onCancel:async(e,t)=>{let n=r;try{if(await s().onEditCancel?.(e,t),r!==n)return;await o(`cancel`,e,t)}catch(e){throw s().onEditError?.(e),o(`edit-error`,e),e}},onExpandChange:(e,t,n)=>{o(`expand-change`,e,t,n)},onSelectionChange:(e,t,n)=>{o(`selection-change`,e,t,n)},onChildSelectionChange:(e,t,n)=>{o(`child-selection-change`,e,t,n)},onRowChange:e=>{o(`update:data`,e),s().dynamicRows?.onRowChange?.(e)},onRowSelectionChange:(e,t)=>{o(`row-selection-change`,e,t),s().dynamicRows?.onSelectionChange?.(e,t)},onRowAdd:e=>{o(`row-add`,e),s().dynamicRows?.onRowAdd?.(e)},onRowDelete:(e,t)=>{o(`row-delete`,e,t),s().dynamicRows?.onRowDelete?.(e,t)},onRowCopy:(e,t)=>{o(`row-copy`,e,t),s().dynamicRows?.onRowCopy?.(e,t)},onRowMove:(e,t,n)=>{o(`row-move`,e,t,n),s().dynamicRows?.onRowMove?.(e,t,n)}},g=()=>({rowEdit:ze({data:u,rowKey:a,onSave:(e,t,n)=>h.onSave(e,t,void 0,n),onCancel:h.onCancel,columns:e.columns}),cellEdit:Ve({data:u,rowKey:a,onSave:h.onSave,columns:e.columns}),modalEdit:He({data:u,rowKey:a,onSave:(e,t,n)=>h.onSave(e,t,void 0,n),onCancel:h.onCancel})}),_=()=>at({data:f(()=>i()),rowKey:a,get childrenKey(){return c()},childRowKey:e=>e.id,get locale(){return s().locale},renderLoading:e.renderLoading,get defaultExpandedKeys(){return s().defaultExpandedKeys},get onLoadData(){return s().onLoadExpandData},onError:(e,t)=>{let n=s().onExpandError;n?n(e,t):d.error(p(`table.loadFailed`),e)},get renderContent(){return s().renderExpandContent},get rowExpandable(){return s().rowExpandable},get enableSelection(){return s().enableSelection},get defaultCheckedKeys(){return s().defaultCheckedKeys},get rowCheckable(){return s().rowCheckable},get maxSelection(){return s().maxSelection},get enableChildSelection(){return s().enableChildSelection},get childRowCheckable(){return s().childRowCheckable},get enableParentChildLink(){return s().enableParentChildLink},get parentChildLinkMode(){return s().parentChildLinkMode},onExpandChange:h.onExpandChange,onSelectionChange:h.onSelectionChange,onChildSelectionChange:h.onChildSelectionChange}),v=()=>Tt(f(()=>i()),f(()=>({...s().dynamicRows,rowKey:s().dynamicRows?.rowKey??F(e.rowKeyField)??a,enabled:!!s().dynamicRows&&s().dynamicRows?.enabled!==!1,feedback:s().feedback,locale:s().locale,onRowChange:h.onRowChange,onSelectionChange:h.onRowSelectionChange,onRowAdd:h.onRowAdd,onRowDelete:h.onRowDelete,onRowCopy:h.onRowCopy,onRowMove:h.onRowMove}))),y=g();L(y.rowEdit.validationErrors,e=>{y.rowEdit.editingRowKey.value!==null&&e.length&&d.error(e[0].message)}),L(y.cellEdit.cellValidationError,e=>{y.cellEdit.editingCell.value.rowKey!==null&&e&&d.error(e)});let b=()=>{r++,y.rowEdit.invalidate(),y.cellEdit.invalidate(),y.modalEdit.invalidate()};L([()=>s().editable,()=>s().editMode],b,{flush:`sync`}),C()&&ie(b);let x=_(),S=v();return{editStates:y,expandState:x,dynamicRowsState:S,stateManager:{edit:{start(e,t){if(!s().editable)return;let n=s().editMode;n===`modal`?y.modalEdit.startEdit(e):n===`cell`&&t?y.cellEdit.startEditCell(e,t):(n===`row`||n===`both`)&&y.rowEdit.startEditRow(e)},cancel(){y.modalEdit.isModalVisible.value?y.modalEdit.cancelEdit():y.cellEdit.editingCell.value.rowKey===null?y.rowEdit.editingRowKey.value!==null&&y.rowEdit.cancelEditRow():y.cellEdit.cancelEditCell()},async save(){y.modalEdit.isModalVisible.value?await y.modalEdit.saveEdit():y.cellEdit.editingCell.value.rowKey===null?y.rowEdit.editingRowKey.value!==null&&await y.rowEdit.saveEditRow():await y.cellEdit.saveEditCell()},isEditing(e,t){return s().editMode===`modal`?y.modalEdit.isEditingRow(e):t?y.cellEdit.isEditingCell(e,t):y.rowEdit.isEditingRow(e)},getEditingData(){return y.modalEdit.isModalVisible.value?y.modalEdit.editingData.value:y.rowEdit.editingRowKey.value===null?null:y.rowEdit.getEditingRowData(y.rowEdit.editingRowKey.value)}},expand:{async row(e){if(x){let t=[...x.expandedKeys.value];t.includes(e)||(t.push(e),x.handleExpandChange(t))}},collapse(e){if(x){let t=x.expandedKeys.value.filter(t=>t!==e);x.handleExpandChange(t)}},async toggle(e){x?.expandedKeys.value.includes(e)?this.collapse(e):await this.row(e)},async all(){await x?.expandAll()},collapseAll(){x?.collapseAll()},isExpanded(e){return x?.expandedKeys.value.includes(e)??!1}},selection:{select(e){if(x?.checkedKeys.value&&!x.checkedKeys.value.includes(e)){let t=[...x.checkedKeys.value,e];x.handleSelectionChange(t)}},unselect(e){if(x?.checkedKeys.value){let t=x.checkedKeys.value.filter(t=>t!==e);x.handleSelectionChange(t)}},all(){x?.selectAll()},clear(){x?.clearSelection()},isSelected(e){return x?.checkedKeys.value.includes(e)??!1},getSelected(){if(!x?.checkedKeys.value)return[];let e=new Set(x.checkedKeys.value);return l.value.filter(t=>e.has(a(t)))}},childSelection:{select(e,t){if(x?.childSelections.value){let n=x.childSelections.value.get(e)||[];if(!n.includes(t)){let r=[...n,t];x.childSelections.value.set(e,r),o(`child-selection-change`,e,r,[])}}},unselect(e,t){if(x?.childSelections.value){let n=(x.childSelections.value.get(e)||[]).filter(e=>e!==t);x.childSelections.value.set(e,n),o(`child-selection-change`,e,n,[])}},selectAll(e){if(x?.childSelections.value&&x.expandDataMap?.value){let t=x.expandDataMap.value.get(e)||[],n=t.map(e=>e.id);x.childSelections.value.set(e,n),o(`child-selection-change`,e,n,t)}},clear(e){x?.childSelections.value&&(x.childSelections.value.set(e,[]),o(`child-selection-change`,e,[],[]))},getSelected(e){if(!x?.childSelections.value||!x.expandDataMap?.value)return[];let t=x.childSelections.value.get(e)||[];return(x.expandDataMap.value.get(e)||[]).filter(e=>t.includes(e.id))}},dynamicRows:{add(){S?.addRow()},insert(){S?.insertRow()},delete(){S?.deleteRow()},copy(){S?.copyRow()},moveUp(){S?.moveRowUp()},moveDown(){S?.moveRowDown()},clearSelection(){S?.clearSelection()},getSelected(){return S?.selectedRowData.value||null},async print(e){S&&e&&await S.handlePrint(N(e))},async download(e,t){S&&e&&await S.handleDownload(N(e),t)}},clearAllSelections(){x?.clearAllSelections()}},expandedKeys:f(()=>x?.expandedKeys.value??[]),checkedKeys:f(()=>x?.checkedKeys.value??[]),eventHandlers:h}}const $={page:1,pageSize:10,showSizePicker:!0,showQuickJumper:!0,pageSizes:[10,20,50,100],simple:!1,size:`medium`};function Dt(e,t){return!Number.isFinite(e)||(e??0)<=0?t:Math.max(1,Math.trunc(e))}function Ot(e){let{data:t,config:n,emit:r}=e,i=j($.page),a=j($.pageSize),o=f(()=>{let e=typeof t==`function`?t():I(t);return Array.isArray(e)?e:[]}),s=f(()=>{let e=n.value;return e?.remote?Math.max(0,Math.trunc(e.total??o.value.length)):o.value.length}),c=()=>n.value?.enabled?Math.max(1,Math.ceil(s.value/a.value)):1,l=(e,t)=>{let n=Math.min(Dt(e,1),c());i.value!==n&&(i.value=n,t&&r?.(`pagination-change`,n,a.value))},u=e=>l(e,!0),d=e=>{let t=Dt(e,$.pageSize),n=a.value!==t;a.value=t,i.value=1,n&&r?.(`pagination-change`,1,t)},p=()=>l(1,!0),m=f(()=>{let e=n.value;if(!e?.enabled||e.remote)return o.value;let t=(i.value-1)*a.value;return o.value.slice(t,t+a.value)}),h=f(()=>{let e=n.value;return e?.enabled?{page:i.value,pageSize:a.value,itemCount:s.value,showSizePicker:e.showSizePicker??$.showSizePicker,showQuickJumper:e.showQuickJumper??$.showQuickJumper,pageSizes:e.pageSizes??$.pageSizes,simple:e.simple??$.simple,size:e.size??$.size,prefix:e=>`共 ${e.itemCount??0} 条`,suffix:e=>(e.itemCount??0)>0?`第 ${e.startIndex+1}-${e.endIndex} 条`:`暂无数据`,"onUpdate:page":u,"onUpdate:pageSize":d}:null});return L(()=>[n.value?.page,n.value?.pageSize],([e,t])=>{a.value=Dt(t,$.pageSize),i.value=Math.min(Dt(e,$.page),c())},{immediate:!0}),L([s,a],()=>{let e=Math.min(i.value,c());e!==i.value&&(i.value=e,r?.(`pagination-change`,e,a.value))}),{currentPage:i,currentPageSize:a,paginatedData:m,paginationConfig:h,handlePageChange:u,handlePageSizeChange:d,resetToFirstPage:p,getTotalPages:c}}function kt(e){return e.flatMap(e=>e.visible===!1?[]:`children`in e&&Array.isArray(e.children)?kt(e.children):`type`in e&&e.type?[]:[e])}function At(e,t){return e==null?t==null?0:-1:t==null?1:typeof e==`number`&&typeof t==`number`?e-t:typeof e==`string`&&typeof t==`string`?e.localeCompare(t):0}function jt(e,t,n){let{sorter:r}=e;return typeof r==`function`?r(t,n):r&&typeof r==`object`&&typeof r.compare==`function`?r.compare(t,n):r===`default`||typeof r==`object`&&r.compare===`default`?At(t[e.key],n[e.key]):0}function Mt(e,t,n){let r=Array.isArray(t)?t:[t];if(t==null||r.length===0)return!0;let{filter:i}=e,a=t=>t==null?!0:typeof i==`function`?i(t,n):i===`default`?String(n[e.key]).includes(String(t)):!0;return e.filterMode===`and`?r.every(a):r.some(a)}function Nt(e,t){return e.filterOptionValues===void 0?e.filterOptionValue===void 0?Object.prototype.hasOwnProperty.call(t,e.key)?t[e.key]:e.defaultFilterOptionValues??e.defaultFilterOptionValue:e.filterOptionValue:e.filterOptionValues}function Pt(e){let t=N(),n=N({}),r=f(()=>kt(F(e.columns))),i=f(()=>r.value.flatMap(e=>{if(e.filter!==`default`&&typeof e.filter!=`function`)return[];let t=Nt(e,n.value);return t==null||Array.isArray(t)&&t.length===0?[]:[{column:e,value:t}]})),a=f(()=>{let t=F(e.data);if(F(e.remote))return t;let n=i.value;return n.length?t.filter(e=>n.every(({column:t,value:n})=>Mt(t,n,e))):t}),o=f(()=>{let e=r.value.filter(e=>e.sortOrder===!1||e.sortOrder===`ascend`||e.sortOrder===`descend`);return e.length?e.map(e=>({columnKey:e.key,order:e.sortOrder})):t.value===void 0?r.value.map(e=>({columnKey:e.key,order:e.defaultSortOrder})):t.value?Array.isArray(t.value)?t.value:[t.value]:[]});return{processedData:f(()=>{if(F(e.remote))return F(e.data);let t=o.value.flatMap(e=>{let t=r.value.find(t=>t.key===e.columnKey);if(!t?.sorter||!e.order)return[];let n=typeof t.sorter==`object`?t.sorter.multiple??0:0;return[{column:t,direction:e.order===`ascend`?1:-1,priority:n}]}).sort((e,t)=>t.priority-e.priority);return t.length?a.value.slice().sort((e,n)=>{for(let r of t){let t=jt(r.column,e,n)*r.direction;if(t)return t}return 0}):a.value}),setSorter:e=>{t.value=e},setFilters:e=>{n.value={...e}}}}const Ft=e=>e&&typeof e==`object`&&`error`in e?e.error:null;function It(e){let{actions:i,config:a,tableManager:s,rowKey:c,onRowDeleted:l,onViewDetail:u,isDeleteFeedbackHandled:d}=e,f=o(),p=!0;C()&&ie(()=>{p=!1});let m=(e,t)=>JSON.stringify([typeof e,e,t]),h=n(()=>a.value.feedback),{t:g}=t(()=>a.value.locale),_=e=>e===`edit`?a.value.editable&&i.value?.edit!==!1:typeof i.value?.[e]==`function`,v=e=>e!==!1&&typeof e==`function`,y=e=>e&&typeof e==`object`&&`data`in e?e.data:e,b=(e,t,n=`primary`,i,o,s=!1)=>w(z,{size:a.value.controlSize??`small`,type:n,quaternary:!0,onClick:i,loading:s||(o?f.isRunning(o):!1),disabled:o?f.isRunning(o):!1},()=>[w(r,{name:e,size:14,title:t})]),x=async(e,t)=>{let n=c(e),r=i.value?.edit;if(v(r)){try{await r(e,t)}catch(e){h.error(g(`table.actionFailed`,{action:g(`common.edit`)}),e)}return}a.value.editMode===`modal`?s.editStates.modalEdit.startEdit(n,{...e}):s.editStates.rowEdit.startEditRow(n)},S=(e,t)=>{p&&!t&&h.error(g(`table.deleteFailed`),e)},T=async(e,t,n)=>{let r=d?.(e)===!0;try{let i=await e(t,n);if(!p)return;let a=Ft(i);if(a!=null){S(a,r);return}r||h.success(g(`table.deleteSuccess`)),l?.(t,n)}catch(e){throw S(e,r),e}},E=async(e,t)=>{let n=i.value?.delete;v(n)&&await h.confirm({title:g(`table.deleteTitle`),content:g(`table.deleteContent`),positiveText:g(`common.confirm`),negativeText:g(`common.cancel`),type:`warning`})&&p&&await T(n,e,t)},ee=async(e,t)=>{let n=i.value?.detail;if(!v(n)){u?.(e);return}try{let r=await n(e,t);if(!p)return;let i=y(r);u?.(i||e)}catch(t){if(!p)return;h.error(g(`table.detailFailed`),t),u?.(e)}},D=(e,t)=>f.run(m(c(e),`edit`),()=>x(e,t)),te=(e,t)=>f.run(m(c(e),`delete`),()=>E(e,t)),O=(e,t)=>f.run(m(c(e),`detail`),()=>ee(e,t)),ne=e=>s.editStates.rowEdit.isEditingRow(e)?[b(`mdi:check`,g(`common.save`),`primary`,()=>void f.run(m(e,`save`),()=>s.editStates.rowEdit.saveEditRow()).catch(e=>h.error(g(`table.actionFailed`,{action:g(`common.save`)}),e)),m(e,`save`)),b(`mdi:close`,g(`common.cancel`),`default`,()=>void f.run(m(e,`cancel`),()=>s.editStates.rowEdit.cancelEditRow()).catch(e=>h.error(g(`table.actionFailed`,{action:g(`common.cancel`)}),e)),m(e,`cancel`))]:[b(`mdi:pencil`,g(`common.edit`),`warning`,()=>s.editStates.rowEdit.startEditRow(e))],re=(e,t)=>{let n=[];return _(`detail`)&&n.push(b(`mdi:eye`,g(`common.detail`),`info`,()=>void O(e,t),m(c(e),`detail`))),_(`edit`)&&(a.value.editMode===`modal`||v(i.value?.edit))&&n.push(b(`mdi:pencil`,g(`common.edit`),`warning`,()=>void D(e,t),m(c(e),`edit`))),_(`delete`)&&n.push(b(`mdi:delete`,g(`common.delete`),`error`,()=>void te(e,t).catch(()=>void 0),m(c(e),`delete`))),n},k=(e,t)=>{let n=i.value?.custom;if(!n?.length)return null;let a=n.filter(n=>n.show?n.show(e,t):!0);return a.length?w(pe,{options:a.map(n=>{let i=typeof n.label==`function`?n.label(e,t):n.label,a=typeof n.icon==`function`?n.icon(e,t):n.icon;return{label:i,key:n.key,icon:()=>w(r,{name:a,size:14}),disabled:n.disabled?.(e,t)||f.isRunning(m(c(e),`custom:${n.key}`))}}),onSelect:n=>{let r=a.find(e=>e.key===n);if(!r)return;let i=typeof r.label==`function`?r.label(e,t):r.label;f.run(m(c(e),`custom:${r.key}`),()=>r.onClick(e,t),()=>!r.disabled?.(e,t)).catch(e=>h.error(g(`table.actionFailed`,{action:i}),e))}},()=>b(`mdi:dots-horizontal`,g(`table.moreActions`),`default`,()=>{},void 0,a.some(t=>f.isRunning(m(c(e),`custom:${t.key}`))))):null};return{renderActions:(e,t)=>{if(i.value?.render)return i.value.render(e,t);let n=c(e),r=a.value.editable&&[`row`,`both`].includes(a.value.editMode);if(r&&s.editStates.rowEdit.isEditingRow(n))return w(ve,{size:2,wrap:!1},()=>ne(n));let o=v(i.value?.edit),l=[...r&&!o?ne(n):[],...re(e,t)],u=k(e,t);return u&&l.push(u),w(ve,{size:2,wrap:!1},()=>l)},isActionEnabled:_}}const Lt=Symbol(`C_TABLE_GLOBAL_CONFIG`),Rt={date:{format:`YYYY-MM-DD`},datetime:{format:`YYYY-MM-DD HH:mm:ss`},currency:{prefix:`¥`,precision:2},percent:{precision:2,suffix:`%`},number:{precision:0}};function zt(e,t){if(e==null||e===``)return`-`;let n=new Date(typeof e==`number`?e:String(e));if(Number.isNaN(n.getTime()))return String(e);let r=e=>String(e).padStart(2,`0`);return t.replace(`YYYY`,String(n.getFullYear())).replace(`MM`,r(n.getMonth()+1)).replace(`DD`,r(n.getDate())).replace(`HH`,r(n.getHours())).replace(`mm`,r(n.getMinutes())).replace(`ss`,r(n.getSeconds()))}function Bt(e,t){if(e==null||e===``)return`-`;let n=Number(e);return Number.isNaN(n)?String(e):n.toLocaleString(`zh-CN`,{minimumFractionDigits:t,maximumFractionDigits:t})}const Vt={date:(e,t)=>zt(e,t.format??`YYYY-MM-DD`),datetime:(e,t)=>zt(e,t.format??`YYYY-MM-DD HH:mm:ss`),currency:(e,t)=>{let n=Bt(e,t.precision??2);return n===`-`?`-`:`${t.prefix??`¥`}${n}${t.suffix??``}`},percent:(e,t)=>{if(e==null||e===``)return`-`;let n=Number(e);return Number.isNaN(n)?String(e):`${(n*100).toFixed(t.precision??2)}${t.suffix??`%`}`},number:(e,t)=>Bt(e,t.precision??0)};function Ht(e,t,n,r){if(n.fn)return n.fn(e,t);if(n.type===`enum`)return n.mapping?n.mapping[String(e)]??String(e??`-`):String(e??`-`);let i=n.type&&Vt[n.type];return i?i(e,{...{...Rt,...r}[n.type],...n.config}):String(e??`-`)}function Ut(){return S()?T(Lt,{}):{}}const Wt=(e,t)=>t===void 0?e:t&&e&&typeof t==`object`&&typeof e==`object`&&!Array.isArray(t)&&!Array.isArray(e)?{...e,...t}:t;function Gt(e,t){let n=t.defaults??{},r={...n,...e};if([`edit`,`pagination`,`expand`,`selection`,`dynamicRows`,`toolbar`,`display`,`virtualScroll`,`summary`,`columnDrag`,`tree`,`rowDrag`,`crossPageSelection`,`export`,`formatterConfig`,`error`,`batchActions`].forEach(t=>{let i=e=>t===`edit`&&typeof e==`string`?{mode:e}:e,a=Wt(i(n[t]),i(e[t]));a!==void 0&&(r[t]=a)}),t.display){let e=typeof r.display==`object`?r.display:{};r.display={...t.display,...e}}if(t.pageSize&&r.pagination!==!1){let e=typeof r.pagination==`object`?r.pagination:{};e.pageSize||(r.pagination={...e,pageSize:t.pageSize})}return r}const Kt=b(()=>import(`./date-picker.js`)),qt={number:V,switch:be,input:me,email:me,mobile:me,date:e=>w(Kt,{...e,type:`date`,format:`yyyy-MM-dd`}),select:e=>w(_e,{...e,options:e.options||[]}),textarea:e=>w(me,{...e,type:`textarea`,rows:3})},Jt={number:`inputNumber`,date:`datePicker`,textarea:`textarea`,select:`select`,switch:`switch`},Yt=(e,t)=>e.filter(G).map(e=>{let n={...e.editProps};return delete n.rules,{prop:String(e.key),label:e.title||String(e.key),type:Jt[e.editType??`input`]??`input`,placeholder:e.editProps?.placeholder??`请输入${e.title}`,rules:K(e,t),attrs:n,layout:{span:1},show:!0}});function Xt(e,t,n,r={},i=0,a,o=!1){if(e.editRender)return e.editRender(t,r,i,{onUpdate:n});let s=e,c={value:t,"onUpdate:value":n,placeholder:`请输入${s.title??``}`,style:{width:`100%`},...a?{size:a}:{},...e.editProps,...o?{disabled:!0}:{}};return w(qt[e.editType||`input`]||qt.input,c)}function Zt(e,t,n,r,i){return e.render?e.render(t,n)??String(r??``):e.formatter?Ht(r,t,e.formatter,i):String(r??``)}function Qt(e,t,n,i,a,o={rowData:{},rowIndex:0}){let s=(e,t,n)=>w(`button`,{class:`cell-action-btn cell-action-${e}`,disabled:o.busy,"aria-busy":o.busy||void 0,title:t,type:`button`,onClick:e=>{e.stopPropagation(),e.preventDefault(),n(e)}},[w(r,{name:`mdi:${e===`save`?`check`:`close`}`,title:e===`save`?`保存`:`取消`,size:12})]);return w(`div`,{class:`cell-editing-container`},[w(`div`,{class:`cell-editing-input`},[Xt(e,t,n,o.rowData,o.rowIndex,o.size,o.busy)]),w(`div`,{class:`cell-editing-actions`},[s(`save`,`保存`,i),s(`cancel`,`取消`,a)])])}function $t(e,t,n,i,a,o){let s;return s=e.render?e.render(t,n)??String(i??``):e.formatter?Ht(i,t,e.formatter,o):String(i??``),w(`div`,{class:`cell-edit-wrapper`},[w(`span`,{class:`cell-value`},s),w(r,{name:`mdi:square-edit-outline`,title:`编辑`,class:`cell-edit-icon`,size:14,clickable:!0,onClick:e=>{e.stopPropagation(),a()}})])}function en(e){let{rawColumns:t,config:n,rowKey:r,tableManager:i,actionsRenderer:a,editModeChecker:o,showActionsColumn:s}=e,c=j([]),l=j(!1),u=e=>{let t=e.find(e=>e.key===`_actions`),n=c.value.find(e=>e.key===`_actions`),r=e.filter(e=>e.key!==`_actions`);c.value=s.value?[...r,t||n||{key:`_actions`,title:`操作`,width:180,editable:!1,visible:!0,fixed:`right`}]:r};L([t,s],([e])=>{e?.length?u(e):c.value=[]},{deep:!0,immediate:!0});let d=(e,t,r,a)=>{let o=e.key??``,s=t[o],{isEditingCell:c,getEditingCellValue:l,updateEditingCellValue:u,saveEditCell:d,cancelEditCell:f,startEditCell:p}=i.editStates.cellEdit;return c(a,o)?Qt(e,l(a,o),e=>u(a,o,e),()=>d(),()=>f(),{rowData:t,rowIndex:r,busy:i.editStates.cellEdit.isSaving?.value,size:n.value.density?n.value.controlSize:void 0}):$t(e,t,r,s,()=>p(a,o),n.value.formatterConfig)},p=(e,t,a)=>{let s=e.key??``,c=t[s],l=r(t),u=o.value;if(u.isNonEditable(e))return Zt(e,t,a,c,n.value.formatterConfig);if(u.isRowEditMode()&&i.editStates.rowEdit.isEditingRow(l)){let r=i.editStates.rowEdit.getEditingRowData(l);return Xt(e,r?.[s],e=>i.editStates.rowEdit.updateEditingRowData(l,s,e),r??t,a,n.value.density?n.value.controlSize:void 0,i.editStates.rowEdit.isSaving?.value)}return u.isCellEditMode()?d(e,t,a,l):Zt(e,t,a,c,n.value.formatterConfig)},m=t=>t.width===void 0?t.type===`selection`||t.type===`expand`?40:t.type===`index`?50:e.columnWidth??180:t.width,h=e=>{let t=e;return{...t,type:void 0,key:`_index`,title:t.title??`序号`,width:m(e),className:[t.className,`c-table-index-column`].filter(Boolean).join(` `),titleAlign:t.titleAlign??`center`,align:t.align??`center`,render:(e,t)=>t+1,fixed:e.fixed}},g=t=>{let n=t,r=!n.fixed&&n.width===void 0&&n.maxWidth===void 0&&e.columnWidthExplicit===!1,i={...n,width:r?void 0:m(t),minWidth:n.minWidth??(r?e.columnWidth:void 0),titleAlign:n.titleAlign||`center`,align:n.align||`center`,render:(e,n)=>p(t,e,n)};return t.fixed&&(i.fixed=t.fixed),t.resizable&&typeof i.width==`number`&&(i.resizable=!0,i.minWidth=t.minWidth??80,i.maxWidth=t.maxWidth??500),i},_=f(()=>{let e=c.value.filter(e=>{let t=e;return t.visible!==!1&&t.key!==`_actions`}).map(e=>{let t=e;return e.type===`index`?h(e):e.type===`selection`||e.type===`expand`?{...t,width:m(e)}:g(e)});if(i.dynamicRowsState&&(e=i.dynamicRowsState.enhanceColumns(e)),i.expandState&&(n.value.expandable||n.value.enableSelection)&&(e=i.expandState.getTableColumns(e)),s.value){let t=c.value.find(e=>e.key===`_actions`);e.push({...t,type:void 0,key:`_actions`,title:t?.title??`操作`,width:t?.width??180,className:[t?.className,`c-table-actions-column`].filter(Boolean).join(` `),align:t?.align??`center`,titleAlign:t?.titleAlign??`center`,render:a,fixed:t?.fixed})}return e});return{reactiveColumns:c,showSettingsPanel:l,computedColumns:_,computedScrollX:f(()=>{if(e.scrollX!==void 0)return e.scrollX;let t=_.value.some(e=>e.fixed),n=_.value.some(e=>e.type===`selection`||e.type===`expand`||e.key===`_index`),r=_.value.some(e=>!e.type&&!e.fixed&&e.key!==`_index`&&e.key!==`_actions`&&e.width===void 0);if(!(!t&&!(n&&r)))return _.value.reduce((e,t)=>{let n=t.width;return e+(typeof n==`number`?n:typeof n==`string`&&/^\s*\d+(?:\.\d+)?(?:px)?\s*$/.test(n)?Number.parseFloat(n):typeof t.minWidth==`number`?t.minWidth:180)},0)}),handleColumnChange:e=>{c.value=e.map(e=>{let t=e;return{...e,visible:t.visible!==!1,fixed:e.fixed,width:t.width??(t.type?m(e):void 0),align:t.align||`center`,titleAlign:t.titleAlign||`center`}})}}}function tn(e){let{data:t,onReorder:n,onSort:r}=e,i=j(!1),a=null,o=0,s=!1,c,l=null,u,d,f=null,p,m=t=>t.map(t=>Ue(t,e.rowKey)),h=()=>{p?.parentNode!==l||!l||f&&f.parentNode!==l||l.insertBefore(p,f)},g=()=>{a?.destroy(),a=null,l=null,u=void 0,d=void 0,p=void 0,f=null,i.value=!1},_=(e,t,n)=>{if(!u||u.length!==e.length||u.some((t,n)=>t!==e[n])||t.some((e,t)=>e===void 0||e!==d?.[t])||n.length!==t.length||new Set(n).size!==t.length)return!1;let r=new Set(t);return n.every(e=>r.has(e))},v=e=>{i.value=!1;let{item:a}=e,o=a.getAttribute(`data-c-table-row-key`),s=[...t.value],c=m(s),g=l?[...l.children].map(e=>e.getAttribute(`data-c-table-row-key`)).filter(e=>e!==null):[],v=a===p&&_(s,c,g);if(h(),u=void 0,d=void 0,p=void 0,f=null,!v||!o)return;let y=c.indexOf(o),b=g.indexOf(o);if(y<0||b<0||y===b)return;let[x]=s.splice(y,1);s.splice(b,0,x),n?.(s),r?.(x,y,b)},y=async n=>{let r=++o;c?.disconnect(),c=void 0,g();let h=F(e.config);if(!(!h||h.enabled===!1||!n||s))try{let{default:e}=await import(`sortablejs`);if(s||r!==o)return;let _=()=>{if(s||r!==o)return;let c=n.querySelector(`.n-data-table-tbody`);c!==l&&(g(),c&&(l=c,a=new e(c,{animation:h.animationDuration??150,handle:h.handleSelector,draggable:`> tr[data-c-table-row-key]`,ghostClass:h.ghostClass??`row-drag-ghost`,chosenClass:h.chosenClass??`row-drag-chosen`,onMove:e=>e.related.hasAttribute(`data-c-table-row-key`),onStart:e=>{u=[...t.value],d=m(u),p=e.item,f=e.item.nextSibling,i.value=!0},onEnd:v})))};c=new MutationObserver(_),c.observe(n,{childList:!0,subtree:!0}),_()}catch{}},b=()=>{o+=1,c?.disconnect(),c=void 0,g()};return ne(()=>{s=!0,b()}),{initRowDrag:y,destroyRowDrag:b,isDragging:i}}function nn(e){let t=j(new Set),n=M(new Map),r=()=>F(e.config)?.enabled===!0,i=(t=e.allData.value)=>We(t,F(e.childrenKey)),a=f(()=>{let t=new Map,n=new Map;for(let r of i()){let i=e.rowKey(r),a=t.get(i);if(!a)t.set(i,r);else{let e=n.get(i);e?e.push(r):n.set(i,[a,r])}}return{index:t,duplicates:n}}),o=t=>e.rowCheckable?.(t)!==!1,s=()=>{let t=F(e.config)?.maxSelection;return Number.isFinite(t)&&(t??0)>0?Math.trunc(t):void 0},c=f(()=>t.value.size),l=()=>[...t.value].flatMap(e=>{let t=n.get(e);return t?[t]:[]}),u=e=>{let t=s(),n=new Set;for(let r of e){if(t&&n.size>=t)break;n.add(r)}return n},d=(r,i=[])=>{let a=u(r);for(let t of i){let r=e.rowKey(t);a.has(r)&&n.set(r,t)}for(let e of n.keys())a.has(e)||n.delete(e);let o=t.value;o.size===a.size&&[...o].every(e=>a.has(e))||(t.value=a,e.onSelectionChange?.([...a],l()))},p=n=>i(n).map(e.rowKey).filter(e=>t.value.has(e)),m=(n,a)=>{if(!r())return;let s=i(a),c=new Set(s.filter(o).map(e.rowKey)),l=new Set(t.value);s.forEach(t=>l.delete(e.rowKey(t))),n.forEach(e=>{c.has(e)&&l.add(e)}),d(l,s)},h=()=>{if(!r())return;let n=i().filter(o),a=n.map(e.rowKey);d(F(e.remote)?[...t.value,...a]:a,n)},g=e=>{if(!r())return!1;if(t.value.has(e))return!0;let{index:n,duplicates:i}=a.value,c=i.get(e),l=c?c.find(o):n.get(e);if(!l||!c&&!o(l))return!1;let u=s();return u&&t.value.size>=u?!1:(d([...t.value,e],[l]),!0)},_=e=>{if(!t.value.has(e))return;let n=new Set(t.value);n.delete(e),d(n)},v=()=>d([]);return L(e.allData,a=>{if(!r()||t.value.size===0)return;let o=i(a);if(F(e.remote)){for(let r of o){let i=e.rowKey(r);t.value.has(i)&&n.set(i,r)}return}let s=new Set(o.map(e.rowKey));d([...t.value].filter(e=>s.has(e)),o)}),L(()=>[r(),s()],([e])=>{e?d(t.value):v()}),{selectedKeys:t,selectedCount:c,getPageCheckedKeys:p,handlePageSelectionChange:m,selectAll:h,select:g,unselect:_,clearAll:v,getSelectedRows:l,isSelected:e=>t.value.has(e)}}function rn(e,t){return e.filter(e=>typeof e.key!=`string`||e.key.startsWith(`_`)||e.type===`selection`||e.type===`expand`?!1:t?.length?t.includes(e.key):e.visible!==!1)}function an(e,t,n){let r=e[t.key];return t.formatter?Ht(r,e,t.formatter,n):r==null?``:typeof r==`boolean`?r?`是`:`否`:String(r)}function on(e,t,n){let r=n&&/^[=+\-@\t\r]/.test(e)?`'${e}`:e;return r.includes(t)||r.includes(`"`)||r.includes(`
2
2
  `)||r.includes(`\r`)?`"${r.replace(/"/g,`""`)}"`:r}function sn(e){return[...e||`export`].map(e=>e.charCodeAt(0)<32||`<>:"/\\|?*`.includes(e)?`_`:e).join(``).trim()||`export`}function cn(e,t,n){let r=n.csvSeparator??`,`,i=n.preventFormulaInjection!==!1,a=rn(t,n.columnKeys),o=[];n.includeHeader!==!1&&o.push(a.map(e=>on(e.title??``,r,i)).join(r));for(let t of e){let e=a.map(e=>on(an(t,e,n.formatterConfig),r,i));o.push(e.join(r))}un(new Blob([``+o.join(`
3
3
  `)],{type:`text/csv;charset=utf-8;`}),`${sn(n.filename)}.csv`)}async function ln(e,t,n){let r=rn(t,n.columnKeys),i;try{i=await import(`xlsx`)}catch(r){n.onFallback?.(`xlsx`,`csv`,r),cn(e,t,{...n,format:`csv`});return}let a=r.map(e=>e.title??e.key??``),o=e.map(e=>r.map(t=>an(e,t,n.formatterConfig))),s=n.includeHeader===!1?o:[a,...o],c=i.utils.aoa_to_sheet(s),l=i.utils.book_new();i.utils.book_append_sheet(l,c,`Sheet1`),i.writeFile(l,`${sn(n.filename)}.xlsx`)}function un(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),setTimeout(()=>URL.revokeObjectURL(n),0)}async function dn(e,t,n={}){n.format===`xlsx`?await ln(e,t,n):cn(e,t,n)}const fn=e=>[{label:e.fixed?`✓ 取消固定`:`不固定`,key:`none`,disabled:!e.fixed},{label:e.fixed===`left`?`✓ 固定左侧`:`固定左侧`,key:`left`,disabled:!1},{label:e.fixed===`right`?`✓ 固定右侧`:`固定右侧`,key:`right`,disabled:!1}],pn=[`_actions`],mn=[`selection`,`expand`],hn=e=>pn.includes(e.key)||mn.includes(e.type),gn=e=>typeof e==`string`||typeof e==`number`&&Number.isFinite(e),_n=e=>typeof e==`number`&&Number.isFinite(e)&&e>=0||typeof e==`string`&&e.trim().length>0&&e.length<=128,vn=e=>e.map(e=>({...e})),yn=e=>{let t;try{t=JSON.parse(e)}catch{return[]}return Array.isArray(t)?t.flatMap((e,t)=>{if(!e||typeof e!=`object`||Array.isArray(e))return[];let n=e;return gn(n.key)?[{key:n.key,order:t,...typeof n.visible==`boolean`&&{visible:n.visible},..._n(n.width)&&{width:n.width},...(n.fixed===`left`||n.fixed===`right`)&&{fixed:n.fixed}}]:[]}):[]},bn=(e,t)=>{let n=new Map(yn(t).map(e=>[e.key,e]));return vn(e).map(e=>{let t=gn(e.key)?n.get(e.key):void 0;return t?{...e,visible:t.visible??e.visible,width:t.width??e.width,fixed:t.fixed??e.fixed}:e}).sort((e,t)=>{let r=gn(e.key)?n.get(e.key)?.order:void 0,i=gn(t.key)?n.get(t.key)?.order:void 0;return(r??1/0)-(i??1/0)})},xn=e=>JSON.stringify(e.filter(e=>gn(e.key)).map(e=>({key:e.key,visible:e.visible,width:e.width,fixed:e.fixed}))),Sn={class:`column-management-tab`},Cn={class:`search-row`},wn={class:`resizable-control`},Tn={class:`top-actions-bar`},En={class:`stats-info`},Dn={class:`quick-actions`},On=[`draggable`,`onDragstart`,`onDragover`,`onDrop`],kn={class:`column-info`},An={class:`column-controls`},jn={class:`column-details`},Mn={class:`column-actions`},Nn={class:`drag-controls`};var Pn=i(x({name:`ColumnSettings`,__name:`index`,props:{columns:{},persistKey:{}},emits:[`change`],setup(e,{emit:t}){let n=e,i=t,a=e=>{if(!n.persistKey)return vn(e);try{let t=localStorage.getItem(`c_table_cols_${n.persistKey}`);return t?bn(e,t):vn(e)}catch{return vn(e)}},o=e=>{if(n.persistKey)try{localStorage.setItem(`c_table_cols_${n.persistKey}`,xn(e))}catch{}},s=j(a(n.columns)),c=j(``),l=j(),u=j(null),_=j(null),b=j(!1);re(()=>{b.value=s.value.some(e=>e.resizable===!0),n.persistKey&&i(`change`,[...s.value])}),L(()=>n.columns,e=>{s.value=a(e),b.value=s.value.some(e=>e.resizable===!0)},{deep:!0});let x=f(()=>{if(!c.value)return s.value;let e=c.value.toLowerCase();return s.value.filter(t=>String(t.title??``).toLowerCase().includes(e)||String(t.key??``).toLowerCase().includes(e))}),S=f(()=>s.value.filter(e=>e.visible!==!1).length),C=f(()=>s.value.length),w=e=>{s.value.forEach(t=>{t.key!==`_actions`&&(t.visible=e)}),A()},T=()=>w(!0),E=()=>w(!1),ee=e=>{let t=x.value[e];return s.value.findIndex(e=>e.key===t.key)},D=(e,t)=>{let n=ee(e);n!==-1&&(t(s.value[n]),A())},ne=(e,t)=>{D(e,e=>{e.visible=t})},ie=(e,t)=>{D(e,e=>{e.fixed=t===`none`?void 0:t})},A=()=>{o(s.value),i(`change`,[...s.value])},oe=()=>{s.value=vn(n.columns),A()},se=e=>{s.value.forEach(t=>{hn(t)||(t.resizable=e,e&&(t.minWidth=t.minWidth||80,t.maxWidth=t.maxWidth||500))}),A()},M=(e,t)=>{let n=ee(e),r=ee(t);if(n!==-1&&r!==-1){let[e]=s.value.splice(n,1);s.value.splice(r,0,e),A()}},N=(e,t)=>{if(x.value[e].key===`_actions`){t.preventDefault();return}u.value=e,t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`)},F=(e,t)=>{t.preventDefault(),!(u.value===null||x.value[e].key===`_actions`)&&(_.value=e,t.dataTransfer&&(t.dataTransfer.dropEffect=`move`))},ce=e=>{u.value===null||x.value[e].key===`_actions`||(M(u.value,e),u.value=null,_.value=null)},le=()=>{u.value=null,_.value=null};return(e,t)=>(k(),h(`div`,Sn,[m(` 搜索框和列宽调整开关 `),g(`div`,Cn,[y(I(me),{value:c.value,"onUpdate:value":t[0]||=e=>c.value=e,placeholder:`搜索列名...`,clearable:``,class:`search-input`},{prefix:R(()=>[y(r,{name:`mdi:magnify`})]),_:1},8,[`value`]),g(`div`,wn,[y(r,{name:`mdi:arrow-split-vertical`,size:`14`,title:b.value?`开启后可拖拽列边界调整宽度`:`允许调整列宽`},null,8,[`title`]),y(I(H),{style:{fontSize:`12px`,marginLeft:`4px`}},{default:R(()=>[...t[2]||=[v(` 列宽调整 `,-1)]]),_:1}),y(I(be),{value:b.value,"onUpdate:value":[t[1]||=e=>b.value=e,se],size:`small`,style:{"margin-left":`6px`}},null,8,[`value`])])]),m(` 顶部操作栏:统计信息和快捷操作按钮 `),g(`div`,Tn,[g(`div`,En,[y(I(H),{depth:`3`,style:{fontSize:`13px`}},{default:R(()=>[v(` 已选 `+P(S.value)+` / 总共 `+P(C.value)+` 列 `,1)]),_:1})]),g(`div`,Dn,[y(I(ve),{size:6},{default:R(()=>[y(I(z),{size:`tiny`,onClick:T},{default:R(()=>[...t[3]||=[v(` 全选 `,-1)]]),_:1}),y(I(z),{size:`tiny`,onClick:E},{default:R(()=>[...t[4]||=[v(` 全不选 `,-1)]]),_:1}),y(I(z),{size:`tiny`,onClick:oe},{default:R(()=>[...t[5]||=[v(` 重置 `,-1)]]),_:1})]),_:1})])]),m(` 列列表 `),g(`div`,{ref_key:`listRef`,ref:l,class:`column-list`},[(k(!0),h(d,null,ae(x.value,(e,n)=>(k(),h(`div`,{key:e.key,class:te([`column-item`,{disabled:e.key===`_actions`,"fixed-left":e.fixed===`left`,"fixed-right":e.fixed===`right`}]),draggable:e.key!==`_actions`,onDragstart:e=>N(n,e),onDragover:e=>F(n,e),onDragend:le,onDrop:e=>ce(n)},[g(`div`,kn,[g(`div`,An,[y(r,{name:`mdi:drag`,size:`16`,class:te([`drag-handle`,{disabled:e.key===`_actions`}])},null,8,[`class`]),y(I(B),{checked:e.visible!==!1,disabled:e.key===`_actions`,"onUpdate:checked":e=>ne(n,e)},null,8,[`checked`,`disabled`,`onUpdate:checked`])]),g(`div`,jn,[y(I(ve),{align:`center`,size:6},{default:R(()=>[y(I(H),{strong:``,style:{fontSize:`13px`}},{default:R(()=>[v(P(e.title||e.key),1)]),_:2},1024),e.fixed===`left`?(k(),p(I(xe),{key:0,size:`tiny`,type:`info`},{default:R(()=>[...t[6]||=[v(` 左固定 `,-1)]]),_:1})):m(`v-if`,!0),e.fixed===`right`?(k(),p(I(xe),{key:1,size:`tiny`,type:`warning`},{default:R(()=>[...t[7]||=[v(` 右固定 `,-1)]]),_:1})):m(`v-if`,!0)]),_:2},1024),y(I(H),{depth:`3`,style:{fontSize:`11px`}},{default:R(()=>[v(P(e.key),1)]),_:2},1024)])]),g(`div`,Mn,[g(`div`,Nn,[y(r,{name:`mdi:chevron-up`,size:`14`,title:`上移`,clickable:n!==0,class:te({disabled:n===0}),onClick:e=>n!==0&&M(n,n-1)},null,8,[`clickable`,`class`,`onClick`]),y(r,{name:`mdi:chevron-down`,size:`14`,title:`下移`,clickable:n!==x.value.length-1,class:te({disabled:n===x.value.length-1}),onClick:e=>n!==x.value.length-1&&M(n,n+1)},null,8,[`clickable`,`class`,`onClick`])]),y(I(pe),{options:I(fn)(e),onSelect:e=>ie(n,e)},{default:R(()=>[y(r,{name:`mdi:pin`,size:`14`,title:`固定列`,clickable:``,style:O({color:e.fixed?`var(--n-primary-color)`:void 0})},null,8,[`style`])]),_:2},1032,[`options`,`onSelect`])])],42,On))),128))],512)]))}}),[[`__scopeId`,`data-v-92119048`]]);const Fn=[`aria-busy`],In={key:1,class:`table-toolbar`},Ln={class:`toolbar-left`},Rn={class:`toolbar-right`},zn={key:2,class:`batch-actions-bar`},Bn={class:`batch-info`},Vn={key:3,class:`table-error-state`},Hn={class:`error-content`},Un={class:`error-message`};var Wn=i(x({name:`C_Table`,inheritAttrs:!1,__name:`index`,props:{columns:{},data:{},loading:{},rowKey:{},config:{default:()=>({})},crud:{},pagination:{type:[Object,Boolean],default:void 0},remote:{type:Boolean,default:void 0},virtualScrollX:{type:Boolean},wrapperClass:{},flexHeight:{type:Boolean}},emits:[`pagination-change`,`row-delete`,`batch-action-error`,`row-key-error`,`row-add`,`row-copy`,`row-move`,`row-selection-change`,`view-detail`,`column-change`,`expand-change`,`selection-change`,`child-selection-change`,`parent-child-link-change`,`update:data`,`save`,`cancel`,`edit-error`],setup(e,{expose:i,emit:u}){let x=b(()=>import(`./C_Form.js`).then(e=>e.C_Form)),S=e,C=u,T=j(null),O=(...e)=>{C(...e);let{crud:t}=S;if(t)switch(e[0]){case`save`:return t.save?.(e[1],e[2],e[3]);case`cancel`:return t.handleCancel?.();case`pagination-change`:return t.handlePaginationChange?.(e[1],e[2]);case`row-delete`:return t.handleRowDelete?.(e[1],e[2]);case`view-detail`:return t.detail?.show(e[1])}},ie=Ut(),A=e=>{let t=S.rowKey??`id`;return typeof t==`function`?t(e):e[t]},M=f(()=>{let e=S.config||{};if(S.crud){let t={};if(S.crud.actions){let e=S.crud.actions.value;t.actions={...e,...S.crud.save&&typeof e.edit==`function`?{edit:void 0}:{}}}S.crud.pagination&&(t.pagination=S.crud.pagination.value??void 0),e={...t,...e}}return Gt(e,ie)}),N=f(()=>S.columns??S.crud?.columns.value??[]),F=f(()=>Ie(M.value)),le=n(()=>F.value.feedback),{t:B}=t(()=>F.value.locale),pe=f(()=>Le(F.value)),me=e=>e&&typeof e==`object`&&`value`in e?e.value:e,V=f(()=>me(S.data)??S.crud?.data.value??[]),_e=f(()=>me(S.loading)??S.crud?.loading.value??!1),ye=f(()=>F.value.treeEnabled&&F.value.treeDefaultExpandAll?Je(V.value,F.value.treeChildrenKey,A):[]),be=f(()=>({...F.value,defaultExpandedKeys:[...new Set([...F.value.defaultExpandedKeys??[],...ye.value])]})),xe=``;L(()=>M.value.validateRowKeys===!1?[]:V.value.map(e=>{try{return A(e)}catch{return}}),()=>{if(M.value.validateRowKeys===!1){xe=``;return}let e=qe(V.value,A);if(e.length===0){xe=``;return}let t=e.map(e=>[e.type,e.index,e.firstIndex,String(e.key)].join(`:`)).join(`|`);t!==xe&&(xe=t,le.warning(B(`table.invalidRowKeys`,{count:e.length})),C(`row-key-error`,e))},{immediate:!0});let H=f(()=>S.pagination!==void 0),U=f(()=>S.remote??F.value.pagination?.remote??!1),Se=j((e=>{if(!e)return 10;if(e.defaultPageSize!==void 0)return e.defaultPageSize;let t=e.pageSizes?.[0];return typeof t==`number`?t:t?.value||10})(S.pagination)),Ce=j(S.pagination?S.pagination.defaultPage??1:1),we=e=>{Ce.value=e},Te=e=>{Se.value=e},W=Et({config:be,data:()=>V.value,rowKey:A,rowKeyField:()=>typeof S.rowKey==`function`?void 0:S.rowKey??`id`,emit:O,columns:()=>N.value,renderLoading:()=>w(a,{size:32,label:B(`table.loading`)})}),Ee=new Set;L(ye,e=>{if(!F.value.treeEnabled||!F.value.treeDefaultExpandAll){Ee.clear();return}let t=e.filter(e=>!Ee.has(e));e.forEach(e=>Ee.add(e));let n=W.expandedKeys.value,r=t.filter(e=>!n.includes(e));r.length&&W.expandState?.handleExpandChange([...n,...r])},{immediate:!0});let De=It({actions:f(()=>M.value.actions||{}),config:F,tableManager:W,rowKey:A,onRowDeleted:(e,t)=>C(`row-delete`,e,t),isDeleteFeedbackHandled:e=>S.crud?.actions?.value.delete===e,onViewDetail:e=>O(`view-detail`,e)}),Oe=f(()=>{let{actions:e}=M.value;return!!(F.value.showRowActions||e?.delete||e?.detail||e?.custom?.length||e?.render)}),ke=en({rawColumns:N,config:F,get columnWidth(){return F.value.columnWidth},get columnWidthExplicit(){return S.virtualScrollX===!0||M.value.display?.columnWidth!==void 0},get scrollX(){return F.value.scrollX},rowKey:A,tableManager:W,actionsRenderer:De.renderActions,editModeChecker:pe,showActionsColumn:Oe}),{showSettingsPanel:Ae,reactiveColumns:je,computedColumns:Me,computedScrollX:Ne}=ke,Pe=Pt({data:V,columns:je,remote:()=>H.value||F.value.pagination?.remote===!0}),Fe=Pt({data:V,columns:je,remote:U}),G=Ot({data:Pe.processedData,config:f(()=>H.value?null:F.value.pagination),emit:O}),K=f(()=>{if(H.value){let e=T.value?.getCurrentPageData?.();if(e)return e;let t=Fe.processedData.value;if(!S.pagination||U.value)return t;let n=S.pagination.pageSize??Se.value,r=Math.max(1,Math.min(S.pagination.page??Ce.value,Math.ceil(t.length/Math.max(1,n))));return t.slice((r-1)*n,r*n)}return G.paginatedData.value}),Re=e=>{Pe.setSorter(e),Fe.setSorter(e)},ze=e=>{Pe.setFilters(e),Fe.setFilters(e),!H.value&&!F.value.pagination?.remote&&G.resetToFirstPage()},Be=ce(),Ve=f(()=>F.value.rowDrag!==void 0&&F.value.rowDrag.enabled!==!1&&!F.value.virtualScroll&&S.virtualScrollX!==!0),He=f(()=>{let e=K.value,t=e.map(e=>[Ue(e,A),e]),n=new Set(t.map(([e])=>e));return t.some(([e])=>e===void 0)||n.size!==e.length?new Map:new Map(t)}),We=(e,t)=>{let n=Be.rowProps??Be[`row-props`],r=typeof n==`function`?n(e,t):void 0;if(!Ve.value)return r;let i=Ue(e,A);return{...r,"data-c-table-row-key":i!==void 0&&He.value.get(i)===e?i:void 0}},Ge,Ke=tn({data:K,rowKey:A,config:f(()=>Ve.value?F.value.rowDrag:void 0),onReorder:e=>{let t=new Map(V.value.map((e,t)=>[A(e),t]));if(Ge=K.value.map(e=>t.get(A(e))),H.value?U.value:F.value.pagination?.remote===!0){O(`update:data`,e);return}let n=[...V.value];Ge.forEach((t,r)=>{t!==void 0&&(n[t]=e[r])}),O(`update:data`,n)},onSort:(e,t,n)=>{let r=Ge?.[t]??t,i=Ge?.[n]??n;Ge=void 0,C(`row-move`,e,r,i)}}),q=nn({allData:V,rowKey:A,config:f(()=>F.value.crossPageSelection),remote:()=>H.value?U.value:F.value.pagination?.remote===!0,childrenKey:()=>F.value.treeEnabled?F.value.treeChildrenKey:void 0,rowCheckable:e=>F.value.rowCheckable?.(e)??!0,onSelectionChange:(e,t)=>C(`selection-change`,e,t,new Map)}),J=f(()=>F.value.crossPageSelection?.enabled===!0),Ye=f(()=>J.value?q.selectedCount.value:W.checkedKeys?.value?.length??0),Xe=o(),Ze=async e=>{if(Xe.isRunning(e.key))return;let t=J.value?[...q.selectedKeys.value]:W.checkedKeys?.value??[],n=new Set(t),r=J.value?q.getSelectedRows():V.value.filter(e=>n.has(A(e)));try{if(!(await Xe.run(e.key,()=>e.onClick(t,r))).executed)return;F.value.batchActions?.clearSelectionOnSuccess&&Qe()}catch(t){F.value.batchActions?.onError?.(t,e.key),C(`batch-action-error`,t,e.key)}},Qe=()=>{J.value?q.clearAll():W.stateManager.selection.clear()},$e=f(()=>J.value?q.getPageCheckedKeys(K.value):null),et=e=>{if(J.value){q.handlePageSelectionChange(e,K.value);return}W.expandState?.handleSelectionChange?.(e)},tt=o(),nt=async()=>{let e=F.value.exportConfig??{};await tt.run(`export`,async()=>{let t=()=>J.value?q.getSelectedRows():W.stateManager.selection.getSelected(),n=e.scope===`page`?K.value:V.value;await dn(e.requestData?await e.requestData():e.scope===`selected`?t():n,e.scope&&e.scope!==`source`?je.value:N.value,{...e,formatterConfig:F.value.formatterConfig})})},rt=f(()=>F.value.summaryRender),Y=j(),it=null,at=0,ot=()=>{at+=1,it?.destroy(),it=null},st=async()=>{let e=++at;if(it?.destroy(),it=null,!(!F.value.enableColumnDrag||!Y.value))try{let{default:t}=await import(`sortablejs`);if(e!==at||!Y.value)return;let n=Y.value.querySelector(`.n-data-table-thead tr`);if(!n)return;it=new t(n,{animation:F.value.columnDragAnimationDuration,handle:F.value.columnDragHandleClass?`.${F.value.columnDragHandleClass}`:void 0,filter:`.c-table-actions-column`,preventOnFilter:!0,ghostClass:`column-drag-ghost`,onEnd:e=>{if(e.oldIndex==null||e.newIndex==null)return;let t=[...je.value],n=t.filter(e=>e.visible!==!1&&e.key!==`_actions`),r=n[e.oldIndex],i=n[e.newIndex];if(!r||!i||r===i)return;let a=t.indexOf(r),o=t.indexOf(i);t.splice(a,1),t.splice(o,0,r),ke.handleColumnChange(t),C(`column-change`,t)}})}catch{}},ct=f(()=>({striped:F.value.striped,bordered:F.value.bordered,singleLine:F.value.singleLine,size:F.value.size,maxHeight:F.value.maxHeight,tableLayout:Me.value.some(e=>e.type===`selection`||e.type===`expand`||e.key===`_index`)&&Me.value.some(e=>!e.type&&!e.fixed&&e.key!==`_index`&&e.key!==`_actions`&&e.width===void 0)?`fixed`:void 0})),lt=j(),ut=j(!1),X=j({}),dt=f({get:()=>W.editStates.modalEdit.isModalVisible.value,set:e=>{W.editStates.modalEdit.isModalVisible.value=e}}),ft=f(()=>`edit-form-${W.editStates.modalEdit.editingRowKey.value??`new`}`),pt=f(()=>Yt(N.value,()=>X.value));L(()=>W.editStates.modalEdit.editingData.value,e=>{e&&Object.keys(e).length>0&&(X.value=l(e))},{immediate:!0,deep:!0});let Z=null;L(dt,e=>{e&&Z&&(clearTimeout(Z),Z=null),e||(Z&&clearTimeout(Z),Z=setTimeout(()=>{X.value={},Z=null},300))});let mt=async()=>{if(!lt.value||ut.value)return;let e=W.editStates.modalEdit.editingRowKey.value,t=l(X.value);ut.value=!0;try{try{await lt.value.validate()}catch{return}if(e!==W.editStates.modalEdit.editingRowKey.value||!c(t,X.value))return;await W.editStates.modalEdit.saveEdit(t)}finally{ut.value=!1}},ht=()=>{X.value={},W.editStates.modalEdit.cancelEdit()},gt=e=>{ke.handleColumnChange(e),C(`column-change`,ke.reactiveColumns.value)},{edit:_t,expand:vt,selection:yt,dynamicRows:Q}=W.stateManager,bt=()=>T.value?.getFilteredAndSortedData?.().length??Fe.processedData.value.length,xt={startEdit:_t.start,cancelEdit:_t.cancel,saveEdit:()=>W.editStates.modalEdit.isModalVisible.value?mt():_t.save(),expandRow:vt.row,collapseRow:vt.collapse,toggleExpand:vt.toggle,retryExpand:e=>W.expandState.retryExpand(e),invalidateExpand:e=>W.expandState.invalidateExpand(e),expandAll:vt.all,collapseAll:vt.collapseAll,selectRow:e=>J.value?q.select(e):(yt.select(e),yt.isSelected(e)),unselectRow:e=>{J.value?q.unselect(e):yt.unselect(e)},selectAll:()=>{J.value?q.selectAll():yt.all()},clearSelection:Qe,isRowSelected:e=>J.value?q.isSelected(e):yt.isSelected(e),clearAllSelections:()=>{q.clearAll(),W.stateManager.clearAllSelections()},selectChildRow:W.stateManager.childSelection.select,unselectChildRow:W.stateManager.childSelection.unselect,selectAllChildren:W.stateManager.childSelection.selectAll,clearChildrenSelection:W.stateManager.childSelection.clear,getChildSelectedRows:W.stateManager.childSelection.getSelected,addRow:Q.add,insertRow:Q.insert,deleteRow:Q.delete,copyRow:Q.copy,moveRowUp:Q.moveUp,moveRowDown:Q.moveDown,clearRowSelection:Q?.clearSelection,getSelectedRowData:Q.getSelected,printTable:e=>Q.print(e??Y.value),downloadTableScreenshot:(e,t)=>Q.download(e??Y.value,t),resetToFirstPage:()=>{H.value?(Ce.value=1,T.value?.page(1)):G.resetToFirstPage()},getTotalPages:()=>{if(!H.value)return G.getTotalPages();let e=S.pagination;if(!e)return 1;if(U.value&&e.itemCount===void 0&&e.pageCount!==void 0)return Math.max(1,e.pageCount);let t=U.value?e.itemCount??V.value.length:bt(),n=e.pageSize??Se.value;return Math.max(1,Math.ceil(t/Math.max(1,n)))},getSelectedRows:()=>J.value?q.getSelectedRows():yt.getSelected(),getEditingData:()=>_t.getEditingData()??null,isEditing:_t.isEditing,isExpanded:vt.isExpanded,getManager:()=>W.stateManager,exportData:nt,crossPageSelection:{enabled:J,selectedKeys:q.selectedKeys,selectedCount:q.selectedCount,select:q.select,unselect:q.unselect,selectAll:q.selectAll,clearAll:q.clearAll,getSelectedRows:q.getSelectedRows}};return i(xt),re(()=>{let e=S.crud?.tableRef;e&&(e.value=xt),st(),Y.value&&Ke.initRowDrag(Y.value)}),L([()=>F.value.enableColumnDrag,()=>F.value.columnDragHandleClass,()=>_e.value,()=>Me.value.length],async()=>{await D(),await st()},{immediate:!0,flush:`post`}),L([()=>F.value.rowDrag,Ve,()=>_e.value,()=>K.value.length,()=>G.currentPage.value],async()=>{await D(),Y.value&&await Ke.initRowDrag(Y.value)},{immediate:!0,deep:!0,flush:`post`}),ne(()=>{Z&&clearTimeout(Z),ot(),Ke.destroyRowDrag()}),(t,n)=>(k(),h(`div`,{ref_key:`tableWrapperRef`,ref:Y,class:te([`c-table-wrapper`,[e.wrapperClass,{"c-table-wrapper--flex":e.flexHeight},F.value.density&&`c-table-wrapper--${F.value.density}`]]),"aria-busy":_e.value},[m(` 动态行工具栏 `),F.value.dynamicRows&&I(W).dynamicRowsState?(k(),p(se(I(W).dynamicRowsState.renderToolbar(Y.value)),{key:0})):m(`v-if`,!0),m(` 表格工具栏 `),F.value.showToolbar?(k(),h(`div`,In,[g(`div`,Ln,[oe(t.$slots,`toolbar-left`,{},void 0,!0),F.value.toolbarActions.length?(k(),p(s,{key:0,actions:F.value.toolbarActions,config:{...F.value.toolbarActionBarConfig}},null,8,[`actions`,`config`])):m(`v-if`,!0)]),g(`div`,Rn,[oe(t.$slots,`toolbar-right`,{},void 0,!0),F.value.toolbarRightActions.length?(k(),p(s,{key:0,actions:F.value.toolbarRightActions,config:{align:`right`,...F.value.toolbarActionBarConfig}},null,8,[`actions`,`config`])):m(`v-if`,!0),F.value.exportConfig?(k(),p(r,{key:1,name:`mdi:download`,size:`18`,title:I(B)(`table.export`),clickable:``,class:`column-settings-btn`,onClick:n[0]||=e=>nt()},null,8,[`title`])):m(`v-if`,!0),F.value.enableColumnSettings?(k(),p(r,{key:2,name:`mdi:cog`,size:`18`,title:I(B)(`table.settings`),clickable:``,class:`column-settings-btn`,onClick:n[1]||=e=>Ae.value=!0},null,8,[`title`])):m(`v-if`,!0)])])):m(`v-if`,!0),m(` 批量操作栏 `),F.value.batchActions?.enabled&&Ye.value>0?(k(),h(`div`,zn,[g(`span`,Bn,P(I(B)(`table.selectedCount`,{count:Ye.value})),1),y(I(ve),{size:8},{default:R(()=>[(k(!0),h(d,null,ae(F.value.batchActions.actions||[],e=>(k(),p(I(z),{key:e.key,type:e.type||`default`,size:F.value.controlSize,loading:I(Xe).isRunning(e.key),disabled:I(Xe).isRunning(e.key),onClick:t=>Ze(e)},_({default:R(()=>[v(` `+P(e.label),1)]),_:2},[e.icon?{name:`icon`,fn:R(()=>[y(r,{name:e.icon,size:`14`},null,8,[`name`])]),key:`0`}:void 0]),1032,[`type`,`size`,`loading`,`disabled`,`onClick`]))),128)),y(I(z),{size:F.value.controlSize,onClick:Qe},{default:R(()=>[v(P(I(B)(`table.cancelSelection`)),1)]),_:1},8,[`size`])]),_:1})])):m(`v-if`,!0),m(` 错误状态 `),F.value.error?.show?(k(),h(`div`,Vn,[oe(t.$slots,`error`,{error:F.value.error},()=>[g(`div`,Hn,[y(r,{name:`mdi:alert-circle-outline`,size:`48`}),g(`p`,Un,P(F.value.error.message||I(B)(`table.loadFailed`)),1),F.value.error.onRetry?(k(),p(I(z),{key:0,type:`primary`,size:F.value.controlSize,onClick:F.value.error.onRetry},{default:R(()=>[v(P(I(B)(`common.retry`)),1)]),_:1},8,[`size`,`onClick`])):m(`v-if`,!0)])],!0)])):m(`v-if`,!0),m(` 表格主体 `),F.value.error?.show?m(`v-if`,!0):(k(),p(I(ue),ee({key:4,ref_key:`tableRef`,ref:T},{...ct.value,...t.$attrs},{"flex-height":e.flexHeight,columns:I(Me),data:H.value?V.value:I(G).paginatedData.value,pagination:H.value?S.pagination:!1,remote:H.value?U.value:!0,"onUpdate:sorter":Re,"onUpdate:filters":ze,"onUpdate:pageSize":Te,"onUpdate:page":we,loading:_e.value,"row-key":A,"row-props":We,"expanded-row-keys":I(W).expandedKeys.value,"checked-row-keys":$e.value??I(W).checkedKeys.value,"onUpdate:expandedRowKeys":I(W).expandState?.handleExpandChange,"onUpdate:checkedRowKeys":et,"scroll-x":I(Ne),"virtual-scroll":F.value.virtualScroll,"virtual-scroll-x":S.virtualScrollX,"min-row-height":F.value.virtualScroll?F.value.virtualItemHeight:void 0,"max-height":F.value.virtualScroll?F.value.virtualMaxHeight:F.value.maxHeight,summary:rt.value,"summary-placement":F.value.summaryPosition,"children-key":F.value.treeEnabled?F.value.treeChildrenKey:void 0,indent:F.value.treeEnabled?F.value.treeIndent:void 0,"default-expand-all":F.value.treeEnabled?F.value.treeDefaultExpandAll:void 0,style:{width:`100%`}}),{loading:R(()=>[oe(t.$slots,`loading`,{},()=>[y(I(a),{label:I(B)(`table.loading`)},null,8,[`label`])],!0)]),_:3},16,[`flex-height`,`columns`,`data`,`pagination`,`remote`,`loading`,`expanded-row-keys`,`checked-row-keys`,`onUpdate:expandedRowKeys`,`scroll-x`,`virtual-scroll`,`virtual-scroll-x`,`min-row-height`,`max-height`,`summary`,`summary-placement`,`children-key`,`indent`,`default-expand-all`])),m(` 分页 `),!H.value&&I(G).paginationConfig.value?(k(),p(I(ge),ee({key:5},I(G).paginationConfig.value,{class:`pagination-wrapper`}),null,16)):m(`v-if`,!0),m(` 编辑弹窗 `),F.value.editMode===`modal`||F.value.editMode===`both`?(k(),p(I(he),{key:6,show:dt.value,"onUpdate:show":n[3]||=e=>dt.value=e,title:F.value.modalTitle,width:F.value.modalWidth,preset:`card`,"mask-closable":!1,"close-on-esc":!1,class:`w60%`,closable:!1},{action:R(()=>[y(I(ve),{justify:`end`},{default:R(()=>[y(I(z),{size:F.value.density?F.value.controlSize:`medium`,disabled:ut.value,onClick:ht},{default:R(()=>[v(P(I(B)(`common.cancel`)),1)]),_:1},8,[`size`,`disabled`]),y(I(z),{type:`primary`,size:F.value.density?F.value.controlSize:`medium`,disabled:!lt.value||ut.value,loading:ut.value,onClick:mt},{default:R(()=>[v(P(I(B)(`common.save`)),1)]),_:1},8,[`size`,`disabled`,`loading`])]),_:1})]),default:R(()=>[dt.value&&pt.value.length?(k(),p(I(x),{ref_key:`editFormRef`,ref:lt,key:ft.value,modelValue:X.value,"onUpdate:modelValue":n[2]||=e=>X.value=e,options:pt.value,config:{layout:`grid`,density:F.value.density,grid:{cols:2,...F.value.density?{}:{xGap:16,yGap:16}},showActions:!1}},null,8,[`modelValue`,`options`,`config`])):m(`v-if`,!0)]),_:1},8,[`show`,`title`,`width`])):m(`v-if`,!0),m(` 动态行确认删除弹窗 `),F.value.dynamicRows&&I(W).dynamicRowsState?(k(),p(se(I(W).dynamicRowsState.renderConfirmModal()),{key:7})):m(`v-if`,!0),m(` 列设置抽屉 `),y(I(de),{show:I(Ae),"onUpdate:show":n[4]||=e=>E(Ae)?Ae.value=e:null,width:420,placement:`right`,"mask-closable":!0},{default:R(()=>[y(I(fe),{title:I(B)(`table.columnSettings`),closable:``},{default:R(()=>[y(Pn,{columns:I(je),"persist-key":F.value.persistKey,onChange:gt},null,8,[`columns`,`persist-key`])]),_:1},8,[`title`])]),_:1},8,[`show`])],10,Fn))}}),[[`__scopeId`,`data-v-e7f232d7`]]);const Gn=(e,t)=>Number.isFinite(e)?Math.max(1,Math.floor(e)):t;function Kn(e){let t=N([]),n=j(!1),r=N(),i=j(0),a=l(e.initialQuery),o=j(Gn(e.initialPage,1)),s=j(Gn(e.pageSize,20)),c=N(l(a)),u=0,d=null,p=async()=>{let a=++u;d?.abort(),d=new AbortController,n.value=!0,r.value=void 0;try{let n=await e.request({page:o.value,pageSize:s.value,query:l(c.value),signal:d.signal});if(a!==u||d.signal.aborted)return!1;if(!Array.isArray(n.data)||!Number.isFinite(n.total))throw TypeError(`[C_Table] request 必须返回 { data: T[], total: number }`);return t.value=l([...n.data]),i.value=Math.max(0,Math.floor(n.total)),e.onSuccess?.({data:t.value,total:i.value}),!0}catch(t){return a!==u||d.signal.aborted?!1:(r.value=t,e.onError?.(t),!1)}finally{a===u&&(n.value=!1)}},m=async(e,t=!0)=>(c.value=l(typeof e==`function`?e(c.value):{...c.value,...e}),o.value=1,t?p():!0),h=async(e,t)=>(o.value=Gn(e,o.value),s.value=Gn(t,s.value),p()),g=async(e=!0)=>(c.value=l(a),o.value=1,e?p():!0),_=f(()=>{let r=F(e.config)??{},a=typeof r.pagination==`object`?r.pagination:{};return{data:t.value,loading:n.value,columns:F(e.columns),rowKey:e.rowKey??`id`,config:{...r,pagination:{...a,enabled:!0,remote:!0,page:o.value,pageSize:s.value,total:i.value}}}}),v=f(()=>({..._.value,onPaginationChange:h})),y=()=>{u+=1,d?.abort(),d=null,n.value=!1};return e.immediate!==!1&&re(()=>void p()),ie(y),{data:t,loading:n,error:r,total:i,page:o,pageSize:s,query:c,tableProps:_,execute:p,reload:p,setQuery:m,resetQuery:g,handlePaginationChange:h,bindings:v,cancel:y}}export{ze as C,Ve as S,Ie as T,at as _,tn as a,qe as b,Ht as c,It as d,Ot as f,bt as g,xt as h,nn as i,Gt as l,Tt as m,Wn as n,en as o,Et as p,dn as r,Lt as s,Kn as t,Ut as u,Ke as v,Le as w,He as x,q as y};