@inntechcorp/it-design 2.2.84 → 2.2.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/form/item/Item.d.ts +1 -0
- package/dist/index.cjs.js +22 -22
- package/dist/index.d.ts +3 -2
- package/dist/index.esm.js +1 -1
- package/dist/types/ITDImperativeFuncProps.d.ts +2 -2
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -456,6 +456,7 @@ declare function Control({ position, className, children }: ControlProps): react
|
|
|
456
456
|
|
|
457
457
|
type ItemProps = {
|
|
458
458
|
name: string;
|
|
459
|
+
id?: string;
|
|
459
460
|
label?: string;
|
|
460
461
|
placeholder?: string;
|
|
461
462
|
error?: string;
|
|
@@ -1076,11 +1077,11 @@ type ITDImperativeFuncProps = {
|
|
|
1076
1077
|
reset: (update?: boolean, validation?: boolean) => void;
|
|
1077
1078
|
setValue: (value: any, update?: boolean, validation?: boolean) => void;
|
|
1078
1079
|
getValue: () => any;
|
|
1079
|
-
setError
|
|
1080
|
+
setError?: (message: string) => void;
|
|
1080
1081
|
setFocus?: () => void;
|
|
1081
1082
|
setDisabled?: (value: boolean) => void;
|
|
1082
1083
|
forceUpdate?: () => void;
|
|
1083
|
-
clear
|
|
1084
|
+
clear?: () => void;
|
|
1084
1085
|
scrollIntoView?: (options?: ScrollIntoViewOptions | boolean) => void;
|
|
1085
1086
|
};
|
|
1086
1087
|
|
package/dist/index.esm.js
CHANGED
|
@@ -2382,7 +2382,7 @@ import e from"i18next";import{useTranslation as t,initReactI18next as r}from"rea
|
|
|
2382
2382
|
margin-top: 10px;
|
|
2383
2383
|
gap: 5px;
|
|
2384
2384
|
|
|
2385
|
-
`;const Wc=new RegExp(/^[a-zA-Z0-9.!#$%&'+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),qc=new RegExp(/^[a-zA-Z0-9_.-]+$/),Xc=new RegExp(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+={};:<>|./?,"'\[\]\\`~\-])[a-zA-Z\d$begin:math:display$$end:math:display$\\`~!@#$%^&*()_+={};:<>|.\/?,"'-]{8,60}$/),Kc=new RegExp(/^[a-z0-9._-]+$/),Jc=new RegExp(/^[a-zA-Z0-9]+$/),Zc=new RegExp(/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/);const Qc=e=>Xc.test(e),eu=e=>Wc.test(e),tu=e=>qc.test(e),ru=(e,t)=>e.length>=t,nu=(e,t)=>e.length<=t,iu=(e,t)=>e===t,ou=(e,t)=>e!==t,au=(e,t)=>e.length===t,lu=e=>Kc.test(e),su=e=>Jc.test(e),du=e=>Zc.test(e),cu=(e,t)=>{if(!Array.isArray(t)||0===t.length)return!0;const r=String(e).trim().toLowerCase();return!t.some(e=>r===String(e).trim().toLowerCase())},uu=e=>function(e){var t,r=0,n=0,i=0;if(11!=e.length)return!1;if(!/^-?\d+$/.test(e))return!1;if(0==Number(e[0]))return!1;if(r=parseInt(e[0])+parseInt(e[2])+parseInt(e[4])+parseInt(e[6])+parseInt(e[8]),t=parseInt(e[1])+parseInt(e[3])+parseInt(e[5])+parseInt(e[7]),r*=7,Math.abs(r-t)%10!=Number(e[9]))return!1;for(i=0;i<10;i++)n+=parseInt(e[i]);return n%10==Number(e[10])}(e),pu=e=>{if(Array.isArray(e)){if(0===e.length)return!1}else{if("object"==typeof e){let t=!0;return Object.keys(e).forEach(r=>{""===e[r]&&(t=!1)}),t}if("string"==typeof e){if(""===e)return!1}else if("boolean"==typeof e&&!1===e)return!1}return!0},fu=m({});fu.displayName="ITDFormContext";const hu=x(({name:e="",label:r="",placeholder:n="",error:i="",rules:o=[],mask:a=null,locked:l=!1,dependency:p="",reset:f=[],query:h="",children:m=null},b)=>{const{t:v}=t("itd"),x=c(null),A=c(""),{register:w,unregister:k,hasField:_,updateField:S,setFieldError:E,getFieldValue:C,getFieldInstance:$,formId:L}=u(fu),[F,N]=s(!1);d(()=>(w({name:e,field:x,valid:D(x.current?.getValue(),!1),query:h,reset:f,error:i}),N(!0),A.current=JSON.stringify(o),()=>{N(!1),k(e)}),[]),d(()=>{const t=JSON.stringify(o);if(F&&x.current&&A.current!==t){const r=()=>{const t=x.current.getValue(),r=o.find(e=>e.hasOwnProperty("required"));if(!r||r.required||""!==t&&null!=t){const r=D(t,!1);_(e)&&S(e,t,!1,r)}else E(e,"",!0),_(e)&&S(e,t,!1,!0)};"development"===process.env.NODE_ENV?requestAnimationFrame(r):r(),A.current=t}},[o,F]),y(b,()=>x.current);const z=(t,r=!0,n=!0)=>{F&&_(e)&&(S(e,t,r,D(t,n)),M())},D=(t,r=!0)=>{const n=function(e,t,r,n){let i=[];return e.forEach(e=>{if(e.hasOwnProperty(U.REQUIRED)&&!pu(t)&&e.required&&i.push(e.message?e.message:n("errors.required")),e.hasOwnProperty(U.TYPE)&&(e.type===G.MIN_LENGTH&&(ru(String(t),Number(e.value))||i.push(e.message?e.message:n("errors.minLength",{length:Number(e.value)}))),e.type===G.MAX_LENGTH&&(nu(String(t),Number(e.value))||i.push(e.message?e.message:n("errors.maxLength",{length:Number(e.value)}))),e.type===G.EXACT_LENGTH&&(au(String(t),Number(e.value))||i.push(e.message?e.message:n("errors.exactLength",{length:Number(e.value)}))),e.type===G.SAME&&(iu(String(t),String(r(String(e.field))))||i.push(e.message?e.message:n("errors.fieldMustBeTheSame",{fields:e.field}))),e.type===G.NOT_SAME&&(ou(String(t),String(r(String(e.field))))||i.push(e.message?e.message:n("errors.fieldMustBeDifferent",{fields:e.field}))),e.type===G.TC_IDENTITY&&(uu(String(t))||i.push(e.message?e.message:n("errors.wrongTCIdentity"))),e.type===G.PASSWORD&&(Qc(String(t))||i.push(e.message?e.message:n("errors.passwordRule"))),e.type===G.EMAIL&&(eu(String(t))||i.push(e.message?e.message:n("errors.invalidEmailAddress"))),e.type===G.USERNAME&&(tu(String(t))||i.push(e.message?e.message:n("errors.usernameRule"))),e.type===G.SITE_USERNAME&&(lu(String(t))||i.push(e.message?e.message:n("errors.siteUsernameRule"))),e.type===G.ADMIN_USERNAME&&(su(String(t))||i.push(e.message?e.message:n("errors.adminUsernameRule"))),e.type===G.URL&&(du(String(t))||i.push(e.message?e.message:n("errors.invalidURL"))),e.type===G.FORBIDDEN_WORDS)){const r=Array.isArray(e.value)?e.value:void 0!==e.value?[e.value]:[];cu(String(t),r)||i.push(e.message?e.message:n("errors.forbiddenWords"))}}),i}(o,t,C,v);return n.length>0?!!(r||""!==t&&null!=t)&&(r&&E(e,n[0],r),!1):(r&&E(e,""),!0)},M=()=>{if(""===p)return;if(""===C(p))return;const e=$(p);e&&e.forceUpdate&&e.forceUpdate()};return(()=>{if(!m)return null;let t=m.props;const i={id:t.id?t.id:L+"_"+e,label:r,placeholder:n,className:t.className?t.className+" itd-form-item":"itd-form-item",onUpdate:z,ref:x};return a&&(i.mask=a),l&&(i.locked=l),g(m,{...t,...i})})()}),gu=x(({name:e="",className:t="",initialValues:r={},useQueryString:i=!1,onUpdate:o,onFinish:a,onFinishFailed:l,onValidated:c,children:p},f)=>{const{updated:h,setInitialValues:g,isFormValid:m,getValues:b,getFields:v,setFieldValueByName:x,resetFields:A}=u(fu),w=me(),{search:k}=z(),_=be(),[S,E]=s([]),[C,$]=s(!1),[L,F]=s([]),[N,D]=s(!1),[M,T]=s(!1);d(()=>{p&&H()},[p]),d(()=>{O(),I()},[N]),d(()=>{N||0!==Object.keys(v()).length&&0!==L.length&&Object.keys(v()).length===L.length&&D(!0)},[v(),L]),d(()=>{I()},[r]),d(()=>{O()},[k]),d(()=>{M&&N&&i&&Object.keys(h).length>0&&V(h)},[h]),d(()=>{c&&m()!==C&&c(m()),$(m())},[m()]);const O=()=>{N&&i&&(j(),M||P())},I=()=>{N&&(i||M||R())},R=()=>{const e=!Object.values(r).some(e=>null!==e&&""!==e);e&&!M&&T(!0),e||M||(g(r,!1),T(!0))},P=()=>{const e=v(),t=!Object.values(e).some(e=>""!==w.get(e.query,""));if(Object.values(e).some(e=>null===e.query||""===e.query)){let t=[];throw Object.keys(e).forEach(r=>{e[r].hasOwnProperty("query")&&null!==e[r].query&&""!==e[r].query||t.push(r)}),new Error(`ITD Form Initial Fields Error: "useQueryString" is activated but "query" value is not passed to whole form elements! Invalid fields are ${t.toString()}`)}if(t&&!M&&T(!0),!t&&!M){let t={};Object.keys(e).forEach(r=>{t[r]=w.get(e[r].query,"")}),g(t,!0,!0),T(!0)}},V=e=>{let t=[],r=[];const n=v();Object.keys(e).forEach(t=>{r.push(e[t])}),Aa(r,S)||(Object.keys(n).forEach(r=>{t.push({type:n[r].query,value:e[r]})}),_.set(t))},j=()=>{let e=[],t=[];const r=v();if(Object.keys(r).forEach(t=>{let n=String(w.get(r[t].query,""));e.push(n)}),Aa(e,S))return;E(e),Object.keys(r).forEach(e=>{t[e]=w.get(r[e].query,"")}),Object.keys(t).forEach(e=>{x(e,t[e],!1,!1)});let n={};Object.keys(t).forEach(e=>{n[e]=t[e]}),o&&o(n)},H=()=>{let e=[];B(p,t=>(t.hasOwnProperty("type")&&t.type===hu&&e.push({[t.props.name]:t}),!0)),F(e)};return y(f,()=>({fieldUpdate(e){console.log("fieldUpdate"),console.log(e)}})),n("form",{id:e,onSubmit:e=>{e&&(e.preventDefault(),e.stopPropagation()),m()?a&&a(b()):l&&l(v())},onReset:e=>{e&&(e.preventDefault(),e.stopPropagation());let t=[];Object.keys(v()).map(e=>{t.push({type:e,value:""})}),_.set(t),A(!0,!1)},autoComplete:"off",className:t,noValidate:!0,children:p})});var mu=f(gu);function bu({name:e="",useQueryString:t=!1,onUpdate:r,onReset:n,onFieldUpdate:i}){const[o,a]=s({}),[l,d]=s(e),[c,u]=s(!1),[p,f]=s({});function h(e){return o.hasOwnProperty(e)&&void 0!==o[e]}function g(e){return h(e)?o[e].field.current:null}function m(){let e={};return Object.keys(o).forEach(t=>{e[t]=y(t)}),e}function v(e,t,r=!0){if(h(e)&&o[e].field.current){if(o[e].valid=!1,o[e].error=t,!o[e].field.current?.hasOwnProperty("setError"))throw new Error(`ITD Reference Error: You must declare the 'setError' function on the field "${e}"`);o[e].field.current?.setError(r?t:"")}}function x(){let e=!0;return Object.keys(o).forEach(t=>{o[t].valid||(e=!1)}),u(e),e}function y(e){if(h(e)){if(o[e].field.current?.hasOwnProperty("getValue"))return o[e].field.current?.getValue();throw new Error(`ITD Reference Error: You must declare the 'getValue' function on the field "${e}"`)}console.error(`ITD Form Error [getFieldValueByName]: There is no field registered with this name: ${e}`)}function A(e,t,r,n){if(h(e)){if(!o[e].field.current?.hasOwnProperty("setValue"))throw new Error(`ITD Reference Error: You must declare the 'setValue' function on the field "${e}"`);{let i=y(e),a=!1;a=Array.isArray(i)&&Array.isArray(t)?Aa(i,t):Array.isArray(i)||Array.isArray(t)?i.toString()===t.toString():i===t,a||o[e].field.current?.setValue(t,r,n)}}else console.error(`ITD Form Error [setFieldValueByName]: There is no field registered with this name: ${e}`)}return{register:function(e){o[e.name]={name:e.name,field:e.field,value:e.field.current?.getValue(),valid:e.valid,query:e.query,reset:e.reset,error:e.error}},unregister:function(e){h(e)?(delete o[e],x()):console.error(`ITD Form Error [unregister]: There is no field registered with this name: ${e}`)},scrollTo:function(e,t){if(!h(e))return console.error(`ITD Form Error [scrollTo]: There is no field registered with this name: ${e}`),!1;const r=g(e);if(r&&"function"==typeof r.scrollIntoView)return r.scrollIntoView(t),!0;if("undefined"!=typeof document){const r=document.getElementById(`${l}_${e}`);if(r&&"function"==typeof r.scrollIntoView)return r.scrollIntoView(void 0!==t?t:{behavior:"smooth",block:"center",inline:"nearest"}),!0}return!1},checkFormIsValid:x,hasField:h,getValues:m,getFieldValue:function(e){return h(e)?(t=o[e].value)instanceof Object?JSON.stringify(t):t:"";var t},getFieldValueByName:y,getFieldInstance:g,getFields:function(){let e={};return Object.keys(o).forEach(t=>{e[t]=o[t]}),e},getFieldsInstance:function(){let e={};return Object.keys(o).forEach(t=>{e[t]=o[t].field.current}),e},setName:function(e){d(e)},setInitialValues:function(e,n=!0,i=!1){Object.keys(e).forEach(t=>{A(t,e[t],n,i)});let o={};return Object.keys(e).forEach(t=>{o[t]=e[t]}),n&&(t&&f(o),r&&r(o)),x(),o},setInvalidField:function(e="",t=""){v(e,t),x()},setInvalidFields:function(e=[],t=""){e.forEach(e=>{v(e,t)}),x()},setFieldValue:function(e,t){h(e)?o[e].field.current?.setValue(t,!0,!0):console.error(`ITD Form Error [setFieldValue]: There is no field registered with this name: ${e}`)},setFieldValueByName:A,setFieldError:v,removeFieldError:function(e){if(h(e)){if(o[e].valid=!0,o[e].error="",!o[e].field.current?.hasOwnProperty("setError"))throw new Error(`ITD Reference Error: You must declare the 'setError' function on the field "${e}"`);o[e].field.current?.setError("")}else console.error(`ITD Form Error [removeFieldError]: There is no field registered with this name: ${e}`)},updateField:function(e,n,a,l){if(h(e)){if(o[e].value=n,o[e].valid=l,a){i&&i({name:e,value:n,valid:l}),o[e].reset.length>0&&o[e].reset.forEach(e=>{o[e].value="",o[e].valid=!1,o[e].field.current?.reset(!1)});let a={...m(),[e]:n};o[e].reset.length>0&&o[e].reset.forEach(e=>{a[e]=""}),t&&l&&f(a),r&&r(a)}x()}else console.error(`ITD Form Error [updateField]: There is no field registered with this name: ${e}`)},isFormValid:b(()=>c,[c]),isFieldsValid:function(e){let t=!0;return e.forEach(e=>{o[e].valid||(t=!1)}),t},isFieldValid:function(e){return o[e].valid},resetFields:function(e=!1,t=!1){Object.keys(o).forEach(r=>{if(!o[r].field.current?.hasOwnProperty("reset"))throw new Error(`ITD Reference Error: You must declare the 'reset' function on the field "${r}"`);o[r].field.current?.reset(e,t)}),n&&n()},removeFields:function(){a({})},formId:l,updated:p}}const vu=x(({initialValues:e,children:t,onUpdate:r,onReset:i,onFinish:o,onFinishFailed:a,onFieldUpdate:l,onValidated:s,useQueryString:u,className:p,name:f},h)=>{const g=c(null);d(()=>()=>{g.current=null},[]),g.current=bu({name:f,onUpdate:r,onReset:i,onFieldUpdate:l,useQueryString:u}),y(h,()=>g.current);return n(fu.Provider,{value:g.current,children:n(mu,{initialValues:e,useQueryString:u,onUpdate:r,onFinish:o,onFinishFailed:a,onValidated:s,name:f,className:(()=>{let e="itd-form";return f&&(e+=" "+f),p&&(e+=" "+p),e})(),children:t})})});vu.Item=hu,vu.Group=function({gap:e=15,horizontal:t=!1,className:r,children:i}){return n(Gc,{className:(()=>{let e="itd-form-group";return r&&(e+=" "+r),e})(),$gap:e,$horizontal:t,children:i})},vu.Control=function({position:e="end",className:t,children:r}){return n(Yc,{className:(()=>{let e="itd-form-control";return t&&(e+=" "+t),e})(),$position:e,children:r})},vu.useForm=()=>u(fu),vu.useFormAPI=()=>{const e=u(fu);if(!e)throw new Error("useFormAPI must be used within a FormContext.Provider");return e};const xu=M.div`
|
|
2385
|
+
`;const Wc=new RegExp(/^[a-zA-Z0-9.!#$%&'+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),qc=new RegExp(/^[a-zA-Z0-9_.-]+$/),Xc=new RegExp(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+={};:<>|./?,"'\[\]\\`~\-])[a-zA-Z\d$begin:math:display$$end:math:display$\\`~!@#$%^&*()_+={};:<>|.\/?,"'-]{8,60}$/),Kc=new RegExp(/^[a-z0-9._-]+$/),Jc=new RegExp(/^[a-zA-Z0-9]+$/),Zc=new RegExp(/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/);const Qc=e=>Xc.test(e),eu=e=>Wc.test(e),tu=e=>qc.test(e),ru=(e,t)=>e.length>=t,nu=(e,t)=>e.length<=t,iu=(e,t)=>e===t,ou=(e,t)=>e!==t,au=(e,t)=>e.length===t,lu=e=>Kc.test(e),su=e=>Jc.test(e),du=e=>Zc.test(e),cu=(e,t)=>{if(!Array.isArray(t)||0===t.length)return!0;const r=String(e).trim().toLowerCase();return!t.some(e=>r===String(e).trim().toLowerCase())},uu=e=>function(e){var t,r=0,n=0,i=0;if(11!=e.length)return!1;if(!/^-?\d+$/.test(e))return!1;if(0==Number(e[0]))return!1;if(r=parseInt(e[0])+parseInt(e[2])+parseInt(e[4])+parseInt(e[6])+parseInt(e[8]),t=parseInt(e[1])+parseInt(e[3])+parseInt(e[5])+parseInt(e[7]),r*=7,Math.abs(r-t)%10!=Number(e[9]))return!1;for(i=0;i<10;i++)n+=parseInt(e[i]);return n%10==Number(e[10])}(e),pu=e=>{if(Array.isArray(e)){if(0===e.length)return!1}else{if("object"==typeof e){let t=!0;return Object.keys(e).forEach(r=>{""===e[r]&&(t=!1)}),t}if("string"==typeof e){if(""===e)return!1}else if("boolean"==typeof e&&!1===e)return!1}return!0},fu=m({});fu.displayName="ITDFormContext";const hu=x(({name:e="",id:r="",label:n="",placeholder:i="",error:o="",rules:a=[],mask:l=null,locked:p=!1,dependency:f="",reset:h=[],query:m="",children:b=null},v)=>{const{t:x}=t("itd"),A=c(null),w=c(""),{register:k,unregister:_,hasField:S,updateField:E,setFieldError:C,getFieldValue:$,getFieldInstance:L,formId:F}=u(fu),[N,z]=s(!1);d(()=>(k({name:e,field:A,valid:M(A.current?.getValue(),!1),query:m,reset:h,error:o}),z(!0),w.current=JSON.stringify(a),()=>{z(!1),_(e)}),[]),d(()=>{const t=JSON.stringify(a);if(N&&A.current&&w.current!==t){const r=()=>{const t=A.current.getValue(),r=a.find(e=>e.hasOwnProperty("required"));if(!r||r.required||""!==t&&null!=t){const r=M(t,!1);S(e)&&E(e,t,!1,r)}else C(e,"",!0),S(e)&&E(e,t,!1,!0)};"development"===process.env.NODE_ENV?requestAnimationFrame(r):r(),w.current=t}},[a,N]),y(v,()=>A.current);const D=(t,r=!0,n=!0)=>{N&&S(e)&&(E(e,t,r,M(t,n)),T())},M=(t,r=!0)=>{const n=function(e,t,r,n){let i=[];return e.forEach(e=>{if(e.hasOwnProperty(U.REQUIRED)&&!pu(t)&&e.required&&i.push(e.message?e.message:n("errors.required")),e.hasOwnProperty(U.TYPE)&&(e.type===G.MIN_LENGTH&&(ru(String(t),Number(e.value))||i.push(e.message?e.message:n("errors.minLength",{length:Number(e.value)}))),e.type===G.MAX_LENGTH&&(nu(String(t),Number(e.value))||i.push(e.message?e.message:n("errors.maxLength",{length:Number(e.value)}))),e.type===G.EXACT_LENGTH&&(au(String(t),Number(e.value))||i.push(e.message?e.message:n("errors.exactLength",{length:Number(e.value)}))),e.type===G.SAME&&(iu(String(t),String(r(String(e.field))))||i.push(e.message?e.message:n("errors.fieldMustBeTheSame",{fields:e.field}))),e.type===G.NOT_SAME&&(ou(String(t),String(r(String(e.field))))||i.push(e.message?e.message:n("errors.fieldMustBeDifferent",{fields:e.field}))),e.type===G.TC_IDENTITY&&(uu(String(t))||i.push(e.message?e.message:n("errors.wrongTCIdentity"))),e.type===G.PASSWORD&&(Qc(String(t))||i.push(e.message?e.message:n("errors.passwordRule"))),e.type===G.EMAIL&&(eu(String(t))||i.push(e.message?e.message:n("errors.invalidEmailAddress"))),e.type===G.USERNAME&&(tu(String(t))||i.push(e.message?e.message:n("errors.usernameRule"))),e.type===G.SITE_USERNAME&&(lu(String(t))||i.push(e.message?e.message:n("errors.siteUsernameRule"))),e.type===G.ADMIN_USERNAME&&(su(String(t))||i.push(e.message?e.message:n("errors.adminUsernameRule"))),e.type===G.URL&&(du(String(t))||i.push(e.message?e.message:n("errors.invalidURL"))),e.type===G.FORBIDDEN_WORDS)){const r=Array.isArray(e.value)?e.value:void 0!==e.value?[e.value]:[];cu(String(t),r)||i.push(e.message?e.message:n("errors.forbiddenWords"))}}),i}(a,t,$,x);return n.length>0?!!(r||""!==t&&null!=t)&&(r&&C(e,n[0],r),!1):(r&&C(e,""),!0)},T=()=>{if(""===f)return;if(""===$(f))return;const e=L(f);e&&e.forceUpdate&&e.forceUpdate()};return(()=>{if(!b)return null;let t=b.props;const o={id:t.id?t.id:r||F+"_"+e,label:n,placeholder:i,className:t.className?t.className+" itd-form-item":"itd-form-item",onUpdate:D,ref:A};return l&&(o.mask=l),p&&(o.locked=p),g(b,{...t,...o})})()}),gu=x(({name:e="",className:t="",initialValues:r={},useQueryString:i=!1,onUpdate:o,onFinish:a,onFinishFailed:l,onValidated:c,children:p},f)=>{const{updated:h,setInitialValues:g,isFormValid:m,getValues:b,getFields:v,setFieldValueByName:x,resetFields:A}=u(fu),w=me(),{search:k}=z(),_=be(),[S,E]=s([]),[C,$]=s(!1),[L,F]=s([]),[N,D]=s(!1),[M,T]=s(!1);d(()=>{p&&H()},[p]),d(()=>{O(),I()},[N]),d(()=>{N||0!==Object.keys(v()).length&&0!==L.length&&Object.keys(v()).length===L.length&&D(!0)},[v(),L]),d(()=>{I()},[r]),d(()=>{O()},[k]),d(()=>{M&&N&&i&&Object.keys(h).length>0&&V(h)},[h]),d(()=>{c&&m()!==C&&c(m()),$(m())},[m()]);const O=()=>{N&&i&&(j(),M||P())},I=()=>{N&&(i||M||R())},R=()=>{const e=!Object.values(r).some(e=>null!==e&&""!==e);e&&!M&&T(!0),e||M||(g(r,!1),T(!0))},P=()=>{const e=v(),t=!Object.values(e).some(e=>""!==w.get(e.query,""));if(Object.values(e).some(e=>null===e.query||""===e.query)){let t=[];throw Object.keys(e).forEach(r=>{e[r].hasOwnProperty("query")&&null!==e[r].query&&""!==e[r].query||t.push(r)}),new Error(`ITD Form Initial Fields Error: "useQueryString" is activated but "query" value is not passed to whole form elements! Invalid fields are ${t.toString()}`)}if(t&&!M&&T(!0),!t&&!M){let t={};Object.keys(e).forEach(r=>{t[r]=w.get(e[r].query,"")}),g(t,!0,!0),T(!0)}},V=e=>{let t=[],r=[];const n=v();Object.keys(e).forEach(t=>{r.push(e[t])}),Aa(r,S)||(Object.keys(n).forEach(r=>{t.push({type:n[r].query,value:e[r]})}),_.set(t))},j=()=>{let e=[],t=[];const r=v();if(Object.keys(r).forEach(t=>{let n=String(w.get(r[t].query,""));e.push(n)}),Aa(e,S))return;E(e),Object.keys(r).forEach(e=>{t[e]=w.get(r[e].query,"")}),Object.keys(t).forEach(e=>{x(e,t[e],!1,!1)});let n={};Object.keys(t).forEach(e=>{n[e]=t[e]}),o&&o(n)},H=()=>{let e=[];B(p,t=>(t.hasOwnProperty("type")&&t.type===hu&&e.push({[t.props.name]:t}),!0)),F(e)};return y(f,()=>({fieldUpdate(e){console.log("fieldUpdate"),console.log(e)}})),n("form",{id:e,onSubmit:e=>{e&&(e.preventDefault(),e.stopPropagation()),m()?a&&a(b()):l&&l(v())},onReset:e=>{e&&(e.preventDefault(),e.stopPropagation());let t=[];Object.keys(v()).map(e=>{t.push({type:e,value:""})}),_.set(t),A(!0,!1)},autoComplete:"off",className:t,noValidate:!0,children:p})});var mu=f(gu);function bu({name:e="",useQueryString:t=!1,onUpdate:r,onReset:n,onFieldUpdate:i}){const[o,a]=s({}),[l,d]=s(e),[c,u]=s(!1),[p,f]=s({});function h(e){return o.hasOwnProperty(e)&&void 0!==o[e]}function g(e){return h(e)?o[e].field.current:null}function m(){let e={};return Object.keys(o).forEach(t=>{e[t]=y(t)}),e}function v(e,t,r=!0){if(h(e)&&o[e].field.current){if(o[e].valid=!1,o[e].error=t,!o[e].field.current?.hasOwnProperty("setError"))throw new Error(`ITD Reference Error: You must declare the 'setError' function on the field "${e}"`);o[e].field.current?.setError?.(r?t:"")}}function x(){let e=!0;return Object.keys(o).forEach(t=>{o[t].valid||(e=!1)}),u(e),e}function y(e){if(h(e)){if(o[e].field.current?.hasOwnProperty("getValue"))return o[e].field.current?.getValue();throw new Error(`ITD Reference Error: You must declare the 'getValue' function on the field "${e}"`)}console.error(`ITD Form Error [getFieldValueByName]: There is no field registered with this name: ${e}`)}function A(e,t,r,n){if(h(e)){if(!o[e].field.current?.hasOwnProperty("setValue"))throw new Error(`ITD Reference Error: You must declare the 'setValue' function on the field "${e}"`);{let i=y(e),a=!1;a=Array.isArray(i)&&Array.isArray(t)?Aa(i,t):Array.isArray(i)||Array.isArray(t)?i.toString()===t.toString():i===t,a||o[e].field.current?.setValue(t,r,n)}}else console.error(`ITD Form Error [setFieldValueByName]: There is no field registered with this name: ${e}`)}return{register:function(e){o[e.name]={name:e.name,field:e.field,value:e.field.current?.getValue(),valid:e.valid,query:e.query,reset:e.reset,error:e.error}},unregister:function(e){h(e)?(delete o[e],x()):console.error(`ITD Form Error [unregister]: There is no field registered with this name: ${e}`)},scrollTo:function(e,t){if(h(e)){const r=g(e);if(r&&"function"==typeof r.scrollIntoView)return r.scrollIntoView(t),!0}if("undefined"!=typeof document){const r=document.getElementById(l);if(r){const n=r.querySelector(`#${e}`);if(n&&"function"==typeof n.scrollIntoView)return n.scrollIntoView(void 0!==t?t:{behavior:"smooth",block:"center",inline:"nearest"}),!0}const n=document.getElementById(e);if(n&&"function"==typeof n.scrollIntoView)return n.scrollIntoView(void 0!==t?t:{behavior:"smooth",block:"center",inline:"nearest"}),!0}return console.error(`ITD Form Error [scrollTo]: Could not find element in form '${l}' by name/id '${e}'`),!1},checkFormIsValid:x,hasField:h,getValues:m,getFieldValue:function(e){return h(e)?(t=o[e].value)instanceof Object?JSON.stringify(t):t:"";var t},getFieldValueByName:y,getFieldInstance:g,getFields:function(){let e={};return Object.keys(o).forEach(t=>{e[t]=o[t]}),e},getFieldsInstance:function(){let e={};return Object.keys(o).forEach(t=>{e[t]=o[t].field.current}),e},setName:function(e){d(e)},setInitialValues:function(e,n=!0,i=!1){Object.keys(e).forEach(t=>{A(t,e[t],n,i)});let o={};return Object.keys(e).forEach(t=>{o[t]=e[t]}),n&&(t&&f(o),r&&r(o)),x(),o},setInvalidField:function(e="",t=""){v(e,t),x()},setInvalidFields:function(e=[],t=""){e.forEach(e=>{v(e,t)}),x()},setFieldValue:function(e,t){h(e)?o[e].field.current?.setValue(t,!0,!0):console.error(`ITD Form Error [setFieldValue]: There is no field registered with this name: ${e}`)},setFieldValueByName:A,setFieldError:v,removeFieldError:function(e){if(h(e)){if(o[e].valid=!0,o[e].error="",!o[e].field.current?.hasOwnProperty("setError"))throw new Error(`ITD Reference Error: You must declare the 'setError' function on the field "${e}"`);o[e].field.current?.setError?.("")}else console.error(`ITD Form Error [removeFieldError]: There is no field registered with this name: ${e}`)},updateField:function(e,n,a,l){if(h(e)){if(o[e].value=n,o[e].valid=l,a){i&&i({name:e,value:n,valid:l}),o[e].reset.length>0&&o[e].reset.forEach(e=>{o[e].value="",o[e].valid=!1,o[e].field.current?.reset(!1)});let a={...m(),[e]:n};o[e].reset.length>0&&o[e].reset.forEach(e=>{a[e]=""}),t&&l&&f(a),r&&r(a)}x()}else console.error(`ITD Form Error [updateField]: There is no field registered with this name: ${e}`)},isFormValid:b(()=>c,[c]),isFieldsValid:function(e){let t=!0;return e.forEach(e=>{o[e].valid||(t=!1)}),t},isFieldValid:function(e){return o[e].valid},resetFields:function(e=!1,t=!1){Object.keys(o).forEach(r=>{if(!o[r].field.current?.hasOwnProperty("reset"))throw new Error(`ITD Reference Error: You must declare the 'reset' function on the field "${r}"`);o[r].field.current?.reset(e,t)}),n&&n()},removeFields:function(){a({})},formId:l,updated:p}}const vu=x(({initialValues:e,children:t,onUpdate:r,onReset:i,onFinish:o,onFinishFailed:a,onFieldUpdate:l,onValidated:s,useQueryString:u,className:p,name:f},h)=>{const g=c(null);d(()=>()=>{g.current=null},[]),g.current=bu({name:f,onUpdate:r,onReset:i,onFieldUpdate:l,useQueryString:u}),y(h,()=>g.current);return n(fu.Provider,{value:g.current,children:n(mu,{initialValues:e,useQueryString:u,onUpdate:r,onFinish:o,onFinishFailed:a,onValidated:s,name:f,className:(()=>{let e="itd-form";return f&&(e+=" "+f),p&&(e+=" "+p),e})(),children:t})})});vu.Item=hu,vu.Group=function({gap:e=15,horizontal:t=!1,className:r,children:i}){return n(Gc,{className:(()=>{let e="itd-form-group";return r&&(e+=" "+r),e})(),$gap:e,$horizontal:t,children:i})},vu.Control=function({position:e="end",className:t,children:r}){return n(Yc,{className:(()=>{let e="itd-form-control";return t&&(e+=" "+t),e})(),$position:e,children:r})},vu.useForm=()=>u(fu),vu.useFormAPI=()=>{const e=u(fu);if(!e)throw new Error("useFormAPI must be used within a FormContext.Provider");return e};const xu=M.div`
|
|
2386
2386
|
|
|
2387
2387
|
&.itd-accordion-menu-sub-menu {
|
|
2388
2388
|
|
|
@@ -2,10 +2,10 @@ export type ITDImperativeFuncProps = {
|
|
|
2
2
|
reset: (update?: boolean, validation?: boolean) => void;
|
|
3
3
|
setValue: (value: any, update?: boolean, validation?: boolean) => void;
|
|
4
4
|
getValue: () => any;
|
|
5
|
-
setError
|
|
5
|
+
setError?: (message: string) => void;
|
|
6
6
|
setFocus?: () => void;
|
|
7
7
|
setDisabled?: (value: boolean) => void;
|
|
8
8
|
forceUpdate?: () => void;
|
|
9
|
-
clear
|
|
9
|
+
clear?: () => void;
|
|
10
10
|
scrollIntoView?: (options?: ScrollIntoViewOptions | boolean) => void;
|
|
11
11
|
};
|