@inntechcorp/it-design 2.2.69 → 2.2.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -2382,7 +2382,7 @@
2382
2382
  margin-top: 10px;
2383
2383
  gap: 5px;
2384
2384
 
2385
- `;const Ud=new RegExp(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+([.])[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)*$/),Yd=new RegExp(/^[a-zA-Z0-9_.-]+$/),Gd=new RegExp(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+={};:<>|./?,"'\[\]\\`~\-])[a-zA-Z\d$begin:math:display$$end:math:display$\\`~!@#$%^&*()_+={};:<>|.\/?,"'-]{8,60}$/),Wd=new RegExp(/^[a-z0-9._-]+$/),qd=new RegExp(/^[a-zA-Z0-9]+$/),Xd=new RegExp(/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/);const Kd=e=>Gd.test(e),Jd=e=>Ud.test(e),Zd=e=>Yd.test(e),Qd=(e,t)=>e.length>=t,ec=(e,t)=>e.length<=t,tc=(e,t)=>e===t,rc=(e,t)=>e!==t,nc=(e,t)=>e.length===t,oc=e=>Wd.test(e),ic=e=>qd.test(e),ac=e=>Xd.test(e),sc=e=>function(e){var t,r=0,n=0,o=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(o=0;o<10;o++)n+=parseInt(e[o]);return n%10==Number(e[10])}(e),lc=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},dc=n.createContext({});dc.displayName="ITDFormContext";const cc=n.forwardRef(({name:e="",label:r="",placeholder:o="",error:i="",rules:a=[],mask:s=null,locked:l=!1,dependency:d="",reset:c=[],query:u="",children:p=null},f)=>{const{t:g}=t.useTranslation("itd"),m=n.useRef(null),b=n.useRef(""),{register:x,unregister:v,hasField:y,updateField:A,setFieldError:w,getFieldValue:k,getFieldInstance:S,formId:_}=n.useContext(dc),[E,C]=n.useState(!1);n.useEffect(()=>(x({name:e,field:m,valid:L(m.current?.getValue(),!1),query:u,reset:c,error:i}),C(!0),b.current=JSON.stringify(a),()=>{C(!1),v(e)}),[]),n.useEffect(()=>{const t=JSON.stringify(a);if(E&&m.current&&b.current!==t){const r=()=>{const t=m.current.getValue(),r=a.find(e=>e.hasOwnProperty("required"));if(!r||r.required||""!==t&&null!=t){const r=L(t,!1);y(e)&&A(e,t,!1,r)}else w(e,"",!0),y(e)&&A(e,t,!1,!0)};"development"===process.env.NODE_ENV?requestAnimationFrame(r):r(),b.current=t}},[a,E]),n.useImperativeHandle(f,()=>m.current);const $=(t,r=!0,n=!0)=>{E&&y(e)&&(A(e,t,r,L(t,n)),j())},L=(t,r=!0)=>{const n=function(e,t,r,n){let o=[];return e.forEach(e=>{e.hasOwnProperty(h.REQUIRED)&&!lc(t)&&e.required&&o.push(e.message?e.message:n("errors.required")),e.hasOwnProperty(h.TYPE)&&(e.type===exports.FormValidationTypes.MIN_LENGTH&&(Qd(String(t),Number(e.value))||o.push(e.message?e.message:n("errors.minLength",{length:Number(e.value)}))),e.type===exports.FormValidationTypes.MAX_LENGTH&&(ec(String(t),Number(e.value))||o.push(e.message?e.message:n("errors.maxLength",{length:Number(e.value)}))),e.type===exports.FormValidationTypes.EXACT_LENGTH&&(nc(String(t),Number(e.value))||o.push(e.message?e.message:n("errors.exactLength",{length:Number(e.value)}))),e.type===exports.FormValidationTypes.SAME&&(tc(String(t),String(r(String(e.field))))||o.push(e.message?e.message:n("errors.fieldMustBeTheSame",{fields:e.field}))),e.type===exports.FormValidationTypes.NOT_SAME&&(rc(String(t),String(r(String(e.field))))||o.push(e.message?e.message:n("errors.fieldMustBeDifferent",{fields:e.field}))),e.type===exports.FormValidationTypes.TC_IDENTITY&&(sc(String(t))||o.push(e.message?e.message:n("errors.wrongTCIdentity"))),e.type===exports.FormValidationTypes.PASSWORD&&(Kd(String(t))||o.push(e.message?e.message:n("errors.passwordRule"))),e.type===exports.FormValidationTypes.EMAIL&&(Jd(String(t))||o.push(e.message?e.message:n("errors.invalidEmailAddress"))),e.type===exports.FormValidationTypes.USERNAME&&(Zd(String(t))||o.push(e.message?e.message:n("errors.usernameRule"))),e.type===exports.FormValidationTypes.SITE_USERNAME&&(oc(String(t))||o.push(e.message?e.message:n("errors.siteUsernameRule"))),e.type===exports.FormValidationTypes.ADMIN_USERNAME&&(ic(String(t))||o.push(e.message?e.message:n("errors.adminUsernameRule"))),e.type===exports.FormValidationTypes.URL&&(ac(String(t))||o.push(e.message?e.message:n("errors.invalidURL"))))}),o}(a,t,k,g);return n.length>0?!!(r||""!==t&&null!=t)&&(r&&w(e,n[0],r),!1):(r&&w(e,""),!0)},j=()=>{if(""===d)return;if(""===k(d))return;const e=S(d);e&&e.forceUpdate&&e.forceUpdate()};return(()=>{if(!p)return null;let t=p.props;const i={id:t.id?t.id:_+"_"+e,label:r,placeholder:o,className:t.className?t.className+" itd-form-item":"itd-form-item",onUpdate:$,ref:m};return s&&(i.mask=s),l&&(i.locked=l),n.cloneElement(p,{...t,...i})})()}),uc=n.forwardRef(({name:e="",className:t="",initialValues:o={},useQueryString:i=!1,onUpdate:s,onFinish:l,onFinishFailed:c,onValidated:u,children:p},f)=>{const{updated:h,setInitialValues:g,isFormValid:m,getValues:b,getFields:x,setFieldValueByName:v,resetFields:y}=n.useContext(dc),A=I(),{search:w}=a.useLocation(),k=R(),[S,_]=n.useState([]),[E,C]=n.useState(!1),[$,L]=n.useState([]),[j,F]=n.useState(!1),[z,N]=n.useState(!1);n.useEffect(()=>{p&&B()},[p]),n.useEffect(()=>{M(),D()},[j]),n.useEffect(()=>{j||0!==Object.keys(x()).length&&0!==$.length&&Object.keys(x()).length===$.length&&F(!0)},[x(),$]),n.useEffect(()=>{D()},[o]),n.useEffect(()=>{M()},[w]),n.useEffect(()=>{z&&j&&i&&Object.keys(h).length>0&&P(h)},[h]),n.useEffect(()=>{u&&m()!==E&&u(m()),C(m())},[m()]);const M=()=>{j&&i&&(V(),z||O())},D=()=>{j&&(i||z||T())},T=()=>{const e=!Object.values(o).some(e=>null!==e&&""!==e);e&&!z&&N(!0),e||z||(g(o,!1),N(!0))},O=()=>{const e=x(),t=!Object.values(e).some(e=>""!==A.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&&!z&&N(!0),!t&&!z){let t={};Object.keys(e).forEach(r=>{t[r]=A.get(e[r].query,"")}),g(t,!0,!0),N(!0)}},P=e=>{let t=[],r=[];const n=x();Object.keys(e).forEach(t=>{r.push(e[t])}),xi(r,S)||(Object.keys(n).forEach(r=>{t.push({type:n[r].query,value:e[r]})}),k.set(t))},V=()=>{let e=[],t=[];const r=x();if(Object.keys(r).forEach(t=>{let n=String(A.get(r[t].query,""));e.push(n)}),xi(e,S))return;_(e),Object.keys(r).forEach(e=>{t[e]=A.get(r[e].query,"")}),Object.keys(t).forEach(e=>{v(e,t[e],!1,!1)});let n={};Object.keys(t).forEach(e=>{n[e]=t[e]}),s&&s(n)},B=()=>{let e=[];d.getChildrenDeep(p,t=>(t.hasOwnProperty("type")&&t.type===cc&&e.push({[t.props.name]:t}),!0)),L(e)};return n.useImperativeHandle(f,()=>({fieldUpdate(e){console.log("fieldUpdate"),console.log(e)}})),r.jsx("form",{id:e,onSubmit:e=>{e&&(e.preventDefault(),e.stopPropagation()),m()?l&&l(b()):c&&c(x())},onReset:e=>{e&&(e.preventDefault(),e.stopPropagation());let t=[];Object.keys(x()).map(e=>{t.push({type:e,value:""})}),k.set(t),y(!0,!1)},autoComplete:"off",className:t,noValidate:!0,children:p})});var pc=n.memo(uc);function fc({name:e="",useQueryString:t=!1,onUpdate:r,onReset:o,onFieldUpdate:i}){const[a,s]=n.useState({}),[l,d]=n.useState(e),[c,u]=n.useState(!1),[p,f]=n.useState({});function h(e){return a.hasOwnProperty(e)&&void 0!==a[e]}function g(){let e={};return Object.keys(a).forEach(t=>{e[t]=x(t)}),e}function m(e,t,r=!0){if(h(e)&&a[e].field.current){if(a[e].valid=!1,a[e].error=t,!a[e].field.current?.hasOwnProperty("setError"))throw new Error(`ITD Reference Error: You must declare the 'setError' function on the field "${e}"`);a[e].field.current?.setError(r?t:"")}}function b(){let e=!0;return Object.keys(a).forEach(t=>{a[t].valid||(e=!1)}),u(e),e}function x(e){if(h(e)){if(a[e].field.current?.hasOwnProperty("getValue"))return a[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 v(e,t,r,n){if(h(e)){if(!a[e].field.current?.hasOwnProperty("setValue"))throw new Error(`ITD Reference Error: You must declare the 'setValue' function on the field "${e}"`);{let o=x(e),i=!1;i=Array.isArray(o)&&Array.isArray(t)?xi(o,t):Array.isArray(o)||Array.isArray(t)?o.toString()===t.toString():o===t,i||a[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){a[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 a[e],b()):console.error(`ITD Form Error [unregister]: There is no field registered with this name: ${e}`)},checkFormIsValid:b,hasField:h,getValues:g,getFieldValue:function(e){return h(e)?(t=a[e].value)instanceof Object?JSON.stringify(t):t:"";var t},getFieldValueByName:x,getFieldInstance:function(e){return h(e)?a[e].field.current:null},getFields:function(){let e={};return Object.keys(a).forEach(t=>{e[t]=a[t]}),e},getFieldsInstance:function(){let e={};return Object.keys(a).forEach(t=>{e[t]=a[t].field.current}),e},setName:function(e){d(e)},setInitialValues:function(e,n=!0,o=!1){Object.keys(e).forEach(t=>{v(t,e[t],n,o)});let i={};return Object.keys(e).forEach(t=>{i[t]=e[t]}),n&&(t&&f(i),r&&r(i)),b(),i},setInvalidField:function(e="",t=""){m(e,t),b()},setInvalidFields:function(e=[],t=""){e.forEach(e=>{m(e,t)}),b()},setFieldValue:function(e,t){h(e)?(a[e].valid=!1,a[e].field.current?.setValue(t)):console.error(`ITD Form Error [setFieldValue]: There is no field registered with this name: ${e}`)},setFieldValueByName:v,setFieldError:m,removeFieldError:function(e){if(h(e)){if(a[e].valid=!0,a[e].error="",!a[e].field.current?.hasOwnProperty("setError"))throw new Error(`ITD Reference Error: You must declare the 'setError' function on the field "${e}"`);a[e].field.current?.setError("")}else console.error(`ITD Form Error [removeFieldError]: There is no field registered with this name: ${e}`)},updateField:function(e,n,o,s){if(h(e)){if(a[e].value=n,a[e].valid=s,o){i&&i({name:e,value:n,valid:s}),a[e].reset.length>0&&a[e].reset.forEach(e=>{a[e].value="",a[e].valid=!1,a[e].field.current?.reset(!1)});let o={...g(),[e]:n};a[e].reset.length>0&&a[e].reset.forEach(e=>{o[e]=""}),t&&s&&f(o),r&&r(o)}b()}else console.error(`ITD Form Error [updateField]: There is no field registered with this name: ${e}`)},isFormValid:n.useCallback(()=>c,[c]),isFieldsValid:function(e){let t=!0;return e.forEach(e=>{a[e].valid||(t=!1)}),t},isFieldValid:function(e){return a[e].valid},resetFields:function(e=!1,t=!1){Object.keys(a).forEach(r=>{if(!a[r].field.current?.hasOwnProperty("reset"))throw new Error(`ITD Reference Error: You must declare the 'reset' function on the field "${r}"`);a[r].field.current?.reset(e,t)}),o&&o()},removeFields:function(){s({})},formId:l,updated:p}}const hc=n.forwardRef(({initialValues:e,children:t,onUpdate:o,onReset:i,onFinish:a,onFinishFailed:s,onFieldUpdate:l,onValidated:d,useQueryString:c,className:u,name:p},f)=>{const h=n.useRef(null);n.useEffect(()=>()=>{h.current=null},[]),h.current=fc({name:p,onUpdate:o,onReset:i,onFieldUpdate:l,useQueryString:c}),n.useImperativeHandle(f,()=>h.current);return r.jsx(dc.Provider,{value:h.current,children:r.jsx(pc,{initialValues:e,useQueryString:c,onUpdate:o,onFinish:a,onFinishFailed:s,onValidated:d,name:p,className:(()=>{let e="itd-form";return p&&(e+=" "+p),u&&(e+=" "+u),e})(),children:t})})});hc.Item=cc,hc.Group=function({gap:e=15,horizontal:t=!1,className:n,children:o}){const i=()=>{let e="itd-form-group";return n&&(e+=" "+n),e};return r.jsx(Bd,{className:i(),$gap:e,$horizontal:t,children:o})},hc.Control=function({position:e="end",className:t,children:n}){const o=()=>{let e="itd-form-control";return t&&(e+=" "+t),e};return r.jsx(Hd,{className:o(),$position:e,children:n})},hc.useForm=()=>n.useContext(dc),hc.useFormAPI=()=>{const e=n.useContext(dc);if(!e)throw new Error("useFormAPI must be used within a FormContext.Provider");return e};const gc=l.div`
2385
+ `;const Ud=new RegExp(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+([.])[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)*$/),Yd=new RegExp(/^[a-zA-Z0-9_.-]+$/),Gd=new RegExp(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+={};:<>|./?,"'\[\]\\`~\-])[a-zA-Z\d$begin:math:display$$end:math:display$\\`~!@#$%^&*()_+={};:<>|.\/?,"'-]{8,60}$/),Wd=new RegExp(/^[a-z0-9._-]+$/),qd=new RegExp(/^[a-zA-Z0-9]+$/),Xd=new RegExp(/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/);const Kd=e=>Gd.test(e),Jd=e=>Ud.test(e),Zd=e=>Yd.test(e),Qd=(e,t)=>e.length>=t,ec=(e,t)=>e.length<=t,tc=(e,t)=>e===t,rc=(e,t)=>e!==t,nc=(e,t)=>e.length===t,oc=e=>Wd.test(e),ic=e=>qd.test(e),ac=e=>Xd.test(e),sc=e=>function(e){var t,r=0,n=0,o=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(o=0;o<10;o++)n+=parseInt(e[o]);return n%10==Number(e[10])}(e),lc=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},dc=n.createContext({});dc.displayName="ITDFormContext";const cc=n.forwardRef(({name:e="",label:r="",placeholder:o="",error:i="",rules:a=[],mask:s=null,locked:l=!1,dependency:d="",reset:c=[],query:u="",children:p=null},f)=>{const{t:g}=t.useTranslation("itd"),m=n.useRef(null),b=n.useRef(""),{register:x,unregister:v,hasField:y,updateField:A,setFieldError:w,getFieldValue:k,getFieldInstance:S,formId:_}=n.useContext(dc),[E,C]=n.useState(!1);n.useEffect(()=>(x({name:e,field:m,valid:L(m.current?.getValue(),!1),query:u,reset:c,error:i}),C(!0),b.current=JSON.stringify(a),()=>{C(!1),v(e)}),[]),n.useEffect(()=>{const t=JSON.stringify(a);if(E&&m.current&&b.current!==t){const r=()=>{const t=m.current.getValue(),r=a.find(e=>e.hasOwnProperty("required"));if(!r||r.required||""!==t&&null!=t){const r=L(t,!1);y(e)&&A(e,t,!1,r)}else w(e,"",!0),y(e)&&A(e,t,!1,!0)};"development"===process.env.NODE_ENV?requestAnimationFrame(r):r(),b.current=t}},[a,E]),n.useImperativeHandle(f,()=>m.current);const $=(t,r=!0,n=!0)=>{E&&y(e)&&(A(e,t,r,L(t,n)),j())},L=(t,r=!0)=>{const n=function(e,t,r,n){let o=[];return e.forEach(e=>{e.hasOwnProperty(h.REQUIRED)&&!lc(t)&&e.required&&o.push(e.message?e.message:n("errors.required")),e.hasOwnProperty(h.TYPE)&&(e.type===exports.FormValidationTypes.MIN_LENGTH&&(Qd(String(t),Number(e.value))||o.push(e.message?e.message:n("errors.minLength",{length:Number(e.value)}))),e.type===exports.FormValidationTypes.MAX_LENGTH&&(ec(String(t),Number(e.value))||o.push(e.message?e.message:n("errors.maxLength",{length:Number(e.value)}))),e.type===exports.FormValidationTypes.EXACT_LENGTH&&(nc(String(t),Number(e.value))||o.push(e.message?e.message:n("errors.exactLength",{length:Number(e.value)}))),e.type===exports.FormValidationTypes.SAME&&(tc(String(t),String(r(String(e.field))))||o.push(e.message?e.message:n("errors.fieldMustBeTheSame",{fields:e.field}))),e.type===exports.FormValidationTypes.NOT_SAME&&(rc(String(t),String(r(String(e.field))))||o.push(e.message?e.message:n("errors.fieldMustBeDifferent",{fields:e.field}))),e.type===exports.FormValidationTypes.TC_IDENTITY&&(sc(String(t))||o.push(e.message?e.message:n("errors.wrongTCIdentity"))),e.type===exports.FormValidationTypes.PASSWORD&&(Kd(String(t))||o.push(e.message?e.message:n("errors.passwordRule"))),e.type===exports.FormValidationTypes.EMAIL&&(Jd(String(t))||o.push(e.message?e.message:n("errors.invalidEmailAddress"))),e.type===exports.FormValidationTypes.USERNAME&&(Zd(String(t))||o.push(e.message?e.message:n("errors.usernameRule"))),e.type===exports.FormValidationTypes.SITE_USERNAME&&(oc(String(t))||o.push(e.message?e.message:n("errors.siteUsernameRule"))),e.type===exports.FormValidationTypes.ADMIN_USERNAME&&(ic(String(t))||o.push(e.message?e.message:n("errors.adminUsernameRule"))),e.type===exports.FormValidationTypes.URL&&(ac(String(t))||o.push(e.message?e.message:n("errors.invalidURL"))))}),o}(a,t,k,g);return n.length>0?!!(r||""!==t&&null!=t)&&(r&&w(e,n[0],r),!1):(r&&w(e,""),!0)},j=()=>{if(""===d)return;if(""===k(d))return;const e=S(d);e&&e.forceUpdate&&e.forceUpdate()};return(()=>{if(!p)return null;let t=p.props;const i={id:t.id?t.id:_+"_"+e,label:r,placeholder:o,className:t.className?t.className+" itd-form-item":"itd-form-item",onUpdate:$,ref:m};return s&&(i.mask=s),l&&(i.locked=l),n.cloneElement(p,{...t,...i})})()}),uc=n.forwardRef(({name:e="",className:t="",initialValues:o={},useQueryString:i=!1,onUpdate:s,onFinish:l,onFinishFailed:c,onValidated:u,children:p},f)=>{const{updated:h,setInitialValues:g,isFormValid:m,getValues:b,getFields:x,setFieldValueByName:v,resetFields:y}=n.useContext(dc),A=I(),{search:w}=a.useLocation(),k=R(),[S,_]=n.useState([]),[E,C]=n.useState(!1),[$,L]=n.useState([]),[j,F]=n.useState(!1),[z,N]=n.useState(!1);n.useEffect(()=>{p&&B()},[p]),n.useEffect(()=>{M(),D()},[j]),n.useEffect(()=>{j||0!==Object.keys(x()).length&&0!==$.length&&Object.keys(x()).length===$.length&&F(!0)},[x(),$]),n.useEffect(()=>{D()},[o]),n.useEffect(()=>{M()},[w]),n.useEffect(()=>{z&&j&&i&&Object.keys(h).length>0&&P(h)},[h]),n.useEffect(()=>{u&&m()!==E&&u(m()),C(m())},[m()]);const M=()=>{j&&i&&(V(),z||O())},D=()=>{j&&(i||z||T())},T=()=>{const e=!Object.values(o).some(e=>null!==e&&""!==e);e&&!z&&N(!0),e||z||(g(o,!1),N(!0))},O=()=>{const e=x(),t=!Object.values(e).some(e=>""!==A.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&&!z&&N(!0),!t&&!z){let t={};Object.keys(e).forEach(r=>{t[r]=A.get(e[r].query,"")}),g(t,!0,!0),N(!0)}},P=e=>{let t=[],r=[];const n=x();Object.keys(e).forEach(t=>{r.push(e[t])}),xi(r,S)||(Object.keys(n).forEach(r=>{t.push({type:n[r].query,value:e[r]})}),k.set(t))},V=()=>{let e=[],t=[];const r=x();if(Object.keys(r).forEach(t=>{let n=String(A.get(r[t].query,""));e.push(n)}),xi(e,S))return;_(e),Object.keys(r).forEach(e=>{t[e]=A.get(r[e].query,"")}),Object.keys(t).forEach(e=>{v(e,t[e],!1,!1)});let n={};Object.keys(t).forEach(e=>{n[e]=t[e]}),s&&s(n)},B=()=>{let e=[];d.getChildrenDeep(p,t=>(t.hasOwnProperty("type")&&t.type===cc&&e.push({[t.props.name]:t}),!0)),L(e)};return n.useImperativeHandle(f,()=>({fieldUpdate(e){console.log("fieldUpdate"),console.log(e)}})),r.jsx("form",{id:e,onSubmit:e=>{e&&(e.preventDefault(),e.stopPropagation()),m()?l&&l(b()):c&&c(x())},onReset:e=>{e&&(e.preventDefault(),e.stopPropagation());let t=[];Object.keys(x()).map(e=>{t.push({type:e,value:""})}),k.set(t),y(!0,!1)},autoComplete:"off",className:t,noValidate:!0,children:p})});var pc=n.memo(uc);function fc({name:e="",useQueryString:t=!1,onUpdate:r,onReset:o,onFieldUpdate:i}){const[a,s]=n.useState({}),[l,d]=n.useState(e),[c,u]=n.useState(!1),[p,f]=n.useState({});function h(e){return a.hasOwnProperty(e)&&void 0!==a[e]}function g(){let e={};return Object.keys(a).forEach(t=>{e[t]=x(t)}),e}function m(e,t,r=!0){if(h(e)&&a[e].field.current){if(a[e].valid=!1,a[e].error=t,!a[e].field.current?.hasOwnProperty("setError"))throw new Error(`ITD Reference Error: You must declare the 'setError' function on the field "${e}"`);a[e].field.current?.setError(r?t:"")}}function b(){let e=!0;return Object.keys(a).forEach(t=>{a[t].valid||(e=!1)}),u(e),e}function x(e){if(h(e)){if(a[e].field.current?.hasOwnProperty("getValue"))return a[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 v(e,t,r,n){if(h(e)){if(!a[e].field.current?.hasOwnProperty("setValue"))throw new Error(`ITD Reference Error: You must declare the 'setValue' function on the field "${e}"`);{let o=x(e),i=!1;i=Array.isArray(o)&&Array.isArray(t)?xi(o,t):Array.isArray(o)||Array.isArray(t)?o.toString()===t.toString():o===t,i||a[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){a[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 a[e],b()):console.error(`ITD Form Error [unregister]: There is no field registered with this name: ${e}`)},checkFormIsValid:b,hasField:h,getValues:g,getFieldValue:function(e){return h(e)?(t=a[e].value)instanceof Object?JSON.stringify(t):t:"";var t},getFieldValueByName:x,getFieldInstance:function(e){return h(e)?a[e].field.current:null},getFields:function(){let e={};return Object.keys(a).forEach(t=>{e[t]=a[t]}),e},getFieldsInstance:function(){let e={};return Object.keys(a).forEach(t=>{e[t]=a[t].field.current}),e},setName:function(e){d(e)},setInitialValues:function(e,n=!0,o=!1){Object.keys(e).forEach(t=>{v(t,e[t],n,o)});let i={};return Object.keys(e).forEach(t=>{i[t]=e[t]}),n&&(t&&f(i),r&&r(i)),b(),i},setInvalidField:function(e="",t=""){m(e,t),b()},setInvalidFields:function(e=[],t=""){e.forEach(e=>{m(e,t)}),b()},setFieldValue:function(e,t){h(e)?a[e].field.current?.setValue(t,!0,!0):console.error(`ITD Form Error [setFieldValue]: There is no field registered with this name: ${e}`)},setFieldValueByName:v,setFieldError:m,removeFieldError:function(e){if(h(e)){if(a[e].valid=!0,a[e].error="",!a[e].field.current?.hasOwnProperty("setError"))throw new Error(`ITD Reference Error: You must declare the 'setError' function on the field "${e}"`);a[e].field.current?.setError("")}else console.error(`ITD Form Error [removeFieldError]: There is no field registered with this name: ${e}`)},updateField:function(e,n,o,s){if(h(e)){if(a[e].value=n,a[e].valid=s,o){i&&i({name:e,value:n,valid:s}),a[e].reset.length>0&&a[e].reset.forEach(e=>{a[e].value="",a[e].valid=!1,a[e].field.current?.reset(!1)});let o={...g(),[e]:n};a[e].reset.length>0&&a[e].reset.forEach(e=>{o[e]=""}),t&&s&&f(o),r&&r(o)}b()}else console.error(`ITD Form Error [updateField]: There is no field registered with this name: ${e}`)},isFormValid:n.useCallback(()=>c,[c]),isFieldsValid:function(e){let t=!0;return e.forEach(e=>{a[e].valid||(t=!1)}),t},isFieldValid:function(e){return a[e].valid},resetFields:function(e=!1,t=!1){Object.keys(a).forEach(r=>{if(!a[r].field.current?.hasOwnProperty("reset"))throw new Error(`ITD Reference Error: You must declare the 'reset' function on the field "${r}"`);a[r].field.current?.reset(e,t)}),o&&o()},removeFields:function(){s({})},formId:l,updated:p}}const hc=n.forwardRef(({initialValues:e,children:t,onUpdate:o,onReset:i,onFinish:a,onFinishFailed:s,onFieldUpdate:l,onValidated:d,useQueryString:c,className:u,name:p},f)=>{const h=n.useRef(null);n.useEffect(()=>()=>{h.current=null},[]),h.current=fc({name:p,onUpdate:o,onReset:i,onFieldUpdate:l,useQueryString:c}),n.useImperativeHandle(f,()=>h.current);return r.jsx(dc.Provider,{value:h.current,children:r.jsx(pc,{initialValues:e,useQueryString:c,onUpdate:o,onFinish:a,onFinishFailed:s,onValidated:d,name:p,className:(()=>{let e="itd-form";return p&&(e+=" "+p),u&&(e+=" "+u),e})(),children:t})})});hc.Item=cc,hc.Group=function({gap:e=15,horizontal:t=!1,className:n,children:o}){const i=()=>{let e="itd-form-group";return n&&(e+=" "+n),e};return r.jsx(Bd,{className:i(),$gap:e,$horizontal:t,children:o})},hc.Control=function({position:e="end",className:t,children:n}){const o=()=>{let e="itd-form-control";return t&&(e+=" "+t),e};return r.jsx(Hd,{className:o(),$position:e,children:n})},hc.useForm=()=>n.useContext(dc),hc.useFormAPI=()=>{const e=n.useContext(dc);if(!e)throw new Error("useFormAPI must be used within a FormContext.Provider");return e};const gc=l.div`
2386
2386
 
2387
2387
  &.itd-accordion-menu-sub-menu {
2388
2388
 
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 eu=new RegExp(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+([.])[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)*$/),tu=new RegExp(/^[a-zA-Z0-9_.-]+$/),ru=new RegExp(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+={};:<>|./?,"'\[\]\\`~\-])[a-zA-Z\d$begin:math:display$$end:math:display$\\`~!@#$%^&*()_+={};:<>|.\/?,"'-]{8,60}$/),nu=new RegExp(/^[a-z0-9._-]+$/),iu=new RegExp(/^[a-zA-Z0-9]+$/),ou=new RegExp(/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/);const au=e=>ru.test(e),lu=e=>eu.test(e),su=e=>tu.test(e),du=(e,t)=>e.length>=t,cu=(e,t)=>e.length<=t,uu=(e,t)=>e===t,pu=(e,t)=>e!==t,fu=(e,t)=>e.length===t,hu=e=>nu.test(e),gu=e=>iu.test(e),mu=e=>ou.test(e),bu=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),vu=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},xu=m({});xu.displayName="ITDFormContext";const yu=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:$,getFieldValue:E,getFieldInstance:C,formId:L}=u(xu),[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,"",!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=>{e.hasOwnProperty(V.REQUIRED)&&!vu(t)&&e.required&&i.push(e.message?e.message:n("errors.required")),e.hasOwnProperty(V.TYPE)&&(e.type===H.MIN_LENGTH&&(du(String(t),Number(e.value))||i.push(e.message?e.message:n("errors.minLength",{length:Number(e.value)}))),e.type===H.MAX_LENGTH&&(cu(String(t),Number(e.value))||i.push(e.message?e.message:n("errors.maxLength",{length:Number(e.value)}))),e.type===H.EXACT_LENGTH&&(fu(String(t),Number(e.value))||i.push(e.message?e.message:n("errors.exactLength",{length:Number(e.value)}))),e.type===H.SAME&&(uu(String(t),String(r(String(e.field))))||i.push(e.message?e.message:n("errors.fieldMustBeTheSame",{fields:e.field}))),e.type===H.NOT_SAME&&(pu(String(t),String(r(String(e.field))))||i.push(e.message?e.message:n("errors.fieldMustBeDifferent",{fields:e.field}))),e.type===H.TC_IDENTITY&&(bu(String(t))||i.push(e.message?e.message:n("errors.wrongTCIdentity"))),e.type===H.PASSWORD&&(au(String(t))||i.push(e.message?e.message:n("errors.passwordRule"))),e.type===H.EMAIL&&(lu(String(t))||i.push(e.message?e.message:n("errors.invalidEmailAddress"))),e.type===H.USERNAME&&(su(String(t))||i.push(e.message?e.message:n("errors.usernameRule"))),e.type===H.SITE_USERNAME&&(hu(String(t))||i.push(e.message?e.message:n("errors.siteUsernameRule"))),e.type===H.ADMIN_USERNAME&&(gu(String(t))||i.push(e.message?e.message:n("errors.adminUsernameRule"))),e.type===H.URL&&(mu(String(t))||i.push(e.message?e.message:n("errors.invalidURL"))))}),i}(o,t,E,v);return n.length>0?!!(r||""!==t&&null!=t)&&(r&&$(e,n[0],r),!1):(r&&$(e,""),!0)},M=()=>{if(""===p)return;if(""===E(p))return;const e=C(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})})()}),Au=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(xu),w=fe(),{search:k}=z(),_=he(),[S,$]=s([]),[E,C]=s(!1),[L,F]=s([]),[N,D]=s(!1),[M,T]=s(!1);d(()=>{p&&j()},[p]),d(()=>{O(),P()},[N]),d(()=>{N||0!==Object.keys(v()).length&&0!==L.length&&Object.keys(v()).length===L.length&&D(!0)},[v(),L]),d(()=>{P()},[r]),d(()=>{O()},[k]),d(()=>{M&&N&&i&&Object.keys(h).length>0&&V(h)},[h]),d(()=>{c&&m()!==E&&c(m()),C(m())},[m()]);const O=()=>{N&&i&&(H(),M||B())},P=()=>{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))},B=()=>{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])}),Ca(r,S)||(Object.keys(n).forEach(r=>{t.push({type:n[r].query,value:e[r]})}),_.set(t))},H=()=>{let e=[],t=[];const r=v();if(Object.keys(r).forEach(t=>{let n=String(w.get(r[t].query,""));e.push(n)}),Ca(e,S))return;$(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)},j=()=>{let e=[];I(p,t=>(t.hasOwnProperty("type")&&t.type===yu&&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 wu=f(Au);function ku({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(){let e={};return Object.keys(o).forEach(t=>{e[t]=x(t)}),e}function m(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 v(){let e=!0;return Object.keys(o).forEach(t=>{o[t].valid||(e=!1)}),u(e),e}function x(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 y(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=x(e),a=!1;a=Array.isArray(i)&&Array.isArray(t)?Ca(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],v()):console.error(`ITD Form Error [unregister]: There is no field registered with this name: ${e}`)},checkFormIsValid:v,hasField:h,getValues:g,getFieldValue:function(e){return h(e)?(t=o[e].value)instanceof Object?JSON.stringify(t):t:"";var t},getFieldValueByName:x,getFieldInstance:function(e){return h(e)?o[e].field.current:null},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=>{y(t,e[t],n,i)});let o={};return Object.keys(e).forEach(t=>{o[t]=e[t]}),n&&(t&&f(o),r&&r(o)),v(),o},setInvalidField:function(e="",t=""){m(e,t),v()},setInvalidFields:function(e=[],t=""){e.forEach(e=>{m(e,t)}),v()},setFieldValue:function(e,t){h(e)?(o[e].valid=!1,o[e].field.current?.setValue(t)):console.error(`ITD Form Error [setFieldValue]: There is no field registered with this name: ${e}`)},setFieldValueByName:y,setFieldError:m,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={...g(),[e]:n};o[e].reset.length>0&&o[e].reset.forEach(e=>{a[e]=""}),t&&l&&f(a),r&&r(a)}v()}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 _u=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=ku({name:f,onUpdate:r,onReset:i,onFieldUpdate:l,useQueryString:u}),y(h,()=>g.current);return n(xu.Provider,{value:g.current,children:n(wu,{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})})});_u.Item=yu,_u.Group=function({gap:e=15,horizontal:t=!1,className:r,children:i}){return n(Zc,{className:(()=>{let e="itd-form-group";return r&&(e+=" "+r),e})(),$gap:e,$horizontal:t,children:i})},_u.Control=function({position:e="end",className:t,children:r}){return n(Qc,{className:(()=>{let e="itd-form-control";return t&&(e+=" "+t),e})(),$position:e,children:r})},_u.useForm=()=>u(xu),_u.useFormAPI=()=>{const e=u(xu);if(!e)throw new Error("useFormAPI must be used within a FormContext.Provider");return e};const Su=M.div`
2385
+ `;const eu=new RegExp(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+([.])[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)*$/),tu=new RegExp(/^[a-zA-Z0-9_.-]+$/),ru=new RegExp(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+={};:<>|./?,"'\[\]\\`~\-])[a-zA-Z\d$begin:math:display$$end:math:display$\\`~!@#$%^&*()_+={};:<>|.\/?,"'-]{8,60}$/),nu=new RegExp(/^[a-z0-9._-]+$/),iu=new RegExp(/^[a-zA-Z0-9]+$/),ou=new RegExp(/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/);const au=e=>ru.test(e),lu=e=>eu.test(e),su=e=>tu.test(e),du=(e,t)=>e.length>=t,cu=(e,t)=>e.length<=t,uu=(e,t)=>e===t,pu=(e,t)=>e!==t,fu=(e,t)=>e.length===t,hu=e=>nu.test(e),gu=e=>iu.test(e),mu=e=>ou.test(e),bu=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),vu=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},xu=m({});xu.displayName="ITDFormContext";const yu=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:$,getFieldValue:E,getFieldInstance:C,formId:L}=u(xu),[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,"",!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=>{e.hasOwnProperty(V.REQUIRED)&&!vu(t)&&e.required&&i.push(e.message?e.message:n("errors.required")),e.hasOwnProperty(V.TYPE)&&(e.type===H.MIN_LENGTH&&(du(String(t),Number(e.value))||i.push(e.message?e.message:n("errors.minLength",{length:Number(e.value)}))),e.type===H.MAX_LENGTH&&(cu(String(t),Number(e.value))||i.push(e.message?e.message:n("errors.maxLength",{length:Number(e.value)}))),e.type===H.EXACT_LENGTH&&(fu(String(t),Number(e.value))||i.push(e.message?e.message:n("errors.exactLength",{length:Number(e.value)}))),e.type===H.SAME&&(uu(String(t),String(r(String(e.field))))||i.push(e.message?e.message:n("errors.fieldMustBeTheSame",{fields:e.field}))),e.type===H.NOT_SAME&&(pu(String(t),String(r(String(e.field))))||i.push(e.message?e.message:n("errors.fieldMustBeDifferent",{fields:e.field}))),e.type===H.TC_IDENTITY&&(bu(String(t))||i.push(e.message?e.message:n("errors.wrongTCIdentity"))),e.type===H.PASSWORD&&(au(String(t))||i.push(e.message?e.message:n("errors.passwordRule"))),e.type===H.EMAIL&&(lu(String(t))||i.push(e.message?e.message:n("errors.invalidEmailAddress"))),e.type===H.USERNAME&&(su(String(t))||i.push(e.message?e.message:n("errors.usernameRule"))),e.type===H.SITE_USERNAME&&(hu(String(t))||i.push(e.message?e.message:n("errors.siteUsernameRule"))),e.type===H.ADMIN_USERNAME&&(gu(String(t))||i.push(e.message?e.message:n("errors.adminUsernameRule"))),e.type===H.URL&&(mu(String(t))||i.push(e.message?e.message:n("errors.invalidURL"))))}),i}(o,t,E,v);return n.length>0?!!(r||""!==t&&null!=t)&&(r&&$(e,n[0],r),!1):(r&&$(e,""),!0)},M=()=>{if(""===p)return;if(""===E(p))return;const e=C(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})})()}),Au=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(xu),w=fe(),{search:k}=z(),_=he(),[S,$]=s([]),[E,C]=s(!1),[L,F]=s([]),[N,D]=s(!1),[M,T]=s(!1);d(()=>{p&&j()},[p]),d(()=>{O(),P()},[N]),d(()=>{N||0!==Object.keys(v()).length&&0!==L.length&&Object.keys(v()).length===L.length&&D(!0)},[v(),L]),d(()=>{P()},[r]),d(()=>{O()},[k]),d(()=>{M&&N&&i&&Object.keys(h).length>0&&V(h)},[h]),d(()=>{c&&m()!==E&&c(m()),C(m())},[m()]);const O=()=>{N&&i&&(H(),M||B())},P=()=>{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))},B=()=>{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])}),Ca(r,S)||(Object.keys(n).forEach(r=>{t.push({type:n[r].query,value:e[r]})}),_.set(t))},H=()=>{let e=[],t=[];const r=v();if(Object.keys(r).forEach(t=>{let n=String(w.get(r[t].query,""));e.push(n)}),Ca(e,S))return;$(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)},j=()=>{let e=[];I(p,t=>(t.hasOwnProperty("type")&&t.type===yu&&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 wu=f(Au);function ku({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(){let e={};return Object.keys(o).forEach(t=>{e[t]=x(t)}),e}function m(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 v(){let e=!0;return Object.keys(o).forEach(t=>{o[t].valid||(e=!1)}),u(e),e}function x(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 y(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=x(e),a=!1;a=Array.isArray(i)&&Array.isArray(t)?Ca(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],v()):console.error(`ITD Form Error [unregister]: There is no field registered with this name: ${e}`)},checkFormIsValid:v,hasField:h,getValues:g,getFieldValue:function(e){return h(e)?(t=o[e].value)instanceof Object?JSON.stringify(t):t:"";var t},getFieldValueByName:x,getFieldInstance:function(e){return h(e)?o[e].field.current:null},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=>{y(t,e[t],n,i)});let o={};return Object.keys(e).forEach(t=>{o[t]=e[t]}),n&&(t&&f(o),r&&r(o)),v(),o},setInvalidField:function(e="",t=""){m(e,t),v()},setInvalidFields:function(e=[],t=""){e.forEach(e=>{m(e,t)}),v()},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:y,setFieldError:m,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={...g(),[e]:n};o[e].reset.length>0&&o[e].reset.forEach(e=>{a[e]=""}),t&&l&&f(a),r&&r(a)}v()}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 _u=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=ku({name:f,onUpdate:r,onReset:i,onFieldUpdate:l,useQueryString:u}),y(h,()=>g.current);return n(xu.Provider,{value:g.current,children:n(wu,{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})})});_u.Item=yu,_u.Group=function({gap:e=15,horizontal:t=!1,className:r,children:i}){return n(Zc,{className:(()=>{let e="itd-form-group";return r&&(e+=" "+r),e})(),$gap:e,$horizontal:t,children:i})},_u.Control=function({position:e="end",className:t,children:r}){return n(Qc,{className:(()=>{let e="itd-form-control";return t&&(e+=" "+t),e})(),$position:e,children:r})},_u.useForm=()=>u(xu),_u.useFormAPI=()=>{const e=u(xu);if(!e)throw new Error("useFormAPI must be used within a FormContext.Provider");return e};const Su=M.div`
2386
2386
 
2387
2387
  &.itd-accordion-menu-sub-menu {
2388
2388
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inntechcorp/it-design",
3
- "version": "2.2.69",
3
+ "version": "2.2.70",
4
4
  "description": "All in one Design library for web applications.",
5
5
  "author": "Inn.Tech",
6
6
  "license": "ISC",