@harbor-design/proform 1.1.6 → 1.1.8

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/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var G=Object.defineProperty;var K=(n,e,t)=>e in n?G(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var f=(n,e,t)=>(K(n,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("vue");class a{static typeChecker(e){return{}.toString.call(e)}static isString(e){return typeof e=="string"}static isArray(e){return this.typeChecker(e)==="[object Array]"}static isFunction(e){return this.typeChecker(e)==="[object Function]"}static isPromise(e){return e instanceof Promise}static isObject(e){return this.typeChecker(e)==="[object Object]"}static isAsyncFunction(e){return this.typeChecker(e)==="[object AsyncFunction]"}static isUndefined(e){return e===void 0}static isArrayEmpty(e){return(e==null?void 0:e.length)<1}static isObjectEmpty(e){return this.isArrayEmpty(Object.keys(e))}static isListSchema(e){return e.type==="list"}static isGroupSchema(e){return e.type==="group"}static isItemSchema(e){return this.isUndefined(e.type)||e.type==="item"}static isProcessInprogress(e){if(e===void 0)return!0;if(this.isObject(e)){if(e.setup&&this.isFunction(e.setup)&&e.props)return!1;if(this.isObjectEmpty(e))return!0;for(const t in e)if(e.hasOwnProperty(t)&&this.isProcessInprogress(e[t]))return!0}else if(this.isArray(e)){if(this.isArrayEmpty(e))return!0;for(const t of e)if(this.isProcessInprogress(t))return!0}return!1}}function p(n,...e){return e.forEach(t=>{if(Array.isArray(t))Array.isArray(n)||(n=[]),t.forEach((s,r)=>{typeof s=="object"&&s!==null?n[r]=p(Array.isArray(s)?[]:{},s):n[r]=s});else for(let s in t)t.hasOwnProperty(s)&&(typeof t[s]=="object"&&t[s]!==null?n[s]=p(n[s]||{},t[s]):n[s]=t[s])}),n}function b(n){const e=new WeakMap;function t(s){if(s===null||typeof s!="object")return s;if(s instanceof Date)return new Date(s);if(s instanceof RegExp)return new RegExp(s);if(s instanceof Map){const o=new Map;for(let[l,u]of s)o.set(t(l),t(u));return o}if(s instanceof Set){const o=new Set;for(let l of s)o.add(t(l));return o}if(e.has(s))return e.get(s);if(Array.isArray(s)){const o=[];e.set(s,o);for(let l=0;l<s.length;l++)o[l]=t(s[l]);return o}const r=Object.create(Object.getPrototypeOf(s));e.set(s,r);for(let o in s)s.hasOwnProperty(o)&&(r[o]=t(s[o]));return r}return t(n)}function O(n,e){return n.replace(/undefined/g,e)}class W{constructor(e){f(this,"runtimeCore");this.formCustomization=e}cleanFallbackFields(e){return e!==null&&typeof e=="object"&&(delete e.__yiwwhl_async_field_fallback,Object.values(e).forEach(t=>{this.cleanFallbackFields(t)})),e}setup(e){return this.runtimeCore=e,Object.assign(this.runtimeCore.native,this.formCustomization.native),Object.assign(this.runtimeCore.gridProps,this.formCustomization.gridProps),Object.assign(this.runtimeCore.runtimeSetters,this.formCustomization.runtimeSetters),this.formCustomization}submit(){return new Promise((e,t)=>{this.runtimeCore.formRef.value.validate(s=>s?t(s):e(this.cleanFallbackFields(i.toRaw(this.runtimeCore.processor.processedModel.value))))})}hydrate(e){if(!this.runtimeCore)return Promise.reject({code:"0002",message:"hydrate 使用时机错误,建议将 hydrate 操作放到 onMounted 等页面节点挂载完成的钩子中,或者使用响应式的值来注入数据"});this.runtimeCore.hydrateEffect.trackEffect(()=>{i.isRef(e)?i.watch(()=>e.value,()=>{p(this.runtimeCore.model.value,e.value)},{deep:!0,immediate:!0}):i.isReactive(e)?i.watch(()=>e,()=>{p(this.runtimeCore.model.value,e)},{deep:!0,immediate:!0}):p(this.runtimeCore.model.value,e)},{lazy:!0})}}class N{constructor(){f(this,"effects",new Set)}clearEffects(){this.effects.clear()}triggerEffects(){Array.from(this.effects).forEach(e=>e())}trackEffect(e,t={lazy:!1}){return!t.lazy&&e(),this.effects.add(e),()=>this.effects.delete(e)}}class H{constructor(e){f(this,"runtimeCore");f(this,"processedSchemas");f(this,"processedModel");f(this,"getRuntimeMeta");f(this,"stableSchemas",[]);f(this,"stableModel",{});f(this,"schemaPreset",E.schemaPreset);f(this,"componentPropsPreset",E.componentPropsPreset);f(this,"stableUpdaterProcessProgress");f(this,"stableUpdaterTimes",0);f(this,"schemaEffect",new N);f(this,"defaultValueEffect",new N);f(this,"defaultValueInprogressMap",new Map);f(this,"baseDefaultValueFunctionsLength");this.runtimeCore=e,this.processedSchemas=e.schemas,this.processedModel=e.model,this.getRuntimeMeta=e.getRuntimeMeta.bind(e),i.watch(()=>this.processedModel.value,()=>{this.schemaEffect.triggerEffects()},{deep:!0})}parse(e,t){e.forEach((s,r)=>{this.parseItem(s,r,t)})}initSchemas(e){return e.map(t=>{const s={};return t.children&&(s.children=this.initSchemas(t.children)),s})}countFunctionDefaultValues(e){let t=0,s=new Set;function r(o){if(!s.has(o)&&(Array.isArray(o)||o!==null&&typeof o=="object")){s.add(o);for(let l in o)o.hasOwnProperty(l)&&(l==="defaultValue"&&typeof o[l]=="function"&&!o[l].toString().includes("[native code]")&&t++,r(o[l]))}}return r(e),t}parseSchemas(e,t){a.isArrayEmpty(this.processedSchemas.value)&&(this.baseDefaultValueFunctionsLength=this.countFunctionDefaultValues(b(e)),this.processedSchemas.value=this.initSchemas(e)),this.parse(e,t)}parseStable(e){const t={};if(!a.isUndefined(e.stable))t[e.key]=this.parseStable(e.stable);else return e;return t}stableUpdater(e=[]){if(e.every(Boolean)){const t=i.toRaw(this.processedSchemas.value);!a.isProcessInprogress(t)&&a.isObjectEmpty(this.stableModel)&&(this.stableUpdaterProcessProgress||(this.stableUpdaterProcessProgress=Array.from({length:t.length}).fill(!1)),this.stableUpdaterProcessProgress[this.stableUpdaterTimes]=!0,this.stableUpdaterTimes++,this.modelProcessor(t))}}parseItem(e,t,s){const r=this,o=Array.from({length:Object.keys(e).filter(u=>u!=="children").length}).fill(!1);this.objectParser({data:e,index:t,updater:l});function l(u){const c=u.index,d=u.key,I=u.keyIndex;if(a.isUndefined(u.stable))return;const w=r.parseStable(u.stable),j=s==null?void 0:s.index,P=s==null?void 0:s.key;let y=w;if(a.isProcessInprogress(y)||(o[I]=!0),s){let m=r.processedSchemas.value[j][P][c][d];m&&a.isObject(m)&&d!=="component"&&(y=p(m,y)),r.processedSchemas.value[j][P][c][d]=y,r.stableUpdater(o)}else{let m=r.processedSchemas.value[c][d];m&&a.isObject(m)&&d!=="component"&&(y=p(m,y)),r.processedSchemas.value[c][d]=y,r.stableUpdater(o)}}}objectParser(e){const t=e.data;Object.keys(t).forEach((r,o)=>{if(r==="children")this.parseSchemas(t[r],{...e,key:r,keyIndex:o});else{const l=u=>{e.updater({...e,key:r,keyIndex:o,stable:u})};a.isFunction(t[r])?r!=="defaultValue"?this.schemaEffect.trackEffect(()=>{if(r==="component"){const u=t[r](this.getRuntimeMeta());this.promiseFieldParser(u,l,!1)}else this.fieldParser(t[r],l)}):this.defaultValueEffect.trackEffect(()=>{const u=this.schemaEffect.trackEffect(()=>{/\{\s*model\s*\}/.test(t[r].toString())?this.fieldParser(t[r],c=>{if(!c)return l(c);this.defaultValueInprogressMap.set(t[r],c),!a.isProcessInprogress(c)&&this.defaultValueInprogressMap.size===this.baseDefaultValueFunctionsLength&&Array.from(this.defaultValueInprogressMap.values()).every(d=>!d.includes("undefined"))?(l(c),this.defaultValueEffect.clearEffects(),i.nextTick(()=>{u()})):l(c)}):this.fieldParser(t[r],c=>{this.defaultValueInprogressMap.set(t[r],c),!a.isProcessInprogress(c)&&this.defaultValueInprogressMap.size===this.baseDefaultValueFunctionsLength&&Array.from(this.defaultValueInprogressMap.values()).every(d=>!d.includes("undefined"))?(l(c),this.defaultValueEffect.clearEffects(),i.nextTick(()=>{u()})):l(c)})})}):r==="component"||r==="slots"||r==="runtimeSetters"?this.promiseFieldParser(t[r],l,!1):this.fieldParser(t[r],l)}})}promiseFieldParser(e,t,s){a.isPromise(e)?e.then(r=>{a.isString(r)&&(r=O(r,"")),s&&a.isObject(r)?this.objectParser({data:r,updater:t}):t(r)}):(a.isString(e)&&(e=O(e,"")),s&&a.isObject(e)?this.objectParser({data:e,updater:t}):t(e))}fieldParser(e,t,s=!0){if(a.isFunction(e))if(e.name.startsWith("__proform_raw_"))t(e);else{const r=e(this.getRuntimeMeta());this.promiseFieldParser(r,t,s)}else i.isRef(e)?i.watch(()=>e.value,()=>{a.isUndefined(e.value)||(s&&a.isObject(e.value)?this.objectParser({data:e.value,updater:t}):t(e.value))},{immediate:!0,deep:!0}):i.isReactive(e)?i.watch(()=>e,()=>{a.isUndefined(e)||(s&&a.isObject(e)?this.objectParser({data:e,updater:t}):t(e))},{immediate:!0,deep:!0}):s&&a.isObject(e)?this.objectParser({data:e,updater:t}):t(e)}modelProcessor(e){e.map(t=>this.createModel(t,this.processedModel.value)),a.isObjectEmpty(this.stableModel)&&this.stableUpdaterProcessProgress.every(Boolean)&&this.defaultValueEffect.effects.size===0&&(this.stableModel=b(this.processedModel.value),this.runtimeCore.hydrateEffect.triggerEffects(),this.runtimeCore.hydrateEffect.clearEffects())}createModel(e,t){a.isListSchema(e)&&(t[e.field]||(t[e.field]=[{}]),e.children.forEach(s=>{this.createModel(s,t[e.field][0])})),a.isGroupSchema(e)&&e.children.forEach(s=>{this.createModel(s,t)}),a.isItemSchema(e)&&(t[e.field]=e.defaultValue)}}function J(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!i.isVNode(n)}class Q{constructor(e){f(this,"schemas",i.ref([]));f(this,"model",i.ref({}));f(this,"processorBySchemaType",{item:this.runtimeItemProcessor.bind(this),group:this.runtimeGroupProcessor.bind(this),list:this.runtimeListProcessor.bind(this)});f(this,"formRef",i.ref(null));f(this,"hydrateEffect",new N);f(this,"native",i.reactive({}));f(this,"gridProps",{});f(this,"runtimeSetters",{});f(this,"globalNativeFormOverride",{props:{},slots:{}});this.setup=e,this.processor=new H(this);const t=this.setup(this);this.processor.parseSchemas(t.schemas)}getRuntimeMeta(){return{model:i.toRaw(b(this.model.value))}}runtimeItemProcessor(e,t,s=this.model.value,r){var A,F,M,R,x,U,D,k,_,L,z,q,T,$,B;p(this.globalNativeFormOverride.props,(F=(A=e.native)==null?void 0:A.props)==null?void 0:F.Form),p(this.globalNativeFormOverride.slots,(R=(M=e.native)==null?void 0:M.slots)==null?void 0:R.Form);const o=p(b((U=(x=this.native)==null?void 0:x.props)==null?void 0:U.FormItem)??{},(k=(D=e.native)==null?void 0:D.props)==null?void 0:k.FormItem),l=p(b((L=(_=this.native)==null?void 0:_.slots)==null?void 0:L.FormItem)??{},(q=(z=e.native)==null?void 0:z.slots)==null?void 0:q.FormItem),u={display:"grid",gridColumn:"1 / -1",...e.gridProps},c=r?`${r.field}.${t}.${e.field}`:e.field,d=i.toRaw(e.component);if(!d)return;const I=d.name,w=e.componentProps??{},j=E.placeholderPresetByComponentName;let P=e.placeholder;const y=e.required;let m=e.show;m===void 0&&(m=!0),m||delete s[e.field];let v=e.label;const V=(r==null?void 0:r.runtimeSetters)??this.runtimeSetters;if(!a.isUndefined(t)&&!a.isObjectEmpty(V)&&(v=O((T=V==null?void 0:V.listItemLabelSetter)==null?void 0:T.call(V,e.label,t+1),""),P=`${j[I]??"请输入"}${v}`),P||(P=`${j[I]??"请输入"}${v}`),y)if(!e.rules)e.rules=[],($=e.rules)==null||$.push({required:!0,message:`${v}是必填项`});else{const h=e.rules.findIndex(C=>!a.isUndefined(C.required));h!==-1&&(e.rules[h].required=!0,e.rules[h].message=`${v}是必填项`)}else if(e.rules){const h=(B=e.rules)==null?void 0:B.findIndex(C=>!!C.required);h!==-1&&(e.rules[h].required=!1)}return i.createVNode("div",{style:u},[i.createVNode(g.runtimeDoms.Item,null,{default(){return i.withDirectives(i.createVNode(g.runtimeDoms.FormItem,i.mergeProps(o,{label:`${v}:`,rules:e.rules,field:c}),{default(){return i.createVNode(d,i.mergeProps({modelValue:s[e.field],"onUpdate:modelValue":h=>s[e.field]=h,placeholder:P},w),null)},...l}),[[i.vShow,m]])}})])}runtimeGroupProcessor(e){let t;const s={display:"grid",gridColumn:"1 / -1",...e.gridProps};return i.createVNode("div",{style:s},[i.createVNode(g.runtimeDoms.Group,{schema:e},J(t=e.children.map(r=>this.runtimeItemProcessor(r)))?t:{default:()=>[t]})])}addListItem(e){var t,s;if(!((t=this.processor.stableModel[e.field])!=null&&t[0]))return Promise.reject({code:"0001",message:"异步默认值数据正在处理中,请您耐心等待... "});(s=this.processor.stableModel[e.field])!=null&&s[0]&&this.model.value[e.field].push(b(this.processor.stableModel[e.field][0])),this.formRef.value.clearValidate()}deleteListItem(e,t){this.model.value[e.field].splice(t,1),this.formRef.value.clearValidate()}runtimeListProcessor(e){const t={display:"grid",gridColumn:"1 / -1",...e.gridProps},s=this;return s.model.value[e.field]||(s.model.value[e.field]=[{}]),i.createVNode("div",{style:t},[i.createVNode(g.runtimeDoms.List,{schema:e},{default(){return s.model.value[e.field].map((r,o)=>i.createVNode(g.runtimeDoms.ListItem,null,{default(){return e.children.map(l=>s.runtimeItemProcessor(l,o,r,e))},delete({container:l}={}){var c;let u=l??i.createVNode("button",null,null);return i.withDirectives(i.createVNode(u,{onClick:()=>s.deleteListItem(e,o)},null),[[i.vShow,((c=s.model.value[e.field])==null?void 0:c.length)>1]])}}))},add({container:r}={}){let o=r??i.createVNode("button",null,[i.createTextVNode("添加")]);return i.createVNode(o,{onClick:()=>s.addListItem(e)},null)}})])}runtimeProcessor(e){return e.map(t=>(t.type||(t.type="item"),this.processorBySchemaType[t.type](t)))}exec(){var o,l,u,c;const e={display:"grid",gridColumn:"1 / -1",gridAutoColumns:"1fr",...this.gridProps},t=this,s=p(b((l=(o=this.native)==null?void 0:o.props)==null?void 0:l.Form)??{},this.globalNativeFormOverride.props),r=p(b((c=(u=this.native)==null?void 0:u.slots)==null?void 0:c.Form)??{},this.globalNativeFormOverride.slots);return i.createVNode(g.runtimeDoms.Form,i.mergeProps(s,{ref:this.formRef,model:this.model.value}),{default(){return i.createVNode("div",{style:e},[t.runtimeProcessor(t.schemas.value)])},...r})}}class g{}f(g,"runtimeDoms");const S=class S{static getPlaceholderPrefixPresetByComponentName(){const e={请选择:["Select","Tree","TreeSelect"],请输入:["Input"]},t={};for(let s in e)e[s].forEach(r=>{t[r]=s});return t}};f(S,"schemaPreset",{type:{defaultValue:"item"},component:{defaultValue:void 0},componentProps:{defaultValue:void 0},defaultValue:{defaultValue:void 0},label:{defaultValue:""},field:{defaultValue:"__yiwwhl_async_field_fallback"},rules:{defaultValue:[]},show:{defaultValue:!0},required:{defaultValue:!1},placeholder:{defaultValue:void 0},children:{defaultValue:[]},native:void 0,gridProps:void 0}),f(S,"componentPropsPreset",{options:{defaultValue:[]}}),f(S,"placeholderPresetByComponentName",S.getPlaceholderPrefixPresetByComponentName());let E=S;const X=i.defineComponent({props:{setup:{type:Function,required:!0}},setup(n){const e=new Q(n.setup);return()=>e.exec()}});function Y(n){const e=new W(n);return[e.setup.bind(e),{submit:e.submit.bind(e),hydrate:e.hydrate.bind(e)}]}function Z(n){return{install(){g.runtimeDoms=n}}}function ee(n,e){return e==="raw"&&Object.defineProperty(n,"name",{value:`__proform_raw_${n.name}`,writable:!0}),n}exports.ProForm=X;exports.useForm=Y;exports.useFormRenderer=Z;exports.useModifiers=ee;
1
+ "use strict";var G=Object.defineProperty;var K=(n,e,t)=>e in n?G(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var a=(n,e,t)=>(K(n,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("vue");class c{static typeChecker(e){return{}.toString.call(e)}static isString(e){return typeof e=="string"}static isArray(e){return this.typeChecker(e)==="[object Array]"}static isFunction(e){return this.typeChecker(e)==="[object Function]"}static isPromise(e){return e instanceof Promise}static isObject(e){return this.typeChecker(e)==="[object Object]"}static isAsyncFunction(e){return this.typeChecker(e)==="[object AsyncFunction]"}static isUndefined(e){return e===void 0}static isArrayEmpty(e){return(e==null?void 0:e.length)<1}static isObjectEmpty(e){return this.isArrayEmpty(Object.keys(e))}static isListSchema(e){return e.type==="list"}static isGroupSchema(e){return e.type==="group"}static isItemSchema(e){return this.isUndefined(e.type)||e.type==="item"}static isProcessInprogress(e){if(e===void 0)return!0;if(this.isObject(e)){if(e.setup&&this.isFunction(e.setup)&&e.props)return!1;if(this.isObjectEmpty(e))return!0;for(const t in e)if(e.hasOwnProperty(t)&&this.isProcessInprogress(e[t]))return!0}else if(this.isArray(e)){if(this.isArrayEmpty(e))return!0;for(const t of e)if(this.isProcessInprogress(t))return!0}return!1}}function p(n,...e){return e.forEach(t=>{if(Array.isArray(t))Array.isArray(n)||(n=[]),t.forEach((s,r)=>{typeof s=="object"&&s!==null?n[r]=p(Array.isArray(s)?[]:{},s):n[r]=s});else for(let s in t)t.hasOwnProperty(s)&&(typeof t[s]=="object"&&t[s]!==null?n[s]=p(n[s]||{},t[s]):n[s]=t[s])}),n}function b(n){const e=new WeakMap;function t(s){if(s===null||typeof s!="object")return s;if(s instanceof Date)return new Date(s);if(s instanceof RegExp)return new RegExp(s);if(s instanceof Map){const o=new Map;for(let[l,u]of s)o.set(t(l),t(u));return o}if(s instanceof Set){const o=new Set;for(let l of s)o.add(t(l));return o}if(e.has(s))return e.get(s);if(Array.isArray(s)){const o=[];e.set(s,o);for(let l=0;l<s.length;l++)o[l]=t(s[l]);return o}const r=Object.create(Object.getPrototypeOf(s));e.set(s,r);for(let o in s)s.hasOwnProperty(o)&&(r[o]=t(s[o]));return r}return t(n)}function O(n,e){return n.replace(/undefined/g,e)}class W{constructor(e){a(this,"runtimeCore");this.formCustomization=e}cleanFallbackFields(e){return e!==null&&typeof e=="object"&&(delete e.__yiwwhl_async_field_fallback,Object.values(e).forEach(t=>{this.cleanFallbackFields(t)})),e}setup(e){return this.runtimeCore=e,Object.assign(this.runtimeCore.native,this.formCustomization.native),Object.assign(this.runtimeCore.gridProps,this.formCustomization.gridProps),Object.assign(this.runtimeCore.runtimeSetters,this.formCustomization.runtimeSetters),this.formCustomization}submit(){return new Promise((e,t)=>{this.runtimeCore.formRef.value.validate(s=>s?t(s):e(this.cleanFallbackFields(i.toRaw(this.runtimeCore.processor.processedModel.value))))})}hydrate(e){if(!this.runtimeCore)return Promise.reject({code:"0002",message:"hydrate 使用时机错误,建议将 hydrate 操作放到 onMounted 等页面节点挂载完成的钩子中,或者使用响应式的值来注入数据"});this.runtimeCore.hydrateEffect.trackEffect(()=>{i.isRef(e)?i.watch(()=>e.value,()=>{p(this.runtimeCore.model.value,e.value)},{deep:!0,immediate:!0}):i.isReactive(e)?i.watch(()=>e,()=>{p(this.runtimeCore.model.value,e)},{deep:!0,immediate:!0}):p(this.runtimeCore.model.value,e)},{lazy:!0})}}class N{constructor(){a(this,"effects",new Set)}clearEffects(){this.effects.clear()}triggerEffects(){Array.from(this.effects).forEach(e=>e())}trackEffect(e,t={lazy:!1}){return!t.lazy&&e(),this.effects.add(e),()=>this.effects.delete(e)}}class H{constructor(e){a(this,"runtimeCore");a(this,"processedSchemas");a(this,"processedModel");a(this,"getRuntimeMeta");a(this,"stableSchemas",[]);a(this,"stableModel",{});a(this,"schemaPreset",E.schemaPreset);a(this,"componentPropsPreset",E.componentPropsPreset);a(this,"stableUpdaterProcessProgress");a(this,"stableUpdaterTimes",0);a(this,"schemaEffect",new N);a(this,"defaultValueEffect",new N);a(this,"defaultValueInprogressMap",new Map);a(this,"baseDefaultValueFunctionsLength");this.runtimeCore=e,this.processedSchemas=e.schemas,this.processedModel=e.model,this.getRuntimeMeta=e.getRuntimeMeta.bind(e),i.watch(()=>this.processedModel.value,()=>{this.schemaEffect.triggerEffects()},{deep:!0})}parse(e,t){e.forEach((s,r)=>{this.parseItem(s,r,t)})}initSchemas(e){return e.map(t=>{const s={};return t.children&&(s.children=this.initSchemas(t.children)),s})}countFunctionDefaultValues(e){let t=0,s=new Set;function r(o){if(!s.has(o)&&(Array.isArray(o)||o!==null&&typeof o=="object")){s.add(o);for(let l in o)o.hasOwnProperty(l)&&(l==="defaultValue"&&typeof o[l]=="function"&&!o[l].toString().includes("[native code]")&&t++,r(o[l]))}}return r(e),t}parseSchemas(e,t){c.isArrayEmpty(this.processedSchemas.value)&&(this.baseDefaultValueFunctionsLength=this.countFunctionDefaultValues(b(e)),this.processedSchemas.value=this.initSchemas(e)),this.parse(e,t)}parseStable(e){const t={};if(!c.isUndefined(e.stable))t[e.key]=this.parseStable(e.stable);else return e;return t}stableUpdater(e=[]){if(e.every(Boolean)){const t=i.toRaw(this.processedSchemas.value);!c.isProcessInprogress(t)&&c.isObjectEmpty(this.stableModel)&&(this.stableUpdaterProcessProgress||(this.stableUpdaterProcessProgress=Array.from({length:t.length}).fill(!1)),this.stableUpdaterProcessProgress[this.stableUpdaterTimes]=!0,this.stableUpdaterTimes++,this.modelProcessor(t))}}parseItem(e,t,s){const r=this,o=Array.from({length:Object.keys(e).filter(u=>u!=="children").length}).fill(!1);this.objectParser({data:e,index:t,updater:l});function l(u){const f=u.index,d=u.key,I=u.keyIndex;if(c.isUndefined(u.stable))return;const w=r.parseStable(u.stable),j=s==null?void 0:s.index,P=s==null?void 0:s.key;let y=w;if(c.isProcessInprogress(y)||(o[I]=!0),s){let h=r.processedSchemas.value[j][P][f][d];h&&c.isObject(h)&&d!=="component"&&(y=p(h,y)),r.processedSchemas.value[j][P][f][d]=y,r.stableUpdater(o)}else{let h=r.processedSchemas.value[f][d];h&&c.isObject(h)&&d!=="component"&&(y=p(h,y)),r.processedSchemas.value[f][d]=y,r.stableUpdater(o)}}}objectParser(e){const t=e.data;Object.keys(t).forEach((r,o)=>{if(r==="children")this.parseSchemas(t[r],{...e,key:r,keyIndex:o});else{const l=u=>{e.updater({...e,key:r,keyIndex:o,stable:u})};c.isFunction(t[r])?r!=="defaultValue"?this.schemaEffect.trackEffect(()=>{if(r==="component"){const u=t[r](this.getRuntimeMeta());this.promiseFieldParser(u,l,!1)}else this.fieldParser(t[r],l)}):this.defaultValueEffect.trackEffect(()=>{const u=this.schemaEffect.trackEffect(()=>{/\{\s*model\s*\}/.test(t[r].toString())?this.fieldParser(t[r],f=>{if(!f)return l(f);this.defaultValueInprogressMap.set(t[r],f),!c.isProcessInprogress(f)&&this.defaultValueInprogressMap.size===this.baseDefaultValueFunctionsLength&&Array.from(this.defaultValueInprogressMap.values()).every(d=>!d.includes("undefined"))?(l(f),this.defaultValueEffect.clearEffects(),i.nextTick(()=>{u()})):l(f)}):this.fieldParser(t[r],f=>{this.defaultValueInprogressMap.set(t[r],f),!c.isProcessInprogress(f)&&this.defaultValueInprogressMap.size===this.baseDefaultValueFunctionsLength&&Array.from(this.defaultValueInprogressMap.values()).every(d=>!d.includes("undefined"))?(l(f),this.defaultValueEffect.clearEffects(),i.nextTick(()=>{u()})):l(f)})})}):r==="component"||r==="slots"||r==="runtimeSetters"?this.promiseFieldParser(t[r],l,!1):this.fieldParser(t[r],l)}})}promiseFieldParser(e,t,s){c.isPromise(e)?e.then(r=>{c.isString(r)&&(r=O(r,"")),s&&c.isObject(r)?this.objectParser({data:r,updater:t}):t(r)}):(c.isString(e)&&(e=O(e,"")),s&&c.isObject(e)?this.objectParser({data:e,updater:t}):t(e))}fieldParser(e,t,s=!0){if(c.isFunction(e))if(e.name.startsWith("__proform_raw_"))t((...r)=>{e({rawArgs:r,...this.getRuntimeMeta()})});else{const r=e(this.getRuntimeMeta());this.promiseFieldParser(r,t,s)}else i.isRef(e)?i.watch(()=>e.value,()=>{c.isUndefined(e.value)||(s&&c.isObject(e.value)?this.objectParser({data:e.value,updater:t}):t(e.value))},{immediate:!0,deep:!0}):i.isReactive(e)?i.watch(()=>e,()=>{c.isUndefined(e)||(s&&c.isObject(e)?this.objectParser({data:e,updater:t}):t(e))},{immediate:!0,deep:!0}):s&&c.isObject(e)?this.objectParser({data:e,updater:t}):t(e)}modelProcessor(e){e.map(t=>this.createModel(t,this.processedModel.value)),c.isObjectEmpty(this.stableModel)&&this.stableUpdaterProcessProgress.every(Boolean)&&this.defaultValueEffect.effects.size===0&&(this.stableModel=b(this.processedModel.value),this.runtimeCore.hydrateEffect.triggerEffects(),this.runtimeCore.hydrateEffect.clearEffects())}createModel(e,t){c.isListSchema(e)&&(t[e.field]||(t[e.field]=[{}]),e.children.forEach(s=>{this.createModel(s,t[e.field][0])})),c.isGroupSchema(e)&&e.children.forEach(s=>{this.createModel(s,t)}),c.isItemSchema(e)&&(t[e.field]=e.defaultValue)}}function J(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!i.isVNode(n)}class Q{constructor(e){a(this,"schemas",i.ref([]));a(this,"model",i.ref({}));a(this,"processorBySchemaType",{item:this.runtimeItemProcessor.bind(this),group:this.runtimeGroupProcessor.bind(this),list:this.runtimeListProcessor.bind(this)});a(this,"formRef",i.ref(null));a(this,"hydrateEffect",new N);a(this,"native",i.reactive({}));a(this,"gridProps",{});a(this,"runtimeSetters",{});a(this,"globalNativeFormOverride",{props:{},slots:{}});this.setup=e,this.processor=new H(this);const t=this.setup(this);if(i.isRef(t.schemas)){const s=i.watch(()=>t.schemas,()=>{this.processor.parseSchemas(t.schemas.value),i.nextTick(()=>{s()})},{deep:!0})}else if(i.isReactive(t.schemas)){const s=i.watch(()=>t.schemas,()=>{this.processor.parseSchemas(t.schemas),i.nextTick(()=>{s()})},{deep:!0})}else this.processor.parseSchemas(t.schemas)}getRuntimeMeta(){return{model:i.toRaw(b(this.model.value))}}runtimeItemProcessor(e,t,s=this.model.value,r){var A,R,x,M,F,U,D,k,_,L,z,T,q,$,B;p(this.globalNativeFormOverride.props,(R=(A=e.native)==null?void 0:A.props)==null?void 0:R.Form),p(this.globalNativeFormOverride.slots,(M=(x=e.native)==null?void 0:x.slots)==null?void 0:M.Form);const o=p(b((U=(F=this.native)==null?void 0:F.props)==null?void 0:U.FormItem)??{},(k=(D=e.native)==null?void 0:D.props)==null?void 0:k.FormItem),l=p(b((L=(_=this.native)==null?void 0:_.slots)==null?void 0:L.FormItem)??{},(T=(z=e.native)==null?void 0:z.slots)==null?void 0:T.FormItem),u={display:"grid",gridColumn:"1 / -1",...e.gridProps},f=r?`${r.field}.${t}.${e.field}`:e.field,d=i.toRaw(e.component);if(!d)return;const I=d.name,w=e.componentProps??{},j=E.placeholderPresetByComponentName;let P=e.placeholder;const y=e.required;let h=e.show;h===void 0&&(h=!0),h||delete s[e.field];let v=e.label;const S=(r==null?void 0:r.runtimeSetters)??this.runtimeSetters;if(!c.isUndefined(t)&&!c.isObjectEmpty(S)&&(v=O((q=S==null?void 0:S.listItemLabelSetter)==null?void 0:q.call(S,e.label,t+1),""),P=`${j[I]??"请输入"}${v}`),P||(P=`${j[I]??"请输入"}${v}`),y)if(!e.rules)e.rules=[],($=e.rules)==null||$.push({required:!0,message:`${v}是必填项`});else{const m=e.rules.findIndex(C=>!c.isUndefined(C.required));m!==-1&&(e.rules[m].required=!0,e.rules[m].message=`${v}是必填项`)}else if(e.rules){const m=(B=e.rules)==null?void 0:B.findIndex(C=>!!C.required);m!==-1&&(e.rules[m].required=!1)}return i.createVNode("div",{style:u},[i.createVNode(g.runtimeDoms.Item,null,{default(){return i.withDirectives(i.createVNode(g.runtimeDoms.FormItem,i.mergeProps(o,{label:`${v}:`,rules:e.rules,field:f}),{default(){return i.createVNode(d,i.mergeProps({modelValue:s[e.field],"onUpdate:modelValue":m=>s[e.field]=m,placeholder:P},w),null)},...l}),[[i.vShow,h]])}})])}runtimeGroupProcessor(e){let t;const s={display:"grid",gridColumn:"1 / -1",...e.gridProps};return i.createVNode("div",{style:s},[i.createVNode(g.runtimeDoms.Group,{schema:e},J(t=e.children.map(r=>this.runtimeItemProcessor(r)))?t:{default:()=>[t]})])}addListItem(e){var t,s;if(!((t=this.processor.stableModel[e.field])!=null&&t[0]))return Promise.reject({code:"0001",message:"异步默认值数据正在处理中,请您耐心等待... "});(s=this.processor.stableModel[e.field])!=null&&s[0]&&this.model.value[e.field].push(b(this.processor.stableModel[e.field][0])),this.formRef.value.clearValidate()}deleteListItem(e,t){this.model.value[e.field].splice(t,1),this.formRef.value.clearValidate()}runtimeListProcessor(e){const t={display:"grid",gridColumn:"1 / -1",...e.gridProps},s=this;return s.model.value[e.field]||(s.model.value[e.field]=[{}]),i.createVNode("div",{style:t},[i.createVNode(g.runtimeDoms.List,{schema:e},{default(){return s.model.value[e.field].map((r,o)=>i.createVNode(g.runtimeDoms.ListItem,null,{default(){return e.children.map(l=>s.runtimeItemProcessor(l,o,r,e))},delete({container:l}={}){var f;let u=l??i.createVNode("button",null,null);return i.withDirectives(i.createVNode(u,{onClick:()=>s.deleteListItem(e,o)},null),[[i.vShow,((f=s.model.value[e.field])==null?void 0:f.length)>1]])}}))},add({container:r}={}){let o=r??i.createVNode("button",null,[i.createTextVNode("添加")]);return i.createVNode(o,{onClick:()=>s.addListItem(e)},null)}})])}runtimeProcessor(e){return e.map(t=>(t.type||(t.type="item"),this.processorBySchemaType[t.type](t)))}exec(){var o,l,u,f;const e={display:"grid",gridColumn:"1 / -1",gridAutoColumns:"1fr",...this.gridProps},t=this,s=p(b((l=(o=this.native)==null?void 0:o.props)==null?void 0:l.Form)??{},this.globalNativeFormOverride.props),r=p(b((f=(u=this.native)==null?void 0:u.slots)==null?void 0:f.Form)??{},this.globalNativeFormOverride.slots);return i.createVNode(g.runtimeDoms.Form,i.mergeProps(s,{ref:this.formRef,model:this.model.value}),{default(){return i.createVNode("div",{style:e},[t.runtimeProcessor(t.schemas.value)])},...r})}}class g{}a(g,"runtimeDoms");const V=class V{static getPlaceholderPrefixPresetByComponentName(){const e={请选择:["Select","Tree","TreeSelect"],请输入:["Input"]},t={};for(let s in e)e[s].forEach(r=>{t[r]=s});return t}};a(V,"schemaPreset",{type:{defaultValue:"item"},component:{defaultValue:void 0},componentProps:{defaultValue:void 0},defaultValue:{defaultValue:void 0},label:{defaultValue:""},field:{defaultValue:"__yiwwhl_async_field_fallback"},rules:{defaultValue:[]},show:{defaultValue:!0},required:{defaultValue:!1},placeholder:{defaultValue:void 0},children:{defaultValue:[]},native:void 0,gridProps:void 0}),a(V,"componentPropsPreset",{options:{defaultValue:[]}}),a(V,"placeholderPresetByComponentName",V.getPlaceholderPrefixPresetByComponentName());let E=V;const X=i.defineComponent({props:{setup:{type:Function,required:!0}},setup(n){const e=new Q(n.setup);return()=>e.exec()}});function Y(n){const e=new W(n);return[e.setup.bind(e),{submit:e.submit.bind(e),hydrate:e.hydrate.bind(e)}]}function Z(n){return{install(){g.runtimeDoms=n}}}function ee(n,e){return e==="raw"&&Object.defineProperty(n,"name",{value:`__proform_raw_${n.name}`,writable:!0}),n}exports.ProForm=X;exports.useForm=Y;exports.useFormRenderer=Z;exports.useModifiers=ee;
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  var ee = Object.defineProperty;
2
2
  var te = (o, e, t) => e in o ? ee(o, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[e] = t;
3
3
  var l = (o, e, t) => (te(o, typeof e != "symbol" ? e + "" : e, t), t);
4
- import { toRaw as O, isRef as Y, watch as I, isReactive as Z, nextTick as J, ref as x, reactive as se, createVNode as c, withDirectives as Q, mergeProps as U, vShow as X, createTextVNode as re, isVNode as ie, defineComponent as oe } from "vue";
4
+ import { toRaw as O, isRef as N, watch as v, isReactive as R, nextTick as w, ref as M, reactive as se, createVNode as c, withDirectives as Y, mergeProps as U, vShow as Z, createTextVNode as re, isVNode as ie, defineComponent as oe } from "vue";
5
5
  class f {
6
6
  static typeChecker(e) {
7
7
  return {}.toString.call(e);
@@ -149,7 +149,7 @@ class ne {
149
149
  });
150
150
  this.runtimeCore.hydrateEffect.trackEffect(
151
151
  () => {
152
- Y(e) ? I(
152
+ N(e) ? v(
153
153
  () => e.value,
154
154
  () => {
155
155
  p(this.runtimeCore.model.value, e.value);
@@ -158,7 +158,7 @@ class ne {
158
158
  deep: !0,
159
159
  immediate: !0
160
160
  }
161
- ) : Z(e) ? I(
161
+ ) : R(e) ? v(
162
162
  () => e,
163
163
  () => {
164
164
  p(this.runtimeCore.model.value, e);
@@ -175,7 +175,7 @@ class ne {
175
175
  );
176
176
  }
177
177
  }
178
- class M {
178
+ class D {
179
179
  constructor() {
180
180
  l(this, "effects", /* @__PURE__ */ new Set());
181
181
  }
@@ -203,11 +203,11 @@ class le {
203
203
  l(this, "componentPropsPreset", V.componentPropsPreset);
204
204
  l(this, "stableUpdaterProcessProgress");
205
205
  l(this, "stableUpdaterTimes", 0);
206
- l(this, "schemaEffect", new M());
207
- l(this, "defaultValueEffect", new M());
206
+ l(this, "schemaEffect", new D());
207
+ l(this, "defaultValueEffect", new D());
208
208
  l(this, "defaultValueInprogressMap", /* @__PURE__ */ new Map());
209
209
  l(this, "baseDefaultValueFunctionsLength");
210
- this.runtimeCore = e, this.processedSchemas = e.schemas, this.processedModel = e.model, this.getRuntimeMeta = e.getRuntimeMeta.bind(e), I(
210
+ this.runtimeCore = e, this.processedSchemas = e.schemas, this.processedModel = e.model, this.getRuntimeMeta = e.getRuntimeMeta.bind(e), v(
211
211
  () => this.processedModel.value,
212
212
  () => {
213
213
  this.schemaEffect.triggerEffects();
@@ -274,11 +274,11 @@ class le {
274
274
  const u = a.index, d = a.key, C = a.keyIndex;
275
275
  if (f.isUndefined(a.stable))
276
276
  return;
277
- const w = r.parseStable(a.stable), E = s == null ? void 0 : s.index, P = s == null ? void 0 : s.key;
278
- let y = w;
277
+ const A = r.parseStable(a.stable), I = s == null ? void 0 : s.index, P = s == null ? void 0 : s.key;
278
+ let y = A;
279
279
  if (f.isProcessInprogress(y) || (i[C] = !0), s) {
280
- let m = r.processedSchemas.value[E][P][u][d];
281
- m && f.isObject(m) && d !== "component" && (y = p(m, y)), r.processedSchemas.value[E][P][u][d] = y, r.stableUpdater(i);
280
+ let m = r.processedSchemas.value[I][P][u][d];
281
+ m && f.isObject(m) && d !== "component" && (y = p(m, y)), r.processedSchemas.value[I][P][u][d] = y, r.stableUpdater(i);
282
282
  } else {
283
283
  let m = r.processedSchemas.value[u][d];
284
284
  m && f.isObject(m) && d !== "component" && (y = p(m, y)), r.processedSchemas.value[u][d] = y, r.stableUpdater(i);
@@ -317,13 +317,13 @@ class le {
317
317
  return n(u);
318
318
  this.defaultValueInprogressMap.set(t[r], u), !f.isProcessInprogress(u) && this.defaultValueInprogressMap.size === this.baseDefaultValueFunctionsLength && Array.from(this.defaultValueInprogressMap.values()).every(
319
319
  (d) => !d.includes("undefined")
320
- ) ? (n(u), this.defaultValueEffect.clearEffects(), J(() => {
320
+ ) ? (n(u), this.defaultValueEffect.clearEffects(), w(() => {
321
321
  a();
322
322
  })) : n(u);
323
323
  }) : this.fieldParser(t[r], (u) => {
324
324
  this.defaultValueInprogressMap.set(t[r], u), !f.isProcessInprogress(u) && this.defaultValueInprogressMap.size === this.baseDefaultValueFunctionsLength && Array.from(this.defaultValueInprogressMap.values()).every(
325
325
  (d) => !d.includes("undefined")
326
- ) ? (n(u), this.defaultValueEffect.clearEffects(), J(() => {
326
+ ) ? (n(u), this.defaultValueEffect.clearEffects(), w(() => {
327
327
  a();
328
328
  })) : n(u);
329
329
  });
@@ -347,13 +347,18 @@ class le {
347
347
  fieldParser(e, t, s = !0) {
348
348
  if (f.isFunction(e))
349
349
  if (e.name.startsWith("__proform_raw_"))
350
- t(e);
350
+ t((...r) => {
351
+ e({
352
+ rawArgs: r,
353
+ ...this.getRuntimeMeta()
354
+ });
355
+ });
351
356
  else {
352
357
  const r = e(this.getRuntimeMeta());
353
358
  this.promiseFieldParser(r, t, s);
354
359
  }
355
360
  else
356
- Y(e) ? I(
361
+ N(e) ? v(
357
362
  () => e.value,
358
363
  () => {
359
364
  f.isUndefined(e.value) || (s && f.isObject(e.value) ? this.objectParser({
@@ -365,7 +370,7 @@ class le {
365
370
  immediate: !0,
366
371
  deep: !0
367
372
  }
368
- ) : Z(e) ? I(
373
+ ) : R(e) ? v(
369
374
  () => e,
370
375
  () => {
371
376
  f.isUndefined(e) || (s && f.isObject(e) ? this.objectParser({
@@ -400,15 +405,15 @@ function fe(o) {
400
405
  }
401
406
  class ue {
402
407
  constructor(e) {
403
- l(this, "schemas", x([]));
404
- l(this, "model", x({}));
408
+ l(this, "schemas", M([]));
409
+ l(this, "model", M({}));
405
410
  l(this, "processorBySchemaType", {
406
411
  item: this.runtimeItemProcessor.bind(this),
407
412
  group: this.runtimeGroupProcessor.bind(this),
408
413
  list: this.runtimeListProcessor.bind(this)
409
414
  });
410
- l(this, "formRef", x(null));
411
- l(this, "hydrateEffect", new M());
415
+ l(this, "formRef", M(null));
416
+ l(this, "hydrateEffect", new D());
412
417
  l(this, "native", se({}));
413
418
  l(this, "gridProps", {});
414
419
  l(this, "runtimeSetters", {});
@@ -418,7 +423,24 @@ class ue {
418
423
  });
419
424
  this.setup = e, this.processor = new le(this);
420
425
  const t = this.setup(this);
421
- this.processor.parseSchemas(t.schemas);
426
+ if (N(t.schemas)) {
427
+ const s = v(() => t.schemas, () => {
428
+ this.processor.parseSchemas(t.schemas.value), w(() => {
429
+ s();
430
+ });
431
+ }, {
432
+ deep: !0
433
+ });
434
+ } else if (R(t.schemas)) {
435
+ const s = v(() => t.schemas, () => {
436
+ this.processor.parseSchemas(t.schemas), w(() => {
437
+ s();
438
+ });
439
+ }, {
440
+ deep: !0
441
+ });
442
+ } else
443
+ this.processor.parseSchemas(t.schemas);
422
444
  }
423
445
  getRuntimeMeta() {
424
446
  return {
@@ -426,44 +448,44 @@ class ue {
426
448
  };
427
449
  }
428
450
  runtimeItemProcessor(e, t, s = this.model.value, r) {
429
- var D, N, R, _, k, L, z, q, $, B, T, G, K, W, H;
430
- p(this.globalNativeFormOverride.props, (N = (D = e.native) == null ? void 0 : D.props) == null ? void 0 : N.Form), p(this.globalNativeFormOverride.slots, (_ = (R = e.native) == null ? void 0 : R.slots) == null ? void 0 : _.Form);
431
- const i = p(b((L = (k = this.native) == null ? void 0 : k.props) == null ? void 0 : L.FormItem) ?? {}, (q = (z = e.native) == null ? void 0 : z.props) == null ? void 0 : q.FormItem), n = p(b((B = ($ = this.native) == null ? void 0 : $.slots) == null ? void 0 : B.FormItem) ?? {}, (G = (T = e.native) == null ? void 0 : T.slots) == null ? void 0 : G.FormItem), a = {
451
+ var _, k, L, z, q, $, B, T, G, K, W, H, J, Q, X;
452
+ p(this.globalNativeFormOverride.props, (k = (_ = e.native) == null ? void 0 : _.props) == null ? void 0 : k.Form), p(this.globalNativeFormOverride.slots, (z = (L = e.native) == null ? void 0 : L.slots) == null ? void 0 : z.Form);
453
+ const i = p(b(($ = (q = this.native) == null ? void 0 : q.props) == null ? void 0 : $.FormItem) ?? {}, (T = (B = e.native) == null ? void 0 : B.props) == null ? void 0 : T.FormItem), n = p(b((K = (G = this.native) == null ? void 0 : G.slots) == null ? void 0 : K.FormItem) ?? {}, (H = (W = e.native) == null ? void 0 : W.slots) == null ? void 0 : H.FormItem), a = {
432
454
  display: "grid",
433
455
  gridColumn: "1 / -1",
434
456
  ...e.gridProps
435
457
  }, u = r ? `${r.field}.${t}.${e.field}` : e.field, d = O(e.component);
436
458
  if (!d)
437
459
  return;
438
- const C = d.name, w = e.componentProps ?? {}, E = V.placeholderPresetByComponentName;
460
+ const C = d.name, A = e.componentProps ?? {}, I = V.placeholderPresetByComponentName;
439
461
  let P = e.placeholder;
440
462
  const y = e.required;
441
463
  let m = e.show;
442
464
  m === void 0 && (m = !0), m || delete s[e.field];
443
- let v = e.label;
444
- const S = (r == null ? void 0 : r.runtimeSetters) ?? this.runtimeSetters;
445
- if (!f.isUndefined(t) && !f.isObjectEmpty(S) && (v = F((K = S == null ? void 0 : S.listItemLabelSetter) == null ? void 0 : K.call(S, e.label, t + 1), ""), P = `${// @ts-expect-error
446
- E[C] ?? "请输入"}${v}`), P || (P = `${// @ts-expect-error
447
- E[C] ?? "请输入"}${v}`), y)
465
+ let S = e.label;
466
+ const j = (r == null ? void 0 : r.runtimeSetters) ?? this.runtimeSetters;
467
+ if (!f.isUndefined(t) && !f.isObjectEmpty(j) && (S = F((J = j == null ? void 0 : j.listItemLabelSetter) == null ? void 0 : J.call(j, e.label, t + 1), ""), P = `${// @ts-expect-error
468
+ I[C] ?? "请输入"}${S}`), P || (P = `${// @ts-expect-error
469
+ I[C] ?? "请输入"}${S}`), y)
448
470
  if (!e.rules)
449
- e.rules = [], (W = e.rules) == null || W.push({
471
+ e.rules = [], (Q = e.rules) == null || Q.push({
450
472
  required: !0,
451
- message: `${v}是必填项`
473
+ message: `${S}是必填项`
452
474
  });
453
475
  else {
454
- const h = e.rules.findIndex((A) => !f.isUndefined(A.required));
455
- h !== -1 && (e.rules[h].required = !0, e.rules[h].message = `${v}是必填项`);
476
+ const h = e.rules.findIndex((x) => !f.isUndefined(x.required));
477
+ h !== -1 && (e.rules[h].required = !0, e.rules[h].message = `${S}是必填项`);
456
478
  }
457
479
  else if (e.rules) {
458
- const h = (H = e.rules) == null ? void 0 : H.findIndex((A) => !!A.required);
480
+ const h = (X = e.rules) == null ? void 0 : X.findIndex((x) => !!x.required);
459
481
  h !== -1 && (e.rules[h].required = !1);
460
482
  }
461
483
  return c("div", {
462
484
  style: a
463
485
  }, [c(g.runtimeDoms.Item, null, {
464
486
  default() {
465
- return Q(c(g.runtimeDoms.FormItem, U(i, {
466
- label: `${v}:`,
487
+ return Y(c(g.runtimeDoms.FormItem, U(i, {
488
+ label: `${S}:`,
467
489
  rules: e.rules,
468
490
  field: u
469
491
  }), {
@@ -472,10 +494,10 @@ class ue {
472
494
  modelValue: s[e.field],
473
495
  "onUpdate:modelValue": (h) => s[e.field] = h,
474
496
  placeholder: P
475
- }, w), null);
497
+ }, A), null);
476
498
  },
477
499
  ...n
478
- }), [[X, m]]);
500
+ }), [[Z, m]]);
479
501
  }
480
502
  })]);
481
503
  }
@@ -527,9 +549,9 @@ class ue {
527
549
  } = {}) {
528
550
  var u;
529
551
  let a = n ?? c("button", null, null);
530
- return Q(c(a, {
552
+ return Y(c(a, {
531
553
  onClick: () => s.deleteListItem(e, i)
532
- }, null), [[X, ((u = s.model.value[e.field]) == null ? void 0 : u.length) > 1]]);
554
+ }, null), [[Z, ((u = s.model.value[e.field]) == null ? void 0 : u.length) > 1]]);
533
555
  }
534
556
  }));
535
557
  },
@@ -570,7 +592,7 @@ class ue {
570
592
  class g {
571
593
  }
572
594
  l(g, "runtimeDoms");
573
- const j = class j {
595
+ const E = class E {
574
596
  static getPlaceholderPrefixPresetByComponentName() {
575
597
  const e = {
576
598
  请选择: ["Select", "Tree", "TreeSelect"],
@@ -583,7 +605,7 @@ const j = class j {
583
605
  return t;
584
606
  }
585
607
  };
586
- l(j, "schemaPreset", {
608
+ l(E, "schemaPreset", {
587
609
  type: {
588
610
  defaultValue: "item"
589
611
  },
@@ -619,13 +641,13 @@ l(j, "schemaPreset", {
619
641
  },
620
642
  native: void 0,
621
643
  gridProps: void 0
622
- }), l(j, "componentPropsPreset", {
644
+ }), l(E, "componentPropsPreset", {
623
645
  options: {
624
646
  defaultValue: []
625
647
  }
626
648
  }), // 基于基本功能提出基本预设
627
- l(j, "placeholderPresetByComponentName", j.getPlaceholderPrefixPresetByComponentName());
628
- let V = j;
649
+ l(E, "placeholderPresetByComponentName", E.getPlaceholderPrefixPresetByComponentName());
650
+ let V = E;
629
651
  const de = /* @__PURE__ */ oe({
630
652
  props: {
631
653
  setup: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@harbor-design/proform",
3
- "version": "1.1.6",
3
+ "version": "1.1.8",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",