New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@codegateinc/react-form-builder-v2

Package Overview
Dependencies
Maintainers
3
Versions
58
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@codegateinc/react-form-builder-v2 - npm Package Compare versions

Comparing version 1.0.25 to 1.1.0

79

dist/react-form-builder-v2.cjs.development.js

@@ -90,2 +90,3 @@ 'use strict';

submitParser: submitParser,
parentKey: '',
value: field.value,

@@ -162,5 +163,9 @@ hasChange: field.value !== localInitialValue,

var generateField = function generateField(fieldConfig, prevState, setState) {
var generateField = function generateField(fieldConfig, prevState, setState, parentKey) {
var _prevState$fieldConfi;
if (parentKey === void 0) {
parentKey = '';
}
var computeErrorMessage = function computeErrorMessage(field, value, forceCheck) {

@@ -195,2 +200,3 @@ if (forceCheck === void 0) {

isPristine: true,
parentKey: parentKey,
isRequired: fieldConfig.isRequired || false,

@@ -313,4 +319,41 @@ validateOnBlur: fieldConfig.validateOnBlur || false,

var form = _extends({}, injectedForm, innerForm);
var form = _extends({}, injectedForm, Object.entries(innerForm).reduce(function (acc, _ref2) {
var field = _ref2[1];
var fieldKeys = field.parentKey.split('.').filter(Boolean);
if (fieldKeys.length > 0) {
var mappedField = fieldKeys.reduce(function (localAcc, localKey, index) {
var _localAcc$localKey, _extends3;
return _extends({}, acc, localAcc, (_extends3 = {}, _extends3[localKey] = _extends({}, acc[localKey], localAcc[localKey] || {}, index === fieldKeys.length - 1 ? {
children: [].concat(((_localAcc$localKey = localAcc[localKey]) == null ? void 0 : _localAcc$localKey.children) || [], [field])
} : {}), _extends3));
}, {});
var removeEmptyObjects = Object.keys(mappedField).filter(function (key) {
return Object.keys(mappedField[key]).length;
}).reduce(function (acc, key) {
var _extends4;
return _extends({}, acc, (_extends4 = {}, _extends4[key] = mappedField[key], _extends4));
}, {});
return _extends({}, acc, removeEmptyObjects);
}
return _extends({}, acc, {
field: field
});
}, {}));
var addFieldsRecurrence = function addFieldsRecurrence(field, prevState, parentKey) {
var _ref3;
if (field.children) {
return field.children.reduce(function (acc, child) {
return _extends({}, acc, addFieldsRecurrence(child, prevState, parentKey + "." + field.key));
}, {});
}
return _ref3 = {}, _ref3[field.key] = generateField(field, prevState, setInnerForm, parentKey), _ref3;
};
return {

@@ -351,12 +394,10 @@ form: form,

return _extends({}, prevState, fields.reduce(function (acc, item) {
var _extends3;
return _extends({}, acc, (_extends3 = {}, _extends3[item.key] = generateField(item, prevState, setInnerForm), _extends3));
return _extends({}, acc, addFieldsRecurrence(item, prevState, ''));
}, {}));
});
},
removeFields: function removeFields(fields) {
removeFieldIds: function removeFieldIds(fields) {
return setInnerForm(function (prevState) {
return Object.keys(prevState).reduce(function (acc, key) {
var _extends4;
var _extends5;

@@ -367,3 +408,3 @@ if (fields.includes(key)) {

return _extends({}, acc, (_extends4 = {}, _extends4[key] = prevState[key], _extends4));
return _extends({}, acc, (_extends5 = {}, _extends5[key] = prevState[key], _extends5));
}, {});

@@ -385,8 +426,8 @@ });

return Boolean(field.errorMessage);
}).reduce(function (acc, _ref2) {
var _extends5;
}).reduce(function (acc, _ref4) {
var _extends6;
var key = _ref2.key,
errorMessage = _ref2.errorMessage;
return _extends({}, acc, (_extends5 = {}, _extends5[key] = errorMessage, _extends5));
var key = _ref4.key,
errorMessage = _ref4.errorMessage;
return _extends({}, acc, (_extends6 = {}, _extends6[key] = errorMessage, _extends6));
}, {});

@@ -401,9 +442,9 @@ var hasErrors = Object.values(errors).length > 0;

var parsedForm = Object.values(form).reduce(function (acc, _ref3) {
var _extends6;
var parsedForm = Object.values(form).reduce(function (acc, _ref5) {
var _extends7;
var key = _ref3.key,
value = _ref3.value,
submitParser = _ref3.submitParser;
return _extends({}, acc, (_extends6 = {}, _extends6[key] = submitParser ? submitParser(value) : value, _extends6));
var key = _ref5.key,
value = _ref5.value,
submitParser = _ref5.submitParser;
return _extends({}, acc, (_extends7 = {}, _extends7[key] = submitParser ? submitParser(value) : value, _extends7));
}, {});

@@ -410,0 +451,0 @@ callbacks.onSuccess(parsedForm);

@@ -1,2 +0,2 @@

"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("ramda");function n(){return(n=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e}).apply(this,arguments)}var t=function(e){return null!=e},i=function(e,r){return t(e)&&r(e)};exports.useField=function(i){var u=i.key,a=i.label,o=i.initialValue,s=i.validationRules,l=i.isRequired,c=i.placeholder,v=i.validateOnBlur,f=void 0!==v&&v,d=i.liveParser,g=i.submitParser,y=e.useState(o),k=y[0],h=y[1],M=e.useState({value:k,isPristine:!0,errorMessage:""}),b=M[0],O=M[1],P=function(e,n){if(void 0===n&&(n=!1),!n&&b.isPristine||!s)return"";var i=t(e)?e:b.value;if(l&&r.isEmpty(i))return s[0].errorMessage;if(!l&&!Boolean(i))return"";var u=s.find((function(e){return!e.validate(i)}));return u?u.errorMessage:""};return{key:u,label:a,isRequired:l,placeholder:c,submitParser:g,value:b.value,hasChange:b.value!==k,errorMessage:b.errorMessage,onBlur:function(){return f&&O((function(e){return n({},e,{isPristine:!1,errorMessage:P(void 0,!0)})}))},onChangeValue:function(e){return O((function(r){return n({},r,{value:d?d(e):e,isPristine:r.isPristine?f:r.isPristine,errorMessage:P(e)})}))},onChangeInitialValue:function(e){b.value===k&&O((function(r){return n({},r,{value:e})})),h(e)},validateOnSubmit:function(){var e=P(void 0,!0);return e?(O((function(r){return n({},r,{errorMessage:e})})),e):""},setError:function(e){return O((function(r){return n({},r,{errorMessage:e})}))},resetState:function(){return O((function(e){return n({},e,{isPristine:!0,errorMessage:"",value:o})}))},validate:function(){return O((function(e){return n({},e,{errorMessage:P(void 0,!0)})}))}}},exports.useForm=function(u,a){var o=Object.entries(u).reduce((function(e,r){var t;return n({},e,((t={})[r[0]]=r[1],t))}),{}),s=e.useState({}),l=s[0],c=s[1],v=function(e){var n=e.some((function(e){return e.isRequired&&Boolean(e.value)}));return{hasError:e.some((function(e){return!r.isEmpty(e.errorMessage)}))||n}}(Object.values(u)).hasError,f=n({},o,l);return{form:f,hasError:v,isFilled:Object.values(f).filter((function(e){return e.isRequired})).every((function(e){return e.hasChange})),isEachFieldValid:!Object.values(f).filter((function(e){return e.isRequired})).some((function(e){return Boolean(e.errorMessage)})),formHasChanges:function(){return Object.values(f).some((function(e){return e.hasChange}))},setError:function(e,r){f[e].setError(r),i(a.onError,(function(n){var t;return n(((t={})[e]=r,t))}))},setFieldValue:function(e,r){f[e].onChangeValue(r)},setFieldInitialValue:function(e,r){f[e].onChangeInitialValue(r)},addFields:function(e){return c((function(i){return n({},i,e.reduce((function(e,u){var a;return n({},e,((a={})[u.key]=function(e,i,u){var a,o=function(e,n,i){if(void 0===i&&(i=!1),!i&&e.isPristine||!e.validationRules)return"";var u=t(n)?n:e.value;if(e.isRequired&&r.isEmpty(u))return e.validationRules[0].errorMessage;if(!e.isRequired&&!Boolean(u))return"";var a=e.validationRules.find((function(e){return!e.validate(u)}));return a?a.errorMessage:""};return n({},e,{value:"",hasChange:!1,isPristine:!0,isRequired:e.isRequired||!1,validateOnBlur:e.validateOnBlur||!1,localInitialValue:e.initialValue||"",errorMessage:null==(a=i[e.key])?void 0:a.errorMessage,onChangeValue:function(r){return u((function(t){var i,u,a=n({},t[e.key],{value:e.liveParser?e.liveParser(r):r,hasChange:r!==(null==(i=t[e.key])?void 0:i.localInitialValue),isPristine:t[e.key].isPristine?e.validateOnBlur||!1:t[e.key].isPristine});return n({},t,((u={})[e.key]=n({},a,{errorMessage:o(a,r)}),u))}))},onBlur:function(){return e.validateOnBlur&&u((function(r){var t;return n({},r,((t={})[e.key]=n({},r[e.key],{isPristine:!1,errorMessage:o(r[e.key],void 0,!0)}),t))}))},validateOnSubmit:function(){var r=o(i[e.key],void 0,!0);return r?(u((function(t){var i;return n({},t,((i={})[e.key]=n({},t[e.key],{errorMessage:r}),i))})),r):""},onChangeInitialValue:function(r){i.value===i.localInitialValue&&u((function(t){var i;return n({},t,((i={})[e.key]=n({},t[e.key],{value:r,localInitialValue:r}),i))}))},setError:function(r){return u((function(t){var i;return n({},t,((i={})[e.key]=n({},t[e.key],{errorMessage:r}),i))}))},resetState:function(){return u((function(r){var t;return n({},r,((t={})[e.key]=n({},r[e.key],{isPristine:!0,errorMessage:"",value:e.initialValue||""}),t))}))},validate:function(){return u((function(r){var t;return n({},r,((t={})[e.key]=n({},r[e.key],{errorMessage:o(r[e.key],void 0,!0)}),t))}))}})}(u,i,c),a))}),{}))}))},removeFields:function(e){return c((function(r){return Object.keys(r).reduce((function(t,i){var u;return e.includes(i)?t:n({},t,((u={})[i]=r[i],u))}),{})}))},resetForm:function(){return Object.keys(f).forEach((function(e){return f[e].resetState()}))},submit:function(){var e=Object.values(f).map((function(e){return{key:e.key,errorMessage:e.validateOnSubmit()}})).filter((function(e){return Boolean(e.errorMessage)})).reduce((function(e,r){var t;return n({},e,((t={})[r.key]=r.errorMessage,t))}),{});if(Object.values(e).length>0)return i(a.onError,(function(r){return r(e)}));var r=Object.values(f).reduce((function(e,r){var t,i=r.value,u=r.submitParser;return n({},e,((t={})[r.key]=u?u(i):i,t))}),{});a.onSuccess(r)},validateAll:function(){return Object.values(f).forEach((function(e){return e.validate()}))}}};
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("ramda");function n(){return(n=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e}).apply(this,arguments)}var t=function(e){return null!=e},i=function(e,r){return t(e)&&r(e)};exports.useField=function(i){var u=i.key,a=i.label,o=i.initialValue,s=i.validationRules,l=i.isRequired,c=i.placeholder,f=i.validateOnBlur,v=void 0!==f&&f,d=i.liveParser,g=i.submitParser,y=e.useState(o),h=y[0],k=y[1],M=e.useState({value:h,isPristine:!0,errorMessage:""}),b=M[0],O=M[1],P=function(e,n){if(void 0===n&&(n=!1),!n&&b.isPristine||!s)return"";var i=t(e)?e:b.value;if(l&&r.isEmpty(i))return s[0].errorMessage;if(!l&&!Boolean(i))return"";var u=s.find((function(e){return!e.validate(i)}));return u?u.errorMessage:""};return{key:u,label:a,isRequired:l,placeholder:c,submitParser:g,parentKey:"",value:b.value,hasChange:b.value!==h,errorMessage:b.errorMessage,onBlur:function(){return v&&O((function(e){return n({},e,{isPristine:!1,errorMessage:P(void 0,!0)})}))},onChangeValue:function(e){return O((function(r){return n({},r,{value:d?d(e):e,isPristine:r.isPristine?v:r.isPristine,errorMessage:P(e)})}))},onChangeInitialValue:function(e){b.value===h&&O((function(r){return n({},r,{value:e})})),k(e)},validateOnSubmit:function(){var e=P(void 0,!0);return e?(O((function(r){return n({},r,{errorMessage:e})})),e):""},setError:function(e){return O((function(r){return n({},r,{errorMessage:e})}))},resetState:function(){return O((function(e){return n({},e,{isPristine:!0,errorMessage:"",value:o})}))},validate:function(){return O((function(e){return n({},e,{errorMessage:P(void 0,!0)})}))}}},exports.useForm=function(u,a){var o=Object.entries(u).reduce((function(e,r){var t;return n({},e,((t={})[r[0]]=r[1],t))}),{}),s=e.useState({}),l=s[0],c=s[1],f=function(e){var n=e.some((function(e){return e.isRequired&&Boolean(e.value)}));return{hasError:e.some((function(e){return!r.isEmpty(e.errorMessage)}))||n}}(Object.values(u)).hasError,v=n({},o,Object.entries(l).reduce((function(e,r){var t=r[1],i=t.parentKey.split(".").filter(Boolean);if(i.length>0){var u=i.reduce((function(r,u,a){var o,s;return n({},e,r,((s={})[u]=n({},e[u],r[u]||{},a===i.length-1?{children:[].concat((null==(o=r[u])?void 0:o.children)||[],[t])}:{}),s))}),{}),a=Object.keys(u).filter((function(e){return Object.keys(u[e]).length})).reduce((function(e,r){var t;return n({},e,((t={})[r]=u[r],t))}),{});return n({},e,a)}return n({},e,{field:t})}),{}));return{form:v,hasError:f,isFilled:Object.values(v).filter((function(e){return e.isRequired})).every((function(e){return e.hasChange})),isEachFieldValid:!Object.values(v).filter((function(e){return e.isRequired})).some((function(e){return Boolean(e.errorMessage)})),formHasChanges:function(){return Object.values(v).some((function(e){return e.hasChange}))},setError:function(e,r){v[e].setError(r),i(a.onError,(function(n){var t;return n(((t={})[e]=r,t))}))},setFieldValue:function(e,r){v[e].onChangeValue(r)},setFieldInitialValue:function(e,r){v[e].onChangeInitialValue(r)},addFields:function(e){return c((function(i){return n({},i,e.reduce((function(e,u){return n({},e,function e(i,u,a){var o;return i.children?i.children.reduce((function(r,t){return n({},r,e(t,u,a+"."+i.key))}),{}):((o={})[i.key]=function(e,i,u,a){var o;void 0===a&&(a="");var s=function(e,n,i){if(void 0===i&&(i=!1),!i&&e.isPristine||!e.validationRules)return"";var u=t(n)?n:e.value;if(e.isRequired&&r.isEmpty(u))return e.validationRules[0].errorMessage;if(!e.isRequired&&!Boolean(u))return"";var a=e.validationRules.find((function(e){return!e.validate(u)}));return a?a.errorMessage:""};return n({},e,{value:"",hasChange:!1,isPristine:!0,parentKey:a,isRequired:e.isRequired||!1,validateOnBlur:e.validateOnBlur||!1,localInitialValue:e.initialValue||"",errorMessage:null==(o=i[e.key])?void 0:o.errorMessage,onChangeValue:function(r){return u((function(t){var i,u,a=n({},t[e.key],{value:e.liveParser?e.liveParser(r):r,hasChange:r!==(null==(i=t[e.key])?void 0:i.localInitialValue),isPristine:t[e.key].isPristine?e.validateOnBlur||!1:t[e.key].isPristine});return n({},t,((u={})[e.key]=n({},a,{errorMessage:s(a,r)}),u))}))},onBlur:function(){return e.validateOnBlur&&u((function(r){var t;return n({},r,((t={})[e.key]=n({},r[e.key],{isPristine:!1,errorMessage:s(r[e.key],void 0,!0)}),t))}))},validateOnSubmit:function(){var r=s(i[e.key],void 0,!0);return r?(u((function(t){var i;return n({},t,((i={})[e.key]=n({},t[e.key],{errorMessage:r}),i))})),r):""},onChangeInitialValue:function(r){i.value===i.localInitialValue&&u((function(t){var i;return n({},t,((i={})[e.key]=n({},t[e.key],{value:r,localInitialValue:r}),i))}))},setError:function(r){return u((function(t){var i;return n({},t,((i={})[e.key]=n({},t[e.key],{errorMessage:r}),i))}))},resetState:function(){return u((function(r){var t;return n({},r,((t={})[e.key]=n({},r[e.key],{isPristine:!0,errorMessage:"",value:e.initialValue||""}),t))}))},validate:function(){return u((function(r){var t;return n({},r,((t={})[e.key]=n({},r[e.key],{errorMessage:s(r[e.key],void 0,!0)}),t))}))}})}(i,u,c,a),o)}(u,i,""))}),{}))}))},removeFieldIds:function(e){return c((function(r){return Object.keys(r).reduce((function(t,i){var u;return e.includes(i)?t:n({},t,((u={})[i]=r[i],u))}),{})}))},resetForm:function(){return Object.keys(v).forEach((function(e){return v[e].resetState()}))},submit:function(){var e=Object.values(v).map((function(e){return{key:e.key,errorMessage:e.validateOnSubmit()}})).filter((function(e){return Boolean(e.errorMessage)})).reduce((function(e,r){var t;return n({},e,((t={})[r.key]=r.errorMessage,t))}),{});if(Object.values(e).length>0)return i(a.onError,(function(r){return r(e)}));var r=Object.values(v).reduce((function(e,r){var t,i=r.value,u=r.submitParser;return n({},e,((t={})[r.key]=u?u(i):i,t))}),{});a.onSuccess(r)},validateAll:function(){return Object.values(v).forEach((function(e){return e.validate()}))}}};
//# sourceMappingURL=react-form-builder-v2.cjs.production.min.js.map

@@ -86,2 +86,3 @@ import { useState } from 'react';

submitParser: submitParser,
parentKey: '',
value: field.value,

@@ -158,5 +159,9 @@ hasChange: field.value !== localInitialValue,

var generateField = function generateField(fieldConfig, prevState, setState) {
var generateField = function generateField(fieldConfig, prevState, setState, parentKey) {
var _prevState$fieldConfi;
if (parentKey === void 0) {
parentKey = '';
}
var computeErrorMessage = function computeErrorMessage(field, value, forceCheck) {

@@ -191,2 +196,3 @@ if (forceCheck === void 0) {

isPristine: true,
parentKey: parentKey,
isRequired: fieldConfig.isRequired || false,

@@ -309,4 +315,41 @@ validateOnBlur: fieldConfig.validateOnBlur || false,

var form = _extends({}, injectedForm, innerForm);
var form = _extends({}, injectedForm, Object.entries(innerForm).reduce(function (acc, _ref2) {
var field = _ref2[1];
var fieldKeys = field.parentKey.split('.').filter(Boolean);
if (fieldKeys.length > 0) {
var mappedField = fieldKeys.reduce(function (localAcc, localKey, index) {
var _localAcc$localKey, _extends3;
return _extends({}, acc, localAcc, (_extends3 = {}, _extends3[localKey] = _extends({}, acc[localKey], localAcc[localKey] || {}, index === fieldKeys.length - 1 ? {
children: [].concat(((_localAcc$localKey = localAcc[localKey]) == null ? void 0 : _localAcc$localKey.children) || [], [field])
} : {}), _extends3));
}, {});
var removeEmptyObjects = Object.keys(mappedField).filter(function (key) {
return Object.keys(mappedField[key]).length;
}).reduce(function (acc, key) {
var _extends4;
return _extends({}, acc, (_extends4 = {}, _extends4[key] = mappedField[key], _extends4));
}, {});
return _extends({}, acc, removeEmptyObjects);
}
return _extends({}, acc, {
field: field
});
}, {}));
var addFieldsRecurrence = function addFieldsRecurrence(field, prevState, parentKey) {
var _ref3;
if (field.children) {
return field.children.reduce(function (acc, child) {
return _extends({}, acc, addFieldsRecurrence(child, prevState, parentKey + "." + field.key));
}, {});
}
return _ref3 = {}, _ref3[field.key] = generateField(field, prevState, setInnerForm, parentKey), _ref3;
};
return {

@@ -347,12 +390,10 @@ form: form,

return _extends({}, prevState, fields.reduce(function (acc, item) {
var _extends3;
return _extends({}, acc, (_extends3 = {}, _extends3[item.key] = generateField(item, prevState, setInnerForm), _extends3));
return _extends({}, acc, addFieldsRecurrence(item, prevState, ''));
}, {}));
});
},
removeFields: function removeFields(fields) {
removeFieldIds: function removeFieldIds(fields) {
return setInnerForm(function (prevState) {
return Object.keys(prevState).reduce(function (acc, key) {
var _extends4;
var _extends5;

@@ -363,3 +404,3 @@ if (fields.includes(key)) {

return _extends({}, acc, (_extends4 = {}, _extends4[key] = prevState[key], _extends4));
return _extends({}, acc, (_extends5 = {}, _extends5[key] = prevState[key], _extends5));
}, {});

@@ -381,8 +422,8 @@ });

return Boolean(field.errorMessage);
}).reduce(function (acc, _ref2) {
var _extends5;
}).reduce(function (acc, _ref4) {
var _extends6;
var key = _ref2.key,
errorMessage = _ref2.errorMessage;
return _extends({}, acc, (_extends5 = {}, _extends5[key] = errorMessage, _extends5));
var key = _ref4.key,
errorMessage = _ref4.errorMessage;
return _extends({}, acc, (_extends6 = {}, _extends6[key] = errorMessage, _extends6));
}, {});

@@ -397,9 +438,9 @@ var hasErrors = Object.values(errors).length > 0;

var parsedForm = Object.values(form).reduce(function (acc, _ref3) {
var _extends6;
var parsedForm = Object.values(form).reduce(function (acc, _ref5) {
var _extends7;
var key = _ref3.key,
value = _ref3.value,
submitParser = _ref3.submitParser;
return _extends({}, acc, (_extends6 = {}, _extends6[key] = submitParser ? submitParser(value) : value, _extends6));
var key = _ref5.key,
value = _ref5.value,
submitParser = _ref5.submitParser;
return _extends({}, acc, (_extends7 = {}, _extends7[key] = submitParser ? submitParser(value) : value, _extends7));
}, {});

@@ -406,0 +447,0 @@ callbacks.onSuccess(parsedForm);

@@ -89,2 +89,3 @@ (function (global, factory) {

submitParser: submitParser,
parentKey: '',
value: field.value,

@@ -161,5 +162,9 @@ hasChange: field.value !== localInitialValue,

var generateField = function generateField(fieldConfig, prevState, setState) {
var generateField = function generateField(fieldConfig, prevState, setState, parentKey) {
var _prevState$fieldConfi;
if (parentKey === void 0) {
parentKey = '';
}
var computeErrorMessage = function computeErrorMessage(field, value, forceCheck) {

@@ -194,2 +199,3 @@ if (forceCheck === void 0) {

isPristine: true,
parentKey: parentKey,
isRequired: fieldConfig.isRequired || false,

@@ -312,4 +318,41 @@ validateOnBlur: fieldConfig.validateOnBlur || false,

var form = _extends({}, injectedForm, innerForm);
var form = _extends({}, injectedForm, Object.entries(innerForm).reduce(function (acc, _ref2) {
var field = _ref2[1];
var fieldKeys = field.parentKey.split('.').filter(Boolean);
if (fieldKeys.length > 0) {
var mappedField = fieldKeys.reduce(function (localAcc, localKey, index) {
var _localAcc$localKey, _extends3;
return _extends({}, acc, localAcc, (_extends3 = {}, _extends3[localKey] = _extends({}, acc[localKey], localAcc[localKey] || {}, index === fieldKeys.length - 1 ? {
children: [].concat(((_localAcc$localKey = localAcc[localKey]) == null ? void 0 : _localAcc$localKey.children) || [], [field])
} : {}), _extends3));
}, {});
var removeEmptyObjects = Object.keys(mappedField).filter(function (key) {
return Object.keys(mappedField[key]).length;
}).reduce(function (acc, key) {
var _extends4;
return _extends({}, acc, (_extends4 = {}, _extends4[key] = mappedField[key], _extends4));
}, {});
return _extends({}, acc, removeEmptyObjects);
}
return _extends({}, acc, {
field: field
});
}, {}));
var addFieldsRecurrence = function addFieldsRecurrence(field, prevState, parentKey) {
var _ref3;
if (field.children) {
return field.children.reduce(function (acc, child) {
return _extends({}, acc, addFieldsRecurrence(child, prevState, parentKey + "." + field.key));
}, {});
}
return _ref3 = {}, _ref3[field.key] = generateField(field, prevState, setInnerForm, parentKey), _ref3;
};
return {

@@ -350,12 +393,10 @@ form: form,

return _extends({}, prevState, fields.reduce(function (acc, item) {
var _extends3;
return _extends({}, acc, (_extends3 = {}, _extends3[item.key] = generateField(item, prevState, setInnerForm), _extends3));
return _extends({}, acc, addFieldsRecurrence(item, prevState, ''));
}, {}));
});
},
removeFields: function removeFields(fields) {
removeFieldIds: function removeFieldIds(fields) {
return setInnerForm(function (prevState) {
return Object.keys(prevState).reduce(function (acc, key) {
var _extends4;
var _extends5;

@@ -366,3 +407,3 @@ if (fields.includes(key)) {

return _extends({}, acc, (_extends4 = {}, _extends4[key] = prevState[key], _extends4));
return _extends({}, acc, (_extends5 = {}, _extends5[key] = prevState[key], _extends5));
}, {});

@@ -384,8 +425,8 @@ });

return Boolean(field.errorMessage);
}).reduce(function (acc, _ref2) {
var _extends5;
}).reduce(function (acc, _ref4) {
var _extends6;
var key = _ref2.key,
errorMessage = _ref2.errorMessage;
return _extends({}, acc, (_extends5 = {}, _extends5[key] = errorMessage, _extends5));
var key = _ref4.key,
errorMessage = _ref4.errorMessage;
return _extends({}, acc, (_extends6 = {}, _extends6[key] = errorMessage, _extends6));
}, {});

@@ -400,9 +441,9 @@ var hasErrors = Object.values(errors).length > 0;

var parsedForm = Object.values(form).reduce(function (acc, _ref3) {
var _extends6;
var parsedForm = Object.values(form).reduce(function (acc, _ref5) {
var _extends7;
var key = _ref3.key,
value = _ref3.value,
submitParser = _ref3.submitParser;
return _extends({}, acc, (_extends6 = {}, _extends6[key] = submitParser ? submitParser(value) : value, _extends6));
var key = _ref5.key,
value = _ref5.value,
submitParser = _ref5.submitParser;
return _extends({}, acc, (_extends7 = {}, _extends7[key] = submitParser ? submitParser(value) : value, _extends7));
}, {});

@@ -409,0 +450,0 @@ callbacks.onSuccess(parsedForm);

@@ -1,2 +0,2 @@

!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("react"),require("ramda")):"function"==typeof define&&define.amd?define(["exports","react","ramda"],r):r((e=e||self)["@codegateinc/react-form-builder-v2"]={},e.React,e.ramda)}(this,(function(e,r,n){"use strict";function t(){return(t=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e}).apply(this,arguments)}var i=function(e){return null!=e},u=function(e,r){return i(e)&&r(e)};e.useField=function(e){var u=e.key,a=e.label,o=e.initialValue,s=e.validationRules,l=e.isRequired,c=e.placeholder,f=e.validateOnBlur,v=void 0!==f&&f,d=e.liveParser,g=e.submitParser,y=r.useState(o),h=y[0],k=y[1],M=r.useState({value:h,isPristine:!0,errorMessage:""}),m=M[0],b=M[1],O=function(e,r){if(void 0===r&&(r=!1),!r&&m.isPristine||!s)return"";var t=i(e)?e:m.value;if(l&&n.isEmpty(t))return s[0].errorMessage;if(!l&&!Boolean(t))return"";var u=s.find((function(e){return!e.validate(t)}));return u?u.errorMessage:""};return{key:u,label:a,isRequired:l,placeholder:c,submitParser:g,value:m.value,hasChange:m.value!==h,errorMessage:m.errorMessage,onBlur:function(){return v&&b((function(e){return t({},e,{isPristine:!1,errorMessage:O(void 0,!0)})}))},onChangeValue:function(e){return b((function(r){return t({},r,{value:d?d(e):e,isPristine:r.isPristine?v:r.isPristine,errorMessage:O(e)})}))},onChangeInitialValue:function(e){m.value===h&&b((function(r){return t({},r,{value:e})})),k(e)},validateOnSubmit:function(){var e=O(void 0,!0);return e?(b((function(r){return t({},r,{errorMessage:e})})),e):""},setError:function(e){return b((function(r){return t({},r,{errorMessage:e})}))},resetState:function(){return b((function(e){return t({},e,{isPristine:!0,errorMessage:"",value:o})}))},validate:function(){return b((function(e){return t({},e,{errorMessage:O(void 0,!0)})}))}}},e.useForm=function(e,a){var o=Object.entries(e).reduce((function(e,r){var n;return t({},e,((n={})[r[0]]=r[1],n))}),{}),s=r.useState({}),l=s[0],c=s[1],f=function(e){var r=e.some((function(e){return e.isRequired&&Boolean(e.value)}));return{hasError:e.some((function(e){return!n.isEmpty(e.errorMessage)}))||r}}(Object.values(e)).hasError,v=t({},o,l);return{form:v,hasError:f,isFilled:Object.values(v).filter((function(e){return e.isRequired})).every((function(e){return e.hasChange})),isEachFieldValid:!Object.values(v).filter((function(e){return e.isRequired})).some((function(e){return Boolean(e.errorMessage)})),formHasChanges:function(){return Object.values(v).some((function(e){return e.hasChange}))},setError:function(e,r){v[e].setError(r),u(a.onError,(function(n){var t;return n(((t={})[e]=r,t))}))},setFieldValue:function(e,r){v[e].onChangeValue(r)},setFieldInitialValue:function(e,r){v[e].onChangeInitialValue(r)},addFields:function(e){return c((function(r){return t({},r,e.reduce((function(e,u){var a;return t({},e,((a={})[u.key]=function(e,r,u){var a,o=function(e,r,t){if(void 0===t&&(t=!1),!t&&e.isPristine||!e.validationRules)return"";var u=i(r)?r:e.value;if(e.isRequired&&n.isEmpty(u))return e.validationRules[0].errorMessage;if(!e.isRequired&&!Boolean(u))return"";var a=e.validationRules.find((function(e){return!e.validate(u)}));return a?a.errorMessage:""};return t({},e,{value:"",hasChange:!1,isPristine:!0,isRequired:e.isRequired||!1,validateOnBlur:e.validateOnBlur||!1,localInitialValue:e.initialValue||"",errorMessage:null==(a=r[e.key])?void 0:a.errorMessage,onChangeValue:function(r){return u((function(n){var i,u,a=t({},n[e.key],{value:e.liveParser?e.liveParser(r):r,hasChange:r!==(null==(i=n[e.key])?void 0:i.localInitialValue),isPristine:n[e.key].isPristine?e.validateOnBlur||!1:n[e.key].isPristine});return t({},n,((u={})[e.key]=t({},a,{errorMessage:o(a,r)}),u))}))},onBlur:function(){return e.validateOnBlur&&u((function(r){var n;return t({},r,((n={})[e.key]=t({},r[e.key],{isPristine:!1,errorMessage:o(r[e.key],void 0,!0)}),n))}))},validateOnSubmit:function(){var n=o(r[e.key],void 0,!0);return n?(u((function(r){var i;return t({},r,((i={})[e.key]=t({},r[e.key],{errorMessage:n}),i))})),n):""},onChangeInitialValue:function(n){r.value===r.localInitialValue&&u((function(r){var i;return t({},r,((i={})[e.key]=t({},r[e.key],{value:n,localInitialValue:n}),i))}))},setError:function(r){return u((function(n){var i;return t({},n,((i={})[e.key]=t({},n[e.key],{errorMessage:r}),i))}))},resetState:function(){return u((function(r){var n;return t({},r,((n={})[e.key]=t({},r[e.key],{isPristine:!0,errorMessage:"",value:e.initialValue||""}),n))}))},validate:function(){return u((function(r){var n;return t({},r,((n={})[e.key]=t({},r[e.key],{errorMessage:o(r[e.key],void 0,!0)}),n))}))}})}(u,r,c),a))}),{}))}))},removeFields:function(e){return c((function(r){return Object.keys(r).reduce((function(n,i){var u;return e.includes(i)?n:t({},n,((u={})[i]=r[i],u))}),{})}))},resetForm:function(){return Object.keys(v).forEach((function(e){return v[e].resetState()}))},submit:function(){var e=Object.values(v).map((function(e){return{key:e.key,errorMessage:e.validateOnSubmit()}})).filter((function(e){return Boolean(e.errorMessage)})).reduce((function(e,r){var n;return t({},e,((n={})[r.key]=r.errorMessage,n))}),{});if(Object.values(e).length>0)return u(a.onError,(function(r){return r(e)}));var r=Object.values(v).reduce((function(e,r){var n,i=r.value,u=r.submitParser;return t({},e,((n={})[r.key]=u?u(i):i,n))}),{});a.onSuccess(r)},validateAll:function(){return Object.values(v).forEach((function(e){return e.validate()}))}}},Object.defineProperty(e,"__esModule",{value:!0})}));
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("react"),require("ramda")):"function"==typeof define&&define.amd?define(["exports","react","ramda"],r):r((e=e||self)["@codegateinc/react-form-builder-v2"]={},e.React,e.ramda)}(this,(function(e,r,n){"use strict";function t(){return(t=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e}).apply(this,arguments)}var i=function(e){return null!=e},u=function(e,r){return i(e)&&r(e)};e.useField=function(e){var u=e.key,a=e.label,o=e.initialValue,s=e.validationRules,l=e.isRequired,c=e.placeholder,f=e.validateOnBlur,v=void 0!==f&&f,d=e.liveParser,y=e.submitParser,g=r.useState(o),h=g[0],k=g[1],b=r.useState({value:h,isPristine:!0,errorMessage:""}),M=b[0],m=b[1],O=function(e,r){if(void 0===r&&(r=!1),!r&&M.isPristine||!s)return"";var t=i(e)?e:M.value;if(l&&n.isEmpty(t))return s[0].errorMessage;if(!l&&!Boolean(t))return"";var u=s.find((function(e){return!e.validate(t)}));return u?u.errorMessage:""};return{key:u,label:a,isRequired:l,placeholder:c,submitParser:y,parentKey:"",value:M.value,hasChange:M.value!==h,errorMessage:M.errorMessage,onBlur:function(){return v&&m((function(e){return t({},e,{isPristine:!1,errorMessage:O(void 0,!0)})}))},onChangeValue:function(e){return m((function(r){return t({},r,{value:d?d(e):e,isPristine:r.isPristine?v:r.isPristine,errorMessage:O(e)})}))},onChangeInitialValue:function(e){M.value===h&&m((function(r){return t({},r,{value:e})})),k(e)},validateOnSubmit:function(){var e=O(void 0,!0);return e?(m((function(r){return t({},r,{errorMessage:e})})),e):""},setError:function(e){return m((function(r){return t({},r,{errorMessage:e})}))},resetState:function(){return m((function(e){return t({},e,{isPristine:!0,errorMessage:"",value:o})}))},validate:function(){return m((function(e){return t({},e,{errorMessage:O(void 0,!0)})}))}}},e.useForm=function(e,a){var o=Object.entries(e).reduce((function(e,r){var n;return t({},e,((n={})[r[0]]=r[1],n))}),{}),s=r.useState({}),l=s[0],c=s[1],f=function(e){var r=e.some((function(e){return e.isRequired&&Boolean(e.value)}));return{hasError:e.some((function(e){return!n.isEmpty(e.errorMessage)}))||r}}(Object.values(e)).hasError,v=t({},o,Object.entries(l).reduce((function(e,r){var n=r[1],i=n.parentKey.split(".").filter(Boolean);if(i.length>0){var u=i.reduce((function(r,u,a){var o,s;return t({},e,r,((s={})[u]=t({},e[u],r[u]||{},a===i.length-1?{children:[].concat((null==(o=r[u])?void 0:o.children)||[],[n])}:{}),s))}),{}),a=Object.keys(u).filter((function(e){return Object.keys(u[e]).length})).reduce((function(e,r){var n;return t({},e,((n={})[r]=u[r],n))}),{});return t({},e,a)}return t({},e,{field:n})}),{}));return{form:v,hasError:f,isFilled:Object.values(v).filter((function(e){return e.isRequired})).every((function(e){return e.hasChange})),isEachFieldValid:!Object.values(v).filter((function(e){return e.isRequired})).some((function(e){return Boolean(e.errorMessage)})),formHasChanges:function(){return Object.values(v).some((function(e){return e.hasChange}))},setError:function(e,r){v[e].setError(r),u(a.onError,(function(n){var t;return n(((t={})[e]=r,t))}))},setFieldValue:function(e,r){v[e].onChangeValue(r)},setFieldInitialValue:function(e,r){v[e].onChangeInitialValue(r)},addFields:function(e){return c((function(r){return t({},r,e.reduce((function(e,u){return t({},e,function e(r,u,a){var o;return r.children?r.children.reduce((function(n,i){return t({},n,e(i,u,a+"."+r.key))}),{}):((o={})[r.key]=function(e,r,u,a){var o;void 0===a&&(a="");var s=function(e,r,t){if(void 0===t&&(t=!1),!t&&e.isPristine||!e.validationRules)return"";var u=i(r)?r:e.value;if(e.isRequired&&n.isEmpty(u))return e.validationRules[0].errorMessage;if(!e.isRequired&&!Boolean(u))return"";var a=e.validationRules.find((function(e){return!e.validate(u)}));return a?a.errorMessage:""};return t({},e,{value:"",hasChange:!1,isPristine:!0,parentKey:a,isRequired:e.isRequired||!1,validateOnBlur:e.validateOnBlur||!1,localInitialValue:e.initialValue||"",errorMessage:null==(o=r[e.key])?void 0:o.errorMessage,onChangeValue:function(r){return u((function(n){var i,u,a=t({},n[e.key],{value:e.liveParser?e.liveParser(r):r,hasChange:r!==(null==(i=n[e.key])?void 0:i.localInitialValue),isPristine:n[e.key].isPristine?e.validateOnBlur||!1:n[e.key].isPristine});return t({},n,((u={})[e.key]=t({},a,{errorMessage:s(a,r)}),u))}))},onBlur:function(){return e.validateOnBlur&&u((function(r){var n;return t({},r,((n={})[e.key]=t({},r[e.key],{isPristine:!1,errorMessage:s(r[e.key],void 0,!0)}),n))}))},validateOnSubmit:function(){var n=s(r[e.key],void 0,!0);return n?(u((function(r){var i;return t({},r,((i={})[e.key]=t({},r[e.key],{errorMessage:n}),i))})),n):""},onChangeInitialValue:function(n){r.value===r.localInitialValue&&u((function(r){var i;return t({},r,((i={})[e.key]=t({},r[e.key],{value:n,localInitialValue:n}),i))}))},setError:function(r){return u((function(n){var i;return t({},n,((i={})[e.key]=t({},n[e.key],{errorMessage:r}),i))}))},resetState:function(){return u((function(r){var n;return t({},r,((n={})[e.key]=t({},r[e.key],{isPristine:!0,errorMessage:"",value:e.initialValue||""}),n))}))},validate:function(){return u((function(r){var n;return t({},r,((n={})[e.key]=t({},r[e.key],{errorMessage:s(r[e.key],void 0,!0)}),n))}))}})}(r,u,c,a),o)}(u,r,""))}),{}))}))},removeFieldIds:function(e){return c((function(r){return Object.keys(r).reduce((function(n,i){var u;return e.includes(i)?n:t({},n,((u={})[i]=r[i],u))}),{})}))},resetForm:function(){return Object.keys(v).forEach((function(e){return v[e].resetState()}))},submit:function(){var e=Object.values(v).map((function(e){return{key:e.key,errorMessage:e.validateOnSubmit()}})).filter((function(e){return Boolean(e.errorMessage)})).reduce((function(e,r){var n;return t({},e,((n={})[r.key]=r.errorMessage,n))}),{});if(Object.values(e).length>0)return u(a.onError,(function(r){return r(e)}));var r=Object.values(v).reduce((function(e,r){var n,i=r.value,u=r.submitParser;return t({},e,((n={})[r.key]=u?u(i):i,n))}),{});a.onSuccess(r)},validateAll:function(){return Object.values(v).forEach((function(e){return e.validate()}))}}},Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=react-form-builder-v2.umd.production.min.js.map

@@ -50,3 +50,3 @@ type VoidFunction = () => void

addFields(fields: Array<Field>): void,
removeFields(fields: Array<string>)
removeFieldIds(fields: Array<string>)
}

@@ -53,0 +53,0 @@

@@ -6,3 +6,3 @@ {

"typings": "index.d.ts",
"version": "1.0.25",
"version": "1.1.0",
"main": "dist/index.js",

@@ -16,3 +16,3 @@ "scripts": {

"peerDependencies": {
"react": "^17.0.0",
"react": "18.x.x",
"ramda": "^0.28.0"

@@ -19,0 +19,0 @@ },

@@ -9,3 +9,4 @@ import React from 'react'

prevState: InnerForm<T>,
setState: React.Dispatch<React.SetStateAction<InnerForm<T>>>
setState: React.Dispatch<React.SetStateAction<InnerForm<T>>>,
parentKey: string = ''
): ExtendedConfig<T> => {

@@ -42,2 +43,3 @@ const computeErrorMessage = (field: ExtendedConfig<T>, value?: T, forceCheck: boolean = false) => {

isPristine: true,
parentKey,
isRequired: fieldConfig.isRequired || false,

@@ -44,0 +46,0 @@ validateOnBlur: fieldConfig.validateOnBlur || false,

@@ -22,2 +22,3 @@ import { VoidFunction } from 'lib/types'

validationRules?: Array<ValidationRule<T>>,
children: Array<FieldConfig<T>>,
liveParser?(value: T): T,

@@ -43,2 +44,3 @@ submitParser?(value: T): T

validate: VoidFunction,
parentKey: string,
validateOnSubmit(): string,

@@ -45,0 +47,0 @@ onChangeValue(newValue: T): void,

@@ -55,2 +55,3 @@ import { useState } from 'react'

submitParser,
parentKey: '',
value: field.value,

@@ -57,0 +58,0 @@ hasChange: field.value !== localInitialValue,

@@ -27,5 +27,59 @@ import { useState } from 'react'

...injectedForm,
...innerForm
...Object
.entries<GateField<any>>(innerForm)
.reduce((acc, [_, field]) => {
const fieldKeys = field.parentKey
.split('.')
.filter(Boolean)
if (fieldKeys.length > 0) {
const mappedField = fieldKeys
.reduce((localAcc, localKey, index) => ({
...acc,
...localAcc,
[localKey]: {
...acc[localKey],
...(localAcc[localKey] || {}),
...(index === fieldKeys.length - 1 ? {
children: [
...(localAcc[localKey]?.children || []),
field
]
} : {})
}
}), {})
const removeEmptyObjects = Object
.keys(mappedField)
.filter(key => Object.keys(mappedField[key]).length)
.reduce((acc, key) => ({
...acc,
[key]: mappedField[key]
}), {})
return {
...acc,
...removeEmptyObjects
}
}
return {
...acc,
field
}
}, {})
}
const addFieldsRecurrence = (field: FieldConfig<any>, prevState: any, parentKey: string): any => {
if (field.children) {
return field.children.reduce((acc, child) => ({
...acc,
...addFieldsRecurrence(child, prevState, `${parentKey}.${field.key}`)
}), {})
}
return {
[field.key]: generateField(field, prevState, setInnerForm, parentKey)
}
}
return {

@@ -62,6 +116,6 @@ form,

...acc,
[item.key]: generateField(item, prevState, setInnerForm)
...addFieldsRecurrence(item, prevState, '')
}), {})
})),
removeFields: (fields: Array<string>) => setInnerForm(prevState => Object
removeFieldIds: (fields: Array<string>) => setInnerForm(prevState => Object
.keys(prevState)

@@ -68,0 +122,0 @@ .reduce((acc, key) => {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc