@rjsf/core 4.2.2 → 5.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/README.md +2 -2
  2. package/dist/components/Form.d.ts +274 -45
  3. package/dist/components/fields/ArrayField.d.ts +6 -51
  4. package/dist/components/fields/BooleanField.d.ts +7 -44
  5. package/dist/components/fields/MultiSchemaField.d.ts +42 -38
  6. package/dist/components/fields/NullField.d.ts +7 -5
  7. package/dist/components/fields/NumberField.d.ts +3 -46
  8. package/dist/components/fields/ObjectField.d.ts +71 -20
  9. package/dist/components/fields/SchemaField.d.ts +9 -38
  10. package/dist/components/fields/StringField.d.ts +6 -44
  11. package/dist/components/fields/index.d.ts +3 -26
  12. package/dist/components/templates/ArrayFieldDescriptionTemplate.d.ts +7 -0
  13. package/dist/components/templates/ArrayFieldItemTemplate.d.ts +6 -0
  14. package/dist/components/templates/ArrayFieldTemplate.d.ts +6 -0
  15. package/dist/components/templates/ArrayFieldTitleTemplate.d.ts +7 -0
  16. package/dist/components/templates/BaseInputTemplate.d.ts +8 -0
  17. package/dist/components/templates/ButtonTemplates/AddButton.d.ts +4 -0
  18. package/dist/components/templates/ButtonTemplates/IconButton.d.ts +5 -0
  19. package/dist/components/templates/ButtonTemplates/SubmitButton.d.ts +4 -0
  20. package/dist/components/templates/ButtonTemplates/index.d.ts +3 -0
  21. package/dist/components/templates/DescriptionField.d.ts +6 -0
  22. package/dist/components/templates/ErrorList.d.ts +6 -0
  23. package/dist/components/templates/FieldTemplate/FieldTemplate.d.ts +7 -0
  24. package/dist/components/templates/FieldTemplate/Label.d.ts +13 -0
  25. package/dist/components/templates/FieldTemplate/WrapIfAdditional.d.ts +12 -0
  26. package/dist/components/templates/FieldTemplate/index.d.ts +2 -0
  27. package/dist/components/templates/ObjectFieldTemplate.d.ts +8 -0
  28. package/dist/components/templates/TitleField.d.ts +6 -0
  29. package/dist/components/templates/UnsupportedField.d.ts +8 -0
  30. package/dist/components/templates/index.d.ts +3 -0
  31. package/dist/components/widgets/AltDateTimeWidget.d.ts +7 -21
  32. package/dist/components/widgets/AltDateWidget.d.ts +5 -21
  33. package/dist/components/widgets/CheckboxWidget.d.ts +7 -17
  34. package/dist/components/widgets/CheckboxesWidget.d.ts +7 -25
  35. package/dist/components/widgets/ColorWidget.d.ts +7 -15
  36. package/dist/components/widgets/DateTimeWidget.d.ts +7 -8
  37. package/dist/components/widgets/DateWidget.d.ts +7 -8
  38. package/dist/components/widgets/EmailWidget.d.ts +6 -8
  39. package/dist/components/widgets/FileWidget.d.ts +6 -18
  40. package/dist/components/widgets/HiddenWidget.d.ts +7 -11
  41. package/dist/components/widgets/PasswordWidget.d.ts +6 -8
  42. package/dist/components/widgets/RadioWidget.d.ts +7 -21
  43. package/dist/components/widgets/RangeWidget.d.ts +7 -8
  44. package/dist/components/widgets/SelectWidget.d.ts +7 -23
  45. package/dist/components/widgets/TextWidget.d.ts +6 -9
  46. package/dist/components/widgets/TextareaWidget.d.ts +10 -22
  47. package/dist/components/widgets/URLWidget.d.ts +6 -8
  48. package/dist/components/widgets/UpDownWidget.d.ts +6 -8
  49. package/dist/components/widgets/index.d.ts +3 -43
  50. package/dist/core.cjs.development.js +2947 -4606
  51. package/dist/core.cjs.development.js.map +1 -1
  52. package/dist/core.cjs.production.min.js +1 -1
  53. package/dist/core.cjs.production.min.js.map +1 -1
  54. package/dist/core.esm.js +2897 -4566
  55. package/dist/core.esm.js.map +1 -1
  56. package/dist/core.umd.development.js +4049 -0
  57. package/dist/core.umd.development.js.map +1 -0
  58. package/dist/core.umd.production.min.js +2 -0
  59. package/dist/core.umd.production.min.js.map +1 -0
  60. package/dist/getDefaultRegistry.d.ts +6 -0
  61. package/dist/index.d.ts +5 -70
  62. package/dist/withTheme.d.ts +7 -9
  63. package/package.json +41 -68
  64. package/dist/components/AddButton.d.ts +0 -5
  65. package/dist/components/ErrorList.d.ts +0 -1
  66. package/dist/components/IconButton.d.ts +0 -1
  67. package/dist/components/fields/DescriptionField.d.ts +0 -9
  68. package/dist/components/fields/TitleField.d.ts +0 -10
  69. package/dist/components/fields/UnsupportedField.d.ts +0 -14
  70. package/dist/components/widgets/BaseInput.d.ts +0 -23
  71. package/dist/components/widgets/SubmitButton.d.ts +0 -3
  72. package/dist/defaultRegistry.d.ts +0 -41
  73. package/dist/react-jsonschema-form.js +0 -26
  74. package/dist/react-jsonschema-form.js.map +0 -1
  75. package/dist/types.d.ts +0 -50
  76. package/dist/utils.d.ts +0 -81
  77. package/dist/validate.d.ts +0 -21
  78. package/index.d.ts +0 -500
@@ -1,2 +1,2 @@
1
- "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var r=require("react"),t=e(r),n=e(require("prop-types")),a=e(require("lodash/pick")),i=e(require("lodash/get")),o=e(require("lodash/isEmpty")),s=e(require("core-js-pure/es/array/includes")),l=require("react-is"),u=e(require("json-schema-merge-allof")),d=e(require("core-js-pure/features/array/fill")),c=e(require("lodash/union")),m=e(require("jsonpointer")),p=e(require("lodash/toPath")),f=e(require("ajv")),h=require("nanoid");function y(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function v(e,r,t){return r&&y(e.prototype,r),t&&y(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function g(){return(g=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(this,arguments)}function b(e,r){e.prototype=Object.create(r.prototype),e.prototype.constructor=e,(Object.setPrototypeOf||function(e,r){return e.__proto__=r,e})(e,r)}function S(e,r){if(null==e)return{};var t,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r.indexOf(t=i[n])>=0||(a[t]=e[t]);return a}function E(e){var r=function(e,r){if("object"!=typeof e||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof r?r:String(r)}function w(e){var r=e.type,n=void 0===r?"default":r,a=e.icon,i=e.className,o=S(e,["type","icon","className"]);return t.createElement("button",g({type:"button",className:"btn btn-"+n+" "+i},o),t.createElement("i",{className:"glyphicon glyphicon-"+a}))}function C(e){return t.createElement("div",{className:"row"},t.createElement("p",{className:"col-xs-3 col-xs-offset-9 text-right "+e.className},t.createElement(w,{type:"info",icon:"plus",className:"btn-add col-xs-12","aria-label":"Add",tabIndex:"0",onClick:e.onClick,disabled:e.disabled})))}var O=D(),F=null,x=null;function D(){var e=new f({errorDataPath:"property",allErrors:!0,multipleOfPrecision:8,schemaId:"auto",unknownFormats:"ignore"});return e.addFormat("data-url",/^data:([a-z]+\/[a-z0-9-+.]+)?;(?:name=(.*);)?base64,(.*)$/),e.addFormat("color",/^(#?([0-9A-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/),e}function k(e,r){void 0===r&&(r="root");var t=[];return"__errors"in e&&(t=t.concat(e.__errors.map((function(e){return{stack:r+": "+e}})))),Object.keys(e).reduce((function(r,t){return"__errors"!==t&&(r=r.concat(k(e[t],t))),r}),t)}function A(e,r,t,n,a,i){void 0===a&&(a=[]),void 0===i&&(i={}),e=T(r,e,r,!0);var o=!ce(x,a),s=!ce(F,i);(o||s)&&(O=D()),a&&o&&Array.isArray(a)&&(O.addMetaSchema(a),x=a),i&&s&&U(i)&&(Object.keys(i).forEach((function(e){O.addFormat(e,i[e])})),F=i);var l=null;try{O.validate(r,e)}catch(e){l=e}var u=function(e){return void 0===e&&(e=[]),null===e?[]:e.map((function(e){var r=e.message,t=e.schemaPath,n=""+e.dataPath;return{name:e.keyword,property:n,message:r,params:e.params,stack:(n+" "+r).trim(),schemaPath:t}}))}(O.errors);O.errors=null;var d=l&&l.message&&"string"==typeof l.message&&l.message.includes("no schema with key or ref ");d&&(u=[].concat(u,[{stack:l.message}])),"function"==typeof n&&(u=n(u));var c=function(e){return e.length?e.reduce((function(e,r){var t=r.message,n=p(r.property),a=e;n.length>0&&""===n[0]&&n.splice(0,1);var i=n.slice(0),o=Array.isArray(i),s=0;for(i=o?i:i[Symbol.iterator]();;){var l;if(o){if(s>=i.length)break;l=i[s++]}else{if((s=i.next()).done)break;l=s.value}var u=l;u in a||(a[u]={}),a=a[u]}return Array.isArray(a.__errors)?a.__errors=a.__errors.concat(t):t&&(a.__errors=[t]),e}),{}):{}}(u);if(d&&(c=g({},c,{$schema:{__errors:[l.message]}})),"function"!=typeof t)return{errors:u,errorSchema:c};var m=M(c,function e(r){return Object.keys(r).reduce((function(t,n){var a,i;return"addError"===n?t:g({},t,"__errors"===n?((i={})[n]=r[n],i):((a={})[n]=e(r[n]),a))}),{})}(t(e,function e(r){var t={__errors:[],addError:function(e){this.__errors.push(e)}};return U(r)?Object.keys(r).reduce((function(t,n){var a;return g({},t,((a={})[n]=e(r[n]),a))}),t):Array.isArray(r)?r.reduce((function(r,t,n){var a;return g({},r,((a={})[n]=e(t),a))}),t):t}(e))),!0);return{errors:k(m),errorSchema:m}}function N(e,r,t){try{return O.addSchema(t,"__rjsf_rootSchema").validate(function e(r){var t=r;if(r.constructor===Object)for(var n in t=g({},r)){var a=t[n];t[n]="$ref"===n&&"string"==typeof a&&a.startsWith("#")?"__rjsf_rootSchema"+a:e(a)}else if(Array.isArray(r)){t=[].concat(r);for(var i=0;i<t.length;i++)t[i]=e(t[i])}return t}(e),r)}catch(e){return!1}finally{O.removeSchema("__rjsf_rootSchema")}}var P={boolean:{checkbox:"CheckboxWidget",radio:"RadioWidget",select:"SelectWidget",hidden:"HiddenWidget"},string:{text:"TextWidget",password:"PasswordWidget",email:"EmailWidget",hostname:"TextWidget",ipv4:"TextWidget",ipv6:"TextWidget",uri:"URLWidget","data-url":"FileWidget",radio:"RadioWidget",select:"SelectWidget",textarea:"TextareaWidget",hidden:"HiddenWidget",date:"DateWidget",datetime:"DateTimeWidget","date-time":"DateTimeWidget","alt-date":"AltDateWidget","alt-datetime":"AltDateTimeWidget",color:"ColorWidget",file:"FileWidget"},number:{text:"TextWidget",select:"SelectWidget",updown:"UpDownWidget",range:"RangeWidget",radio:"RadioWidget",hidden:"HiddenWidget"},integer:{text:"TextWidget",select:"SelectWidget",updown:"UpDownWidget",range:"RangeWidget",radio:"RadioWidget",hidden:"HiddenWidget"},array:{select:"SelectWidget",checkboxes:"CheckboxesWidget",files:"FileWidget",hidden:"HiddenWidget"}};function _(e,r,t){if(!e.additionalProperties)return!1;var n=B(r).expandable;return!1===n?n:void 0===e.maxProperties||Object.keys(t).length<e.maxProperties}function j(e){var r=e.type;return!r&&e.const?re(e.const):!r&&e.enum?"string":r||!e.properties&&!e.additionalProperties?r instanceof Array&&2===r.length&&r.includes("null")?r.find((function(e){return"null"!==e})):r:"object"}function q(e,r,n){void 0===n&&(n={});var a=j(e);if("function"==typeof r||l.isForwardRef(t.createElement(r))||l.isMemo(r))return function(e){if(!e.MergedWidget){var r=e.defaultProps&&e.defaultProps.options||{};e.MergedWidget=function(n){var a=n.options,i=void 0===a?{}:a,o=S(n,["options"]);return t.createElement(e,g({options:g({},r,i)},o))}}return e.MergedWidget}(r);if("string"!=typeof r)throw new Error("Unsupported widget definition: "+typeof r);if(n.hasOwnProperty(r))return q(e,n[r],n);if(!P.hasOwnProperty(a))throw new Error('No widget for type "'+a+'"');if(P[a].hasOwnProperty(r))return q(e,n[P[a][r]],n);throw new Error('No widget "'+r+'" for type "'+a+'"')}function I(e,r,t){void 0===t&&(t={});try{return q(e,r,t),!0}catch(e){if(e.message&&(e.message.startsWith("No widget")||e.message.startsWith("Unsupported widget")))return!1;throw e}}function T(e,r,t,n){if(void 0===t&&(t={}),void 0===n&&(n=!1),!U(e))throw new Error("Invalid schema: "+e);var a=function e(r,t,n,a,i){void 0===a&&(a={}),void 0===i&&(i=!1);var o=U(r)?r:{},s=U(a)?a:{},l=t;if(U(l)&&U(o.default))l=M(l,o.default);else if("default"in o)l=o.default;else{if("$ref"in o)return e(ee(o.$ref,n),l,n,s,i);if("dependencies"in o)return e(oe(o,n,s),l,n,s,i);G(o)?l=o.items.map((function(r,a){return e(r,Array.isArray(t)?t[a]:void 0,n,s,i)})):"oneOf"in o?o=o.oneOf[we(void 0,o.oneOf,n)]:"anyOf"in o&&(o=o.anyOf[we(void 0,o.anyOf,n)])}switch(void 0===l&&(l=o.default),j(o)){case"object":return Object.keys(o.properties||{}).reduce((function(r,t){var a=e(o.properties[t],(l||{})[t],n,(s||{})[t],i);return(i||void 0!==a)&&(r[t]=a),r}),{});case"array":if(Array.isArray(l)&&(l=l.map((function(r,t){return e(o.items[t]||o.additionalItems||{},r,n)}))),Array.isArray(a)&&(l=a.map((function(r,t){return e(o.items,(l||{})[t],n,r)}))),o.minItems){if(Y(o,n))return l||[];var u=l?l.length:0;if(o.minItems>u){var c=l||[],m=Array.isArray(o.items)?o.additionalItems:o.items,p=d(new Array(o.minItems-u),e(m,m.defaults,n));return c.concat(p)}}}return l}(ie(e,t,r),e.default,t,r,n);return void 0===r?a:U(r)||Array.isArray(r)?W(a,r):0===r||!1===r||""===r?r:r||a}function W(e,r){if(Array.isArray(r))return Array.isArray(e)||(e=[]),r.map((function(r,t){return e[t]?W(e[t],r):r}));if(U(r)){var t=Object.assign({},e);return Object.keys(r).reduce((function(t,n){return t[n]=W(e?e[n]:{},r[n]),t}),t)}return r}function B(e){return Object.keys(e).filter((function(e){return 0===e.indexOf("ui:")})).reduce((function(r,t){var n,a=e[t];return"ui:widget"===t&&U(a)?(console.warn("Setting options via ui:widget object is deprecated, use ui:options instead"),g({},r,a.options||{},{widget:a.component})):"ui:options"===t&&U(a)?g({},r,a):g({},r,((n={})[t.substring(3)]=a,n))}),{})}function $(e){var r=B(e),t={props:{disabled:!1},submitText:"Submit",norender:!1};return r&&r.submitButtonOptions?Object.assign({},t,r.submitButtonOptions):t}function R(e,r,t){var n=B(r).label,a=void 0===n||n,i=j(e);return"array"===i&&(a=Y(e,t)||J(e,r,t)||Q(r)),"object"===i&&(a=!1),"boolean"!==i||r["ui:widget"]||(a=!1),r["ui:field"]&&(a=!1),a}function U(e){return!("undefined"!=typeof File&&e instanceof File||"object"!=typeof e||null===e||Array.isArray(e))}function M(e,r,t){void 0===t&&(t=!1);var n=Object.assign({},e);return Object.keys(r).reduce((function(n,a){var i=e?e[a]:{},o=r[a];return n[a]=e&&e.hasOwnProperty(a)&&U(o)?M(i,o,t):t&&Array.isArray(i)&&Array.isArray(o)?i.concat(o):o,n}),n)}function V(e){if(""!==e){if(null===e)return null;if(/\.$/.test(e))return e;if(/\.0$/.test(e))return e;var r=Number(e),t="number"==typeof r&&!Number.isNaN(r);return/\.\d*0$/.test(e)?e:t?r:e}}function K(e,r){if(!Array.isArray(r))return e;var t,n=function(e){return e.reduce((function(e,r){return e[r]=!0,e}),{})},a=n(e),i=r.filter((function(e){return"*"===e||a[e]})),o=n(i),s=e.filter((function(e){return!o[e]})),l=i.indexOf("*");if(-1===l){if(s.length)throw new Error("uiSchema order list does not contain "+((t=s).length>1?"properties '"+t.join("', '")+"'":"property '"+t[0]+"'"));return i}if(l!==i.lastIndexOf("*"))throw new Error("uiSchema order list contains more than one wildcard item");var u=[].concat(i);return u.splice.apply(u,[l,1].concat(s)),u}function L(e){return Array.isArray(e.enum)&&1===e.enum.length||e.hasOwnProperty("const")}function H(e){if(Array.isArray(e.enum)&&1===e.enum.length)return e.enum[0];if(e.hasOwnProperty("const"))return e.const;throw new Error("schema cannot be inferred as a constant")}function z(e,r){void 0===r&&(r={});var t=ie(e,r),n=t.oneOf||t.anyOf;return!!Array.isArray(t.enum)||!!Array.isArray(n)&&n.every((function(e){return L(e)}))}function Y(e,r){return void 0===r&&(r={}),!(!e.uniqueItems||!e.items)&&z(e.items,r)}function J(e,r,t){if(void 0===t&&(t={}),"files"===r["ui:widget"])return!0;if(e.items){var n=ie(e.items,t);return"string"===n.type&&"data-url"===n.format}return!1}function G(e){return Array.isArray(e.items)&&e.items.length>0&&e.items.every((function(e){return U(e)}))}function Q(e){return"widget"in B(e)&&"hidden"!==B(e).widget}function X(e){return!0===e.additionalItems&&console.warn("additionalItems=true is currently not supported"),U(e.additionalItems)}function Z(e){return e.enum?e.enum.map((function(r,t){return{label:e.enumNames&&e.enumNames[t]||String(r),value:r}})):(e.oneOf||e.anyOf).map((function(e){var r=H(e);return{schema:e,label:e.title||String(r),value:r}}))}function ee(e,r){void 0===r&&(r={});var t=e;if(!e.startsWith("#"))throw new Error("Could not find a definition for "+t+".");e=decodeURIComponent(e.substring(1));var n=m.get(r,e);if(void 0===n)throw new Error("Could not find a definition for "+t+".");return n.hasOwnProperty("$ref")?ee(n.$ref,r):n}var re=function(e){return Array.isArray(e)?"array":"string"==typeof e?"string":null==e?"null":"boolean"==typeof e?"boolean":isNaN(e)?"object"==typeof e?"object":"string":"number"};function te(e,r,t){return void 0===r&&(r={}),void 0===t&&(t={}),e=g({},e,{properties:g({},e.properties)}),t=U(t)?t:{},Object.keys(t).forEach((function(n){var a;e.properties.hasOwnProperty(n)||(a=e.additionalProperties.hasOwnProperty("$ref")?ie({$ref:e.additionalProperties.$ref},r,t):e.additionalProperties.hasOwnProperty("type")?g({},e.additionalProperties):{type:re(t[n])},e.properties[n]=a,e.properties[n].__additional_property=!0)})),e}function ne(e,r,t){return void 0===r&&(r={}),void 0===t&&(t={}),e.hasOwnProperty("$ref")?ae(e,r,t):e.hasOwnProperty("dependencies")?ie(oe(e,r,t),r,t):e.hasOwnProperty("allOf")?g({},e,{allOf:e.allOf.map((function(e){return ie(e,r,t)}))}):e}function ae(e,r,t){return ie(g({},ee(e.$ref,r),S(e,["$ref"])),r,t)}function ie(e,r,t){if(void 0===r&&(r={}),void 0===t&&(t={}),!U(e))return{};var n=ne(e,r,t);if(e.hasOwnProperty("if"))return function(e,r,t){var n=e.if,a=e.then,i=e.else,o=S(e,["if","then","else"]),s=N(n,t,r)?a:i;return ie(s?ue(o,ie(s,r,t)):o,r,t)}(e,r,t);if(n.properties){var a={};Object.entries(n.properties).forEach((function(e){var i=e[0],o=e[1],s=t&&t[i],l=U(s)?s:{},u=ie(o,r,l);a[i]=u,o!==u&&n.properties!==a&&(n=g({},n,{properties:a}))}))}if("allOf"in e)try{n=u(g({},n,{allOf:n.allOf}))}catch(e){return console.warn("could not merge subschemas in allOf:\n"+e),S(n,["allOf"])}return n.hasOwnProperty("additionalProperties")&&!1!==n.additionalProperties?te(n,r,t):n}function oe(e,r,t){var n=e.dependencies,a=void 0===n?{}:n,i=S(e,["dependencies"]);return"oneOf"in i?i=i.oneOf[we(t,i.oneOf,r)]:"anyOf"in i&&(i=i.anyOf[we(t,i.anyOf,r)]),function e(r,t,n,a){for(var i in r)if(void 0!==a[i]&&(!t.properties||i in t.properties)){var o=r[i],s=S(r,[i].map(E));return Array.isArray(o)?t=se(t,o):U(o)&&(t=le(t,n,a,i,o)),e(s,t,n,a)}return t}(a,i,r,t)}function se(e,r){return r?g({},e,{required:Array.isArray(e.required)?Array.from(new Set([].concat(e.required,r))):r}):e}function le(e,r,t,n,a){var i=ie(a,r,t),o=i.oneOf;if(e=ue(e,S(i,["oneOf"])),void 0===o)return e;if(!Array.isArray(o))throw new Error("invalid: it is some "+typeof o+" instead of an array");var s=o.map((function(e){return e.hasOwnProperty("$ref")?ae(e,r,t):e}));return function(e,r,t,n,a){var i=a.filter((function(e){if(!e.properties)return!1;var r=e.properties[n];if(r){var a,i={type:"object",properties:(a={},a[n]=r,a)};return 0===A(t,i).errors.length}}));if(1!==i.length)return console.warn("ignoring oneOf in dependencies because there isn't exactly one subschema that is valid"),e;var o=i[0];return ue(e,ie(g({},o,{properties:S(o.properties,[n].map(E))}),r,t))}(e,r,t,n,s)}function ue(e,r){var t=Object.assign({},e);return Object.keys(r).reduce((function(t,n){var a=e?e[n]:{},i=r[n];return t[n]=e&&e.hasOwnProperty(n)&&U(i)?ue(a,i):e&&r&&("object"===j(e)||"object"===j(r))&&"required"===n&&Array.isArray(a)&&Array.isArray(i)?c(a,i):i,t}),t)}function de(e){return"[object Arguments]"===Object.prototype.toString.call(e)}function ce(e,r,t,n){if(void 0===t&&(t=[]),void 0===n&&(n=[]),e===r)return!0;if("function"==typeof e||"function"==typeof r)return!0;if("object"!=typeof e||"object"!=typeof r)return!1;if(null===e||null===r)return!1;if(e instanceof Date&&r instanceof Date)return e.getTime()===r.getTime();if(e instanceof RegExp&&r instanceof RegExp)return e.source===r.source&&e.global===r.global&&e.multiline===r.multiline&&e.lastIndex===r.lastIndex&&e.ignoreCase===r.ignoreCase;if(de(e)||de(r)){if(!de(e)||!de(r))return!1;var a=Array.prototype.slice;return ce(a.call(e),a.call(r),t,n)}if(e.constructor!==r.constructor)return!1;var i=Object.keys(e),o=Object.keys(r);if(0===i.length&&0===o.length)return!0;if(i.length!==o.length)return!1;for(var s,l=t.length;l--;)if(t[l]===e)return n[l]===r;t.push(e),n.push(r),i.sort(),o.sort();for(var u=i.length-1;u>=0;u--)if(i[u]!==o[u])return!1;for(var d=i.length-1;d>=0;d--)if(!ce(e[s=i[d]],r[s],t,n))return!1;return t.pop(),n.pop(),!0}function me(e,r,t){var n=e.state;return!ce(e.props,r)||!ce(n,t)}function pe(e,r,t,n,a,i){void 0===n&&(n={}),void 0===a&&(a="root"),void 0===i&&(i="_");var o={$id:r||a};if("$ref"in e||"dependencies"in e||"allOf"in e)return pe(ie(e,t,n),r,t,n,a,i);if("items"in e&&!e.items.$ref)return pe(e.items,r,t,n,a,i);if("object"!==e.type)return o;for(var s in e.properties||{}){var l=e.properties[s],u=o.$id+i+s;o[s]=pe(U(l)?l:{},u,t,(n||{})[s],a,i)}return o}function fe(e,r,t,n){void 0===r&&(r=""),void 0===n&&(n={});var a={$name:r.replace(/^\./,"")};if("$ref"in e||"dependencies"in e||"allOf"in e)return fe(ie(e,t,n),r,t,n);if(e.hasOwnProperty("additionalProperties")&&(a.__rjsf_additionalProperties=!0),e.hasOwnProperty("items")&&Array.isArray(n))n.forEach((function(n,i){a[i]=fe(e.items,r+"."+i,t,n)}));else if(e.hasOwnProperty("properties"))for(var i in e.properties)a[i]=fe(e.properties[i],r+"."+i,t,(n||{})[i]);return a}function he(e,r){if(void 0===r&&(r=!0),!e)return{year:-1,month:-1,day:-1,hour:r?-1:0,minute:r?-1:0,second:r?-1:0};var t=new Date(e);if(Number.isNaN(t.getTime()))throw new Error("Unable to parse date "+e);return{year:t.getUTCFullYear(),month:t.getUTCMonth()+1,day:t.getUTCDate(),hour:r?t.getUTCHours():0,minute:r?t.getUTCMinutes():0,second:r?t.getUTCSeconds():0}}function ye(e,r){var t=e.hour,n=e.minute,a=e.second;void 0===r&&(r=!0);var i=Date.UTC(e.year,e.month-1,e.day,void 0===t?0:t,void 0===n?0:n,void 0===a?0:a),o=new Date(i).toJSON();return r?o:o.slice(0,10)}function ve(e){if(!e)return"";var r=new Date(e);return be(r.getFullYear(),4)+"-"+be(r.getMonth()+1,2)+"-"+be(r.getDate(),2)+"T"+be(r.getHours(),2)+":"+be(r.getMinutes(),2)+":"+be(r.getSeconds(),2)+"."+be(r.getMilliseconds(),3)}function ge(e){if(e)return new Date(e).toJSON()}function be(e,r){for(var t=String(e);t.length<r;)t="0"+t;return t}function Se(e){var r,t=e.split(","),n=t[0].split(";"),a=n[0].replace("data:",""),i=n.filter((function(e){return"name"===e.split("=")[0]}));r=1!==i.length?"unknown":i[0].split("=")[1];for(var o=atob(t[1]),s=[],l=0;l<o.length;l++)s.push(o.charCodeAt(l));return{blob:new window.Blob([new Uint8Array(s)],{type:a}),name:r}}function Ee(e){var r={};return e.multipleOf&&(r.step=e.multipleOf),(e.minimum||0===e.minimum)&&(r.min=e.minimum),(e.maximum||0===e.maximum)&&(r.max=e.maximum),r}function we(e,r,t){if(void 0===e)return 0;for(var n=0;n<r.length;n++){var a=r[n];if(a.properties){var i={anyOf:Object.keys(a.properties).map((function(e){return{required:[e]}}))},o=void 0;if(a.anyOf){var s=g({},a);s.allOf=s.allOf?s.allOf.slice():[],s.allOf.push(i),o=s}else o=Object.assign({},a,i);if(delete o.required,N(o,e,t))return n}else if(N(a,e,t))return n}return 0}function Ce(e){return!!e.const||!(!e.enum||1!==e.enum.length||!0!==e.enum[0])||(e.anyOf&&1===e.anyOf.length?Ce(e.anyOf[0]):e.oneOf&&1===e.oneOf.length?Ce(e.oneOf[0]):!!e.allOf&&e.allOf.some(Ce))}var Oe={__proto__:null,ADDITIONAL_PROPERTY_FLAG:"__additional_property",canExpand:_,getSchemaType:j,getWidget:q,hasWidget:I,getDefaultFormState:T,mergeDefaultsWithFormData:W,getUiOptions:B,getSubmitButtonOptions:$,getDisplayLabel:R,isObject:U,mergeObjects:M,asNumber:V,orderProperties:K,isConstant:L,toConstant:H,isSelect:z,isMultiSelect:Y,isFilesArray:J,isFixedItems:G,isCustomWidget:Q,allowAdditionalItems:X,optionsList:Z,findSchemaDefinition:ee,guessType:re,stubExistingAdditionalProperties:te,resolveSchema:ne,retrieveSchema:ie,mergeSchemas:ue,deepEquals:ce,shouldRender:me,toIdSchema:pe,toPathSchema:fe,parseDateString:he,toDateString:ye,utcToLocal:ve,localToUTC:ge,pad:be,dataURItoBlob:Se,rangeSpec:Ee,getMatchingOption:we,schemaRequiresTrueValue:Ce};function Fe(e){var r=e.title;return r?t.createElement(e.TitleField,{id:e.idSchema.$id+"__title",title:r,required:e.required}):null}function xe(e){var r=e.description;return r?t.createElement(e.DescriptionField,{id:e.idSchema.$id+"__description",description:r}):null}function De(e){var r={flex:1,paddingLeft:6,paddingRight:6,fontWeight:"bold"};return t.createElement("div",{key:e.key,className:e.className},t.createElement("div",{className:e.hasToolbar?"col-xs-9":"col-xs-12"},e.children),e.hasToolbar&&t.createElement("div",{className:"col-xs-3 array-item-toolbox"},t.createElement("div",{className:"btn-group",style:{display:"flex",justifyContent:"space-around"}},(e.hasMoveUp||e.hasMoveDown)&&t.createElement(w,{icon:"arrow-up","aria-label":"Move up",className:"array-item-move-up",tabIndex:"-1",style:r,disabled:e.disabled||e.readonly||!e.hasMoveUp,onClick:e.onReorderClick(e.index,e.index-1)}),(e.hasMoveUp||e.hasMoveDown)&&t.createElement(w,{icon:"arrow-down",className:"array-item-move-down","aria-label":"Move down",tabIndex:"-1",style:r,disabled:e.disabled||e.readonly||!e.hasMoveDown,onClick:e.onReorderClick(e.index,e.index+1)}),e.hasRemove&&t.createElement(w,{type:"danger",icon:"remove","aria-label":"Remove",className:"array-item-remove",tabIndex:"-1",style:r,disabled:e.disabled||e.readonly,onClick:e.onDropIndexClick(e.index)}))))}function ke(e){return t.createElement("fieldset",{className:e.className,id:e.idSchema.$id},t.createElement(Fe,{key:"array-field-title-"+e.idSchema.$id,TitleField:e.TitleField,idSchema:e.idSchema,title:e.uiSchema["ui:title"]||e.title,required:e.required}),(e.uiSchema["ui:description"]||e.schema.description)&&t.createElement("div",{className:"field-description",key:"field-description-"+e.idSchema.$id},e.uiSchema["ui:description"]||e.schema.description),t.createElement("div",{className:"row array-item-list",key:"array-item-list-"+e.idSchema.$id},e.items&&e.items.map(De)),e.canAdd&&t.createElement(C,{className:"array-item-add",onClick:e.onAddClick,disabled:e.disabled||e.readonly}))}function Ae(e){return t.createElement("fieldset",{className:e.className,id:e.idSchema.$id},t.createElement(Fe,{key:"array-field-title-"+e.idSchema.$id,TitleField:e.TitleField,idSchema:e.idSchema,title:e.uiSchema["ui:title"]||e.title,required:e.required}),(e.uiSchema["ui:description"]||e.schema.description)&&t.createElement(xe,{key:"array-field-description-"+e.idSchema.$id,DescriptionField:e.DescriptionField,idSchema:e.idSchema,description:e.uiSchema["ui:description"]||e.schema.description}),t.createElement("div",{className:"row array-item-list",key:"array-item-list-"+e.idSchema.$id},e.items&&e.items.map((function(e){return De(e)}))),e.canAdd&&t.createElement(C,{className:"array-item-add",onClick:e.onAddClick,disabled:e.disabled||e.readonly}))}function Ne(){return h.nanoid()}function Pe(e){return Array.isArray(e)?e.map((function(e){return{key:Ne(),item:e}})):[]}function _e(e){return e.map((function(e){return e.item}))}var je=function(e){function r(r){var t;(t=e.call(this,r)||this)._getNewFormDataRow=function(){var e=t.props,r=e.schema,n=e.registry.rootSchema,a=r.items;return G(r)&&X(r)&&(a=r.additionalItems),T(a,void 0,n)},t.onAddClick=function(e){e&&e.preventDefault();var r=t.props.onChange,n={key:Ne(),item:t._getNewFormDataRow()},a=[].concat(t.state.keyedFormData,[n]);t.setState({keyedFormData:a,updatedKeyedFormData:!0},(function(){return r(_e(a))}))},t.onAddIndexClick=function(e){return function(r){r&&r.preventDefault();var n=t.props.onChange,a={key:Ne(),item:t._getNewFormDataRow()},i=[].concat(t.state.keyedFormData);i.splice(e,0,a),t.setState({keyedFormData:i,updatedKeyedFormData:!0},(function(){return n(_e(i))}))}},t.onDropIndexClick=function(e){return function(r){r&&r.preventDefault();var n,a=t.props.onChange,i=t.state.keyedFormData;if(t.props.errorSchema){n={};var o=t.props.errorSchema;for(var s in o)(s=parseInt(s))<e?n[s]=o[s]:s>e&&(n[s-1]=o[s])}var l=i.filter((function(r,t){return t!==e}));t.setState({keyedFormData:l,updatedKeyedFormData:!0},(function(){return a(_e(l),n)}))}},t.onReorderClick=function(e,r){return function(n){n&&(n.preventDefault(),n.target.blur());var a,i=t.props.onChange;if(t.props.errorSchema){a={};var o=t.props.errorSchema;for(var s in o)s==e?a[r]=o[e]:s==r?a[e]=o[r]:a[s]=o[s]}var l,u=t.state.keyedFormData,d=((l=u.slice()).splice(e,1),l.splice(r,0,u[e]),l);t.setState({keyedFormData:d},(function(){return i(_e(d),a)}))}},t.onChangeForIndex=function(e){return function(r,n){var a,i=t.props;(0,i.onChange)(i.formData.map((function(t,n){return e===n?void 0===r?null:r:t})),n&&t.props.errorSchema&&g({},t.props.errorSchema,((a={})[e]=n,a)))}},t.onSelectChange=function(e){t.props.onChange(e)};var n=Pe(r.formData);return t.state={keyedFormData:n,updatedKeyedFormData:!1},t}b(r,e),r.getDerivedStateFromProps=function(e,r){if(r.updatedKeyedFormData)return{updatedKeyedFormData:!1};var t=e.formData||[],n=r.keyedFormData||[];return{keyedFormData:t.length===n.length?n.map((function(e,r){return{key:e.key,item:t[r]}})):Pe(t)}};var n=r.prototype;return n.isItemRequired=function(e){return Array.isArray(e.type)?!s(e.type,"null"):"null"!==e.type},n.canAddItem=function(e){var r=this.props,t=r.schema,n=B(r.uiSchema).addable;return!1!==n&&(n=void 0===t.maxItems||e.length<t.maxItems),n},n.render=function(){var e=this.props,r=e.schema,n=e.uiSchema,a=e.idSchema,i=e.registry,o=i.rootSchema;return r.hasOwnProperty("items")?Y(r,o)?this.renderMultiSelect():Q(n)?this.renderCustomWidget():G(r)?this.renderFixedArray():J(r,n,o)?this.renderFiles():this.renderNormalArray():t.createElement(i.fields.UnsupportedField,{schema:r,idSchema:a,reason:"Missing items definition"})},n.renderNormalArray=function(){var e=this,r=this.props,n=r.schema,a=r.uiSchema,i=r.errorSchema,o=r.idSchema,s=r.required,l=r.disabled,u=r.readonly,d=r.hideError,c=r.autofocus,m=r.registry,p=r.onBlur,f=r.onFocus,h=r.idPrefix,y=r.idSeparator,v=void 0===y?"_":y,g=r.rawErrors,b=void 0===n.title?r.name:n.title,S=m.ArrayFieldTemplate,E=m.rootSchema,w=m.fields,C=m.formContext,O=w.TitleField,F=w.DescriptionField,x=ie(n.items,E),D=_e(this.state.keyedFormData),k={canAdd:this.canAddItem(D),items:this.state.keyedFormData.map((function(r,t){var s=r.key,l=r.item,u=ie(n.items,E,l),d=i?i[t]:void 0,m=pe(u,o.$id+v+t,E,l,h,v);return e.renderArrayFieldItem({key:s,index:t,canMoveUp:t>0,canMoveDown:t<D.length-1,itemSchema:u,itemIdSchema:m,itemErrorSchema:d,itemData:l,itemUiSchema:a.items,autofocus:c&&0===t,onBlur:p,onFocus:f})})),className:"field field-array field-array-of-"+x.type,DescriptionField:F,disabled:l,idSchema:o,uiSchema:a,onAddClick:this.onAddClick,readonly:u,hideError:d,required:s,schema:n,title:b,TitleField:O,formContext:C,formData:D,rawErrors:g,registry:m};return t.createElement(a["ui:ArrayFieldTemplate"]||S||Ae,k)},n.renderCustomWidget=function(){var e=this.props,r=e.schema,n=e.idSchema,a=e.uiSchema,i=e.disabled,o=e.readonly,s=e.hideError,l=e.required,u=e.placeholder,d=e.autofocus,c=e.onBlur,m=e.onFocus,p=e.formData,f=e.registry,h=e.rawErrors,y=f.widgets,v=f.formContext,b=r.title||e.name,E=g({},B(a)),w=E.widget,C=S(E,["widget"]),O=q(r,w,y);return t.createElement(O,{id:n&&n.$id,multiple:!0,onChange:this.onSelectChange,onBlur:c,onFocus:m,options:C,schema:r,uiSchema:a,registry:f,value:p,disabled:i,readonly:o,hideError:s,required:l,label:b,placeholder:u,formContext:v,autofocus:d,rawErrors:h})},n.renderMultiSelect=function(){var e=this.props,r=e.schema,n=e.idSchema,a=e.uiSchema,i=e.disabled,o=e.readonly,s=e.required,l=e.placeholder,u=e.autofocus,d=e.onBlur,c=e.onFocus,m=e.registry,p=e.rawErrors,f=e.name,h=this.props.formData,y=m.widgets,v=m.formContext,b=ie(r.items,m.rootSchema,e.formData),E=r.title||f,w=Z(b),C=g({},B(a),{enumOptions:w}),O=C.widget,F=void 0===O?"select":O,x=S(C,["widget"]),D=q(r,F,y);return t.createElement(D,{id:n&&n.$id,multiple:!0,onChange:this.onSelectChange,onBlur:d,onFocus:c,options:x,schema:r,uiSchema:a,registry:m,value:h,disabled:i,readonly:o,required:s,label:E,placeholder:l,formContext:v,autofocus:u,rawErrors:p})},n.renderFiles=function(){var e=this.props,r=e.schema,n=e.uiSchema,a=e.idSchema,i=e.disabled,o=e.readonly,s=e.autofocus,l=e.onBlur,u=e.onFocus,d=e.registry,c=e.rawErrors,m=r.title||e.name,p=this.props.formData,f=d.widgets,h=d.formContext,y=B(n),v=y.widget,g=void 0===v?"files":v,b=S(y,["widget"]),E=q(r,g,f);return t.createElement(E,{options:b,id:a&&a.$id,multiple:!0,onChange:this.onSelectChange,onBlur:l,onFocus:u,schema:r,uiSchema:n,title:m,value:p,disabled:i,readonly:o,registry:d,formContext:h,autofocus:s,rawErrors:c})},n.renderFixedArray=function(){var e=this,r=this.props,n=r.schema,a=r.uiSchema,i=r.formData,o=r.errorSchema,s=r.idPrefix,l=r.idSeparator,u=void 0===l?"_":l,d=r.idSchema,c=r.required,m=r.disabled,p=r.readonly,f=r.autofocus,h=r.registry,y=r.onBlur,v=r.onFocus,g=r.rawErrors,b=n.title||r.name,S=this.props.formData,E=h.ArrayFieldTemplate,w=h.rootSchema,C=h.formContext,O=h.fields.TitleField,F=n.items.map((function(e,r){return ie(e,w,i[r])})),x=X(n)?ie(n.additionalItems,w,i):null;(!S||S.length<F.length)&&(S=(S=S||[]).concat(new Array(F.length-S.length)));var D={canAdd:this.canAddItem(S)&&x,className:"field field-array field-array-fixed-items",disabled:m,idSchema:d,formData:i,items:this.state.keyedFormData.map((function(r,t){var i=r.key,l=r.item,c=t>=F.length,m=c?ie(n.additionalItems,w,l):F[t],p=pe(m,d.$id+u+t,w,l,s,u),h=c?a.additionalItems||{}:Array.isArray(a.items)?a.items[t]:a.items||{};return e.renderArrayFieldItem({key:i,index:t,canRemove:c,canMoveUp:t>=F.length+1,canMoveDown:c&&t<S.length-1,itemSchema:m,itemData:l,itemUiSchema:h,itemIdSchema:p,itemErrorSchema:o?o[t]:void 0,autofocus:f&&0===t,onBlur:y,onFocus:v})})),onAddClick:this.onAddClick,readonly:p,required:c,registry:h,schema:n,uiSchema:a,title:b,TitleField:O,formContext:C,rawErrors:g};return t.createElement(a["ui:ArrayFieldTemplate"]||E||ke,D)},n.renderArrayFieldItem=function(e){var r=e.key,n=e.index,a=e.canRemove,i=void 0===a||a,o=e.canMoveUp,s=void 0===o||o,l=e.canMoveDown,u=void 0===l||l,d=e.itemSchema,c=e.itemData,m=e.itemUiSchema,p=e.itemIdSchema,f=e.itemErrorSchema,h=e.autofocus,y=e.onBlur,v=e.onFocus,g=e.rawErrors,b=this.props,S=b.disabled,E=b.readonly,w=b.registry.fields.SchemaField,C=B(b.uiSchema),O=C.orderable,F=void 0===O||O,x=C.removable,D={moveUp:F&&s,moveDown:F&&u,remove:(void 0===x||x)&&i};return D.toolbar=Object.keys(D).some((function(e){return D[e]})),{children:t.createElement(w,{index:n,schema:d,uiSchema:m,formData:c,errorSchema:f,idPrefix:this.props.idPrefix,idSeparator:this.props.idSeparator,idSchema:p,required:this.isItemRequired(d),onChange:this.onChangeForIndex(n),onBlur:y,onFocus:v,registry:this.props.registry,disabled:this.props.disabled,readonly:this.props.readonly,hideError:this.props.hideError,autofocus:h,rawErrors:g}),className:"array-item",disabled:S,hasToolbar:D.toolbar,hasMoveUp:D.moveUp,hasMoveDown:D.moveDown,hasRemove:D.remove,index:n,key:r,onAddIndexClick:this.onAddIndexClick,onDropIndexClick:this.onDropIndexClick,onReorderClick:this.onReorderClick,readonly:E}},v(r,[{key:"itemTitle",get:function(){var e=this.props.schema;return e.items.title||e.items.description||"Item"}}]),r}(r.Component);function qe(e){var r,n=e.schema,a=e.name,i=e.uiSchema,o=e.idSchema,s=e.formData,l=e.registry,u=e.required,d=e.disabled,c=e.readonly,m=e.autofocus,p=e.onChange,f=e.onFocus,h=e.onBlur,y=e.rawErrors,v=n.title,b=l.widgets,E=l.formContext,w=l.fields,C=B(i),O=C.widget,F=void 0===O?"checkbox":O,x=S(C,["widget"]),D=q(n,F,b);return r=Array.isArray(n.oneOf)?Z({oneOf:n.oneOf.map((function(e){return g({},e,{title:e.title||(!0===e.const?"Yes":"No")})}))}):Z({enum:n.enum||[!0,!1],enumNames:n.enumNames||(n.enum&&!1===n.enum[0]?["No","Yes"]:["Yes","No"])}),t.createElement(D,{options:g({},x,{enumOptions:r}),schema:n,uiSchema:i,id:o&&o.$id,onChange:p,onFocus:f,onBlur:h,label:void 0===v?a:v,value:s,required:u,disabled:d,readonly:c,registry:l,formContext:E,autofocus:m,rawErrors:y,DescriptionField:w.DescriptionField})}je.defaultProps={uiSchema:{},formData:[],idSchema:{},required:!1,disabled:!1,readonly:!1,autofocus:!1},qe.defaultProps={uiSchema:{},disabled:!1,readonly:!1,autofocus:!1};var Ie=function(e){function r(r){var t;(t=e.call(this,r)||this).onOptionChange=function(e){var r=parseInt(e,10),n=t.props,a=n.formData,i=n.onChange,o=n.options,s=n.registry.rootSchema,l=ie(o[r],s,a),u=void 0;if("object"===re(a)&&("object"===l.type||l.properties)){u=Object.assign({},a);var d=o.slice();d.splice(r,1);var c=d,m=Array.isArray(c),p=0;for(c=m?c:c[Symbol.iterator]();;){var f;if(m){if(p>=c.length)break;f=c[p++]}else{if((p=c.next()).done)break;f=p.value}var h=f;if(h.properties)for(var y in h.properties)u.hasOwnProperty(y)&&delete u[y]}}i(T(o[r],u,s)),t.setState({selectedOption:parseInt(e,10)})};var n=t.props;return t.state={selectedOption:t.getMatchingOption(n.formData,n.options)},t}b(r,e);var n=r.prototype;return n.componentDidUpdate=function(e,r){if(!ce(this.props.formData,e.formData)&&this.props.idSchema.$id===e.idSchema.$id){var t=this.getMatchingOption(this.props.formData,this.props.options);if(!r||t===this.state.selectedOption)return;this.setState({selectedOption:t})}},n.getMatchingOption=function(e,r){var t=we(e,r,this.props.registry.rootSchema);return 0!==t?t:this&&this.state?this.state.selectedOption:0},n.render=function(){var e,r=this.props,n=r.baseType,a=r.disabled,i=r.readonly,o=r.hideError,s=r.errorSchema,l=r.formData,u=r.idPrefix,d=r.idSeparator,c=r.idSchema,m=r.onBlur,p=r.onChange,f=r.onFocus,h=r.options,y=r.registry,v=r.uiSchema,b=r.schema,E=y.fields.SchemaField,w=y.widgets,C=this.state.selectedOption,O=B(v),F=O.widget,x=void 0===F?"select":F,D=S(O,["widget"]),k=q({type:"number"},x,w),A=h[C]||null;A&&(e=A.type?A:Object.assign({},A,{type:n}));var N=h.map((function(e,r){return{label:e.title||"Option "+(r+1),value:r}}));return t.createElement("div",{className:"panel panel-default panel-body"},t.createElement("div",{className:"form-group"},t.createElement(k,g({id:c.$id+(b.oneOf?"__oneof_select":"__anyof_select"),schema:{type:"number",default:0},onChange:this.onOptionChange,onBlur:m,onFocus:f,value:C,options:{enumOptions:N},registry:y},D))),null!==A&&t.createElement(E,{schema:e,uiSchema:v,errorSchema:s,idSchema:c,idPrefix:u,idSeparator:d,formData:l,onChange:p,onBlur:m,onFocus:f,registry:y,disabled:a,readonly:i,hideError:o}))},r}(r.Component);Ie.defaultProps={disabled:!1,readonly:!1,hideError:!1,errorSchema:{},idSchema:{},uiSchema:{}};var Te=/\.([0-9]*0)*$/,We=/[0.]0*$/,Be=function(e){function r(r){var t;return(t=e.call(this,r)||this).handleChange=function(e){t.setState({lastValue:e}),"."===(""+e).charAt(0)&&(e="0"+e);var r="string"==typeof e&&e.match(Te)?V(e.replace(We,"")):V(e);t.props.onChange(r)},t.state={lastValue:r.value},t}return b(r,e),r.prototype.render=function(){var e=this.props.registry.fields.StringField,r=this.props,n=r.formData,a=S(r,["formData"]),i=this.state.lastValue,o=n;if("string"==typeof i&&"number"==typeof o){var s=new RegExp((""+o).replace(".","\\.")+"\\.?0*$");i.match(s)&&(o=i)}return t.createElement(e,g({},a,{formData:o,onChange:this.handleChange}))},r}(t.Component);function $e(e){var r=e.DescriptionField;return t.createElement("fieldset",{id:e.idSchema.$id},(e.uiSchema["ui:title"]||e.title)&&t.createElement(e.TitleField,{id:e.idSchema.$id+"__title",title:e.title||e.uiSchema["ui:title"],required:e.required,formContext:e.formContext}),e.description&&t.createElement(r,{id:e.idSchema.$id+"__description",description:e.description,formContext:e.formContext}),e.properties.map((function(e){return e.content})),_(e.schema,e.uiSchema,e.formData)&&t.createElement(C,{className:"object-property-expand",onClick:e.onAddClick(e.schema),disabled:e.disabled||e.readonly}))}Be.defaultProps={uiSchema:{}};var Re=function(e){function r(){for(var r,t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return(r=e.call.apply(e,[this].concat(n))||this).state={wasPropertyKeyModified:!1,additionalProperties:{}},r.onPropertyChange=function(e,t){return void 0===t&&(t=!1),function(n,a){var i,o;void 0===n&&t&&(n="");var s=g({},r.props.formData,((i={})[e]=n,i));r.props.onChange(s,a&&r.props.errorSchema&&g({},r.props.errorSchema,((o={})[e]=a,o)))}},r.onDropPropertyClick=function(e){return function(t){t.preventDefault();var n=r.props,a=n.onChange,i=g({},n.formData);delete i[e],a(i)}},r.getAvailableKey=function(e,r){for(var t=0,n=e;r.hasOwnProperty(n);)n=e+"-"+ ++t;return n},r.onKeyChange=function(e){return function(t,n){var a,i;if(e!==t){t=r.getAvailableKey(t,r.props.formData);var o=g({},r.props.formData),s=((a={})[e]=t,a),l=Object.keys(o).map((function(e){var r;return(r={})[s[e]||e]=o[e],r})),u=Object.assign.apply(Object,[{}].concat(l));r.setState({wasPropertyKeyModified:!0}),r.props.onChange(u,n&&r.props.errorSchema&&g({},r.props.errorSchema,((i={})[t]=n,i)))}}},r.handleAddClick=function(e){return function(){var t=e.additionalProperties.type,n=g({},r.props.formData);e.additionalProperties.hasOwnProperty("$ref")&&(t=ie({$ref:e.additionalProperties.$ref},r.props.registry.rootSchema,r.props.formData).type),n[r.getAvailableKey("newKey",n)]=r.getDefaultValue(t),r.props.onChange(n)}},r}b(r,e);var n=r.prototype;return n.isRequired=function(e){var r=this.props.schema;return Array.isArray(r.required)&&-1!==r.required.indexOf(e)},n.getDefaultValue=function(e){switch(e){case"string":return"New Value";case"array":return[];case"boolean":return!1;case"null":return null;case"number":return 0;case"object":return{};default:return"New Value"}},n.render=function(){var e,r=this,n=this.props,a=n.uiSchema,i=n.formData,o=n.errorSchema,s=n.idSchema,l=n.name,u=n.required,d=n.disabled,c=n.readonly,m=n.hideError,p=n.idPrefix,f=n.idSeparator,h=n.onBlur,y=n.onFocus,v=n.registry,b=v.fields,S=v.formContext,E=b.SchemaField,w=b.TitleField,C=b.DescriptionField,O=ie(this.props.schema,v.rootSchema,i),F=void 0===O.title?l:O.title,x=a["ui:description"]||O.description;try{e=K(Object.keys(O.properties||{}),a["ui:order"])}catch(e){return t.createElement("div",null,t.createElement("p",{className:"config-error",style:{color:"red"}},"Invalid ",l||"root"," object field configuration:",t.createElement("em",null,e.message),"."),t.createElement("pre",null,JSON.stringify(O)))}var D=a["ui:ObjectFieldTemplate"]||v.ObjectFieldTemplate||$e,k={title:a["ui:title"]||F,description:x,TitleField:w,DescriptionField:C,properties:e.map((function(e){var n=O.properties[e].hasOwnProperty("__additional_property"),l=n?a.additionalProperties:a[e],g=l&&"hidden"===l["ui:widget"];return{content:t.createElement(E,{key:e,name:e,required:r.isRequired(e),schema:O.properties[e],uiSchema:l,errorSchema:o[e],idSchema:s[e],idPrefix:p,idSeparator:f,formData:(i||{})[e],wasPropertyKeyModified:r.state.wasPropertyKeyModified,onKeyChange:r.onKeyChange(e),onChange:r.onPropertyChange(e,n),onBlur:h,onFocus:y,registry:v,disabled:d,readonly:c,hideError:m,onDropPropertyClick:r.onDropPropertyClick}),name:e,readonly:c,disabled:d,required:u,hidden:g}})),readonly:c,disabled:d,required:u,idSchema:s,uiSchema:a,schema:O,formData:i,formContext:S,registry:v};return t.createElement(D,g({},k,{onAddClick:this.handleAddClick}))},r}(r.Component);Re.defaultProps={uiSchema:{},formData:{},errorSchema:{},idSchema:{},required:!1,disabled:!1,readonly:!1};var Ue={array:"ArrayField",boolean:"BooleanField",integer:"NumberField",number:"NumberField",object:"ObjectField",string:"StringField",null:"NullField"};function Me(e){var r=e.label;return r?t.createElement("label",{className:"control-label",htmlFor:e.id},r,e.required&&t.createElement("span",{className:"required"},"*")):null}function Ve(e){var r=e.onChange;return t.createElement("input",{className:"form-control",type:"text",id:e.id,onBlur:function(e){return r(e.target.value)},defaultValue:e.label})}function Ke(e){var r=e.help;return r?t.createElement("string"==typeof r?"p":"div",{id:e.id,className:"help-block"},r):null}function Le(e){var r=e.errors,n=void 0===r?[]:r;return 0===n.length?null:t.createElement("div",null,t.createElement("ul",{className:"error-detail bs-callout bs-callout-info"},n.filter((function(e){return!!e})).map((function(e,r){return t.createElement("li",{className:"text-danger",key:r},e)}))))}function He(e){var r=e.id,n=e.label,a=e.children,i=e.errors,o=e.help,s=e.description,l=e.required,u=e.displayLabel;return e.hidden?t.createElement("div",{className:"hidden"},a):t.createElement(ze,e,u&&t.createElement(Me,{label:n,required:l,id:r}),u&&s?s:null,a,i,o)}function ze(e){var r=e.id,n=e.classNames,a=e.disabled,i=e.label,o=e.onKeyChange,s=e.onDropPropertyClick,l=e.readonly,u=e.required,d=i+" Key",c=e.schema.hasOwnProperty("__additional_property");return t.createElement("div",{className:n},c?t.createElement("div",{className:"row"},t.createElement("div",{className:"col-xs-5 form-additional"},t.createElement("div",{className:"form-group"},t.createElement(Me,{label:d,required:u,id:r+"-key"}),t.createElement(Ve,{label:i,required:u,id:r+"-key",onChange:o}))),t.createElement("div",{className:"form-additional form-group col-xs-5"},e.children),t.createElement("div",{className:"col-xs-2"},t.createElement(w,{type:"danger",icon:"remove",className:"array-item-remove btn-block",tabIndex:"-1",style:{border:"0"},disabled:a||l,onClick:s(i)}))):e.children)}He.defaultProps={hidden:!1,readonly:!1,required:!1,displayLabel:!0};var Ye=function(e){function r(){return e.apply(this,arguments)||this}b(r,e);var n=r.prototype;return n.shouldComponentUpdate=function(e,r){return!ce(this.props,e)},n.render=function(){return function(e){var r=e.uiSchema,n=e.formData,a=e.errorSchema,i=e.idPrefix,o=e.idSeparator,s=e.name,l=e.onChange,u=e.onKeyChange,d=e.onDropPropertyClick,c=e.required,m=e.registry,p=e.wasPropertyKeyModified,f=void 0!==p&&p,h=m.rootSchema,y=m.fields,v=m.formContext,b=r["ui:FieldTemplate"]||m.FieldTemplate||He,E=e.idSchema,w=ie(e.schema,h,n),C=function(e,r,n,a){var i=r["ui:field"];if("function"==typeof i)return i;if("string"==typeof i&&i in a)return a[i];var o=Ue[j(e)];return o||!e.anyOf&&!e.oneOf?o in a?a[o]:function(){return t.createElement(a.UnsupportedField,{schema:e,idSchema:n,reason:"Unknown field type "+e.type})}:function(){return null}}(w,r,E=M(pe(w,null,h,n,i,o),E),y),O=y.DescriptionField,F=Boolean(e.disabled||r["ui:disabled"]),x=Boolean(e.readonly||r["ui:readonly"]||e.schema.readOnly||w.readOnly),D=r["ui:hideError"],k=void 0===D?e.hideError:Boolean(D),A=Boolean(e.autofocus||r["ui:autofocus"]);if(0===Object.keys(w).length)return null;var N,P=R(w,r,h),_=a.__errors,q=S(a,["__errors"]),I=t.createElement(C,g({},e,{idSchema:E,schema:w,uiSchema:g({},r,{classNames:void 0}),disabled:F,readonly:x,hideError:k,autofocus:A,errorSchema:q,formContext:v,rawErrors:_})),T=E.$id;N=f?s:r["ui:title"]||e.schema.title||w.title||s;var W=r["ui:description"]||e.schema.description||w.description,B=_,$=r["ui:help"],U="hidden"===r["ui:widget"],V=["form-group","field","field-"+w.type];!k&&B&&B.length>0&&V.push("field-error has-error has-danger"),V.push(r.classNames),V=V.join(" ").trim();var K=m.fields.AnyOfField,L=m.fields.OneOfField;return t.createElement(b,{description:t.createElement(O,{id:T+"__description",description:W,formContext:v}),rawDescription:W,help:t.createElement(Ke,{id:T+"__help",help:$}),rawHelp:"string"==typeof $?$:void 0,errors:k?void 0:t.createElement(Le,{errors:B}),rawErrors:k?void 0:B,id:T,label:N,hidden:U,onChange:l,onKeyChange:u,onDropPropertyClick:d,required:c,disabled:F,readonly:x,hideError:k,displayLabel:P,classNames:V,formContext:v,formData:n,fields:y,schema:w,uiSchema:r,registry:m},t.createElement(t.Fragment,null,I,w.anyOf&&!z(w)&&t.createElement(K,{disabled:F,readonly:x,hideError:k,errorSchema:a,formData:n,idPrefix:i,idSchema:E,idSeparator:o,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,options:w.anyOf.map((function(e){return ie(e,h,n)})),baseType:w.type,registry:m,schema:w,uiSchema:r}),w.oneOf&&!z(w)&&t.createElement(L,{disabled:F,readonly:x,hideError:k,errorSchema:a,formData:n,idPrefix:i,idSchema:E,idSeparator:o,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,options:w.oneOf.map((function(e){return ie(e,h,n)})),baseType:w.type,registry:m,schema:w,uiSchema:r})))}(this.props)},r}(t.Component);function Je(e){var r=e.schema,n=e.name,a=e.uiSchema,i=e.idSchema,o=e.formData,s=e.required,l=e.disabled,u=e.readonly,d=e.autofocus,c=e.onChange,m=e.onBlur,p=e.onFocus,f=e.registry,h=e.rawErrors,y=r.title,v=r.format,b=f.widgets,E=f.formContext,w=z(r)&&Z(r),C=w?"select":"text";v&&I(r,v,b)&&(C=v);var O=B(a),F=O.widget,x=void 0===F?C:F,D=O.placeholder,k=void 0===D?"":D,A=S(O,["widget","placeholder"]),N=q(r,x,b);return t.createElement(N,{options:g({},A,{enumOptions:w}),schema:r,uiSchema:a,id:i&&i.$id,label:void 0===y?n:y,value:o,onChange:c,onBlur:m,onFocus:p,required:s,disabled:l,readonly:u,formContext:E,autofocus:d,registry:f,placeholder:k,rawErrors:h})}Ye.defaultProps={uiSchema:{},errorSchema:{},idSchema:{},disabled:!1,readonly:!1,autofocus:!1,hideError:!1},Je.defaultProps={uiSchema:{},disabled:!1,readonly:!1,autofocus:!1};var Ge={AnyOfField:Ie,ArrayField:je,BooleanField:qe,DescriptionField:function(e){var r=e.description;return r?t.createElement("string"==typeof r?"p":"div",{id:e.id,className:"field-description"},r):null},NumberField:Be,ObjectField:Re,OneOfField:Ie,SchemaField:Ye,StringField:Je,TitleField:function(e){return t.createElement("legend",{id:e.id},e.title,e.required&&t.createElement("span",{className:"required"},"*"))},NullField:function(e){function r(){return e.apply(this,arguments)||this}b(r,e);var t=r.prototype;return t.componentDidMount=function(){void 0===this.props.formData&&this.props.onChange(null)},t.render=function(){return null},r}(r.Component),UnsupportedField:function(e){var r=e.schema,n=e.idSchema,a=e.reason;return t.createElement("div",{className:"unsupported-field"},t.createElement("p",null,"Unsupported field schema",n&&n.$id&&t.createElement("span",null," for"," field ",t.createElement("code",null,n.$id)),a&&t.createElement("em",null,": ",a),"."),r&&t.createElement("pre",null,JSON.stringify(r,null,2)))}};function Qe(e,r){for(var t=[],n=e;n<=r;n++)t.push({value:n,label:be(n,2)});return t}function Xe(e){var r=e.type,n=e.range,a=e.value,i=e.select,o=e.disabled,s=e.readonly,l=e.autofocus,u=e.onBlur;return t.createElement(e.registry.widgets.SelectWidget,{schema:{type:"integer"},id:e.rootId+"_"+r,className:"form-control",options:{enumOptions:Qe(n[0],n[1])},placeholder:r,value:a,disabled:o,readonly:s,autofocus:l,onChange:function(e){return i(r,e)},onBlur:u})}var Ze=function(e){function r(r){var t;return(t=e.call(this,r)||this).onChange=function(e,r){var n;t.setState(((n={})[e]=void 0===r?-1:r,n),(function(){var e;e=t.state,Object.keys(e).every((function(r){return-1!==e[r]}))&&t.props.onChange(ye(t.state,t.props.time))}))},t.setNow=function(e){e.preventDefault();var r=t.props,n=r.time,a=r.onChange;if(!r.disabled&&!r.readonly){var i=he((new Date).toJSON(),n);t.setState(i,(function(){return a(ye(t.state,n))}))}},t.clear=function(e){e.preventDefault();var r=t.props,n=r.onChange;r.disabled||r.readonly||t.setState(he("",r.time),(function(){return n(void 0)}))},t.state=he(r.value,r.time),t}b(r,e);var n=r.prototype;return n.componentDidUpdate=function(e,r){e.value&&e.value!==he(this.props.value,this.props.time)&&this.setState(he(this.props.value,this.props.time))},n.shouldComponentUpdate=function(e,r){return me(this,e,r)},n.render=function(){var e=this,r=this.props,n=r.id,a=r.disabled,i=r.readonly,o=r.autofocus,s=r.registry,l=r.onBlur,u=r.options;return t.createElement("ul",{className:"list-inline"},this.dateElementProps.map((function(r,u){return t.createElement("li",{key:u},t.createElement(Xe,g({rootId:n,select:e.onChange},r,{disabled:a,readonly:i,registry:s,onBlur:l,autofocus:o&&0===u})))})),("undefined"===u.hideNowButton||!u.hideNowButton)&&t.createElement("li",null,t.createElement("a",{href:"#",className:"btn btn-info btn-now",onClick:this.setNow},"Now")),("undefined"===u.hideClearButton||!u.hideClearButton)&&t.createElement("li",null,t.createElement("a",{href:"#",className:"btn btn-warning btn-clear",onClick:this.clear},"Clear")))},v(r,[{key:"dateElementProps",get:function(){var e=this.props,r=this.state,t=[{type:"year",range:e.options.yearsRange,value:r.year},{type:"month",range:[1,12],value:r.month},{type:"day",range:[1,31],value:r.day}];return e.time&&t.push({type:"hour",range:[0,23],value:r.hour},{type:"minute",range:[0,59],value:r.minute},{type:"second",range:[0,59],value:r.second}),t}}]),r}(r.Component);function er(e){return t.createElement(e.registry.widgets.AltDateWidget,g({time:!0},e))}function rr(e){if(!e.id)throw console.log("No id for",e),new Error("no id for props "+JSON.stringify(e));var r=e.value,n=e.readonly,a=e.disabled,i=e.autofocus,o=e.onBlur,s=e.onFocus,l=e.options,u=e.schema,d=S(e,["value","readonly","disabled","autofocus","onBlur","onFocus","options","schema","uiSchema","formContext","registry","rawErrors"]);return l.inputType?d.type=l.inputType:d.type||("number"===u.type?(d.type="number",d.step="any"):"integer"===u.type?(d.type="number",d.step="1"):d.type="text"),l.autocomplete&&(d.autoComplete=l.autocomplete),u.multipleOf&&(d.step=u.multipleOf),void 0!==u.minimum&&(d.min=u.minimum),void 0!==u.maximum&&(d.max=u.maximum),[t.createElement("input",g({key:d.id,className:"form-control",readOnly:n,disabled:a,autoFocus:i,value:null==r?"":r},d,{list:u.examples?"examples_"+d.id:null,onChange:function(r){var t=r.target.value;return e.onChange(""===t?l.emptyValue:t)},onBlur:o&&function(e){return o(d.id,e.target.value)},onFocus:s&&function(e){return s(d.id,e.target.value)}})),u.examples?t.createElement("datalist",{key:"datalist_"+d.id,id:"examples_"+d.id},[].concat(new Set(u.examples.concat(u.default?[u.default]:[]))).map((function(e){return t.createElement("option",{key:e,value:e})}))):null]}function tr(e){var r=e.schema,n=e.id,a=e.value,i=e.disabled,o=e.readonly,s=e.label,l=e.autofocus,u=e.onBlur,d=e.onFocus,c=e.onChange,m=e.DescriptionField,p=Ce(r);return t.createElement("div",{className:"checkbox "+(i||o?"disabled":"")},r.description&&t.createElement(m,{description:r.description}),t.createElement("label",null,t.createElement("input",{type:"checkbox",id:n,checked:void 0!==a&&a,required:p,disabled:i||o,autoFocus:l,onChange:function(e){return c(e.target.checked)},onBlur:u&&function(e){return u(n,e.target.checked)},onFocus:d&&function(e){return d(n,e.target.checked)}}),t.createElement("span",null,s)))}function nr(e){var r=e.id,n=e.disabled,a=e.options,i=e.value,o=e.autofocus,s=e.readonly,l=e.onChange,u=a.enumOptions,d=a.enumDisabled,c=a.inline;return t.createElement("div",{className:"checkboxes",id:r},u.map((function(e,a){var m=-1!==i.indexOf(e.value),p=d&&-1!=d.indexOf(e.value),f=n||p||s?"disabled":"",h=t.createElement("span",null,t.createElement("input",{type:"checkbox",id:r+"_"+a,checked:m,disabled:n||p||s,autoFocus:o&&0===a,onChange:function(r){var t=u.map((function(e){return e.value}));l(r.target.checked?function(e,r,t){var n=t.indexOf(e);return r.slice(0,n).concat(e,r.slice(n)).sort((function(e,r){return t.indexOf(e)>t.indexOf(r)}))}(e.value,i,t):function(e,r){return r.filter((function(r){return r!==e}))}(e.value,i))}}),t.createElement("span",null,e.label));return c?t.createElement("label",{key:a,className:"checkbox-inline "+f},h):t.createElement("div",{key:a,className:"checkbox "+f},t.createElement("label",null,h))})))}function ar(e,r){return e.replace(";base64",";name="+encodeURIComponent(r)+";base64")}function ir(e){var r=e.name,t=e.size,n=e.type;return new Promise((function(a,i){var o=new window.FileReader;o.onerror=i,o.onload=function(e){a({dataURL:ar(e.target.result,r),name:r,size:t,type:n})},o.readAsDataURL(e)}))}function or(e){var r=e.filesInfo;return 0===r.length?null:t.createElement("ul",{className:"file-info"},r.map((function(e,r){var n=e.size,a=e.type;return t.createElement("li",{key:r},t.createElement("strong",null,e.name)," (",a,", ",n," bytes)")})))}Ze.defaultProps={time:!1,disabled:!1,readonly:!1,autofocus:!1,options:{yearsRange:[1900,(new Date).getFullYear()+2]}},er.defaultProps=g({},Ze.defaultProps,{time:!0}),rr.defaultProps={required:!1,disabled:!1,readonly:!1,autofocus:!1},tr.defaultProps={autofocus:!1},nr.defaultProps={autofocus:!1,options:{inline:!1}};var sr=function(e){function r(r){var t;(t=e.call(this,r)||this).onChange=function(e){var r,n=t.props,a=n.multiple,i=n.onChange;(r=e.target.files,Promise.all([].map.call(r,ir))).then((function(e){var r={values:e.map((function(e){return e.dataURL})),filesInfo:e};t.setState(r,(function(){i(a?r.values:r.values[0])}))}))};var n,a=r.value,i=Array.isArray(a)?a:[a];return t.state={values:i,filesInfo:(n=i,n.filter((function(e){return void 0!==e})).map((function(e){var r=Se(e),t=r.blob;return{name:r.name,size:t.size,type:t.type}})))},t}b(r,e);var n=r.prototype;return n.shouldComponentUpdate=function(e,r){return me(this,e,r)},n.render=function(){var e=this,r=this.props,n=this.state.filesInfo;return t.createElement("div",null,t.createElement("p",null,t.createElement("input",{ref:function(r){return e.inputRef=r},id:r.id,type:"file",disabled:r.readonly||r.disabled,onChange:this.onChange,defaultValue:"",autoFocus:r.autofocus,multiple:r.multiple,accept:r.options.accept})),t.createElement(or,{filesInfo:n}))},r}(r.Component);function lr(e){var r=e.options,n=e.value,a=e.required,i=e.disabled,o=e.readonly,s=e.autofocus,l=e.onBlur,u=e.onFocus,d=e.onChange,c=e.id,m=Math.random().toString(),p=r.enumDisabled,f=r.inline;return t.createElement("div",{className:"field-radio-group",id:c},r.enumOptions.map((function(e,r){var h=e.value===n,y=p&&-1!=p.indexOf(e.value),v=i||y||o?"disabled":"",g=t.createElement("span",null,t.createElement("input",{type:"radio",checked:h,name:m,required:a,value:e.value,disabled:i||y||o,autoFocus:s&&0===r,onChange:function(r){return d(e.value)},onBlur:l&&function(e){return l(c,e.target.value)},onFocus:u&&function(e){return u(c,e.target.value)}}),t.createElement("span",null,e.label));return f?t.createElement("label",{key:r,className:"radio-inline "+v},g):t.createElement("div",{key:r,className:"radio "+v},t.createElement("label",null,g))})))}sr.defaultProps={autofocus:!1},lr.defaultProps={autofocus:!1};var ur=new Set(["number","integer"]);function dr(e,r){var t=e.type,n=e.items;if(""!==r){if("array"===t&&n&&ur.has(n.type))return r.map(V);if("boolean"===t)return"true"===r;if("number"===t)return V(r);if(e.enum){if(e.enum.every((function(e){return"number"===re(e)})))return V(r);if(e.enum.every((function(e){return"boolean"===re(e)})))return"true"===r}return r}}function cr(e,r){return r?[].slice.call(e.target.options).filter((function(e){return e.selected})).map((function(e){return e.value})):e.target.value}function mr(e){var r=e.schema,n=e.id,a=e.options,i=e.value,o=e.multiple,s=e.onChange,l=e.onBlur,u=e.onFocus,d=a.enumOptions,c=a.enumDisabled;return t.createElement("select",{id:n,multiple:o,className:"form-control",value:void 0===i?o?[]:"":i,required:e.required,disabled:e.disabled||e.readonly,autoFocus:e.autofocus,onBlur:l&&function(e){var t=cr(e,o);l(n,dr(r,t))},onFocus:u&&function(e){var t=cr(e,o);u(n,dr(r,t))},onChange:function(e){var t=cr(e,o);s(dr(r,t))}},!o&&void 0===r.default&&t.createElement("option",{value:""},e.placeholder),d.map((function(e,r){var n=e.value,a=e.label,i=c&&-1!=c.indexOf(n);return t.createElement("option",{key:r,value:n,disabled:i},a)})))}function pr(e){var r=e.id,n=e.options,a=e.onChange,i=e.onBlur,o=e.onFocus;return t.createElement("textarea",{id:r,className:"form-control",value:e.value||"",placeholder:e.placeholder,required:e.required,disabled:e.disabled,readOnly:e.readonly,autoFocus:e.autofocus,rows:n.rows,onBlur:i&&function(e){return i(r,e.target.value)},onFocus:o&&function(e){return o(r,e.target.value)},onChange:function(e){var r=e.target.value;return a(""===r?n.emptyValue:r)}})}mr.defaultProps={autofocus:!1},pr.defaultProps={autofocus:!1,options:{}};var fr={BaseInput:rr,PasswordWidget:function(e){return t.createElement(e.registry.widgets.BaseInput,g({type:"password"},e))},RadioWidget:lr,UpDownWidget:function(e){return t.createElement(e.registry.widgets.BaseInput,g({type:"number"},e,Ee(e.schema)))},RangeWidget:function(e){var r=e.value;return t.createElement("div",{className:"field-range-wrapper"},t.createElement(e.registry.widgets.BaseInput,g({type:"range"},e,Ee(e.schema))),t.createElement("span",{className:"range-view"},r))},SelectWidget:mr,TextWidget:function(e){return t.createElement(e.registry.widgets.BaseInput,e)},DateWidget:function(e){var r=e.onChange;return t.createElement(e.registry.widgets.BaseInput,g({type:"date"},e,{onChange:function(e){return r(e||void 0)}}))},DateTimeWidget:function(e){var r=e.onChange;return t.createElement(e.registry.widgets.BaseInput,g({type:"datetime-local"},e,{value:ve(e.value),onChange:function(e){return r(ge(e))}}))},AltDateWidget:Ze,AltDateTimeWidget:er,EmailWidget:function(e){return t.createElement(e.registry.widgets.BaseInput,g({type:"email"},e))},URLWidget:function(e){return t.createElement(e.registry.widgets.BaseInput,g({type:"url"},e))},TextareaWidget:pr,HiddenWidget:function(e){var r=e.value;return t.createElement("input",{type:"hidden",id:e.id,value:void 0===r?"":r})},ColorWidget:function(e){return t.createElement(e.registry.widgets.BaseInput,g({type:"color"},e,{disabled:e.disabled||e.readonly}))},FileWidget:sr,CheckboxWidget:tr,CheckboxesWidget:nr,SubmitButton:function(e){var r=$(e.uiSchema),n=r.submitText;return t.createElement("div",null,!r.norender&&t.createElement("button",g({type:"submit"},r.props,{className:"btn btn-info"}),n))}};function hr(){return{fields:Ge,widgets:fr,definitions:{},rootSchema:{},formContext:{}}}var yr=function(e){function r(r){var t;return(t=e.call(this,r)||this).getUsedFormData=function(e,r){if(0===r.length&&"object"!=typeof e)return e;var t=a(e,r);return Array.isArray(e)?Object.keys(t).map((function(e){return t[e]})):t},t.getFieldNames=function(e,r){return function e(t,n,a){return void 0===n&&(n=[]),void 0===a&&(a=[""]),Object.keys(t).forEach((function(s){if("object"==typeof t[s]){var l=a.map((function(e){return e+"."+s}));t[s].__rjsf_additionalProperties&&""!==t[s].$name?n.push(t[s].$name):e(t[s],n,l)}else"$name"===s&&""!==t[s]&&a.forEach((function(e){e=e.replace(/^\./,"");var t=i(r,e);("object"!=typeof t||o(t))&&n.push(e)}))})),n}(e)},t.onChange=function(e,r){(U(e)||Array.isArray(e))&&(e=t.getStateFromProps(t.props,e).formData);var n=!t.props.noValidate&&t.props.liveValidate,a={formData:e},i=e;if(!0===t.props.omitExtraData&&!0===t.props.liveOmit){var o=fe(ie(t.state.schema,t.state.schema,e),"",t.state.schema,e),s=t.getFieldNames(o,e);a={formData:i=t.getUsedFormData(e,s)}}if(n){var l=t.validate(i),u=l.errors,d=l.errorSchema,c=u,m=d;t.props.extraErrors&&(u=k(d=M(d,t.props.extraErrors,!0))),a={formData:i,errors:u,errorSchema:d,schemaValidationErrors:c,schemaValidationErrorSchema:m}}else if(!t.props.noValidate&&r){var p=t.props.extraErrors?M(r,t.props.extraErrors,!0):r;a={formData:i,errorSchema:p,errors:k(p)}}t.setState(a,(function(){return t.props.onChange&&t.props.onChange(t.state)}))},t.onBlur=function(){var e;t.props.onBlur&&(e=t.props).onBlur.apply(e,arguments)},t.onFocus=function(){var e;t.props.onFocus&&(e=t.props).onFocus.apply(e,arguments)},t.onSubmit=function(e){if(e.preventDefault(),e.target===e.currentTarget){e.persist();var r,n,a=t.state.formData;if(!0===t.props.omitExtraData){var i=fe(ie(t.state.schema,t.state.schema,a),"",t.state.schema,a),o=t.getFieldNames(i,a);a=t.getUsedFormData(a,o)}if(!t.props.noValidate){var s=t.validate(a),l=s.errors,u=s.errorSchema,d=l,c=u;if(Object.keys(l).length>0)return t.props.extraErrors&&(u=M(u,t.props.extraErrors,!0),l=k(u)),void t.setState({errors:l,errorSchema:u,schemaValidationErrors:d,schemaValidationErrorSchema:c},(function(){t.props.onError?t.props.onError(l):console.error("Form validation failed",l)}))}t.props.extraErrors?n=k(r=t.props.extraErrors):(r={},n=[]),t.setState({formData:a,errors:n,errorSchema:r,schemaValidationErrors:[],schemaValidationErrorSchema:{}},(function(){t.props.onSubmit&&t.props.onSubmit(g({},t.state,{formData:a,status:"submitted"}),e)}))}},t.state=t.getStateFromProps(r,r.formData),t.props.onChange&&!ce(t.state.formData,t.props.formData)&&t.props.onChange(t.state),t.formElement=null,t}b(r,e);var n=r.prototype;return n.UNSAFE_componentWillReceiveProps=function(e){var r=this.getStateFromProps(e,e.formData);ce(r.formData,e.formData)||ce(r.formData,this.state.formData)||!this.props.onChange||this.props.onChange(r),this.setState(r)},n.getStateFromProps=function(e,r){var t,n,a,i,o=this.state||{},s="schema"in e?e.schema:this.props.schema,l="uiSchema"in e?e.uiSchema:this.props.uiSchema,u=void 0!==r,d=u&&!e.noValidate&&("liveValidate"in e?e.liveValidate:this.props.liveValidate),c=s,m=T(s,r,c),p=ie(s,c,m),f=e.additionalMetaSchemas;if(d){var h=this.validate(m,s,f,e.customFormats);a=t=h.errors,i=n=h.errorSchema}else{var y=e.noValidate?{errors:[],errorSchema:{}}:e.liveValidate?{errors:o.errors||[],errorSchema:o.errorSchema||{}}:{errors:o.schemaValidationErrors||[],errorSchema:o.schemaValidationErrorSchema||{}};t=y.errors,n=y.errorSchema,a=o.schemaValidationErrors,i=o.schemaValidationErrorSchema}e.extraErrors&&(t=k(n=M(n,e.extraErrors,!0)));var v={schema:s,uiSchema:l,idSchema:pe(p,l["ui:rootFieldId"],c,m,e.idPrefix,e.idSeparator),formData:m,edit:u,errors:t,errorSchema:n,additionalMetaSchemas:f};return a&&(v.schemaValidationErrors=a,v.schemaValidationErrorSchema=i),v},n.shouldComponentUpdate=function(e,r){return me(this,e,r)},n.validate=function(e,r,t,n){void 0===r&&(r=this.props.schema),void 0===t&&(t=this.props.additionalMetaSchemas),void 0===n&&(n=this.props.customFormats);var a=this.props,i=a.validate,o=a.transformErrors;return A(e,ie(r,this.getRegistry().rootSchema,e),i,o,t,n)},n.renderErrors=function(){var e=this.state,r=e.errors,n=this.props;return r.length&&0!=n.showErrorList?t.createElement(n.ErrorList,{errors:r,errorSchema:e.errorSchema,schema:e.schema,uiSchema:e.uiSchema,formContext:n.formContext}):null},n.getRegistry=function(){var e=hr(),r=e.widgets;return{fields:g({},e.fields,this.props.fields),widgets:g({},r,this.props.widgets),ArrayFieldTemplate:this.props.ArrayFieldTemplate,ObjectFieldTemplate:this.props.ObjectFieldTemplate,FieldTemplate:this.props.FieldTemplate,definitions:this.props.schema.definitions||{},rootSchema:this.props.schema,formContext:this.props.formContext||{}}},n.submit=function(){this.formElement&&this.formElement.dispatchEvent(new CustomEvent("submit",{cancelable:!0}))},n.render=function(){var e=this,r=this.props,n=r.children,a=r.id,i=r.idPrefix,o=r.idSeparator,s=r.className,l=r.tagName,u=r.name,d=r.method,c=r.target,m=r.action,p=r.autocomplete,f=r.autoComplete,h=r.enctype,y=r.acceptcharset,v=r.noHtml5Validate,g=r.disabled,b=r.readonly,S=r.formContext,E=r._internalFormWrapper,w=this.state,C=w.schema,O=w.uiSchema,F=w.formData,x=w.errorSchema,D=w.idSchema,k=this.getRegistry(),A=k.fields.SchemaField,N=E?l:void 0,P=E||l||"form",_=k.widgets.SubmitButton;return p&&console.warn("Using autocomplete property of Form is deprecated, use autoComplete instead."),t.createElement(P,{className:s||"rjsf",id:a,name:u,method:d,target:c,action:m,autoComplete:f||p,encType:h,acceptCharset:y,noValidate:v,onSubmit:this.onSubmit,as:N,ref:function(r){e.formElement=r}},this.renderErrors(),t.createElement(A,{schema:C,uiSchema:O,errorSchema:x,idSchema:D,idPrefix:i,idSeparator:o,formContext:S,formData:F,onChange:this.onChange,onBlur:this.onBlur,onFocus:this.onFocus,registry:k,disabled:g,readonly:b}),n||t.createElement(_,{uiSchema:O}))},r}(r.Component);function vr(e){return r.forwardRef((function(r,n){var a=r.fields,i=r.widgets,o=S(r,["fields","widgets"]);return a=g({},e.fields,a),i=g({},e.widgets,i),t.createElement(yr,g({},e,o,{fields:a,widgets:i,ref:n}))}))}yr.defaultProps={uiSchema:{},noValidate:!1,liveValidate:!1,disabled:!1,readonly:!1,noHtml5Validate:!1,ErrorList:function(e){var r=e.errors;return t.createElement("div",{className:"panel panel-danger errors"},t.createElement("div",{className:"panel-heading"},t.createElement("h3",{className:"panel-title"},"Errors")),t.createElement("ul",{className:"list-group"},r.map((function(e,r){return t.createElement("li",{key:r,className:"list-group-item text-danger"},e.stack)}))))},omitExtraData:!1},vr.propTypes={widgets:n.object,fields:n.object};var gr=g({},Oe,{getDefaultRegistry:hr});exports.default=yr,exports.utils=gr,exports.withTheme=vr;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@rjsf/utils"),a=require("lodash/pick"),r=require("lodash/get"),o=require("lodash/isEmpty"),n=require("lodash/isObject"),i=require("lodash/set"),l=require("nanoid"),s=require("lodash/unset"),d=require("lodash/has"),c=require("lodash/omit");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=u(e),p=u(a),h=u(r),f=u(o),g=u(n),y=u(i),E=u(s),S=u(d),b=u(c);function v(){return l.nanoid()}function C(e){return Array.isArray(e)?e.map((e=>({key:v(),item:e}))):[]}function F(e){return Array.isArray(e)?e.map((e=>e.item)):[]}class D extends e.Component{constructor(e){super(e),this.onOptionChange=e=>{const a=parseInt(e,10),{formData:r,onChange:o,options:n,registry:i}=this.props,{schemaUtils:l}=i,s=l.retrieveSchema(n[a],r);let d;if("object"===t.guessType(r)&&("object"===s.type||s.properties)){d=Object.assign({},r);const e=n.slice();e.splice(a,1);for(const t of e)if(t.properties)for(const e in t.properties)e in d&&E.default(d,e)}o(l.getDefaultFormState(n[a],d)),this.setState({selectedOption:parseInt(e,10)})};const{formData:a,options:r}=this.props;this.state={selectedOption:this.getMatchingOption(0,a,r)}}componentDidUpdate(e,a){const{formData:r,options:o,idSchema:n}=this.props,{selectedOption:i}=this.state;if(!t.deepEquals(r,e.formData)&&n.$id===e.idSchema.$id){const e=this.getMatchingOption(i,r,o);if(!a||e===i)return;this.setState({selectedOption:e})}}getMatchingOption(e,t,a){const{schemaUtils:r}=this.props.registry,o=r.getMatchingOption(t,a);return 0!==o?o:e||0}render(){const{name:e,baseType:a,disabled:r=!1,readonly:o=!1,hideError:n=!1,errorSchema:i={},formData:l,formContext:s,idPrefix:d,idSeparator:c,idSchema:u,onBlur:p,onChange:h,onFocus:f,options:g,registry:y,uiSchema:E,schema:S}=this.props,{widgets:b,fields:v}=y,{SchemaField:C}=v,{selectedOption:F}=this.state,{widget:D="select",...x}=t.getUiOptions(E),k=t.getWidget({type:"number"},D,b),N=g[F]||null;let T;N&&(T=N.type?N:Object.assign({},N,{type:a}));const w=g.map(((e,t)=>({label:e.title||"Option "+(t+1),value:t})));return m.default.createElement("div",{className:"panel panel-default panel-body"},m.default.createElement("div",{className:"form-group"},m.default.createElement(k,{id:u.$id+(S.oneOf?"__oneof_select":"__anyof_select"),schema:{type:"number",default:0},onChange:this.onOptionChange,onBlur:p,onFocus:f,value:F,options:{enumOptions:w},registry:y,formContext:s,...x,label:""})),null!==N&&m.default.createElement(C,{name:e,schema:T,uiSchema:E,errorSchema:i,idSchema:u,idPrefix:d,idSeparator:c,formData:l,formContext:s,onChange:h,onBlur:p,onFocus:f,registry:y,disabled:r,readonly:o,hideError:n}))}}const x=/\.([0-9]*0)*$/,k=/[0.]0*$/,N={array:"ArrayField",boolean:"BooleanField",integer:"NumberField",number:"NumberField",object:"ObjectField",string:"StringField",null:"NullField"};function T(e){const{id:t,help:a}=e;return a?m.default.createElement("string"==typeof a?"p":"div",{id:t,className:"help-block"},a):null}function w(e){const{errors:t=[]}=e;return 0===t.length?null:m.default.createElement("div",null,m.default.createElement("ul",{className:"error-detail bs-callout bs-callout-info"},t.filter((e=>!!e)).map(((e,t)=>m.default.createElement("li",{className:"text-danger",key:t},e)))))}function A(e){const{schema:a,idSchema:r,uiSchema:o,formData:n,errorSchema:i,idPrefix:l,idSeparator:s,name:d,onChange:c,onKeyChange:u,onDropPropertyClick:p,required:h,registry:f,wasPropertyKeyModified:y=!1}=e,{formContext:E,schemaUtils:S}=f,v=t.getUiOptions(o),C=t.getTemplate("FieldTemplate",f,v),F=t.getTemplate("DescriptionFieldTemplate",f,v),D=S.retrieveSchema(a,n),x=t.mergeObjects(S.toIdSchema(D,r.$id,n,l,s),r),k=function(e,a,r,o){const n=a.field,{fields:i}=o;if("function"==typeof n)return n;if("string"==typeof n&&n in i)return i[n];const l=t.getSchemaType(e),s=Array.isArray(l)?l[0]:l||"",d=N[s];return d||!e.anyOf&&!e.oneOf?d in i?i[d]:()=>{const n=t.getTemplate("UnsupportedFieldTemplate",o,a);return m.default.createElement(n,{schema:e,idSchema:r,reason:"Unknown field type "+e.type,registry:o})}:()=>null}(D,v,x,f),A=Boolean(e.disabled||v.disabled),O=Boolean(e.readonly||v.readonly||e.schema.readOnly||D.readOnly),B=v.hideError,I=void 0===B?e.hideError:Boolean(B),U=Boolean(e.autofocus||v.autofocus);if(0===Object.keys(D).length)return null;const q=S.getDisplayLabel(D,o),{__errors:P,..._}=i||{},R=b.default(o,["ui:classNames","classNames"]);"ui:options"in R&&(R["ui:options"]=b.default(R["ui:options"],["classNames"]));const V=m.default.createElement(k,{...e,idSchema:x,schema:D,uiSchema:R,disabled:A,readonly:O,hideError:I,autofocus:U,errorSchema:_,formContext:E,rawErrors:P}),M=x[t.ID_KEY];let K;K=y?d:v.title||e.schema.title||D.title||d;const j=v.description||e.schema.description||D.description||"",W=P,L=v.help,$="hidden"===v.widget,Y=["form-group","field","field-"+D.type];!I&&W&&W.length>0&&Y.push("field-error has-error has-danger"),null!=o&&o.classNames&&Y.push(o.classNames),v.classNames&&Y.push(v.classNames);const z={description:m.default.createElement(F,{id:M+"__description",description:j,registry:f}),rawDescription:j,help:m.default.createElement(T,{id:M+"__help",help:L}),rawHelp:"string"==typeof L?L:void 0,errors:I?void 0:m.default.createElement(w,{errors:W}),rawErrors:I?void 0:W,id:M,label:K,hidden:$,onChange:c,onKeyChange:u,onDropPropertyClick:p,required:h,disabled:A,readonly:O,hideError:I,displayLabel:q,classNames:Y.join(" ").trim(),formContext:E,formData:n,schema:D,uiSchema:o,registry:f},J=f.fields.AnyOfField,G=f.fields.OneOfField;return m.default.createElement(C,{...z},m.default.createElement(m.default.Fragment,null,V,D.anyOf&&!(null!=o&&o["ui:field"])&&!S.isSelect(D)&&m.default.createElement(J,{name:d,disabled:A,readonly:O,hideError:I,errorSchema:i,formData:n,formContext:E,idPrefix:l,idSchema:x,idSeparator:s,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,options:D.anyOf.map((e=>S.retrieveSchema(g.default(e)?e:{},n))),baseType:D.type,registry:f,schema:D,uiSchema:o}),D.oneOf&&!(null!=o&&o["ui:field"])&&!S.isSelect(D)&&m.default.createElement(G,{name:d,disabled:A,readonly:O,hideError:I,errorSchema:i,formData:n,formContext:E,idPrefix:l,idSchema:x,idSeparator:s,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,options:D.oneOf.map((e=>S.retrieveSchema(g.default(e)?e:{},n))),baseType:D.type,registry:f,schema:D,uiSchema:o})))}const O={AnyOfField:D,ArrayField:class extends e.Component{constructor(e){super(e),this._getNewFormDataRow=()=>{const{schema:e,registry:a}=this.props,{schemaUtils:r}=a;let o=e.items;return t.isFixedItems(e)&&t.allowAdditionalItems(e)&&(o=e.additionalItems),r.getDefaultFormState(o)},this.onAddClick=e=>{e&&e.preventDefault();const{onChange:t}=this.props,{keyedFormData:a}=this.state,r=[...a,{key:v(),item:this._getNewFormDataRow()}];this.setState({keyedFormData:r,updatedKeyedFormData:!0},(()=>t(F(r))))},this.onAddIndexClick=e=>t=>{t&&t.preventDefault();const{onChange:a}=this.props,{keyedFormData:r}=this.state,o={key:v(),item:this._getNewFormDataRow()},n=[...r];n.splice(e,0,o),this.setState({keyedFormData:n,updatedKeyedFormData:!0},(()=>a(F(n))))},this.onDropIndexClick=e=>t=>{t&&t.preventDefault();const{onChange:a,errorSchema:r}=this.props,{keyedFormData:o}=this.state;let n;if(r){n={};for(const t in r){const a=parseInt(t);a<e?y.default(n,[a],r[t]):a>e&&y.default(n,[a-1],r[t])}}const i=o.filter(((t,a)=>a!==e));this.setState({keyedFormData:i,updatedKeyedFormData:!0},(()=>a(F(i),n)))},this.onReorderClick=(e,t)=>a=>{a&&(a.preventDefault(),a.currentTarget.blur());const{onChange:r,errorSchema:o}=this.props;let n;if(this.props.errorSchema){n={};for(const a in o){const r=parseInt(a);r==e?y.default(n,[t],o[e]):r==t?y.default(n,[e],o[t]):y.default(n,[a],o[r])}}const{keyedFormData:i}=this.state,l=function(){const a=i.slice();return a.splice(e,1),a.splice(t,0,i[e]),a}();this.setState({keyedFormData:l},(()=>r(F(l),n)))},this.onChangeForIndex=e=>(t,a)=>{const{formData:r,onChange:o,errorSchema:n}=this.props;o((Array.isArray(r)?r:[]).map(((a,r)=>e===r?void 0===t?null:t:a)),n&&n&&{...n,[e]:a})},this.onSelectChange=e=>{const{onChange:t}=this.props;t(e)};const{formData:a=[]}=e,r=C(a);this.state={keyedFormData:r,updatedKeyedFormData:!1}}static getDerivedStateFromProps(e,t){if(t.updatedKeyedFormData)return{updatedKeyedFormData:!1};const a=Array.isArray(e.formData)?e.formData:[],r=t.keyedFormData||[];return{keyedFormData:a.length===r.length?r.map(((e,t)=>({key:e.key,item:a[t]}))):C(a)}}get itemTitle(){const{schema:e}=this.props;return h.default(e,[t.ITEMS_KEY,"title"],h.default(e,[t.ITEMS_KEY,"description"],"Item"))}isItemRequired(e){return Array.isArray(e.type)?!e.type.includes("null"):"null"!==e.type}canAddItem(e){const{schema:a,uiSchema:r}=this.props;let{addable:o}=t.getUiOptions(r);return!1!==o&&(o=void 0===a.maxItems||e.length<a.maxItems),o}render(){const{schema:e,uiSchema:a,idSchema:r,registry:o}=this.props,{schemaUtils:n}=o;if(!(t.ITEMS_KEY in e)){const n=t.getUiOptions(a),i=t.getTemplate("UnsupportedFieldTemplate",o,n);return m.default.createElement(i,{schema:e,idSchema:r,reason:"Missing items definition",registry:o})}return n.isMultiSelect(e)?this.renderMultiSelect():t.isCustomWidget(a)?this.renderCustomWidget():t.isFixedItems(e)?this.renderFixedArray():n.isFilesArray(e,a)?this.renderFiles():this.renderNormalArray()}renderNormalArray(){const{schema:e,uiSchema:a={},errorSchema:r,idSchema:o,name:n,disabled:i=!1,readonly:l=!1,autofocus:s=!1,required:d=!1,registry:c,onBlur:u,onFocus:p,idPrefix:h,idSeparator:f="_",rawErrors:y}=this.props,{keyedFormData:E}=this.state,S=void 0===e.title?n:e.title,{schemaUtils:b,formContext:v}=c,C=t.getUiOptions(a),D=g.default(e.items)?e.items:{},x=b.retrieveSchema(D),k=F(this.state.keyedFormData),N={canAdd:this.canAddItem(k),items:E.map(((e,t)=>{const{key:i,item:l}=e,d=l,c=b.retrieveSchema(D,d),m=r?r[t]:void 0,g=b.toIdSchema(c,o.$id+f+t,d,h,f);return this.renderArrayFieldItem({key:i,index:t,name:n&&n+"-"+t,canMoveUp:t>0,canMoveDown:t<k.length-1,itemSchema:c,itemIdSchema:g,itemErrorSchema:m,itemData:d,itemUiSchema:a.items,autofocus:s&&0===t,onBlur:u,onFocus:p,rawErrors:y})})),className:"field field-array field-array-of-"+x.type,disabled:i,idSchema:o,uiSchema:a,onAddClick:this.onAddClick,readonly:l,required:d,schema:e,title:S,formContext:v,formData:k,rawErrors:y,registry:c},T=t.getTemplate("ArrayFieldTemplate",c,C);return m.default.createElement(T,{...N})}renderCustomWidget(){const{schema:e,idSchema:a,uiSchema:r,disabled:o=!1,readonly:n=!1,autofocus:i=!1,required:l=!1,hideError:s,placeholder:d,onBlur:c,onFocus:u,formData:p=[],registry:h,rawErrors:f,name:g}=this.props,{widgets:y,formContext:E}=h,S=e.title||g,{widget:b,...v}=t.getUiOptions(r),C=t.getWidget(e,b,y);return m.default.createElement(C,{id:a&&a.$id,multiple:!0,onChange:this.onSelectChange,onBlur:c,onFocus:u,options:v,schema:e,uiSchema:r,registry:h,value:p,disabled:o,readonly:n,hideError:s,required:l,label:S,placeholder:d,formContext:E,autofocus:i,rawErrors:f})}renderMultiSelect(){const{schema:e,idSchema:a,uiSchema:r,formData:o=[],disabled:n=!1,readonly:i=!1,autofocus:l=!1,required:s=!1,placeholder:d,onBlur:c,onFocus:u,registry:p,rawErrors:h,name:f}=this.props,{widgets:g,schemaUtils:y,formContext:E}=p,S=y.retrieveSchema(e.items,o),b=e.title||f,v=t.optionsList(S),{widget:C="select",...F}=t.getUiOptions(r),D=t.getWidget(e,C,g);return m.default.createElement(D,{id:a&&a.$id,multiple:!0,onChange:this.onSelectChange,onBlur:c,onFocus:u,options:{...F,enumOptions:v},schema:e,uiSchema:r,registry:p,value:o,disabled:n,readonly:i,required:s,label:b,placeholder:d,formContext:E,autofocus:l,rawErrors:h})}renderFiles(){const{schema:e,uiSchema:a,idSchema:r,name:o,disabled:n=!1,readonly:i=!1,autofocus:l=!1,required:s=!1,onBlur:d,onFocus:c,registry:u,formData:p=[],rawErrors:h}=this.props,f=e.title||o,{widgets:g,formContext:y}=u,{widget:E="files",...S}=t.getUiOptions(a),b=t.getWidget(e,E,g);return m.default.createElement(b,{options:S,id:r&&r.$id,multiple:!0,onChange:this.onSelectChange,onBlur:d,onFocus:c,schema:e,uiSchema:a,title:f,value:p,disabled:n,readonly:i,required:s,registry:u,formContext:y,autofocus:l,rawErrors:h,label:""})}renderFixedArray(){const{schema:e,uiSchema:a={},formData:r=[],errorSchema:o,idPrefix:n,idSeparator:i="_",idSchema:l,name:s,disabled:d=!1,readonly:c=!1,autofocus:u=!1,required:p=!1,registry:h,onBlur:f,onFocus:y,rawErrors:E}=this.props,{keyedFormData:S}=this.state;let{formData:b=[]}=this.props;const v=e.title||s,C=t.getUiOptions(a),{schemaUtils:F,formContext:D}=h,x=(g.default(e.items)?e.items:[]).map(((e,t)=>F.retrieveSchema(e,r[t]))),k=g.default(e.additionalItems)?F.retrieveSchema(e.additionalItems,r):null;(!b||b.length<x.length)&&(b=b||[],b=b.concat(new Array(x.length-b.length)));const N={canAdd:this.canAddItem(b)&&!!k,className:"field field-array field-array-fixed-items",disabled:d,idSchema:l,formData:r,items:S.map(((t,r)=>{const{key:d,item:c}=t,m=c,p=r>=x.length,h=p&&g.default(e.additionalItems)?F.retrieveSchema(e.additionalItems,m):x[r],S=F.toIdSchema(h,l.$id+i+r,m,n,i),v=p?a.additionalItems||{}:Array.isArray(a.items)?a.items[r]:a.items||{};return this.renderArrayFieldItem({key:d,index:r,name:s&&s+"-"+r,canRemove:p,canMoveUp:r>=x.length+1,canMoveDown:p&&r<b.length-1,itemSchema:h,itemData:m,itemUiSchema:v,itemIdSchema:S,itemErrorSchema:o?o[r]:void 0,autofocus:u&&0===r,onBlur:f,onFocus:y,rawErrors:E})})),onAddClick:this.onAddClick,readonly:c,required:p,registry:h,schema:e,uiSchema:a,title:v,formContext:D,rawErrors:E},T=t.getTemplate("ArrayFieldTemplate",h,C);return m.default.createElement(T,{...N})}renderArrayFieldItem(e){const{key:a,index:r,name:o,canRemove:n=!0,canMoveUp:i=!0,canMoveDown:l=!0,itemSchema:s,itemData:d,itemUiSchema:c,itemIdSchema:u,itemErrorSchema:p,autofocus:h,onBlur:f,onFocus:g,rawErrors:y}=e,{disabled:E,hideError:S,idPrefix:b,idSeparator:v,readonly:C,uiSchema:F,registry:D,formContext:x}=this.props,{fields:{SchemaField:k}}=D,{orderable:N=!0,removable:T=!0}=t.getUiOptions(F),w={moveUp:N&&i,moveDown:N&&l,remove:T&&n,toolbar:!1};return w.toolbar=Object.keys(w).some((e=>w[e])),{children:m.default.createElement(k,{name:o,index:r,schema:s,uiSchema:c,formData:d,formContext:x,errorSchema:p,idPrefix:b,idSeparator:v,idSchema:u,required:this.isItemRequired(s),onChange:this.onChangeForIndex(r),onBlur:f,onFocus:g,registry:D,disabled:E,readonly:C,hideError:S,autofocus:h,rawErrors:y}),className:"array-item",disabled:E,hasToolbar:w.toolbar,hasMoveUp:w.moveUp,hasMoveDown:w.moveDown,hasRemove:w.remove,index:r,key:a,onAddIndexClick:this.onAddIndexClick,onDropIndexClick:this.onDropIndexClick,onReorderClick:this.onReorderClick,readonly:C,registry:D}}},BooleanField:function(e){const{schema:a,name:r,uiSchema:o,idSchema:n,formData:i,registry:l,required:s,disabled:d,readonly:c,autofocus:u,onChange:p,onFocus:h,onBlur:f,rawErrors:y}=e,{title:E}=a,{widgets:S,formContext:b}=l,{widget:v="checkbox",...C}=t.getUiOptions(o),F=t.getWidget(a,v,S);let D;if(Array.isArray(a.oneOf))D=t.optionsList({oneOf:a.oneOf.map((e=>{if(g.default(e))return{...e,title:e.title||(!0===e.const?"Yes":"No")}})).filter((e=>e))});else{var x;const e=a;a.enum=null!=(x=a.enum)?x:[!0,!1],D=!e.enumNames&&a.enum&&2===a.enum.length&&a.enum.every((e=>"boolean"==typeof e))?[{value:a.enum[0],label:a.enum[0]?"Yes":"No"},{value:a.enum[1],label:a.enum[1]?"Yes":"No"}]:t.optionsList({enum:a.enum,enumNames:e.enumNames})}return m.default.createElement(F,{options:{...C,enumOptions:D},schema:a,uiSchema:o,id:n&&n.$id,onChange:p,onFocus:h,onBlur:f,label:void 0===E?r:E,value:i,required:s,disabled:d,readonly:c,registry:l,formContext:b,autofocus:u,rawErrors:y})},NumberField:function(a){const{registry:r,onChange:o,formData:n,value:i}=a,[l,s]=e.useState(i),{StringField:d}=r.fields;let c=n;const u=e.useCallback((e=>{s(e),"."===(""+e).charAt(0)&&(e="0"+e);const a="string"==typeof e&&e.match(x)?t.asNumber(e.replace(k,"")):t.asNumber(e);o(a)}),[o]);if("string"==typeof l&&"number"==typeof c){const e=new RegExp((""+c).replace(".","\\.")+"\\.?0*$");l.match(e)&&(c=l)}return m.default.createElement(d,{...a,formData:c,onChange:u})},ObjectField:class extends e.Component{constructor(){var e;super(...arguments),e=this,this.state={wasPropertyKeyModified:!1,additionalProperties:{}},this.onPropertyChange=function(t,a){return void 0===a&&(a=!1),(r,o)=>{const{formData:n,onChange:i,errorSchema:l}=e.props;void 0===r&&a&&(r=""),i({...n,[t]:r},l&&l&&{...l,[t]:o})}},this.onDropPropertyClick=e=>t=>{t.preventDefault();const{onChange:a,formData:r}=this.props,o={...r};E.default(o,e),a(o)},this.getAvailableKey=(e,a)=>{const{uiSchema:r}=this.props,{duplicateKeySuffixSeparator:o="-"}=t.getUiOptions(r);let n=0,i=e;for(;i in a;)i=""+e+o+ ++n;return i},this.onKeyChange=e=>(t,a)=>{if(e===t)return;const{formData:r,onChange:o,errorSchema:n}=this.props;t=this.getAvailableKey(t,r);const i={...r},l={[e]:t},s=Object.keys(i).map((e=>({[l[e]||e]:i[e]}))),d=Object.assign({},...s);this.setState({wasPropertyKeyModified:!0}),o(d,n&&n&&{...n,[t]:a})},this.handleAddClick=e=>()=>{if(!g.default(e.additionalProperties))return;const{formData:a,onChange:r,registry:o}=this.props;let n=e.additionalProperties.type;const i={...a};if(t.REF_KEY in e.additionalProperties){const{schemaUtils:r}=o;n=r.retrieveSchema({$ref:e.additionalProperties[t.REF_KEY]},a).type}const l=this.getAvailableKey("newKey",i);y.default(i,l,this.getDefaultValue(n)),r(i)}}isRequired(e){const{schema:t}=this.props;return Array.isArray(t.required)&&-1!==t.required.indexOf(e)}getDefaultValue(e){switch(e){case"string":default:return"New Value";case"array":return[];case"boolean":return!1;case"null":return null;case"number":return 0;case"object":return{}}}render(){const{schema:e,uiSchema:a={},formData:r,errorSchema:o,idSchema:n,name:i,required:l=!1,disabled:s=!1,readonly:d=!1,hideError:c,idPrefix:u,idSeparator:p,onBlur:f,onFocus:g,registry:y}=this.props,{fields:E,formContext:b,schemaUtils:v}=y,{SchemaField:C}=E,F=v.retrieveSchema(e,r),D=t.getUiOptions(a),{properties:x={}}=F,k=void 0===F.title?i:F.title,N=D.description||F.description;let T;try{const e=Object.keys(x);T=t.orderProperties(e,D.order)}catch(e){return m.default.createElement("div",null,m.default.createElement("p",{className:"config-error",style:{color:"red"}},"Invalid ",i||"root"," object field configuration:",m.default.createElement("em",null,e.message),"."),m.default.createElement("pre",null,JSON.stringify(F)))}const w=t.getTemplate("ObjectFieldTemplate",y,D),A={title:D.title||k,description:N,properties:T.map((e=>{const i=S.default(F,[t.PROPERTIES_KEY,e,t.ADDITIONAL_PROPERTY_FLAG]),E=i?a.additionalProperties:a[e],v="hidden"===t.getUiOptions(E).widget,D=h.default(n,[e],{});return{content:m.default.createElement(C,{key:e,name:e,required:this.isRequired(e),schema:h.default(F,[t.PROPERTIES_KEY,e],{}),uiSchema:E,errorSchema:h.default(o,e),idSchema:D,idPrefix:u,idSeparator:p,formData:h.default(r,e),formContext:b,wasPropertyKeyModified:this.state.wasPropertyKeyModified,onKeyChange:this.onKeyChange(e),onChange:this.onPropertyChange(e,i),onBlur:f,onFocus:g,registry:y,disabled:s,readonly:d,hideError:c,onDropPropertyClick:this.onDropPropertyClick}),name:e,readonly:d,disabled:s,required:l,hidden:v}})),readonly:d,disabled:s,required:l,idSchema:n,uiSchema:a,schema:F,formData:r,formContext:b,registry:y};return m.default.createElement(w,{...A,onAddClick:this.handleAddClick})}},OneOfField:D,SchemaField:class extends m.default.Component{shouldComponentUpdate(e){return!t.deepEquals(this.props,e)}render(){return m.default.createElement(A,{...this.props})}},StringField:function(e){const{schema:a,name:r,uiSchema:o,idSchema:n,formData:i,required:l,disabled:s=!1,readonly:d=!1,autofocus:c=!1,onChange:u,onBlur:p,onFocus:h,registry:f,rawErrors:g}=e,{title:y,format:E}=a,{widgets:S,formContext:b,schemaUtils:v}=f,C=v.isSelect(a)?t.optionsList(a):void 0;let F=C?"select":"text";E&&t.hasWidget(a,E,S)&&(F=E);const{widget:D=F,placeholder:x="",...k}=t.getUiOptions(o),N=t.getWidget(a,D,S);return m.default.createElement(N,{options:{...k,enumOptions:C},schema:a,uiSchema:o,id:n&&n.$id,label:void 0===y?r:y,value:i,onChange:u,onBlur:p,onFocus:h,required:l,disabled:s,readonly:d,formContext:b,autofocus:c,registry:f,placeholder:x,rawErrors:g})},NullField:function(t){const{formData:a,onChange:r}=t;return e.useEffect((()=>{void 0===a&&r(null)}),[a,r]),null}};function B(e){const{iconType:t="default",icon:a,className:r,...o}=e;return m.default.createElement("button",{type:"button",className:"btn btn-"+t+" "+r,...o},m.default.createElement("i",{className:"glyphicon glyphicon-"+a}))}function I(e){const{label:t,required:a,id:r}=e;return t?m.default.createElement("label",{className:"control-label",htmlFor:r},t,a&&m.default.createElement("span",{className:"required"},"*")):null}function U(e){const{id:a,classNames:r,disabled:o,label:n,onKeyChange:i,onDropPropertyClick:l,readonly:s,required:d,schema:c,children:u,registry:p}=e,{RemoveButton:h}=p.templates.ButtonTemplates;return m.default.createElement("div",{className:r},t.ADDITIONAL_PROPERTY_FLAG in c?m.default.createElement("div",{className:"row"},m.default.createElement("div",{className:"col-xs-5 form-additional"},m.default.createElement("div",{className:"form-group"},m.default.createElement(I,{label:n+" Key",required:d,id:a+"-key"}),m.default.createElement("input",{className:"form-control",type:"text",id:a+"-key",onBlur:e=>i(e.target.value),defaultValue:n}))),m.default.createElement("div",{className:"form-additional form-group col-xs-5"},u),m.default.createElement("div",{className:"col-xs-2"},m.default.createElement(h,{className:"array-item-remove btn-block",style:{border:"0"},disabled:o||s,onClick:l(n)}))):u)}const q={ArrayFieldDescriptionTemplate:function(e){const{idSchema:a,description:r,registry:o,uiSchema:n}=e;if(!r)return null;const i=t.getUiOptions(n),l=t.getTemplate("DescriptionFieldTemplate",o,i);return m.default.createElement(l,{id:a.$id+"__description",description:r,registry:o})},ArrayFieldItemTemplate:function(e){const{children:t,className:a,disabled:r,hasToolbar:o,hasMoveDown:n,hasMoveUp:i,hasRemove:l,index:s,onDropIndexClick:d,onReorderClick:c,readonly:u,registry:p}=e,{MoveDownButton:h,MoveUpButton:f,RemoveButton:g}=p.templates.ButtonTemplates,y={flex:1,paddingLeft:6,paddingRight:6,fontWeight:"bold"};return m.default.createElement("div",{className:a},m.default.createElement("div",{className:o?"col-xs-9":"col-xs-12"},t),o&&m.default.createElement("div",{className:"col-xs-3 array-item-toolbox"},m.default.createElement("div",{className:"btn-group",style:{display:"flex",justifyContent:"space-around"}},(i||n)&&m.default.createElement(f,{style:y,disabled:r||u||!i,onClick:c(s,s-1)}),(i||n)&&m.default.createElement(h,{style:y,disabled:r||u||!n,onClick:c(s,s+1)}),l&&m.default.createElement(g,{style:y,disabled:r||u,onClick:d(s)}))))},ArrayFieldTemplate:function(e){const{canAdd:a,className:r,disabled:o,idSchema:n,uiSchema:i,items:l,onAddClick:s,readonly:d,registry:c,required:u,schema:p,title:h}=e,f=t.getUiOptions(i),g=t.getTemplate("ArrayFieldDescriptionTemplate",c,f),y=t.getTemplate("ArrayFieldItemTemplate",c,f),E=t.getTemplate("ArrayFieldTitleTemplate",c,f),{ButtonTemplates:{AddButton:S}}=c.templates;return m.default.createElement("fieldset",{className:r,id:n.$id},m.default.createElement(E,{idSchema:n,title:f.title||h,required:u,uiSchema:i,registry:c}),(f.description||p.description)&&m.default.createElement(g,{idSchema:n,description:f.description||p.description,uiSchema:i,registry:c}),m.default.createElement("div",{className:"row array-item-list"},l&&l.map((e=>{let{key:t,...a}=e;return m.default.createElement(y,{key:t,...a})}))),a&&m.default.createElement(S,{className:"array-item-add",onClick:s,disabled:o||d}))},ArrayFieldTitleTemplate:function(e){const{idSchema:a,title:r,uiSchema:o,required:n,registry:i}=e;if(!r)return null;const l=t.getUiOptions(o),s=t.getTemplate("TitleFieldTemplate",i,l);return m.default.createElement(s,{id:a.$id+"__title",title:r,required:n,uiSchema:o,registry:i})},ButtonTemplates:{SubmitButton:function(e){let{uiSchema:a}=e;const{submitText:r,norender:o,props:n={}}=t.getSubmitButtonOptions(a);return o?null:m.default.createElement("div",null,m.default.createElement("button",{type:"submit",...n,className:"btn btn-info "+n.className},r))},AddButton:function(e){let{className:t,onClick:a,disabled:r}=e;return m.default.createElement("div",{className:"row"},m.default.createElement("p",{className:"col-xs-3 col-xs-offset-9 text-right "+t},m.default.createElement(B,{iconType:"info",icon:"plus",className:"btn-add col-xs-12",title:"Add",onClick:a,disabled:r})))},MoveDownButton:function(e){return m.default.createElement(B,{title:"Move down",className:"array-item-move-down",...e,icon:"arrow-down"})},MoveUpButton:function(e){return m.default.createElement(B,{title:"Move up",className:"array-item-move-up",...e,icon:"arrow-up"})},RemoveButton:function(e){return m.default.createElement(B,{title:"Remove",className:"array-item-remove",...e,iconType:"danger",icon:"remove"})}},BaseInputTemplate:function(a){const{id:r,value:o,readonly:n,disabled:i,autofocus:l,onBlur:s,onFocus:d,onChange:c,options:u,schema:p,uiSchema:h,formContext:f,registry:g,rawErrors:y,type:E,...S}=a;if(!r)throw console.log("No id for",a),new Error("no id for props "+JSON.stringify(a));const b={...S,...t.getInputProps(p,E,u)};let v;v="number"===b.type||"integer"===b.type?o||0===o?o:"":null==o?"":o;const C=e.useCallback((e=>{let{target:{value:t}}=e;return c(""===t?u.emptyValue:t)}),[c,u]),F=e.useCallback((e=>{let{target:{value:t}}=e;return s(r,t)}),[s,r]),D=e.useCallback((e=>{let{target:{value:t}}=e;return d(r,t)}),[d,r]);return m.default.createElement(m.default.Fragment,null,m.default.createElement("input",{key:r,id:r,className:"form-control",readOnly:n,disabled:i,autoFocus:l,value:v,...b,list:p.examples?"examples_"+r:void 0,onChange:C,onBlur:F,onFocus:D}),Array.isArray(p.examples)&&m.default.createElement("datalist",{key:"datalist_"+r,id:"examples_"+r},[...new Set(p.examples.concat(p.default?[p.default]:[]))].map((e=>m.default.createElement("option",{key:e,value:e})))))},DescriptionFieldTemplate:function(e){const{id:t,description:a}=e;return a?m.default.createElement("string"==typeof a?"p":"div",{id:t,className:"field-description"},a):null},ErrorListTemplate:function(e){let{errors:t}=e;return m.default.createElement("div",{className:"panel panel-danger errors"},m.default.createElement("div",{className:"panel-heading"},m.default.createElement("h3",{className:"panel-title"},"Errors")),m.default.createElement("ul",{className:"list-group"},t.map(((e,t)=>m.default.createElement("li",{key:t,className:"list-group-item text-danger"},e.stack)))))},FieldTemplate:function(e){const{id:t,label:a,children:r,errors:o,help:n,description:i,hidden:l,required:s,displayLabel:d}=e;return l?m.default.createElement("div",{className:"hidden"},r):m.default.createElement(U,{...e},d&&m.default.createElement(I,{label:a,required:s,id:t}),d&&i?i:null,r,o,n)},ObjectFieldTemplate:function(e){const{description:a,disabled:r,formData:o,idSchema:n,onAddClick:i,properties:l,readonly:s,registry:d,required:c,schema:u,title:p,uiSchema:h}=e,f=t.getUiOptions(h),g=t.getTemplate("TitleFieldTemplate",d,f),y=t.getTemplate("DescriptionFieldTemplate",d,f),{ButtonTemplates:{AddButton:E}}=d.templates;return m.default.createElement("fieldset",{id:n.$id},(f.title||p)&&m.default.createElement(g,{id:n.$id+"__title",title:f.title||p,required:c,uiSchema:h,registry:d}),(f.description||a)&&m.default.createElement(y,{id:n.$id+"__description",description:f.description||a,registry:d}),l.map((e=>e.content)),t.canExpand(u,h,o)&&m.default.createElement(E,{className:"object-property-expand",onClick:i(u),disabled:r||s}))},TitleFieldTemplate:function(e){const{id:t,title:a,required:r}=e;return m.default.createElement("legend",{id:t},a,r&&m.default.createElement("span",{className:"required"},"*"))},UnsupportedFieldTemplate:function(e){const{schema:t,idSchema:a,reason:r}=e;return m.default.createElement("div",{className:"unsupported-field"},m.default.createElement("p",null,"Unsupported field schema",a&&a.$id&&m.default.createElement("span",null," for"," field ",m.default.createElement("code",null,a.$id)),r&&m.default.createElement("em",null,": ",r),"."),t&&m.default.createElement("pre",null,JSON.stringify(t,null,2)))}};function P(e,a){const r=[];for(let o=e;o<=a;o++)r.push({value:o,label:t.pad(o,2)});return r}function _(e){let{type:t,range:a,value:r,select:o,rootId:n,disabled:i,readonly:l,autofocus:s,registry:d,onBlur:c,onFocus:u}=e;const p=n+"_"+t,{SelectWidget:h}=d.widgets;return m.default.createElement(h,{schema:{type:"integer"},id:p,className:"form-control",options:{enumOptions:P(a[0],a[1])},placeholder:t,value:r,disabled:i,readonly:l,autofocus:s,onChange:e=>o(t,e),onBlur:c,onFocus:u,registry:d,label:""})}function R(e,t){return null===e?null:e.replace(";base64",";name="+encodeURIComponent(t)+";base64")}function V(e){const{name:t,size:a,type:r}=e;return new Promise(((o,n)=>{const i=new window.FileReader;i.onerror=n,i.onload=e=>{var n;"string"==typeof(null===(n=e.target)||void 0===n?void 0:n.result)?o({dataURL:R(e.target.result,t),name:t,size:a,type:r}):o({dataURL:null,name:t,size:a,type:r})},i.readAsDataURL(e)}))}function M(e){let{filesInfo:t}=e;return 0===t.length?null:m.default.createElement("ul",{className:"file-info"},t.map(((e,t)=>{const{name:a,size:r,type:o}=e;return m.default.createElement("li",{key:t},m.default.createElement("strong",null,a)," (",o,", ",r," bytes)")})))}function K(e){return e.filter((e=>void 0!==e)).map((e=>{const{blob:a,name:r}=t.dataURItoBlob(e);return{name:r,size:a.size,type:a.type}}))}function j(e,t){return t?Array.from(e.target.options).slice().filter((e=>e.selected)).map((e=>e.value)):e.target.value}function W(t){let{id:a,options:r={},placeholder:o,value:n,required:i,disabled:l,readonly:s,autofocus:d=!1,onChange:c,onBlur:u,onFocus:p}=t;const h=e.useCallback((e=>{let{target:{value:t}}=e;return c(""===t?r.emptyValue:t)}),[c,r.emptyValue]),f=e.useCallback((e=>{let{target:{value:t}}=e;return u(a,t)}),[u,a]),g=e.useCallback((e=>{let{target:{value:t}}=e;return p(a,t)}),[a,p]);return m.default.createElement("textarea",{id:a,className:"form-control",value:n||"",placeholder:o,required:i,disabled:l,readOnly:s,autoFocus:d,rows:r.rows,onBlur:f,onFocus:g,onChange:h})}W.defaultProps={autofocus:!1,options:{}};const L={PasswordWidget:function(e){const{options:a,registry:r}=e,o=t.getTemplate("BaseInputTemplate",r,a);return m.default.createElement(o,{type:"password",...e})},RadioWidget:function(t){let{options:a,value:r,required:o,disabled:n,readonly:i,autofocus:l=!1,onBlur:s,onFocus:d,onChange:c,id:u}=t;const p=Math.random().toString(),{enumOptions:h,enumDisabled:f,inline:g}=a,y=e.useCallback((e=>s(u,e.target.value)),[s,u]),E=e.useCallback((e=>d(u,e.target.value)),[d,u]);return m.default.createElement("div",{className:"field-radio-group",id:u},Array.isArray(h)&&h.map(((e,t)=>{const a=e.value===r,s=f&&-1!=f.indexOf(e.value),d=n||s||i?"disabled":"",h=m.default.createElement("span",null,m.default.createElement("input",{type:"radio",id:u+"_"+t,checked:a,name:p,required:o,value:e.value,disabled:n||s||i,autoFocus:l&&0===t,onChange:()=>c(e.value),onBlur:y,onFocus:E}),m.default.createElement("span",null,e.label));return g?m.default.createElement("label",{key:t,className:"radio-inline "+d},h):m.default.createElement("div",{key:t,className:"radio "+d},m.default.createElement("label",null,h))})))},UpDownWidget:function(e){const{options:a,registry:r}=e,o=t.getTemplate("BaseInputTemplate",r,a);return m.default.createElement(o,{type:"number",...e})},RangeWidget:function(e){const{value:t,registry:{templates:{BaseInputTemplate:a}}}=e;return m.default.createElement("div",{className:"field-range-wrapper"},m.default.createElement(a,{type:"range",...e}),m.default.createElement("span",{className:"range-view"},t))},SelectWidget:function(a){let{schema:r,id:o,options:n,value:i,required:l,disabled:s,readonly:d,multiple:c=!1,autofocus:u=!1,onChange:p,onBlur:h,onFocus:f,placeholder:g}=a;const{enumOptions:y,enumDisabled:E}=n,S=c?[]:"",b=e.useCallback((e=>{const a=j(e,c);return f(o,t.processSelectValue(r,a,n))}),[f,o,r,c,n]),v=e.useCallback((e=>{const a=j(e,c);return h(o,t.processSelectValue(r,a,n))}),[h,o,r,c,n]),C=e.useCallback((e=>{const a=j(e,c);return p(t.processSelectValue(r,a,n))}),[p,r,c,n]);return m.default.createElement("select",{id:o,multiple:c,className:"form-control",value:void 0===i?S:i,required:l,disabled:s||d,autoFocus:u,onBlur:v,onFocus:b,onChange:C},!c&&void 0===r.default&&m.default.createElement("option",{value:""},g),Array.isArray(y)&&y.map(((e,t)=>{let{value:a,label:r}=e;const o=E&&-1!=E.indexOf(a);return m.default.createElement("option",{key:t,value:a,disabled:o},r)})))},TextWidget:function(e){const{options:a,registry:r}=e,o=t.getTemplate("BaseInputTemplate",r,a);return m.default.createElement(o,{...e})},DateWidget:function(a){const{onChange:r,options:o,registry:n}=a,i=t.getTemplate("BaseInputTemplate",n,o),l=e.useCallback((e=>r(e||void 0)),[r]);return m.default.createElement(i,{type:"date",...a,onChange:l})},DateTimeWidget:function(e){const{onChange:a,value:r,options:o,registry:n}=e,i=t.getTemplate("BaseInputTemplate",n,o);return m.default.createElement(i,{type:"datetime-local",...e,value:t.utcToLocal(r),onChange:e=>a(t.localToUTC(e))})},AltDateWidget:function(a){let{time:r=!1,disabled:o=!1,readonly:n=!1,autofocus:i=!1,options:l,id:s,registry:d,onBlur:c,onFocus:u,onChange:p,value:h}=a;const[f,g]=e.useReducer(((e,t)=>({...e,...t})),t.parseDateString(h,r));e.useEffect((()=>{h&&h!==t.toDateString(f,r)&&g(t.parseDateString(h,r))}),[h,f,r]),e.useEffect((()=>{(function(e){return Object.values(e).every((e=>-1!==e))})(f)&&p(t.toDateString(f,r))}),[f,r,p]);const y=e.useCallback(((e,t)=>{g({[e]:t})}),[]),E=e.useCallback((e=>{if(e.preventDefault(),o||n)return;const a=t.parseDateString((new Date).toJSON(),r);g(a)}),[o,n,r]),S=e.useCallback((e=>{e.preventDefault(),o||n||(g(t.parseDateString("",r)),p(void 0))}),[o,n,r,p]);return m.default.createElement("ul",{className:"list-inline"},function(e,t,a){void 0===a&&(a=[1900,(new Date).getFullYear()+2]);const{year:r,month:o,day:n,hour:i,minute:l,second:s}=e,d=[{type:"year",range:a,value:r},{type:"month",range:[1,12],value:o},{type:"day",range:[1,31],value:n}];return t&&d.push({type:"hour",range:[0,23],value:i},{type:"minute",range:[0,59],value:l},{type:"second",range:[0,59],value:s}),d}(f,r,l.yearsRange).map(((e,t)=>m.default.createElement("li",{key:t},m.default.createElement(_,{rootId:s,select:y,...e,disabled:o,readonly:n,registry:d,onBlur:c,onFocus:u,autofocus:i&&0===t})))),("undefined"===l.hideNowButton||!l.hideNowButton)&&m.default.createElement("li",null,m.default.createElement("a",{href:"#",className:"btn btn-info btn-now",onClick:E},"Now")),("undefined"===l.hideClearButton||!l.hideClearButton)&&m.default.createElement("li",null,m.default.createElement("a",{href:"#",className:"btn btn-warning btn-clear",onClick:S},"Clear")))},AltDateTimeWidget:function(e){let{time:t=!0,...a}=e;const{AltDateWidget:r}=a.registry.widgets;return m.default.createElement(r,{time:t,...a})},EmailWidget:function(e){const{options:a,registry:r}=e,o=t.getTemplate("BaseInputTemplate",r,a);return m.default.createElement(o,{type:"email",...e})},URLWidget:function(e){const{options:a,registry:r}=e,o=t.getTemplate("BaseInputTemplate",r,a);return m.default.createElement(o,{type:"url",...e})},TextareaWidget:W,HiddenWidget:function(e){let{id:t,value:a}=e;return m.default.createElement("input",{type:"hidden",id:t,value:void 0===a?"":a})},ColorWidget:function(e){const{disabled:a,readonly:r,options:o,registry:n}=e,i=t.getTemplate("BaseInputTemplate",n,o);return m.default.createElement(i,{type:"color",...e,disabled:a||r})},FileWidget:function(t){let{multiple:a,id:r,readonly:o,disabled:n,onChange:i,value:l,autofocus:s=!1,options:d}=t;const c=e.useMemo((()=>Array.isArray(l)?K(l):K([l])),[l]),[u,p]=e.useState(c),h=e.useCallback((e=>{var t;e.target.files&&(t=e.target.files,Promise.all(Array.from(t).map(V))).then((e=>{p(e);const t=e.map((e=>e.dataURL));i(a?t:t[0])}))}),[a,i]);return m.default.createElement("div",null,m.default.createElement("p",null,m.default.createElement("input",{id:r,type:"file",disabled:o||n,onChange:h,defaultValue:"",autoFocus:s,multiple:a,accept:d.accept?String(d.accept):void 0})),m.default.createElement(M,{filesInfo:u}))},CheckboxWidget:function(a){let{schema:r,options:o,id:n,value:i,disabled:l,readonly:s,label:d,autofocus:c=!1,onBlur:u,onFocus:p,onChange:h,registry:f}=a;const g=t.getTemplate("DescriptionFieldTemplate",f,o),y=t.schemaRequiresTrueValue(r),E=e.useCallback((e=>h(e.target.checked)),[h]),S=e.useCallback((e=>u(n,e.target.checked)),[u,n]),b=e.useCallback((e=>p(n,e.target.checked)),[p,n]);return m.default.createElement("div",{className:"checkbox "+(l||s?"disabled":"")},r.description&&m.default.createElement(g,{id:n+"__description",description:r.description,registry:f}),m.default.createElement("label",null,m.default.createElement("input",{type:"checkbox",id:n,checked:void 0!==i&&i,required:y,disabled:l||s,autoFocus:c,onChange:E,onBlur:S,onFocus:b}),m.default.createElement("span",null,d)))},CheckboxesWidget:function(e){let{id:t,disabled:a,options:{inline:r=!1,enumOptions:o,enumDisabled:n},value:i,autofocus:l=!1,readonly:s,onChange:d}=e;return m.default.createElement("div",{className:"checkboxes",id:t},Array.isArray(o)&&o.map(((e,c)=>{const u=-1!==i.indexOf(e.value),p=n&&-1!=n.indexOf(e.value),h=a||p||s?"disabled":"",f=m.default.createElement("span",null,m.default.createElement("input",{type:"checkbox",id:t+"_"+c,checked:u,disabled:a||p||s,autoFocus:l&&0===c,onChange:t=>{const a=o.map((e=>{let{value:t}=e;return t}));d(t.target.checked?function(e,t,a){const r=a.indexOf(e);return t.slice(0,r).concat(e,t.slice(r)).sort(((e,t)=>Number(a.indexOf(e)>a.indexOf(t))))}(e.value,i,a):function(e,t){return t.filter((t=>t!==e))}(e.value,i))}}),m.default.createElement("span",null,e.label));return r?m.default.createElement("label",{key:c,className:"checkbox-inline "+h},f):m.default.createElement("div",{key:c,className:"checkbox "+h},m.default.createElement("label",null,f))})))}};function $(){return{fields:O,templates:q,widgets:L,rootSchema:{},formContext:{}}}class Y extends e.Component{constructor(e){super(e),this.formElement=void 0,this.getUsedFormData=(e,t)=>{if(0===t.length&&"object"!=typeof e)return e;const a=p.default(e,t);return Array.isArray(e)?Object.keys(a).map((e=>a[e])):a},this.getFieldNames=(e,a)=>{const r=function(e,o,n){return void 0===o&&(o=[]),void 0===n&&(n=[""]),Object.keys(e).forEach((i=>{if("object"==typeof e[i]){const a=n.map((e=>e+"."+i));e[i][t.RJSF_ADDITONAL_PROPERTIES_FLAG]&&""!==e[i][t.NAME_KEY]?o.push(e[i][t.NAME_KEY]):r(e[i],o,a)}else i===t.NAME_KEY&&""!==e[i]&&n.forEach((e=>{e=e.replace(/^\./,"");const t=h.default(a,e);("object"!=typeof t||f.default(t))&&o.push(e)}))})),o};return r(e)},this.onChange=(e,a)=>{const{extraErrors:r,omitExtraData:o,liveOmit:n,noValidate:i,liveValidate:l,onChange:s}=this.props,{schemaUtils:d,schema:c}=this.state;(t.isObject(e)||Array.isArray(e))&&(e=this.getStateFromProps(this.props,e).formData);const u=!i&&l;let m={formData:e,schema:c},p=e;if(!0===o&&!0===n){const t=d.retrieveSchema(c,e),a=d.toPathSchema(t,"",e),r=this.getFieldNames(a,e);p=this.getUsedFormData(e,r),m={formData:p}}if(u){const e=this.validate(d,p);let t=e.errors,a=e.errorSchema;const o=t,n=a;if(r){const o=d.mergeValidationData(e,r);a=o.errorSchema,t=o.errors}m={formData:p,errors:t,errorSchema:a,schemaValidationErrors:o,schemaValidationErrorSchema:n}}else if(!i&&a){const e=r?t.mergeObjects(a,r,!0):a;m={formData:p,errorSchema:e,errors:d.getValidator().toErrorList(e)}}this.setState(m,(()=>s&&s({...this.state,...m})))},this.onBlur=(e,t)=>{const{onBlur:a}=this.props;a&&a(e,t)},this.onFocus=(e,t)=>{const{onFocus:a}=this.props;a&&a(e,t)},this.onSubmit=e=>{if(e.preventDefault(),e.target!==e.currentTarget)return;e.persist();const{omitExtraData:t,extraErrors:a,noValidate:r,onSubmit:o,onError:n}=this.props;let{formData:i}=this.state;const{schema:l,schemaUtils:s}=this.state;if(!0===t){const e=s.retrieveSchema(l,i),t=s.toPathSchema(e,"",i),a=this.getFieldNames(t,i);i=this.getUsedFormData(i,a)}if(!r){const e=this.validate(s,i);let t=e.errors,r=e.errorSchema;const o=t,l=r;if(t.length>0){if(a){const o=s.mergeValidationData(e,a);r=o.errorSchema,t=o.errors}return void this.setState({errors:t,errorSchema:r,schemaValidationErrors:o,schemaValidationErrorSchema:l},(()=>{n?n(t):console.error("Form validation failed",t)}))}}const d=a||{},c=a?s.getValidator().toErrorList(a):[];this.setState({formData:i,errors:c,errorSchema:d,schemaValidationErrors:[],schemaValidationErrorSchema:{}},(()=>{o&&o({...this.state,formData:i,status:"submitted"},e)}))},this.state=this.getStateFromProps(e,e.formData),this.props.onChange&&!t.deepEquals(this.state.formData,this.props.formData)&&this.props.onChange(this.state),this.formElement=m.default.createRef()}UNSAFE_componentWillReceiveProps(e){const a=this.getStateFromProps(e,e.formData);t.deepEquals(a.formData,e.formData)||t.deepEquals(a.formData,this.state.formData)||!e.onChange||e.onChange(a),this.setState(a)}getStateFromProps(e,a){const r=this.state||{},o="schema"in e?e.schema:this.props.schema,n=("uiSchema"in e?e.uiSchema:this.props.uiSchema)||{},i=void 0!==a,l=i&&!e.noValidate&&("liveValidate"in e?e.liveValidate:this.props.liveValidate),s=o;let d=r.schemaUtils;d&&!d.doesSchemaUtilsDiffer(e.validator,s)||(d=t.createSchemaUtils(e.validator,s));const c=d.getDefaultFormState(o,a),u=d.retrieveSchema(o,c);let m,p,h=r.schemaValidationErrors,f=r.schemaValidationErrorSchema;if(l){const e=this.validate(d,c,o);m=e.errors,p=e.errorSchema,h=m,f=p}else{const t=e.noValidate?{errors:[],errorSchema:{}}:e.liveValidate?{errors:r.errors||[],errorSchema:r.errorSchema||{}}:{errors:r.schemaValidationErrors||[],errorSchema:r.schemaValidationErrorSchema||{}};m=t.errors,p=t.errorSchema}if(e.extraErrors){const t=d.mergeValidationData({errorSchema:p,errors:m},e.extraErrors);p=t.errorSchema,m=t.errors}const g=d.toIdSchema(u,n["ui:rootFieldId"],c,e.idPrefix,e.idSeparator);return{schemaUtils:d,schema:o,uiSchema:n,idSchema:g,formData:c,edit:i,errors:m,errorSchema:p,schemaValidationErrors:h,schemaValidationErrorSchema:f}}shouldComponentUpdate(e,a){return t.shouldRender(this,e,a)}validate(e,t,a){void 0===a&&(a=this.props.schema);const{customValidate:r,transformErrors:o}=this.props,n=e.retrieveSchema(a,t);return e.getValidator().validateFormData(t,n,r,o)}renderErrors(e){const{errors:a,errorSchema:r,schema:o,uiSchema:n}=this.state,{showErrorList:i,formContext:l}=this.props,s=t.getUiOptions(n),d=t.getTemplate("ErrorListTemplate",e,s);return a&&a.length&&0!=i?m.default.createElement(d,{errors:a,errorSchema:r||{},schema:o,uiSchema:n,formContext:l}):null}getRegistry(){var e;const{schemaUtils:t}=this.state,{fields:a,templates:r,widgets:o,formContext:n}=$();return{fields:{...a,...this.props.fields},templates:{...r,...this.props.templates,ButtonTemplates:{...r.ButtonTemplates,...null===(e=this.props.templates)||void 0===e?void 0:e.ButtonTemplates}},widgets:{...o,...this.props.widgets},rootSchema:this.props.schema,formContext:this.props.formContext||n,schemaUtils:t}}submit(){this.formElement.current&&this.formElement.current.dispatchEvent(new CustomEvent("submit",{cancelable:!0}))}render(){const{children:e,id:t,idPrefix:a,idSeparator:r,className:o="",tagName:n,name:i,method:l,target:s,action:d,autoComplete:c,enctype:u,acceptcharset:p,noHtml5Validate:h=!1,disabled:f=!1,readonly:g=!1,formContext:y,_internalFormWrapper:E}=this.props,{schema:S,uiSchema:b,formData:v,errorSchema:C,idSchema:F}=this.state,D=this.getRegistry(),{SchemaField:x}=D.fields,{SubmitButton:k}=D.templates.ButtonTemplates;return m.default.createElement(E||n||"form",{className:o||"rjsf",id:t,name:i,method:l,target:s,action:d,autoComplete:c,encType:u,acceptCharset:p,noValidate:h,onSubmit:this.onSubmit,as:E?n:void 0,ref:this.formElement},this.renderErrors(D),m.default.createElement(x,{name:"",schema:S,uiSchema:b,errorSchema:C,idSchema:F,idPrefix:a,idSeparator:r,formContext:y,formData:v,onChange:this.onChange,onBlur:this.onBlur,onFocus:this.onFocus,registry:D,disabled:f,readonly:g}),e||m.default.createElement(k,{uiSchema:b}))}}exports.default=Y,exports.getDefaultRegistry=$,exports.withTheme=function(t){return e.forwardRef(((e,a)=>{var r,o;let{fields:n,widgets:i,templates:l,...s}=e;return n={...t.fields,...n},i={...t.widgets,...i},l={...t.templates,...l,ButtonTemplates:{...null==t||null===(r=t.templates)||void 0===r?void 0:r.ButtonTemplates,...null===(o=l)||void 0===o?void 0:o.ButtonTemplates}},m.default.createElement(Y,{...t,...s,fields:n,widgets:i,templates:l,ref:a})}))};
2
2
  //# sourceMappingURL=core.cjs.production.min.js.map