@robot-admin/naive-ui-components 0.24.3 → 0.24.4
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.
- package/CHANGELOG.md +7 -0
- package/README.md +2 -2
- package/README_EN.md +2 -2
- package/dist/constants2.d.cts +5 -5
- package/dist/constants2.d.ts +5 -5
- package/dist/constants3.d.cts +6 -6
- package/dist/constants3.d.ts +6 -6
- package/dist/data2.cjs +1 -1
- package/dist/data2.d.cts +7 -7
- package/dist/data2.d.ts +7 -7
- package/dist/data2.js +1 -1
- package/dist/helpers.cjs +1 -1
- package/dist/helpers.js +1 -1
- package/dist/index.vue.d.cts +4 -4
- package/dist/index.vue.d.ts +4 -4
- package/dist/index10.vue.d.cts +3 -3
- package/dist/index10.vue.d.ts +5 -5
- package/dist/index11.vue.d.cts +5 -5
- package/dist/index13.vue.d.ts +3 -3
- package/dist/index14.vue.d.cts +3 -3
- package/dist/index15.vue.d.ts +9 -9
- package/dist/index16.vue.d.cts +9 -9
- package/dist/index17.vue.d.ts +3 -3
- package/dist/index18.vue.d.cts +3 -3
- package/dist/index18.vue.d.ts +2 -2
- package/dist/index19.vue.d.cts +2 -2
- package/dist/index2.vue.d.cts +3 -3
- package/dist/index2.vue.d.ts +3 -3
- package/dist/index22.vue.d.ts +3 -3
- package/dist/index23.vue.d.cts +3 -3
- package/dist/index23.vue.d.ts +2 -2
- package/dist/index24.vue.d.cts +1 -1
- package/dist/index24.vue.d.ts +1 -1
- package/dist/index26.vue.d.cts +3 -3
- package/dist/index26.vue.d.ts +3 -3
- package/dist/index28.vue.d.cts +2 -2
- package/dist/index28.vue.d.ts +2 -2
- package/dist/index3.vue.d.cts +3 -3
- package/dist/index3.vue.d.ts +3 -3
- package/dist/index5.vue.d.cts +2 -2
- package/dist/index7.vue.d.ts +2 -2
- package/dist/index8.vue.d.cts +2 -2
- package/dist/index9.vue.d.ts +3 -3
- package/dist/mapUtils.d.cts +1 -1
- package/dist/mapUtils.d.ts +1 -1
- package/dist/presets.d.cts +1 -1
- package/dist/presets.d.ts +1 -1
- package/dist/useCalendarEvents.d.cts +1 -1
- package/dist/useCalendarEvents.d.ts +1 -1
- package/dist/useCollapsePanel.d.cts +3 -3
- package/dist/useCollapsePanel.d.ts +3 -3
- package/dist/useCropperCore.d.cts +4 -4
- package/dist/useCropperCore.d.ts +4 -4
- package/dist/useDynamicFormState.d.cts +12 -12
- package/dist/useDynamicFormState.d.ts +12 -12
- package/dist/useEdgeInteraction.d.cts +3 -3
- package/dist/useEdgeInteraction.d.ts +3 -3
- package/dist/useFullscreen.d.cts +2 -2
- package/dist/useFullscreen.d.ts +2 -2
- package/dist/useInfiniteScroll.d.cts +2 -2
- package/dist/useInfiniteScroll.d.ts +2 -2
- package/dist/useQRCode.d.cts +1 -1
- package/dist/useQRCode.d.ts +1 -1
- package/dist/useSignatureHistory.d.cts +5 -5
- package/dist/useSignatureHistory.d.ts +5 -5
- package/dist/useSplitResize.d.cts +1 -1
- package/dist/useSplitResize.d.ts +1 -1
- package/dist/useWorkflowValidation.d.cts +81 -81
- package/dist/useWorkflowValidation.d.ts +81 -81
- package/dist/verification.d.cts +4 -4
- package/dist/verification.d.ts +4 -4
- package/docs/stability-review-20261031.md +15 -15
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# @robot-admin/naive-ui-components
|
|
2
2
|
|
|
3
|
+
## 0.24.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 表单脏状态订阅数组迭代变化:稀疏空位被填充、删除或追加后,字段/整表状态和修改报告正确失效与恢复;纯值比较器继续保持值语义,不增加键列表分配。
|
|
8
|
+
- 数组空位与显式 undefined 保持原有值语义等价,长度及有效值仍严格比较,避免 Vue 不通知空位写入 undefined 时产生不一致;快照继续保留真实索引和空位。
|
|
9
|
+
|
|
3
10
|
## 0.24.3
|
|
4
11
|
|
|
5
12
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
| 按需消费 | 60 个独立组件入口、自动导入 Resolver、组件样式入口,以及表单/表格的基础样式层级 |
|
|
34
34
|
| 独立接入 | 支持全量注册与局部导入;反馈、文案和全局配置可由宿主提供,表单弹窗可接入结构兼容的 Headless CRUD |
|
|
35
35
|
|
|
36
|
-
组件库负责界面与交互;业务接口、身份权限、上传服务和第三方平台配置由应用接入。当前仓库版本 **0.24.
|
|
36
|
+
组件库负责界面与交互;业务接口、身份权限、上传服务和第三方平台配置由应用接入。当前仓库版本 **0.24.4**,版本变化见 [CHANGELOG](./CHANGELOG.md)。
|
|
37
37
|
|
|
38
|
-
0.24.3 复核了异步校验与编辑会话、字典订阅、列拖拽、媒体与图实例、数据快照及依赖边界,修复已复现的问题并删除死状态与不可达重试分支。审查范围、性能约束和验证证据见[稳定性复核](./docs/stability-review-20261031.md)。
|
|
38
|
+
0.24.3–0.24.4 复核了异步校验与编辑会话、字典订阅、列拖拽、媒体与图实例、数据快照及依赖边界,修复已复现的问题并删除死状态与不可达重试分支。审查范围、性能约束和验证证据见[稳定性复核](./docs/stability-review-20261031.md)。
|
|
39
39
|
|
|
40
40
|
表单与搜索共用 `config.density: 'compact'`:收紧字段、布局和空校验区,实际错误仍自然展开。表单弹窗默认紧凑,页脚按钮 22px;搜索可继承应用密度。紧凑数字输入默认隐藏步进按钮,保留键盘、精度和上下限,也可逐字段开启。按需设置默认值与显式覆盖见[表单密度](./docs/guides/form-density.md)。
|
|
41
41
|
|
package/README_EN.md
CHANGED
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
| Selective loading | 60 component entries, an auto-import resolver, component CSS and base styles for forms and tables |
|
|
34
34
|
| Application integration | Global registration or local imports; injectable feedback, locale and defaults; form dialogs compatible with structurally matching headless CRUD controllers |
|
|
35
35
|
|
|
36
|
-
The library handles UI and interaction. Applications supply business APIs, authentication, authorization, upload services and platform configuration. The current repository version is **0.24.
|
|
36
|
+
The library handles UI and interaction. Applications supply business APIs, authentication, authorization, upload services and platform configuration. The current repository version is **0.24.4**; see the [changelog](./CHANGELOG.md) for release details.
|
|
37
37
|
|
|
38
|
-
The 0.24.3 review covers async validation and edit sessions, dictionaries, column dragging, media and graph instances, data snapshots and dependency boundaries. Reproduced issues are fixed; dead state and unreachable retry branches are removed. See the [stability review](./docs/stability-review-20261031.md) for scope, performance constraints and verification evidence.
|
|
38
|
+
The 0.24.3–0.24.4 review covers async validation and edit sessions, dictionaries, column dragging, media and graph instances, data snapshots and dependency boundaries. Reproduced issues are fixed; dead state and unreachable retry branches are removed. See the [stability review](./docs/stability-review-20261031.md) for scope, performance constraints and verification evidence.
|
|
39
39
|
|
|
40
40
|
Forms and search share `config.density: 'compact'`, reducing field spacing and empty validation space while allowing errors to expand naturally. Form modals default to compact density with 22px footer buttons, and search can inherit application density. Compact numeric fields hide step buttons by default while retaining keyboard interaction, precision and limits; individual fields can enable buttons. See [form density](./docs/guides/form-density.en.md) for on-demand defaults and explicit overrides.
|
|
41
41
|
|
package/dist/constants2.d.cts
CHANGED
|
@@ -197,31 +197,31 @@ 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
|
-
error: (file: UploadFileItem, error: Error) => any;
|
|
201
200
|
success: (file: UploadFileItem, response: unknown) => any;
|
|
201
|
+
error: (file: UploadFileItem, error: Error) => 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
|
-
onError?: ((file: UploadFileItem, error: Error) => any) | undefined;
|
|
209
208
|
onSuccess?: ((file: UploadFileItem, response: unknown) => any) | undefined;
|
|
209
|
+
onError?: ((file: UploadFileItem, error: Error) => 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;
|
|
213
213
|
onExceed?: ((files: File[], fileList: UploadFileItem[]) => any) | undefined;
|
|
214
214
|
}>, {
|
|
215
|
-
data: Record<string, unknown>;
|
|
216
215
|
disabled: boolean;
|
|
217
|
-
|
|
216
|
+
multiple: boolean;
|
|
217
|
+
data: Record<string, unknown>;
|
|
218
218
|
action: string;
|
|
219
219
|
headers: Record<string, string>;
|
|
220
|
-
multiple: boolean;
|
|
221
220
|
directory: boolean;
|
|
222
221
|
accept: string;
|
|
223
222
|
maxSize: number;
|
|
224
223
|
maxCount: number;
|
|
224
|
+
draggable: boolean;
|
|
225
225
|
pasteable: boolean;
|
|
226
226
|
chunked: boolean;
|
|
227
227
|
chunkSize: number;
|
package/dist/constants2.d.ts
CHANGED
|
@@ -197,31 +197,31 @@ 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
|
-
error: (file: UploadFileItem, error: Error) => any;
|
|
201
200
|
success: (file: UploadFileItem, response: unknown) => any;
|
|
201
|
+
error: (file: UploadFileItem, error: Error) => 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
|
-
onError?: ((file: UploadFileItem, error: Error) => any) | undefined;
|
|
209
208
|
onSuccess?: ((file: UploadFileItem, response: unknown) => any) | undefined;
|
|
209
|
+
onError?: ((file: UploadFileItem, error: Error) => 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;
|
|
213
213
|
onExceed?: ((files: File[], fileList: UploadFileItem[]) => any) | undefined;
|
|
214
214
|
}>, {
|
|
215
|
-
data: Record<string, unknown>;
|
|
216
215
|
disabled: boolean;
|
|
217
|
-
|
|
216
|
+
multiple: boolean;
|
|
217
|
+
data: Record<string, unknown>;
|
|
218
218
|
action: string;
|
|
219
219
|
headers: Record<string, string>;
|
|
220
|
-
multiple: boolean;
|
|
221
220
|
directory: boolean;
|
|
222
221
|
accept: string;
|
|
223
222
|
maxSize: number;
|
|
224
223
|
maxCount: number;
|
|
224
|
+
draggable: boolean;
|
|
225
225
|
pasteable: boolean;
|
|
226
226
|
chunked: boolean;
|
|
227
227
|
chunkSize: number;
|
package/dist/constants3.d.cts
CHANGED
|
@@ -231,31 +231,31 @@ interface NotificationCenterExpose {
|
|
|
231
231
|
type __VLS_Slots = NotificationCenterSlots;
|
|
232
232
|
declare const __VLS_base: vue.DefineComponent<NotificationCenterProps, NotificationCenterExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
233
233
|
delete: (ids: string[]) => any;
|
|
234
|
-
read: (ids: string[]) => any;
|
|
235
234
|
itemClick: (message: NotificationMessage) => any;
|
|
235
|
+
navigate: (url: string) => any;
|
|
236
|
+
read: (ids: string[]) => any;
|
|
236
237
|
allRead: (category?: NotificationCategory | undefined) => any;
|
|
237
238
|
unreadChange: (count: number) => any;
|
|
238
239
|
wsStatusChange: (status: WSConnectionStatus) => any;
|
|
239
240
|
newMessage: (message: NotificationMessage) => any;
|
|
240
|
-
navigate: (url: string) => any;
|
|
241
241
|
viewAll: () => any;
|
|
242
242
|
}, string, vue.PublicProps, Readonly<NotificationCenterProps> & Readonly<{
|
|
243
243
|
onDelete?: ((ids: string[]) => any) | undefined;
|
|
244
|
-
onRead?: ((ids: string[]) => any) | undefined;
|
|
245
244
|
onItemClick?: ((message: NotificationMessage) => any) | undefined;
|
|
245
|
+
onNavigate?: ((url: string) => any) | undefined;
|
|
246
|
+
onRead?: ((ids: string[]) => any) | undefined;
|
|
246
247
|
onAllRead?: ((category?: NotificationCategory | undefined) => any) | undefined;
|
|
247
248
|
onUnreadChange?: ((count: number) => any) | undefined;
|
|
248
249
|
onWsStatusChange?: ((status: WSConnectionStatus) => any) | undefined;
|
|
249
250
|
onNewMessage?: ((message: NotificationMessage) => any) | undefined;
|
|
250
|
-
onNavigate?: ((url: string) => any) | undefined;
|
|
251
251
|
onViewAll?: (() => any) | undefined;
|
|
252
252
|
}>, {
|
|
253
|
-
|
|
253
|
+
pageSize: number;
|
|
254
254
|
autoStart: boolean;
|
|
255
255
|
desktopNotification: boolean;
|
|
256
256
|
maxBadgeCount: number;
|
|
257
257
|
pollingInterval: number;
|
|
258
|
-
|
|
258
|
+
storageKey: string;
|
|
259
259
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
260
260
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
261
261
|
declare const _default: typeof __VLS_export;
|
package/dist/constants3.d.ts
CHANGED
|
@@ -231,31 +231,31 @@ interface NotificationCenterExpose {
|
|
|
231
231
|
type __VLS_Slots = NotificationCenterSlots;
|
|
232
232
|
declare const __VLS_base: vue.DefineComponent<NotificationCenterProps, NotificationCenterExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
233
233
|
delete: (ids: string[]) => any;
|
|
234
|
-
read: (ids: string[]) => any;
|
|
235
234
|
itemClick: (message: NotificationMessage) => any;
|
|
235
|
+
navigate: (url: string) => any;
|
|
236
|
+
read: (ids: string[]) => any;
|
|
236
237
|
allRead: (category?: NotificationCategory | undefined) => any;
|
|
237
238
|
unreadChange: (count: number) => any;
|
|
238
239
|
wsStatusChange: (status: WSConnectionStatus) => any;
|
|
239
240
|
newMessage: (message: NotificationMessage) => any;
|
|
240
|
-
navigate: (url: string) => any;
|
|
241
241
|
viewAll: () => any;
|
|
242
242
|
}, string, vue.PublicProps, Readonly<NotificationCenterProps> & Readonly<{
|
|
243
243
|
onDelete?: ((ids: string[]) => any) | undefined;
|
|
244
|
-
onRead?: ((ids: string[]) => any) | undefined;
|
|
245
244
|
onItemClick?: ((message: NotificationMessage) => any) | undefined;
|
|
245
|
+
onNavigate?: ((url: string) => any) | undefined;
|
|
246
|
+
onRead?: ((ids: string[]) => any) | undefined;
|
|
246
247
|
onAllRead?: ((category?: NotificationCategory | undefined) => any) | undefined;
|
|
247
248
|
onUnreadChange?: ((count: number) => any) | undefined;
|
|
248
249
|
onWsStatusChange?: ((status: WSConnectionStatus) => any) | undefined;
|
|
249
250
|
onNewMessage?: ((message: NotificationMessage) => any) | undefined;
|
|
250
|
-
onNavigate?: ((url: string) => any) | undefined;
|
|
251
251
|
onViewAll?: (() => any) | undefined;
|
|
252
252
|
}>, {
|
|
253
|
-
|
|
253
|
+
pageSize: number;
|
|
254
254
|
autoStart: boolean;
|
|
255
255
|
desktopNotification: boolean;
|
|
256
256
|
maxBadgeCount: number;
|
|
257
257
|
pollingInterval: number;
|
|
258
|
-
|
|
258
|
+
storageKey: string;
|
|
259
259
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
260
260
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
261
261
|
declare const _default: typeof __VLS_export;
|
package/dist/data2.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./chunk.cjs`);let e=require(`vue`);const t=new Set([`__proto__`,`prototype`,`constructor`]);function n(e,t){return Reflect.has(e,t),Object.prototype.hasOwnProperty.call(e,t)}function r(e,t){return typeof e==`object`&&e&&n(e,t)?e[t]:void 0}function i(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 a(e,t){if(n(e,t))return!0;let r=e;for(let e of i(t)){if(typeof r!=`object`||!r||!n(r,e))return!1;r=r[e]}return!0}function o(e,t){return n(e,t)?e[t]:i(t).reduce(r,e)}function s(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)){e[t]=n;return}let a=i(t),o=e;a.forEach((e,t)=>{if(t===a.length-1){o[e]=n;return}let i=r(o,e);(typeof i!=`object`||!i)&&(o[e]=/^\d+$/.test(a[t+1])?[]:{}),o=o[e]})}function c(e,t){if(Object.prototype.hasOwnProperty.call(e,t)){delete e[t];return}let n=i(t),a=n.pop();if(!a)return;let o=n.reduce(r,e);o&&typeof o==`object`&&delete o[a]}function l(t){return(0,e.isProxy)(t)?(0,e.toRaw)(t):t}function u(e,t){let n=l(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 e.length=n.length,t.set(n,e),n.forEach((n,r)=>{e[r]=u(n,t)}),e}if(n instanceof Map){let e=new Map;return t.set(n,e),n.forEach((n,r)=>{e.set(u(r,t),u(n,t))}),e}if(n instanceof Set){let e=new Set;return t.set(n,e),n.forEach(n=>e.add(u(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=>{if(typeof e==`string`){let r=u(n[e],t);e===`__proto__`?Object.defineProperty(i,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[e]=r}}),i}function d(e){let t=l(e);if(typeof structuredClone==`function`)try{return structuredClone(t)}catch{}return u(t,new WeakMap)}const f=e=>typeof e==`object`&&!!e;function p(e,t){let n=e.additions.length;if(t())return!0;for(;e.additions.length>n;){let[t,n]=e.additions.pop();e.pairs.get(t)?.delete(n)}return!1}function m(e,t,n,r){return n.has(e)&&v(t,n.get(e),r)}function h(e,t,n){if(e.size!==t.size)return!1;let r=new Set,i;for(let[a,o]of e){if(!f(a)){if(!m(a,o,t,n))return!1;continue}if(!r.has(a)&&p(n,()=>m(a,o,t,n))){r.add(a);continue}i??=[...t].filter(e=>f(e[0]));let e=i.find(([e,t])=>e!==a&&!r.has(e)&&p(n,()=>v(a,e,n)&&v(o,t,n)));if(!e)return!1;r.add(e[0])}return!0}function g(e,t,n){if(e.size!==t.size)return!1;let r=new Set,i;for(let a of e){if(!f(a)){if(!t.has(a))return!1;continue}if(!r.has(a)&&t.has(a)){r.add(a);continue}i??=[...t].filter(f);let e=i.find(e=>!r.has(e)&&p(n,()=>v(a,e,n)));if(!e)return!1;r.add(e)}return!0}function _(e,t,n){let r=n.pairs.get(e);if(r?.has(t))return!0;if(r||(r=new WeakSet,n.pairs.set(e,r)),r.add(t),n.additions.push([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)){if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;r<e.length;r++)
|
|
1
|
+
require(`./chunk.cjs`);let e=require(`vue`);const t=new Set([`__proto__`,`prototype`,`constructor`]);function n(e,t){return Reflect.has(e,t),Object.prototype.hasOwnProperty.call(e,t)}function r(e,t){return typeof e==`object`&&e&&n(e,t)?e[t]:void 0}function i(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 a(e,t){if(n(e,t))return!0;let r=e;for(let e of i(t)){if(typeof r!=`object`||!r||!n(r,e))return!1;r=r[e]}return!0}function o(e,t){return n(e,t)?e[t]:i(t).reduce(r,e)}function s(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)){e[t]=n;return}let a=i(t),o=e;a.forEach((e,t)=>{if(t===a.length-1){o[e]=n;return}let i=r(o,e);(typeof i!=`object`||!i)&&(o[e]=/^\d+$/.test(a[t+1])?[]:{}),o=o[e]})}function c(e,t){if(Object.prototype.hasOwnProperty.call(e,t)){delete e[t];return}let n=i(t),a=n.pop();if(!a)return;let o=n.reduce(r,e);o&&typeof o==`object`&&delete o[a]}function l(t){return(0,e.isProxy)(t)?(0,e.toRaw)(t):t}function u(e,t){let n=l(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 e.length=n.length,t.set(n,e),n.forEach((n,r)=>{e[r]=u(n,t)}),e}if(n instanceof Map){let e=new Map;return t.set(n,e),n.forEach((n,r)=>{e.set(u(r,t),u(n,t))}),e}if(n instanceof Set){let e=new Set;return t.set(n,e),n.forEach(n=>e.add(u(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=>{if(typeof e==`string`){let r=u(n[e],t);e===`__proto__`?Object.defineProperty(i,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[e]=r}}),i}function d(e){let t=l(e);if(typeof structuredClone==`function`)try{return structuredClone(t)}catch{}return u(t,new WeakMap)}const f=e=>typeof e==`object`&&!!e;function p(e,t){let n=e.additions.length;if(t())return!0;for(;e.additions.length>n;){let[t,n]=e.additions.pop();e.pairs.get(t)?.delete(n)}return!1}function m(e,t,n,r){return n.has(e)&&v(t,n.get(e),r)}function h(e,t,n){if(e.size!==t.size)return!1;let r=new Set,i;for(let[a,o]of e){if(!f(a)){if(!m(a,o,t,n))return!1;continue}if(!r.has(a)&&p(n,()=>m(a,o,t,n))){r.add(a);continue}i??=[...t].filter(e=>f(e[0]));let e=i.find(([e,t])=>e!==a&&!r.has(e)&&p(n,()=>v(a,e,n)&&v(o,t,n)));if(!e)return!1;r.add(e[0])}return!0}function g(e,t,n){if(e.size!==t.size)return!1;let r=new Set,i;for(let a of e){if(!f(a)){if(!t.has(a))return!1;continue}if(!r.has(a)&&t.has(a)){r.add(a);continue}i??=[...t].filter(f);let e=i.find(e=>!r.has(e)&&p(n,()=>v(a,e,n)));if(!e)return!1;r.add(e)}return!0}function _(e,t,n){let r=n.pairs.get(e);if(r?.has(t))return!0;if(r||(r=new WeakSet,n.pairs.set(e,r)),r.add(t),n.additions.push([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)){if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!v(e[r],t[r],n))return!1;return!0}if(e instanceof Map||t instanceof Map)return!(e instanceof Map)||!(t instanceof Map)?!1:h(e,t,n);if(e instanceof Set||t instanceof Set)return!(e instanceof Set)||!(t instanceof Set)?!1:g(e,t,n);let i=Object.keys(e),a=Object.keys(t);return i.length===a.length?i.every(r=>Object.prototype.hasOwnProperty.call(t,r)&&v(e[r],t[r],n)):!1}function v(e,t,n){let r=l(e),i=l(t);return Object.is(r,i)?!0:r===null||i===null||typeof r!=`object`||typeof i!=`object`?!1:_(r,i,n)}function y(e,t){return v(e,t,{pairs:new WeakMap,additions:[]})}function b(e,t){let n=d(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 y}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return d}});
|
package/dist/data2.d.cts
CHANGED
|
@@ -65,27 +65,27 @@ 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;
|
|
68
69
|
"update:modelValue": (value: TabsValue) => any;
|
|
69
70
|
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;
|
|
73
74
|
"onUpdate:modelValue"?: ((value: TabsValue) => any) | undefined;
|
|
74
75
|
onChange?: ((value: TabsValue, item: TabsItem | undefined) => any) | undefined;
|
|
75
|
-
onAdd?: (() => any) | undefined;
|
|
76
76
|
onClose?: ((value: TabsValue) => any) | undefined;
|
|
77
77
|
}>, {
|
|
78
|
+
size: TabsSize;
|
|
78
79
|
modelValue: TabsValue | null;
|
|
79
80
|
type: TabsType;
|
|
80
|
-
justifyContent: TabsJustifyContent;
|
|
81
|
-
size: TabsSize;
|
|
82
|
-
closable: boolean;
|
|
83
|
-
displayDirective: TabsDisplayDirective;
|
|
84
|
-
items: readonly TabsItem[];
|
|
85
81
|
defaultValue: TabsValue | null;
|
|
86
82
|
placement: TabsPlacement;
|
|
83
|
+
displayDirective: TabsDisplayDirective;
|
|
84
|
+
items: readonly TabsItem[];
|
|
87
85
|
animated: boolean;
|
|
86
|
+
justifyContent: TabsJustifyContent;
|
|
88
87
|
addable: boolean;
|
|
88
|
+
closable: boolean;
|
|
89
89
|
tabsOnly: boolean;
|
|
90
90
|
paneClass: string;
|
|
91
91
|
paneStyle: string | vue.CSSProperties;
|
package/dist/data2.d.ts
CHANGED
|
@@ -65,27 +65,27 @@ 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;
|
|
68
69
|
"update:modelValue": (value: TabsValue) => any;
|
|
69
70
|
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;
|
|
73
74
|
"onUpdate:modelValue"?: ((value: TabsValue) => any) | undefined;
|
|
74
75
|
onChange?: ((value: TabsValue, item: TabsItem | undefined) => any) | undefined;
|
|
75
|
-
onAdd?: (() => any) | undefined;
|
|
76
76
|
onClose?: ((value: TabsValue) => any) | undefined;
|
|
77
77
|
}>, {
|
|
78
|
+
size: TabsSize;
|
|
78
79
|
modelValue: TabsValue | null;
|
|
79
80
|
type: TabsType;
|
|
80
|
-
justifyContent: TabsJustifyContent;
|
|
81
|
-
size: TabsSize;
|
|
82
|
-
closable: boolean;
|
|
83
|
-
displayDirective: TabsDisplayDirective;
|
|
84
|
-
items: readonly TabsItem[];
|
|
85
81
|
defaultValue: TabsValue | null;
|
|
86
82
|
placement: TabsPlacement;
|
|
83
|
+
displayDirective: TabsDisplayDirective;
|
|
84
|
+
items: readonly TabsItem[];
|
|
87
85
|
animated: boolean;
|
|
86
|
+
justifyContent: TabsJustifyContent;
|
|
88
87
|
addable: boolean;
|
|
88
|
+
closable: boolean;
|
|
89
89
|
tabsOnly: boolean;
|
|
90
90
|
paneClass: string;
|
|
91
91
|
paneStyle: string | vue.CSSProperties;
|
package/dist/data2.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isProxy as e,toRaw as t}from"vue";const n=new Set([`__proto__`,`prototype`,`constructor`]);function r(e,t){return Reflect.has(e,t),Object.prototype.hasOwnProperty.call(e,t)}function i(e,t){return typeof e==`object`&&e&&r(e,t)?e[t]:void 0}function a(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 o(e,t){if(r(e,t))return!0;let n=e;for(let e of a(t)){if(typeof n!=`object`||!n||!r(n,e))return!1;n=n[e]}return!0}function s(e,t){return r(e,t)?e[t]:a(t).reduce(i,e)}function c(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)){e[t]=n;return}let r=a(t),o=e;r.forEach((e,t)=>{if(t===r.length-1){o[e]=n;return}let a=i(o,e);(typeof a!=`object`||!a)&&(o[e]=/^\d+$/.test(r[t+1])?[]:{}),o=o[e]})}function l(e,t){if(Object.prototype.hasOwnProperty.call(e,t)){delete e[t];return}let n=a(t),r=n.pop();if(!r)return;let o=n.reduce(i,e);o&&typeof o==`object`&&delete o[r]}function u(n){return e(n)?t(n):n}function d(e,t){let n=u(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 e.length=n.length,t.set(n,e),n.forEach((n,r)=>{e[r]=d(n,t)}),e}if(n instanceof Map){let e=new Map;return t.set(n,e),n.forEach((n,r)=>{e.set(d(r,t),d(n,t))}),e}if(n instanceof Set){let e=new Set;return t.set(n,e),n.forEach(n=>e.add(d(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=>{if(typeof e==`string`){let r=d(n[e],t);e===`__proto__`?Object.defineProperty(i,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[e]=r}}),i}function f(e){let t=u(e);if(typeof structuredClone==`function`)try{return structuredClone(t)}catch{}return d(t,new WeakMap)}const p=e=>typeof e==`object`&&!!e;function m(e,t){let n=e.additions.length;if(t())return!0;for(;e.additions.length>n;){let[t,n]=e.additions.pop();e.pairs.get(t)?.delete(n)}return!1}function h(e,t,n,r){return n.has(e)&&y(t,n.get(e),r)}function g(e,t,n){if(e.size!==t.size)return!1;let r=new Set,i;for(let[a,o]of e){if(!p(a)){if(!h(a,o,t,n))return!1;continue}if(!r.has(a)&&m(n,()=>h(a,o,t,n))){r.add(a);continue}i??=[...t].filter(e=>p(e[0]));let e=i.find(([e,t])=>e!==a&&!r.has(e)&&m(n,()=>y(a,e,n)&&y(o,t,n)));if(!e)return!1;r.add(e[0])}return!0}function _(e,t,n){if(e.size!==t.size)return!1;let r=new Set,i;for(let a of e){if(!p(a)){if(!t.has(a))return!1;continue}if(!r.has(a)&&t.has(a)){r.add(a);continue}i??=[...t].filter(p);let e=i.find(e=>!r.has(e)&&m(n,()=>y(a,e,n)));if(!e)return!1;r.add(e)}return!0}function v(e,t,n){let r=n.pairs.get(e);if(r?.has(t))return!0;if(r||(r=new WeakSet,n.pairs.set(e,r)),r.add(t),n.additions.push([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)){if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;r<e.length;r++)
|
|
1
|
+
import{isProxy as e,toRaw as t}from"vue";const n=new Set([`__proto__`,`prototype`,`constructor`]);function r(e,t){return Reflect.has(e,t),Object.prototype.hasOwnProperty.call(e,t)}function i(e,t){return typeof e==`object`&&e&&r(e,t)?e[t]:void 0}function a(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 o(e,t){if(r(e,t))return!0;let n=e;for(let e of a(t)){if(typeof n!=`object`||!n||!r(n,e))return!1;n=n[e]}return!0}function s(e,t){return r(e,t)?e[t]:a(t).reduce(i,e)}function c(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)){e[t]=n;return}let r=a(t),o=e;r.forEach((e,t)=>{if(t===r.length-1){o[e]=n;return}let a=i(o,e);(typeof a!=`object`||!a)&&(o[e]=/^\d+$/.test(r[t+1])?[]:{}),o=o[e]})}function l(e,t){if(Object.prototype.hasOwnProperty.call(e,t)){delete e[t];return}let n=a(t),r=n.pop();if(!r)return;let o=n.reduce(i,e);o&&typeof o==`object`&&delete o[r]}function u(n){return e(n)?t(n):n}function d(e,t){let n=u(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 e.length=n.length,t.set(n,e),n.forEach((n,r)=>{e[r]=d(n,t)}),e}if(n instanceof Map){let e=new Map;return t.set(n,e),n.forEach((n,r)=>{e.set(d(r,t),d(n,t))}),e}if(n instanceof Set){let e=new Set;return t.set(n,e),n.forEach(n=>e.add(d(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=>{if(typeof e==`string`){let r=d(n[e],t);e===`__proto__`?Object.defineProperty(i,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[e]=r}}),i}function f(e){let t=u(e);if(typeof structuredClone==`function`)try{return structuredClone(t)}catch{}return d(t,new WeakMap)}const p=e=>typeof e==`object`&&!!e;function m(e,t){let n=e.additions.length;if(t())return!0;for(;e.additions.length>n;){let[t,n]=e.additions.pop();e.pairs.get(t)?.delete(n)}return!1}function h(e,t,n,r){return n.has(e)&&y(t,n.get(e),r)}function g(e,t,n){if(e.size!==t.size)return!1;let r=new Set,i;for(let[a,o]of e){if(!p(a)){if(!h(a,o,t,n))return!1;continue}if(!r.has(a)&&m(n,()=>h(a,o,t,n))){r.add(a);continue}i??=[...t].filter(e=>p(e[0]));let e=i.find(([e,t])=>e!==a&&!r.has(e)&&m(n,()=>y(a,e,n)&&y(o,t,n)));if(!e)return!1;r.add(e[0])}return!0}function _(e,t,n){if(e.size!==t.size)return!1;let r=new Set,i;for(let a of e){if(!p(a)){if(!t.has(a))return!1;continue}if(!r.has(a)&&t.has(a)){r.add(a);continue}i??=[...t].filter(p);let e=i.find(e=>!r.has(e)&&m(n,()=>y(a,e,n)));if(!e)return!1;r.add(e)}return!0}function v(e,t,n){let r=n.pairs.get(e);if(r?.has(t))return!0;if(r||(r=new WeakSet,n.pairs.set(e,r)),r.add(t),n.additions.push([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)){if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!y(e[r],t[r],n))return!1;return!0}if(e instanceof Map||t instanceof Map)return!(e instanceof Map)||!(t instanceof Map)?!1:g(e,t,n);if(e instanceof Set||t instanceof Set)return!(e instanceof Set)||!(t instanceof Set)?!1:_(e,t,n);let i=Object.keys(e),a=Object.keys(t);return i.length===a.length?i.every(r=>Object.prototype.hasOwnProperty.call(t,r)&&y(e[r],t[r],n)):!1}function y(e,t,n){let r=u(e),i=u(t);return Object.is(r,i)?!0:r===null||i===null||typeof r!=`object`||typeof i!=`object`?!1:v(r,i,n)}function b(e,t){return y(e,t,{pairs:new WeakMap,additions:[]})}function x(e,t){let n=f(t);Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(n,t)||delete e[t]}),Object.assign(e,n)}export{b as a,c,o as i,l as n,a as o,s as r,x as s,f as t};
|
package/dist/helpers.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./chunk.cjs`);const e=require(`./density.cjs`),t=require(`./dictionary.cjs`),n=require(`./data2.cjs`),r=require(`./useComponentLocale.cjs`),i=require(`./feedback.cjs`),a=require(`./C_Icon2.cjs`),o=require(`./export-helper.cjs`),s=require(`./useFormConfig.cjs`),c=require(`./useGridWidth.cjs`),l=require(`./useDictionary.cjs`),u=require(`./formValidation.cjs`);let d=require(`vue`),f=require(`naive-ui`);function p(e,t){if(Reflect.has(e,t)&&Object.prototype.hasOwnProperty.call(e,t))return(0,d.isReactive)(e);let r=e;for(let e of n.o(t)){if(!r||typeof r!=`object`||!(0,d.isReactive)(r))return!1;r=r[e]}return!0}function m(e,t=new Set){if(typeof e!=`object`||!e||t.has(e))return!0;t.add(e);let n=(0,d.isReactive)(e);return e instanceof Map?(e.forEach((e,r)=>{n=m(r,t)&&n,n=m(e,t)&&n}),n):e instanceof Set?(e.forEach(e=>{n=m(e,t)&&n}),n):(Object.values(e).forEach(e=>{n=m(e,t)&&n}),n)}function h(e,t){let r=(0,d.shallowRef)({}),i=new Map,a=(0,d.isReactive)(e);function o(){let n=new Set(t?(0,d.toValue)(t):[...Object.keys(r.value),...Object.keys(e)]);for(let e of i.keys())n.has(e)||i.delete(e);return n}let s=(0,d.computed)(()=>{for(let e of o())if(u(e))return!0;return!1});function c(){let e=[];for(let t of o())u(t)&&e.push(t);return e}function l(e){return f(e)}function u(t){if(!a)return f(t);let o=i.get(t);return o||(o=(0,d.computed)(()=>{let i=n.r(e,t),a=p(e,t);return{cacheable:m(i)&&a,dirty:!n.a(n.r(r.value,t),i)}}),i.set(t,o)),o.value.cacheable?o.value.dirty:f(t)}function f(t){let i=n.r(e,t);return m(i),!n.a(n.r(r.value,t),i)}function h(){r.value=n.t(e)}function g(){return n.t(r.value)}return{isDirty:s,getChangedFields:c,isFieldDirty:l,markAsClean:h,getCleanModel:g}}const g={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 _(e){return n.t((e.value===void 0?g[e.type]:e.value)??null)}function v(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 y(e,t,a,o,s,c){let f=(0,d.reactive)(n.t(s?.value??(t.value.mode===`edit`?t.value.initialValues:void 0)??{})),p=(0,d.reactive)({}),m=new Map,g=(0,d.ref)({}),y=(0,d.ref)({}),b=(0,d.ref)({}),x=(0,d.ref)(!1),S=new Map,C=!1,w,T=new Map,E=new Map,D=new Map,O=new Map,k=new Set,A=!1,j=!1,M=0,N=i.t(()=>t.value.feedback),{t:P}=r.t(()=>t.value.locale),{isDirty:F,getChangedFields:ee,isFieldDirty:te,markAsClean:I,getCleanModel:ne}=h(f,()=>e.value.map(e=>e.prop));function L(e,n,r){if(!C)try{t.value.onError?t.value.onError(e,{source:n,field:r}):N.error(e instanceof Error?e.message:String(e),e)}catch{}}let R=l.t(()=>new Map(e.value.filter(e=>e.dictionary!==void 0&&e.children===void 0&&!e.asyncOptions).map(e=>[e.prop,e.dictionary])),{onError:(e,t)=>L(e,`async-options`,t)});function z(e,t){if(!(C||!t))try{N[e](t)}catch{}}let B=(0,d.computed)(()=>e.value.filter(e=>{if(e.show===!1)return!1;if(!e.showWhen)return!0;try{return e.showWhen(f)}catch(t){return L(t,`callback`,e.prop),!1}}));function re(){j=!0;let e=++M;(0,d.nextTick)(()=>{e===M&&(j=!1)})}function V(){return n.t(f)}function ie(t){let r=t?n.t(t):{};return e.value.forEach(e=>{n.i(r,e.prop)||n.c(r,e.prop,_(e))}),r}function H(e){try{let t=u.n(e.rulesWhen?e.rulesWhen(f):e.rules);if(S.delete(e.prop),e.required&&!t.some(e=>e.required)){let n=e.label||e.prop;t.unshift(u.t(n,P(`form.required`,{label:n})))}if(e.crossFieldValidator){let n=e.crossFieldValidator;t.push({async validator(){let e=await n(f);if(e)throw Error(e)},trigger:[`change`,`blur`]})}if(t.length===0){delete p[e.prop];return}p[e.prop]=t.map(t=>({...t,key:e.prop}))}catch(t){delete p[e.prop],S.set(e.prop,t),L(t,`callback`,e.prop)}}function ae(){e.value.forEach(e=>{(e.rulesWhen||e.crossFieldValidator)&&H(e)})}function oe(e){k.forEach(r=>{e.has(r)||(m.delete(r),delete p[r],S.delete(r),G(r),D.delete(r),t.value.preserveRemovedFields||n.n(f,r))})}function se(t=!1){try{v(e.value);let r=V(),i=new Set(e.value.map(e=>e.prop));oe(i),e.value.forEach(e=>{n.i(f,e.prop)||n.c(f,e.prop,_(e)),H(e),ce(e)}),k=i,X(W(r),!1),t&&(0,d.nextTick)(I)}catch(e){throw L(e,`initialize`),e}}function U(e){let t=V();re(),n.s(f,ie(e)),X(W(t),!1)}function W(t){return[...new Set([...Object.keys(t),...Object.keys(f),...e.value.map(e=>e.prop)])].filter(e=>!n.a(n.r(t,e),n.r(f,e)))}function G(e){E.get(e)?.abort(),E.delete(e),T.delete(e),O.delete(e),delete g.value[e],delete y.value[e],delete b.value[e]}function ce(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),K(e,`initialize`)}}function K(e,t){if(C)return;let n=O.get(e.prop),r={item:e,reason:n?.reason===`initialize`?n.reason:t};O.set(e.prop,r),(0,d.nextTick)(()=>{O.get(e.prop)===r&&(O.delete(e.prop),ue(r.item,r.reason))})}function q(e,t,n){return C||n.signal.aborted||T.get(e)!==t||E.get(e)!==n}function le(e){return!C&&!!e.asyncOptions&&D.get(e.prop)===e.asyncOptions}async function ue(e,t){if(!le(e))return;let{prop:r}=e,i=(T.get(r)??0)+1;T.set(r,i),E.get(r)?.abort();let a=new AbortController;E.set(r,a),y.value[r]=!0,delete b.value[r];try{let o=await e.asyncOptions(V(),{field:r,reason:t,signal:a.signal});if(q(r,i,a))return;if(!Array.isArray(o))throw TypeError(`[C_Form] ${r}.asyncOptions 必须返回数组`);g.value[r]=n.t([...o])}catch(e){if(q(r,i,a))return;b.value[r]=e,L(e,`async-options`,r)}finally{T.get(r)===i&&E.get(r)===a&&(y.value[r]=!1,E.delete(r))}}async function J(t){let n=e.value.filter(e=>e.asyncOptions&&(!t||e.prop===t)),r=e.value.filter(e=>e.dictionary!==void 0&&e.children===void 0&&!e.asyncOptions&&(!t||e.prop===t));if(t&&n.length===0&&r.length===0)throw Error(`[C_Form] 未找到异步选项字段: ${t}`);await Promise.all([...n.map(e=>(O.delete(e.prop),ue(e,`manual`))),...r.map(e=>R.reload(e.prop))])}function Y(){let t=e.value.filter(e=>e.valueWhen),r=new Set;if(t.length===0)return[];for(let e=0;e<=t.length;e+=1){let e=!1;for(let i of t)try{let t=i.valueWhen?.(f);t!==void 0&&!n.a(n.r(f,i.prop),t)&&(n.c(f,i.prop,n.t(t)),r.add(i.prop),e=!0)}catch(e){L(e,`callback`,i.prop)}if(!e)return[...r]}return L(Error(`[C_Form] valueWhen 存在循环依赖,已停止继续计算`),`callback`),[...r]}function de(t){let r=t.map(e=>n.o(e).join(`.`));return e.value.filter(e=>!e.asyncOptions||!e.dependsOn?!1:(Array.isArray(e.dependsOn)?e.dependsOn:[e.dependsOn]).some(e=>{let t=n.o(e).join(`.`);return r.some(e=>e===t||e.startsWith(`${t}.`)||t.startsWith(`${e}.`))}))}function X(e,n=!0){let r=[...new Set([...e,...Y()])];ae(),de(r).forEach(e=>{K(e,`dependency`)}),n&&t.value.validateOnChange&&(0,d.nextTick)(()=>{C||Z(r).catch(()=>void 0)})}function fe(e){X([e])}function pe(e,t){t?m.set(e,t):m.delete(e)}async function me(){if(c?.value===!1)throw Error(`[C_Form] 布局尚未加载完成`);if(!a.value)throw Error(`[C_Form] 表单引用不存在`);try{let e=B.value.find(e=>S.has(e.prop));if(e)throw S.get(e.prop);if(await a.value.validate(),C)throw Error(`[C_Form] 表单已卸载`);o(`validate-success`,V())}catch(e){throw C||o(`validate-error`,e),e}}async function Z(e){if(c?.value===!1)throw Error(`[C_Form] 布局尚未加载完成`);if(!a.value)throw Error(`[C_Form] 表单引用不存在`);let t=[...new Set(Array.isArray(e)?e:[e])],n=t.find(e=>S.has(e));if(n)throw S.get(n);let r=[],i=t.flatMap(e=>{let t=m.get(e);return t?[t.validate()]:(r.push(e),[])});r.length>0&&i.push(a.value.validate(void 0,e=>r.includes(String(e.key??``))));let o=(await Promise.allSettled(i)).filter(e=>e.status===`rejected`).map(e=>e.reason);if(o.length>0)throw o}function he(e){if(!e){a.value?.restoreValidation();return}(Array.isArray(e)?e:[e]).forEach(e=>m.get(e)?.restoreValidation())}async function Q(e){let t=B.value.filter(e).map(e=>e.prop);if(t.length===0)return!0;try{return await Z(t),!0}catch{return!1}}function ge(e){let n=typeof e==`string`?e:t.value.steps?.steps?.[e]?.key;return n?Q(e=>e.layout?.step===n):Promise.resolve(!0)}function _e(e){return Q(t=>t.layout?.tab===e)}function ve(){return Q(e=>!!e.layout?.dynamic)}function ye(e){return Q(t=>t.layout?.group===e)}function be(e){Object.entries(n.t(e)).forEach(([e,t])=>{n.c(f,e,t)}),X(Object.keys(e))}function $(){let e=V();n.s(f,ne()),he(),X(W(e),!1),z(`info`,t.value.resetSuccessText)}async function xe(e,t,r=!1){n.c(f,e,n.t(t)),fe(e),r&&await Z(e)}function Se(e){return n.t(n.r(f,e))}async function Ce(e,t=!1){be(e),t&&await Z(Object.keys(e))}function we(){return C||c?.value===!1||x.value||t.value.disabled||t.value.readonly}function Te(e,r,i){return!C&&!e.signal.aborted&&c?.value!==!1&&!t.value.disabled&&!t.value.readonly&&i!==null&&a.value===i&&n.a(f,r)}async function Ee(){if(we())return!1;let e=V(),n=a.value,r=new AbortController;w=r,x.value=!0;try{if(await me(),!Te(r,e,n))return!1;let i={model:e,form:n};try{await t.value.onSubmit?.(i,{signal:r.signal})}catch(e){return r.signal.aborted||L(e,`submit`),!1}return r.signal.aborted?!1:(o(`submit`,i),z(`success`,t.value.submitSuccessText),!0)}catch{return!1}finally{w===r&&(w=void 0),x.value=!1}}function De(){se(!0);let e=s?.value??(t.value.mode===`edit`?t.value.initialValues:void 0);e&&U(e),(0,d.nextTick)(I)}return(0,d.watch)(e,()=>{let e=!A;e&&re(),se(e),A=!0},{deep:!0,immediate:!0}),s&&(0,d.watch)(s,e=>{e!==void 0&&!n.a(f,e)&&U(e)},{deep:!0,immediate:!0}),(0,d.watch)(()=>[t.value.mode,t.value.initialValues],([e,t])=>{s?.value!==void 0||e!==`edit`||!t||(U(t),(0,d.nextTick)(I))},{deep:!0}),(0,d.watch)(f,e=>{j||o(`update:modelValue`,n.t(e))},{deep:!0,flush:`post`}),(0,d.onScopeDispose)(()=>{C=!0,w?.abort(),E.forEach(e=>e.abort()),E.clear(),O.clear(),m.clear()}),{formModel:f,formRules:p,visibleOptions:B,initialize:De,handleFieldChange:fe,setFormItemRef:pe,getFormItemElement:e=>{let t=m.get(e)?.$el;return t?.nodeType===1?t:null},validate:me,validateField:Z,validateStep:ge,validateTab:_e,validateDynamicFields:ve,validateCustomGroup:ye,clearValidation:he,getModel:V,setFields:be,resetFields:$,setFieldValue:xe,getFieldValue:Se,setFieldsValue:Ce,submit:Ee,handleSubmit:Ee,handleReset:$,isSubmitting:x,isDirty:F,getChangedFields:ee,isFieldDirty:te,markAsClean:I,asyncOptionsCache:g,asyncLoadingMap:y,asyncErrorMap:b,getDictionaryOptions:R.getOptions,isDictionaryLoading:R.isLoading,reloadOptions:J}}function b(e,t){return e.matches(`:disabled`)||`disabled`in e&&e.disabled===!0||`readOnly`in e&&e.readOnly===!0||!t&&e.getAttribute(`tabindex`)===`-1`}function x(e){if(e.hidden||e.getAttribute(`aria-hidden`)===`true`||e.hasAttribute(`inert`)||e.getAttribute(`aria-disabled`)===`true`||e.getAttribute(`aria-readonly`)===`true`)return!0;let t=e.ownerDocument.defaultView?.getComputedStyle(e);return t?t.display===`none`||t.visibility===`hidden`||t.visibility===`collapse`:!1}function S(e,t=!1){if(!e.isConnected||typeof e.focus!=`function`||b(e,t))return!1;for(let t=e;t;t=t.parentElement)if(x(t))return!1;return!0}function C(e,t,n){if(!e||!S(e,n))return!1;(t??e).scrollIntoView?.({block:`nearest`,inline:`nearest`}),e.focus({preventScroll:!0});let r=e.ownerDocument.activeElement;return!!r&&(r===e||e.contains(r))}async function w(e,t,n,r){return e.focusTarget?e.focusTarget({field:e.prop,element:t,model:n,signal:r}):[...t?.querySelectorAll(`input:not([type="hidden"]),textarea,select,button,[tabindex],[contenteditable="true"]`)??[]].find(e=>S(e))}function T(e){let t=0,n=!1,r=!1,i,a=Promise.resolve(),o=()=>{let e=++t,n=i;return i=void 0,n?.abort(),e},s=t=>{let n=e.fields().find(e=>e.prop===t);if(!n||n.layout?.hidden)return;let r=e.access(n);return r.disabled||r.readonly?void 0:n},c=e=>n&&!r&&e===t,l=(t,n)=>{try{e.onError?.(t,n)}catch{}};return(0,d.onMounted)(()=>{n=!0}),(0,d.onActivated)(()=>{n=!0}),(0,d.onDeactivated)(()=>{n=!1,o()}),(0,d.onScopeDispose)(()=>{r=!0,n=!1,o()}),(0,d.watch)(e.layoutType,o),async t=>{let n=o();if(!c(n))return!1;let r=new AbortController;i=r;let u=()=>c(n)&&!r.signal.aborted,f=a.then(async()=>{if(await(0,d.nextTick)(),!u()||!s(t))return!1;let n=e.layout.value?.revealField;return n&&!await n(t,u)?!1:(await(0,d.nextTick)(),u()&&!!s(t))});a=f.catch(()=>!1);try{if(!await f)return!1;let n=s(t);if(!n)return!1;let i=e.getElement(t),a=await w(n,i,e.model,r.signal);if(!u()||s(t)!==n)return!1;let o=C(a,i,!!n.focusTarget);return u()&&o}catch(e){return u()&&l(e,t),!1}}}function E(e,t,n){let r=e.inputProps,i=r&&typeof r==`object`&&!Array.isArray(r)?r:{};return{...e,...n===`compact`&&e.showButton===void 0?{showButton:!1}:{},inputProps:{role:`spinbutton`,inputmode:e.precision===0?`numeric`:`decimal`,"aria-label":t.label,"aria-valuenow":Number.isFinite(e.value)?e.value:void 0,"aria-valuemin":e.min??void 0,"aria-valuemax":e.max??void 0,...i}}}const D=Symbol(`c-form-renderer-registry`);function O(e={}){let t=(0,d.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 k(e,t,n){return e===void 0?t:typeof e==`function`?e(n):e}function A(e){return{input:t=>(0,d.h)(e.NInput,{...t}),textarea:t=>(0,d.h)(e.NInput,{...t,type:`textarea`}),inputNumber:(t,n,r)=>(0,d.h)(e.NInputNumber,E(t,n,r.density)),switch:t=>(0,d.h)(e.NSwitch,{...t}),slider:t=>(0,d.h)(e.NSlider,{...t}),rate:t=>(0,d.h)(e.NRate,{...t}),datePicker:t=>(0,d.h)(e.NDatePicker,{...t}),daterange:t=>(0,d.h)(e.NDatePicker,{...t,type:`daterange`}),timePicker:t=>(0,d.h)(e.NTimePicker,{...t}),cascader:t=>(0,d.h)(e.NCascader,{...t}),colorPicker:t=>(0,d.h)(e.NColorPicker,{...t}),select:(t,n)=>(0,d.h)(e.NSelect,{...t,options:n.children?.map(e=>({...e}))||[]}),checkbox:(t,n)=>(0,d.h)(e.NCheckboxGroup,{...t},{default:()=>(0,d.h)(e.NSpace,{},{default:()=>n.children?.map(t=>(0,d.h)(e.NCheckbox,{value:t.value,label:t.label,disabled:t.disabled,key:String(t.value)}))||[]})}),radio:(t,n)=>(0,d.h)(e.NRadioGroup,{...t},{default:()=>(0,d.h)(e.NSpace,{},{default:()=>n.children?.map(t=>(0,d.h)(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`],(0,d.h)(e.NUpload,{...a,fileList:Array.isArray(o)?o:[],"onUpdate:fileList":e=>s?.(e)},{default:()=>i.slots?.uploadClick?.()||(0,d.h)(e.NButton,{type:`primary`,size:n.attrs?.size??r.size,disabled:a.disabled===!0},{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`],(0,d.h)(e.C_Editor,{...r,editorId:`editor-${n.prop}`,modelValue:typeof i==`string`?i:``,"onUpdate:modelValue":e=>a?.(e)})}}}const j=O();function M(e,t){return j.register(e,t)}function N(e,t){return j.unregister(e,t)}const P=new Set([`select`,`checkbox`,`radio`,`cascader`]),F=new Set([`input`,`textarea`,`inputNumber`,`select`,`checkbox`,`radio`,`switch`,`datePicker`,`daterange`,`timePicker`,`cascader`,`colorPicker`]),ee=new Set([`input`,`textarea`,`inputNumber`,`rate`,`editor`]);function te(e){let{formModel:r,visibleOptions:i,config:a,handleFieldChange:o,componentMap:s,instanceSlots:c,asyncOptionsCache:l,asyncLoadingMap:u,renderers:f,setFormItemRef:p,onError:m}=e,h=s,g=A(h),_=(0,d.getCurrentInstance)()?(0,d.inject)(D,void 0):void 0,v=e.registry??_??j,y=e=>f?.value?.[e]??v.get(e)??g[e],b=e=>{let t=k(e.disabled,a.value.disabled,r),i=k(e.readonly,a.value.readonly,r),s=ee.has(e.type),c={...F.has(e.type)?{size:e.attrs?.size??a.value.size}:{},value:n.r(r,e.prop),"onUpdate:value":t=>{k(e.disabled,a.value.disabled,r)||k(e.readonly,a.value.readonly,r)||(n.c(r,e.prop,t),o(e.prop))},disabled:t||i&&!s,readonly:i||e.type===`rate`&&t};return e.type===`textarea`&&(c.type=`textarea`),e.placeholder&&(c.placeholder=e.placeholder),c};function x(t){let n=t.children??[];return Object.prototype.hasOwnProperty.call(l.value,t.prop)?l.value[t.prop]??[]:t.children!==void 0||t.asyncOptions?n:e.getDictionaryOptions?.(t.prop).map(e=>({...e}))??[]}function S(e){return P.has(e.type)?{...e,children:x(e)}:e}function C(t,n){return t.type===`select`&&(u.value[t.prop]||e.isDictionaryLoading?.(t.prop))&&(n.loading=!0),n}function w(e,t){return e.dictionary!==void 0&&e.children===void 0&&!e.asyncOptions&&P.has(e.type)&&t===g[e.type]}function T(e,n){let r=e[`onUpdate:value`];e.value=t.r(e.value),e[`onUpdate:value`]=e=>{let n=t.n(e);Array.isArray(r)?r.forEach(e=>e(n)):r?.(n)},n.children=t.o(n.children??[]),e.options=n.children,e.fallbackOption=e=>({value:e,label:String(t.n(e)??``)})}let E=e=>{try{let t=S(e),n=y(t.type);if(!n)return m?.(TypeError(`[C_Form] 未支持的组件类型: ${t.type}`),t.prop),null;let r=C(t,(0,d.mergeProps)(t.attrs??{},b(t)));return w(e,n)&&T(r,t),n(r,t,a.value,{slots:c,components:h})}catch(t){return m?.(t,e.prop),null}};function O(e){if(e.label)return e.help?(0,d.h)(`span`,{style:`display:inline-flex;align-items:center;gap:4px`},[e.label,(0,d.h)(h.NTooltip,{trigger:`hover`},{trigger:()=>(0,d.h)(`span`,{style:`cursor:help;opacity:0.5;font-size:14px`,textContent:`ⓘ`}),default:()=>e.help})]):e.label}return{renderFormItem:E,formItems:(0,d.computed)(()=>i.value.map(e=>{let t=!!(e.required||e.rules?.some(e=>e.required)),n=O(e);return(0,d.h)(h.NFormItem,{label:typeof n==`string`?n:void 0,path:e.prop,class:`c-form-field`,key:e.prop,required:t,ref:t=>p?.(e.prop,t)},{...typeof n!=`string`&&n?{label:()=>n}:{},default:()=>E(e)})})),getBaseProps:b}}const I={class:`c-form-default`},ne=(0,d.defineComponent)({__name:`index`,props:{formItems:{},layoutConfig:{},options:{}},setup(e){return(t,n)=>((0,d.openBlock)(),(0,d.createElementBlock)(`div`,I,[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(e.formItems,(e,t)=>((0,d.openBlock)(),(0,d.createBlock)((0,d.resolveDynamicComponent)(e),{key:e.key??t}))),128))]))}});var L=o.t(ne,[[`__scopeId`,`data-v-4313de0c`]]);const R=(0,d.defineComponent)({__name:`index`,props:{formItems:{},layoutConfig:{default:()=>({})},options:{default:()=>[]}},setup(e){let t=e,n=(0,d.computed)(()=>t.layoutConfig?.inline?.itemWidth??280),r=(0,d.computed)(()=>t.layoutConfig?.inline?.gap??16),i=(0,d.computed)(()=>t.layoutConfig?.inline?.rowGap??16),a=(0,d.computed)(()=>t.layoutConfig?.inline?.align??`center`),o=(0,d.computed)(()=>{switch(a.value){case`start`:return`flex-start`;case`end`:return`flex-end`;default:return a.value}}),s=(0,d.computed)(()=>{switch(a.value){case`start`:return`flex-start`;case`end`:return`flex-end`;case`center`:return`center`;default:return`flex-start`}}),c=(0,d.computed)(()=>({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)=>((0,d.openBlock)(),(0,d.createElementBlock)(`div`,{class:`c-form-inline`,style:(0,d.normalizeStyle)(c.value)},[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(e.formItems,(e,t)=>((0,d.openBlock)(),(0,d.createElementBlock)(`div`,{key:l(e,t),class:`c-form-inline-item`,style:(0,d.normalizeStyle)(u(t))},[((0,d.openBlock)(),(0,d.createBlock)((0,d.resolveDynamicComponent)(e)))],4))),128))],4))}});var z=o.t(R,[[`__scopeId`,`data-v-711f6c00`]]);const B={class:`config-header`},re={class:`config-controls`},V={class:`config-label`},ie={class:`item-wrapper`},H=(0,d.defineComponent)({__name:`index`,props:{controlSize:{},formItems:{},layoutConfig:{default:()=>({})},options:{default:()=>[]}},setup(e,{expose:t}){let n=e,r=(0,d.reactive)({cols:24,gutter:16,responsive:!0}),i=(0,d.computed)(()=>n.layoutConfig?.grid||{}),o=(0,d.computed)(()=>i.value.showConfigPanel),s=(0,d.computed)(()=>i.value.showStats),l=(0,d.computed)(()=>({cols:o.value?r.cols:i.value.cols??24,gutter:o.value?r.gutter:i.value.gutter??16,responsive:o.value?r.responsive:i.value.responsive??!0})),u=(0,d.ref)(null),p=c.t(u,()=>l.value.responsive),m=(0,d.computed)(()=>{let e=i.value.minItemWidth;return l.value.responsive&&typeof e==`number`&&Number.isFinite(e)&&e>0?e:0}),h=(0,d.computed)(()=>{let e=i.value.xGap??l.value.gutter;return l.value.responsive&&p.value>0?Math.min(e,p.value/Math.max(1,l.value.cols)):e}),g=(0,d.computed)(()=>({cols:l.value.cols,xGap:h.value,yGap:i.value.yGap??i.value.yGutter??l.value.gutter,responsive:l.value.responsive?`screen`:`self`})),_=(0,d.computed)(()=>[{key:`cols`,label:`列数`,component:f.NInputNumber,value:r.cols,update:e=>{typeof e==`number`&&(r.cols=e)},props:{min:1,max:48,size:n.controlSize??`small`}},{key:`gutter`,label:`间距`,component:f.NInputNumber,value:r.gutter,update:e=>{typeof e==`number`&&(r.gutter=e)},props:{min:0,max:48,size:n.controlSize??`small`}},{key:`responsive`,label:`响应式`,component:f.NSwitch,value:r.responsive,update:e=>{typeof e==`boolean`&&(r.responsive=e)},props:{size:n.controlSize??`small`}}]),v=(0,d.computed)(()=>`列数: ${l.value.cols} | 间距: ${l.value.gutter}px | 项目: ${n.formItems.length}个`),y=(e,t)=>String(e.key)||e.props?.path||`grid-item-${t}`,b=(e,t)=>{let r=n.options?.[e]?.layout;return r?.[t]??r?.grid?.[t]},x=()=>{let{cols:e}=l.value;if(m.value&&p.value>0){let t=Math.max(1,Math.min(e,Math.floor((p.value+h.value)/(m.value+h.value))));return Math.ceil(e/t)}return e<=12?e:e<=24?12:8},S=e=>{if(!m.value||p.value<=0)return e;let{cols:t}=l.value,n=Math.ceil(t*(m.value+h.value)/(p.value+h.value));return Math.min(t,Math.max(e,n))},C=e=>{let t=b(e,`span`),n=b(e,`offset`),r=b(e,`suffix`);return{span:typeof t==`number`&&t>0&&t<=l.value.cols?S(t):x(),offset:typeof n==`number`&&n>=0&&n<l.value.cols?n:0,suffix:!!r}};return(0,d.watch)(i,e=>{e.cols!==void 0&&(r.cols=e.cols),e.gutter!==void 0&&(r.gutter=e.gutter),e.responsive!==void 0&&(r.responsive=e.responsive)},{immediate:!0}),t({updateGridConfig:e=>Object.assign(r,e),getCurrentConfig:()=>({...l.value}),getGridInfo:()=>({...l.value,itemCount:n.formItems.length})}),(t,n)=>{let r=f.NCard,i=f.NGridItem,c=f.NGrid,l=f.NAlert;return(0,d.openBlock)(),(0,d.createElementBlock)(`div`,{ref_key:`rootRef`,ref:u,class:`c-grid-layout`},[(0,d.createCommentVNode)(` 配置面板 `),o.value?((0,d.openBlock)(),(0,d.createBlock)(r,{key:0,size:e.controlSize??`small`,bordered:!1,class:`config-panel`},{header:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`div`,B,[(0,d.createVNode)(a.t,{name:`mdi:view-grid`,size:18}),n[0]||=(0,d.createElementVNode)(`span`,null,`网格配置`,-1)])]),default:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`div`,re,[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(_.value,e=>((0,d.openBlock)(),(0,d.createElementBlock)(`div`,{key:e.key,class:`config-item`},[(0,d.createElementVNode)(`span`,V,(0,d.toDisplayString)(e.label)+`:`,1),((0,d.openBlock)(),(0,d.createBlock)((0,d.resolveDynamicComponent)(e.component),(0,d.mergeProps)({value:e.value},{ref_for:!0},e.props,{"onUpdate:value":e.update}),null,16,[`value`,`onUpdate:value`]))]))),128))])]),_:1},8,[`size`])):(0,d.createCommentVNode)(`v-if`,!0),(0,d.createCommentVNode)(` 网格容器 `),(0,d.createVNode)(c,(0,d.mergeProps)(g.value,{class:`grid-container`}),{default:(0,d.withCtx)(()=>[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(e.formItems,(e,t)=>((0,d.openBlock)(),(0,d.createBlock)(i,(0,d.mergeProps)({key:y(e,t)},{ref_for:!0},C(t),{class:`grid-item`}),{default:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`div`,ie,[((0,d.openBlock)(),(0,d.createBlock)((0,d.resolveDynamicComponent)(e)))])]),_:2},1040))),128))]),_:1},16),(0,d.createCommentVNode)(` 统计信息 `),s.value?((0,d.openBlock)(),(0,d.createBlock)(l,{key:1,type:`info`,"show-icon":!1,size:`small`,class:`grid-stats`},{header:(0,d.withCtx)(()=>[(0,d.createVNode)(a.t,{name:`mdi:information-outline`,size:16}),n[1]||=(0,d.createTextVNode)(` 网格信息 `,-1)]),default:(0,d.withCtx)(()=>[(0,d.createTextVNode)(` `+(0,d.toDisplayString)(v.value),1)]),_:1})):(0,d.createCommentVNode)(`v-if`,!0)],512)}}});var ae=o.t(H,[[`__scopeId`,`data-v-185a44af`]]);const oe=[`default`,`inline`,`grid`],se={NFormItem:f.NFormItem,NInput:f.NInput,NInputNumber:f.NInputNumber,NSwitch:f.NSwitch,NSelect:f.NSelect,NCheckboxGroup:f.NCheckboxGroup,NCheckbox:f.NCheckbox,NRadioGroup:f.NRadioGroup,NRadio:f.NRadio,NButton:f.NButton,NSpace:f.NSpace,NTooltip:f.NTooltip,NSlider:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./slider.cjs`))),NRate:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./rate.cjs`))),NDatePicker:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./date-picker.cjs`))),NTimePicker:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./time-picker.cjs`))),NCascader:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./cascader.cjs`))),NColorPicker:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./color-picker.cjs`))),NUpload:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./upload.cjs`))),C_Editor:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./C_Editor.cjs`)).then(e=>e.C_Editor))},U={default:L,inline:z,grid:ae,card:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Card.cjs`))),tabs:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Tabs.cjs`))),steps:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Steps.cjs`))),dynamic:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Dynamic.cjs`))),custom:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Custom.cjs`)))},W=(0,d.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:i}){let a=t,o=i,c=s.o(),l=(0,d.useAttrs)(),u=(0,d.computed)(()=>s.r(a.config,c)),p=(0,d.computed)(()=>{let{size:e}=l;return s.i({...u.value,...e===`small`||e===`medium`||e===`large`?{size:e}:{}})}),m=(0,d.computed)(()=>u.value.density!==void 0),h=(0,d.computed)(()=>e.t(p.value.density)),g=(0,d.computed)(()=>{if(!m.value)return;let{gap:e,rowGap:t,padding:n,formItemGap:r}=h.value;return{"--c-form-gap":`${e}px`,"--c-form-row-gap":`${t}px`,"--c-form-padding":`${n}px`,"--c-form-item-gap":`${r}px`}}),{t:_}=r.t(()=>p.value.locale),v=(0,d.ref)(null),b=(0,d.ref)(null),x=(0,d.computed)(()=>oe.includes(p.value.layout)||b.value===p.value.layout),{formModel:S,formRules:C,visibleOptions:w,initialize:E,handleFieldChange:D,validate:O,validateField:k,validateStep:A,validateTab:j,validateDynamicFields:M,validateCustomGroup:N,clearValidation:P,getModel:F,setFields:ee,resetFields:I,setFieldValue:ne,getFieldValue:L,setFieldsValue:R,handleSubmit:z,handleReset:B,isDirty:re,getChangedFields:V,isFieldDirty:ie,markAsClean:H,asyncOptionsCache:ae,asyncLoadingMap:W,asyncErrorMap:G,getDictionaryOptions:ce,isDictionaryLoading:K,reloadOptions:q,setFormItemRef:le,getFormItemElement:ue,isSubmitting:J,submit:Y}=y((0,d.computed)(()=>a.options),p,v,o,(0,d.computed)(()=>a.modelValue),x),de=(0,d.computed)(()=>S),X=()=>F(),fe=(0,d.computed)(()=>({form:v.value,model:de.value,validate:O,validateField:k,reset:I,setFields:ee,getModel:X,clearValidation:P,submit:Y,reloadOptions:q,submitting:J.value})),pe=(0,d.getCurrentInstance)(),me=()=>Object.keys(pe?.slots??{}).filter(e=>![`action`,`action-extra`,`step-actions`].includes(e)),{formItems:Z,getBaseProps:he}=te({formModel:S,visibleOptions:w,config:p,handleFieldChange:D,componentMap:se,instanceSlots:pe?.slots,asyncOptionsCache:ae,asyncLoadingMap:W,renderers:(0,d.computed)(()=>a.renderers),getDictionaryOptions:ce,isDictionaryLoading:K,setFormItemRef:le,onError:(e,t)=>p.value.onError?.(e,{source:`render`,field:t})}),Q=(0,d.shallowRef)(null),ge=T({layout:Q,layoutType:()=>p.value.layout,fields:()=>w.value,model:S,getElement:ue,access:he,onError:(e,t)=>p.value.onError?.(e,{source:`callback`,field:t})}),_e=(0,d.computed)(()=>U[p.value.layout]||U.default),ve=(0,d.computed)(()=>{let e=p.value,t={type:e.layout,grid:e.grid,inline:e.inline,card:e.card,tabs:e.tabs,steps:e.steps,dynamic:e.dynamic,custom:e.custom};if(!m.value)return t;let{gap:n,rowGap:r}=h.value;return{...t,grid:{gutter:n,yGutter:e.grid?.gutter??r,...e.grid},inline:{gap:n,rowGap:r,...e.inline},card:{spacing:n,...e.card},tabs:{size:e.size,...e.tabs},steps:{size:e.size===`small`?`small`:`medium`,...e.steps},dynamic:{...e.dynamic,grid:{gutter:n,...e.dynamic?.grid}}}}),ye=(0,d.computed)(()=>s.a(p.value)),be=(0,d.computed)(()=>{let{layout:e}=p.value;return{...e===`steps`?{beforeStepChange:De,validateStep:Oe,submitting:J.value,disabled:p.value.disabled||p.value.readonly}:e===`tabs`?{beforeTabChange:we,validateTab:Te}:{},controlSize:m.value?p.value.size:void 0,onVnodeMounted:()=>{b.value=e}}}),$=(e,...t)=>{let n=p.value[e];if(typeof n==`function`)try{let e=n(...t);e instanceof Promise&&e.catch(e=>p.value.onError?.(e,{source:`callback`}))}catch(e){p.value.onError?.(e,{source:`callback`})}},xe=e=>{p.value.onFieldsChange?.(e)},Se=e=>{o(`validate-success`,e)},Ce=e=>{o(`validate-error`,e)},we=async(e,t)=>{try{return await p.value.onTabBeforeChange?.(e,t)!==!1}catch(e){return p.value.onError?.(e,{source:`callback`}),!1}},Te=async e=>{let t=await j(e);return t&&p.value.onTabValidate?.(e),t},Ee=(e,t)=>{p.value.onStepChange?.(e,t)},De=async(e,t)=>{try{return await p.value.onStepBeforeChange?.(e,t)!==!1}catch(e){return p.value.onError?.(e,{source:`callback`}),!1}},Oe=async(e,t)=>{try{return await A(t)?(p.value.onStepValidate?.(e),!0):!1}catch{return!1}};return n({validate:O,revealField:ge,validateField:k,validateStep:A,validateTab:j,validateDynamicFields:M,validateCustomGroup:N,clearValidation:P,getModel:F,setFields:ee,resetFields:I,setFieldValue:ne,getFieldValue:L,setFieldsValue:R,formRef:v,formModel:S,initialize:E,layoutType:(0,d.computed)(()=>p.value.layout),shouldShowDefaultActions:ye,isDirty:re,getChangedFields:V,isFieldDirty:ie,markAsClean:H,asyncLoadingMap:W,asyncErrorMap:G,reloadOptions:q,isSubmitting:J,submit:Y}),(e,t)=>((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.NForm),(0,d.mergeProps)({ref_key:`formRef`,ref:v,class:[`c-form`,m.value&&`c-form--${p.value.density}`],style:g.value,model:(0,d.unref)(S),rules:(0,d.unref)(C),"validate-on-rule-change":!1,"label-placement":p.value.labelPlacement,"label-width":p.value.labelWidth,size:p.value.size,disabled:p.value.disabled,readonly:p.value.readonly},e.$attrs,{onSubmit:(0,d.withModifiers)((0,d.unref)(Y),[`prevent`])}),{default:(0,d.withCtx)(()=>[(0,d.createCommentVNode)(` 布局组件渲染 `),((0,d.openBlock)(),(0,d.createBlock)((0,d.resolveDynamicComponent)(_e.value),(0,d.mergeProps)({ref_key:`layoutRef`,ref:Q,key:p.value.layout,"form-items":(0,d.unref)(Z),"layout-config":ve.value,options:(0,d.unref)(w),"form-data":(0,d.unref)(S)},be.value,{onTabChange:t[0]||=(e,t)=>$(`onTabChange`,e,t),onStepChange:Ee,onFieldAdd:t[1]||=e=>$(`onFieldAdd`,e),onFieldRemove:t[2]||=e=>$(`onFieldRemove`,e),onFieldToggle:t[3]||=(e,t)=>$(`onFieldToggle`,e,t),onFieldsClear:t[4]||=e=>$(`onFieldsClear`),onRenderModeChange:t[5]||=e=>$(`onRenderModeChange`,e),onGroupToggle:t[6]||=(e,t)=>$(`onGroupToggle`,e,t),onGroupReset:t[7]||=e=>$(`onGroupReset`,e),onValidateSuccess:Se,onValidateError:Ce,onFieldsChange:xe}),(0,d.createSlots)({"step-actions":(0,d.withCtx)(t=>[(0,d.renderSlot)(e.$slots,`step-actions`,(0,d.mergeProps)(t,{submit:(0,d.unref)(Y),submitting:(0,d.unref)(J)}),()=>[t.isLastStep&&p.value.showActions?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.NButton),{key:0,type:`primary`,size:p.value.size,loading:(0,d.unref)(J)||!x.value,disabled:!x.value||(0,d.unref)(J)||p.value.disabled||p.value.readonly,onClick:(0,d.unref)(Y)},{default:(0,d.withCtx)(()=>[(0,d.createTextVNode)((0,d.toDisplayString)(p.value.submitText||(0,d.unref)(_)(`common.submit`)),1)]),_:1},8,[`size`,`loading`,`disabled`,`onClick`])):(0,d.createCommentVNode)(`v-if`,!0)],!0)]),_:2},[(0,d.renderList)(me(),t=>({name:t,fn:(0,d.withCtx)(n=>[(0,d.renderSlot)(e.$slots,t,(0,d.normalizeProps)((0,d.guardReactiveProps)(n)),void 0,!0)])}))]),1040,[`form-items`,`layout-config`,`options`,`form-data`])),(0,d.createCommentVNode)(` 表单操作按钮区域(只在特定布局中显示) `),ye.value?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.NFormItem),{key:0,class:`c-form-actions`,"show-feedback":!1},{default:(0,d.withCtx)(()=>[(0,d.renderSlot)(e.$slots,`action`,(0,d.normalizeProps)((0,d.guardReactiveProps)(fe.value)),()=>[(0,d.createVNode)((0,d.unref)(f.NSpace),{justify:`end`,size:m.value?h.value.gap:void 0,style:{width:`100%`}},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.NButton),{size:p.value.size,disabled:!x.value||(0,d.unref)(J)||p.value.disabled||p.value.readonly,onClick:(0,d.unref)(B)},{default:(0,d.withCtx)(()=>[(0,d.createTextVNode)((0,d.toDisplayString)(p.value.resetText||(0,d.unref)(_)(`common.reset`)),1)]),_:1},8,[`size`,`disabled`,`onClick`]),(0,d.renderSlot)(e.$slots,`action-extra`,(0,d.normalizeProps)((0,d.guardReactiveProps)(fe.value)),void 0,!0),(0,d.createVNode)((0,d.unref)(f.NButton),{type:`primary`,size:p.value.size,loading:(0,d.unref)(J)||!x.value,disabled:!x.value||(0,d.unref)(J)||p.value.disabled||p.value.readonly,onClick:(0,d.unref)(z)},{default:(0,d.withCtx)(()=>[(0,d.createTextVNode)((0,d.toDisplayString)(p.value.submitText||(0,d.unref)(_)(`common.submit`)),1)]),_:1},8,[`size`,`loading`,`disabled`,`onClick`])]),_:3},8,[`size`])],!0)]),_:3})):(0,d.createCommentVNode)(`v-if`,!0)]),_:3},16,[`class`,`style`,`model`,`rules`,`label-placement`,`label-width`,`size`,`disabled`,`readonly`,`onSubmit`]))}});var G=o.t(W,[[`__scopeId`,`data-v-12ebc552`]]);function ce(e){return e}function K(e){return e}function q(e){let t=(0,d.shallowRef)(n.t(e.initialValues)),r=(0,d.shallowRef)(null);return{model:t,formRef:r,bindings:(0,d.computed)(()=>({modelValue:t.value,options:(0,d.toValue)(e.options),config:(0,d.toValue)(e.config),"onUpdate:modelValue":e=>{t.value=n.t(e)}})),validate:async()=>{if(!r.value)throw Error(`C_Form is not mounted`);await r.value.validate()},submit:()=>r.value?.submit()??Promise.resolve(!1),reset:()=>{r.value?(r.value.resetFields(),t.value=n.t(r.value.getModel())):t.value=n.t(e.initialValues)},getValues:()=>n.t(r.value?.getModel()??t.value),setValues:async(e,i=!1)=>{r.value?(await r.value.setFieldsValue(e,i),t.value=n.t(r.value.getModel())):t.value={...t.value,...n.t(e)}}}}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return te}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return y}});
|
|
1
|
+
require(`./chunk.cjs`);const e=require(`./density.cjs`),t=require(`./dictionary.cjs`),n=require(`./data2.cjs`),r=require(`./useComponentLocale.cjs`),i=require(`./feedback.cjs`),a=require(`./C_Icon2.cjs`),o=require(`./export-helper.cjs`),s=require(`./useFormConfig.cjs`),c=require(`./useGridWidth.cjs`),l=require(`./useDictionary.cjs`),u=require(`./formValidation.cjs`);let d=require(`vue`),f=require(`naive-ui`);function p(e,t){if(Reflect.has(e,t)&&Object.prototype.hasOwnProperty.call(e,t))return(0,d.isReactive)(e);let r=e;for(let e of n.o(t)){if(!r||typeof r!=`object`||!(0,d.isReactive)(r))return!1;r=r[e]}return!0}function m(e,t=new Set){if(typeof e!=`object`||!e||t.has(e))return!0;t.add(e);let n=(0,d.isReactive)(e);if(Array.isArray(e)){for(let r of e)n=m(r,t)&&n;return n}return e instanceof Map?(e.forEach((e,r)=>{n=m(r,t)&&n,n=m(e,t)&&n}),n):e instanceof Set?(e.forEach(e=>{n=m(e,t)&&n}),n):(Object.values(e).forEach(e=>{n=m(e,t)&&n}),n)}function h(e,t){let r=(0,d.shallowRef)({}),i=new Map,a=(0,d.isReactive)(e);function o(){let n=new Set(t?(0,d.toValue)(t):[...Object.keys(r.value),...Object.keys(e)]);for(let e of i.keys())n.has(e)||i.delete(e);return n}let s=(0,d.computed)(()=>{for(let e of o())if(u(e))return!0;return!1});function c(){let e=[];for(let t of o())u(t)&&e.push(t);return e}function l(e){return f(e)}function u(t){if(!a)return f(t);let o=i.get(t);return o||(o=(0,d.computed)(()=>{let i=n.r(e,t),a=p(e,t);return{cacheable:m(i)&&a,dirty:!n.a(n.r(r.value,t),i)}}),i.set(t,o)),o.value.cacheable?o.value.dirty:f(t)}function f(t){let i=n.r(e,t);return m(i),!n.a(n.r(r.value,t),i)}function h(){r.value=n.t(e)}function g(){return n.t(r.value)}return{isDirty:s,getChangedFields:c,isFieldDirty:l,markAsClean:h,getCleanModel:g}}const g={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 _(e){return n.t((e.value===void 0?g[e.type]:e.value)??null)}function v(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 y(e,t,a,o,s,c){let f=(0,d.reactive)(n.t(s?.value??(t.value.mode===`edit`?t.value.initialValues:void 0)??{})),p=(0,d.reactive)({}),m=new Map,g=(0,d.ref)({}),y=(0,d.ref)({}),b=(0,d.ref)({}),x=(0,d.ref)(!1),S=new Map,C=!1,w,T=new Map,E=new Map,D=new Map,O=new Map,k=new Set,A=!1,j=!1,M=0,N=i.t(()=>t.value.feedback),{t:P}=r.t(()=>t.value.locale),{isDirty:F,getChangedFields:ee,isFieldDirty:te,markAsClean:I,getCleanModel:ne}=h(f,()=>e.value.map(e=>e.prop));function L(e,n,r){if(!C)try{t.value.onError?t.value.onError(e,{source:n,field:r}):N.error(e instanceof Error?e.message:String(e),e)}catch{}}let R=l.t(()=>new Map(e.value.filter(e=>e.dictionary!==void 0&&e.children===void 0&&!e.asyncOptions).map(e=>[e.prop,e.dictionary])),{onError:(e,t)=>L(e,`async-options`,t)});function z(e,t){if(!(C||!t))try{N[e](t)}catch{}}let B=(0,d.computed)(()=>e.value.filter(e=>{if(e.show===!1)return!1;if(!e.showWhen)return!0;try{return e.showWhen(f)}catch(t){return L(t,`callback`,e.prop),!1}}));function re(){j=!0;let e=++M;(0,d.nextTick)(()=>{e===M&&(j=!1)})}function V(){return n.t(f)}function ie(t){let r=t?n.t(t):{};return e.value.forEach(e=>{n.i(r,e.prop)||n.c(r,e.prop,_(e))}),r}function H(e){try{let t=u.n(e.rulesWhen?e.rulesWhen(f):e.rules);if(S.delete(e.prop),e.required&&!t.some(e=>e.required)){let n=e.label||e.prop;t.unshift(u.t(n,P(`form.required`,{label:n})))}if(e.crossFieldValidator){let n=e.crossFieldValidator;t.push({async validator(){let e=await n(f);if(e)throw Error(e)},trigger:[`change`,`blur`]})}if(t.length===0){delete p[e.prop];return}p[e.prop]=t.map(t=>({...t,key:e.prop}))}catch(t){delete p[e.prop],S.set(e.prop,t),L(t,`callback`,e.prop)}}function ae(){e.value.forEach(e=>{(e.rulesWhen||e.crossFieldValidator)&&H(e)})}function oe(e){k.forEach(r=>{e.has(r)||(m.delete(r),delete p[r],S.delete(r),G(r),D.delete(r),t.value.preserveRemovedFields||n.n(f,r))})}function se(t=!1){try{v(e.value);let r=V(),i=new Set(e.value.map(e=>e.prop));oe(i),e.value.forEach(e=>{n.i(f,e.prop)||n.c(f,e.prop,_(e)),H(e),ce(e)}),k=i,X(W(r),!1),t&&(0,d.nextTick)(I)}catch(e){throw L(e,`initialize`),e}}function U(e){let t=V();re(),n.s(f,ie(e)),X(W(t),!1)}function W(t){return[...new Set([...Object.keys(t),...Object.keys(f),...e.value.map(e=>e.prop)])].filter(e=>!n.a(n.r(t,e),n.r(f,e)))}function G(e){E.get(e)?.abort(),E.delete(e),T.delete(e),O.delete(e),delete g.value[e],delete y.value[e],delete b.value[e]}function ce(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),K(e,`initialize`)}}function K(e,t){if(C)return;let n=O.get(e.prop),r={item:e,reason:n?.reason===`initialize`?n.reason:t};O.set(e.prop,r),(0,d.nextTick)(()=>{O.get(e.prop)===r&&(O.delete(e.prop),ue(r.item,r.reason))})}function q(e,t,n){return C||n.signal.aborted||T.get(e)!==t||E.get(e)!==n}function le(e){return!C&&!!e.asyncOptions&&D.get(e.prop)===e.asyncOptions}async function ue(e,t){if(!le(e))return;let{prop:r}=e,i=(T.get(r)??0)+1;T.set(r,i),E.get(r)?.abort();let a=new AbortController;E.set(r,a),y.value[r]=!0,delete b.value[r];try{let o=await e.asyncOptions(V(),{field:r,reason:t,signal:a.signal});if(q(r,i,a))return;if(!Array.isArray(o))throw TypeError(`[C_Form] ${r}.asyncOptions 必须返回数组`);g.value[r]=n.t([...o])}catch(e){if(q(r,i,a))return;b.value[r]=e,L(e,`async-options`,r)}finally{T.get(r)===i&&E.get(r)===a&&(y.value[r]=!1,E.delete(r))}}async function J(t){let n=e.value.filter(e=>e.asyncOptions&&(!t||e.prop===t)),r=e.value.filter(e=>e.dictionary!==void 0&&e.children===void 0&&!e.asyncOptions&&(!t||e.prop===t));if(t&&n.length===0&&r.length===0)throw Error(`[C_Form] 未找到异步选项字段: ${t}`);await Promise.all([...n.map(e=>(O.delete(e.prop),ue(e,`manual`))),...r.map(e=>R.reload(e.prop))])}function Y(){let t=e.value.filter(e=>e.valueWhen),r=new Set;if(t.length===0)return[];for(let e=0;e<=t.length;e+=1){let e=!1;for(let i of t)try{let t=i.valueWhen?.(f);t!==void 0&&!n.a(n.r(f,i.prop),t)&&(n.c(f,i.prop,n.t(t)),r.add(i.prop),e=!0)}catch(e){L(e,`callback`,i.prop)}if(!e)return[...r]}return L(Error(`[C_Form] valueWhen 存在循环依赖,已停止继续计算`),`callback`),[...r]}function de(t){let r=t.map(e=>n.o(e).join(`.`));return e.value.filter(e=>!e.asyncOptions||!e.dependsOn?!1:(Array.isArray(e.dependsOn)?e.dependsOn:[e.dependsOn]).some(e=>{let t=n.o(e).join(`.`);return r.some(e=>e===t||e.startsWith(`${t}.`)||t.startsWith(`${e}.`))}))}function X(e,n=!0){let r=[...new Set([...e,...Y()])];ae(),de(r).forEach(e=>{K(e,`dependency`)}),n&&t.value.validateOnChange&&(0,d.nextTick)(()=>{C||Z(r).catch(()=>void 0)})}function fe(e){X([e])}function pe(e,t){t?m.set(e,t):m.delete(e)}async function me(){if(c?.value===!1)throw Error(`[C_Form] 布局尚未加载完成`);if(!a.value)throw Error(`[C_Form] 表单引用不存在`);try{let e=B.value.find(e=>S.has(e.prop));if(e)throw S.get(e.prop);if(await a.value.validate(),C)throw Error(`[C_Form] 表单已卸载`);o(`validate-success`,V())}catch(e){throw C||o(`validate-error`,e),e}}async function Z(e){if(c?.value===!1)throw Error(`[C_Form] 布局尚未加载完成`);if(!a.value)throw Error(`[C_Form] 表单引用不存在`);let t=[...new Set(Array.isArray(e)?e:[e])],n=t.find(e=>S.has(e));if(n)throw S.get(n);let r=[],i=t.flatMap(e=>{let t=m.get(e);return t?[t.validate()]:(r.push(e),[])});r.length>0&&i.push(a.value.validate(void 0,e=>r.includes(String(e.key??``))));let o=(await Promise.allSettled(i)).filter(e=>e.status===`rejected`).map(e=>e.reason);if(o.length>0)throw o}function he(e){if(!e){a.value?.restoreValidation();return}(Array.isArray(e)?e:[e]).forEach(e=>m.get(e)?.restoreValidation())}async function Q(e){let t=B.value.filter(e).map(e=>e.prop);if(t.length===0)return!0;try{return await Z(t),!0}catch{return!1}}function ge(e){let n=typeof e==`string`?e:t.value.steps?.steps?.[e]?.key;return n?Q(e=>e.layout?.step===n):Promise.resolve(!0)}function _e(e){return Q(t=>t.layout?.tab===e)}function ve(){return Q(e=>!!e.layout?.dynamic)}function ye(e){return Q(t=>t.layout?.group===e)}function be(e){Object.entries(n.t(e)).forEach(([e,t])=>{n.c(f,e,t)}),X(Object.keys(e))}function $(){let e=V();n.s(f,ne()),he(),X(W(e),!1),z(`info`,t.value.resetSuccessText)}async function xe(e,t,r=!1){n.c(f,e,n.t(t)),fe(e),r&&await Z(e)}function Se(e){return n.t(n.r(f,e))}async function Ce(e,t=!1){be(e),t&&await Z(Object.keys(e))}function we(){return C||c?.value===!1||x.value||t.value.disabled||t.value.readonly}function Te(e,r,i){return!C&&!e.signal.aborted&&c?.value!==!1&&!t.value.disabled&&!t.value.readonly&&i!==null&&a.value===i&&n.a(f,r)}async function Ee(){if(we())return!1;let e=V(),n=a.value,r=new AbortController;w=r,x.value=!0;try{if(await me(),!Te(r,e,n))return!1;let i={model:e,form:n};try{await t.value.onSubmit?.(i,{signal:r.signal})}catch(e){return r.signal.aborted||L(e,`submit`),!1}return r.signal.aborted?!1:(o(`submit`,i),z(`success`,t.value.submitSuccessText),!0)}catch{return!1}finally{w===r&&(w=void 0),x.value=!1}}function De(){se(!0);let e=s?.value??(t.value.mode===`edit`?t.value.initialValues:void 0);e&&U(e),(0,d.nextTick)(I)}return(0,d.watch)(e,()=>{let e=!A;e&&re(),se(e),A=!0},{deep:!0,immediate:!0}),s&&(0,d.watch)(s,e=>{e!==void 0&&!n.a(f,e)&&U(e)},{deep:!0,immediate:!0}),(0,d.watch)(()=>[t.value.mode,t.value.initialValues],([e,t])=>{s?.value!==void 0||e!==`edit`||!t||(U(t),(0,d.nextTick)(I))},{deep:!0}),(0,d.watch)(f,e=>{j||o(`update:modelValue`,n.t(e))},{deep:!0,flush:`post`}),(0,d.onScopeDispose)(()=>{C=!0,w?.abort(),E.forEach(e=>e.abort()),E.clear(),O.clear(),m.clear()}),{formModel:f,formRules:p,visibleOptions:B,initialize:De,handleFieldChange:fe,setFormItemRef:pe,getFormItemElement:e=>{let t=m.get(e)?.$el;return t?.nodeType===1?t:null},validate:me,validateField:Z,validateStep:ge,validateTab:_e,validateDynamicFields:ve,validateCustomGroup:ye,clearValidation:he,getModel:V,setFields:be,resetFields:$,setFieldValue:xe,getFieldValue:Se,setFieldsValue:Ce,submit:Ee,handleSubmit:Ee,handleReset:$,isSubmitting:x,isDirty:F,getChangedFields:ee,isFieldDirty:te,markAsClean:I,asyncOptionsCache:g,asyncLoadingMap:y,asyncErrorMap:b,getDictionaryOptions:R.getOptions,isDictionaryLoading:R.isLoading,reloadOptions:J}}function b(e,t){return e.matches(`:disabled`)||`disabled`in e&&e.disabled===!0||`readOnly`in e&&e.readOnly===!0||!t&&e.getAttribute(`tabindex`)===`-1`}function x(e){if(e.hidden||e.getAttribute(`aria-hidden`)===`true`||e.hasAttribute(`inert`)||e.getAttribute(`aria-disabled`)===`true`||e.getAttribute(`aria-readonly`)===`true`)return!0;let t=e.ownerDocument.defaultView?.getComputedStyle(e);return t?t.display===`none`||t.visibility===`hidden`||t.visibility===`collapse`:!1}function S(e,t=!1){if(!e.isConnected||typeof e.focus!=`function`||b(e,t))return!1;for(let t=e;t;t=t.parentElement)if(x(t))return!1;return!0}function C(e,t,n){if(!e||!S(e,n))return!1;(t??e).scrollIntoView?.({block:`nearest`,inline:`nearest`}),e.focus({preventScroll:!0});let r=e.ownerDocument.activeElement;return!!r&&(r===e||e.contains(r))}async function w(e,t,n,r){return e.focusTarget?e.focusTarget({field:e.prop,element:t,model:n,signal:r}):[...t?.querySelectorAll(`input:not([type="hidden"]),textarea,select,button,[tabindex],[contenteditable="true"]`)??[]].find(e=>S(e))}function T(e){let t=0,n=!1,r=!1,i,a=Promise.resolve(),o=()=>{let e=++t,n=i;return i=void 0,n?.abort(),e},s=t=>{let n=e.fields().find(e=>e.prop===t);if(!n||n.layout?.hidden)return;let r=e.access(n);return r.disabled||r.readonly?void 0:n},c=e=>n&&!r&&e===t,l=(t,n)=>{try{e.onError?.(t,n)}catch{}};return(0,d.onMounted)(()=>{n=!0}),(0,d.onActivated)(()=>{n=!0}),(0,d.onDeactivated)(()=>{n=!1,o()}),(0,d.onScopeDispose)(()=>{r=!0,n=!1,o()}),(0,d.watch)(e.layoutType,o),async t=>{let n=o();if(!c(n))return!1;let r=new AbortController;i=r;let u=()=>c(n)&&!r.signal.aborted,f=a.then(async()=>{if(await(0,d.nextTick)(),!u()||!s(t))return!1;let n=e.layout.value?.revealField;return n&&!await n(t,u)?!1:(await(0,d.nextTick)(),u()&&!!s(t))});a=f.catch(()=>!1);try{if(!await f)return!1;let n=s(t);if(!n)return!1;let i=e.getElement(t),a=await w(n,i,e.model,r.signal);if(!u()||s(t)!==n)return!1;let o=C(a,i,!!n.focusTarget);return u()&&o}catch(e){return u()&&l(e,t),!1}}}function E(e,t,n){let r=e.inputProps,i=r&&typeof r==`object`&&!Array.isArray(r)?r:{};return{...e,...n===`compact`&&e.showButton===void 0?{showButton:!1}:{},inputProps:{role:`spinbutton`,inputmode:e.precision===0?`numeric`:`decimal`,"aria-label":t.label,"aria-valuenow":Number.isFinite(e.value)?e.value:void 0,"aria-valuemin":e.min??void 0,"aria-valuemax":e.max??void 0,...i}}}const D=Symbol(`c-form-renderer-registry`);function O(e={}){let t=(0,d.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 k(e,t,n){return e===void 0?t:typeof e==`function`?e(n):e}function A(e){return{input:t=>(0,d.h)(e.NInput,{...t}),textarea:t=>(0,d.h)(e.NInput,{...t,type:`textarea`}),inputNumber:(t,n,r)=>(0,d.h)(e.NInputNumber,E(t,n,r.density)),switch:t=>(0,d.h)(e.NSwitch,{...t}),slider:t=>(0,d.h)(e.NSlider,{...t}),rate:t=>(0,d.h)(e.NRate,{...t}),datePicker:t=>(0,d.h)(e.NDatePicker,{...t}),daterange:t=>(0,d.h)(e.NDatePicker,{...t,type:`daterange`}),timePicker:t=>(0,d.h)(e.NTimePicker,{...t}),cascader:t=>(0,d.h)(e.NCascader,{...t}),colorPicker:t=>(0,d.h)(e.NColorPicker,{...t}),select:(t,n)=>(0,d.h)(e.NSelect,{...t,options:n.children?.map(e=>({...e}))||[]}),checkbox:(t,n)=>(0,d.h)(e.NCheckboxGroup,{...t},{default:()=>(0,d.h)(e.NSpace,{},{default:()=>n.children?.map(t=>(0,d.h)(e.NCheckbox,{value:t.value,label:t.label,disabled:t.disabled,key:String(t.value)}))||[]})}),radio:(t,n)=>(0,d.h)(e.NRadioGroup,{...t},{default:()=>(0,d.h)(e.NSpace,{},{default:()=>n.children?.map(t=>(0,d.h)(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`],(0,d.h)(e.NUpload,{...a,fileList:Array.isArray(o)?o:[],"onUpdate:fileList":e=>s?.(e)},{default:()=>i.slots?.uploadClick?.()||(0,d.h)(e.NButton,{type:`primary`,size:n.attrs?.size??r.size,disabled:a.disabled===!0},{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`],(0,d.h)(e.C_Editor,{...r,editorId:`editor-${n.prop}`,modelValue:typeof i==`string`?i:``,"onUpdate:modelValue":e=>a?.(e)})}}}const j=O();function M(e,t){return j.register(e,t)}function N(e,t){return j.unregister(e,t)}const P=new Set([`select`,`checkbox`,`radio`,`cascader`]),F=new Set([`input`,`textarea`,`inputNumber`,`select`,`checkbox`,`radio`,`switch`,`datePicker`,`daterange`,`timePicker`,`cascader`,`colorPicker`]),ee=new Set([`input`,`textarea`,`inputNumber`,`rate`,`editor`]);function te(e){let{formModel:r,visibleOptions:i,config:a,handleFieldChange:o,componentMap:s,instanceSlots:c,asyncOptionsCache:l,asyncLoadingMap:u,renderers:f,setFormItemRef:p,onError:m}=e,h=s,g=A(h),_=(0,d.getCurrentInstance)()?(0,d.inject)(D,void 0):void 0,v=e.registry??_??j,y=e=>f?.value?.[e]??v.get(e)??g[e],b=e=>{let t=k(e.disabled,a.value.disabled,r),i=k(e.readonly,a.value.readonly,r),s=ee.has(e.type),c={...F.has(e.type)?{size:e.attrs?.size??a.value.size}:{},value:n.r(r,e.prop),"onUpdate:value":t=>{k(e.disabled,a.value.disabled,r)||k(e.readonly,a.value.readonly,r)||(n.c(r,e.prop,t),o(e.prop))},disabled:t||i&&!s,readonly:i||e.type===`rate`&&t};return e.type===`textarea`&&(c.type=`textarea`),e.placeholder&&(c.placeholder=e.placeholder),c};function x(t){let n=t.children??[];return Object.prototype.hasOwnProperty.call(l.value,t.prop)?l.value[t.prop]??[]:t.children!==void 0||t.asyncOptions?n:e.getDictionaryOptions?.(t.prop).map(e=>({...e}))??[]}function S(e){return P.has(e.type)?{...e,children:x(e)}:e}function C(t,n){return t.type===`select`&&(u.value[t.prop]||e.isDictionaryLoading?.(t.prop))&&(n.loading=!0),n}function w(e,t){return e.dictionary!==void 0&&e.children===void 0&&!e.asyncOptions&&P.has(e.type)&&t===g[e.type]}function T(e,n){let r=e[`onUpdate:value`];e.value=t.r(e.value),e[`onUpdate:value`]=e=>{let n=t.n(e);Array.isArray(r)?r.forEach(e=>e(n)):r?.(n)},n.children=t.o(n.children??[]),e.options=n.children,e.fallbackOption=e=>({value:e,label:String(t.n(e)??``)})}let E=e=>{try{let t=S(e),n=y(t.type);if(!n)return m?.(TypeError(`[C_Form] 未支持的组件类型: ${t.type}`),t.prop),null;let r=C(t,(0,d.mergeProps)(t.attrs??{},b(t)));return w(e,n)&&T(r,t),n(r,t,a.value,{slots:c,components:h})}catch(t){return m?.(t,e.prop),null}};function O(e){if(e.label)return e.help?(0,d.h)(`span`,{style:`display:inline-flex;align-items:center;gap:4px`},[e.label,(0,d.h)(h.NTooltip,{trigger:`hover`},{trigger:()=>(0,d.h)(`span`,{style:`cursor:help;opacity:0.5;font-size:14px`,textContent:`ⓘ`}),default:()=>e.help})]):e.label}return{renderFormItem:E,formItems:(0,d.computed)(()=>i.value.map(e=>{let t=!!(e.required||e.rules?.some(e=>e.required)),n=O(e);return(0,d.h)(h.NFormItem,{label:typeof n==`string`?n:void 0,path:e.prop,class:`c-form-field`,key:e.prop,required:t,ref:t=>p?.(e.prop,t)},{...typeof n!=`string`&&n?{label:()=>n}:{},default:()=>E(e)})})),getBaseProps:b}}const I={class:`c-form-default`},ne=(0,d.defineComponent)({__name:`index`,props:{formItems:{},layoutConfig:{},options:{}},setup(e){return(t,n)=>((0,d.openBlock)(),(0,d.createElementBlock)(`div`,I,[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(e.formItems,(e,t)=>((0,d.openBlock)(),(0,d.createBlock)((0,d.resolveDynamicComponent)(e),{key:e.key??t}))),128))]))}});var L=o.t(ne,[[`__scopeId`,`data-v-4313de0c`]]);const R=(0,d.defineComponent)({__name:`index`,props:{formItems:{},layoutConfig:{default:()=>({})},options:{default:()=>[]}},setup(e){let t=e,n=(0,d.computed)(()=>t.layoutConfig?.inline?.itemWidth??280),r=(0,d.computed)(()=>t.layoutConfig?.inline?.gap??16),i=(0,d.computed)(()=>t.layoutConfig?.inline?.rowGap??16),a=(0,d.computed)(()=>t.layoutConfig?.inline?.align??`center`),o=(0,d.computed)(()=>{switch(a.value){case`start`:return`flex-start`;case`end`:return`flex-end`;default:return a.value}}),s=(0,d.computed)(()=>{switch(a.value){case`start`:return`flex-start`;case`end`:return`flex-end`;case`center`:return`center`;default:return`flex-start`}}),c=(0,d.computed)(()=>({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)=>((0,d.openBlock)(),(0,d.createElementBlock)(`div`,{class:`c-form-inline`,style:(0,d.normalizeStyle)(c.value)},[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(e.formItems,(e,t)=>((0,d.openBlock)(),(0,d.createElementBlock)(`div`,{key:l(e,t),class:`c-form-inline-item`,style:(0,d.normalizeStyle)(u(t))},[((0,d.openBlock)(),(0,d.createBlock)((0,d.resolveDynamicComponent)(e)))],4))),128))],4))}});var z=o.t(R,[[`__scopeId`,`data-v-711f6c00`]]);const B={class:`config-header`},re={class:`config-controls`},V={class:`config-label`},ie={class:`item-wrapper`},H=(0,d.defineComponent)({__name:`index`,props:{controlSize:{},formItems:{},layoutConfig:{default:()=>({})},options:{default:()=>[]}},setup(e,{expose:t}){let n=e,r=(0,d.reactive)({cols:24,gutter:16,responsive:!0}),i=(0,d.computed)(()=>n.layoutConfig?.grid||{}),o=(0,d.computed)(()=>i.value.showConfigPanel),s=(0,d.computed)(()=>i.value.showStats),l=(0,d.computed)(()=>({cols:o.value?r.cols:i.value.cols??24,gutter:o.value?r.gutter:i.value.gutter??16,responsive:o.value?r.responsive:i.value.responsive??!0})),u=(0,d.ref)(null),p=c.t(u,()=>l.value.responsive),m=(0,d.computed)(()=>{let e=i.value.minItemWidth;return l.value.responsive&&typeof e==`number`&&Number.isFinite(e)&&e>0?e:0}),h=(0,d.computed)(()=>{let e=i.value.xGap??l.value.gutter;return l.value.responsive&&p.value>0?Math.min(e,p.value/Math.max(1,l.value.cols)):e}),g=(0,d.computed)(()=>({cols:l.value.cols,xGap:h.value,yGap:i.value.yGap??i.value.yGutter??l.value.gutter,responsive:l.value.responsive?`screen`:`self`})),_=(0,d.computed)(()=>[{key:`cols`,label:`列数`,component:f.NInputNumber,value:r.cols,update:e=>{typeof e==`number`&&(r.cols=e)},props:{min:1,max:48,size:n.controlSize??`small`}},{key:`gutter`,label:`间距`,component:f.NInputNumber,value:r.gutter,update:e=>{typeof e==`number`&&(r.gutter=e)},props:{min:0,max:48,size:n.controlSize??`small`}},{key:`responsive`,label:`响应式`,component:f.NSwitch,value:r.responsive,update:e=>{typeof e==`boolean`&&(r.responsive=e)},props:{size:n.controlSize??`small`}}]),v=(0,d.computed)(()=>`列数: ${l.value.cols} | 间距: ${l.value.gutter}px | 项目: ${n.formItems.length}个`),y=(e,t)=>String(e.key)||e.props?.path||`grid-item-${t}`,b=(e,t)=>{let r=n.options?.[e]?.layout;return r?.[t]??r?.grid?.[t]},x=()=>{let{cols:e}=l.value;if(m.value&&p.value>0){let t=Math.max(1,Math.min(e,Math.floor((p.value+h.value)/(m.value+h.value))));return Math.ceil(e/t)}return e<=12?e:e<=24?12:8},S=e=>{if(!m.value||p.value<=0)return e;let{cols:t}=l.value,n=Math.ceil(t*(m.value+h.value)/(p.value+h.value));return Math.min(t,Math.max(e,n))},C=e=>{let t=b(e,`span`),n=b(e,`offset`),r=b(e,`suffix`);return{span:typeof t==`number`&&t>0&&t<=l.value.cols?S(t):x(),offset:typeof n==`number`&&n>=0&&n<l.value.cols?n:0,suffix:!!r}};return(0,d.watch)(i,e=>{e.cols!==void 0&&(r.cols=e.cols),e.gutter!==void 0&&(r.gutter=e.gutter),e.responsive!==void 0&&(r.responsive=e.responsive)},{immediate:!0}),t({updateGridConfig:e=>Object.assign(r,e),getCurrentConfig:()=>({...l.value}),getGridInfo:()=>({...l.value,itemCount:n.formItems.length})}),(t,n)=>{let r=f.NCard,i=f.NGridItem,c=f.NGrid,l=f.NAlert;return(0,d.openBlock)(),(0,d.createElementBlock)(`div`,{ref_key:`rootRef`,ref:u,class:`c-grid-layout`},[(0,d.createCommentVNode)(` 配置面板 `),o.value?((0,d.openBlock)(),(0,d.createBlock)(r,{key:0,size:e.controlSize??`small`,bordered:!1,class:`config-panel`},{header:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`div`,B,[(0,d.createVNode)(a.t,{name:`mdi:view-grid`,size:18}),n[0]||=(0,d.createElementVNode)(`span`,null,`网格配置`,-1)])]),default:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`div`,re,[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(_.value,e=>((0,d.openBlock)(),(0,d.createElementBlock)(`div`,{key:e.key,class:`config-item`},[(0,d.createElementVNode)(`span`,V,(0,d.toDisplayString)(e.label)+`:`,1),((0,d.openBlock)(),(0,d.createBlock)((0,d.resolveDynamicComponent)(e.component),(0,d.mergeProps)({value:e.value},{ref_for:!0},e.props,{"onUpdate:value":e.update}),null,16,[`value`,`onUpdate:value`]))]))),128))])]),_:1},8,[`size`])):(0,d.createCommentVNode)(`v-if`,!0),(0,d.createCommentVNode)(` 网格容器 `),(0,d.createVNode)(c,(0,d.mergeProps)(g.value,{class:`grid-container`}),{default:(0,d.withCtx)(()=>[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(e.formItems,(e,t)=>((0,d.openBlock)(),(0,d.createBlock)(i,(0,d.mergeProps)({key:y(e,t)},{ref_for:!0},C(t),{class:`grid-item`}),{default:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`div`,ie,[((0,d.openBlock)(),(0,d.createBlock)((0,d.resolveDynamicComponent)(e)))])]),_:2},1040))),128))]),_:1},16),(0,d.createCommentVNode)(` 统计信息 `),s.value?((0,d.openBlock)(),(0,d.createBlock)(l,{key:1,type:`info`,"show-icon":!1,size:`small`,class:`grid-stats`},{header:(0,d.withCtx)(()=>[(0,d.createVNode)(a.t,{name:`mdi:information-outline`,size:16}),n[1]||=(0,d.createTextVNode)(` 网格信息 `,-1)]),default:(0,d.withCtx)(()=>[(0,d.createTextVNode)(` `+(0,d.toDisplayString)(v.value),1)]),_:1})):(0,d.createCommentVNode)(`v-if`,!0)],512)}}});var ae=o.t(H,[[`__scopeId`,`data-v-185a44af`]]);const oe=[`default`,`inline`,`grid`],se={NFormItem:f.NFormItem,NInput:f.NInput,NInputNumber:f.NInputNumber,NSwitch:f.NSwitch,NSelect:f.NSelect,NCheckboxGroup:f.NCheckboxGroup,NCheckbox:f.NCheckbox,NRadioGroup:f.NRadioGroup,NRadio:f.NRadio,NButton:f.NButton,NSpace:f.NSpace,NTooltip:f.NTooltip,NSlider:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./slider.cjs`))),NRate:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./rate.cjs`))),NDatePicker:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./date-picker.cjs`))),NTimePicker:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./time-picker.cjs`))),NCascader:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./cascader.cjs`))),NColorPicker:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./color-picker.cjs`))),NUpload:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./upload.cjs`))),C_Editor:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./C_Editor.cjs`)).then(e=>e.C_Editor))},U={default:L,inline:z,grid:ae,card:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Card.cjs`))),tabs:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Tabs.cjs`))),steps:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Steps.cjs`))),dynamic:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Dynamic.cjs`))),custom:(0,d.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Custom.cjs`)))},W=(0,d.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:i}){let a=t,o=i,c=s.o(),l=(0,d.useAttrs)(),u=(0,d.computed)(()=>s.r(a.config,c)),p=(0,d.computed)(()=>{let{size:e}=l;return s.i({...u.value,...e===`small`||e===`medium`||e===`large`?{size:e}:{}})}),m=(0,d.computed)(()=>u.value.density!==void 0),h=(0,d.computed)(()=>e.t(p.value.density)),g=(0,d.computed)(()=>{if(!m.value)return;let{gap:e,rowGap:t,padding:n,formItemGap:r}=h.value;return{"--c-form-gap":`${e}px`,"--c-form-row-gap":`${t}px`,"--c-form-padding":`${n}px`,"--c-form-item-gap":`${r}px`}}),{t:_}=r.t(()=>p.value.locale),v=(0,d.ref)(null),b=(0,d.ref)(null),x=(0,d.computed)(()=>oe.includes(p.value.layout)||b.value===p.value.layout),{formModel:S,formRules:C,visibleOptions:w,initialize:E,handleFieldChange:D,validate:O,validateField:k,validateStep:A,validateTab:j,validateDynamicFields:M,validateCustomGroup:N,clearValidation:P,getModel:F,setFields:ee,resetFields:I,setFieldValue:ne,getFieldValue:L,setFieldsValue:R,handleSubmit:z,handleReset:B,isDirty:re,getChangedFields:V,isFieldDirty:ie,markAsClean:H,asyncOptionsCache:ae,asyncLoadingMap:W,asyncErrorMap:G,getDictionaryOptions:ce,isDictionaryLoading:K,reloadOptions:q,setFormItemRef:le,getFormItemElement:ue,isSubmitting:J,submit:Y}=y((0,d.computed)(()=>a.options),p,v,o,(0,d.computed)(()=>a.modelValue),x),de=(0,d.computed)(()=>S),X=()=>F(),fe=(0,d.computed)(()=>({form:v.value,model:de.value,validate:O,validateField:k,reset:I,setFields:ee,getModel:X,clearValidation:P,submit:Y,reloadOptions:q,submitting:J.value})),pe=(0,d.getCurrentInstance)(),me=()=>Object.keys(pe?.slots??{}).filter(e=>![`action`,`action-extra`,`step-actions`].includes(e)),{formItems:Z,getBaseProps:he}=te({formModel:S,visibleOptions:w,config:p,handleFieldChange:D,componentMap:se,instanceSlots:pe?.slots,asyncOptionsCache:ae,asyncLoadingMap:W,renderers:(0,d.computed)(()=>a.renderers),getDictionaryOptions:ce,isDictionaryLoading:K,setFormItemRef:le,onError:(e,t)=>p.value.onError?.(e,{source:`render`,field:t})}),Q=(0,d.shallowRef)(null),ge=T({layout:Q,layoutType:()=>p.value.layout,fields:()=>w.value,model:S,getElement:ue,access:he,onError:(e,t)=>p.value.onError?.(e,{source:`callback`,field:t})}),_e=(0,d.computed)(()=>U[p.value.layout]||U.default),ve=(0,d.computed)(()=>{let e=p.value,t={type:e.layout,grid:e.grid,inline:e.inline,card:e.card,tabs:e.tabs,steps:e.steps,dynamic:e.dynamic,custom:e.custom};if(!m.value)return t;let{gap:n,rowGap:r}=h.value;return{...t,grid:{gutter:n,yGutter:e.grid?.gutter??r,...e.grid},inline:{gap:n,rowGap:r,...e.inline},card:{spacing:n,...e.card},tabs:{size:e.size,...e.tabs},steps:{size:e.size===`small`?`small`:`medium`,...e.steps},dynamic:{...e.dynamic,grid:{gutter:n,...e.dynamic?.grid}}}}),ye=(0,d.computed)(()=>s.a(p.value)),be=(0,d.computed)(()=>{let{layout:e}=p.value;return{...e===`steps`?{beforeStepChange:De,validateStep:Oe,submitting:J.value,disabled:p.value.disabled||p.value.readonly}:e===`tabs`?{beforeTabChange:we,validateTab:Te}:{},controlSize:m.value?p.value.size:void 0,onVnodeMounted:()=>{b.value=e}}}),$=(e,...t)=>{let n=p.value[e];if(typeof n==`function`)try{let e=n(...t);e instanceof Promise&&e.catch(e=>p.value.onError?.(e,{source:`callback`}))}catch(e){p.value.onError?.(e,{source:`callback`})}},xe=e=>{p.value.onFieldsChange?.(e)},Se=e=>{o(`validate-success`,e)},Ce=e=>{o(`validate-error`,e)},we=async(e,t)=>{try{return await p.value.onTabBeforeChange?.(e,t)!==!1}catch(e){return p.value.onError?.(e,{source:`callback`}),!1}},Te=async e=>{let t=await j(e);return t&&p.value.onTabValidate?.(e),t},Ee=(e,t)=>{p.value.onStepChange?.(e,t)},De=async(e,t)=>{try{return await p.value.onStepBeforeChange?.(e,t)!==!1}catch(e){return p.value.onError?.(e,{source:`callback`}),!1}},Oe=async(e,t)=>{try{return await A(t)?(p.value.onStepValidate?.(e),!0):!1}catch{return!1}};return n({validate:O,revealField:ge,validateField:k,validateStep:A,validateTab:j,validateDynamicFields:M,validateCustomGroup:N,clearValidation:P,getModel:F,setFields:ee,resetFields:I,setFieldValue:ne,getFieldValue:L,setFieldsValue:R,formRef:v,formModel:S,initialize:E,layoutType:(0,d.computed)(()=>p.value.layout),shouldShowDefaultActions:ye,isDirty:re,getChangedFields:V,isFieldDirty:ie,markAsClean:H,asyncLoadingMap:W,asyncErrorMap:G,reloadOptions:q,isSubmitting:J,submit:Y}),(e,t)=>((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.NForm),(0,d.mergeProps)({ref_key:`formRef`,ref:v,class:[`c-form`,m.value&&`c-form--${p.value.density}`],style:g.value,model:(0,d.unref)(S),rules:(0,d.unref)(C),"validate-on-rule-change":!1,"label-placement":p.value.labelPlacement,"label-width":p.value.labelWidth,size:p.value.size,disabled:p.value.disabled,readonly:p.value.readonly},e.$attrs,{onSubmit:(0,d.withModifiers)((0,d.unref)(Y),[`prevent`])}),{default:(0,d.withCtx)(()=>[(0,d.createCommentVNode)(` 布局组件渲染 `),((0,d.openBlock)(),(0,d.createBlock)((0,d.resolveDynamicComponent)(_e.value),(0,d.mergeProps)({ref_key:`layoutRef`,ref:Q,key:p.value.layout,"form-items":(0,d.unref)(Z),"layout-config":ve.value,options:(0,d.unref)(w),"form-data":(0,d.unref)(S)},be.value,{onTabChange:t[0]||=(e,t)=>$(`onTabChange`,e,t),onStepChange:Ee,onFieldAdd:t[1]||=e=>$(`onFieldAdd`,e),onFieldRemove:t[2]||=e=>$(`onFieldRemove`,e),onFieldToggle:t[3]||=(e,t)=>$(`onFieldToggle`,e,t),onFieldsClear:t[4]||=e=>$(`onFieldsClear`),onRenderModeChange:t[5]||=e=>$(`onRenderModeChange`,e),onGroupToggle:t[6]||=(e,t)=>$(`onGroupToggle`,e,t),onGroupReset:t[7]||=e=>$(`onGroupReset`,e),onValidateSuccess:Se,onValidateError:Ce,onFieldsChange:xe}),(0,d.createSlots)({"step-actions":(0,d.withCtx)(t=>[(0,d.renderSlot)(e.$slots,`step-actions`,(0,d.mergeProps)(t,{submit:(0,d.unref)(Y),submitting:(0,d.unref)(J)}),()=>[t.isLastStep&&p.value.showActions?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.NButton),{key:0,type:`primary`,size:p.value.size,loading:(0,d.unref)(J)||!x.value,disabled:!x.value||(0,d.unref)(J)||p.value.disabled||p.value.readonly,onClick:(0,d.unref)(Y)},{default:(0,d.withCtx)(()=>[(0,d.createTextVNode)((0,d.toDisplayString)(p.value.submitText||(0,d.unref)(_)(`common.submit`)),1)]),_:1},8,[`size`,`loading`,`disabled`,`onClick`])):(0,d.createCommentVNode)(`v-if`,!0)],!0)]),_:2},[(0,d.renderList)(me(),t=>({name:t,fn:(0,d.withCtx)(n=>[(0,d.renderSlot)(e.$slots,t,(0,d.normalizeProps)((0,d.guardReactiveProps)(n)),void 0,!0)])}))]),1040,[`form-items`,`layout-config`,`options`,`form-data`])),(0,d.createCommentVNode)(` 表单操作按钮区域(只在特定布局中显示) `),ye.value?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(f.NFormItem),{key:0,class:`c-form-actions`,"show-feedback":!1},{default:(0,d.withCtx)(()=>[(0,d.renderSlot)(e.$slots,`action`,(0,d.normalizeProps)((0,d.guardReactiveProps)(fe.value)),()=>[(0,d.createVNode)((0,d.unref)(f.NSpace),{justify:`end`,size:m.value?h.value.gap:void 0,style:{width:`100%`}},{default:(0,d.withCtx)(()=>[(0,d.createVNode)((0,d.unref)(f.NButton),{size:p.value.size,disabled:!x.value||(0,d.unref)(J)||p.value.disabled||p.value.readonly,onClick:(0,d.unref)(B)},{default:(0,d.withCtx)(()=>[(0,d.createTextVNode)((0,d.toDisplayString)(p.value.resetText||(0,d.unref)(_)(`common.reset`)),1)]),_:1},8,[`size`,`disabled`,`onClick`]),(0,d.renderSlot)(e.$slots,`action-extra`,(0,d.normalizeProps)((0,d.guardReactiveProps)(fe.value)),void 0,!0),(0,d.createVNode)((0,d.unref)(f.NButton),{type:`primary`,size:p.value.size,loading:(0,d.unref)(J)||!x.value,disabled:!x.value||(0,d.unref)(J)||p.value.disabled||p.value.readonly,onClick:(0,d.unref)(z)},{default:(0,d.withCtx)(()=>[(0,d.createTextVNode)((0,d.toDisplayString)(p.value.submitText||(0,d.unref)(_)(`common.submit`)),1)]),_:1},8,[`size`,`loading`,`disabled`,`onClick`])]),_:3},8,[`size`])],!0)]),_:3})):(0,d.createCommentVNode)(`v-if`,!0)]),_:3},16,[`class`,`style`,`model`,`rules`,`label-placement`,`label-width`,`size`,`disabled`,`readonly`,`onSubmit`]))}});var G=o.t(W,[[`__scopeId`,`data-v-12ebc552`]]);function ce(e){return e}function K(e){return e}function q(e){let t=(0,d.shallowRef)(n.t(e.initialValues)),r=(0,d.shallowRef)(null);return{model:t,formRef:r,bindings:(0,d.computed)(()=>({modelValue:t.value,options:(0,d.toValue)(e.options),config:(0,d.toValue)(e.config),"onUpdate:modelValue":e=>{t.value=n.t(e)}})),validate:async()=>{if(!r.value)throw Error(`C_Form is not mounted`);await r.value.validate()},submit:()=>r.value?.submit()??Promise.resolve(!1),reset:()=>{r.value?(r.value.resetFields(),t.value=n.t(r.value.getModel())):t.value=n.t(e.initialValues)},getValues:()=>n.t(r.value?.getModel()??t.value),setValues:async(e,i=!1)=>{r.value?(await r.value.setFieldsValue(e,i),t.value=n.t(r.value.getModel())):t.value={...t.value,...n.t(e)}}}}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return te}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return y}});
|