@robot-admin/naive-ui-components 0.24.5 → 0.25.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 (104) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +9 -1
  3. package/README_EN.md +9 -1
  4. package/dist/C_Form.base.css +23 -11
  5. package/dist/C_Form.css +23 -11
  6. package/dist/C_FormModal.css +1 -3
  7. package/dist/C_FormModal2.cjs +1 -1
  8. package/dist/C_FormModal2.js +1 -1
  9. package/dist/C_FormSearch.css +79 -79
  10. package/dist/C_Table.base.css +145 -121
  11. package/dist/C_Table.css +122 -110
  12. package/dist/C_Table2.cjs +3 -3
  13. package/dist/C_Table2.js +3 -3
  14. package/dist/config.d.cts +2 -2
  15. package/dist/config.d.ts +2 -2
  16. package/dist/constants2.d.cts +4 -4
  17. package/dist/constants2.d.ts +4 -4
  18. package/dist/constants3.d.cts +1 -1
  19. package/dist/constants3.d.ts +1 -1
  20. package/dist/constants5.d.cts +2 -2
  21. package/dist/constants5.d.ts +2 -2
  22. package/dist/data.d.cts +2 -2
  23. package/dist/data.d.ts +2 -2
  24. package/dist/data2.d.cts +1 -1
  25. package/dist/data2.d.ts +1 -1
  26. package/dist/dictionary.cjs +1 -1
  27. package/dist/dictionary.d.cts +10 -1
  28. package/dist/dictionary.d.ts +10 -1
  29. package/dist/dictionary.js +1 -1
  30. package/dist/formModal.cjs +1 -0
  31. package/dist/formModal.js +1 -0
  32. package/dist/helpers.cjs +1 -1
  33. package/dist/helpers.js +1 -1
  34. package/dist/index.d.cts +2 -2
  35. package/dist/index.d.ts +2 -2
  36. package/dist/index.vue.d.cts +5 -5
  37. package/dist/index.vue.d.ts +5 -5
  38. package/dist/index10.vue.d.cts +1 -1
  39. package/dist/index10.vue.d.ts +1 -1
  40. package/dist/index11.vue.d.cts +1 -1
  41. package/dist/index13.vue.d.ts +3 -3
  42. package/dist/index14.vue.d.cts +3 -3
  43. package/dist/index15.vue.d.ts +7 -7
  44. package/dist/index16.vue.d.cts +7 -7
  45. package/dist/index17.vue.d.ts +1 -1
  46. package/dist/index18.vue.d.cts +1 -1
  47. package/dist/index18.vue.d.ts +1 -1
  48. package/dist/index19.vue.d.cts +1 -1
  49. package/dist/index19.vue.d.ts +2 -2
  50. package/dist/index2.vue.d.cts +3 -3
  51. package/dist/index2.vue.d.ts +3 -3
  52. package/dist/index20.vue.d.cts +2 -2
  53. package/dist/index21.vue.d.ts +1 -1
  54. package/dist/index22.vue.d.cts +1 -1
  55. package/dist/index22.vue.d.ts +1 -1
  56. package/dist/index23.vue.d.cts +1 -1
  57. package/dist/index25.vue.d.cts +1 -1
  58. package/dist/index25.vue.d.ts +1 -1
  59. package/dist/index26.vue.d.cts +1 -1
  60. package/dist/index26.vue.d.ts +1 -1
  61. package/dist/index28.vue.d.cts +2 -2
  62. package/dist/index28.vue.d.ts +2 -2
  63. package/dist/index29.vue.d.cts +3 -3
  64. package/dist/index29.vue.d.ts +3 -3
  65. package/dist/index3.vue.d.cts +4 -4
  66. package/dist/index3.vue.d.ts +4 -4
  67. package/dist/index7.vue.d.ts +1 -1
  68. package/dist/index8.vue.d.cts +1 -1
  69. package/dist/index9.vue.d.ts +1 -1
  70. package/dist/mapUtils.d.cts +3 -3
  71. package/dist/mapUtils.d.ts +3 -3
  72. package/dist/serializeSearch.cjs +1 -1
  73. package/dist/serializeSearch.js +1 -1
  74. package/dist/style.css +225 -203
  75. package/dist/useCollapsePanel.d.cts +5 -5
  76. package/dist/useCollapsePanel.d.ts +5 -5
  77. package/dist/useComponentLocale.cjs +1 -1
  78. package/dist/useComponentLocale.js +1 -1
  79. package/dist/useCropperCore.d.cts +6 -6
  80. package/dist/useCropperCore.d.ts +6 -6
  81. package/dist/useDictionary.cjs +1 -1
  82. package/dist/useDictionary.js +1 -1
  83. package/dist/useDynamicFormState.d.cts +21 -12
  84. package/dist/useDynamicFormState.d.ts +21 -12
  85. package/dist/useEdgeInteraction.d.cts +1 -1
  86. package/dist/useEdgeInteraction.d.ts +1 -1
  87. package/dist/useFormConfig.d.cts +2 -0
  88. package/dist/useFormConfig.d.ts +2 -0
  89. package/dist/useInfiniteScroll.d.cts +2 -2
  90. package/dist/useInfiniteScroll.d.ts +2 -2
  91. package/dist/useQRCode.d.cts +3 -3
  92. package/dist/useQRCode.d.ts +3 -3
  93. package/dist/useSignatureHistory.d.cts +3 -3
  94. package/dist/useSignatureHistory.d.ts +3 -3
  95. package/dist/useSplitResize.d.cts +9 -9
  96. package/dist/useSplitResize.d.ts +9 -9
  97. package/dist/useWorkflowValidation.d.cts +32 -32
  98. package/dist/useWorkflowValidation.d.ts +32 -32
  99. package/dist/verification.d.cts +2 -2
  100. package/dist/verification.d.ts +2 -2
  101. package/docs/guides/data-workflows.md +9 -0
  102. package/docs/guides/form-density.en.md +2 -0
  103. package/docs/guides/form-density.md +2 -0
  104. package/package.json +1 -1
@@ -71,21 +71,21 @@ declare var __VLS_7: `header-${string}`, __VLS_8: {
71
71
  type __VLS_Slots = {} & { [K in NonNullable<typeof __VLS_7>]?: (props: typeof __VLS_8) => any } & { [K in NonNullable<typeof __VLS_16>]?: (props: typeof __VLS_17) => any } & { [K in NonNullable<typeof __VLS_31>]?: (props: typeof __VLS_32) => any };
72
72
  declare const __VLS_base: vue.DefineComponent<Props, CollapsePanelExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
73
73
  change: (activeKeys: string[]) => any;
74
- collapse: (key: string) => any;
75
- expand: (key: string) => any;
76
74
  "update:activeKeys": (keys: string[]) => any;
75
+ expand: (key: string) => any;
76
+ collapse: (key: string) => any;
77
77
  }, string, vue.PublicProps, Readonly<Props> & Readonly<{
78
78
  onChange?: ((activeKeys: string[]) => any) | undefined;
79
- onCollapse?: ((key: string) => any) | undefined;
80
- onExpand?: ((key: string) => any) | undefined;
81
79
  "onUpdate:activeKeys"?: ((keys: string[]) => any) | undefined;
80
+ onExpand?: ((key: string) => any) | undefined;
81
+ onCollapse?: ((key: string) => any) | undefined;
82
82
  }>, {
83
+ bordered: boolean;
83
84
  activeKeys: string[];
84
85
  defaultActiveKeys: string[];
85
86
  accordion: boolean;
86
87
  variant: CollapsePanelVariant;
87
88
  expandIconPosition: ExpandIconPosition;
88
- bordered: boolean;
89
89
  persistKey: string;
90
90
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
91
91
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -71,21 +71,21 @@ declare var __VLS_7: `header-${string}`, __VLS_8: {
71
71
  type __VLS_Slots = {} & { [K in NonNullable<typeof __VLS_7>]?: (props: typeof __VLS_8) => any } & { [K in NonNullable<typeof __VLS_16>]?: (props: typeof __VLS_17) => any } & { [K in NonNullable<typeof __VLS_31>]?: (props: typeof __VLS_32) => any };
72
72
  declare const __VLS_base: vue.DefineComponent<Props, CollapsePanelExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
73
73
  change: (activeKeys: string[]) => any;
74
- collapse: (key: string) => any;
75
- expand: (key: string) => any;
76
74
  "update:activeKeys": (keys: string[]) => any;
75
+ expand: (key: string) => any;
76
+ collapse: (key: string) => any;
77
77
  }, string, vue.PublicProps, Readonly<Props> & Readonly<{
78
78
  onChange?: ((activeKeys: string[]) => any) | undefined;
79
- onCollapse?: ((key: string) => any) | undefined;
80
- onExpand?: ((key: string) => any) | undefined;
81
79
  "onUpdate:activeKeys"?: ((keys: string[]) => any) | undefined;
80
+ onExpand?: ((key: string) => any) | undefined;
81
+ onCollapse?: ((key: string) => any) | undefined;
82
82
  }>, {
83
+ bordered: boolean;
83
84
  activeKeys: string[];
84
85
  defaultActiveKeys: string[];
85
86
  accordion: boolean;
86
87
  variant: CollapsePanelVariant;
87
88
  expandIconPosition: ExpandIconPosition;
88
- bordered: boolean;
89
89
  persistKey: string;
90
90
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
91
91
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1 +1 @@
1
- require(`./chunk.cjs`);const e=require(`./config.cjs`);let t=require(`vue`);const n=Object.freeze({"validation.summary":`请检查以下内容`,"validation.previous":`上一组`,"validation.next":`下一组`,"picker.title":`选择数据`,"picker.placeholder":`请选择`,"picker.searchPlaceholder":`输入关键字`,"picker.clear":`清空选择`,"picker.searchLabel":`搜索候选数据`,"picker.search":`搜索`,"picker.loadFailed":`候选数据加载失败`,"picker.labelFailed":`名称加载失败,保留原编码`,"picker.selected":`已选 {count} 项`,"picker.moreSelected":`另 {count} 项`,"batch.title":`批量操作结果`,"batch.summary":`共 {total} 项,成功 {success},失败 {failure},冲突 {conflict},跳过 {skipped}`,"batch.filterLabel":`筛选操作结果`,"batch.all":`全部`,"batch.retry":`重试可重试项({count})`,"batch.id":`业务标识`,"batch.status":`结果`,"batch.message":`说明`,"batch.retryColumn":`重试`,"batch.retryable":`可重试`,"batch.success":`成功`,"batch.failure":`失败`,"batch.conflict":`冲突`,"batch.skipped":`跳过`,"section.navigation":`单据分区导航`,"section.errors":`{count} 项错误`,"notification.invalidResponse":`消息接口返回的数据或统计无效`,"notification.operationFailed":`消息操作失败,请重试`,"notification.missingFetch":`远程消息模式未配置 fetchNotifications`,"notification.missingAction":`远程消息模式未配置 {name} 接口`,"notification.expiredScope":`消息作用域已失效`,"chat.self":`Me`,"common.search":`搜索...`,"common.add":`新增`,"common.refresh":`刷新`,"common.expand":`展开详情`,"common.collapse":`收起`,"common.unknown":`未知`,"tree.search":`搜索树节点`,"tree.expandAll":`展开全部`,"tree.collapseAll":`收起全部`,"tree.menu.add":`新增子菜单`,"tree.menu.deleteConfirm":`确认删除该菜单吗?`,"tree.file.open":`打开`,"tree.file.rename":`重命名`,"tree.file.deleteConfirm":`确认删除该文件吗?`,"tree.org.add":`新增下级`,"transfer.source":`可选列表`,"transfer.target":`已选列表`,"transfer.empty":`暂无数据`,"transfer.emptyTarget":`未选择任何项`,"transfer.searchSource":`搜索可选列表`,"transfer.searchTarget":`搜索已选列表`,"transfer.toTarget":`移至已选列表`,"transfer.toSource":`移回可选列表`,"split.resize":`调整面板大小`,"split.expandFirst":`展开首面板`,"split.collapseFirst":`折叠首面板`,"split.expandSecond":`展开第二面板`,"split.collapseSecond":`折叠第二面板`,"chat.sessions":`会话`,"chat.search":`搜索联系人`,"chat.online":`在线`,"chat.empty":`暂无消息,发送第一条吧`,"chat.choose":`选择一个会话开始聊天`,"chat.placeholder":`输入消息...`,"chat.title":`聊天`,"chat.emoji":`表情`,"chat.attach":`添加附件`,"chat.send":`发送`,"chat.imagePreview":`预览{name}的图片`,"chat.image":`聊天图片`,"chat.file":`文件`,"chat.failed":`发送失败,点击重试`,"chat.sending":`发送中...`,"time.now":`刚刚`,"time.minutes":`{count}分钟前`,"time.hours":`{count}小时前`,"time.days":`{count}天前`,"time.weeks":`{count}周前`,"time.months":`{count}个月前`,"time.yesterday":`昨天 {time}`,"theme.light":`当前: 浅色模式 (点击切换)`,"theme.dark":`当前: 深色模式 (点击切换)`,"theme.system":`当前: 跟随系统 (点击切换)`,"language.switch":`语言切换`,"skeleton.loading":`加载中`,"timeline.loading":`加载中...`,"notification.title":`消息中心`,"notification.viewAll":`查看全部消息`,"notification.badge":`消息通知`,"notification.unreadBadge":`消息通知({count} 条未读)`,"notification.all":`全部`,"notification.system":`系统通知`,"notification.business":`业务消息`,"notification.alarm":`告警预警`,"notification.low":`低`,"notification.normal":`普通`,"notification.high":`重要`,"notification.urgent":`紧急`,"notification.markRead":`标记已读`,"notification.delete":`删除消息`,"notification.allRead":`全部已读`,"notification.clear":`清空`,"notification.loadMore":`加载更多`,"notification.loading":`加载中...`,"notification.empty":`暂无消息`,"notification.back":`返回列表`,"notification.details":`查看详情`,"notification.connected":`已连接`,"notification.connecting":`连接中...`,"notification.disconnected":`未连接`,"notification.reconnecting":`重连中...`,"common.confirm":`确定`,"common.cancel":`取消`,"common.save":`保存`,"common.submit":`提交`,"common.reset":`重置`,"common.retry":`重试`,"common.edit":`编辑`,"common.detail":`详情`,"common.delete":`删除`,"common.select":`选择`,"common.print":`打印`,"common.loading":`正在加载`,"table.loading":`正在加载数据`,"table.loadFailed":`数据加载失败`,"table.deleteTitle":`确认删除`,"table.deleteContent":`确定要删除这条记录吗?`,"table.deleteSuccess":`删除成功`,"table.deleteFailed":`删除失败`,"table.detailFailed":`获取详情失败`,"table.moreActions":`更多操作`,"table.actionFailed":`{action}失败`,"table.cancelSelection":`取消选择`,"table.columnSettings":`列设置`,"table.export":`导出`,"table.settings":`表格设置`,"table.selectedCount":`已选择 {count} 项`,"table.addRow":`增行`,"table.insertRow":`插行`,"table.deleteRow":`删除行`,"table.copyRow":`复制行`,"table.moveUp":`上移`,"table.moveDown":`下移`,"table.addRowSuccess":`添加行成功`,"table.insertRowSuccess":`插入行成功`,"table.deleteRowSuccess":`删除行成功`,"table.copyRowSuccess":`复制行成功`,"table.moveUpSuccess":`行已上移`,"table.moveDownSuccess":`行已下移`,"table.selectRowFirst":`请先选择一行数据`,"table.selectDeleteRowFirst":`请先选择要删除的行`,"table.selectCopyRowFirst":`请先选择要复制的行`,"table.firstRow":`已经是第一行`,"table.lastRow":`已经是最后一行`,"table.deleteRowContent":`确定要删除选中的行吗?此操作不可撤销。`,"table.confirmDeleteRow":`确认删除`,"table.printTargetMissing":`打印元素未找到`,"table.downloadTargetMissing":`下载元素未找到`,"table.invalidRowKeys":`表格存在 {count} 个缺失或重复的行键`,"breadcrumb.label":`面包屑`,"breadcrumb.expandPath":`展开完整路径`,"breadcrumb.fullPath":`完整路径`,"breadcrumb.directoryPages":`目录页面`,"breadcrumb.pageCount":`{count} 个页面`,"breadcrumb.current":`当前`,"form.required":`{label}不能为空`,"search.valueRequired":`请输入搜索内容,或选择筛选条件`,"search.failed":`搜索失败`,"captcha.trigger":`点击进行人机验证`,"captcha.verifying":`正在验证…`,"captcha.success":`验证成功`,"captcha.failed":`验证失败,请重试`,"captcha.reset":`重新验证`,"captcha.puzzleFailed":`拼图验证失败`,"captcha.verifyFailed":`服务端验证失败`,"captcha.loadFailed":`验证码加载失败`}),r=Object.freeze({"validation.summary":`Please check the following`,"validation.previous":`Previous group`,"validation.next":`Next group`,"picker.title":`Select data`,"picker.placeholder":`Please select`,"picker.searchPlaceholder":`Enter keywords`,"picker.clear":`Clear selection`,"picker.searchLabel":`Search candidates`,"picker.search":`Search`,"picker.loadFailed":`Could not load candidates`,"picker.labelFailed":`Could not load labels; original values are retained`,"picker.selected":`{count} selected`,"picker.moreSelected":`{count} more`,"batch.title":`Batch operation results`,"batch.summary":`{total} items: {success} succeeded, {failure} failed, {conflict} conflicted, {skipped} skipped`,"batch.filterLabel":`Filter results`,"batch.all":`All`,"batch.retry":`Retry eligible items ({count})`,"batch.id":`Business key`,"batch.status":`Result`,"batch.message":`Details`,"batch.retryColumn":`Retry`,"batch.retryable":`Retryable`,"batch.success":`Success`,"batch.failure":`Failure`,"batch.conflict":`Conflict`,"batch.skipped":`Skipped`,"section.navigation":`Document sections`,"section.errors":`{count} errors`,"notification.invalidResponse":`Invalid notification response or counts`,"notification.operationFailed":`Notification action failed. Try again.`,"notification.missingFetch":`Remote notifications require fetchNotifications`,"notification.missingAction":`Remote notifications require the {name} adapter`,"notification.expiredScope":`Notification scope has expired`,"chat.self":`Me`,"common.search":`Search...`,"common.add":`Add`,"common.refresh":`Refresh`,"common.expand":`Show details`,"common.collapse":`Collapse`,"common.unknown":`Unknown`,"tree.search":`Search tree nodes`,"tree.expandAll":`Expand all`,"tree.collapseAll":`Collapse all`,"tree.menu.add":`Add submenu`,"tree.menu.deleteConfirm":`Delete this menu?`,"tree.file.open":`Open`,"tree.file.rename":`Rename`,"tree.file.deleteConfirm":`Delete this file?`,"tree.org.add":`Add child`,"transfer.source":`Available`,"transfer.target":`Selected`,"transfer.empty":`No data`,"transfer.emptyTarget":`Nothing selected`,"transfer.searchSource":`Search available items`,"transfer.searchTarget":`Search selected items`,"transfer.toTarget":`Move to selected`,"transfer.toSource":`Move to available`,"split.resize":`Resize panels`,"split.expandFirst":`Expand first panel`,"split.collapseFirst":`Collapse first panel`,"split.expandSecond":`Expand second panel`,"split.collapseSecond":`Collapse second panel`,"chat.sessions":`Conversations`,"chat.search":`Search contacts`,"chat.online":`Online`,"chat.empty":`No messages yet. Send the first one.`,"chat.choose":`Select a conversation to start chatting`,"chat.placeholder":`Type a message...`,"chat.title":`Chat`,"chat.emoji":`Emoji`,"chat.attach":`Add attachment`,"chat.send":`Send`,"chat.imagePreview":`Preview image from {name}`,"chat.image":`Chat image`,"chat.file":`File`,"chat.failed":`Send failed. Click to retry.`,"chat.sending":`Sending...`,"time.now":`Just now`,"time.minutes":`{count} minutes ago`,"time.hours":`{count} hours ago`,"time.days":`{count} days ago`,"time.weeks":`{count} weeks ago`,"time.months":`{count} months ago`,"time.yesterday":`Yesterday {time}`,"theme.light":`Current: Light mode (click to switch)`,"theme.dark":`Current: Dark mode (click to switch)`,"theme.system":`Current: System mode (click to switch)`,"language.switch":`Switch language`,"skeleton.loading":`Loading`,"timeline.loading":`Loading...`,"notification.title":`Notification center`,"notification.viewAll":`View all notifications`,"notification.badge":`Notifications`,"notification.unreadBadge":`Notifications ({count} unread)`,"notification.all":`All`,"notification.system":`System`,"notification.business":`Business`,"notification.alarm":`Alerts`,"notification.low":`Low`,"notification.normal":`Normal`,"notification.high":`Important`,"notification.urgent":`Urgent`,"notification.markRead":`Mark as read`,"notification.delete":`Delete notification`,"notification.allRead":`Mark all as read`,"notification.clear":`Clear`,"notification.loadMore":`Load more`,"notification.loading":`Loading...`,"notification.empty":`No notifications`,"notification.back":`Back to list`,"notification.details":`View details`,"notification.connected":`Connected`,"notification.connecting":`Connecting...`,"notification.disconnected":`Disconnected`,"notification.reconnecting":`Reconnecting...`,"common.confirm":`Confirm`,"common.cancel":`Cancel`,"common.save":`Save`,"common.submit":`Submit`,"common.reset":`Reset`,"common.retry":`Retry`,"common.edit":`Edit`,"common.detail":`Details`,"common.delete":`Delete`,"common.select":`Select`,"common.print":`Print`,"common.loading":`Loading`,"table.loading":`Loading data`,"table.loadFailed":`Failed to load data`,"table.deleteTitle":`Confirm deletion`,"table.deleteContent":`Are you sure you want to delete this record?`,"table.deleteSuccess":`Deleted successfully`,"table.deleteFailed":`Delete failed`,"table.detailFailed":`Failed to load details`,"table.moreActions":`More actions`,"table.actionFailed":`{action} failed`,"table.cancelSelection":`Clear selection`,"table.columnSettings":`Column settings`,"table.export":`Export`,"table.settings":`Table settings`,"table.selectedCount":`{count} selected`,"table.addRow":`Add row`,"table.insertRow":`Insert row`,"table.deleteRow":`Delete row`,"table.copyRow":`Copy row`,"table.moveUp":`Move up`,"table.moveDown":`Move down`,"table.addRowSuccess":`Row added`,"table.insertRowSuccess":`Row inserted`,"table.deleteRowSuccess":`Row deleted`,"table.copyRowSuccess":`Row copied`,"table.moveUpSuccess":`Row moved up`,"table.moveDownSuccess":`Row moved down`,"table.selectRowFirst":`Select a row first`,"table.selectDeleteRowFirst":`Select a row to delete first`,"table.selectCopyRowFirst":`Select a row to copy first`,"table.firstRow":`This is already the first row`,"table.lastRow":`This is already the last row`,"table.deleteRowContent":`Are you sure you want to delete the selected row? This cannot be undone.`,"table.confirmDeleteRow":`Delete row`,"table.printTargetMissing":`Print target was not found`,"table.downloadTargetMissing":`Download target was not found`,"table.invalidRowKeys":`{count} table row keys are missing or duplicated`,"breadcrumb.label":`Breadcrumb`,"breadcrumb.expandPath":`Show full path`,"breadcrumb.fullPath":`Full path`,"breadcrumb.directoryPages":`Directory pages`,"breadcrumb.pageCount":`{count} pages`,"breadcrumb.current":`Current`,"form.required":`{label} is required`,"search.valueRequired":`Enter a search term or choose a filter`,"search.failed":`Search failed`,"captcha.trigger":`Click to verify`,"captcha.verifying":`Verifying…`,"captcha.success":`Verified`,"captcha.failed":`Verification failed. Try again.`,"captcha.reset":`Verify again`,"captcha.puzzleFailed":`Puzzle verification failed`,"captcha.verifyFailed":`Server verification failed`,"captcha.loadFailed":`Failed to load captcha`}),i=(e,t)=>t?e.replace(/\{([^{}]+)\}/g,(e,n)=>Object.prototype.hasOwnProperty.call(t,n)?String(t[n]):e):e;function a(e,t){return e&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0}function o(e){return e===`en-US`?r:n}function s(e,t={},n={},r){let s=t.t??n.t;if(s)return s(e,r);let c=o(t.locale??n.locale);return i(a(t.messages,e)??a(n.messages,e)??a(c,e)??e,r)}function c(n){let r=(0,t.getCurrentInstance)()?(0,t.inject)(e.COMPONENT_LOCALE_KEY,{}):{};return{t:(e,i)=>s(e,(0,t.toValue)(n),r,i)}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return c}});
1
+ require(`./chunk.cjs`);const e=require(`./config.cjs`);let t=require(`vue`);const n=Object.freeze({"validation.summary":`请检查以下内容`,"validation.previous":`上一组`,"validation.next":`下一组`,"dictionary.loading":`正在加载字典({count} 项)`,"dictionary.failed":`{count} 项字典加载失败,保留已有显示`,"dictionary.optionsFailed":`选项加载失败`,"picker.title":`选择数据`,"picker.placeholder":`请选择`,"picker.searchPlaceholder":`输入关键字`,"picker.clear":`清空选择`,"picker.searchLabel":`搜索候选数据`,"picker.search":`搜索`,"picker.loadFailed":`候选数据加载失败`,"picker.labelFailed":`名称加载失败,保留原编码`,"picker.selected":`已选 {count} 项`,"picker.moreSelected":`另 {count} 项`,"batch.title":`批量操作结果`,"batch.summary":`共 {total} 项,成功 {success},失败 {failure},冲突 {conflict},跳过 {skipped}`,"batch.filterLabel":`筛选操作结果`,"batch.all":`全部`,"batch.retry":`重试可重试项({count})`,"batch.id":`业务标识`,"batch.status":`结果`,"batch.message":`说明`,"batch.retryColumn":`重试`,"batch.retryable":`可重试`,"batch.success":`成功`,"batch.failure":`失败`,"batch.conflict":`冲突`,"batch.skipped":`跳过`,"section.navigation":`单据分区导航`,"section.errors":`{count} 项错误`,"notification.invalidResponse":`消息接口返回的数据或统计无效`,"notification.operationFailed":`消息操作失败,请重试`,"notification.missingFetch":`远程消息模式未配置 fetchNotifications`,"notification.missingAction":`远程消息模式未配置 {name} 接口`,"notification.expiredScope":`消息作用域已失效`,"chat.self":`Me`,"common.search":`搜索...`,"common.add":`新增`,"common.refresh":`刷新`,"common.expand":`展开详情`,"common.collapse":`收起`,"common.unknown":`未知`,"tree.search":`搜索树节点`,"tree.expandAll":`展开全部`,"tree.collapseAll":`收起全部`,"tree.menu.add":`新增子菜单`,"tree.menu.deleteConfirm":`确认删除该菜单吗?`,"tree.file.open":`打开`,"tree.file.rename":`重命名`,"tree.file.deleteConfirm":`确认删除该文件吗?`,"tree.org.add":`新增下级`,"transfer.source":`可选列表`,"transfer.target":`已选列表`,"transfer.empty":`暂无数据`,"transfer.emptyTarget":`未选择任何项`,"transfer.searchSource":`搜索可选列表`,"transfer.searchTarget":`搜索已选列表`,"transfer.toTarget":`移至已选列表`,"transfer.toSource":`移回可选列表`,"split.resize":`调整面板大小`,"split.expandFirst":`展开首面板`,"split.collapseFirst":`折叠首面板`,"split.expandSecond":`展开第二面板`,"split.collapseSecond":`折叠第二面板`,"chat.sessions":`会话`,"chat.search":`搜索联系人`,"chat.online":`在线`,"chat.empty":`暂无消息,发送第一条吧`,"chat.choose":`选择一个会话开始聊天`,"chat.placeholder":`输入消息...`,"chat.title":`聊天`,"chat.emoji":`表情`,"chat.attach":`添加附件`,"chat.send":`发送`,"chat.imagePreview":`预览{name}的图片`,"chat.image":`聊天图片`,"chat.file":`文件`,"chat.failed":`发送失败,点击重试`,"chat.sending":`发送中...`,"time.now":`刚刚`,"time.minutes":`{count}分钟前`,"time.hours":`{count}小时前`,"time.days":`{count}天前`,"time.weeks":`{count}周前`,"time.months":`{count}个月前`,"time.yesterday":`昨天 {time}`,"theme.light":`当前: 浅色模式 (点击切换)`,"theme.dark":`当前: 深色模式 (点击切换)`,"theme.system":`当前: 跟随系统 (点击切换)`,"language.switch":`语言切换`,"skeleton.loading":`加载中`,"timeline.loading":`加载中...`,"notification.title":`消息中心`,"notification.viewAll":`查看全部消息`,"notification.badge":`消息通知`,"notification.unreadBadge":`消息通知({count} 条未读)`,"notification.all":`全部`,"notification.system":`系统通知`,"notification.business":`业务消息`,"notification.alarm":`告警预警`,"notification.low":`低`,"notification.normal":`普通`,"notification.high":`重要`,"notification.urgent":`紧急`,"notification.markRead":`标记已读`,"notification.delete":`删除消息`,"notification.allRead":`全部已读`,"notification.clear":`清空`,"notification.loadMore":`加载更多`,"notification.loading":`加载中...`,"notification.empty":`暂无消息`,"notification.back":`返回列表`,"notification.details":`查看详情`,"notification.connected":`已连接`,"notification.connecting":`连接中...`,"notification.disconnected":`未连接`,"notification.reconnecting":`重连中...`,"common.confirm":`确定`,"common.cancel":`取消`,"common.save":`保存`,"common.submit":`提交`,"common.reset":`重置`,"common.retry":`重试`,"common.edit":`编辑`,"common.detail":`详情`,"common.delete":`删除`,"common.select":`选择`,"common.print":`打印`,"common.loading":`正在加载`,"table.loading":`正在加载数据`,"table.loadFailed":`数据加载失败`,"table.deleteTitle":`确认删除`,"table.deleteContent":`确定要删除这条记录吗?`,"table.deleteSuccess":`删除成功`,"table.deleteFailed":`删除失败`,"table.detailFailed":`获取详情失败`,"table.moreActions":`更多操作`,"table.actionFailed":`{action}失败`,"table.cancelSelection":`取消选择`,"table.columnSettings":`列设置`,"table.export":`导出`,"table.settings":`表格设置`,"table.selectedCount":`已选择 {count} 项`,"table.addRow":`增行`,"table.insertRow":`插行`,"table.deleteRow":`删除行`,"table.copyRow":`复制行`,"table.moveUp":`上移`,"table.moveDown":`下移`,"table.addRowSuccess":`添加行成功`,"table.insertRowSuccess":`插入行成功`,"table.deleteRowSuccess":`删除行成功`,"table.copyRowSuccess":`复制行成功`,"table.moveUpSuccess":`行已上移`,"table.moveDownSuccess":`行已下移`,"table.selectRowFirst":`请先选择一行数据`,"table.selectDeleteRowFirst":`请先选择要删除的行`,"table.selectCopyRowFirst":`请先选择要复制的行`,"table.firstRow":`已经是第一行`,"table.lastRow":`已经是最后一行`,"table.deleteRowContent":`确定要删除选中的行吗?此操作不可撤销。`,"table.confirmDeleteRow":`确认删除`,"table.printTargetMissing":`打印元素未找到`,"table.downloadTargetMissing":`下载元素未找到`,"table.invalidRowKeys":`表格存在 {count} 个缺失或重复的行键`,"breadcrumb.label":`面包屑`,"breadcrumb.expandPath":`展开完整路径`,"breadcrumb.fullPath":`完整路径`,"breadcrumb.directoryPages":`目录页面`,"breadcrumb.pageCount":`{count} 个页面`,"breadcrumb.current":`当前`,"form.required":`{label}不能为空`,"search.valueRequired":`请输入搜索内容,或选择筛选条件`,"search.failed":`搜索失败`,"captcha.trigger":`点击进行人机验证`,"captcha.verifying":`正在验证…`,"captcha.success":`验证成功`,"captcha.failed":`验证失败,请重试`,"captcha.reset":`重新验证`,"captcha.puzzleFailed":`拼图验证失败`,"captcha.verifyFailed":`服务端验证失败`,"captcha.loadFailed":`验证码加载失败`}),r=Object.freeze({"validation.summary":`Please check the following`,"validation.previous":`Previous group`,"validation.next":`Next group`,"picker.title":`Select data`,"picker.placeholder":`Please select`,"picker.searchPlaceholder":`Enter keywords`,"picker.clear":`Clear selection`,"picker.searchLabel":`Search candidates`,"picker.search":`Search`,"picker.loadFailed":`Could not load candidates`,"picker.labelFailed":`Could not load labels; original values are retained`,"picker.selected":`{count} selected`,"picker.moreSelected":`{count} more`,"batch.title":`Batch operation results`,"batch.summary":`{total} items: {success} succeeded, {failure} failed, {conflict} conflicted, {skipped} skipped`,"batch.filterLabel":`Filter results`,"batch.all":`All`,"batch.retry":`Retry eligible items ({count})`,"dictionary.loading":`Loading dictionaries ({count})`,"dictionary.failed":`{count} dictionaries failed to load; existing labels are retained`,"dictionary.optionsFailed":`Failed to load options`,"batch.id":`Business key`,"batch.status":`Result`,"batch.message":`Details`,"batch.retryColumn":`Retry`,"batch.retryable":`Retryable`,"batch.success":`Success`,"batch.failure":`Failure`,"batch.conflict":`Conflict`,"batch.skipped":`Skipped`,"section.navigation":`Document sections`,"section.errors":`{count} errors`,"notification.invalidResponse":`Invalid notification response or counts`,"notification.operationFailed":`Notification action failed. Try again.`,"notification.missingFetch":`Remote notifications require fetchNotifications`,"notification.missingAction":`Remote notifications require the {name} adapter`,"notification.expiredScope":`Notification scope has expired`,"chat.self":`Me`,"common.search":`Search...`,"common.add":`Add`,"common.refresh":`Refresh`,"common.expand":`Show details`,"common.collapse":`Collapse`,"common.unknown":`Unknown`,"tree.search":`Search tree nodes`,"tree.expandAll":`Expand all`,"tree.collapseAll":`Collapse all`,"tree.menu.add":`Add submenu`,"tree.menu.deleteConfirm":`Delete this menu?`,"tree.file.open":`Open`,"tree.file.rename":`Rename`,"tree.file.deleteConfirm":`Delete this file?`,"tree.org.add":`Add child`,"transfer.source":`Available`,"transfer.target":`Selected`,"transfer.empty":`No data`,"transfer.emptyTarget":`Nothing selected`,"transfer.searchSource":`Search available items`,"transfer.searchTarget":`Search selected items`,"transfer.toTarget":`Move to selected`,"transfer.toSource":`Move to available`,"split.resize":`Resize panels`,"split.expandFirst":`Expand first panel`,"split.collapseFirst":`Collapse first panel`,"split.expandSecond":`Expand second panel`,"split.collapseSecond":`Collapse second panel`,"chat.sessions":`Conversations`,"chat.search":`Search contacts`,"chat.online":`Online`,"chat.empty":`No messages yet. Send the first one.`,"chat.choose":`Select a conversation to start chatting`,"chat.placeholder":`Type a message...`,"chat.title":`Chat`,"chat.emoji":`Emoji`,"chat.attach":`Add attachment`,"chat.send":`Send`,"chat.imagePreview":`Preview image from {name}`,"chat.image":`Chat image`,"chat.file":`File`,"chat.failed":`Send failed. Click to retry.`,"chat.sending":`Sending...`,"time.now":`Just now`,"time.minutes":`{count} minutes ago`,"time.hours":`{count} hours ago`,"time.days":`{count} days ago`,"time.weeks":`{count} weeks ago`,"time.months":`{count} months ago`,"time.yesterday":`Yesterday {time}`,"theme.light":`Current: Light mode (click to switch)`,"theme.dark":`Current: Dark mode (click to switch)`,"theme.system":`Current: System mode (click to switch)`,"language.switch":`Switch language`,"skeleton.loading":`Loading`,"timeline.loading":`Loading...`,"notification.title":`Notification center`,"notification.viewAll":`View all notifications`,"notification.badge":`Notifications`,"notification.unreadBadge":`Notifications ({count} unread)`,"notification.all":`All`,"notification.system":`System`,"notification.business":`Business`,"notification.alarm":`Alerts`,"notification.low":`Low`,"notification.normal":`Normal`,"notification.high":`Important`,"notification.urgent":`Urgent`,"notification.markRead":`Mark as read`,"notification.delete":`Delete notification`,"notification.allRead":`Mark all as read`,"notification.clear":`Clear`,"notification.loadMore":`Load more`,"notification.loading":`Loading...`,"notification.empty":`No notifications`,"notification.back":`Back to list`,"notification.details":`View details`,"notification.connected":`Connected`,"notification.connecting":`Connecting...`,"notification.disconnected":`Disconnected`,"notification.reconnecting":`Reconnecting...`,"common.confirm":`Confirm`,"common.cancel":`Cancel`,"common.save":`Save`,"common.submit":`Submit`,"common.reset":`Reset`,"common.retry":`Retry`,"common.edit":`Edit`,"common.detail":`Details`,"common.delete":`Delete`,"common.select":`Select`,"common.print":`Print`,"common.loading":`Loading`,"table.loading":`Loading data`,"table.loadFailed":`Failed to load data`,"table.deleteTitle":`Confirm deletion`,"table.deleteContent":`Are you sure you want to delete this record?`,"table.deleteSuccess":`Deleted successfully`,"table.deleteFailed":`Delete failed`,"table.detailFailed":`Failed to load details`,"table.moreActions":`More actions`,"table.actionFailed":`{action} failed`,"table.cancelSelection":`Clear selection`,"table.columnSettings":`Column settings`,"table.export":`Export`,"table.settings":`Table settings`,"table.selectedCount":`{count} selected`,"table.addRow":`Add row`,"table.insertRow":`Insert row`,"table.deleteRow":`Delete row`,"table.copyRow":`Copy row`,"table.moveUp":`Move up`,"table.moveDown":`Move down`,"table.addRowSuccess":`Row added`,"table.insertRowSuccess":`Row inserted`,"table.deleteRowSuccess":`Row deleted`,"table.copyRowSuccess":`Row copied`,"table.moveUpSuccess":`Row moved up`,"table.moveDownSuccess":`Row moved down`,"table.selectRowFirst":`Select a row first`,"table.selectDeleteRowFirst":`Select a row to delete first`,"table.selectCopyRowFirst":`Select a row to copy first`,"table.firstRow":`This is already the first row`,"table.lastRow":`This is already the last row`,"table.deleteRowContent":`Are you sure you want to delete the selected row? This cannot be undone.`,"table.confirmDeleteRow":`Delete row`,"table.printTargetMissing":`Print target was not found`,"table.downloadTargetMissing":`Download target was not found`,"table.invalidRowKeys":`{count} table row keys are missing or duplicated`,"breadcrumb.label":`Breadcrumb`,"breadcrumb.expandPath":`Show full path`,"breadcrumb.fullPath":`Full path`,"breadcrumb.directoryPages":`Directory pages`,"breadcrumb.pageCount":`{count} pages`,"breadcrumb.current":`Current`,"form.required":`{label} is required`,"search.valueRequired":`Enter a search term or choose a filter`,"search.failed":`Search failed`,"captcha.trigger":`Click to verify`,"captcha.verifying":`Verifying…`,"captcha.success":`Verified`,"captcha.failed":`Verification failed. Try again.`,"captcha.reset":`Verify again`,"captcha.puzzleFailed":`Puzzle verification failed`,"captcha.verifyFailed":`Server verification failed`,"captcha.loadFailed":`Failed to load captcha`}),i=(e,t)=>t?e.replace(/\{([^{}]+)\}/g,(e,n)=>Object.prototype.hasOwnProperty.call(t,n)?String(t[n]):e):e;function a(e,t){return e&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0}function o(e){return e===`en-US`?r:n}function s(e,t={},n={},r){let s=t.t??n.t;if(s)return s(e,r);let c=o(t.locale??n.locale);return i(a(t.messages,e)??a(n.messages,e)??a(c,e)??e,r)}function c(n){let r=(0,t.getCurrentInstance)()?(0,t.inject)(e.COMPONENT_LOCALE_KEY,{}):{};return{t:(e,i)=>s(e,(0,t.toValue)(n),r,i)}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return c}});
@@ -1 +1 @@
1
- import{COMPONENT_LOCALE_KEY as e}from"./config.js";import{getCurrentInstance as t,inject as n,toValue as r}from"vue";const i=Object.freeze({"validation.summary":`请检查以下内容`,"validation.previous":`上一组`,"validation.next":`下一组`,"picker.title":`选择数据`,"picker.placeholder":`请选择`,"picker.searchPlaceholder":`输入关键字`,"picker.clear":`清空选择`,"picker.searchLabel":`搜索候选数据`,"picker.search":`搜索`,"picker.loadFailed":`候选数据加载失败`,"picker.labelFailed":`名称加载失败,保留原编码`,"picker.selected":`已选 {count} 项`,"picker.moreSelected":`另 {count} 项`,"batch.title":`批量操作结果`,"batch.summary":`共 {total} 项,成功 {success},失败 {failure},冲突 {conflict},跳过 {skipped}`,"batch.filterLabel":`筛选操作结果`,"batch.all":`全部`,"batch.retry":`重试可重试项({count})`,"batch.id":`业务标识`,"batch.status":`结果`,"batch.message":`说明`,"batch.retryColumn":`重试`,"batch.retryable":`可重试`,"batch.success":`成功`,"batch.failure":`失败`,"batch.conflict":`冲突`,"batch.skipped":`跳过`,"section.navigation":`单据分区导航`,"section.errors":`{count} 项错误`,"notification.invalidResponse":`消息接口返回的数据或统计无效`,"notification.operationFailed":`消息操作失败,请重试`,"notification.missingFetch":`远程消息模式未配置 fetchNotifications`,"notification.missingAction":`远程消息模式未配置 {name} 接口`,"notification.expiredScope":`消息作用域已失效`,"chat.self":`Me`,"common.search":`搜索...`,"common.add":`新增`,"common.refresh":`刷新`,"common.expand":`展开详情`,"common.collapse":`收起`,"common.unknown":`未知`,"tree.search":`搜索树节点`,"tree.expandAll":`展开全部`,"tree.collapseAll":`收起全部`,"tree.menu.add":`新增子菜单`,"tree.menu.deleteConfirm":`确认删除该菜单吗?`,"tree.file.open":`打开`,"tree.file.rename":`重命名`,"tree.file.deleteConfirm":`确认删除该文件吗?`,"tree.org.add":`新增下级`,"transfer.source":`可选列表`,"transfer.target":`已选列表`,"transfer.empty":`暂无数据`,"transfer.emptyTarget":`未选择任何项`,"transfer.searchSource":`搜索可选列表`,"transfer.searchTarget":`搜索已选列表`,"transfer.toTarget":`移至已选列表`,"transfer.toSource":`移回可选列表`,"split.resize":`调整面板大小`,"split.expandFirst":`展开首面板`,"split.collapseFirst":`折叠首面板`,"split.expandSecond":`展开第二面板`,"split.collapseSecond":`折叠第二面板`,"chat.sessions":`会话`,"chat.search":`搜索联系人`,"chat.online":`在线`,"chat.empty":`暂无消息,发送第一条吧`,"chat.choose":`选择一个会话开始聊天`,"chat.placeholder":`输入消息...`,"chat.title":`聊天`,"chat.emoji":`表情`,"chat.attach":`添加附件`,"chat.send":`发送`,"chat.imagePreview":`预览{name}的图片`,"chat.image":`聊天图片`,"chat.file":`文件`,"chat.failed":`发送失败,点击重试`,"chat.sending":`发送中...`,"time.now":`刚刚`,"time.minutes":`{count}分钟前`,"time.hours":`{count}小时前`,"time.days":`{count}天前`,"time.weeks":`{count}周前`,"time.months":`{count}个月前`,"time.yesterday":`昨天 {time}`,"theme.light":`当前: 浅色模式 (点击切换)`,"theme.dark":`当前: 深色模式 (点击切换)`,"theme.system":`当前: 跟随系统 (点击切换)`,"language.switch":`语言切换`,"skeleton.loading":`加载中`,"timeline.loading":`加载中...`,"notification.title":`消息中心`,"notification.viewAll":`查看全部消息`,"notification.badge":`消息通知`,"notification.unreadBadge":`消息通知({count} 条未读)`,"notification.all":`全部`,"notification.system":`系统通知`,"notification.business":`业务消息`,"notification.alarm":`告警预警`,"notification.low":`低`,"notification.normal":`普通`,"notification.high":`重要`,"notification.urgent":`紧急`,"notification.markRead":`标记已读`,"notification.delete":`删除消息`,"notification.allRead":`全部已读`,"notification.clear":`清空`,"notification.loadMore":`加载更多`,"notification.loading":`加载中...`,"notification.empty":`暂无消息`,"notification.back":`返回列表`,"notification.details":`查看详情`,"notification.connected":`已连接`,"notification.connecting":`连接中...`,"notification.disconnected":`未连接`,"notification.reconnecting":`重连中...`,"common.confirm":`确定`,"common.cancel":`取消`,"common.save":`保存`,"common.submit":`提交`,"common.reset":`重置`,"common.retry":`重试`,"common.edit":`编辑`,"common.detail":`详情`,"common.delete":`删除`,"common.select":`选择`,"common.print":`打印`,"common.loading":`正在加载`,"table.loading":`正在加载数据`,"table.loadFailed":`数据加载失败`,"table.deleteTitle":`确认删除`,"table.deleteContent":`确定要删除这条记录吗?`,"table.deleteSuccess":`删除成功`,"table.deleteFailed":`删除失败`,"table.detailFailed":`获取详情失败`,"table.moreActions":`更多操作`,"table.actionFailed":`{action}失败`,"table.cancelSelection":`取消选择`,"table.columnSettings":`列设置`,"table.export":`导出`,"table.settings":`表格设置`,"table.selectedCount":`已选择 {count} 项`,"table.addRow":`增行`,"table.insertRow":`插行`,"table.deleteRow":`删除行`,"table.copyRow":`复制行`,"table.moveUp":`上移`,"table.moveDown":`下移`,"table.addRowSuccess":`添加行成功`,"table.insertRowSuccess":`插入行成功`,"table.deleteRowSuccess":`删除行成功`,"table.copyRowSuccess":`复制行成功`,"table.moveUpSuccess":`行已上移`,"table.moveDownSuccess":`行已下移`,"table.selectRowFirst":`请先选择一行数据`,"table.selectDeleteRowFirst":`请先选择要删除的行`,"table.selectCopyRowFirst":`请先选择要复制的行`,"table.firstRow":`已经是第一行`,"table.lastRow":`已经是最后一行`,"table.deleteRowContent":`确定要删除选中的行吗?此操作不可撤销。`,"table.confirmDeleteRow":`确认删除`,"table.printTargetMissing":`打印元素未找到`,"table.downloadTargetMissing":`下载元素未找到`,"table.invalidRowKeys":`表格存在 {count} 个缺失或重复的行键`,"breadcrumb.label":`面包屑`,"breadcrumb.expandPath":`展开完整路径`,"breadcrumb.fullPath":`完整路径`,"breadcrumb.directoryPages":`目录页面`,"breadcrumb.pageCount":`{count} 个页面`,"breadcrumb.current":`当前`,"form.required":`{label}不能为空`,"search.valueRequired":`请输入搜索内容,或选择筛选条件`,"search.failed":`搜索失败`,"captcha.trigger":`点击进行人机验证`,"captcha.verifying":`正在验证…`,"captcha.success":`验证成功`,"captcha.failed":`验证失败,请重试`,"captcha.reset":`重新验证`,"captcha.puzzleFailed":`拼图验证失败`,"captcha.verifyFailed":`服务端验证失败`,"captcha.loadFailed":`验证码加载失败`}),a=Object.freeze({"validation.summary":`Please check the following`,"validation.previous":`Previous group`,"validation.next":`Next group`,"picker.title":`Select data`,"picker.placeholder":`Please select`,"picker.searchPlaceholder":`Enter keywords`,"picker.clear":`Clear selection`,"picker.searchLabel":`Search candidates`,"picker.search":`Search`,"picker.loadFailed":`Could not load candidates`,"picker.labelFailed":`Could not load labels; original values are retained`,"picker.selected":`{count} selected`,"picker.moreSelected":`{count} more`,"batch.title":`Batch operation results`,"batch.summary":`{total} items: {success} succeeded, {failure} failed, {conflict} conflicted, {skipped} skipped`,"batch.filterLabel":`Filter results`,"batch.all":`All`,"batch.retry":`Retry eligible items ({count})`,"batch.id":`Business key`,"batch.status":`Result`,"batch.message":`Details`,"batch.retryColumn":`Retry`,"batch.retryable":`Retryable`,"batch.success":`Success`,"batch.failure":`Failure`,"batch.conflict":`Conflict`,"batch.skipped":`Skipped`,"section.navigation":`Document sections`,"section.errors":`{count} errors`,"notification.invalidResponse":`Invalid notification response or counts`,"notification.operationFailed":`Notification action failed. Try again.`,"notification.missingFetch":`Remote notifications require fetchNotifications`,"notification.missingAction":`Remote notifications require the {name} adapter`,"notification.expiredScope":`Notification scope has expired`,"chat.self":`Me`,"common.search":`Search...`,"common.add":`Add`,"common.refresh":`Refresh`,"common.expand":`Show details`,"common.collapse":`Collapse`,"common.unknown":`Unknown`,"tree.search":`Search tree nodes`,"tree.expandAll":`Expand all`,"tree.collapseAll":`Collapse all`,"tree.menu.add":`Add submenu`,"tree.menu.deleteConfirm":`Delete this menu?`,"tree.file.open":`Open`,"tree.file.rename":`Rename`,"tree.file.deleteConfirm":`Delete this file?`,"tree.org.add":`Add child`,"transfer.source":`Available`,"transfer.target":`Selected`,"transfer.empty":`No data`,"transfer.emptyTarget":`Nothing selected`,"transfer.searchSource":`Search available items`,"transfer.searchTarget":`Search selected items`,"transfer.toTarget":`Move to selected`,"transfer.toSource":`Move to available`,"split.resize":`Resize panels`,"split.expandFirst":`Expand first panel`,"split.collapseFirst":`Collapse first panel`,"split.expandSecond":`Expand second panel`,"split.collapseSecond":`Collapse second panel`,"chat.sessions":`Conversations`,"chat.search":`Search contacts`,"chat.online":`Online`,"chat.empty":`No messages yet. Send the first one.`,"chat.choose":`Select a conversation to start chatting`,"chat.placeholder":`Type a message...`,"chat.title":`Chat`,"chat.emoji":`Emoji`,"chat.attach":`Add attachment`,"chat.send":`Send`,"chat.imagePreview":`Preview image from {name}`,"chat.image":`Chat image`,"chat.file":`File`,"chat.failed":`Send failed. Click to retry.`,"chat.sending":`Sending...`,"time.now":`Just now`,"time.minutes":`{count} minutes ago`,"time.hours":`{count} hours ago`,"time.days":`{count} days ago`,"time.weeks":`{count} weeks ago`,"time.months":`{count} months ago`,"time.yesterday":`Yesterday {time}`,"theme.light":`Current: Light mode (click to switch)`,"theme.dark":`Current: Dark mode (click to switch)`,"theme.system":`Current: System mode (click to switch)`,"language.switch":`Switch language`,"skeleton.loading":`Loading`,"timeline.loading":`Loading...`,"notification.title":`Notification center`,"notification.viewAll":`View all notifications`,"notification.badge":`Notifications`,"notification.unreadBadge":`Notifications ({count} unread)`,"notification.all":`All`,"notification.system":`System`,"notification.business":`Business`,"notification.alarm":`Alerts`,"notification.low":`Low`,"notification.normal":`Normal`,"notification.high":`Important`,"notification.urgent":`Urgent`,"notification.markRead":`Mark as read`,"notification.delete":`Delete notification`,"notification.allRead":`Mark all as read`,"notification.clear":`Clear`,"notification.loadMore":`Load more`,"notification.loading":`Loading...`,"notification.empty":`No notifications`,"notification.back":`Back to list`,"notification.details":`View details`,"notification.connected":`Connected`,"notification.connecting":`Connecting...`,"notification.disconnected":`Disconnected`,"notification.reconnecting":`Reconnecting...`,"common.confirm":`Confirm`,"common.cancel":`Cancel`,"common.save":`Save`,"common.submit":`Submit`,"common.reset":`Reset`,"common.retry":`Retry`,"common.edit":`Edit`,"common.detail":`Details`,"common.delete":`Delete`,"common.select":`Select`,"common.print":`Print`,"common.loading":`Loading`,"table.loading":`Loading data`,"table.loadFailed":`Failed to load data`,"table.deleteTitle":`Confirm deletion`,"table.deleteContent":`Are you sure you want to delete this record?`,"table.deleteSuccess":`Deleted successfully`,"table.deleteFailed":`Delete failed`,"table.detailFailed":`Failed to load details`,"table.moreActions":`More actions`,"table.actionFailed":`{action} failed`,"table.cancelSelection":`Clear selection`,"table.columnSettings":`Column settings`,"table.export":`Export`,"table.settings":`Table settings`,"table.selectedCount":`{count} selected`,"table.addRow":`Add row`,"table.insertRow":`Insert row`,"table.deleteRow":`Delete row`,"table.copyRow":`Copy row`,"table.moveUp":`Move up`,"table.moveDown":`Move down`,"table.addRowSuccess":`Row added`,"table.insertRowSuccess":`Row inserted`,"table.deleteRowSuccess":`Row deleted`,"table.copyRowSuccess":`Row copied`,"table.moveUpSuccess":`Row moved up`,"table.moveDownSuccess":`Row moved down`,"table.selectRowFirst":`Select a row first`,"table.selectDeleteRowFirst":`Select a row to delete first`,"table.selectCopyRowFirst":`Select a row to copy first`,"table.firstRow":`This is already the first row`,"table.lastRow":`This is already the last row`,"table.deleteRowContent":`Are you sure you want to delete the selected row? This cannot be undone.`,"table.confirmDeleteRow":`Delete row`,"table.printTargetMissing":`Print target was not found`,"table.downloadTargetMissing":`Download target was not found`,"table.invalidRowKeys":`{count} table row keys are missing or duplicated`,"breadcrumb.label":`Breadcrumb`,"breadcrumb.expandPath":`Show full path`,"breadcrumb.fullPath":`Full path`,"breadcrumb.directoryPages":`Directory pages`,"breadcrumb.pageCount":`{count} pages`,"breadcrumb.current":`Current`,"form.required":`{label} is required`,"search.valueRequired":`Enter a search term or choose a filter`,"search.failed":`Search failed`,"captcha.trigger":`Click to verify`,"captcha.verifying":`Verifying…`,"captcha.success":`Verified`,"captcha.failed":`Verification failed. Try again.`,"captcha.reset":`Verify again`,"captcha.puzzleFailed":`Puzzle verification failed`,"captcha.verifyFailed":`Server verification failed`,"captcha.loadFailed":`Failed to load captcha`}),o=(e,t)=>t?e.replace(/\{([^{}]+)\}/g,(e,n)=>Object.prototype.hasOwnProperty.call(t,n)?String(t[n]):e):e;function s(e,t){return e&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0}function c(e){return e===`en-US`?a:i}function l(e,t={},n={},r){let i=t.t??n.t;if(i)return i(e,r);let a=c(t.locale??n.locale);return o(s(t.messages,e)??s(n.messages,e)??s(a,e)??e,r)}function u(i){let a=t()?n(e,{}):{};return{t:(e,t)=>l(e,r(i),a,t)}}export{u as t};
1
+ import{COMPONENT_LOCALE_KEY as e}from"./config.js";import{getCurrentInstance as t,inject as n,toValue as r}from"vue";const i=Object.freeze({"validation.summary":`请检查以下内容`,"validation.previous":`上一组`,"validation.next":`下一组`,"dictionary.loading":`正在加载字典({count} 项)`,"dictionary.failed":`{count} 项字典加载失败,保留已有显示`,"dictionary.optionsFailed":`选项加载失败`,"picker.title":`选择数据`,"picker.placeholder":`请选择`,"picker.searchPlaceholder":`输入关键字`,"picker.clear":`清空选择`,"picker.searchLabel":`搜索候选数据`,"picker.search":`搜索`,"picker.loadFailed":`候选数据加载失败`,"picker.labelFailed":`名称加载失败,保留原编码`,"picker.selected":`已选 {count} 项`,"picker.moreSelected":`另 {count} 项`,"batch.title":`批量操作结果`,"batch.summary":`共 {total} 项,成功 {success},失败 {failure},冲突 {conflict},跳过 {skipped}`,"batch.filterLabel":`筛选操作结果`,"batch.all":`全部`,"batch.retry":`重试可重试项({count})`,"batch.id":`业务标识`,"batch.status":`结果`,"batch.message":`说明`,"batch.retryColumn":`重试`,"batch.retryable":`可重试`,"batch.success":`成功`,"batch.failure":`失败`,"batch.conflict":`冲突`,"batch.skipped":`跳过`,"section.navigation":`单据分区导航`,"section.errors":`{count} 项错误`,"notification.invalidResponse":`消息接口返回的数据或统计无效`,"notification.operationFailed":`消息操作失败,请重试`,"notification.missingFetch":`远程消息模式未配置 fetchNotifications`,"notification.missingAction":`远程消息模式未配置 {name} 接口`,"notification.expiredScope":`消息作用域已失效`,"chat.self":`Me`,"common.search":`搜索...`,"common.add":`新增`,"common.refresh":`刷新`,"common.expand":`展开详情`,"common.collapse":`收起`,"common.unknown":`未知`,"tree.search":`搜索树节点`,"tree.expandAll":`展开全部`,"tree.collapseAll":`收起全部`,"tree.menu.add":`新增子菜单`,"tree.menu.deleteConfirm":`确认删除该菜单吗?`,"tree.file.open":`打开`,"tree.file.rename":`重命名`,"tree.file.deleteConfirm":`确认删除该文件吗?`,"tree.org.add":`新增下级`,"transfer.source":`可选列表`,"transfer.target":`已选列表`,"transfer.empty":`暂无数据`,"transfer.emptyTarget":`未选择任何项`,"transfer.searchSource":`搜索可选列表`,"transfer.searchTarget":`搜索已选列表`,"transfer.toTarget":`移至已选列表`,"transfer.toSource":`移回可选列表`,"split.resize":`调整面板大小`,"split.expandFirst":`展开首面板`,"split.collapseFirst":`折叠首面板`,"split.expandSecond":`展开第二面板`,"split.collapseSecond":`折叠第二面板`,"chat.sessions":`会话`,"chat.search":`搜索联系人`,"chat.online":`在线`,"chat.empty":`暂无消息,发送第一条吧`,"chat.choose":`选择一个会话开始聊天`,"chat.placeholder":`输入消息...`,"chat.title":`聊天`,"chat.emoji":`表情`,"chat.attach":`添加附件`,"chat.send":`发送`,"chat.imagePreview":`预览{name}的图片`,"chat.image":`聊天图片`,"chat.file":`文件`,"chat.failed":`发送失败,点击重试`,"chat.sending":`发送中...`,"time.now":`刚刚`,"time.minutes":`{count}分钟前`,"time.hours":`{count}小时前`,"time.days":`{count}天前`,"time.weeks":`{count}周前`,"time.months":`{count}个月前`,"time.yesterday":`昨天 {time}`,"theme.light":`当前: 浅色模式 (点击切换)`,"theme.dark":`当前: 深色模式 (点击切换)`,"theme.system":`当前: 跟随系统 (点击切换)`,"language.switch":`语言切换`,"skeleton.loading":`加载中`,"timeline.loading":`加载中...`,"notification.title":`消息中心`,"notification.viewAll":`查看全部消息`,"notification.badge":`消息通知`,"notification.unreadBadge":`消息通知({count} 条未读)`,"notification.all":`全部`,"notification.system":`系统通知`,"notification.business":`业务消息`,"notification.alarm":`告警预警`,"notification.low":`低`,"notification.normal":`普通`,"notification.high":`重要`,"notification.urgent":`紧急`,"notification.markRead":`标记已读`,"notification.delete":`删除消息`,"notification.allRead":`全部已读`,"notification.clear":`清空`,"notification.loadMore":`加载更多`,"notification.loading":`加载中...`,"notification.empty":`暂无消息`,"notification.back":`返回列表`,"notification.details":`查看详情`,"notification.connected":`已连接`,"notification.connecting":`连接中...`,"notification.disconnected":`未连接`,"notification.reconnecting":`重连中...`,"common.confirm":`确定`,"common.cancel":`取消`,"common.save":`保存`,"common.submit":`提交`,"common.reset":`重置`,"common.retry":`重试`,"common.edit":`编辑`,"common.detail":`详情`,"common.delete":`删除`,"common.select":`选择`,"common.print":`打印`,"common.loading":`正在加载`,"table.loading":`正在加载数据`,"table.loadFailed":`数据加载失败`,"table.deleteTitle":`确认删除`,"table.deleteContent":`确定要删除这条记录吗?`,"table.deleteSuccess":`删除成功`,"table.deleteFailed":`删除失败`,"table.detailFailed":`获取详情失败`,"table.moreActions":`更多操作`,"table.actionFailed":`{action}失败`,"table.cancelSelection":`取消选择`,"table.columnSettings":`列设置`,"table.export":`导出`,"table.settings":`表格设置`,"table.selectedCount":`已选择 {count} 项`,"table.addRow":`增行`,"table.insertRow":`插行`,"table.deleteRow":`删除行`,"table.copyRow":`复制行`,"table.moveUp":`上移`,"table.moveDown":`下移`,"table.addRowSuccess":`添加行成功`,"table.insertRowSuccess":`插入行成功`,"table.deleteRowSuccess":`删除行成功`,"table.copyRowSuccess":`复制行成功`,"table.moveUpSuccess":`行已上移`,"table.moveDownSuccess":`行已下移`,"table.selectRowFirst":`请先选择一行数据`,"table.selectDeleteRowFirst":`请先选择要删除的行`,"table.selectCopyRowFirst":`请先选择要复制的行`,"table.firstRow":`已经是第一行`,"table.lastRow":`已经是最后一行`,"table.deleteRowContent":`确定要删除选中的行吗?此操作不可撤销。`,"table.confirmDeleteRow":`确认删除`,"table.printTargetMissing":`打印元素未找到`,"table.downloadTargetMissing":`下载元素未找到`,"table.invalidRowKeys":`表格存在 {count} 个缺失或重复的行键`,"breadcrumb.label":`面包屑`,"breadcrumb.expandPath":`展开完整路径`,"breadcrumb.fullPath":`完整路径`,"breadcrumb.directoryPages":`目录页面`,"breadcrumb.pageCount":`{count} 个页面`,"breadcrumb.current":`当前`,"form.required":`{label}不能为空`,"search.valueRequired":`请输入搜索内容,或选择筛选条件`,"search.failed":`搜索失败`,"captcha.trigger":`点击进行人机验证`,"captcha.verifying":`正在验证…`,"captcha.success":`验证成功`,"captcha.failed":`验证失败,请重试`,"captcha.reset":`重新验证`,"captcha.puzzleFailed":`拼图验证失败`,"captcha.verifyFailed":`服务端验证失败`,"captcha.loadFailed":`验证码加载失败`}),a=Object.freeze({"validation.summary":`Please check the following`,"validation.previous":`Previous group`,"validation.next":`Next group`,"picker.title":`Select data`,"picker.placeholder":`Please select`,"picker.searchPlaceholder":`Enter keywords`,"picker.clear":`Clear selection`,"picker.searchLabel":`Search candidates`,"picker.search":`Search`,"picker.loadFailed":`Could not load candidates`,"picker.labelFailed":`Could not load labels; original values are retained`,"picker.selected":`{count} selected`,"picker.moreSelected":`{count} more`,"batch.title":`Batch operation results`,"batch.summary":`{total} items: {success} succeeded, {failure} failed, {conflict} conflicted, {skipped} skipped`,"batch.filterLabel":`Filter results`,"batch.all":`All`,"batch.retry":`Retry eligible items ({count})`,"dictionary.loading":`Loading dictionaries ({count})`,"dictionary.failed":`{count} dictionaries failed to load; existing labels are retained`,"dictionary.optionsFailed":`Failed to load options`,"batch.id":`Business key`,"batch.status":`Result`,"batch.message":`Details`,"batch.retryColumn":`Retry`,"batch.retryable":`Retryable`,"batch.success":`Success`,"batch.failure":`Failure`,"batch.conflict":`Conflict`,"batch.skipped":`Skipped`,"section.navigation":`Document sections`,"section.errors":`{count} errors`,"notification.invalidResponse":`Invalid notification response or counts`,"notification.operationFailed":`Notification action failed. Try again.`,"notification.missingFetch":`Remote notifications require fetchNotifications`,"notification.missingAction":`Remote notifications require the {name} adapter`,"notification.expiredScope":`Notification scope has expired`,"chat.self":`Me`,"common.search":`Search...`,"common.add":`Add`,"common.refresh":`Refresh`,"common.expand":`Show details`,"common.collapse":`Collapse`,"common.unknown":`Unknown`,"tree.search":`Search tree nodes`,"tree.expandAll":`Expand all`,"tree.collapseAll":`Collapse all`,"tree.menu.add":`Add submenu`,"tree.menu.deleteConfirm":`Delete this menu?`,"tree.file.open":`Open`,"tree.file.rename":`Rename`,"tree.file.deleteConfirm":`Delete this file?`,"tree.org.add":`Add child`,"transfer.source":`Available`,"transfer.target":`Selected`,"transfer.empty":`No data`,"transfer.emptyTarget":`Nothing selected`,"transfer.searchSource":`Search available items`,"transfer.searchTarget":`Search selected items`,"transfer.toTarget":`Move to selected`,"transfer.toSource":`Move to available`,"split.resize":`Resize panels`,"split.expandFirst":`Expand first panel`,"split.collapseFirst":`Collapse first panel`,"split.expandSecond":`Expand second panel`,"split.collapseSecond":`Collapse second panel`,"chat.sessions":`Conversations`,"chat.search":`Search contacts`,"chat.online":`Online`,"chat.empty":`No messages yet. Send the first one.`,"chat.choose":`Select a conversation to start chatting`,"chat.placeholder":`Type a message...`,"chat.title":`Chat`,"chat.emoji":`Emoji`,"chat.attach":`Add attachment`,"chat.send":`Send`,"chat.imagePreview":`Preview image from {name}`,"chat.image":`Chat image`,"chat.file":`File`,"chat.failed":`Send failed. Click to retry.`,"chat.sending":`Sending...`,"time.now":`Just now`,"time.minutes":`{count} minutes ago`,"time.hours":`{count} hours ago`,"time.days":`{count} days ago`,"time.weeks":`{count} weeks ago`,"time.months":`{count} months ago`,"time.yesterday":`Yesterday {time}`,"theme.light":`Current: Light mode (click to switch)`,"theme.dark":`Current: Dark mode (click to switch)`,"theme.system":`Current: System mode (click to switch)`,"language.switch":`Switch language`,"skeleton.loading":`Loading`,"timeline.loading":`Loading...`,"notification.title":`Notification center`,"notification.viewAll":`View all notifications`,"notification.badge":`Notifications`,"notification.unreadBadge":`Notifications ({count} unread)`,"notification.all":`All`,"notification.system":`System`,"notification.business":`Business`,"notification.alarm":`Alerts`,"notification.low":`Low`,"notification.normal":`Normal`,"notification.high":`Important`,"notification.urgent":`Urgent`,"notification.markRead":`Mark as read`,"notification.delete":`Delete notification`,"notification.allRead":`Mark all as read`,"notification.clear":`Clear`,"notification.loadMore":`Load more`,"notification.loading":`Loading...`,"notification.empty":`No notifications`,"notification.back":`Back to list`,"notification.details":`View details`,"notification.connected":`Connected`,"notification.connecting":`Connecting...`,"notification.disconnected":`Disconnected`,"notification.reconnecting":`Reconnecting...`,"common.confirm":`Confirm`,"common.cancel":`Cancel`,"common.save":`Save`,"common.submit":`Submit`,"common.reset":`Reset`,"common.retry":`Retry`,"common.edit":`Edit`,"common.detail":`Details`,"common.delete":`Delete`,"common.select":`Select`,"common.print":`Print`,"common.loading":`Loading`,"table.loading":`Loading data`,"table.loadFailed":`Failed to load data`,"table.deleteTitle":`Confirm deletion`,"table.deleteContent":`Are you sure you want to delete this record?`,"table.deleteSuccess":`Deleted successfully`,"table.deleteFailed":`Delete failed`,"table.detailFailed":`Failed to load details`,"table.moreActions":`More actions`,"table.actionFailed":`{action} failed`,"table.cancelSelection":`Clear selection`,"table.columnSettings":`Column settings`,"table.export":`Export`,"table.settings":`Table settings`,"table.selectedCount":`{count} selected`,"table.addRow":`Add row`,"table.insertRow":`Insert row`,"table.deleteRow":`Delete row`,"table.copyRow":`Copy row`,"table.moveUp":`Move up`,"table.moveDown":`Move down`,"table.addRowSuccess":`Row added`,"table.insertRowSuccess":`Row inserted`,"table.deleteRowSuccess":`Row deleted`,"table.copyRowSuccess":`Row copied`,"table.moveUpSuccess":`Row moved up`,"table.moveDownSuccess":`Row moved down`,"table.selectRowFirst":`Select a row first`,"table.selectDeleteRowFirst":`Select a row to delete first`,"table.selectCopyRowFirst":`Select a row to copy first`,"table.firstRow":`This is already the first row`,"table.lastRow":`This is already the last row`,"table.deleteRowContent":`Are you sure you want to delete the selected row? This cannot be undone.`,"table.confirmDeleteRow":`Delete row`,"table.printTargetMissing":`Print target was not found`,"table.downloadTargetMissing":`Download target was not found`,"table.invalidRowKeys":`{count} table row keys are missing or duplicated`,"breadcrumb.label":`Breadcrumb`,"breadcrumb.expandPath":`Show full path`,"breadcrumb.fullPath":`Full path`,"breadcrumb.directoryPages":`Directory pages`,"breadcrumb.pageCount":`{count} pages`,"breadcrumb.current":`Current`,"form.required":`{label} is required`,"search.valueRequired":`Enter a search term or choose a filter`,"search.failed":`Search failed`,"captcha.trigger":`Click to verify`,"captcha.verifying":`Verifying…`,"captcha.success":`Verified`,"captcha.failed":`Verification failed. Try again.`,"captcha.reset":`Verify again`,"captcha.puzzleFailed":`Puzzle verification failed`,"captcha.verifyFailed":`Server verification failed`,"captcha.loadFailed":`Failed to load captcha`}),o=(e,t)=>t?e.replace(/\{([^{}]+)\}/g,(e,n)=>Object.prototype.hasOwnProperty.call(t,n)?String(t[n]):e):e;function s(e,t){return e&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0}function c(e){return e===`en-US`?a:i}function l(e,t={},n={},r){let i=t.t??n.t;if(i)return i(e,r);let a=c(t.locale??n.locale);return o(s(t.messages,e)??s(n.messages,e)??s(a,e)??e,r)}function u(i){let a=t()?n(e,{}):{};return{t:(e,t)=>l(e,r(i),a,t)}}export{u as t};
@@ -51,31 +51,31 @@ interface ImageCropperEmits {
51
51
  //#endregion
52
52
  //#region src/components/C_ImageCropper/index.vue.d.ts
53
53
  declare const __VLS_export: vue.DefineComponent<ImageCropperProps, ImageCropperExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
54
+ ready: () => any;
54
55
  error: (error: Error) => any;
55
56
  confirm: (result: CropResult) => any;
56
- ready: () => any;
57
57
  cancel: () => any;
58
58
  crop: (result: CropResult) => any;
59
59
  }, string, vue.PublicProps, Readonly<ImageCropperProps> & Readonly<{
60
+ onReady?: (() => any) | undefined;
60
61
  onError?: ((error: Error) => any) | undefined;
61
62
  onConfirm?: ((result: CropResult) => any) | undefined;
62
- onReady?: (() => any) | undefined;
63
63
  onCancel?: (() => any) | undefined;
64
64
  onCrop?: ((result: CropResult) => any) | undefined;
65
65
  }>, {
66
66
  disabled: boolean;
67
- height: string | number;
68
- aspectRatio: number;
69
67
  showPreview: boolean;
68
+ height: string | number;
70
69
  showToolbar: boolean;
71
- modal: boolean;
70
+ aspectRatio: number;
72
71
  src: string;
72
+ modalTitle: string;
73
+ modal: boolean;
73
74
  outputFormat: CropOutputFormat;
74
75
  outputQuality: number;
75
76
  maxOutputWidth: number;
76
77
  maxOutputHeight: number;
77
78
  circular: boolean;
78
- modalTitle: string;
79
79
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
80
80
  declare const _default: typeof __VLS_export;
81
81
  //#endregion
@@ -51,31 +51,31 @@ interface ImageCropperEmits {
51
51
  //#endregion
52
52
  //#region src/components/C_ImageCropper/index.vue.d.ts
53
53
  declare const __VLS_export: vue.DefineComponent<ImageCropperProps, ImageCropperExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
54
+ ready: () => any;
54
55
  error: (error: Error) => any;
55
56
  confirm: (result: CropResult) => any;
56
- ready: () => any;
57
57
  cancel: () => any;
58
58
  crop: (result: CropResult) => any;
59
59
  }, string, vue.PublicProps, Readonly<ImageCropperProps> & Readonly<{
60
+ onReady?: (() => any) | undefined;
60
61
  onError?: ((error: Error) => any) | undefined;
61
62
  onConfirm?: ((result: CropResult) => any) | undefined;
62
- onReady?: (() => any) | undefined;
63
63
  onCancel?: (() => any) | undefined;
64
64
  onCrop?: ((result: CropResult) => any) | undefined;
65
65
  }>, {
66
66
  disabled: boolean;
67
- height: string | number;
68
- aspectRatio: number;
69
67
  showPreview: boolean;
68
+ height: string | number;
70
69
  showToolbar: boolean;
71
- modal: boolean;
70
+ aspectRatio: number;
72
71
  src: string;
72
+ modalTitle: string;
73
+ modal: boolean;
73
74
  outputFormat: CropOutputFormat;
74
75
  outputQuality: number;
75
76
  maxOutputWidth: number;
76
77
  maxOutputHeight: number;
77
78
  circular: boolean;
78
- modalTitle: string;
79
79
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
80
80
  declare const _default: typeof __VLS_export;
81
81
  //#endregion
@@ -1 +1 @@
1
- require(`./chunk.cjs`);const e=require(`./dictionary.cjs`),t=require(`./observer.cjs`),n=require(`./config.cjs`);let r=require(`vue`);const i=Object.freeze([]);function a(e){return typeof e==`string`||typeof e==`boolean`||typeof e==`number`&&Number.isFinite(e)}function o(e,t){if(!e||typeof e.label!=`string`||!a(e.value))throw TypeError(`[dictionary] 选项必须有字符串 label 和有限的原始 value`);if(e.disabled!==void 0&&typeof e.disabled!=`boolean`)throw TypeError(`[dictionary] disabled 必须是 boolean`);if(t.has(e.value))throw TypeError(`[dictionary] 选项 value 不得重复`);return t.add(e.value),{...e}}function s(a,s={}){let c=(0,r.getCurrentInstance)()?(0,r.inject)(n.DICTIONARY_PROVIDER_KEY,void 0):void 0,l=new Map,u=(0,r.shallowReactive)(new Map),d=(0,r.shallowReactive)(new Map),f=(0,r.shallowReactive)(new Map),p=(0,r.shallowReactive)(new Map),m=!1,h=(e,t)=>!m&&l.get(e)===t,g=(e,t,n)=>h(e,t)&&!n.signal.aborted&&t.controller===n,_=(e,n,r)=>{m||r&&!h(e,r)||(f.set(e,n),!m&&(!r||h(e,r))&&t.t(()=>s.onError?.(n,e)))},v=e=>{if(!Array.isArray(e))throw TypeError(`[dictionary] 选项源必须返回数组`);let t=new Set;return e.map(e=>o(e,t))},y=(t,n,r)=>{let i=v(r);return!h(t,n)||(u.set(t,i),!h(t,n))?!1:(p.set(t,e.t(i)),h(t,n))};function b(e,t){if(h(e,t))try{y(e,t,t.source.getOptions())&&f.delete(e)}catch(n){_(e,n,t)}}async function x(e,t,n){let r=new AbortController;t.controller=r;let{revision:i}=t;if(d.set(e,!0),g(e,t,r)&&(f.delete(e),g(e,t,r)))try{let a=await n.call(t.source,{signal:r.signal});if(!g(e,t,r))return;y(e,t,i===t.revision?a:t.source.getOptions())}catch(n){g(e,t,r)&&_(e,n,t)}finally{h(e,t)&&t.controller===r&&(t.controller=void 0,d.set(e,!1))}}async function S(e,t){if(!h(e,t))return;let n=t.controller;if(t.controller=void 0,n?.abort(),!h(e,t)||t.controller)return;let r=t.source.load;r?await x(e,t,r):b(e,t)}function C(e,n){if(b(e,n),h(e,n)){try{let r=n.source.subscribe?.(()=>{h(e,n)&&(n.revision++,b(e,n))});h(e,n)?n.unsubscribe=r:t.t(()=>r?.())}catch(t){_(e,t,n)}n.source.load&&S(e,n)}}function w({key:e,binding:t,source:n,error:r}){if(m)return;let i=l.get(e);if(i&&i.source===n&&i.binding===t||(T(e),m))return;if(!n){t!==void 0&&_(e,r??Error(`[dictionary] 未注册字典: ${String(t)}`));return}let a={binding:t,source:n,revision:0};l.set(e,a),C(e,a)}function T(e){let t=l.get(e);l.delete(e),t?.controller?.abort();try{t?.unsubscribe?.()}catch(t){m||_(e,t)}u.delete(e),d.delete(e),f.delete(e),p.delete(e)}let E=()=>{};(0,r.getCurrentScope)()&&(0,r.onScopeDispose)(D),E=(0,r.watch)(()=>[...(0,r.toValue)(a)].map(([e,t])=>{try{return{key:e,binding:t,source:typeof t==`string`?c?.getDictionary(t):t}}catch(n){return{key:e,binding:t,source:void 0,error:n}}}),e=>{let t=new Set(e.map(e=>e.key));for(let e of new Set([...l.keys(),...f.keys()]))t.has(e)||T(e);e.forEach(w)},{immediate:!0}),m&&E();function D(){if(!m){m=!0,E();for(let e of new Set([...l.keys(),...f.keys()]))T(e)}}return{dispose:D,getOptions:e=>u.get(e)??i,getLabel:(e,t)=>p.get(e)?.(t)??String(t??``),isLoading:e=>d.get(e)??!1,getError:e=>f.get(e),async reload(e){let t=e===void 0?[...l]:l.has(e)?[[e,l.get(e)]]:[];await Promise.all(t.map(([e,t])=>S(e,t)))}}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
1
+ require(`./chunk.cjs`);const e=require(`./dictionary.cjs`),t=require(`./observer.cjs`),n=require(`./config.cjs`);let r=require(`vue`);const i=Object.freeze([]);function a(e,t){let n=e.getState?.()?.options;return n===t?n:void 0}function o(e){return typeof e==`string`||typeof e==`boolean`||typeof e==`number`&&Number.isFinite(e)}function s(e,t){if(!e||typeof e.label!=`string`||!o(e.value))throw TypeError(`[dictionary] 选项必须有字符串 label 和有限的原始 value`);if(e.disabled!==void 0&&typeof e.disabled!=`boolean`)throw TypeError(`[dictionary] disabled 必须是 boolean`);if(t.has(e.value))throw TypeError(`[dictionary] 选项 value 不得重复`);return t.add(e.value),{...e}}function c(o,c={}){let l=(0,r.getCurrentInstance)()?(0,r.inject)(n.DICTIONARY_PROVIDER_KEY,void 0):void 0,u=new Map,d=(0,r.shallowReactive)(new Map),f=(0,r.shallowReactive)(new Map),p=(0,r.shallowReactive)(new Map),m=(0,r.shallowReactive)(new Map),h=!1,g=(e,t)=>!h&&u.get(e)===t,_=(e,t,n)=>g(e,t)&&!n.signal.aborted&&t.controller===n,v=(e,n,r)=>{h||r&&!g(e,r)||(n??=`[dictionary] 字典加载失败`,!(p.has(e)&&Object.is(p.get(e),n))&&(p.set(e,n),!h&&(!r||g(e,r))&&t.t(()=>c.onError?.(n,e))))},y=e=>{if(!Array.isArray(e))throw TypeError(`[dictionary] 选项源必须返回数组`);let t=new Set;return e.map(e=>s(e,t))},b=(t,n,r)=>{if(!g(t,n))return!1;let i=a(n.source,r);if(i&&n.immutableSnapshot===i)return g(t,n);let o=y(r);return!g(t,n)||(d.set(t,o),!g(t,n))?!1:(m.set(t,e.t(o)),g(t,n)&&(n.immutableSnapshot=i),g(t,n))};function x(e,t,n=!1){if(!g(e,t))return;let r=t.source.getState?.();if(g(e,t)){if(!r){n&&p.delete(e);return}f.set(e,r.status===`loading`),g(e,t)&&(r.status===`error`?v(e,r.error??`[dictionary] 字典加载失败`,t):p.delete(e))}}function S(e,t){if(g(e,t))try{b(e,t,t.source.getOptions())&&x(e,t,!0)}catch(n){v(e,n,t)}}function C(e,t,n){if(g(e,t)&&t.controller===n){if(t.controller=void 0,f.set(e,!1),t.controller)return;try{x(e,t)}catch(n){v(e,n,t)}}}async function w(e,t,n,r){let i=new AbortController;t.controller=i;let{revision:a}=t;if(f.set(e,!0),_(e,t,i)&&(p.delete(e),_(e,t,i)))try{let o=await n.call(t.source,{signal:i.signal,...r?{force:!0}:{}});if(!_(e,t,i))return;b(e,t,a===t.revision?o:t.source.getOptions()),x(e,t)}catch(n){_(e,t,i)&&v(e,n,t)}finally{C(e,t,i)}}async function T(e,t,n=!1){if(!g(e,t))return;let r=t.controller;if(t.controller=void 0,r?.abort(),!g(e,t)||t.controller)return;let i=t.source.load;i?await w(e,t,i,n):S(e,t)}function E(e,n){if(S(e,n),g(e,n)){try{let r=n.source.subscribe?.(()=>{g(e,n)&&(n.revision++,S(e,n))});g(e,n)?n.unsubscribe=r:t.t(()=>r?.())}catch(t){v(e,t,n)}n.source.load&&T(e,n)}}function D({key:e,binding:t,source:n,error:r}){if(h)return;let i=u.get(e);if(i&&i.source===n&&i.binding===t||(O(e),h))return;if(!n){t!==void 0&&v(e,r??Error(`[dictionary] 未注册字典: ${String(t)}`));return}let a={binding:t,source:n,revision:0};u.set(e,a),E(e,a)}function O(e){let t=u.get(e);u.delete(e),t?.controller?.abort();try{t?.unsubscribe?.()}catch(t){h||v(e,t)}d.delete(e),f.delete(e),p.delete(e),m.delete(e)}let k=()=>{};(0,r.getCurrentScope)()&&(0,r.onScopeDispose)(A),k=(0,r.watch)(()=>[...(0,r.toValue)(o)].map(([e,t])=>{try{return{key:e,binding:t,source:typeof t==`string`?l?.getDictionary(t):t}}catch(n){return{key:e,binding:t,source:void 0,error:n}}}),e=>{let t=new Set(e.map(e=>e.key));for(let e of new Set([...u.keys(),...p.keys()]))t.has(e)||O(e);e.forEach(D)},{immediate:!0}),h&&k();function A(){if(!h){h=!0,k();for(let e of new Set([...u.keys(),...p.keys()]))O(e)}}return{dispose:A,getOptions:e=>d.get(e)??i,getLabel:(e,t)=>m.get(e)?.(t)??String(t??``),isLoading:e=>f.get(e)??!1,getError:e=>p.get(e),getSource:e=>u.get(e)?.source,async reload(e){let t=e===void 0?[...u]:u.has(e)?[[e,u.get(e)]]:[];await Promise.all(t.map(([e,t])=>T(e,t,!0)))}}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return c}});
@@ -1 +1 @@
1
- import{t as e}from"./dictionary.js";import{t}from"./observer.js";import{DICTIONARY_PROVIDER_KEY as n}from"./config.js";import{getCurrentInstance as r,getCurrentScope as i,inject as a,onScopeDispose as o,shallowReactive as s,toValue as c,watch as l}from"vue";const u=Object.freeze([]);function d(e){return typeof e==`string`||typeof e==`boolean`||typeof e==`number`&&Number.isFinite(e)}function f(e,t){if(!e||typeof e.label!=`string`||!d(e.value))throw TypeError(`[dictionary] 选项必须有字符串 label 和有限的原始 value`);if(e.disabled!==void 0&&typeof e.disabled!=`boolean`)throw TypeError(`[dictionary] disabled 必须是 boolean`);if(t.has(e.value))throw TypeError(`[dictionary] 选项 value 不得重复`);return t.add(e.value),{...e}}function p(d,p={}){let m=r()?a(n,void 0):void 0,h=new Map,g=s(new Map),_=s(new Map),v=s(new Map),y=s(new Map),b=!1,x=(e,t)=>!b&&h.get(e)===t,S=(e,t,n)=>x(e,t)&&!n.signal.aborted&&t.controller===n,C=(e,n,r)=>{b||r&&!x(e,r)||(v.set(e,n),!b&&(!r||x(e,r))&&t(()=>p.onError?.(n,e)))},w=e=>{if(!Array.isArray(e))throw TypeError(`[dictionary] 选项源必须返回数组`);let t=new Set;return e.map(e=>f(e,t))},T=(t,n,r)=>{let i=w(r);return!x(t,n)||(g.set(t,i),!x(t,n))?!1:(y.set(t,e(i)),x(t,n))};function E(e,t){if(x(e,t))try{T(e,t,t.source.getOptions())&&v.delete(e)}catch(n){C(e,n,t)}}async function D(e,t,n){let r=new AbortController;t.controller=r;let{revision:i}=t;if(_.set(e,!0),S(e,t,r)&&(v.delete(e),S(e,t,r)))try{let a=await n.call(t.source,{signal:r.signal});if(!S(e,t,r))return;T(e,t,i===t.revision?a:t.source.getOptions())}catch(n){S(e,t,r)&&C(e,n,t)}finally{x(e,t)&&t.controller===r&&(t.controller=void 0,_.set(e,!1))}}async function O(e,t){if(!x(e,t))return;let n=t.controller;if(t.controller=void 0,n?.abort(),!x(e,t)||t.controller)return;let r=t.source.load;r?await D(e,t,r):E(e,t)}function k(e,n){if(E(e,n),x(e,n)){try{let r=n.source.subscribe?.(()=>{x(e,n)&&(n.revision++,E(e,n))});x(e,n)?n.unsubscribe=r:t(()=>r?.())}catch(t){C(e,t,n)}n.source.load&&O(e,n)}}function A({key:e,binding:t,source:n,error:r}){if(b)return;let i=h.get(e);if(i&&i.source===n&&i.binding===t||(j(e),b))return;if(!n){t!==void 0&&C(e,r??Error(`[dictionary] 未注册字典: ${String(t)}`));return}let a={binding:t,source:n,revision:0};h.set(e,a),k(e,a)}function j(e){let t=h.get(e);h.delete(e),t?.controller?.abort();try{t?.unsubscribe?.()}catch(t){b||C(e,t)}g.delete(e),_.delete(e),v.delete(e),y.delete(e)}let M=()=>{};i()&&o(N),M=l(()=>[...c(d)].map(([e,t])=>{try{return{key:e,binding:t,source:typeof t==`string`?m?.getDictionary(t):t}}catch(n){return{key:e,binding:t,source:void 0,error:n}}}),e=>{let t=new Set(e.map(e=>e.key));for(let e of new Set([...h.keys(),...v.keys()]))t.has(e)||j(e);e.forEach(A)},{immediate:!0}),b&&M();function N(){if(!b){b=!0,M();for(let e of new Set([...h.keys(),...v.keys()]))j(e)}}return{dispose:N,getOptions:e=>g.get(e)??u,getLabel:(e,t)=>y.get(e)?.(t)??String(t??``),isLoading:e=>_.get(e)??!1,getError:e=>v.get(e),async reload(e){let t=e===void 0?[...h]:h.has(e)?[[e,h.get(e)]]:[];await Promise.all(t.map(([e,t])=>O(e,t)))}}}export{p as t};
1
+ import{t as e}from"./dictionary.js";import{t}from"./observer.js";import{DICTIONARY_PROVIDER_KEY as n}from"./config.js";import{getCurrentInstance as r,getCurrentScope as i,inject as a,onScopeDispose as o,shallowReactive as s,toValue as c,watch as l}from"vue";const u=Object.freeze([]);function d(e,t){let n=e.getState?.()?.options;return n===t?n:void 0}function f(e){return typeof e==`string`||typeof e==`boolean`||typeof e==`number`&&Number.isFinite(e)}function p(e,t){if(!e||typeof e.label!=`string`||!f(e.value))throw TypeError(`[dictionary] 选项必须有字符串 label 和有限的原始 value`);if(e.disabled!==void 0&&typeof e.disabled!=`boolean`)throw TypeError(`[dictionary] disabled 必须是 boolean`);if(t.has(e.value))throw TypeError(`[dictionary] 选项 value 不得重复`);return t.add(e.value),{...e}}function m(f,m={}){let h=r()?a(n,void 0):void 0,g=new Map,_=s(new Map),v=s(new Map),y=s(new Map),b=s(new Map),x=!1,S=(e,t)=>!x&&g.get(e)===t,C=(e,t,n)=>S(e,t)&&!n.signal.aborted&&t.controller===n,w=(e,n,r)=>{x||r&&!S(e,r)||(n??=`[dictionary] 字典加载失败`,!(y.has(e)&&Object.is(y.get(e),n))&&(y.set(e,n),!x&&(!r||S(e,r))&&t(()=>m.onError?.(n,e))))},T=e=>{if(!Array.isArray(e))throw TypeError(`[dictionary] 选项源必须返回数组`);let t=new Set;return e.map(e=>p(e,t))},E=(t,n,r)=>{if(!S(t,n))return!1;let i=d(n.source,r);if(i&&n.immutableSnapshot===i)return S(t,n);let a=T(r);return!S(t,n)||(_.set(t,a),!S(t,n))?!1:(b.set(t,e(a)),S(t,n)&&(n.immutableSnapshot=i),S(t,n))};function D(e,t,n=!1){if(!S(e,t))return;let r=t.source.getState?.();if(S(e,t)){if(!r){n&&y.delete(e);return}v.set(e,r.status===`loading`),S(e,t)&&(r.status===`error`?w(e,r.error??`[dictionary] 字典加载失败`,t):y.delete(e))}}function O(e,t){if(S(e,t))try{E(e,t,t.source.getOptions())&&D(e,t,!0)}catch(n){w(e,n,t)}}function k(e,t,n){if(S(e,t)&&t.controller===n){if(t.controller=void 0,v.set(e,!1),t.controller)return;try{D(e,t)}catch(n){w(e,n,t)}}}async function A(e,t,n,r){let i=new AbortController;t.controller=i;let{revision:a}=t;if(v.set(e,!0),C(e,t,i)&&(y.delete(e),C(e,t,i)))try{let o=await n.call(t.source,{signal:i.signal,...r?{force:!0}:{}});if(!C(e,t,i))return;E(e,t,a===t.revision?o:t.source.getOptions()),D(e,t)}catch(n){C(e,t,i)&&w(e,n,t)}finally{k(e,t,i)}}async function j(e,t,n=!1){if(!S(e,t))return;let r=t.controller;if(t.controller=void 0,r?.abort(),!S(e,t)||t.controller)return;let i=t.source.load;i?await A(e,t,i,n):O(e,t)}function M(e,n){if(O(e,n),S(e,n)){try{let r=n.source.subscribe?.(()=>{S(e,n)&&(n.revision++,O(e,n))});S(e,n)?n.unsubscribe=r:t(()=>r?.())}catch(t){w(e,t,n)}n.source.load&&j(e,n)}}function N({key:e,binding:t,source:n,error:r}){if(x)return;let i=g.get(e);if(i&&i.source===n&&i.binding===t||(P(e),x))return;if(!n){t!==void 0&&w(e,r??Error(`[dictionary] 未注册字典: ${String(t)}`));return}let a={binding:t,source:n,revision:0};g.set(e,a),M(e,a)}function P(e){let t=g.get(e);g.delete(e),t?.controller?.abort();try{t?.unsubscribe?.()}catch(t){x||w(e,t)}_.delete(e),v.delete(e),y.delete(e),b.delete(e)}let F=()=>{};i()&&o(I),F=l(()=>[...c(f)].map(([e,t])=>{try{return{key:e,binding:t,source:typeof t==`string`?h?.getDictionary(t):t}}catch(n){return{key:e,binding:t,source:void 0,error:n}}}),e=>{let t=new Set(e.map(e=>e.key));for(let e of new Set([...g.keys(),...y.keys()]))t.has(e)||P(e);e.forEach(N)},{immediate:!0}),x&&F();function I(){if(!x){x=!0,F();for(let e of new Set([...g.keys(),...y.keys()]))P(e)}}return{dispose:I,getOptions:e=>_.get(e)??u,getLabel:(e,t)=>b.get(e)?.(t)??String(t??``),isLoading:e=>v.get(e)??!1,getError:e=>y.get(e),getSource:e=>g.get(e)?.source,async reload(e){let t=e===void 0?[...g]:g.has(e)?[[e,g.get(e)]]:[];await Promise.all(t.map(([e,t])=>j(e,t,!0)))}}}export{m as t};
@@ -48,6 +48,8 @@ interface UseFormRendererOptions {
48
48
  asyncLoadingMap: Ref<Record<string, boolean>>;
49
49
  getDictionaryOptions?: (field: string) => readonly DictionaryOption[];
50
50
  isDictionaryLoading?: (field: string) => boolean;
51
+ getOptionsError?: (field: string) => unknown;
52
+ reloadOptions?: (field: string) => Promise<void>;
51
53
  renderers?: ComputedRef<Record<string, FormRenderer> | undefined>;
52
54
  /** Overrides application injection. An isolated registry never reads legacy globals. */
53
55
  registry?: FormRendererRegistry;
@@ -89,9 +91,9 @@ declare const __VLS_export$3: <T extends object = FormRecord>(__VLS_props: NonNu
89
91
  config?: FormConfig<T>; /** 当前表单实例的自定义渲染器,不污染全局注册表 */
90
92
  renderers?: Record<string, FormRenderer>;
91
93
  } & {
94
+ onSubmit?: ((payload: SubmitEventPayload<T>) => any) | undefined;
92
95
  "onUpdate:modelValue"?: ((model: T) => any) | undefined;
93
96
  "onValidate-error"?: ((errors: unknown) => any) | undefined;
94
- onSubmit?: ((payload: SubmitEventPayload<T>) => any) | undefined;
95
97
  "onValidate-success"?: ((model: T) => any) | undefined;
96
98
  }> & (typeof globalThis extends {
97
99
  __VLS_PROPS_FALLBACK: infer P;
@@ -122,13 +124,14 @@ declare const __VLS_export$3: <T extends object = FormRecord>(__VLS_props: NonNu
122
124
  markAsClean: () => void;
123
125
  asyncLoadingMap: Ref<Record<string, boolean>, Record<string, boolean>>;
124
126
  asyncErrorMap: Ref<Record<string, unknown>, Record<string, unknown>>;
127
+ getDictionaryError: (key: string) => unknown;
125
128
  reloadOptions: (field?: string) => Promise<void>;
126
129
  isSubmitting: Ref<boolean, boolean>;
127
130
  submit: () => Promise<boolean>;
128
131
  }>) => void;
129
132
  attrs: any;
130
133
  slots: FormSlots<T>;
131
- emit: ((evt: "update:modelValue", model: T) => void) & ((evt: "validate-error", errors: unknown) => void) & ((evt: "submit", payload: SubmitEventPayload<T>) => void) & ((evt: "validate-success", model: T) => void);
134
+ emit: ((evt: "submit", payload: SubmitEventPayload<T>) => void) & ((evt: "update:modelValue", model: T) => void) & ((evt: "validate-error", errors: unknown) => void) & ((evt: "validate-success", model: T) => void);
132
135
  }>) => vue.VNode & {
133
136
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
134
137
  };
@@ -200,6 +203,7 @@ declare function setupHighlight(app: App, options?: HighlightPluginOptions): Hig
200
203
  declare const __VLS_export$2: <T extends object = DataRecord, C = unknown>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal$2<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
201
204
  props: vue.PublicProps & __VLS_PrettifyLocal$2<TableRuntimeProps<T, C> & {
202
205
  onSave?: ((rowData: T, rowIndex: number, columnKey?: string | undefined) => any) | undefined;
206
+ onCancel?: ((rowData: T, rowIndex: number) => any) | undefined;
203
207
  "onPagination-change"?: ((page: number, pageSize: number) => any) | undefined;
204
208
  "onRow-delete"?: ((deletedRow: T, index: number) => any) | undefined;
205
209
  "onBatch-action-error"?: ((error: unknown, actionKey: string) => any) | undefined;
@@ -215,7 +219,6 @@ declare const __VLS_export$2: <T extends object = DataRecord, C = unknown>(__VLS
215
219
  "onChild-selection-change"?: ((parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: C[]) => any) | undefined;
216
220
  "onParent-child-link-change"?: ((parentKey: DataTableRowKey, shouldSelect: boolean) => any) | undefined;
217
221
  "onUpdate:data"?: ((data: T[]) => any) | undefined;
218
- onCancel?: ((rowData: T, rowIndex: number) => any) | undefined;
219
222
  "onEdit-error"?: ((error: unknown) => any) | undefined;
220
223
  }> & (typeof globalThis extends {
221
224
  __VLS_PROPS_FALLBACK: infer P;
@@ -235,7 +238,7 @@ declare const __VLS_export$2: <T extends object = DataRecord, C = unknown>(__VLS
235
238
  } & {
236
239
  empty?: (props: {}) => any;
237
240
  };
238
- emit: ((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: "cancel", rowData: T, rowIndex: number) => void) & ((evt: "edit-error", error: unknown) => void);
241
+ 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);
239
242
  }>) => vue.VNode & {
240
243
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
241
244
  };
@@ -312,6 +315,11 @@ interface UseTableColumnsReturn {
312
315
  computedColumns: ComputedRef<DataTableColumn[]>;
313
316
  computedScrollX: ComputedRef<number | string | undefined>;
314
317
  getDictionaryLabel: (column: TableColumn, value: unknown) => string;
318
+ dictionaryStatus: ComputedRef<{
319
+ failed: number;
320
+ loading: number;
321
+ }>;
322
+ retryDictionaries: () => Promise<void>;
315
323
  handleColumnChange: (columns: TableColumn[]) => void;
316
324
  }
317
325
  /**
@@ -967,15 +975,15 @@ interface TreeSlots<T extends object = TreeOption$1> {
967
975
  declare const __VLS_export$1: <T extends object = TreeNodeData>(__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<{
968
976
  props: vue.PublicProps & __VLS_PrettifyLocal$1<TreeProps$1<T> & {
969
977
  onAdd?: ((parentNode?: T | undefined) => any) | undefined;
970
- onRefresh?: (() => any) | undefined;
971
978
  "onLoad-error"?: ((error: unknown, node: T) => any) | undefined;
972
- "onUpdate:expandedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "collapse" | "expand" | "unselect" | "check" | "uncheck">) => any) | undefined;
973
- "onNode-drop"?: ((info: DropInfo<T>) => any) | undefined;
979
+ "onUpdate:expandedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "expand" | "collapse" | "select" | "unselect" | "check" | "uncheck">) => any) | undefined;
980
+ onRefresh?: (() => any) | undefined;
974
981
  "onUpdate:searchPattern"?: ((pattern: string) => any) | undefined;
975
- "onUpdate:selectedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "collapse" | "expand" | "unselect" | "check" | "uncheck">) => any) | undefined;
976
- "onUpdate:checkedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "collapse" | "expand" | "unselect" | "check" | "uncheck">) => any) | undefined;
982
+ "onUpdate:selectedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "expand" | "collapse" | "select" | "unselect" | "check" | "uncheck">) => any) | undefined;
983
+ "onUpdate:checkedKeys"?: ((keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "expand" | "collapse" | "select" | "unselect" | "check" | "uncheck">) => any) | undefined;
977
984
  "onNode-select"?: ((node: T | null, selectedKeys: TreeKey[]) => any) | undefined;
978
985
  "onNode-action"?: ((action: string, node: T) => any) | undefined;
986
+ "onNode-drop"?: ((info: DropInfo<T>) => any) | undefined;
979
987
  }> & (typeof globalThis extends {
980
988
  __VLS_PROPS_FALLBACK: infer P;
981
989
  } ? P : {});
@@ -986,7 +994,7 @@ declare const __VLS_export$1: <T extends object = TreeNodeData>(__VLS_props: Non
986
994
  }>) => void;
987
995
  attrs: any;
988
996
  slots: TreeSlots<T>;
989
- 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" | "select" | "collapse" | "expand" | "unselect" | "check" | "uncheck">) => void) & ((evt: "node-drop", info: DropInfo<T>) => void) & ((evt: "update:searchPattern", pattern: string) => void) & ((evt: "update:selectedKeys", keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "collapse" | "expand" | "unselect" | "check" | "uncheck">) => void) & ((evt: "update:checkedKeys", keys: TreeKey[], options: (T | null)[], meta: TreeUpdateMeta<T, "filter" | "select" | "collapse" | "expand" | "unselect" | "check" | "uncheck">) => void) & ((evt: "node-select", node: T | null, selectedKeys: TreeKey[]) => void) & ((evt: "node-action", action: string, node: T) => void);
997
+ emit: ((evt: "add", parentNode?: T | undefined) => 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: "refresh") => 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);
990
998
  }>) => vue.VNode & {
991
999
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
992
1000
  };
@@ -1067,8 +1075,8 @@ interface FormModalEmits<T extends object = FormRecord> {
1067
1075
  //#region src/components/C_FormModal/index.vue.d.ts
1068
1076
  declare const __VLS_export: <T extends object = FormRecord>(__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<{
1069
1077
  props: vue.PublicProps & __VLS_PrettifyLocal<FormModalProps<T> & {
1070
- onClose?: (() => any) | undefined;
1071
1078
  onSubmit?: ((payload: SubmitEventPayload<T>, saved: boolean) => any) | undefined;
1079
+ onClose?: (() => any) | undefined;
1072
1080
  }> & (typeof globalThis extends {
1073
1081
  __VLS_PROPS_FALLBACK: infer P;
1074
1082
  } ? P : {});
@@ -1077,7 +1085,7 @@ declare const __VLS_export: <T extends object = FormRecord>(__VLS_props: NonNull
1077
1085
  slots: {
1078
1086
  [x: string]: ((props: any) => any) | undefined;
1079
1087
  };
1080
- emit: ((evt: "close") => void) & ((evt: "submit", payload: SubmitEventPayload<T>, saved: boolean) => void);
1088
+ emit: ((evt: "submit", payload: SubmitEventPayload<T>, saved: boolean) => void) & ((evt: "close") => void);
1081
1089
  }>) => vue.VNode & {
1082
1090
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
1083
1091
  };
@@ -1140,6 +1148,7 @@ declare function useFormState(options: ComputedRef<FormOption[]>, config: Comput
1140
1148
  asyncErrorMap: Ref<Record<string, unknown>, Record<string, unknown>>;
1141
1149
  getDictionaryOptions: (key: string) => readonly DictionaryOption[];
1142
1150
  isDictionaryLoading: (key: string) => boolean;
1151
+ getDictionaryError: (key: string) => unknown;
1143
1152
  reloadOptions: (field?: string) => Promise<void>;
1144
1153
  };
1145
1154
  //#endregion