UNPKG

react-magic-form

Version:

Boilerplate for Resact with Typescript with rollup.js (not webpack)

3 lines (2 loc) 38.3 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),a=require("react-hook-form");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=t(e),l=function(){return(l=Object.assign||function(e){for(var a,t=1,n=arguments.length;t<n;t++)for(var l in a=arguments[t])Object.prototype.hasOwnProperty.call(a,l)&&(e[l]=a[l]);return e}).apply(this,arguments)};function r(e,a,t,n){return new(t||(t=Promise))((function(l,r){function i(e){try{d(n.next(e))}catch(e){r(e)}}function o(e){try{d(n.throw(e))}catch(e){r(e)}}function d(e){var a;e.done?l(e.value):(a=e.value,a instanceof t?a:new t((function(e){e(a)}))).then(i,o)}d((n=n.apply(e,a||[])).next())}))}function i(e,a){var t,n,l,r,i={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]};return r={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function o(r){return function(o){return function(r){if(t)throw new TypeError("Generator is already executing.");for(;i;)try{if(t=1,n&&(l=2&r[0]?n.return:r[0]?n.throw||((l=n.return)&&l.call(n),0):n.next)&&!(l=l.call(n,r[1])).done)return l;switch(n=0,l&&(r=[2&r[0],l.value]),r[0]){case 0:case 1:l=r;break;case 4:return i.label++,{value:r[1],done:!1};case 5:i.label++,n=r[1],r=[0];continue;case 7:r=i.ops.pop(),i.trys.pop();continue;default:if(!(l=i.trys,(l=l.length>0&&l[l.length-1])||6!==r[0]&&2!==r[0])){i=0;continue}if(3===r[0]&&(!l||r[1]>l[0]&&r[1]<l[3])){i.label=r[1];break}if(6===r[0]&&i.label<l[1]){i.label=l[1],l=r;break}if(l&&i.label<l[2]){i.label=l[2],i.ops.push(r);break}l[2]&&i.ops.pop(),i.trys.pop();continue}r=a.call(e,i)}catch(e){r=[6,e],n=0}finally{t=l=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,o])}}}function o(e,a){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var n,l,r=t.call(e),i=[];try{for(;(void 0===a||a-- >0)&&!(n=r.next()).done;)i.push(n.value)}catch(e){l={error:e}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(l)throw l.error}}return i}var d=function(t){var l,r,i,d=a.useFormContext(),u=d.register,m=d.errors,c=d.setValue,s=d.trigger,f=o(e.useState({}),2),p=f[0],g=f[1],v=o(e.useState(!1),2),h=v[0],b=v[1];e.useEffect((function(){var e=t.validation;g(e)}),[]);return n.default.createElement(n.default.Fragment,null,n.default.createElement("div",{className:"fg__checkbox-wrapper"},n.default.createElement("input",{id:t.id,type:"checkbox",className:"form-control "+(m[t.name]?"is-invalid ":" "),name:t.name,checked:h,onChange:function(e){},autoComplete:t.autocomplete?t.autocomplete:"off",ref:u(p)}),n.default.createElement("span",{className:"checkmark",onClick:function(){c(t.name,!h),b(!h),s()}}),n.default.createElement("div",{className:"fg__checkbox-text",dangerouslySetInnerHTML:{__html:t.placeholder}})),n.default.createElement("div",{className:"invalid-feedback"},"required"==(null===(l=m[t.name])||void 0===l?void 0:l.type)?n.default.createElement(n.default.Fragment,null,""===(null===(r=m[t.name])||void 0===r?void 0:r.message)?n.default.createElement("span",null,"Il campo è richiesto"):n.default.createElement("span",null,null===(i=m[t.name])||void 0===i?void 0:i.message)):n.default.createElement(n.default.Fragment,null)))},u=function(t){var r,i,d,u,m,c,s,f,p,g,v,h,b,x,E,_,F,y,w=a.useFormContext(),k=w.register,G=w.errors,M=w.watch,z=w.setError,L=w.clearErrors,S=o(e.useState({}),2),N=S[0],q=S[1],I=o(e.useState(0),2),T=I[0],C=I[1],D=o(e.useState(0),2),R=D[0],U=D[1];return e.useEffect((function(){var e=t.validation;if(t.validation.minLength&&(t.validation.minLength.value?C(parseInt(t.validation.minLength.value)):C(parseInt(t.validation.minLength))),t.validation.maxLength&&(t.validation.maxLength.value?U(parseInt(t.validation.maxLength.value)):U(parseInt(t.validation.maxLength))),void 0!==t.validation.equalTo&&t.validation.equalTo.value){var a=t.validation.equalTo.value;e.validate=function(e){return e===M(a)}}q(l(l({},e),{pattern:/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/}))}),[]),e.useEffect((function(){var e;"validate"==(null===(e=G[t.name])||void 0===e?void 0:e.type)&&t.validation.equalTo.value&&(z("repeatEmail",{type:"equalTo",message:"I due indirizzi email devono coincidere"}),L("validate"))}),[G]),n.default.createElement(n.default.Fragment,null,n.default.createElement("input",{id:t.id,type:"email",className:"form-control "+(G[t.name]?"is-invalid ":" "),placeholder:t.placeholder,name:t.name,autoComplete:t.autocomplete?t.autocomplete:"off",ref:k(N)}),n.default.createElement("div",{className:"invalid-feedback"},"required"==(null===(r=G[t.name])||void 0===r?void 0:r.type)?n.default.createElement(n.default.Fragment,null,""===(null===(i=G[t.name])||void 0===i?void 0:i.message)?n.default.createElement("span",null,"Il campo email è richiesto"):n.default.createElement("span",null,null===(d=G[t.name])||void 0===d?void 0:d.message)):n.default.createElement(n.default.Fragment,null),"minLength"==(null===(u=G[t.name])||void 0===u?void 0:u.type)?n.default.createElement(n.default.Fragment,null,""===(null===(m=G[t.name])||void 0===m?void 0:m.message)?n.default.createElement("span",null,"La lunghezza minima è ",T," caratteri"):n.default.createElement("span",null,null===(c=G[t.name])||void 0===c?void 0:c.message)):n.default.createElement(n.default.Fragment,null),"maxLength"==(null===(s=G[t.name])||void 0===s?void 0:s.type)?n.default.createElement(n.default.Fragment,null,""===(null===(f=G[t.name])||void 0===f?void 0:f.message)?n.default.createElement("span",null,"La lunghezza massima è ",R," caratteri"):n.default.createElement("span",null,null===(p=G[t.name])||void 0===p?void 0:p.message)):n.default.createElement(n.default.Fragment,null),"pattern"==(null===(g=G[t.name])||void 0===g?void 0:g.type)?n.default.createElement(n.default.Fragment,null,""===(null===(v=G[t.name])||void 0===v?void 0:v.message)?n.default.createElement("span",null,"Inserire un&aposindirizzo email valido"):n.default.createElement("span",null,null===(h=G[t.name])||void 0===h?void 0:h.message)):n.default.createElement(n.default.Fragment,null),"validate"==(null===(b=G[t.name])||void 0===b?void 0:b.type)?n.default.createElement(n.default.Fragment,null,""===(null===(x=G[t.name])||void 0===x?void 0:x.message)?n.default.createElement("span",null,"Rispettare le regole di validazione"):n.default.createElement("span",null,null===(E=G[t.name])||void 0===E?void 0:E.message)):n.default.createElement(n.default.Fragment,null),"equalTo"==(null===(_=G[t.name])||void 0===_?void 0:_.type)?n.default.createElement(n.default.Fragment,null,""===(null===(F=G[t.name])||void 0===F?void 0:F.message)?n.default.createElement("span",null,"I due campi devono essere uguali"):n.default.createElement("span",null,null===(y=G[t.name])||void 0===y?void 0:y.message)):n.default.createElement(n.default.Fragment,null)))},m=function(t){var r,i,d,u,m,c,s,f,p,g,v,h,b,x,E,_,F,y,w=a.useFormContext(),k=w.register,G=w.errors,M=w.watch,z=o(e.useState({}),2),L=z[0],S=z[1],N=o(e.useState(0),2),q=N[0],I=N[1],T=o(e.useState(0),2),C=T[0],D=T[1];return e.useEffect((function(){var e=t.validation;if(t.validation.minLength&&(t.validation.minLength.value?I(parseInt(t.validation.minLength.value)):I(parseInt(t.validation.minLength))),t.validation.maxLength&&(t.validation.maxLength.value?D(parseInt(t.validation.maxLength.value)):D(parseInt(t.validation.maxLength))),void 0!==t.validation.equalTo&&t.validation.equalTo.value){var a=t.validation.equalTo.value;e.validate=function(e){return e===M(a)}}S(l({},e))}),[]),n.default.createElement(n.default.Fragment,null,n.default.createElement("input",{id:t.id,type:"password",className:"form-control "+(G[t.name]?"is-invalid ":" "),placeholder:t.placeholder,name:t.name,autoComplete:t.autocomplete?t.autocomplete:"off",ref:k(L)}),n.default.createElement("div",{className:"invalid-feedback"},"required"==(null===(r=G[t.name])||void 0===r?void 0:r.type)?n.default.createElement(n.default.Fragment,null,""===(null===(i=G[t.name])||void 0===i?void 0:i.message)?n.default.createElement("span",null,"Il campo password è richiesto"):n.default.createElement("span",null,null===(d=G[t.name])||void 0===d?void 0:d.message)):n.default.createElement(n.default.Fragment,null),"minLength"==(null===(u=G[t.name])||void 0===u?void 0:u.type)?n.default.createElement(n.default.Fragment,null,""===(null===(m=G[t.name])||void 0===m?void 0:m.message)?n.default.createElement("span",null,"La lunghezza minima è ",q," caratteri"):n.default.createElement("span",null,null===(c=G[t.name])||void 0===c?void 0:c.message)):n.default.createElement(n.default.Fragment,null),"maxLength"==(null===(s=G[t.name])||void 0===s?void 0:s.type)?n.default.createElement(n.default.Fragment,null,""===(null===(f=G[t.name])||void 0===f?void 0:f.message)?n.default.createElement("span",null,"La lunghezza massima è ",C," caratteri"):n.default.createElement("span",null,null===(p=G[t.name])||void 0===p?void 0:p.message)):n.default.createElement(n.default.Fragment,null),"pattern"==(null===(g=G[t.name])||void 0===g?void 0:g.type)?n.default.createElement(n.default.Fragment,null,""===(null===(v=G[t.name])||void 0===v?void 0:v.message)?n.default.createElement("span",null,"Rispettare le regole di formattazione"):n.default.createElement("span",null,null===(h=G[t.name])||void 0===h?void 0:h.message)):n.default.createElement(n.default.Fragment,null),"validate"==(null===(b=G[t.name])||void 0===b?void 0:b.type)?n.default.createElement(n.default.Fragment,null,""===(null===(x=G[t.name])||void 0===x?void 0:x.message)?n.default.createElement("span",null,"Rispettare le regole di validazione"):n.default.createElement("span",null,null===(E=G[t.name])||void 0===E?void 0:E.message)):n.default.createElement(n.default.Fragment,null),"equalTo"==(null===(_=G[t.name])||void 0===_?void 0:_.type)?n.default.createElement(n.default.Fragment,null,""===(null===(F=G[t.name])||void 0===F?void 0:F.message)?n.default.createElement("span",null,"I due campi devono essere uguali"):n.default.createElement("span",null,null===(y=G[t.name])||void 0===y?void 0:y.message)):n.default.createElement(n.default.Fragment,null)))},c=function(e){switch(e){case"1":return 1;case"1/2":return.5;case"1/3":return.33;case"1/4":return.25;default:return 1}},s=function(e){switch(e){case"1":return"fg__col-full";case"1/2":return"fg__col-half";case"1/3":return"fg__col-third";case"1/4":return"fg__col-fourth";default:return"fg__col-full"}},f=function(e,a,t){return r(void 0,void 0,void 0,(function(){var n,l,r;return i(this,(function(i){switch(i.label){case 0:n=new URLSearchParams(t),l={},l="GET"==a?{method:a}:{method:a,body:t},i.label=1;case 1:return i.trys.push([1,4,,5]),[4,fetch(e+"?"+n,l)];case 2:return[4,i.sent().json()];case 3:return r=i.sent(),[2,{status:!0,data:r}];case 4:return i.sent(),[2,{status:!1,data:[]}];case 5:return[2]}}))}))},p=function(t){var l,d,u,m,c,s=a.useFormContext(),f=s.register,p=s.errors,g=o(e.useState({}),2),v=g[0],h=g[1],b=o(e.useState(!0),2),x=b[0],E=b[1],_=o(e.useState([]),2),F=_[0],y=_[1],w=o(e.useState(""),2),k=w[0],G=w[1];return e.useEffect((function(){var e=!1;t.validation.required.value&&(e=!0),!0===t.validation.required&&(e=!0),e&&h({validate:function(e){return!!e}})}),[t.validation]),e.useEffect((function(){var e,a;if(0!==(null===(e=t.data)||void 0===e?void 0:e.length)||t.fetchDataFromUrl){if(t.data&&(null===(a=t.data)||void 0===a?void 0:a.length)>0&&!t.fetchDataFromUrl)return y(t.data),void E(!1);if(t.fetchDataFromUrl){r(void 0,void 0,void 0,(function(){var e;return i(this,(function(a){switch(a.label){case 0:return[4,(n=t.fetchDataFromUrl,r(void 0,void 0,void 0,(function(){var e;return i(this,(function(a){switch(a.label){case 0:e={},a.label=1;case 1:return a.trys.push([1,4,,5]),[4,fetch(n,e)];case 2:return[4,a.sent().json()];case 3:return[2,{status:!0,data:a.sent()}];case 4:return a.sent(),[2,{status:!1,data:[]}];case 5:return[2]}}))})))];case 1:return(e=a.sent()).status&&(y(e.data),E(!1)),[2,e]}var n}))}))}y(t.data);var n=(t.data,"CO");G(n)}}),[t.data]),n.default.createElement(n.default.Fragment,null,n.default.createElement("div",{className:"fg__select-wrapper"},n.default.createElement("select",{id:t.id,className:"form-control fg__input-select "+(p[t.name]?"is-invalid ":" "),name:t.name,ref:f(v),autoComplete:t.autocomplete?t.autocomplete:"off",disabled:x,defaultValue:k},t.placeholder?n.default.createElement("option",{value:""},t.placeholder):n.default.createElement(n.default.Fragment,null),F.map((function(e,a){return n.default.createElement("option",{key:a,value:e.value,disabled:!!e.disabled},e.label)}))),n.default.createElement("div",{className:"loader fg__input-select "+(x?"loader-active ":" ")},n.default.createElement("span",null))),n.default.createElement("div",{className:"invalid-feedback"},"validate"==(null===(l=p[t.name])||void 0===l?void 0:l.type)?n.default.createElement(n.default.Fragment,null,""===(null===(u=null===(d=null==t?void 0:t.validation)||void 0===d?void 0:d.required)||void 0===u?void 0:u.message)?n.default.createElement("span",null,"Selezionare un opzione"):n.default.createElement("span",null,null===(c=null===(m=null==t?void 0:t.validation)||void 0===m?void 0:m.required)||void 0===c?void 0:c.message)):n.default.createElement(n.default.Fragment,null)))},g=function(t){var l,r,i,d,u,m,c,s,f,p,g,v,h,b,x,E,_,F,y=a.useFormContext(),w=y.register,k=y.errors,G=y.watch,M=y.setError,z=y.clearErrors,L=o(e.useState({}),2),S=L[0],N=L[1],q=o(e.useState(0),2),I=q[0],T=q[1],C=o(e.useState(0),2),D=C[0],R=C[1];return e.useEffect((function(){var e=t.validation;if(t.validation.minLength&&(t.validation.minLength.value?T(parseInt(t.validation.minLength.value)):T(parseInt(t.validation.minLength))),t.validation.maxLength&&(t.validation.maxLength.value?R(parseInt(t.validation.maxLength.value)):R(parseInt(t.validation.maxLength))),void 0!==t.validation.equalTo&&t.validation.equalTo.value){var a=t.validation.equalTo.value;e.validate=function(e){return e===G(a)}}N(e)}),[]),e.useEffect((function(){var e;"validate"==(null===(e=k[t.name])||void 0===e?void 0:e.type)&&t.validation.equalTo.value&&(M("repeatEmail",{type:"equalTo",message:"I due indirizzi email devono coincidere"}),z("validate"))}),[k]),n.default.createElement(n.default.Fragment,null,n.default.createElement("input",{id:t.id,type:"text",className:"form-control "+(k[t.name]?"is-invalid ":" "),placeholder:t.placeholder,name:t.name,autoComplete:t.autocomplete?t.autocomplete:"off",ref:w(S)}),n.default.createElement("div",{className:"invalid-feedback"},"required"==(null===(l=k[t.name])||void 0===l?void 0:l.type)?n.default.createElement(n.default.Fragment,null,""===(null===(r=k[t.name])||void 0===r?void 0:r.message)?n.default.createElement("span",null,"Il campo è richiesto"):n.default.createElement("span",null,null===(i=k[t.name])||void 0===i?void 0:i.message)):n.default.createElement(n.default.Fragment,null),"minLength"==(null===(d=k[t.name])||void 0===d?void 0:d.type)?n.default.createElement(n.default.Fragment,null,""===(null===(u=k[t.name])||void 0===u?void 0:u.message)?n.default.createElement("span",null,"La lunghezza minima è ",I," caratteri"):n.default.createElement("span",null,null===(m=k[t.name])||void 0===m?void 0:m.message)):n.default.createElement(n.default.Fragment,null),"maxLength"==(null===(c=k[t.name])||void 0===c?void 0:c.type)?n.default.createElement(n.default.Fragment,null,""===(null===(s=k[t.name])||void 0===s?void 0:s.message)?n.default.createElement("span",null,"La lunghezza massima è ",D," caratteri"):n.default.createElement("span",null,null===(f=k[t.name])||void 0===f?void 0:f.message)):n.default.createElement(n.default.Fragment,null),"pattern"==(null===(p=k[t.name])||void 0===p?void 0:p.type)?n.default.createElement(n.default.Fragment,null,""===(null===(g=k[t.name])||void 0===g?void 0:g.message)?n.default.createElement("span",null,"Rispettare le regole di formattazione"):n.default.createElement("span",null,null===(v=k[t.name])||void 0===v?void 0:v.message)):n.default.createElement(n.default.Fragment,null),"validate"==(null===(h=k[t.name])||void 0===h?void 0:h.type)?n.default.createElement(n.default.Fragment,null,""===(null===(b=k[t.name])||void 0===b?void 0:b.message)?n.default.createElement("span",null,"Rispettare le regole di validazione"):n.default.createElement("span",null,null===(x=k[t.name])||void 0===x?void 0:x.message)):n.default.createElement(n.default.Fragment,null),"equalTo"==(null===(E=k[t.name])||void 0===E?void 0:E.type)?n.default.createElement(n.default.Fragment,null,""===(null===(_=k[t.name])||void 0===_?void 0:_.message)?n.default.createElement("span",null,"I due campi devono essere uguali"):n.default.createElement("span",null,null===(F=k[t.name])||void 0===F?void 0:F.message)):n.default.createElement(n.default.Fragment,null)))},v=function(t){var l,r,i,d,u,m,c,s,f,p,g,v,h,b,x,E,_,F,y=a.useFormContext(),w=y.register,k=y.errors,G=y.watch,M=y.setError,z=y.clearErrors,L=o(e.useState({}),2),S=L[0],N=L[1],q=o(e.useState(0),2),I=q[0],T=q[1],C=o(e.useState(0),2),D=C[0],R=C[1];return e.useEffect((function(){var e=t.validation;if(t.validation.minLength&&(t.validation.minLength.value?T(parseInt(t.validation.minLength.value)):T(parseInt(t.validation.minLength))),t.validation.maxLength&&(t.validation.maxLength.value?R(parseInt(t.validation.maxLength.value)):R(parseInt(t.validation.maxLength))),void 0!==t.validation.equalTo&&t.validation.equalTo.value){var a=t.validation.equalTo.value;e.validate=function(e){return e===G(a)}}N(e)}),[]),e.useEffect((function(){var e;"validate"==(null===(e=k[t.name])||void 0===e?void 0:e.type)&&t.validation.equalTo.value&&(M("repeatEmail",{type:"equalTo",message:"I due campi devono coincidere"}),z("validate"))}),[k]),n.default.createElement(n.default.Fragment,null,n.default.createElement("textarea",{id:t.id,className:"form-control "+(k[t.name]?"is-invalid ":" "),placeholder:t.placeholder,name:t.name,autoComplete:t.autocomplete?t.autocomplete:"off",ref:w(S)}),n.default.createElement("div",{className:"invalid-feedback"},"required"==(null===(l=k[t.name])||void 0===l?void 0:l.type)?n.default.createElement(n.default.Fragment,null,""===(null===(r=k[t.name])||void 0===r?void 0:r.message)?n.default.createElement("span",null,"Il campo è richiesto"):n.default.createElement("span",null,null===(i=k[t.name])||void 0===i?void 0:i.message)):n.default.createElement(n.default.Fragment,null),"minLength"==(null===(d=k[t.name])||void 0===d?void 0:d.type)?n.default.createElement(n.default.Fragment,null,""===(null===(u=k[t.name])||void 0===u?void 0:u.message)?n.default.createElement("span",null,"La lunghezza minima è ",I," caratteri"):n.default.createElement("span",null,null===(m=k[t.name])||void 0===m?void 0:m.message)):n.default.createElement(n.default.Fragment,null),"maxLength"==(null===(c=k[t.name])||void 0===c?void 0:c.type)?n.default.createElement(n.default.Fragment,null,""===(null===(s=k[t.name])||void 0===s?void 0:s.message)?n.default.createElement("span",null,"La lunghezza massima è ",D," caratteri"):n.default.createElement("span",null,null===(f=k[t.name])||void 0===f?void 0:f.message)):n.default.createElement(n.default.Fragment,null),"pattern"==(null===(p=k[t.name])||void 0===p?void 0:p.type)?n.default.createElement(n.default.Fragment,null,""===(null===(g=k[t.name])||void 0===g?void 0:g.message)?n.default.createElement("span",null,"Rispettare le regole di formattazione"):n.default.createElement("span",null,null===(v=k[t.name])||void 0===v?void 0:v.message)):n.default.createElement(n.default.Fragment,null),"validate"==(null===(h=k[t.name])||void 0===h?void 0:h.type)?n.default.createElement(n.default.Fragment,null,""===(null===(b=k[t.name])||void 0===b?void 0:b.message)?n.default.createElement("span",null,"Rispettare le regole di validazione"):n.default.createElement("span",null,null===(x=k[t.name])||void 0===x?void 0:x.message)):n.default.createElement(n.default.Fragment,null),"equalTo"==(null===(E=k[t.name])||void 0===E?void 0:E.type)?n.default.createElement(n.default.Fragment,null,""===(null===(_=k[t.name])||void 0===_?void 0:_.message)?n.default.createElement("span",null,"I due campi devono essere uguali"):n.default.createElement("span",null,null===(F=k[t.name])||void 0===F?void 0:F.message)):n.default.createElement(n.default.Fragment,null)))},h=function(a){var t=a.fields,l=o(e.useState(null),2),r=l[0],i=l[1];return e.useEffect((function(){var e=[],a=0,n=[];t.map((function(l,r){var i="";i=l.layout?l.layout:"1/2";var o=c(i);if(a+=o,n.push(l),r>0){var d=c(t[r-1].layout);a<1&&a+d>1&&(a+=1)}a>=1&&(e.push(n),n=[],a=0),r===t.length-1&&e.push(n)})),i(e)}),[]),n.default.createElement("div",{className:"fg__fields fg__body"},r&&r.map((function(e,a){return n.default.createElement("div",{className:"row",key:a},e.map((function(e,a){var t=s(e.layout);return n.default.createElement("div",{className:t,key:a},n.default.createElement("div",{className:"fg__fields-field"},n.default.createElement(n.default.Fragment,null,"text"==e.type?n.default.createElement(g,{name:e.name,id:e.id,placeholder:e.placeholder,validation:e.validation,autocomplete:e.autocomplete,label:e.label}):n.default.createElement(n.default.Fragment,null),"email"==e.type?n.default.createElement(n.default.Fragment,null,n.default.createElement("label",null,e.label),n.default.createElement(u,{name:e.name,id:e.id,placeholder:e.placeholder,validation:e.validation,autocomplete:e.autocomplete})):n.default.createElement(n.default.Fragment,null),"password"==e.type?n.default.createElement(n.default.Fragment,null,n.default.createElement("label",null,e.label),n.default.createElement(m,{name:e.name,id:e.id,placeholder:e.placeholder,validation:e.validation,autocomplete:e.autocomplete})):n.default.createElement(n.default.Fragment,null),"select"==e.type?n.default.createElement(n.default.Fragment,null,n.default.createElement("label",null,e.label),n.default.createElement(p,{name:e.name,id:e.id,placeholder:e.placeholder,validation:e.validation,autocomplete:e.autocomplete,data:e.data,fetchDataFromUrl:e.fetchDataFromUrl})):n.default.createElement(n.default.Fragment,null),"textarea"==e.type?n.default.createElement(n.default.Fragment,null,n.default.createElement("label",null,e.label),n.default.createElement(v,{name:e.name,id:e.id,placeholder:e.placeholder,validation:e.validation,autocomplete:e.autocomplete})):n.default.createElement(n.default.Fragment,null),"checkbox"==e.type?n.default.createElement(n.default.Fragment,null,n.default.createElement("label",null,e.label),n.default.createElement(d,{name:e.name,id:e.id,placeholder:e.placeholder,validation:e.validation,autocomplete:e.autocomplete})):n.default.createElement(n.default.Fragment,null))))})))})))},b=function(e){var a,t=e.title,l=e.subTitle;return""===t&&""===l?n.default.createElement(n.default.Fragment,null):""===t?n.default.createElement("div",{className:"row"},n.default.createElement("h3",{className:"fg__subtitle"},(a=l)?a.split("\n").map((function(e,a){return n.default.createElement("p",{key:a},e)})):[n.default.createElement(n.default.Fragment,null)])):""===l?n.default.createElement("div",{className:"row"},n.default.createElement("h3",{className:"fg__title"},t)):n.default.createElement("header",null,n.default.createElement("h3",{className:"fg__title"},t),n.default.createElement("p",{className:"fg__subtitle"},l))},x=function(a){var t=o(e.useState(!0),2),l=t[0],r=t[1];e.useEffect((function(){r(!0)}),[l]);var i=s((null==a?void 0:a.layout)?a.layout:"1/4"),d=(null==a?void 0:a.text)?a.text:"Invia",u=(null==a||a.class,a.class),m=(null==a?void 0:a.id)?a.id:"";return n.default.createElement("div",{className:"row"},n.default.createElement("div",{className:i},n.default.createElement("div",{className:"fg__button-submit-wrapper "+(l?"with-loader ":" ")},(null==a?void 0:a.dom)?n.default.createElement(n.default.Fragment,null):n.default.createElement("input",{type:"submit",id:m,className:u,value:d}),(null==a?void 0:a.dom)&&"input"==a.dom?n.default.createElement("input",{type:"submit",id:m,className:u,value:d}):n.default.createElement(n.default.Fragment,null),(null==a?void 0:a.dom)&&"button"==a.dom?n.default.createElement("button",{type:"submit",id:m,className:u},d):n.default.createElement(n.default.Fragment,null),0==(null==a?void 0:a.loading)?n.default.createElement(n.default.Fragment,null):n.default.createElement("div",{className:"loader "+(l?"loader-active ":" ")},n.default.createElement("span",null)))))};!function(e,a){void 0===a&&(a={});var t=a.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css","top"===t&&n.firstChild?n.insertBefore(l,n.firstChild):n.appendChild(l),l.styleSheet?l.styleSheet.cssText=e:l.appendChild(document.createTextNode(e))}}('/**\r\n * Generate bootstrap container\r\n *\r\n * version - 0.1.0\r\n * @todo - implementarlo come mixins (studiare bootsrtrap\r\n */\n/**\r\n * Generate section style for dev\r\n *\r\n * version - 0.1.0\r\n */\n/**\r\n * Generate background color helper classes\r\n *\r\n * version - 0.1.0\r\n */\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \'Segoe UI\', \'Roboto\', \'Oxygen\',\r \'Ubuntu\', \'Cantarell\', \'Fira Sans\', \'Droid Sans\', \'Helvetica Neue\',\r sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale; }\n\n.repo-link {\n color: #9017ff;\n font-weight: 700;\n font-size: 22px;\n text-decoration: none !important; }\n\n.debug {\n border: 1px solid red; }\n\n#navigation {\n background: #eee; }\n #navigation ul {\n display: flex;\n list-style-type: none;\n margin-top: 0px !important;\n margin-bottom: 0px !important;\n padding-left: 0px; }\n #navigation ul li {\n padding: 10px;\n margin: 0 30px 0 0; }\n #navigation ul li a {\n text-decoration: none;\n color: #222;\n text-transform: uppercase;\n font-weight: 700;\n opacity: 1; }\n #navigation ul li a:hover {\n opacity: 0.7; }\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto; }\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px; } }\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px; } }\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px; } }\n\n@media (min-width: 1400px) {\n .container {\n max-width: 1400px; } }\n\n.section {\n padding: 40px 0px; }\n .section:nth-of-type(even) {\n background: #eee; }\n\n.bg-white {\n background: #fff;\n background-color: #fff; }\n\n.bg-light {\n background: #f9f9f9;\n background-color: #f9f9f9; }\n\n/**\r\n * SASS styles for React Form Generator module\r\n *\r\n * @vesion 0.1.0\r\n * @author Stefano Gagliardi <stefano.gagliardi@sitisrl.it>\r\n */\n/**\r\n * Form Generator configuration style file.\r\n * Ovveride in your style var\r\n */\n#MagicFormGenerator header {\n text-align: center; }\n\n#MagicFormGenerator .fg__body {\n margin-top: 40px; }\n #MagicFormGenerator .fg__body .fg__select-wrapper {\n position: relative; }\n\n#MagicFormGenerator .row {\n display: -webkit-flex;\n display: flex;\n -webkit-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px; }\n #MagicFormGenerator .row .fg__col-full,\n #MagicFormGenerator .row .fg__col-half,\n #MagicFormGenerator .row .fg__col-third,\n #MagicFormGenerator .row .fg__col-fourth {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px; }\n #MagicFormGenerator .row .fg__col-full {\n display: inline-block;\n width: 100%;\n padding-left: 15px;\n padding-right: 15px; }\n #MagicFormGenerator .row .fg__col-half {\n display: inline-block;\n width: 50%;\n padding-left: 15px;\n padding-right: 15px; }\n #MagicFormGenerator .row .fg__col-third {\n display: inline-block;\n width: 33.3333333333%;\n padding-left: 15px;\n padding-right: 15px; }\n #MagicFormGenerator .row .fg__col-fourth {\n display: inline-block;\n width: 25%;\n padding-left: 15px;\n padding-right: 15px; }\n\n#MagicFormGenerator .fg__fields .fg__fields-field {\n flex-grow: 1;\n padding: 10px 0px; }\n #MagicFormGenerator .fg__fields .fg__fields-field label {\n display: block;\n font-weight: 600;\n margin-bottom: 10px; }\n #MagicFormGenerator .fg__fields .fg__fields-field .invalid-feedback > span {\n display: block;\n font-size: 12px;\n margin-top: 5px;\n color: crimson; }\n\n#MagicFormGenerator .fg__fields input[type="text"],\n#MagicFormGenerator .fg__fields input[type="email"],\n#MagicFormGenerator .fg__fields input[type="password"],\n#MagicFormGenerator .fg__fields select {\n position: relative;\n margin-bottom: 0;\n display: block;\n width: 100%;\n padding: 10px 0px 10px 10px;\n font-size: 1rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n z-index: 2; }\n #MagicFormGenerator .fg__fields input[type="text"].is-invalid,\n #MagicFormGenerator .fg__fields input[type="email"].is-invalid,\n #MagicFormGenerator .fg__fields input[type="password"].is-invalid,\n #MagicFormGenerator .fg__fields select.is-invalid {\n border: 1px solid crimson; }\n #MagicFormGenerator .fg__fields input[type="text"].is-invalid:focus,\n #MagicFormGenerator .fg__fields input[type="email"].is-invalid:focus,\n #MagicFormGenerator .fg__fields input[type="password"].is-invalid:focus,\n #MagicFormGenerator .fg__fields select.is-invalid:focus {\n outline: none;\n box-shadow: 0px 0px 6px rgba(237, 20, 61, 0.65); }\n #MagicFormGenerator .fg__fields input[type="text"]:focus,\n #MagicFormGenerator .fg__fields input[type="email"]:focus,\n #MagicFormGenerator .fg__fields input[type="password"]:focus,\n #MagicFormGenerator .fg__fields select:focus {\n outline: none; }\n\n#MagicFormGenerator .fg__fields textarea {\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n overflow: auto;\n resize: vertical;\n z-index: 2; }\n #MagicFormGenerator .fg__fields textarea.is-invalid {\n border: 1px solid crimson; }\n #MagicFormGenerator .fg__fields textarea.is-invalid:focus {\n outline: none;\n box-shadow: 0px 0px 6px rgba(237, 20, 61, 0.65); }\n #MagicFormGenerator .fg__fields textarea:focus {\n outline: none; }\n\n#MagicFormGenerator .fg__fields .fg__checkbox-wrapper {\n position: relative;\n /* Hide the browser\'s default checkbox */\n /* Create a custom checkbox */\n /* On mouse-over, add a grey background color */\n /* When the checkbox is checked, add a blue background */\n /* Create the checkmark/indicator (hidden when not checked) */\n /* Show the checkmark when checked */\n /* Style the checkmark/indicator */ }\n #MagicFormGenerator .fg__fields .fg__checkbox-wrapper input {\n position: absolute;\n opacity: 0;\n cursor: pointer;\n height: 0;\n width: 0; }\n #MagicFormGenerator .fg__fields .fg__checkbox-wrapper .checkmark {\n position: absolute;\n top: 0;\n left: 0;\n height: 25px;\n width: 25px;\n background-color: #eee; }\n #MagicFormGenerator .fg__fields .fg__checkbox-wrapper:hover input ~ .checkmark {\n background-color: #ccc; }\n #MagicFormGenerator .fg__fields .fg__checkbox-wrapper input:checked ~ .checkmark {\n background-color: #2563EB; }\n #MagicFormGenerator .fg__fields .fg__checkbox-wrapper .checkmark:after {\n content: "";\n position: absolute;\n display: none; }\n #MagicFormGenerator .fg__fields .fg__checkbox-wrapper input:checked ~ .checkmark:after {\n display: block; }\n #MagicFormGenerator .fg__fields .fg__checkbox-wrapper .checkmark:after {\n left: 11px;\n top: 7px;\n width: 5px;\n height: 10px;\n border: solid white;\n border-width: 0 3px 3px 0;\n -webkit-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n transform: rotate(45deg); }\n\n#MagicFormGenerator .fg__fields .fg__checkbox-text {\n padding-left: 45px; }\n\n#MagicFormGenerator .fg__button-submit-wrapper {\n display: flex;\n position: relative;\n width: fit-content; }\n #MagicFormGenerator .fg__button-submit-wrapper .fg__button-submit {\n border-radius: 2px;\n background-color: #DC2626;\n border-color: #DC2626;\n color: #fff;\n -webkit-transition: 0.3s;\n -moz-transition: 0.3s;\n -ms-transition: 0.3s;\n -o-transition: 0.3s;\n transition: 0.3s;\n -webkit-box-shadow: 0 2px 2px 0 rgba(156, 39, 176, 0.14), 0 3px 1px -2px rgba(156, 39, 176, 0.2), 0 1px 5px 0 rgba(156, 39, 176, 0.12);\n -moz-box-shadow: 0 2px 2px 0 rgba(156, 39, 176, 0.14), 0 3px 1px -2px rgba(156, 39, 176, 0.2), 0 1px 5px 0 rgba(156, 39, 176, 0.12);\n box-shadow: 0 2px 2px 0 rgba(156, 39, 176, 0.14), 0 3px 1px -2px rgba(156, 39, 176, 0.2), 0 1px 5px 0 rgba(156, 39, 176, 0.12);\n position: relative;\n display: block;\n margin: 0px 0px;\n padding: 0.375rem 0.75rem;\n font-size: 0.8rem;\n line-height: 1.5;\n font-weight: 300;\n letter-spacing: 0.5px;\n text-transform: uppercase;\n text-decoration: none;\n border: 1 px solid #666;\n border-radius: 0px;\n white-space: nowrap;\n vertical-align: middle;\n overflow: hidden;\n outline: 0;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n border: inherit !important;\n opacity: 1;\n cursor: pointer; }\n #MagicFormGenerator .fg__button-submit-wrapper .fg__button-submit:hover {\n background-color: #DC2626;\n border-color: #DC2626;\n opacity: 0.8;\n color: #fff; }\n #MagicFormGenerator .fg__button-submit-wrapper .fg__button-submit:focus, #MagicFormGenerator .fg__button-submit-wrapper .fg__button-submit:active, #MagicFormGenerator .fg__button-submit-wrapper .fg__button-submit:hover {\n border: inherit !important; }\n #MagicFormGenerator .fg__button-submit-wrapper.with-loader .fg__button-submit {\n color: #DC2626; }\n #MagicFormGenerator .fg__button-submit-wrapper .loader {\n left: calc(50% - 22px / 2);\n top: calc(50% - 22px / 2);\n position: absolute;\n width: 22px;\n height: 22px; }\n #MagicFormGenerator .fg__button-submit-wrapper .loader span, #MagicFormGenerator .fg__button-submit-wrapper .loader span::after, #MagicFormGenerator .fg__button-submit-wrapper .loader span::before {\n width: 22px;\n height: 22px; }\n\n#MagicFormGenerator .fg__fields .loader {\n position: absolute;\n top: 5px;\n left: calc(50% - 45px / 2);\n z-index: 5;\n display: none; }\n #MagicFormGenerator .fg__fields .loader.loader-active {\n display: block; }\n\n#MagicFormGenerator .fg__fields select:disabled {\n background: rgba(0, 0, 0, 0.5); }\n\n/**\r\n * Input loader spinnig overlay\r\n */\n#MagicFormGenerator {\n /* Loader 2 */ }\n #MagicFormGenerator .loader {\n display: block;\n height: 32px;\n width: 32px;\n -webkit-animation: loader-1 3s linear infinite;\n animation: loader-1 3s linear infinite; }\n\n@-webkit-keyframes loader-1 {\n 0% {\n -webkit-transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(360deg); } }\n\n@keyframes loader-1 {\n 0% {\n transform: rotate(0deg); }\n 100% {\n transform: rotate(360deg); } }\n #MagicFormGenerator .loader span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n clip: rect(16px, 32px, 32px, 0);\n -webkit-animation: loader-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite; }\n\n@-webkit-keyframes loader-2 {\n 0% {\n -webkit-transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(360deg); } }\n\n@keyframes loader-2 {\n 0% {\n transform: rotate(0deg); }\n 100% {\n transform: rotate(360deg); } }\n #MagicFormGenerator .loader span::before {\n content: "";\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n border: 3px solid transparent;\n border-top: 3px solid white;\n border-radius: 50%;\n -webkit-animation: loader-3 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-3 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite; }\n\n@-webkit-keyframes loader-3 {\n 0% {\n -webkit-transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(360deg); } }\n\n@keyframes loader-3 {\n 0% {\n transform: rotate(0deg); }\n 100% {\n transform: rotate(360deg); } }\n #MagicFormGenerator .loader span::after {\n content: "";\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n border: 3px solid rgba(255, 255, 255, 0.7);\n border-radius: 50%; }\n\n*,\n::after,\n::before {\n box-sizing: border-box; }\n\n#MagicFormGenerator a {\n color: #DC2626;\n opacity: 1;\n text-decoration: none; }\n #MagicFormGenerator a:hover {\n opacity: .8; }\n');exports.MagicFormGenerator=function(t){var o=t.form,d=o.submit,u=o.buttonSubmit,m=a.useForm(),c=e.useCallback((function(e){return r(void 0,void 0,void 0,(function(){var a;return i(this,(function(t){switch(t.label){case 0:return a=d.onSubmit?d.onSubmit(e):e,d.backend?[4,f(d.endpoint,d.method,a)]:[3,2];case 1:t.sent(),t.label=2;case 2:return[2]}}))}))}),[]);return n.default.createElement(a.FormProvider,l({},m),n.default.createElement("div",{id:"MagicFormGenerator"},n.default.createElement("form",{onSubmit:m.handleSubmit(c),noValidate:!0},n.default.createElement(b,{title:o.title,subTitle:o.subTitle}),n.default.createElement(h,{fields:o.fields}),n.default.createElement(x,l({},u)))))}; //# sourceMappingURL=index.ie11.production.min.js.map