dynamicformdjx 0.3.2 → 0.3.3

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/README.md CHANGED
@@ -262,7 +262,97 @@ const validatorData = () => {
262
262
  }
263
263
  </style>
264
264
  ```
265
+ #### 3.装饰表单
266
+ > (可省略render2函数)
267
+ ```vue
268
+ <script setup lang="ts">
269
+ import {h, ref} from "vue";
270
+ import {NButton} from "naive-ui";
271
+ import {useDyForm} from "dynamicformdjx";
272
+ import {
273
+ type naiDynamicFormRef,
274
+ NaiDynamicForm,
275
+ useDecorateForm,
276
+ renderDatePicker
277
+ } from "dynamicformdjx/naiveUi";
278
+
265
279
 
280
+ type FormRow = {
281
+ password: string
282
+ job: number
283
+ birthday: number
284
+ }
285
+ const naiDynamicFormRef = ref<naiDynamicFormRef | null>(null)
286
+ const formItems = useDecorateForm<FormRow>([
287
+ {
288
+ key: "password",
289
+ label: "密码",
290
+ value: null,
291
+ clearable: true,
292
+ placeholder: '请输入密码',
293
+ required: true,
294
+ type:'password',
295
+ renderType: 'renderInput',
296
+ renderProps:{
297
+ showPasswordOn:'click'
298
+ }
299
+ },
300
+ {
301
+ key: "job",
302
+ label: "职位",
303
+ value: null,
304
+ clearable: true,
305
+ options: ['前端', '后端'].map((label, value) => ({label, value})),
306
+ renderType: 'renderSelect',
307
+ },
308
+ {
309
+ key: "birthday",
310
+ label: "生日",
311
+ value: null,
312
+ render2: f => renderDatePicker(f.value, {type: 'datetime'}, f),
313
+ },
314
+ ])
315
+ const useForm = useDyForm<FormRow>(formItems)
316
+ const getData = () => {
317
+ const res = naiDynamicFormRef.value?.getResult?.()
318
+ console.log(res)
319
+ }
320
+ const resetData = () => {
321
+ naiDynamicFormRef.value?.reset()
322
+ }
323
+ const setData = () => {
324
+ useForm.setValues({
325
+ password: 'naive-ui',
326
+ job: 0,
327
+ birthday: Date.now(),
328
+ })
329
+ }
330
+ const validatorData = () => {
331
+ naiDynamicFormRef.value?.validator().then(data => {
332
+ console.log(data)
333
+ }).catch(err => {
334
+ console.log(err)
335
+ })
336
+ }
337
+ </script>
338
+
339
+ <template>
340
+ <NaiDynamicForm :items="formItems" ref="naiDynamicFormRef"/>
341
+ <div class="control">
342
+ <n-button @click="getData" type="success" size="small">get Data</n-button>
343
+ <n-button @click="setData" type="warning" size="small">set Data</n-button>
344
+ <n-button @click="validatorData" type="default" size="small">validate Data</n-button>
345
+ <n-button @click="resetData" type="error" size="small">reset Data</n-button>
346
+ </div>
347
+ </template>
348
+
349
+ <style scoped>
350
+ .control {
351
+ display: flex;
352
+ gap: 5px;
353
+ }
354
+ </style>
355
+ ```
266
356
  ### 动态录入
267
357
 
268
358
  #### 1.单组件
@@ -1,7 +1,7 @@
1
1
  import { Ref } from 'vue';
2
2
  import { DyFormItem } from '../types/form';
3
3
  type KeyOf<T> = Extract<keyof T, string>;
4
- export declare function useReactiveForm<T extends Record<string, any>, U = any>(items: DyFormItem<T, U>[], isDecorate?: boolean): DyFormItem<T, U>[];
4
+ export declare function useReactiveForm<T extends Record<string, any>, U = any>(items: DyFormItem<T, U>[], isReactive?: boolean): DyFormItem<T, U>[];
5
5
  export declare function useDyForm<Row extends Record<string, any>>(items: DyFormItem<Row>[] | Ref<DyFormItem<Row>[]>): {
6
6
  setDisabled: (disabled: boolean, keys?: KeyOf<Row>[]) => void;
7
7
  setHidden: (hidden: boolean, keys?: KeyOf<Row>[]) => void;
@@ -0,0 +1,8 @@
1
+ import { DyFormItem } from '../../types/form';
2
+ export type RenderType = "renderInput" | "renderSelect" | "renderPopSelect" | "renderTreeSelect" | "renderRadioGroup" | "renderRadioButtonGroup" | "renderCheckboxGroup" | "renderSwitch" | "renderDatePicker" | "renderTimePicker";
3
+ export type DecorateDyFormItem<Row extends Record<string, any>, RuleT = any> = Omit<DyFormItem<Row, RuleT>, "value"> & {
4
+ value: DyFormItem<Row, RuleT>["value"] | any | null;
5
+ renderType?: RenderType;
6
+ renderProps?: Record<string, any>;
7
+ };
8
+ export declare function useDecorateForm<Row extends Record<string, any>, RuleT = any>(items: DecorateDyFormItem<Row, RuleT>[], isReactive?: boolean): DyFormItem<Row, RuleT>[];
@@ -3,7 +3,7 @@ import { Value as DatePickerValue } from 'naive-ui/lib/date-picker/src/interface
3
3
  import { SelectGroupOption, Value as SelectValue } from 'naive-ui/lib/select/src/interface';
4
4
  import { TreeSelectOption, Value } from 'naive-ui/lib/tree-select/src/interface';
5
5
  import { AllowedComponentProps, Ref, VNode } from 'vue';
6
- import { DyFormItem } from '../../types/form.ts';
6
+ import { DyFormItem } from '../../types/form';
7
7
  export declare function renderInput(model: Ref<string>, optionProps?: InputProps | AllowedComponentProps, rf?: DyFormItem): VNode<import('vue').RendererNode, import('vue').RendererElement, {
8
8
  [key: string]: any;
9
9
  }>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),s=require("naive-ui"),b=require("../index-BWQjnQQF.cjs"),k=e.defineComponent({name:"NaiDynamicInput",props:{size:{type:String},isController:{type:Boolean},dyCls:{type:String},randomFun:{type:Function,default:t=>`${Date.now()}_${t??0}`},btnConfigs:{type:Object},configs:{type:Object},dyListConfigs:{type:Object},modelValue:{type:Object,required:!0}},emits:{"update:modelValue":t=>!0,onReset:()=>!0,onMerge:(t,o)=>!0},setup(t,{emit:o,expose:c}){const l={resetTxt:"重置",newTxt:"添加项",mergeTxt:"合并",...t.btnConfigs},i={hideReset:!1,maxHeight:"300px",autoScroll:!0,allowFilter:!0,...t.configs},y={arraySplitSymbol:",",...t.dyListConfigs},v=t.size,d=e.ref(b.tranArr(t.modelValue,t.randomFun,y.arraySplitSymbol)),N=e.ref(null);return e.watch(d,n=>{if(!t.isController)return;const m=b.resetObj(n,y.arraySplitSymbol);o("update:modelValue",m),o("onMerge",m,e.toRaw(d.value))},{deep:!0}),c({onSet:n=>{d.value=b.tranArr(n??t.modelValue,t.randomFun,y.arraySplitSymbol)},getResult:(n="res")=>n==="ori"?e.toRaw(d.value):b.resetObj(d.value,y.arraySplitSymbol)}),()=>e.createVNode("div",{class:t.dyCls??`dynamicForm ${v}`},[e.createVNode("div",{class:`dyFormList ${d.value.length?"":"noList"}`,ref:N,style:{maxHeight:i.maxHeight}},[d.value.map((n,m,a)=>e.createVNode("div",{class:"dItem",key:n.rId},[e.createVNode("div",{class:"input"},[e.createVNode(s.NInput,{size:v,value:n.key,class:"key",onInput:r=>{n.key=r}},null),e.createTextVNode(":"),e.createVNode(s.NInput,{size:v,value:n.value,class:"value",onInput:r=>{i.allowFilter&&n.isNumber?n.value=b.formatNumberInput(r,n.isArray,y.arraySplitSymbol):n.value=r}},{prefix:()=>e.createVNode(e.Fragment,null,[e.createVNode(s.NButton,{type:n.isArray?"success":"default",size:"tiny",onClick:()=>{n.isArray=!n.isArray}},{default:()=>[e.createTextVNode("Array")]}),e.createTextVNode(" "),e.createVNode(s.NButton,{type:n.isNumber?"success":"default",size:"tiny",onClick:()=>{n.isNumber=!n.isNumber}},{default:()=>[e.createTextVNode("Number")]})])})]),e.createVNode("div",{class:"btn"},[e.createVNode(s.NButton,{type:"success",size:v,disabled:m!==a.length-1,onClick:()=>{d.value.push({rId:t.randomFun(),key:"",value:""}),i.autoScroll&&e.nextTick(()=>{const r=N.value;r?.scrollTo({top:r.scrollHeight,behavior:"smooth"})})}},{default:()=>[e.createTextVNode("+")]}),e.createVNode(s.NButton,{size:v,type:"error",onClick:()=>{d.value=d.value.filter(r=>r.rId!==n.rId)}},{default:()=>[e.createTextVNode("-")]})])]))]),e.createVNode("div",{class:`control ${d.value.length?"":"noList"}`},[!d.value.length&&e.createVNode(s.NButton,{size:v,type:"success",onClick:()=>{d.value.push({rId:t.randomFun(),key:"",value:""})}},{default:()=>[l.newTxt]}),!t.isController&&e.createVNode(e.Fragment,null,[!i.hideReset&&e.createVNode(s.NButton,{size:v,type:"default",onClick:()=>{d.value=b.tranArr(t.modelValue,t.randomFun,y.arraySplitSymbol),o("onReset")}},{default:()=>[l.resetTxt]}),e.createVNode(s.NButton,{size:v,type:"info",onClick:()=>{d.value.sort((m,a)=>+m.rId-+a.rId);const n=b.resetObj(d.value,y.arraySplitSymbol);o("update:modelValue",n),o("onMerge",n,e.toRaw(d.value)),d.value=b.tranArr(n,t.randomFun,y.arraySplitSymbol)}},{default:()=>[l.mergeTxt]})])])])}});function F(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const I=e.defineComponent({name:"NaiveUiDynamicCascadeInput",props:{modelValue:{type:Object,required:!0},isController:{type:Boolean},dyCls:{type:String},randomFun:{type:Function,default:t=>`${Date.now()}_${t??0}`},depth:{type:Number,default:3},btnConfigs:{type:Object},configs:{type:Object},dyListConfigs:{type:Object},newChildTxt:{type:Function,default:t=>`添加 '${t.key}' 子项`}},emits:{"update:modelValue":t=>!0,onReset:()=>!0,onMerge:(t,o)=>!0},setup(t,{emit:o,expose:c}){const l={resetTxt:"重置",newTxt:"添加项",mergeTxt:"合并",...t.btnConfigs},i={hideReset:!1,maxHeight:"600px",allowFilter:!0,showBorder:!0,showPad:!0,retractLen:0,borderColors:[],...t.configs},y={arraySplitSymbol:",",...t.dyListConfigs},v=a=>["string","number"].includes(a),d=a=>Object.keys(a).map((r,f)=>{let u=a[r];const g=Array.isArray(u),C=g?u.every(h=>typeof h=="number"):typeof u=="number",V=u===null;return v(typeof u)&&(u=a[r]),V&&(u=""),{rId:t.randomFun(f),key:r,value:Object.prototype.toString.call(u)==="[object Object]"?d(a[r]):g?u.join(y.arraySplitSymbol):u,isArray:g||void 0,isNumber:C||void 0}}),N=a=>a.reduce((r,f)=>{const u=f.value;return f.key.trim().length&&(r[f.key]=Array.isArray(u)?N(u):b.parseValue(f.value,f.isArray,f.isNumber,y.arraySplitSymbol)),r},{}),n=e.ref(d(t.modelValue)),m=(a,r=1,f)=>e.createVNode("div",{class:[`depth-${r}`,i.showBorder?"":"no-border",i.showPad?"":"no-pad"],style:{"--depth":r,["--c"+[r]]:b.saferRepairColor(i.borderColors,r)}},[a.map((u,g,C)=>{const V=Array.isArray(u.value),h=v(typeof u.value);return e.createVNode("div",{class:"dItem",key:u.rId,style:{marginLeft:r>1?`${r*i.retractLen}px`:"0"}},[e.createVNode("div",{class:"input"},[!V&&e.createVNode(e.Fragment,null,[e.createVNode(s.NInput,{value:u.key,class:"key",onInput:p=>u.key=p},null),e.createTextVNode(":")]),e.createVNode(s.NInput,{class:`value ${V?"isKey":""}`,value:h?u.value:u.key,onInput:p=>{if(V){u.key=p;return}i.allowFilter&&u.isNumber?u.value=b.formatNumberInput(p,u.isArray,y.arraySplitSymbol):u.value=p}},{prefix:Array.isArray(u.value)?void 0:()=>e.createVNode(e.Fragment,null,[e.createVNode(s.NButton,{type:u.isArray?"success":"default",size:"tiny",onClick:()=>{u.isArray=!u.isArray}},{default:()=>[e.createTextVNode("Array")]}),e.createTextVNode(" "),e.createVNode(s.NButton,{type:u.isNumber?"success":"default",size:"tiny",onClick:()=>{u.isNumber=!u.isNumber}},{default:()=>[e.createTextVNode("Number")]})]),suffix:()=>{let p;return r<t.depth?!V&&e.createVNode(s.NButton,{type:"success",size:"tiny",onClick:()=>{h&&(u.value=[],u.isArray=void 0),u.value.push({rId:t.randomFun(),key:"",value:""})}},F(p=t.newChildTxt(u))?p:{default:()=>[p]}):null}})]),e.createVNode("div",{class:"btn"},[e.createVNode(s.NButton,{type:"success",disabled:g!==C.length-1,onClick:()=>{a.push({rId:t.randomFun(),key:"",value:""})}},{default:()=>[e.createTextVNode("+")]}),e.createVNode(s.NButton,{type:"error",onClick:()=>{if(a.splice(g,1),a.length<1){if(f===void 0)return N([]);const p=n.value.findIndex(S=>S.rId===f?.rId);r<1?n.value.splice(p,1,{...f,value:""}):f.value=""}}},{default:()=>[e.createTextVNode("-")]})]),Array.isArray(u.value)&&m(u.value,r+1,u)])})]);return e.watch(n,a=>{if(!t.isController)return;const r=N(a);o("update:modelValue",r),o("onMerge",r,e.toRaw(n.value))},{deep:!0}),c({onSet:a=>{n.value=d(a??t.modelValue)},getResult:(a="res")=>a==="ori"?e.toRaw(n.value):N(n.value)}),()=>e.createVNode("div",{class:t.dyCls??"dynamicCascadeForm"},[e.createVNode("div",{class:"dyFormList",style:{maxHeight:i.maxHeight}},[m(n.value)]),e.createVNode("div",{class:"control"},[!n.value.length&&e.createVNode(s.NButton,{type:"success",onClick:()=>{n.value.push({rId:t.randomFun(),key:"",value:""})}},{default:()=>[l.newTxt]}),!t.isController&&e.createVNode(e.Fragment,null,[!i.hideReset&&e.createVNode(s.NButton,{type:"default",onClick:()=>{n.value=d(t.modelValue),o("onReset")}},{default:()=>[l.resetTxt]}),e.createVNode(s.NButton,{type:"info",onClick:()=>{const a=N(n.value);o("update:modelValue",a),o("onMerge",a,e.toRaw(n.value)),n.value=d(a)}},{default:()=>[l.mergeTxt]})])])])}}),T=e.defineComponent({name:"NaiDynamicForm",props:{formConfig:{type:Object,default:()=>({labelPlacement:"left",size:"medium"})},gridConfig:{type:Object,default:()=>({responsive:"screen",cols:"xs:1 s:2 m:3 l:3 xl:4 2xl:4",xGap:10})},rules:{type:Object},preset:{type:String,default:"fullRow",validator:t=>["fullRow","grid"].includes(t)?!0:(console.error("preset value must be `fullRow` or `grid`, the default value is `fullRow`"),!1)},items:{type:Array,require:!0}},setup(t,{emit:o,expose:c}){const l=e.ref(null),i=e.computed(()=>(t.items??[]).filter(m=>!m.hidden)),y=e.computed(()=>i.value?i.value.reduce((m,a)=>(m[a.key]=a.value.value,m),{}):{}),v=e.computed(()=>({...i.value?.reduce((a,r)=>{let f=r.rule;return r.required&&!r.rule&&(f={required:!0,message:`${r.label}不能为空`,trigger:["blur"]}),a[r.key]=f,a},{}),...t.rules})),d=e.computed(()=>[...i.value].sort((a,r)=>{const f=a.sort??1/0,u=r.sort??1/0;return Number(f)-Number(u)}));function N(m=null){i.value&&i.value.forEach(a=>{a.reset?a.reset(a):a.value.value=m})}function n(){return new Promise((m,a)=>{l.value?.validate(r=>{r?a(r):m(y.value)})})}if(c({reset:N,validator:n,getResult:(m="res")=>m==="ori"?i.value:y.value}),!t.items)throw new Error("prop items must be not null");return()=>e.createVNode("div",{class:"naiDynamicForm"},[e.createVNode(s.NForm,e.mergeProps({ref:l},t.formConfig,{model:y.value,rules:v.value}),{default(){const m=d.value;return t.preset==="grid"?e.h(s.NGrid,{...t.gridConfig},{default:()=>m?.map(a=>e.h(s.NFormItemGridItem,{label:a.label,path:a.path||a.key},{default:x(a)}))}):m?.map(a=>e.h(s.NFormItem,{label:a.label,path:a.path||a.key},{default:x(a)}))}})])}});function x(t){return function(){return t.render2?t.render2(t):null}}function R(t,o={},c){return e.h(s.NInput,{...c,value:t.value,onUpdateValue:l=>{t.value=l,c?.onChange?.(l,c)},...o})}function A(t,o,c={},l){return e.h(s.NSelect,{...l,value:t.value,options:o,onUpdateValue:i=>{t.value=i,l?.onChange?.(i,l,o)},...c})}function w(t,o,c={},l,i){const{value:y,labelField:v,valueField:d,...N}=l,n=v??"label",m=d??"value",a=N.options??o;return e.createVNode(s.NPopselect,{...N,value:t.value,onUpdateValue:r=>{t.value=r,l?.onChange?.(r,l,a)},options:a.map(r=>({...r,label:r[n],value:r[m]})),...c},{default:()=>i??e.createVNode(s.NButton,null,{default:()=>t.value||"请选择"})})}function j(t,o,c={},l){const{valueField:i="value",...y}=l;return e.h(s.NTreeSelect,{...y,value:t.value,options:o,onUpdateValue:v=>{t.value=v,l?.onChange?.(v,l,o)},keyField:i,...c})}function B(t,o,c={},l){return e.h(s.NRadioGroup,{...l,value:t.value,onUpdateValue:i=>{t.value=i,l?.onChange?.(i,l,o)},...c},{default:()=>(l?.options??o).map(y=>{const v=l,d=y[v?.labelField??"label"],N=y[v?.valueField??"value"];return e.h(s.NRadio,{...y,label:d,value:N},{default:()=>y.label})})})}function O(t,o,c={},l){return e.createVNode(s.NRadioGroup,{...l,value:t.value,onUpdateValue:i=>{t.value=i,l?.onChange?.(i,l,o)},...c},{default:()=>(l?.options??o).map(y=>{const v=l,d=y[v?.labelField??"label"],N=y[v?.valueField??"value"];return e.createVNode(s.NRadioButton,{...y,label:d,value:N},{default:()=>y.label})})})}function P(t,o,c={},l){return e.h(s.NCheckboxGroup,{...l,value:t.value,onUpdateValue:i=>{t.value=i,l?.onChange?.(i,l,o)},...c},{default:()=>e.h(s.NSpace,{itemStyle:"display: flex"},{default:()=>(l?.options??o).map(y=>{const v=l,d=y[v?.labelField??"label"],N=y[v?.valueField??"value"];return e.h(s.NCheckbox,{value:N,label:d})})})})}function z(t,o={},c){return e.h(s.NSwitch,{...c,value:t.value,onUpdateValue:l=>{t.value=l,c?.onChange?.(l,c)},...o})}function D(t,o={},c){return e.h(s.NDatePicker,{...c,value:t.value,onUpdateValue:l=>{t.value=l,c?.onChange?.(l,c)},...o})}function G(t,o={},c){return e.h(s.NTimePicker,{...c,value:t.value,onUpdateValue:l=>{t.value=l,c?.onChange?.(l,c)},...o})}exports.NaiDynamicCascadeInput=I;exports.NaiDynamicForm=T;exports.NaiDynamicInput=k;exports.renderCheckboxGroup=P;exports.renderDatePicker=D;exports.renderInput=R;exports.renderPopSelect=w;exports.renderRadioButtonGroup=O;exports.renderRadioGroup=B;exports.renderSelect=A;exports.renderSwitch=z;exports.renderTimePicker=G;exports.renderTreeSelect=j;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),i=require("naive-ui"),b=require("../index-BWQjnQQF.cjs"),O=e.defineComponent({name:"NaiDynamicInput",props:{size:{type:String},isController:{type:Boolean},dyCls:{type:String},randomFun:{type:Function,default:t=>`${Date.now()}_${t??0}`},btnConfigs:{type:Object},configs:{type:Object},dyListConfigs:{type:Object},modelValue:{type:Object,required:!0}},emits:{"update:modelValue":t=>!0,onReset:()=>!0,onMerge:(t,d)=>!0},setup(t,{emit:d,expose:c}){const n={resetTxt:"重置",newTxt:"添加项",mergeTxt:"合并",...t.btnConfigs},r={hideReset:!1,maxHeight:"300px",autoScroll:!0,allowFilter:!0,...t.configs},s={arraySplitSymbol:",",...t.dyListConfigs},v=t.size,y=e.ref(b.tranArr(t.modelValue,t.randomFun,s.arraySplitSymbol)),p=e.ref(null);return e.watch(y,u=>{if(!t.isController)return;const m=b.resetObj(u,s.arraySplitSymbol);d("update:modelValue",m),d("onMerge",m,e.toRaw(y.value))},{deep:!0}),c({onSet:u=>{y.value=b.tranArr(u??t.modelValue,t.randomFun,s.arraySplitSymbol)},getResult:(u="res")=>u==="ori"?e.toRaw(y.value):b.resetObj(y.value,s.arraySplitSymbol)}),()=>e.createVNode("div",{class:t.dyCls??`dynamicForm ${v}`},[e.createVNode("div",{class:`dyFormList ${y.value.length?"":"noList"}`,ref:p,style:{maxHeight:r.maxHeight}},[y.value.map((u,m,a)=>e.createVNode("div",{class:"dItem",key:u.rId},[e.createVNode("div",{class:"input"},[e.createVNode(i.NInput,{size:v,value:u.key,class:"key",onInput:l=>{u.key=l}},null),e.createTextVNode(":"),e.createVNode(i.NInput,{size:v,value:u.value,class:"value",onInput:l=>{r.allowFilter&&u.isNumber?u.value=b.formatNumberInput(l,u.isArray,s.arraySplitSymbol):u.value=l}},{prefix:()=>e.createVNode(e.Fragment,null,[e.createVNode(i.NButton,{type:u.isArray?"success":"default",size:"tiny",onClick:()=>{u.isArray=!u.isArray}},{default:()=>[e.createTextVNode("Array")]}),e.createTextVNode(" "),e.createVNode(i.NButton,{type:u.isNumber?"success":"default",size:"tiny",onClick:()=>{u.isNumber=!u.isNumber}},{default:()=>[e.createTextVNode("Number")]})])})]),e.createVNode("div",{class:"btn"},[e.createVNode(i.NButton,{type:"success",size:v,disabled:m!==a.length-1,onClick:()=>{y.value.push({rId:t.randomFun(),key:"",value:""}),r.autoScroll&&e.nextTick(()=>{const l=p.value;l?.scrollTo({top:l.scrollHeight,behavior:"smooth"})})}},{default:()=>[e.createTextVNode("+")]}),e.createVNode(i.NButton,{size:v,type:"error",onClick:()=>{y.value=y.value.filter(l=>l.rId!==u.rId)}},{default:()=>[e.createTextVNode("-")]})])]))]),e.createVNode("div",{class:`control ${y.value.length?"":"noList"}`},[!y.value.length&&e.createVNode(i.NButton,{size:v,type:"success",onClick:()=>{y.value.push({rId:t.randomFun(),key:"",value:""})}},{default:()=>[n.newTxt]}),!t.isController&&e.createVNode(e.Fragment,null,[!r.hideReset&&e.createVNode(i.NButton,{size:v,type:"default",onClick:()=>{y.value=b.tranArr(t.modelValue,t.randomFun,s.arraySplitSymbol),d("onReset")}},{default:()=>[n.resetTxt]}),e.createVNode(i.NButton,{size:v,type:"info",onClick:()=>{y.value.sort((m,a)=>+m.rId-+a.rId);const u=b.resetObj(y.value,s.arraySplitSymbol);d("update:modelValue",u),d("onMerge",u,e.toRaw(y.value)),y.value=b.tranArr(u,t.randomFun,s.arraySplitSymbol)}},{default:()=>[n.mergeTxt]})])])])}});function D(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const z=e.defineComponent({name:"NaiveUiDynamicCascadeInput",props:{modelValue:{type:Object,required:!0},isController:{type:Boolean},dyCls:{type:String},randomFun:{type:Function,default:t=>`${Date.now()}_${t??0}`},depth:{type:Number,default:3},btnConfigs:{type:Object},configs:{type:Object},dyListConfigs:{type:Object},newChildTxt:{type:Function,default:t=>`添加 '${t.key}' 子项`}},emits:{"update:modelValue":t=>!0,onReset:()=>!0,onMerge:(t,d)=>!0},setup(t,{emit:d,expose:c}){const n={resetTxt:"重置",newTxt:"添加项",mergeTxt:"合并",...t.btnConfigs},r={hideReset:!1,maxHeight:"600px",allowFilter:!0,showBorder:!0,showPad:!0,retractLen:0,borderColors:[],...t.configs},s={arraySplitSymbol:",",...t.dyListConfigs},v=a=>["string","number"].includes(a),y=a=>Object.keys(a).map((l,f)=>{let o=a[l];const g=Array.isArray(o),C=g?o.every(V=>typeof V=="number"):typeof o=="number",h=o===null;return v(typeof o)&&(o=a[l]),h&&(o=""),{rId:t.randomFun(f),key:l,value:Object.prototype.toString.call(o)==="[object Object]"?y(a[l]):g?o.join(s.arraySplitSymbol):o,isArray:g||void 0,isNumber:C||void 0}}),p=a=>a.reduce((l,f)=>{const o=f.value;return f.key.trim().length&&(l[f.key]=Array.isArray(o)?p(o):b.parseValue(f.value,f.isArray,f.isNumber,s.arraySplitSymbol)),l},{}),u=e.ref(y(t.modelValue)),m=(a,l=1,f)=>e.createVNode("div",{class:[`depth-${l}`,r.showBorder?"":"no-border",r.showPad?"":"no-pad"],style:{"--depth":l,["--c"+[l]]:b.saferRepairColor(r.borderColors,l)}},[a.map((o,g,C)=>{const h=Array.isArray(o.value),V=v(typeof o.value);return e.createVNode("div",{class:"dItem",key:o.rId,style:{marginLeft:l>1?`${l*r.retractLen}px`:"0"}},[e.createVNode("div",{class:"input"},[!h&&e.createVNode(e.Fragment,null,[e.createVNode(i.NInput,{value:o.key,class:"key",onInput:N=>o.key=N},null),e.createTextVNode(":")]),e.createVNode(i.NInput,{class:`value ${h?"isKey":""}`,value:V?o.value:o.key,onInput:N=>{if(h){o.key=N;return}r.allowFilter&&o.isNumber?o.value=b.formatNumberInput(N,o.isArray,s.arraySplitSymbol):o.value=N}},{prefix:Array.isArray(o.value)?void 0:()=>e.createVNode(e.Fragment,null,[e.createVNode(i.NButton,{type:o.isArray?"success":"default",size:"tiny",onClick:()=>{o.isArray=!o.isArray}},{default:()=>[e.createTextVNode("Array")]}),e.createTextVNode(" "),e.createVNode(i.NButton,{type:o.isNumber?"success":"default",size:"tiny",onClick:()=>{o.isNumber=!o.isNumber}},{default:()=>[e.createTextVNode("Number")]})]),suffix:()=>{let N;return l<t.depth?!h&&e.createVNode(i.NButton,{type:"success",size:"tiny",onClick:()=>{V&&(o.value=[],o.isArray=void 0),o.value.push({rId:t.randomFun(),key:"",value:""})}},D(N=t.newChildTxt(o))?N:{default:()=>[N]}):null}})]),e.createVNode("div",{class:"btn"},[e.createVNode(i.NButton,{type:"success",disabled:g!==C.length-1,onClick:()=>{a.push({rId:t.randomFun(),key:"",value:""})}},{default:()=>[e.createTextVNode("+")]}),e.createVNode(i.NButton,{type:"error",onClick:()=>{if(a.splice(g,1),a.length<1){if(f===void 0)return p([]);const N=u.value.findIndex(j=>j.rId===f?.rId);l<1?u.value.splice(N,1,{...f,value:""}):f.value=""}}},{default:()=>[e.createTextVNode("-")]})]),Array.isArray(o.value)&&m(o.value,l+1,o)])})]);return e.watch(u,a=>{if(!t.isController)return;const l=p(a);d("update:modelValue",l),d("onMerge",l,e.toRaw(u.value))},{deep:!0}),c({onSet:a=>{u.value=y(a??t.modelValue)},getResult:(a="res")=>a==="ori"?e.toRaw(u.value):p(u.value)}),()=>e.createVNode("div",{class:t.dyCls??"dynamicCascadeForm"},[e.createVNode("div",{class:"dyFormList",style:{maxHeight:r.maxHeight}},[m(u.value)]),e.createVNode("div",{class:"control"},[!u.value.length&&e.createVNode(i.NButton,{type:"success",onClick:()=>{u.value.push({rId:t.randomFun(),key:"",value:""})}},{default:()=>[n.newTxt]}),!t.isController&&e.createVNode(e.Fragment,null,[!r.hideReset&&e.createVNode(i.NButton,{type:"default",onClick:()=>{u.value=y(t.modelValue),d("onReset")}},{default:()=>[n.resetTxt]}),e.createVNode(i.NButton,{type:"info",onClick:()=>{const a=p(u.value);d("update:modelValue",a),d("onMerge",a,e.toRaw(u.value)),u.value=y(a)}},{default:()=>[n.mergeTxt]})])])])}}),G=e.defineComponent({name:"NaiDynamicForm",props:{formConfig:{type:Object,default:()=>({labelPlacement:"left",size:"medium"})},gridConfig:{type:Object,default:()=>({responsive:"screen",cols:"xs:1 s:2 m:3 l:3 xl:4 2xl:4",xGap:10})},rules:{type:Object},preset:{type:String,default:"fullRow",validator:t=>["fullRow","grid"].includes(t)?!0:(console.error("preset value must be `fullRow` or `grid`, the default value is `fullRow`"),!1)},items:{type:Array,require:!0}},setup(t,{emit:d,expose:c}){const n=e.ref(null),r=e.computed(()=>(t.items??[]).filter(m=>!m.hidden)),s=e.computed(()=>r.value?r.value.reduce((m,a)=>(m[a.key]=a.value.value,m),{}):{}),v=e.computed(()=>({...r.value?.reduce((a,l)=>{let f=l.rule;return l.required&&!l.rule&&(f={required:!0,message:`${l.label}不能为空`,trigger:["blur"]}),a[l.key]=f,a},{}),...t.rules})),y=e.computed(()=>[...r.value].sort((a,l)=>{const f=a.sort??1/0,o=l.sort??1/0;return Number(f)-Number(o)}));function p(m=null){r.value&&r.value.forEach(a=>{a.reset?a.reset(a):a.value.value=m})}function u(){return new Promise((m,a)=>{n.value?.validate(l=>{l?a(l):m(s.value)})})}if(c({reset:p,validator:u,getResult:(m="res")=>m==="ori"?r.value:s.value}),!t.items)throw new Error("prop items must be not null");return()=>e.createVNode("div",{class:"naiDynamicForm"},[e.createVNode(i.NForm,e.mergeProps({ref:n},t.formConfig,{model:s.value,rules:v.value}),{default(){const m=y.value;return t.preset==="grid"?e.h(i.NGrid,{...t.gridConfig},{default:()=>m?.map(a=>e.h(i.NFormItemGridItem,{label:a.label,path:a.path||a.key},{default:S(a)}))}):m?.map(a=>e.h(i.NFormItem,{label:a.label,path:a.path||a.key},{default:S(a)}))}})])}});function S(t){return function(){return t.render2?t.render2(t):null}}function k(t,d={},c){return e.h(i.NInput,{...c,value:t.value,onUpdateValue:n=>{t.value=n,c?.onChange?.(n,c)},...d})}function x(t,d,c={},n){return e.h(i.NSelect,{...n,value:t.value,options:d,onUpdateValue:r=>{t.value=r,n?.onChange?.(r,n,d)},...c})}function F(t,d,c={},n,r){const{value:s,labelField:v,valueField:y,...p}=n,u=v??"label",m=y??"value",a=p.options??d;return e.createVNode(i.NPopselect,{...p,value:t.value,onUpdateValue:l=>{t.value=l,n?.onChange?.(l,n,a)},options:a.map(l=>({...l,label:l[u],value:l[m]})),...c},{default:()=>r??e.createVNode(i.NButton,null,{default:()=>t.value||"请选择"})})}function I(t,d,c={},n){const{valueField:r="value",...s}=n;return e.h(i.NTreeSelect,{...s,value:t.value,options:d,onUpdateValue:v=>{t.value=v,n?.onChange?.(v,n,d)},keyField:r,...c})}function T(t,d,c={},n){return e.h(i.NRadioGroup,{...n,value:t.value,onUpdateValue:r=>{t.value=r,n?.onChange?.(r,n,d)},...c},{default:()=>(n?.options??d).map(s=>{const v=n,y=s[v?.labelField??"label"],p=s[v?.valueField??"value"];return e.h(i.NRadio,{...s,label:y,value:p},{default:()=>s.label})})})}function R(t,d,c={},n){return e.createVNode(i.NRadioGroup,{...n,value:t.value,onUpdateValue:r=>{t.value=r,n?.onChange?.(r,n,d)},...c},{default:()=>(n?.options??d).map(s=>{const v=n,y=s[v?.labelField??"label"],p=s[v?.valueField??"value"];return e.createVNode(i.NRadioButton,{...s,label:y,value:p},{default:()=>s.label})})})}function A(t,d,c={},n){return e.h(i.NCheckboxGroup,{...n,value:t.value,onUpdateValue:r=>{t.value=r,n?.onChange?.(r,n,d)},...c},{default:()=>e.h(i.NSpace,{itemStyle:"display: flex"},{default:()=>(n?.options??d).map(s=>{const v=n,y=s[v?.labelField??"label"],p=s[v?.valueField??"value"];return e.h(i.NCheckbox,{value:p,label:y})})})})}function P(t,d={},c){return e.h(i.NSwitch,{...c,value:t.value,onUpdateValue:n=>{t.value=n,c?.onChange?.(n,c)},...d})}function w(t,d={},c){return e.h(i.NDatePicker,{...c,value:t.value,onUpdateValue:n=>{t.value=n,c?.onChange?.(n,c)},...d})}function B(t,d={},c){return e.h(i.NTimePicker,{...c,value:t.value,onUpdateValue:n=>{t.value=n,c?.onChange?.(n,c)},...d})}function $(t){return e.isRef(t)?t:e.ref(t??null)}function L(t,d=!0){const c={renderInput:r=>k(r.value,r.renderProps??{},r),renderSelect:r=>x(r.value,r.options??[],r.renderProps??{},r),renderPopSelect:r=>F(r.value,r.options??[],r.renderProps??{},r),renderTreeSelect:r=>I(r.value,r.options??[],r.renderProps??{},r),renderRadioGroup:r=>T(r.value,r.options??[],r.renderProps??{},r),renderRadioButtonGroup:r=>R(r.value,r.options??[],r.renderProps??{},r),renderCheckboxGroup:r=>A(r.value,r.options??[],r.renderProps??{},r),renderSwitch:r=>P(r.value,r.renderProps??{},r),renderDatePicker:r=>w(r.value,r.renderProps??{},r),renderTimePicker:r=>B(r.value,r.renderProps??{},r)};return t.map(r=>{const s=r;if(s.value=$(r.value),typeof r.render2=="function")s.render2=r.render2;else if(r.renderType){const v=c[r.renderType];v?s.render2=()=>v(s):console.warn(`[useDecorateForm] unknown renderType: ${r.renderType}`)}else s.render2=()=>c.renderInput(s);return d?e.shallowReactive(s):s})}exports.NaiDynamicCascadeInput=z;exports.NaiDynamicForm=G;exports.NaiDynamicInput=O;exports.renderCheckboxGroup=A;exports.renderDatePicker=w;exports.renderInput=k;exports.renderPopSelect=F;exports.renderRadioButtonGroup=R;exports.renderRadioGroup=T;exports.renderSelect=x;exports.renderSwitch=P;exports.renderTimePicker=B;exports.renderTreeSelect=I;exports.useDecorateForm=L;
@@ -3,6 +3,7 @@ import { default as NaiDynamicCascadeInput } from './NaiDynamicCascadeInput';
3
3
  import { default as NaiDynamicForm } from './NaiDynamicForm';
4
4
  import { ExposeDyFType, ExposeType } from '../types';
5
5
  export * from './hooks/renderForm';
6
+ export * from './hooks/decorateForm';
6
7
  export type naiDynamicInputRef = InstanceType<typeof NaiDynamicInput> & ExposeType;
7
8
  export type naiDynamicCascadeInputRef = InstanceType<typeof NaiDynamicCascadeInput> & ExposeType;
8
9
  export type naiDynamicFormRef = InstanceType<typeof NaiDynamicForm> & ExposeDyFType;
@@ -1,7 +1,7 @@
1
- import { defineComponent as V, ref as R, watch as O, toRaw as S, createVNode as r, createTextVNode as C, Fragment as F, nextTick as $, isVNode as D, computed as I, mergeProps as M, h as p } from "vue";
2
- import { NInput as N, NButton as b, NForm as U, NGrid as G, NFormItemGridItem as B, NFormItem as H, NSelect as q, NPopselect as _, NTreeSelect as E, NRadioGroup as z, NRadio as K, NRadioButton as J, NCheckboxGroup as Q, NSpace as W, NCheckbox as X, NSwitch as Y, NDatePicker as Z, NTimePicker as ee } from "naive-ui";
3
- import { t as A, r as j, f as P, p as le, s as te } from "../index-BqKRE4oH.js";
4
- const oe = /* @__PURE__ */ V({
1
+ import { defineComponent as j, ref as N, watch as z, toRaw as S, createVNode as o, createTextVNode as C, Fragment as F, nextTick as $, isVNode as L, computed as R, mergeProps as G, h as b, shallowReactive as M, isRef as U } from "vue";
2
+ import { NInput as x, NButton as p, NForm as B, NGrid as H, NFormItemGridItem as q, NFormItem as _, NSelect as E, NPopselect as K, NTreeSelect as J, NRadioGroup as w, NRadio as Q, NRadioButton as W, NCheckboxGroup as X, NSpace as Y, NCheckbox as Z, NSwitch as ee, NDatePicker as le, NTimePicker as te } from "naive-ui";
3
+ import { t as A, r as P, f as O, p as ne, s as re } from "../index-BqKRE4oH.js";
4
+ const he = /* @__PURE__ */ j({
5
5
  name: "NaiDynamicInput",
6
6
  props: {
7
7
  size: {
@@ -34,151 +34,151 @@ const oe = /* @__PURE__ */ V({
34
34
  emits: {
35
35
  "update:modelValue": (e) => !0,
36
36
  onReset: () => !0,
37
- onMerge: (e, o) => !0
37
+ onMerge: (e, s) => !0
38
38
  },
39
39
  setup(e, {
40
- emit: o,
40
+ emit: s,
41
41
  expose: d
42
42
  }) {
43
- const t = {
43
+ const n = {
44
44
  resetTxt: "重置",
45
45
  newTxt: "添加项",
46
46
  mergeTxt: "合并",
47
47
  ...e.btnConfigs
48
- }, s = {
48
+ }, l = {
49
49
  hideReset: !1,
50
50
  maxHeight: "300px",
51
51
  autoScroll: !0,
52
52
  allowFilter: !0,
53
53
  ...e.configs
54
- }, c = {
54
+ }, i = {
55
55
  arraySplitSymbol: ",",
56
56
  ...e.dyListConfigs
57
- }, y = e.size, i = R(A(e.modelValue, e.randomFun, c.arraySplitSymbol)), m = R(null);
58
- return O(i, (u) => {
57
+ }, y = e.size, c = N(A(e.modelValue, e.randomFun, i.arraySplitSymbol)), m = N(null);
58
+ return z(c, (a) => {
59
59
  if (!e.isController) return;
60
- const v = j(u, c.arraySplitSymbol);
61
- o("update:modelValue", v), o("onMerge", v, S(i.value));
60
+ const v = P(a, i.arraySplitSymbol);
61
+ s("update:modelValue", v), s("onMerge", v, S(c.value));
62
62
  }, {
63
63
  deep: !0
64
64
  }), d({
65
- onSet: (u) => {
66
- i.value = A(u ?? e.modelValue, e.randomFun, c.arraySplitSymbol);
65
+ onSet: (a) => {
66
+ c.value = A(a ?? e.modelValue, e.randomFun, i.arraySplitSymbol);
67
67
  },
68
- getResult: (u = "res") => u === "ori" ? S(i.value) : j(i.value, c.arraySplitSymbol)
69
- }), () => r("div", {
68
+ getResult: (a = "res") => a === "ori" ? S(c.value) : P(c.value, i.arraySplitSymbol)
69
+ }), () => o("div", {
70
70
  class: e.dyCls ?? `dynamicForm ${y}`
71
- }, [r("div", {
72
- class: `dyFormList ${i.value.length ? "" : "noList"}`,
71
+ }, [o("div", {
72
+ class: `dyFormList ${c.value.length ? "" : "noList"}`,
73
73
  ref: m,
74
74
  style: {
75
- maxHeight: s.maxHeight
75
+ maxHeight: l.maxHeight
76
76
  }
77
- }, [i.value.map((u, v, l) => r("div", {
77
+ }, [c.value.map((a, v, t) => o("div", {
78
78
  class: "dItem",
79
- key: u.rId
80
- }, [r("div", {
79
+ key: a.rId
80
+ }, [o("div", {
81
81
  class: "input"
82
- }, [r(N, {
82
+ }, [o(x, {
83
83
  size: y,
84
- value: u.key,
84
+ value: a.key,
85
85
  class: "key",
86
- onInput: (a) => {
87
- u.key = a;
86
+ onInput: (r) => {
87
+ a.key = r;
88
88
  }
89
- }, null), C(":"), r(N, {
89
+ }, null), C(":"), o(x, {
90
90
  size: y,
91
- value: u.value,
91
+ value: a.value,
92
92
  class: "value",
93
- onInput: (a) => {
94
- s.allowFilter && u.isNumber ? u.value = P(a, u.isArray, c.arraySplitSymbol) : u.value = a;
93
+ onInput: (r) => {
94
+ l.allowFilter && a.isNumber ? a.value = O(r, a.isArray, i.arraySplitSymbol) : a.value = r;
95
95
  }
96
96
  }, {
97
- prefix: () => r(F, null, [r(b, {
98
- type: u.isArray ? "success" : "default",
97
+ prefix: () => o(F, null, [o(p, {
98
+ type: a.isArray ? "success" : "default",
99
99
  size: "tiny",
100
100
  onClick: () => {
101
- u.isArray = !u.isArray;
101
+ a.isArray = !a.isArray;
102
102
  }
103
103
  }, {
104
104
  default: () => [C("Array")]
105
- }), C(" "), r(b, {
106
- type: u.isNumber ? "success" : "default",
105
+ }), C(" "), o(p, {
106
+ type: a.isNumber ? "success" : "default",
107
107
  size: "tiny",
108
108
  onClick: () => {
109
- u.isNumber = !u.isNumber;
109
+ a.isNumber = !a.isNumber;
110
110
  }
111
111
  }, {
112
112
  default: () => [C("Number")]
113
113
  })])
114
- })]), r("div", {
114
+ })]), o("div", {
115
115
  class: "btn"
116
- }, [r(b, {
116
+ }, [o(p, {
117
117
  type: "success",
118
118
  size: y,
119
- disabled: v !== l.length - 1,
119
+ disabled: v !== t.length - 1,
120
120
  onClick: () => {
121
- i.value.push({
121
+ c.value.push({
122
122
  rId: e.randomFun(),
123
123
  key: "",
124
124
  value: ""
125
- }), s.autoScroll && $(() => {
126
- const a = m.value;
127
- a?.scrollTo({
128
- top: a.scrollHeight,
125
+ }), l.autoScroll && $(() => {
126
+ const r = m.value;
127
+ r?.scrollTo({
128
+ top: r.scrollHeight,
129
129
  behavior: "smooth"
130
130
  });
131
131
  });
132
132
  }
133
133
  }, {
134
134
  default: () => [C("+")]
135
- }), r(b, {
135
+ }), o(p, {
136
136
  size: y,
137
137
  type: "error",
138
138
  onClick: () => {
139
- i.value = i.value.filter((a) => a.rId !== u.rId);
139
+ c.value = c.value.filter((r) => r.rId !== a.rId);
140
140
  }
141
141
  }, {
142
142
  default: () => [C("-")]
143
- })])]))]), r("div", {
144
- class: `control ${i.value.length ? "" : "noList"}`
145
- }, [!i.value.length && r(b, {
143
+ })])]))]), o("div", {
144
+ class: `control ${c.value.length ? "" : "noList"}`
145
+ }, [!c.value.length && o(p, {
146
146
  size: y,
147
147
  type: "success",
148
148
  onClick: () => {
149
- i.value.push({
149
+ c.value.push({
150
150
  rId: e.randomFun(),
151
151
  key: "",
152
152
  value: ""
153
153
  });
154
154
  }
155
155
  }, {
156
- default: () => [t.newTxt]
157
- }), !e.isController && r(F, null, [!s.hideReset && r(b, {
156
+ default: () => [n.newTxt]
157
+ }), !e.isController && o(F, null, [!l.hideReset && o(p, {
158
158
  size: y,
159
159
  type: "default",
160
160
  onClick: () => {
161
- i.value = A(e.modelValue, e.randomFun, c.arraySplitSymbol), o("onReset");
161
+ c.value = A(e.modelValue, e.randomFun, i.arraySplitSymbol), s("onReset");
162
162
  }
163
163
  }, {
164
- default: () => [t.resetTxt]
165
- }), r(b, {
164
+ default: () => [n.resetTxt]
165
+ }), o(p, {
166
166
  size: y,
167
167
  type: "info",
168
168
  onClick: () => {
169
- i.value.sort((v, l) => +v.rId - +l.rId);
170
- const u = j(i.value, c.arraySplitSymbol);
171
- o("update:modelValue", u), o("onMerge", u, S(i.value)), i.value = A(u, e.randomFun, c.arraySplitSymbol);
169
+ c.value.sort((v, t) => +v.rId - +t.rId);
170
+ const a = P(c.value, i.arraySplitSymbol);
171
+ s("update:modelValue", a), s("onMerge", a, S(c.value)), c.value = A(a, e.randomFun, i.arraySplitSymbol);
172
172
  }
173
173
  }, {
174
- default: () => [t.mergeTxt]
174
+ default: () => [n.mergeTxt]
175
175
  })])])]);
176
176
  }
177
177
  });
178
178
  function ae(e) {
179
- return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !D(e);
179
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !L(e);
180
180
  }
181
- const se = /* @__PURE__ */ V({
181
+ const ke = /* @__PURE__ */ j({
182
182
  name: "NaiveUiDynamicCascadeInput",
183
183
  props: {
184
184
  modelValue: {
@@ -217,18 +217,18 @@ const se = /* @__PURE__ */ V({
217
217
  emits: {
218
218
  "update:modelValue": (e) => !0,
219
219
  onReset: () => !0,
220
- onMerge: (e, o) => !0
220
+ onMerge: (e, s) => !0
221
221
  },
222
222
  setup(e, {
223
- emit: o,
223
+ emit: s,
224
224
  expose: d
225
225
  }) {
226
- const t = {
226
+ const n = {
227
227
  resetTxt: "重置",
228
228
  newTxt: "添加项",
229
229
  mergeTxt: "合并",
230
230
  ...e.btnConfigs
231
- }, s = {
231
+ }, l = {
232
232
  hideReset: !1,
233
233
  maxHeight: "600px",
234
234
  allowFilter: !0,
@@ -237,93 +237,93 @@ const se = /* @__PURE__ */ V({
237
237
  retractLen: 0,
238
238
  borderColors: [],
239
239
  ...e.configs
240
- }, c = {
240
+ }, i = {
241
241
  arraySplitSymbol: ",",
242
242
  ...e.dyListConfigs
243
- }, y = (l) => ["string", "number"].includes(l), i = (l) => Object.keys(l).map((a, f) => {
244
- let n = l[a];
245
- const h = Array.isArray(n), T = h ? n.every((x) => typeof x == "number") : typeof n == "number", k = n === null;
246
- return y(typeof n) && (n = l[a]), k && (n = ""), {
243
+ }, y = (t) => ["string", "number"].includes(t), c = (t) => Object.keys(t).map((r, f) => {
244
+ let u = t[r];
245
+ const h = Array.isArray(u), T = h ? u.every((I) => typeof I == "number") : typeof u == "number", k = u === null;
246
+ return y(typeof u) && (u = t[r]), k && (u = ""), {
247
247
  rId: e.randomFun(f),
248
- key: a,
249
- value: Object.prototype.toString.call(n) === "[object Object]" ? i(l[a]) : h ? n.join(c.arraySplitSymbol) : n,
248
+ key: r,
249
+ value: Object.prototype.toString.call(u) === "[object Object]" ? c(t[r]) : h ? u.join(i.arraySplitSymbol) : u,
250
250
  isArray: h || void 0,
251
251
  isNumber: T || void 0
252
252
  };
253
- }), m = (l) => l.reduce((a, f) => {
254
- const n = f.value;
255
- return f.key.trim().length && (a[f.key] = Array.isArray(n) ? m(n) : le(f.value, f.isArray, f.isNumber, c.arraySplitSymbol)), a;
256
- }, {}), u = R(i(e.modelValue)), v = (l, a = 1, f) => r("div", {
257
- class: [`depth-${a}`, s.showBorder ? "" : "no-border", s.showPad ? "" : "no-pad"],
253
+ }), m = (t) => t.reduce((r, f) => {
254
+ const u = f.value;
255
+ return f.key.trim().length && (r[f.key] = Array.isArray(u) ? m(u) : ne(f.value, f.isArray, f.isNumber, i.arraySplitSymbol)), r;
256
+ }, {}), a = N(c(e.modelValue)), v = (t, r = 1, f) => o("div", {
257
+ class: [`depth-${r}`, l.showBorder ? "" : "no-border", l.showPad ? "" : "no-pad"],
258
258
  style: {
259
- "--depth": a,
260
- ["--c" + [a]]: te(s.borderColors, a)
259
+ "--depth": r,
260
+ ["--c" + [r]]: re(l.borderColors, r)
261
261
  }
262
- }, [l.map((n, h, T) => {
263
- const k = Array.isArray(n.value), x = y(typeof n.value);
264
- return r("div", {
262
+ }, [t.map((u, h, T) => {
263
+ const k = Array.isArray(u.value), I = y(typeof u.value);
264
+ return o("div", {
265
265
  class: "dItem",
266
- key: n.rId,
266
+ key: u.rId,
267
267
  style: {
268
- marginLeft: a > 1 ? `${a * s.retractLen}px` : "0"
268
+ marginLeft: r > 1 ? `${r * l.retractLen}px` : "0"
269
269
  }
270
- }, [r("div", {
270
+ }, [o("div", {
271
271
  class: "input"
272
- }, [!k && r(F, null, [r(N, {
273
- value: n.key,
272
+ }, [!k && o(F, null, [o(x, {
273
+ value: u.key,
274
274
  class: "key",
275
- onInput: (g) => n.key = g
276
- }, null), C(":")]), r(N, {
275
+ onInput: (g) => u.key = g
276
+ }, null), C(":")]), o(x, {
277
277
  class: `value ${k ? "isKey" : ""}`,
278
- value: x ? n.value : n.key,
278
+ value: I ? u.value : u.key,
279
279
  onInput: (g) => {
280
280
  if (k) {
281
- n.key = g;
281
+ u.key = g;
282
282
  return;
283
283
  }
284
- s.allowFilter && n.isNumber ? n.value = P(g, n.isArray, c.arraySplitSymbol) : n.value = g;
284
+ l.allowFilter && u.isNumber ? u.value = O(g, u.isArray, i.arraySplitSymbol) : u.value = g;
285
285
  }
286
286
  }, {
287
- prefix: Array.isArray(n.value) ? void 0 : () => r(F, null, [r(b, {
288
- type: n.isArray ? "success" : "default",
287
+ prefix: Array.isArray(u.value) ? void 0 : () => o(F, null, [o(p, {
288
+ type: u.isArray ? "success" : "default",
289
289
  size: "tiny",
290
290
  onClick: () => {
291
- n.isArray = !n.isArray;
291
+ u.isArray = !u.isArray;
292
292
  }
293
293
  }, {
294
294
  default: () => [C("Array")]
295
- }), C(" "), r(b, {
296
- type: n.isNumber ? "success" : "default",
295
+ }), C(" "), o(p, {
296
+ type: u.isNumber ? "success" : "default",
297
297
  size: "tiny",
298
298
  onClick: () => {
299
- n.isNumber = !n.isNumber;
299
+ u.isNumber = !u.isNumber;
300
300
  }
301
301
  }, {
302
302
  default: () => [C("Number")]
303
303
  })]),
304
304
  suffix: () => {
305
305
  let g;
306
- return a < e.depth ? !k && r(b, {
306
+ return r < e.depth ? !k && o(p, {
307
307
  type: "success",
308
308
  size: "tiny",
309
309
  onClick: () => {
310
- x && (n.value = [], n.isArray = void 0), n.value.push({
310
+ I && (u.value = [], u.isArray = void 0), u.value.push({
311
311
  rId: e.randomFun(),
312
312
  key: "",
313
313
  value: ""
314
314
  });
315
315
  }
316
- }, ae(g = e.newChildTxt(n)) ? g : {
316
+ }, ae(g = e.newChildTxt(u)) ? g : {
317
317
  default: () => [g]
318
318
  }) : null;
319
319
  }
320
- })]), r("div", {
320
+ })]), o("div", {
321
321
  class: "btn"
322
- }, [r(b, {
322
+ }, [o(p, {
323
323
  type: "success",
324
324
  disabled: h !== T.length - 1,
325
325
  onClick: () => {
326
- l.push({
326
+ t.push({
327
327
  rId: e.randomFun(),
328
328
  key: "",
329
329
  value: ""
@@ -331,13 +331,13 @@ const se = /* @__PURE__ */ V({
331
331
  }
332
332
  }, {
333
333
  default: () => [C("+")]
334
- }), r(b, {
334
+ }), o(p, {
335
335
  type: "error",
336
336
  onClick: () => {
337
- if (l.splice(h, 1), l.length < 1) {
337
+ if (t.splice(h, 1), t.length < 1) {
338
338
  if (f === void 0) return m([]);
339
- const g = u.value.findIndex((L) => L.rId === f?.rId);
340
- a < 1 ? u.value.splice(g, 1, {
339
+ const g = a.value.findIndex((D) => D.rId === f?.rId);
340
+ r < 1 ? a.value.splice(g, 1, {
341
341
  ...f,
342
342
  value: ""
343
343
  }) : f.value = "";
@@ -345,57 +345,57 @@ const se = /* @__PURE__ */ V({
345
345
  }
346
346
  }, {
347
347
  default: () => [C("-")]
348
- })]), Array.isArray(n.value) && v(n.value, a + 1, n)]);
348
+ })]), Array.isArray(u.value) && v(u.value, r + 1, u)]);
349
349
  })]);
350
- return O(u, (l) => {
350
+ return z(a, (t) => {
351
351
  if (!e.isController) return;
352
- const a = m(l);
353
- o("update:modelValue", a), o("onMerge", a, S(u.value));
352
+ const r = m(t);
353
+ s("update:modelValue", r), s("onMerge", r, S(a.value));
354
354
  }, {
355
355
  deep: !0
356
356
  }), d({
357
- onSet: (l) => {
358
- u.value = i(l ?? e.modelValue);
357
+ onSet: (t) => {
358
+ a.value = c(t ?? e.modelValue);
359
359
  },
360
- getResult: (l = "res") => l === "ori" ? S(u.value) : m(u.value)
361
- }), () => r("div", {
360
+ getResult: (t = "res") => t === "ori" ? S(a.value) : m(a.value)
361
+ }), () => o("div", {
362
362
  class: e.dyCls ?? "dynamicCascadeForm"
363
- }, [r("div", {
363
+ }, [o("div", {
364
364
  class: "dyFormList",
365
365
  style: {
366
- maxHeight: s.maxHeight
366
+ maxHeight: l.maxHeight
367
367
  }
368
- }, [v(u.value)]), r("div", {
368
+ }, [v(a.value)]), o("div", {
369
369
  class: "control"
370
- }, [!u.value.length && r(b, {
370
+ }, [!a.value.length && o(p, {
371
371
  type: "success",
372
372
  onClick: () => {
373
- u.value.push({
373
+ a.value.push({
374
374
  rId: e.randomFun(),
375
375
  key: "",
376
376
  value: ""
377
377
  });
378
378
  }
379
379
  }, {
380
- default: () => [t.newTxt]
381
- }), !e.isController && r(F, null, [!s.hideReset && r(b, {
380
+ default: () => [n.newTxt]
381
+ }), !e.isController && o(F, null, [!l.hideReset && o(p, {
382
382
  type: "default",
383
383
  onClick: () => {
384
- u.value = i(e.modelValue), o("onReset");
384
+ a.value = c(e.modelValue), s("onReset");
385
385
  }
386
386
  }, {
387
- default: () => [t.resetTxt]
388
- }), r(b, {
387
+ default: () => [n.resetTxt]
388
+ }), o(p, {
389
389
  type: "info",
390
390
  onClick: () => {
391
- const l = m(u.value);
392
- o("update:modelValue", l), o("onMerge", l, S(u.value)), u.value = i(l);
391
+ const t = m(a.value);
392
+ s("update:modelValue", t), s("onMerge", t, S(a.value)), a.value = c(t);
393
393
  }
394
394
  }, {
395
- default: () => [t.mergeTxt]
395
+ default: () => [n.mergeTxt]
396
396
  })])])]);
397
397
  }
398
- }), ie = /* @__PURE__ */ V({
398
+ }), Se = /* @__PURE__ */ j({
399
399
  name: "NaiDynamicForm",
400
400
  props: {
401
401
  formConfig: {
@@ -427,209 +427,209 @@ const se = /* @__PURE__ */ V({
427
427
  }
428
428
  },
429
429
  setup(e, {
430
- emit: o,
430
+ emit: s,
431
431
  expose: d
432
432
  }) {
433
- const t = R(null), s = I(() => (e.items ?? []).filter((v) => !v.hidden)), c = I(() => s.value ? s.value.reduce((v, l) => (v[l.key] = l.value.value, v), {}) : {}), y = I(() => ({
434
- ...s.value?.reduce((l, a) => {
435
- let f = a.rule;
436
- return a.required && !a.rule && (f = {
433
+ const n = N(null), l = R(() => (e.items ?? []).filter((v) => !v.hidden)), i = R(() => l.value ? l.value.reduce((v, t) => (v[t.key] = t.value.value, v), {}) : {}), y = R(() => ({
434
+ ...l.value?.reduce((t, r) => {
435
+ let f = r.rule;
436
+ return r.required && !r.rule && (f = {
437
437
  required: !0,
438
- message: `${a.label}不能为空`,
438
+ message: `${r.label}不能为空`,
439
439
  trigger: ["blur"]
440
- }), l[a.key] = f, l;
440
+ }), t[r.key] = f, t;
441
441
  }, {}),
442
442
  ...e.rules
443
- })), i = I(() => [...s.value].sort((l, a) => {
444
- const f = l.sort ?? 1 / 0, n = a.sort ?? 1 / 0;
445
- return Number(f) - Number(n);
443
+ })), c = R(() => [...l.value].sort((t, r) => {
444
+ const f = t.sort ?? 1 / 0, u = r.sort ?? 1 / 0;
445
+ return Number(f) - Number(u);
446
446
  }));
447
447
  function m(v = null) {
448
- s.value && s.value.forEach((l) => {
449
- l.reset ? l.reset(l) : l.value.value = v;
448
+ l.value && l.value.forEach((t) => {
449
+ t.reset ? t.reset(t) : t.value.value = v;
450
450
  });
451
451
  }
452
- function u() {
453
- return new Promise((v, l) => {
454
- t.value?.validate((a) => {
455
- a ? l(a) : v(c.value);
452
+ function a() {
453
+ return new Promise((v, t) => {
454
+ n.value?.validate((r) => {
455
+ r ? t(r) : v(i.value);
456
456
  });
457
457
  });
458
458
  }
459
459
  if (d({
460
460
  reset: m,
461
- validator: u,
462
- getResult: (v = "res") => v === "ori" ? s.value : c.value
461
+ validator: a,
462
+ getResult: (v = "res") => v === "ori" ? l.value : i.value
463
463
  }), !e.items) throw new Error("prop items must be not null");
464
- return () => r("div", {
464
+ return () => o("div", {
465
465
  class: "naiDynamicForm"
466
- }, [r(U, M({
467
- ref: t
466
+ }, [o(B, G({
467
+ ref: n
468
468
  }, e.formConfig, {
469
- model: c.value,
469
+ model: i.value,
470
470
  rules: y.value
471
471
  }), {
472
472
  default() {
473
- const v = i.value;
474
- return e.preset === "grid" ? p(G, {
473
+ const v = c.value;
474
+ return e.preset === "grid" ? b(H, {
475
475
  ...e.gridConfig
476
476
  }, {
477
- default: () => v?.map((l) => p(B, {
478
- label: l.label,
479
- path: l.path || l.key
477
+ default: () => v?.map((t) => b(q, {
478
+ label: t.label,
479
+ path: t.path || t.key
480
480
  }, {
481
- default: w(l)
481
+ default: V(t)
482
482
  }))
483
- }) : v?.map((l) => p(H, {
484
- label: l.label,
485
- path: l.path || l.key
483
+ }) : v?.map((t) => b(_, {
484
+ label: t.label,
485
+ path: t.path || t.key
486
486
  }, {
487
- default: w(l)
487
+ default: V(t)
488
488
  }));
489
489
  }
490
490
  })]);
491
491
  }
492
492
  });
493
- function w(e) {
493
+ function V(e) {
494
494
  return function() {
495
495
  return e.render2 ? e.render2(e) : null;
496
496
  };
497
497
  }
498
- function de(e, o = {}, d) {
499
- return p(N, {
498
+ function ue(e, s = {}, d) {
499
+ return b(x, {
500
500
  ...d,
501
501
  value: e.value,
502
- onUpdateValue: (t) => {
503
- e.value = t, d?.onChange?.(t, d);
502
+ onUpdateValue: (n) => {
503
+ e.value = n, d?.onChange?.(n, d);
504
504
  },
505
- ...o
505
+ ...s
506
506
  });
507
507
  }
508
- function ce(e, o, d = {}, t) {
509
- return p(q, {
510
- ...t,
508
+ function oe(e, s, d = {}, n) {
509
+ return b(E, {
510
+ ...n,
511
511
  value: e.value,
512
- options: o,
513
- onUpdateValue: (s) => {
514
- e.value = s, t?.onChange?.(s, t, o);
512
+ options: s,
513
+ onUpdateValue: (l) => {
514
+ e.value = l, n?.onChange?.(l, n, s);
515
515
  },
516
516
  ...d
517
517
  });
518
518
  }
519
- function ye(e, o, d = {}, t, s) {
520
- const { value: c, labelField: y, valueField: i, ...m } = t, u = y ?? "label", v = i ?? "value", l = m.options ?? o;
521
- return r(
522
- _,
519
+ function se(e, s, d = {}, n, l) {
520
+ const { value: i, labelField: y, valueField: c, ...m } = n, a = y ?? "label", v = c ?? "value", t = m.options ?? s;
521
+ return o(
522
+ K,
523
523
  {
524
524
  ...m,
525
525
  value: e.value,
526
- onUpdateValue: (a) => {
527
- e.value = a, t?.onChange?.(a, t, l);
526
+ onUpdateValue: (r) => {
527
+ e.value = r, n?.onChange?.(r, n, t);
528
528
  },
529
- options: l.map((a) => ({ ...a, label: a[u], value: a[v] })),
529
+ options: t.map((r) => ({ ...r, label: r[a], value: r[v] })),
530
530
  ...d
531
531
  },
532
532
  {
533
- default: () => s ?? r(b, null, {
533
+ default: () => l ?? o(p, null, {
534
534
  default: () => e.value || "请选择"
535
535
  })
536
536
  }
537
537
  );
538
538
  }
539
- function ve(e, o, d = {}, t) {
540
- const { valueField: s = "value", ...c } = t;
541
- return p(E, {
542
- ...c,
539
+ function ie(e, s, d = {}, n) {
540
+ const { valueField: l = "value", ...i } = n;
541
+ return b(J, {
542
+ ...i,
543
543
  value: e.value,
544
- options: o,
544
+ options: s,
545
545
  onUpdateValue: (y) => {
546
- e.value = y, t?.onChange?.(y, t, o);
546
+ e.value = y, n?.onChange?.(y, n, s);
547
547
  },
548
- keyField: s,
548
+ keyField: l,
549
549
  ...d
550
550
  });
551
551
  }
552
- function me(e, o, d = {}, t) {
553
- return p(
554
- z,
552
+ function de(e, s, d = {}, n) {
553
+ return b(
554
+ w,
555
555
  {
556
- ...t,
556
+ ...n,
557
557
  value: e.value,
558
- onUpdateValue: (s) => {
559
- e.value = s, t?.onChange?.(s, t, o);
558
+ onUpdateValue: (l) => {
559
+ e.value = l, n?.onChange?.(l, n, s);
560
560
  },
561
561
  ...d
562
562
  },
563
563
  {
564
- default: () => (t?.options ?? o).map((c) => {
565
- const y = t, i = c[y?.labelField ?? "label"], m = c[y?.valueField ?? "value"];
566
- return p(
567
- K,
564
+ default: () => (n?.options ?? s).map((i) => {
565
+ const y = n, c = i[y?.labelField ?? "label"], m = i[y?.valueField ?? "value"];
566
+ return b(
567
+ Q,
568
568
  {
569
- ...c,
570
- label: i,
569
+ ...i,
570
+ label: c,
571
571
  value: m
572
572
  },
573
573
  {
574
- default: () => c.label
574
+ default: () => i.label
575
575
  }
576
576
  );
577
577
  })
578
578
  }
579
579
  );
580
580
  }
581
- function fe(e, o, d = {}, t) {
582
- return r(
583
- z,
581
+ function ce(e, s, d = {}, n) {
582
+ return o(
583
+ w,
584
584
  {
585
- ...t,
585
+ ...n,
586
586
  value: e.value,
587
- onUpdateValue: (s) => {
588
- e.value = s, t?.onChange?.(s, t, o);
587
+ onUpdateValue: (l) => {
588
+ e.value = l, n?.onChange?.(l, n, s);
589
589
  },
590
590
  ...d
591
591
  },
592
592
  {
593
- default: () => (t?.options ?? o).map((c) => {
594
- const y = t, i = c[y?.labelField ?? "label"], m = c[y?.valueField ?? "value"];
595
- return r(
596
- J,
593
+ default: () => (n?.options ?? s).map((i) => {
594
+ const y = n, c = i[y?.labelField ?? "label"], m = i[y?.valueField ?? "value"];
595
+ return o(
596
+ W,
597
597
  {
598
- ...c,
599
- label: i,
598
+ ...i,
599
+ label: c,
600
600
  value: m
601
601
  },
602
602
  {
603
- default: () => c.label
603
+ default: () => i.label
604
604
  }
605
605
  );
606
606
  })
607
607
  }
608
608
  );
609
609
  }
610
- function be(e, o, d = {}, t) {
611
- return p(
612
- Q,
610
+ function ye(e, s, d = {}, n) {
611
+ return b(
612
+ X,
613
613
  {
614
- ...t,
614
+ ...n,
615
615
  value: e.value,
616
- onUpdateValue: (s) => {
617
- e.value = s, t?.onChange?.(s, t, o);
616
+ onUpdateValue: (l) => {
617
+ e.value = l, n?.onChange?.(l, n, s);
618
618
  },
619
619
  ...d
620
620
  },
621
621
  {
622
- default: () => p(
623
- W,
622
+ default: () => b(
623
+ Y,
624
624
  {
625
625
  itemStyle: "display: flex"
626
626
  },
627
627
  {
628
- default: () => (t?.options ?? o).map((c) => {
629
- const y = t, i = c[y?.labelField ?? "label"], m = c[y?.valueField ?? "value"];
630
- return p(X, {
628
+ default: () => (n?.options ?? s).map((i) => {
629
+ const y = n, c = i[y?.labelField ?? "label"], m = i[y?.valueField ?? "value"];
630
+ return b(Z, {
631
631
  value: m,
632
- label: i
632
+ label: c
633
633
  });
634
634
  })
635
635
  }
@@ -637,48 +637,77 @@ function be(e, o, d = {}, t) {
637
637
  }
638
638
  );
639
639
  }
640
- function pe(e, o = {}, d) {
641
- return p(Y, {
640
+ function ve(e, s = {}, d) {
641
+ return b(ee, {
642
642
  ...d,
643
643
  value: e.value,
644
- onUpdateValue: (t) => {
645
- e.value = t, d?.onChange?.(t, d);
644
+ onUpdateValue: (n) => {
645
+ e.value = n, d?.onChange?.(n, d);
646
646
  },
647
- ...o
647
+ ...s
648
648
  });
649
649
  }
650
- function ge(e, o = {}, d) {
651
- return p(Z, {
650
+ function me(e, s = {}, d) {
651
+ return b(le, {
652
652
  ...d,
653
653
  value: e.value,
654
- onUpdateValue: (t) => {
655
- e.value = t, d?.onChange?.(t, d);
654
+ onUpdateValue: (n) => {
655
+ e.value = n, d?.onChange?.(n, d);
656
656
  },
657
- ...o
657
+ ...s
658
658
  });
659
659
  }
660
- function Ce(e, o = {}, d) {
661
- return p(ee, {
660
+ function fe(e, s = {}, d) {
661
+ return b(te, {
662
662
  ...d,
663
663
  value: e.value,
664
- onUpdateValue: (t) => {
665
- e.value = t, d?.onChange?.(t, d);
664
+ onUpdateValue: (n) => {
665
+ e.value = n, d?.onChange?.(n, d);
666
666
  },
667
- ...o
667
+ ...s
668
+ });
669
+ }
670
+ function pe(e) {
671
+ return U(e) ? e : N(e ?? null);
672
+ }
673
+ function Fe(e, s = !0) {
674
+ const d = {
675
+ renderInput: (l) => ue(l.value, l.renderProps ?? {}, l),
676
+ renderSelect: (l) => oe(l.value, l.options ?? [], l.renderProps ?? {}, l),
677
+ renderPopSelect: (l) => se(l.value, l.options ?? [], l.renderProps ?? {}, l),
678
+ renderTreeSelect: (l) => ie(l.value, l.options ?? [], l.renderProps ?? {}, l),
679
+ renderRadioGroup: (l) => de(l.value, l.options ?? [], l.renderProps ?? {}, l),
680
+ renderRadioButtonGroup: (l) => ce(l.value, l.options ?? [], l.renderProps ?? {}, l),
681
+ renderCheckboxGroup: (l) => ye(l.value, l.options ?? [], l.renderProps ?? {}, l),
682
+ renderSwitch: (l) => ve(l.value, l.renderProps ?? {}, l),
683
+ renderDatePicker: (l) => me(l.value, l.renderProps ?? {}, l),
684
+ renderTimePicker: (l) => fe(l.value, l.renderProps ?? {}, l)
685
+ };
686
+ return e.map((l) => {
687
+ const i = l;
688
+ if (i.value = pe(l.value), typeof l.render2 == "function")
689
+ i.render2 = l.render2;
690
+ else if (l.renderType) {
691
+ const y = d[l.renderType];
692
+ y ? i.render2 = () => y(i) : console.warn(`[useDecorateForm] unknown renderType: ${l.renderType}`);
693
+ } else
694
+ i.render2 = () => d.renderInput(i);
695
+ return s ? M(i) : i;
668
696
  });
669
697
  }
670
698
  export {
671
- se as NaiDynamicCascadeInput,
672
- ie as NaiDynamicForm,
673
- oe as NaiDynamicInput,
674
- be as renderCheckboxGroup,
675
- ge as renderDatePicker,
676
- de as renderInput,
677
- ye as renderPopSelect,
678
- fe as renderRadioButtonGroup,
679
- me as renderRadioGroup,
680
- ce as renderSelect,
681
- pe as renderSwitch,
682
- Ce as renderTimePicker,
683
- ve as renderTreeSelect
699
+ ke as NaiDynamicCascadeInput,
700
+ Se as NaiDynamicForm,
701
+ he as NaiDynamicInput,
702
+ ye as renderCheckboxGroup,
703
+ me as renderDatePicker,
704
+ ue as renderInput,
705
+ se as renderPopSelect,
706
+ ce as renderRadioButtonGroup,
707
+ de as renderRadioGroup,
708
+ oe as renderSelect,
709
+ ve as renderSwitch,
710
+ fe as renderTimePicker,
711
+ ie as renderTreeSelect,
712
+ Fe as useDecorateForm
684
713
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dynamicformdjx",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "type": "module",
5
5
  "author": "xczcdjx",
6
6
  "license": "MIT",