@gopowerteam/form-render 0.0.43 → 0.0.44

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.
@@ -0,0 +1,33 @@
1
+ import { type PropType } from 'vue';
2
+ import { type FormItemsOptions } from '..';
3
+ declare const _default: import("vue").DefineComponent<{
4
+ form: {
5
+ type: PropType<FormItemsOptions>;
6
+ required: true;
7
+ };
8
+ }, {
9
+ formItems: {
10
+ collapsed: boolean;
11
+ key: string;
12
+ title: string;
13
+ default?: any;
14
+ group?: string | string[] | undefined;
15
+ visiable?: boolean | ((record: Record<string, any>) => boolean) | undefined;
16
+ span?: number | undefined;
17
+ rule?: import("@arco-design/web-vue").FieldRule<any> | import("@arco-design/web-vue").FieldRule<any>[] | undefined;
18
+ render?: import("..").FormItemRender<Record<string, any>> | undefined;
19
+ }[];
20
+ groups: string[];
21
+ groupForms: {
22
+ group: string;
23
+ instance?: any;
24
+ form: FormItemsOptions;
25
+ }[];
26
+ activeTab: import("vue").Ref<string>;
27
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
28
+ form: {
29
+ type: PropType<FormItemsOptions>;
30
+ required: true;
31
+ };
32
+ }>>, {}, {}>;
33
+ export default _default;
@@ -1,6 +1,6 @@
1
1
  import { type PropType } from 'vue';
2
2
  import { type FieldRule } from '@arco-design/web-vue';
3
- import type { FormItemsOptions } from '../interfaces';
3
+ import type { DataRecord, FormItemsOptions } from '../interfaces';
4
4
  export declare const FormRender: import("vue").DefineComponent<{
5
5
  form: {
6
6
  type: PropType<FormItemsOptions<any>>;
@@ -38,6 +38,11 @@ export declare const FormRender: import("vue").DefineComponent<{
38
38
  required: false;
39
39
  default: string;
40
40
  };
41
+ collapsedMode: {
42
+ type: PropType<"dialog" | "append">;
43
+ required: false;
44
+ default: string;
45
+ };
41
46
  submitable: {
42
47
  type: BooleanConstructor;
43
48
  required: false;
@@ -54,7 +59,7 @@ export declare const FormRender: import("vue").DefineComponent<{
54
59
  default: boolean;
55
60
  };
56
61
  }, {
57
- formSource: import("vue").Ref<import("../interfaces").DataRecord>;
62
+ formSource: import("vue").Ref<DataRecord>;
58
63
  formInstance: import("vue").Ref<({
59
64
  $: import("vue").ComponentInternalInstance;
60
65
  $data: {};
@@ -309,9 +314,12 @@ export declare const FormRender: import("vue").DefineComponent<{
309
314
  formActiosSpan: import("vue").ComputedRef<number>;
310
315
  toggleFormCollapsed: () => boolean;
311
316
  updateFormField: (key: string, value: any) => void;
312
- updateFormSource: (value: import("../interfaces").DataRecord) => void;
317
+ updateFormSource: (value: DataRecord) => void;
313
318
  reset: () => void;
314
319
  validate: () => Promise<Record<string, import("@arco-design/web-vue").ValidatedError> | undefined> | undefined;
320
+ onSubmitSuccess: () => void;
321
+ openCollapsedDialog: () => void;
322
+ modalInstance: import("vue").Ref<any>;
315
323
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("submit" | "cancel" | "update:model-value")[], "submit" | "cancel" | "update:model-value", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
316
324
  form: {
317
325
  type: PropType<FormItemsOptions<any>>;
@@ -349,6 +357,11 @@ export declare const FormRender: import("vue").DefineComponent<{
349
357
  required: false;
350
358
  default: string;
351
359
  };
360
+ collapsedMode: {
361
+ type: PropType<"dialog" | "append">;
362
+ required: false;
363
+ default: string;
364
+ };
352
365
  submitable: {
353
366
  type: BooleanConstructor;
354
367
  required: false;
@@ -370,10 +383,11 @@ export declare const FormRender: import("vue").DefineComponent<{
370
383
  "onUpdate:model-value"?: ((...args: any[]) => any) | undefined;
371
384
  }, {
372
385
  footer: boolean;
373
- name: string;
374
386
  layout: "horizontal" | "vertical";
387
+ name: string;
375
388
  minWidth: number;
376
389
  id: string;
390
+ collapsedMode: "dialog" | "append";
377
391
  submitable: boolean;
378
392
  searchable: boolean;
379
393
  }, {}>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("vue"),i=require("@arco-design/web-vue"),w=require("dayjs"),M=require("./resolver.cjs");const _=Symbol("ArcoConfigProvider"),P="arco",T="$arco",O=e=>{var t,l,r;const n=a.getCurrentInstance(),o=a.inject(_,void 0),s=(r=(l=o==null?void 0:o.prefixCls)!=null?l:(t=n==null?void 0:n.appContext.config.globalProperties[T])==null?void 0:t.classPrefix)!=null?r:P;return e?`${s}-${e}`:s},R=Object.prototype.toString;function I(e){return R.call(e)==="[object Number]"&&e===e}var j=(e,t)=>{for(const[l,r]of t)e[l]=r;return e};const p=a.defineComponent({name:"IconDown",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:t}){const l=O("icon"),r=a.computed(()=>[l,`${l}-down`,{[`${l}-spin`]:e.spin}]),n=a.computed(()=>{const s={};return e.size&&(s.fontSize=I(e.size)?`${e.size}px`:e.size),e.rotate&&(s.transform=`rotate(${e.rotate}deg)`),s});return{cls:r,innerStyle:n,onClick:s=>{t("click",s)}}}}),z=["stroke-width","stroke-linecap","stroke-linejoin"],L=a.createElementVNode("path",{d:"M39.6 17.443 24.043 33 8.487 17.443"},null,-1),q=[L];function B(e,t,l,r,n,o){return a.openBlock(),a.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:a.normalizeClass(e.cls),style:a.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:t[0]||(t[0]=(...s)=>e.onClick&&e.onClick(...s))},q,14,z)}var C=j(p,[["render",B]]);const E=Object.assign(C,{install:(e,t)=>{var l;const r=(l=t==null?void 0:t.iconPrefix)!=null?l:"";e.component(r+C.name,C)}}),U=a.defineComponent({name:"IconUp",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:t}){const l=O("icon"),r=a.computed(()=>[l,`${l}-up`,{[`${l}-spin`]:e.spin}]),n=a.computed(()=>{const s={};return e.size&&(s.fontSize=I(e.size)?`${e.size}px`:e.size),e.rotate&&(s.transform=`rotate(${e.rotate}deg)`),s});return{cls:r,innerStyle:n,onClick:s=>{t("click",s)}}}}),W=["stroke-width","stroke-linecap","stroke-linejoin"],A=a.createElementVNode("path",{d:"M39.6 30.557 24.043 15 8.487 30.557"},null,-1),Y=[A];function G(e,t,l,r,n,o){return a.openBlock(),a.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:a.normalizeClass(e.cls),style:a.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:t[0]||(t[0]=(...s)=>e.onClick&&e.onClick(...s))},Y,14,W)}var V=j(U,[["render",G]]);const K=Object.assign(V,{install:(e,t)=>{var l;const r=(l=t==null?void 0:t.iconPrefix)!=null?l:"";e.component(r+V.name,V)}}),N={id:Symbol("ID"),source:Symbol("Source")};function Q(e,t){const l=a.ref({});return e==null||e.forEach(n=>{let o=null;n.default&&(o=(typeof n.default=="function"?n.default():n.default)||null),t&&t[n.key]!==void 0&&(o=t[n.key]),l.value[n.key]=o}),[l,n=>{l.value=n}]}function X(e){function t(l,r){return e!=null&&e.disabledDate?e.disabledDate(l,r):!1}return(l,r)=>{switch(e==null?void 0:e.type){case"week":return a.createVNode(i.WeekPicker,{modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"month":return a.createVNode(i.MonthPicker,{modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"quarter":return a.createVNode(i.QuarterPicker,{modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"year":return a.createVNode(i.YearPicker,{modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"date":default:return a.createVNode(i.DatePicker,{"disabled-input":!0,modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)}}}function H(e){return(t,l)=>{switch(e==null?void 0:e.type){case"number":return a.createVNode(i.InputNumber,{modelValue:t[l.key],"onUpdate:modelValue":r=>t[l.key]=r,hideButton:!0,"read-only":e==null?void 0:e.readonly,placeholder:e==null?void 0:e.placeholder,allowClear:e==null?void 0:e.clearable},null);case"string":default:return a.createVNode(i.Input,{modelValue:t[l.key],"onUpdate:modelValue":r=>t[l.key]=r,placeholder:e==null?void 0:e.placeholder,readonly:e==null?void 0:e.readonly,allowClear:e==null?void 0:e.clearable},null)}}}typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;function F(e,t,l){const r=a.watch(e,(...n)=>(a.nextTick(()=>r()),t(...n)),l);return r}function J(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!a.isVNode(e)}const v=new WeakMap;function Z(){const e=a.ref(new Map);return[e,l=>e.value=l]}function ee(e){let t,l=!1;const[r,n]=Z(),o=()=>{if(!e.autoSumbit||!t)return;let c=t;for(;c&&c.$el.tagName!=="FORM";)c=c.$parent;c&&c.$el&&c.$el.dispatchEvent(new Event("submit"))},s=(c,u)=>{const d=c();d instanceof Promise?d.then(u):u(d)},h=async()=>{const c=v.get(e.options);switch(typeof c){case"function":v.set(e.options,n);return;case"object":n(c);return}v.set(e.options,n),s(e.options,u=>{const d=v.get(e.options);v.set(e.options,u),d(u)})},b=()=>{s(e.options,c=>{n(c)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?h():b();break}case a.isRef(e.options):{F(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:r.value=e.options}return(c,u)=>{let d;return e.default&&!l&&(c[u.key]=e.default,l=!0),a.createVNode(i.Select,{ref:m=>t=m,multiple:e.multiple,modelValue:c[u.key],"onUpdate:modelValue":m=>c[u.key]=m,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o},J(d=Array.from(r.value.entries()).map(([m,k])=>a.createVNode(i.Option,{key:m,value:m,label:k},null)))?d:{default:()=>[d]})}}function te(e){function t(){e!=null&&e.autoSumbit}return(l,r)=>(e!=null&&e.default&&(l[r.key]=e.default),a.createVNode(i.Switch,{modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,checkedText:(e==null?void 0:e.openLabel)??"是",uncheckedText:(e==null?void 0:e.closeLabel)??"否",checkedValue:(e==null?void 0:e.openValue)??!0,uncheckedValue:(e==null?void 0:e.closeValue)??!1,onChange:t},null))}function re(e){return(t,l)=>{let r=[];function n(h){r=h}function o(h){if(h&&h.length===2){const[b,c]=h.sort(),u=w(b).startOf("days"),d=w(c).endOf("days");t[l.key]=[u.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD"),d.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD")]}}function s(h){return e!=null&&e.disabledDate?e.disabledDate(r,h):!1}return a.createVNode("div",null,[a.createVNode(i.RangePicker,{"disabled-input":!0,style:{width:"300px"},modelValue:t[l.key],"onUpdate:modelValue":h=>t[l.key]=h,onSelect:n,onChange:o,mode:e==null?void 0:e.type,allowClear:e==null?void 0:e.clearable,"disabled-date":s,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)])}}function le(e){return(t,l)=>a.createVNode(i.Textarea,{modelValue:t[l.key],"onUpdate:modelValue":r=>t[l.key]=r,placeholder:e==null?void 0:e.placeholder,autoSize:e==null?void 0:e.autosize,maxLength:e==null?void 0:e.maxLength},null)}const S=new WeakMap;function ae(){const e=a.ref([]);return[e,l=>e.value=l]}function ne(e){let t,l=!1;const[r,n]=ae(),o=()=>{if(!e.autoSumbit||!t)return;let u=t;for(;u&&u.$el.tagName!=="FORM";)u=u.$parent;u&&u.$el&&u.$el.dispatchEvent(new Event("submit"))},s=(u,d)=>{const m=u();m instanceof Promise?m.then(d):d(m)},h=async()=>{const u=S.get(e.options);switch(typeof u){case"function":S.set(e.options,n);return;case"object":n(u);return}S.set(e.options,n),s(e.options,d=>{const m=S.get(e.options);S.set(e.options,d),m(d)})},b=()=>{s(e.options,u=>{n(u)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?h():b();break}case a.isRef(e.options):{F(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:r.value=e.options}function c(u,d){var f;const m=((f=e.fieldNames)==null?void 0:f.title)||"title",k=d[m];return k?k.toLowerCase().includes(u.toLowerCase()):!1}return(u,d)=>(e.default&&!l&&(u[d.key]=e.default,l=!0),a.createVNode(i.TreeSelect,{ref:m=>t=m,multiple:e.multiple,modelValue:u[d.key],"onUpdate:modelValue":m=>u[d.key]=m,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o,filterTreeNode:c,data:r.value,fieldNames:e.fieldNames,treeProps:e.treeProps},{...e.slots}))}const g=new WeakMap;function ue(){const e=a.ref([]);return[e,l=>e.value=l]}function ce(e){let t,l=!1;const[r,n]=ue(),o=()=>{if(!e.autoSumbit||!t)return;let c=t;for(;c&&c.$el.tagName!=="FORM";)c=c.$parent;c&&c.$el&&c.$el.dispatchEvent(new Event("submit"))},s=(c,u)=>{const d=c();d instanceof Promise?d.then(u):u(d)},h=async()=>{const c=g.get(e.options);switch(typeof c){case"function":g.set(e.options,n);return;case"object":n(c);return}g.set(e.options,n),s(e.options,u=>{const d=g.get(e.options);g.set(e.options,u),d(u)})},b=()=>{s(e.options,c=>{n(c)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?h():b();break}case a.isRef(e.options):{F(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:r.value=e.options}return(c,u)=>(e.default&&!l&&(c[u.key]=e.default,l=!0),a.createVNode(i.Cascader,{pathMode:e.pathMode,ref:d=>t=d,multiple:e.multiple,modelValue:c[u.key],"onUpdate:modelValue":d=>c[u.key]=d,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o,options:r.value},null))}function de(e){return t=>e(t)}function se(){return{input:H,textarea:le,select:ee,treeSelect:ne,date:X,switch:te,dateRange:re,render:de,cascader:ce}}function oe(e,t){t.render||(t.render=r=>r.input());const l=t.render({...se()});return{default:()=>l(e,t)}}function ie(e,t){return a.h(i.FormItem,{field:t.key,label:t.title},oe(e,t))}function x(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!a.isVNode(e)}const D=a.defineComponent({props:{form:{type:Object,required:!0},value:{type:Object,required:!1},layout:{type:String,required:!1,default:"horizontal"},columns:{type:Number,required:!1},modelValue:{type:Object,required:!1},minWidth:{type:Number,required:!1,default:400},name:{type:String,required:!1,default:`form-${Math.random().toString(32).slice(2)}`},id:{type:String,required:!1,default:`form-${Math.random().toString(32).slice(2)}`},submitable:{type:Boolean,required:!1,default:!1},searchable:{type:Boolean,required:!1,default:!1},footer:{type:Boolean,required:!1,default:!1}},emits:["submit","cancel","update:model-value"],expose:["formSource","updateFormField","updateFormSource","reset","validate"],setup(e){const t=a.ref(),[l,r]=Q(e.form,e.modelValue||e.value),n=a.ref(e.columns||0),o=a.ref(!0),s=()=>o.value=!o.value;a.provide(N.id,e.id),a.provide(N.source,l);const h=a.computed(()=>{if(!n.value)return 1;const f=e.form.reduce((y,$)=>y+(($==null?void 0:$.span)||1),0);return n.value-f%n.value}),b=a.computed(()=>e.form.reduce((f,y)=>(y.rule&&(f[y.key]=y.rule),f),{}));function c(){var y;if(e.columns)return;const f=(y=t.value)==null?void 0:y.$el;f&&(n.value=Math.floor(f.offsetWidth/e.minWidth))}function u(){var y;const f=(y=t.value)==null?void 0:y.$el;f&&(f.id=e.id)}a.onMounted(()=>{c(),u()});function d(f,y){l.value[f]=y,r({...l.value})}function m(){var f;(f=t.value)==null||f.resetFields()}function k(){var f;return(f=t.value)==null?void 0:f.validate()}return a.onMounted(()=>{window&&window.addEventListener("resize",c)}),{formSource:l,formInstance:t,formColumns:n,formRules:b,formCollspased:o,formActiosSpan:h,toggleFormCollapsed:s,updateFormField:d,updateFormSource:r,reset:m,validate:k}},render(){const e=()=>{this.$emit("submit",this.formSource),this.$emit("update:model-value",this.formSource)},t=()=>{const r=[],n=this.footer?{span:this.formColumns}:{span:this.formActiosSpan};if(this.searchable&&(r.push(a.createVNode(i.Button,{type:"primary",htmlType:"submit"},{default:()=>[a.createTextVNode("搜索")]})),r.push(a.createVNode(i.Button,{type:"secondary",onClick:()=>{var o;return(o=this.formInstance)==null?void 0:o.resetFields()}},{default:()=>[a.createTextVNode("重置")]}))),this.submitable&&(r.push(a.createVNode(i.Button,{type:"primary",htmlType:"submit"},{default:()=>[a.createTextVNode("提交")]})),r.push(a.createVNode(i.Button,{type:"secondary",onClick:()=>this.$emit("cancel")},{default:()=>[a.createTextVNode("取消")]}))),this.form.some(o=>!!o.collapsed)&&r.push(a.createVNode(i.Button,{onClick:this.toggleFormCollapsed},{default:()=>this.formCollspased?"展开":"收起",icon:()=>this.formCollspased?a.createVNode(E,null,null):a.createVNode(K,null,null)})),this.$slots.actions&&r.push(...this.$slots.actions()),r.length)return a.createVNode(i.GridItem,n,{default:()=>[a.createVNode(i.FormItem,{hideLabel:!0,contentClass:this.footer?"form-footer":""},{default:()=>[a.createVNode(i.Space,null,x(r)?r:{default:()=>[r]})]})]})},l=this.form.filter(r=>this.formCollspased?!r.collapsed:!0).filter(r=>{switch(!0){case typeof r.visiable=="boolean":return r.visiable;case typeof r.visiable=="function":return r.visiable(this.formSource);default:return!0}});return a.createVNode("div",{class:"form-render"},[a.createVNode(i.Form,a.mergeProps({name:this.name},{labelAlign:"left",layout:this.$props.layout,rules:this.formRules,onSubmitSuccess:e,"auto-label-width":!0,ref:r=>this.formInstance=r,model:this.formSource}),{default:()=>[a.createVNode(i.Grid,{cols:this.formColumns,"col-gap":24,"rol-gap":10},{default:()=>[l.filter(()=>this.formColumns!==0).map(r=>{let n;return a.createVNode(i.GridItem,{span:r.span},x(n=ie(this.formSource,r))?n:{default:()=>[n]})}),t()]})]})])}});function fe(e){return e}function me(e){const t=a.getCurrentInstance(),l=a.ref();function r(){var o,s;const n=(s=(o=t==null?void 0:t.proxy)==null?void 0:o.$refs)==null?void 0:s[e];n&&(l.value=n)}return a.onMounted(r),a.onUpdated(r),l}const he={install(e,t){e.component("FormRender",D)}};exports.FormRenderResolver=M.FormRenderResolver;exports.FormRender=D;exports.default=he;exports.defineForm=fe;exports.useForm=me;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),b=require("@arco-design/web-vue"),te=require("dayjs"),se=require("./resolver.cjs");const fe=Symbol("ArcoConfigProvider"),me="arco",he="$arco",H=e=>{var o,n,r;const l=t.getCurrentInstance(),c=t.inject(fe,void 0),a=(r=(n=c==null?void 0:c.prefixCls)!=null?n:(o=l==null?void 0:l.appContext.config.globalProperties[he])==null?void 0:o.classPrefix)!=null?r:me;return e?`${a}-${e}`:a},pe=Object.prototype.toString;function X(e){return pe.call(e)==="[object Number]"&&e===e}var J=(e,o)=>{for(const[n,r]of o)e[n]=r;return e};const ve=t.defineComponent({name:"IconDown",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:o}){const n=H("icon"),r=t.computed(()=>[n,`${n}-down`,{[`${n}-spin`]:e.spin}]),l=t.computed(()=>{const a={};return e.size&&(a.fontSize=X(e.size)?`${e.size}px`:e.size),e.rotate&&(a.transform=`rotate(${e.rotate}deg)`),a});return{cls:r,innerStyle:l,onClick:a=>{o("click",a)}}}}),ye=["stroke-width","stroke-linecap","stroke-linejoin"],ge=t.createElementVNode("path",{d:"M39.6 17.443 24.043 33 8.487 17.443"},null,-1),be=[ge];function ke(e,o,n,r,l,c){return t.openBlock(),t.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:t.normalizeClass(e.cls),style:t.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:o[0]||(o[0]=(...a)=>e.onClick&&e.onClick(...a))},be,14,ye)}var q=J(ve,[["render",ke]]);const we=Object.assign(q,{install:(e,o)=>{var n;const r=(n=o==null?void 0:o.iconPrefix)!=null?n:"";e.component(r+q.name,q)}}),Ce=t.defineComponent({name:"IconUp",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:o}){const n=H("icon"),r=t.computed(()=>[n,`${n}-up`,{[`${n}-spin`]:e.spin}]),l=t.computed(()=>{const a={};return e.size&&(a.fontSize=X(e.size)?`${e.size}px`:e.size),e.rotate&&(a.transform=`rotate(${e.rotate}deg)`),a});return{cls:r,innerStyle:l,onClick:a=>{o("click",a)}}}}),Se=["stroke-width","stroke-linecap","stroke-linejoin"],xe=t.createElementVNode("path",{d:"M39.6 30.557 24.043 15 8.487 30.557"},null,-1),$e=[xe];function Ne(e,o,n,r,l,c){return t.openBlock(),t.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:t.normalizeClass(e.cls),style:t.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:o[0]||(o[0]=(...a)=>e.onClick&&e.onClick(...a))},$e,14,Se)}var U=J(Ce,[["render",Ne]]);const Ve=Object.assign(U,{install:(e,o)=>{var n;const r=(n=o==null?void 0:o.iconPrefix)!=null?n:"";e.component(r+U.name,U)}}),Fe=t.defineComponent({name:"IconSearch",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:o}){const n=H("icon"),r=t.computed(()=>[n,`${n}-search`,{[`${n}-spin`]:e.spin}]),l=t.computed(()=>{const a={};return e.size&&(a.fontSize=X(e.size)?`${e.size}px`:e.size),e.rotate&&(a.transform=`rotate(${e.rotate}deg)`),a});return{cls:r,innerStyle:l,onClick:a=>{o("click",a)}}}}),Be=["stroke-width","stroke-linecap","stroke-linejoin"],Ee=t.createElementVNode("path",{d:"M33.072 33.071c6.248-6.248 6.248-16.379 0-22.627-6.249-6.249-16.38-6.249-22.628 0-6.248 6.248-6.248 16.379 0 22.627 6.248 6.248 16.38 6.248 22.628 0Zm0 0 8.485 8.485"},null,-1),Oe=[Ee];function _e(e,o,n,r,l,c){return t.openBlock(),t.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:t.normalizeClass(e.cls),style:t.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:o[0]||(o[0]=(...a)=>e.onClick&&e.onClick(...a))},Oe,14,Be)}var G=J(Fe,[["render",_e]]);const Me=Object.assign(G,{install:(e,o)=>{var n;const r=(n=o==null?void 0:o.iconPrefix)!=null?n:"";e.component(r+G.name,G)}}),A=Symbol("__MODAL__");function oe(e){return t.getCurrentScope()?(t.onScopeDispose(e),!0):!1}function N(e){return typeof e=="function"?e():t.unref(e)}const le=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Re=Object.prototype.toString,Ie=e=>Re.call(e)==="[object Object]",ze=()=>{};function je(e,o={}){if(!t.isRef(e))return t.toRefs(e);const n=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(const r in e.value)n[r]=t.customRef(()=>({get(){return e.value[r]},set(l){var c;if((c=N(o.replaceRef))==null||c)if(Array.isArray(e.value)){const a=[...e.value];a[r]=l,e.value=a}else{const a={...e.value,[r]:l};Object.setPrototypeOf(a,Object.getPrototypeOf(e.value)),e.value=a}else e.value[r]=l}}));return n}function Te(e,o=!0){t.getCurrentInstance()?t.onMounted(e):o?e():t.nextTick(e)}function M(e){var o;const n=N(e);return(o=n==null?void 0:n.$el)!=null?o:n}const W=le?window:void 0;function Y(...e){let o,n,r,l;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,l]=e,o=W):[o,n,r,l]=e,!o)return ze;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const c=[],a=()=>{c.forEach(u=>u()),c.length=0},m=(u,d,i,p)=>(u.addEventListener(d,i,p),()=>u.removeEventListener(d,i,p)),k=t.watch(()=>[M(o),N(l)],([u,d])=>{if(a(),!u)return;const i=Ie(d)?{...d}:d;c.push(...n.flatMap(p=>r.map(h=>m(u,p,h,i))))},{immediate:!0,flush:"post"}),s=()=>{k(),a()};return oe(s),s}function Le(){const e=t.ref(!1);return t.getCurrentInstance()&&t.onMounted(()=>{e.value=!0}),e}function Pe(e){const o=Le();return t.computed(()=>(o.value,!!e()))}function De(e,o={}){var n,r;const{pointerTypes:l,preventDefault:c,stopPropagation:a,exact:m,onMove:k,onEnd:s,onStart:u,initialValue:d,axis:i="both",draggingElement:p=W,containerElement:h,handle:w=e}=o,v=t.ref((n=N(d))!=null?n:{x:0,y:0}),S=t.ref(),$=g=>l?l.includes(g.pointerType):!0,y=g=>{N(c)&&g.preventDefault(),N(a)&&g.stopPropagation()},C=g=>{var O;if(!$(g)||N(m)&&g.target!==N(e))return;const x=N(h),_=(O=x==null?void 0:x.getBoundingClientRect)==null?void 0:O.call(x),F=N(e).getBoundingClientRect(),B={x:g.clientX-(x?F.left-_.left:F.left),y:g.clientY-(x?F.top-_.top:F.top)};(u==null?void 0:u(B,g))!==!1&&(S.value=B,y(g))},E=g=>{var O;if(!$(g)||!S.value)return;const x=N(h),_=(O=x==null?void 0:x.getBoundingClientRect)==null?void 0:O.call(x),F=N(e).getBoundingClientRect();let{x:B,y:R}=v.value;(i==="x"||i==="both")&&(B=g.clientX-S.value.x,x&&(B=Math.min(Math.max(0,B),_.width-F.width))),(i==="y"||i==="both")&&(R=g.clientY-S.value.y,x&&(R=Math.min(Math.max(0,R),_.height-F.height))),v.value={x:B,y:R},k==null||k(v.value,g),y(g)},L=g=>{$(g)&&S.value&&(S.value=void 0,s==null||s(v.value,g),y(g))};if(le){const g={capture:(r=o.capture)!=null?r:!0};Y(w,"pointerdown",C,g),Y(p,"pointermove",E,g),Y(p,"pointerup",L,g)}return{...je(v),position:v,isDragging:t.computed(()=>!!S.value),style:t.computed(()=>`left:${v.value.x}px;top:${v.value.y}px;`)}}function Ae(e,o,n={}){const{window:r=W,...l}=n;let c;const a=Pe(()=>r&&"ResizeObserver"in r),m=()=>{c&&(c.disconnect(),c=void 0)},k=t.computed(()=>Array.isArray(e)?e.map(d=>M(d)):[M(e)]),s=t.watch(k,d=>{if(m(),a.value&&r){c=new ResizeObserver(o);for(const i of d)i&&c.observe(i,l)}},{immediate:!0,flush:"post",deep:!0}),u=()=>{m(),s()};return oe(u),{isSupported:a,stop:u}}function I(e,o={width:0,height:0},n={}){const{window:r=W,box:l="content-box"}=n,c=t.computed(()=>{var d,i;return(i=(d=M(e))==null?void 0:d.namespaceURI)==null?void 0:i.includes("svg")}),a=t.ref(o.width),m=t.ref(o.height),{stop:k}=Ae(e,([d])=>{const i=l==="border-box"?d.borderBoxSize:l==="content-box"?d.contentBoxSize:d.devicePixelContentBoxSize;if(r&&c.value){const p=M(e);if(p){const h=r.getComputedStyle(p);a.value=Number.parseFloat(h.width),m.value=Number.parseFloat(h.height)}}else if(i){const p=Array.isArray(i)?i:[i];a.value=p.reduce((h,{inlineSize:w})=>h+w,0),m.value=p.reduce((h,{blockSize:w})=>h+w,0)}else a.value=d.contentRect.width,m.value=d.contentRect.height},n);Te(()=>{const d=M(e);d&&(a.value="offsetWidth"in d?d.offsetWidth:o.width,m.value="offsetHeight"in d?d.offsetHeight:o.height)});const s=t.watch(()=>M(e),d=>{a.value=d?o.width:0,m.value=d?o.height:0});function u(){k(),s()}return{width:a,height:m,stop:u}}const We=e=>(t.pushScopeId("data-v-d6dd5541"),e=e(),t.popScopeId(),e),qe={class:"title text-16px font-bold"},Ue={class:"action"},Ge=["form"],Ye={key:2,class:"modal-loading"},He=We(()=>t.createElementVNode("div",{class:"lds-ring"},[t.createElementVNode("div"),t.createElementVNode("div"),t.createElementVNode("div"),t.createElementVNode("div")],-1)),Xe=[He],Je={name:"ModalContainer",inheritAttrs:!0},Ke=t.defineComponent({...Je,props:{id:{},form:{},component:{},componentProps:{},width:{},maxWidth:{},maxHeight:{default:90},sizes:{},size:{default:"middle"},fullscreen:{type:Boolean},title:{},header:{type:Boolean,default:!0},footer:{type:Boolean,default:!1},closeable:{type:Boolean,default:!0},esc:{type:Boolean,default:!1},maskClosable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},mode:{default:"dialog"},type:{},offset:{},backgroundColor:{},bodyStyle:{},submitText:{default:"确定"},cancelText:{default:"取消"}},emits:["submit"],setup(e,{expose:o,emit:n}){const r=e,l=n,c=t.inject(A),a=t.ref(!1);let m=0,k=0;const s=t.shallowRef(),u=t.shallowRef(),d=t.shallowRef(),i=t.shallowRef(),p=t.shallowRef(),h=t.shallowRef(),{height:w}=I(s),{height:v}=I(d,void 0,{box:"border-box"}),{height:S}=I(i,void 0,{box:"border-box"}),{height:$}=I(p),{height:y}=I(h),{x:C,y:E}=De(d,{initialValue:{x:0,y:0}});function L(){c==null||c.close(r.id)}function g(f){return typeof f=="number"?`${f}px`:f}const O=t.computed(()=>{const f={};return r.mode==="dialog"&&(f.justifyContent="center"),r.mode==="drawer"&&(f.justifyContent="flex-end"),f}),x=t.computed(()=>{const f={};return r.size&&(f.width=g(r.sizes[r.size])),r.width&&(f.width=g(r.width)),r.maxWidth&&(f.maxWidth=g(r.maxWidth)),r.fullscreen&&(f.maxWidth="unset",f.width="100%",f.position="fixed",f.top=0,f.left=0,f.bottom=0,f.right=0,f.borderRadius=0),r.draggable&&!r.fullscreen&&r.mode==="dialog"&&(f.transform=`translate3d(${C.value-m}px, ${E.value-k}px, 0px)`),r.mode==="drawer"&&(f.borderRadius=0,f.height="100%"),r.offset&&r.mode==="dialog"&&(f.marginLeft=`${r.offset.x||0}px`,f.marginTop=`${r.offset.y||0}px`),r.backgroundColor&&(f.backgroundColor=r.backgroundColor),f}),_=t.computed(()=>{const f={};return r.draggable&&!r.fullscreen&&r.mode==="dialog"&&(f.cursor="move"),f}),F=t.computed(()=>{const f={},V=$.value+y.value+v.value+S.value,ee=Math.floor(w.value*(Number(g(r.maxHeight).replace("%",""))/100));return r.maxHeight&&(f.maxHeight=`${ee-V}px`),r.mode==="drawer"&&(f.maxHeight="unset",f.height=`${w.value-V}px`),r.fullscreen&&(f.maxHeight="unset",f.height=`calc(100% - ${V}px)`),r.type!=="component"&&(f.padding="0"),r.bodyStyle&&Object.assign(f,r.bodyStyle),f});function B(){const f=u.value;if(r.form&&f){const V=f.querySelector(`form[name="${r.form}"]`);V&&V.dispatchEvent(new Event("submit"))}l("submit")}function R(){c==null||c.close(r.id)}function ce(){window&&window.addEventListener("resize",()=>{t.triggerRef(s),t.triggerRef(u),u.value&&(m=u.value.offsetLeft,k=u.value.offsetTop)})}function ue(){if(r.closeable&&r.esc){const f=({key:V})=>{V==="Escape"&&(c==null||c.close(r.id),window.removeEventListener("keydown",f))};window.addEventListener("keydown",f)}}function ie(){m=u.value.offsetLeft,k=u.value.offsetTop}t.onMounted(()=>{ue(),ce()}),t.onUnmounted(()=>{});function de(){return a.value=!0,()=>Z()}function Z(){a.value=!1}return o({showLoading:de,hideLoading:Z}),(f,V)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"wrapperRef",ref:s,class:"modal-wrapper",style:t.normalizeStyle(O.value),onClick:V[0]||(V[0]=t.withModifiers(ee=>f.maskClosable&&L(),["self"]))},[t.createElementVNode("div",{ref_key:"contentRef",ref:u,class:t.normalizeClass(["modal-content",{[`${f.mode}-mode`]:!0}]),style:t.normalizeStyle(x.value)},[f.header?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"headerRef",ref:d,class:"modal-header",style:t.normalizeStyle(_.value),onMousedown:ie},[t.createElementVNode("div",qe,t.toDisplayString(f.title),1),t.createElementVNode("div",Ue,[f.closeable?(t.openBlock(),t.createElementBlock("div",{key:0,class:"i-icon-park-outline:close block cursor-pointer",onClick:L})):t.createCommentVNode("",!0)])],36)):t.createCommentVNode("",!0),t.createElementVNode("div",{id:"modal-header-slot",ref_key:"headerSlotRef",ref:p},null,512),t.createElementVNode("div",{class:"modal-body",style:t.normalizeStyle(F.value)},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(f.component),t.normalizeProps(t.guardReactiveProps(f.componentProps)),null,16))],4),t.createElementVNode("div",{id:"modal-footer-slot",ref_key:"footerSlotRef",ref:h},null,512),f.footer?(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"footerRef",ref:i,class:"modal-footer space-x-2"},[t.createElementVNode("button",{class:"cancel-button",type:"button",onClick:R},t.toDisplayString(f.cancelText),1),t.createElementVNode("button",{class:"submit-button",form:f.form,type:"submit",onClick:B},t.toDisplayString(f.submitText),9,Ge)],512)):t.createCommentVNode("",!0),a.value?(t.openBlock(),t.createElementBlock("div",Ye,Xe)):t.createCommentVNode("",!0)],6)],4))}}),K=(e,o)=>{const n=e.__vccOpts||e;for(const[r,l]of o)n[r]=l;return n},Qe=K(Ke,[["__scopeId","data-v-d6dd5541"]]),Ze={class:"modal-dialog"},et={class:"dialog-body"},tt={class:"dialog-title"},nt={class:"dialog-content"},rt=t.defineComponent({__name:"modal-dialog",props:{type:{},title:{},content:{},okText:{default:"确定"},cancelText:{default:"取消"},onOk:{},onCancel:{},footer:{}},setup(e){const o=e,n=ae(),r=t.computed(()=>o.title?o.title:{confirm:"提示",info:"提示",warning:"警告",error:"错误",success:"成功"}[o.type]);async function l(){o.onOk&&await o.onOk(),n.close()}async function c(){o.onCancel&&await o.onCancel(),n.close()}return(a,m)=>(t.openBlock(),t.createElementBlock("section",Ze,[t.createElementVNode("div",et,[t.createElementVNode("div",tt,t.toDisplayString(r.value),1),t.createElementVNode("div",nt,t.toDisplayString(a.content),1)]),t.createElementVNode("div",{class:"dialog-footer space-x-2",style:t.normalizeStyle(a.type==="confirm"?{"justify-content":"end"}:{"border-top":"none"})},[a.footer?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(a.footer),{key:0})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createElementVNode("button",{class:"submit-button",type:"submit",onClick:l},t.toDisplayString(a.okText),1),a.type==="confirm"?(t.openBlock(),t.createElementBlock("button",{key:0,class:"cancel-button",type:"button",onClick:c},t.toDisplayString(a.cancelText),1)):t.createCommentVNode("",!0)],64))],4)]))}}),ot=K(rt,[["__scopeId","data-v-8326e5a5"]]),lt={key:0,class:"modal-teleport"},at={name:"ModalProvider",inheritAttrs:!0},ct=t.defineComponent({...at,props:{appendToBody:{type:[Boolean,String],default:!1},sizes:{default:()=>({small:520,middle:860,large:1190})},maxWidth:{default:"90%"},maxHeight:{default:"90%"},offset:{default:()=>({x:0,y:0})}},setup(e,{expose:o}){const n=t.shallowRef([]),r=t.ref(!1),l=t.getCurrentInstance();function c(i,p={},h={}){const w=t.defineAsyncComponent(()=>Promise.resolve(typeof i=="string"?ot:i));typeof i=="string"&&(p.type=i,h.size="small",h.fullscreen=!1,h.mode="dialog",h.footer=!1,h.header=!1);const v=Math.random().toString(32).slice(2),S=new Promise(($,y)=>{n.value.push({id:v,component:w,props:p||{},options:{...h,type:typeof i=="string"?i:"component"},resolve:$,reject:y,listeners:[]}),t.triggerRef(n)}).catch($=>$==="CANCEL"?new Promise(()=>{}):Promise.reject($));return Object.assign(S,{close:()=>a(v)})}function a(i,p){const h=n.value.findIndex(v=>v.id===i);if(h<0)return;const w=n.value[h];p===void 0?w==null||w.reject("CANCEL"):w==null||w.resolve(p),n.value.splice(h,1),t.triggerRef(n)}function m(){!n.value||n.value.length===0||(n.value.forEach(i=>{i==null||i.reject("CANCEL")}),n.value=[],t.triggerRef(n))}function k(i,p){const h=n.value.find(v=>v.id===i);if(!h)return;const w=h.listeners.find(v=>v.event===p);w&&w.callback({open:c,close:v=>a(h.id,v),closeAll:m,showLoading:()=>s(h.id),hideLoading:()=>u(h.id),confirm:v=>c("confirm",v),success:v=>c("success",v),error:v=>c("error",v),warning:v=>c("warning",v),info:v=>c("info",v)})}function s(i){if(!l)return;const[p]=l.refs[`modal-container_${i}`];if(p)return p.showLoading()}function u(i){if(!l)return;const[p]=l.refs[`modal-container_${i}`];if(p)return p.hideLoading()}function d(i,p,h){const w=n.value.find(v=>v.id===i);w&&w.listeners.push({event:p,callback:h})}return t.provide(A,{open:c,close:a,closeAll:m,addEventListener:d}),o({elements:n,open:c,close:a,closeAll:m}),t.onMounted(()=>{r.value=!0}),(i,p)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.renderSlot(i.$slots,"default",{},void 0,!0),r.value?(t.openBlock(),t.createElementBlock("div",lt,[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!i.appendToBody,to:typeof i.appendToBody=="string"?i.appendToBody:"body"},[t.createVNode(t.TransitionGroup,{name:"modal-fade"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.value,h=>(t.openBlock(),t.createBlock(Qe,t.mergeProps({id:h.id,key:h.id,ref_for:!0,ref:`modal-container_${h.id}`,component:h.component,"component-props":h.props,"max-height":i.maxHeight,"max-width":i.maxWidth,offset:i.offset,sizes:i.sizes},h.options,{onSubmit:()=>k(h.id,"submit")}),null,16,["id","component","component-props","max-height","max-width","offset","sizes","onSubmit"]))),128))]),_:1})],8,["disabled","to"]))])):t.createCommentVNode("",!0)],64))}}),ut=K(ct,[["__scopeId","data-v-241a8304"]]);function P(e,o){var n,r;let l=e==null?void 0:e.parent;for(;l&&((n=l==null?void 0:l.type)==null?void 0:n.name)!==o;)l=l.parent;return((r=l==null?void 0:l.type)==null?void 0:r.name)===o?l:null}function ae(){const e=t.inject(A),o=t.getCurrentInstance();function n(r,l,c){if(!e)throw new Error("Not Found Modal Provider Component");return e.open(r,l,c)}return{open:n,close(r){var l;if(!e)throw new Error("Not Found Modal Provider Component");const c=P(o,"ModalContainer"),a=(l=c==null?void 0:c.props)==null?void 0:l.id;if(!a)throw new Error("Not Found Current Modal Container");e.close(a,r)},closeAll(){if(!e)throw new Error("Not Found Modal Provider Component");e.closeAll()},showLoading(){var r;if(!e)throw new Error("Not Found Modal Provider Component");const l=P(o,"ModalContainer");if(!((r=l==null?void 0:l.props)!=null&&r.id))throw new Error("Not Found Current Modal Container");l!=null&&l.exposed&&(l==null||l.exposed.showLoading())},hideLoading(){var r;if(!e)throw new Error("Not Found Modal Provider Component");const l=P(o,"ModalContainer");if(!((r=l==null?void 0:l.props)!=null&&r.id))throw new Error("Not Found Current Modal Container");l!=null&&l.exposed&&(l==null||l.exposed.hideLoading())},confirm(r){return this.open("confirm",r)},info(r){return this.open("info",r)},error(r){return this.open("error",r)},warning(r){return this.open("warning",r)},success(r){return this.open("success",r)}}}function it(e){var o;const n=t.inject(A),r=t.getCurrentInstance(),l=P(r,"ModalContainer"),c=(o=l==null?void 0:l.props)==null?void 0:o.id;n&&c&&n.addEventListener(c,"submit",e)}const ne={id:Symbol("ID"),source:Symbol("Source")};function dt(e,o){const n=t.ref({});return e==null||e.forEach(l=>{let c=null;l.default&&(c=(typeof l.default=="function"?l.default():l.default)||null),o&&o[l.key]!==void 0&&(c=o[l.key]),n.value[l.key]=c}),[n,l=>{n.value=l}]}function st(e){function o(n,r){return e!=null&&e.disabledDate?e.disabledDate(n,r):!1}return(n,r)=>{switch(e==null?void 0:e.type){case"week":return t.createVNode(b.WeekPicker,{modelValue:n[r.key],"onUpdate:modelValue":l=>n[r.key]=l,"disabled-date":o,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"month":return t.createVNode(b.MonthPicker,{modelValue:n[r.key],"onUpdate:modelValue":l=>n[r.key]=l,"disabled-date":o,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"quarter":return t.createVNode(b.QuarterPicker,{modelValue:n[r.key],"onUpdate:modelValue":l=>n[r.key]=l,"disabled-date":o,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"year":return t.createVNode(b.YearPicker,{modelValue:n[r.key],"onUpdate:modelValue":l=>n[r.key]=l,"disabled-date":o,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"date":default:return t.createVNode(b.DatePicker,{"disabled-input":!0,modelValue:n[r.key],"onUpdate:modelValue":l=>n[r.key]=l,"disabled-date":o,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)}}}function ft(e){return(o,n)=>{switch(e==null?void 0:e.type){case"number":return t.createVNode(b.InputNumber,{modelValue:o[n.key],"onUpdate:modelValue":r=>o[n.key]=r,hideButton:!0,"read-only":e==null?void 0:e.readonly,placeholder:e==null?void 0:e.placeholder,allowClear:e==null?void 0:e.clearable},null);case"string":default:return t.createVNode(b.Input,{modelValue:o[n.key],"onUpdate:modelValue":r=>o[n.key]=r,placeholder:e==null?void 0:e.placeholder,readonly:e==null?void 0:e.readonly,allowClear:e==null?void 0:e.clearable},null)}}}typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;function Q(e,o,n){const r=t.watch(e,(...l)=>(t.nextTick(()=>r()),o(...l)),n);return r}function mt(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const z=new WeakMap;function ht(){const e=t.ref(new Map);return[e,n=>e.value=n]}function pt(e){let o,n=!1;const[r,l]=ht(),c=()=>{if(!e.autoSumbit||!o)return;let s=o;for(;s&&s.$el.tagName!=="FORM";)s=s.$parent;s&&s.$el&&s.$el.dispatchEvent(new Event("submit"))},a=(s,u)=>{const d=s();d instanceof Promise?d.then(u):u(d)},m=async()=>{const s=z.get(e.options);switch(typeof s){case"function":z.set(e.options,l);return;case"object":l(s);return}z.set(e.options,l),a(e.options,u=>{const d=z.get(e.options);z.set(e.options,u),d(u)})},k=()=>{a(e.options,s=>{l(s)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?m():k();break}case t.isRef(e.options):{Q(e.options,()=>{l(e.options.value)},{immediate:!0});break}default:r.value=e.options}return(s,u)=>{let d;return e.default&&!n&&(s[u.key]=e.default,n=!0),t.createVNode(b.Select,{ref:i=>o=i,multiple:e.multiple,modelValue:s[u.key],"onUpdate:modelValue":i=>s[u.key]=i,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:c},mt(d=Array.from(r.value.entries()).map(([i,p])=>t.createVNode(b.Option,{key:i,value:i,label:p},null)))?d:{default:()=>[d]})}}function vt(e){function o(){e!=null&&e.autoSumbit}return(n,r)=>(e!=null&&e.default&&(n[r.key]=e.default),t.createVNode(b.Switch,{modelValue:n[r.key],"onUpdate:modelValue":l=>n[r.key]=l,checkedText:(e==null?void 0:e.openLabel)??"是",uncheckedText:(e==null?void 0:e.closeLabel)??"否",checkedValue:(e==null?void 0:e.openValue)??!0,uncheckedValue:(e==null?void 0:e.closeValue)??!1,onChange:o},null))}function yt(e){return(o,n)=>{let r=[];function l(m){r=m}function c(m){if(m&&m.length===2){const[k,s]=m.sort(),u=te(k).startOf("days"),d=te(s).endOf("days");o[n.key]=[u.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD"),d.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD")]}}function a(m){return e!=null&&e.disabledDate?e.disabledDate(r,m):!1}return t.createVNode("div",null,[t.createVNode(b.RangePicker,{"disabled-input":!0,style:{width:"300px"},modelValue:o[n.key],"onUpdate:modelValue":m=>o[n.key]=m,onSelect:l,onChange:c,mode:e==null?void 0:e.type,allowClear:e==null?void 0:e.clearable,"disabled-date":a,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)])}}function gt(e){return(o,n)=>t.createVNode(b.Textarea,{modelValue:o[n.key],"onUpdate:modelValue":r=>o[n.key]=r,placeholder:e==null?void 0:e.placeholder,autoSize:e==null?void 0:e.autosize,maxLength:e==null?void 0:e.maxLength},null)}const j=new WeakMap;function bt(){const e=t.ref([]);return[e,n=>e.value=n]}function kt(e){let o,n=!1;const[r,l]=bt(),c=()=>{if(!e.autoSumbit||!o)return;let u=o;for(;u&&u.$el.tagName!=="FORM";)u=u.$parent;u&&u.$el&&u.$el.dispatchEvent(new Event("submit"))},a=(u,d)=>{const i=u();i instanceof Promise?i.then(d):d(i)},m=async()=>{const u=j.get(e.options);switch(typeof u){case"function":j.set(e.options,l);return;case"object":l(u);return}j.set(e.options,l),a(e.options,d=>{const i=j.get(e.options);j.set(e.options,d),i(d)})},k=()=>{a(e.options,u=>{l(u)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?m():k();break}case t.isRef(e.options):{Q(e.options,()=>{l(e.options.value)},{immediate:!0});break}default:r.value=e.options}function s(u,d){var h;const i=((h=e.fieldNames)==null?void 0:h.title)||"title",p=d[i];return p?p.toLowerCase().includes(u.toLowerCase()):!1}return(u,d)=>(e.default&&!n&&(u[d.key]=e.default,n=!0),t.createVNode(b.TreeSelect,{ref:i=>o=i,multiple:e.multiple,modelValue:u[d.key],"onUpdate:modelValue":i=>u[d.key]=i,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:c,filterTreeNode:s,data:r.value,fieldNames:e.fieldNames,treeProps:e.treeProps},{...e.slots}))}const T=new WeakMap;function wt(){const e=t.ref([]);return[e,n=>e.value=n]}function Ct(e){let o,n=!1;const[r,l]=wt(),c=()=>{if(!e.autoSumbit||!o)return;let s=o;for(;s&&s.$el.tagName!=="FORM";)s=s.$parent;s&&s.$el&&s.$el.dispatchEvent(new Event("submit"))},a=(s,u)=>{const d=s();d instanceof Promise?d.then(u):u(d)},m=async()=>{const s=T.get(e.options);switch(typeof s){case"function":T.set(e.options,l);return;case"object":l(s);return}T.set(e.options,l),a(e.options,u=>{const d=T.get(e.options);T.set(e.options,u),d(u)})},k=()=>{a(e.options,s=>{l(s)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?m():k();break}case t.isRef(e.options):{Q(e.options,()=>{l(e.options.value)},{immediate:!0});break}default:r.value=e.options}return(s,u)=>(e.default&&!n&&(s[u.key]=e.default,n=!0),t.createVNode(b.Cascader,{pathMode:e.pathMode,ref:d=>o=d,multiple:e.multiple,modelValue:s[u.key],"onUpdate:modelValue":d=>s[u.key]=d,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:c,options:r.value},null))}function St(e){return o=>e(o)}function xt(){return{input:ft,textarea:gt,select:pt,treeSelect:kt,date:st,switch:vt,dateRange:yt,render:St,cascader:Ct}}function $t(e,o){o.render||(o.render=r=>r.input());const n=o.render({...xt()});return{default:()=>n(e,o)}}function Nt(e,o){return t.h(b.FormItem,{field:o.key,label:o.title},$t(e,o))}function Vt(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const Ft=t.defineComponent({props:{form:{type:Object,required:!0}},setup(e){const o=ae(),n=e.form.map(a=>({...a,collapsed:!1})),r=Array.from(new Set(n.map(a=>a.group).flat().filter(Boolean))),l=n.reduce((a,m)=>((m.group?[m.group].flat():["默认"]).forEach(k=>{let s=a.find(u=>u.group===k);s||(s={group:k,instance:void 0,form:[]},a.push(s)),s.form.push(m)}),a),[]).sort((a,m)=>a.group==="默认"?-1:m.group==="默认"?1:a.group>m.group?-1:1),c=t.ref("默认");return it(()=>{const a=l.find(m=>m.group===c.value);if(a&&a.instance){const m=a.instance.formSource;a.instance.validate().then(()=>{o.close(m)})}}),{formItems:n,groups:r,groupForms:l,activeTab:c}},render(){const e=this.groupForms.find(o=>o.group===this.activeTab);if(this.groups.length){let o;return t.createVNode(b.Tabs,{"active-key":this.activeTab,"onUpdate:active-key":n=>this.activeTab=n},Vt(o=this.groupForms.map(n=>t.createVNode(b.TabPane,{title:n.group,key:n.group},{default:()=>[t.createVNode(D,{form:n.form,ref:r=>n.instance=r},null)]})))?o:{default:()=>[o]})}else return t.createVNode(D,{form:this.formItems,ref:o=>e.instance=o},null)}});function re(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const D=t.defineComponent({props:{form:{type:Object,required:!0},value:{type:Object,required:!1},layout:{type:String,required:!1,default:"horizontal"},columns:{type:Number,required:!1},modelValue:{type:Object,required:!1},minWidth:{type:Number,required:!1,default:400},name:{type:String,required:!1,default:`form-${Math.random().toString(32).slice(2)}`},id:{type:String,required:!1,default:`form-${Math.random().toString(32).slice(2)}`},collapsedMode:{type:String,required:!1,default:"append"},submitable:{type:Boolean,required:!1,default:!1},searchable:{type:Boolean,required:!1,default:!1},footer:{type:Boolean,required:!1,default:!1}},emits:["submit","cancel","update:model-value"],expose:["formSource","updateFormField","updateFormSource","reset","validate"],setup(e,{emit:o}){const n=t.ref(),[r,l]=dt(e.form,e.modelValue||e.value),c=t.ref(e.columns||0),a=t.ref(!0),m=t.ref(),k=()=>a.value=!a.value;t.provide(ne.id,e.id),t.provide(ne.source,r);const s=()=>{o("submit",r),o("update:model-value",r)},u=t.computed(()=>{if(!c.value)return 1;const y=e.form.reduce((C,E)=>C+((E==null?void 0:E.span)||1),0);return c.value-y%c.value}),d=t.computed(()=>e.form.reduce((y,C)=>(C.rule&&(y[C.key]=C.rule),y),{}));function i(){var C;if(e.columns)return;const y=(C=n.value)==null?void 0:C.$el;y&&(c.value=Math.floor(y.offsetWidth/e.minWidth))}function p(){var C;const y=(C=n.value)==null?void 0:C.$el;y&&(y.id=e.id)}function h(){m.value.open(Ft,{form:e.form},{title:"高级搜索",footer:!0,submitText:"搜索"}).then(y=>{y&&(w(y),s())})}t.onMounted(()=>{i(),p()});function w(y){l({...r.value,...y||{}})}function v(y,C){r.value[y]=C,w({...r.value})}function S(){var y;(y=n.value)==null||y.resetFields()}function $(){var y;return(y=n.value)==null?void 0:y.validate()}return t.onMounted(()=>{window&&window.addEventListener("resize",i)}),{formSource:r,formInstance:n,formColumns:c,formRules:d,formCollspased:a,formActiosSpan:u,toggleFormCollapsed:k,updateFormField:v,updateFormSource:w,reset:S,validate:$,onSubmitSuccess:s,openCollapsedDialog:h,modalInstance:m}},render(){const e=()=>{const n=[],r=this.footer?{span:this.formColumns}:{span:this.formActiosSpan};if(this.searchable&&(n.push(t.createVNode(b.Button,{type:"primary",htmlType:"submit"},{default:()=>[t.createTextVNode("搜索")]})),n.push(t.createVNode(b.Button,{type:"secondary",onClick:()=>{var l;return(l=this.formInstance)==null?void 0:l.resetFields()}},{default:()=>[t.createTextVNode("重置")]}))),this.submitable&&(n.push(t.createVNode(b.Button,{type:"primary",htmlType:"submit"},{default:()=>[t.createTextVNode("提交")]})),n.push(t.createVNode(b.Button,{type:"secondary",onClick:()=>this.$emit("cancel")},{default:()=>[t.createTextVNode("取消")]}))),this.form.some(l=>!!l.collapsed)&&(this.collapsedMode==="append"&&n.push(t.createVNode(b.Button,{onClick:this.toggleFormCollapsed},{default:()=>this.formCollspased?"展开":"收起",icon:()=>this.formCollspased?t.createVNode(we,null,null):t.createVNode(Ve,null,null)})),this.collapsedMode==="dialog"&&n.push(t.createVNode(b.Button,{onClick:this.openCollapsedDialog},{default:()=>"高级搜索",icon:()=>t.createVNode(Me,null,null)}))),this.$slots.actions&&n.push(...this.$slots.actions()),n.length)return t.createVNode(b.GridItem,r,{default:()=>[t.createVNode(b.FormItem,{hideLabel:!0,contentClass:this.footer?"form-footer":""},{default:()=>[t.createVNode(b.Space,null,re(n)?n:{default:()=>[n]})]})]})},o=this.form.filter(n=>this.formCollspased?!n.collapsed:!0).filter(n=>{switch(!0){case typeof n.visiable=="boolean":return n.visiable;case typeof n.visiable=="function":return n.visiable(this.formSource);default:return!0}});return t.createVNode("div",{class:"form-render"},[t.createVNode(ut,{ref:n=>this.modalInstance=n},{default:()=>[t.createVNode(b.Form,t.mergeProps({name:this.name},{labelAlign:"left",layout:this.$props.layout,rules:this.formRules,onSubmitSuccess:this.onSubmitSuccess,"auto-label-width":!0,ref:n=>this.formInstance=n,model:this.formSource}),{default:()=>[t.createVNode(b.Grid,{cols:this.formColumns,"col-gap":24,"rol-gap":10},{default:()=>[o.filter(()=>this.formColumns!==0).map(n=>{let r;return t.createVNode(b.GridItem,{span:n.span},re(r=Nt(this.formSource,n))?r:{default:()=>[r]})}),e()]})]})]})])}});function Bt(e){return e}function Et(e){const o=t.getCurrentInstance(),n=t.ref();function r(){var c,a;const l=(a=(c=o==null?void 0:o.proxy)==null?void 0:c.$refs)==null?void 0:a[e];l&&(n.value=l)}return t.onMounted(r),t.onUpdated(r),n}const Ot={install(e,o){e.component("FormRender",D)}};exports.FormRenderResolver=se.FormRenderResolver;exports.FormRender=D;exports.default=Ot;exports.defineForm=Bt;exports.useForm=Et;
@@ -8,6 +8,7 @@ export interface FormItemOptions<T = Record<string, any>> {
8
8
  title: string;
9
9
  default?: any | (() => any) | (() => Promise<any>);
10
10
  collapsed?: boolean;
11
+ group?: string | string[];
11
12
  visiable?: boolean | ((record: T) => boolean);
12
13
  span?: number;
13
14
  rule?: FieldRule | FieldRule[];
@@ -0,0 +1,33 @@
1
+ import { type PropType } from 'vue';
2
+ import { type FormItemsOptions } from '..';
3
+ declare const _default: import("vue").DefineComponent<{
4
+ form: {
5
+ type: PropType<FormItemsOptions>;
6
+ required: true;
7
+ };
8
+ }, {
9
+ formItems: {
10
+ collapsed: boolean;
11
+ key: string;
12
+ title: string;
13
+ default?: any;
14
+ group?: string | string[] | undefined;
15
+ visiable?: boolean | ((record: Record<string, any>) => boolean) | undefined;
16
+ span?: number | undefined;
17
+ rule?: import("@arco-design/web-vue").FieldRule<any> | import("@arco-design/web-vue").FieldRule<any>[] | undefined;
18
+ render?: import("..").FormItemRender<Record<string, any>> | undefined;
19
+ }[];
20
+ groups: string[];
21
+ groupForms: {
22
+ group: string;
23
+ instance?: any;
24
+ form: FormItemsOptions;
25
+ }[];
26
+ activeTab: import("vue").Ref<string>;
27
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
28
+ form: {
29
+ type: PropType<FormItemsOptions>;
30
+ required: true;
31
+ };
32
+ }>>, {}, {}>;
33
+ export default _default;
@@ -1,6 +1,6 @@
1
1
  import { type PropType } from 'vue';
2
2
  import { type FieldRule } from '@arco-design/web-vue';
3
- import type { FormItemsOptions } from '../interfaces';
3
+ import type { DataRecord, FormItemsOptions } from '../interfaces';
4
4
  export declare const FormRender: import("vue").DefineComponent<{
5
5
  form: {
6
6
  type: PropType<FormItemsOptions<any>>;
@@ -38,6 +38,11 @@ export declare const FormRender: import("vue").DefineComponent<{
38
38
  required: false;
39
39
  default: string;
40
40
  };
41
+ collapsedMode: {
42
+ type: PropType<"dialog" | "append">;
43
+ required: false;
44
+ default: string;
45
+ };
41
46
  submitable: {
42
47
  type: BooleanConstructor;
43
48
  required: false;
@@ -54,7 +59,7 @@ export declare const FormRender: import("vue").DefineComponent<{
54
59
  default: boolean;
55
60
  };
56
61
  }, {
57
- formSource: import("vue").Ref<import("../interfaces").DataRecord>;
62
+ formSource: import("vue").Ref<DataRecord>;
58
63
  formInstance: import("vue").Ref<({
59
64
  $: import("vue").ComponentInternalInstance;
60
65
  $data: {};
@@ -309,9 +314,12 @@ export declare const FormRender: import("vue").DefineComponent<{
309
314
  formActiosSpan: import("vue").ComputedRef<number>;
310
315
  toggleFormCollapsed: () => boolean;
311
316
  updateFormField: (key: string, value: any) => void;
312
- updateFormSource: (value: import("../interfaces").DataRecord) => void;
317
+ updateFormSource: (value: DataRecord) => void;
313
318
  reset: () => void;
314
319
  validate: () => Promise<Record<string, import("@arco-design/web-vue").ValidatedError> | undefined> | undefined;
320
+ onSubmitSuccess: () => void;
321
+ openCollapsedDialog: () => void;
322
+ modalInstance: import("vue").Ref<any>;
315
323
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("submit" | "cancel" | "update:model-value")[], "submit" | "cancel" | "update:model-value", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
316
324
  form: {
317
325
  type: PropType<FormItemsOptions<any>>;
@@ -349,6 +357,11 @@ export declare const FormRender: import("vue").DefineComponent<{
349
357
  required: false;
350
358
  default: string;
351
359
  };
360
+ collapsedMode: {
361
+ type: PropType<"dialog" | "append">;
362
+ required: false;
363
+ default: string;
364
+ };
352
365
  submitable: {
353
366
  type: BooleanConstructor;
354
367
  required: false;
@@ -370,10 +383,11 @@ export declare const FormRender: import("vue").DefineComponent<{
370
383
  "onUpdate:model-value"?: ((...args: any[]) => any) | undefined;
371
384
  }, {
372
385
  footer: boolean;
373
- name: string;
374
386
  layout: "horizontal" | "vertical";
387
+ name: string;
375
388
  minWidth: number;
376
389
  id: string;
390
+ collapsedMode: "dialog" | "append";
377
391
  submitable: boolean;
378
392
  searchable: boolean;
379
393
  }, {}>;