@robot-admin/naive-ui-components 0.21.1 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +2 -0
- package/README_EN.md +2 -0
- package/SECURITY.md +10 -0
- package/THIRD_PARTY_NOTICES.md +10 -0
- package/dist/C_AntV2.cjs +1 -1
- package/dist/C_Barcode2.cjs +1 -1
- package/dist/C_Editor.css +18 -18
- package/dist/C_Editor2.cjs +1 -1
- package/dist/C_Editor2.js +1 -1
- package/dist/C_FilePreview2.cjs +1 -1
- package/dist/C_FilePreview2.js +1 -1
- package/dist/C_Form.css +18 -18
- package/dist/C_FullCalendar2.cjs +1 -1
- package/dist/C_Markdown.css +37 -37
- package/dist/C_Markdown2.cjs +1 -1
- package/dist/C_Markdown2.js +1 -1
- package/dist/C_QRCode2.cjs +1 -1
- package/dist/C_Table.css +18 -18
- package/dist/C_Upload2.cjs +1 -1
- package/dist/C_WaterFall.css +49 -31
- package/dist/C_WaterFall2.cjs +1 -1
- package/dist/C_WaterFall2.js +1 -1
- package/dist/chunk.cjs +1 -1
- package/dist/constants.d.cts +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants2.d.cts +1 -1
- package/dist/constants2.d.ts +1 -1
- package/dist/constants3.d.cts +3 -3
- package/dist/constants3.d.ts +3 -3
- package/dist/constants4.d.cts +6 -6
- package/dist/constants4.d.ts +6 -6
- package/dist/constants5.d.cts +2 -2
- package/dist/constants5.d.ts +2 -2
- package/dist/data.cjs +1 -1
- package/dist/data.d.cts +10 -10
- package/dist/data.d.ts +10 -10
- package/dist/data.js +1 -1
- package/dist/graphics.d.cts +17 -11
- package/dist/graphics.d.ts +17 -11
- package/dist/helpers.cjs +1 -1
- package/dist/helpers.js +1 -1
- package/dist/html.cjs +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.vue.d.cts +1 -1
- package/dist/index.vue.d.ts +1 -1
- package/dist/index10.vue.d.cts +3 -3
- package/dist/index10.vue.d.ts +6 -6
- package/dist/index11.vue.d.cts +6 -6
- package/dist/index12.vue.d.ts +3 -3
- package/dist/index13.vue.d.cts +3 -3
- package/dist/index13.vue.d.ts +7 -7
- package/dist/index14.vue.d.cts +7 -7
- package/dist/index17.vue.d.ts +3 -3
- package/dist/index18.vue.d.cts +3 -3
- package/dist/index19.vue.d.cts +1 -1
- package/dist/index19.vue.d.ts +1 -1
- package/dist/index2.vue.d.cts +3 -3
- package/dist/index2.vue.d.ts +3 -3
- package/dist/index20.vue.d.cts +2 -2
- package/dist/index20.vue.d.ts +2 -2
- package/dist/index21.vue.d.cts +2 -2
- package/dist/index21.vue.d.ts +2 -2
- package/dist/index22.vue.d.cts +2 -2
- package/dist/index22.vue.d.ts +2 -2
- package/dist/index24.vue.d.cts +1 -1
- package/dist/index24.vue.d.ts +1 -1
- package/dist/index25.vue.d.cts +4 -4
- package/dist/index25.vue.d.ts +4 -4
- package/dist/index26.vue.d.cts +2 -2
- package/dist/index26.vue.d.ts +2 -2
- package/dist/index3.vue.d.cts +5 -5
- package/dist/index3.vue.d.ts +5 -5
- package/dist/index8.vue.d.ts +4 -4
- package/dist/index9.vue.d.cts +4 -4
- package/dist/index9.vue.d.ts +3 -3
- package/dist/mapUtils.d.cts +2 -2
- package/dist/mapUtils.d.ts +2 -2
- package/dist/style.css +104 -86
- package/dist/types.d.ts +5 -0
- package/dist/types2.d.cts +5 -0
- package/dist/useCollapsePanel.d.cts +3 -3
- package/dist/useCollapsePanel.d.ts +3 -3
- package/dist/useCropperCore.d.cts +12 -12
- package/dist/useCropperCore.d.ts +12 -12
- package/dist/useEdgeInteraction.d.cts +2 -2
- package/dist/useEdgeInteraction.d.ts +2 -2
- package/dist/useFullscreen.d.cts +3 -3
- package/dist/useFullscreen.d.ts +3 -3
- package/dist/useGlobalSearch.d.cts +1 -1
- package/dist/useGlobalSearch.d.ts +1 -1
- package/dist/useInfiniteScroll.d.cts +16 -17
- package/dist/useInfiniteScroll.d.ts +16 -17
- package/dist/useQRCode.d.cts +4 -4
- package/dist/useQRCode.d.ts +4 -4
- package/dist/useSignatureHistory.d.cts +5 -5
- package/dist/useSignatureHistory.d.ts +5 -5
- package/dist/useSplitResize.d.cts +11 -11
- package/dist/useSplitResize.d.ts +11 -11
- package/dist/useTableQuery.cjs +1 -1
- package/dist/useTableQuery.d.cts +16 -14
- package/dist/useTableQuery.d.ts +16 -14
- package/dist/useTableQuery.js +1 -1
- package/dist/useWorkflowValidation.d.cts +1 -1
- package/dist/useWorkflowValidation.d.ts +1 -1
- package/dist/verification.d.cts +3 -3
- package/dist/verification.d.ts +3 -3
- package/dist/xlsx.js +143 -0
- package/dist/xlsx2.cjs +143 -0
- package/docs/architecture.en.md +1 -0
- package/docs/architecture.md +1 -0
- package/docs/guides/api-migration.md +111 -0
- package/docs/guides/runtime-performance.md +16 -1
- package/docs/guides/waterfall.md +113 -0
- package/docs/runtime-review-20261019.md +2 -0
- package/licenses/SheetJS.txt +201 -0
- package/package.json +13 -9
package/dist/constants5.d.cts
CHANGED
|
@@ -263,8 +263,8 @@ type PlayerInstance = InstanceType<typeof xgplayer.default>;
|
|
|
263
263
|
//#region src/components/C_VideoPlayer/index.vue.d.ts
|
|
264
264
|
declare const __VLS_export: vue.DefineComponent<VideoPlayerProps, VideoPlayerExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
|
|
265
265
|
error: (error: Error) => any;
|
|
266
|
-
ready: () => any;
|
|
267
266
|
ended: () => any;
|
|
267
|
+
ready: () => any;
|
|
268
268
|
stateChange: (state: PlayerState) => any;
|
|
269
269
|
qualityChange: (quality: QualityLevel) => any;
|
|
270
270
|
rateChange: (rate: number) => any;
|
|
@@ -276,8 +276,8 @@ declare const __VLS_export: vue.DefineComponent<VideoPlayerProps, VideoPlayerExp
|
|
|
276
276
|
timeUpdate: (currentTime: number, duration: number) => any;
|
|
277
277
|
}, string, vue.PublicProps, Readonly<VideoPlayerProps> & Readonly<{
|
|
278
278
|
onError?: ((error: Error) => any) | undefined;
|
|
279
|
-
onReady?: (() => any) | undefined;
|
|
280
279
|
onEnded?: (() => any) | undefined;
|
|
280
|
+
onReady?: (() => any) | undefined;
|
|
281
281
|
onStateChange?: ((state: PlayerState) => any) | undefined;
|
|
282
282
|
onQualityChange?: ((quality: QualityLevel) => any) | undefined;
|
|
283
283
|
onRateChange?: ((rate: number) => any) | undefined;
|
package/dist/constants5.d.ts
CHANGED
|
@@ -263,8 +263,8 @@ type PlayerInstance = InstanceType<typeof xgplayer.default>;
|
|
|
263
263
|
//#region src/components/C_VideoPlayer/index.vue.d.ts
|
|
264
264
|
declare const __VLS_export: vue.DefineComponent<VideoPlayerProps, VideoPlayerExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
|
|
265
265
|
error: (error: Error) => any;
|
|
266
|
-
ready: () => any;
|
|
267
266
|
ended: () => any;
|
|
267
|
+
ready: () => any;
|
|
268
268
|
stateChange: (state: PlayerState) => any;
|
|
269
269
|
qualityChange: (quality: QualityLevel) => any;
|
|
270
270
|
rateChange: (rate: number) => any;
|
|
@@ -276,8 +276,8 @@ declare const __VLS_export: vue.DefineComponent<VideoPlayerProps, VideoPlayerExp
|
|
|
276
276
|
timeUpdate: (currentTime: number, duration: number) => any;
|
|
277
277
|
}, string, vue.PublicProps, Readonly<VideoPlayerProps> & Readonly<{
|
|
278
278
|
onError?: ((error: Error) => any) | undefined;
|
|
279
|
-
onReady?: (() => any) | undefined;
|
|
280
279
|
onEnded?: (() => any) | undefined;
|
|
280
|
+
onReady?: (() => any) | undefined;
|
|
281
281
|
onStateChange?: ((state: PlayerState) => any) | undefined;
|
|
282
282
|
onQualityChange?: ((quality: QualityLevel) => any) | undefined;
|
|
283
283
|
onRateChange?: ((rate: number) => any) | undefined;
|
package/dist/data.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./chunk.cjs`);let e=require(`vue`);const t=new Set([`__proto__`,`prototype`,`constructor`]);function n(e){let n=e.replace(/\[([^\]]+)\]/g,`.$1`).split(`.`).map(e=>e.trim().replace(/^['"]|['"]$/g,``)).filter(Boolean);if(n.length===0)throw TypeError(`Data path cannot be empty`);if(n.some(e=>t.has(e)))throw TypeError(`Unsafe data path: ${e}`);return n}function r(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return!0;let r=e;for(let e of n(t)){if(typeof r!=`object`||!r||!Object.prototype.hasOwnProperty.call(r,e))return!1;r=r[e]}return!0}function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:n(t).reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e)}function a(e,t,r){if(Object.prototype.hasOwnProperty.call(e,t)){e[t]=r;return}let i=n(t),a=e;i.forEach((e,t)=>{if(t===i.length-1){a[e]=r;return}let n=a[e];(typeof n!=`object`||!n)&&(a[e]=/^\d+$/.test(i[t+1])?[]:{}),a=a[e]})}function o(e,t){if(Object.prototype.hasOwnProperty.call(e,t)){delete e[t];return}let r=n(t),i=r.pop();if(!i)return;let a=r.reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e);a&&typeof a==`object`&&delete a[i]}function s(t){return(0,e.isProxy)(t)?(0,e.toRaw)(t):t}function c(e,t){let n=s(e);if(typeof n!=`object`||!n)return n;if(t.has(n))return t.get(n);if(n instanceof Date)return new Date(n.getTime());if(n instanceof RegExp)return new RegExp(n);if(n instanceof ArrayBuffer)return n.slice(0);if(Array.isArray(n)){let e=[];return t.set(n,e),n.forEach(n=>e.push(c(n,t))),e}if(n instanceof Map){let e=new Map;return t.set(n,e),n.forEach((n,r)=>{e.set(c(r,t),c(n,t))}),e}if(n instanceof Set){let e=new Set;return t.set(n,e),n.forEach(n=>e.add(c(n,t))),e}let r=Object.getPrototypeOf(n);if(r!==Object.prototype&&r!==null)return n;let i={};return t.set(n,i),Reflect.ownKeys(n).forEach(e=>{typeof e==`string`&&(i[e]=c(n[e],t))}),i}function l(e){let t=s(e);if(typeof structuredClone==`function`)try{return structuredClone(t)}catch{}return c(t,new WeakMap)}function u(e,t,n){if(n.get(e)
|
|
1
|
+
require(`./chunk.cjs`);let e=require(`vue`);const t=new Set([`__proto__`,`prototype`,`constructor`]);function n(e){let n=e.replace(/\[([^\]]+)\]/g,`.$1`).split(`.`).map(e=>e.trim().replace(/^['"]|['"]$/g,``)).filter(Boolean);if(n.length===0)throw TypeError(`Data path cannot be empty`);if(n.some(e=>t.has(e)))throw TypeError(`Unsafe data path: ${e}`);return n}function r(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return!0;let r=e;for(let e of n(t)){if(typeof r!=`object`||!r||!Object.prototype.hasOwnProperty.call(r,e))return!1;r=r[e]}return!0}function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:n(t).reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e)}function a(e,t,r){if(Object.prototype.hasOwnProperty.call(e,t)){e[t]=r;return}let i=n(t),a=e;i.forEach((e,t)=>{if(t===i.length-1){a[e]=r;return}let n=a[e];(typeof n!=`object`||!n)&&(a[e]=/^\d+$/.test(i[t+1])?[]:{}),a=a[e]})}function o(e,t){if(Object.prototype.hasOwnProperty.call(e,t)){delete e[t];return}let r=n(t),i=r.pop();if(!i)return;let a=r.reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e);a&&typeof a==`object`&&delete a[i]}function s(t){return(0,e.isProxy)(t)?(0,e.toRaw)(t):t}function c(e,t){let n=s(e);if(typeof n!=`object`||!n)return n;if(t.has(n))return t.get(n);if(n instanceof Date)return new Date(n.getTime());if(n instanceof RegExp)return new RegExp(n);if(n instanceof ArrayBuffer)return n.slice(0);if(Array.isArray(n)){let e=[];return t.set(n,e),n.forEach(n=>e.push(c(n,t))),e}if(n instanceof Map){let e=new Map;return t.set(n,e),n.forEach((n,r)=>{e.set(c(r,t),c(n,t))}),e}if(n instanceof Set){let e=new Set;return t.set(n,e),n.forEach(n=>e.add(c(n,t))),e}let r=Object.getPrototypeOf(n);if(r!==Object.prototype&&r!==null)return n;let i={};return t.set(n,i),Reflect.ownKeys(n).forEach(e=>{typeof e==`string`&&(i[e]=c(n[e],t))}),i}function l(e){let t=s(e);if(typeof structuredClone==`function`)try{return structuredClone(t)}catch{}return c(t,new WeakMap)}const u=e=>typeof e==`object`&&!!e;function d(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 f(e,t,n,r){return n.has(e)&&g(t,n.get(e),r)}function p(e,t,n){if(e.size!==t.size)return!1;let r=new Set,i;for(let[a,o]of e){if(!u(a)){if(!f(a,o,t,n))return!1;continue}if(!r.has(a)&&d(n,()=>f(a,o,t,n))){r.add(a);continue}i??=[...t].filter(e=>u(e[0]));let e=i.find(([e,t])=>e!==a&&!r.has(e)&&d(n,()=>g(a,e,n)&&g(o,t,n)));if(!e)return!1;r.add(e[0])}return!0}function m(e,t,n){if(e.size!==t.size)return!1;let r=new Set,i;for(let a of e){if(!u(a)){if(!t.has(a))return!1;continue}if(!r.has(a)&&t.has(a)){r.add(a);continue}i??=[...t].filter(u);let e=i.find(e=>!r.has(e)&&d(n,()=>g(a,e,n)));if(!e)return!1;r.add(e)}return!0}function h(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))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((e,r)=>g(e,t[r],n));if(e instanceof Map||t instanceof Map)return!(e instanceof Map)||!(t instanceof Map)?!1:p(e,t,n);if(e instanceof Set||t instanceof Set)return!(e instanceof Set)||!(t instanceof Set)?!1:m(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)&&g(e[r],t[r],n)):!1}function g(e,t,n){let r=s(e),i=s(t);return Object.is(r,i)?!0:r===null||i===null||typeof r!=`object`||typeof i!=`object`?!1:h(r,i,n)}function _(e,t){return g(e,t,{pairs:new WeakMap,additions:[]})}function v(e,t){let n=l(t);Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(n,t)||delete e[t]}),Object.assign(e,n)}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
|
package/dist/data.d.cts
CHANGED
|
@@ -65,28 +65,28 @@ type __VLS_Slots = {} & { [K in NonNullable<typeof __VLS_37>]?: (props: typeof _
|
|
|
65
65
|
declare const __VLS_base: vue.DefineComponent<CTabsProps, {
|
|
66
66
|
activeValue: vue.WritableComputedRef<TabsValue | null, TabsValue | null>;
|
|
67
67
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
|
|
68
|
-
|
|
68
|
+
add: () => any;
|
|
69
69
|
"update:modelValue": (value: TabsValue) => any;
|
|
70
70
|
change: (value: TabsValue, item: TabsItem | undefined) => any;
|
|
71
|
-
|
|
71
|
+
close: (value: TabsValue) => any;
|
|
72
72
|
}, string, vue.PublicProps, Readonly<CTabsProps> & Readonly<{
|
|
73
|
-
|
|
73
|
+
onAdd?: (() => any) | undefined;
|
|
74
74
|
"onUpdate:modelValue"?: ((value: TabsValue) => any) | undefined;
|
|
75
75
|
onChange?: ((value: TabsValue, item: TabsItem | undefined) => any) | undefined;
|
|
76
|
-
|
|
76
|
+
onClose?: ((value: TabsValue) => any) | undefined;
|
|
77
77
|
}>, {
|
|
78
|
+
modelValue: TabsValue | null;
|
|
79
|
+
size: TabsSize;
|
|
78
80
|
type: TabsType;
|
|
79
81
|
items: readonly TabsItem[];
|
|
80
|
-
size: TabsSize;
|
|
81
|
-
modelValue: TabsValue | null;
|
|
82
|
-
justifyContent: TabsJustifyContent;
|
|
83
|
-
closable: boolean;
|
|
84
|
-
displayDirective: TabsDisplayDirective;
|
|
85
|
-
animated: boolean;
|
|
86
82
|
defaultValue: TabsValue | null;
|
|
87
83
|
placement: TabsPlacement;
|
|
84
|
+
justifyContent: TabsJustifyContent;
|
|
85
|
+
animated: boolean;
|
|
86
|
+
closable: boolean;
|
|
88
87
|
addable: boolean;
|
|
89
88
|
tabsOnly: boolean;
|
|
89
|
+
displayDirective: TabsDisplayDirective;
|
|
90
90
|
paneClass: string;
|
|
91
91
|
paneStyle: string | vue.CSSProperties;
|
|
92
92
|
beforeChange: (target: TabsValue, current: TabsValue | null) => boolean | Promise<boolean>;
|
package/dist/data.d.ts
CHANGED
|
@@ -65,28 +65,28 @@ type __VLS_Slots = {} & { [K in NonNullable<typeof __VLS_37>]?: (props: typeof _
|
|
|
65
65
|
declare const __VLS_base: vue.DefineComponent<CTabsProps, {
|
|
66
66
|
activeValue: vue.WritableComputedRef<TabsValue | null, TabsValue | null>;
|
|
67
67
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
|
|
68
|
-
|
|
68
|
+
add: () => any;
|
|
69
69
|
"update:modelValue": (value: TabsValue) => any;
|
|
70
70
|
change: (value: TabsValue, item: TabsItem | undefined) => any;
|
|
71
|
-
|
|
71
|
+
close: (value: TabsValue) => any;
|
|
72
72
|
}, string, vue.PublicProps, Readonly<CTabsProps> & Readonly<{
|
|
73
|
-
|
|
73
|
+
onAdd?: (() => any) | undefined;
|
|
74
74
|
"onUpdate:modelValue"?: ((value: TabsValue) => any) | undefined;
|
|
75
75
|
onChange?: ((value: TabsValue, item: TabsItem | undefined) => any) | undefined;
|
|
76
|
-
|
|
76
|
+
onClose?: ((value: TabsValue) => any) | undefined;
|
|
77
77
|
}>, {
|
|
78
|
+
modelValue: TabsValue | null;
|
|
79
|
+
size: TabsSize;
|
|
78
80
|
type: TabsType;
|
|
79
81
|
items: readonly TabsItem[];
|
|
80
|
-
size: TabsSize;
|
|
81
|
-
modelValue: TabsValue | null;
|
|
82
|
-
justifyContent: TabsJustifyContent;
|
|
83
|
-
closable: boolean;
|
|
84
|
-
displayDirective: TabsDisplayDirective;
|
|
85
|
-
animated: boolean;
|
|
86
82
|
defaultValue: TabsValue | null;
|
|
87
83
|
placement: TabsPlacement;
|
|
84
|
+
justifyContent: TabsJustifyContent;
|
|
85
|
+
animated: boolean;
|
|
86
|
+
closable: boolean;
|
|
88
87
|
addable: boolean;
|
|
89
88
|
tabsOnly: boolean;
|
|
89
|
+
displayDirective: TabsDisplayDirective;
|
|
90
90
|
paneClass: string;
|
|
91
91
|
paneStyle: string | vue.CSSProperties;
|
|
92
92
|
beforeChange: (target: TabsValue, current: TabsValue | null) => boolean | Promise<boolean>;
|
package/dist/data.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isProxy as e,toRaw as t}from"vue";const n=new Set([`__proto__`,`prototype`,`constructor`]);function r(e){let t=e.replace(/\[([^\]]+)\]/g,`.$1`).split(`.`).map(e=>e.trim().replace(/^['"]|['"]$/g,``)).filter(Boolean);if(t.length===0)throw TypeError(`Data path cannot be empty`);if(t.some(e=>n.has(e)))throw TypeError(`Unsafe data path: ${e}`);return t}function i(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return!0;let n=e;for(let e of r(t)){if(typeof n!=`object`||!n||!Object.prototype.hasOwnProperty.call(n,e))return!1;n=n[e]}return!0}function a(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:r(t).reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e)}function o(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)){e[t]=n;return}let i=r(t),a=e;i.forEach((e,t)=>{if(t===i.length-1){a[e]=n;return}let r=a[e];(typeof r!=`object`||!r)&&(a[e]=/^\d+$/.test(i[t+1])?[]:{}),a=a[e]})}function s(e,t){if(Object.prototype.hasOwnProperty.call(e,t)){delete e[t];return}let n=r(t),i=n.pop();if(!i)return;let a=n.reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e);a&&typeof a==`object`&&delete a[i]}function c(n){return e(n)?t(n):n}function l(e,t){let n=c(e);if(typeof n!=`object`||!n)return n;if(t.has(n))return t.get(n);if(n instanceof Date)return new Date(n.getTime());if(n instanceof RegExp)return new RegExp(n);if(n instanceof ArrayBuffer)return n.slice(0);if(Array.isArray(n)){let e=[];return t.set(n,e),n.forEach(n=>e.push(l(n,t))),e}if(n instanceof Map){let e=new Map;return t.set(n,e),n.forEach((n,r)=>{e.set(l(r,t),l(n,t))}),e}if(n instanceof Set){let e=new Set;return t.set(n,e),n.forEach(n=>e.add(l(n,t))),e}let r=Object.getPrototypeOf(n);if(r!==Object.prototype&&r!==null)return n;let i={};return t.set(n,i),Reflect.ownKeys(n).forEach(e=>{typeof e==`string`&&(i[e]=l(n[e],t))}),i}function u(e){let t=c(e);if(typeof structuredClone==`function`)try{return structuredClone(t)}catch{}return l(t,new WeakMap)}function d(e,t,n){if(n.get(e)
|
|
1
|
+
import{isProxy as e,toRaw as t}from"vue";const n=new Set([`__proto__`,`prototype`,`constructor`]);function r(e){let t=e.replace(/\[([^\]]+)\]/g,`.$1`).split(`.`).map(e=>e.trim().replace(/^['"]|['"]$/g,``)).filter(Boolean);if(t.length===0)throw TypeError(`Data path cannot be empty`);if(t.some(e=>n.has(e)))throw TypeError(`Unsafe data path: ${e}`);return t}function i(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return!0;let n=e;for(let e of r(t)){if(typeof n!=`object`||!n||!Object.prototype.hasOwnProperty.call(n,e))return!1;n=n[e]}return!0}function a(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:r(t).reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e)}function o(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)){e[t]=n;return}let i=r(t),a=e;i.forEach((e,t)=>{if(t===i.length-1){a[e]=n;return}let r=a[e];(typeof r!=`object`||!r)&&(a[e]=/^\d+$/.test(i[t+1])?[]:{}),a=a[e]})}function s(e,t){if(Object.prototype.hasOwnProperty.call(e,t)){delete e[t];return}let n=r(t),i=n.pop();if(!i)return;let a=n.reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e);a&&typeof a==`object`&&delete a[i]}function c(n){return e(n)?t(n):n}function l(e,t){let n=c(e);if(typeof n!=`object`||!n)return n;if(t.has(n))return t.get(n);if(n instanceof Date)return new Date(n.getTime());if(n instanceof RegExp)return new RegExp(n);if(n instanceof ArrayBuffer)return n.slice(0);if(Array.isArray(n)){let e=[];return t.set(n,e),n.forEach(n=>e.push(l(n,t))),e}if(n instanceof Map){let e=new Map;return t.set(n,e),n.forEach((n,r)=>{e.set(l(r,t),l(n,t))}),e}if(n instanceof Set){let e=new Set;return t.set(n,e),n.forEach(n=>e.add(l(n,t))),e}let r=Object.getPrototypeOf(n);if(r!==Object.prototype&&r!==null)return n;let i={};return t.set(n,i),Reflect.ownKeys(n).forEach(e=>{typeof e==`string`&&(i[e]=l(n[e],t))}),i}function u(e){let t=c(e);if(typeof structuredClone==`function`)try{return structuredClone(t)}catch{}return l(t,new WeakMap)}const d=e=>typeof e==`object`&&!!e;function f(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 p(e,t,n,r){return n.has(e)&&_(t,n.get(e),r)}function m(e,t,n){if(e.size!==t.size)return!1;let r=new Set,i;for(let[a,o]of e){if(!d(a)){if(!p(a,o,t,n))return!1;continue}if(!r.has(a)&&f(n,()=>p(a,o,t,n))){r.add(a);continue}i??=[...t].filter(e=>d(e[0]));let e=i.find(([e,t])=>e!==a&&!r.has(e)&&f(n,()=>_(a,e,n)&&_(o,t,n)));if(!e)return!1;r.add(e[0])}return!0}function h(e,t,n){if(e.size!==t.size)return!1;let r=new Set,i;for(let a of e){if(!d(a)){if(!t.has(a))return!1;continue}if(!r.has(a)&&t.has(a)){r.add(a);continue}i??=[...t].filter(d);let e=i.find(e=>!r.has(e)&&f(n,()=>_(a,e,n)));if(!e)return!1;r.add(e)}return!0}function g(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))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((e,r)=>_(e,t[r],n));if(e instanceof Map||t instanceof Map)return!(e instanceof Map)||!(t instanceof Map)?!1:m(e,t,n);if(e instanceof Set||t instanceof Set)return!(e instanceof Set)||!(t instanceof Set)?!1:h(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)&&_(e[r],t[r],n)):!1}function _(e,t,n){let r=c(e),i=c(t);return Object.is(r,i)?!0:r===null||i===null||typeof r!=`object`||typeof i!=`object`?!1:g(r,i,n)}function v(e,t){return _(e,t,{pairs:new WeakMap,additions:[]})}function y(e,t){let n=u(t);Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(n,t)||delete e[t]}),Object.assign(e,n)}export{v as a,o as c,i,s as n,r as o,a as r,y as s,u as t};
|
package/dist/graphics.d.cts
CHANGED
|
@@ -2,7 +2,6 @@ import { Gantt, GanttConstructorOptions, TYPES, VRender } from "@visactor/vtable
|
|
|
2
2
|
import * as _visactor_vtable0 from "@visactor/vtable";
|
|
3
3
|
import { ColumnDefine, TYPES as TYPES$1 } from "@visactor/vtable";
|
|
4
4
|
import * as _visactor_vtable_es_ts_types0 from "@visactor/vtable/es/ts-types";
|
|
5
|
-
import * as node_modules__visactor_vtable_gantt_es_ts_types0 from "node_modules/@visactor/vtable-gantt/es/ts-types";
|
|
6
5
|
|
|
7
6
|
//#region src/components/C_VtableGantt/types.d.ts
|
|
8
7
|
/** 自定义业务字段由业务接口扩展,组件从 data 推导完整任务类型。 */
|
|
@@ -87,6 +86,13 @@ interface GanttExpose<T extends GanttTask = GanttTask> {
|
|
|
87
86
|
toggleFullscreen: () => Promise<void>;
|
|
88
87
|
}
|
|
89
88
|
//#endregion
|
|
89
|
+
//#region node_modules/@visactor/vtable-gantt/es/ts-types/gantt-engine.d.ts
|
|
90
|
+
type DateFormatArgumentType = {
|
|
91
|
+
dateIndex: number;
|
|
92
|
+
startDate: Date;
|
|
93
|
+
endDate: Date;
|
|
94
|
+
};
|
|
95
|
+
//#endregion
|
|
90
96
|
//#region src/components/C_VtableGantt/data.d.ts
|
|
91
97
|
declare const presetConfigs: {
|
|
92
98
|
basic: {
|
|
@@ -169,7 +175,7 @@ declare const presetConfigs: {
|
|
|
169
175
|
scales: ({
|
|
170
176
|
unit: "week";
|
|
171
177
|
step: number;
|
|
172
|
-
format: (date:
|
|
178
|
+
format: (date: DateFormatArgumentType) => string;
|
|
173
179
|
style: {
|
|
174
180
|
fontSize: number;
|
|
175
181
|
fontWeight: string;
|
|
@@ -177,7 +183,7 @@ declare const presetConfigs: {
|
|
|
177
183
|
} | {
|
|
178
184
|
unit: "day";
|
|
179
185
|
step: number;
|
|
180
|
-
format: (date:
|
|
186
|
+
format: (date: DateFormatArgumentType) => string;
|
|
181
187
|
style: {
|
|
182
188
|
fontSize: number;
|
|
183
189
|
fontWeight?: undefined;
|
|
@@ -275,7 +281,7 @@ declare const presetConfigs: {
|
|
|
275
281
|
unit: "week";
|
|
276
282
|
step: number;
|
|
277
283
|
startOfWeek: "monday";
|
|
278
|
-
format: (date:
|
|
284
|
+
format: (date: DateFormatArgumentType) => string;
|
|
279
285
|
style: {
|
|
280
286
|
fontSize: number;
|
|
281
287
|
fontWeight: string;
|
|
@@ -284,7 +290,7 @@ declare const presetConfigs: {
|
|
|
284
290
|
} | {
|
|
285
291
|
unit: "day";
|
|
286
292
|
step: number;
|
|
287
|
-
format: (date:
|
|
293
|
+
format: (date: DateFormatArgumentType) => string;
|
|
288
294
|
style: {
|
|
289
295
|
fontSize: number;
|
|
290
296
|
textAlign: "center";
|
|
@@ -414,7 +420,7 @@ declare const presetConfigs: {
|
|
|
414
420
|
scales: ({
|
|
415
421
|
unit: "month";
|
|
416
422
|
step: number;
|
|
417
|
-
format: (date:
|
|
423
|
+
format: (date: DateFormatArgumentType) => string;
|
|
418
424
|
style: {
|
|
419
425
|
fontSize: number;
|
|
420
426
|
fontWeight: string;
|
|
@@ -422,7 +428,7 @@ declare const presetConfigs: {
|
|
|
422
428
|
} | {
|
|
423
429
|
unit: "day";
|
|
424
430
|
step: number;
|
|
425
|
-
format: (date:
|
|
431
|
+
format: (date: DateFormatArgumentType) => string;
|
|
426
432
|
style: {
|
|
427
433
|
fontSize: number;
|
|
428
434
|
fontWeight?: undefined;
|
|
@@ -577,7 +583,7 @@ declare const presetConfigs: {
|
|
|
577
583
|
scales: ({
|
|
578
584
|
unit: "month";
|
|
579
585
|
step: number;
|
|
580
|
-
format: (date:
|
|
586
|
+
format: (date: DateFormatArgumentType) => string;
|
|
581
587
|
style: {
|
|
582
588
|
fontSize: number;
|
|
583
589
|
fontWeight: string;
|
|
@@ -585,7 +591,7 @@ declare const presetConfigs: {
|
|
|
585
591
|
} | {
|
|
586
592
|
unit: "week";
|
|
587
593
|
step: number;
|
|
588
|
-
format: (date:
|
|
594
|
+
format: (date: DateFormatArgumentType) => string;
|
|
589
595
|
style: {
|
|
590
596
|
fontSize: number;
|
|
591
597
|
fontWeight?: undefined;
|
|
@@ -776,7 +782,7 @@ declare const presetConfigs: {
|
|
|
776
782
|
unit: "week";
|
|
777
783
|
step: number;
|
|
778
784
|
startOfWeek: "sunday";
|
|
779
|
-
format: (date:
|
|
785
|
+
format: (date: DateFormatArgumentType) => string;
|
|
780
786
|
style: {
|
|
781
787
|
fontSize: number;
|
|
782
788
|
fontWeight: string;
|
|
@@ -789,7 +795,7 @@ declare const presetConfigs: {
|
|
|
789
795
|
} | {
|
|
790
796
|
unit: "day";
|
|
791
797
|
step: number;
|
|
792
|
-
format: (date:
|
|
798
|
+
format: (date: DateFormatArgumentType) => string;
|
|
793
799
|
style: {
|
|
794
800
|
fontSize: number;
|
|
795
801
|
fontWeight: string;
|
package/dist/graphics.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import * as _visactor_vtable0 from "@visactor/vtable";
|
|
|
2
2
|
import { ColumnDefine, TYPES } from "@visactor/vtable";
|
|
3
3
|
import { Gantt, GanttConstructorOptions, TYPES as TYPES$1, VRender } from "@visactor/vtable-gantt";
|
|
4
4
|
import * as _visactor_vtable_es_ts_types0 from "@visactor/vtable/es/ts-types";
|
|
5
|
-
import * as node_modules__visactor_vtable_gantt_es_ts_types0 from "node_modules/@visactor/vtable-gantt/es/ts-types";
|
|
6
5
|
|
|
7
6
|
//#region src/components/C_VtableGantt/types.d.ts
|
|
8
7
|
/** 自定义业务字段由业务接口扩展,组件从 data 推导完整任务类型。 */
|
|
@@ -87,6 +86,13 @@ interface GanttExpose<T extends GanttTask = GanttTask> {
|
|
|
87
86
|
toggleFullscreen: () => Promise<void>;
|
|
88
87
|
}
|
|
89
88
|
//#endregion
|
|
89
|
+
//#region node_modules/@visactor/vtable-gantt/es/ts-types/gantt-engine.d.ts
|
|
90
|
+
type DateFormatArgumentType = {
|
|
91
|
+
dateIndex: number;
|
|
92
|
+
startDate: Date;
|
|
93
|
+
endDate: Date;
|
|
94
|
+
};
|
|
95
|
+
//#endregion
|
|
90
96
|
//#region src/components/C_VtableGantt/data.d.ts
|
|
91
97
|
declare const presetConfigs: {
|
|
92
98
|
basic: {
|
|
@@ -169,7 +175,7 @@ declare const presetConfigs: {
|
|
|
169
175
|
scales: ({
|
|
170
176
|
unit: "week";
|
|
171
177
|
step: number;
|
|
172
|
-
format: (date:
|
|
178
|
+
format: (date: DateFormatArgumentType) => string;
|
|
173
179
|
style: {
|
|
174
180
|
fontSize: number;
|
|
175
181
|
fontWeight: string;
|
|
@@ -177,7 +183,7 @@ declare const presetConfigs: {
|
|
|
177
183
|
} | {
|
|
178
184
|
unit: "day";
|
|
179
185
|
step: number;
|
|
180
|
-
format: (date:
|
|
186
|
+
format: (date: DateFormatArgumentType) => string;
|
|
181
187
|
style: {
|
|
182
188
|
fontSize: number;
|
|
183
189
|
fontWeight?: undefined;
|
|
@@ -275,7 +281,7 @@ declare const presetConfigs: {
|
|
|
275
281
|
unit: "week";
|
|
276
282
|
step: number;
|
|
277
283
|
startOfWeek: "monday";
|
|
278
|
-
format: (date:
|
|
284
|
+
format: (date: DateFormatArgumentType) => string;
|
|
279
285
|
style: {
|
|
280
286
|
fontSize: number;
|
|
281
287
|
fontWeight: string;
|
|
@@ -284,7 +290,7 @@ declare const presetConfigs: {
|
|
|
284
290
|
} | {
|
|
285
291
|
unit: "day";
|
|
286
292
|
step: number;
|
|
287
|
-
format: (date:
|
|
293
|
+
format: (date: DateFormatArgumentType) => string;
|
|
288
294
|
style: {
|
|
289
295
|
fontSize: number;
|
|
290
296
|
textAlign: "center";
|
|
@@ -414,7 +420,7 @@ declare const presetConfigs: {
|
|
|
414
420
|
scales: ({
|
|
415
421
|
unit: "month";
|
|
416
422
|
step: number;
|
|
417
|
-
format: (date:
|
|
423
|
+
format: (date: DateFormatArgumentType) => string;
|
|
418
424
|
style: {
|
|
419
425
|
fontSize: number;
|
|
420
426
|
fontWeight: string;
|
|
@@ -422,7 +428,7 @@ declare const presetConfigs: {
|
|
|
422
428
|
} | {
|
|
423
429
|
unit: "day";
|
|
424
430
|
step: number;
|
|
425
|
-
format: (date:
|
|
431
|
+
format: (date: DateFormatArgumentType) => string;
|
|
426
432
|
style: {
|
|
427
433
|
fontSize: number;
|
|
428
434
|
fontWeight?: undefined;
|
|
@@ -577,7 +583,7 @@ declare const presetConfigs: {
|
|
|
577
583
|
scales: ({
|
|
578
584
|
unit: "month";
|
|
579
585
|
step: number;
|
|
580
|
-
format: (date:
|
|
586
|
+
format: (date: DateFormatArgumentType) => string;
|
|
581
587
|
style: {
|
|
582
588
|
fontSize: number;
|
|
583
589
|
fontWeight: string;
|
|
@@ -585,7 +591,7 @@ declare const presetConfigs: {
|
|
|
585
591
|
} | {
|
|
586
592
|
unit: "week";
|
|
587
593
|
step: number;
|
|
588
|
-
format: (date:
|
|
594
|
+
format: (date: DateFormatArgumentType) => string;
|
|
589
595
|
style: {
|
|
590
596
|
fontSize: number;
|
|
591
597
|
fontWeight?: undefined;
|
|
@@ -776,7 +782,7 @@ declare const presetConfigs: {
|
|
|
776
782
|
unit: "week";
|
|
777
783
|
step: number;
|
|
778
784
|
startOfWeek: "sunday";
|
|
779
|
-
format: (date:
|
|
785
|
+
format: (date: DateFormatArgumentType) => string;
|
|
780
786
|
style: {
|
|
781
787
|
fontSize: number;
|
|
782
788
|
fontWeight: string;
|
|
@@ -789,7 +795,7 @@ declare const presetConfigs: {
|
|
|
789
795
|
} | {
|
|
790
796
|
unit: "day";
|
|
791
797
|
step: number;
|
|
792
|
-
format: (date:
|
|
798
|
+
format: (date: DateFormatArgumentType) => string;
|
|
793
799
|
style: {
|
|
794
800
|
fontSize: number;
|
|
795
801
|
fontWeight: string;
|
package/dist/helpers.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./chunk.cjs`);const e=require(`./density.cjs`),t=require(`./useComponentLocale.cjs`),n=require(`./feedback.cjs`),r=require(`./C_Icon2.cjs`),i=require(`./export-helper.cjs`),a=require(`./data.cjs`),o=require(`./formValidation.cjs`);let s=require(`vue`),c=require(`naive-ui`);const l=Symbol(`c-form-global-config`);function u(){return(0,s.getCurrentInstance)()?(0,s.inject)(l,{}):{}}function d(e,t){let n=e??{},r=(e,t)=>e||t?{...e,...t}:void 0;return{...t,...n,grid:r(t.grid,n.grid),inline:r(t.inline,n.inline),card:r(t.card,n.card),tabs:r(t.tabs,n.tabs),steps:r(t.steps,n.steps),dynamic:r(t.dynamic,n.dynamic),custom:r(t.custom,n.custom)}}const f={layout:`default`,labelPlacement:`left`,labelWidth:`auto`,size:`medium`,density:`default`,disabled:!1,readonly:!1,showActions:!0,validateOnChange:!1,preserveRemovedFields:!1,submitText:``,resetText:``,submitSuccessText:``,resetSuccessText:``,mode:`create`},p=[`steps`,`custom`];function m(t){return{...f,...t,size:t?.size??e.t(t?.density).size}}function h(e){return!(e.showActions===!1||p.includes(e.layout))}function g(e,t=new Set){if(!(typeof e!=`object`||!e||t.has(e))){if(t.add(e),e instanceof Map){e.forEach((e,n)=>{g(n,t),g(e,t)});return}if(e instanceof Set){e.forEach(e=>g(e,t));return}Object.values(e).forEach(e=>g(e,t))}}function _(e,t){let n=(0,s.shallowRef)({}),r=()=>new Set(t?(0,s.toValue)(t):[...Object.keys(n.value),...Object.keys(e)]),i=(0,s.computed)(()=>{for(let e of r())if(c(e))return!0;return!1});function o(){let e=[];for(let t of r())c(t)&&e.push(t);return e}function c(t){let r=a.r(e,t);return g(r),!a.a(a.r(n.value,t),r)}function l(){n.value=a.t(e)}function u(){return a.t(n.value)}return{isDirty:i,getChangedFields:o,isFieldDirty:c,markAsClean:l,getCleanModel:u}}const v={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 y(e){return a.t((e.value===void 0?v[e.type]:e.value)??null)}function b(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 x(e,r,i,c,l,u){let d=(0,s.reactive)(a.t(l?.value??(r.value.mode===`edit`?r.value.initialValues:void 0)??{})),f=(0,s.reactive)({}),p=new Map,m=(0,s.ref)({}),h=(0,s.ref)({}),g=(0,s.ref)({}),v=(0,s.ref)(!1),x=new Map,S=!1,C,w=new Map,T=new Map,E=new Map,D=new Map,O=new Set,k=!1,A=!1,j=0,M=n.t(()=>r.value.feedback),{t:N}=t.t(()=>r.value.locale),{isDirty:P,getChangedFields:ee,isFieldDirty:te,markAsClean:F,getCleanModel:I}=_(d,()=>e.value.map(e=>e.prop));function L(e,t,n){if(!S)try{r.value.onError?r.value.onError(e,{source:t,field:n}):M.error(e instanceof Error?e.message:String(e),e)}catch{}}function R(e,t){if(!(S||!t))try{M[e](t)}catch{}}let z=(0,s.computed)(()=>e.value.filter(e=>{if(e.show===!1)return!1;if(!e.showWhen)return!0;try{return e.showWhen(d)}catch(t){return L(t,`callback`,e.prop),!1}}));function B(){A=!0;let e=++j;(0,s.nextTick)(()=>{e===j&&(A=!1)})}function V(){return a.t(d)}function ne(t){let n=t?a.t(t):{};return e.value.forEach(e=>{a.i(n,e.prop)||a.c(n,e.prop,y(e))}),n}function re(e){try{let t=o.n(e.rulesWhen?e.rulesWhen(d):e.rules);if(x.delete(e.prop),e.required&&!t.some(e=>e.required)){let n=e.label||e.prop;t.unshift(o.t(n,N(`form.required`,{label:n})))}if(e.crossFieldValidator){let n=e.crossFieldValidator;t.push({async validator(){let e=await n(d);if(e)throw Error(e)},trigger:[`change`,`blur`]})}if(t.length===0){delete f[e.prop];return}f[e.prop]=t.map(t=>({...t,key:e.prop}))}catch(t){delete f[e.prop],x.set(e.prop,t),L(t,`callback`,e.prop)}}function ie(){e.value.forEach(e=>{(e.rulesWhen||e.crossFieldValidator)&&re(e)})}function ae(e){O.forEach(t=>{e.has(t)||(p.delete(t),delete f[t],x.delete(t),G(t),E.delete(t),r.value.preserveRemovedFields||a.n(d,t))})}function H(t=!1){try{b(e.value);let n=V(),r=new Set(e.value.map(e=>e.prop));ae(r),e.value.forEach(e=>{a.i(d,e.prop)||a.c(d,e.prop,y(e)),re(e),oe(e)}),O=r,X(W(n),!1),t&&(0,s.nextTick)(F)}catch(e){throw L(e,`initialize`),e}}function U(e){let t=V();B(),a.s(d,ne(e)),X(W(t),!1)}function W(t){return[...new Set([...Object.keys(t),...Object.keys(d),...e.value.map(e=>e.prop)])].filter(e=>!a.a(a.r(t,e),a.r(d,e)))}function G(e){T.get(e)?.abort(),T.delete(e),w.delete(e),D.delete(e),delete m.value[e],delete h.value[e],delete g.value[e]}function oe(e){if(E.get(e.prop)!==e.asyncOptions){if(G(e.prop),!e.asyncOptions){E.delete(e.prop);return}E.set(e.prop,e.asyncOptions),se(e,`initialize`)}}function se(e,t){if(S)return;let n=D.get(e.prop),r={item:e,reason:n?.reason===`initialize`?n.reason:t};D.set(e.prop,r),(0,s.nextTick)(()=>{D.get(e.prop)===r&&(D.delete(e.prop),q(r.item,r.reason))})}function K(e,t,n){return S||n.signal.aborted||w.get(e)!==t||T.get(e)!==n}function ce(e){return!S&&!!e.asyncOptions&&E.get(e.prop)===e.asyncOptions}async function q(e,t){if(!ce(e))return;let{prop:n}=e,r=(w.get(n)??0)+1;w.set(n,r),T.get(n)?.abort();let i=new AbortController;T.set(n,i),h.value[n]=!0,delete g.value[n];try{let o=await e.asyncOptions(V(),{field:n,reason:t,signal:i.signal});if(K(n,r,i))return;if(!Array.isArray(o))throw TypeError(`[C_Form] ${n}.asyncOptions 必须返回数组`);m.value[n]=a.t([...o])}catch(e){if(K(n,r,i))return;g.value[n]=e,L(e,`async-options`,n)}finally{w.get(n)===r&&T.get(n)===i&&(h.value[n]=!1,T.delete(n))}}async function le(t){let n=e.value.filter(e=>e.asyncOptions&&(!t||e.prop===t));if(t&&n.length===0)throw Error(`[C_Form] 未找到异步选项字段: ${t}`);await Promise.all(n.map(e=>(D.delete(e.prop),q(e,`manual`))))}function J(){let t=e.value.filter(e=>e.valueWhen),n=new Set;if(t.length===0)return[];for(let e=0;e<=t.length;e+=1){let e=!1;for(let r of t)try{let t=r.valueWhen?.(d);t!==void 0&&!a.a(a.r(d,r.prop),t)&&(a.c(d,r.prop,a.t(t)),n.add(r.prop),e=!0)}catch(e){L(e,`callback`,r.prop)}if(!e)return[...n]}return L(Error(`[C_Form] valueWhen 存在循环依赖,已停止继续计算`),`callback`),[...n]}function Y(t){let n=t.map(e=>a.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=a.o(e).join(`.`);return n.some(e=>e===t||e.startsWith(`${t}.`)||t.startsWith(`${e}.`))}))}function X(e,t=!0){let n=[...new Set([...e,...J()])];ie(),Y(n).forEach(e=>{se(e,`dependency`)}),t&&r.value.validateOnChange&&(0,s.nextTick)(()=>{S||Z(n).catch(()=>void 0)})}function ue(e){X([e])}function de(e,t){t?p.set(e,t):p.delete(e)}async function fe(){if(u?.value===!1)throw Error(`[C_Form] 布局尚未加载完成`);if(!i.value)throw Error(`[C_Form] 表单引用不存在`);try{let e=z.value.find(e=>x.has(e.prop));if(e)throw x.get(e.prop);if(await i.value.validate(),S)throw Error(`[C_Form] 表单已卸载`);c(`validate-success`,V())}catch(e){throw S||c(`validate-error`,e),e}}async function Z(e){if(u?.value===!1)throw Error(`[C_Form] 布局尚未加载完成`);if(!i.value)throw Error(`[C_Form] 表单引用不存在`);let t=[...new Set(Array.isArray(e)?e:[e])],n=t.find(e=>x.has(e));if(n)throw x.get(n);let r=[],a=t.flatMap(e=>{let t=p.get(e);return t?[t.validate()]:(r.push(e),[])});r.length>0&&a.push(i.value.validate(void 0,e=>r.includes(String(e.key??``))));let o=(await Promise.allSettled(a)).filter(e=>e.status===`rejected`).map(e=>e.reason);if(o.length>0)throw o}function pe(e){if(!e){i.value?.restoreValidation();return}(Array.isArray(e)?e:[e]).forEach(e=>p.get(e)?.restoreValidation())}async function Q(e){let t=z.value.filter(e).map(e=>e.prop);if(t.length===0)return!0;try{return await Z(t),!0}catch{return!1}}function me(e){let t=typeof e==`string`?e:r.value.steps?.steps?.[e]?.key;return t?Q(e=>e.layout?.step===t):Promise.resolve(!0)}function he(e){return Q(t=>t.layout?.tab===e)}function ge(){return Q(e=>!!e.layout?.dynamic)}function $(e){return Q(t=>t.layout?.group===e)}function _e(e){Object.entries(a.t(e)).forEach(([e,t])=>{a.c(d,e,t)}),X(Object.keys(e))}function ve(){let e=V();a.s(d,I()),pe(),X(W(e),!1),R(`info`,r.value.resetSuccessText)}async function ye(e,t,n=!1){a.c(d,e,a.t(t)),ue(e),n&&await Z(e)}function be(e){return a.t(a.r(d,e))}async function xe(e,t=!1){_e(e),t&&await Z(Object.keys(e))}function Se(){return S||u?.value===!1||v.value||r.value.disabled||r.value.readonly}function Ce(e,t,n){return!S&&!e.signal.aborted&&u?.value!==!1&&!r.value.disabled&&!r.value.readonly&&n!==null&&i.value===n&&a.a(d,t)}async function we(){if(Se())return!1;let e=V(),t=i.value,n=new AbortController;C=n,v.value=!0;try{if(await fe(),!Ce(n,e,t))return!1;let i={model:e,form:t};try{await r.value.onSubmit?.(i,{signal:n.signal})}catch(e){return n.signal.aborted||L(e,`submit`),!1}return n.signal.aborted?!1:(c(`submit`,i),R(`success`,r.value.submitSuccessText),!0)}catch{return!1}finally{C===n&&(C=void 0),v.value=!1}}function Te(){H(!0);let e=l?.value??(r.value.mode===`edit`?r.value.initialValues:void 0);e&&U(e),(0,s.nextTick)(F)}return(0,s.watch)(e,()=>{let e=!k;e&&B(),H(e),k=!0},{deep:!0,immediate:!0}),l&&(0,s.watch)(l,e=>{e!==void 0&&!a.a(d,e)&&U(e)},{deep:!0,immediate:!0}),(0,s.watch)(()=>[r.value.mode,r.value.initialValues],([e,t])=>{l?.value!==void 0||e!==`edit`||!t||(U(t),(0,s.nextTick)(F))},{deep:!0}),(0,s.watch)(d,e=>{A||c(`update:modelValue`,a.t(e))},{deep:!0,flush:`post`}),(0,s.onScopeDispose)(()=>{S=!0,C?.abort(),T.forEach(e=>e.abort()),T.clear(),D.clear(),p.clear()}),{formModel:d,formRules:f,visibleOptions:z,initialize:Te,handleFieldChange:ue,setFormItemRef:de,validate:fe,validateField:Z,validateStep:me,validateTab:he,validateDynamicFields:ge,validateCustomGroup:$,clearValidation:pe,getModel:V,setFields:_e,resetFields:ve,setFieldValue:ye,getFieldValue:be,setFieldsValue:xe,submit:we,handleSubmit:we,handleReset:ve,isSubmitting:v,isDirty:P,getChangedFields:ee,isFieldDirty:te,markAsClean:F,asyncOptionsCache:m,asyncLoadingMap:h,asyncErrorMap:g,reloadOptions:le}}const S=Symbol(`c-form-renderer-registry`);function C(e={}){let t=(0,s.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 w(e,t,n){return e===void 0?t:typeof e==`function`?e(n):e}function T(e){return{input:t=>(0,s.h)(e.NInput,{...t}),textarea:t=>(0,s.h)(e.NInput,{...t,type:`textarea`}),inputNumber:t=>(0,s.h)(e.NInputNumber,{...t}),switch:t=>(0,s.h)(e.NSwitch,{...t}),slider:t=>(0,s.h)(e.NSlider,{...t}),rate:t=>(0,s.h)(e.NRate,{...t}),datePicker:t=>(0,s.h)(e.NDatePicker,{...t}),daterange:t=>(0,s.h)(e.NDatePicker,{...t,type:`daterange`}),timePicker:t=>(0,s.h)(e.NTimePicker,{...t}),cascader:t=>(0,s.h)(e.NCascader,{...t}),colorPicker:t=>(0,s.h)(e.NColorPicker,{...t}),select:(t,n)=>(0,s.h)(e.NSelect,{...t,options:n.children?.map(e=>({...e}))||[]}),checkbox:(t,n)=>(0,s.h)(e.NCheckboxGroup,{...t},{default:()=>(0,s.h)(e.NSpace,{},{default:()=>n.children?.map(t=>(0,s.h)(e.NCheckbox,{value:t.value,label:t.label,disabled:t.disabled,key:String(t.value)}))||[]})}),radio:(t,n)=>(0,s.h)(e.NRadioGroup,{...t},{default:()=>(0,s.h)(e.NSpace,{},{default:()=>n.children?.map(t=>(0,s.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,c=a[`onUpdate:value`];return delete a.value,delete a[`onUpdate:value`],(0,s.h)(e.NUpload,{...a,fileList:Array.isArray(o)?o:[],"onUpdate:fileList":e=>c?.(e)},{default:()=>i.slots?.uploadClick?.()||(0,s.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,s.h)(e.C_Editor,{...r,editorId:`editor-${n.prop}`,modelValue:typeof i==`string`?i:``,"onUpdate:modelValue":e=>a?.(e)})}}}const E=C();function D(e,t){return E.register(e,t)}function O(e,t){return E.unregister(e,t)}const k=new Set([`select`,`checkbox`,`radio`,`cascader`]),A=new Set([`input`,`textarea`,`inputNumber`,`select`,`checkbox`,`radio`,`switch`,`datePicker`,`daterange`,`timePicker`,`cascader`,`colorPicker`]),j=new Set([`input`,`textarea`,`inputNumber`,`rate`,`editor`]);function M(e){let{formModel:t,visibleOptions:n,config:r,handleFieldChange:i,componentMap:o,instanceSlots:c,asyncOptionsCache:l,asyncLoadingMap:u,renderers:d,setFormItemRef:f,onError:p}=e,m=o,h=T(m),g=(0,s.getCurrentInstance)()?(0,s.inject)(S,void 0):void 0,_=e.registry??g??E,v=e=>d?.value?.[e]??_.get(e)??h[e],y=e=>{let n=w(e.disabled,r.value.disabled,t),o=w(e.readonly,r.value.readonly,t),s=j.has(e.type),c={...A.has(e.type)?{size:e.attrs?.size??r.value.size}:{},value:a.r(t,e.prop),"onUpdate:value":n=>{w(e.disabled,r.value.disabled,t)||w(e.readonly,r.value.readonly,t)||(a.c(t,e.prop,n),i(e.prop))},disabled:n||o&&!s,readonly:o||e.type===`rate`&&n};return e.type===`textarea`&&(c.type=`textarea`),e.placeholder&&(c.placeholder=e.placeholder),c};function b(e){let t=e.children??[];return Object.prototype.hasOwnProperty.call(l.value,e.prop)?l.value[e.prop]??[]:t}function x(e){return k.has(e.type)?{...e,children:b(e)}:e}function C(e,t){return e.type===`select`&&u.value[e.prop]&&(t.loading=!0),t}let D=e=>{try{let t=x(e),n=v(t.type);return n?n(C(t,(0,s.mergeProps)(t.attrs??{},y(t))),t,r.value,{slots:c,components:m}):(p?.(TypeError(`[C_Form] 未支持的组件类型: ${t.type}`),t.prop),null)}catch(t){return p?.(t,e.prop),null}};function O(e){if(e.label)return e.help?(0,s.h)(`span`,{style:`display:inline-flex;align-items:center;gap:4px`},[e.label,(0,s.h)(m.NTooltip,{trigger:`hover`},{trigger:()=>(0,s.h)(`span`,{style:`cursor:help;opacity:0.5;font-size:14px`,textContent:`ⓘ`}),default:()=>e.help})]):e.label}return{renderFormItem:D,formItems:(0,s.computed)(()=>n.value.map(e=>{let t=!!(e.required||e.rules?.some(e=>e.required)),n=O(e);return(0,s.h)(m.NFormItem,{label:typeof n==`string`?n:void 0,path:e.prop,class:`c-form-field`,key:e.prop,required:t,ref:t=>f?.(e.prop,t)},{...typeof n!=`string`&&n?{label:()=>n}:{},default:()=>D(e)})})),getBaseProps:y}}const N={class:`c-form-default`},P=(0,s.defineComponent)({__name:`index`,props:{formItems:{},layoutConfig:{},options:{}},setup(e){return(t,n)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,N,[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(e.formItems,(e,t)=>((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)(e),{key:e.key??t}))),128))]))}});var ee=i.t(P,[[`__scopeId`,`data-v-4313de0c`]]);const te=(0,s.defineComponent)({__name:`index`,props:{formItems:{},layoutConfig:{default:()=>({})},options:{default:()=>[]}},setup(e){let t=e,n=(0,s.computed)(()=>t.layoutConfig?.inline?.itemWidth??280),r=(0,s.computed)(()=>t.layoutConfig?.inline?.gap??16),i=(0,s.computed)(()=>t.layoutConfig?.inline?.rowGap??16),a=(0,s.computed)(()=>t.layoutConfig?.inline?.align??`center`),o=(0,s.computed)(()=>{switch(a.value){case`start`:return`flex-start`;case`end`:return`flex-end`;default:return a.value}}),c=(0,s.computed)(()=>{switch(a.value){case`start`:return`flex-start`;case`end`:return`flex-end`;case`center`:return`center`;default:return`flex-start`}}),l=(0,s.computed)(()=>({display:`flex`,flexWrap:t.layoutConfig?.inline?.wrap??`wrap`,alignItems:o.value,justifyContent:c.value,gap:`${i.value}px ${r.value}px`,width:`100%`})),u=(e,t)=>{if(e.key!=null)return String(e.key);let n=e.props;return n?.path?n.path:`form-item-${t}`},d=e=>{let r=t.options?.[e]?.layout,i={width:`${n.value}px`,flexShrink:0,display:`flex`,flexDirection:`column`};return r?.width!==void 0&&(i.width=typeof r.width==`number`?`${r.width}px`:r.width),r?.style&&Object.assign(i,r.style),i};return(t,n)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:`c-form-inline`,style:(0,s.normalizeStyle)(l.value)},[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(e.formItems,(e,t)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:u(e,t),class:`c-form-inline-item`,style:(0,s.normalizeStyle)(d(t))},[((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)(e)))],4))),128))],4))}});var F=i.t(te,[[`__scopeId`,`data-v-711f6c00`]]);const I={class:`c-grid-layout`},L={class:`config-header`},R={class:`config-controls`},z={class:`config-label`},B={class:`item-wrapper`},V=(0,s.defineComponent)({__name:`index`,props:{controlSize:{},formItems:{},layoutConfig:{default:()=>({})},options:{default:()=>[]}},setup(e,{expose:t}){let n=e,i=(0,s.reactive)({cols:24,gutter:16,responsive:!0}),a=(0,s.computed)(()=>n.layoutConfig?.grid||{}),o=(0,s.computed)(()=>a.value.showConfigPanel),l=(0,s.computed)(()=>a.value.showStats),u=(0,s.computed)(()=>({cols:o.value?i.cols:a.value.cols??24,gutter:o.value?i.gutter:a.value.gutter??16,responsive:o.value?i.responsive:a.value.responsive??!0})),d=(0,s.computed)(()=>({cols:u.value.cols,xGap:a.value.xGap??u.value.gutter,yGap:a.value.yGap??a.value.yGutter??u.value.gutter,responsive:u.value.responsive?`screen`:`self`})),f=(0,s.computed)(()=>[{key:`cols`,label:`列数`,component:c.NInputNumber,value:i.cols,update:e=>{typeof e==`number`&&(i.cols=e)},props:{min:1,max:48,size:n.controlSize??`small`}},{key:`gutter`,label:`间距`,component:c.NInputNumber,value:i.gutter,update:e=>{typeof e==`number`&&(i.gutter=e)},props:{min:0,max:48,size:n.controlSize??`small`}},{key:`responsive`,label:`响应式`,component:c.NSwitch,value:i.responsive,update:e=>{typeof e==`boolean`&&(i.responsive=e)},props:{size:n.controlSize??`small`}}]),p=(0,s.computed)(()=>`列数: ${u.value.cols} | 间距: ${u.value.gutter}px | 项目: ${n.formItems.length}个`),m=(e,t)=>String(e.key)||e.props?.path||`grid-item-${t}`,h=(e,t)=>{let r=n.options?.[e]?.layout;return r?.[t]??r?.grid?.[t]},g=()=>{let{cols:e}=u.value;return e<=12?e:e<=24?12:8},_=e=>{let t=h(e,`span`),n=h(e,`offset`),r=h(e,`suffix`);return{span:typeof t==`number`&&t>0&&t<=u.value.cols?t:g(),offset:typeof n==`number`&&n>=0&&n<u.value.cols?n:0,suffix:!!r}};return(0,s.watch)(a,e=>{e.cols!==void 0&&(i.cols=e.cols),e.gutter!==void 0&&(i.gutter=e.gutter),e.responsive!==void 0&&(i.responsive=e.responsive)},{immediate:!0}),t({updateGridConfig:e=>Object.assign(i,e),getCurrentConfig:()=>({...u.value}),getGridInfo:()=>({...u.value,itemCount:n.formItems.length})}),(t,n)=>{let i=c.NCard,a=c.NGridItem,u=c.NGrid,h=c.NAlert;return(0,s.openBlock)(),(0,s.createElementBlock)(`div`,I,[(0,s.createCommentVNode)(` 配置面板 `),o.value?((0,s.openBlock)(),(0,s.createBlock)(i,{key:0,size:e.controlSize??`small`,bordered:!1,class:`config-panel`},{header:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`div`,L,[(0,s.createVNode)(r.t,{name:`mdi:view-grid`,size:18}),n[0]||=(0,s.createElementVNode)(`span`,null,`网格配置`,-1)])]),default:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`div`,R,[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(f.value,e=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:e.key,class:`config-item`},[(0,s.createElementVNode)(`span`,z,(0,s.toDisplayString)(e.label)+`:`,1),((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)(e.component),(0,s.mergeProps)({value:e.value},{ref_for:!0},e.props,{"onUpdate:value":e.update}),null,16,[`value`,`onUpdate:value`]))]))),128))])]),_:1},8,[`size`])):(0,s.createCommentVNode)(`v-if`,!0),(0,s.createCommentVNode)(` 网格容器 `),(0,s.createVNode)(u,(0,s.mergeProps)(d.value,{class:`grid-container`}),{default:(0,s.withCtx)(()=>[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(e.formItems,(e,t)=>((0,s.openBlock)(),(0,s.createBlock)(a,(0,s.mergeProps)({key:m(e,t)},{ref_for:!0},_(t),{class:`grid-item`}),{default:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`div`,B,[((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)(e)))])]),_:2},1040))),128))]),_:1},16),(0,s.createCommentVNode)(` 统计信息 `),l.value?((0,s.openBlock)(),(0,s.createBlock)(h,{key:1,type:`info`,"show-icon":!1,size:`small`,class:`grid-stats`},{header:(0,s.withCtx)(()=>[(0,s.createVNode)(r.t,{name:`mdi:information-outline`,size:16}),n[1]||=(0,s.createTextVNode)(` 网格信息 `,-1)]),default:(0,s.withCtx)(()=>[(0,s.createTextVNode)(` `+(0,s.toDisplayString)(p.value),1)]),_:1})):(0,s.createCommentVNode)(`v-if`,!0)])}}});var ne=i.t(V,[[`__scopeId`,`data-v-4758bc1e`]]);const re=[`default`,`inline`,`grid`],ie={NFormItem:c.NFormItem,NInput:c.NInput,NInputNumber:c.NInputNumber,NSwitch:c.NSwitch,NSelect:c.NSelect,NCheckboxGroup:c.NCheckboxGroup,NCheckbox:c.NCheckbox,NRadioGroup:c.NRadioGroup,NRadio:c.NRadio,NButton:c.NButton,NSpace:c.NSpace,NTooltip:c.NTooltip,NSlider:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./slider.cjs`))),NRate:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./rate.cjs`))),NDatePicker:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./date-picker.cjs`))),NTimePicker:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./time-picker.cjs`))),NCascader:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./cascader.cjs`))),NColorPicker:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./color-picker.cjs`))),NUpload:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./upload.cjs`))),C_Editor:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./C_Editor.cjs`)).then(e=>e.C_Editor))},ae={default:ee,inline:F,grid:ne,card:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Card.cjs`))),tabs:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Tabs.cjs`))),steps:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Steps.cjs`))),dynamic:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Dynamic.cjs`))),custom:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Custom.cjs`)))},H=(0,s.defineComponent)({name:`C_Form`,__name:`index`,props:{options:{},modelValue:{},config:{default:()=>({})},renderers:{}},emits:[`submit`,`update:modelValue`,`validate-success`,`validate-error`],setup(n,{expose:r,emit:i}){let a=n,o=i,l=u(),f=(0,s.useAttrs)(),p=(0,s.computed)(()=>d(a.config,l)),g=(0,s.computed)(()=>{let{size:e}=f;return m({...p.value,...e===`small`||e===`medium`||e===`large`?{size:e}:{}})}),_=(0,s.computed)(()=>p.value.density!==void 0),v=(0,s.computed)(()=>e.t(g.value.density)),y=(0,s.computed)(()=>{if(!_.value)return;let{gap:e,rowGap:t,padding:n,formItemGap:r}=v.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:b}=t.t(()=>g.value.locale),S=(0,s.ref)(null),C=(0,s.ref)(null),w=(0,s.computed)(()=>re.includes(g.value.layout)||C.value===g.value.layout),{formModel:T,formRules:E,visibleOptions:D,initialize:O,handleFieldChange:k,validate:A,validateField:j,validateStep:N,validateTab:P,validateDynamicFields:ee,validateCustomGroup:te,clearValidation:F,getModel:I,setFields:L,resetFields:R,setFieldValue:z,getFieldValue:B,setFieldsValue:V,handleSubmit:ne,handleReset:H,isDirty:U,getChangedFields:W,isFieldDirty:G,markAsClean:oe,asyncOptionsCache:se,asyncLoadingMap:K,asyncErrorMap:ce,reloadOptions:q,setFormItemRef:le,isSubmitting:J,submit:Y}=x((0,s.computed)(()=>a.options),g,S,o,(0,s.computed)(()=>a.modelValue),w),X=(0,s.computed)(()=>T),ue=()=>I(),de=(0,s.computed)(()=>({form:S.value,model:X.value,validate:A,validateField:j,reset:R,setFields:L,getModel:ue,clearValidation:F,submit:Y,reloadOptions:q,submitting:J.value})),fe=(0,s.getCurrentInstance)(),Z=()=>Object.keys(fe?.slots??{}).filter(e=>![`action`,`action-extra`,`step-actions`].includes(e)),{formItems:pe}=M({formModel:T,visibleOptions:D,config:g,handleFieldChange:k,componentMap:ie,instanceSlots:fe?.slots,asyncOptionsCache:se,asyncLoadingMap:K,renderers:(0,s.computed)(()=>a.renderers),setFormItemRef:le,onError:(e,t)=>g.value.onError?.(e,{source:`render`,field:t})}),Q=(0,s.computed)(()=>ae[g.value.layout]||ae.default),me=(0,s.computed)(()=>{let e=g.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(!_.value)return t;let{gap:n,rowGap:r}=v.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}}}}),he=(0,s.computed)(()=>h(g.value)),ge=(0,s.computed)(()=>{let{layout:e}=g.value;return{...e===`steps`?{beforeStepChange:Ce,validateStep:we,submitting:J.value,disabled:g.value.disabled||g.value.readonly}:e===`tabs`?{beforeTabChange:be,validateTab:xe}:{},controlSize:_.value?g.value.size:void 0,onVnodeMounted:()=>{C.value=e}}}),$=(e,...t)=>{let n=g.value[e];if(typeof n==`function`)try{let e=n(...t);e instanceof Promise&&e.catch(e=>g.value.onError?.(e,{source:`callback`}))}catch(e){g.value.onError?.(e,{source:`callback`})}},_e=e=>{g.value.onFieldsChange?.(e)},ve=e=>{o(`validate-success`,e)},ye=e=>{o(`validate-error`,e)},be=async(e,t)=>{try{return await g.value.onTabBeforeChange?.(e,t)!==!1}catch(e){return g.value.onError?.(e,{source:`callback`}),!1}},xe=async e=>{let t=await P(e);return t&&g.value.onTabValidate?.(e),t},Se=(e,t)=>{g.value.onStepChange?.(e,t)},Ce=async(e,t)=>{try{return await g.value.onStepBeforeChange?.(e,t)!==!1}catch(e){return g.value.onError?.(e,{source:`callback`}),!1}},we=async(e,t)=>{try{return await N(t)?(g.value.onStepValidate?.(e),!0):!1}catch{return!1}};return r({validate:A,validateField:j,validateStep:N,validateTab:P,validateDynamicFields:ee,validateCustomGroup:te,clearValidation:F,getModel:I,setFields:L,resetFields:R,setFieldValue:z,getFieldValue:B,setFieldsValue:V,formRef:S,formModel:T,initialize:O,layoutType:(0,s.computed)(()=>g.value.layout),shouldShowDefaultActions:he,isDirty:U,getChangedFields:W,isFieldDirty:G,markAsClean:oe,asyncLoadingMap:K,asyncErrorMap:ce,reloadOptions:q,isSubmitting:J,submit:Y}),(e,t)=>((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NForm),(0,s.mergeProps)({ref_key:`formRef`,ref:S,class:[`c-form`,_.value&&`c-form--${g.value.density}`],style:y.value,model:(0,s.unref)(T),rules:(0,s.unref)(E),"validate-on-rule-change":!1,"label-placement":g.value.labelPlacement,"label-width":g.value.labelWidth,size:g.value.size,disabled:g.value.disabled,readonly:g.value.readonly},e.$attrs,{onSubmit:(0,s.withModifiers)((0,s.unref)(Y),[`prevent`])}),{default:(0,s.withCtx)(()=>[(0,s.createCommentVNode)(` 布局组件渲染 `),((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)(Q.value),(0,s.mergeProps)({key:g.value.layout,"form-items":(0,s.unref)(pe),"layout-config":me.value,options:(0,s.unref)(D),"form-data":(0,s.unref)(T)},ge.value,{onTabChange:t[0]||=(e,t)=>$(`onTabChange`,e,t),onStepChange:Se,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:ve,onValidateError:ye,onFieldsChange:_e}),(0,s.createSlots)({"step-actions":(0,s.withCtx)(t=>[(0,s.renderSlot)(e.$slots,`step-actions`,(0,s.mergeProps)(t,{submit:(0,s.unref)(Y),submitting:(0,s.unref)(J)}),()=>[t.isLastStep&&g.value.showActions?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NButton),{key:0,type:`primary`,size:g.value.size,loading:(0,s.unref)(J)||!w.value,disabled:!w.value||(0,s.unref)(J)||g.value.disabled||g.value.readonly,onClick:(0,s.unref)(Y)},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)(g.value.submitText||(0,s.unref)(b)(`common.submit`)),1)]),_:1},8,[`size`,`loading`,`disabled`,`onClick`])):(0,s.createCommentVNode)(`v-if`,!0)],!0)]),_:2},[(0,s.renderList)(Z(),t=>({name:t,fn:(0,s.withCtx)(n=>[(0,s.renderSlot)(e.$slots,t,(0,s.normalizeProps)((0,s.guardReactiveProps)(n)),void 0,!0)])}))]),1040,[`form-items`,`layout-config`,`options`,`form-data`])),(0,s.createCommentVNode)(` 表单操作按钮区域(只在特定布局中显示) `),he.value?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NFormItem),{key:0,class:`c-form-actions`},{default:(0,s.withCtx)(()=>[(0,s.renderSlot)(e.$slots,`action`,(0,s.normalizeProps)((0,s.guardReactiveProps)(de.value)),()=>[(0,s.createVNode)((0,s.unref)(c.NSpace),{justify:`end`,size:_.value?v.value.gap:void 0,style:{width:`100%`}},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.NButton),{size:g.value.size,disabled:!w.value||(0,s.unref)(J)||g.value.disabled||g.value.readonly,onClick:(0,s.unref)(H)},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)(g.value.resetText||(0,s.unref)(b)(`common.reset`)),1)]),_:1},8,[`size`,`disabled`,`onClick`]),(0,s.renderSlot)(e.$slots,`action-extra`,(0,s.normalizeProps)((0,s.guardReactiveProps)(de.value)),void 0,!0),(0,s.createVNode)((0,s.unref)(c.NButton),{type:`primary`,size:g.value.size,loading:(0,s.unref)(J)||!w.value,disabled:!w.value||(0,s.unref)(J)||g.value.disabled||g.value.readonly,onClick:(0,s.unref)(ne)},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)(g.value.submitText||(0,s.unref)(b)(`common.submit`)),1)]),_:1},8,[`size`,`loading`,`disabled`,`onClick`])]),_:3},8,[`size`])],!0)]),_:3})):(0,s.createCommentVNode)(`v-if`,!0)]),_:3},16,[`class`,`style`,`model`,`rules`,`label-placement`,`label-width`,`size`,`disabled`,`readonly`,`onSubmit`]))}});var U=i.t(H,[[`__scopeId`,`data-v-37ca39aa`]]);function W(e){return e}function G(e){return e}function oe(e){let t=(0,s.shallowRef)(a.t(e.initialValues)),n=(0,s.shallowRef)(null);return{model:t,formRef:n,bindings:(0,s.computed)(()=>({modelValue:t.value,options:(0,s.toValue)(e.options),config:(0,s.toValue)(e.config),"onUpdate:modelValue":e=>{t.value=a.t(e)}})),validate:async()=>{if(!n.value)throw Error(`C_Form is not mounted`);await n.value.validate()},submit:()=>n.value?.submit()??Promise.resolve(!1),reset:()=>{n.value?(n.value.resetFields(),t.value=a.t(n.value.getModel())):t.value=a.t(e.initialValues)},getValues:()=>a.t(n.value?.getModel()??t.value),setValues:async(e,r=!1)=>{n.value?(await n.value.setFieldsValue(e,r),t.value=a.t(n.value.getModel())):t.value={...t.value,...a.t(e)}}}}Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return u}});
|
|
1
|
+
require(`./chunk.cjs`);const e=require(`./density.cjs`),t=require(`./useComponentLocale.cjs`),n=require(`./feedback.cjs`),r=require(`./C_Icon2.cjs`),i=require(`./export-helper.cjs`),a=require(`./data.cjs`),o=require(`./formValidation.cjs`);let s=require(`vue`),c=require(`naive-ui`);const l=Symbol(`c-form-global-config`);function u(){return(0,s.getCurrentInstance)()?(0,s.inject)(l,{}):{}}function d(e,t){let n=e??{},r=(e,t)=>e||t?{...e,...t}:void 0;return{...t,...n,grid:r(t.grid,n.grid),inline:r(t.inline,n.inline),card:r(t.card,n.card),tabs:r(t.tabs,n.tabs),steps:r(t.steps,n.steps),dynamic:r(t.dynamic,n.dynamic),custom:r(t.custom,n.custom)}}const f={layout:`default`,labelPlacement:`left`,labelWidth:`auto`,size:`medium`,density:`default`,disabled:!1,readonly:!1,showActions:!0,validateOnChange:!1,preserveRemovedFields:!1,submitText:``,resetText:``,submitSuccessText:``,resetSuccessText:``,mode:`create`},p=[`steps`,`custom`];function m(t){return{...f,...t,size:t?.size??e.t(t?.density).size}}function h(e){return!(e.showActions===!1||p.includes(e.layout))}function g(e,t){if(Reflect.has(e,t)&&Object.prototype.hasOwnProperty.call(e,t))return(0,s.isReactive)(e);let n=e;for(let e of a.o(t)){if(!n||typeof n!=`object`||!(0,s.isReactive)(n))return!1;n=n[e]}return!0}function _(e,t=new Set){if(typeof e!=`object`||!e||t.has(e))return!0;t.add(e);let n=(0,s.isReactive)(e);return e instanceof Map?(e.forEach((e,r)=>{n=_(r,t)&&n,n=_(e,t)&&n}),n):e instanceof Set?(e.forEach(e=>{n=_(e,t)&&n}),n):(Object.values(e).forEach(e=>{n=_(e,t)&&n}),n)}function v(e,t){let n=(0,s.shallowRef)({}),r=new Map,i=(0,s.isReactive)(e);function o(){let i=new Set(t?(0,s.toValue)(t):[...Object.keys(n.value),...Object.keys(e)]);for(let e of r.keys())i.has(e)||r.delete(e);return i}let c=(0,s.computed)(()=>{for(let e of o())if(d(e))return!0;return!1});function l(){let e=[];for(let t of o())d(t)&&e.push(t);return e}function u(e){return f(e)}function d(t){if(!i)return f(t);let o=r.get(t);return o||(o=(0,s.computed)(()=>{let r=a.r(e,t),i=g(e,t);return{cacheable:_(r)&&i,dirty:!a.a(a.r(n.value,t),r)}}),r.set(t,o)),o.value.cacheable?o.value.dirty:f(t)}function f(t){let r=a.r(e,t);return _(r),!a.a(a.r(n.value,t),r)}function p(){n.value=a.t(e)}function m(){return a.t(n.value)}return{isDirty:c,getChangedFields:l,isFieldDirty:u,markAsClean:p,getCleanModel:m}}const y={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 b(e){return a.t((e.value===void 0?y[e.type]:e.value)??null)}function x(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 S(e,r,i,c,l,u){let d=(0,s.reactive)(a.t(l?.value??(r.value.mode===`edit`?r.value.initialValues:void 0)??{})),f=(0,s.reactive)({}),p=new Map,m=(0,s.ref)({}),h=(0,s.ref)({}),g=(0,s.ref)({}),_=(0,s.ref)(!1),y=new Map,S=!1,C,w=new Map,T=new Map,E=new Map,D=new Map,O=new Set,k=!1,A=!1,j=0,M=n.t(()=>r.value.feedback),{t:ee}=t.t(()=>r.value.locale),{isDirty:N,getChangedFields:te,isFieldDirty:ne,markAsClean:P,getCleanModel:F}=v(d,()=>e.value.map(e=>e.prop));function I(e,t,n){if(!S)try{r.value.onError?r.value.onError(e,{source:t,field:n}):M.error(e instanceof Error?e.message:String(e),e)}catch{}}function L(e,t){if(!(S||!t))try{M[e](t)}catch{}}let R=(0,s.computed)(()=>e.value.filter(e=>{if(e.show===!1)return!1;if(!e.showWhen)return!0;try{return e.showWhen(d)}catch(t){return I(t,`callback`,e.prop),!1}}));function z(){A=!0;let e=++j;(0,s.nextTick)(()=>{e===j&&(A=!1)})}function B(){return a.t(d)}function re(t){let n=t?a.t(t):{};return e.value.forEach(e=>{a.i(n,e.prop)||a.c(n,e.prop,b(e))}),n}function V(e){try{let t=o.n(e.rulesWhen?e.rulesWhen(d):e.rules);if(y.delete(e.prop),e.required&&!t.some(e=>e.required)){let n=e.label||e.prop;t.unshift(o.t(n,ee(`form.required`,{label:n})))}if(e.crossFieldValidator){let n=e.crossFieldValidator;t.push({async validator(){let e=await n(d);if(e)throw Error(e)},trigger:[`change`,`blur`]})}if(t.length===0){delete f[e.prop];return}f[e.prop]=t.map(t=>({...t,key:e.prop}))}catch(t){delete f[e.prop],y.set(e.prop,t),I(t,`callback`,e.prop)}}function ie(){e.value.forEach(e=>{(e.rulesWhen||e.crossFieldValidator)&&V(e)})}function ae(e){O.forEach(t=>{e.has(t)||(p.delete(t),delete f[t],y.delete(t),G(t),E.delete(t),r.value.preserveRemovedFields||a.n(d,t))})}function H(t=!1){try{x(e.value);let n=B(),r=new Set(e.value.map(e=>e.prop));ae(r),e.value.forEach(e=>{a.i(d,e.prop)||a.c(d,e.prop,b(e)),V(e),oe(e)}),O=r,X(W(n),!1),t&&(0,s.nextTick)(P)}catch(e){throw I(e,`initialize`),e}}function U(e){let t=B();z(),a.s(d,re(e)),X(W(t),!1)}function W(t){return[...new Set([...Object.keys(t),...Object.keys(d),...e.value.map(e=>e.prop)])].filter(e=>!a.a(a.r(t,e),a.r(d,e)))}function G(e){T.get(e)?.abort(),T.delete(e),w.delete(e),D.delete(e),delete m.value[e],delete h.value[e],delete g.value[e]}function oe(e){if(E.get(e.prop)!==e.asyncOptions){if(G(e.prop),!e.asyncOptions){E.delete(e.prop);return}E.set(e.prop,e.asyncOptions),K(e,`initialize`)}}function K(e,t){if(S)return;let n=D.get(e.prop),r={item:e,reason:n?.reason===`initialize`?n.reason:t};D.set(e.prop,r),(0,s.nextTick)(()=>{D.get(e.prop)===r&&(D.delete(e.prop),ce(r.item,r.reason))})}function q(e,t,n){return S||n.signal.aborted||w.get(e)!==t||T.get(e)!==n}function se(e){return!S&&!!e.asyncOptions&&E.get(e.prop)===e.asyncOptions}async function ce(e,t){if(!se(e))return;let{prop:n}=e,r=(w.get(n)??0)+1;w.set(n,r),T.get(n)?.abort();let i=new AbortController;T.set(n,i),h.value[n]=!0,delete g.value[n];try{let o=await e.asyncOptions(B(),{field:n,reason:t,signal:i.signal});if(q(n,r,i))return;if(!Array.isArray(o))throw TypeError(`[C_Form] ${n}.asyncOptions 必须返回数组`);m.value[n]=a.t([...o])}catch(e){if(q(n,r,i))return;g.value[n]=e,I(e,`async-options`,n)}finally{w.get(n)===r&&T.get(n)===i&&(h.value[n]=!1,T.delete(n))}}async function le(t){let n=e.value.filter(e=>e.asyncOptions&&(!t||e.prop===t));if(t&&n.length===0)throw Error(`[C_Form] 未找到异步选项字段: ${t}`);await Promise.all(n.map(e=>(D.delete(e.prop),ce(e,`manual`))))}function J(){let t=e.value.filter(e=>e.valueWhen),n=new Set;if(t.length===0)return[];for(let e=0;e<=t.length;e+=1){let e=!1;for(let r of t)try{let t=r.valueWhen?.(d);t!==void 0&&!a.a(a.r(d,r.prop),t)&&(a.c(d,r.prop,a.t(t)),n.add(r.prop),e=!0)}catch(e){I(e,`callback`,r.prop)}if(!e)return[...n]}return I(Error(`[C_Form] valueWhen 存在循环依赖,已停止继续计算`),`callback`),[...n]}function Y(t){let n=t.map(e=>a.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=a.o(e).join(`.`);return n.some(e=>e===t||e.startsWith(`${t}.`)||t.startsWith(`${e}.`))}))}function X(e,t=!0){let n=[...new Set([...e,...J()])];ie(),Y(n).forEach(e=>{K(e,`dependency`)}),t&&r.value.validateOnChange&&(0,s.nextTick)(()=>{S||Z(n).catch(()=>void 0)})}function ue(e){X([e])}function de(e,t){t?p.set(e,t):p.delete(e)}async function fe(){if(u?.value===!1)throw Error(`[C_Form] 布局尚未加载完成`);if(!i.value)throw Error(`[C_Form] 表单引用不存在`);try{let e=R.value.find(e=>y.has(e.prop));if(e)throw y.get(e.prop);if(await i.value.validate(),S)throw Error(`[C_Form] 表单已卸载`);c(`validate-success`,B())}catch(e){throw S||c(`validate-error`,e),e}}async function Z(e){if(u?.value===!1)throw Error(`[C_Form] 布局尚未加载完成`);if(!i.value)throw Error(`[C_Form] 表单引用不存在`);let t=[...new Set(Array.isArray(e)?e:[e])],n=t.find(e=>y.has(e));if(n)throw y.get(n);let r=[],a=t.flatMap(e=>{let t=p.get(e);return t?[t.validate()]:(r.push(e),[])});r.length>0&&a.push(i.value.validate(void 0,e=>r.includes(String(e.key??``))));let o=(await Promise.allSettled(a)).filter(e=>e.status===`rejected`).map(e=>e.reason);if(o.length>0)throw o}function pe(e){if(!e){i.value?.restoreValidation();return}(Array.isArray(e)?e:[e]).forEach(e=>p.get(e)?.restoreValidation())}async function Q(e){let t=R.value.filter(e).map(e=>e.prop);if(t.length===0)return!0;try{return await Z(t),!0}catch{return!1}}function me(e){let t=typeof e==`string`?e:r.value.steps?.steps?.[e]?.key;return t?Q(e=>e.layout?.step===t):Promise.resolve(!0)}function he(e){return Q(t=>t.layout?.tab===e)}function ge(){return Q(e=>!!e.layout?.dynamic)}function $(e){return Q(t=>t.layout?.group===e)}function _e(e){Object.entries(a.t(e)).forEach(([e,t])=>{a.c(d,e,t)}),X(Object.keys(e))}function ve(){let e=B();a.s(d,F()),pe(),X(W(e),!1),L(`info`,r.value.resetSuccessText)}async function ye(e,t,n=!1){a.c(d,e,a.t(t)),ue(e),n&&await Z(e)}function be(e){return a.t(a.r(d,e))}async function xe(e,t=!1){_e(e),t&&await Z(Object.keys(e))}function Se(){return S||u?.value===!1||_.value||r.value.disabled||r.value.readonly}function Ce(e,t,n){return!S&&!e.signal.aborted&&u?.value!==!1&&!r.value.disabled&&!r.value.readonly&&n!==null&&i.value===n&&a.a(d,t)}async function we(){if(Se())return!1;let e=B(),t=i.value,n=new AbortController;C=n,_.value=!0;try{if(await fe(),!Ce(n,e,t))return!1;let i={model:e,form:t};try{await r.value.onSubmit?.(i,{signal:n.signal})}catch(e){return n.signal.aborted||I(e,`submit`),!1}return n.signal.aborted?!1:(c(`submit`,i),L(`success`,r.value.submitSuccessText),!0)}catch{return!1}finally{C===n&&(C=void 0),_.value=!1}}function Te(){H(!0);let e=l?.value??(r.value.mode===`edit`?r.value.initialValues:void 0);e&&U(e),(0,s.nextTick)(P)}return(0,s.watch)(e,()=>{let e=!k;e&&z(),H(e),k=!0},{deep:!0,immediate:!0}),l&&(0,s.watch)(l,e=>{e!==void 0&&!a.a(d,e)&&U(e)},{deep:!0,immediate:!0}),(0,s.watch)(()=>[r.value.mode,r.value.initialValues],([e,t])=>{l?.value!==void 0||e!==`edit`||!t||(U(t),(0,s.nextTick)(P))},{deep:!0}),(0,s.watch)(d,e=>{A||c(`update:modelValue`,a.t(e))},{deep:!0,flush:`post`}),(0,s.onScopeDispose)(()=>{S=!0,C?.abort(),T.forEach(e=>e.abort()),T.clear(),D.clear(),p.clear()}),{formModel:d,formRules:f,visibleOptions:R,initialize:Te,handleFieldChange:ue,setFormItemRef:de,validate:fe,validateField:Z,validateStep:me,validateTab:he,validateDynamicFields:ge,validateCustomGroup:$,clearValidation:pe,getModel:B,setFields:_e,resetFields:ve,setFieldValue:ye,getFieldValue:be,setFieldsValue:xe,submit:we,handleSubmit:we,handleReset:ve,isSubmitting:_,isDirty:N,getChangedFields:te,isFieldDirty:ne,markAsClean:P,asyncOptionsCache:m,asyncLoadingMap:h,asyncErrorMap:g,reloadOptions:le}}const C=Symbol(`c-form-renderer-registry`);function w(e={}){let t=(0,s.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 T(e,t,n){return e===void 0?t:typeof e==`function`?e(n):e}function E(e){return{input:t=>(0,s.h)(e.NInput,{...t}),textarea:t=>(0,s.h)(e.NInput,{...t,type:`textarea`}),inputNumber:t=>(0,s.h)(e.NInputNumber,{...t}),switch:t=>(0,s.h)(e.NSwitch,{...t}),slider:t=>(0,s.h)(e.NSlider,{...t}),rate:t=>(0,s.h)(e.NRate,{...t}),datePicker:t=>(0,s.h)(e.NDatePicker,{...t}),daterange:t=>(0,s.h)(e.NDatePicker,{...t,type:`daterange`}),timePicker:t=>(0,s.h)(e.NTimePicker,{...t}),cascader:t=>(0,s.h)(e.NCascader,{...t}),colorPicker:t=>(0,s.h)(e.NColorPicker,{...t}),select:(t,n)=>(0,s.h)(e.NSelect,{...t,options:n.children?.map(e=>({...e}))||[]}),checkbox:(t,n)=>(0,s.h)(e.NCheckboxGroup,{...t},{default:()=>(0,s.h)(e.NSpace,{},{default:()=>n.children?.map(t=>(0,s.h)(e.NCheckbox,{value:t.value,label:t.label,disabled:t.disabled,key:String(t.value)}))||[]})}),radio:(t,n)=>(0,s.h)(e.NRadioGroup,{...t},{default:()=>(0,s.h)(e.NSpace,{},{default:()=>n.children?.map(t=>(0,s.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,c=a[`onUpdate:value`];return delete a.value,delete a[`onUpdate:value`],(0,s.h)(e.NUpload,{...a,fileList:Array.isArray(o)?o:[],"onUpdate:fileList":e=>c?.(e)},{default:()=>i.slots?.uploadClick?.()||(0,s.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,s.h)(e.C_Editor,{...r,editorId:`editor-${n.prop}`,modelValue:typeof i==`string`?i:``,"onUpdate:modelValue":e=>a?.(e)})}}}const D=w();function O(e,t){return D.register(e,t)}function k(e,t){return D.unregister(e,t)}const A=new Set([`select`,`checkbox`,`radio`,`cascader`]),j=new Set([`input`,`textarea`,`inputNumber`,`select`,`checkbox`,`radio`,`switch`,`datePicker`,`daterange`,`timePicker`,`cascader`,`colorPicker`]),M=new Set([`input`,`textarea`,`inputNumber`,`rate`,`editor`]);function ee(e){let{formModel:t,visibleOptions:n,config:r,handleFieldChange:i,componentMap:o,instanceSlots:c,asyncOptionsCache:l,asyncLoadingMap:u,renderers:d,setFormItemRef:f,onError:p}=e,m=o,h=E(m),g=(0,s.getCurrentInstance)()?(0,s.inject)(C,void 0):void 0,_=e.registry??g??D,v=e=>d?.value?.[e]??_.get(e)??h[e],y=e=>{let n=T(e.disabled,r.value.disabled,t),o=T(e.readonly,r.value.readonly,t),s=M.has(e.type),c={...j.has(e.type)?{size:e.attrs?.size??r.value.size}:{},value:a.r(t,e.prop),"onUpdate:value":n=>{T(e.disabled,r.value.disabled,t)||T(e.readonly,r.value.readonly,t)||(a.c(t,e.prop,n),i(e.prop))},disabled:n||o&&!s,readonly:o||e.type===`rate`&&n};return e.type===`textarea`&&(c.type=`textarea`),e.placeholder&&(c.placeholder=e.placeholder),c};function b(e){let t=e.children??[];return Object.prototype.hasOwnProperty.call(l.value,e.prop)?l.value[e.prop]??[]:t}function x(e){return A.has(e.type)?{...e,children:b(e)}:e}function S(e,t){return e.type===`select`&&u.value[e.prop]&&(t.loading=!0),t}let w=e=>{try{let t=x(e),n=v(t.type);return n?n(S(t,(0,s.mergeProps)(t.attrs??{},y(t))),t,r.value,{slots:c,components:m}):(p?.(TypeError(`[C_Form] 未支持的组件类型: ${t.type}`),t.prop),null)}catch(t){return p?.(t,e.prop),null}};function O(e){if(e.label)return e.help?(0,s.h)(`span`,{style:`display:inline-flex;align-items:center;gap:4px`},[e.label,(0,s.h)(m.NTooltip,{trigger:`hover`},{trigger:()=>(0,s.h)(`span`,{style:`cursor:help;opacity:0.5;font-size:14px`,textContent:`ⓘ`}),default:()=>e.help})]):e.label}return{renderFormItem:w,formItems:(0,s.computed)(()=>n.value.map(e=>{let t=!!(e.required||e.rules?.some(e=>e.required)),n=O(e);return(0,s.h)(m.NFormItem,{label:typeof n==`string`?n:void 0,path:e.prop,class:`c-form-field`,key:e.prop,required:t,ref:t=>f?.(e.prop,t)},{...typeof n!=`string`&&n?{label:()=>n}:{},default:()=>w(e)})})),getBaseProps:y}}const N={class:`c-form-default`},te=(0,s.defineComponent)({__name:`index`,props:{formItems:{},layoutConfig:{},options:{}},setup(e){return(t,n)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,N,[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(e.formItems,(e,t)=>((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)(e),{key:e.key??t}))),128))]))}});var ne=i.t(te,[[`__scopeId`,`data-v-4313de0c`]]);const P=(0,s.defineComponent)({__name:`index`,props:{formItems:{},layoutConfig:{default:()=>({})},options:{default:()=>[]}},setup(e){let t=e,n=(0,s.computed)(()=>t.layoutConfig?.inline?.itemWidth??280),r=(0,s.computed)(()=>t.layoutConfig?.inline?.gap??16),i=(0,s.computed)(()=>t.layoutConfig?.inline?.rowGap??16),a=(0,s.computed)(()=>t.layoutConfig?.inline?.align??`center`),o=(0,s.computed)(()=>{switch(a.value){case`start`:return`flex-start`;case`end`:return`flex-end`;default:return a.value}}),c=(0,s.computed)(()=>{switch(a.value){case`start`:return`flex-start`;case`end`:return`flex-end`;case`center`:return`center`;default:return`flex-start`}}),l=(0,s.computed)(()=>({display:`flex`,flexWrap:t.layoutConfig?.inline?.wrap??`wrap`,alignItems:o.value,justifyContent:c.value,gap:`${i.value}px ${r.value}px`,width:`100%`})),u=(e,t)=>{if(e.key!=null)return String(e.key);let n=e.props;return n?.path?n.path:`form-item-${t}`},d=e=>{let r=t.options?.[e]?.layout,i={width:`${n.value}px`,flexShrink:0,display:`flex`,flexDirection:`column`};return r?.width!==void 0&&(i.width=typeof r.width==`number`?`${r.width}px`:r.width),r?.style&&Object.assign(i,r.style),i};return(t,n)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:`c-form-inline`,style:(0,s.normalizeStyle)(l.value)},[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(e.formItems,(e,t)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:u(e,t),class:`c-form-inline-item`,style:(0,s.normalizeStyle)(d(t))},[((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)(e)))],4))),128))],4))}});var F=i.t(P,[[`__scopeId`,`data-v-711f6c00`]]);const I={class:`c-grid-layout`},L={class:`config-header`},R={class:`config-controls`},z={class:`config-label`},B={class:`item-wrapper`},re=(0,s.defineComponent)({__name:`index`,props:{controlSize:{},formItems:{},layoutConfig:{default:()=>({})},options:{default:()=>[]}},setup(e,{expose:t}){let n=e,i=(0,s.reactive)({cols:24,gutter:16,responsive:!0}),a=(0,s.computed)(()=>n.layoutConfig?.grid||{}),o=(0,s.computed)(()=>a.value.showConfigPanel),l=(0,s.computed)(()=>a.value.showStats),u=(0,s.computed)(()=>({cols:o.value?i.cols:a.value.cols??24,gutter:o.value?i.gutter:a.value.gutter??16,responsive:o.value?i.responsive:a.value.responsive??!0})),d=(0,s.computed)(()=>({cols:u.value.cols,xGap:a.value.xGap??u.value.gutter,yGap:a.value.yGap??a.value.yGutter??u.value.gutter,responsive:u.value.responsive?`screen`:`self`})),f=(0,s.computed)(()=>[{key:`cols`,label:`列数`,component:c.NInputNumber,value:i.cols,update:e=>{typeof e==`number`&&(i.cols=e)},props:{min:1,max:48,size:n.controlSize??`small`}},{key:`gutter`,label:`间距`,component:c.NInputNumber,value:i.gutter,update:e=>{typeof e==`number`&&(i.gutter=e)},props:{min:0,max:48,size:n.controlSize??`small`}},{key:`responsive`,label:`响应式`,component:c.NSwitch,value:i.responsive,update:e=>{typeof e==`boolean`&&(i.responsive=e)},props:{size:n.controlSize??`small`}}]),p=(0,s.computed)(()=>`列数: ${u.value.cols} | 间距: ${u.value.gutter}px | 项目: ${n.formItems.length}个`),m=(e,t)=>String(e.key)||e.props?.path||`grid-item-${t}`,h=(e,t)=>{let r=n.options?.[e]?.layout;return r?.[t]??r?.grid?.[t]},g=()=>{let{cols:e}=u.value;return e<=12?e:e<=24?12:8},_=e=>{let t=h(e,`span`),n=h(e,`offset`),r=h(e,`suffix`);return{span:typeof t==`number`&&t>0&&t<=u.value.cols?t:g(),offset:typeof n==`number`&&n>=0&&n<u.value.cols?n:0,suffix:!!r}};return(0,s.watch)(a,e=>{e.cols!==void 0&&(i.cols=e.cols),e.gutter!==void 0&&(i.gutter=e.gutter),e.responsive!==void 0&&(i.responsive=e.responsive)},{immediate:!0}),t({updateGridConfig:e=>Object.assign(i,e),getCurrentConfig:()=>({...u.value}),getGridInfo:()=>({...u.value,itemCount:n.formItems.length})}),(t,n)=>{let i=c.NCard,a=c.NGridItem,u=c.NGrid,h=c.NAlert;return(0,s.openBlock)(),(0,s.createElementBlock)(`div`,I,[(0,s.createCommentVNode)(` 配置面板 `),o.value?((0,s.openBlock)(),(0,s.createBlock)(i,{key:0,size:e.controlSize??`small`,bordered:!1,class:`config-panel`},{header:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`div`,L,[(0,s.createVNode)(r.t,{name:`mdi:view-grid`,size:18}),n[0]||=(0,s.createElementVNode)(`span`,null,`网格配置`,-1)])]),default:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`div`,R,[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(f.value,e=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:e.key,class:`config-item`},[(0,s.createElementVNode)(`span`,z,(0,s.toDisplayString)(e.label)+`:`,1),((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)(e.component),(0,s.mergeProps)({value:e.value},{ref_for:!0},e.props,{"onUpdate:value":e.update}),null,16,[`value`,`onUpdate:value`]))]))),128))])]),_:1},8,[`size`])):(0,s.createCommentVNode)(`v-if`,!0),(0,s.createCommentVNode)(` 网格容器 `),(0,s.createVNode)(u,(0,s.mergeProps)(d.value,{class:`grid-container`}),{default:(0,s.withCtx)(()=>[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(e.formItems,(e,t)=>((0,s.openBlock)(),(0,s.createBlock)(a,(0,s.mergeProps)({key:m(e,t)},{ref_for:!0},_(t),{class:`grid-item`}),{default:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`div`,B,[((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)(e)))])]),_:2},1040))),128))]),_:1},16),(0,s.createCommentVNode)(` 统计信息 `),l.value?((0,s.openBlock)(),(0,s.createBlock)(h,{key:1,type:`info`,"show-icon":!1,size:`small`,class:`grid-stats`},{header:(0,s.withCtx)(()=>[(0,s.createVNode)(r.t,{name:`mdi:information-outline`,size:16}),n[1]||=(0,s.createTextVNode)(` 网格信息 `,-1)]),default:(0,s.withCtx)(()=>[(0,s.createTextVNode)(` `+(0,s.toDisplayString)(p.value),1)]),_:1})):(0,s.createCommentVNode)(`v-if`,!0)])}}});var V=i.t(re,[[`__scopeId`,`data-v-4758bc1e`]]);const ie=[`default`,`inline`,`grid`],ae={NFormItem:c.NFormItem,NInput:c.NInput,NInputNumber:c.NInputNumber,NSwitch:c.NSwitch,NSelect:c.NSelect,NCheckboxGroup:c.NCheckboxGroup,NCheckbox:c.NCheckbox,NRadioGroup:c.NRadioGroup,NRadio:c.NRadio,NButton:c.NButton,NSpace:c.NSpace,NTooltip:c.NTooltip,NSlider:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./slider.cjs`))),NRate:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./rate.cjs`))),NDatePicker:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./date-picker.cjs`))),NTimePicker:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./time-picker.cjs`))),NCascader:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./cascader.cjs`))),NColorPicker:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./color-picker.cjs`))),NUpload:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./upload.cjs`))),C_Editor:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./C_Editor.cjs`)).then(e=>e.C_Editor))},H={default:ne,inline:F,grid:V,card:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Card.cjs`))),tabs:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Tabs.cjs`))),steps:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Steps.cjs`))),dynamic:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Dynamic.cjs`))),custom:(0,s.defineAsyncComponent)(()=>Promise.resolve().then(()=>require(`./Custom.cjs`)))},U=(0,s.defineComponent)({name:`C_Form`,__name:`index`,props:{options:{},modelValue:{},config:{default:()=>({})},renderers:{}},emits:[`submit`,`update:modelValue`,`validate-success`,`validate-error`],setup(n,{expose:r,emit:i}){let a=n,o=i,l=u(),f=(0,s.useAttrs)(),p=(0,s.computed)(()=>d(a.config,l)),g=(0,s.computed)(()=>{let{size:e}=f;return m({...p.value,...e===`small`||e===`medium`||e===`large`?{size:e}:{}})}),_=(0,s.computed)(()=>p.value.density!==void 0),v=(0,s.computed)(()=>e.t(g.value.density)),y=(0,s.computed)(()=>{if(!_.value)return;let{gap:e,rowGap:t,padding:n,formItemGap:r}=v.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:b}=t.t(()=>g.value.locale),x=(0,s.ref)(null),C=(0,s.ref)(null),w=(0,s.computed)(()=>ie.includes(g.value.layout)||C.value===g.value.layout),{formModel:T,formRules:E,visibleOptions:D,initialize:O,handleFieldChange:k,validate:A,validateField:j,validateStep:M,validateTab:N,validateDynamicFields:te,validateCustomGroup:ne,clearValidation:P,getModel:F,setFields:I,resetFields:L,setFieldValue:R,getFieldValue:z,setFieldsValue:B,handleSubmit:re,handleReset:V,isDirty:U,getChangedFields:W,isFieldDirty:G,markAsClean:oe,asyncOptionsCache:K,asyncLoadingMap:q,asyncErrorMap:se,reloadOptions:ce,setFormItemRef:le,isSubmitting:J,submit:Y}=S((0,s.computed)(()=>a.options),g,x,o,(0,s.computed)(()=>a.modelValue),w),X=(0,s.computed)(()=>T),ue=()=>F(),de=(0,s.computed)(()=>({form:x.value,model:X.value,validate:A,validateField:j,reset:L,setFields:I,getModel:ue,clearValidation:P,submit:Y,reloadOptions:ce,submitting:J.value})),fe=(0,s.getCurrentInstance)(),Z=()=>Object.keys(fe?.slots??{}).filter(e=>![`action`,`action-extra`,`step-actions`].includes(e)),{formItems:pe}=ee({formModel:T,visibleOptions:D,config:g,handleFieldChange:k,componentMap:ae,instanceSlots:fe?.slots,asyncOptionsCache:K,asyncLoadingMap:q,renderers:(0,s.computed)(()=>a.renderers),setFormItemRef:le,onError:(e,t)=>g.value.onError?.(e,{source:`render`,field:t})}),Q=(0,s.computed)(()=>H[g.value.layout]||H.default),me=(0,s.computed)(()=>{let e=g.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(!_.value)return t;let{gap:n,rowGap:r}=v.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}}}}),he=(0,s.computed)(()=>h(g.value)),ge=(0,s.computed)(()=>{let{layout:e}=g.value;return{...e===`steps`?{beforeStepChange:Ce,validateStep:we,submitting:J.value,disabled:g.value.disabled||g.value.readonly}:e===`tabs`?{beforeTabChange:be,validateTab:xe}:{},controlSize:_.value?g.value.size:void 0,onVnodeMounted:()=>{C.value=e}}}),$=(e,...t)=>{let n=g.value[e];if(typeof n==`function`)try{let e=n(...t);e instanceof Promise&&e.catch(e=>g.value.onError?.(e,{source:`callback`}))}catch(e){g.value.onError?.(e,{source:`callback`})}},_e=e=>{g.value.onFieldsChange?.(e)},ve=e=>{o(`validate-success`,e)},ye=e=>{o(`validate-error`,e)},be=async(e,t)=>{try{return await g.value.onTabBeforeChange?.(e,t)!==!1}catch(e){return g.value.onError?.(e,{source:`callback`}),!1}},xe=async e=>{let t=await N(e);return t&&g.value.onTabValidate?.(e),t},Se=(e,t)=>{g.value.onStepChange?.(e,t)},Ce=async(e,t)=>{try{return await g.value.onStepBeforeChange?.(e,t)!==!1}catch(e){return g.value.onError?.(e,{source:`callback`}),!1}},we=async(e,t)=>{try{return await M(t)?(g.value.onStepValidate?.(e),!0):!1}catch{return!1}};return r({validate:A,validateField:j,validateStep:M,validateTab:N,validateDynamicFields:te,validateCustomGroup:ne,clearValidation:P,getModel:F,setFields:I,resetFields:L,setFieldValue:R,getFieldValue:z,setFieldsValue:B,formRef:x,formModel:T,initialize:O,layoutType:(0,s.computed)(()=>g.value.layout),shouldShowDefaultActions:he,isDirty:U,getChangedFields:W,isFieldDirty:G,markAsClean:oe,asyncLoadingMap:q,asyncErrorMap:se,reloadOptions:ce,isSubmitting:J,submit:Y}),(e,t)=>((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NForm),(0,s.mergeProps)({ref_key:`formRef`,ref:x,class:[`c-form`,_.value&&`c-form--${g.value.density}`],style:y.value,model:(0,s.unref)(T),rules:(0,s.unref)(E),"validate-on-rule-change":!1,"label-placement":g.value.labelPlacement,"label-width":g.value.labelWidth,size:g.value.size,disabled:g.value.disabled,readonly:g.value.readonly},e.$attrs,{onSubmit:(0,s.withModifiers)((0,s.unref)(Y),[`prevent`])}),{default:(0,s.withCtx)(()=>[(0,s.createCommentVNode)(` 布局组件渲染 `),((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)(Q.value),(0,s.mergeProps)({key:g.value.layout,"form-items":(0,s.unref)(pe),"layout-config":me.value,options:(0,s.unref)(D),"form-data":(0,s.unref)(T)},ge.value,{onTabChange:t[0]||=(e,t)=>$(`onTabChange`,e,t),onStepChange:Se,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:ve,onValidateError:ye,onFieldsChange:_e}),(0,s.createSlots)({"step-actions":(0,s.withCtx)(t=>[(0,s.renderSlot)(e.$slots,`step-actions`,(0,s.mergeProps)(t,{submit:(0,s.unref)(Y),submitting:(0,s.unref)(J)}),()=>[t.isLastStep&&g.value.showActions?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NButton),{key:0,type:`primary`,size:g.value.size,loading:(0,s.unref)(J)||!w.value,disabled:!w.value||(0,s.unref)(J)||g.value.disabled||g.value.readonly,onClick:(0,s.unref)(Y)},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)(g.value.submitText||(0,s.unref)(b)(`common.submit`)),1)]),_:1},8,[`size`,`loading`,`disabled`,`onClick`])):(0,s.createCommentVNode)(`v-if`,!0)],!0)]),_:2},[(0,s.renderList)(Z(),t=>({name:t,fn:(0,s.withCtx)(n=>[(0,s.renderSlot)(e.$slots,t,(0,s.normalizeProps)((0,s.guardReactiveProps)(n)),void 0,!0)])}))]),1040,[`form-items`,`layout-config`,`options`,`form-data`])),(0,s.createCommentVNode)(` 表单操作按钮区域(只在特定布局中显示) `),he.value?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NFormItem),{key:0,class:`c-form-actions`},{default:(0,s.withCtx)(()=>[(0,s.renderSlot)(e.$slots,`action`,(0,s.normalizeProps)((0,s.guardReactiveProps)(de.value)),()=>[(0,s.createVNode)((0,s.unref)(c.NSpace),{justify:`end`,size:_.value?v.value.gap:void 0,style:{width:`100%`}},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.NButton),{size:g.value.size,disabled:!w.value||(0,s.unref)(J)||g.value.disabled||g.value.readonly,onClick:(0,s.unref)(V)},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)(g.value.resetText||(0,s.unref)(b)(`common.reset`)),1)]),_:1},8,[`size`,`disabled`,`onClick`]),(0,s.renderSlot)(e.$slots,`action-extra`,(0,s.normalizeProps)((0,s.guardReactiveProps)(de.value)),void 0,!0),(0,s.createVNode)((0,s.unref)(c.NButton),{type:`primary`,size:g.value.size,loading:(0,s.unref)(J)||!w.value,disabled:!w.value||(0,s.unref)(J)||g.value.disabled||g.value.readonly,onClick:(0,s.unref)(re)},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)(g.value.submitText||(0,s.unref)(b)(`common.submit`)),1)]),_:1},8,[`size`,`loading`,`disabled`,`onClick`])]),_:3},8,[`size`])],!0)]),_:3})):(0,s.createCommentVNode)(`v-if`,!0)]),_:3},16,[`class`,`style`,`model`,`rules`,`label-placement`,`label-width`,`size`,`disabled`,`readonly`,`onSubmit`]))}});var W=i.t(U,[[`__scopeId`,`data-v-37ca39aa`]]);function G(e){return e}function oe(e){return e}function K(e){let t=(0,s.shallowRef)(a.t(e.initialValues)),n=(0,s.shallowRef)(null);return{model:t,formRef:n,bindings:(0,s.computed)(()=>({modelValue:t.value,options:(0,s.toValue)(e.options),config:(0,s.toValue)(e.config),"onUpdate:modelValue":e=>{t.value=a.t(e)}})),validate:async()=>{if(!n.value)throw Error(`C_Form is not mounted`);await n.value.validate()},submit:()=>n.value?.submit()??Promise.resolve(!1),reset:()=>{n.value?(n.value.resetFields(),t.value=a.t(n.value.getModel())):t.value=a.t(e.initialValues)},getValues:()=>a.t(n.value?.getModel()??t.value),setValues:async(e,r=!1)=>{n.value?(await n.value.setFieldsValue(e,r),t.value=a.t(n.value.getModel())):t.value={...t.value,...a.t(e)}}}}Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return ee}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return u}});
|