@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
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("@rjsf/utils"),a=require("lodash/get"),i=require("lodash/isEmpty"),s=require("lodash/pick"),o=require("lodash/toPath"),n=require("lodash/cloneDeep"),l=require("lodash/isObject"),d=require("lodash/set"),c=require("nanoid"),m=require("lodash/omit"),u=require("lodash/unset"),h=require("markdown-to-jsx"),p=require("lodash/has");function g(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var f=g(a),y=g(i),S=g(s),b=g(o),x=g(n),v=g(l),C=g(d),F=g(m),j=g(u),D=g(h),O=g(p);function T(){return c.nanoid()}function E(e){return Array.isArray(e)?e.map((e=>({key:T(),item:e}))):[]}function I(e){return Array.isArray(e)?e.map((e=>e.item)):[]}class N extends t.Component{constructor(e){super(e),this._getNewFormDataRow=()=>{const{schema:e,registry:t}=this.props,{schemaUtils:a}=t;let i=e.items;return r.isFixedItems(e)&&r.allowAdditionalItems(e)&&(i=e.additionalItems),a.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:T(),item:x.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(I(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?C.default(s,[r],a[t]):r>e&&C.default(s,[r-1],a[t])}}const o=i.filter(((t,r)=>r!==e));this.setState({keyedFormData:o,updatedKeyedFormData:!0},(()=>r(I(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?C.default(s,[t],i[e]):a==t?C.default(s,[e],i[t]):C.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(I(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,a=E(t);this.state={keyedFormData:a,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]}))):E(r)}}get itemTitle(){const{schema:e,registry:t}=this.props,{translateString:a}=t;return f.default(e,[r.ITEMS_KEY,"title"],f.default(e,[r.ITEMS_KEY,"description"],a(r.TranslatableString.ArrayItemTitle)))}isItemRequired(e){return Array.isArray(e.type)?!e.type.includes("null"):"null"!==e.type}canAddItem(e){const{schema:t,uiSchema:a,registry:i}=this.props;let{addable:s}=r.getUiOptions(a,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:T(),item:this._getNewFormDataRow()},s=[...a];void 0!==t?s.splice(t,0,i):s.push(i),this.setState({keyedFormData:s,updatedKeyedFormData:!0},(()=>r(I(s))))}render(){const{schema:t,uiSchema:a,idSchema:i,registry:s}=this.props,{schemaUtils:o,translateString:n}=s;if(!(r.ITEMS_KEY in t)){const o=r.getUiOptions(a),l=r.getTemplate("UnsupportedFieldTemplate",s,o);return e.jsx(l,{schema:t,idSchema:i,reason:n(r.TranslatableString.MissingItems),registry:s})}return o.isMultiSelect(t)?this.renderMultiSelect():r.isCustomWidget(a)?this.renderCustomWidget():r.isFixedItems(t)?this.renderFixedArray():o.isFilesArray(t,a)?this.renderFiles():this.renderNormalArray()}renderNormalArray(){const{schema:t,uiSchema:a={},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===t.title?o:t.title,{schemaUtils:b,formContext:x}=m,C=r.getUiOptions(a),F=v.default(t.items)?t.items:{},j=b.retrieveSchema(F),D=I(this.state.keyedFormData),O=this.canAddItem(D),T={canAdd:O,items:y.map(((e,t)=>{const{key:r,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:r,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:a.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:a,onAddClick:this.onAddClick,readonly:l,required:c,schema:t,title:S,formContext:x,formData:D,rawErrors:f,registry:m},E=r.getTemplate("ArrayFieldTemplate",m,C);return e.jsx(E,{...T})}renderCustomWidget(){const{schema:t,idSchema:a,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}=r.getUiOptions(i,b),j=r.getWidget(t,v,y),D=C??t.title??f,O=x.getDisplayLabel(t,i,b);return e.jsx(j,{id:a.$id,name:f,multiple:!0,onChange:this.onSelectChange,onBlur:m,onFocus:u,options:F,schema:t,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:t,idSchema:a,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(t.items,s),v=r.optionsList(x),{widget:C="select",title:F,...j}=r.getUiOptions(i,b),D=r.getWidget(t,C,f),O=F??t.title??g,T=y.getDisplayLabel(t,i,b);return e.jsx(D,{id:a.$id,name:g,multiple:!0,onChange:this.onSelectChange,onBlur:m,onFocus:u,options:{...j,enumOptions:v},schema:t,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:t,uiSchema:a,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}=r.getUiOptions(a,y),C=r.getWidget(t,b,g),F=x??t.title??s,j=S.getDisplayLabel(t,a,y);return e.jsx(C,{options:v,id:i.$id,name:s,multiple:!0,onChange:this.onSelectChange,onBlur:c,onFocus:m,schema:t,uiSchema:a,value:h,disabled:o,readonly:n,required:d,registry:u,formContext:f,autofocus:l,rawErrors:p,label:F,hideLabel:!j})}renderFixedArray(){const{schema:t,uiSchema:a={},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=t.title||d,C=r.getUiOptions(a),{schemaUtils:F,formContext:j}=p,D=(v.default(t.items)?t.items:[]).map(((e,t)=>F.retrieveSchema(e,i[t]))),O=v.default(t.additionalItems)?F.retrieveSchema(t.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(((e,r)=>{const{key:i,item:c}=e,m=c,h=r>=D.length,p=h&&v.default(t.additionalItems)?F.retrieveSchema(t.additionalItems,m):D[r],x=F.toIdSchema(p,l.$id+n+r,m,o,n),C=h?a.additionalItems||{}:Array.isArray(a.items)?a.items[r]:a.items||{};return this.renderArrayFieldItem({key:i,index:r,name:d&&`${d}-${r}`,canAdd:T,canRemove:h,canMoveUp:r>=D.length+1,canMoveDown:h&&r<b.length-1,itemSchema:p,itemData:m,itemUiSchema:C,itemIdSchema:x,itemErrorSchema:s?s[r]:void 0,autofocus:u&&0===r,onBlur:g,onFocus:f,rawErrors:y,totalItems:S.length})})),onAddClick:this.onAddClick,readonly:m,required:h,registry:p,schema:t,uiSchema:a,title:x,formContext:j,rawErrors:y},I=r.getTemplate("ArrayFieldTemplate",p,C);return e.jsx(I,{...E})}renderArrayFieldItem(t){const{key:a,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}=t,{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,A=E||I,{orderable:k=!0,removable:w=!0,copyable:B=!1}=r.getUiOptions(D,N),U={moveUp:k&&l,moveDown:k&&d,copy:B&&o,remove:w&&n,toolbar:!1};return U.toolbar=Object.keys(U).some((e=>U[e])),{children:e.jsx(A,{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:a,onAddIndexClick:this.onAddIndexClick,onCopyIndexClick:this.onCopyIndexClick,onDropIndexClick:this.onDropIndexClick,onReorderClick:this.onReorderClick,readonly:j,registry:O,schema:c,uiSchema:u}}}function A(t){const{schema:a,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}=t,{title:y}=a,{widgets:S,formContext:b,translateString:x,globalUiOptions:C}=l,{widget:F="checkbox",title:j,label:D=!0,...O}=r.getUiOptions(s,C),T=r.getWidget(a,F,S),E=x(r.TranslatableString.YesLabel),I=x(r.TranslatableString.NoLabel);let N;const A=j??y??i;if(Array.isArray(a.oneOf))N=r.optionsList({oneOf:a.oneOf.map((e=>{if(v.default(e))return{...e,title:e.title||(!0===e.const?E:I)}})).filter((e=>e))});else{const e=a,t=a.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}]:r.optionsList({enum:t,enumNames:e.enumNames})}return e.jsx(T,{options:{...O,enumOptions:N},schema:a,uiSchema:s,id:o.$id,name:i,onChange:h,onFocus:p,onBlur:g,label:A,hideLabel:!D,value:n,required:d,disabled:c,readonly:m,registry:l,formContext:b,autofocus:u,rawErrors:f})}class k extends t.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:a,options:i,idSchema:s}=this.props,{selectedOption:o}=this.state;let n=this.state;if(!r.deepEquals(e.options,i)){const{registry:{schemaUtils:e}}=this.props;n={selectedOption:o,retrievedOptions:i.map((t=>e.retrieveSchema(t,a)))}}if(!r.deepEquals(a,e.formData)&&s.$id===e.idSchema.$id){const{retrievedOptions:e}=n,r=this.getMatchingOption(o,a,e);t&&r!==o&&(n={selectedOption:r,retrievedOptions:e})}n!==this.state&&this.setState(n)}getMatchingOption(e,t,a){const{schema:i,registry:{schemaUtils:s}}=this.props,o=r.getDiscriminatorFieldFromSchema(i);return s.getClosestMatchingOption(t,a,e,o)}getFieldId(){const{idSchema:e,schema:t}=this.props;return`${e.$id}${t.oneOf?"__oneof_select":"__anyof_select"}`}render(){const{name:t,disabled:a=!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:S}=u,{selectedOption:b,retrievedOptions:x}=this.state,{widget:v="select",placeholder:C,autofocus:D,autocomplete:O,title:T=d.title,...E}=r.getUiOptions(c,p),I=r.getWidget({type:"number"},v,m),N=f.default(i,r.ERRORS_KEY,[]),A=F.default(i,[r.ERRORS_KEY]),k=g.getDisplayLabel(d,c,p),w=b>=0&&x[b]||null;let B;if(w){const{oneOf:e,anyOf:t,...a}=d;j.default(a,r.ADDITIONAL_PROPERTY_FLAG),B=y.default(a)?w:r.mergeSchemas(a,w)}const U=T?r.TranslatableString.TitleOptionPrefix:r.TranslatableString.OptionPrefix,_=T?[T]:[],q=x.map(((e,t)=>({label:e.title||h(U,_.concat(String(t+1))),value:t})));return e.jsxs("div",{className:"panel panel-default panel-body",children:[e.jsx("div",{className:"form-group",children:e.jsx(I,{id:this.getFieldId(),name:`${t}${d.oneOf?"__oneof_select":"__anyof_select"}`,schema:{type:"number",default:0},onChange:this.onOptionChange,onBlur:o,onFocus:n,disabled:a||y.default(q),multiple:!1,rawErrors:N,errorSchema:A,value:b>=0?b:void 0,options:{enumOptions:q,...E},registry:l,formContext:s,placeholder:C,autocomplete:O,autofocus:D,label:T??t,hideLabel:!k})}),null!==w&&e.jsx(S,{...this.props,schema:B})]})}}const w=/\.([0-9]*0)*$/,B=/[0.]0*$/;function U(a){const{registry:i,onChange:s,formData:o,value:n}=a,[l,d]=t.useState(n),{StringField:c}=i.fields;let m=o;const u=t.useCallback((e=>{d(e),"."===`${e}`.charAt(0)&&(e=`0${e}`);const t="string"==typeof e&&e.match(w)?r.asNumber(e.replace(B,"")):r.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 e.jsx(c,{...a,formData:m,onChange:u})}class _ extends t.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};j.default(i,e),r(i)},this.getAvailableKey=(e,t)=>{const{uiSchema:a,registry:i}=this.props,{duplicateKeySuffixSeparator:s="-"}=r.getUiOptions(a,i.globalUiOptions);let o=0,n=e;for(;O.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:a,registry:i}=this.props,s={...t};let o;if(v.default(e.additionalProperties)){o=e.additionalProperties.type;let a=e.additionalProperties;if(r.REF_KEY in a){const{schemaUtils:e}=i;a=e.retrieveSchema({$ref:a[r.REF_KEY]},t),o=a.type}o||!(r.ANY_OF_KEY in a)&&!(r.ONE_OF_KEY in a)||(o="object")}const n=this.getAvailableKey("newKey",s);C.default(s,n,this.getDefaultValue(o)),a(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(r.TranslatableString.NewStringDefault)}}render(){const{schema:t,uiSchema:a={},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:y}=this.props,{fields:S,formContext:b,schemaUtils:x,translateString:v,globalUiOptions:C}=y,{SchemaField:F}=S,j=x.retrieveSchema(t,i),T=r.getUiOptions(a,C),{properties:E={}}=j,I=T.title??j.title??n,N=T.description??j.description;let A;try{const e=Object.keys(E);A=r.orderProperties(e,T.order)}catch(t){return e.jsxs("div",{children:[e.jsx("p",{className:"config-error",style:{color:"red"},children:e.jsx(D.default,{children:v(r.TranslatableString.InvalidObjectField,[n||"root",t.message])})}),e.jsx("pre",{children:JSON.stringify(j)})]})}const k=r.getTemplate("ObjectFieldTemplate",y,T),w={title:!1===T.label?"":I,description:!1===T.label?void 0:N,properties:A.map((t=>{const n=O.default(j,[r.PROPERTIES_KEY,t,r.ADDITIONAL_PROPERTY_FLAG]),S=n?a.additionalProperties:a[t],x="hidden"===r.getUiOptions(S).widget,v=f.default(o,[t],{});return{content:e.jsx(F,{name:t,required:this.isRequired(t),schema:f.default(j,[r.PROPERTIES_KEY,t],{}),uiSchema:S,errorSchema:f.default(s,t),idSchema:v,idPrefix:u,idSeparator:h,formData:f.default(i,t),formContext:b,wasPropertyKeyModified:this.state.wasPropertyKeyModified,onKeyChange:this.onKeyChange(t),onChange:this.onPropertyChange(t,n),onBlur:p,onFocus:g,registry:y,disabled:d,readonly:c,hideError:m,onDropPropertyClick:this.onDropPropertyClick},t),name:t,readonly:c,disabled:d,required:l,hidden:x}})),readonly:c,disabled:d,required:l,idSchema:o,uiSchema:a,errorSchema:s,schema:j,formData:i,formContext:b,registry:y};return e.jsx(k,{...w,onAddClick:this.handleAddClick})}}const q={array:"ArrayField",boolean:"BooleanField",integer:"NumberField",number:"NumberField",object:"ObjectField",string:"StringField",null:"NullField"};function P(a){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}=a,{formContext:S,schemaUtils:b,globalUiOptions:x}=f,C=r.getUiOptions(o,x),j=r.getTemplate("FieldTemplate",f,C),O=r.getTemplate("DescriptionFieldTemplate",f,C),T=r.getTemplate("FieldHelpTemplate",f,C),E=r.getTemplate("FieldErrorTemplate",f,C),I=b.retrieveSchema(i,n),N=s[r.ID_KEY],A=r.mergeObjects(b.toIdSchema(I,N,n,d,c),s),k=t.useCallback(((e,t,r)=>u(e,t,r||N)),[N,u]),w=function(t,a,i,s){const o=a.field,{fields:n,translateString:l}=s;if("function"==typeof o)return o;if("string"==typeof o&&o in n)return n[o];const d=r.getSchemaType(t),c=Array.isArray(d)?d[0]:d||"",m=t.$id;let u=q[c];return m&&m in n&&(u=m),u||!t.anyOf&&!t.oneOf?u in n?n[u]:()=>{const o=r.getTemplate("UnsupportedFieldTemplate",s,a);return e.jsx(o,{schema:t,idSchema:i,reason:l(r.TranslatableString.UnknownFieldType,[String(t.type)]),registry:s})}:()=>null}(I,C,A,f),B=Boolean(a.disabled||C.disabled),U=Boolean(a.readonly||C.readonly||a.schema.readOnly||I.readOnly),_=C.hideError,P=void 0===_?a.hideError:Boolean(_),R=Boolean(a.autofocus||C.autofocus);if(0===Object.keys(I).length)return null;const L=b.getDisplayLabel(I,o,x),{__errors:$,...V}=l||{},K=F.default(o,["ui:classNames","classNames","ui:style"]);r.UI_OPTIONS_KEY in K&&(K[r.UI_OPTIONS_KEY]=F.default(K[r.UI_OPTIONS_KEY],["classNames","style"]));const M=e.jsx(w,{...a,onChange:k,idSchema:A,schema:I,uiSchema:K,disabled:B,readonly:U,hideError:P,autofocus:R,errorSchema:V,formContext:S,rawErrors:$}),W=A[r.ID_KEY];let Y;Y=y||r.ADDITIONAL_PROPERTY_FLAG in I?m:C.title||a.schema.title||I.title||m;const z=C.description||a.schema.description||I.description||"",G=C.enableMarkdownInDescription?e.jsx(D.default,{children:z}):z,H=C.help,J="hidden"===C.widget,Q=["form-group","field",`field-${r.getSchemaType(I)}`];!P&&$&&$.length>0&&Q.push("field-error has-error has-danger"),null!=o&&o.classNames&&Q.push(o.classNames),C.classNames&&Q.push(C.classNames);const X=e.jsx(T,{help:H,idSchema:A,schema:I,uiSchema:o,hasErrors:!P&&$&&$.length>0,registry:f}),Z=P||I.anyOf||I.oneOf?void 0:e.jsx(E,{errors:$,errorSchema:l,idSchema:A,schema:I,uiSchema:o,registry:f}),ee={description:e.jsx(O,{id:r.descriptionId(W),description:G,schema:I,uiSchema:o,registry:f}),rawDescription:z,help:X,rawHelp:"string"==typeof H?H:void 0,errors:Z,rawErrors:P?void 0:$,id:W,label:Y,hidden:J,onChange:u,onKeyChange:h,onDropPropertyClick:p,required:g,disabled:B,readonly:U,hideError:P,displayLabel:L,classNames:Q.join(" ").trim(),style:C.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 e.jsx(j,{...ee,children:e.jsxs(e.Fragment,{children:[M,I.anyOf&&!ae&&!b.isSelect(I)&&e.jsx(te,{name:m,disabled:B,readonly:U,hideError:P,errorSchema:l,formData:n,formContext:S,idPrefix:d,idSchema:A,idSeparator:c,onBlur:a.onBlur,onChange:a.onChange,onFocus:a.onFocus,options:I.anyOf.map((e=>b.retrieveSchema(v.default(e)?e:{},n))),registry:f,schema:I,uiSchema:o}),I.oneOf&&!ae&&!b.isSelect(I)&&e.jsx(re,{name:m,disabled:B,readonly:U,hideError:P,errorSchema:l,formData:n,formContext:S,idPrefix:d,idSchema:A,idSeparator:c,onBlur:a.onBlur,onChange:a.onChange,onFocus:a.onFocus,options:I.oneOf.map((e=>b.retrieveSchema(v.default(e)?e:{},n))),registry:f,schema:I,uiSchema:o})]})})}class R extends t.Component{shouldComponentUpdate(e){return!r.deepEquals(this.props,e)}render(){return e.jsx(P,{...this.props})}}function L(t){const{schema:a,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}=t,{title:y,format:S}=a,{widgets:b,formContext:x,schemaUtils:v,globalUiOptions:C}=g,F=v.isSelect(a)?r.optionsList(a):void 0;let j=F?"select":"text";S&&r.hasWidget(a,S,b)&&(j=S);const{widget:D=j,placeholder:O="",title:T,...E}=r.getUiOptions(s),I=v.getDisplayLabel(a,s,C),N=T??y??i,A=r.getWidget(a,D,b);return e.jsx(A,{options:{...E,enumOptions:F},schema:a,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 $(e){const{formData:r,onChange:a}=e;return t.useEffect((()=>{void 0===r&&a(null)}),[r,a]),null}function V(t){const{idSchema:a,description:i,registry:s,schema:o,uiSchema:n}=t,l=r.getUiOptions(n,s.globalUiOptions),{label:d=!0}=l;if(!i||!d)return null;const c=r.getTemplate("DescriptionFieldTemplate",s,l);return e.jsx(c,{id:r.descriptionId(a),description:i,schema:o,uiSchema:n,registry:s})}function K(t){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}=t,{CopyButton:y,MoveDownButton:S,MoveUpButton:b,RemoveButton:x}=g.templates.ButtonTemplates,v={flex:1,paddingLeft:6,paddingRight:6,fontWeight:"bold"};return e.jsxs("div",{className:a,children:[e.jsx("div",{className:s?"col-xs-9":"col-xs-12",children:r}),s&&e.jsx("div",{className:"col-xs-3 array-item-toolbox",children:e.jsxs("div",{className:"btn-group",style:{display:"flex",justifyContent:"space-around"},children:[(n||o)&&e.jsx(b,{style:v,disabled:i||p||!n,onClick:h(c,c-1),uiSchema:f,registry:g}),(n||o)&&e.jsx(S,{style:v,disabled:i||p||!o,onClick:h(c,c+1),uiSchema:f,registry:g}),d&&e.jsx(y,{style:v,disabled:i||p,onClick:m(c),uiSchema:f,registry:g}),l&&e.jsx(x,{style:v,disabled:i||p,onClick:u(c),uiSchema:f,registry:g})]})})]})}function M(t){const{canAdd:a,className:i,disabled:s,idSchema:o,uiSchema:n,items:l,onAddClick:d,readonly:c,registry:m,required:u,schema:h,title:p}=t,g=r.getUiOptions(n),f=r.getTemplate("ArrayFieldDescriptionTemplate",m,g),y=r.getTemplate("ArrayFieldItemTemplate",m,g),S=r.getTemplate("ArrayFieldTitleTemplate",m,g),{ButtonTemplates:{AddButton:b}}=m.templates;return e.jsxs("fieldset",{className:i,id:o.$id,children:[e.jsx(S,{idSchema:o,title:g.title||p,required:u,schema:h,uiSchema:n,registry:m}),e.jsx(f,{idSchema:o,description:g.description||h.description,schema:h,uiSchema:n,registry:m}),e.jsx("div",{className:"row array-item-list",children:l&&l.map((({key:t,...r})=>e.jsx(y,{...r},t)))}),a&&e.jsx(b,{className:"array-item-add",onClick:d,disabled:s||c,uiSchema:n,registry:m})]})}function W(t){const{idSchema:a,title:i,schema:s,uiSchema:o,required:n,registry:l}=t,d=r.getUiOptions(o,l.globalUiOptions),{label:c=!0}=d;if(!i||!c)return null;const m=r.getTemplate("TitleFieldTemplate",l,d);return e.jsx(m,{id:r.titleId(a),title:i,required:n,schema:s,uiSchema:o,registry:l})}function Y(a){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}=a;if(!i)throw console.log("No id for",a),new Error(`no id for props ${JSON.stringify(a)}`);const j={...F,...r.getInputProps(g,x,p)};let D;D="number"===j.type||"integer"===j.type?o||0===o?o:"":null==o?"":o;const O=t.useCallback((({target:{value:e}})=>u(""===e?p.emptyValue:e)),[u,p]),T=t.useCallback((({target:{value:e}})=>c(i,e)),[c,i]),E=t.useCallback((({target:{value:e}})=>m(i,e)),[m,i]);return e.jsxs(e.Fragment,{children:[e.jsx("input",{id:i,name:i,className:"form-control",readOnly:n,disabled:l,autoFocus:d,value:D,...j,list:g.examples?r.examplesId(i):void 0,onChange:h||O,onBlur:T,onFocus:E,"aria-describedby":r.ariaDescribedByIds(i,!!g.examples)}),Array.isArray(g.examples)&&e.jsx("datalist",{id:r.examplesId(i),children:g.examples.concat(g.default&&!g.examples.includes(g.default)?[g.default]:[]).map((t=>e.jsx("option",{value:t},t)))},`datalist_${i}`)]})}function z({uiSchema:t}){const{submitText:a,norender:i,props:s={}}=r.getSubmitButtonOptions(t);return i?null:e.jsx("div",{children:e.jsx("button",{type:"submit",...s,className:`btn btn-info ${s.className||""}`,children:a})})}function G(t){const{iconType:r="default",icon:a,className:i,uiSchema:s,registry:o,...n}=t;return e.jsx("button",{type:"button",className:`btn btn-${r} ${i}`,...n,children:e.jsx("i",{className:`glyphicon glyphicon-${a}`})})}function H(t){const{registry:{translateString:a}}=t;return e.jsx(G,{title:a(r.TranslatableString.CopyButton),className:"array-item-copy",...t,icon:"copy"})}function J(t){const{registry:{translateString:a}}=t;return e.jsx(G,{title:a(r.TranslatableString.MoveDownButton),className:"array-item-move-down",...t,icon:"arrow-down"})}function Q(t){const{registry:{translateString:a}}=t;return e.jsx(G,{title:a(r.TranslatableString.MoveUpButton),className:"array-item-move-up",...t,icon:"arrow-up"})}function X(t){const{registry:{translateString:a}}=t;return e.jsx(G,{title:a(r.TranslatableString.RemoveButton),className:"array-item-remove",...t,iconType:"danger",icon:"remove"})}function Z({className:t,onClick:a,disabled:i,registry:s}){const{translateString:o}=s;return e.jsx("div",{className:"row",children:e.jsx("p",{className:`col-xs-3 col-xs-offset-9 text-right ${t}`,children:e.jsx(G,{iconType:"info",icon:"plus",className:"btn-add col-xs-12",title:o(r.TranslatableString.AddButton),onClick:a,disabled:i,registry:s})})})}function ee(t){const{id:r,description:a}=t;return a?e.jsx("string"==typeof a?"p":"div",{id:r,className:"field-description",children:a}):null}function te({errors:t,registry:a}){const{translateString:i}=a;return e.jsxs("div",{className:"panel panel-danger errors",children:[e.jsx("div",{className:"panel-heading",children:e.jsx("h3",{className:"panel-title",children:i(r.TranslatableString.ErrorsLabel)})}),e.jsx("ul",{className:"list-group",children:t.map(((t,r)=>e.jsx("li",{className:"list-group-item text-danger",children:t.stack},r)))})]})}const re="*";function ae(t){const{label:r,required:a,id:i}=t;return r?e.jsxs("label",{className:"control-label",htmlFor:i,children:[r,a&&e.jsx("span",{className:"required",children:re})]}):null}function ie(t){const{id:a,label:i,children:s,errors:o,help:n,description:l,hidden:d,required:c,displayLabel:m,registry:u,uiSchema:h}=t,p=r.getUiOptions(h),g=r.getTemplate("WrapIfAdditionalTemplate",u,p);return d?e.jsx("div",{className:"hidden",children:s}):e.jsxs(g,{...t,children:[m&&e.jsx(ae,{label:i,required:c,id:a}),m&&l?l:null,s,o,n]})}function se(t){const{errors:a=[],idSchema:i}=t;if(0===a.length)return null;const s=r.errorId(i);return e.jsx("div",{children:e.jsx("ul",{id:s,className:"error-detail bs-callout bs-callout-info",children:a.filter((e=>!!e)).map(((t,r)=>e.jsx("li",{className:"text-danger",children:t},r)))})})}function oe(t){const{idSchema:a,help:i}=t;if(!i)return null;const s=r.helpId(a);return e.jsx("string"==typeof i?"p":"div",{id:s,className:"help-block",children:i})}function ne(t){const{description:a,disabled:i,formData:s,idSchema:o,onAddClick:n,properties:l,readonly:d,registry:c,required:m,schema:u,title:h,uiSchema:p}=t,g=r.getUiOptions(p),f=r.getTemplate("TitleFieldTemplate",c,g),y=r.getTemplate("DescriptionFieldTemplate",c,g),{ButtonTemplates:{AddButton:S}}=c.templates;return e.jsxs("fieldset",{id:o.$id,children:[h&&e.jsx(f,{id:r.titleId(o),title:h,required:m,schema:u,uiSchema:p,registry:c}),a&&e.jsx(y,{id:r.descriptionId(o),description:a,schema:u,uiSchema:p,registry:c}),l.map((e=>e.content)),r.canExpand(u,p,s)&&e.jsx(S,{className:"object-property-expand",onClick:n(u),disabled:i||d,uiSchema:p,registry:c})]})}const le="*";function de(t){const{id:r,title:a,required:i}=t;return e.jsxs("legend",{id:r,children:[a,i&&e.jsx("span",{className:"required",children:le})]})}function ce(t){const{schema:a,idSchema:i,reason:s,registry:o}=t,{translateString:n}=o;let l=r.TranslatableString.UnsupportedField;const d=[];return i&&i.$id&&(l=r.TranslatableString.UnsupportedFieldWithId,d.push(i.$id)),s&&(l=l===r.TranslatableString.UnsupportedField?r.TranslatableString.UnsupportedFieldWithReason:r.TranslatableString.UnsupportedFieldWithIdAndReason,d.push(s)),e.jsxs("div",{className:"unsupported-field",children:[e.jsx("p",{children:e.jsx(D.default,{children:n(l,d)})}),a&&e.jsx("pre",{children:JSON.stringify(a,null,2)})]})}function me(t){const{id:a,classNames:i,style:s,disabled:o,label:n,onKeyChange:l,onDropPropertyClick:d,readonly:c,required:m,schema:u,children:h,uiSchema:p,registry:g}=t,{templates:f,translateString:y}=g,{RemoveButton:S}=f.ButtonTemplates,b=y(r.TranslatableString.KeyLabel,[n]);return e.jsx("div",r.ADDITIONAL_PROPERTY_FLAG in u?{className:i,style:s,children:e.jsxs("div",{className:"row",children:[e.jsx("div",{className:"col-xs-5 form-additional",children:e.jsxs("div",{className:"form-group",children:[e.jsx(ae,{label:b,required:m,id:`${a}-key`}),e.jsx("input",{className:"form-control",type:"text",id:`${a}-key`,onBlur:e=>l(e.target.value),defaultValue:n})]})}),e.jsx("div",{className:"form-additional form-group col-xs-5",children:h}),e.jsx("div",{className:"col-xs-2",children:e.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 ue(e,t){const a=[];for(let i=e;i<=t;i++)a.push({value:i,label:r.pad(i,2)});return a}function he(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 pe({type:t,range:a,value:i,select:s,rootId:o,name:n,disabled:l,readonly:d,autofocus:c,registry:m,onBlur:u,onFocus:h}){const p=o+"_"+t,{SelectWidget:g}=m.widgets;return e.jsx(g,{schema:{type:"integer"},id:p,name:n,className:"form-control",options:{enumOptions:ue(a[0],a[1])},placeholder:t,value:i,disabled:l,readonly:d,autofocus:c,onChange:e=>s(t,e),onBlur:u,onFocus:h,registry:m,label:"","aria-describedby":r.ariaDescribedByIds(o)})}function ge({time:a=!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]=t.useState(p),[S,b]=t.useReducer(((e,t)=>({...e,...t})),r.parseDateString(p,a));t.useEffect((()=>{const e=r.toDateString(S,a);!function(e){return Object.values(e).every((e=>-1!==e))}(S)||e===p?f!==p&&(y(p),b(r.parseDateString(p,a))):h(e)}),[a,p,h,S,f]);const x=t.useCallback(((e,t)=>{b({[e]:t})}),[]),v=t.useCallback((e=>{if(e.preventDefault(),i||s)return;const t=r.parseDateString((new Date).toJSON(),a);h(r.toDateString(t,a))}),[i,s,a]),C=t.useCallback((e=>{e.preventDefault(),i||s||h(void 0)}),[i,s,h]);return e.jsxs("ul",{className:"list-inline",children:[he(S,a,n.yearsRange).map(((t,r)=>e.jsx("li",{className:"list-inline-item",children:e.jsx(pe,{rootId:l,name:d,select:x,...t,disabled:i,readonly:s,registry:c,onBlur:m,onFocus:u,autofocus:o&&0===r})},r))),("undefined"===n.hideNowButton||!n.hideNowButton)&&e.jsx("li",{className:"list-inline-item",children:e.jsx("a",{href:"#",className:"btn btn-info btn-now",onClick:v,children:g(r.TranslatableString.NowLabel)})}),("undefined"===n.hideClearButton||!n.hideClearButton)&&e.jsx("li",{className:"list-inline-item",children:e.jsx("a",{href:"#",className:"btn btn-warning btn-clear",onClick:C,children:g(r.TranslatableString.ClearLabel)})})]})}function fe({time:t=!0,...r}){const{AltDateWidget:a}=r.registry.widgets;return e.jsx(a,{time:t,...r})}function ye({schema:a,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=r.getTemplate("DescriptionFieldTemplate",f,s),S=r.schemaRequiresTrueValue(a),b=t.useCallback((e=>g(e.target.checked)),[g]),x=t.useCallback((e=>h(o,e.target.checked)),[h,o]),v=t.useCallback((e=>p(o,e.target.checked)),[p,o]),C=s.description??a.description;return e.jsxs("div",{className:"checkbox "+(l||d?"disabled":""),children:[!m&&!!C&&e.jsx(y,{id:r.descriptionId(o),description:C,schema:a,uiSchema:i,registry:f}),e.jsxs("label",{children:[e.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":r.ariaDescribedByIds(o)}),r.labelValue(e.jsx("span",{children:c}),m)]})]})}function Se({id:a,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=t.useCallback((({target:{value:e}})=>h(a,r.enumOptionsValueForIndex(e,o,l))),[h,a]),y=t.useCallback((({target:{value:e}})=>p(a,r.enumOptionsValueForIndex(e,o,l))),[p,a]);return e.jsx("div",{className:"checkboxes",id:a,children:Array.isArray(o)&&o.map(((t,l)=>{const d=r.enumOptionsIsSelected(t.value,g),h=Array.isArray(n)&&-1!==n.indexOf(t.value),p=i||h||m?"disabled":"",S=e.jsxs("span",{children:[e.jsx("input",{type:"checkbox",id:r.optionId(a,l),name:a,checked:d,value:String(l),disabled:i||h||m,autoFocus:c&&0===l,onChange:e=>{u(e.target.checked?r.enumOptionsSelectValue(l,g,o):r.enumOptionsDeselectValue(l,g,o))},onBlur:f,onFocus:y,"aria-describedby":r.ariaDescribedByIds(a)}),e.jsx("span",{children:t.label})]});return s?e.jsx("label",{className:`checkbox-inline ${p}`,children:S},l):e.jsx("div",{className:`checkbox ${p}`,children:e.jsx("label",{children:S})},l)}))})}function be(t){const{disabled:a,readonly:i,options:s,registry:o}=t,n=r.getTemplate("BaseInputTemplate",o,s);return e.jsx(n,{type:"color",...t,disabled:a||i})}function xe(a){const{onChange:i,options:s,registry:o}=a,n=r.getTemplate("BaseInputTemplate",o,s),l=t.useCallback((e=>i(e||void 0)),[i]);return e.jsx(n,{type:"date",...a,onChange:l})}function ve(t){const{onChange:a,value:i,options:s,registry:o}=t,n=r.getTemplate("BaseInputTemplate",o,s);return e.jsx(n,{type:"datetime-local",...t,value:r.utcToLocal(i),onChange:e=>a(r.localToUTC(e))})}function Ce(t){const{options:a,registry:i}=t,s=r.getTemplate("BaseInputTemplate",i,a);return e.jsx(s,{type:"email",...t})}function Fe(e,t){return null===e?null:e.replace(";base64",`;name=${encodeURIComponent(t)};base64`)}function je(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:Fe(e.target.result,t),name:t,size:r,type:a}):i({dataURL:null,name:t,size:r,type:a})},o.readAsDataURL(e)}))}function De({fileInfo:t,registry:a}){const{translateString:i}=a,{dataURL:s,type:o,name:n}=t;return s?-1!==o.indexOf("image")?e.jsx("img",{src:s,style:{maxWidth:"100%"},className:"file-preview"}):e.jsxs(e.Fragment,{children:[" ",e.jsx("a",{download:`preview-${n}`,href:s,className:"file-download",children:i(r.TranslatableString.PreviewLabel)})]}):null}function Oe({filesInfo:t,registry:a,preview:i}){if(0===t.length)return null;const{translateString:s}=a;return e.jsx("ul",{className:"file-info",children:t.map(((t,o)=>{const{name:n,size:l,type:d}=t;return e.jsxs("li",{children:[e.jsx(D.default,{children:s(r.TranslatableString.FilesInfo,[n,d,String(l)])}),i&&e.jsx(De,{fileInfo:t,registry:a})]},o)}))})}function Te(e){return e.filter((e=>e)).map((e=>{const{blob:t,name:a}=r.dataURItoBlob(e);return{dataURL:e,name:a,size:t.size,type:t.type}}))}function Ee(a){const{disabled:i,readonly:s,required:o,multiple:n,onChange:l,value:d,options:c,registry:m}=a,u=r.getTemplate("BaseInputTemplate",m,c),[h,p]=t.useState(Array.isArray(d)?Te(d):Te([d])),g=t.useCallback((e=>{var t;e.target.files&&(t=e.target.files,Promise.all(Array.from(t).map(je))).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 e.jsxs("div",{children:[e.jsx(u,{...a,disabled:i||s,type:"file",required:!d&&o,onChangeOverride:g,value:"",accept:c.accept?String(c.accept):void 0}),e.jsx(Oe,{filesInfo:h,registry:m,preview:c.filePreview})]})}function Ie({id:t,value:r}){return e.jsx("input",{type:"hidden",id:t,name:t,value:void 0===r?"":r})}function Ne(t){const{options:a,registry:i}=t,s=r.getTemplate("BaseInputTemplate",i,a);return e.jsx(s,{type:"password",...t})}function Ae({options:a,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}=a,y=t.useCallback((({target:{value:e}})=>d(u,r.enumOptionsValueForIndex(e,h,f))),[d,u]),S=t.useCallback((({target:{value:e}})=>c(u,r.enumOptionsValueForIndex(e,h,f))),[c,u]);return e.jsx("div",{className:"field-radio-group",id:u,children:Array.isArray(h)&&h.map(((t,a)=>{const d=r.enumOptionsIsSelected(t.value,i),c=Array.isArray(p)&&-1!==p.indexOf(t.value),h=o||c||n?"disabled":"",f=e.jsxs("span",{children:[e.jsx("input",{type:"radio",id:r.optionId(u,a),checked:d,name:u,required:s,value:String(a),disabled:o||c||n,autoFocus:l&&0===a,onChange:()=>m(t.value),onBlur:y,onFocus:S,"aria-describedby":r.ariaDescribedByIds(u)}),e.jsx("span",{children:t.label})]});return g?e.jsx("label",{className:`radio-inline ${h}`,children:f},a):e.jsx("div",{className:`radio ${h}`,children:e.jsx("label",{children:f})},a)}))})}function ke(t){const{value:r,registry:{templates:{BaseInputTemplate:a}}}=t;return e.jsxs("div",{className:"field-range-wrapper",children:[e.jsx(a,{type:"range",...t}),e.jsx("span",{className:"range-view",children:r})]})}function we(e,t){return t?Array.from(e.target.options).slice().filter((e=>e.selected)).map((e=>e.value)):e.target.value}function Be({schema:a,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=t.useCallback((e=>{const t=we(e,c);return p(i,r.enumOptionsValueForIndex(t,f,S))}),[p,i,a,c,s]),v=t.useCallback((e=>{const t=we(e,c);return h(i,r.enumOptionsValueForIndex(t,f,S))}),[h,i,a,c,s]),C=t.useCallback((e=>{const t=we(e,c);return u(r.enumOptionsValueForIndex(t,f,S))}),[u,a,c,s]),F=r.enumOptionsIndexForValue(o,f,c);return e.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":r.ariaDescribedByIds(i),children:[!c&&void 0===a.default&&e.jsx("option",{value:"",children:g}),Array.isArray(f)&&f.map((({value:t,label:r},a)=>{const i=y&&-1!==y.indexOf(t);return e.jsx("option",{value:String(a),disabled:i,children:r},a)}))]})}function Ue({id:a,options:i={},placeholder:s,value:o,required:n,disabled:l,readonly:d,autofocus:c=!1,onChange:m,onBlur:u,onFocus:h}){const p=t.useCallback((({target:{value:e}})=>m(""===e?i.emptyValue:e)),[m,i.emptyValue]),g=t.useCallback((({target:{value:e}})=>u(a,e)),[u,a]),f=t.useCallback((({target:{value:e}})=>h(a,e)),[a,h]);return e.jsx("textarea",{id:a,name:a,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":r.ariaDescribedByIds(a)})}function _e(t){const{options:a,registry:i}=t,s=r.getTemplate("BaseInputTemplate",i,a);return e.jsx(s,{...t})}function qe(a){const{onChange:i,options:s,registry:o}=a,n=r.getTemplate("BaseInputTemplate",o,s),l=t.useCallback((e=>i(e?`${e}:00`:void 0)),[i]);return e.jsx(n,{type:"time",...a,onChange:l})}function Pe(t){const{options:a,registry:i}=t,s=r.getTemplate("BaseInputTemplate",i,a);return e.jsx(s,{type:"url",...t})}function Re(t){const{options:a,registry:i}=t,s=r.getTemplate("BaseInputTemplate",i,a);return e.jsx(s,{type:"number",...t})}function Le(){return{fields:{AnyOfField:k,ArrayField:N,BooleanField:A,NumberField:U,ObjectField:_,OneOfField:k,SchemaField:R,StringField:L,NullField:$},templates:{ArrayFieldDescriptionTemplate:V,ArrayFieldItemTemplate:K,ArrayFieldTemplate:M,ArrayFieldTitleTemplate:W,ButtonTemplates:{SubmitButton:z,AddButton:Z,CopyButton:H,MoveDownButton:J,MoveUpButton:Q,RemoveButton:X},BaseInputTemplate:Y,DescriptionFieldTemplate:ee,ErrorListTemplate:te,FieldTemplate:ie,FieldErrorTemplate:se,FieldHelpTemplate:oe,ObjectFieldTemplate:ne,TitleFieldTemplate:de,UnsupportedFieldTemplate:ce,WrapIfAdditionalTemplate:me},widgets:{AltDateWidget:ge,AltDateTimeWidget:fe,CheckboxWidget:ye,CheckboxesWidget:Se,ColorWidget:be,DateWidget:xe,DateTimeWidget:ve,EmailWidget:Ce,FileWidget:Ee,HiddenWidget:Ie,PasswordWidget:Ne,RadioWidget:Ae,RangeWidget:ke,SelectWidget:Be,TextWidget:_e,TextareaWidget:Ue,TimeWidget:qe,UpDownWidget:Re,URLWidget:Pe},rootSchema:{},formContext:{},translateString:r.englishStringTranslator}}Ue.defaultProps={autofocus:!1,options:{}};class $e extends t.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=S.default(e,t);return Array.isArray(e)?Object.keys(r).map((e=>r[e])):r},this.getFieldNames=(e,t)=>{const a=(e,i=[],s=[[]])=>(Object.keys(e).forEach((o=>{if("object"==typeof e[o]){const t=s.map((e=>[...e,o]));e[o][r.RJSF_ADDITONAL_PROPERTIES_FLAG]&&""!==e[o][r.NAME_KEY]?i.push(e[o][r.NAME_KEY]):a(e[o],i,t)}else o===r.NAME_KEY&&""!==e[o]&&s.forEach((e=>{const r=f.default(t,e);("object"!=typeof r||y.default(r))&&i.push(e)}))})),i);return a(e)},this.onChange=(e,t,a)=>{const{extraErrors:i,omitExtraData:s,liveOmit:o,noValidate:n,liveValidate:l,onChange:d}=this.props,{schemaUtils:c,schema:m}=this.state;(r.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,a=e.errorSchema;const s=t,o=a;if(i){const s=r.validationDataMerge(e,i);a=s.errorSchema,t=s.errors}h={formData:p,errors:t,errorSchema:a,schemaValidationErrors:s,schemaValidationErrorSchema:o}}else if(!n&&t){const e=i?r.mergeObjects(t,i,"preventDuplicates"):t;h={formData:p,errorSchema:e,errors:r.toErrorList(e)}}this.setState(h,(()=>d&&d({...this.state,...h},a)))},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:a,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=a||{},i=a?r.toErrorList(a):[];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&&!r.deepEquals(this.state.formData,this.props.formData)&&this.props.onChange(this.state),this.formElement=t.createRef()}UNSAFE_componentWillReceiveProps(e){const t=this.getStateFromProps(e,e.formData);r.deepEquals(t.formData,e.formData)||r.deepEquals(t.formData,this.state.formData)||!e.onChange||e.onChange(t),this.setState(t)}getStateFromProps(e,t){const a=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=a.schemaUtils;c&&!c.doesSchemaUtilsDiffer(e.validator,l,d)||(c=r.createSchemaUtils(e.validator,l,d));const m=c.getDefaultFormState(i,t),u=c.retrieveSchema(i,m);let h,p,g=a.schemaValidationErrors,f=a.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:a.errors||[],errorSchema:a.errorSchema||{}}:{errors:a.schemaValidationErrors||[],errorSchema:a.schemaValidationErrorSchema||{}};h=t.errors,p=t.errorSchema}if(e.extraErrors){const t=r.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 r.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(t){const{errors:a,errorSchema:i,schema:s,uiSchema:o}=this.state,{formContext:n}=this.props,l=r.getUiOptions(o),d=r.getTemplate("ErrorListTemplate",t,l);return a&&a.length?e.jsx(d,{errors:a,errorSchema:i||{},schema:s,uiSchema:o,formContext:n,registry:t}):null}getRegistry(){var e;const{translateString:t,uiSchema:a={}}=this.props,{schemaUtils:i}=this.state,{fields:s,templates:o,widgets:n,formContext:l,translateString:d}=Le();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:a[r.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=b.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:a,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=r.validationDataMerge(o,e);l=t.errorSchema,n=t.errors}return a&&("function"==typeof a?a(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:t,id:a,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{[r.SUBMIT_BTN_OPTIONS_KEY]:A={}}=r.getUiOptions(C);f&&(A={...A,props:{...A.props,disabled:!0}});const k={[r.UI_OPTIONS_KEY]:{[r.SUBMIT_BTN_OPTIONS_KEY]:A}};return e.jsxs(N,{className:o||"rjsf",id:a,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),e.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}),t||e.jsx(E,{uiSchema:k,registry:O}),"bottom"===b&&this.renderErrors(O)]})}}exports.default=$e,exports.getDefaultRegistry=Le,exports.withTheme=function(r){return t.forwardRef((({fields:t,widgets:a,templates:i,...s},o)=>{var n,l;return t={...null==r?void 0:r.fields,...t},a={...null==r?void 0:r.widgets,...a},i={...null==r?void 0:r.templates,...i,ButtonTemplates:{...null==r||null===(n=r.templates)||void 0===n?void 0:n.ButtonTemplates,...null===(l=i)||void 0===l?void 0:l.ButtonTemplates}},e.jsx($e,{...r,...s,fields:t,widgets:a,templates:i,ref:o})}))};
|
|
2
|
-
//# sourceMappingURL=core.cjs.production.min.js.map
|