figura-test
Version:
## Disclaimer This library is currently in production/testing and is strictly a pre-release version. ## Description Figura is a powerful library of React components designed to simplify form handling, validation, and submission. It offers an easy-to-use
1 lines • 29.2 kB
JavaScript
!function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r();else if("function"==typeof define&&define.amd)define([],r);else{var t=r();for(var n in t)("object"==typeof exports?exports:e)[n]=t[n]}}("undefined"!=typeof self?self:this,(function(){return function(){"use strict";var e={408:function(e,r){var t=Symbol.for("react.element"),n=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),i=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),s=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),d=Symbol.iterator;var p={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,y={};function v(e,r,t){this.props=e,this.context=r,this.refs=y,this.updater=t||p}function E(){}function S(e,r,t){this.props=e,this.context=r,this.refs=y,this.updater=t||p}v.prototype.isReactComponent={},v.prototype.setState=function(e,r){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,r,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},E.prototype=v.prototype;var g=S.prototype=new E;g.constructor=S,h(g,v.prototype),g.isPureReactComponent=!0;var b=Array.isArray,$=Object.prototype.hasOwnProperty,C={current:null},w={key:!0,ref:!0,__self:!0,__source:!0};function F(e,r,n){var a,o={},u=null,l=null;if(null!=r)for(a in void 0!==r.ref&&(l=r.ref),void 0!==r.key&&(u=""+r.key),r)$.call(r,a)&&!w.hasOwnProperty(a)&&(o[a]=r[a]);var i=arguments.length-2;if(1===i)o.children=n;else if(1<i){for(var c=Array(i),s=0;s<i;s++)c[s]=arguments[s+2];o.children=c}if(e&&e.defaultProps)for(a in i=e.defaultProps)void 0===o[a]&&(o[a]=i[a]);return{$$typeof:t,type:e,key:u,ref:l,props:o,_owner:C.current}}function I(e){return"object"==typeof e&&null!==e&&e.$$typeof===t}var P=/\/+/g;function D(e,r){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var r={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return r[e]}))}(""+e.key):r.toString(36)}function N(e,r,a,o,u){var l=typeof e;"undefined"!==l&&"boolean"!==l||(e=null);var i=!1;if(null===e)i=!0;else switch(l){case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case t:case n:i=!0}}if(i)return u=u(i=e),e=""===o?"."+D(i,0):o,b(u)?(a="",null!=e&&(a=e.replace(P,"$&/")+"/"),N(u,r,a,"",(function(e){return e}))):null!=u&&(I(u)&&(u=function(e,r){return{$$typeof:t,type:e.type,key:r,ref:e.ref,props:e.props,_owner:e._owner}}(u,a+(!u.key||i&&i.key===u.key?"":(""+u.key).replace(P,"$&/")+"/")+e)),r.push(u)),1;if(i=0,o=""===o?".":o+":",b(e))for(var c=0;c<e.length;c++){var s=o+D(l=e[c],c);i+=N(l,r,a,s,u)}else if(s=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=d&&e[d]||e["@@iterator"])?e:null}(e),"function"==typeof s)for(e=s.call(e),c=0;!(l=e.next()).done;)i+=N(l=l.value,r,a,s=o+D(l,c++),u);else if("object"===l)throw r=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===r?"object with keys {"+Object.keys(e).join(", ")+"}":r)+"). If you meant to render a collection of children, use an array instead.");return i}function _(e,r,t){if(null==e)return e;var n=[],a=0;return N(e,n,"","",(function(e){return r.call(t,e,a++)})),n}function x(e){if(-1===e._status){var r=e._result;(r=r()).then((function(r){0!==e._status&&-1!==e._status||(e._status=1,e._result=r)}),(function(r){0!==e._status&&-1!==e._status||(e._status=2,e._result=r)})),-1===e._status&&(e._status=0,e._result=r)}if(1===e._status)return e._result.default;throw e._result}var k={current:null},R={transition:null},V={ReactCurrentDispatcher:k,ReactCurrentBatchConfig:R,ReactCurrentOwner:C};r.Children={map:_,forEach:function(e,r,t){_(e,(function(){r.apply(this,arguments)}),t)},count:function(e){var r=0;return _(e,(function(){r++})),r},toArray:function(e){return _(e,(function(e){return e}))||[]},only:function(e){if(!I(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},r.Component=v,r.Fragment=a,r.Profiler=u,r.PureComponent=S,r.StrictMode=o,r.Suspense=s,r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=V,r.cloneElement=function(e,r,n){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var a=h({},e.props),o=e.key,u=e.ref,l=e._owner;if(null!=r){if(void 0!==r.ref&&(u=r.ref,l=C.current),void 0!==r.key&&(o=""+r.key),e.type&&e.type.defaultProps)var i=e.type.defaultProps;for(c in r)$.call(r,c)&&!w.hasOwnProperty(c)&&(a[c]=void 0===r[c]&&void 0!==i?i[c]:r[c])}var c=arguments.length-2;if(1===c)a.children=n;else if(1<c){i=Array(c);for(var s=0;s<c;s++)i[s]=arguments[s+2];a.children=i}return{$$typeof:t,type:e.type,key:o,ref:u,props:a,_owner:l}},r.createContext=function(e){return(e={$$typeof:i,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:l,_context:e},e.Consumer=e},r.createElement=F,r.createFactory=function(e){var r=F.bind(null,e);return r.type=e,r},r.createRef=function(){return{current:null}},r.forwardRef=function(e){return{$$typeof:c,render:e}},r.isValidElement=I,r.lazy=function(e){return{$$typeof:f,_payload:{_status:-1,_result:e},_init:x}},r.memo=function(e,r){return{$$typeof:m,type:e,compare:void 0===r?null:r}},r.startTransition=function(e){var r=R.transition;R.transition={};try{e()}finally{R.transition=r}},r.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},r.useCallback=function(e,r){return k.current.useCallback(e,r)},r.useContext=function(e){return k.current.useContext(e)},r.useDebugValue=function(){},r.useDeferredValue=function(e){return k.current.useDeferredValue(e)},r.useEffect=function(e,r){return k.current.useEffect(e,r)},r.useId=function(){return k.current.useId()},r.useImperativeHandle=function(e,r,t){return k.current.useImperativeHandle(e,r,t)},r.useInsertionEffect=function(e,r){return k.current.useInsertionEffect(e,r)},r.useLayoutEffect=function(e,r){return k.current.useLayoutEffect(e,r)},r.useMemo=function(e,r){return k.current.useMemo(e,r)},r.useReducer=function(e,r,t){return k.current.useReducer(e,r,t)},r.useRef=function(e){return k.current.useRef(e)},r.useState=function(e){return k.current.useState(e)},r.useSyncExternalStore=function(e,r,t){return k.current.useSyncExternalStore(e,r,t)},r.useTransition=function(){return k.current.useTransition()},r.version="18.2.0"},294:function(e,r,t){e.exports=t(408)}},r={};function t(n){var a=r[n];if(void 0!==a)return a.exports;var o=r[n]={exports:{}};return e[n](o,o.exports,t),o.exports}t.d=function(e,r){for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return function(){t.r(n),t.d(n,{Figura:function(){return M},FiguraButton:function(){return g},FiguraButtonGroup:function(){return v},FiguraCheckBox:function(){return C},FiguraColor:function(){return N},FiguraConfirmPassword:function(){return p},FiguraDate:function(){return B},FiguraDateLocal:function(){return S},FiguraEmail:function(){return R},FiguraFile:function(){return A},FiguraHidden:function(){return D},FiguraLabel:function(){return w},FiguraMonth:function(){return V},FiguraNumber:function(){return I},FiguraPassword:function(){return b},FiguraPhone:function(){return _},FiguraRadio:function(){return x},FiguraRange:function(){return k},FiguraResetBtn:function(){return E},FiguraSelect:function(){return P},FiguraSubmitBtn:function(){return y},FiguraText:function(){return O},FiguraTextArea:function(){return $},FiguraTime:function(){return j},FiguraTimeMilitary:function(){return h},FiguraTitle:function(){return F},FiguraUrl:function(){return z},FiguraWeek:function(){return T}});var e=t(294);const r=e.createContext(null),a=e.createContext(""),o=e.createContext(null);function u(r){const{fieldValue:t,errorStyle:n}=r;return e.createElement(e.Fragment,null,t?e.createElement(e.Fragment,null,t.touched&&t.hasError&&e.createElement("div",{className:`${n||"error-style"}`},t.error)):"")}function l(e,r,t){switch(e){case"text":return function(e){if(""===e.trim())return{hasError:!0,error:"This field cannot be empty"};if(!/^[a-zA-Z ]+$/.test(e))return{hasError:!0,error:"Invalid Field. Avoid Special characters"};return{hasError:!1,error:""}}(r);case"email":return function(e){if(""===e.trim())return{hasError:!0,error:"Email cannot be empty"};if(!/^[a-z0-9!#$%&"*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&"*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/.test(e))return{hasError:!0,error:"Invalid Email"};return{hasError:!1,error:""}}(r);case"password":return function(e){let r=new RegExp("(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])(?=.{8,})");if(""===e.trim())return{hasError:!0,error:"Password cannot be empty"};if(!e.match(r))return{hasError:!0,error:"Password must be at least 8 characters, contain at least one uppercase, one lowercase, one digit, and one special character"};return{hasError:!1,error:""}}(r);case"confirmpassword":return function(e,r){if(""===e.trim())return{hasError:!0,error:"Confirmation cannot be empty"};for(const t in r){const n=r[t],{type:a}=n;if("password"===a&&n.value!==e)return{hasError:!0,error:"Your password does not match"}}return{hasError:!1,error:""}}(r,t);case"tel":return function(e){if(""===e.trim())return{hasError:!0,error:"Phone cannot be empty"};if(!/^[0-9]{10}$/.test(e))return{hasError:!0,error:"Invalid Phone Number. Use 10 digits only"};return{hasError:!1,error:""}}(r);case"checkbox":return function(e){if("false"===e.trim()||""===e.trim())return{hasError:!0,error:"You must check this box."};return{hasError:!1,error:""}}(r);case"radio":return function(e){if("false"===e.trim()||""===e.trim())return{hasError:!0,error:"You must click this button."};return{hasError:!1,error:""}}(r);case"range":return function(e){const r=parseInt(e);if(""===e.trim())return{hasError:!0,error:"You must choose a range."};if(r>100||r<0)throw new Error("The range must be between 0 and 100");return{hasError:!1,error:""}}(r);case"select":return function(e){if(!e)return{hasError:!0,error:"Please choose an option"};return{hasError:!1,error:""}}(r);case"time":return function(e){if(""===e.trim())return{hasError:!0,error:"Time cannot be empty"};if(!/(2[0-3]|[01][0-9]):[0-5][0-9]/.test(e))return{hasError:!0,error:"Invalid Time Format"};return{hasError:!1,error:""}}(r);case"time24":return function(e){if(""===e.trim())return{hasError:!0,error:"Time cannot be empty"};if(!/(2[0-3]|[01][0-9]):[0-5][0-9]/.test(e))return{hasError:!0,error:"Invalid Time Format. Use 12:34"};return{hasError:!1,error:""}}(r);case"textarea":return function(e){if(e.length>250)return{hasError:!0,error:"This text field cannot be longer than 250 characters"};return{hasError:!1,error:""}}(r);case"number":return function(e){const r=parseInt(e);if(""===e.trim())return{hasError:!0,error:"Provide a number"};if(r>1e6||r<-1e6)return{hasError:!0,error:"The number must be between -1 million and 1 million"};return{hasError:!1,error:""}}(r);case"date":return function(e){let r=new RegExp("((?:19|20)\\d\\d)-(0?[1-9]|1[012])-([12][0-9]|3[01]|0?[1-9])");if(""===e.trim())return{hasError:!0,error:"Provide a date"};if(!e.match(r))return{hasError:!0,error:"Provide a valid date format"};return{hasError:!1,error:""}}(r);case"datelocal":return function(e){let r=new RegExp("((?:19|20)\\d\\d)-(0?[1-9]|1[012])-([12][0-9]|3[01]|0?[1-9])");if(""===e.trim())return{hasError:!0,error:"Provide a date and time"};if(!e.match(r))return{hasError:!0,error:"Provide a valid date format"};return{hasError:!1,error:""}}(r);case"hidden":return function(e){if(""!==e.trim())throw new Error("WARNING! A hidden field was filled. A bot may be attempting to interject this form.");return{hasError:!1,error:""}}(r);case"color":return function(e){if(""===e.trim())return{hasError:!0,error:"Choose a color"};return{hasError:!1,error:""}}(r);case"week":return function(e){if(""===e.trim())return{hasError:!0,error:"Provide a week"};return{hasError:!1,error:""}}(r);case"month":return function(e){if(""===e.trim())return{hasError:!0,error:"Provide a month"};return{hasError:!1,error:""}}(r);case"file":return function(e){if(""===e.trim())return{hasError:!0,error:"Choose a file"};return{hasError:!1,error:""}}(r);case"url":return function(e){if(""===e.trim())return{hasError:!0,error:"Provide a url"};if(!/^(http(s):\/\/.)[-a-zA-Z0-9@:%._+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_+.~#?&//=]*)$/.test(e))return{hasError:!0,error:"Provide a valid url"};return{hasError:!1,error:""}}(r);case"buttongroup":return function(e){if(""===e.trim())return{hasError:!0,error:"Choose an option"};return{hasError:!1,error:""}}(r)}return{hasError:!1,error:""}}const i={},c="INITIAL_FORM",s="UPDATE_FORM",m="RESET_FORM";function f(e,r){switch(r.type){case c:return r.data.reduce(((e,r)=>{if(void 0!==r.name||null!==r.name){let t="";"color"===r.type&&(t="#000000"),"range"!==r.type&&"checkbox"!==r.type||(t="false");const n={[r.name]:{value:t,type:r.type,hasError:!1,error:"",touched:!1,formID:""}};return Object.assign(e,n)}return e}),{});case s:const{name:t,value:n,type:a,hasError:o,error:u,touched:l,formID:i}=r.data;return{...e,[t]:{value:n,type:a,hasError:o,error:u,touched:l,formID:i}};case m:return{};default:return e}}async function d(e,r,t,n,a,o,u,i){console.log(t);let c=!1,m="";if(i){const e=await i(t);c=e.hasError,m=e.error}else{const e=await l(n,t,o);c=e.hasError,m=e.error}return a({type:s,data:{name:r,value:t,type:n,hasError:c,error:m,touched:e,formID:u}}),c}function p(t){const{wrapper:n,inputStyle:o,errorStyle:l,validator:i,name:c,placeholder:s}=t;return e.createElement(a.Provider,{value:c},e.createElement(r.Consumer,null,(r=>{const a=r.formState[c];return e.createElement("div",{className:`${n||"input-container"}`},t.children,e.createElement("input",{name:c,id:c,type:"password",value:a?a.value:"",placeholder:`${s||""}`,className:`${o||"input-style"}`,onChange:e=>{d(!1,c,e.target.value,"confirmpassword",r.dispatch,r.formState,r.formID,i)},onBlur:e=>{d(!0,c,e.target.value,"confirmpassword",r.dispatch,r.formState,r.formID,i)}}),e.createElement(u,{fieldValue:a,errorStyle:l}))})))}function h(t){const{wrapper:n,inputStyle:o,errorStyle:l,validator:i,name:c}=t;return e.createElement(a.Provider,{value:c},e.createElement(r.Consumer,null,(r=>{const a=r.formState[c];return e.createElement("div",{className:`${n||"input-container"}`},t.children,e.createElement("input",{name:c,id:c,type:"time24",value:a?a.value:"",className:`${o||"input-style"}`,onChange:e=>{d(!1,c,e.target.value,"time24",r.dispatch,r.formState,r.formID,i)},onBlur:e=>{d(!0,c,e.target.value,"time24",r.dispatch,r.formState,r.formID,i)}}),e.createElement(u,{fieldValue:a,errorStyle:l}))})))}function y(e){const{children:r,buttonStyle:t}=e;return React.createElement("button",{type:"submit",className:`${t||"submit-button"}`},r)}function v(t){const{wrapper:n,errorStyle:a,validator:l,name:i,children:c}=t,s=(0,e.useContext)(o);return e.createElement(r.Consumer,null,(r=>{const t=r.formState[i];return e.createElement("div",{id:i,className:`${n||"input-container"}`,onBlur:e=>{d(!0,i,s.selected,"buttongroup",r.dispatch,r.formState,r.formID,l)}},c,e.createElement(u,{fieldValue:t,errorStyle:a}))}))}function E(t){const{children:n,buttonStyle:a}=t,u=(0,e.useContext)(o);return e.createElement(r.Consumer,null,(r=>e.createElement("button",{type:"reset",onClick:()=>{var e;e=r.dispatch,u.setSelected(""),u.setReset(!0),e({type:m})},className:`${a||"reset-button"}`},n)))}function S(t){const{wrapper:n,inputStyle:o,errorStyle:l,validator:i,name:c}=t;return e.createElement(a.Provider,{value:c},e.createElement(r.Consumer,null,(r=>{const a=r.formState[c];return e.createElement("div",{className:`${n||"input-container"}`},t.children,e.createElement("input",{name:c,id:c,type:"datetime-local",value:a?a.value:"",className:`${o||"input-style"}`,onChange:e=>{d(!1,c,e.target.value,"datelocal",r.dispatch,r.formState,r.formID,i)},onBlur:e=>{d(!0,c,e.target.value,"datelocal",r.dispatch,r.formState,r.formID,i)}}),e.createElement(u,{fieldValue:a,errorStyle:l}))})))}function g(r){const{inputStyle:t,children:n}=r,a=(0,e.useContext)(o);return e.createElement("input",{type:"button",value:n?.toString(),onClick:function(e){e.preventDefault(),a.setSelected(e.target.value)},className:`\n ${t||"input-style button-group-spacer"}\n ${a.selected===n?.toString()?"button-group-background":""}`})}function b(t){const{wrapper:n,inputStyle:o,errorStyle:l,validator:i,name:c,placeholder:s}=t;return e.createElement(a.Provider,{value:c},e.createElement(r.Consumer,null,(r=>{const a=r.formState[c];return e.createElement("div",{className:`${n||"input-container"}`},t.children,e.createElement("input",{name:c,id:c,type:"password",value:a?a.value:"",placeholder:`${s||""}`,className:`${o||"input-style"}`,onChange:e=>{d(!1,c,e.target.value,"password",r.dispatch,r.formState,r.formID,i)},onBlur:e=>{d(!0,c,e.target.value,"password",r.dispatch,r.formState,r.formID,i)}}),e.createElement(u,{fieldValue:a,errorStyle:l}))})))}function $(t){const{wrapper:n,inputStyle:o,errorStyle:l,validator:i,name:c,placeholder:s}=t;return e.createElement(a.Provider,{value:c},e.createElement(r.Consumer,null,(r=>{const a=r.formState[c];return e.createElement("div",{className:`${n||"input-container"}`},t.children,e.createElement("textarea",{name:c,id:c,value:a?a.value:"",placeholder:`${s||""}`,className:`${o||"input-style"}`,onChange:e=>{d(!1,c,e.target.value,"textarea",r.dispatch,r.formState,r.formID,i)},onBlur:e=>{d(!0,c,e.target.value,"textarea",r.dispatch,r.formState,r.formID,i)}}),e.createElement(u,{fieldValue:a,errorStyle:l}))})))}function C(t){const{wrapper:n,inputStyle:o,errorStyle:l,validator:i,name:c}=t;return e.createElement(a.Provider,{value:c},e.createElement(r.Consumer,null,(r=>{const a=r.formState[c];return e.createElement(e.Fragment,null,e.createElement("div",{className:`${n||"input-container-inline"}`},e.createElement("input",{name:c,id:c,type:"checkbox",className:`${o||"input-style-inline"}`,onChange:e=>{d(!0,c,e.target.checked.toString(),"checkbox",r.dispatch,r.formState,r.formID,i)}}),t.children),e.createElement(u,{fieldValue:a,errorStyle:l}))})))}function w(r){const{children:t,labelStyle:n}=r,o=(0,e.useContext)(a);return e.createElement("label",{htmlFor:o,className:`${n||"label-style"}`},t)}function F(r){const{children:t,titleStyle:n}=r;return e.createElement("h1",{className:`${n||"title-style"}`},t)}function I(t){const{wrapper:n,inputStyle:o,errorStyle:l,validator:i,name:c,placeholder:s}=t;return e.createElement(a.Provider,{value:c},e.createElement(r.Consumer,null,(r=>{const a=r.formState[c];return e.createElement("div",{className:`${n||"input-container"}`},t.children,e.createElement("input",{name:c,id:c,type:"number",value:a?a.value:"",placeholder:`${s||""}`,className:`${o||"input-style"}`,onChange:e=>{d(!1,c,e.target.value,"number",r.dispatch,r.formState,r.formID,i)},onBlur:e=>{d(!0,c,e.target.value,"number",r.dispatch,r.formState,r.formID,i)}}),e.createElement(u,{fieldValue:a,errorStyle:l}))})))}function P(t){const{wrapper:n,inputStyle:o,errorStyle:l,validator:i,name:c}=t,s=e.Children.toArray(t.children),m=s.find((e=>!p(e))),f=s.filter((e=>p(e)));function p(e){if("option"===e.type)return e}return e.createElement(a.Provider,{value:c},e.createElement(r.Consumer,null,(r=>{const t=r.formState[c];return e.createElement(e.Fragment,null,e.createElement("div",{className:`${n||"input-container"}`},m,e.createElement("select",{name:c,id:c,value:t?t.value:"",className:`${o||"input-style"}`,onChange:e=>{d(!1,c,e.target.value,"select",r.dispatch,r.formState,r.formID,i)},onBlur:e=>{d(!0,c,e.target.value,"select",r.dispatch,r.formState,r.formID,i)}},f)),e.createElement(u,{fieldValue:t,errorStyle:l}))})))}function D(t){const{validator:n,name:o,children:u}=t;return e.createElement(a.Provider,{value:o},e.createElement(r.Consumer,null,(r=>{const t=r.formState[o];return e.createElement("div",null,u,e.createElement("input",{name:o,id:o,type:"hidden",value:t?t.value:"",onChange:e=>{d(!1,o,e.target.value,"hidden",r.dispatch,r.formState,r.formID,n)},onBlur:e=>{d(!0,o,e.target.value,"hidden",r.dispatch,r.formState,r.formID,n)}}))})))}function N(t){const{wrapper:n,inputStyle:o,errorStyle:l,validator:i,name:c}=t;return e.createElement(a.Provider,{value:c},e.createElement(r.Consumer,null,(r=>{const a=r.formState[c];return e.createElement(e.Fragment,null,e.createElement("div",{className:`${n||"input-container-inline"}`},e.createElement("div",{className:"color-picker-container"},e.createElement("input",{name:c,id:c,type:"color",value:a?a.value:"#000000",className:`${o||"color-picker-style"}`,onChange:e=>{d(!0,c,e.target.value,"color",r.dispatch,r.formState,r.formID,i)}})),t.children),e.createElement(u,{fieldValue:a,errorStyle:l}))})))}function _(t){const{wrapper:n,inputStyle:o,errorStyle:l,validator:i,name:c,placeholder:s}=t;return e.createElement(a.Provider,{value:c},e.createElement(r.Consumer,null,(r=>{const a=r.formState[c];return e.createElement("div",{className:`${n||"input-container"}`},t.children,e.createElement("input",{name:c,id:c,type:"tel",autoComplete:"tel",value:a?a.value:"",placeholder:`${s||""}`,className:`${o||"input-style"}`,onChange:e=>{d(!1,c,e.target.value,"tel",r.dispatch,r.formState,r.formID,i)},onBlur:e=>{d(!0,c,e.target.value,"tel",r.dispatch,r.formState,r.formID,i)}}),e.createElement(u,{fieldValue:a,errorStyle:l}))})))}function x(t){const{wrapper:n,inputStyle:o,errorStyle:l,validator:i,name:c}=t;return e.createElement(a.Provider,{value:c},e.createElement(r.Consumer,null,(r=>{const a=r.formState[c];return e.createElement(e.Fragment,null,e.createElement("div",{className:`${n||"input-container-inline"}`},e.createElement("input",{name:c,id:c,type:"radio",className:`${o||"input-style-inline"}`,onChange:e=>{d(!0,c,e.target.checked.toString(),"radio",r.dispatch,r.formState,r.formID,i)}}),t.children),e.createElement(u,{fieldValue:a,errorStyle:l}))})))}function k(t){const{wrapper:n,inputStyle:o,errorStyle:l,validator:i,name:c}=t;return e.createElement(a.Provider,{value:c},e.createElement(r.Consumer,null,(r=>{const a=r.formState[c];return e.createElement(e.Fragment,null,e.createElement("div",{className:`${n||"input-container"}`},t.children,e.createElement("input",{name:c,id:c,type:"range",value:a?a.value:"",className:`${o||""}`,onChange:e=>{d(!0,c,e.target.value,"range",r.dispatch,r.formState,r.formID,i)}})),e.createElement(u,{fieldValue:a,errorStyle:l}))})))}function R(t){const{name:n,wrapper:o,inputStyle:l,errorStyle:i,validator:c,placeholder:s}=t;return e.createElement(a.Provider,{value:n},e.createElement(r.Consumer,null,(r=>{const a=r.formState[n];return e.createElement("div",{className:`${o||"input-container"}`},t.children,e.createElement("input",{name:n,id:n,type:"email",autoComplete:"email",value:a?a.value:"",placeholder:`${s||""}`,className:`${l||"input-style"}`,onChange:e=>{d(!1,n,e.target.value,"email",r.dispatch,r.formState,r.formID,c)},onBlur:e=>{d(!0,n,e.target.value,"email",r.dispatch,r.formState,r.formID,c)}}),e.createElement(u,{fieldValue:a,errorStyle:i}))})))}function V(t){const{wrapper:n,inputStyle:o,errorStyle:l,validator:i,name:c}=t;return e.createElement(a.Provider,{value:c},e.createElement(r.Consumer,null,(r=>{const a=r.formState[c];return e.createElement("div",{className:`${n||"input-container"}`},t.children,e.createElement("input",{name:c,id:c,type:"month",value:a?a.value:"",className:`${o||"input-style"}`,onChange:e=>{d(!1,c,e.target.value,"month",r.dispatch,r.formState,r.formID,i)},onBlur:e=>{d(!0,c,e.target.value,"month",r.dispatch,r.formState,r.formID,i)}}),e.createElement(u,{fieldValue:a,errorStyle:l}))})))}function T(t){const{wrapper:n,inputStyle:o,errorStyle:l,validator:i,name:c}=t;return e.createElement(a.Provider,{value:c},e.createElement(r.Consumer,null,(r=>{const a=r.formState[c];return e.createElement("div",{className:`${n||"input-container"}`},t.children,e.createElement("input",{name:c,id:c,type:"week",value:a?a.value:"",className:`${o||"input-style"}`,onChange:e=>{d(!1,c,e.target.value,"week",r.dispatch,r.formState,r.formID,i)},onBlur:e=>{d(!0,c,e.target.value,"week",r.dispatch,r.formState,r.formID,i)}}),e.createElement(u,{fieldValue:a,errorStyle:l}))})))}function B(t){const{wrapper:n,inputStyle:o,errorStyle:l,validator:i,name:c}=t;return e.createElement(a.Provider,{value:c},e.createElement(r.Consumer,null,(r=>{const a=r.formState[c];return e.createElement("div",{className:`${n||"input-container"}`},t.children,e.createElement("input",{name:c,id:c,type:"date",value:a?a.value:"",className:`${o||"input-style"}`,onChange:e=>{d(!1,c,e.target.value,"date",r.dispatch,r.formState,r.formID,i)},onBlur:e=>{d(!0,c,e.target.value,"date",r.dispatch,r.formState,r.formID,i)}}),e.createElement(u,{fieldValue:a,errorStyle:l}))})))}function j(t){const{wrapper:n,inputStyle:o,errorStyle:l,validator:i,name:c,placeholder:s}=t;return e.createElement(a.Provider,{value:c},e.createElement(r.Consumer,null,(r=>{const a=r.formState[c];return e.createElement("div",{className:`${n||"input-container"}`},t.children,e.createElement("input",{name:c,id:c,type:"time",value:a?a.value:"",placeholder:`${s||""}`,className:`${o||"input-style"}`,onChange:e=>{d(!1,c,e.target.value,"time",r.dispatch,r.formState,r.formID,i)},onBlur:e=>{d(!0,c,e.target.value,"time",r.dispatch,r.formState,r.formID,i)}}),e.createElement(u,{fieldValue:a,errorStyle:l}))})))}function A(t){const{wrapper:n,inputStyle:o,errorStyle:l,validator:i,name:c,placeholder:s}=t;return e.createElement(a.Provider,{value:c},e.createElement(r.Consumer,null,(r=>{const a=r.formState[c];return e.createElement("div",{className:`${n||"input-container"}`},t.children,e.createElement("input",{name:c,id:c,type:"file",placeholder:`${s||""}`,className:`${o||"input-style"}`,onChange:e=>{d(!1,c,e.target.value,"file",r.dispatch,r.formState,r.formID,i)},onBlur:e=>{d(!0,c,e.target.value,"file",r.dispatch,r.formState,r.formID,i)}}),e.createElement(u,{fieldValue:a,errorStyle:l}))})))}function O(t){const{name:n,wrapper:o,inputStyle:l,errorStyle:i,validator:c,children:s,placeholder:m}=t;return e.createElement(a.Provider,{value:n},e.createElement(r.Consumer,null,(r=>{const t=r.formState[n];return e.createElement("div",{className:`${o||"input-container"}`},s,e.createElement("input",{name:n,id:n,type:"text",autoComplete:"text",value:t?t.value:"",placeholder:`${m||""}`,className:`${l||"input-style"}`,onChange:e=>{d(!1,n,e.target.value,"text",r.dispatch,r.formState,r.formID,c)},onBlur:e=>{d(!0,n,e.target.value,"text",r.dispatch,r.formState,r.formID,c)}}),e.createElement(u,{fieldValue:t,errorStyle:i}))})))}function z(t){const{wrapper:n,inputStyle:o,errorStyle:l,validator:i,name:c}=t;return e.createElement(a.Provider,{value:c},e.createElement(r.Consumer,null,(r=>{const a=r.formState[c];return e.createElement("div",{className:`${n||"input-container"}`},t.children,e.createElement("input",{name:c,id:c,type:"url",value:a?a.value:"",className:`${o||"input-style"}`,onChange:e=>{d(!1,c,e.target.value,"url",r.dispatch,r.formState,r.formID,i)},onBlur:e=>{d(!0,c,e.target.value,"url",r.dispatch,r.formState,r.formID,i)}}),e.createElement(u,{fieldValue:a,errorStyle:l}))})))}function M(t){const{children:n,figuraID:a,formStyle:u,onSubmit:l}=t,{formState:s,dispatch:m}=function(){const[r,t]=(0,e.useReducer)(f,i);return{formState:r,dispatch:t}}(),[p,h]=(0,e.useState)(""),[y,v]=(0,e.useState)(!1),E=[],S=a;return n&&Array.isArray(n)&&n.forEach((e=>{if(e.props.name){const n=(r=e.type.name,"FiguraTextArea"===(t=r.replace(/\d/g,""))?"textarea":"FiguraCheckBox"===t?"checkbox":"FiguraEmail"===t?"email":"FiguraPassword"===t?"password":"FiguraConfirmPassword"===t?"confirmpassword":"FiguraPhone"===t?"tel":"FiguraSelect"===t?"select":"FiguraText"===t?"text":"FiguraTime"===t?"time":"FiguraTimeMilitary"===t?"time24":"FiguraRadio"===t?"radio":"FiguraRange"===t?"range":"FiguraNumber"===t?"number":"FiguraDate"===t?"date":"FiguraDateLocal"===t?"datelocal":"FiguraHidden"===t?"hidden":"FiguraColor"===t?"color":"FiguraWeek"===t?"week":"FiguraMonth"===t?"month":"FiguraFile"===t?"file":"FiguraUrl"===t?"url":"FiguraButtonGroup"===t?"buttongroup":"");E.push({name:e.props.name,type:n})}var r,t})),(0,e.useEffect)((()=>{m({type:c,data:E}),v(!1)}),[y]),e.createElement(o.Provider,{value:{selected:p,setSelected:h,setReset:v}},e.createElement(r.Provider,{value:{formState:s,dispatch:m,formID:S}},e.createElement("form",{noValidate:!0,className:`${u||"form-style"}`,onSubmit:e=>{!async function(e,r,t,n,a){e.preventDefault();let o=!0,u={};for(const e in t){const n=t[e],{value:l,formID:i,type:c}=n;await d(!0,e,l,c,r,t,a)?o=!1:i===a&&""!==l.trim()&&(u[e]=l)}o&&n(u)}(e,m,s,l,S)}},n)))}}(),n}()}));