UNPKG

22.7 kBJavaScriptView Raw
1!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("lodash.get"),require("lodash.set"),require("semantic-ui-react"),require("lodash.isequal"),require("lodash.topath"),require("@accordproject/concerto-core"),require("util")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","lodash.get","lodash.set","semantic-ui-react","lodash.isequal","lodash.topath","@accordproject/concerto-core","util"],t):t((e=e||self).ReactCalendarToolkit={},e.React,e.PropTypes,e.get,e.set,e.semanticUiReact,e.isEqual,e.toPath,e.concertoCore,e.util)}(this,(function(e,t,n,r,a,i,o,l,s,c){"use strict";var u="default"in t?t.default:t;function d(e){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e,t,n,r,a,i,o){try{var l=e[i](o),s=l.value}catch(e){return void n(e)}l.done?t(s):Promise.resolve(s).then(r,a)}function f(e){return function(){var t=this,n=arguments;return new Promise((function(r,a){var i=e.apply(t,n);function o(e){p(i,r,a,o,l,"next",e)}function l(e){p(i,r,a,o,l,"throw",e)}o(void 0)}))}}function m(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function h(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function y(e,t,n){return t&&h(e.prototype,t),n&&h(e,n),e}function g(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function v(){return(v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function E(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?b(Object(n),!0).forEach((function(t){g(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):b(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function O(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&k(e,t)}function w(e){return(w=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function k(e,t){return(k=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function F(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function S(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?F(e):t}function C(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=w(e);if(t){var a=w(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return S(this,n)}}function N(e){return function(e){if(Array.isArray(e))return j(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return j(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return j(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function j(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}n=n&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n,r=r&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,a=a&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a,o=o&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o,l=l&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l;var M=function(e){O(r,e);var n=C(r);function r(e){var t;return m(this,r),(t=n.call(this,e)).state={error:null},t}return y(r,[{key:"componentDidCatch",value:function(e){console.warn(e.message),this.setState({error:e.message})}},{key:"render",value:function(){return this.state.error?u.createElement(t.Message,{warning:!0},u.createElement("p",null,this.state.error)):this.props.children}}]),r}(u.Component);M.propTypes={children:n.object};var x=function(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z])([a-z])/g," $1$2").replace(/ +/g," ").replace(/^./,(function(e){return e.toUpperCase()})).trim()},D=function(e){switch(e){case"DateTime":return"datetime-local";case"Boolean":return"boolean";case"String":return"text";case"Double":case"Long":case"Integer":return"number";default:return e}},A=function(e,t){switch(t){case"Boolean":return"true"===e;case"Double":return parseFloat(e);case"Long":case"Integer":return parseInt(e,10);default:return e}},T=function(e){switch(e.getType()){case"DateTime":return(new Date).toISOString();case"Integer":return 0;case"Long":case"Double":return 0;case"Boolean":return!1;default:return""}},P=function(e){if(!e.isAbstract())return e;var t=e.getAssignableClassDeclarations().filter((function(e){return!e.isAbstract()})).filter((function(e){return!e.isSystemType()}));if(0===t.length)throw new Error("No concrete subclasses found");return t[0]},L=function(e,t){return!(!t.hiddenFields||!t.hiddenFields.find((function(t){return"function"==typeof t?t(e):"string"==typeof t&&t===e.getFullyQualifiedName()})))&&(t.stack.pop(),!0)},I=function(e,t){if(e.isPrimitive())return T(e);var n=t.modelManager.getType(e.getFullyQualifiedTypeName());if((n=P(n)).isConcept()){var r=t.modelManager.getFactory().newConcept(n.getNamespace(),n.getName(),{includeOptionalFields:!0,generate:"sample"});return t.modelManager.getSerializer().toJSON(r)}var a=t.modelManager.getFactory().newResource(n.getNamespace(),n.getName(),"resource1",{includeOptionalFields:!0,generate:"sample"});return t.modelManager.getSerializer().toJSON(a)},q=Object.freeze({__proto__:null,normalizeLabel:x,toFieldType:D,parseValue:A,convertToJSON:T,findConcreteSubclass:P,hideProperty:L,getDefaultValue:I}),R=function(e){var t=e.skip,n=e.name;return t?null:u.createElement("label",null,x(n))},V=function(e){var t=e.id,n=e.field,r=e.readOnly,a=e.required,o=e.value,l=e.onFieldValueChange,s=e.skipLabel;return u.createElement(i.Form.Field,{required:a},u.createElement(R,{skip:s,name:n.getName()}),u.createElement(i.Checkbox,{toggle:!0,readOnly:r,checked:o,onChange:function(e,n){return l(n,t)},key:t}))},_=function(e){var t=e.id,n=e.field,r=e.readOnly,a=e.required,o=e.value,l=e.onFieldValueChange,s=e.skipLabel,c=e.type;return u.createElement(i.Form.Field,{required:a},u.createElement(R,{skip:s,name:n.getName()}),u.createElement(i.Input,{type:c,readOnly:r,value:o,onChange:function(e,r){return l(E(E({},r),{},{value:A(r.value,n.getType())}),t)},key:t}))},J=function(e){var t=e.id,n=e.field,r=e.readOnly,a=e.required,o=e.value,l=e.onFieldValueChange,s=e.skipLabel,c=e.type;return u.createElement(i.Form.Field,{required:a},u.createElement(R,{skip:s,name:n.getName()}),u.createElement(i.Input,{type:c,readOnly:r,value:new Date(o).toISOString().slice(0,19),onChange:function(e,n){return l(n,t)},key:t}))},z=function(e){var t=e.id,n=e.field,r=e.readOnly,a=e.required,o=e.children,l=e.addElement;return u.createElement(i.Form.Field,{required:a},u.createElement(R,{name:n.getName()}),o,u.createElement("div",{className:"arrayElement grid"},u.createElement("div",null),u.createElement("div",null,u.createElement(i.Button,{positive:!0,basic:!0,icon:"plus",disabled:r,onClick:function(e){l(e,t),e.preventDefault()}}))))},H=function(e){var t=e.id,n=e.readOnly,r=e.children,a=e.index,o=e.removeElement;return u.createElement("div",{className:"arrayElement grid"},u.createElement("div",null,r),u.createElement("div",null,u.createElement(i.Button,{negative:!0,basic:!0,icon:"times",disabled:n,onClick:function(e){o(e,t,a),e.preventDefault()}})))},B=function(e){var t=e.id,n=e.field,r=e.readOnly,a=e.value,o=e.onFieldValueChange,l=e.options;return u.createElement(i.Form.Field,{required:!0,key:n.getName().toLowerCase()},r?u.createElement(i.Input,{type:"text",readOnly:!0,value:a,key:t}):u.createElement(i.Select,{fluid:!0,value:a,onChange:function(e,n){return o(n,t)},key:t,options:l}))},Q=function(e){var t=e.className,n=e.children;return u.createElement("div",{className:t},u.createElement("div",null,n[0]),u.createElement("div",null,n[1]))},U=function(e){var t=e.children;return u.createElement(Q,{className:"monetaryAmount"},t)},W=function(e){var t=e.children;return u.createElement(Q,{className:"duration"},t)},$=function(){function e(){m(this,e)}return y(e,[{key:"visit",value:function(e,t){if(t.fileWriter||(t.fileWriter=new s.Writer),e instanceof s.ModelManager)return this.visitModelManager(e,t);if(e instanceof s.ModelFile)return this.visitModelFile(e,t);if(e instanceof s.EnumDeclaration)return this.visitEnumDeclaration(e,t);if(e instanceof s.ClassDeclaration)return this.visitClassDeclaration(e,t);if(e instanceof s.Field)return this.visitField(e,t);if(e instanceof s.RelationshipDeclaration)return this.visitRelationship(e,t);if(e instanceof s.EnumValueDeclaration)return this.visitEnumValueDeclaration(e,t);throw new Error("Unrecognised type: ".concat(d(e),", value: ").concat(c.inspect(e,{showHidden:!0,depth:2})))}},{key:"visitClassDeclaration",value:function(e,t){var n=this;if(t.hideIdentifiers){t.hiddenFields||(t.hiddenFields=[]);var r=e.getIdentifierFieldName();if(r){var a=e.getProperty(r);t.hiddenFields.push(a.getFullyQualifiedName())}}return e.isSystemType()||e.isAbstract()?null:["org.accordproject.money.MonetaryAmount","org.accordproject.money.DigitalMonetaryAmount"].includes(e.getFullyQualifiedName())?this.visitMonetaryAmount(e,t):["org.accordproject.time.Duration","org.accordproject.time.Period"].includes(e.getFullyQualifiedName())?this.visitDuration(e,t):["org.accordproject.cicero.contract.AccordParty"].includes(e.getFullyQualifiedName())?this.visitAccordParty(e,t):e.getProperties().map((function(e){return e.accept(n,t)}))}},{key:"visitMonetaryAmount",value:function(e,t){var n=e.getProperties();t.skipLabel=!0;var r=u.createElement(U,{key:e.getName().toLowerCase()},n[0].accept(this,t),n[1].accept(this,t));return t.skipLabel=!1,r}},{key:"visitDuration",value:function(e,t){var n=e.getProperties();t.skipLabel=!0;var r=u.createElement(W,{key:e.getName().toLowerCase()},n[0].accept(this,t),n[1].accept(this,t));return t.skipLabel=!1,r}},{key:"visitAccordParty",value:function(e,t){var n=e.getProperties();t.skipLabel=!0;var r=u.createElement("div",null,n[0].accept(this,t));return t.skipLabel=!1,r}},{key:"visitEnumDeclaration",value:function(e,t){var n=l(t.stack),a=r(t.json,n);return u.createElement(B,{id:n,value:a,field:e,readOnly:t.disabled,onFieldValueChange:t.onFieldValueChange,options:e.getProperties().map((function(e){return{key:e.getName(),value:e.getName(),text:e.getName()}}))})}},{key:"visitField",value:function(e,t){var n=this,a=t.skipLabel,i=t.disabled,o=t.addElement,s=t.removeElement,c=t.onFieldValueChange,d=t.stack;if(d.push(e.getName()),L(e,t))return null;var p=l(d),f=r(t.json,p),m=null,h={skipLabel:a||e.isArray(),id:p,field:e,value:f,type:D(e.getType()),required:!e.isOptional(),readOnly:i,addElement:o,removeElement:s,onFieldValueChange:c};return m=e.isArray()?u.createElement(z,v({},h,{key:"".concat(e.getName(),"_wrapper"),addElement:function(n,r){return o(n,r,I(e,t))}}),f&&f.map((function(r,a){d.push(a);var i=u.createElement(H,v({},h,{index:a,key:"".concat(e.getName(),"_wrapper[").concat(a,"]")}),n.visitSingletonField(e,t,h));return d.pop(),i}))):this.visitSingletonField(e,t,h),d.pop(),m}},{key:"visitSingletonField",value:function(e,t,n){var a=l(t.stack),o=r(t.json,a);if(e.isPrimitive())return"Boolean"===e.getType()?u.createElement(V,v({},n,{id:a,value:o})):"datetime-local"===D(e.getType())?u.createElement(J,v({},n,{id:a,value:o})):u.createElement(_,v({},n,{id:a,value:o}));var s=t.modelManager.getType(e.getFullyQualifiedTypeName());return s=P(s),u.createElement(i.Form.Field,{required:!e.isOptional(),key:e.getName()},u.createElement(R,{skip:n.skipLabel,name:e.getName()}),s.accept(this,t))}},{key:"visitRelationship",value:function(e,t){var n=t.skipLabel,a=t.disabled,i=t.addElement,o=t.removeElement,s=t.onFieldValueChange,c=t.stack;if(c.push(e.getName()),L(e,t))return null;var d,p=l(c),f=r(t.json,p),m={skipLabel:n||e.isArray(),id:p,field:e,value:f,type:"text",required:!e.isOptional(),readOnly:a,addElement:i,removeElement:o,onFieldValueChange:s};return d=e.isArray()?u.createElement(z,v({},m,{addElement:function(e,t){return i(e,t,"resource1")}}),f&&f.map((function(e,n){c.push(n);var a=l(c),i=r(t.json,a),o=u.createElement(H,v({},m,{index:n}),u.createElement(_,v({},m,{id:a,value:i})));return c.pop(),o}))):u.createElement(_,m),c.pop(),d}}]),e}(),Y=function(){function e(t){m(this,e),this.modelManager=new s.ModelManager,this.modelManager.addModelFile("namespace org.accordproject.base\n abstract asset Asset { }\n abstract participant Participant { }\n abstract transaction Transaction identified by transactionId {\n o String transactionId\n }\n abstract event Event identified by eventId {\n o String eventId\n }","org.accordproject.base.cto",!1,!0),this.options=E({includeSampleData:"empty",updateExternalModels:!1},t),this.factory=new s.Factory(this.modelManager),this.serializer=new s.Serializer(this.factory,this.modelManager),this.loaded=!1}var t;return y(e,[{key:"loadFromText",value:(t=f(regeneratorRuntime.mark((function e(t){var n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.loaded=!1,this.modelManager.clearModelFiles(),e.prev=2,t.forEach((function(e){return n.modelManager.addModelFile(e,null,!0)})),!this.options.updateExternalModels){e.next=7;break}return e.next=7,this.modelManager.updateExternalModels();case 7:this.modelManager.validateModelFiles(),e.next=14;break;case 10:throw e.prev=10,e.t0=e.catch(2),this.modelManager.clearModelFiles(),e.t0;case 14:return this.loaded=!0,e.abrupt("return",this.getTypes());case 16:case"end":return e.stop()}}),e,this,[[2,10]])}))),function(e){return t.apply(this,arguments)})},{key:"getTypes",value:function(){return this.loaded?this.modelManager.getModelFiles().reduce((function(e,t){return e.concat(t.getAllDeclarations())}),[]).filter((function(e){return!e.isEnum()&&!e.isAbstract()})):[]}},{key:"validateInstance",value:function(e){try{this.modelManager.getSerializer().fromJSON(e)}catch(e){return e.message}return null}},{key:"isInstanceOf",value:function(e,t){if(!e||!t)return!1;try{return this.modelManager.getSerializer().fromJSON(e).instanceOf(t)}catch(e){return!1}}},{key:"generateJSON",value:function(e){if(this.loaded){var t=this.modelManager.getType(e);if(t.isEnum())throw new Error("Cannot generate JSON for an enumerated type directly, the type should be contained in Concept, Asset, Transaction or Event declaration");if(t.isAbstract())throw new Error("Cannot generate JSON for abstract types");if(!this.options.includeSampleData)throw new Error("Cannot generate form values when the component is configured not to generate sample data.");var n=t.getNamespace(),r=t.getName(),a={includeOptionalFields:this.options.includeOptionalFields,generate:this.options.includeSampleData};if(t.isConcept()){var i=this.factory.newConcept(n,r,a);return this.serializer.toJSON(i)}var o=this.factory.newResource(n,r,"resource1",a);return this.serializer.toJSON(o)}return null}},{key:"generateHTML",value:function(e,t){if(this.loaded){var n=this.modelManager.getType(e);if(!n)throw new Error("".concat(e," not found"));if(n.isEnum())throw new Error("Cannot generate forms for an enumerated type directly, the type should be contained in Concept, Asset, Transaction or Event declaration");if(n.isAbstract())throw new Error("Cannot generate forms for abstract types");var r=E({customClasses:{},timestamp:Date.now(),modelManager:this.modelManager,json:t,stack:[]},this.options),a=r.visitor;a||(a=new $,r.wrapHtmlForm=!0);var i=n.accept(a,r);return r.wrapHtmlForm?a.wrapHtmlForm(i,r):n.accept(r.visitor,r)}return null}}]),e}();!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===n&&r.firstChild?r.insertBefore(a,r.firstChild):r.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}('/*\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.arrayElement, .classElement {\n border-left: 1px solid rgba(34,36,38,.15);\n padding: 5px 0px 5px 10px\n}\n\n.grid {\n display: grid;\n grid-template-columns: auto 36px;\n grid-column-gap: 5px;\n}\n\n.fullHeight {\n height:100%\n}\n\n.monetaryAmount {\n display: grid;\n grid-template-columns: auto 80px;\n grid-column-gap: 5px;\n}\n\n.duration {\n display: grid;\n grid-template-columns: auto 100px;\n grid-column-gap: 5px;\n}');var Z=function(e){O(s,e);var t,n,l=C(s);function s(e){var t;return m(this,s),(t=l.call(this,e)).onFieldValueChange=t.onFieldValueChange.bind(F(t)),t.state={value:null,loading:!0},t.options=E({includeOptionalFields:!0,includeSampleData:"sample",disabled:e.readOnly,visitor:new $,onFieldValueChange:function(e,n){t.onFieldValueChange(e,n)},addElement:function(e,n,r){t.addElement(e,n,r)},removeElement:function(e,n,r){t.removeElement(e,n,r)}},e.options),t.generator=new Y(t.options),t}return y(s,[{key:"componentDidMount",value:function(){var e=this;this._loadAsyncData().then((function(t){e.props.onModelChange(t)}))}},{key:"componentDidUpdate",value:function(e){var t=this;o(this.props.models,e.models)||this._loadAsyncData().then((function(e){t.props.onModelChange(e)}))}},{key:"onFieldValueChange",value:function(e,t){var n="checkbox"===e.type?e.checked:e.value||e.target.value,r=a(E({},this.state.value),t,n);this.setState({value:r}),this.props.onValueChange(r)}},{key:"_loadAsyncData",value:(n=f(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.setState({loading:!0}),e.next=3,this.loadModelFiles(this.props.models,"text");case 3:return t=e.sent,this.setState({loading:!1}),e.abrupt("return",t);case 6:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"loadModelFiles",value:(t=f(regeneratorRuntime.mark((function e(t){var n,r,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=this.props.type,e.prev=1,e.next=4,this.generator.loadFromText(t);case 4:n=e.sent,e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(1),console.error(e.t0.message),e.abrupt("return",{types:[]});case 11:if(0!==n.length){e.next=13;break}return e.abrupt("return",{types:[]});case 13:if(e.prev=13,n.map((function(e){return e.getFullyQualifiedName()})).includes(this.props.type)){e.next=18;break}return a=n[0].getFullyQualifiedName(),r=this.generateJSON(a),e.abrupt("return",{types:n,json:r});case 18:r=this.generateJSON(this.props.type),e.next=24;break;case 21:e.prev=21,e.t1=e.catch(13),console.log(e.t1);case 24:return e.abrupt("return",{types:n,json:r});case 25:case"end":return e.stop()}}),e,this,[[1,7],[13,21]])}))),function(e){return t.apply(this,arguments)})},{key:"removeElement",value:function(e,t,n){r(this.state.value,t).splice(n,1),this.props.onValueChange(this.state.value)}},{key:"addElement",value:function(e,t,n){var i=r(this.state.value,t)||[],o=a(E({},this.state.value),[].concat(N(t),[i.length]),n);this.setState({value:o}),this.props.onValueChange(o)}},{key:"isInstanceOf",value:function(e,t){return this.generator.isInstanceOf(e,t)}},{key:"generateJSON",value:function(e){try{if(this.props.json&&!this.isInstanceOf(this.props.json,e))return this.generator.generateJSON(e);if(!this.props.json)return this.generator.generateJSON(e)}catch(e){console.log(e)}return this.props.json}},{key:"render",value:function(){if(this.state.loading)return u.createElement(i.Dimmer,{active:!0,inverted:!0},u.createElement(i.Loader,{inverted:!0},"Loading"));if(this.props.type&&this.state.value)try{return u.createElement(i.Form,{style:E({minHeight:"100px"},this.props.style)},this.generator.generateHTML(this.props.type,this.state.value))}catch(e){return console.error(e),u.createElement(i.Message,{warning:!0},u.createElement(i.Message.Header,null,"An error occured while generating this form"),u.createElement("pre",null,e.message))}return u.createElement(i.Message,{warning:!0},u.createElement(i.Message.Header,null,"Invalid JSON instance provided"),u.createElement("p",null,"The JSON value does not match the model type associated with this form."))}}],[{key:"getDerivedStateFromProps",value:function(e){var t;if("string"==typeof e.json)try{t=JSON.parse(e.json)}catch(e){}else"object"===d(e.json)&&(t=E({},e.json));return{value:t}}}]),s}(t.Component);Z.propTypes={models:n.arrayOf(n.string),type:n.string,json:n.oneOfType([n.object,n.string]),onModelChange:n.func.isRequired,onValueChange:n.func.isRequired,options:n.shape(),readOnly:n.bool,style:n.shape()};var K=function(e){return u.createElement(M,null,u.createElement(Z,v({key:e.type},e)))};K.propTypes={models:n.arrayOf(n.string).isRequired,type:n.string,json:n.oneOfType([n.object,n.string]),onModelChange:n.func.isRequired,onValueChange:n.func.isRequired,options:n.shape(),readOnly:n.bool},e.ConcertoForm=K,e.ReactFormVisitor=$,e.Utilities=q,Object.defineProperty(e,"__esModule",{value:!0})}));