dynamicformdjx-react 0.0.4 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ export declare const omitFormCommonKey: readonly ["value", "key", "onChange", "render2"];
@@ -0,0 +1,26 @@
1
+ import { Dispatch, SetStateAction } from 'react';
2
+ import { DyFormItem } from '../types/form';
3
+ type Options = {
4
+ syncFromRaw?: boolean;
5
+ };
6
+ export declare function useReactiveForm<T extends Record<string, any>, U = any>(rawItems: DyFormItem<T, U>[], options?: Options): readonly [DyFormItem<T, U>[], Dispatch<SetStateAction<DyFormItem<T, U>[]>>];
7
+ type KeyOf<T> = Extract<keyof T, string>;
8
+ type ItemsState<Row extends Record<string, any>, RuleT = any> = readonly [
9
+ DyFormItem<Row, RuleT>[],
10
+ Dispatch<SetStateAction<DyFormItem<Row, RuleT>[]>>
11
+ ];
12
+ export declare function useDyForm<Row extends Record<string, any>, RuleT = any>(itemsState: ItemsState<Row, RuleT>): {
13
+ items: DyFormItem<Row, RuleT>[];
14
+ setDisabled: (disabled: boolean, keys?: KeyOf<Row>[]) => void;
15
+ setHidden: (hidden: boolean, keys?: KeyOf<Row>[]) => void;
16
+ setValue: <K extends KeyOf<Row>>(key: K, value: Row[K]) => void;
17
+ setValues: (patch: Partial<{ [K in KeyOf<Row>]: Row[K]; }>) => void;
18
+ getValue: <K extends KeyOf<Row>>(key: K) => Row[K] | undefined;
19
+ getValues: <K extends KeyOf<Row>>(keys?: readonly K[]) => Partial<Pick<Row, K>> & Record<string, any>;
20
+ onReset: (value?: any) => void;
21
+ getItem: <K extends KeyOf<Row>>(key: K) => DyFormItem<Row, RuleT> | undefined;
22
+ setItem: <K extends KeyOf<Row>>(k: K, patchItem: Partial<Omit<DyFormItem<Row, RuleT>, "key">>) => void;
23
+ setItems: <K extends KeyOf<Row>>(patch: [K, Partial<Omit<DyFormItem<Row, RuleT>, "key">>][]) => void;
24
+ updateKeys: <K extends KeyOf<Row>>(patch: [K, string][]) => void;
25
+ };
26
+ export {};
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./index.css');const e=require("react/jsx-runtime"),R=require("react"),p=require("clsx"),P=(o,y,c)=>Object.keys(o).map((r,l)=>{const u=o[r],v=Array.isArray(u),F=v?u.every(L=>typeof L=="number"):typeof u=="number";return{rId:y(l),key:r,value:v?u.join(c):u,isArray:v||void 0,isNumber:F||void 0}}),_=(o,y)=>o.reduce((c,r)=>(r.key.trim()&&(c[r.key]=K(r.value,r.isArray,r.isNumber,y)),c),{}),K=(o,y,c,r=",")=>{let l;return y?c?l=String(o).split(r).map(Number).filter(u=>!Number.isNaN(u)):l=String(o).split(r):c?l=parseFloat(o):l=o.toString(),l},W=(o,y,c=",")=>{const r=l=>{l=l.replace(/[^\d.-]/g,"");let u=!1;l.startsWith("-")&&(u=!0),l=l.replace(/-/g,"");const v=l.indexOf(".");return v!==-1&&(l=l.slice(0,v+1)+l.slice(v+1).replace(/\./g,"")),(u?"-":"")+l};return y?o.split(c).map(l=>r(l)).join(c):r(o)},J=o=>`hsl(${o*35%360}, 60%, 65%)`,Q=(o,y)=>o[y-1]??J(y);function T(o,y,c){if(y.length===0)return c(o,-1);const[r,...l]=y,u=[...o];if(l.length===0)return c(u,r);const v=u[r];if(!Array.isArray(v.value))return u;const F=T(v.value,l,c);return F.length===0?u[r]={...v,value:"",isArray:void 0,isNumber:void 0}:u[r]={...v,value:F},u}const U=R.forwardRef((o,y)=>{const{value:c,size:r,dyCls:l,isController:u,configs:v,btnConfigs:F,dyListConfigs:L,randomFun:k=n=>`${Date.now()}_${n??0}`,onReset:q,onMerge:z,onChange:V}=o,M={resetTxt:"重置",newTxt:"添加项",mergeTxt:"合并",...F},$={hideReset:!1,maxHeight:"300px",autoScroll:!0,allowFilter:!0,...v},h={arraySplitSymbol:",",...L},[g,j]=R.useState(()=>P(c,k,h.arraySplitSymbol)),S=R.useRef(null);return R.useImperativeHandle(y,()=>({getResult(n){return n==="ori"?g:_(g,h.arraySplitSymbol)},onSet(n){j(P(n??c,k,h.arraySplitSymbol))}})),R.useEffect(()=>{u&&V(_(g,h.arraySplitSymbol))},[g]),e.jsxs("div",{className:l??`dynamicInput ${r}`,children:[e.jsx("div",{className:"dyFormList",ref:S,style:{maxHeight:$.maxHeight},children:g.map((n,d,O)=>e.jsxs("div",{className:"dItem",children:[e.jsxs("div",{className:"input",children:[e.jsx("input",{value:n.key,className:"key nativeInput",onInput:m=>{const t=m.target.value;j(a=>{const x=[...a],s=x[d];return x[d]={...s,key:t},x})}}),":",e.jsxs("div",{className:"vInput",children:[e.jsxs("div",{className:"slot",children:[e.jsx("button",{className:p([n.isArray?"success":"default","small","bt"]),onClick:()=>{j(m=>{const t=[...m],a=t[d];return t[d]={...a,isArray:!a.isArray},t})},children:"Array"})," ",e.jsx("button",{className:p([n.isNumber?"success":"default","small","bt"]),onClick:()=>{j(m=>{const t=[...m],a=t[d];return t[d]={...a,isNumber:!a.isNumber},t})},children:"Number"})]}),e.jsx("input",{value:n.value,className:"value nativeV",onInput:m=>{const t=m.target.value;let a=t;n.isNumber&&$.allowFilter&&(a=W(t,n.isArray,h.arraySplitSymbol)),j(x=>{const s=[...x],H=s[d];return s[d]={...H,value:a},s})}})]})]}),e.jsxs("div",{className:"btn",children:[e.jsx("button",{className:p([r,"success","bt"]),disabled:d!==O.length-1,onClick:()=>{j(m=>[...m,{rId:k(),key:"",value:""}]),$.autoScroll&&setTimeout(()=>{const m=S.current;m?.scrollTo({top:m?.scrollHeight+20,behavior:"smooth"})})},children:"+"}),e.jsx("button",{className:p(["danger",r,"bt"]),onClick:()=>{j(m=>m.filter(t=>t.rId!==n.rId))},children:"-"})]})]},n.rId))}),e.jsxs("div",{className:"control",children:[!g.length&&e.jsx("button",{className:p(["success",r,"bt"]),onClick:()=>{j(n=>[...n,{rId:k(),key:"",value:""}])},children:M.newTxt}),!u&&e.jsxs(e.Fragment,{children:[!$.hideReset&&e.jsx("button",{className:p(["default",r,"bt"]),onClick:()=>{j(P(c,k,h.arraySplitSymbol)),q?.()},children:M.resetTxt}),e.jsx("button",{className:p(["info",r,"bt"]),onClick:()=>{[...g].sort((O,m)=>+O.rId-+m.rId);const d=_(g,h.arraySplitSymbol);V(d),z?.(d,g),j(P(d,k,h.arraySplitSymbol))},children:M.mergeTxt})]})]})]})}),X=R.forwardRef((o,y)=>{const{depth:c=5,value:r,isController:l,dyCls:u,configs:v,btnConfigs:F,dyListConfigs:L,randomFun:k=t=>`${Date.now()}_${t??0}`,newChildTxt:q=t=>`添加 '${t.key}' 子项`,onReset:z,onMerge:V,onChange:M}=o,$={resetTxt:"重置",newTxt:"添加项",mergeTxt:"合并",...F},h={hideReset:!1,maxHeight:"600px",allowFilter:!0,showBorder:!0,showPad:!0,retractLen:0,borderColors:[],...v},g={arraySplitSymbol:",",...L},j=t=>["string","number"].includes(t),[S,n]=R.useState(()=>d(r));R.useImperativeHandle(y,()=>({getResult(t){return t==="ori"?S:O(S)},onSet(t){n(d(t??r))}}));function d(t){return Object.keys(t).map((a,x)=>{let s=t[a];const H=Array.isArray(s),B=H?s.every(D=>typeof D=="number"):typeof s=="number",I=s===null;return j(typeof s)&&(s=t[a]),I&&(s=""),{rId:k(x),key:a,value:Object.prototype.toString.call(s)==="[object Object]"?d(t[a]):H?s.join(g.arraySplitSymbol):s,isArray:H||void 0,isNumber:B||void 0}})}const O=t=>t.reduce((a,x)=>{const s=x.value;return x.key.trim().length&&(a[x.key]=Array.isArray(s)?O(s):K(x.value,x.isArray,x.isNumber,g.arraySplitSymbol)),a},{}),m=(t,a=1,x=[])=>e.jsx("div",{className:p([`depth-${a}`,h.showBorder?"":"no-border",h.showPad?"":"no-pad"]),style:{"--depth":a,["--c"+[a]]:Q(h.borderColors,a)},children:t.map((s,H,B)=>{const I=[...x,H],D=Array.isArray(s.value),G=j(typeof s.value);return e.jsxs("div",{className:"dItem",style:{marginLeft:a>1?`${a*h.retractLen}px`:"0"},children:[e.jsxs("div",{className:"input",children:[!D&&e.jsxs(e.Fragment,{children:[e.jsx("input",{value:s.key,className:"key nativeInput",onInput:A=>{const N=A.target.value;n(b=>T(b,I,(i,f)=>{const w=[...i],C=w[f];return w[f]={...C,key:N},w}))}}),":"]}),e.jsxs("div",{className:"vInput",children:[e.jsx("div",{className:"slot",children:Array.isArray(s.value)?void 0:e.jsxs(e.Fragment,{children:[e.jsx("button",{className:p([s.isArray?"success":"default","small","bt"]),onClick:()=>{n(A=>T(A,I,(N,b)=>{const i=[...N],f=i[b];return i[b]={...f,isArray:!f.isArray},i}))},children:"Array"})," ",e.jsx("button",{className:p([s.isNumber?"success":"default","small","bt"]),onClick:()=>{n(A=>T(A,I,(N,b)=>{const i=[...N],f=i[b];return i[b]={...f,isNumber:!f.isNumber},i}))},children:"Number"})]})}),e.jsx("input",{className:`value nativeV ${D?"isKey":""}`,value:G?s.value:s.key,onInput:A=>{const N=A.target.value;if(D){n(i=>T(i,I,(f,w)=>{const C=[...f],E=C[w];return C[w]={...E,key:N},C}));return}let b=N;h.allowFilter&&s.isNumber&&(b=W(N,s.isArray,g.arraySplitSymbol)),n(i=>T(i,I,(f,w)=>{const C=[...f],E=C[w];return C[w]={...E,value:b},C}))}}),e.jsx("div",{className:"surSlot",children:a<c?!D&&e.jsx("button",{className:p(["success","bt"]),onClick:()=>{n(A=>T(A,I,(N,b)=>{const i=[...N],f=i[b],C=[...Array.isArray(f.value)?f.value:[],{rId:k(),key:"",value:""}];return i[b]={...f,isArray:void 0,isNumber:void 0,value:C},i}))},children:q(s)}):null})]})]}),e.jsxs("div",{className:"btn",children:[e.jsx("button",{className:p(["success","bt"]),disabled:H!==B.length-1,onClick:()=>{n(A=>T(A,I,(N,b)=>{const i=[...N];return i.splice(b+1,0,{rId:k(),key:"",value:""}),i}))},children:"+"}),e.jsx("button",{className:p(["danger","bt"]),onClick:()=>{n(A=>T(A,I,(N,b)=>{const i=[...N];return i.splice(b,1),i}))},children:"-"})]}),Array.isArray(s.value)&&m(s.value,a+1,I)]},s.rId)})});return R.useEffect(()=>{l&&M(O(S))},[S]),e.jsxs("div",{className:u??"dynamicCascadeInput",children:[e.jsx("div",{className:"dyFormList",style:{maxHeight:h.maxHeight},children:m(S)}),e.jsxs("div",{className:"control",children:[!S.length&&e.jsx("button",{className:p(["success","bt"]),onClick:()=>{n(t=>[...t,{rId:k(),key:"",value:""}])},children:$.newTxt}),!l&&e.jsxs(e.Fragment,{children:[!h.hideReset&&e.jsx("button",{className:p(["default","bt"]),onClick:()=>{n(d(r)),z?.()},children:$.resetTxt}),e.jsx("button",{className:p(["info","bt"]),onClick:()=>{const t=O(S);M(t),V?.(t,S),n(d(t))},children:$.mergeTxt})]})]})]})});exports.DynamicCascadeInput=X;exports.DynamicInput=U;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./index.css');const s=require("react/jsx-runtime"),b=require("react"),K=(u,d,t)=>Object.keys(u).map((n,m)=>{const h=u[n],p=Array.isArray(h),w=p?h.every(D=>typeof D=="number"):typeof h=="number";return{rId:d(m),key:n,value:p?h.join(t):h,isArray:p||void 0,isNumber:w||void 0}}),B=(u,d)=>u.reduce((t,n)=>(n.key.trim()&&(t[n.key]=_(n.value,n.isArray,n.isNumber,d)),t),{}),_=(u,d,t,n=",")=>{let m;return d?t?m=String(u).split(n).map(Number).filter(h=>!Number.isNaN(h)):m=String(u).split(n):t?m=parseFloat(u):m=u.toString(),m},W=(u,d,t=",")=>{const n=m=>{m=m.replace(/[^\d.-]/g,"");let h=!1;m.startsWith("-")&&(h=!0),m=m.replace(/-/g,"");const p=m.indexOf(".");return p!==-1&&(m=m.slice(0,p+1)+m.slice(p+1).replace(/\./g,"")),(h?"-":"")+m};return d?u.split(t).map(m=>n(m)).join(t):n(u)},G=u=>`hsl(${u*35%360}, 60%, 65%)`,J=(u,d)=>u[d-1]??G(d);function O(u,d,t){if(d.length===0)return t(u,-1);const[n,...m]=d,h=[...u];if(m.length===0)return t(h,n);const p=h[n];if(!Array.isArray(p.value))return h;const w=O(p.value,m,t);return w.length===0?h[n]={...p,value:"",isArray:void 0,isNumber:void 0}:h[n]={...p,value:w},h}function k(u){return u.filter(Boolean).join(" ")}function U(u,d){const t={...u};return delete t.value,d?.forEach(n=>{n!=="value"&&delete t[n]}),t}const X=b.forwardRef((u,d)=>{const{value:t={},size:n,dyCls:m,isController:h,configs:p,btnConfigs:w,dyListConfigs:D,randomFun:N=e=>`${Date.now()}_${e??0}`,onReset:L,onMerge:P,onChange:H}=u,M={resetTxt:"重置",newTxt:"添加项",mergeTxt:"合并",...w},R={hideReset:!1,maxHeight:"300px",autoScroll:!0,allowFilter:!0,...p},x={arraySplitSymbol:",",...D},[r,a]=b.useState(()=>K(t,N,x.arraySplitSymbol)),c=b.useRef(null);return b.useImperativeHandle(d,()=>({getResult(e){return e==="ori"?r:B(r,x.arraySplitSymbol)},onSet(e){a(K(e??t,N,x.arraySplitSymbol))}})),b.useEffect(()=>{h&&H(B(r,x.arraySplitSymbol))},[r]),s.jsxs("div",{className:`dynamicInput ${n} ${m}`,children:[s.jsx("div",{className:`dyFormList ${r.length?"":"noList"}`,ref:c,style:{maxHeight:R.maxHeight},children:r.map((e,o,A)=>s.jsxs("div",{className:"dItem",children:[s.jsxs("div",{className:"input",children:[s.jsx("input",{value:e.key,className:"key nativeInput",onInput:f=>{const l=f.target.value;a(y=>{const j=[...y],i=j[o];return j[o]={...i,key:l},j})}}),":",s.jsxs("div",{className:"vInput",children:[s.jsxs("div",{className:"slot",children:[s.jsx("button",{className:k([e.isArray?"success":"default","small","bt"]),onClick:()=>{a(f=>{const l=[...f],y=l[o];return l[o]={...y,isArray:!y.isArray},l})},children:"Array"})," ",s.jsx("button",{className:k([e.isNumber?"success":"default","small","bt"]),onClick:()=>{a(f=>{const l=[...f],y=l[o];return l[o]={...y,isNumber:!y.isNumber},l})},children:"Number"})]}),s.jsx("input",{value:e.value,className:"value nativeV",onInput:f=>{const l=f.target.value;let y=l;e.isNumber&&R.allowFilter&&(y=W(l,e.isArray,x.arraySplitSymbol)),a(j=>{const i=[...j],V=i[o];return i[o]={...V,value:y},i})}})]})]}),s.jsxs("div",{className:"btn",children:[s.jsx("button",{className:k([n,"success","bt"]),disabled:o!==A.length-1,onClick:()=>{a(f=>[...f,{rId:N(),key:"",value:""}]),R.autoScroll&&setTimeout(()=>{const f=c.current;f?.scrollTo({top:f?.scrollHeight+20,behavior:"smooth"})})},children:"+"}),s.jsx("button",{className:k(["danger",n,"bt"]),onClick:()=>{a(f=>f.filter(l=>l.rId!==e.rId))},children:"-"})]})]},e.rId))}),s.jsxs("div",{className:`control ${r.length?"":"noList"}`,children:[!r.length&&s.jsx("button",{className:k(["success",n,"bt"]),onClick:()=>{a(e=>[...e,{rId:N(),key:"",value:""}])},children:M.newTxt}),!h&&s.jsxs(s.Fragment,{children:[!R.hideReset&&s.jsx("button",{className:k(["default",n,"bt"]),onClick:()=>{a(K(t,N,x.arraySplitSymbol)),L?.()},children:M.resetTxt}),s.jsx("button",{className:k(["info",n,"bt"]),onClick:()=>{[...r].sort((A,f)=>+A.rId-+f.rId);const o=B(r,x.arraySplitSymbol);H(o),P?.(o,r),a(K(o,N,x.arraySplitSymbol))},children:M.mergeTxt})]})]})]})}),Y=b.forwardRef((u,d)=>{const{depth:t=5,value:n,isController:m,dyCls:h,configs:p,btnConfigs:w,dyListConfigs:D,randomFun:N=l=>`${Date.now()}_${l??0}`,newChildTxt:L=l=>`添加 '${l.key}' 子项`,onReset:P,onMerge:H,onChange:M}=u,R={resetTxt:"重置",newTxt:"添加项",mergeTxt:"合并",...w},x={hideReset:!1,maxHeight:"600px",allowFilter:!0,showBorder:!0,showPad:!0,retractLen:0,borderColors:[],...p},r={arraySplitSymbol:",",...D},a=l=>["string","number"].includes(l),[c,e]=b.useState(()=>o(n));b.useImperativeHandle(d,()=>({getResult(l){return l==="ori"?c:A(c)},onSet(l){e(o(l??n))}}));function o(l){return Object.keys(l).map((y,j)=>{let i=l[y];const V=Array.isArray(i),q=V?i.every(E=>typeof E=="number"):typeof i=="number",F=i===null;return a(typeof i)&&(i=l[y]),F&&(i=""),{rId:N(j),key:y,value:Object.prototype.toString.call(i)==="[object Object]"?o(l[y]):V?i.join(r.arraySplitSymbol):i,isArray:V||void 0,isNumber:q||void 0}})}const A=l=>l.reduce((y,j)=>{const i=j.value;return j.key.trim().length&&(y[j.key]=Array.isArray(i)?A(i):_(j.value,j.isArray,j.isNumber,r.arraySplitSymbol)),y},{}),f=(l,y=1,j=[])=>s.jsx("div",{className:k([`depth-${y}`,x.showBorder?"":"no-border",x.showPad?"":"no-pad"]),style:{"--depth":y,["--c"+[y]]:J(x.borderColors,y)},children:l.map((i,V,q)=>{const F=[...j,V],E=Array.isArray(i.value),Q=a(typeof i.value);return s.jsxs("div",{className:"dItem",style:{marginLeft:y>1?`${y*x.retractLen}px`:"0"},children:[s.jsxs("div",{className:"input",children:[!E&&s.jsxs(s.Fragment,{children:[s.jsx("input",{value:i.key,className:"key nativeInput",onInput:I=>{const S=I.target.value;e(g=>O(g,F,(v,C)=>{const T=[...v],$=T[C];return T[C]={...$,key:S},T}))}}),":"]}),s.jsxs("div",{className:"vInput",children:[s.jsx("div",{className:"slot",children:Array.isArray(i.value)?void 0:s.jsxs(s.Fragment,{children:[s.jsx("button",{className:k([i.isArray?"success":"default","small","bt"]),onClick:()=>{e(I=>O(I,F,(S,g)=>{const v=[...S],C=v[g];return v[g]={...C,isArray:!C.isArray},v}))},children:"Array"})," ",s.jsx("button",{className:k([i.isNumber?"success":"default","small","bt"]),onClick:()=>{e(I=>O(I,F,(S,g)=>{const v=[...S],C=v[g];return v[g]={...C,isNumber:!C.isNumber},v}))},children:"Number"})]})}),s.jsx("input",{className:`value nativeV ${E?"isKey":""}`,value:Q?i.value:i.key,onInput:I=>{const S=I.target.value;if(E){e(v=>O(v,F,(C,T)=>{const $=[...C],z=$[T];return $[T]={...z,key:S},$}));return}let g=S;x.allowFilter&&i.isNumber&&(g=W(S,i.isArray,r.arraySplitSymbol)),e(v=>O(v,F,(C,T)=>{const $=[...C],z=$[T];return $[T]={...z,value:g},$}))}}),s.jsx("div",{className:"surSlot",children:y<t?!E&&s.jsx("button",{className:k(["success","bt"]),onClick:()=>{e(I=>O(I,F,(S,g)=>{const v=[...S],C=v[g],$=[...Array.isArray(C.value)?C.value:[],{rId:N(),key:"",value:""}];return v[g]={...C,isArray:void 0,isNumber:void 0,value:$},v}))},children:L(i)}):null})]})]}),s.jsxs("div",{className:"btn",children:[s.jsx("button",{className:k(["success","bt"]),disabled:V!==q.length-1,onClick:()=>{e(I=>O(I,F,(S,g)=>{const v=[...S];return v.splice(g+1,0,{rId:N(),key:"",value:""}),v}))},children:"+"}),s.jsx("button",{className:k(["danger","bt"]),onClick:()=>{e(I=>O(I,F,(S,g)=>{const v=[...S];return v.splice(g,1),v}))},children:"-"})]}),Array.isArray(i.value)&&f(i.value,y+1,F)]},i.rId)})});return b.useEffect(()=>{m&&M(A(c))},[c]),s.jsxs("div",{className:`dynamicCascadeInput ${h}`,children:[s.jsx("div",{className:`dyFormList ${c.length?"":"noObj"}`,style:{maxHeight:x.maxHeight},children:f(c)}),s.jsxs("div",{className:`control ${c.length?"":"noObj"}`,children:[!c.length&&s.jsx("button",{className:k(["success","bt"]),onClick:()=>{e(l=>[...l,{rId:N(),key:"",value:""}])},children:R.newTxt}),!m&&s.jsxs(s.Fragment,{children:[!x.hideReset&&s.jsx("button",{className:k(["default","bt"]),onClick:()=>{e(o(n)),P?.()},children:R.resetTxt}),s.jsx("button",{className:k(["info","bt"]),onClick:()=>{const l=A(c);M(l),H?.(l,c),e(o(l))},children:R.mergeTxt})]})]})]})}),Z=["value","key","onChange","render2"];function ee(u,d={}){const[t,n]=b.useState(()=>u);return b.useEffect(()=>{d.syncFromRaw&&n(u)},[d.syncFromRaw,u]),[t,n]}function te(u){const[d,t]=u,n=b.useRef(d);b.useEffect(()=>{n.current=d},[d]);const m=b.useCallback(()=>n.current,[]),h=b.useCallback((r,a)=>{const c=a?.length?new Set(a):null;t(e=>e.map(o=>{const A=o.key;return!c||c.has(A)?{...o,disabled:r}:o}))},[t]),p=b.useCallback((r,a)=>{const c=a?.length?new Set(a):null;t(e=>e.map(o=>{const A=o.key;return!c||c.has(A)?{...o,hidden:r}:o}))},[t]),w=b.useCallback((r,a)=>{t(c=>c.map(e=>e.key===r?{...e,value:a}:e))},[t]),D=b.useCallback(r=>{t(a=>a.map(c=>{const e=c.key;return e in r?{...c,value:r[e]}:c}))},[t]),N=b.useCallback(r=>m().find(a=>a.key===r),[m]),L=b.useCallback(r=>{const a=N(r);return a?a.value:void 0},[N]),P=b.useCallback(r=>{const a=r?.length?new Set(r):null;return m().reduce((c,e)=>{const o=e.key;return(!a||a.has(o))&&(c[o]=e.value),c},{})},[m]),H=b.useCallback((r=null)=>{t(a=>a.map(c=>({...c,value:r})))},[t]),M=b.useCallback((r,a)=>{t(c=>c.map(e=>{if(e.key!==r)return e;const{key:o,...A}=a;return{...e,...A}}))},[t]),R=b.useCallback(r=>{const a=new Map(r);t(c=>c.map(e=>{const o=a.get(e.key);if(!o)return e;const{key:A,...f}=o;return{...e,...f}}))},[t]),x=b.useCallback(r=>{const a=new Map(r);t(c=>c.map(e=>{const o=a.get(e.key);return o?{...e,key:o}:e}))},[t]);return b.useMemo(()=>({items:d,setDisabled:h,setHidden:p,setValue:w,setValues:D,getValue:L,getValues:P,onReset:H,getItem:N,setItem:M,setItems:R,updateKeys:x}),[d,h,p,w,D,L,P,H,N,M,R,x])}exports.DynamicCascadeInput=Y;exports.DynamicInput=X;exports.OmitValue=U;exports.clsx=k;exports.formatNumberInput=W;exports.getDepthColor=G;exports.omitFormCommonKey=Z;exports.parseValue=_;exports.resetObj=B;exports.saferRepairColor=J;exports.tranArr=K;exports.updateArrayAtPath=O;exports.useDyForm=te;exports.useReactiveForm=ee;
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- .dynamicInput{overflow:hidden}.dynamicInput.small .dyFormList{gap:6px}.dynamicInput.small .dyFormList .typeBtn{padding:.2em .6em;height:18px}.dynamicInput.small .dyFormList>.dItem .input .key{font-size:.7em}.dynamicInput.small .dyFormList>.dItem .input .vInput{padding:.15em .4em}.dynamicInput.small .dyFormList>.dItem .input .vInput .slot{white-space:nowrap}.dynamicInput.small .dyFormList>.dItem .input .vInput .slot>button{padding:.1em .4em;font-size:.8em}.dynamicInput.small .dyFormList>.dItem .btn .bt{padding:.3em .8em}.dynamicInput.large .dyFormList{gap:15px}.dynamicInput.large .dyFormList .dItem{column-gap:20px}.dynamicInput.large .dyFormList .dItem .input .key{font-size:1.2em}.dynamicInput.large .dyFormList .dItem .input .vInput{padding:.5em .4em}.dynamicInput.large .dyFormList .dItem .input .vInput input{font-size:1.2em}.dynamicInput.large .dyFormList .dItem .input .vInput .slot{white-space:nowrap}.dynamicInput.large .dyFormList .dItem .input .vInput .slot>button{padding:.15em .4em;font-size:1em}.dynamicInput.large .dyFormList .dItem .btn .bt{padding:.8em 1.2em}.dynamicInput .dyFormList{overflow:auto;display:grid;gap:10px;padding:10px 5px}.dynamicInput .dyFormList .dItem{width:100%;display:grid;grid-template-columns:1fr 100px;column-gap:0}.dynamicInput .dyFormList .dItem .input{display:flex;justify-content:flex-start;align-items:center;column-gap:15px}.dynamicInput .dyFormList .dItem .input .key{text-align:center;width:150px}.dynamicInput .dyFormList .dItem .input .key.nativeInput{border:1px solid #d2d6dd;padding:.5em .4em;border-radius:3px}.dynamicInput .dyFormList .dItem .input .key.nativeInput:focus{outline:none;box-shadow:0 0 5px #007bff4d}.dynamicInput .dyFormList .dItem .input .vInput{width:100%;border:1px solid #d2d6dd;padding:.2em .4em;border-radius:3px;display:flex;column-gap:5px}.dynamicInput .dyFormList .dItem .input .vInput>.value{border:none;width:100%}.dynamicInput .dyFormList .dItem .input .vInput>.value.nativeV{letter-spacing:3px}.dynamicInput .dyFormList .dItem .input .vInput>.value.nativeV:focus{outline:none}.dynamicInput .dyFormList .dItem .input .vInput .slot{white-space:nowrap}.dynamicInput .dyFormList .dItem .input .vInput .slot>button{font-weight:400;border-radius:3px;font-size:.8em}.dynamicInput .dyFormList .dItem .btn{display:flex;justify-content:flex-end;align-items:center;column-gap:8px}.dynamicInput .dyFormList .dItem .btn .n-button{font-size:25px;padding:10px 12px}.dynamicInput .dyFormList .dItem .btn .el-button+.el-button{margin-left:0}.dynamicInput .dyFormList .dItem .btn .bt{padding:.5em 1em}.dynamicInput .key .el-input__inner,.dynamicInput .isKey .el-input__inner{text-align:center}.dynamicInput .control{display:flex;justify-content:center;align-items:center;margin-top:5px;column-gap:10px}.dynamicInput .bt{color:#fff;border-radius:5px;border:1px solid transparent;padding:.3em .8em;font-size:.9em;font-weight:600;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:.25s;opacity:.9}.dynamicInput .bt:hover{opacity:1}.dynamicInput .bt:disabled{opacity:.35;cursor:not-allowed}.dynamicInput .default{background:#fff;color:#000;border:1px solid #d2d6dd}.dynamicInput .info{background:#8a8e94}.dynamicInput .success{background:#63ba39}.dynamicInput .danger{background:#ea696a}.dynamicInput .aaa{color:red}.dynamicCascadeInput{overflow:hidden}.dynamicCascadeInput.small .dyFormList{gap:6px}.dynamicCascadeInput.small .dyFormList .typeBtn{padding:.2em .6em;height:18px}.dynamicCascadeInput.small .dyFormList>.dItem .input .key{font-size:.7em}.dynamicCascadeInput.small .dyFormList>.dItem .input .vInput{padding:.15em .4em}.dynamicCascadeInput.small .dyFormList>.dItem .input .vInput .slot{white-space:nowrap}.dynamicCascadeInput.small .dyFormList>.dItem .input .vInput .slot>button{padding:.1em .4em;font-size:.8em}.dynamicCascadeInput.small .dyFormList>.dItem .btn .bt{padding:.3em .8em}.dynamicCascadeInput.large .dyFormList{gap:15px}.dynamicCascadeInput.large .dyFormList .dItem{column-gap:20px}.dynamicCascadeInput.large .dyFormList .dItem .input .key{font-size:1.2em}.dynamicCascadeInput.large .dyFormList .dItem .input .vInput{padding:.5em .4em}.dynamicCascadeInput.large .dyFormList .dItem .input .vInput input{font-size:1.2em}.dynamicCascadeInput.large .dyFormList .dItem .input .vInput .slot{white-space:nowrap}.dynamicCascadeInput.large .dyFormList .dItem .input .vInput .slot>button{padding:.15em .4em;font-size:1em}.dynamicCascadeInput.large .dyFormList .dItem .btn .bt{padding:.8em 1.2em}.dynamicCascadeInput .dyFormList{overflow:auto;display:grid;gap:10px;padding:10px 5px}.dynamicCascadeInput .dyFormList .dItem{width:100%;display:grid;grid-template-columns:1fr 100px;column-gap:0}.dynamicCascadeInput .dyFormList .dItem .input{display:flex;justify-content:flex-start;align-items:center;column-gap:15px}.dynamicCascadeInput .dyFormList .dItem .input .key{text-align:center;width:150px}.dynamicCascadeInput .dyFormList .dItem .input .key.nativeInput{border:1px solid #d2d6dd;padding:.5em .4em;border-radius:3px}.dynamicCascadeInput .dyFormList .dItem .input .key.nativeInput:focus{outline:none;box-shadow:0 0 5px #007bff4d}.dynamicCascadeInput .dyFormList .dItem .input .vInput{width:100%;border:1px solid #d2d6dd;padding:.2em .4em;border-radius:3px;display:flex;column-gap:5px}.dynamicCascadeInput .dyFormList .dItem .input .vInput>.value{border:none;width:100%}.dynamicCascadeInput .dyFormList .dItem .input .vInput>.value.nativeV{letter-spacing:3px}.dynamicCascadeInput .dyFormList .dItem .input .vInput>.value.nativeV:focus{outline:none}.dynamicCascadeInput .dyFormList .dItem .input .vInput .slot{white-space:nowrap}.dynamicCascadeInput .dyFormList .dItem .input .vInput .slot>button{font-weight:400;border-radius:3px;font-size:.8em}.dynamicCascadeInput .dyFormList .dItem .btn{display:flex;justify-content:flex-end;align-items:center;column-gap:8px}.dynamicCascadeInput .dyFormList .dItem .btn .n-button{font-size:25px;padding:10px 12px}.dynamicCascadeInput .dyFormList .dItem .btn .el-button+.el-button{margin-left:0}.dynamicCascadeInput .dyFormList .dItem .btn .bt{padding:.5em 1em}.dynamicCascadeInput .key .el-input__inner,.dynamicCascadeInput .isKey .el-input__inner{text-align:center}.dynamicCascadeInput .control{display:flex;justify-content:center;align-items:center;margin-top:5px;column-gap:10px}.dynamicCascadeInput .bt{color:#fff;border-radius:5px;border:1px solid transparent;padding:.3em .8em;font-size:.9em;font-weight:600;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:.25s;opacity:.9}.dynamicCascadeInput .bt:hover{opacity:1}.dynamicCascadeInput .bt:disabled{opacity:.35;cursor:not-allowed}.dynamicCascadeInput .default{background:#fff;color:#000;border:1px solid #d2d6dd}.dynamicCascadeInput .info{background:#8a8e94}.dynamicCascadeInput .success{background:#63ba39}.dynamicCascadeInput .danger{background:#ea696a}.dynamicCascadeInput .aaa{color:red}.dynamicCascadeInput .dyFormList .dItem{width:inherit}.dynamicCascadeInput .dyFormList .dItem .vInput .surSlot{white-space:nowrap}.dynamicCascadeInput .dyFormList .dItem .vInput .surSlot>button{padding:.1em .4em;font-size:.8em}.dynamicCascadeInput .dyFormList .dItem .input .value.isKey{text-align:center}.dynamicCascadeInput .dyFormList .dItem .input .value.isKey input{font-weight:700}.dynamicCascadeInput .dyFormList>.depth-1{display:grid;border:1px solid var(--c1);border-style:dashed;border-radius:5px}.dynamicCascadeInput .dyFormList>.depth-1>.dItem{padding:5px}.dynamicCascadeInput .dyFormList>.depth-1 .dItem+.dItem{margin-top:5px}.dynamicCascadeInput .dyFormList>.depth-1.no-pad>.dItem{padding:0}.dynamicCascadeInput .dyFormList .depth-1 .depth-2{border:1px solid var(--c2);border-style:dashed;padding:8px;border-radius:5px;margin-top:10px;row-gap:-3px}.dynamicCascadeInput .dyFormList .depth-1 .depth-2 .dItem .btn .n-button{transform:scale(.84)}.dynamicCascadeInput .dyFormList .depth-1 .depth-2 .depth-3{border:1px solid var(--c3);border-style:dashed;padding:7px;border-radius:5px;margin-top:9px;row-gap:-5px}.dynamicCascadeInput .dyFormList .depth-1 .depth-2 .depth-3 .dItem .btn .n-button{transform:scale(.76)}.dynamicCascadeInput .dyFormList .depth-1 .depth-2 .depth-3 .depth-4{border:1px solid var(--c4);border-style:dashed;padding:6px;border-radius:5px;margin-top:8px;row-gap:-7px}.dynamicCascadeInput .dyFormList .depth-1 .depth-2 .depth-3 .depth-4 .dItem .btn .n-button{transform:scale(.68)}.dynamicCascadeInput .dyFormList .depth-1 .depth-2 .depth-3 .depth-4 .depth-5{border:1px solid var(--c5);border-style:dashed;padding:5px;border-radius:5px;margin-top:7px;row-gap:-9px}.dynamicCascadeInput .dyFormList .depth-1 .depth-2 .depth-3 .depth-4 .depth-5 .dItem .btn .n-button{transform:scale(.6)}.dynamicCascadeInput .dyFormList .no-border{border:none!important}.dynamicCascadeInput .dyFormList .no-pad{padding:0!important}@media(max-width:756px){.dynamicInput .dyFormList .dItem .input .key{width:50px}.dynamicInput .dyFormList .dItem .input .value{width:calc(100% - 60px)}}
1
+ .dynamicInput{overflow:hidden}.dynamicInput.small .dyFormList{gap:6px}.dynamicInput.small .dyFormList .typeBtn{padding:.2em .6em;height:18px}.dynamicInput.small .dyFormList>.dItem .input .key{font-size:.7em}.dynamicInput.small .dyFormList>.dItem .input .vInput{padding:.15em .4em}.dynamicInput.small .dyFormList>.dItem .input .vInput .slot{white-space:nowrap}.dynamicInput.small .dyFormList>.dItem .input .vInput .slot>button{padding:.1em .4em;font-size:.8em}.dynamicInput.small .dyFormList>.dItem .btn .bt{padding:.3em .8em}.dynamicInput.large .dyFormList{gap:15px}.dynamicInput.large .dyFormList .dItem{column-gap:20px}.dynamicInput.large .dyFormList .dItem .input .key{font-size:1.2em}.dynamicInput.large .dyFormList .dItem .input .vInput{padding:.5em .4em}.dynamicInput.large .dyFormList .dItem .input .vInput input{font-size:1.2em}.dynamicInput.large .dyFormList .dItem .input .vInput .slot{white-space:nowrap}.dynamicInput.large .dyFormList .dItem .input .vInput .slot>button{padding:.15em .4em;font-size:1em}.dynamicInput.large .dyFormList .dItem .btn .bt{padding:.8em 1.2em}.dynamicInput .dyFormList{overflow:auto;display:grid;gap:10px;padding:0 5px 10px}.dynamicInput .dyFormList.noList{padding:0}.dynamicInput .dyFormList .dItem{width:100%;display:grid;grid-template-columns:1fr 100px;column-gap:0}.dynamicInput .dyFormList .dItem .input{display:flex;justify-content:flex-start;align-items:center;column-gap:15px}.dynamicInput .dyFormList .dItem .input .key{text-align:center;width:150px}.dynamicInput .dyFormList .dItem .input .key.nativeInput{border:1px solid #d2d6dd;padding:.5em .4em;border-radius:3px}.dynamicInput .dyFormList .dItem .input .key.nativeInput:focus{outline:none;box-shadow:0 0 5px #007bff4d}.dynamicInput .dyFormList .dItem .input .vInput{width:100%;border:1px solid #d2d6dd;padding:.2em .4em;border-radius:3px;display:flex;column-gap:5px}.dynamicInput .dyFormList .dItem .input .vInput>.value{border:none;width:100%}.dynamicInput .dyFormList .dItem .input .vInput>.value.nativeV{letter-spacing:3px}.dynamicInput .dyFormList .dItem .input .vInput>.value.nativeV:focus{outline:none}.dynamicInput .dyFormList .dItem .input .vInput .slot{white-space:nowrap}.dynamicInput .dyFormList .dItem .input .vInput .slot>button{font-weight:400;border-radius:3px;font-size:.8em}.dynamicInput .dyFormList .dItem .btn{display:flex;justify-content:flex-end;align-items:center;column-gap:8px}.dynamicInput .dyFormList .dItem .btn .n-button{font-size:25px;padding:10px 12px}.dynamicInput .dyFormList .dItem .btn .el-button+.el-button{margin-left:0}.dynamicInput .dyFormList .dItem .btn .bt{padding:.5em 1em}.dynamicInput .key .el-input__inner,.dynamicInput .isKey .el-input__inner{text-align:center}.dynamicInput .control{display:flex;justify-content:center;align-items:center;margin-top:5px;column-gap:10px}.dynamicInput .control.noList{margin-top:0}.dynamicInput .bt{color:#fff;border-radius:5px;border:1px solid transparent;padding:.3em .8em;font-size:.9em;font-weight:600;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:.25s;opacity:.9}.dynamicInput .bt:hover{opacity:1}.dynamicInput .bt:disabled{opacity:.35;cursor:not-allowed}.dynamicInput .default{background:#fff;color:#000;border:1px solid #d2d6dd}.dynamicInput .info{background:#8a8e94}.dynamicInput .success{background:#63ba39}.dynamicInput .danger{background:#ea696a}.dynamicInput .aaa{color:red}.dynamicCascadeInput{overflow:hidden}.dynamicCascadeInput.small .dyFormList{gap:6px}.dynamicCascadeInput.small .dyFormList .typeBtn{padding:.2em .6em;height:18px}.dynamicCascadeInput.small .dyFormList>.dItem .input .key{font-size:.7em}.dynamicCascadeInput.small .dyFormList>.dItem .input .vInput{padding:.15em .4em}.dynamicCascadeInput.small .dyFormList>.dItem .input .vInput .slot{white-space:nowrap}.dynamicCascadeInput.small .dyFormList>.dItem .input .vInput .slot>button{padding:.1em .4em;font-size:.8em}.dynamicCascadeInput.small .dyFormList>.dItem .btn .bt{padding:.3em .8em}.dynamicCascadeInput.large .dyFormList{gap:15px}.dynamicCascadeInput.large .dyFormList .dItem{column-gap:20px}.dynamicCascadeInput.large .dyFormList .dItem .input .key{font-size:1.2em}.dynamicCascadeInput.large .dyFormList .dItem .input .vInput{padding:.5em .4em}.dynamicCascadeInput.large .dyFormList .dItem .input .vInput input{font-size:1.2em}.dynamicCascadeInput.large .dyFormList .dItem .input .vInput .slot{white-space:nowrap}.dynamicCascadeInput.large .dyFormList .dItem .input .vInput .slot>button{padding:.15em .4em;font-size:1em}.dynamicCascadeInput.large .dyFormList .dItem .btn .bt{padding:.8em 1.2em}.dynamicCascadeInput .dyFormList{overflow:auto;display:grid;gap:10px;padding:0 5px 10px}.dynamicCascadeInput .dyFormList.noList{padding:0}.dynamicCascadeInput .dyFormList .dItem{width:100%;display:grid;grid-template-columns:1fr 100px;column-gap:0}.dynamicCascadeInput .dyFormList .dItem .input{display:flex;justify-content:flex-start;align-items:center;column-gap:15px}.dynamicCascadeInput .dyFormList .dItem .input .key{text-align:center;width:150px}.dynamicCascadeInput .dyFormList .dItem .input .key.nativeInput{border:1px solid #d2d6dd;padding:.5em .4em;border-radius:3px}.dynamicCascadeInput .dyFormList .dItem .input .key.nativeInput:focus{outline:none;box-shadow:0 0 5px #007bff4d}.dynamicCascadeInput .dyFormList .dItem .input .vInput{width:100%;border:1px solid #d2d6dd;padding:.2em .4em;border-radius:3px;display:flex;column-gap:5px}.dynamicCascadeInput .dyFormList .dItem .input .vInput>.value{border:none;width:100%}.dynamicCascadeInput .dyFormList .dItem .input .vInput>.value.nativeV{letter-spacing:3px}.dynamicCascadeInput .dyFormList .dItem .input .vInput>.value.nativeV:focus{outline:none}.dynamicCascadeInput .dyFormList .dItem .input .vInput .slot{white-space:nowrap}.dynamicCascadeInput .dyFormList .dItem .input .vInput .slot>button{font-weight:400;border-radius:3px;font-size:.8em}.dynamicCascadeInput .dyFormList .dItem .btn{display:flex;justify-content:flex-end;align-items:center;column-gap:8px}.dynamicCascadeInput .dyFormList .dItem .btn .n-button{font-size:25px;padding:10px 12px}.dynamicCascadeInput .dyFormList .dItem .btn .el-button+.el-button{margin-left:0}.dynamicCascadeInput .dyFormList .dItem .btn .bt{padding:.5em 1em}.dynamicCascadeInput .key .el-input__inner,.dynamicCascadeInput .isKey .el-input__inner{text-align:center}.dynamicCascadeInput .control{display:flex;justify-content:center;align-items:center;margin-top:5px;column-gap:10px}.dynamicCascadeInput .control.noList{margin-top:0}.dynamicCascadeInput .bt{color:#fff;border-radius:5px;border:1px solid transparent;padding:.3em .8em;font-size:.9em;font-weight:600;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:.25s;opacity:.9}.dynamicCascadeInput .bt:hover{opacity:1}.dynamicCascadeInput .bt:disabled{opacity:.35;cursor:not-allowed}.dynamicCascadeInput .default{background:#fff;color:#000;border:1px solid #d2d6dd}.dynamicCascadeInput .info{background:#8a8e94}.dynamicCascadeInput .success{background:#63ba39}.dynamicCascadeInput .danger{background:#ea696a}.dynamicCascadeInput .aaa{color:red}.dynamicCascadeInput .dyFormList.noObj{padding:0}.dynamicCascadeInput .dyFormList.noObj .depth-1{display:none}.dynamicCascadeInput .dyFormList .dItem{width:inherit}.dynamicCascadeInput .dyFormList .dItem .vInput .surSlot{white-space:nowrap}.dynamicCascadeInput .dyFormList .dItem .vInput .surSlot>button{padding:.1em .4em;font-size:.8em}.dynamicCascadeInput .dyFormList .dItem .input .value.isKey{text-align:center}.dynamicCascadeInput .dyFormList .dItem .input .value.isKey input{font-weight:700}.dynamicCascadeInput .dyFormList>.depth-1{display:grid;border:1px solid var(--c1);border-style:dashed;border-radius:5px}.dynamicCascadeInput .dyFormList>.depth-1>.dItem{padding:5px}.dynamicCascadeInput .dyFormList>.depth-1 .dItem+.dItem{margin-top:5px}.dynamicCascadeInput .dyFormList>.depth-1.no-pad>.dItem{padding:0}.dynamicCascadeInput .dyFormList .depth-1 .depth-2{border:1px solid var(--c2);border-style:dashed;padding:8px;border-radius:5px;margin-top:10px;row-gap:-3px}.dynamicCascadeInput .dyFormList .depth-1 .depth-2 .dItem .btn .n-button{transform:scale(.84)}.dynamicCascadeInput .dyFormList .depth-1 .depth-2 .depth-3{border:1px solid var(--c3);border-style:dashed;padding:7px;border-radius:5px;margin-top:9px;row-gap:-5px}.dynamicCascadeInput .dyFormList .depth-1 .depth-2 .depth-3 .dItem .btn .n-button{transform:scale(.76)}.dynamicCascadeInput .dyFormList .depth-1 .depth-2 .depth-3 .depth-4{border:1px solid var(--c4);border-style:dashed;padding:6px;border-radius:5px;margin-top:8px;row-gap:-7px}.dynamicCascadeInput .dyFormList .depth-1 .depth-2 .depth-3 .depth-4 .dItem .btn .n-button{transform:scale(.68)}.dynamicCascadeInput .dyFormList .depth-1 .depth-2 .depth-3 .depth-4 .depth-5{border:1px solid var(--c5);border-style:dashed;padding:5px;border-radius:5px;margin-top:7px;row-gap:-9px}.dynamicCascadeInput .dyFormList .depth-1 .depth-2 .depth-3 .depth-4 .depth-5 .dItem .btn .n-button{transform:scale(.6)}.dynamicCascadeInput .dyFormList .no-border{border:none!important}.dynamicCascadeInput .dyFormList .no-pad{padding:0!important}.dynamicCascadeInput .control.noObj{margin:0}.dynamicForm .cls-required{margin-left:5px;color:red}.dynamicForm .header{margin-bottom:5px}.dynamicForm .footer{margin-top:5px}@media(max-width:756px){.dynamicInput .dyFormList .dItem .input .key{width:50px}.dynamicInput .dyFormList .dItem .input .value{width:calc(100% - 60px)}}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  import { default as DynamicInput } from './origin/DynamicInput.tsx';
2
2
  import { default as DynamicCascadeInput } from './origin/DynamicCascadeInput.tsx';
3
3
  import { ExposeType } from './types';
4
+ export * from './utils/tools';
5
+ export * from './constants';
6
+ export * from './hooks/useDyForm';
4
7
  export type dynamicInputRef = ExposeType;
5
8
  export type dynamicCascadeInputRef = ExposeType;
6
9
  export { DynamicInput, DynamicCascadeInput };