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.
- package/README.md +269 -15
- package/dist/antd/AdDynamicForm.d.ts +18 -0
- package/dist/antd/hooks/renderForm.d.ts +5 -0
- package/dist/antd/index.cjs +173 -0
- package/dist/antd/index.d.ts +6 -0
- package/dist/antd/index.mjs +15197 -0
- package/dist/constants/index.d.ts +1 -0
- package/dist/hooks/useDyForm.d.ts +26 -0
- package/dist/index.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.mjs +473 -304
- package/dist/types/form.d.ts +65 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/utils/tools.d.ts +4 -1
- package/package.json +10 -3
|
@@ -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
|
|
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:
|
|
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 };
|