bknd
Version:
Lightweight Firebase/Supabase alternative built to run anywhere — incl. Next.js, React Router, Astro, Cloudflare, Bun, Node, AWS Lambda & more.
14 lines • 93.9 kB
JavaScript
var Or=Object.defineProperty;var Tr=(r,e,t)=>e in r?Or(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var bt=(r,e,t)=>Tr(r,typeof e!="symbol"?e+"":e,t);import{az as Ar,aA as Er,aB as Nr,aC as Ir,aD as Br,aE as $r,aF as Ur,aG as _r,aH as ie,aI as P,aJ as xe,aK as Rr,r as D,j as m,aL as Pr,aM as Wr,t as dt,R as Lr,aN as Mr,a1 as Vr,c as qr,aO as Kr,I as ut,aP as Hr,aQ as Yr,aR as zr,aS as Jr,a4 as Gr,aT as Qr}from"./main-CLGi5LHT.js";import{i as mt,g as _,U as Pt,r as ce,a as ke,b as Wt,c as Zr,d as ht,m as be,P as z,R as re,D as Lt,A as Mt,e as M,I as pe,f as st,N as Ie,O as G,h as Z,j as ft,k as Vt,l as St,n as qt,o as Xr,p as en,q as tn,s as rn,t as nn,E as Y,S as Re,u as vt,v as Ft,w as Q,x as sn,_ as de,T as W,y as ue,z as Pe,B as it,C as Kt,F as Ht,G as an,H as Ct,J as Me,K as Be,L as De,M as pt,Q as ee,V as We,W as on,X as ln,Y as Ve,Z as cn,$ as jt,a0 as dn,a1 as un,a2 as mn,a3 as hn}from"./TextareaWidget-CZG2muYB.js";function fn(r,e,t,n){return n=typeof n=="function"?n:void 0,r==null?r:Ar(r,e,t,n)}function pn(r){return Er(r)?Nr(r,_r):Br(r)?[r]:Ir($r(Ur(r)))}function gn(r){return r.additionalItems===!0&&console.warn("additionalItems=true is currently not supported"),mt(r.additionalItems)}function wt(r){if(r==="")return;if(r===null)return null;if(/\.$/.test(r)||/\.0$/.test(r)||/\.\d*0$/.test(r))return r;const e=Number(r);return typeof e=="number"&&!Number.isNaN(e)?e:r}function Yt(r,e={},t){if(!r.additionalProperties)return!1;const{expandable:n=!0}=_(e);return n===!1?n:r.maxProperties!==void 0&&t?Object.keys(t).length<r.maxProperties:!0}function zt(r={}){return"widget"in _(r)&&_(r).widget!=="hidden"}function Jt(r,e,t={},n,s){if(t[Pt]==="files")return!0;if(e.items){const a=ce(r,e.items,n,void 0,s);return a.type==="string"&&a.format==="data-url"}return!1}function yn(r,e,t={},n,s,a){const o=_(t,s),{label:l=!0}=o;let c=!!l;const d=ke(e);return d==="array"&&(c=Wt(r,e,n,a)||Jt(r,e,t,n,a)||zt(t)),d==="object"&&(c=!1),d==="boolean"&&!t[Pt]&&(c=!1),t[Zr]&&(c=!1),c}function xn(r,e,t){if(!t)return e;const{errors:n,errorSchema:s}=e;let a=r.toErrorList(t),o=t;return ht(s)||(o=be(s,t,!0),a=[...n].concat(a)),{errorSchema:o,errors:a}}const ye=Symbol("no Value");function at(r,e,t,n,s={},a){let o;if(ie(t,z)){const l={};if(ie(n,z)){const h=P(n,z,{});Object.keys(h).forEach(p=>{ie(s,p)&&(l[p]=void 0)})}const c=Object.keys(P(t,z,{})),d={};c.forEach(h=>{const p=P(s,h);let i=P(n,[z,h],{}),u=P(t,[z,h],{});ie(i,re)&&(i=ce(r,i,e,p,a)),ie(u,re)&&(u=ce(r,u,e,p,a));const f=P(i,"type"),y=P(u,"type");if(!f||f===y)if(ie(l,h)&&delete l[h],y==="object"||y==="array"&&Array.isArray(p)){const g=at(r,e,u,i,p,a);(g!==void 0||y==="array")&&(d[h]=g)}else{const g=P(u,"default",ye),x=P(i,"default",ye);g!==ye&&g!==p&&(x===p?l[h]=g:P(u,"readOnly")===!0&&(l[h]=void 0));const S=P(u,"const",ye),b=P(i,"const",ye);S!==ye&&S!==p&&(l[h]=b===p?S:void 0)}}),o={...typeof s=="string"||Array.isArray(s)?void 0:s,...l,...d}}else if(P(n,"type")==="array"&&P(t,"type")==="array"&&Array.isArray(s)){let l=P(n,"items"),c=P(t,"items");if(typeof l=="object"&&typeof c=="object"&&!Array.isArray(l)&&!Array.isArray(c)){ie(l,re)&&(l=ce(r,l,e,s,a)),ie(c,re)&&(c=ce(r,c,e,s,a));const d=P(l,"type"),h=P(c,"type");if(!d||d===h){const p=P(t,"maxItems",-1);h==="object"?o=s.reduce((i,u)=>{const f=at(r,e,c,l,u,a);return f!==void 0&&(p<0||i.length<p)&&i.push(f),i},[]):o=p>0&&s.length>p?s.slice(0,p):s}}else typeof l=="boolean"&&typeof c=="boolean"&&l===c&&(o=s)}return o}function $e(r,e,t,n,s,a,o,l=[],c){if(re in e||Lt in e||Mt in e){const p=ce(r,e,a,o,c);if(l.findIndex(u=>M(u,p))===-1)return $e(r,p,t,n,s,a,o,l.concat(p),c)}if(pe in e&&!P(e,[pe,re]))return $e(r,P(e,pe),t,n,s,a,o,l,c);const h={$id:s||t};if(ke(e)==="object"&&z in e)for(const p in e.properties){const i=P(e,[z,p]),u=h[st]+n+p;h[p]=$e(r,mt(i)?i:{},t,n,u,a,P(o,[p]),l,c)}return h}function bn(r,e,t,n,s,a="root",o="_",l){return $e(r,e,a,o,t,n,s,void 0,l)}function he(r,e,t,n,s,a=[],o){if(re in e||Lt in e||Mt in e){const c=ce(r,e,n,s,o);if(a.findIndex(h=>M(h,c))===-1)return he(r,c,t,n,s,a.concat(c),o)}let l={[Ie]:t.replace(/^\./,"")};if(G in e||Z in e){const c=G in e?e.oneOf:e.anyOf,d=ft(e),h=Vt(r,n,s,c,0,d,o),p=c[h];l={...l,...he(r,p,t,n,s,a,o)}}if(St in e&&e[St]!==!1&&xe(l,qt,!0),pe in e&&Array.isArray(s)){const{items:c,additionalItems:d}=e;Array.isArray(c)?s.forEach((h,p)=>{c[p]?l[p]=he(r,c[p],`${t}.${p}`,n,h,a,o):d?l[p]=he(r,d,`${t}.${p}`,n,h,a,o):console.warn(`Unable to generate path schema for "${t}.${p}". No schema defined for it`)}):s.forEach((h,p)=>{l[p]=he(r,c,`${t}.${p}`,n,h,a,o)})}else if(z in e)for(const c in e.properties){const d=P(e,[z,c]);l[c]=he(r,d,`${t}.${c}`,n,P(s,[c]),a,o)}return l}function Sn(r,e,t="",n,s,a){return he(r,e,t,n,s,void 0,a)}class vn{constructor(e,t,n,s){this.rootSchema=t,this.validator=e,this.experimental_defaultFormStateBehavior=n,this.experimental_customMergeAllOf=s}getValidator(){return this.validator}doesSchemaUtilsDiffer(e,t,n={},s){return!e||!t?!1:this.validator!==e||!M(this.rootSchema,t)||!M(this.experimental_defaultFormStateBehavior,n)||this.experimental_customMergeAllOf!==s}getDefaultFormState(e,t,n=!1){return Xr(this.validator,e,t,this.rootSchema,n,this.experimental_defaultFormStateBehavior,this.experimental_customMergeAllOf)}getDisplayLabel(e,t,n){return yn(this.validator,e,t,this.rootSchema,n,this.experimental_customMergeAllOf)}getClosestMatchingOption(e,t,n,s){return Vt(this.validator,this.rootSchema,e,t,n,s,this.experimental_customMergeAllOf)}getFirstMatchingOption(e,t,n){return en(this.validator,e,t,this.rootSchema,n)}getMatchingOption(e,t,n){return tn(this.validator,e,t,this.rootSchema,n)}isFilesArray(e,t){return Jt(this.validator,e,t,this.rootSchema,this.experimental_customMergeAllOf)}isMultiSelect(e){return Wt(this.validator,e,this.rootSchema,this.experimental_customMergeAllOf)}isSelect(e){return rn(this.validator,e,this.rootSchema,this.experimental_customMergeAllOf)}mergeValidationData(e,t){return xn(this.validator,e,t)}retrieveSchema(e,t){return ce(this.validator,e,this.rootSchema,t,this.experimental_customMergeAllOf)}sanitizeDataForNewSchema(e,t,n){return at(this.validator,this.rootSchema,e,t,n,this.experimental_customMergeAllOf)}toIdSchema(e,t,n,s="root",a="_"){return bn(this.validator,e,t,this.rootSchema,n,s,a,this.experimental_customMergeAllOf)}toPathSchema(e,t,n){return Sn(this.validator,e,t,this.rootSchema,n,this.experimental_customMergeAllOf)}}function Fn(r,e,t={},n){return new vn(r,e,t,n)}function Cn(r){var e;if(r.indexOf("data:")===-1)throw new Error("File is invalid: URI must be a dataURI");const n=r.slice(5).split(";base64,");if(n.length!==2)throw new Error("File is invalid: dataURI must be base64");const[s,a]=n,[o,...l]=s.split(";"),c=o||"",d=decodeURI(((e=l.map(h=>h.split("=")).find(([h])=>h==="name"))===null||e===void 0?void 0:e[1])||"unknown");try{const h=atob(a),p=new Array(h.length);for(let u=0;u<h.length;u++)p[u]=h.charCodeAt(u);return{blob:new window.Blob([new Uint8Array(p)],{type:c}),name:d}}catch(h){throw new Error("File is invalid: "+h.message)}}function le(r,e){let t=String(r);for(;t.length<e;)t="0"+t;return t}function Gt(r,e){if(r<=0&&e<=0)r=new Date().getFullYear()+r,e=new Date().getFullYear()+e;else if(r<0||e<0)throw new Error(`Both start (${r}) and stop (${e}) must both be <= 0 or > 0, got one of each`);if(r>e)return Gt(e,r).reverse();const t=[];for(let n=r;n<=e;n++)t.push({value:n,label:le(n,2)});return t}function jn(r,e){let t=r;if(Array.isArray(e)){const n=t.split(/(%\d)/);e.forEach((s,a)=>{const o=n.findIndex(l=>l===`%${a+1}`);o>=0&&(n[o]=s)}),t=n.join("")}return t}function wn(r,e){return jn(r,e)}function K(r,e=[],t){if(Array.isArray(r))return r.map(a=>K(a,e)).filter(a=>a!==t);const n=r===""||r===null?-1:Number(r),s=e[n];return s?s.value:t}function Qt(r,e,t=[]){const n=K(r,t);return Array.isArray(e)?e.filter(s=>!M(s,n)):M(n,e)?void 0:e}function Oe(r,e){return Array.isArray(e)?e.some(t=>M(t,r)):M(e,r)}function Zt(r,e=[],t=!1){const n=e.map((s,a)=>Oe(s.value,r)?String(a):void 0).filter(s=>typeof s<"u");return t?n:n[0]}function Xt(r,e,t=[]){const n=K(r,t);if(!nn(n)){const s=t.findIndex(l=>n===l.value),a=t.map(({value:l})=>l);return e.slice(0,s).concat(n,e.slice(s)).sort((l,c)=>+(a.indexOf(l)>a.indexOf(c)))}return e}class kn{constructor(e){this.errorSchema={},this.resetAllErrors(e)}get ErrorSchema(){return this.errorSchema}getOrCreateErrorBlock(e){let n=Array.isArray(e)&&e.length>0||typeof e=="string"?P(this.errorSchema,e):this.errorSchema;return!n&&e&&(n={},fn(this.errorSchema,e,n,Object)),n}resetAllErrors(e){return this.errorSchema=e?Rr(e):{},this}addErrors(e,t){const n=this.getOrCreateErrorBlock(t);let s=P(n,Y);return Array.isArray(s)||(s=[],n[Y]=s),Array.isArray(e)?xe(n,Y,[...new Set([...s,...e])]):xe(n,Y,[...new Set([...s,e])]),this}setErrors(e,t){const n=this.getOrCreateErrorBlock(t),s=Array.isArray(e)?[...new Set([...e])]:[e];return xe(n,Y,s),this}clearErrors(e){const t=this.getOrCreateErrorBlock(e);return xe(t,Y,[]),this}}function Dn(r,e,t=[1900,new Date().getFullYear()+2],n="YMD"){const{day:s,month:a,year:o,hour:l,minute:c,second:d}=r,h={type:"day",range:[1,31],value:s},p={type:"month",range:[1,12],value:a},i={type:"year",range:t,value:o},u=[];switch(n){case"MDY":u.push(p,h,i);break;case"DMY":u.push(h,p,i);break;case"YMD":default:u.push(i,p,h)}return e&&u.push({type:"hour",range:[0,23],value:l},{type:"minute",range:[0,59],value:c},{type:"second",range:[0,59],value:d}),u}function On(r){const e={};return r.multipleOf&&(e.step=r.multipleOf),(r.minimum||r.minimum===0)&&(e.min=r.minimum),(r.maximum||r.maximum===0)&&(e.max=r.maximum),e}function er(r,e,t={},n=!0){const s={type:e||"text",...On(r)};return t.inputType?s.type=t.inputType:e||(r.type==="number"?(s.type="number",n&&s.step===void 0&&(s.step="any")):r.type==="integer"&&(s.type="number",s.step===void 0&&(s.step=1))),t.autocomplete&&(s.autoComplete=t.autocomplete),t.accept&&(s.accept=t.accept),s}const kt={props:{disabled:!1},submitText:"Submit",norender:!1};function Tn(r={}){const e=_(r);if(e&&e[Re]){const t=e[Re];return{...kt,...t}}return kt}function U(r,e,t={}){const{templates:n}=e;return r==="ButtonTemplates"?n[r]:t[r]||n[r]}const ze={boolean:{checkbox:"CheckboxWidget",radio:"RadioWidget",select:"SelectWidget",hidden:"HiddenWidget"},string:{text:"TextWidget",password:"PasswordWidget",email:"EmailWidget",hostname:"TextWidget",ipv4:"TextWidget",ipv6:"TextWidget",uri:"URLWidget","data-url":"FileWidget",radio:"RadioWidget",select:"SelectWidget",textarea:"TextareaWidget",hidden:"HiddenWidget",date:"DateWidget",datetime:"DateTimeWidget","date-time":"DateTimeWidget","alt-date":"AltDateWidget","alt-datetime":"AltDateTimeWidget",time:"TimeWidget",color:"ColorWidget",file:"FileWidget"},number:{text:"TextWidget",select:"SelectWidget",updown:"UpDownWidget",range:"RangeWidget",radio:"RadioWidget",hidden:"HiddenWidget"},integer:{text:"TextWidget",select:"SelectWidget",updown:"UpDownWidget",range:"RangeWidget",radio:"RadioWidget",hidden:"HiddenWidget"},array:{select:"SelectWidget",checkboxes:"CheckboxesWidget",files:"FileWidget",hidden:"HiddenWidget"}};function An(r){let e=P(r,"MergedWidget");if(!e){const t=r.defaultProps&&r.defaultProps.options||{};e=({options:n,...s})=>m.jsx(r,{options:{...t,...n},...s}),xe(r,"MergedWidget",e)}return e}function X(r,e,t={}){const n=ke(r);if(typeof e=="function"||e&&vt.isForwardRef(D.createElement(e))||vt.isMemo(e))return An(e);if(typeof e!="string")throw new Error(`Unsupported widget definition: ${typeof e}`);if(e in t){const s=t[e];return X(r,s,t)}if(typeof n=="string"){if(!(n in ze))throw new Error(`No widget for type '${n}'`);if(e in ze[n]){const s=t[ze[n][e]];return X(r,s,t)}}throw new Error(`No widget '${e}' for type '${n}'`)}function En(r,e,t={}){try{return X(r,e,t),!0}catch(n){const s=n;if(s.message&&(s.message.startsWith("No widget")||s.message.startsWith("Unsupported widget")))return!1;throw n}}function Nn(r,e,t){return e?t:r}function In(r){return r?new Date(r).toJSON():void 0}function Bn(r,e){if(!Array.isArray(e))return r;const t=h=>h.reduce((p,i)=>(p[i]=!0,p),{}),n=h=>h.length>1?`properties '${h.join("', '")}'`:`property '${h[0]}'`,s=t(r),a=e.filter(h=>h==="*"||s[h]),o=t(a),l=r.filter(h=>!o[h]),c=a.indexOf("*");if(c===-1){if(l.length)throw new Error(`uiSchema order list does not contain ${n(l)}`);return a}if(c!==a.lastIndexOf("*"))throw new Error("uiSchema order list contains more than one wildcard item");const d=[...a];return d.splice(c,1,...l),d}function Je(r,e=!0){if(!r)return{year:-1,month:-1,day:-1,hour:e?-1:0,minute:e?-1:0,second:e?-1:0};const t=new Date(r);if(Number.isNaN(t.getTime()))throw new Error("Unable to parse date "+r);return{year:t.getUTCFullYear(),month:t.getUTCMonth()+1,day:t.getUTCDate(),hour:e?t.getUTCHours():0,minute:e?t.getUTCMinutes():0,second:e?t.getUTCSeconds():0}}function Ue(r){if(r.const||r.enum&&r.enum.length===1&&r.enum[0]===!0)return!0;if(r.anyOf&&r.anyOf.length===1)return Ue(r.anyOf[0]);if(r.oneOf&&r.oneOf.length===1)return Ue(r.oneOf[0]);if(r.allOf){const e=t=>Ue(t);return r.allOf.some(e)}return!1}function $n(r,e,t){const{props:n,state:s}=r;return!M(n,e)||!M(s,t)}function Dt(r,e=!0){const{year:t,month:n,day:s,hour:a=0,minute:o=0,second:l=0}=r,c=Date.UTC(t,n-1,s,a,o,l),d=new Date(c).toJSON();return e?d:d.slice(0,10)}function Le(r,e=[]){if(!r)return[];let t=[];return Y in r&&(t=t.concat(r[Y].map(n=>{const s=`.${e.join(".")}`;return{property:s,message:n,stack:`${s} ${n}`}}))),Object.keys(r).reduce((n,s)=>{if(s!==Y){const a=r[s];Pr(a)&&(n=n.concat(Le(a,[...e,s])))}return n},t)}function Un(r){const e=new kn;return r.length&&r.forEach(t=>{const{property:n,message:s}=t,a=n==="."?[]:pn(n);a.length>0&&a[0]===""&&a.splice(0,1),s&&e.addErrors(s,a)}),e.ErrorSchema}function _n(r){if(!r)return"";const e=new Date(r),t=le(e.getFullYear(),4),n=le(e.getMonth()+1,2),s=le(e.getDate(),2),a=le(e.getHours(),2),o=le(e.getMinutes(),2),l=le(e.getSeconds(),2),c=le(e.getMilliseconds(),3);return`${t}-${n}-${s}T${a}:${o}:${l}.${c}`}function Ge(r,e){if(!e)return r;const{errors:t,errorSchema:n}=r;let s=Le(e),a=e;return ht(n)||(a=be(n,e,!0),s=[...t].concat(s)),{errorSchema:a,errors:s}}let Rn=(r=21)=>crypto.getRandomValues(new Uint8Array(r)).reduce((e,t)=>(t&=63,t<36?e+=t.toString(36):t<62?e+=(t-26).toString(36).toUpperCase():t>62?e+="-":e+="_",e),"");function ot(){return Rn()}function Ot(r){return Array.isArray(r)?r.map(e=>({key:ot(),item:e})):[]}function Fe(r){return Array.isArray(r)?r.map(e=>e.item):[]}class Pn extends D.Component{constructor(e){super(e),this._getNewFormDataRow=()=>{const{schema:s,registry:a}=this.props,{schemaUtils:o}=a;let l=s.items;return Ft(s)&&gn(s)&&(l=s.additionalItems),o.getDefaultFormState(l)},this.onAddClick=s=>{this._handleAddClick(s)},this.onAddIndexClick=s=>a=>{this._handleAddClick(a,s)},this.onCopyIndexClick=s=>a=>{a&&a.preventDefault();const{onChange:o,errorSchema:l}=this.props,{keyedFormData:c}=this.state;let d;if(l){d={};for(const i in l){const u=parseInt(i);u<=s?Q(d,[u],l[i]):u>s&&Q(d,[u+1],l[i])}}const h={key:ot(),item:sn(c[s].item)},p=[...c];s!==void 0?p.splice(s+1,0,h):p.push(h),this.setState({keyedFormData:p,updatedKeyedFormData:!0},()=>o(Fe(p),d))},this.onDropIndexClick=s=>a=>{a&&a.preventDefault();const{onChange:o,errorSchema:l}=this.props,{keyedFormData:c}=this.state;let d;if(l){d={};for(const p in l){const i=parseInt(p);i<s?Q(d,[i],l[p]):i>s&&Q(d,[i-1],l[p])}}const h=c.filter((p,i)=>i!==s);this.setState({keyedFormData:h,updatedKeyedFormData:!0},()=>o(Fe(h),d))},this.onReorderClick=(s,a)=>o=>{o&&(o.preventDefault(),o.currentTarget.blur());const{onChange:l,errorSchema:c}=this.props;let d;if(c){d={};for(const u in c){const f=parseInt(u);f==s?Q(d,[a],c[s]):f==a?Q(d,[s],c[a]):Q(d,[u],c[f])}}const{keyedFormData:h}=this.state;function p(){const u=h.slice();return u.splice(s,1),u.splice(a,0,h[s]),u}const i=p();this.setState({keyedFormData:i},()=>l(Fe(i),d))},this.onChangeForIndex=s=>(a,o,l)=>{const{formData:c,onChange:d,errorSchema:h}=this.props,i=(Array.isArray(c)?c:[]).map((u,f)=>s===f?typeof a>"u"?null:a:u);d(i,h&&h&&{...h,[s]:o},l)},this.onSelectChange=s=>{const{onChange:a,idSchema:o}=this.props;a(s,void 0,o&&o.$id)};const{formData:t=[]}=e,n=Ot(t);this.state={keyedFormData:n,updatedKeyedFormData:!1}}static getDerivedStateFromProps(e,t){if(t.updatedKeyedFormData)return{updatedKeyedFormData:!1};const n=Array.isArray(e.formData)?e.formData:[],s=t.keyedFormData||[];return{keyedFormData:n.length===s.length?s.map((o,l)=>({key:o.key,item:n[l]})):Ot(n)}}get itemTitle(){const{schema:e,registry:t}=this.props,{translateString:n}=t;return de(e,[pe,"title"],de(e,[pe,"description"],n(W.ArrayItemTitle)))}isItemRequired(e){return Array.isArray(e.type)?!e.type.includes("null"):e.type!=="null"}canAddItem(e){const{schema:t,uiSchema:n,registry:s}=this.props;let{addable:a}=_(n,s.globalUiOptions);return a!==!1&&(t.maxItems!==void 0?a=e.length<t.maxItems:a=!0),a}_handleAddClick(e,t){e&&e.preventDefault();const{onChange:n,errorSchema:s}=this.props,{keyedFormData:a}=this.state;let o;if(s){o={};for(const d in s){const h=parseInt(d);t===void 0||h<t?Q(o,[h],s[d]):h>=t&&Q(o,[h+1],s[d])}}const l={key:ot(),item:this._getNewFormDataRow()},c=[...a];t!==void 0?c.splice(t,0,l):c.push(l),this.setState({keyedFormData:c,updatedKeyedFormData:!0},()=>n(Fe(c),o))}render(){const{schema:e,uiSchema:t,idSchema:n,registry:s}=this.props,{schemaUtils:a,translateString:o}=s;if(!(pe in e)){const l=_(t),c=U("UnsupportedFieldTemplate",s,l);return m.jsx(c,{schema:e,idSchema:n,reason:o(W.MissingItems),registry:s})}return a.isMultiSelect(e)?this.renderMultiSelect():zt(t)?this.renderCustomWidget():Ft(e)?this.renderFixedArray():a.isFilesArray(e,t)?this.renderFiles():this.renderNormalArray()}renderNormalArray(){const{schema:e,uiSchema:t={},errorSchema:n,idSchema:s,name:a,title:o,disabled:l=!1,readonly:c=!1,autofocus:d=!1,required:h=!1,registry:p,onBlur:i,onFocus:u,idPrefix:f,idSeparator:y="_",rawErrors:g}=this.props,{keyedFormData:x}=this.state,S=e.title||o||a,{schemaUtils:b,formContext:F}=p,C=_(t),v=ue(e.items)?e.items:{},w=b.retrieveSchema(v),k=Fe(this.state.keyedFormData),A=this.canAddItem(k),j={canAdd:A,items:x.map((B,E)=>{const{key:L,item:N}=B,R=N,V=b.retrieveSchema(v,R),$=n?n[E]:void 0,O=s.$id+y+E,q=b.toIdSchema(V,O,R,f,y);return this.renderArrayFieldItem({key:L,index:E,name:a&&`${a}-${E}`,title:S?`${S}-${E+1}`:void 0,canAdd:A,canMoveUp:E>0,canMoveDown:E<k.length-1,itemSchema:V,itemIdSchema:q,itemErrorSchema:$,itemData:R,itemUiSchema:t.items,autofocus:d&&E===0,onBlur:i,onFocus:u,rawErrors:g,totalItems:x.length})}),className:`field field-array field-array-of-${w.type}`,disabled:l,idSchema:s,uiSchema:t,onAddClick:this.onAddClick,readonly:c,required:h,schema:e,title:S,formContext:F,formData:k,rawErrors:g,registry:p},I=U("ArrayFieldTemplate",p,C);return m.jsx(I,{...j})}renderCustomWidget(){var e;const{schema:t,idSchema:n,uiSchema:s,disabled:a=!1,readonly:o=!1,autofocus:l=!1,required:c=!1,hideError:d,placeholder:h,onBlur:p,onFocus:i,formData:u=[],registry:f,rawErrors:y,name:g}=this.props,{widgets:x,formContext:S,globalUiOptions:b,schemaUtils:F}=f,{widget:C,title:v,...w}=_(s,b),k=X(t,C,x),A=(e=v??t.title)!==null&&e!==void 0?e:g,j=F.getDisplayLabel(t,s,b);return m.jsx(k,{id:n.$id,name:g,multiple:!0,onChange:this.onSelectChange,onBlur:p,onFocus:i,options:w,schema:t,uiSchema:s,registry:f,value:u,disabled:a,readonly:o,hideError:d,required:c,label:A,hideLabel:!j,placeholder:h,formContext:S,autofocus:l,rawErrors:y})}renderMultiSelect(){var e;const{schema:t,idSchema:n,uiSchema:s,formData:a=[],disabled:o=!1,readonly:l=!1,autofocus:c=!1,required:d=!1,placeholder:h,onBlur:p,onFocus:i,registry:u,rawErrors:f,name:y}=this.props,{widgets:g,schemaUtils:x,formContext:S,globalUiOptions:b}=u,F=x.retrieveSchema(t.items,a),C=Pe(F,s),{widget:v="select",title:w,...k}=_(s,b),A=X(t,v,g),j=(e=w??t.title)!==null&&e!==void 0?e:y,I=x.getDisplayLabel(t,s,b);return m.jsx(A,{id:n.$id,name:y,multiple:!0,onChange:this.onSelectChange,onBlur:p,onFocus:i,options:{...k,enumOptions:C},schema:t,uiSchema:s,registry:u,value:a,disabled:o,readonly:l,required:d,label:j,hideLabel:!I,placeholder:h,formContext:S,autofocus:c,rawErrors:f})}renderFiles(){var e;const{schema:t,uiSchema:n,idSchema:s,name:a,disabled:o=!1,readonly:l=!1,autofocus:c=!1,required:d=!1,onBlur:h,onFocus:p,registry:i,formData:u=[],rawErrors:f}=this.props,{widgets:y,formContext:g,globalUiOptions:x,schemaUtils:S}=i,{widget:b="files",title:F,...C}=_(n,x),v=X(t,b,y),w=(e=F??t.title)!==null&&e!==void 0?e:a,k=S.getDisplayLabel(t,n,x);return m.jsx(v,{options:C,id:s.$id,name:a,multiple:!0,onChange:this.onSelectChange,onBlur:h,onFocus:p,schema:t,uiSchema:n,value:u,disabled:o,readonly:l,required:d,registry:i,formContext:g,autofocus:c,rawErrors:f,label:w,hideLabel:!k})}renderFixedArray(){const{schema:e,uiSchema:t={},formData:n=[],errorSchema:s,idPrefix:a,idSeparator:o="_",idSchema:l,name:c,title:d,disabled:h=!1,readonly:p=!1,autofocus:i=!1,required:u=!1,registry:f,onBlur:y,onFocus:g,rawErrors:x}=this.props,{keyedFormData:S}=this.state;let{formData:b=[]}=this.props;const F=e.title||d||c,C=_(t),{schemaUtils:v,formContext:w}=f,A=(ue(e.items)?e.items:[]).map((L,N)=>v.retrieveSchema(L,n[N])),j=ue(e.additionalItems)?v.retrieveSchema(e.additionalItems,n):null;(!b||b.length<A.length)&&(b=b||[],b=b.concat(new Array(A.length-b.length)));const I=this.canAddItem(b)&&!!j,B={canAdd:I,className:"field field-array field-array-fixed-items",disabled:h,idSchema:l,formData:n,items:S.map((L,N)=>{const{key:R,item:V}=L,$=V,O=N>=A.length,q=(O&&ue(e.additionalItems)?v.retrieveSchema(e.additionalItems,$):A[N])||{},H=l.$id+o+N,ne=v.toIdSchema(q,H,$,a,o),J=O?t.additionalItems||{}:Array.isArray(t.items)?t.items[N]:t.items||{},se=s?s[N]:void 0;return this.renderArrayFieldItem({key:R,index:N,name:c&&`${c}-${N}`,title:F?`${F}-${N+1}`:void 0,canAdd:I,canRemove:O,canMoveUp:N>=A.length+1,canMoveDown:O&&N<b.length-1,itemSchema:q,itemData:$,itemUiSchema:J,itemIdSchema:ne,itemErrorSchema:se,autofocus:i&&N===0,onBlur:y,onFocus:g,rawErrors:x,totalItems:S.length})}),onAddClick:this.onAddClick,readonly:p,required:u,registry:f,schema:e,uiSchema:t,title:F,formContext:w,errorSchema:s,rawErrors:x},E=U("ArrayFieldTemplate",f,C);return m.jsx(E,{...B})}renderArrayFieldItem(e){const{key:t,index:n,name:s,canAdd:a,canRemove:o=!0,canMoveUp:l,canMoveDown:c,itemSchema:d,itemData:h,itemUiSchema:p,itemIdSchema:i,itemErrorSchema:u,autofocus:f,onBlur:y,onFocus:g,rawErrors:x,totalItems:S,title:b}=e,{disabled:F,hideError:C,idPrefix:v,idSeparator:w,readonly:k,uiSchema:A,registry:j,formContext:I}=this.props,{fields:{ArraySchemaField:B,SchemaField:E},globalUiOptions:L}=j,N=B||E,{orderable:R=!0,removable:V=!0,copyable:$=!1}=_(A,L),O={moveUp:R&&l,moveDown:R&&c,copy:$&&a,remove:V&&o,toolbar:!1};return O.toolbar=Object.keys(O).some(q=>O[q]),{children:m.jsx(N,{name:s,title:b,index:n,schema:d,uiSchema:p,formData:h,formContext:I,errorSchema:u,idPrefix:v,idSeparator:w,idSchema:i,required:this.isItemRequired(d),onChange:this.onChangeForIndex(n),onBlur:y,onFocus:g,registry:j,disabled:F,readonly:k,hideError:C,autofocus:f,rawErrors:x}),className:"array-item",disabled:F,canAdd:a,hasCopy:O.copy,hasToolbar:O.toolbar,hasMoveUp:O.moveUp,hasMoveDown:O.moveDown,hasRemove:O.remove,index:n,totalItems:S,key:t,onAddIndexClick:this.onAddIndexClick,onCopyIndexClick:this.onCopyIndexClick,onDropIndexClick:this.onDropIndexClick,onReorderClick:this.onReorderClick,readonly:k,registry:j,schema:d,uiSchema:p}}}function Wn(r){var e,t,n;const{schema:s,name:a,uiSchema:o,idSchema:l,formData:c,registry:d,required:h,disabled:p,readonly:i,hideError:u,autofocus:f,title:y,onChange:g,onFocus:x,onBlur:S,rawErrors:b}=r,{title:F}=s,{widgets:C,formContext:v,translateString:w,globalUiOptions:k}=d,{widget:A="checkbox",title:j,label:I=!0,...B}=_(o,k),E=X(s,A,C),L=w(W.YesLabel),N=w(W.NoLabel);let R;const V=(t=(e=j??F)!==null&&e!==void 0?e:y)!==null&&t!==void 0?t:a;if(Array.isArray(s.oneOf))R=Pe({oneOf:s.oneOf.map($=>{if(ue($))return{...$,title:$.title||($.const===!0?L:N)}}).filter($=>$)},o);else{const $=s,O=(n=s.enum)!==null&&n!==void 0?n:[!0,!1];!$.enumNames&&O.length===2&&O.every(q=>typeof q=="boolean")?R=[{value:O[0],label:O[0]?L:N},{value:O[1],label:O[1]?L:N}]:R=Pe({enum:O,enumNames:$.enumNames},o)}return m.jsx(E,{options:{...B,enumOptions:R},schema:s,uiSchema:o,id:l.$id,name:a,onChange:g,onFocus:x,onBlur:S,label:V,hideLabel:!I,value:c,required:h,disabled:p,readonly:i,hideError:u,registry:d,formContext:v,autofocus:f,rawErrors:b})}class Tt extends D.Component{constructor(e){super(e),this.onOptionChange=o=>{const{selectedOption:l,retrievedOptions:c}=this.state,{formData:d,onChange:h,registry:p}=this.props,{schemaUtils:i}=p,u=o!==void 0?parseInt(o,10):-1;if(u===l)return;const f=u>=0?c[u]:void 0,y=l>=0?c[l]:void 0;let g=i.sanitizeDataForNewSchema(f,y,d);g&&f&&(g=i.getDefaultFormState(f,g,"excludeObjectChildren")),this.setState({selectedOption:u},()=>{h(g,void 0,this.getFieldId())})};const{formData:t,options:n,registry:{schemaUtils:s}}=this.props,a=n.map(o=>s.retrieveSchema(o,t));this.state={retrievedOptions:a,selectedOption:this.getMatchingOption(0,t,a)}}componentDidUpdate(e,t){const{formData:n,options:s,idSchema:a}=this.props,{selectedOption:o}=this.state;let l=this.state;if(!M(e.options,s)){const{registry:{schemaUtils:c}}=this.props,d=s.map(h=>c.retrieveSchema(h,n));l={selectedOption:o,retrievedOptions:d}}if(!M(n,e.formData)&&a.$id===e.idSchema.$id){const{retrievedOptions:c}=l,d=this.getMatchingOption(o,n,c);t&&d!==o&&(l={selectedOption:d,retrievedOptions:c})}l!==this.state&&this.setState(l)}getMatchingOption(e,t,n){const{schema:s,registry:{schemaUtils:a}}=this.props,o=ft(s);return a.getClosestMatchingOption(t,n,e,o)}getFieldId(){const{idSchema:e,schema:t}=this.props;return`${e.$id}${t.oneOf?"__oneof_select":"__anyof_select"}`}render(){const{name:e,disabled:t=!1,errorSchema:n={},formContext:s,onBlur:a,onFocus:o,registry:l,schema:c,uiSchema:d}=this.props,{widgets:h,fields:p,translateString:i,globalUiOptions:u,schemaUtils:f}=l,{SchemaField:y}=p,{selectedOption:g,retrievedOptions:x}=this.state,{widget:S="select",placeholder:b,autofocus:F,autocomplete:C,title:v=c.title,...w}=_(d,u),k=X({type:"number"},S,h),A=de(n,Y,[]),j=it(n,[Y]),I=f.getDisplayLabel(c,d,u),B=g>=0&&x[g]||null;let E;if(B){const{required:O}=c;E=O?Kt({required:O},B):B}let L=[];G in c&&d&&G in d?Array.isArray(d[G])?L=d[G]:console.warn(`uiSchema.oneOf is not an array for "${v||e}"`):Z in c&&d&&Z in d&&(Array.isArray(d[Z])?L=d[Z]:console.warn(`uiSchema.anyOf is not an array for "${v||e}"`));let N=d;g>=0&&L.length>g&&(N=L[g]);const R=v?W.TitleOptionPrefix:W.OptionPrefix,V=v?[v]:[],$=x.map((O,q)=>{const{title:H=O.title}=_(L[q]);return{label:H||i(R,V.concat(String(q+1))),value:q}});return m.jsxs("div",{className:"panel panel-default panel-body",children:[m.jsx("div",{className:"form-group",children:m.jsx(k,{id:this.getFieldId(),name:`${e}${c.oneOf?"__oneof_select":"__anyof_select"}`,schema:{type:"number",default:0},onChange:this.onOptionChange,onBlur:a,onFocus:o,disabled:t||Ht($),multiple:!1,rawErrors:A,errorSchema:j,value:g>=0?g:void 0,options:{enumOptions:$,...w},registry:l,formContext:s,placeholder:b,autocomplete:C,autofocus:F,label:v??e,hideLabel:!I})}),E&&m.jsx(y,{...this.props,schema:E,uiSchema:N})]})}}const Ln=/\.([0-9]*0)*$/,Mn=/[0.]0*$/;function Vn(r){const{registry:e,onChange:t,formData:n,value:s}=r,[a,o]=D.useState(s),{StringField:l}=e.fields;let c=n;const d=D.useCallback(h=>{o(h),`${h}`.charAt(0)==="."&&(h=`0${h}`);const p=typeof h=="string"&&h.match(Ln)?wt(h.replace(Mn,"")):wt(h);t(p)},[t]);if(typeof a=="string"&&typeof c=="number"){const h=new RegExp(`^(${String(c).replace(".","\\.")})?\\.?0*$`);a.match(h)&&(c=a)}return m.jsx(l,{...r,formData:c,onChange:d})}function fe(){return fe=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},fe.apply(this,arguments)}const qn=["children","options"],T={blockQuote:"0",breakLine:"1",breakThematic:"2",codeBlock:"3",codeFenced:"4",codeInline:"5",footnote:"6",footnoteReference:"7",gfmTask:"8",heading:"9",headingSetext:"10",htmlBlock:"11",htmlComment:"12",htmlSelfClosing:"13",image:"14",link:"15",linkAngleBraceStyleDetector:"16",linkBareUrlDetector:"17",linkMailtoDetector:"18",newlineCoalescer:"19",orderedList:"20",paragraph:"21",ref:"22",refImage:"23",refLink:"24",table:"25",text:"27",textBolded:"28",textEmphasized:"29",textEscaped:"30",textMarked:"31",textStrikethroughed:"32",unorderedList:"33"};var At;(function(r){r[r.MAX=0]="MAX",r[r.HIGH=1]="HIGH",r[r.MED=2]="MED",r[r.LOW=3]="LOW",r[r.MIN=4]="MIN"})(At||(At={}));const Et=["allowFullScreen","allowTransparency","autoComplete","autoFocus","autoPlay","cellPadding","cellSpacing","charSet","classId","colSpan","contentEditable","contextMenu","crossOrigin","encType","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","hrefLang","inputMode","keyParams","keyType","marginHeight","marginWidth","maxLength","mediaGroup","minLength","noValidate","radioGroup","readOnly","rowSpan","spellCheck","srcDoc","srcLang","srcSet","tabIndex","useMap"].reduce((r,e)=>(r[e.toLowerCase()]=e,r),{class:"className",for:"htmlFor"}),Nt={amp:"&",apos:"'",gt:">",lt:"<",nbsp:" ",quot:"“"},Kn=["style","script"],Hn=/([-A-Z0-9_:]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|(?:\{((?:\\.|{[^}]*?}|[^}])*)\})))?/gi,Yn=/mailto:/i,zn=/\n{2,}$/,tr=/^(\s*>[\s\S]*?)(?=\n\n|$)/,Jn=/^ *> ?/gm,Gn=/^(?:\[!([^\]]*)\]\n)?([\s\S]*)/,Qn=/^ {2,}\n/,Zn=/^(?:( *[-*_])){3,} *(?:\n *)+\n/,rr=/^(?: {1,3})?(`{3,}|~{3,}) *(\S+)? *([^\n]*?)?\n([\s\S]*?)(?:\1\n?|$)/,nr=/^(?: {4}[^\n]+\n*)+(?:\n *)+\n?/,Xn=/^(`+)((?:\\`|[^`])+)\1/,es=/^(?:\n *)*\n/,ts=/\r\n?/g,rs=/^\[\^([^\]]+)](:(.*)((\n+ {4,}.*)|(\n(?!\[\^).+))*)/,ns=/^\[\^([^\]]+)]/,ss=/\f/g,is=/^---[ \t]*\n(.|\n)*\n---[ \t]*\n/,as=/^\s*?\[(x|\s)\]/,sr=/^ *(#{1,6}) *([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,ir=/^ *(#{1,6}) +([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,ar=/^([^\n]+)\n *(=|-){3,} *(?:\n *)+\n/,lt=/^ *(?!<[a-z][^ >/]* ?\/>)<([a-z][^ >/]*) ?((?:[^>]*[^/])?)>\n?(\s*(?:<\1[^>]*?>[\s\S]*?<\/\1>|(?!<\1\b)[\s\S])*?)<\/\1>(?!<\/\1>)\n*/i,os=/&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-fA-F]{1,6});/gi,or=/^<!--[\s\S]*?(?:-->)/,ls=/^(data|aria|x)-[a-z_][a-z\d_.-]*$/,ct=/^ *<([a-z][a-z0-9:]*)(?:\s+((?:<.*?>|[^>])*))?\/?>(?!<\/\1>)(\s*\n)?/i,cs=/^\{.*\}$/,ds=/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,us=/^<([^ >]+@[^ >]+)>/,ms=/^<([^ >]+:\/[^ >]+)>/,hs=/-([a-z])?/gi,lr=/^(\|.*)\n(?: *(\|? *[-:]+ *\|[-| :]*)\n((?:.*\|.*\n)*))?\n?/,fs=/^\[([^\]]*)\]:\s+<?([^\s>]+)>?\s*("([^"]*)")?/,ps=/^!\[([^\]]*)\] ?\[([^\]]*)\]/,gs=/^\[([^\]]*)\] ?\[([^\]]*)\]/,ys=/(\n|^[-*]\s|^#|^ {2,}|^-{2,}|^>\s)/,xs=/\t/g,bs=/(^ *\||\| *$)/g,Ss=/^ *:-+: *$/,vs=/^ *:-+ *$/,Fs=/^ *-+: *$/,qe="((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|\\\\\\1|[\\s\\S])+?)",Cs=new RegExp(`^([*_])\\1${qe}\\1\\1(?!\\1)`),js=new RegExp(`^([*_])${qe}\\1(?!\\1)`),ws=new RegExp(`^(==)${qe}\\1`),ks=new RegExp(`^(~~)${qe}\\1`),Ds=/^\\([^0-9A-Za-z\s])/,Qe=/\\([^0-9A-Za-z\s])/g,Os=/^([\s\S](?:(?! |[0-9]\.)[^*_~\-\n<`\\\[!])*)/,Ts=/^\n+/,As=/^([ \t]*)/,Es=/\\([^\\])/g,Ns=/(?:^|\n)( *)$/,gt="(?:\\d+\\.)",yt="(?:[*+-])";function cr(r){return"( *)("+(r===1?gt:yt)+") +"}const dr=cr(1),ur=cr(2);function mr(r){return new RegExp("^"+(r===1?dr:ur))}const Is=mr(1),Bs=mr(2);function hr(r){return new RegExp("^"+(r===1?dr:ur)+"[^\\n]*(?:\\n(?!\\1"+(r===1?gt:yt)+" )[^\\n]*)*(\\n|$)","gm")}const $s=hr(1),Us=hr(2);function fr(r){const e=r===1?gt:yt;return new RegExp("^( *)("+e+") [\\s\\S]+?(?:\\n{2,}(?! )(?!\\1"+e+" (?!"+e+" ))\\n*|\\s*\\n*$)")}const pr=fr(1),gr=fr(2);function It(r,e){const t=e===1,n=t?pr:gr,s=t?$s:Us,a=t?Is:Bs;return{match:Se(function(o,l){const c=Ns.exec(l.prevCapture);return c&&(l.list||!l.inline&&!l.simple)?n.exec(o=c[1]+o):null}),order:1,parse(o,l,c){const d=t?+o[2]:void 0,h=o[0].replace(zn,`
`).match(s);let p=!1;return{items:h.map(function(i,u){const f=a.exec(i)[0].length,y=new RegExp("^ {1,"+f+"}","gm"),g=i.replace(y,"").replace(a,""),x=u===h.length-1,S=g.indexOf(`
`)!==-1||x&&p;p=S;const b=c.inline,F=c.list;let C;c.list=!0,S?(c.inline=!1,C=we(g)+`
`):(c.inline=!0,C=we(g));const v=l(C,c);return c.inline=b,c.list=F,v}),ordered:t,start:d}},render:(o,l,c)=>r(o.ordered?"ol":"ul",{key:c.key,start:o.type===T.orderedList?o.start:void 0},o.items.map(function(d,h){return r("li",{key:h},l(d,c))}))}}const _s=new RegExp(`^\\[((?:\\[[^\\]]*\\]|[^\\[\\]]|\\](?=[^\\[]*\\]))*)\\]\\(\\s*<?((?:\\([^)]*\\)|[^\\s\\\\]|\\\\.)*?)>?(?:\\s+['"]([\\s\\S]*?)['"])?\\s*\\)`),Rs=/^!\[(.*?)\]\( *((?:\([^)]*\)|[^() ])*) *"?([^)"]*)?"?\)/,yr=[tr,rr,nr,sr,ar,ir,lr,pr,gr],Ps=[...yr,/^[^\n]+(?: \n|\n{2,})/,lt,or,ct];function we(r){let e=r.length;for(;e>0&&r[e-1]<=" ";)e--;return r.slice(0,e)}function Ce(r){return r.replace(/[ÀÁÂÃÄÅàáâãä忯]/g,"a").replace(/[çÇ]/g,"c").replace(/[ðÐ]/g,"d").replace(/[ÈÉÊËéèêë]/g,"e").replace(/[ÏïÎîÍíÌì]/g,"i").replace(/[Ññ]/g,"n").replace(/[øØœŒÕõÔôÓóÒò]/g,"o").replace(/[ÜüÛûÚúÙù]/g,"u").replace(/[ŸÿÝý]/g,"y").replace(/[^a-z0-9- ]/gi,"").replace(/ /gi,"-").toLowerCase()}function Ws(r){return Fs.test(r)?"right":Ss.test(r)?"center":vs.test(r)?"left":null}function Bt(r,e,t,n){const s=t.inTable;t.inTable=!0;let a=[[]],o="";function l(){if(!o)return;const c=a[a.length-1];c.push.apply(c,e(o,t)),o=""}return r.trim().split(/(`[^`]*`|\\\||\|)/).filter(Boolean).forEach((c,d,h)=>{c.trim()==="|"&&(l(),n)?d!==0&&d!==h.length-1&&a.push([]):o+=c}),l(),t.inTable=s,a}function Ls(r,e,t){t.inline=!0;const n=r[2]?r[2].replace(bs,"").split("|").map(Ws):[],s=r[3]?function(o,l,c){return o.trim().split(`
`).map(function(d){return Bt(d,l,c,!0)})}(r[3],e,t):[],a=Bt(r[1],e,t,!!s.length);return t.inline=!1,s.length?{align:n,cells:s,header:a,type:T.table}:{children:a,type:T.paragraph}}function $t(r,e){return r.align[e]==null?{}:{textAlign:r.align[e]}}function Se(r){return r.inline=1,r}function ae(r){return Se(function(e,t){return t.inline?r.exec(e):null})}function oe(r){return Se(function(e,t){return t.inline||t.simple?r.exec(e):null})}function te(r){return function(e,t){return t.inline||t.simple?null:r.exec(e)}}function je(r){return Se(function(e){return r.exec(e)})}function Ms(r,e){if(e.inline||e.simple)return null;let t="";r.split(`
`).every(s=>(s+=`
`,!yr.some(a=>a.test(s))&&(t+=s,!!s.trim())));const n=we(t);return n==""?null:[t,,n]}function Vs(r){try{if(decodeURIComponent(r).replace(/[^A-Za-z0-9/:]/g,"").match(/^\s*(javascript|vbscript|data(?!:image)):/i))return null}catch{return null}return r}function Ut(r){return r.replace(Es,"$1")}function _e(r,e,t){const n=t.inline||!1,s=t.simple||!1;t.inline=!0,t.simple=!0;const a=r(e,t);return t.inline=n,t.simple=s,a}function qs(r,e,t){const n=t.inline||!1,s=t.simple||!1;t.inline=!1,t.simple=!0;const a=r(e,t);return t.inline=n,t.simple=s,a}function Ks(r,e,t){const n=t.inline||!1;t.inline=!1;const s=r(e,t);return t.inline=n,s}const Ze=(r,e,t)=>({children:_e(e,r[2],t)});function Xe(){return{}}function et(){return null}function Hs(...r){return r.filter(Boolean).join(" ")}function tt(r,e,t){let n=r;const s=e.split(".");for(;s.length&&(n=n[s[0]],n!==void 0);)s.shift();return n||t}function Ys(r="",e={}){function t(i,u,...f){const y=tt(e.overrides,`${i}.props`,{});return e.createElement(function(g,x){const S=tt(x,g);return S?typeof S=="function"||typeof S=="object"&&"render"in S?S:tt(x,`${g}.component`,g):g}(i,e.overrides),fe({},u,y,{className:Hs(u==null?void 0:u.className,y.className)||void 0}),...f)}function n(i){i=i.replace(is,"");let u=!1;e.forceInline?u=!0:e.forceBlock||(u=ys.test(i)===!1);const f=d(c(u?i:`${we(i).replace(Ts,"")}
`,{inline:u}));for(;typeof f[f.length-1]=="string"&&!f[f.length-1].trim();)f.pop();if(e.wrapper===null)return f;const y=e.wrapper||(u?"span":"div");let g;if(f.length>1||e.forceWrapper)g=f;else{if(f.length===1)return g=f[0],typeof g=="string"?t("span",{key:"outer"},g):g;g=null}return e.createElement(y,{key:"outer"},g)}function s(i,u){const f=u.match(Hn);return f?f.reduce(function(y,g){const x=g.indexOf("=");if(x!==-1){const S=function(v){return v.indexOf("-")!==-1&&v.match(ls)===null&&(v=v.replace(hs,function(w,k){return k.toUpperCase()})),v}(g.slice(0,x)).trim(),b=function(v){const w=v[0];return(w==='"'||w==="'")&&v.length>=2&&v[v.length-1]===w?v.slice(1,-1):v}(g.slice(x+1).trim()),F=Et[S]||S;if(F==="ref")return y;const C=y[F]=function(v,w,k,A){return w==="style"?k.split(/;\s?/).reduce(function(j,I){const B=I.slice(0,I.indexOf(":"));return j[B.trim().replace(/(-[a-z])/g,E=>E[1].toUpperCase())]=I.slice(B.length+1).trim(),j},{}):w==="href"||w==="src"?A(k,v,w):(k.match(cs)&&(k=k.slice(1,k.length-1)),k==="true"||k!=="false"&&k)}(i,S,b,e.sanitizer);typeof C=="string"&&(lt.test(C)||ct.test(C))&&(y[F]=n(C.trim()))}else g!=="style"&&(y[Et[g]||g]=!0);return y},{}):null}e.overrides=e.overrides||{},e.sanitizer=e.sanitizer||Vs,e.slugify=e.slugify||Ce,e.namedCodesToUnicode=e.namedCodesToUnicode?fe({},Nt,e.namedCodesToUnicode):Nt,e.createElement=e.createElement||D.createElement;const a=[],o={},l={[T.blockQuote]:{match:te(tr),order:1,parse(i,u,f){const[,y,g]=i[0].replace(Jn,"").match(Gn);return{alert:y,children:u(g,f)}},render(i,u,f){const y={key:f.key};return i.alert&&(y.className="markdown-alert-"+e.slugify(i.alert.toLowerCase(),Ce),i.children.unshift({attrs:{},children:[{type:T.text,text:i.alert}],noInnerParse:!0,type:T.htmlBlock,tag:"header"})),t("blockquote",y,u(i.children,f))}},[T.breakLine]:{match:je(Qn),order:1,parse:Xe,render:(i,u,f)=>t("br",{key:f.key})},[T.breakThematic]:{match:te(Zn),order:1,parse:Xe,render:(i,u,f)=>t("hr",{key:f.key})},[T.codeBlock]:{match:te(nr),order:0,parse:i=>({lang:void 0,text:we(i[0].replace(/^ {4}/gm,"")).replace(Qe,"$1")}),render:(i,u,f)=>t("pre",{key:f.key},t("code",fe({},i.attrs,{className:i.lang?`lang-${i.lang}`:""}),i.text))},[T.codeFenced]:{match:te(rr),order:0,parse:i=>({attrs:s("code",i[3]||""),lang:i[2]||void 0,text:i[4].replace(Qe,"$1"),type:T.codeBlock})},[T.codeInline]:{match:oe(Xn),order:3,parse:i=>({text:i[2].replace(Qe,"$1")}),render:(i,u,f)=>t("code",{key:f.key},i.text)},[T.footnote]:{match:te(rs),order:0,parse:i=>(a.push({footnote:i[2],identifier:i[1]}),{}),render:et},[T.footnoteReference]:{match:ae(ns),order:1,parse:i=>({target:`#${e.slugify(i[1],Ce)}`,text:i[1]}),render:(i,u,f)=>t("a",{key:f.key,href:e.sanitizer(i.target,"a","href")},t("sup",{key:f.key},i.text))},[T.gfmTask]:{match:ae(as),order:1,parse:i=>({completed:i[1].toLowerCase()==="x"}),render:(i,u,f)=>t("input",{checked:i.completed,key:f.key,readOnly:!0,type:"checkbox"})},[T.heading]:{match:te(e.enforceAtxHeadings?ir:sr),order:1,parse:(i,u,f)=>({children:_e(u,i[2],f),id:e.slugify(i[2],Ce),level:i[1].length}),render:(i,u,f)=>t(`h${i.level}`,{id:i.id,key:f.key},u(i.children,f))},[T.headingSetext]:{match:te(ar),order:0,parse:(i,u,f)=>({children:_e(u,i[1],f),level:i[2]==="="?1:2,type:T.heading})},[T.htmlBlock]:{match:je(lt),order:1,parse(i,u,f){const[,y]=i[3].match(As),g=new RegExp(`^${y}`,"gm"),x=i[3].replace(g,""),S=(b=x,Ps.some(k=>k.test(b))?Ks:_e);var b;const F=i[1].toLowerCase(),C=Kn.indexOf(F)!==-1,v=(C?F:i[1]).trim(),w={attrs:s(v,i[2]),noInnerParse:C,tag:v};return f.inAnchor=f.inAnchor||F==="a",C?w.text=i[3]:w.children=S(u,x,f),f.inAnchor=!1,w},render:(i,u,f)=>t(i.tag,fe({key:f.key},i.attrs),i.text||(i.children?u(i.children,f):""))},[T.htmlSelfClosing]:{match:je(ct),order:1,parse(i){const u=i[1].trim();return{attrs:s(u,i[2]||""),tag:u}},render:(i,u,f)=>t(i.tag,fe({},i.attrs,{key:f.key}))},[T.htmlComment]:{match:je(or),order:1,parse:()=>({}),render:et},[T.image]:{match:oe(Rs),order:1,parse:i=>({alt:i[1],target:Ut(i[2]),title:i[3]}),render:(i,u,f)=>t("img",{key:f.key,alt:i.alt||void 0,title:i.title||void 0,src:e.sanitizer(i.target,"img","src")})},[T.link]:{match:ae(_s),order:3,parse:(i,u,f)=>({children:qs(u,i[1],f),target:Ut(i[2]),title:i[3]}),render:(i,u,f)=>t("a",{key:f.key,href:e.sanitizer(i.target,"a","href"),title:i.title},u(i.children,f))},[T.linkAngleBraceStyleDetector]:{match:ae(ms),order:0,parse:i=>({children:[{text:i[1],type:T.text}],target:i[1],type:T.link})},[T.linkBareUrlDetector]:{match:Se((i,u)=>u.inAnchor||e.disableAutoLink?null:ae(ds)(i,u)),order:0,parse:i=>({children:[{text:i[1],type:T.text}],target:i[1],title:void 0,type:T.link})},[T.linkMailtoDetector]:{match:ae(us),order:0,parse(i){let u=i[1],f=i[1];return Yn.test(f)||(f="mailto:"+f),{children:[{text:u.replace("mailto:",""),type:T.text}],target:f,type:T.link}}},[T.orderedList]:It(t,1),[T.unorderedList]:It(t,2),[T.newlineCoalescer]:{match:te(es),order:3,parse:Xe,render:()=>`
`},[T.paragraph]:{match:Se(Ms),order:3,parse:Ze,render:(i,u,f)=>t("p",{key:f.key},u(i.children,f))},[T.ref]:{match:ae(fs),order:0,parse:i=>(o[i[1]]={target:i[2],title:i[4]},{}),render:et},[T.refImage]:{match:oe(ps),order:0,parse:i=>({alt:i[1]||void 0,ref:i[2]}),render:(i,u,f)=>o[i.ref]?t("img",{key:f.key,alt:i.alt,src:e.sanitizer(o[i.ref].target,"img","src"),title:o[i.ref].title}):null},[T.refLink]:{match:ae(gs),order:0,parse:(i,u,f)=>({children:u(i[1],f),fallbackChildren:i[0],ref:i[2]}),render:(i,u,f)=>o[i.ref]?t("a",{key:f.key,href:e.sanitizer(o[i.ref].target,"a","href"),title:o[i.ref].title},u(i.children,f)):t("span",{key:f.key},i.fallbackChildren)},[T.table]:{match:te(lr),order:1,parse:Ls,render(i,u,f){const y=i;return t("table",{key:f.key},t("thead",null,t("tr",null,y.header.map(function(g,x){return t("th",{key:x,style:$t(y,x)},u(g,f))}))),t("tbody",null,y.cells.map(function(g,x){return t("tr",{key:x},g.map(function(S,b){return t("td",{key:b,style:$t(y,b)},u(S,f))}))})))}},[T.text]:{match:je(Os),order:4,parse:i=>({text:i[0].replace(os,(u,f)=>e.namedCodesToUnicode[f]?e.namedCodesToUnicode[f]:u)}),render:i=>i.text},[T.textBolded]:{match:oe(Cs),order:2,parse:(i,u,f)=>({children:u(i[2],f)}),render:(i,u,f)=>t("strong",{key:f.key},u(i.children,f))},[T.textEmphasized]:{match:oe(js),order:3,parse:(i,u,f)=>({children:u(i[2],f)}),render:(i,u,f)=>t("em",{key:f.key},u(i.children,f))},[T.textEscaped]:{match:oe(Ds),order:1,parse:i=>({text:i[1],type:T.text})},[T.textMarked]:{match:oe(ws),order:3,parse:Ze,render:(i,u,f)=>t("mark",{key:f.key},u(i.children,f))},[T.textStrikethroughed]:{match:oe(ks),order:3,parse:Ze,render:(i,u,f)=>t("del",{key:f.key},u(i.children,f))}};e.disableParsingRawHTML===!0&&(delete l[T.htmlBlock],delete l[T.htmlSelfClosing]);const c=function(i){let u=Object.keys(i);function f(y,g){let x,S,b=[],F="",C="";for(g.prevCapture=g.prevCapture||"";y;){let v=0;for(;v<u.length;){if(F=u[v],x=i[F],g.inline&&!x.match.inline){v++;continue}const w=x.match(y,g);if(w){C=w[0],g.prevCapture+=C,y=y.substring(C.length),S=x.parse(w,f,g),S.type==null&&(S.type=F),b.push(S);break}v++}}return g.prevCapture="",b}return u.sort(function(y,g){let x=i[y].order,S=i[g].order;return x!==S?x-S:y<g?-1:1}),function(y,g){return f(function(x){return x.replace(ts,`
`).replace(ss,"").replace(xs," ")}(y),g)}}(l),d=(h=function(i,u){return function(f,y,g){const x=i[f.type].render;return u?u(()=>x(f,y,g),f,y,g):x(f,y,g)}}(l,e.renderRule),function i(u,f={}){if(Array.isArray(u)){const y=f.key,g=[];let x=!1;for(let S=0;S<u.length;S++){f.key=S;const b=i(u[S],f),F=typeof b=="string";F&&x?g[g.length-1]+=b:b!==null&&g.push(b),x=F}return f.key=y,g}return h(u,i,f)});var h;const p=n(r);return a.length?t("div",null,p,t("footer",{key:"footer"},a.map(function(i){return t("div",{id:e.slugify(i.identifier,Ce),key:i.identifier},i.identifier,d(c(i.footnote,{inline:!0})))}))):p}const Ke=r=>{let{children:e="",options:t}=r,n=function(s,a){if(s==null)return{};var o,l,c={},d=Object.keys(s);for(l=0;l<d.length;l++)a.indexOf(o=d[l])>=0||(c[o]=s[o]);return c}(r,qn);return D.cloneElement(Ys(e,t),n)};class zs extends D.Component{constructor(){super(...arguments),this.state={wasPropertyKeyModified:!1,additionalProperties:{}},this.onPropertyChange=(e,t=!1)=>(n,s,a)=>{const{formData:o,onChange:l,errorSchema:c}=this.props;n===void 0&&t&&(n="");const d={...o,[e]:n};l(d,c&&c&&{...c,[e]:s},a)},this.onDropPropertyClick=e=>t=>{t.preventDefault();const{onChange:n,formData:s}=this.props,a={...s};an(a,e),n(a)},this.getAvailableKey=(e,t)=>{const{uiSchema:n,registry:s}=this.props,{duplicateKeySuffixSeparator:a="-"}=_(n,s.globalUiOptions);let o=0,l=e;for(;Ct(t,l);)l=`${e}${a}${++o}`;return l},this.onKeyChange=e=>(t,n)=>{if(e===t)return;const{formData:s,onChange:a,errorSchema:o}=this.props;t=this.getAvailableKey(t,s);const l={...s},c={[e]:t},d=Object.keys(l).map(p=>({[c[p]||p]:l[p]})),h=Object.assign({},...d);this.setState({wasPropertyKeyModified:!0}),a(h,o&&o&&{...o,[t]:n})},this.handleAddClick=e=>()=>{var t;if(!e.additionalProperties)return;const{formData:n,onChange:s,registry:a}=this.props,o={...n};let l,c,d;if(ue(e.additionalProperties)){l=e.additionalProperties.type,c=e.additionalProperties.const,d=e.additionalProperties.default;let i=e.additionalProperties;if(re in i){const{schemaUtils:u}=a;i=u.retrieveSchema({$ref:i[re]},n),l=i.type,c=i.const,d=i.default}!l&&(Z in i||G in i)&&(l="object")}const h=this.getAvailableKey("newKey",o),p=(t=c??d)!==null&&t!==void 0?t:this.getDefaultValue(l);Q(o,h,p),s(o)}}isRequired(e){const{schema:t}=this.props;return Array.isArray(t.required)&&t.required.indexOf(e)!==-1}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{};case"string":default:return t(W.NewStringDefault)}}render(){var e,t,n,s;const{schema:a,uiSchema:o={},formData:l,errorSchema:c,idSchema:d,name:h,required:p=!1,disabled:i,readonly:u,hideError:f,idPrefix:y,idSeparator:g,onBlur:x,onFocus:S,registry:b,title:F}=this.props,{fields:C,formContext:v,schemaUtils:w,translateString:k,globalUiOptions:A}=b,{SchemaField:j}=C,I=w.retrieveSchema(a,l),B=_(o,A),{properties:E={}}=I,L=(n=(t=(e=B.title)!==null&&e!==void 0?e:I.title)!==null&&t!==void 0?t:F)!==null&&n!==void 0?n:h,N=(s=B.description)!==null&&s!==void 0?s:I.description;let R;try{const O=Object.keys(E);R=Bn(O,B.order)}catch(O){return m.jsxs("div",{children:[m.jsx("p",{className:"config-error",style:{color:"red"},children:m.jsx(Ke,{options:{disableParsingRawHTML:!0},children:k(W.InvalidObjectField,[h||"root",O.message])})}),m.jsx("pre",{children:JSON.stringify(I)})]})}const V=U("ObjectFieldTemplate",b,B),$={title:B.label===!1?"":L,description:B.label===!1?void 0:N,properties:R.map(O=>{const q=Ct(I,[z,O,Me]),H=q?o.additionalProperties:o[O],ne=_(H).widget==="hidden",J=de(d,[O],{});return{content:m.jsx(j,{name:O,required:this.isRequired(O),schema:de(I,[z,O],{}),uiSchema:H,errorSchema:de(c,O),idSchema:J,idPrefix:y,idSeparator:g,formData:de(l,O),formContext:v,wasPropertyKeyModified:this.state.wasPropertyKeyModified,onKeyChange:this.onKeyChange(O),onChange:this.onPropertyChange(O,q),onBlur:x,onFocus:S,registry:b,disabled:i,readonly:u,hideError:f,onDropPropertyClick:this.onDropPropertyClick},O),name:O,readonly:u,disabled:i,required:p,hidden:ne}}),readonly:u,disabled:i,required:p,idSchema:d,uiSchema:o,errorSchema:c,schema:I,formData:l,formContext:v,registry:b};return m.jsx(V,{...$,onAddClick:this.handleAddClick})}}const Js={array:"ArrayField",boolean:"BooleanField",integer:"NumberField",number:"NumberField",object:"ObjectField",string:"StringField",null:"NullField"};function Gs(r,e,t,n){const s=e.field,{fields:a,translateString:o}=n;if(typeof s=="function")return s;if(typeof s=="string"&&s in a)return a[s];const l=ke(r),c=Array.isArray(l)?l[0]:l||"",d=r.$id;let h=Js[c];return d&&d in a&&(h=d),!h&&(r.anyOf||r.oneOf)?()=>null:h in a?a[h]:()=>{const p=U("UnsupportedFieldTemplate",n,e);return m.jsx(p,{schema:r,idSchema:t,reason:o(W.UnknownFieldType,[String(r.type)]),registry:n})}}function Qs(r){var e,t,n;const{schema:s,idSchema:a,uiSchema:o,formData:l,errorSchema:c,idPrefix:d,idSeparator:h,name:p,onChange:i,onKeyChange:u,onDropPropertyClick:f,required:y,registry:g,wasPropertyKeyModified:x=!1}=r,{formContext:S,schemaUtils:b,globalUiOptions:F}=g,C=_(o,F),v=U("FieldTemplate",g,C),w=U("DescriptionFieldTemplate",g,C),k=U("FieldHelpTemplate",g,C),A=U("FieldErrorTemplate",g,C),j=b.retrieveSchema(s,l),I=a[st],B=be(b.toIdSchema(j,I,l,d,h),a),E=D.useCallback((me,kr,Dr)=>i(me,kr,Dr||I),[I,i]),L=Gs(j,C,B,g),N=!!((e=C.disabled)!==null&&e!==void 0?e:r.disabled),R=!!((t=C.readonly)!==null&&t!==void 0?t:r.readonly||r.schema.const||r.schema.readOnly||j.readOnly),V=C.hideError,$=V===void 0?r.hideError:!!V,O=!!((n=C.autofocus)!==null&&n!==void 0?n:r.autofocus);if(Object.keys(j).length===0)return null;const q=b.getDisplayLabel(j,o,F),{__errors:H,...ne}=c||{},J=it(o,["ui:classNames","classNames","ui:style"]);Be in J&&(J[Be]=it(J[Be],["classNames","style"]));const se=m.jsx(L,{...r,onChange:E,idSchema:B,schema:j,uiSchema:J,disabled:N,readonly:R,hideError:$,autofocus:O,errorSchema:ne,formContext:S,rawErrors:H}),ge=B[st];let ve;x?ve=p:ve=Me in j?p:C.title||r.schema.title||j.title||r.title||p;const He=C.description||r.schema.description||j.description||"",br=C.enableMarkdownInDescription?m.jsx(Ke,{options:{disableParsingRawHTML:!0},children:He}):He,Ye=C.help,Sr=C.widget==="hidden",Ee=["form-group","field",`field-${ke(j)}`];!$&&H&&H.length>0&&Ee.push("field-error has-error has-danger"),o!=null&&o.classNames&&Ee.push(o.classNames),C.classNames&&Ee.push(C.classNames);const vr=m.jsx(k,{help:Ye,idSchema:B,schema:j,uiSchema:o,hasErrors:!$&&H&&H.length>0,registry:g}),Fr=$||(j.anyOf||j.oneOf)&&!b.isSelect(j)?void 0:m.jsx(A,{errors:H,errorSchema:c,idSchema:B,schema:j,uiSchema:o,registry:g}),Cr={description:m.jsx(w,{id:De(ge),description:br,schema:j,uiSchema:o,registry:g}),rawDescription:He,help:vr,rawHelp:typeof Ye=="string"?Ye:void 0,errors:Fr,rawErrors:$?void 0:H,id:ge,label:ve,hidden:Sr,onChange:i,onKeyChange:u,onDropPropertyClick:f,required:y,disabled:N,readonly:R,hideError:$,displayLabel:q,classNames:Ee.join(" ").trim(),style:C.style,formContext:S,formData:l,schema:j,uiSchema:o,registry:g},jr=g.fields.AnyOfField,wr=g.fields.OneOfField,xt=(o==null?void 0:o["ui:field"])&&(o==null?void 0:o["ui:fieldReplacesAnyOrOneOf"])===!0;return m.jsx(v,{...Cr,children:m.jsxs(m.Fragment,{children:[se,j.anyOf&&!xt&&!b.isSelect(j)&&m.jsx(jr,{name:p,disabled:N,readonly:R,hideError:$,errorSchema:c,formData:l,formContext:S,idPrefix:d,idSchema:B,idSeparator:h,onBlur:r.onBlur,onChange:r.onChange,onFocus:r.onFocus,options:j.anyOf.map(me=>b.retrieveSchema(ue(me)?me:{},l)),registry:g,required:y,schema:j,uiSchema:o}),j.oneOf&&!xt&&!b.isSelect(j)&&m.jsx(wr,{name:p,disabled:N,readonly:R,hideError:$,errorSchema:c,formData:l,formContext:S,idPrefix:d,idSchema:B,idSeparator:h,onBlur:r.onBlur,onChange:r.onChange,onFocus:r.onFocus,options:j.oneOf.map(me=>b.retrieveSchema(ue(me)?me:{},l)),registry:g,required:y,schema:j,uiSchema:o})]})})}class Zs extends D.Component{shouldComponentUpdate(e){return!M(this.props,e)}render(){return m.jsx(Qs,{...this.props})}}function Xs(r){var e;const{schema:t,name:n,uiSchema:s,idSchema:a,formData:o,required:l,disabled:c=!1,readonly:d=!1,autofocus:h=!1,onChange:p,onBlur:i,onFocus:u,registry:f,rawErrors:y,hideError:g}=r,{title:x,format:S}=t,{widgets:b,formContext:F,schemaUtils:C,globalUiOptions:v}=f,w=C.isSelect(t)?Pe(t,s):void 0;let k=w?"select":"text";S&&En(t,S,b)&&(k=S);const{widget:A=k,placeholder:j="",title:I,...B}=_(s),E=C.getDisplayLabel(t,s,v),L=(e=I??x)!==null&&e!==void 0?e:n,N=X(t,A,b);return m.jsx(N,{options:{...B,enumOptions:w},schema:t,uiSchema:s,id:a.$id,name:n,label:L,hideLabel:!E,hideError:g,value:o,onChange:p,onBlur:i,onFocus:u,required:l,disabled:c,readonly:d,formContext:F,autofocus:h,registry:f,placeholder:j,rawErrors:y})}function ei(r){const{formData:e,onChange:t}=r;return D.useEffect(()=>{e===void 0&&t(null)},[e,t]),null}function ti(){return{AnyOfField:Tt,ArrayField:Pn,BooleanField:Wn,NumberField:Vn,ObjectField:zs,OneOfField:Tt,SchemaField:Zs,StringField:Xs,NullField:ei}}function ri(r){const{idSchema:e,description:t,registry:n,schema:s,uiSchema:a}=r,o=_(a,n.globalUiOptions),{label:l=!0}=o;if(!t||!l)return null;const c=U("DescriptionFieldTemplate",n,o);return m.jsx(c,{id:De(e),description:t,schema:s,uiSchema:a,registry:n})}function ni(r){const{children:e,className:t,disabled:n,hasToolbar:s,hasMoveDown:a,hasMoveUp:o,hasRemove:l,hasCopy:c,index:d,onCopyIndexClick:h,onDropIndexClick:p,onReorderClick:i,readonly:u,registry:f,uiSchema:y}=r,{CopyButton:g,MoveDownButton:x,MoveUpButton:S,RemoveButton:b}=f.templates.ButtonTemplates,F={flex:1,paddingLeft:6,paddingRight:6,fontWeight:"bold"};return m.jsxs("div",{className:t,children:[m.jsx("div",{className:s?"col-xs-9":"col-xs-12",children:e}),s&&m.jsx("div",{className:"col-xs-3 array-item-toolbox",children:m.jsxs("div",{className:"btn-group",style:{display:"flex",justifyContent:"space-around"},children:[(o||a)&&m.jsx(S,{style:F,disabled:n||u||!o,onClick:i(d,d-1),uiSchema:y,registry:f}),(o||a)&&m.jsx(x,{style:F,disabled:n||u||!a,onClick:i(d,d+1),uiSchema:y,registry:f}),c&&m.jsx(g,{style:F,disabled:n||u,onClick:h(d),uiSchema:y,registry:f}),l&&m.jsx(b,{style:F,disabled:n||u,onClick:p(d),uiSchema:y,registry:f})]})})]})}function si(r){const{canAdd:e,className:t,disabled:n,idSchema:s,uiSchema:a,items:o,onAddClick:l,readonly:c,registry:d,required:h,schema:p,title:i}=r,u=_(a),f=U("ArrayFieldDescriptionTemplate",d,u),y=U("ArrayFieldItemTemplate",d,u),g=U("ArrayFieldTitleTemplate",d,u),{ButtonTemplates:{AddButton:x}}=d.templates;return m.jsxs("fieldset",{className:t,id:s.$id,children:[m.jsx(g,{idSchema:s,title:u.title||i,required:h,schema:p,uiSchema:a,registry:d}),m.jsx(f,{idSchema:s,description:u.description||p.description,schema:p,uiSchema:a,registry:d}),m.jsx("div",{className:"row array-item-list",children:o&&o.map(({key:S,...b})=>m.jsx(y,{...b},S))}),e&&m.jsx(x,{className:"array-item-add",onClick:l,disabled:n||c,uiSchema:a,registry:d})]})}function ii(r){const{idSchema:e,title:t,schema:n,uiSchema:s,required:a,registry:o}=r,l=_(s,o.globalUiOptions),{label:c=!0}=l;if(!t||!c)return null;const d=U("TitleFieldTemplate",o,l);return m.jsx(d,{id:pt(e),title:t,required:a,schema:n,uiSchema:s,registry:o})}function ai(r){const{id:e,name:t,value:n,readonly:s,disabled:a,autofocus:o,onBlur:l,onFocus:c,onChange:d,onChangeOverride:h,options:p,schema:i,uiSchema:u,formContext:f,registry:y,rawErrors:g,type:x,hideLabel:S,hideError:b,...F}=r;if(!e)throw console.log("No id for",r),new Error(`no id for props ${JSON.stringify(r)}`);const C={...F,...er(i,x,p)};let v;C.type==="number"||C.type==="integer"?v=n||n===0?n:"":v=n??"";const w=D.useCallback(({target:{value:j}})=>d(j===""?p.emptyValue:j),[d,p]),k=D.useCallback(({target:j})=>l(e,j&&j.value),[l,e]),A=D.useCallback(({target:j})=>c(e,j&&j.value),[c,e]);return m.jsxs(m.Fragment,{children:[m.jsx("input",{id:e,name:e,className:"form-control",readOnly:s,disabled:a,autoFocus:o,value:v,...C,list:i.examples?We(e):void 0,onChange:h||w,onBlur:k,onFocus:A,"aria-describedby":ee(e,!!i.examples)}),Array.isArray(i.examples)&&m.jsx("datalist",{id:We(e),children:i.examples.concat(i.default&&!i.examples.includes(i.default)?[i.default]:[]).map(j=>m.jsx("option",{value:j},j))},`datalist_${e}`)]})}function oi({uiSchema:r}){const{submitText:e,norender:t,props:n={}}=Tn(r);return t?null:m.jsx("div",{children:m.jsx("button",{type:"submit",...n,className:`btn btn-info ${n.className||""}`,children:e})})}function Te(r){const{iconType:e="default",icon:t,className:n,uiSchema:s,registry:a,...o}=r;return m.jsx("button",{type:"button",className:`btn btn-${e} ${n}`,...o,children:m.jsx("i",{className:`glyphicon glyphicon-${t}`})})}function li(r){const{registry:{translateString:e}}=r;return m.jsx(Te,{title:e(W.CopyButton),className:"array-item-copy",...r,icon:"copy"})}function ci(r){const{registry:{translateString:e}}=r;return m.jsx(Te,{title:e(W.MoveDownButton),className:"array-item-move-down",...r,icon:"arrow-down"})}function di(r){const{registry:{translateString:e}}=r;return m.jsx(Te,{title:e(W.MoveUpButton),className:"array-item-move-up",...r,icon:"arrow-up"})}function ui(r){const{registry:{translateString:e}}=r;return m.jsx(Te,{title:e(W.RemoveButton),className:"array-item-remove",...r,iconType:"danger",icon:"remove"})}function mi({className:r,onClick:e,disabled:t,registry:n}){const{translateString:s}=n;return m.jsx("div",{className:"row",children:m.jsx("p",{className:`col-xs-3 col-xs-offset-9 text-right ${r}`,children:m.jsx(Te,{iconType:"info",icon:"plus",className:"btn-add col-xs-12",title:s(W.AddButton),onClick:e,disabled:t,registry:n})})})}function hi(){return{SubmitButton:oi,AddButton:mi,CopyButton:li,MoveDownButton:ci,MoveUpButton:di,RemoveButton:ui}}function fi(r){const{id:e,description:t}=r;return t?typeof t=="string"?m.jsx("p",{id:e,className:"field-description",children:t}):m.jsx("div",{id:e,className:"field-description",children:t}):null}function pi({errors:r,registry:e}){const{translateString:t}=e;return m.jsxs("div",{className:"panel panel-danger errors",children:[m.jsx("div",{className:"panel-heading",children:m.jsx("h3",{className:"panel-title",children:t(W.ErrorsLabel)})}),m.jsx("ul",{className:"list-group",children:r.map((n,s)=>m.jsx("li",{className:"list-group-item text-danger",children:n.stack},s))})]})}const gi="*";function xr(r){const{label:e,required:t,id:n}=r;return e?m.jsxs("label",{className:"control-label",htmlFor:n,children:[e,t&&m.jsx("span",{className:"required",children:gi})]}):null}function yi(r){const{id:e,label:t,children:n,errors:s,help:a,description:o,hidden:l,required:c,displayLabel:d,registry:h,uiSchema:p}=r,i=_(p),u=U("WrapIfAdditionalTemplate",h,i);return l?m.jsx("div",{className:"hidden",children:n}):m.jsxs(u,{...r,children:[d&&m.jsx(xr,{label:t,required:c,id:e}),d&&o?o:null,n,s,a]})}function xi(r){const{errors:e=[],idSchema:t}=r;if(e.length===0)return null;const n=on(t);return m.jsx("div",{children:m.jsx("ul",{id:n,className:"error-detail bs-callout bs-callout-info",children:e.filter(s=>!!s).map((s,a)=>m.jsx("li",{className:"text-danger",children:s},a))})})}function bi(r){const{idSchema:e,help:t}=r;if(!t)return null;const n=ln(e);return typeof t=="string"?m.jsx("p",{id:n,className:"help-block",children:t}):m.jsx("div",{id:n,className:"help-block",children:t})}function Si(r){const{description:e,disabled:t,formData:n,idSchema:s,onAddClick:a,properties:o,readonly:l,registry:c,required:d,schema:h,title:p,uiSchema:i}=r,u=_(i),f=U("TitleFieldTemplate",c,u),y=U("DescriptionFieldTemplate",c,u),{ButtonTemplates:{AddButton:g}}=c.templates;return m.jsxs("fieldset",{id:s.$id,children:[p&&m.jsx(f,{id:pt(s),title:p,required:d,schema:h,uiSchema:i,registry:c}),e&&m.jsx(y,{id:De(s),description:e,schema:h,uiSchema:i,registry:c}),o.map(x=>x.content),Yt(h,i,n)&&m.jsx(g,{className:"object-property-expand",onClick:a(h),disabled:t||l,uiSchema:i,registry:c})]})}const vi="*";function Fi(r){const{id:e,title:t,required:n}=r;return m.jsxs("legend",{id:e,children:[t,n&&m.jsx("span",{className:"required",children:vi})]})}function Ci(r){const{schema:e,idSchema:t,reason:n,registry:s}=r,{translateString:a}=s;let o=W.UnsupportedField;const l=[];return t&&t.$id&&(o=W.UnsupportedFieldWithId,l.push(t.$id)),n&&(o=o===W.UnsupportedField?W.UnsupportedFieldWithReason:W.UnsupportedFieldWithIdAndReason,l.push(n)),m.jsxs("div",{className:"unsupported-field",children:[m.jsx("p",{children:m.jsx(Ke,{options:{disableParsingRawHTML:!0},children:a(o,l)})}),e&&m.jsx("pre",{children:JSON.stringify(e,null,2)})]})}function ji(r){const{id:e,classNames:t,style:n,disabled:s,label:a,onKeyChange:o,onDropPropertyClick:l,readonly:c,required:d,schema:h,children:p,uiSchema:i,registry:u}=r,{templates:f,translateString:y}=u,{RemoveButton:g}=f.ButtonTemplates,x=y(W.KeyLabel,[a]);return Me in h?m.jsx("div",{className:t,style:n,children:m.jsxs("div",{className:"row",children:[m.jsx("div",{className:"col-xs-5 form-additional",children:m.jsxs("div",{className:"form-group",children:[m.jsx(xr,{label:x,required:d,id:`${e}-key`}),m.jsx("input",{className:"form-control",type:"text",id:`${e}-key`,onBlur:({target:b})=>o(b&&b.value),defaultValue:a})]})}),m.jsx("div",{className:"form-additional form-group col-xs-5",children:p}),m.jsx("div",{className:"col-xs-2",children:m.jsx(g,{className:"array-item-remove btn-block",style:{border:"0"},disabled:s||c,onClick:l(a),uiSchema:i,registry:u})})]})}):m.jsx("div",{className:t,style:n,children:p})}function wi(){return{ArrayFieldDescriptionTemplate:ri,ArrayFieldItemTemplate:ni,ArrayFieldTemplate:si,ArrayFieldTitleTemplate:ii,ButtonTemplates:hi(),BaseInputTemplate:ai,DescriptionFieldTemplate:fi,ErrorListTemplate:pi,FieldTemplate:yi,FieldErrorTemplate:xi,FieldHelpTemplate:bi,ObjectFieldTemplate:Si,TitleFieldTemplate:Fi,UnsupportedFieldTemplate:Ci,WrapIfAdditionalTemplate:ji}}function ki(r){return Object.values(r).every(e=>e!==-1)}function Di({type:r,range:e,value:t,select:n,rootId:s,name:a,disabled:o,readonly:l,autofocus:c,registry:d,onBlur:h,onFocus:p}){const i=s+"_"+r,{SelectWidget:u}=d.widgets;return m.jsx(u,{schema:{type:"integer"},id:i,name:a,className:"form-control",options:{enumOptions:Gt(e[0],e[1])},placeholder:r,value:t,disabled:o,readonly:l,autofocus:c,onChange:f=>n(r,f),onBlur:h,onFocus:p,registry:d,label:"","aria-describedby":ee(s)})}function Oi({time:r=!1,disabled:e=!1,readonly:t=!1,autofocus:n=!1,options:s,id:a,name:o,registry:l,onBlur:c,onFocus:d,onChange:h,value:p}){const{translateString:i}=l,[u,f]=D.useState(p),[y,g]=D.useReducer((F,C)=>({...F,...C}),Je(p,r));D.useEffect(()=>{const F=Dt(y,r);ki(y)&&F!==p?h(F):u!==p&&(f(p),g(Je(p,r)))},[r,p,h,y,u]);const x=D.useCallback((F,C)=>{g({[F]:C})},[]),S=D.useCallback(F=>{if(F.preventDefault(),e||t)return;const C=Je(new Date().toJSON(),r);h(Dt(C,r))},[e,t,r]),b=D.useCallback(F=>{F.preventDefault(),!(e||t)&&h(void 0)},[e,t,h]);return m.jsxs("ul",{className:"list-inline",children:[Dn(y,r,s.yearsRange,s.format).map((F,C)=>m.jsx("li",{className:"list-inline-item",children:m.jsx(Di,{rootId:a,name:o,select:x,...F,disabled:e,readonly:t,registry:l,onBlur:c,onFocus:d,autofocus:n&&C===0})},C)),(s.hideNowButton!=="undefined"?!s.hideNowButton:!0)&&m.jsx("li",{className:"list-inline-item",children:m.jsx("a",{href:"#",className:"btn btn-info btn-now",onClick:S,children:i(W.NowLabel)})}),(s.hideClearButton!=="undefined"?!s.hideClearButton:!0)&&m.jsx("li",{className:"list-inline-item",children:m.jsx("a",{href:"#",className:"btn btn-warning btn-clear",onClick:b,children:i(W.ClearLabel)})})]})}function Ti({time:r=!0,...e}){const{AltDateWidget:t}=e.registry.widgets;return m.jsx(t,{time:r,...e})}function Ai({schema:r,uiSchema:e,options:t,id:n,value:s,disabled:a,readonly:o,label:l,hideLabel:c,autofocus:d=!1,onBlur:h,onFocus:p,onChange:i,registry:u}){var f;const y=U("DescriptionFieldTemplate",u,t),g=Ue(r),x=D.useCallback(C=>i(C.target.checked),[i]),S=D.useCallback(C=>h(n,C.target.checked),[h,n]),b=D.useCallback(C=>p(n,C.target.checked),[p,n]),F=(f=t.description)!==null&&f!==void 0?f:r.description;return m.jsxs("div",{className:`checkbox ${a||o?"disabled":""}`,children:[!c&&!!F&&m.jsx(y,{id:De(n),description:F,schema:r,uiSchema:e,registry:u}),m.jsxs("label",{children:[m.jsx("input",{type:"checkbox",id:n,name:n,checked:typeof s>"u"?!1:s,required:g,disabled:a||o,autoFocus:d,onChange:x,onBlur:S,onFocus:b,"aria-describedby":ee(n)}),Nn(m.jsx("span",{children:l}),c)]})]})}function Ei({id:r,disabled:e,options:{inline:t=!1,enumOptions:n,enumDisabled:s,emptyValue:a},value:o,autofocus:l=!1,readonly:c,onChange:d,onBlur:h,onFocus:p}){const i=Array.isArray(o)?o:[o],u=D.useCallback(({target:y})=>h(r,K(y&&y.value,n,a)),[h,r]),f=D.useCallback(({target:y})=>p(r,K(y&&y.value,n,a)),[p,r]);return m.jsx("div",{className:"checkboxes",id:r,children:Array.isArray(n)&&n.map((y,g)=>{const x=Oe(y.value,i),S=Array.isArray(s)&&s.indexOf(y.value)!==-1,b=e||S||c?"disabled":"",F=v=>{v.target.checked?d(Xt(g,i,n)):d(Qt(g,i,n))},C=m.jsxs("span",{children:[m.jsx("input",{type:"checkbox",id:Ve(r,g),name:r,checked:x,value:String(g),disabled:e||S||c,autoFocus:l&&g===0,onChange:F,onBlur:u,onFocus:f,"aria-describedby":ee(r)}),m.jsx("span",{children:y.label})]});return t?m.jsx("label",{className:`checkbox-inline ${b}`,children:C},g):m.jsx("div",{className:`checkbox ${b}`,children:m.jsx("label",{children:C})},g)})})}function Ni(r){const{disabled:e,readonly:t,options:n,registry:s}=r,a=U("BaseInputTemplate",s,n);return m.jsx(a,{type:"color",...r,disabled:e||t})}function Ii(r){const{onChange:e,options:t,registry:n}=r,s=U("BaseInputTemplate",n,t),a=D.useCallback(o=>e(o||void 0),[e]);return m.jsx(s,{type:"date",...r,onChange:a})}function Bi(r){const{onChange:e,value:t,options:n,registry:s}=r,a=U("BaseInputTemplate",s,n);return m.jsx(a,{type:"datetime-local",...r,value:_n(t),onChange:o=>e(In(o))})}function $i(r){const{options:e,registry:t}=r,n=U("BaseInputTemplate",t,e);return m.jsx(n,{type:"email",...r})}function Ui(r,e){return r===null?null:r.replace(";base64",`;name=${encodeURIComponent(e)};base64`)}function _i(r){const{name:e,size:t,type:n}=r;return new Promise((s,a)=>{const o=new window.FileReader;o.onerror=a,o.onload=l=>{var c;typeof((c=l.target)===null||c===void 0?void 0:c.result)=="string"?s({dataURL:Ui(l.target.result,e),name:e,size:t,type:n}):s({dataURL:null,name:e,size:t,type:n})},o.readAsDataURL(r)})}function Ri(r){return Promise.all(Array.from(r).map(_i))}function Pi({fileInfo:r,registry:e}){const{translateString:t}=e,{dataURL:n,type:s,name:a}=r;return n?["image/jpeg","image/png"].includes(s)?m.jsx("img",{src:n,style:{maxWidth:"100%"},className:"file-preview"}):m.jsxs(m.Fragment,{children:[" ",m.jsx("a",{download:`preview-${a}`,href:n,className:"file-download",children:t(W.PreviewLabel)})]}):null}function Wi({filesInfo:r,registry:e,preview:t,onRemove:n,options:s}){if(r.length===0)return null;const{translateString:a}=e,{RemoveButton:o}=U("ButtonTemplates",e,s);return m.jsx("ul",{className:"file-info",children:r.map((l,c)=>{const{name:d,size:h,type:p}=l,i=()=>n(c);return m.jsxs("li",{children:[m.jsx(Ke,{children:a(W.FilesInfo,[d,p,String(h)])}),t&&m.jsx(Pi,{fileInfo:l,registry:e}),m.jsx(o,{onClick:i,registry:e})]},c)})})}function Li(r){return r.reduce((e,t)=>{if(!t)return e;try{const{blob:n,name:s}=Cn(t);return[...e,{dataURL:t,name:s,size:n.size,type:n.type}]}catch{return e}},[])}function Mi(r){const{disabled:e,readonly:t,required:n,multiple:s,onChange:a,value:o,options:l,registry:c}=r,d=U("BaseInputTemplate",c,l),h=D.useCallback(u=>{u.target.files&&Ri(u.target.files).then(f=>{const y=f.map(g=>g.dataURL);a(s?o.concat(y):y[0])})},[s,o,a]),p=D.useMemo(()=>Li(Array.isArray(o)?o:[o]),[o]),i=D.useCallback(u=>{if(s){const f=o.filter((y,g)=>g!==u);a(f)}else a(void 0)},[s,o,a]);return m.jsxs("div",{children:[m.jsx(d,{...r,disabled:e||t,type:"file",required:o?!1:n,onChangeOverride:h,value:"",accept:l.accept?String(l.accept):void 0}),m.jsx(Wi,{filesInfo:p,onRemove:i,registry:c,preview:l.filePreview,options:l})]})}function Vi({id:r,value:e}){return m.jsx("input",{type:"hidden",id:r,name:r,value:typeof e>"u"?"":e})}function qi(r){const{options:e,registry:t}=r,n=U("BaseInputTemplate",t,e);return m.jsx(n,{type:"password",...r})}function Ki({options:r,value:e,required:t,disabled:n,readonly:s,autofocus:a=!1,onBlur:o,onFocus:l,onChange:c,id:d}){const{enumOptions:h,enumDisabled:p,inline:i,emptyValue:u}=r,f=D.useCallback(({target:g})=>o(d,K(g&&g.value,h,u)),[o,d]),y=D.useCallback(({target:g})=>l(d,K(g&&g.value,h,u)),[l,d]);return m.jsx("div",{className:"field-radio-group",id:d,children:Array.isArray(h)&&h.map((g,x)=>{const S=Oe(g.value,e),b=Array.isArray(p)&&p.indexOf(g.value)!==-1,F=n||b||s?"disabled":"",C=()=>c(g.value),v=m.jsxs("span",{children:[m.jsx("input",{type:"radio",id:Ve(d,x),checked:S,name:d,required:t,value:String(x),disabled:n||b||s,autoFocus:a&&x===0,onChange:C,onBlur:f,onFocus:y,"aria-describedby":ee(d)}),m.jsx("span",{children:g.label})]});return i?m.jsx("label",{className:`radio-inline ${F}`,children:v},x):m.jsx("div",{className:`radio ${F}`,children:m.jsx("label",{children:v})},x)})})}function Hi(r){const{value:e,registry:{templates:{BaseInputTemplate:t}}}=r;return m.jsxs("div",{className:"field-range-wrapper",children:[m.jsx(t,{type:"range",...r}),m.jsx("span",{className:"range-view",children:e})]})}function rt(r,e){return e?Array.from(r.target.options).slice().filter(t=>t.selected).map(t=>t.value):r.target.value}function Yi({schema:r,id:e,options:t,value:n,required:s,disabled:a,readonly:o,multiple:l=!1,autofocus:c=!1,onChange:d,onBlur:h,onFocus:p,placeholder:i}){const{enumOptions:u,enumDisabled:f,emptyValue:y}=t,g=l?[]:"",x=D.useCallback(v=>{const w=rt(v,l);return p(e,K(w,u,y))},[p,e,r,l,u,y]),S=D.useCallback(v=>{const w=rt(v,l);return h(e,K(w,u,y))},[h,e,r,l,u,y]),b=D.useCallback(v=>{const w=rt(v,l);return d(K(w,u,y))},[d,r,l,u,y]),F=Zt(n,u,l),C=!l&&r.default===void 0;return m.jsxs("select",{id:e,name:e,multiple:l,className:"form-control",value:typeof F>"u"?g:F,required:s,disabled:a||o,autoFocus:c,onBlur:S,onFocus:x,onChange:b,"aria-describedby":ee(e),children:[C&&m.jsx("option",{value:"",children:i}),Array.isArray(u)&&u.map(({value:v,label:w},k)=>{const A=f&&f.indexOf(v)!==-1;return m.jsx("option",{value:String(k),disabled:A,children:w},k)})]})}function zi(r){const{options:e,registry:t}=r,n=U("BaseInputTemplate",t,e);return m.jsx(n,{...r})}function Ji(r){const{onChange:e,options:t,registry:n}=r,s=U("BaseInputTemplate",n,t),a=D.useCallback(o=>e(o?`${o}:00`:void 0),[e]);return m.jsx(s,{type:"time",...r,onChange:a})}function Gi(r){const{options:e,registry:t}=r,n=U("BaseInputTemplate",t,e);return m.jsx(n,{type:"url",...r})}function Qi(r){const{options:e,registry:t}=r,n=U("BaseInputTemplate",t,e);return m.jsx(n,{type:"number",...r})}function Zi(){return{AltDateWidget:Oi,AltDateTimeWidget:Ti,CheckboxWidget:Ai,CheckboxesWidget:Ei,ColorWidget:Ni,DateWidget:Ii,DateTimeWidget:Bi,EmailWidget:$i,FileWidget:Mi,HiddenWidget:Vi,PasswordWidget:qi,RadioWidget:Ki,RangeWidget:Hi,SelectWidget:Yi,TextWidget:zi,TextareaWidget:cn,TimeWidget:Ji,UpDownWidget:Qi,URLWidget:Gi}}function Xi(){return{fields:ti(),templates:wi(),widgets:Zi(),rootSchema:{},formContext:{},translateString:wn}}class ea extends D.Component{constructor(e){if(super(e),this.getUsedFormData=(t,n)=>{if(n.length===0&&typeof t!="object")return t;const s=jt(t,n);return Array.isArray(t)?Object.keys(s).map(a=>s[a]):s},this.getFieldNames=(t,n)=>{const s=(a,o=[],l=[[]])=>(Object.keys(a).forEach(c=>{if(typeof a[c]=="object"){const d=l.map(h=>[...h,c]);a[c][qt]&&a[c][Ie]!==""?o.push(a[c][Ie]):s(a[c],o,d)}else c===Ie&&a[c]!==""&&l.forEach(d=>{const h=de(n,d);(typeof h!="object"||Ht(h)||Array.isArray(h)&&h.every(p=>typeof p!="object"))&&o.push(d)})}),o);return s(t)},this.omitExtraData=t=>{const{schema:n,schemaUtils:s}=this.state,a=s.retrieveSchema(n,t),o=s.toPathSchema(a,"",t),l=this.getFieldNames(o,t);return this.getUsedFormData(t,l)},this.onChange=(t,n,s)=>{const{extraErrors:a,omitExtraData:o,liveOmit:l,noValidate:c,liveValidate:d,onChange:h}=this.props,{schemaUtils:p,schema:i,retrievedSchema:u}=this.state;(mt(t)||Array.isArray(t))&&(t=this.getStateFromProps(this.props,t,u).formData);const f=!c&&d;let y={formData:t,schema:i},g=t;if(o===!0&&l===!0&&(g=this.omitExtraData(t),y={formData:g}),f){const x=this.validate(g,i,p,u);let S=x.errors,b=x.errorSchema;const F=S,C=b;if(a){const v=Ge(x,a);b=v.errorSchema,S=v.errors}if(n){const v=this.filterErrorsBasedOnSchema(n,u,g);b=be(b,v,"preventDuplicates")}y={formData:g,errors:S,errorSchema:b,schemaValidationErrors:F,schemaValidationErrorSchema:C}}else if(!c&&n){const x=a?be(n,a,"preventDuplicates"):n;y={formData:g,errorSchema:x,errors:Le(x)}}this.setState(y,()=>h&&h({...this.state,...y},s))},this.reset=()=>{const{onChange:t}=this.props,a={formData:this.getStateFromProps(this.props,void 0).formData,errorSchema:{},errors:[],schemaValidationErrors:[],schemaValidationErrorSchema:{}};this.setState(a,()=>t&&t({...this.state,...a}))},this.onBlur=(t,n)=>{const{onBlur:s}=this.props;s&&s(t,n)},this.onFocus=(t,n)=>{const{onFocus:s}=this.props;s&&s(t,n)},this.onSubmit=t=>{if(t.preventDefault(),t.target!==t.currentTarget)return;t.persist();const{omitExtraData:n,extraErrors:s,noValidate:a,onSubmit:o}=this.props;let{formData:l}=this.state;if(n===!0&&(l=this.omitExtraData(l)),a||this.validateFormWithFormData(l)){const c=s||{},d=s?Le(s):[];this.setState({formData:l,errors:d,errorSchema:c,schemaValidationErrors:[],schemaValidationErrorSchema:{}},()=>{o&&o({...this.state,formData:l,status:"submitted"},t)})}},this.submit=()=>{if(this.formElement.current){const t=new CustomEvent("submit",{cancelable:!0});t.preventDefault(),this.formElement.current.dispatchEvent(t),this.formElement.current.requestSubmit()}},this.validateFormWithFormData=t=>{const{extraErrors:n,extraErrorsBlockSubmit:s,focusOnFirstError:a,onError:o}=this.props,{errors:l}=this.state,c=this.validate(t);let d=c.errors,h=c.errorSchema;const p=d,i=h,u=d.length>0||n&&s;if(u){if(n){const f=Ge(c,n);h=f.errorSchema,d=f.errors}a&&(typeof a=="function"?a(d[0]):this.focusOnError(d[0])),this.setState({errors:d,errorSchema:h,schemaValidationErrors:p,schemaValidationErrorSchema:i},()=>{o?o(d):console.error("Form validation failed",d)})}else l.length>0&&this.setState({errors:[],errorSchema:{},schemaValidationErrors:[],schemaValidationErrorSchema:{}});return!u},!e.validator)throw new Error("A validator is required for Form functionality to work");this.state=this.getStateFromProps(e,e.formData),this.props.onChange&&!M(this.state.formData,this.props.formData)&&this.props.onChange(this.state),this.formElement=D.createRef()}getSnapshotBeforeUpdate(e,t){if(!M(this.props,e)){const n=!M(e.schema,this.props.schema),s=!M(e.formData,this.props.formData),a=this.getStateFromProps(this.props,this.props.formData,n||s?void 0:this.state.retrievedSchema,n),o=!M(a,t);return{nextState:a,shouldUpdate:o}}return{shouldUpdate:!1}}componentDidUpdate(e,t,n){if(n.shouldUpdate){const{nextState:s}=n;!M(s.formData,this.props.formData)&&!M(s.formData,t.formData)&&this.props.onChange&&this.props.onChange(s),this.setState(s)}}getStateFromProps(e,t,n,s=!1){var a;const o=this.state||{},l="schema"in e?e.schema:this.props.schema,c=("uiSchema"in e?e.uiSchema:this.props.uiSchema)||{},d=typeof t<"u",h="liveValidate"in e?e.liveValidate:this.props.liveValidate,p=d&&!e.noValidate&&h,i=l,u="experimental_defaultFormStateBehavior"in e?e.experimental_defaultFormStateBehavior:this.props.experimental_defaultFormStateBehavior,f="experimental_customMergeAllOf"in e?e.experimental_customMergeAllOf:this.props.experimental_customMergeAllOf;let y=o.schemaUtils;(!y||y.doesSchemaUtilsDiffer(e.validator,i,u,f))&&(y=Fn(e.validator,i,u,f));const g=y.getDefaultFormState(l,t),x=n??y.retrieveSchema(l,g),S=()=>e.noValidate||s?{errors:[],errorSchema:{}}:e.liveValidate?{errors:o.errors||[],errorSchema:o.errorSchema||{}}:{errors:o.schemaValidationErrors||[],errorSchema:o.schemaValidationErrorSchema||{}};let b,F,C=o.schemaValidationErrors,v=o.schemaValidationErrorSchema;if(p){const A=this.validate(g,l,y,x);b=A.errors,n===void 0?F=A.errorSchema:F=be((a=this.state)===null||a===void 0?void 0:a.errorSchema,A.errorSchema,"preventDuplicates"),C=b,v=F}else{const A=S();b=A.errors,F=A.errorSchema}if(e.extraErrors){const A=Ge({errorSchema:F,errors:b},e.extraErrors);F=A.errorSchema,b=A.errors}const w=y.toIdSchema(x,c["ui:rootFieldId"],g,e.idPrefix,e.idSeparator);return{schemaUtils:y,schema:l,uiSchema:c,idSchema:w,formData:g,edit:d,errors:b,errorSchema:F,schemaValidationErrors:C,schemaValidationErrorSchema:v,retrievedSchema:x}}shouldComponentUpdate(e,t){return $n(this,e,t)}validate(e,t=this.props.schema,n,s){const a=n||this.state.schemaUtils,{customValidate:o,transformErrors:l,uiSchema:c}=this.props,d=s??a.retrieveSchema(t,e);return a.getValidator().validateFormData(e,d,o,l,c)}renderErrors(e){const{errors:t,errorSchema:n,schema:s,uiSchema:a}=this.state,{formContext:o}=this.props,l=_(a),c=U("ErrorListTemplate",e,l);return t&&t.length?m.jsx(c,{errors:t,errorSchema:n||{},schema:s,uiSchema:a,formContext:o,registry:e}):null}filterErrorsBasedOnSchema(e,t,n){const{retrievedSchema:s,schemaUtils:a}=this.state,o=t??s,l=a.toPathSchema(o,"",n),c=this.getFieldNames(l,n),d=jt(e,c);(t==null?void 0:t.type)!=="object"&&(t==null?void 0:t.type)!=="array"&&(d.__errors=e.__errors);const h=p=>(mn(p,(i,u)=>{hn(i)?delete p[u]:typeof i=="object"&&!Array.isArray(i.__errors)&&h(i)}),p);return h(d)}getRegistry(){var e;const{translateString:t,uiSchema:n={}}=this.props,{schemaUtils:s}=this.state,{fields:a,templates:o,widgets:l,formContext:c,translateString:d}=Xi();return{fields:{...a,...this.props.fields},templates:{...o,...this.props.templates,ButtonTemplates:{...o.ButtonTemplates,...(e=this.props.templates)===null||e===void 0?void 0:e.ButtonTemplates}},widgets:{...l,...this.props.widgets},rootSchema:this.props.schema,formContext:this.props.formContext||c,schemaUtils:s,translateString:t||d,globalUiOptions:n[dn]}}focusOnError(e){const{idPrefix:t="root",idSeparator:n="_"}=this.props,{property:s}=e,a=un(s);a[0]===""?a[0]=t:a.unshift(t);const o=a.join(n);let l=this.formElement.current.elements[o];l||(l=this.formElement.current.querySelector(`input[id^="${o}"`)),l&&l.length&&(l=l[0]),l&&l.focus()}validateForm(){const{omitExtraData:e}=this.props;let{formData:t}=this.state;return e===!0&&(t=this.omitExtraData(t)),this.validateFormWithFormData(t)}render(){const{children:e,id:t,idPrefix:n,idSeparator:s,className:a="",tagName:o,name:l,method:c,target:d,action:h,autoComplete:p,enctype:i,acceptcharset:u,acceptCharset:f,noHtml5Validate:y=!1,disabled:g,readonly:x,formContext:S,showErrorList:b="top",_internalFormWrapper:F}=this.props,{schema:C,uiSchema:v,formData:w,errorSchema:k,idSchema:A}=this.state,j=this.getRegistry(),{SchemaField:I}=j.fields,{SubmitButton:B}=j.templates.ButtonTemplates,E=F?o:void 0,L=F||o||"form";let{[Re]:N={}}=_(v);g&&(N={...N,props:{...N.props,disabled:!0}});const R={[Be]:{[Re]:N}};return m.jsxs(L,{className:a||"rjsf",id:t,name:l,method:c,target:d,action:h,autoComplete:p,encType:i,acceptCharset:f||u,noValidate:y,onSubmit:this.onSubmit,as:E,ref:this.formElement,children:[b==="top"&&this.renderErrors(j),m.jsx(I,{name:"",schema:C,uiSchema:v,errorSchema:k,idSchema:A,idPrefix:n,idSeparator:s,formContext:S,formData:w,onChange:this.onChange,onBlur:this.onBlur,onFocus:this.onFocus,registry:j,disabled:g,readonly:x}),e||m.jsx(B,{uiSchema:R,registry:j}),b==="bottom"&&this.renderErrors(j)]})}}const ta="*";function Ae(r){const{label:e,required:t,id:n}=r;return e?m.jsxs("label",{className:"control-label",htmlFor:n,children:[Wr(e),t&&m.jsx("span",{className:"required",children:ta})]}):null}function ra(r){const{id:e,label:t,children:n,errors:s,help:a,description:o,hidden:l,required:c,displayLabel:d,registry:h,uiSchema:p}=r,i=_(p,h.globalUiOptions),u=U("WrapIfAdditionalTemplate",h,i);return l?m.jsx("div",{className:"hidden",children:n}):m.jsxs(u,{...r,children:[m.jsxs("div",{className:"flex flex-col flex-grow gap-2 additional",children:[m.jsx("div",{className:dt("flex flex-grow additional-children",i.flexDirection==="row"?"flex-row items-center gap-3":"flex-col flex-grow gap-2"),children:n}),d&&o?o:null]}),s,a]})}function na({formData:r,onChange:e,disabled:t,readonly:n,...s}){const a=JSON.stringify(r,null,2);function o(d){try{e(JSON.parse(d))}catch(h){console.error(h)}}const l=t||n,c=s.idSchema.$id;return m.jsxs("div",{className:"flex flex-col gap-2",children:[m.jsx(Ae,{label:s.name,id:c}),m.jsx(Lr,{value:a,editable:!l,onChange:o})]})}class _t extends D.Component{constructor(t){super(t);bt(this,"onOptionChange",t=>{const{selectedOption:n,retrievedOptions:s}=this.state,{formData:a,onChange:o,registry:l}=this.props;console.log("onOptionChange",{state:{selectedOption:n,retrievedOptions:s},option:t});const{schemaUtils:c}=l,d=t!==void 0?Number.parseInt(t,10):-1;if(d===n)return;const h=d>=0?s[d]:void 0,p=n>=0?s[n]:void 0;let i=c.sanitizeDataForNewSchema(h,p,a);i&&h&&(i=c.getDefaultFormState(h,i,"excludeObjectChildren")),o(i,void 0,this.getFieldId()),this.setState({selectedOption:d})});const{formData:n,options:s,registry:{schemaUtils:a}}=this.props,o=s.map(l=>a.retrieveSchema(l,n));this.state={retrievedOptions:o,selectedOption:this.getMatchingOption(0,n,o)}}componentDidUpdate(t,n){const{formData:s,options:a,idSchema:o}=this.props,{selectedOption:l}=this.state;let c=this.state;if(!M(t.options,a)){const{registry:{schemaUtils:d}}=this.props,h=a.map(p=>d.retrieveSchema(p,s));c={selectedOption:l,retrievedOptions:h}}if(!M(s,t.formData)&&o.$id===t.idSchema.$id){const{retrievedOptions:d}=c,h=this.getMatchingOption(l,s,d);n&&h!==l&&(c={selectedOption:h,retrievedOptions:d})}c!==this.state&&this.setState(c)}getMatchingOption(t,n,s){const{schema:a,registry:{schemaUtils:o}}=this.props,l=ft(a);return o.getClosestMatchingOption(n,s,t,l)}getFieldId(){const{idSchema:t,schema:n}=this.props;return`${t.$id}${n.oneOf?"__oneof_select":"__anyof_select"}`}render(){const{name:t,disabled:n=!1,errorSchema:s={},formContext:a,onBlur:o,onFocus:l,registry:c,schema:d,uiSchema:h,readonly:p}=this.props,{widgets:i,fields:u,translateString:f,globalUiOptions:y,schemaUtils:g}=c,{SchemaField:x}=u,{selectedOption:S,retrievedOptions:b}=this.state,{widget:F="select",placeholder:C,autofocus:v,autocomplete:w,title:k=d.title,flexDirection:A,wrap:j,...I}=_(h,y),B=X({type:"number"},F,i),E=P(s,Y,[]),L=Mr(s,[Y]),N=g.getDisplayLabel(d,h,y),R=S>=0&&b[S]||null;let V;if(R){const{required:se}=d;V=se?Kt({required:se},R):R}let $=[];G in d&&h&&G in h?Array.isArray(h[G])?$=h[G]:console.warn(`uiSchema.oneOf is not an array for "${k||t}"`):Z in d&&h&&Z in h&&(Array.isArray(h[Z])?$=h[Z]:console.warn(`uiSchema.anyOf is not an array for "${k||t}"`));let O=h;S>=0&&$.length>S&&(O=$[S]);const q=k?W.TitleOptionPrefix:W.OptionPrefix,H=k?[k]:[],ne=b.map((se,ge)=>{const{title:ve=se.title}=_($[ge]);return{label:ve||f(q,H.concat(String(ge+1))),value:ge}}),J=V&&m.jsx(x,{...this.props,schema:V,uiSchema:{...O,"ui:options":{...O==null?void 0:O["ui:options"],hideLabel:!0}}});return m.jsxs("div",{className:dt("panel multischema flex",A==="row"?"flex-row gap-3":"flex-col gap-2"),children:[m.jsxs("div",{className:"flex flex-row gap-2 items-center panel-select",children:[m.jsx(Ae,{label:this.props.name,required:this.props.required,id:this.getFieldId()}),m.jsx(B,{id:this.getFieldId(),name:`${t}${d.oneOf?"__oneof_select":"__anyof_select"}`,schema:{type:"number",default:0},onChange:this.onOptionChange,onBlur:o,onFocus:l,disabled:n||ht(ne)||p,multiple:!1,rawErrors:E,errorSchema:L,value:S>=0?S:void 0,options:{enumOptions:ne,...I},registry:c,formContext:a,placeholder:C,autocomplete:w,autofocus:v,label:"",hideLabel:!N})]}),j?m.jsx("fieldset",{children:J}):J]})}}function sa({formData:r,onChange:e,disabled:t,readonly:n,...s}){function a(c){e(c)}const o=t||n,l=s.idSchema.$id;return m.jsxs("div",{className:"flex flex-col gap-2",children:[m.jsx(Ae,{label:s.name,id:l}),m.jsx(Vr,{value:r,editable:!o,onChange:a})]})}const ia={AnyOfField:_t,OneOfField:_t,JsonField:na,HtmlField:sa};function aa(r){const{children:e,className:t,disabled:n,hasToolbar:s,hasMoveDown:a,hasMoveUp:o,hasRemove:l,hasCopy:c,index:d,onCopyIndexClick:h,onDropIndexClick:p,onReorderClick:i,readonly:u,registry:f,uiSchema:y}=r,{CopyButton:g,MoveDownButton:x,MoveUpButton:S,RemoveButton:b}=f.templates.ButtonTemplates;return m.jsxs("div",{className:dt("flex flex-row w-full overflow-hidden",t),children:[s&&m.jsxs("div",{className:"flex flex-col gap-1 p-1 mr-2",children:[(o||a)&&m.jsx(S,{disabled:n||u||!o,onClick:i(d,d-1),uiSchema:y,registry:f}),(o||a)&&m.jsx(x,{disabled:n||u||!a,onClick:i(d,d+1),uiSchema:y,registry:f}),c&&m.jsx(g,{disabled:n||u,onClick:h(d),uiSchema:y,registry:f}),l&&m.jsx(b,{disabled:n||u,onClick:p(d),uiSchema:y,registry:f})]}),m.jsx("div",{className:"flex flex-col flex-grow",children:e})]})}function oa(r){const{canAdd:e,className:t,disabled:n,idSchema:s,uiSchema:a,items:o,onAddClick:l,readonly:c,registry:d,required:h,schema:p,title:i}=r,u=_(a),f=U("ArrayFieldDescriptionTemplate",d,u),y=U("ArrayFieldItemTemplate",d,u),g=U("ArrayFieldTitleTemplate",d,u),{ButtonTemplates:{AddButton:x}}=d.templates;return m.jsxs("fieldset",{className:t,id:s.$id,children:[m.jsx(g,{idSchema:s,title:u.title||i,required:h,schema:p,uiSchema:a,registry:d}),m.jsx(f,{idSchema:s,description:u.description||p.description,schema:p,uiSchema:a,registry:d}),o&&o.length>0&&m.jsx("div",{className:"flex flex-col gap-3 array-items",children:o.map(({key:S,children:b,...F})=>{const C=D.cloneElement(b,{...b.props,name:void 0,title:void 0});return m.jsx(y,{...F,children:C},S)})}),e&&m.jsx(x,{className:"array-item-add",onClick:l,disabled:n||c,uiSchema:a,registry:d})]})}function la(r){var I,B;const{id:e,name:t,value:n,readonly:s,disabled:a,autofocus:o,onBlur:l,onFocus:c,onChange:d,onChangeOverride:h,options:p,schema:i,uiSchema:u,formContext:f,registry:y,rawErrors:g,type:x,hideLabel:S,hideError:b,...F}=r;if(!e)throw console.log("No id for",r),new Error(`no id for props ${JSON.stringify(r)}`);const C={...F,...er(i,x,p)};let v;C.type==="number"||C.type==="integer"?v=n||n===0?n:"":v=n??"";const w=D.useCallback(({target:{value:E}})=>d(E===""?p.emptyValue:E),[d,p]),k=D.useCallback(({target:E})=>l(e,E==null?void 0:E.value),[l,e]),A=D.useCallback(({target:E})=>c(e,E==null?void 0:E.value),[c,e]),j=!r.label||((I=u["ui:options"])==null?void 0:I.hideLabel)||((B=r.options)==null?void 0:B.hideLabel)||r.hideLabel;return m.jsxs(m.Fragment,{children:[!j&&m.jsx(Ae,{label:r.label,required:r.required,id:e}),m.jsx("input",{id:e,name:e,className:"form-control",readOnly:s,disabled:a,autoFocus:o,value:v,...C,placeholder:r.label,list:i.examples?We(e):void 0,onChange:h||w,onBlur:k,onFocus:A,"aria-describedby":ee(e,!!i.examples)}),Array.isArray(i.examples)&&m.jsx("datalist",{id:We(e),children:i.examples.concat(i.default&&!i.examples.includes(i.default)?[i.default]:[]).map(E=>m.jsx("option",{value:E},E))},`datalist_${e}`)]})}const ca=({onClick:r,disabled:e,...t})=>m.jsx("div",{className:"flex flex-row",children:m.jsx(qr,{onClick:r,disabled:e,IconLeft:Kr,children:"Add"})}),da=({onClick:r,disabled:e,...t})=>m.jsx("div",{className:"flex flex-row",children:m.jsx(ut,{onClick:r,disabled:e,Icon:Hr})}),ua=({onClick:r,disabled:e,...t})=>m.jsx("div",{className:"flex flex-row",children:m.jsx(ut,{onClick:r,disabled:e,Icon:Yr})}),ma=({onClick:r,disabled:e,...t})=>m.jsx("div",{className:"flex flex-row",children:m.jsx(ut,{onClick:r,disabled:e,Icon:zr})}),ha=Object.freeze(Object.defineProperty({__proto__:null,AddButton:ca,MoveDownButton:ma,MoveUpButton:ua,RemoveButton:da},Symbol.toStringTag,{value:"Module"}));function fa(r){const{description:e,disabled:t,formData:n,idSchema:s,onAddClick:a,properties:o,readonly:l,registry:c,required:d,schema:h,title:p,uiSchema:i}=r,u=_(i),f=U("TitleFieldTemplate",c,u),y=U("DescriptionFieldTemplate",c,u),g=Yt(h,i,n);if(o.length===0&&!g)return null;const{ButtonTemplates:{AddButton:x}}=c.templates;return m.jsx(m.Fragment,{children:m.jsxs("fieldset",{id:s.$id,className:"object-field",children:[p&&m.jsx(f,{id:pt(s),title:p,required:d,schema:h,uiSchema:i,registry:c}),e&&m.jsx(y,{id:De(s),description:e,schema:h,uiSchema:i,registry:c}),o.map(S=>S.content),g&&m.jsx(x,{className:"object-property-expand",onClick:a(h),disabled:t||l,uiSchema:i,registry:c})]})})}function pa(r){const{id:e,title:t,required:n}=r;return m.jsx("legend",{id:e,className:"title-field",children:Jr(t)})}function ga(r){const{id:e,classNames:t,style:n,disabled:s,label:a,onKeyChange:o,onDropPropertyClick:l,readonly:c,required:d,schema:h,children:p,uiSchema:i,registry:u}=r,{templates:f,translateString:y}=u,{RemoveButton:g}=f.ButtonTemplates;y(W.KeyLabel,[a]);const x=Me in h,[S,b]=D.useState(!0);return x?m.jsx("div",{className:t,style:n,children:m.jsx("div",{className:"flex flex-col",children:m.jsxs("fieldset",{children:[m.jsxs("legend",{className:"flex flex-row justify-between gap-3",children:[m.jsx(g,{className:"array-item-remove btn-block",style:{border:"0"},disabled:s||c,onClick:l(a),uiSchema:i,registry:u}),m.jsx("div",{className:"form-group",children:m.jsx("input",{className:"form-control",type:"text",id:`${e}-key`,onBlur:F=>o(F.target.value),defaultValue:a})}),m.jsx("button",{onClick:()=>b(F=>!F),children:S?"collapse":"expand"})]}),S&&m.jsx("div",{className:"form-additional additional-start form-group",children:p})]})})}):m.jsx("div",{className:t,style:n,children:p})}const ya={ButtonTemplates:ha,ArrayFieldItemTemplate:aa,ArrayFieldTemplate:oa,FieldTemplate:ra,TitleFieldTemplate:pa,ObjectFieldTemplate:fa,BaseInputTemplate:la,WrapIfAdditionalTemplate:ga};function xa({schema:r,uiSchema:e,options:t,id:n,value:s,disabled:a,readonly:o,label:l,hideLabel:c,autofocus:d=!1,onBlur:h,onFocus:p,onChange:i,registry:u,...f}){const y=D.useCallback(g=>i(g.target.checked),[i]);return m.jsx(Gr,{id:n,onChange:y,defaultChecked:s,disabled:a||o,label:l.toLowerCase()===f.name.toLowerCase()?void 0:l})}function ba({id:r,disabled:e,options:{inline:t=!1,enumOptions:n,enumDisabled:s,emptyValue:a},value:o,autofocus:l=!1,readonly:c,onChange:d,onBlur:h,onFocus:p}){const i=Array.isArray(o)?o:[o],u=D.useCallback(({target:y})=>h(r,K(y==null?void 0:y.value,n,a)),[h,r]),f=D.useCallback(({target:y})=>p(r,K(y==null?void 0:y.value,n,a)),[p,r]);return m.jsx("div",{className:"checkboxes",id:r,children:Array.isArray(n)&&n.map((y,g)=>{const x=Oe(y.value,i),S=Array.isArray(s)&&s.indexOf(y.value)!==-1,b=e||S||c?"disabled":"",F=v=>{v.target.checked?d(Xt(g,i,n)):d(Qt(g,i,n))},C=m.jsxs("span",{children:[m.jsx("input",{type:"checkbox",id:Ve(r,g),name:r,checked:x,value:String(g),disabled:e||S||c,autoFocus:l&&g===0,onChange:F,onBlur:u,onFocus:f,"aria-describedby":ee(r)}),m.jsx("span",{children:y.label})]});return t?m.jsx("label",{className:`checkbox-inline ${b}`,children:C},g):m.jsx("div",{className:`checkbox ${b}`,children:m.jsx("label",{children:C})},g)})})}function Sa({value:r,onChange:e,disabled:t,readonly:n,...s}){const[a,o]=D.useState(JSON.stringify(r,null,2));function l(c){o(c.target.value);try{e(JSON.parse(c.target.value))}catch(d){console.error(d)}}return m.jsx("textarea",{value:a,rows:10,disabled:t||n,onChange:l})}function va({options:r,value:e,required:t,disabled:n,readonly:s,autofocus:a=!1,onBlur:o,onFocus:l,onChange:c,id:d}){const{enumOptions:h,enumDisabled:p,inline:i,emptyValue:u}=r,f=D.useCallback(({target:{value:g}})=>o(d,K(g,h,u)),[o,d]),y=D.useCallback(({target:{value:g}})=>l(d,K(g,h,u)),[l,d]);return m.jsx("div",{className:"field-radio-group",id:d,children:Array.isArray(h)&&h.map((g,x)=>{const S=Oe(g.value,e),b=Array.isArray(p)&&p.indexOf(g.value)!==-1,F=n||b||s?"disabled":"",C=()=>c(g.value),v=m.jsxs("span",{children:[m.jsx("input",{type:"radio",id:Ve(d,x),checked:S,name:d,required:t,value:String(x),disabled:n||b||s,autoFocus:a&&x===0,onChange:C,onBlur:f,onFocus:y,"aria-describedby":ee(d)}),m.jsx("span",{children:g.label})]});return i?m.jsx("label",{className:`radio-inline ${S?"checked":""} ${F}`,children:v},x):m.jsx("div",{className:`radio ${S?"checked":""} ${F}`,children:m.jsx("label",{children:v})},x)})})}function nt(r,e){return e?Array.from(r.target.options).slice().filter(t=>t.selected).map(t=>t.value):r.target.value}function Fa({schema:r,id:e,options:t,value:n,required:s,disabled:a,readonly:o,multiple:l=!1,autofocus:c=!1,onChange:d,onBlur:h,onFocus:p,placeholder:i}){const{enumOptions:u,enumDisabled:f,emptyValue:y}=t,g=l?[]:"",x=D.useCallback(v=>{const w=nt(v,l);return p(e,K(w,u,y))},[p,e,r,l,u,y]),S=D.useCallback(v=>{const w=nt(v,l);return h(e,K(w,u,y))},[h,e,r,l,u,y]),b=D.useCallback(v=>{const w=nt(v,l);return d(K(w,u,y))},[d,r,l,u,y]),F=Zt(n,u,l),C=!l&&r.default===void 0;return m.jsxs("select",{id:e,name:e,multiple:l,className:"form-control",value:typeof F>"u"?g:F,required:s,disabled:a||o,autoFocus:c,onBlur:S,onFocus:x,onChange:b,"aria-describedby":ee(e),children:[C&&m.jsx("option",{value:"",children:i}),Array.isArray(u)&&u.map(({value:v,label:w},k)=>{const A=f&&f.indexOf(v)!==-1;return m.jsx("option",{value:String(k),disabled:A,children:w},k)})]})}const Ne=(r,e)=>t=>{var s,a;const n=!t.label||((s=t.uiSchema["ui:options"])==null?void 0:s.hideLabel)||((a=t.options)==null?void 0:a.hideLabel)||t.hideLabel;return m.jsxs(m.Fragment,{children:[!n&&m.jsx(Ae,{label:t.label,required:t.required,id:t.id}),m.jsx(r,{...t})]})},Ca={RadioWidget:va,CheckboxWidget:Ne(xa),SelectWidget:Ne(Fa),CheckboxesWidget:Ne(ba),JsonWidget:Ne(Sa)};class ja{rawValidation(e,t){const s=Qr(JSON.parse(JSON.stringify(e))).validate(t);return s.valid?{errors:[],validationError:null}:{errors:s.errors,validationError:null}}validateFormData(e,t,n,s,a){const{errors:o}=this.rawValidation(t,e),l=o.map(c=>({name:"any",message:c.error,property:"."+c.instanceLocation.substring(1).split("/").join("."),schemaPath:c.instanceLocation,stack:c.error}));return{errors:l,errorSchema:Un(l)}}isValid(e,t,n){return this.rawValidation(e,t).errors.length===0}toErrorList(){return[]}}const Rt=new ja,Ta=D.forwardRef(({className:r,direction:e="vertical",schema:t,onChange:n,uiSchema:s,templates:a,fields:o,widgets:l,cleanOnChange:c,...d},h)=>{const p=D.useRef(null),i=D.useId(),[u,f]=D.useState(d.formData),y=({formData:v},w)=>{var k;return w.preventDefault(),console.log("Data submitted: ",v),(k=d.onSubmit)==null||k.call(d,v),!1},g=({formData:v},w)=>{const k=c!==!1?JSON.parse(JSON.stringify(v)):v;console.log("Data changed: ",k,{cleanOnChange:c}),f(k),n==null||n(k,()=>x(k))},x=v=>Rt.validateFormData(v,t).errors.length===0;D.useImperativeHandle(h,()=>({formData:()=>u,validateForm:()=>p.current.validateForm(),silentValidate:()=>x(u),cancel:()=>p.current.reset()}),[u]);const S={...s,"ui:globalOptions":{...s==null?void 0:s["ui:globalOptions"],enableMarkdownInDescription:!0},"ui:submitButtonOptions":{norender:!0}},b={...ia,...o},F={...ya,...a},C={...Ca,...l};return m.jsx(ea,{tagName:"div",idSeparator:"--",idPrefix:i,...d,ref:p,className:["json-form",e,r].join(" "),showErrorList:!1,schema:t,fields:b,templates:F,widgets:C,uiSchema:S,onChange:g,onSubmit:y,validator:Rt})});export{Ta as JsonSchemaForm};