UNPKG

mindstream-gravity-form

Version:

Mindstream Fork of Gravity Forms on React apps via the Wordpress API

2 lines 17.1 kB
"use strict";function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;var _react=_interopRequireWildcard(require("react")),FormFields=_interopRequireWildcard(require("../Fields"));function _getRequireWildcardCache(){if("function"!=typeof WeakMap)return null;var a=new WeakMap;return _getRequireWildcardCache=function(){return a},a}function _interopRequireWildcard(a){if(a&&a.__esModule)return a;if(null===a||"object"!==_typeof(a)&&"function"!=typeof a)return{default:a};var b=_getRequireWildcardCache();if(b&&b.has(a))return b.get(a);var c={},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var e in a)if(Object.prototype.hasOwnProperty.call(a,e)){var f=d?Object.getOwnPropertyDescriptor(a,e):null;f&&(f.get||f.set)?Object.defineProperty(c,e,f):c[e]=a[e]}return c["default"]=a,b&&b.set(a,c),c}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(a,b){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a)){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!(b&&c.length===b));d=!0);}catch(a){e=!0,f=a}finally{try{d||null==h["return"]||h["return"]()}finally{if(e)throw f}}return c}}function _arrayWithHoles(a){if(Array.isArray(a))return a}var frac2dec=function(a){var b=a.split("-");if(1===b.length&&(b=a.split(" ")),1<b.length&&-1!==a.indexOf("/")){var c=parseInt(b[0]),d=b[1].split("/"),e=parseInt(d[0])/parseInt(d[1]);return c+e}if(-1!==a.indexOf("/")){var f=a.split("/"),g=parseInt(f[0])/parseInt(f[1]);return g}return parseInt(a)},formatComponentName=function(a){return a.charAt(0).toUpperCase()+a.slice(1)},formatWidthFromCss=function(a){if(!a)return{};var b=a.indexOf("["),c=a.indexOf("]");if(-1===b||-1===c)return{};var d=a.substring(b+1,c).split(",").map(function(a){return frac2dec(a.replace(/\s/g,""))}),e="".concat(a.replace(a.substring(b,c+1),"")," custom-width");return{width:d,cleanedCssClass:e}},RenderField=function(a){var b=a.field,c=a.formValues,d=a.submitFailed,e=a.submitSuccess,f=a.setTouched,g=a.touched,h=a.updateForm,i=a.pages,j=a.prevStep,k=a.nextStep,l=a.isNextDisabled,m=a.saveStateToHtmlField,n=a.styledComponents,o=a.customComponents,p=a.error,q=a.unsetError,r=a.dropzoneText,s=a.formatChars,t=FormFields[formatComponentName(b.type)];o&&(o[b.id]||o[b.cssClass]||o[b.inputName])&&(t=FormFields[formatComponentName("custom")]);var u=formatWidthFromCss(b.cssClass),v=u.cleanedCssClass,w=u.width;w&&(b.cssClass=v,b.width=w);var x=c[b.id]?c[b.id].value:b.defaultValue,y=(0,_react.useState)("".concat(b.cssClass).concat("select"===b.type?x.value&&""!==x.value?" filled":"":x&&""!==x?" filled":"")),z=_slicedToArray(y,2),A=z[0],B=z[1];return _react["default"].createElement(t,{key:"el-".concat(b.formId,"-").concat(b.id),field:b,value:x,updateForm:h,validationMessage:!!c[b.id]&&c[b.id].valid,submitFailed:d,submitSuccess:e,touched:g[b.id],setTouched:f,unsetError:q,error:p,pages:i,prevStep:j,nextStep:k,isNextDisabled:l,hideField:!!c[b.id]&&c[b.id].hideField,saveStateToHtmlField:!("html"!==b.type||-1===b.cssClass.indexOf("set-state"))&&{formValues:c,saveStateToHtmlField:m},styledComponents:n,cssClass:A,setFocusClass:function setFocusClass(a){a?-1===A.indexOf(" filled")&&B("".concat(A," filled")):B(A.replace(" filled",""))},component:o&&(o[b.id]||o[b.cssClass]),dropzoneText:r,formatChars:s})},_default=RenderField;exports["default"]=_default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Gb3JtRWxlbWVudHMvUmVuZGVyRmllbGQuanN4Il0sIm5hbWVzIjpbImZyYWMyZGVjIiwiZnJhY3Rpb24iLCJmcmFjdGlvblBhcnRzIiwic3BsaXQiLCJsZW5ndGgiLCJpbmRleE9mIiwiaW50ZWdlciIsInBhcnNlSW50IiwiZGVjaW1hbFBhcnRzIiwiZGVjaW1hbCIsImZvcm1hdENvbXBvbmVudE5hbWUiLCJzdHJpbmciLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwiZm9ybWF0V2lkdGhGcm9tQ3NzIiwiY3NzQ2xhc3MiLCJ3aWR0aFN0YXJ0cyIsIndpZHRoRW5kcyIsIndpZHRoIiwic3Vic3RyaW5nIiwibWFwIiwiaXRlbSIsInJlcGxhY2UiLCJjbGVhbmVkQ3NzQ2xhc3MiLCJSZW5kZXJGaWVsZCIsImZpZWxkIiwiZm9ybVZhbHVlcyIsInN1Ym1pdEZhaWxlZCIsInN1Ym1pdFN1Y2Nlc3MiLCJzZXRUb3VjaGVkIiwidG91Y2hlZCIsInVwZGF0ZUZvcm0iLCJwYWdlcyIsInByZXZTdGVwIiwibmV4dFN0ZXAiLCJpc05leHREaXNhYmxlZCIsInNhdmVTdGF0ZVRvSHRtbEZpZWxkIiwic3R5bGVkQ29tcG9uZW50cyIsImN1c3RvbUNvbXBvbmVudHMiLCJlcnJvciIsInVuc2V0RXJyb3IiLCJkcm9wem9uZVRleHQiLCJmb3JtYXRDaGFycyIsIkZvcm1Db21wb25lbnQiLCJGb3JtRmllbGRzIiwidHlwZSIsImlkIiwiaW5wdXROYW1lIiwidmFsdWUiLCJkZWZhdWx0VmFsdWUiLCJmaWVsZENsYXNzTmFtZSIsInNldEZpZWxkQ2xhc3NOYW1lIiwiZm9ybUlkIiwidmFsaWQiLCJoaWRlRmllbGQiLCJzZXRGb2N1c0NsYXNzIiwiYWN0aW9uIl0sIm1hcHBpbmdzIjoid3VFQUdNQSxDQUFBQSxRQUFRLENBQUcsU0FBQ0MsQ0FBRCxDQUFjLENBRzdCLEdBQUlDLENBQUFBLENBQWEsQ0FBR0QsQ0FBUSxDQUFDRSxLQUFULENBQWUsR0FB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QXpCWixDQTBCRSxhQUFhLENBckNLLFFBQWhCSyxDQUFBQSxhQUFnQixDQUFDQyxDQUFELENBQVksQ0FDNUJBLENBRDRCLENBRVksQ0FBQyxDQUF2QyxHQUFBTixDQUFjLENBQUM5QyxPQUFmLENBQXVCLFNBQXZCLENBRjBCLEVBRzVCK0MsQ0FBaUIsV0FBSUQsQ0FBSixZQUhXLENBTTlCQyxDQUFpQixDQUFDRCxDQUFjLENBQUM1QixPQUFmLENBQXVCLFNBQXZCLENBQWtDLEVBQWxDLENBQUQsQ0FFcEIsQ0FHQyxDQTJCRSxTQUFTLENBQ1BnQixDQUFnQixHQUNmQSxDQUFnQixDQUFDYixDQUFLLENBQUNxQixFQUFQLENBQWhCLEVBQThCUixDQUFnQixDQUFDYixDQUFLLENBQUNWLFFBQVAsQ0FEL0IsQ0E1QnBCLENBK0JFLFlBQVksQ0FBRTBCLENBL0JoQixDQWdDRSxXQUFXLENBQUVDLENBaENmLEVBbUNILEMsVUFFY2xCLFciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0ICogYXMgRm9ybUZpZWxkcyBmcm9tIFwiLi4vRmllbGRzXCI7XHJcblxyXG5jb25zdCBmcmFjMmRlYyA9IChmcmFjdGlvbikgPT4ge1xyXG4gIC8qIGFzc3VtZXMgZnJhY3Rpb24gaXMgaW4gdGhlIGZvcm0gIDEtMS8yIG9yIDEgMS8yICovXHJcbiAgLyogZG9lc24ndCB3b3JrIG9uIG5lZ2F0aXZlIG51bWJlcnMgKi9cclxuICBsZXQgZnJhY3Rpb25QYXJ0cyA9IGZyYWN0aW9uLnNwbGl0KFwiLVwiKTtcclxuICBpZiAoZnJhY3Rpb25QYXJ0cy5sZW5ndGggPT09IDEpIHtcclxuICAgIC8qIHRyeSBzcGFjZSBhcyBkaXZpZGVyICovXHJcbiAgICBmcmFjdGlvblBhcnRzID0gZnJhY3Rpb24uc3BsaXQoXCIgXCIpO1xyXG4gIH1cclxuXHJcbiAgaWYgKGZyYWN0aW9uUGFydHMubGVuZ3RoID4gMSAmJiBmcmFjdGlvbi5pbmRleE9mKFwiL1wiKSAhPT0gLTEpIHtcclxuICAgIGNvbnN0IGludGVnZXIgPSBwYXJzZUludChmcmFjdGlvblBhcnRzWzBdKTtcclxuICAgIGNvbnN0IGRlY2ltYWxQYXJ0cyA9IGZyYWN0aW9uUGFydHNbMV0uc3BsaXQoXCIvXCIpO1xyXG4gICAgY29uc3QgZGVjaW1hbCA9IHBhcnNlSW50KGRlY2ltYWxQYXJ0c1swXSkgLyBwYXJzZUludChkZWNpbWFsUGFydHNbMV0pO1xyXG5cclxuICAgIHJldHVybiBpbnRlZ2VyICsgZGVjaW1hbDtcclxuICB9XHJcbiAgaWYgKGZyYWN0aW9uLmluZGV4T2YoXCIvXCIpICE9PSAtMSkge1xyXG4gICAgY29uc3QgZGVjaW1hbFBhcnRzID0gZnJhY3Rpb24uc3BsaXQoXCIvXCIpO1xyXG4gICAgY29uc3QgZGVjaW1hbCA9IHBhcnNlSW50KGRlY2ltYWxQYXJ0c1swXSkgLyBwYXJzZUludChkZWNpbWFsUGFydHNbMV0pO1xyXG4gICAgcmV0dXJuIGRlY2ltYWw7XHJcbiAgfVxyXG4gIHJldHVybiBwYXJzZUludChmcmFjdGlvbik7XHJcbn07XHJcblxyXG5jb25zdCBmb3JtYXRDb21wb25lbnROYW1lID0gKHN0cmluZykgPT5cclxuICBzdHJpbmcuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBzdHJpbmcuc2xpY2UoMSk7XHJcbmNvbnN0IGZvcm1hdFdpZHRoRnJvbUNzcyA9IChjc3NDbGFzcykgPT4ge1xyXG4gIGlmICghY3NzQ2xhc3MpIHJldHVybiB7fTtcclxuICBjb25zdCB3aWR0aFN0YXJ0cyA9IGNzc0NsYXNzLmluZGV4T2YoXCJbXCIpO1xyXG4gIGNvbnN0IHdpZHRoRW5kcyA9IGNzc0NsYXNzLmluZGV4T2YoXCJdXCIpO1xyXG5cclxuICBpZiAod2lkdGhTdGFydHMgPT09IC0xIHx8IHdpZHRoRW5kcyA9PT0gLTEpIHtcclxuICAgIHJldHVybiB7fTtcclxuICB9XHJcblxyXG4gIGNvbnN0IHdpZHRoID0gY3NzQ2xhc3NcclxuICAgIC5zdWJzdHJpbmcod2lkdGhTdGFydHMgKyAxLCB3aWR0aEVuZHMpXHJcbiAgICAuc3BsaXQoXCIsXCIpXHJcbiAgICAubWFwKChpdGVtKSA9PiBmcmFjMmRlYyhpdGVtLnJlcGxhY2UoL1xccy9nLCBcIlwiKSkpO1xyXG5cclxuICBjb25zdCBjbGVhbmVkQ3NzQ2xhc3MgPSBgJHtjc3NDbGFzcy5yZXBsYWNlKFxyXG4gICAgY3NzQ2xhc3Muc3Vic3RyaW5nKHdpZHRoU3RhcnRzLCB3aWR0aEVuZHMgKyAxKSxcclxuICAgIFwiXCJcclxuICApfSBjdXN0b20td2lkdGhgO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgd2lkdGgsXHJcbiAgICBjbGVhbmVkQ3NzQ2xhc3MsXHJcbiAgfTtcclxufTtcclxuXHJcbmNvbnN0IFJlbmRlckZpZWxkID0gKHtcclxuICBmaWVsZCxcclxuICBmb3JtVmFsdWVzLFxyXG4gIHN1Ym1pdEZhaWxlZCxcclxuICBzdWJtaXRTdWNjZXNzLFxyXG4gIHNldFRvdWNoZWQsXHJcbiAgdG91Y2hlZCxcclxuICB1cGRhdGVGb3JtLFxyXG4gIHBhZ2VzLFxyXG4gIHByZXZTdGVwLFxyXG4gIG5leHRTdGVwLFxyXG4gIGlzTmV4dERpc2FibGVkLFxyXG4gIHNhdmVTdGF0ZVRvSHRtbEZpZWxkLFxyXG4gIHN0eWxlZENvbXBvbmVudHMsXHJcbiAgY3VzdG9tQ29tcG9uZW50cyxcclxuICBlcnJvcixcclxuICB1bnNldEVycm9yLFxyXG4gIGRyb3B6b25lVGV4dCxcclxuICBmb3JtYXRDaGFycyxcclxufSkgPT4ge1xyXG4gIGxldCBGb3JtQ29tcG9uZW50ID0gRm9ybUZpZWxkc1tmb3JtYXRDb21wb25lbnROYW1lKGZpZWxkLnR5cGUpXTtcclxuXHJcbiAgaWYgKFxyXG4gICAgY3VzdG9tQ29tcG9uZW50cyAmJlxyXG4gICAgKGN1c3RvbUNvbXBvbmVudHNbZmllbGQuaWRdIHx8XHJcbiAgICAgIGN1c3RvbUNvbXBvbmVudHNbZmllbGQuY3NzQ2xhc3NdIHx8XHJcbiAgICAgIGN1c3RvbUNvbXBvbmVudHNbZmllbGQuaW5wdXROYW1lXSlcclxuICApIHtcclxuICAgIEZvcm1Db21wb25lbnQgPSBGb3JtRmllbGRzW2Zvcm1hdENvbXBvbmVudE5hbWUoXCJjdXN0b21cIildO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgeyBjbGVhbmVkQ3NzQ2xhc3MsIHdpZHRoIH0gPSBmb3JtYXRXaWR0aEZyb21Dc3MoZmllbGQuY3NzQ2xhc3MpO1xyXG4gIGlmICh3aWR0aCkge1xyXG4gICAgZmllbGQuY3NzQ2xhc3MgPSBjbGVhbmVkQ3NzQ2xhc3M7XHJcbiAgICBmaWVsZC53aWR0aCA9IHdpZHRoO1xyXG4gIH1cclxuICBjb25zdCB2YWx1ZSA9IGZvcm1WYWx1ZXNbZmllbGQuaWRdXHJcbiAgICA/IGZvcm1WYWx1ZXNbZmllbGQuaWRdLnZhbHVlXHJcbiAgICA6IGZpZWxkLmRlZmF1bHRWYWx1ZTtcclxuICBjb25zdCBbZmllbGRDbGFzc05hbWUsIHNldEZpZWxkQ2xhc3NOYW1lXSA9IHVzZVN0YXRlKFxyXG4gICAgYCR7ZmllbGQuY3NzQ2xhc3N9JHtcclxuICAgICAgZmllbGQudHlwZSA9PT0gXCJzZWxlY3RcIlxyXG4gICAgICAgID8gdmFsdWUudmFsdWUgJiYgdmFsdWUudmFsdWUgIT09IFwiXCJcclxuICAgICAgICAgID8gXCIgZmlsbGVkXCJcclxuICAgICAgICAgIDogXCJcIlxyXG4gICAgICAgIDogdmFsdWUgJiYgdmFsdWUgIT09IFwiXCJcclxuICAgICAgICA/IFwiIGZpbGxlZFwiXHJcbiAgICAgICAgOiBcIlwiXHJcbiAgICB9YFxyXG4gICk7XHJcblxyXG4gIGNvbnN0IHNldEZvY3VzQ2xhc3MgPSAoYWN0aW9uKSA9PiB7XHJcbiAgICBpZiAoYWN0aW9uKSB7XHJcbiAgICAgIGlmIChmaWVsZENsYXNzTmFtZS5pbmRleE9mKFwiIGZpbGxlZFwiKSA9PT0gLTEpIHtcclxuICAgICAgICBzZXRGaWVsZENsYXNzTmFtZShgJHtmaWVsZENsYXNzTmFtZX0gZmlsbGVkYCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNldEZpZWxkQ2xhc3NOYW1lKGZpZWxkQ2xhc3NOYW1lLnJlcGxhY2UoXCIgZmlsbGVkXCIsIFwiXCIpKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPEZvcm1Db21wb25lbnRcclxuICAgICAga2V5PXtgZWwtJHtmaWVsZC5mb3JtSWR9LSR7ZmllbGQuaWR9YH1cclxuICAgICAgZmllbGQ9e2ZpZWxkfVxyXG4gICAgICB2YWx1ZT17dmFsdWV9XHJcbiAgICAgIHVwZGF0ZUZvcm09e3VwZGF0ZUZvcm19XHJcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlPXtcclxuICAgICAgICBmb3JtVmFsdWVzW2ZpZWxkLmlkXSA/IGZvcm1WYWx1ZXNbZmllbGQuaWRdLnZhbGlkIDogZmFsc2VcclxuICAgICAgfVxyXG4gICAgICBzdWJtaXRGYWlsZWQ9e3N1Ym1pdEZhaWxlZH1cclxuICAgICAgc3VibWl0U3VjY2Vzcz17c3VibWl0U3VjY2Vzc31cclxuICAgICAgdG91Y2hlZD17dG91Y2hlZFtmaWVsZC5pZF19XHJcbiAgICAgIHNldFRvdWNoZWQ9e3NldFRvdWNoZWR9XHJcbiAgICAgIHVuc2V0RXJyb3I9e3Vuc2V0RXJyb3J9XHJcbiAgICAgIGVycm9yPXtlcnJvcn1cclxuICAgICAgcGFnZXM9e3BhZ2VzfVxyXG4gICAgICBwcmV2U3RlcD17cHJldlN0ZXB9XHJcbiAgICAgIG5leHRTdGVwPXtuZXh0U3RlcH1cclxuICAgICAgaXNOZXh0RGlzYWJsZWQ9e2lzTmV4dERpc2FibGVkfVxyXG4gICAgICBoaWRlRmllbGQ9e2Zvcm1WYWx1ZXNbZmllbGQuaWRdID8gZm9ybVZhbHVlc1tmaWVsZC5pZF0uaGlkZUZpZWxkIDogZmFsc2V9XHJcbiAgICAgIHNhdmVTdGF0ZVRvSHRtbEZpZWxkPXtcclxuICAgICAgICBmaWVsZC50eXBlID09PSBcImh0bWxcIiAmJiBmaWVsZC5jc3NDbGFzcy5pbmRleE9mKFwic2V0LXN0YXRlXCIpICE9PSAtMVxyXG4gICAgICAgICAgPyB7IGZvcm1WYWx1ZXMsIHNhdmVTdGF0ZVRvSHRtbEZpZWxkIH1cclxuICAgICAgICAgIDogZmFsc2VcclxuICAgICAgfVxyXG4gICAgICBzdHlsZWRDb21wb25lbnRzPXtzdHlsZWRDb21wb25lbnRzfVxyXG4gICAgICBjc3NDbGFzcz17ZmllbGRDbGFzc05hbWV9XHJcbiAgICAgIHNldEZvY3VzQ2xhc3M9e3NldEZvY3VzQ2xhc3N9XHJcbiAgICAgIGNvbXBvbmVudD17XHJcbiAgICAgICAgY3VzdG9tQ29tcG9uZW50cyAmJlxyXG4gICAgICAgIChjdXN0b21Db21wb25lbnRzW2ZpZWxkLmlkXSB8fCBjdXN0b21Db21wb25lbnRzW2ZpZWxkLmNzc0NsYXNzXSlcclxuICAgICAgfVxyXG4gICAgICBkcm9wem9uZVRleHQ9e2Ryb3B6b25lVGV4dH1cclxuICAgICAgZm9ybWF0Q2hhcnM9e2Zvcm1hdENoYXJzfVxyXG4gICAgLz5cclxuICApO1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgUmVuZGVyRmllbGQ7XHJcbiJdfQ==