@robot-admin/naive-ui-components 0.14.2 → 0.15.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 (255) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +130 -721
  3. package/README_EN.md +137 -658
  4. package/dist/C_ActionBar.css +57 -58
  5. package/dist/C_ActionBar2.cjs +1 -1
  6. package/dist/C_ActionBar2.js +1 -1
  7. package/dist/C_AntV.css +215 -222
  8. package/dist/C_AntV2.cjs +2 -2
  9. package/dist/C_AntV2.js +2 -2
  10. package/dist/C_AudioPlayer.css +11 -12
  11. package/dist/C_AvatarGroup.css +5 -6
  12. package/dist/C_Barcode.css +1 -1
  13. package/dist/C_Breadcrumb.css +15 -17
  14. package/dist/C_Breadcrumb2.cjs +1 -1
  15. package/dist/C_Breadcrumb2.js +1 -1
  16. package/dist/C_Captcha.css +45 -47
  17. package/dist/C_Captcha2.cjs +1 -1
  18. package/dist/C_Captcha2.js +1 -1
  19. package/dist/C_Cascade.css +2 -2
  20. package/dist/C_Chat.css +8 -8
  21. package/dist/C_City.css +6 -7
  22. package/dist/C_Code.css +14 -15
  23. package/dist/C_CollapsePanel.css +12 -13
  24. package/dist/C_ContextMenu.css +31 -31
  25. package/dist/C_Cron.css +272 -275
  26. package/dist/C_Date.css +1 -1
  27. package/dist/C_Draggable.css +10 -11
  28. package/dist/C_Editor.css +2 -2
  29. package/dist/C_FilePreview.css +193 -193
  30. package/dist/C_Form.base.css +607 -601
  31. package/dist/C_Form.cjs +1 -1
  32. package/dist/C_Form.css +609 -603
  33. package/dist/C_Form.d.cts +2 -2
  34. package/dist/C_Form.d.ts +2 -2
  35. package/dist/C_Form.js +1 -1
  36. package/dist/C_FormModal.cjs +1 -1
  37. package/dist/C_FormModal.css +14 -20
  38. package/dist/C_FormModal.js +1 -1
  39. package/dist/C_FormModal2.cjs +1 -1
  40. package/dist/C_FormModal2.js +1 -1
  41. package/dist/C_FormSearch.css +53 -55
  42. package/dist/C_FormSearch2.cjs +1 -1
  43. package/dist/C_FormSearch2.js +1 -1
  44. package/dist/C_FormulaEditor.css +314 -315
  45. package/dist/C_FullCalendar.css +14 -16
  46. package/dist/C_FullCalendar2.cjs +1 -1
  47. package/dist/C_FullCalendar2.js +1 -1
  48. package/dist/C_GlobalSearch.css +2 -2
  49. package/dist/C_Guide.css +14 -15
  50. package/dist/C_Icon.css +7 -8
  51. package/dist/C_ImageCropper.css +69 -69
  52. package/dist/C_Language.css +8 -8
  53. package/dist/C_Loading.css +20 -22
  54. package/dist/C_Loading2.cjs +1 -1
  55. package/dist/C_Loading2.js +1 -1
  56. package/dist/C_Login.css +130 -135
  57. package/dist/C_Login2.cjs +1 -1
  58. package/dist/C_Login2.js +1 -1
  59. package/dist/C_Map.css +22 -23
  60. package/dist/C_Markdown.css +2 -2
  61. package/dist/C_Menu.css +2 -5
  62. package/dist/C_Menu2.cjs +1 -1
  63. package/dist/C_Menu2.js +1 -1
  64. package/dist/C_NotificationCenter.css +300 -301
  65. package/dist/C_OrgChart.css +3 -3
  66. package/dist/C_PageLoading.css +35 -39
  67. package/dist/C_QRCode.css +5 -6
  68. package/dist/C_Signature.css +5 -6
  69. package/dist/C_Skeleton.css +6 -7
  70. package/dist/C_SplitPane.css +2 -2
  71. package/dist/C_Steps.css +2 -2
  72. package/dist/C_Table.base.css +1097 -870
  73. package/dist/C_Table.cjs +1 -1
  74. package/dist/C_Table.css +1101 -874
  75. package/dist/C_Table.d.cts +1 -1
  76. package/dist/C_Table.d.ts +1 -1
  77. package/dist/C_Table.js +1 -1
  78. package/dist/C_Tabs.css +2 -2
  79. package/dist/C_TagsView.css +72 -76
  80. package/dist/C_TagsView2.cjs +1 -1
  81. package/dist/C_TagsView2.js +1 -1
  82. package/dist/C_Theme.css +7 -8
  83. package/dist/C_Time.css +1 -1
  84. package/dist/C_Timeline.css +8 -8
  85. package/dist/C_Transfer.css +10 -11
  86. package/dist/C_Tree.css +16 -17
  87. package/dist/C_Upload.css +147 -148
  88. package/dist/C_VideoPlayer.css +280 -281
  89. package/dist/C_VtableGantt.css +2 -2
  90. package/dist/C_WaterFall.css +17 -18
  91. package/dist/C_WorkFlow.css +453 -457
  92. package/dist/C_WorkFlow2.cjs +1 -1
  93. package/dist/C_WorkFlow2.js +1 -1
  94. package/dist/Card.cjs +1 -0
  95. package/dist/Card.js +1 -0
  96. package/dist/Custom.cjs +1 -0
  97. package/dist/Custom.js +1 -0
  98. package/dist/Dynamic.cjs +1 -0
  99. package/dist/Dynamic.js +1 -0
  100. package/dist/Steps.cjs +1 -0
  101. package/dist/Steps.js +1 -0
  102. package/dist/Tabs.cjs +1 -0
  103. package/dist/Tabs.js +1 -0
  104. package/dist/cascader.cjs +1 -0
  105. package/dist/cascader.js +1 -0
  106. package/dist/color-picker.cjs +1 -0
  107. package/dist/color-picker.js +1 -0
  108. package/dist/constants.d.cts +1 -1
  109. package/dist/constants.d.ts +1 -1
  110. package/dist/constants3.d.cts +5 -5
  111. package/dist/constants3.d.ts +5 -5
  112. package/dist/constants4.d.cts +4 -4
  113. package/dist/constants4.d.ts +4 -4
  114. package/dist/constants5.d.cts +2 -2
  115. package/dist/constants5.d.ts +2 -2
  116. package/dist/context.cjs +1 -0
  117. package/dist/context.js +1 -0
  118. package/dist/contracts.d.cts +24 -0
  119. package/dist/contracts.d.ts +24 -0
  120. package/dist/createPageLoading.cjs +1 -1
  121. package/dist/createPageLoading.js +1 -1
  122. package/dist/data.cjs +1 -1
  123. package/dist/data.d.cts +9 -9
  124. package/dist/data.d.ts +9 -9
  125. package/dist/data.js +1 -1
  126. package/dist/date-picker.cjs +1 -0
  127. package/dist/date-picker.js +1 -0
  128. package/dist/feedback.cjs +1 -0
  129. package/dist/feedback.js +1 -0
  130. package/dist/helpers.cjs +1 -1
  131. package/dist/helpers.js +1 -1
  132. package/dist/index.cjs +1 -1
  133. package/dist/index.d.cts +6 -4
  134. package/dist/index.d.ts +6 -4
  135. package/dist/index.js +1 -1
  136. package/dist/index.vue.d.cts +4 -4
  137. package/dist/index.vue.d.ts +4 -4
  138. package/dist/index10.vue.d.cts +3 -3
  139. package/dist/index11.vue.d.ts +2 -2
  140. package/dist/index12.vue.d.cts +2 -2
  141. package/dist/index12.vue.d.ts +1 -1
  142. package/dist/index13.vue.d.cts +1 -1
  143. package/dist/index13.vue.d.ts +3 -3
  144. package/dist/index14.vue.d.cts +3 -3
  145. package/dist/index14.vue.d.ts +7 -7
  146. package/dist/index15.vue.d.cts +7 -7
  147. package/dist/index16.vue.d.ts +1 -1
  148. package/dist/index17.vue.d.cts +1 -1
  149. package/dist/index17.vue.d.ts +1 -1
  150. package/dist/index18.vue.d.cts +1 -1
  151. package/dist/index18.vue.d.ts +1 -1
  152. package/dist/index19.vue.d.cts +1 -1
  153. package/dist/index19.vue.d.ts +2 -9
  154. package/dist/index2.vue.d.cts +2 -2
  155. package/dist/index2.vue.d.ts +2 -2
  156. package/dist/index20.vue.d.cts +1 -1
  157. package/dist/index20.vue.d.ts +1 -1
  158. package/dist/index21.vue.d.cts +1 -1
  159. package/dist/index21.vue.d.ts +1 -1
  160. package/dist/index22.vue.d.cts +2 -2
  161. package/dist/index22.vue.d.ts +2 -2
  162. package/dist/index23.vue.d.cts +1 -1
  163. package/dist/index23.vue.d.ts +1 -1
  164. package/dist/index25.vue.d.cts +4 -4
  165. package/dist/index25.vue.d.ts +4 -4
  166. package/dist/index26.vue.d.cts +1 -1
  167. package/dist/index26.vue.d.ts +1 -1
  168. package/dist/index27.vue.d.cts +4 -4
  169. package/dist/index27.vue.d.ts +4 -4
  170. package/dist/index28.vue.d.cts +1 -1
  171. package/dist/index28.vue.d.ts +1 -1
  172. package/dist/index3.vue.d.cts +4 -4
  173. package/dist/index3.vue.d.ts +4 -4
  174. package/dist/index4.vue.d.cts +2 -9
  175. package/dist/index6.vue.d.ts +3 -3
  176. package/dist/index7.vue.d.cts +3 -3
  177. package/dist/index8.vue.d.ts +2 -2
  178. package/dist/index9.vue.d.cts +2 -2
  179. package/dist/index9.vue.d.ts +3 -3
  180. package/dist/mapUtils.d.cts +2 -2
  181. package/dist/mapUtils.d.ts +2 -2
  182. package/dist/presets.d.cts +8 -2
  183. package/dist/presets.d.ts +8 -2
  184. package/dist/rate.cjs +1 -0
  185. package/dist/rate.js +1 -0
  186. package/dist/slider.cjs +1 -0
  187. package/dist/slider.js +1 -0
  188. package/dist/style.css +10898 -10915
  189. package/dist/time-picker.cjs +1 -0
  190. package/dist/time-picker.js +1 -0
  191. package/dist/upload.cjs +1 -0
  192. package/dist/upload.js +1 -0
  193. package/dist/useActionTask.cjs +1 -0
  194. package/dist/useActionTask.js +1 -0
  195. package/dist/useCalendarEvents.d.cts +1 -1
  196. package/dist/useCalendarEvents.d.ts +1 -1
  197. package/dist/useCollapsePanel.d.cts +4 -4
  198. package/dist/useCollapsePanel.d.ts +4 -4
  199. package/dist/useComponentLocale.cjs +1 -0
  200. package/dist/useComponentLocale.js +1 -0
  201. package/dist/useCropperCore.d.cts +6 -6
  202. package/dist/useCropperCore.d.ts +6 -6
  203. package/dist/useDraggableLayout.d.cts +1 -1
  204. package/dist/useDraggableLayout.d.ts +1 -1
  205. package/dist/useDynamicFormState.cjs +1 -0
  206. package/dist/useDynamicFormState.d.cts +64 -40
  207. package/dist/useDynamicFormState.d.ts +64 -40
  208. package/dist/useDynamicFormState.js +1 -0
  209. package/dist/useEdgeInteraction.d.cts +3 -3
  210. package/dist/useEdgeInteraction.d.ts +3 -3
  211. package/dist/useGlobalSearch.d.cts +1 -1
  212. package/dist/useGlobalSearch.d.ts +1 -1
  213. package/dist/useQRCode.d.cts +2 -2
  214. package/dist/useQRCode.d.ts +2 -2
  215. package/dist/useSearchState.d.cts +15 -725
  216. package/dist/useSearchState.d.ts +15 -834
  217. package/dist/useSignatureHistory.d.cts +4 -4
  218. package/dist/useSignatureHistory.d.ts +4 -4
  219. package/dist/useSplitResize.d.cts +3 -3
  220. package/dist/useSplitResize.d.ts +3 -3
  221. package/dist/useTableQuery.cjs +3 -3
  222. package/dist/useTableQuery.d.cts +73 -34
  223. package/dist/useTableQuery.d.ts +73 -34
  224. package/dist/useTableQuery.js +3 -3
  225. package/dist/useTimeSelection.d.cts +1 -1
  226. package/dist/useTimeSelection.d.ts +1 -1
  227. package/dist/useTreeOperations.d.cts +5 -5
  228. package/dist/useTreeOperations.d.ts +5 -5
  229. package/dist/useWorkflowValidation.d.cts +3 -3
  230. package/dist/useWorkflowValidation.d.ts +3 -3
  231. package/dist/verification.d.cts +4 -4
  232. package/dist/verification.d.ts +4 -4
  233. package/docs/architecture.en.md +83 -0
  234. package/docs/architecture.md +83 -0
  235. package/docs/assets/README.md +47 -0
  236. package/docs/assets/naive-ui-components-banner.png +0 -0
  237. package/docs/assets/naive-ui-components-banner.svg +69 -0
  238. package/docs/assets/naive-ui-components-logo.png +0 -0
  239. package/docs/assets/naive-ui-components-logo.svg +22 -0
  240. package/docs/components.en.md +118 -0
  241. package/docs/components.md +118 -0
  242. package/docs/engineering.en.md +132 -0
  243. package/docs/engineering.md +133 -0
  244. package/docs/guides/usage.en.md +638 -0
  245. package/docs/guides/usage.md +699 -0
  246. package/docs/performance-0.15.0.md +20 -0
  247. package/docs/security-scan-2026-10-06.md +11 -0
  248. package/docs/security-scan-2026-10-18.md +16 -0
  249. package/package.json +35 -12
  250. package/dist/C_Form2.cjs +0 -1
  251. package/dist/C_Form2.js +0 -1
  252. package/dist/config.cjs +0 -1
  253. package/dist/config.d.cts +0 -33
  254. package/dist/config.d.ts +0 -33
  255. package/dist/config.js +0 -1
@@ -117,8 +117,8 @@ declare const __VLS_export: vue.DefineComponent<CronProps, CronExpose, {}, {}, {
117
117
  "onValidation-change"?: ((result: CronValidation) => any) | undefined;
118
118
  }>, {
119
119
  disabled: boolean;
120
- showPreview: boolean;
121
120
  showTemplates: boolean;
121
+ showPreview: boolean;
122
122
  showSecond: boolean;
123
123
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
124
124
  declare const _default: typeof __VLS_export;
@@ -117,8 +117,8 @@ declare const __VLS_export: vue.DefineComponent<CronProps, CronExpose, {}, {}, {
117
117
  "onValidation-change"?: ((result: CronValidation) => any) | undefined;
118
118
  }>, {
119
119
  disabled: boolean;
120
- showPreview: boolean;
121
120
  showTemplates: boolean;
121
+ showPreview: boolean;
122
122
  showSecond: boolean;
123
123
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
124
124
  declare const _default: typeof __VLS_export;
@@ -154,29 +154,29 @@ interface NotificationCenterExpose {
154
154
  //#endregion
155
155
  //#region src/components/C_NotificationCenter/index.vue.d.ts
156
156
  declare const __VLS_export: vue.DefineComponent<NotificationCenterProps, NotificationCenterExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
157
+ read: (ids: string[]) => any;
157
158
  delete: (ids: string[]) => any;
158
159
  itemClick: (message: NotificationMessage) => any;
159
- read: (ids: string[]) => any;
160
160
  allRead: (category?: NotificationCategory | undefined) => any;
161
161
  unreadChange: (count: number) => any;
162
162
  wsStatusChange: (status: WSConnectionStatus) => any;
163
163
  newMessage: (message: NotificationMessage) => any;
164
164
  navigate: (url: string) => any;
165
165
  }, string, vue.PublicProps, Readonly<NotificationCenterProps> & Readonly<{
166
+ onRead?: ((ids: string[]) => any) | undefined;
166
167
  onDelete?: ((ids: string[]) => any) | undefined;
167
168
  onItemClick?: ((message: NotificationMessage) => any) | undefined;
168
- onRead?: ((ids: string[]) => any) | undefined;
169
169
  onAllRead?: ((category?: NotificationCategory | undefined) => any) | undefined;
170
170
  onUnreadChange?: ((count: number) => any) | undefined;
171
171
  onWsStatusChange?: ((status: WSConnectionStatus) => any) | undefined;
172
172
  onNewMessage?: ((message: NotificationMessage) => any) | undefined;
173
173
  onNavigate?: ((url: string) => any) | undefined;
174
174
  }>, {
175
- pageSize: number;
176
- storageKey: string;
177
175
  desktopNotification: boolean;
178
176
  maxBadgeCount: number;
179
177
  pollingInterval: number;
178
+ pageSize: number;
179
+ storageKey: string;
180
180
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
181
181
  declare const _default: typeof __VLS_export;
182
182
  //#endregion
@@ -225,7 +225,7 @@ declare function useNotificationCore(props: NotificationCenterProps, events?: No
225
225
  actionText?: string | undefined;
226
226
  extra?: Record<string, unknown> | undefined;
227
227
  }[]>;
228
- activeCategory: vue.Ref<"all" | NotificationCategory, "all" | NotificationCategory>;
228
+ activeCategory: vue.Ref<NotificationCategory | "all", NotificationCategory | "all">;
229
229
  loading: vue.Ref<boolean, boolean>;
230
230
  total: vue.Ref<number, number>;
231
231
  page: vue.Ref<number, number>;
@@ -154,29 +154,29 @@ interface NotificationCenterExpose {
154
154
  //#endregion
155
155
  //#region src/components/C_NotificationCenter/index.vue.d.ts
156
156
  declare const __VLS_export: vue.DefineComponent<NotificationCenterProps, NotificationCenterExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
157
+ read: (ids: string[]) => any;
157
158
  delete: (ids: string[]) => any;
158
159
  itemClick: (message: NotificationMessage) => any;
159
- read: (ids: string[]) => any;
160
160
  allRead: (category?: NotificationCategory | undefined) => any;
161
161
  unreadChange: (count: number) => any;
162
162
  wsStatusChange: (status: WSConnectionStatus) => any;
163
163
  newMessage: (message: NotificationMessage) => any;
164
164
  navigate: (url: string) => any;
165
165
  }, string, vue.PublicProps, Readonly<NotificationCenterProps> & Readonly<{
166
+ onRead?: ((ids: string[]) => any) | undefined;
166
167
  onDelete?: ((ids: string[]) => any) | undefined;
167
168
  onItemClick?: ((message: NotificationMessage) => any) | undefined;
168
- onRead?: ((ids: string[]) => any) | undefined;
169
169
  onAllRead?: ((category?: NotificationCategory | undefined) => any) | undefined;
170
170
  onUnreadChange?: ((count: number) => any) | undefined;
171
171
  onWsStatusChange?: ((status: WSConnectionStatus) => any) | undefined;
172
172
  onNewMessage?: ((message: NotificationMessage) => any) | undefined;
173
173
  onNavigate?: ((url: string) => any) | undefined;
174
174
  }>, {
175
- pageSize: number;
176
- storageKey: string;
177
175
  desktopNotification: boolean;
178
176
  maxBadgeCount: number;
179
177
  pollingInterval: number;
178
+ pageSize: number;
179
+ storageKey: string;
180
180
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
181
181
  declare const _default: typeof __VLS_export;
182
182
  //#endregion
@@ -225,7 +225,7 @@ declare function useNotificationCore(props: NotificationCenterProps, events?: No
225
225
  actionText?: string | undefined;
226
226
  extra?: Record<string, unknown> | undefined;
227
227
  }[]>;
228
- activeCategory: vue.Ref<"all" | NotificationCategory, "all" | NotificationCategory>;
228
+ activeCategory: vue.Ref<NotificationCategory | "all", NotificationCategory | "all">;
229
229
  loading: vue.Ref<boolean, boolean>;
230
230
  total: vue.Ref<number, number>;
231
231
  page: vue.Ref<number, number>;
@@ -197,16 +197,16 @@ type __VLS_Slots = {} & {
197
197
  };
198
198
  declare const __VLS_base: vue.DefineComponent<UploadProps, UploadExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
199
199
  change: (fileList: UploadFileItem[]) => any;
200
- success: (file: UploadFileItem, response: unknown) => any;
201
200
  error: (file: UploadFileItem, error: Error) => any;
201
+ success: (file: UploadFileItem, response: unknown) => any;
202
202
  progress: (file: UploadFileItem, percent: number) => any;
203
203
  remove: (file: UploadFileItem) => any;
204
204
  finish: (fileList: UploadFileItem[]) => any;
205
205
  exceed: (files: File[], fileList: UploadFileItem[]) => any;
206
206
  }, string, vue.PublicProps, Readonly<UploadProps> & Readonly<{
207
207
  onChange?: ((fileList: UploadFileItem[]) => any) | undefined;
208
- onSuccess?: ((file: UploadFileItem, response: unknown) => any) | undefined;
209
208
  onError?: ((file: UploadFileItem, error: Error) => any) | undefined;
209
+ onSuccess?: ((file: UploadFileItem, response: unknown) => any) | undefined;
210
210
  onProgress?: ((file: UploadFileItem, percent: number) => any) | undefined;
211
211
  onRemove?: ((file: UploadFileItem) => any) | undefined;
212
212
  onFinish?: ((fileList: UploadFileItem[]) => any) | undefined;
@@ -214,11 +214,11 @@ declare const __VLS_base: vue.DefineComponent<UploadProps, UploadExpose, {}, {},
214
214
  }>, {
215
215
  disabled: boolean;
216
216
  draggable: boolean;
217
- multiple: boolean;
218
- data: Record<string, unknown>;
219
217
  maxSize: number;
218
+ data: Record<string, unknown>;
220
219
  action: string;
221
220
  headers: Record<string, string>;
221
+ multiple: boolean;
222
222
  directory: boolean;
223
223
  accept: string;
224
224
  maxCount: number;
@@ -197,16 +197,16 @@ type __VLS_Slots = {} & {
197
197
  };
198
198
  declare const __VLS_base: vue.DefineComponent<UploadProps, UploadExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
199
199
  change: (fileList: UploadFileItem[]) => any;
200
- success: (file: UploadFileItem, response: unknown) => any;
201
200
  error: (file: UploadFileItem, error: Error) => any;
201
+ success: (file: UploadFileItem, response: unknown) => any;
202
202
  progress: (file: UploadFileItem, percent: number) => any;
203
203
  remove: (file: UploadFileItem) => any;
204
204
  finish: (fileList: UploadFileItem[]) => any;
205
205
  exceed: (files: File[], fileList: UploadFileItem[]) => any;
206
206
  }, string, vue.PublicProps, Readonly<UploadProps> & Readonly<{
207
207
  onChange?: ((fileList: UploadFileItem[]) => any) | undefined;
208
- onSuccess?: ((file: UploadFileItem, response: unknown) => any) | undefined;
209
208
  onError?: ((file: UploadFileItem, error: Error) => any) | undefined;
209
+ onSuccess?: ((file: UploadFileItem, response: unknown) => any) | undefined;
210
210
  onProgress?: ((file: UploadFileItem, percent: number) => any) | undefined;
211
211
  onRemove?: ((file: UploadFileItem) => any) | undefined;
212
212
  onFinish?: ((fileList: UploadFileItem[]) => any) | undefined;
@@ -214,11 +214,11 @@ declare const __VLS_base: vue.DefineComponent<UploadProps, UploadExpose, {}, {},
214
214
  }>, {
215
215
  disabled: boolean;
216
216
  draggable: boolean;
217
- multiple: boolean;
218
- data: Record<string, unknown>;
219
217
  maxSize: number;
218
+ data: Record<string, unknown>;
220
219
  action: string;
221
220
  headers: Record<string, string>;
221
+ multiple: boolean;
222
222
  directory: boolean;
223
223
  accept: string;
224
224
  maxCount: number;
@@ -259,10 +259,10 @@ type PlayerInstance = InstanceType<typeof xgplayer.default>;
259
259
  //#region src/components/C_VideoPlayer/index.vue.d.ts
260
260
  declare const __VLS_export: vue.DefineComponent<VideoPlayerProps, VideoPlayerExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
261
261
  error: (error: Error) => any;
262
- ended: () => any;
263
262
  ready: () => any;
264
263
  stateChange: (state: PlayerState) => any;
265
264
  timeUpdate: (currentTime: number, duration: number) => any;
265
+ ended: () => any;
266
266
  qualityChange: (quality: QualityLevel) => any;
267
267
  rateChange: (rate: number) => any;
268
268
  fullscreenChange: (isFullscreen: boolean) => any;
@@ -272,10 +272,10 @@ declare const __VLS_export: vue.DefineComponent<VideoPlayerProps, VideoPlayerExp
272
272
  progressUpdate: (data: ProgressData) => any;
273
273
  }, string, vue.PublicProps, Readonly<VideoPlayerProps> & Readonly<{
274
274
  onError?: ((error: Error) => any) | undefined;
275
- onEnded?: (() => any) | undefined;
276
275
  onReady?: (() => any) | undefined;
277
276
  onStateChange?: ((state: PlayerState) => any) | undefined;
278
277
  onTimeUpdate?: ((currentTime: number, duration: number) => any) | undefined;
278
+ onEnded?: (() => any) | undefined;
279
279
  onQualityChange?: ((quality: QualityLevel) => any) | undefined;
280
280
  onRateChange?: ((rate: number) => any) | undefined;
281
281
  onFullscreenChange?: ((isFullscreen: boolean) => any) | undefined;
@@ -259,10 +259,10 @@ type PlayerInstance = InstanceType<typeof xgplayer.default>;
259
259
  //#region src/components/C_VideoPlayer/index.vue.d.ts
260
260
  declare const __VLS_export: vue.DefineComponent<VideoPlayerProps, VideoPlayerExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
261
261
  error: (error: Error) => any;
262
- ended: () => any;
263
262
  ready: () => any;
264
263
  stateChange: (state: PlayerState) => any;
265
264
  timeUpdate: (currentTime: number, duration: number) => any;
265
+ ended: () => any;
266
266
  qualityChange: (quality: QualityLevel) => any;
267
267
  rateChange: (rate: number) => any;
268
268
  fullscreenChange: (isFullscreen: boolean) => any;
@@ -272,10 +272,10 @@ declare const __VLS_export: vue.DefineComponent<VideoPlayerProps, VideoPlayerExp
272
272
  progressUpdate: (data: ProgressData) => any;
273
273
  }, string, vue.PublicProps, Readonly<VideoPlayerProps> & Readonly<{
274
274
  onError?: ((error: Error) => any) | undefined;
275
- onEnded?: (() => any) | undefined;
276
275
  onReady?: (() => any) | undefined;
277
276
  onStateChange?: ((state: PlayerState) => any) | undefined;
278
277
  onTimeUpdate?: ((currentTime: number, duration: number) => any) | undefined;
278
+ onEnded?: (() => any) | undefined;
279
279
  onQualityChange?: ((quality: QualityLevel) => any) | undefined;
280
280
  onRateChange?: ((rate: number) => any) | undefined;
281
281
  onFullscreenChange?: ((isFullscreen: boolean) => any) | undefined;
@@ -0,0 +1 @@
1
+ const e=Symbol(`robot-component-feedback`),t=Symbol(`robot-component-locale`);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return e}});
@@ -0,0 +1 @@
1
+ const e=Symbol(`robot-component-feedback`),t=Symbol(`robot-component-locale`);export{t as n,e as t};
@@ -0,0 +1,24 @@
1
+ //#region src/core/contracts.d.ts
2
+ /** UI-independent feedback and locale protocols. No framework runtime is imported here. */
3
+ interface ConfirmOptions {
4
+ title: string;
5
+ content: string;
6
+ positiveText?: string;
7
+ negativeText?: string;
8
+ type?: 'warning' | 'error' | 'info' | 'success';
9
+ }
10
+ interface ComponentFeedback {
11
+ success?: (message: string) => void;
12
+ error?: (message: string, cause?: unknown) => void;
13
+ warning?: (message: string) => void;
14
+ info?: (message: string) => void;
15
+ confirm?: (options: ConfirmOptions) => boolean | Promise<boolean>;
16
+ }
17
+ type ComponentLocaleName = 'zh-CN' | 'en-US';
18
+ interface ComponentLocale {
19
+ locale?: ComponentLocaleName;
20
+ messages?: Record<string, string>;
21
+ t?: (key: string, params?: Record<string, string | number>) => string;
22
+ }
23
+ //#endregion
24
+ export { ConfirmOptions as i, ComponentLocale as n, ComponentLocaleName as r, ComponentFeedback as t };
@@ -0,0 +1,24 @@
1
+ //#region src/core/contracts.d.ts
2
+ /** UI-independent feedback and locale protocols. No framework runtime is imported here. */
3
+ interface ConfirmOptions {
4
+ title: string;
5
+ content: string;
6
+ positiveText?: string;
7
+ negativeText?: string;
8
+ type?: 'warning' | 'error' | 'info' | 'success';
9
+ }
10
+ interface ComponentFeedback {
11
+ success?: (message: string) => void;
12
+ error?: (message: string, cause?: unknown) => void;
13
+ warning?: (message: string) => void;
14
+ info?: (message: string) => void;
15
+ confirm?: (options: ConfirmOptions) => boolean | Promise<boolean>;
16
+ }
17
+ type ComponentLocaleName = 'zh-CN' | 'en-US';
18
+ interface ComponentLocale {
19
+ locale?: ComponentLocaleName;
20
+ messages?: Record<string, string>;
21
+ t?: (key: string, params?: Record<string, string | number>) => string;
22
+ }
23
+ //#endregion
24
+ export { ConfirmOptions as i, ComponentLocale as n, ComponentLocaleName as r, ComponentFeedback as t };
@@ -1 +1 @@
1
- require(`./chunk.cjs`);const e=require(`./config.cjs`),t=require(`./export-helper.cjs`);let n=require(`vue`),r=require(`naive-ui`);const i={class:`c-page-loading__card`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`},a={class:`c-page-loading__label`},o={key:0,class:`c-page-loading__description`},s=(0,n.defineComponent)({name:`C_PageLoading`,__name:`index`,props:{show:{type:Boolean},label:{},description:{},color:{}},setup(t){let s=(0,r.useThemeVars)(),{t:c}=e.i();return(e,r)=>((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{to:`body`},[(0,n.createVNode)(n.Transition,{name:`c-page-loading-fade`},{default:(0,n.withCtx)(()=>[t.show?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:`c-page-loading`,style:(0,n.normalizeStyle)({"--c-page-loading-surface":(0,n.unref)(s).cardColor,"--c-page-loading-body":(0,n.unref)(s).bodyColor,"--c-page-loading-border":(0,n.unref)(s).dividerColor,"--c-page-loading-text":(0,n.unref)(s).textColor1,"--c-page-loading-muted":(0,n.unref)(s).textColor3,color:t.color||(0,n.unref)(s).primaryColor})},[(0,n.createElementVNode)(`div`,i,[r[0]||=(0,n.createElementVNode)(`svg`,{class:`c-page-loading__glyph`,viewBox:`0 0 80 80`,fill:`none`,"aria-hidden":`true`,focusable:`false`},[(0,n.createElementVNode)(`circle`,{cx:`40`,cy:`40`,r:`35`,stroke:`currentColor`,"stroke-opacity":`.08`}),(0,n.createElementVNode)(`circle`,{class:`c-page-loading__outer`,cx:`40`,cy:`40`,r:`35`,stroke:`currentColor`,"stroke-opacity":`.38`,"stroke-width":`2`,"stroke-dasharray":`64 156`,"stroke-linecap":`round`}),(0,n.createElementVNode)(`circle`,{class:`c-page-loading__inner`,cx:`40`,cy:`40`,r:`24`,stroke:`currentColor`,"stroke-opacity":`.24`,"stroke-width":`1.5`,"stroke-dasharray":`34 117`,"stroke-linecap":`round`}),(0,n.createElementVNode)(`circle`,{class:`c-page-loading__pulse`,cx:`40`,cy:`40`,r:`17`,fill:`currentColor`,"fill-opacity":`.06`}),(0,n.createElementVNode)(`path`,{class:`c-page-loading__wave`,d:`M11 40 Q20.5 27 30 40 Q39.5 53 49 40 Q58.5 27 68 40`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`}),(0,n.createElementVNode)(`circle`,{cx:`40`,cy:`40`,r:`3`,fill:`currentColor`})],-1),(0,n.createElementVNode)(`span`,a,(0,n.toDisplayString)(t.label||(0,n.unref)(c)(`common.loading`)),1),t.description?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,o,(0,n.toDisplayString)(t.description),1)):(0,n.createCommentVNode)(`v-if`,!0),r[1]||=(0,n.createElementVNode)(`span`,{class:`c-page-loading__track`,"aria-hidden":`true`},null,-1)])],4)):(0,n.createCommentVNode)(`v-if`,!0)]),_:1})]))}});var c=t.t(s,[[`__scopeId`,`data-v-aec6cc81`]]);function l(e={}){let t=(0,n.ref)(!1),r=e.delay??160,i=Number.isFinite(r)?Math.max(0,r):160,a=0,o,s=()=>{o!==void 0&&clearTimeout(o),o=void 0};return{visible:(0,n.readonly)(t),start:()=>{s();let e=++a;return t.value||(o=setTimeout(()=>{o=void 0,e===a&&(t.value=!0)},i)),e},finish:e=>{e===a&&(s(),t.value=!1)},reset:()=>{a++,s(),t.value=!1}}}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
1
+ require(`./chunk.cjs`);const e=require(`./useComponentLocale.cjs`),t=require(`./export-helper.cjs`);let n=require(`vue`),r=require(`naive-ui`);const i={class:`c-page-loading__card`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`},a={class:`c-page-loading__label`},o={key:0,class:`c-page-loading__description`},s=(0,n.defineComponent)({name:`C_PageLoading`,__name:`index`,props:{show:{type:Boolean},label:{},description:{},color:{}},setup(t){let s=(0,r.useThemeVars)(),{t:c}=e.t();return(e,r)=>((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{to:`body`},[(0,n.createVNode)(n.Transition,{name:`c-page-loading-fade`},{default:(0,n.withCtx)(()=>[t.show?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:`c-page-loading`,style:(0,n.normalizeStyle)({"--c-page-loading-surface":(0,n.unref)(s).cardColor,"--c-page-loading-body":(0,n.unref)(s).bodyColor,"--c-page-loading-border":(0,n.unref)(s).dividerColor,"--c-page-loading-text":(0,n.unref)(s).textColor1,"--c-page-loading-muted":(0,n.unref)(s).textColor3,color:t.color||(0,n.unref)(s).primaryColor})},[(0,n.createElementVNode)(`div`,i,[r[0]||=(0,n.createElementVNode)(`svg`,{class:`c-page-loading__glyph`,viewBox:`0 0 80 80`,fill:`none`,"aria-hidden":`true`,focusable:`false`},[(0,n.createElementVNode)(`circle`,{cx:`40`,cy:`40`,r:`35`,stroke:`currentColor`,"stroke-opacity":`.08`}),(0,n.createElementVNode)(`circle`,{class:`c-page-loading__outer`,cx:`40`,cy:`40`,r:`35`,stroke:`currentColor`,"stroke-opacity":`.38`,"stroke-width":`2`,"stroke-dasharray":`64 156`,"stroke-linecap":`round`}),(0,n.createElementVNode)(`circle`,{class:`c-page-loading__inner`,cx:`40`,cy:`40`,r:`24`,stroke:`currentColor`,"stroke-opacity":`.24`,"stroke-width":`1.5`,"stroke-dasharray":`34 117`,"stroke-linecap":`round`}),(0,n.createElementVNode)(`circle`,{class:`c-page-loading__pulse`,cx:`40`,cy:`40`,r:`17`,fill:`currentColor`,"fill-opacity":`.06`}),(0,n.createElementVNode)(`path`,{class:`c-page-loading__wave`,d:`M11 40 Q20.5 27 30 40 Q39.5 53 49 40 Q58.5 27 68 40`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`}),(0,n.createElementVNode)(`circle`,{cx:`40`,cy:`40`,r:`3`,fill:`currentColor`})],-1),(0,n.createElementVNode)(`span`,a,(0,n.toDisplayString)(t.label||(0,n.unref)(c)(`common.loading`)),1),t.description?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,o,(0,n.toDisplayString)(t.description),1)):(0,n.createCommentVNode)(`v-if`,!0),r[1]||=(0,n.createElementVNode)(`span`,{class:`c-page-loading__track`,"aria-hidden":`true`},null,-1)])],4)):(0,n.createCommentVNode)(`v-if`,!0)]),_:1})]))}});var c=t.t(s,[[`__scopeId`,`data-v-ddb14af3`]]);function l(e={}){let t=(0,n.ref)(!1),r=e.delay??160,i=Number.isFinite(r)?Math.max(0,r):160,a=0,o,s=()=>{o!==void 0&&clearTimeout(o),o=void 0};return{visible:(0,n.readonly)(t),start:()=>{s();let e=++a;return t.value||(o=setTimeout(()=>{o=void 0,e===a&&(t.value=!0)},i)),e},finish:e=>{e===a&&(s(),t.value=!1)},reset:()=>{a++,s(),t.value=!1}}}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
@@ -1 +1 @@
1
- import{i as e}from"./config.js";import{t}from"./export-helper.js";import{Teleport as n,Transition as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createElementVNode as s,createVNode as c,defineComponent as l,normalizeStyle as u,openBlock as d,readonly as f,ref as p,toDisplayString as m,unref as h,withCtx as g}from"vue";import{useThemeVars as _}from"naive-ui";const v={class:`c-page-loading__card`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`},y={class:`c-page-loading__label`},b={key:0,class:`c-page-loading__description`};var x=t(l({name:`C_PageLoading`,__name:`index`,props:{show:{type:Boolean},label:{},description:{},color:{}},setup(t){let l=_(),{t:f}=e();return(e,p)=>(d(),i(n,{to:`body`},[c(r,{name:`c-page-loading-fade`},{default:g(()=>[t.show?(d(),o(`div`,{key:0,class:`c-page-loading`,style:u({"--c-page-loading-surface":h(l).cardColor,"--c-page-loading-body":h(l).bodyColor,"--c-page-loading-border":h(l).dividerColor,"--c-page-loading-text":h(l).textColor1,"--c-page-loading-muted":h(l).textColor3,color:t.color||h(l).primaryColor})},[s(`div`,v,[p[0]||=s(`svg`,{class:`c-page-loading__glyph`,viewBox:`0 0 80 80`,fill:`none`,"aria-hidden":`true`,focusable:`false`},[s(`circle`,{cx:`40`,cy:`40`,r:`35`,stroke:`currentColor`,"stroke-opacity":`.08`}),s(`circle`,{class:`c-page-loading__outer`,cx:`40`,cy:`40`,r:`35`,stroke:`currentColor`,"stroke-opacity":`.38`,"stroke-width":`2`,"stroke-dasharray":`64 156`,"stroke-linecap":`round`}),s(`circle`,{class:`c-page-loading__inner`,cx:`40`,cy:`40`,r:`24`,stroke:`currentColor`,"stroke-opacity":`.24`,"stroke-width":`1.5`,"stroke-dasharray":`34 117`,"stroke-linecap":`round`}),s(`circle`,{class:`c-page-loading__pulse`,cx:`40`,cy:`40`,r:`17`,fill:`currentColor`,"fill-opacity":`.06`}),s(`path`,{class:`c-page-loading__wave`,d:`M11 40 Q20.5 27 30 40 Q39.5 53 49 40 Q58.5 27 68 40`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`}),s(`circle`,{cx:`40`,cy:`40`,r:`3`,fill:`currentColor`})],-1),s(`span`,y,m(t.label||h(f)(`common.loading`)),1),t.description?(d(),o(`span`,b,m(t.description),1)):a(`v-if`,!0),p[1]||=s(`span`,{class:`c-page-loading__track`,"aria-hidden":`true`},null,-1)])],4)):a(`v-if`,!0)]),_:1})]))}}),[[`__scopeId`,`data-v-aec6cc81`]]);function S(e={}){let t=p(!1),n=e.delay??160,r=Number.isFinite(n)?Math.max(0,n):160,i=0,a,o=()=>{a!==void 0&&clearTimeout(a),a=void 0};return{visible:f(t),start:()=>{o();let e=++i;return t.value||(a=setTimeout(()=>{a=void 0,e===i&&(t.value=!0)},r)),e},finish:e=>{e===i&&(o(),t.value=!1)},reset:()=>{i++,o(),t.value=!1}}}export{x as n,S as t};
1
+ import{t as e}from"./useComponentLocale.js";import{t}from"./export-helper.js";import{Teleport as n,Transition as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createElementVNode as s,createVNode as c,defineComponent as l,normalizeStyle as u,openBlock as d,readonly as f,ref as p,toDisplayString as m,unref as h,withCtx as g}from"vue";import{useThemeVars as _}from"naive-ui";const v={class:`c-page-loading__card`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`},y={class:`c-page-loading__label`},b={key:0,class:`c-page-loading__description`};var x=t(l({name:`C_PageLoading`,__name:`index`,props:{show:{type:Boolean},label:{},description:{},color:{}},setup(t){let l=_(),{t:f}=e();return(e,p)=>(d(),i(n,{to:`body`},[c(r,{name:`c-page-loading-fade`},{default:g(()=>[t.show?(d(),o(`div`,{key:0,class:`c-page-loading`,style:u({"--c-page-loading-surface":h(l).cardColor,"--c-page-loading-body":h(l).bodyColor,"--c-page-loading-border":h(l).dividerColor,"--c-page-loading-text":h(l).textColor1,"--c-page-loading-muted":h(l).textColor3,color:t.color||h(l).primaryColor})},[s(`div`,v,[p[0]||=s(`svg`,{class:`c-page-loading__glyph`,viewBox:`0 0 80 80`,fill:`none`,"aria-hidden":`true`,focusable:`false`},[s(`circle`,{cx:`40`,cy:`40`,r:`35`,stroke:`currentColor`,"stroke-opacity":`.08`}),s(`circle`,{class:`c-page-loading__outer`,cx:`40`,cy:`40`,r:`35`,stroke:`currentColor`,"stroke-opacity":`.38`,"stroke-width":`2`,"stroke-dasharray":`64 156`,"stroke-linecap":`round`}),s(`circle`,{class:`c-page-loading__inner`,cx:`40`,cy:`40`,r:`24`,stroke:`currentColor`,"stroke-opacity":`.24`,"stroke-width":`1.5`,"stroke-dasharray":`34 117`,"stroke-linecap":`round`}),s(`circle`,{class:`c-page-loading__pulse`,cx:`40`,cy:`40`,r:`17`,fill:`currentColor`,"fill-opacity":`.06`}),s(`path`,{class:`c-page-loading__wave`,d:`M11 40 Q20.5 27 30 40 Q39.5 53 49 40 Q58.5 27 68 40`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`}),s(`circle`,{cx:`40`,cy:`40`,r:`3`,fill:`currentColor`})],-1),s(`span`,y,m(t.label||h(f)(`common.loading`)),1),t.description?(d(),o(`span`,b,m(t.description),1)):a(`v-if`,!0),p[1]||=s(`span`,{class:`c-page-loading__track`,"aria-hidden":`true`},null,-1)])],4)):a(`v-if`,!0)]),_:1})]))}}),[[`__scopeId`,`data-v-ddb14af3`]]);function S(e={}){let t=p(!1),n=e.delay??160,r=Number.isFinite(n)?Math.max(0,n):160,i=0,a,o=()=>{a!==void 0&&clearTimeout(a),a=void 0};return{visible:f(t),start:()=>{o();let e=++i;return t.value||(a=setTimeout(()=>{a=void 0,e===i&&(t.value=!0)},r)),e},finish:e=>{e===i&&(o(),t.value=!1)},reset:()=>{i++,o(),t.value=!1}}}export{x as n,S as t};
package/dist/data.cjs CHANGED
@@ -1 +1 @@
1
- require(`./chunk.cjs`);let e=require(`vue`);const t=new Set([`__proto__`,`prototype`,`constructor`]);function n(e){let n=e.replace(/\[([^\]]+)\]/g,`.$1`).split(`.`).map(e=>e.trim().replace(/^['"]|['"]$/g,``)).filter(Boolean);if(n.length===0)throw TypeError(`Data path cannot be empty`);if(n.some(e=>t.has(e)))throw TypeError(`Unsafe data path: ${e}`);return n}function r(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return!0;let r=e;for(let e of n(t)){if(typeof r!=`object`||!r||!Object.prototype.hasOwnProperty.call(r,e))return!1;r=r[e]}return!0}function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:n(t).reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e)}function a(e,t,r){if(Object.prototype.hasOwnProperty.call(e,t)){e[t]=r;return}let i=n(t),a=e;i.forEach((e,t)=>{if(t===i.length-1){a[e]=r;return}let n=a[e];(typeof n!=`object`||!n)&&(a[e]=/^\d+$/.test(i[t+1])?[]:{}),a=a[e]})}function o(e,t){if(Object.prototype.hasOwnProperty.call(e,t)){delete e[t];return}let r=n(t),i=r.pop();if(!i)return;let a=r.reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e);a&&typeof a==`object`&&delete a[i]}function s(t){return(0,e.isProxy)(t)?(0,e.toRaw)(t):t}function c(e,t){let n=s(e);if(typeof n!=`object`||!n)return n;if(t.has(n))return t.get(n);if(n instanceof Date)return new Date(n.getTime());if(n instanceof RegExp)return new RegExp(n);if(n instanceof ArrayBuffer)return n.slice(0);if(Array.isArray(n)){let e=[];return t.set(n,e),n.forEach(n=>e.push(c(n,t))),e}if(n instanceof Map){let e=new Map;return t.set(n,e),n.forEach((n,r)=>{e.set(c(r,t),c(n,t))}),e}if(n instanceof Set){let e=new Set;return t.set(n,e),n.forEach(n=>e.add(c(n,t))),e}let r=Object.getPrototypeOf(n);if(r!==Object.prototype&&r!==null)return n;let i={};return t.set(n,i),Reflect.ownKeys(n).forEach(e=>{typeof e==`string`&&(i[e]=c(n[e],t))}),i}function l(e){let t=s(e);if(typeof structuredClone==`function`)try{return structuredClone(t)}catch{}return c(t,new WeakMap)}function u(e,t,n){if(n.get(e)===t)return!0;if(n.set(e,t),e instanceof Date||t instanceof Date)return e instanceof Date&&t instanceof Date&&e.getTime()===t.getTime();if(e instanceof RegExp||t instanceof RegExp)return e instanceof RegExp&&t instanceof RegExp&&e.source===t.source&&e.flags===t.flags;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((e,r)=>d(e,t[r],n));if(e instanceof Map||t instanceof Map)return!(e instanceof Map)||!(t instanceof Map)||e.size!==t.size?!1:[...e.entries()].every(([e,r])=>t.has(e)?d(r,t.get(e),n):!1);if(e instanceof Set||t instanceof Set)return!(e instanceof Set)||!(t instanceof Set)||e.size!==t.size?!1:[...e].every(e=>t.has(e));let r=Object.keys(e),i=Object.keys(t);return r.length===i.length?r.every(r=>Object.prototype.hasOwnProperty.call(t,r)&&d(e[r],t[r],n)):!1}function d(e,t,n){let r=s(e),i=s(t);return Object.is(r,i)?!0:r===null||i===null||typeof r!=`object`||typeof i!=`object`?!1:u(r,i,n)}function f(e,t){return d(e,t,new WeakMap)}function p(e,t){let n=l(t);Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(n,t)||delete e[t]}),Object.assign(e,n)}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
1
+ require(`./chunk.cjs`);let e=require(`vue`);const t=new Set([`__proto__`,`prototype`,`constructor`]);function n(e){let n=e.replace(/\[([^\]]+)\]/g,`.$1`).split(`.`).map(e=>e.trim().replace(/^['"]|['"]$/g,``)).filter(Boolean);if(n.length===0)throw TypeError(`Data path cannot be empty`);if(n.some(e=>t.has(e)))throw TypeError(`Unsafe data path: ${e}`);return n}function r(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return!0;let r=e;for(let e of n(t)){if(typeof r!=`object`||!r||!Object.prototype.hasOwnProperty.call(r,e))return!1;r=r[e]}return!0}function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:n(t).reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e)}function a(e,t,r){if(Object.prototype.hasOwnProperty.call(e,t)){e[t]=r;return}let i=n(t),a=e;i.forEach((e,t)=>{if(t===i.length-1){a[e]=r;return}let n=a[e];(typeof n!=`object`||!n)&&(a[e]=/^\d+$/.test(i[t+1])?[]:{}),a=a[e]})}function o(e,t){if(Object.prototype.hasOwnProperty.call(e,t)){delete e[t];return}let r=n(t),i=r.pop();if(!i)return;let a=r.reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e);a&&typeof a==`object`&&delete a[i]}function s(t){return(0,e.isProxy)(t)?(0,e.toRaw)(t):t}function c(e,t){let n=s(e);if(typeof n!=`object`||!n)return n;if(t.has(n))return t.get(n);if(n instanceof Date)return new Date(n.getTime());if(n instanceof RegExp)return new RegExp(n);if(n instanceof ArrayBuffer)return n.slice(0);if(Array.isArray(n)){let e=[];return t.set(n,e),n.forEach(n=>e.push(c(n,t))),e}if(n instanceof Map){let e=new Map;return t.set(n,e),n.forEach((n,r)=>{e.set(c(r,t),c(n,t))}),e}if(n instanceof Set){let e=new Set;return t.set(n,e),n.forEach(n=>e.add(c(n,t))),e}let r=Object.getPrototypeOf(n);if(r!==Object.prototype&&r!==null)return n;let i={};return t.set(n,i),Reflect.ownKeys(n).forEach(e=>{typeof e==`string`&&(i[e]=c(n[e],t))}),i}function l(e){let t=s(e);if(typeof structuredClone==`function`)try{return structuredClone(t)}catch{}return c(t,new WeakMap)}function u(e,t,n){if(n.get(e)===t)return!0;if(n.set(e,t),e instanceof Date||t instanceof Date)return e instanceof Date&&t instanceof Date&&e.getTime()===t.getTime();if(e instanceof RegExp||t instanceof RegExp)return e instanceof RegExp&&t instanceof RegExp&&e.source===t.source&&e.flags===t.flags;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((e,r)=>d(e,t[r],n));if(e instanceof Map||t instanceof Map)return!(e instanceof Map)||!(t instanceof Map)||e.size!==t.size?!1:[...e.entries()].every(([e,r])=>t.has(e)?d(r,t.get(e),n):!1);if(e instanceof Set||t instanceof Set)return!(e instanceof Set)||!(t instanceof Set)||e.size!==t.size?!1:[...e].every(e=>t.has(e));let r=Object.keys(e),i=Object.keys(t);return r.length===i.length?r.every(r=>Object.prototype.hasOwnProperty.call(t,r)&&d(e[r],t[r],n)):!1}function d(e,t,n){let r=s(e),i=s(t);return Object.is(r,i)?!0:r===null||i===null||typeof r!=`object`||typeof i!=`object`?!1:u(r,i,n)}function f(e,t){return d(e,t,new WeakMap)}function p(e,t){let n=l(t);Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(n,t)||delete e[t]}),Object.assign(e,n)}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
package/dist/data.d.cts CHANGED
@@ -65,28 +65,28 @@ type __VLS_Slots = {} & { [K in NonNullable<typeof __VLS_37>]?: (props: typeof _
65
65
  declare const __VLS_base: vue.DefineComponent<CTabsProps, {
66
66
  activeValue: vue.WritableComputedRef<TabsValue | null, TabsValue | null>;
67
67
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
68
- add: () => any;
69
68
  "update:modelValue": (value: TabsValue) => any;
70
69
  change: (value: TabsValue, item: TabsItem | undefined) => any;
70
+ add: () => any;
71
71
  close: (value: TabsValue) => any;
72
72
  }, string, vue.PublicProps, Readonly<CTabsProps> & Readonly<{
73
- onAdd?: (() => any) | undefined;
74
73
  "onUpdate:modelValue"?: ((value: TabsValue) => any) | undefined;
75
74
  onChange?: ((value: TabsValue, item: TabsItem | undefined) => any) | undefined;
75
+ onAdd?: (() => any) | undefined;
76
76
  onClose?: ((value: TabsValue) => any) | undefined;
77
77
  }>, {
78
78
  modelValue: TabsValue | null;
79
- justifyContent: TabsJustifyContent;
80
- size: TabsSize;
81
79
  type: TabsType;
82
- defaultValue: TabsValue | null;
83
- placement: TabsPlacement;
84
- displayDirective: TabsDisplayDirective;
80
+ size: TabsSize;
81
+ justifyContent: TabsJustifyContent;
85
82
  items: readonly TabsItem[];
86
- animated: boolean;
87
- closable: boolean;
88
83
  addable: boolean;
84
+ closable: boolean;
85
+ animated: boolean;
86
+ defaultValue: TabsValue | null;
87
+ placement: TabsPlacement;
89
88
  tabsOnly: boolean;
89
+ displayDirective: TabsDisplayDirective;
90
90
  paneClass: string;
91
91
  paneStyle: string | vue.CSSProperties;
92
92
  beforeChange: (target: TabsValue, current: TabsValue | null) => boolean | Promise<boolean>;
package/dist/data.d.ts CHANGED
@@ -65,28 +65,28 @@ type __VLS_Slots = {} & { [K in NonNullable<typeof __VLS_37>]?: (props: typeof _
65
65
  declare const __VLS_base: vue.DefineComponent<CTabsProps, {
66
66
  activeValue: vue.WritableComputedRef<TabsValue | null, TabsValue | null>;
67
67
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
68
- add: () => any;
69
68
  "update:modelValue": (value: TabsValue) => any;
70
69
  change: (value: TabsValue, item: TabsItem | undefined) => any;
70
+ add: () => any;
71
71
  close: (value: TabsValue) => any;
72
72
  }, string, vue.PublicProps, Readonly<CTabsProps> & Readonly<{
73
- onAdd?: (() => any) | undefined;
74
73
  "onUpdate:modelValue"?: ((value: TabsValue) => any) | undefined;
75
74
  onChange?: ((value: TabsValue, item: TabsItem | undefined) => any) | undefined;
75
+ onAdd?: (() => any) | undefined;
76
76
  onClose?: ((value: TabsValue) => any) | undefined;
77
77
  }>, {
78
78
  modelValue: TabsValue | null;
79
- justifyContent: TabsJustifyContent;
80
- size: TabsSize;
81
79
  type: TabsType;
82
- defaultValue: TabsValue | null;
83
- placement: TabsPlacement;
84
- displayDirective: TabsDisplayDirective;
80
+ size: TabsSize;
81
+ justifyContent: TabsJustifyContent;
85
82
  items: readonly TabsItem[];
86
- animated: boolean;
87
- closable: boolean;
88
83
  addable: boolean;
84
+ closable: boolean;
85
+ animated: boolean;
86
+ defaultValue: TabsValue | null;
87
+ placement: TabsPlacement;
89
88
  tabsOnly: boolean;
89
+ displayDirective: TabsDisplayDirective;
90
90
  paneClass: string;
91
91
  paneStyle: string | vue.CSSProperties;
92
92
  beforeChange: (target: TabsValue, current: TabsValue | null) => boolean | Promise<boolean>;
package/dist/data.js CHANGED
@@ -1 +1 @@
1
- import{isProxy as e,toRaw as t}from"vue";const n=new Set([`__proto__`,`prototype`,`constructor`]);function r(e){let t=e.replace(/\[([^\]]+)\]/g,`.$1`).split(`.`).map(e=>e.trim().replace(/^['"]|['"]$/g,``)).filter(Boolean);if(t.length===0)throw TypeError(`Data path cannot be empty`);if(t.some(e=>n.has(e)))throw TypeError(`Unsafe data path: ${e}`);return t}function i(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return!0;let n=e;for(let e of r(t)){if(typeof n!=`object`||!n||!Object.prototype.hasOwnProperty.call(n,e))return!1;n=n[e]}return!0}function a(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:r(t).reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e)}function o(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)){e[t]=n;return}let i=r(t),a=e;i.forEach((e,t)=>{if(t===i.length-1){a[e]=n;return}let r=a[e];(typeof r!=`object`||!r)&&(a[e]=/^\d+$/.test(i[t+1])?[]:{}),a=a[e]})}function s(e,t){if(Object.prototype.hasOwnProperty.call(e,t)){delete e[t];return}let n=r(t),i=n.pop();if(!i)return;let a=n.reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e);a&&typeof a==`object`&&delete a[i]}function c(n){return e(n)?t(n):n}function l(e,t){let n=c(e);if(typeof n!=`object`||!n)return n;if(t.has(n))return t.get(n);if(n instanceof Date)return new Date(n.getTime());if(n instanceof RegExp)return new RegExp(n);if(n instanceof ArrayBuffer)return n.slice(0);if(Array.isArray(n)){let e=[];return t.set(n,e),n.forEach(n=>e.push(l(n,t))),e}if(n instanceof Map){let e=new Map;return t.set(n,e),n.forEach((n,r)=>{e.set(l(r,t),l(n,t))}),e}if(n instanceof Set){let e=new Set;return t.set(n,e),n.forEach(n=>e.add(l(n,t))),e}let r=Object.getPrototypeOf(n);if(r!==Object.prototype&&r!==null)return n;let i={};return t.set(n,i),Reflect.ownKeys(n).forEach(e=>{typeof e==`string`&&(i[e]=l(n[e],t))}),i}function u(e){let t=c(e);if(typeof structuredClone==`function`)try{return structuredClone(t)}catch{}return l(t,new WeakMap)}function d(e,t,n){if(n.get(e)===t)return!0;if(n.set(e,t),e instanceof Date||t instanceof Date)return e instanceof Date&&t instanceof Date&&e.getTime()===t.getTime();if(e instanceof RegExp||t instanceof RegExp)return e instanceof RegExp&&t instanceof RegExp&&e.source===t.source&&e.flags===t.flags;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((e,r)=>f(e,t[r],n));if(e instanceof Map||t instanceof Map)return!(e instanceof Map)||!(t instanceof Map)||e.size!==t.size?!1:[...e.entries()].every(([e,r])=>t.has(e)?f(r,t.get(e),n):!1);if(e instanceof Set||t instanceof Set)return!(e instanceof Set)||!(t instanceof Set)||e.size!==t.size?!1:[...e].every(e=>t.has(e));let r=Object.keys(e),i=Object.keys(t);return r.length===i.length?r.every(r=>Object.prototype.hasOwnProperty.call(t,r)&&f(e[r],t[r],n)):!1}function f(e,t,n){let r=c(e),i=c(t);return Object.is(r,i)?!0:r===null||i===null||typeof r!=`object`||typeof i!=`object`?!1:d(r,i,n)}function p(e,t){return f(e,t,new WeakMap)}function m(e,t){let n=u(t);Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(n,t)||delete e[t]}),Object.assign(e,n)}export{p as a,i,s as n,m as o,a as r,o as s,u as t};
1
+ import{isProxy as e,toRaw as t}from"vue";const n=new Set([`__proto__`,`prototype`,`constructor`]);function r(e){let t=e.replace(/\[([^\]]+)\]/g,`.$1`).split(`.`).map(e=>e.trim().replace(/^['"]|['"]$/g,``)).filter(Boolean);if(t.length===0)throw TypeError(`Data path cannot be empty`);if(t.some(e=>n.has(e)))throw TypeError(`Unsafe data path: ${e}`);return t}function i(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return!0;let n=e;for(let e of r(t)){if(typeof n!=`object`||!n||!Object.prototype.hasOwnProperty.call(n,e))return!1;n=n[e]}return!0}function a(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:r(t).reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e)}function o(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)){e[t]=n;return}let i=r(t),a=e;i.forEach((e,t)=>{if(t===i.length-1){a[e]=n;return}let r=a[e];(typeof r!=`object`||!r)&&(a[e]=/^\d+$/.test(i[t+1])?[]:{}),a=a[e]})}function s(e,t){if(Object.prototype.hasOwnProperty.call(e,t)){delete e[t];return}let n=r(t),i=n.pop();if(!i)return;let a=n.reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e);a&&typeof a==`object`&&delete a[i]}function c(n){return e(n)?t(n):n}function l(e,t){let n=c(e);if(typeof n!=`object`||!n)return n;if(t.has(n))return t.get(n);if(n instanceof Date)return new Date(n.getTime());if(n instanceof RegExp)return new RegExp(n);if(n instanceof ArrayBuffer)return n.slice(0);if(Array.isArray(n)){let e=[];return t.set(n,e),n.forEach(n=>e.push(l(n,t))),e}if(n instanceof Map){let e=new Map;return t.set(n,e),n.forEach((n,r)=>{e.set(l(r,t),l(n,t))}),e}if(n instanceof Set){let e=new Set;return t.set(n,e),n.forEach(n=>e.add(l(n,t))),e}let r=Object.getPrototypeOf(n);if(r!==Object.prototype&&r!==null)return n;let i={};return t.set(n,i),Reflect.ownKeys(n).forEach(e=>{typeof e==`string`&&(i[e]=l(n[e],t))}),i}function u(e){let t=c(e);if(typeof structuredClone==`function`)try{return structuredClone(t)}catch{}return l(t,new WeakMap)}function d(e,t,n){if(n.get(e)===t)return!0;if(n.set(e,t),e instanceof Date||t instanceof Date)return e instanceof Date&&t instanceof Date&&e.getTime()===t.getTime();if(e instanceof RegExp||t instanceof RegExp)return e instanceof RegExp&&t instanceof RegExp&&e.source===t.source&&e.flags===t.flags;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((e,r)=>f(e,t[r],n));if(e instanceof Map||t instanceof Map)return!(e instanceof Map)||!(t instanceof Map)||e.size!==t.size?!1:[...e.entries()].every(([e,r])=>t.has(e)?f(r,t.get(e),n):!1);if(e instanceof Set||t instanceof Set)return!(e instanceof Set)||!(t instanceof Set)||e.size!==t.size?!1:[...e].every(e=>t.has(e));let r=Object.keys(e),i=Object.keys(t);return r.length===i.length?r.every(r=>Object.prototype.hasOwnProperty.call(t,r)&&f(e[r],t[r],n)):!1}function f(e,t,n){let r=c(e),i=c(t);return Object.is(r,i)?!0:r===null||i===null||typeof r!=`object`||typeof i!=`object`?!1:d(r,i,n)}function p(e,t){return f(e,t,new WeakMap)}function m(e,t){let n=u(t);Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(n,t)||delete e[t]}),Object.assign(e,n)}export{p as a,o as c,i,s as n,r as o,a as r,m as s,u as t};
@@ -0,0 +1 @@
1
+ require(`./chunk.cjs`);let e=require(`naive-ui`);Object.defineProperty(exports,`default`,{enumerable:!0,get:function(){return e.NDatePicker}});
@@ -0,0 +1 @@
1
+ import{NDatePicker as e}from"naive-ui";export{e as default};
@@ -0,0 +1 @@
1
+ require(`./chunk.cjs`);const e=require(`./context.cjs`);let t=require(`vue`),n=require(`naive-ui`);function r(r){let i=(0,t.getCurrentInstance)(),a=i?(0,t.inject)(e.t,{}):{},o=null,s=null;if(i){try{o=(0,n.useMessage)()}catch{o=null}try{s=(0,n.useDialog)()}catch{s=null}}let c=()=>(0,t.toValue)(r)??a,l=(e,t,n)=>{let r=c()[e];r?r(t,n):o?.[e](t)};return{success:e=>l(`success`,e),error:(e,t)=>l(`error`,e,t),warning:e=>l(`warning`,e),info:e=>l(`info`,e),confirm:async e=>{let t=c().confirm;return t?await t(e)!==!1:s?new Promise(t=>{let n=!1,r=e=>{n||(n=!0,t(e))},i=e.type??`warning`;s[i]({title:e.title,content:e.content,positiveText:e.positiveText,negativeText:e.negativeText,onPositiveClick:()=>r(!0),onNegativeClick:()=>r(!1),onClose:()=>r(!1)})}):typeof window<`u`&&typeof window.confirm==`function`?window.confirm(`${e.title}\n${e.content}`):!1}}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
@@ -0,0 +1 @@
1
+ import{t as e}from"./context.js";import{getCurrentInstance as t,inject as n,toValue as r}from"vue";import{useDialog as i,useMessage as a}from"naive-ui";function o(o){let s=t(),c=s?n(e,{}):{},l=null,u=null;if(s){try{l=a()}catch{l=null}try{u=i()}catch{u=null}}let d=()=>r(o)??c,f=(e,t,n)=>{let r=d()[e];r?r(t,n):l?.[e](t)};return{success:e=>f(`success`,e),error:(e,t)=>f(`error`,e,t),warning:e=>f(`warning`,e),info:e=>f(`info`,e),confirm:async e=>{let t=d().confirm;return t?await t(e)!==!1:u?new Promise(t=>{let n=!1,r=e=>{n||(n=!0,t(e))},i=e.type??`warning`;u[i]({title:e.title,content:e.content,positiveText:e.positiveText,negativeText:e.negativeText,onPositiveClick:()=>r(!0),onNegativeClick:()=>r(!1),onClose:()=>r(!1)})}):typeof window<`u`&&typeof window.confirm==`function`?window.confirm(`${e.title}\n${e.content}`):!1}}}export{o as t};
package/dist/helpers.cjs CHANGED
@@ -1 +1 @@
1
- require(`./chunk.cjs`);const e=require(`./data.cjs`);let t=require(`vue`);function n(e){return e}function r(e){return e}function i(n){let r=(0,t.shallowRef)(e.t(n.initialValues)),i=(0,t.shallowRef)(null);return{model:r,formRef:i,bindings:(0,t.computed)(()=>({modelValue:r.value,options:(0,t.toValue)(n.options),config:(0,t.toValue)(n.config),"onUpdate:modelValue":t=>{r.value=e.t(t)}})),validate:()=>i.value?.validate()??Promise.resolve(),submit:()=>i.value?.submit()??Promise.resolve(!1),reset:()=>i.value?.resetFields()}}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
1
+ require(`./chunk.cjs`);const e=require(`./useComponentLocale.cjs`),t=require(`./feedback.cjs`),n=require(`./C_Icon2.cjs`),r=require(`./export-helper.cjs`),i=require(`./data.cjs`);let a=require(`vue`),o=require(`naive-ui`),s=require(`@robot-admin/form-validate`);const c=Symbol(`c-form-global-config`);function l(){return(0,a.getCurrentInstance)()?(0,a.inject)(c,{}):{}}function u(e,t){let n=e??{},r=(e,t)=>e||t?{...e,...t}:void 0;return{...t,...n,grid:r(t.grid,n.grid),inline:r(t.inline,n.inline),card:r(t.card,n.card),tabs:r(t.tabs,n.tabs),steps:r(t.steps,n.steps),dynamic:r(t.dynamic,n.dynamic),custom:r(t.custom,n.custom)}}const d={layout:`default`,labelPlacement:`left`,labelWidth:`auto`,size:`medium`,disabled:!1,readonly:!1,showActions:!0,validateOnChange:!1,preserveRemovedFields:!1,submitText:``,resetText:``,submitSuccessText:``,resetSuccessText:``,mode:`create`},f=[`steps`,`custom`];function p(e){return{...d,...e}}function m(e){return!(e.showActions===!1||f.includes(e.layout))}function h(e,t=new Set){if(!(typeof e!=`object`||!e||t.has(e))){if(t.add(e),e instanceof Map){e.forEach((e,n)=>{h(n,t),h(e,t)});return}if(e instanceof Set){e.forEach(e=>h(e,t));return}Object.values(e).forEach(e=>h(e,t))}}function g(e,t){let n=(0,a.ref)({}),r=(0,a.computed)(()=>o().length>0);function o(){let r=n.value,o=t?(0,a.toValue)(t):void 0,s=new Set(o??[...Object.keys(r),...Object.keys(e)]),c=[];for(let t of s){let n=i.r(e,t);h(n),i.a(i.r(r,t),n)||c.push(t)}return c}function s(t){return!i.a(i.r(n.value,t),i.r(e,t))}function c(){n.value=i.t(e)}function l(){return i.t(n.value)}return{isDirty:r,getChangedFields:o,isFieldDirty:s,markAsClean:c,getCleanModel:l}}const _=s.PRESET_RULES,v=s.NAIVE_COMBOS;function y(e=[]){return e.map(e=>{let t=`validate`in e&&typeof e.validate==`function`?(0,s.toNaiveRule)(e):e;return{...t,...Array.isArray(t.trigger)?{trigger:[...t.trigger]}:{}}})}function b(e,t){return y([{...s.BasicRules.required(e,[`input`,`change`,`blur`]),message:t}])[0]}const x={input:``,textarea:``,editor:``,select:null,datePicker:null,daterange:null,timePicker:null,cascader:null,colorPicker:null,checkbox:[],upload:[],radio:``,inputNumber:null,slider:null,rate:null,switch:!1};function S(e){return i.t((e.value===void 0?x[e.type]:e.value)??null)}function C(e){let t=new Set;e.forEach((e,n)=>{if(!e.prop?.trim())throw TypeError(`[C_Form] options[${n}].prop 不能为空`);if(t.has(e.prop))throw TypeError(`[C_Form] 字段 prop 重复: ${e.prop}`);t.add(e.prop)})}function w(n,r,o,s,c,l){let u=(0,a.reactive)(i.t(c?.value??(r.value.mode===`edit`?r.value.initialValues:void 0)??{})),d=(0,a.reactive)({}),f=new Map,p=(0,a.ref)({}),m=(0,a.ref)({}),h=(0,a.ref)({}),_=(0,a.ref)(!1),v=new Map,x=!1,w,T=new Map,E=new Map,D=new Map,O=new Map,k=new Set,A=!1,j=!1,M=0,N=t.t(()=>r.value.feedback),{t:ee}=e.t(()=>r.value.locale),{isDirty:te,getChangedFields:ne,isFieldDirty:re,markAsClean:P,getCleanModel:ie}=g(u,()=>n.value.map(e=>e.prop));function F(e,t,n){if(!x)try{r.value.onError?r.value.onError(e,{source:t,field:n}):N.error(e instanceof Error?e.message:String(e),e)}catch{}}function I(e,t){if(!(x||!t))try{N[e](t)}catch{}}let L=(0,a.computed)(()=>n.value.filter(e=>{if(e.show===!1)return!1;if(!e.showWhen)return!0;try{return e.showWhen(u)}catch(t){return F(t,`callback`,e.prop),!1}}));function R(){j=!0;let e=++M;(0,a.nextTick)(()=>{e===M&&(j=!1)})}function z(){return i.t(u)}function B(e){let t=e?i.t(e):{};return n.value.forEach(e=>{i.i(t,e.prop)||i.c(t,e.prop,S(e))}),t}function V(e){try{let t=y(e.rulesWhen?e.rulesWhen(u):e.rules);if(v.delete(e.prop),e.required&&!t.some(e=>e.required)){let n=e.label||e.prop;t.unshift(b(n,ee(`form.required`,{label:n})))}if(e.crossFieldValidator){let n=e.crossFieldValidator;t.push({async validator(){let e=await n(u);if(e)throw Error(e)},trigger:[`change`,`blur`]})}if(t.length===0){delete d[e.prop];return}d[e.prop]=t.map(t=>({...t,key:e.prop}))}catch(t){delete d[e.prop],v.set(e.prop,t),F(t,`callback`,e.prop)}}function ae(){n.value.forEach(e=>{(e.rulesWhen||e.crossFieldValidator)&&V(e)})}function oe(e){k.forEach(t=>{e.has(t)||(f.delete(t),delete d[t],v.delete(t),G(t),D.delete(t),r.value.preserveRemovedFields||i.n(u,t))})}function H(e=!1){try{C(n.value);let t=z(),r=new Set(n.value.map(e=>e.prop));oe(r),n.value.forEach(e=>{i.i(u,e.prop)||i.c(u,e.prop,S(e)),V(e),K(e)}),k=r,Y(W(t),!1),e&&(0,a.nextTick)(P)}catch(e){throw F(e,`initialize`),e}}function U(e){let t=z();R(),i.s(u,B(e)),Y(W(t),!1)}function W(e){return[...new Set([...Object.keys(e),...Object.keys(u),...n.value.map(e=>e.prop)])].filter(t=>!i.a(i.r(e,t),i.r(u,t)))}function G(e){E.get(e)?.abort(),E.delete(e),T.delete(e),O.delete(e),delete p.value[e],delete m.value[e],delete h.value[e]}function K(e){if(D.get(e.prop)!==e.asyncOptions){if(G(e.prop),!e.asyncOptions){D.delete(e.prop);return}D.set(e.prop,e.asyncOptions),q(e,`initialize`)}}function q(e,t){if(x)return;let n=O.get(e.prop),r={item:e,reason:n?.reason===`initialize`?n.reason:t};O.set(e.prop,r),(0,a.nextTick)(()=>{O.get(e.prop)===r&&(O.delete(e.prop),J(r.item,r.reason))})}function se(e,t,n){return x||n.signal.aborted||T.get(e)!==t||E.get(e)!==n}function ce(e){return!x&&!!e.asyncOptions&&D.get(e.prop)===e.asyncOptions}async function J(e,t){if(!ce(e))return;let{prop:n}=e,r=(T.get(n)??0)+1;T.set(n,r),E.get(n)?.abort();let a=new AbortController;E.set(n,a),m.value[n]=!0,delete h.value[n];try{let o=await e.asyncOptions(z(),{field:n,reason:t,signal:a.signal});if(se(n,r,a))return;if(!Array.isArray(o))throw TypeError(`[C_Form] ${n}.asyncOptions 必须返回数组`);p.value[n]=i.t([...o])}catch(e){if(se(n,r,a))return;h.value[n]=e,F(e,`async-options`,n)}finally{T.get(n)===r&&E.get(n)===a&&(m.value[n]=!1,E.delete(n))}}async function le(e){let t=n.value.filter(t=>t.asyncOptions&&(!e||t.prop===e));if(e&&t.length===0)throw Error(`[C_Form] 未找到异步选项字段: ${e}`);await Promise.all(t.map(e=>(O.delete(e.prop),J(e,`manual`))))}function ue(){let e=n.value.filter(e=>e.valueWhen),t=new Set;if(e.length===0)return[];for(let n=0;n<=e.length;n+=1){let n=!1;for(let r of e)try{let e=r.valueWhen?.(u);e!==void 0&&!i.a(i.r(u,r.prop),e)&&(i.c(u,r.prop,i.t(e)),t.add(r.prop),n=!0)}catch(e){F(e,`callback`,r.prop)}if(!n)return[...t]}return F(Error(`[C_Form] valueWhen 存在循环依赖,已停止继续计算`),`callback`),[...t]}function de(e){let t=e.map(e=>i.o(e).join(`.`));return n.value.filter(e=>!e.asyncOptions||!e.dependsOn?!1:(Array.isArray(e.dependsOn)?e.dependsOn:[e.dependsOn]).some(e=>{let n=i.o(e).join(`.`);return t.some(e=>e===n||e.startsWith(`${n}.`)||n.startsWith(`${e}.`))}))}function Y(e,t=!0){let n=[...new Set([...e,...ue()])];ae(),de(n).forEach(e=>{q(e,`dependency`)}),t&&r.value.validateOnChange&&(0,a.nextTick)(()=>{x||Q(n).catch(()=>void 0)})}function X(e){Y([e])}function fe(e,t){t?f.set(e,t):f.delete(e)}async function Z(){if(l?.value===!1)throw Error(`[C_Form] 布局尚未加载完成`);if(!o.value)throw Error(`[C_Form] 表单引用不存在`);try{let e=L.value.find(e=>v.has(e.prop));if(e)throw v.get(e.prop);if(await o.value.validate(),x)throw Error(`[C_Form] 表单已卸载`);s(`validate-success`,z())}catch(e){throw x||s(`validate-error`,e),e}}async function Q(e){if(l?.value===!1)throw Error(`[C_Form] 布局尚未加载完成`);if(!o.value)throw Error(`[C_Form] 表单引用不存在`);let t=[...new Set(Array.isArray(e)?e:[e])],n=t.find(e=>v.has(e));if(n)throw v.get(n);let r=[],i=t.flatMap(e=>{let t=f.get(e);return t?[t.validate()]:(r.push(e),[])});r.length>0&&i.push(o.value.validate(void 0,e=>r.includes(String(e.key??``))));let a=(await Promise.allSettled(i)).filter(e=>e.status===`rejected`).map(e=>e.reason);if(a.length>0)throw a}function pe(e){if(!e){o.value?.restoreValidation();return}(Array.isArray(e)?e:[e]).forEach(e=>f.get(e)?.restoreValidation())}async function $(e){let t=L.value.filter(e).map(e=>e.prop);if(t.length===0)return!0;try{return await Q(t),!0}catch{return!1}}function me(e){let t=typeof e==`string`?e:r.value.steps?.steps?.[e]?.key;return t?$(e=>e.layout?.step===t):Promise.resolve(!0)}function he(e){return $(t=>t.layout?.tab===e)}function ge(){return $(e=>!!e.layout?.dynamic)}function _e(e){return $(t=>t.layout?.group===e)}function ve(e){Object.entries(i.t(e)).forEach(([e,t])=>{i.c(u,e,t)}),Y(Object.keys(e))}function ye(){let e=z();i.s(u,ie()),pe(),Y(W(e),!1),I(`info`,r.value.resetSuccessText)}async function be(e,t,n=!1){i.c(u,e,i.t(t)),X(e),n&&await Q(e)}function xe(e){return i.t(i.r(u,e))}async function Se(e,t=!1){ve(e),t&&await Q(Object.keys(e))}function Ce(){return x||l?.value===!1||_.value||r.value.disabled||r.value.readonly}function we(e,t,n){return!x&&!e.signal.aborted&&l?.value!==!1&&!r.value.disabled&&!r.value.readonly&&n!==null&&o.value===n&&i.a(u,t)}async function Te(){if(Ce())return!1;let e=z(),t=o.value,n=new AbortController;w=n,_.value=!0;try{if(await Z(),!we(n,e,t))return!1;let i={model:e,form:t};try{await r.value.onSubmit?.(i,{signal:n.signal})}catch(e){return n.signal.aborted||F(e,`submit`),!1}return n.signal.aborted?!1:(s(`submit`,i),I(`success`,r.value.submitSuccessText),!0)}catch{return!1}finally{w===n&&(w=void 0),_.value=!1}}function Ee(){H(!0);let e=c?.value??(r.value.mode===`edit`?r.value.initialValues:void 0);e&&U(e),(0,a.nextTick)(P)}return(0,a.watch)(n,()=>{let e=!A;e&&R(),H(e),A=!0},{deep:!0,immediate:!0}),c&&(0,a.watch)(c,e=>{e!==void 0&&!i.a(u,e)&&U(e)},{deep:!0,immediate:!0}),(0,a.watch)(()=>[r.value.mode,r.value.initialValues],([e,t])=>{c?.value!==void 0||e!==`edit`||!t||(U(t),(0,a.nextTick)(P))},{deep:!0}),(0,a.watch)(u,e=>{j||s(`update:modelValue`,i.t(e))},{deep:!0,flush:`post`}),(0,a.onScopeDispose)(()=>{x=!0,w?.abort(),E.forEach(e=>e.abort()),E.clear(),O.clear(),f.clear()}),{formModel:u,formRules:d,visibleOptions:L,initialize:Ee,handleFieldChange:X,setFormItemRef:fe,validate:Z,validateField:Q,validateStep:me,validateTab:he,validateDynamicFields:ge,validateCustomGroup:_e,clearValidation:pe,getModel:z,setFields:ve,resetFields:ye,setFieldValue:be,getFieldValue:xe,setFieldsValue:Se,submit:Te,handleSubmit:Te,handleReset:ye,isSubmitting:_,isDirty:te,getChangedFields:ne,isFieldDirty:re,markAsClean:P,asyncOptionsCache:p,asyncLoadingMap:m,asyncErrorMap:h,reloadOptions:le}}const T=Symbol(`c-form-renderer-registry`);function E(e={}){let t=(0,a.shallowReactive)(new Map),n={get:e=>t.get(e)?.renderer,register:(e,n)=>{if(!e.trim())throw TypeError(`[C_Form] renderer type 不能为空`);if(typeof n!=`function`)throw TypeError(`[C_Form] renderer ${e} 必须是函数`);let r={renderer:n};return t.set(e,r),()=>t.get(e)===r&&t.delete(e)},unregister:(e,n)=>{let r=t.get(e);return!r||n&&r.renderer!==n?!1:t.delete(e)}};return Object.entries(e).forEach(([e,t])=>{n.register(e,t)}),n}function D(e,t,n){return e===void 0?t:typeof e==`function`?e(n):e}function O(e){return{input:t=>(0,a.h)(e.NInput,{...t}),textarea:t=>(0,a.h)(e.NInput,{...t,type:`textarea`}),inputNumber:t=>(0,a.h)(e.NInputNumber,{...t}),switch:t=>(0,a.h)(e.NSwitch,{...t}),slider:t=>(0,a.h)(e.NSlider,{...t}),rate:t=>(0,a.h)(e.NRate,{...t}),datePicker:t=>(0,a.h)(e.NDatePicker,{...t}),daterange:t=>(0,a.h)(e.NDatePicker,{...t,type:`daterange`}),timePicker:t=>(0,a.h)(e.NTimePicker,{...t}),cascader:t=>(0,a.h)(e.NCascader,{...t}),colorPicker:t=>(0,a.h)(e.NColorPicker,{...t}),select:(t,n)=>(0,a.h)(e.NSelect,{...t,options:n.children?.map(e=>({...e}))||[]}),checkbox:(t,n)=>(0,a.h)(e.NCheckboxGroup,{...t},{default:()=>(0,a.h)(e.NSpace,{},{default:()=>n.children?.map(t=>(0,a.h)(e.NCheckbox,{value:t.value,label:t.label,disabled:t.disabled,key:String(t.value)}))||[]})}),radio:(t,n)=>(0,a.h)(e.NRadioGroup,{...t},{default:()=>(0,a.h)(e.NSpace,{},{default:()=>n.children?.map(t=>(0,a.h)(e.NRadio,{value:t.value,disabled:t.disabled,key:String(t.value)},{default:()=>t.label}))||[]})}),upload:(t,n,r,i)=>{let o={...t},{value:s}=o,c=o[`onUpdate:value`];return delete o.value,delete o[`onUpdate:value`],(0,a.h)(e.NUpload,{...o,fileList:Array.isArray(s)?s:[],"onUpdate:fileList":e=>c?.(e)},{trigger:()=>i.slots?.uploadClick?.()||(0,a.h)(e.NButton,{type:`primary`},{default:()=>`选择文件`}),tip:()=>i.slots?.uploadTip?.()||null})},editor:(t,n)=>{let r={...t},{value:i}=r,o=r[`onUpdate:value`];return delete r.value,delete r[`onUpdate:value`],(0,a.h)(e.C_Editor,{...r,editorId:`editor-${n.prop}`,modelValue:typeof i==`string`?i:``,"onUpdate:modelValue":e=>o?.(e)})}}}const k=E();function A(e,t){return k.register(e,t)}function j(e,t){return k.unregister(e,t)}const M=new Set([`select`,`checkbox`,`radio`,`cascader`]),N=new Set([`input`,`textarea`,`inputNumber`,`rate`,`editor`]);function ee(e){let{formModel:t,visibleOptions:n,config:r,handleFieldChange:o,componentMap:s,instanceSlots:c,asyncOptionsCache:l,asyncLoadingMap:u,renderers:d,setFormItemRef:f,onError:p}=e,m=s,h=O(m),g=(0,a.getCurrentInstance)()?(0,a.inject)(T,void 0):void 0,_=e.registry??g??k,v=e=>d?.value?.[e]??_.get(e)??h[e],y=e=>{let n=D(e.disabled,r.value.disabled,t),a=D(e.readonly,r.value.readonly,t),s=N.has(e.type),c={value:i.r(t,e.prop),"onUpdate:value":n=>{D(e.disabled,r.value.disabled,t)||D(e.readonly,r.value.readonly,t)||(i.c(t,e.prop,n),o(e.prop))},disabled:n||a&&!s,readonly:a||e.type===`rate`&&n};return e.type===`textarea`&&(c.type=`textarea`),e.placeholder&&(c.placeholder=e.placeholder),c};function b(e){let t=e.children??[];return Object.prototype.hasOwnProperty.call(l.value,e.prop)?l.value[e.prop]??[]:t}function x(e){return M.has(e.type)?{...e,children:b(e)}:e}function S(e,t){return e.type===`select`&&u.value[e.prop]&&(t.loading=!0),t}let C=e=>{try{let t=x(e),n=v(t.type);return n?n(S(t,(0,a.mergeProps)(t.attrs??{},y(t))),t,r.value,{slots:c,components:m}):(p?.(TypeError(`[C_Form] 未支持的组件类型: ${t.type}`),t.prop),null)}catch(t){return p?.(t,e.prop),null}};function w(e){if(e.label)return e.help?(0,a.h)(`span`,{style:`display:inline-flex;align-items:center;gap:4px`},[e.label,(0,a.h)(m.NTooltip,{trigger:`hover`},{trigger:()=>(0,a.h)(`span`,{style:`cursor:help;opacity:0.5;font-size:14px`,textContent:`ⓘ`}),default:()=>e.help})]):e.label}return{renderFormItem:C,formItems:(0,a.computed)(()=>n.value.map(e=>{let t=!!(e.required||e.rules?.some(e=>e.required)),n=w(e);return(0,a.h)(m.NFormItem,{label:typeof n==`string`?n:void 0,path:e.prop,key:e.prop,required:t,ref:t=>f?.(e.prop,t)},{...typeof n!=`string`&&n?{label:()=>n}:{},default:()=>C(e)})})),getBaseProps:y}}const te={class:`c-form-default`},ne=(0,a.defineComponent)({__name:`index`,props:{formItems:{},layoutConfig:{},options:{}},setup(e){return(t,n)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,te,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(e.formItems,(e,t)=>((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(e),{key:e.key??t}))),128))]))}});var re=r.t(ne,[[`__scopeId`,`data-v-4313de0c`]]);const P=(0,a.defineComponent)({__name:`index`,props:{formItems:{},layoutConfig:{default:()=>({})},options:{default:()=>[]}},setup(e){let t=e,n=(0,a.computed)(()=>t.layoutConfig?.inline?.itemWidth??280),r=(0,a.computed)(()=>t.layoutConfig?.inline?.gap??16),i=(0,a.computed)(()=>t.layoutConfig?.inline?.rowGap??16),o=(0,a.computed)(()=>t.layoutConfig?.inline?.align??`center`),s=(0,a.computed)(()=>{switch(o.value){case`start`:return`flex-start`;case`end`:return`flex-end`;default:return o.value}}),c=(0,a.computed)(()=>{switch(o.value){case`start`:return`flex-start`;case`end`:return`flex-end`;case`center`:return`center`;default:return`flex-start`}}),l=(0,a.computed)(()=>({display:`flex`,flexWrap:t.layoutConfig?.inline?.wrap??`wrap`,alignItems:s.value,justifyContent:c.value,gap:`${i.value}px ${r.value}px`,width:`100%`})),u=(e,t)=>{if(e.key!=null)return String(e.key);let n=e.props;return n?.path?n.path:`form-item-${t}`},d=e=>{let r=t.options?.[e]?.layout,i={width:`${n.value}px`,flexShrink:0,display:`flex`,flexDirection:`column`};return r?.width!==void 0&&(i.width=typeof r.width==`number`?`${r.width}px`:r.width),r?.style&&Object.assign(i,r.style),i};return(t,n)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{class:`c-form-inline`,style:(0,a.normalizeStyle)(l.value)},[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(e.formItems,(e,t)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:u(e,t),class:`c-form-inline-item`,style:(0,a.normalizeStyle)(d(t))},[((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(e)))],4))),128))],4))}});var ie=r.t(P,[[`__scopeId`,`data-v-711f6c00`]]);const F={class:`c-grid-layout`},I={class:`config-header`},L={class:`config-controls`},R={class:`config-label`},z={class:`item-wrapper`},B=(0,a.defineComponent)({__name:`index`,props:{formItems:{},layoutConfig:{default:()=>({})},options:{default:()=>[]}},setup(e,{expose:t}){let r=e,i=(0,a.reactive)({cols:24,gutter:16,responsive:!0}),s=(0,a.computed)(()=>r.layoutConfig?.grid||{}),c=(0,a.computed)(()=>s.value.showConfigPanel),l=(0,a.computed)(()=>s.value.showStats),u=(0,a.computed)(()=>({cols:c.value?i.cols:s.value.cols??24,gutter:c.value?i.gutter:s.value.gutter??16,responsive:c.value?i.responsive:s.value.responsive??!0})),d=(0,a.computed)(()=>({cols:u.value.cols,xGap:s.value.xGap??u.value.gutter,yGap:s.value.yGap??s.value.yGutter??u.value.gutter,responsive:u.value.responsive?`screen`:`self`})),f=(0,a.computed)(()=>[{key:`cols`,label:`列数`,component:o.NInputNumber,value:i.cols,update:e=>{typeof e==`number`&&(i.cols=e)},props:{min:1,max:48,size:`small`}},{key:`gutter`,label:`间距`,component:o.NInputNumber,value:i.gutter,update:e=>{typeof e==`number`&&(i.gutter=e)},props:{min:0,max:48,size:`small`}},{key:`responsive`,label:`响应式`,component:o.NSwitch,value:i.responsive,update:e=>{typeof e==`boolean`&&(i.responsive=e)},props:{size:`small`}}]),p=(0,a.computed)(()=>`列数: ${u.value.cols} | 间距: ${u.value.gutter}px | 项目: ${r.formItems.length}个`),m=(e,t)=>String(e.key)||e.props?.path||`grid-item-${t}`,h=(e,t)=>{let n=r.options?.[e]?.layout;return n?.[t]??n?.grid?.[t]},g=()=>{let{cols:e}=u.value;return e<=12?e:e<=24?12:8},_=e=>{let t=h(e,`span`),n=h(e,`offset`),r=h(e,`suffix`);return{span:typeof t==`number`&&t>0&&t<=u.value.cols?t:g(),offset:typeof n==`number`&&n>=0&&n<u.value.cols?n:0,suffix:!!r}};return(0,a.watch)(s,e=>{e.cols!==void 0&&(i.cols=e.cols),e.gutter!==void 0&&(i.gutter=e.gutter),e.responsive!==void 0&&(i.responsive=e.responsive)},{immediate:!0}),t({updateGridConfig:e=>Object.assign(i,e),getCurrentConfig:()=>({...u.value}),getGridInfo:()=>({...u.value,itemCount:r.formItems.length})}),(t,r)=>{let i=o.NCard,s=o.NGridItem,u=o.NGrid,h=o.NAlert;return(0,a.openBlock)(),(0,a.createElementBlock)(`div`,F,[(0,a.createCommentVNode)(` 配置面板 `),c.value?((0,a.openBlock)(),(0,a.createBlock)(i,{key:0,size:`small`,bordered:!1,class:`config-panel`},{header:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`div`,I,[(0,a.createVNode)(n.t,{name:`mdi:view-grid`,size:18}),r[0]||=(0,a.createElementVNode)(`span`,null,`网格配置`,-1)])]),default:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`div`,L,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(f.value,e=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:e.key,class:`config-item`},[(0,a.createElementVNode)(`span`,R,(0,a.toDisplayString)(e.label)+`:`,1),((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(e.component),(0,a.mergeProps)({value:e.value},{ref_for:!0},e.props,{"onUpdate:value":e.update}),null,16,[`value`,`onUpdate:value`]))]))),128))])]),_:1})):(0,a.createCommentVNode)(`v-if`,!0),(0,a.createCommentVNode)(` 网格容器 `),(0,a.createVNode)(u,(0,a.mergeProps)(d.value,{class:`grid-container`}),{default:(0,a.withCtx)(()=>[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(e.formItems,(e,t)=>((0,a.openBlock)(),(0,a.createBlock)(s,(0,a.mergeProps)({key:m(e,t)},{ref_for:!0},_(t),{class:`grid-item`}),{default:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`div`,z,[((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(e)))])]),_:2},1040))),128))]),_:1},16),(0,a.createCommentVNode)(` 统计信息 `),l.value?((0,a.openBlock)(),(0,a.createBlock)(h,{key:1,type:`info`,"show-icon":!1,size:`small`,class:`grid-stats`},{header:(0,a.withCtx)(()=>[(0,a.createVNode)(n.t,{name:`mdi:information-outline`,size:16}),r[1]||=(0,a.createTextVNode)(` 网格信息 `,-1)]),default:(0,a.withCtx)(()=>[(0,a.createTextVNode)(` `+(0,a.toDisplayString)(p.value),1)]),_:1})):(0,a.createCommentVNode)(`v-if`,!0)])}}});var V=r.t(B,[[`__scopeId`,`data-v-1d221c83`]]);const ae=[`default`,`inline`,`grid`],oe={NFormItem:o.NFormItem,NInput:o.NInput,NInputNumber:o.NInputNumber,NSwitch:o.NSwitch,NSelect:o.NSelect,NCheckboxGroup:o.NCheckboxGroup,NCheckbox:o.NCheckbox,NRadioGroup:o.NRadioGroup,NRadio:o.NRadio,NButton:o.NButton,NSpace:o.NSpace,NTooltip:o.NTooltip,NSlider:(0,a.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./slider.cjs`))),NRate:(0,a.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./rate.cjs`))),NDatePicker:(0,a.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./date-picker.cjs`))),NTimePicker:(0,a.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./time-picker.cjs`))),NCascader:(0,a.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./cascader.cjs`))),NColorPicker:(0,a.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./color-picker.cjs`))),NUpload:(0,a.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./upload.cjs`))),C_Editor:(0,a.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./C_Editor.cjs`)).then(e=>e.C_Editor))},H={default:re,inline:ie,grid:V,card:(0,a.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Card.cjs`))),tabs:(0,a.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Tabs.cjs`))),steps:(0,a.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Steps.cjs`))),dynamic:(0,a.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Dynamic.cjs`))),custom:(0,a.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Custom.cjs`)))},U=(0,a.defineComponent)({name:`C_Form`,__name:`index`,props:{options:{},modelValue:{},config:{default:()=>({})},renderers:{}},emits:[`submit`,`update:modelValue`,`validate-success`,`validate-error`],setup(t,{expose:n,emit:r}){let i=t,s=r,c=l(),d=(0,a.computed)(()=>p(u(i.config,c))),{t:f}=e.t(()=>d.value.locale),h=(0,a.ref)(null),g=(0,a.ref)(null),_=(0,a.computed)(()=>ae.includes(d.value.layout)||g.value===d.value.layout),{formModel:v,formRules:y,visibleOptions:b,initialize:x,handleFieldChange:S,validate:C,validateField:T,validateStep:E,validateTab:D,validateDynamicFields:O,validateCustomGroup:k,clearValidation:A,getModel:j,setFields:M,resetFields:N,setFieldValue:te,getFieldValue:ne,setFieldsValue:re,handleSubmit:P,handleReset:ie,isDirty:F,getChangedFields:I,isFieldDirty:L,markAsClean:R,asyncOptionsCache:z,asyncLoadingMap:B,asyncErrorMap:V,reloadOptions:U,setFormItemRef:W,isSubmitting:G,submit:K}=w((0,a.computed)(()=>i.options),d,h,s,(0,a.computed)(()=>i.modelValue),_),q=(0,a.computed)(()=>v.value),se=()=>j(),ce=(0,a.computed)(()=>({form:h.value,model:q.value,validate:C,validateField:T,reset:N,setFields:M,getModel:se,clearValidation:A,submit:K,reloadOptions:U,submitting:G.value})),J=(0,a.getCurrentInstance)(),le=()=>Object.keys(J?.slots??{}).filter(e=>![`action`,`action-extra`,`step-actions`].includes(e)),{formItems:ue}=ee({formModel:v,visibleOptions:b,config:d,handleFieldChange:S,componentMap:oe,instanceSlots:J?.slots,asyncOptionsCache:z,asyncLoadingMap:B,renderers:(0,a.computed)(()=>i.renderers),setFormItemRef:W,onError:(e,t)=>d.value.onError?.(e,{source:`render`,field:t})}),de=(0,a.computed)(()=>H[d.value.layout]||H.default),Y=(0,a.computed)(()=>({type:d.value.layout,grid:d.value.grid,inline:d.value.inline,card:d.value.card,tabs:d.value.tabs,steps:d.value.steps,dynamic:d.value.dynamic,custom:d.value.custom})),X=(0,a.computed)(()=>m(d.value)),fe=(0,a.computed)(()=>{let{layout:e}=d.value;return{...e===`steps`?{beforeStepChange:_e,validateStep:ve,submitting:G.value,disabled:d.value.disabled||d.value.readonly}:e===`tabs`?{beforeTabChange:me,validateTab:he}:{},onVnodeMounted:()=>{g.value=e}}}),Z=(e,...t)=>{let n=d.value[e];if(typeof n==`function`)try{let e=n(...t);e instanceof Promise&&e.catch(e=>d.value.onError?.(e,{source:`callback`}))}catch(e){d.value.onError?.(e,{source:`callback`})}},Q=e=>{d.value.onFieldsChange?.(e)},pe=e=>{s(`validate-success`,e)},$=e=>{s(`validate-error`,e)},me=async(e,t)=>{try{return await d.value.onTabBeforeChange?.(e,t)!==!1}catch(e){return d.value.onError?.(e,{source:`callback`}),!1}},he=async e=>{let t=await D(e);return t&&d.value.onTabValidate?.(e),t},ge=(e,t)=>{d.value.onStepChange?.(e,t)},_e=async(e,t)=>{try{return await d.value.onStepBeforeChange?.(e,t)!==!1}catch(e){return d.value.onError?.(e,{source:`callback`}),!1}},ve=async(e,t)=>{try{return await E(t)?(d.value.onStepValidate?.(e),!0):!1}catch{return!1}};return n({validate:C,validateField:T,validateStep:E,validateTab:D,validateDynamicFields:O,validateCustomGroup:k,clearValidation:A,getModel:j,setFields:M,resetFields:N,setFieldValue:te,getFieldValue:ne,setFieldsValue:re,formRef:h,formModel:v,initialize:x,layoutType:(0,a.computed)(()=>d.value.layout),shouldShowDefaultActions:X,isDirty:F,getChangedFields:I,isFieldDirty:L,markAsClean:R,asyncLoadingMap:B,asyncErrorMap:V,reloadOptions:U,isSubmitting:G,submit:K}),(e,t)=>((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(o.NForm),(0,a.mergeProps)({ref_key:`formRef`,ref:h,model:(0,a.unref)(v),rules:(0,a.unref)(y),"validate-on-rule-change":!1,"label-placement":d.value.labelPlacement,"label-width":d.value.labelWidth,size:d.value.size,disabled:d.value.disabled,readonly:d.value.readonly},e.$attrs,{onSubmit:(0,a.withModifiers)((0,a.unref)(K),[`prevent`])}),{default:(0,a.withCtx)(()=>[(0,a.createCommentVNode)(` 布局组件渲染 `),((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(de.value),(0,a.mergeProps)({key:d.value.layout,"form-items":(0,a.unref)(ue),"layout-config":Y.value,options:(0,a.unref)(b),"form-data":(0,a.unref)(v)},fe.value,{onTabChange:t[0]||=(e,t)=>Z(`onTabChange`,e,t),onStepChange:ge,onFieldAdd:t[1]||=e=>Z(`onFieldAdd`,e),onFieldRemove:t[2]||=e=>Z(`onFieldRemove`,e),onFieldToggle:t[3]||=(e,t)=>Z(`onFieldToggle`,e,t),onFieldsClear:t[4]||=e=>Z(`onFieldsClear`),onRenderModeChange:t[5]||=e=>Z(`onRenderModeChange`,e),onGroupToggle:t[6]||=(e,t)=>Z(`onGroupToggle`,e,t),onGroupReset:t[7]||=e=>Z(`onGroupReset`,e),onValidateSuccess:pe,onValidateError:$,onFieldsChange:Q}),(0,a.createSlots)({"step-actions":(0,a.withCtx)(t=>[(0,a.renderSlot)(e.$slots,`step-actions`,(0,a.mergeProps)(t,{submit:(0,a.unref)(K),submitting:(0,a.unref)(G)}),()=>[t.isLastStep&&d.value.showActions?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(o.NButton),{key:0,type:`primary`,loading:(0,a.unref)(G)||!_.value,disabled:!_.value||(0,a.unref)(G)||d.value.disabled||d.value.readonly,onClick:(0,a.unref)(K)},{default:(0,a.withCtx)(()=>[(0,a.createTextVNode)((0,a.toDisplayString)(d.value.submitText||(0,a.unref)(f)(`common.submit`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])):(0,a.createCommentVNode)(`v-if`,!0)],!0)]),_:2},[(0,a.renderList)(le(),t=>({name:t,fn:(0,a.withCtx)(n=>[(0,a.renderSlot)(e.$slots,t,(0,a.normalizeProps)((0,a.guardReactiveProps)(n)),void 0,!0)])}))]),1040,[`form-items`,`layout-config`,`options`,`form-data`])),(0,a.createCommentVNode)(` 表单操作按钮区域(只在特定布局中显示) `),X.value?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(o.NFormItem),{key:0,style:{"margin-top":`20px`}},{default:(0,a.withCtx)(()=>[(0,a.renderSlot)(e.$slots,`action`,(0,a.normalizeProps)((0,a.guardReactiveProps)(ce.value)),()=>[(0,a.createVNode)((0,a.unref)(o.NSpace),{justify:`end`,style:{width:`100%`}},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(o.NButton),{disabled:!_.value||(0,a.unref)(G)||d.value.disabled||d.value.readonly,onClick:(0,a.unref)(ie)},{default:(0,a.withCtx)(()=>[(0,a.createTextVNode)((0,a.toDisplayString)(d.value.resetText||(0,a.unref)(f)(`common.reset`)),1)]),_:1},8,[`disabled`,`onClick`]),(0,a.renderSlot)(e.$slots,`action-extra`,(0,a.normalizeProps)((0,a.guardReactiveProps)(ce.value)),void 0,!0),(0,a.createVNode)((0,a.unref)(o.NButton),{type:`primary`,loading:(0,a.unref)(G)||!_.value,disabled:!_.value||(0,a.unref)(G)||d.value.disabled||d.value.readonly,onClick:(0,a.unref)(P)},{default:(0,a.withCtx)(()=>[(0,a.createTextVNode)((0,a.toDisplayString)(d.value.submitText||(0,a.unref)(f)(`common.submit`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),_:3})],!0)]),_:3})):(0,a.createCommentVNode)(`v-if`,!0)]),_:3},16,[`model`,`rules`,`label-placement`,`label-width`,`size`,`disabled`,`readonly`,`onSubmit`]))}});var W=r.t(U,[[`__scopeId`,`data-v-2843988e`]]);function G(e){return e}function K(e){return e}function q(e){let t=(0,a.shallowRef)(i.t(e.initialValues)),n=(0,a.shallowRef)(null);return{model:t,formRef:n,bindings:(0,a.computed)(()=>({modelValue:t.value,options:(0,a.toValue)(e.options),config:(0,a.toValue)(e.config),"onUpdate:modelValue":e=>{t.value=i.t(e)}})),validate:()=>n.value?.validate()??Promise.resolve(),submit:()=>n.value?.submit()??Promise.resolve(!1),reset:()=>{n.value?(n.value.resetFields(),t.value=i.t(n.value.getModel())):t.value=i.t(e.initialValues)},getValues:()=>i.t(n.value?.getModel()??t.value),setValues:async(e,r=!1)=>{n.value?(await n.value.setFieldsValue(e,r),t.value=i.t(n.value.getModel())):t.value={...t.value,...i.t(e)}}}}Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return ee}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return m}});
package/dist/helpers.js CHANGED
@@ -1 +1 @@
1
- import{t as e}from"./data.js";import{computed as t,shallowRef as n,toValue as r}from"vue";function i(e){return e}function a(e){return e}function o(i){let a=n(e(i.initialValues)),o=n(null);return{model:a,formRef:o,bindings:t(()=>({modelValue:a.value,options:r(i.options),config:r(i.config),"onUpdate:modelValue":t=>{a.value=e(t)}})),validate:()=>o.value?.validate()??Promise.resolve(),submit:()=>o.value?.submit()??Promise.resolve(!1),reset:()=>o.value?.resetFields()}}export{i as n,o as r,a as t};
1
+ import{t as e}from"./useComponentLocale.js";import{t}from"./feedback.js";import{t as n}from"./C_Icon2.js";import{t as r}from"./export-helper.js";import{a as i,c as a,i as o,n as s,o as c,r as l,s as u,t as d}from"./data.js";import{Fragment as f,computed as p,createBlock as m,createCommentVNode as h,createElementBlock as g,createElementVNode as _,createSlots as v,createTextVNode as y,createVNode as b,defineAsyncComponent as x,defineComponent as S,getCurrentInstance as C,guardReactiveProps as w,h as T,inject as E,mergeProps as D,nextTick as O,normalizeProps as k,normalizeStyle as A,onScopeDispose as ee,openBlock as j,reactive as te,ref as M,renderList as N,renderSlot as P,resolveComponent as ne,resolveDynamicComponent as F,shallowReactive as re,shallowRef as ie,toDisplayString as ae,toValue as I,unref as L,watch as R,withCtx as z,withModifiers as oe}from"vue";import{NAlert as B,NButton as V,NCard as se,NCheckbox as ce,NCheckboxGroup as H,NForm as le,NFormItem as ue,NGrid as de,NGridItem as fe,NInput as pe,NInputNumber as U,NRadio as me,NRadioGroup as he,NSelect as ge,NSpace as _e,NSwitch as W,NTooltip as ve}from"naive-ui";import{BasicRules as G,NAIVE_COMBOS as K,PRESET_RULES as ye,SPEC_RULES as be,toNaiveRule as q}from"@robot-admin/form-validate";const J=Symbol(`c-form-global-config`);function xe(){return C()?E(J,{}):{}}function Se(e,t){let n=e??{},r=(e,t)=>e||t?{...e,...t}:void 0;return{...t,...n,grid:r(t.grid,n.grid),inline:r(t.inline,n.inline),card:r(t.card,n.card),tabs:r(t.tabs,n.tabs),steps:r(t.steps,n.steps),dynamic:r(t.dynamic,n.dynamic),custom:r(t.custom,n.custom)}}const Y={layout:`default`,labelPlacement:`left`,labelWidth:`auto`,size:`medium`,disabled:!1,readonly:!1,showActions:!0,validateOnChange:!1,preserveRemovedFields:!1,submitText:``,resetText:``,submitSuccessText:``,resetSuccessText:``,mode:`create`},Ce=[`steps`,`custom`];function X(e){return{...Y,...e}}function we(e){return!(e.showActions===!1||Ce.includes(e.layout))}function Z(e,t=new Set){if(!(typeof e!=`object`||!e||t.has(e))){if(t.add(e),e instanceof Map){e.forEach((e,n)=>{Z(n,t),Z(e,t)});return}if(e instanceof Set){e.forEach(e=>Z(e,t));return}Object.values(e).forEach(e=>Z(e,t))}}function Te(e,t){let n=M({}),r=p(()=>a().length>0);function a(){let r=n.value,a=t?I(t):void 0,o=new Set(a??[...Object.keys(r),...Object.keys(e)]),s=[];for(let t of o){let n=l(e,t);Z(n),i(l(r,t),n)||s.push(t)}return s}function o(t){return!i(l(n.value,t),l(e,t))}function s(){n.value=d(e)}function c(){return d(n.value)}return{isDirty:r,getChangedFields:a,isFieldDirty:o,markAsClean:s,getCleanModel:c}}const Ee=ye,De=K;function Q(e=[]){return e.map(e=>{let t=`validate`in e&&typeof e.validate==`function`?q(e):e;return{...t,...Array.isArray(t.trigger)?{trigger:[...t.trigger]}:{}}})}function Oe(e,t){return Q([{...G.required(e,[`input`,`change`,`blur`]),message:t}])[0]}const ke={input:``,textarea:``,editor:``,select:null,datePicker:null,daterange:null,timePicker:null,cascader:null,colorPicker:null,checkbox:[],upload:[],radio:``,inputNumber:null,slider:null,rate:null,switch:!1};function Ae(e){return d((e.value===void 0?ke[e.type]:e.value)??null)}function je(e){let t=new Set;e.forEach((e,n)=>{if(!e.prop?.trim())throw TypeError(`[C_Form] options[${n}].prop 不能为空`);if(t.has(e.prop))throw TypeError(`[C_Form] 字段 prop 重复: ${e.prop}`);t.add(e.prop)})}function Me(n,r,f,m,h,g){let _=te(d(h?.value??(r.value.mode===`edit`?r.value.initialValues:void 0)??{})),v=te({}),y=new Map,b=M({}),x=M({}),S=M({}),C=M(!1),w=new Map,T=!1,E,D=new Map,k=new Map,A=new Map,j=new Map,N=new Set,P=!1,ne=!1,F=0,re=t(()=>r.value.feedback),{t:ie}=e(()=>r.value.locale),{isDirty:ae,getChangedFields:I,isFieldDirty:L,markAsClean:z,getCleanModel:oe}=Te(_,()=>n.value.map(e=>e.prop));function B(e,t,n){if(!T)try{r.value.onError?r.value.onError(e,{source:t,field:n}):re.error(e instanceof Error?e.message:String(e),e)}catch{}}function V(e,t){if(!(T||!t))try{re[e](t)}catch{}}let se=p(()=>n.value.filter(e=>{if(e.show===!1)return!1;if(!e.showWhen)return!0;try{return e.showWhen(_)}catch(t){return B(t,`callback`,e.prop),!1}}));function ce(){ne=!0;let e=++F;O(()=>{e===F&&(ne=!1)})}function H(){return d(_)}function le(e){let t=e?d(e):{};return n.value.forEach(e=>{o(t,e.prop)||a(t,e.prop,Ae(e))}),t}function ue(e){try{let t=Q(e.rulesWhen?e.rulesWhen(_):e.rules);if(w.delete(e.prop),e.required&&!t.some(e=>e.required)){let n=e.label||e.prop;t.unshift(Oe(n,ie(`form.required`,{label:n})))}if(e.crossFieldValidator){let n=e.crossFieldValidator;t.push({async validator(){let e=await n(_);if(e)throw Error(e)},trigger:[`change`,`blur`]})}if(t.length===0){delete v[e.prop];return}v[e.prop]=t.map(t=>({...t,key:e.prop}))}catch(t){delete v[e.prop],w.set(e.prop,t),B(t,`callback`,e.prop)}}function de(){n.value.forEach(e=>{(e.rulesWhen||e.crossFieldValidator)&&ue(e)})}function fe(e){N.forEach(t=>{e.has(t)||(y.delete(t),delete v[t],w.delete(t),he(t),A.delete(t),r.value.preserveRemovedFields||s(_,t))})}function pe(e=!1){try{je(n.value);let t=H(),r=new Set(n.value.map(e=>e.prop));fe(r),n.value.forEach(e=>{o(_,e.prop)||a(_,e.prop,Ae(e)),ue(e),ge(e)}),N=r,q(me(t),!1),e&&O(z)}catch(e){throw B(e,`initialize`),e}}function U(e){let t=H();ce(),u(_,le(e)),q(me(t),!1)}function me(e){return[...new Set([...Object.keys(e),...Object.keys(_),...n.value.map(e=>e.prop)])].filter(t=>!i(l(e,t),l(_,t)))}function he(e){k.get(e)?.abort(),k.delete(e),D.delete(e),j.delete(e),delete b.value[e],delete x.value[e],delete S.value[e]}function ge(e){if(A.get(e.prop)!==e.asyncOptions){if(he(e.prop),!e.asyncOptions){A.delete(e.prop);return}A.set(e.prop,e.asyncOptions),_e(e,`initialize`)}}function _e(e,t){if(T)return;let n=j.get(e.prop),r={item:e,reason:n?.reason===`initialize`?n.reason:t};j.set(e.prop,r),O(()=>{j.get(e.prop)===r&&(j.delete(e.prop),G(r.item,r.reason))})}function W(e,t,n){return T||n.signal.aborted||D.get(e)!==t||k.get(e)!==n}function ve(e){return!T&&!!e.asyncOptions&&A.get(e.prop)===e.asyncOptions}async function G(e,t){if(!ve(e))return;let{prop:n}=e,r=(D.get(n)??0)+1;D.set(n,r),k.get(n)?.abort();let i=new AbortController;k.set(n,i),x.value[n]=!0,delete S.value[n];try{let a=await e.asyncOptions(H(),{field:n,reason:t,signal:i.signal});if(W(n,r,i))return;if(!Array.isArray(a))throw TypeError(`[C_Form] ${n}.asyncOptions 必须返回数组`);b.value[n]=d([...a])}catch(e){if(W(n,r,i))return;S.value[n]=e,B(e,`async-options`,n)}finally{D.get(n)===r&&k.get(n)===i&&(x.value[n]=!1,k.delete(n))}}async function K(e){let t=n.value.filter(t=>t.asyncOptions&&(!e||t.prop===e));if(e&&t.length===0)throw Error(`[C_Form] 未找到异步选项字段: ${e}`);await Promise.all(t.map(e=>(j.delete(e.prop),G(e,`manual`))))}function ye(){let e=n.value.filter(e=>e.valueWhen),t=new Set;if(e.length===0)return[];for(let n=0;n<=e.length;n+=1){let n=!1;for(let r of e)try{let e=r.valueWhen?.(_);e!==void 0&&!i(l(_,r.prop),e)&&(a(_,r.prop,d(e)),t.add(r.prop),n=!0)}catch(e){B(e,`callback`,r.prop)}if(!n)return[...t]}return B(Error(`[C_Form] valueWhen 存在循环依赖,已停止继续计算`),`callback`),[...t]}function be(e){let t=e.map(e=>c(e).join(`.`));return n.value.filter(e=>!e.asyncOptions||!e.dependsOn?!1:(Array.isArray(e.dependsOn)?e.dependsOn:[e.dependsOn]).some(e=>{let n=c(e).join(`.`);return t.some(e=>e===n||e.startsWith(`${n}.`)||n.startsWith(`${e}.`))}))}function q(e,t=!0){let n=[...new Set([...e,...ye()])];de(),be(n).forEach(e=>{_e(e,`dependency`)}),t&&r.value.validateOnChange&&O(()=>{T||Y(n).catch(()=>void 0)})}function J(e){q([e])}function xe(e,t){t?y.set(e,t):y.delete(e)}async function Se(){if(g?.value===!1)throw Error(`[C_Form] 布局尚未加载完成`);if(!f.value)throw Error(`[C_Form] 表单引用不存在`);try{let e=se.value.find(e=>w.has(e.prop));if(e)throw w.get(e.prop);if(await f.value.validate(),T)throw Error(`[C_Form] 表单已卸载`);m(`validate-success`,H())}catch(e){throw T||m(`validate-error`,e),e}}async function Y(e){if(g?.value===!1)throw Error(`[C_Form] 布局尚未加载完成`);if(!f.value)throw Error(`[C_Form] 表单引用不存在`);let t=[...new Set(Array.isArray(e)?e:[e])],n=t.find(e=>w.has(e));if(n)throw w.get(n);let r=[],i=t.flatMap(e=>{let t=y.get(e);return t?[t.validate()]:(r.push(e),[])});r.length>0&&i.push(f.value.validate(void 0,e=>r.includes(String(e.key??``))));let a=(await Promise.allSettled(i)).filter(e=>e.status===`rejected`).map(e=>e.reason);if(a.length>0)throw a}function Ce(e){if(!e){f.value?.restoreValidation();return}(Array.isArray(e)?e:[e]).forEach(e=>y.get(e)?.restoreValidation())}async function X(e){let t=se.value.filter(e).map(e=>e.prop);if(t.length===0)return!0;try{return await Y(t),!0}catch{return!1}}function we(e){let t=typeof e==`string`?e:r.value.steps?.steps?.[e]?.key;return t?X(e=>e.layout?.step===t):Promise.resolve(!0)}function Z(e){return X(t=>t.layout?.tab===e)}function Ee(){return X(e=>!!e.layout?.dynamic)}function De(e){return X(t=>t.layout?.group===e)}function ke(e){Object.entries(d(e)).forEach(([e,t])=>{a(_,e,t)}),q(Object.keys(e))}function Me(){let e=H();u(_,oe()),Ce(),q(me(e),!1),V(`info`,r.value.resetSuccessText)}async function Ne(e,t,n=!1){a(_,e,d(t)),J(e),n&&await Y(e)}function Pe(e){return d(l(_,e))}async function $(e,t=!1){ke(e),t&&await Y(Object.keys(e))}function Fe(){return T||g?.value===!1||C.value||r.value.disabled||r.value.readonly}function Ie(e,t,n){return!T&&!e.signal.aborted&&g?.value!==!1&&!r.value.disabled&&!r.value.readonly&&n!==null&&f.value===n&&i(_,t)}async function Le(){if(Fe())return!1;let e=H(),t=f.value,n=new AbortController;E=n,C.value=!0;try{if(await Se(),!Ie(n,e,t))return!1;let i={model:e,form:t};try{await r.value.onSubmit?.(i,{signal:n.signal})}catch(e){return n.signal.aborted||B(e,`submit`),!1}return n.signal.aborted?!1:(m(`submit`,i),V(`success`,r.value.submitSuccessText),!0)}catch{return!1}finally{E===n&&(E=void 0),C.value=!1}}function Re(){pe(!0);let e=h?.value??(r.value.mode===`edit`?r.value.initialValues:void 0);e&&U(e),O(z)}return R(n,()=>{let e=!P;e&&ce(),pe(e),P=!0},{deep:!0,immediate:!0}),h&&R(h,e=>{e!==void 0&&!i(_,e)&&U(e)},{deep:!0,immediate:!0}),R(()=>[r.value.mode,r.value.initialValues],([e,t])=>{h?.value!==void 0||e!==`edit`||!t||(U(t),O(z))},{deep:!0}),R(_,e=>{ne||m(`update:modelValue`,d(e))},{deep:!0,flush:`post`}),ee(()=>{T=!0,E?.abort(),k.forEach(e=>e.abort()),k.clear(),j.clear(),y.clear()}),{formModel:_,formRules:v,visibleOptions:se,initialize:Re,handleFieldChange:J,setFormItemRef:xe,validate:Se,validateField:Y,validateStep:we,validateTab:Z,validateDynamicFields:Ee,validateCustomGroup:De,clearValidation:Ce,getModel:H,setFields:ke,resetFields:Me,setFieldValue:Ne,getFieldValue:Pe,setFieldsValue:$,submit:Le,handleSubmit:Le,handleReset:Me,isSubmitting:C,isDirty:ae,getChangedFields:I,isFieldDirty:L,markAsClean:z,asyncOptionsCache:b,asyncLoadingMap:x,asyncErrorMap:S,reloadOptions:K}}const Ne=Symbol(`c-form-renderer-registry`);function Pe(e={}){let t=re(new Map),n={get:e=>t.get(e)?.renderer,register:(e,n)=>{if(!e.trim())throw TypeError(`[C_Form] renderer type 不能为空`);if(typeof n!=`function`)throw TypeError(`[C_Form] renderer ${e} 必须是函数`);let r={renderer:n};return t.set(e,r),()=>t.get(e)===r&&t.delete(e)},unregister:(e,n)=>{let r=t.get(e);return!r||n&&r.renderer!==n?!1:t.delete(e)}};return Object.entries(e).forEach(([e,t])=>{n.register(e,t)}),n}function $(e,t,n){return e===void 0?t:typeof e==`function`?e(n):e}function Fe(e){return{input:t=>T(e.NInput,{...t}),textarea:t=>T(e.NInput,{...t,type:`textarea`}),inputNumber:t=>T(e.NInputNumber,{...t}),switch:t=>T(e.NSwitch,{...t}),slider:t=>T(e.NSlider,{...t}),rate:t=>T(e.NRate,{...t}),datePicker:t=>T(e.NDatePicker,{...t}),daterange:t=>T(e.NDatePicker,{...t,type:`daterange`}),timePicker:t=>T(e.NTimePicker,{...t}),cascader:t=>T(e.NCascader,{...t}),colorPicker:t=>T(e.NColorPicker,{...t}),select:(t,n)=>T(e.NSelect,{...t,options:n.children?.map(e=>({...e}))||[]}),checkbox:(t,n)=>T(e.NCheckboxGroup,{...t},{default:()=>T(e.NSpace,{},{default:()=>n.children?.map(t=>T(e.NCheckbox,{value:t.value,label:t.label,disabled:t.disabled,key:String(t.value)}))||[]})}),radio:(t,n)=>T(e.NRadioGroup,{...t},{default:()=>T(e.NSpace,{},{default:()=>n.children?.map(t=>T(e.NRadio,{value:t.value,disabled:t.disabled,key:String(t.value)},{default:()=>t.label}))||[]})}),upload:(t,n,r,i)=>{let a={...t},{value:o}=a,s=a[`onUpdate:value`];return delete a.value,delete a[`onUpdate:value`],T(e.NUpload,{...a,fileList:Array.isArray(o)?o:[],"onUpdate:fileList":e=>s?.(e)},{trigger:()=>i.slots?.uploadClick?.()||T(e.NButton,{type:`primary`},{default:()=>`选择文件`}),tip:()=>i.slots?.uploadTip?.()||null})},editor:(t,n)=>{let r={...t},{value:i}=r,a=r[`onUpdate:value`];return delete r.value,delete r[`onUpdate:value`],T(e.C_Editor,{...r,editorId:`editor-${n.prop}`,modelValue:typeof i==`string`?i:``,"onUpdate:modelValue":e=>a?.(e)})}}}const Ie=Pe();function Le(e,t){return Ie.register(e,t)}function Re(e,t){return Ie.unregister(e,t)}const ze=new Set([`select`,`checkbox`,`radio`,`cascader`]),Be=new Set([`input`,`textarea`,`inputNumber`,`rate`,`editor`]);function Ve(e){let{formModel:t,visibleOptions:n,config:r,handleFieldChange:i,componentMap:o,instanceSlots:s,asyncOptionsCache:c,asyncLoadingMap:u,renderers:d,setFormItemRef:f,onError:m}=e,h=o,g=Fe(h),_=C()?E(Ne,void 0):void 0,v=e.registry??_??Ie,y=e=>d?.value?.[e]??v.get(e)??g[e],b=e=>{let n=$(e.disabled,r.value.disabled,t),o=$(e.readonly,r.value.readonly,t),s=Be.has(e.type),c={value:l(t,e.prop),"onUpdate:value":n=>{$(e.disabled,r.value.disabled,t)||$(e.readonly,r.value.readonly,t)||(a(t,e.prop,n),i(e.prop))},disabled:n||o&&!s,readonly:o||e.type===`rate`&&n};return e.type===`textarea`&&(c.type=`textarea`),e.placeholder&&(c.placeholder=e.placeholder),c};function x(e){let t=e.children??[];return Object.prototype.hasOwnProperty.call(c.value,e.prop)?c.value[e.prop]??[]:t}function S(e){return ze.has(e.type)?{...e,children:x(e)}:e}function w(e,t){return e.type===`select`&&u.value[e.prop]&&(t.loading=!0),t}let O=e=>{try{let t=S(e),n=y(t.type);return n?n(w(t,D(t.attrs??{},b(t))),t,r.value,{slots:s,components:h}):(m?.(TypeError(`[C_Form] 未支持的组件类型: ${t.type}`),t.prop),null)}catch(t){return m?.(t,e.prop),null}};function k(e){if(e.label)return e.help?T(`span`,{style:`display:inline-flex;align-items:center;gap:4px`},[e.label,T(h.NTooltip,{trigger:`hover`},{trigger:()=>T(`span`,{style:`cursor:help;opacity:0.5;font-size:14px`,textContent:`ⓘ`}),default:()=>e.help})]):e.label}return{renderFormItem:O,formItems:p(()=>n.value.map(e=>{let t=!!(e.required||e.rules?.some(e=>e.required)),n=k(e);return T(h.NFormItem,{label:typeof n==`string`?n:void 0,path:e.prop,key:e.prop,required:t,ref:t=>f?.(e.prop,t)},{...typeof n!=`string`&&n?{label:()=>n}:{},default:()=>O(e)})})),getBaseProps:b}}const He={class:`c-form-default`};var Ue=r(S({__name:`index`,props:{formItems:{},layoutConfig:{},options:{}},setup(e){return(t,n)=>(j(),g(`div`,He,[(j(!0),g(f,null,N(e.formItems,(e,t)=>(j(),m(F(e),{key:e.key??t}))),128))]))}}),[[`__scopeId`,`data-v-4313de0c`]]),We=r(S({__name:`index`,props:{formItems:{},layoutConfig:{default:()=>({})},options:{default:()=>[]}},setup(e){let t=e,n=p(()=>t.layoutConfig?.inline?.itemWidth??280),r=p(()=>t.layoutConfig?.inline?.gap??16),i=p(()=>t.layoutConfig?.inline?.rowGap??16),a=p(()=>t.layoutConfig?.inline?.align??`center`),o=p(()=>{switch(a.value){case`start`:return`flex-start`;case`end`:return`flex-end`;default:return a.value}}),s=p(()=>{switch(a.value){case`start`:return`flex-start`;case`end`:return`flex-end`;case`center`:return`center`;default:return`flex-start`}}),c=p(()=>({display:`flex`,flexWrap:t.layoutConfig?.inline?.wrap??`wrap`,alignItems:o.value,justifyContent:s.value,gap:`${i.value}px ${r.value}px`,width:`100%`})),l=(e,t)=>{if(e.key!=null)return String(e.key);let n=e.props;return n?.path?n.path:`form-item-${t}`},u=e=>{let r=t.options?.[e]?.layout,i={width:`${n.value}px`,flexShrink:0,display:`flex`,flexDirection:`column`};return r?.width!==void 0&&(i.width=typeof r.width==`number`?`${r.width}px`:r.width),r?.style&&Object.assign(i,r.style),i};return(t,n)=>(j(),g(`div`,{class:`c-form-inline`,style:A(c.value)},[(j(!0),g(f,null,N(e.formItems,(e,t)=>(j(),g(`div`,{key:l(e,t),class:`c-form-inline-item`,style:A(u(t))},[(j(),m(F(e)))],4))),128))],4))}}),[[`__scopeId`,`data-v-711f6c00`]]);const Ge={class:`c-grid-layout`},Ke={class:`config-header`},qe={class:`config-controls`},Je={class:`config-label`},Ye={class:`item-wrapper`};var Xe=r(S({__name:`index`,props:{formItems:{},layoutConfig:{default:()=>({})},options:{default:()=>[]}},setup(e,{expose:t}){let r=e,i=te({cols:24,gutter:16,responsive:!0}),a=p(()=>r.layoutConfig?.grid||{}),o=p(()=>a.value.showConfigPanel),s=p(()=>a.value.showStats),c=p(()=>({cols:o.value?i.cols:a.value.cols??24,gutter:o.value?i.gutter:a.value.gutter??16,responsive:o.value?i.responsive:a.value.responsive??!0})),l=p(()=>({cols:c.value.cols,xGap:a.value.xGap??c.value.gutter,yGap:a.value.yGap??a.value.yGutter??c.value.gutter,responsive:c.value.responsive?`screen`:`self`})),u=p(()=>[{key:`cols`,label:`列数`,component:U,value:i.cols,update:e=>{typeof e==`number`&&(i.cols=e)},props:{min:1,max:48,size:`small`}},{key:`gutter`,label:`间距`,component:U,value:i.gutter,update:e=>{typeof e==`number`&&(i.gutter=e)},props:{min:0,max:48,size:`small`}},{key:`responsive`,label:`响应式`,component:W,value:i.responsive,update:e=>{typeof e==`boolean`&&(i.responsive=e)},props:{size:`small`}}]),d=p(()=>`列数: ${c.value.cols} | 间距: ${c.value.gutter}px | 项目: ${r.formItems.length}个`),v=(e,t)=>String(e.key)||e.props?.path||`grid-item-${t}`,x=(e,t)=>{let n=r.options?.[e]?.layout;return n?.[t]??n?.grid?.[t]},S=()=>{let{cols:e}=c.value;return e<=12?e:e<=24?12:8},C=e=>{let t=x(e,`span`),n=x(e,`offset`),r=x(e,`suffix`);return{span:typeof t==`number`&&t>0&&t<=c.value.cols?t:S(),offset:typeof n==`number`&&n>=0&&n<c.value.cols?n:0,suffix:!!r}};return R(a,e=>{e.cols!==void 0&&(i.cols=e.cols),e.gutter!==void 0&&(i.gutter=e.gutter),e.responsive!==void 0&&(i.responsive=e.responsive)},{immediate:!0}),t({updateGridConfig:e=>Object.assign(i,e),getCurrentConfig:()=>({...c.value}),getGridInfo:()=>({...c.value,itemCount:r.formItems.length})}),(t,r)=>{let i=se,a=fe,c=de,p=B;return j(),g(`div`,Ge,[h(` 配置面板 `),o.value?(j(),m(i,{key:0,size:`small`,bordered:!1,class:`config-panel`},{header:z(()=>[_(`div`,Ke,[b(n,{name:`mdi:view-grid`,size:18}),r[0]||=_(`span`,null,`网格配置`,-1)])]),default:z(()=>[_(`div`,qe,[(j(!0),g(f,null,N(u.value,e=>(j(),g(`div`,{key:e.key,class:`config-item`},[_(`span`,Je,ae(e.label)+`:`,1),(j(),m(F(e.component),D({value:e.value},{ref_for:!0},e.props,{"onUpdate:value":e.update}),null,16,[`value`,`onUpdate:value`]))]))),128))])]),_:1})):h(`v-if`,!0),h(` 网格容器 `),b(c,D(l.value,{class:`grid-container`}),{default:z(()=>[(j(!0),g(f,null,N(e.formItems,(e,t)=>(j(),m(a,D({key:v(e,t)},{ref_for:!0},C(t),{class:`grid-item`}),{default:z(()=>[_(`div`,Ye,[(j(),m(F(e)))])]),_:2},1040))),128))]),_:1},16),h(` 统计信息 `),s.value?(j(),m(p,{key:1,type:`info`,"show-icon":!1,size:`small`,class:`grid-stats`},{header:z(()=>[b(n,{name:`mdi:information-outline`,size:16}),r[1]||=y(` 网格信息 `,-1)]),default:z(()=>[y(` `+ae(d.value),1)]),_:1})):h(`v-if`,!0)])}}}),[[`__scopeId`,`data-v-1d221c83`]]);const Ze=[`default`,`inline`,`grid`],Qe={NFormItem:ue,NInput:pe,NInputNumber:U,NSwitch:W,NSelect:ge,NCheckboxGroup:H,NCheckbox:ce,NRadioGroup:he,NRadio:me,NButton:V,NSpace:_e,NTooltip:ve,NSlider:x(()=>import(`./slider.js`)),NRate:x(()=>import(`./rate.js`)),NDatePicker:x(()=>import(`./date-picker.js`)),NTimePicker:x(()=>import(`./time-picker.js`)),NCascader:x(()=>import(`./cascader.js`)),NColorPicker:x(()=>import(`./color-picker.js`)),NUpload:x(()=>import(`./upload.js`)),C_Editor:x(()=>import(`./C_Editor.js`).then(e=>e.C_Editor))},$e={default:Ue,inline:We,grid:Xe,card:x(()=>import(`./Card.js`)),tabs:x(()=>import(`./Tabs.js`)),steps:x(()=>import(`./Steps.js`)),dynamic:x(()=>import(`./Dynamic.js`)),custom:x(()=>import(`./Custom.js`))};var et=r(S({name:`C_Form`,__name:`index`,props:{options:{},modelValue:{},config:{default:()=>({})},renderers:{}},emits:[`submit`,`update:modelValue`,`validate-success`,`validate-error`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=xe(),s=p(()=>X(Se(i.config,o))),{t:c}=e(()=>s.value.locale),l=M(null),u=M(null),d=p(()=>Ze.includes(s.value.layout)||u.value===s.value.layout),{formModel:f,formRules:g,visibleOptions:_,initialize:x,handleFieldChange:S,validate:T,validateField:E,validateStep:O,validateTab:A,validateDynamicFields:ee,validateCustomGroup:te,clearValidation:ne,getModel:re,setFields:ie,resetFields:I,setFieldValue:R,getFieldValue:B,setFieldsValue:se,handleSubmit:ce,handleReset:H,isDirty:de,getChangedFields:fe,isFieldDirty:pe,markAsClean:U,asyncOptionsCache:me,asyncLoadingMap:he,asyncErrorMap:ge,reloadOptions:W,setFormItemRef:ve,isSubmitting:G,submit:K}=Me(p(()=>i.options),s,l,a,p(()=>i.modelValue),d),ye=p(()=>f.value),be=()=>re(),q=p(()=>({form:l.value,model:ye.value,validate:T,validateField:E,reset:I,setFields:ie,getModel:be,clearValidation:ne,submit:K,reloadOptions:W,submitting:G.value})),J=C(),Y=()=>Object.keys(J?.slots??{}).filter(e=>![`action`,`action-extra`,`step-actions`].includes(e)),{formItems:Ce}=Ve({formModel:f,visibleOptions:_,config:s,handleFieldChange:S,componentMap:Qe,instanceSlots:J?.slots,asyncOptionsCache:me,asyncLoadingMap:he,renderers:p(()=>i.renderers),setFormItemRef:ve,onError:(e,t)=>s.value.onError?.(e,{source:`render`,field:t})}),Z=p(()=>$e[s.value.layout]||$e.default),Te=p(()=>({type:s.value.layout,grid:s.value.grid,inline:s.value.inline,card:s.value.card,tabs:s.value.tabs,steps:s.value.steps,dynamic:s.value.dynamic,custom:s.value.custom})),Ee=p(()=>we(s.value)),De=p(()=>{let{layout:e}=s.value;return{...e===`steps`?{beforeStepChange:$,validateStep:Fe,submitting:G.value,disabled:s.value.disabled||s.value.readonly}:e===`tabs`?{beforeTabChange:je,validateTab:Ne}:{},onVnodeMounted:()=>{u.value=e}}}),Q=(e,...t)=>{let n=s.value[e];if(typeof n==`function`)try{let e=n(...t);e instanceof Promise&&e.catch(e=>s.value.onError?.(e,{source:`callback`}))}catch(e){s.value.onError?.(e,{source:`callback`})}},Oe=e=>{s.value.onFieldsChange?.(e)},ke=e=>{a(`validate-success`,e)},Ae=e=>{a(`validate-error`,e)},je=async(e,t)=>{try{return await s.value.onTabBeforeChange?.(e,t)!==!1}catch(e){return s.value.onError?.(e,{source:`callback`}),!1}},Ne=async e=>{let t=await A(e);return t&&s.value.onTabValidate?.(e),t},Pe=(e,t)=>{s.value.onStepChange?.(e,t)},$=async(e,t)=>{try{return await s.value.onStepBeforeChange?.(e,t)!==!1}catch(e){return s.value.onError?.(e,{source:`callback`}),!1}},Fe=async(e,t)=>{try{return await O(t)?(s.value.onStepValidate?.(e),!0):!1}catch{return!1}};return n({validate:T,validateField:E,validateStep:O,validateTab:A,validateDynamicFields:ee,validateCustomGroup:te,clearValidation:ne,getModel:re,setFields:ie,resetFields:I,setFieldValue:R,getFieldValue:B,setFieldsValue:se,formRef:l,formModel:f,initialize:x,layoutType:p(()=>s.value.layout),shouldShowDefaultActions:Ee,isDirty:de,getChangedFields:fe,isFieldDirty:pe,markAsClean:U,asyncLoadingMap:he,asyncErrorMap:ge,reloadOptions:W,isSubmitting:G,submit:K}),(e,t)=>(j(),m(L(le),D({ref_key:`formRef`,ref:l,model:L(f),rules:L(g),"validate-on-rule-change":!1,"label-placement":s.value.labelPlacement,"label-width":s.value.labelWidth,size:s.value.size,disabled:s.value.disabled,readonly:s.value.readonly},e.$attrs,{onSubmit:oe(L(K),[`prevent`])}),{default:z(()=>[h(` 布局组件渲染 `),(j(),m(F(Z.value),D({key:s.value.layout,"form-items":L(Ce),"layout-config":Te.value,options:L(_),"form-data":L(f)},De.value,{onTabChange:t[0]||=(e,t)=>Q(`onTabChange`,e,t),onStepChange:Pe,onFieldAdd:t[1]||=e=>Q(`onFieldAdd`,e),onFieldRemove:t[2]||=e=>Q(`onFieldRemove`,e),onFieldToggle:t[3]||=(e,t)=>Q(`onFieldToggle`,e,t),onFieldsClear:t[4]||=e=>Q(`onFieldsClear`),onRenderModeChange:t[5]||=e=>Q(`onRenderModeChange`,e),onGroupToggle:t[6]||=(e,t)=>Q(`onGroupToggle`,e,t),onGroupReset:t[7]||=e=>Q(`onGroupReset`,e),onValidateSuccess:ke,onValidateError:Ae,onFieldsChange:Oe}),v({"step-actions":z(t=>[P(e.$slots,`step-actions`,D(t,{submit:L(K),submitting:L(G)}),()=>[t.isLastStep&&s.value.showActions?(j(),m(L(V),{key:0,type:`primary`,loading:L(G)||!d.value,disabled:!d.value||L(G)||s.value.disabled||s.value.readonly,onClick:L(K)},{default:z(()=>[y(ae(s.value.submitText||L(c)(`common.submit`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])):h(`v-if`,!0)],!0)]),_:2},[N(Y(),t=>({name:t,fn:z(n=>[P(e.$slots,t,k(w(n)),void 0,!0)])}))]),1040,[`form-items`,`layout-config`,`options`,`form-data`])),h(` 表单操作按钮区域(只在特定布局中显示) `),Ee.value?(j(),m(L(ue),{key:0,style:{"margin-top":`20px`}},{default:z(()=>[P(e.$slots,`action`,k(w(q.value)),()=>[b(L(_e),{justify:`end`,style:{width:`100%`}},{default:z(()=>[b(L(V),{disabled:!d.value||L(G)||s.value.disabled||s.value.readonly,onClick:L(H)},{default:z(()=>[y(ae(s.value.resetText||L(c)(`common.reset`)),1)]),_:1},8,[`disabled`,`onClick`]),P(e.$slots,`action-extra`,k(w(q.value)),void 0,!0),b(L(V),{type:`primary`,loading:L(G)||!d.value,disabled:!d.value||L(G)||s.value.disabled||s.value.readonly,onClick:L(ce)},{default:z(()=>[y(ae(s.value.submitText||L(c)(`common.submit`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),_:3})],!0)]),_:3})):h(`v-if`,!0)]),_:3},16,[`model`,`rules`,`label-placement`,`label-width`,`size`,`disabled`,`readonly`,`onSubmit`]))}}),[[`__scopeId`,`data-v-2843988e`]]);function tt(e){return e}function nt(e){return e}function rt(e){let t=ie(d(e.initialValues)),n=ie(null);return{model:t,formRef:n,bindings:p(()=>({modelValue:t.value,options:I(e.options),config:I(e.config),"onUpdate:modelValue":e=>{t.value=d(e)}})),validate:()=>n.value?.validate()??Promise.resolve(),submit:()=>n.value?.submit()??Promise.resolve(!1),reset:()=>{n.value?(n.value.resetFields(),t.value=d(n.value.getModel())):t.value=d(e.initialValues)},getValues:()=>d(n.value?.getModel()??t.value),setValues:async(e,r=!1)=>{n.value?(await n.value.setFieldsValue(e,r),t.value=d(n.value.getModel())):t.value={...t.value,...d(e)}}}}export{Ce as _,Ne as a,we as b,Re as c,De as d,Ee as f,J as g,Y as h,et as i,Ve as l,Te as m,tt as n,Pe as o,be as p,rt as r,Le as s,nt as t,Me as u,Se as v,xe as x,X as y};