@rjsf/core 5.11.2 → 5.12.0
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.
- package/dist/core.umd.js +3464 -0
- package/dist/index.esm.js +3814 -0
- package/dist/index.esm.js.map +7 -0
- package/dist/index.js +3714 -5
- package/dist/index.js.map +7 -0
- package/{dist/index.d.ts → lib/components/Form.d.ts} +321 -337
- package/lib/components/Form.js +474 -0
- package/lib/components/Form.js.map +1 -0
- package/lib/components/fields/ArrayField.d.ts +179 -0
- package/lib/components/fields/ArrayField.js +568 -0
- package/lib/components/fields/ArrayField.js.map +1 -0
- package/lib/components/fields/BooleanField.d.ts +9 -0
- package/lib/components/fields/BooleanField.js +62 -0
- package/lib/components/fields/BooleanField.js.map +1 -0
- package/lib/components/fields/MultiSchemaField.d.ts +47 -0
- package/lib/components/fields/MultiSchemaField.js +129 -0
- package/lib/components/fields/MultiSchemaField.js.map +1 -0
- package/lib/components/fields/NullField.d.ts +8 -0
- package/lib/components/fields/NullField.js +17 -0
- package/lib/components/fields/NullField.js.map +1 -0
- package/lib/components/fields/NumberField.d.ts +21 -0
- package/lib/components/fields/NumberField.js +70 -0
- package/lib/components/fields/NumberField.js.map +1 -0
- package/lib/components/fields/ObjectField.d.ts +73 -0
- package/lib/components/fields/ObjectField.js +222 -0
- package/lib/components/fields/ObjectField.js.map +1 -0
- package/lib/components/fields/SchemaField.d.ts +10 -0
- package/lib/components/fields/SchemaField.js +172 -0
- package/lib/components/fields/SchemaField.js.map +1 -0
- package/lib/components/fields/StringField.d.ts +8 -0
- package/lib/components/fields/StringField.js +25 -0
- package/lib/components/fields/StringField.js.map +1 -0
- package/lib/components/fields/index.d.ts +3 -0
- package/lib/components/fields/index.js +24 -0
- package/lib/components/fields/index.js.map +1 -0
- package/lib/components/templates/ArrayFieldDescriptionTemplate.d.ts +8 -0
- package/lib/components/templates/ArrayFieldDescriptionTemplate.js +18 -0
- package/lib/components/templates/ArrayFieldDescriptionTemplate.js.map +1 -0
- package/lib/components/templates/ArrayFieldItemTemplate.d.ts +7 -0
- package/lib/components/templates/ArrayFieldItemTemplate.js +20 -0
- package/lib/components/templates/ArrayFieldItemTemplate.js.map +1 -0
- package/lib/components/templates/ArrayFieldTemplate.d.ts +7 -0
- package/lib/components/templates/ArrayFieldTemplate.js +22 -0
- package/lib/components/templates/ArrayFieldTemplate.js.map +1 -0
- package/lib/components/templates/ArrayFieldTitleTemplate.d.ts +8 -0
- package/lib/components/templates/ArrayFieldTitleTemplate.js +18 -0
- package/lib/components/templates/ArrayFieldTitleTemplate.js.map +1 -0
- package/lib/components/templates/BaseInputTemplate.d.ts +9 -0
- package/lib/components/templates/BaseInputTemplate.js +39 -0
- package/lib/components/templates/BaseInputTemplate.js.map +1 -0
- package/lib/components/templates/ButtonTemplates/AddButton.d.ts +5 -0
- package/lib/components/templates/ButtonTemplates/AddButton.js +10 -0
- package/lib/components/templates/ButtonTemplates/AddButton.js.map +1 -0
- package/lib/components/templates/ButtonTemplates/IconButton.d.ts +7 -0
- package/lib/components/templates/ButtonTemplates/IconButton.js +24 -0
- package/lib/components/templates/ButtonTemplates/IconButton.js.map +1 -0
- package/lib/components/templates/ButtonTemplates/SubmitButton.d.ts +5 -0
- package/lib/components/templates/ButtonTemplates/SubmitButton.js +12 -0
- package/lib/components/templates/ButtonTemplates/SubmitButton.js.map +1 -0
- package/lib/components/templates/ButtonTemplates/index.d.ts +3 -0
- package/lib/components/templates/ButtonTemplates/index.js +15 -0
- package/lib/components/templates/ButtonTemplates/index.js.map +1 -0
- package/lib/components/templates/DescriptionField.d.ts +7 -0
- package/lib/components/templates/DescriptionField.js +18 -0
- package/lib/components/templates/DescriptionField.js.map +1 -0
- package/lib/components/templates/ErrorList.d.ts +7 -0
- package/lib/components/templates/ErrorList.js +13 -0
- package/lib/components/templates/ErrorList.js.map +1 -0
- package/lib/components/templates/FieldErrorTemplate.d.ts +7 -0
- package/lib/components/templates/FieldErrorTemplate.js +19 -0
- package/lib/components/templates/FieldErrorTemplate.js.map +1 -0
- package/lib/components/templates/FieldHelpTemplate.d.ts +7 -0
- package/lib/components/templates/FieldHelpTemplate.js +18 -0
- package/lib/components/templates/FieldHelpTemplate.js.map +1 -0
- package/lib/components/templates/FieldTemplate/FieldTemplate.d.ts +8 -0
- package/lib/components/templates/FieldTemplate/FieldTemplate.js +18 -0
- package/lib/components/templates/FieldTemplate/FieldTemplate.js.map +1 -0
- package/lib/components/templates/FieldTemplate/Label.d.ts +14 -0
- package/lib/components/templates/FieldTemplate/Label.js +14 -0
- package/lib/components/templates/FieldTemplate/Label.js.map +1 -0
- package/lib/components/templates/FieldTemplate/index.d.ts +2 -0
- package/lib/components/templates/FieldTemplate/index.js +3 -0
- package/lib/components/templates/FieldTemplate/index.js.map +1 -0
- package/lib/components/templates/ObjectFieldTemplate.d.ts +9 -0
- package/lib/components/templates/ObjectFieldTemplate.js +18 -0
- package/lib/components/templates/ObjectFieldTemplate.js.map +1 -0
- package/lib/components/templates/TitleField.d.ts +7 -0
- package/lib/components/templates/TitleField.js +11 -0
- package/lib/components/templates/TitleField.js.map +1 -0
- package/lib/components/templates/UnsupportedField.d.ts +9 -0
- package/lib/components/templates/UnsupportedField.js +28 -0
- package/lib/components/templates/UnsupportedField.js.map +1 -0
- package/lib/components/templates/WrapIfAdditionalTemplate.d.ts +8 -0
- package/lib/components/templates/WrapIfAdditionalTemplate.js +21 -0
- package/lib/components/templates/WrapIfAdditionalTemplate.js.map +1 -0
- package/lib/components/templates/index.d.ts +3 -0
- package/lib/components/templates/index.js +36 -0
- package/lib/components/templates/index.js.map +1 -0
- package/lib/components/widgets/AltDateTimeWidget.d.ts +9 -0
- package/lib/components/widgets/AltDateTimeWidget.js +14 -0
- package/lib/components/widgets/AltDateTimeWidget.js.map +1 -0
- package/lib/components/widgets/AltDateWidget.d.ts +7 -0
- package/lib/components/widgets/AltDateWidget.js +77 -0
- package/lib/components/widgets/AltDateWidget.js.map +1 -0
- package/lib/components/widgets/CheckboxWidget.d.ts +9 -0
- package/lib/components/widgets/CheckboxWidget.js +23 -0
- package/lib/components/widgets/CheckboxWidget.js.map +1 -0
- package/lib/components/widgets/CheckboxesWidget.d.ts +9 -0
- package/lib/components/widgets/CheckboxesWidget.js +31 -0
- package/lib/components/widgets/CheckboxesWidget.js.map +1 -0
- package/lib/components/widgets/ColorWidget.d.ts +8 -0
- package/lib/components/widgets/ColorWidget.js +13 -0
- package/lib/components/widgets/ColorWidget.js.map +1 -0
- package/lib/components/widgets/DateTimeWidget.d.ts +8 -0
- package/lib/components/widgets/DateTimeWidget.js +13 -0
- package/lib/components/widgets/DateTimeWidget.js.map +1 -0
- package/lib/components/widgets/DateWidget.d.ts +8 -0
- package/lib/components/widgets/DateWidget.js +15 -0
- package/lib/components/widgets/DateWidget.js.map +1 -0
- package/lib/components/widgets/EmailWidget.d.ts +7 -0
- package/lib/components/widgets/EmailWidget.js +12 -0
- package/lib/components/widgets/EmailWidget.js.map +1 -0
- package/lib/components/widgets/FileWidget.d.ts +8 -0
- package/lib/components/widgets/FileWidget.js +105 -0
- package/lib/components/widgets/FileWidget.js.map +1 -0
- package/lib/components/widgets/HiddenWidget.d.ts +9 -0
- package/lib/components/widgets/HiddenWidget.js +11 -0
- package/lib/components/widgets/HiddenWidget.js.map +1 -0
- package/lib/components/widgets/PasswordWidget.d.ts +7 -0
- package/lib/components/widgets/PasswordWidget.js +12 -0
- package/lib/components/widgets/PasswordWidget.js.map +1 -0
- package/lib/components/widgets/RadioWidget.d.ts +9 -0
- package/lib/components/widgets/RadioWidget.js +24 -0
- package/lib/components/widgets/RadioWidget.js.map +1 -0
- package/lib/components/widgets/RangeWidget.d.ts +8 -0
- package/lib/components/widgets/RangeWidget.js +11 -0
- package/lib/components/widgets/RangeWidget.js.map +1 -0
- package/lib/components/widgets/SelectWidget.d.ts +9 -0
- package/lib/components/widgets/SelectWidget.js +41 -0
- package/lib/components/widgets/SelectWidget.js.map +1 -0
- package/lib/components/widgets/TextWidget.d.ts +7 -0
- package/lib/components/widgets/TextWidget.js +12 -0
- package/lib/components/widgets/TextWidget.js.map +1 -0
- package/lib/components/widgets/TextareaWidget.d.ts +14 -0
- package/lib/components/widgets/TextareaWidget.js +19 -0
- package/lib/components/widgets/TextareaWidget.js.map +1 -0
- package/lib/components/widgets/TimeWidget.d.ts +8 -0
- package/lib/components/widgets/TimeWidget.js +15 -0
- package/lib/components/widgets/TimeWidget.js.map +1 -0
- package/lib/components/widgets/URLWidget.d.ts +7 -0
- package/lib/components/widgets/URLWidget.js +12 -0
- package/lib/components/widgets/URLWidget.js.map +1 -0
- package/lib/components/widgets/UpDownWidget.d.ts +7 -0
- package/lib/components/widgets/UpDownWidget.js +12 -0
- package/lib/components/widgets/UpDownWidget.js.map +1 -0
- package/lib/components/widgets/index.d.ts +3 -0
- package/lib/components/widgets/index.js +44 -0
- package/lib/components/widgets/index.js.map +1 -0
- package/lib/getDefaultRegistry.d.ts +6 -0
- package/lib/getDefaultRegistry.js +19 -0
- package/lib/getDefaultRegistry.js.map +1 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.js +6 -0
- package/lib/index.js.map +1 -0
- package/lib/withTheme.d.ts +9 -0
- package/lib/withTheme.js +16 -0
- package/lib/withTheme.js.map +1 -0
- package/package.json +23 -16
- package/src/components/Form.tsx +853 -0
- package/src/components/fields/ArrayField.tsx +875 -0
- package/src/components/fields/BooleanField.tsx +114 -0
- package/src/components/fields/MultiSchemaField.tsx +221 -0
- package/src/components/fields/NullField.tsx +22 -0
- package/src/components/fields/NumberField.tsx +86 -0
- package/src/components/fields/ObjectField.tsx +331 -0
- package/src/components/fields/SchemaField.tsx +360 -0
- package/src/components/fields/StringField.tsx +71 -0
- package/src/components/fields/index.ts +31 -0
- package/src/components/templates/ArrayFieldDescriptionTemplate.tsx +41 -0
- package/src/components/templates/ArrayFieldItemTemplate.tsx +90 -0
- package/src/components/templates/ArrayFieldTemplate.tsx +88 -0
- package/src/components/templates/ArrayFieldTitleTemplate.tsx +43 -0
- package/src/components/templates/BaseInputTemplate.tsx +102 -0
- package/src/components/templates/ButtonTemplates/AddButton.tsx +29 -0
- package/src/components/templates/ButtonTemplates/IconButton.tsx +77 -0
- package/src/components/templates/ButtonTemplates/SubmitButton.tsx +21 -0
- package/src/components/templates/ButtonTemplates/index.ts +22 -0
- package/src/components/templates/DescriptionField.tsx +29 -0
- package/src/components/templates/ErrorList.tsx +35 -0
- package/src/components/templates/FieldErrorTemplate.tsx +33 -0
- package/src/components/templates/FieldHelpTemplate.tsx +29 -0
- package/src/components/templates/FieldTemplate/FieldTemplate.tsx +41 -0
- package/src/components/templates/FieldTemplate/Label.tsx +27 -0
- package/src/components/templates/FieldTemplate/index.ts +3 -0
- package/src/components/templates/ObjectFieldTemplate.tsx +83 -0
- package/src/components/templates/TitleField.tsx +19 -0
- package/src/components/templates/UnsupportedField.tsx +37 -0
- package/src/components/templates/WrapIfAdditionalTemplate.tsx +80 -0
- package/src/components/templates/index.ts +43 -0
- package/src/components/widgets/AltDateTimeWidget.tsx +16 -0
- package/src/components/widgets/AltDateWidget.tsx +198 -0
- package/src/components/widgets/CheckboxWidget.tsx +92 -0
- package/src/components/widgets/CheckboxesWidget.tsx +92 -0
- package/src/components/widgets/ColorWidget.tsx +14 -0
- package/src/components/widgets/DateTimeWidget.tsx +31 -0
- package/src/components/widgets/DateWidget.tsx +17 -0
- package/src/components/widgets/EmailWidget.tsx +13 -0
- package/src/components/widgets/FileWidget.tsx +178 -0
- package/src/components/widgets/HiddenWidget.tsx +15 -0
- package/src/components/widgets/PasswordWidget.tsx +15 -0
- package/src/components/widgets/RadioWidget.tsx +88 -0
- package/src/components/widgets/RangeWidget.tsx +23 -0
- package/src/components/widgets/SelectWidget.tsx +100 -0
- package/src/components/widgets/TextWidget.tsx +13 -0
- package/src/components/widgets/TextareaWidget.tsx +61 -0
- package/src/components/widgets/TimeWidget.tsx +17 -0
- package/src/components/widgets/URLWidget.tsx +13 -0
- package/src/components/widgets/UpDownWidget.tsx +13 -0
- package/src/components/widgets/index.ts +51 -0
- package/src/getDefaultRegistry.ts +24 -0
- package/src/index.ts +8 -0
- package/src/withTheme.tsx +42 -0
- package/dist/core.cjs.development.js +0 -4403
- package/dist/core.cjs.development.js.map +0 -1
- package/dist/core.cjs.production.min.js +0 -2
- package/dist/core.cjs.production.min.js.map +0 -1
- package/dist/core.esm.js +0 -4383
- package/dist/core.esm.js.map +0 -1
- package/dist/core.umd.development.js +0 -4393
- package/dist/core.umd.development.js.map +0 -1
- package/dist/core.umd.production.min.js +0 -2
- package/dist/core.umd.production.min.js.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react/jsx-runtime"),require("react"),require("@rjsf/utils"),require("lodash-es/get"),require("lodash-es/isEmpty"),require("lodash-es/pick"),require("lodash-es/toPath"),require("lodash-es/cloneDeep"),require("lodash-es/isObject"),require("lodash-es/set"),require("nanoid"),require("lodash-es/omit"),require("lodash-es/unset"),require("markdown-to-jsx"),require("lodash-es/has")):"function"==typeof define&&define.amd?define(["exports","react/jsx-runtime","react","@rjsf/utils","lodash-es/get","lodash-es/isEmpty","lodash-es/pick","lodash-es/toPath","lodash-es/cloneDeep","lodash-es/isObject","lodash-es/set","nanoid","lodash-es/omit","lodash-es/unset","markdown-to-jsx","lodash-es/has"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).JSONSchemaForm={},e.jsxRuntime,e.React,e.utils,e.get,e.isEmpty,e._pick,e._toPath,e.cloneDeep,e.isObject,e.set,e.nanoid,e.omit,e.unset,e.Markdown,e.has)}(this,(function(e,t,r,a,i,s,o,n,l,d,c,m,u,h,p,g){"use strict";function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var y=f(i),S=f(s),b=f(o),x=f(n),v=f(l),C=f(d),F=f(c),j=f(u),D=f(h),O=f(p),T=f(g);function E(){return m.nanoid()}function I(e){return Array.isArray(e)?e.map((e=>({key:E(),item:e}))):[]}function N(e){return Array.isArray(e)?e.map((e=>e.item)):[]}class k extends r.Component{constructor(e){super(e),this._getNewFormDataRow=()=>{const{schema:e,registry:t}=this.props,{schemaUtils:r}=t;let i=e.items;return a.isFixedItems(e)&&a.allowAdditionalItems(e)&&(i=e.additionalItems),r.getDefaultFormState(i)},this.onAddClick=e=>{this._handleAddClick(e)},this.onAddIndexClick=e=>t=>{this._handleAddClick(t,e)},this.onCopyIndexClick=e=>t=>{t&&t.preventDefault();const{onChange:r}=this.props,{keyedFormData:a}=this.state,i={key:E(),item:v.default(a[e].item)},s=[...a];void 0!==e?s.splice(e+1,0,i):s.push(i),this.setState({keyedFormData:s,updatedKeyedFormData:!0},(()=>r(N(s))))},this.onDropIndexClick=e=>t=>{t&&t.preventDefault();const{onChange:r,errorSchema:a}=this.props,{keyedFormData:i}=this.state;let s;if(a){s={};for(const t in a){const r=parseInt(t);r<e?F.default(s,[r],a[t]):r>e&&F.default(s,[r-1],a[t])}}const o=i.filter(((t,r)=>r!==e));this.setState({keyedFormData:o,updatedKeyedFormData:!0},(()=>r(N(o),s)))},this.onReorderClick=(e,t)=>r=>{r&&(r.preventDefault(),r.currentTarget.blur());const{onChange:a,errorSchema:i}=this.props;let s;if(i){s={};for(const r in i){const a=parseInt(r);a==e?F.default(s,[t],i[e]):a==t?F.default(s,[e],i[t]):F.default(s,[r],i[a])}}const{keyedFormData:o}=this.state,n=function(){const r=o.slice();return r.splice(e,1),r.splice(t,0,o[e]),r}();this.setState({keyedFormData:n},(()=>a(N(n),s)))},this.onChangeForIndex=e=>(t,r,a)=>{const{formData:i,onChange:s,errorSchema:o}=this.props;s((Array.isArray(i)?i:[]).map(((r,a)=>e===a?void 0===t?null:t:r)),o&&o&&{...o,[e]:r},a)},this.onSelectChange=e=>{const{onChange:t,idSchema:r}=this.props;t(e,void 0,r&&r.$id)};const{formData:t=[]}=e,r=I(t);this.state={keyedFormData:r,updatedKeyedFormData:!1}}static getDerivedStateFromProps(e,t){if(t.updatedKeyedFormData)return{updatedKeyedFormData:!1};const r=Array.isArray(e.formData)?e.formData:[],a=t.keyedFormData||[];return{keyedFormData:r.length===a.length?a.map(((e,t)=>({key:e.key,item:r[t]}))):I(r)}}get itemTitle(){const{schema:e,registry:t}=this.props,{translateString:r}=t;return y.default(e,[a.ITEMS_KEY,"title"],y.default(e,[a.ITEMS_KEY,"description"],r(a.TranslatableString.ArrayItemTitle)))}isItemRequired(e){return Array.isArray(e.type)?!e.type.includes("null"):"null"!==e.type}canAddItem(e){const{schema:t,uiSchema:r,registry:i}=this.props;let{addable:s}=a.getUiOptions(r,i.globalUiOptions);return!1!==s&&(s=void 0===t.maxItems||e.length<t.maxItems),s}_handleAddClick(e,t){e&&e.preventDefault();const{onChange:r}=this.props,{keyedFormData:a}=this.state,i={key:E(),item:this._getNewFormDataRow()},s=[...a];void 0!==t?s.splice(t,0,i):s.push(i),this.setState({keyedFormData:s,updatedKeyedFormData:!0},(()=>r(N(s))))}render(){const{schema:e,uiSchema:r,idSchema:i,registry:s}=this.props,{schemaUtils:o,translateString:n}=s;if(!(a.ITEMS_KEY in e)){const o=a.getUiOptions(r),l=a.getTemplate("UnsupportedFieldTemplate",s,o);return t.jsx(l,{schema:e,idSchema:i,reason:n(a.TranslatableString.MissingItems),registry:s})}return o.isMultiSelect(e)?this.renderMultiSelect():a.isCustomWidget(r)?this.renderCustomWidget():a.isFixedItems(e)?this.renderFixedArray():o.isFilesArray(e,r)?this.renderFiles():this.renderNormalArray()}renderNormalArray(){const{schema:e,uiSchema:r={},errorSchema:i,idSchema:s,name:o,disabled:n=!1,readonly:l=!1,autofocus:d=!1,required:c=!1,registry:m,onBlur:u,onFocus:h,idPrefix:p,idSeparator:g="_",rawErrors:f}=this.props,{keyedFormData:y}=this.state,S=void 0===e.title?o:e.title,{schemaUtils:b,formContext:x}=m,v=a.getUiOptions(r),F=C.default(e.items)?e.items:{},j=b.retrieveSchema(F),D=N(this.state.keyedFormData),O=this.canAddItem(D),T={canAdd:O,items:y.map(((e,t)=>{const{key:a,item:n}=e,l=n,c=b.retrieveSchema(F,l),m=i?i[t]:void 0,S=b.toIdSchema(c,s.$id+g+t,l,p,g);return this.renderArrayFieldItem({key:a,index:t,name:o&&`${o}-${t}`,canAdd:O,canMoveUp:t>0,canMoveDown:t<D.length-1,itemSchema:c,itemIdSchema:S,itemErrorSchema:m,itemData:l,itemUiSchema:r.items,autofocus:d&&0===t,onBlur:u,onFocus:h,rawErrors:f,totalItems:y.length})})),className:`field field-array field-array-of-${j.type}`,disabled:n,idSchema:s,uiSchema:r,onAddClick:this.onAddClick,readonly:l,required:c,schema:e,title:S,formContext:x,formData:D,rawErrors:f,registry:m},E=a.getTemplate("ArrayFieldTemplate",m,v);return t.jsx(E,{...T})}renderCustomWidget(){const{schema:e,idSchema:r,uiSchema:i,disabled:s=!1,readonly:o=!1,autofocus:n=!1,required:l=!1,hideError:d,placeholder:c,onBlur:m,onFocus:u,formData:h=[],registry:p,rawErrors:g,name:f}=this.props,{widgets:y,formContext:S,globalUiOptions:b,schemaUtils:x}=p,{widget:v,title:C,...F}=a.getUiOptions(i,b),j=a.getWidget(e,v,y),D=C??e.title??f,O=x.getDisplayLabel(e,i,b);return t.jsx(j,{id:r.$id,name:f,multiple:!0,onChange:this.onSelectChange,onBlur:m,onFocus:u,options:F,schema:e,uiSchema:i,registry:p,value:h,disabled:s,readonly:o,hideError:d,required:l,label:D,hideLabel:!O,placeholder:c,formContext:S,autofocus:n,rawErrors:g})}renderMultiSelect(){const{schema:e,idSchema:r,uiSchema:i,formData:s=[],disabled:o=!1,readonly:n=!1,autofocus:l=!1,required:d=!1,placeholder:c,onBlur:m,onFocus:u,registry:h,rawErrors:p,name:g}=this.props,{widgets:f,schemaUtils:y,formContext:S,globalUiOptions:b}=h,x=y.retrieveSchema(e.items,s),v=a.optionsList(x),{widget:C="select",title:F,...j}=a.getUiOptions(i,b),D=a.getWidget(e,C,f),O=F??e.title??g,T=y.getDisplayLabel(e,i,b);return t.jsx(D,{id:r.$id,name:g,multiple:!0,onChange:this.onSelectChange,onBlur:m,onFocus:u,options:{...j,enumOptions:v},schema:e,uiSchema:i,registry:h,value:s,disabled:o,readonly:n,required:d,label:O,hideLabel:!T,placeholder:c,formContext:S,autofocus:l,rawErrors:p})}renderFiles(){const{schema:e,uiSchema:r,idSchema:i,name:s,disabled:o=!1,readonly:n=!1,autofocus:l=!1,required:d=!1,onBlur:c,onFocus:m,registry:u,formData:h=[],rawErrors:p}=this.props,{widgets:g,formContext:f,globalUiOptions:y,schemaUtils:S}=u,{widget:b="files",title:x,...v}=a.getUiOptions(r,y),C=a.getWidget(e,b,g),F=x??e.title??s,j=S.getDisplayLabel(e,r,y);return t.jsx(C,{options:v,id:i.$id,name:s,multiple:!0,onChange:this.onSelectChange,onBlur:c,onFocus:m,schema:e,uiSchema:r,value:h,disabled:o,readonly:n,required:d,registry:u,formContext:f,autofocus:l,rawErrors:p,label:F,hideLabel:!j})}renderFixedArray(){const{schema:e,uiSchema:r={},formData:i=[],errorSchema:s,idPrefix:o,idSeparator:n="_",idSchema:l,name:d,disabled:c=!1,readonly:m=!1,autofocus:u=!1,required:h=!1,registry:p,onBlur:g,onFocus:f,rawErrors:y}=this.props,{keyedFormData:S}=this.state;let{formData:b=[]}=this.props;const x=e.title||d,v=a.getUiOptions(r),{schemaUtils:F,formContext:j}=p,D=(C.default(e.items)?e.items:[]).map(((e,t)=>F.retrieveSchema(e,i[t]))),O=C.default(e.additionalItems)?F.retrieveSchema(e.additionalItems,i):null;(!b||b.length<D.length)&&(b=b||[],b=b.concat(new Array(D.length-b.length)));const T=this.canAddItem(b)&&!!O,E={canAdd:T,className:"field field-array field-array-fixed-items",disabled:c,idSchema:l,formData:i,items:S.map(((t,a)=>{const{key:i,item:c}=t,m=c,h=a>=D.length,p=h&&C.default(e.additionalItems)?F.retrieveSchema(e.additionalItems,m):D[a],x=F.toIdSchema(p,l.$id+n+a,m,o,n),v=h?r.additionalItems||{}:Array.isArray(r.items)?r.items[a]:r.items||{};return this.renderArrayFieldItem({key:i,index:a,name:d&&`${d}-${a}`,canAdd:T,canRemove:h,canMoveUp:a>=D.length+1,canMoveDown:h&&a<b.length-1,itemSchema:p,itemData:m,itemUiSchema:v,itemIdSchema:x,itemErrorSchema:s?s[a]:void 0,autofocus:u&&0===a,onBlur:g,onFocus:f,rawErrors:y,totalItems:S.length})})),onAddClick:this.onAddClick,readonly:m,required:h,registry:p,schema:e,uiSchema:r,title:x,formContext:j,rawErrors:y},I=a.getTemplate("ArrayFieldTemplate",p,v);return t.jsx(I,{...E})}renderArrayFieldItem(e){const{key:r,index:i,name:s,canAdd:o,canRemove:n=!0,canMoveUp:l,canMoveDown:d,itemSchema:c,itemData:m,itemUiSchema:u,itemIdSchema:h,itemErrorSchema:p,autofocus:g,onBlur:f,onFocus:y,rawErrors:S,totalItems:b}=e,{disabled:x,hideError:v,idPrefix:C,idSeparator:F,readonly:j,uiSchema:D,registry:O,formContext:T}=this.props,{fields:{ArraySchemaField:E,SchemaField:I},globalUiOptions:N}=O,k=E||I,{orderable:A=!0,removable:w=!0,copyable:B=!1}=a.getUiOptions(D,N),U={moveUp:A&&l,moveDown:A&&d,copy:B&&o,remove:w&&n,toolbar:!1};return U.toolbar=Object.keys(U).some((e=>U[e])),{children:t.jsx(k,{name:s,index:i,schema:c,uiSchema:u,formData:m,formContext:T,errorSchema:p,idPrefix:C,idSeparator:F,idSchema:h,required:this.isItemRequired(c),onChange:this.onChangeForIndex(i),onBlur:f,onFocus:y,registry:O,disabled:x,readonly:j,hideError:v,autofocus:g,rawErrors:S}),className:"array-item",disabled:x,canAdd:o,hasCopy:U.copy,hasToolbar:U.toolbar,hasMoveUp:U.moveUp,hasMoveDown:U.moveDown,hasRemove:U.remove,index:i,totalItems:b,key:r,onAddIndexClick:this.onAddIndexClick,onCopyIndexClick:this.onCopyIndexClick,onDropIndexClick:this.onDropIndexClick,onReorderClick:this.onReorderClick,readonly:j,registry:O,schema:c,uiSchema:u}}}function A(e){const{schema:r,name:i,uiSchema:s,idSchema:o,formData:n,registry:l,required:d,disabled:c,readonly:m,autofocus:u,onChange:h,onFocus:p,onBlur:g,rawErrors:f}=e,{title:y}=r,{widgets:S,formContext:b,translateString:x,globalUiOptions:v}=l,{widget:F="checkbox",title:j,label:D=!0,...O}=a.getUiOptions(s,v),T=a.getWidget(r,F,S),E=x(a.TranslatableString.YesLabel),I=x(a.TranslatableString.NoLabel);let N;const k=j??y??i;if(Array.isArray(r.oneOf))N=a.optionsList({oneOf:r.oneOf.map((e=>{if(C.default(e))return{...e,title:e.title||(!0===e.const?E:I)}})).filter((e=>e))});else{const e=r,t=r.enum??[!0,!1];N=!e.enumNames&&2===t.length&&t.every((e=>"boolean"==typeof e))?[{value:t[0],label:t[0]?E:I},{value:t[1],label:t[1]?E:I}]:a.optionsList({enum:t,enumNames:e.enumNames})}return t.jsx(T,{options:{...O,enumOptions:N},schema:r,uiSchema:s,id:o.$id,name:i,onChange:h,onFocus:p,onBlur:g,label:k,hideLabel:!D,value:n,required:d,disabled:c,readonly:m,registry:l,formContext:b,autofocus:u,rawErrors:f})}class w extends r.Component{constructor(e){super(e),this.onOptionChange=e=>{const{selectedOption:t,retrievedOptions:r}=this.state,{formData:a,onChange:i,registry:s}=this.props,{schemaUtils:o}=s,n=void 0!==e?parseInt(e,10):-1;if(n===t)return;const l=n>=0?r[n]:void 0;let d=o.sanitizeDataForNewSchema(l,t>=0?r[t]:void 0,a);d&&l&&(d=o.getDefaultFormState(l,d,"excludeObjectChildren")),i(d,void 0,this.getFieldId()),this.setState({selectedOption:n})};const{formData:t,options:r,registry:{schemaUtils:a}}=this.props,i=r.map((e=>a.retrieveSchema(e,t)));this.state={retrievedOptions:i,selectedOption:this.getMatchingOption(0,t,i)}}componentDidUpdate(e,t){const{formData:r,options:i,idSchema:s}=this.props,{selectedOption:o}=this.state;let n=this.state;if(!a.deepEquals(e.options,i)){const{registry:{schemaUtils:e}}=this.props;n={selectedOption:o,retrievedOptions:i.map((t=>e.retrieveSchema(t,r)))}}if(!a.deepEquals(r,e.formData)&&s.$id===e.idSchema.$id){const{retrievedOptions:e}=n,a=this.getMatchingOption(o,r,e);t&&a!==o&&(n={selectedOption:a,retrievedOptions:e})}n!==this.state&&this.setState(n)}getMatchingOption(e,t,r){const{schema:i,registry:{schemaUtils:s}}=this.props,o=a.getDiscriminatorFieldFromSchema(i);return s.getClosestMatchingOption(t,r,e,o)}getFieldId(){const{idSchema:e,schema:t}=this.props;return`${e.$id}${t.oneOf?"__oneof_select":"__anyof_select"}`}render(){const{name:e,disabled:r=!1,errorSchema:i={},formContext:s,onBlur:o,onFocus:n,registry:l,schema:d,uiSchema:c}=this.props,{widgets:m,fields:u,translateString:h,globalUiOptions:p,schemaUtils:g}=l,{SchemaField:f}=u,{selectedOption:b,retrievedOptions:x}=this.state,{widget:v="select",placeholder:C,autofocus:F,autocomplete:O,title:T=d.title,...E}=a.getUiOptions(c,p),I=a.getWidget({type:"number"},v,m),N=y.default(i,a.ERRORS_KEY,[]),k=j.default(i,[a.ERRORS_KEY]),A=g.getDisplayLabel(d,c,p),w=b>=0&&x[b]||null;let B;if(w){const{oneOf:e,anyOf:t,...r}=d;D.default(r,a.ADDITIONAL_PROPERTY_FLAG),B=S.default(r)?w:a.mergeSchemas(r,w)}const U=T?a.TranslatableString.TitleOptionPrefix:a.TranslatableString.OptionPrefix,_=T?[T]:[],P=x.map(((e,t)=>({label:e.title||h(U,_.concat(String(t+1))),value:t})));return t.jsxs("div",{className:"panel panel-default panel-body",children:[t.jsx("div",{className:"form-group",children:t.jsx(I,{id:this.getFieldId(),name:`${e}${d.oneOf?"__oneof_select":"__anyof_select"}`,schema:{type:"number",default:0},onChange:this.onOptionChange,onBlur:o,onFocus:n,disabled:r||S.default(P),multiple:!1,rawErrors:N,errorSchema:k,value:b>=0?b:void 0,options:{enumOptions:P,...E},registry:l,formContext:s,placeholder:C,autocomplete:O,autofocus:F,label:T??e,hideLabel:!A})}),null!==w&&t.jsx(f,{...this.props,schema:B})]})}}const B=/\.([0-9]*0)*$/,U=/[0.]0*$/;function _(e){const{registry:i,onChange:s,formData:o,value:n}=e,[l,d]=r.useState(n),{StringField:c}=i.fields;let m=o;const u=r.useCallback((e=>{d(e),"."===`${e}`.charAt(0)&&(e=`0${e}`);const t="string"==typeof e&&e.match(B)?a.asNumber(e.replace(U,"")):a.asNumber(e);s(t)}),[s]);if("string"==typeof l&&"number"==typeof m){const e=new RegExp(`${m}`.replace(".","\\.")+"\\.?0*$");l.match(e)&&(m=l)}return t.jsx(c,{...e,formData:m,onChange:u})}class P extends r.Component{constructor(...e){super(...e),this.state={wasPropertyKeyModified:!1,additionalProperties:{}},this.onPropertyChange=(e,t=!1)=>(r,a,i)=>{const{formData:s,onChange:o,errorSchema:n}=this.props;void 0===r&&t&&(r=""),o({...s,[e]:r},n&&n&&{...n,[e]:a},i)},this.onDropPropertyClick=e=>t=>{t.preventDefault();const{onChange:r,formData:a}=this.props,i={...a};D.default(i,e),r(i)},this.getAvailableKey=(e,t)=>{const{uiSchema:r,registry:i}=this.props,{duplicateKeySuffixSeparator:s="-"}=a.getUiOptions(r,i.globalUiOptions);let o=0,n=e;for(;T.default(t,n);)n=`${e}${s}${++o}`;return n},this.onKeyChange=e=>(t,r)=>{if(e===t)return;const{formData:a,onChange:i,errorSchema:s}=this.props;t=this.getAvailableKey(t,a);const o={...a},n={[e]:t},l=Object.keys(o).map((e=>({[n[e]||e]:o[e]}))),d=Object.assign({},...l);this.setState({wasPropertyKeyModified:!0}),i(d,s&&s&&{...s,[t]:r})},this.handleAddClick=e=>()=>{if(!e.additionalProperties)return;const{formData:t,onChange:r,registry:i}=this.props,s={...t};let o;if(C.default(e.additionalProperties)){o=e.additionalProperties.type;let r=e.additionalProperties;if(a.REF_KEY in r){const{schemaUtils:e}=i;r=e.retrieveSchema({$ref:r[a.REF_KEY]},t),o=r.type}o||!(a.ANY_OF_KEY in r)&&!(a.ONE_OF_KEY in r)||(o="object")}const n=this.getAvailableKey("newKey",s);F.default(s,n,this.getDefaultValue(o)),r(s)}}isRequired(e){const{schema:t}=this.props;return Array.isArray(t.required)&&-1!==t.required.indexOf(e)}getDefaultValue(e){const{registry:{translateString:t}}=this.props;switch(e){case"array":return[];case"boolean":return!1;case"null":return null;case"number":return 0;case"object":return{};default:return t(a.TranslatableString.NewStringDefault)}}render(){const{schema:e,uiSchema:r={},formData:i,errorSchema:s,idSchema:o,name:n,required:l=!1,disabled:d=!1,readonly:c=!1,hideError:m,idPrefix:u,idSeparator:h,onBlur:p,onFocus:g,registry:f}=this.props,{fields:S,formContext:b,schemaUtils:x,translateString:v,globalUiOptions:C}=f,{SchemaField:F}=S,j=x.retrieveSchema(e,i),D=a.getUiOptions(r,C),{properties:E={}}=j,I=D.title??j.title??n,N=D.description??j.description;let k;try{const e=Object.keys(E);k=a.orderProperties(e,D.order)}catch(e){return t.jsxs("div",{children:[t.jsx("p",{className:"config-error",style:{color:"red"},children:t.jsx(O.default,{children:v(a.TranslatableString.InvalidObjectField,[n||"root",e.message])})}),t.jsx("pre",{children:JSON.stringify(j)})]})}const A=a.getTemplate("ObjectFieldTemplate",f,D),w={title:!1===D.label?"":I,description:!1===D.label?void 0:N,properties:k.map((e=>{const n=T.default(j,[a.PROPERTIES_KEY,e,a.ADDITIONAL_PROPERTY_FLAG]),S=n?r.additionalProperties:r[e],x="hidden"===a.getUiOptions(S).widget,v=y.default(o,[e],{});return{content:t.jsx(F,{name:e,required:this.isRequired(e),schema:y.default(j,[a.PROPERTIES_KEY,e],{}),uiSchema:S,errorSchema:y.default(s,e),idSchema:v,idPrefix:u,idSeparator:h,formData:y.default(i,e),formContext:b,wasPropertyKeyModified:this.state.wasPropertyKeyModified,onKeyChange:this.onKeyChange(e),onChange:this.onPropertyChange(e,n),onBlur:p,onFocus:g,registry:f,disabled:d,readonly:c,hideError:m,onDropPropertyClick:this.onDropPropertyClick},e),name:e,readonly:c,disabled:d,required:l,hidden:x}})),readonly:c,disabled:d,required:l,idSchema:o,uiSchema:r,errorSchema:s,schema:j,formData:i,formContext:b,registry:f};return t.jsx(A,{...w,onAddClick:this.handleAddClick})}}const q={array:"ArrayField",boolean:"BooleanField",integer:"NumberField",number:"NumberField",object:"ObjectField",string:"StringField",null:"NullField"};function R(e){const{schema:i,idSchema:s,uiSchema:o,formData:n,errorSchema:l,idPrefix:d,idSeparator:c,name:m,onChange:u,onKeyChange:h,onDropPropertyClick:p,required:g,registry:f,wasPropertyKeyModified:y=!1}=e,{formContext:S,schemaUtils:b,globalUiOptions:x}=f,v=a.getUiOptions(o,x),F=a.getTemplate("FieldTemplate",f,v),D=a.getTemplate("DescriptionFieldTemplate",f,v),T=a.getTemplate("FieldHelpTemplate",f,v),E=a.getTemplate("FieldErrorTemplate",f,v),I=b.retrieveSchema(i,n),N=s[a.ID_KEY],k=a.mergeObjects(b.toIdSchema(I,N,n,d,c),s),A=r.useCallback(((e,t,r)=>u(e,t,r||N)),[N,u]),w=function(e,r,i,s){const o=r.field,{fields:n,translateString:l}=s;if("function"==typeof o)return o;if("string"==typeof o&&o in n)return n[o];const d=a.getSchemaType(e),c=Array.isArray(d)?d[0]:d||"",m=e.$id;let u=q[c];return m&&m in n&&(u=m),u||!e.anyOf&&!e.oneOf?u in n?n[u]:()=>{const o=a.getTemplate("UnsupportedFieldTemplate",s,r);return t.jsx(o,{schema:e,idSchema:i,reason:l(a.TranslatableString.UnknownFieldType,[String(e.type)]),registry:s})}:()=>null}(I,v,k,f),B=Boolean(e.disabled||v.disabled),U=Boolean(e.readonly||v.readonly||e.schema.readOnly||I.readOnly),_=v.hideError,P=void 0===_?e.hideError:Boolean(_),R=Boolean(e.autofocus||v.autofocus);if(0===Object.keys(I).length)return null;const L=b.getDisplayLabel(I,o,x),{__errors:$,...V}=l||{},K=j.default(o,["ui:classNames","classNames","ui:style"]);a.UI_OPTIONS_KEY in K&&(K[a.UI_OPTIONS_KEY]=j.default(K[a.UI_OPTIONS_KEY],["classNames","style"]));const M=t.jsx(w,{...e,onChange:A,idSchema:k,schema:I,uiSchema:K,disabled:B,readonly:U,hideError:P,autofocus:R,errorSchema:V,formContext:S,rawErrors:$}),W=k[a.ID_KEY];let Y;Y=y||a.ADDITIONAL_PROPERTY_FLAG in I?m:v.title||e.schema.title||I.title||m;const z=v.description||e.schema.description||I.description||"",G=v.enableMarkdownInDescription?t.jsx(O.default,{children:z}):z,J=v.help,H="hidden"===v.widget,Q=["form-group","field",`field-${a.getSchemaType(I)}`];!P&&$&&$.length>0&&Q.push("field-error has-error has-danger"),null!=o&&o.classNames&&Q.push(o.classNames),v.classNames&&Q.push(v.classNames);const X=t.jsx(T,{help:J,idSchema:k,schema:I,uiSchema:o,hasErrors:!P&&$&&$.length>0,registry:f}),Z=P||I.anyOf||I.oneOf?void 0:t.jsx(E,{errors:$,errorSchema:l,idSchema:k,schema:I,uiSchema:o,registry:f}),ee={description:t.jsx(D,{id:a.descriptionId(W),description:G,schema:I,uiSchema:o,registry:f}),rawDescription:z,help:X,rawHelp:"string"==typeof J?J:void 0,errors:Z,rawErrors:P?void 0:$,id:W,label:Y,hidden:H,onChange:u,onKeyChange:h,onDropPropertyClick:p,required:g,disabled:B,readonly:U,hideError:P,displayLabel:L,classNames:Q.join(" ").trim(),style:v.style,formContext:S,formData:n,schema:I,uiSchema:o,registry:f},te=f.fields.AnyOfField,re=f.fields.OneOfField,ae=(null==o?void 0:o["ui:field"])&&!0===(null==o?void 0:o["ui:fieldReplacesAnyOrOneOf"]);return t.jsx(F,{...ee,children:t.jsxs(t.Fragment,{children:[M,I.anyOf&&!ae&&!b.isSelect(I)&&t.jsx(te,{name:m,disabled:B,readonly:U,hideError:P,errorSchema:l,formData:n,formContext:S,idPrefix:d,idSchema:k,idSeparator:c,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,options:I.anyOf.map((e=>b.retrieveSchema(C.default(e)?e:{},n))),registry:f,schema:I,uiSchema:o}),I.oneOf&&!ae&&!b.isSelect(I)&&t.jsx(re,{name:m,disabled:B,readonly:U,hideError:P,errorSchema:l,formData:n,formContext:S,idPrefix:d,idSchema:k,idSeparator:c,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,options:I.oneOf.map((e=>b.retrieveSchema(C.default(e)?e:{},n))),registry:f,schema:I,uiSchema:o})]})})}class L extends r.Component{shouldComponentUpdate(e){return!a.deepEquals(this.props,e)}render(){return t.jsx(R,{...this.props})}}function $(e){const{schema:r,name:i,uiSchema:s,idSchema:o,formData:n,required:l,disabled:d=!1,readonly:c=!1,autofocus:m=!1,onChange:u,onBlur:h,onFocus:p,registry:g,rawErrors:f}=e,{title:y,format:S}=r,{widgets:b,formContext:x,schemaUtils:v,globalUiOptions:C}=g,F=v.isSelect(r)?a.optionsList(r):void 0;let j=F?"select":"text";S&&a.hasWidget(r,S,b)&&(j=S);const{widget:D=j,placeholder:O="",title:T,...E}=a.getUiOptions(s),I=v.getDisplayLabel(r,s,C),N=T??y??i,k=a.getWidget(r,D,b);return t.jsx(k,{options:{...E,enumOptions:F},schema:r,uiSchema:s,id:o.$id,name:i,label:N,hideLabel:!I,value:n,onChange:u,onBlur:h,onFocus:p,required:l,disabled:d,readonly:c,formContext:x,autofocus:m,registry:g,placeholder:O,rawErrors:f})}function V(e){const{formData:t,onChange:a}=e;return r.useEffect((()=>{void 0===t&&a(null)}),[t,a]),null}function K(e){const{idSchema:r,description:i,registry:s,schema:o,uiSchema:n}=e,l=a.getUiOptions(n,s.globalUiOptions),{label:d=!0}=l;if(!i||!d)return null;const c=a.getTemplate("DescriptionFieldTemplate",s,l);return t.jsx(c,{id:a.descriptionId(r),description:i,schema:o,uiSchema:n,registry:s})}function M(e){const{children:r,className:a,disabled:i,hasToolbar:s,hasMoveDown:o,hasMoveUp:n,hasRemove:l,hasCopy:d,index:c,onCopyIndexClick:m,onDropIndexClick:u,onReorderClick:h,readonly:p,registry:g,uiSchema:f}=e,{CopyButton:y,MoveDownButton:S,MoveUpButton:b,RemoveButton:x}=g.templates.ButtonTemplates,v={flex:1,paddingLeft:6,paddingRight:6,fontWeight:"bold"};return t.jsxs("div",{className:a,children:[t.jsx("div",{className:s?"col-xs-9":"col-xs-12",children:r}),s&&t.jsx("div",{className:"col-xs-3 array-item-toolbox",children:t.jsxs("div",{className:"btn-group",style:{display:"flex",justifyContent:"space-around"},children:[(n||o)&&t.jsx(b,{style:v,disabled:i||p||!n,onClick:h(c,c-1),uiSchema:f,registry:g}),(n||o)&&t.jsx(S,{style:v,disabled:i||p||!o,onClick:h(c,c+1),uiSchema:f,registry:g}),d&&t.jsx(y,{style:v,disabled:i||p,onClick:m(c),uiSchema:f,registry:g}),l&&t.jsx(x,{style:v,disabled:i||p,onClick:u(c),uiSchema:f,registry:g})]})})]})}function W(e){const{canAdd:r,className:i,disabled:s,idSchema:o,uiSchema:n,items:l,onAddClick:d,readonly:c,registry:m,required:u,schema:h,title:p}=e,g=a.getUiOptions(n),f=a.getTemplate("ArrayFieldDescriptionTemplate",m,g),y=a.getTemplate("ArrayFieldItemTemplate",m,g),S=a.getTemplate("ArrayFieldTitleTemplate",m,g),{ButtonTemplates:{AddButton:b}}=m.templates;return t.jsxs("fieldset",{className:i,id:o.$id,children:[t.jsx(S,{idSchema:o,title:g.title||p,required:u,schema:h,uiSchema:n,registry:m}),t.jsx(f,{idSchema:o,description:g.description||h.description,schema:h,uiSchema:n,registry:m}),t.jsx("div",{className:"row array-item-list",children:l&&l.map((({key:e,...r})=>t.jsx(y,{...r},e)))}),r&&t.jsx(b,{className:"array-item-add",onClick:d,disabled:s||c,uiSchema:n,registry:m})]})}function Y(e){const{idSchema:r,title:i,schema:s,uiSchema:o,required:n,registry:l}=e,d=a.getUiOptions(o,l.globalUiOptions),{label:c=!0}=d;if(!i||!c)return null;const m=a.getTemplate("TitleFieldTemplate",l,d);return t.jsx(m,{id:a.titleId(r),title:i,required:n,schema:s,uiSchema:o,registry:l})}function z(e){const{id:i,name:s,value:o,readonly:n,disabled:l,autofocus:d,onBlur:c,onFocus:m,onChange:u,onChangeOverride:h,options:p,schema:g,uiSchema:f,formContext:y,registry:S,rawErrors:b,type:x,hideLabel:v,hideError:C,...F}=e;if(!i)throw console.log("No id for",e),new Error(`no id for props ${JSON.stringify(e)}`);const j={...F,...a.getInputProps(g,x,p)};let D;D="number"===j.type||"integer"===j.type?o||0===o?o:"":null==o?"":o;const O=r.useCallback((({target:{value:e}})=>u(""===e?p.emptyValue:e)),[u,p]),T=r.useCallback((({target:{value:e}})=>c(i,e)),[c,i]),E=r.useCallback((({target:{value:e}})=>m(i,e)),[m,i]);return t.jsxs(t.Fragment,{children:[t.jsx("input",{id:i,name:i,className:"form-control",readOnly:n,disabled:l,autoFocus:d,value:D,...j,list:g.examples?a.examplesId(i):void 0,onChange:h||O,onBlur:T,onFocus:E,"aria-describedby":a.ariaDescribedByIds(i,!!g.examples)}),Array.isArray(g.examples)&&t.jsx("datalist",{id:a.examplesId(i),children:g.examples.concat(g.default&&!g.examples.includes(g.default)?[g.default]:[]).map((e=>t.jsx("option",{value:e},e)))},`datalist_${i}`)]})}function G({uiSchema:e}){const{submitText:r,norender:i,props:s={}}=a.getSubmitButtonOptions(e);return i?null:t.jsx("div",{children:t.jsx("button",{type:"submit",...s,className:`btn btn-info ${s.className||""}`,children:r})})}function J(e){const{iconType:r="default",icon:a,className:i,uiSchema:s,registry:o,...n}=e;return t.jsx("button",{type:"button",className:`btn btn-${r} ${i}`,...n,children:t.jsx("i",{className:`glyphicon glyphicon-${a}`})})}function H(e){const{registry:{translateString:r}}=e;return t.jsx(J,{title:r(a.TranslatableString.CopyButton),className:"array-item-copy",...e,icon:"copy"})}function Q(e){const{registry:{translateString:r}}=e;return t.jsx(J,{title:r(a.TranslatableString.MoveDownButton),className:"array-item-move-down",...e,icon:"arrow-down"})}function X(e){const{registry:{translateString:r}}=e;return t.jsx(J,{title:r(a.TranslatableString.MoveUpButton),className:"array-item-move-up",...e,icon:"arrow-up"})}function Z(e){const{registry:{translateString:r}}=e;return t.jsx(J,{title:r(a.TranslatableString.RemoveButton),className:"array-item-remove",...e,iconType:"danger",icon:"remove"})}function ee({className:e,onClick:r,disabled:i,registry:s}){const{translateString:o}=s;return t.jsx("div",{className:"row",children:t.jsx("p",{className:`col-xs-3 col-xs-offset-9 text-right ${e}`,children:t.jsx(J,{iconType:"info",icon:"plus",className:"btn-add col-xs-12",title:o(a.TranslatableString.AddButton),onClick:r,disabled:i,registry:s})})})}function te(e){const{id:r,description:a}=e;return a?t.jsx("string"==typeof a?"p":"div",{id:r,className:"field-description",children:a}):null}function re({errors:e,registry:r}){const{translateString:i}=r;return t.jsxs("div",{className:"panel panel-danger errors",children:[t.jsx("div",{className:"panel-heading",children:t.jsx("h3",{className:"panel-title",children:i(a.TranslatableString.ErrorsLabel)})}),t.jsx("ul",{className:"list-group",children:e.map(((e,r)=>t.jsx("li",{className:"list-group-item text-danger",children:e.stack},r)))})]})}const ae="*";function ie(e){const{label:r,required:a,id:i}=e;return r?t.jsxs("label",{className:"control-label",htmlFor:i,children:[r,a&&t.jsx("span",{className:"required",children:ae})]}):null}function se(e){const{id:r,label:i,children:s,errors:o,help:n,description:l,hidden:d,required:c,displayLabel:m,registry:u,uiSchema:h}=e,p=a.getUiOptions(h),g=a.getTemplate("WrapIfAdditionalTemplate",u,p);return d?t.jsx("div",{className:"hidden",children:s}):t.jsxs(g,{...e,children:[m&&t.jsx(ie,{label:i,required:c,id:r}),m&&l?l:null,s,o,n]})}function oe(e){const{errors:r=[],idSchema:i}=e;if(0===r.length)return null;const s=a.errorId(i);return t.jsx("div",{children:t.jsx("ul",{id:s,className:"error-detail bs-callout bs-callout-info",children:r.filter((e=>!!e)).map(((e,r)=>t.jsx("li",{className:"text-danger",children:e},r)))})})}function ne(e){const{idSchema:r,help:i}=e;if(!i)return null;const s=a.helpId(r);return t.jsx("string"==typeof i?"p":"div",{id:s,className:"help-block",children:i})}function le(e){const{description:r,disabled:i,formData:s,idSchema:o,onAddClick:n,properties:l,readonly:d,registry:c,required:m,schema:u,title:h,uiSchema:p}=e,g=a.getUiOptions(p),f=a.getTemplate("TitleFieldTemplate",c,g),y=a.getTemplate("DescriptionFieldTemplate",c,g),{ButtonTemplates:{AddButton:S}}=c.templates;return t.jsxs("fieldset",{id:o.$id,children:[h&&t.jsx(f,{id:a.titleId(o),title:h,required:m,schema:u,uiSchema:p,registry:c}),r&&t.jsx(y,{id:a.descriptionId(o),description:r,schema:u,uiSchema:p,registry:c}),l.map((e=>e.content)),a.canExpand(u,p,s)&&t.jsx(S,{className:"object-property-expand",onClick:n(u),disabled:i||d,uiSchema:p,registry:c})]})}const de="*";function ce(e){const{id:r,title:a,required:i}=e;return t.jsxs("legend",{id:r,children:[a,i&&t.jsx("span",{className:"required",children:de})]})}function me(e){const{schema:r,idSchema:i,reason:s,registry:o}=e,{translateString:n}=o;let l=a.TranslatableString.UnsupportedField;const d=[];return i&&i.$id&&(l=a.TranslatableString.UnsupportedFieldWithId,d.push(i.$id)),s&&(l=l===a.TranslatableString.UnsupportedField?a.TranslatableString.UnsupportedFieldWithReason:a.TranslatableString.UnsupportedFieldWithIdAndReason,d.push(s)),t.jsxs("div",{className:"unsupported-field",children:[t.jsx("p",{children:t.jsx(O.default,{children:n(l,d)})}),r&&t.jsx("pre",{children:JSON.stringify(r,null,2)})]})}function ue(e){const{id:r,classNames:i,style:s,disabled:o,label:n,onKeyChange:l,onDropPropertyClick:d,readonly:c,required:m,schema:u,children:h,uiSchema:p,registry:g}=e,{templates:f,translateString:y}=g,{RemoveButton:S}=f.ButtonTemplates,b=y(a.TranslatableString.KeyLabel,[n]);return t.jsx("div",a.ADDITIONAL_PROPERTY_FLAG in u?{className:i,style:s,children:t.jsxs("div",{className:"row",children:[t.jsx("div",{className:"col-xs-5 form-additional",children:t.jsxs("div",{className:"form-group",children:[t.jsx(ie,{label:b,required:m,id:`${r}-key`}),t.jsx("input",{className:"form-control",type:"text",id:`${r}-key`,onBlur:e=>l(e.target.value),defaultValue:n})]})}),t.jsx("div",{className:"form-additional form-group col-xs-5",children:h}),t.jsx("div",{className:"col-xs-2",children:t.jsx(S,{className:"array-item-remove btn-block",style:{border:"0"},disabled:o||c,onClick:d(n),uiSchema:p,registry:g})})]})}:{className:i,style:s,children:h})}function he(e,t){const r=[];for(let i=e;i<=t;i++)r.push({value:i,label:a.pad(i,2)});return r}function pe(e,t,r=[1900,(new Date).getFullYear()+2]){const{year:a,month:i,day:s,hour:o,minute:n,second:l}=e,d=[{type:"year",range:r,value:a},{type:"month",range:[1,12],value:i},{type:"day",range:[1,31],value:s}];return t&&d.push({type:"hour",range:[0,23],value:o},{type:"minute",range:[0,59],value:n},{type:"second",range:[0,59],value:l}),d}function ge({type:e,range:r,value:i,select:s,rootId:o,name:n,disabled:l,readonly:d,autofocus:c,registry:m,onBlur:u,onFocus:h}){const p=o+"_"+e,{SelectWidget:g}=m.widgets;return t.jsx(g,{schema:{type:"integer"},id:p,name:n,className:"form-control",options:{enumOptions:he(r[0],r[1])},placeholder:e,value:i,disabled:l,readonly:d,autofocus:c,onChange:t=>s(e,t),onBlur:u,onFocus:h,registry:m,label:"","aria-describedby":a.ariaDescribedByIds(o)})}function fe({time:e=!1,disabled:i=!1,readonly:s=!1,autofocus:o=!1,options:n,id:l,name:d,registry:c,onBlur:m,onFocus:u,onChange:h,value:p}){const{translateString:g}=c,[f,y]=r.useState(p),[S,b]=r.useReducer(((e,t)=>({...e,...t})),a.parseDateString(p,e));r.useEffect((()=>{const t=a.toDateString(S,e);!function(e){return Object.values(e).every((e=>-1!==e))}(S)||t===p?f!==p&&(y(p),b(a.parseDateString(p,e))):h(t)}),[e,p,h,S,f]);const x=r.useCallback(((e,t)=>{b({[e]:t})}),[]),v=r.useCallback((t=>{if(t.preventDefault(),i||s)return;const r=a.parseDateString((new Date).toJSON(),e);h(a.toDateString(r,e))}),[i,s,e]),C=r.useCallback((e=>{e.preventDefault(),i||s||h(void 0)}),[i,s,h]);return t.jsxs("ul",{className:"list-inline",children:[pe(S,e,n.yearsRange).map(((e,r)=>t.jsx("li",{className:"list-inline-item",children:t.jsx(ge,{rootId:l,name:d,select:x,...e,disabled:i,readonly:s,registry:c,onBlur:m,onFocus:u,autofocus:o&&0===r})},r))),("undefined"===n.hideNowButton||!n.hideNowButton)&&t.jsx("li",{className:"list-inline-item",children:t.jsx("a",{href:"#",className:"btn btn-info btn-now",onClick:v,children:g(a.TranslatableString.NowLabel)})}),("undefined"===n.hideClearButton||!n.hideClearButton)&&t.jsx("li",{className:"list-inline-item",children:t.jsx("a",{href:"#",className:"btn btn-warning btn-clear",onClick:C,children:g(a.TranslatableString.ClearLabel)})})]})}function ye({time:e=!0,...r}){const{AltDateWidget:a}=r.registry.widgets;return t.jsx(a,{time:e,...r})}function Se({schema:e,uiSchema:i,options:s,id:o,value:n,disabled:l,readonly:d,label:c,hideLabel:m,autofocus:u=!1,onBlur:h,onFocus:p,onChange:g,registry:f}){const y=a.getTemplate("DescriptionFieldTemplate",f,s),S=a.schemaRequiresTrueValue(e),b=r.useCallback((e=>g(e.target.checked)),[g]),x=r.useCallback((e=>h(o,e.target.checked)),[h,o]),v=r.useCallback((e=>p(o,e.target.checked)),[p,o]),C=s.description??e.description;return t.jsxs("div",{className:"checkbox "+(l||d?"disabled":""),children:[!m&&!!C&&t.jsx(y,{id:a.descriptionId(o),description:C,schema:e,uiSchema:i,registry:f}),t.jsxs("label",{children:[t.jsx("input",{type:"checkbox",id:o,name:o,checked:void 0!==n&&n,required:S,disabled:l||d,autoFocus:u,onChange:b,onBlur:x,onFocus:v,"aria-describedby":a.ariaDescribedByIds(o)}),a.labelValue(t.jsx("span",{children:c}),m)]})]})}function be({id:e,disabled:i,options:{inline:s=!1,enumOptions:o,enumDisabled:n,emptyValue:l},value:d,autofocus:c=!1,readonly:m,onChange:u,onBlur:h,onFocus:p}){const g=Array.isArray(d)?d:[d],f=r.useCallback((({target:{value:t}})=>h(e,a.enumOptionsValueForIndex(t,o,l))),[h,e]),y=r.useCallback((({target:{value:t}})=>p(e,a.enumOptionsValueForIndex(t,o,l))),[p,e]);return t.jsx("div",{className:"checkboxes",id:e,children:Array.isArray(o)&&o.map(((r,l)=>{const d=a.enumOptionsIsSelected(r.value,g),h=Array.isArray(n)&&-1!==n.indexOf(r.value),p=i||h||m?"disabled":"",S=t.jsxs("span",{children:[t.jsx("input",{type:"checkbox",id:a.optionId(e,l),name:e,checked:d,value:String(l),disabled:i||h||m,autoFocus:c&&0===l,onChange:e=>{u(e.target.checked?a.enumOptionsSelectValue(l,g,o):a.enumOptionsDeselectValue(l,g,o))},onBlur:f,onFocus:y,"aria-describedby":a.ariaDescribedByIds(e)}),t.jsx("span",{children:r.label})]});return s?t.jsx("label",{className:`checkbox-inline ${p}`,children:S},l):t.jsx("div",{className:`checkbox ${p}`,children:t.jsx("label",{children:S})},l)}))})}function xe(e){const{disabled:r,readonly:i,options:s,registry:o}=e,n=a.getTemplate("BaseInputTemplate",o,s);return t.jsx(n,{type:"color",...e,disabled:r||i})}function ve(e){const{onChange:i,options:s,registry:o}=e,n=a.getTemplate("BaseInputTemplate",o,s),l=r.useCallback((e=>i(e||void 0)),[i]);return t.jsx(n,{type:"date",...e,onChange:l})}function Ce(e){const{onChange:r,value:i,options:s,registry:o}=e,n=a.getTemplate("BaseInputTemplate",o,s);return t.jsx(n,{type:"datetime-local",...e,value:a.utcToLocal(i),onChange:e=>r(a.localToUTC(e))})}function Fe(e){const{options:r,registry:i}=e,s=a.getTemplate("BaseInputTemplate",i,r);return t.jsx(s,{type:"email",...e})}function je(e,t){return null===e?null:e.replace(";base64",`;name=${encodeURIComponent(t)};base64`)}function De(e){const{name:t,size:r,type:a}=e;return new Promise(((i,s)=>{const o=new window.FileReader;o.onerror=s,o.onload=e=>{var s;"string"==typeof(null===(s=e.target)||void 0===s?void 0:s.result)?i({dataURL:je(e.target.result,t),name:t,size:r,type:a}):i({dataURL:null,name:t,size:r,type:a})},o.readAsDataURL(e)}))}function Oe({fileInfo:e,registry:r}){const{translateString:i}=r,{dataURL:s,type:o,name:n}=e;return s?-1!==o.indexOf("image")?t.jsx("img",{src:s,style:{maxWidth:"100%"},className:"file-preview"}):t.jsxs(t.Fragment,{children:[" ",t.jsx("a",{download:`preview-${n}`,href:s,className:"file-download",children:i(a.TranslatableString.PreviewLabel)})]}):null}function Te({filesInfo:e,registry:r,preview:i}){if(0===e.length)return null;const{translateString:s}=r;return t.jsx("ul",{className:"file-info",children:e.map(((e,o)=>{const{name:n,size:l,type:d}=e;return t.jsxs("li",{children:[t.jsx(O.default,{children:s(a.TranslatableString.FilesInfo,[n,d,String(l)])}),i&&t.jsx(Oe,{fileInfo:e,registry:r})]},o)}))})}function Ee(e){return e.filter((e=>e)).map((e=>{const{blob:t,name:r}=a.dataURItoBlob(e);return{dataURL:e,name:r,size:t.size,type:t.type}}))}function Ie(e){const{disabled:i,readonly:s,required:o,multiple:n,onChange:l,value:d,options:c,registry:m}=e,u=a.getTemplate("BaseInputTemplate",m,c),[h,p]=r.useState(Array.isArray(d)?Ee(d):Ee([d])),g=r.useCallback((e=>{var t;e.target.files&&(t=e.target.files,Promise.all(Array.from(t).map(De))).then((e=>{const t=e.map((e=>e.dataURL));n?(p(h.concat(e[0])),l(d.concat(t[0]))):(p(e),l(t[0]))}))}),[n,d,h,l]);return t.jsxs("div",{children:[t.jsx(u,{...e,disabled:i||s,type:"file",required:!d&&o,onChangeOverride:g,value:"",accept:c.accept?String(c.accept):void 0}),t.jsx(Te,{filesInfo:h,registry:m,preview:c.filePreview})]})}function Ne({id:e,value:r}){return t.jsx("input",{type:"hidden",id:e,name:e,value:void 0===r?"":r})}function ke(e){const{options:r,registry:i}=e,s=a.getTemplate("BaseInputTemplate",i,r);return t.jsx(s,{type:"password",...e})}function Ae({options:e,value:i,required:s,disabled:o,readonly:n,autofocus:l=!1,onBlur:d,onFocus:c,onChange:m,id:u}){const{enumOptions:h,enumDisabled:p,inline:g,emptyValue:f}=e,y=r.useCallback((({target:{value:e}})=>d(u,a.enumOptionsValueForIndex(e,h,f))),[d,u]),S=r.useCallback((({target:{value:e}})=>c(u,a.enumOptionsValueForIndex(e,h,f))),[c,u]);return t.jsx("div",{className:"field-radio-group",id:u,children:Array.isArray(h)&&h.map(((e,r)=>{const d=a.enumOptionsIsSelected(e.value,i),c=Array.isArray(p)&&-1!==p.indexOf(e.value),h=o||c||n?"disabled":"",f=t.jsxs("span",{children:[t.jsx("input",{type:"radio",id:a.optionId(u,r),checked:d,name:u,required:s,value:String(r),disabled:o||c||n,autoFocus:l&&0===r,onChange:()=>m(e.value),onBlur:y,onFocus:S,"aria-describedby":a.ariaDescribedByIds(u)}),t.jsx("span",{children:e.label})]});return g?t.jsx("label",{className:`radio-inline ${h}`,children:f},r):t.jsx("div",{className:`radio ${h}`,children:t.jsx("label",{children:f})},r)}))})}function we(e){const{value:r,registry:{templates:{BaseInputTemplate:a}}}=e;return t.jsxs("div",{className:"field-range-wrapper",children:[t.jsx(a,{type:"range",...e}),t.jsx("span",{className:"range-view",children:r})]})}function Be(e,t){return t?Array.from(e.target.options).slice().filter((e=>e.selected)).map((e=>e.value)):e.target.value}function Ue({schema:e,id:i,options:s,value:o,required:n,disabled:l,readonly:d,multiple:c=!1,autofocus:m=!1,onChange:u,onBlur:h,onFocus:p,placeholder:g}){const{enumOptions:f,enumDisabled:y,emptyValue:S}=s,b=c?[]:"",x=r.useCallback((e=>{const t=Be(e,c);return p(i,a.enumOptionsValueForIndex(t,f,S))}),[p,i,e,c,s]),v=r.useCallback((e=>{const t=Be(e,c);return h(i,a.enumOptionsValueForIndex(t,f,S))}),[h,i,e,c,s]),C=r.useCallback((e=>{const t=Be(e,c);return u(a.enumOptionsValueForIndex(t,f,S))}),[u,e,c,s]),F=a.enumOptionsIndexForValue(o,f,c);return t.jsxs("select",{id:i,name:i,multiple:c,className:"form-control",value:void 0===F?b:F,required:n,disabled:l||d,autoFocus:m,onBlur:v,onFocus:x,onChange:C,"aria-describedby":a.ariaDescribedByIds(i),children:[!c&&void 0===e.default&&t.jsx("option",{value:"",children:g}),Array.isArray(f)&&f.map((({value:e,label:r},a)=>{const i=y&&-1!==y.indexOf(e);return t.jsx("option",{value:String(a),disabled:i,children:r},a)}))]})}function _e({id:e,options:i={},placeholder:s,value:o,required:n,disabled:l,readonly:d,autofocus:c=!1,onChange:m,onBlur:u,onFocus:h}){const p=r.useCallback((({target:{value:e}})=>m(""===e?i.emptyValue:e)),[m,i.emptyValue]),g=r.useCallback((({target:{value:t}})=>u(e,t)),[u,e]),f=r.useCallback((({target:{value:t}})=>h(e,t)),[e,h]);return t.jsx("textarea",{id:e,name:e,className:"form-control",value:o||"",placeholder:s,required:n,disabled:l,readOnly:d,autoFocus:c,rows:i.rows,onBlur:g,onFocus:f,onChange:p,"aria-describedby":a.ariaDescribedByIds(e)})}function Pe(e){const{options:r,registry:i}=e,s=a.getTemplate("BaseInputTemplate",i,r);return t.jsx(s,{...e})}function qe(e){const{onChange:i,options:s,registry:o}=e,n=a.getTemplate("BaseInputTemplate",o,s),l=r.useCallback((e=>i(e?`${e}:00`:void 0)),[i]);return t.jsx(n,{type:"time",...e,onChange:l})}function Re(e){const{options:r,registry:i}=e,s=a.getTemplate("BaseInputTemplate",i,r);return t.jsx(s,{type:"url",...e})}function Le(e){const{options:r,registry:i}=e,s=a.getTemplate("BaseInputTemplate",i,r);return t.jsx(s,{type:"number",...e})}function $e(){return{fields:{AnyOfField:w,ArrayField:k,BooleanField:A,NumberField:_,ObjectField:P,OneOfField:w,SchemaField:L,StringField:$,NullField:V},templates:{ArrayFieldDescriptionTemplate:K,ArrayFieldItemTemplate:M,ArrayFieldTemplate:W,ArrayFieldTitleTemplate:Y,ButtonTemplates:{SubmitButton:G,AddButton:ee,CopyButton:H,MoveDownButton:Q,MoveUpButton:X,RemoveButton:Z},BaseInputTemplate:z,DescriptionFieldTemplate:te,ErrorListTemplate:re,FieldTemplate:se,FieldErrorTemplate:oe,FieldHelpTemplate:ne,ObjectFieldTemplate:le,TitleFieldTemplate:ce,UnsupportedFieldTemplate:me,WrapIfAdditionalTemplate:ue},widgets:{AltDateWidget:fe,AltDateTimeWidget:ye,CheckboxWidget:Se,CheckboxesWidget:be,ColorWidget:xe,DateWidget:ve,DateTimeWidget:Ce,EmailWidget:Fe,FileWidget:Ie,HiddenWidget:Ne,PasswordWidget:ke,RadioWidget:Ae,RangeWidget:we,SelectWidget:Ue,TextWidget:Pe,TextareaWidget:_e,TimeWidget:qe,UpDownWidget:Le,URLWidget:Re},rootSchema:{},formContext:{},translateString:a.englishStringTranslator}}_e.defaultProps={autofocus:!1,options:{}};class Ve extends r.Component{constructor(e){if(super(e),this.formElement=void 0,this.getUsedFormData=(e,t)=>{if(0===t.length&&"object"!=typeof e)return e;const r=b.default(e,t);return Array.isArray(e)?Object.keys(r).map((e=>r[e])):r},this.getFieldNames=(e,t)=>{const r=(e,i=[],s=[[]])=>(Object.keys(e).forEach((o=>{if("object"==typeof e[o]){const t=s.map((e=>[...e,o]));e[o][a.RJSF_ADDITONAL_PROPERTIES_FLAG]&&""!==e[o][a.NAME_KEY]?i.push(e[o][a.NAME_KEY]):r(e[o],i,t)}else o===a.NAME_KEY&&""!==e[o]&&s.forEach((e=>{const r=y.default(t,e);("object"!=typeof r||S.default(r))&&i.push(e)}))})),i);return r(e)},this.onChange=(e,t,r)=>{const{extraErrors:i,omitExtraData:s,liveOmit:o,noValidate:n,liveValidate:l,onChange:d}=this.props,{schemaUtils:c,schema:m}=this.state;(a.isObject(e)||Array.isArray(e))&&(e=this.getStateFromProps(this.props,e).formData);const u=!n&&l;let h={formData:e,schema:m},p=e;if(!0===s&&!0===o){const t=c.retrieveSchema(m,e),r=c.toPathSchema(t,"",e),a=this.getFieldNames(r,e);p=this.getUsedFormData(e,a),h={formData:p}}if(u){const e=this.validate(p);let t=e.errors,r=e.errorSchema;const s=t,o=r;if(i){const s=a.validationDataMerge(e,i);r=s.errorSchema,t=s.errors}h={formData:p,errors:t,errorSchema:r,schemaValidationErrors:s,schemaValidationErrorSchema:o}}else if(!n&&t){const e=i?a.mergeObjects(t,i,"preventDuplicates"):t;h={formData:p,errorSchema:e,errors:a.toErrorList(e)}}this.setState(h,(()=>d&&d({...this.state,...h},r)))},this.reset=()=>{const{onChange:e}=this.props,t={formData:this.getStateFromProps(this.props,void 0).formData,errorSchema:{},errors:[],schemaValidationErrors:[],schemaValidationErrorSchema:{}};this.setState(t,(()=>e&&e({...this.state,...t})))},this.onBlur=(e,t)=>{const{onBlur:r}=this.props;r&&r(e,t)},this.onFocus=(e,t)=>{const{onFocus:r}=this.props;r&&r(e,t)},this.onSubmit=e=>{if(e.preventDefault(),e.target!==e.currentTarget)return;e.persist();const{omitExtraData:t,extraErrors:r,noValidate:i,onSubmit:s}=this.props;let{formData:o}=this.state;const{schema:n,schemaUtils:l}=this.state;if(!0===t){const e=l.retrieveSchema(n,o),t=l.toPathSchema(e,"",o),r=this.getFieldNames(t,o);o=this.getUsedFormData(o,r)}if(i||this.validateForm()){const t=r||{},i=r?a.toErrorList(r):[];this.setState({formData:o,errors:i,errorSchema:t,schemaValidationErrors:[],schemaValidationErrorSchema:{}},(()=>{s&&s({...this.state,formData:o,status:"submitted"},e)}))}},!e.validator)throw new Error("A validator is required for Form functionality to work");this.state=this.getStateFromProps(e,e.formData),this.props.onChange&&!a.deepEquals(this.state.formData,this.props.formData)&&this.props.onChange(this.state),this.formElement=r.createRef()}UNSAFE_componentWillReceiveProps(e){const t=this.getStateFromProps(e,e.formData);a.deepEquals(t.formData,e.formData)||a.deepEquals(t.formData,this.state.formData)||!e.onChange||e.onChange(t),this.setState(t)}getStateFromProps(e,t){const r=this.state||{},i="schema"in e?e.schema:this.props.schema,s=("uiSchema"in e?e.uiSchema:this.props.uiSchema)||{},o=void 0!==t,n=o&&!e.noValidate&&("liveValidate"in e?e.liveValidate:this.props.liveValidate),l=i,d="experimental_defaultFormStateBehavior"in e?e.experimental_defaultFormStateBehavior:this.props.experimental_defaultFormStateBehavior;let c=r.schemaUtils;c&&!c.doesSchemaUtilsDiffer(e.validator,l,d)||(c=a.createSchemaUtils(e.validator,l,d));const m=c.getDefaultFormState(i,t),u=c.retrieveSchema(i,m);let h,p,g=r.schemaValidationErrors,f=r.schemaValidationErrorSchema;if(n){const e=this.validate(m,i,c);h=e.errors,p=e.errorSchema,g=h,f=p}else{const t=e.noValidate?{errors:[],errorSchema:{}}:e.liveValidate?{errors:r.errors||[],errorSchema:r.errorSchema||{}}:{errors:r.schemaValidationErrors||[],errorSchema:r.schemaValidationErrorSchema||{}};h=t.errors,p=t.errorSchema}if(e.extraErrors){const t=a.validationDataMerge({errorSchema:p,errors:h},e.extraErrors);p=t.errorSchema,h=t.errors}const y=c.toIdSchema(u,s["ui:rootFieldId"],m,e.idPrefix,e.idSeparator);return{schemaUtils:c,schema:i,uiSchema:s,idSchema:y,formData:m,edit:o,errors:h,errorSchema:p,schemaValidationErrors:g,schemaValidationErrorSchema:f}}shouldComponentUpdate(e,t){return a.shouldRender(this,e,t)}validate(e,t=this.props.schema,r){const a=r||this.state.schemaUtils,{customValidate:i,transformErrors:s,uiSchema:o}=this.props,n=a.retrieveSchema(t,e);return a.getValidator().validateFormData(e,n,i,s,o)}renderErrors(e){const{errors:r,errorSchema:i,schema:s,uiSchema:o}=this.state,{formContext:n}=this.props,l=a.getUiOptions(o),d=a.getTemplate("ErrorListTemplate",e,l);return r&&r.length?t.jsx(d,{errors:r,errorSchema:i||{},schema:s,uiSchema:o,formContext:n,registry:e}):null}getRegistry(){var e;const{translateString:t,uiSchema:r={}}=this.props,{schemaUtils:i}=this.state,{fields:s,templates:o,widgets:n,formContext:l,translateString:d}=$e();return{fields:{...s,...this.props.fields},templates:{...o,...this.props.templates,ButtonTemplates:{...o.ButtonTemplates,...null===(e=this.props.templates)||void 0===e?void 0:e.ButtonTemplates}},widgets:{...n,...this.props.widgets},rootSchema:this.props.schema,formContext:this.props.formContext||l,schemaUtils:i,translateString:t||d,globalUiOptions:r[a.UI_GLOBAL_OPTIONS_KEY]}}submit(){this.formElement.current&&(this.formElement.current.dispatchEvent(new CustomEvent("submit",{cancelable:!0})),this.formElement.current.requestSubmit())}focusOnError(e){const{idPrefix:t="root",idSeparator:r="_"}=this.props,{property:a}=e,i=x.default(a);""===i[0]?i[0]=t:i.unshift(t);const s=i.join(r);let o=this.formElement.current.elements[s];o||(o=this.formElement.current.querySelector(`input[id^=${s}`)),o&&o.length&&(o=o[0]),o&&o.focus()}validateForm(){const{extraErrors:e,extraErrorsBlockSubmit:t,focusOnFirstError:r,onError:i}=this.props,{formData:s}=this.state,o=this.validate(s);let n=o.errors,l=o.errorSchema;const d=n,c=l;if(n.length>0||e&&t){if(e){const t=a.validationDataMerge(o,e);l=t.errorSchema,n=t.errors}return r&&("function"==typeof r?r(n[0]):this.focusOnError(n[0])),this.setState({errors:n,errorSchema:l,schemaValidationErrors:d,schemaValidationErrorSchema:c},(()=>{i?i(n):console.error("Form validation failed",n)})),!1}return!0}render(){const{children:e,id:r,idPrefix:i,idSeparator:s,className:o="",tagName:n,name:l,method:d,target:c,action:m,autoComplete:u,enctype:h,acceptcharset:p,noHtml5Validate:g=!1,disabled:f=!1,readonly:y=!1,formContext:S,showErrorList:b="top",_internalFormWrapper:x}=this.props,{schema:v,uiSchema:C,formData:F,errorSchema:j,idSchema:D}=this.state,O=this.getRegistry(),{SchemaField:T}=O.fields,{SubmitButton:E}=O.templates.ButtonTemplates,I=x?n:void 0,N=x||n||"form";let{[a.SUBMIT_BTN_OPTIONS_KEY]:k={}}=a.getUiOptions(C);f&&(k={...k,props:{...k.props,disabled:!0}});const A={[a.UI_OPTIONS_KEY]:{[a.SUBMIT_BTN_OPTIONS_KEY]:k}};return t.jsxs(N,{className:o||"rjsf",id:r,name:l,method:d,target:c,action:m,autoComplete:u,encType:h,acceptCharset:p,noValidate:g,onSubmit:this.onSubmit,as:I,ref:this.formElement,children:["top"===b&&this.renderErrors(O),t.jsx(T,{name:"",schema:v,uiSchema:C,errorSchema:j,idSchema:D,idPrefix:i,idSeparator:s,formContext:S,formData:F,onChange:this.onChange,onBlur:this.onBlur,onFocus:this.onFocus,registry:O,disabled:f,readonly:y}),e||t.jsx(E,{uiSchema:A,registry:O}),"bottom"===b&&this.renderErrors(O)]})}}e.default=Ve,e.getDefaultRegistry=$e,e.withTheme=function(e){return r.forwardRef((({fields:r,widgets:a,templates:i,...s},o)=>{var n,l;return r={...null==e?void 0:e.fields,...r},a={...null==e?void 0:e.widgets,...a},i={...null==e?void 0:e.templates,...i,ButtonTemplates:{...null==e||null===(n=e.templates)||void 0===n?void 0:n.ButtonTemplates,...null===(l=i)||void 0===l?void 0:l.ButtonTemplates}},t.jsx(Ve,{...e,...s,fields:r,widgets:a,templates:i,ref:o})}))},Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
|
-
//# sourceMappingURL=core.umd.production.min.js.map
|