UNPKG

@servicestack/react

Version:

ServiceStack's React Component Library - A comprehensive collection of React components for building modern web applications.

1 lines 191 kB
import{lastRightPart as Ut,leftPart as Kn,map as st,toDate as St,mapGet as Se,toCamelCase as Ua,toDateTime as Qa,chop as Wa,apiValue as Ka,isDate as Zn,dateFmt as Za,fromXsdDuration as ws,timeFmt12 as _a,omit as Tt,appendQueryString as rn,enc as pr,indexOfAny as Ga,createBus as Ja,toKebabCase as os,ApiResult as ct,nameOf as Xa,lastLeftPart as xs,setQueryString as Ya,toTime as el,ResponseStatus as On,ResponseError as mr,sanitize as tl,errorResponseExcept as nl,humanize as Ue,toPascalCase as gt,errorResponse as At,trimEnd as rl,uniqueKeys as yr,humanify as ks,delaySet as Cs,HttpMethods as $r,rightPart as zn,queryString as vr,combinePaths as sl,omitEmpty as cs,each as al}from"@servicestack/client";import at,{createContext as wn,useContext as yt,useState as F,useRef as Xe,useEffect as be,useMemo as c,forwardRef as wt,useImperativeHandle as xt,useCallback as S}from"react";import{jsx as t,jsxs as d,Fragment as xn}from"react/jsx-runtime";let Ns="png,jpg,jpeg,jfif,gif,svg,webp".split(","),Ls={img:"png,jpg,jpeg,gif,svg,webp,png,jpg,jpeg,gif,bmp,tif,tiff,webp,ai,psd,ps".split(","),vid:"avi,m4v,mov,mp4,mpg,mpeg,wmv,webm".split(","),aud:"mp3,mpa,ogg,wav,wma,mid,webm".split(","),ppt:"key,odp,pps,ppt,pptx".split(","),xls:"xls,xlsm,xlsx,ods,csv,tsv".split(","),doc:"doc,docx,pdf,rtf,tex,txt,md,rst,xls,xlsm,xlsx,ods,key,odp,pps,ppt,pptx".split(","),zip:"zip,tar,gz,7z,rar,gzip,deflate,br,iso,dmg,z,lz,lz4,lzh,s7z,apl,arg,jar,war".split(","),exe:"exe,bat,sh,cmd,com,app,msi,run,vb,vbs,js,ws,wsh".split(","),att:"bin,oct,dat".split(",")},ds=Object.keys(Ls),Mt=(e,t)=>`<svg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' role='img' preserveAspectRatio='xMidYMid meet' viewBox='${e}'>${t}</svg>`,Bn={img:Mt("4 4 16 16","<path fill='currentColor' d='M20 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2zm-2 0H6v6.38l2.19-2.19l5.23 5.23l1-1a1.59 1.59 0 0 1 2.11.11L18 16V6zm-5 3.5a1.5 1.5 0 1 1 3 0a1.5 1.5 0 0 1-3 0z'/>"),vid:Mt("0 0 24 24","<path fill='currentColor' d='m14 2l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8m4 18V9h-5V4H6v16h12m-2-2l-2.5-1.7V18H8v-5h5.5v1.7L16 13v5Z'/>"),aud:Mt("0 0 24 24","<path fill='currentColor' d='M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6zm10-9h-4v3.88a2.247 2.247 0 0 0-3.5 1.87c0 1.24 1.01 2.25 2.25 2.25S13 17.99 13 16.75V13h3v-2z'/>"),ppt:Mt("0 0 48 48","<g fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='4'><path d='M4 8h40'/><path d='M8 8h32v26H8V8Z' clip-rule='evenodd'/><path d='m22 16l5 5l-5 5m-6 16l8-8l8 8'/></g>"),xls:Mt("0 0 256 256","<path fill='currentColor' d='M200 26H72a14 14 0 0 0-14 14v26H40a14 14 0 0 0-14 14v96a14 14 0 0 0 14 14h18v26a14 14 0 0 0 14 14h128a14 14 0 0 0 14-14V40a14 14 0 0 0-14-14Zm-42 76h44v52h-44Zm44-62v50h-44V80a14 14 0 0 0-14-14h-2V38h58a2 2 0 0 1 2 2ZM70 40a2 2 0 0 1 2-2h58v28H70ZM38 176V80a2 2 0 0 1 2-2h104a2 2 0 0 1 2 2v96a2 2 0 0 1-2 2H40a2 2 0 0 1-2-2Zm32 40v-26h60v28H72a2 2 0 0 1-2-2Zm130 2h-58v-28h2a14 14 0 0 0 14-14v-10h44v50a2 2 0 0 1-2 2ZM69.2 148.4L84.5 128l-15.3-20.4a6 6 0 1 1 9.6-7.2L92 118l13.2-17.6a6 6 0 0 1 9.6 7.2L99.5 128l15.3 20.4a6 6 0 0 1-9.6 7.2L92 138l-13.2 17.6a6 6 0 1 1-9.6-7.2Z'/>"),doc:Mt("0 0 32 32","<path fill='currentColor' d='M26 30H11a2.002 2.002 0 0 1-2-2v-6h2v6h15V6h-9V4h9a2.002 2.002 0 0 1 2 2v22a2.002 2.002 0 0 1-2 2Z'/><path fill='currentColor' d='M17 10h7v2h-7zm-1 5h8v2h-8zm-1 5h9v2h-9zm-6-1a5.005 5.005 0 0 1-5-5V3h2v11a3 3 0 0 0 6 0V5a1 1 0 0 0-2 0v10H8V5a3 3 0 0 1 6 0v9a5.005 5.005 0 0 1-5 5z'/>"),zip:Mt("0 0 16 16","<g fill='currentColor'><path d='M6.5 7.5a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v.938l.4 1.599a1 1 0 0 1-.416 1.074l-.93.62a1 1 0 0 1-1.109 0l-.93-.62a1 1 0 0 1-.415-1.074l.4-1.599V7.5zm2 0h-1v.938a1 1 0 0 1-.03.243l-.4 1.598l.93.62l.93-.62l-.4-1.598a1 1 0 0 1-.03-.243V7.5z'/><path d='M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm5.5-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H9v1H8v1h1v1H8v1h1v1H7.5V5h-1V4h1V3h-1V2h1V1z'/></g>"),exe:Mt("0 0 16 16","<path fill='currentColor' fill-rule='evenodd' d='M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM2.575 15.202H.785v-1.073H2.47v-.606H.785v-1.025h1.79v-.648H0v3.999h2.575v-.647ZM6.31 11.85h-.893l-.823 1.439h-.036l-.832-1.439h-.931l1.227 1.983l-1.239 2.016h.861l.853-1.415h.035l.85 1.415h.908l-1.254-1.992L6.31 11.85Zm1.025 3.352h1.79v.647H6.548V11.85h2.576v.648h-1.79v1.025h1.684v.606H7.334v1.073Z'/>"),att:Mt("0 0 24 24","<path fill='currentColor' d='M14 0a5 5 0 0 1 5 5v12a7 7 0 1 1-14 0V9h2v8a5 5 0 0 0 10 0V5a3 3 0 1 0-6 0v12a1 1 0 1 0 2 0V6h2v11a3 3 0 1 1-6 0V5a5 5 0 0 1 5-5Z'/>")},ll=/[\r\n%#()<>?[\\\]^`{|}]/g,us=1024,il=["Bytes","KB","MB","GB","TB"],ol=(()=>{let t="application/",e=t+"vnd.openxmlformats-officedocument.",r="image/",a="text/",n="audio/",l="video/",s={jpg:r+"jpeg",tif:r+"tiff",svg:r+"svg+xml",ico:r+"x-icon",ts:a+"typescript",py:a+"x-python",sh:a+"x-sh",mp3:n+"mpeg3",mpg:l+"mpeg",ogv:l+"ogg",xlsx:e+"spreadsheetml.sheet",xltx:e+"spreadsheetml.template",docx:e+"wordprocessingml.document",dotx:e+"wordprocessingml.template",pptx:e+"presentationml.presentation",potx:e+"presentationml.template",ppsx:e+"presentationml.slideshow",mdb:t+"vnd.ms-access"};function i(e,t){e.split(",").forEach(e=>s[e]=t)}function o(e,t){e.split(",").forEach(e=>s[e]=t(e))}return o("jpeg,gif,png,tiff,bmp,webp",e=>r+e),o("jsx,csv,css",e=>a+e),o("aac,ac3,aiff,m4a,m4b,m4p,mid,midi,wav",e=>n+e),o("3gpp,avi,dv,divx,ogg,mp4,webm",e=>l+e),o("rtf,pdf",e=>t+e),i("htm,html,shtm",a+"html"),i("js,mjs,cjs",a+"javascript"),i("yml,yaml",t+"yaml"),i("bat,cmd",t+"bat"),i("xml,csproj,fsproj,vbproj",a+"xml"),i("txt,ps1",a+"plain"),i("qt,mov",l+"quicktime"),i("doc,dot",t+"msword"),i("xls,xlt,xla",t+"excel"),i("ppt,oit,pps,ppa",t+"vnd.ms-powerpoint"),i("cer,crt,der",t+"x-x509-ca-cert"),i("gz,tgz,zip,rar,lzh,z",t+"x-compressed"),i("aaf,aca,asd,bin,cab,chm,class,cur,db,dat,deploy,dll,dsp,exe,fla,ics,inf,mix,msi,mso,obj,ocx,prm,prx,psd,psp,qxd,sea,snp,so,sqlite,toc,ttf,u32,xmp,xsn,xtp",t+"octet-stream"),s})(),br=[];function Ms(e){return(e=(e=(e=e.replace(/"/g,"'")).replace(/>\s+</g,"><")).replace(/\s{2,}/g," ")).replace(ll,encodeURIComponent)}function Rr(e){return"data:image/svg+xml;utf8,"+Ms(e)}function Ss(e){var t=URL.createObjectURL(e);return br.push(t),t}function Ts(){br.forEach(e=>{try{URL.revokeObjectURL(e)}catch(e){console.error("URL.revokeObjectURL",e)}}),br=[]}function Ir(e){var t;return e?(t=Kn(e,"?"),Ut(t,"/")):null}function kn(e){var t=Ir(e);return null==t||-1===t.indexOf(".")?null:Ut(t,".").toLowerCase()}function Dr(e){var t=kn(e.name);return t&&0<=Ns.indexOf(t)?Ss(e):Ht(e.name)}function Pr(e){var t;return e&&(!(!e.startsWith("blob:")&&!e.startsWith("data:"))||(t=kn(e))&&0<=Ns.indexOf(t))||!1}function Ht(e){var t;return e?null==(t=kn(e))||Pr(e)?e:pn(t)||Rr(Bn.doc):null}function pn(e){var t=As(e);return t&&Rr(t)||null}function As(e){if(Bn[e])return Bn[e];for(let r=0;r<ds.length;r++){var t=ds[r];if(0<=Ls[t].indexOf(e))return Bn[t]}return null}function Fr(e,t=2){var r,a;return 0===e?"0 Bytes":(r=t<0?0:t,a=Math.floor(Math.log(e)/Math.log(us)),parseFloat((e/Math.pow(us,a)).toFixed(r))+" "+il[a])}function cl(e){return e.files&&Array.from(e.files).map(e=>({fileName:e.name,contentLength:e.size,filePath:Dr(e)}))}function _n(e,t){e.onerror=null,e.src=jr(e.src,t)||""}function jr(e,t){return pn(Ut(e,".").toLowerCase())||(t?pn(t)||t:null)||pn("doc")}function wr(e){var t;if(e)return t=Ut(e,".").toLowerCase(),ol[t]||"application/"+t;throw new Error("fileNameOrExt required")}function dl(){return{extSvg:As,extSrc:pn,getExt:kn,encodeSvg:Ms,canPreview:Pr,getFileName:Ir,getMimeType:wr,formatBytes:Fr,filePathUri:Ht,svgToDataUri:Rr,fileImageUri:Dr,objectUrl:Ss,flush:Ts,inputFiles:cl,iconOnError:_n,iconFallbackSrc:jr}}class ul{view;includeTypes;constructor(e){Object.assign(this,e)}getTypeName(){return"MetadataApp"}getMethod(){return"GET"}createResponse(){return{}}}let on=wn(void 0),cn=wn(void 0),Gn=wn(void 0);function $t(){return yt(on)}wn(void 0);let sn="/metadata/app.json",fl={Boolean:"checkbox",DateTime:"date",DateOnly:"date",DateTimeOffset:"date",TimeSpan:"time",TimeOnly:"time",Byte:"number",Short:"number",Int64:"number",Int32:"number",UInt16:"number",UInt32:"number",UInt64:"number",Single:"number",Double:"number",Decimal:"number",String:"text",Guid:"text",Uri:"text"},ml={number:"Int32",checkbox:"Boolean",date:"DateTime","datetime-local":"DateTime",time:"TimeSpan"},xr={Byte:"byte",Int16:"short",Int32:"int",Int64:"long",UInt16:"ushort",Unt32:"uint",UInt64:"ulong",Single:"float",Double:"double",Decimal:"decimal"},hl=([...Object.keys(xr),...Object.values(xr)],{String:"string",Boolean:"bool",...xr});function En(e){return hl[e]||e}function $s(e,t){return e?(t=t||[],"Nullable`1"===e?En(t[0])+"?":e.endsWith("[]")?`List<${En(e.substring(0,e.length-2))}>`:0===t.length?En(e):Kn(En(e),"`")+"<"+t.join(",")+">"):""}function gl(e){return e&&$s(e.name,e.genericArgs)}class Qt{Query;QueryInto;Create;Update;Patch;Delete;get AnyQuery(){return this.Query||this.QueryInto}get AnyUpdate(){return this.Patch||this.Update}get dataModel(){return this.AnyQuery?.dataModel}toArray(){return[this.Query,this.QueryInto,this.Create,this.Update,this.Patch,this.Delete].filter(e=>!!e).map(e=>e)}get empty(){return!(this.Query||this.QueryInto||this.Create||this.Update||this.Patch||this.Delete)}add(e){Ye.isQueryInto(e)&&!this.QueryInto?this.QueryInto=e:Ye.isQuery(e)&&!this.Query?this.Query=e:Ye.isCreate(e)&&!this.Create?this.Create=e:Ye.isUpdate(e)&&!this.Update?this.Update=e:Ye.isPatch(e)&&!this.Patch?this.Patch=e:Ye.isDelete(e)&&!this.Delete&&(this.Delete=e)}static from(e){let t=new Qt;return e.forEach(e=>{t.add(e)}),t}static forType(t,e){let r=new Qt;var a;return H.config.apisResolver&&t&&(a=H.config.apisResolver(t,e))&&(r.Query=a.Query,r.QueryInto=a.QueryInto,r.Create=a.Create,r.Update=a.Update,r.Patch=a.Patch,r.Delete=a.Delete),t&&(e??=H.metadata?.api)?.operations.forEach(e=>{e.dataModel?.name==t&&r.add(e)}),r}}let Ye={Create:"ICreateDb`1",Update:"IUpdateDb`1",Patch:"IPatchDb`1",Delete:"IDeleteDb`1",AnyRead:["QueryDb`1","QueryDb`2"],AnyWrite:["ICreateDb`1","IUpdateDb`1","IPatchDb`1","IDeleteDb`1"],isAnyQuery:e=>st(e.request.inherits,e=>0<=Ye.AnyRead.indexOf(e.name)),isQuery:e=>st(e.request.inherits,e=>"QueryDb`1"===e.name),isQueryInto:e=>st(e.request.inherits,e=>"QueryDb`2"===e.name),isCrud:e=>e.request.implements?.some(e=>0<=Ye.AnyWrite.indexOf(e.name)),isCreate:e=>Vn(e,Ye.Create),isUpdate:e=>Vn(e,Ye.Update),isPatch:e=>Vn(e,Ye.Patch),isDelete:e=>Vn(e,Ye.Delete),model:e=>e?(st(e.inherits,e=>0<=Ye.AnyRead.indexOf(e.name))?e.inherits:e.implements?.find(e=>0<=Ye.AnyWrite.indexOf(e.name)))?.genericArgs[0]:null};function pl(e){return e.input?.type||Jn(Or(e))}function Rs(e){return e.endsWith("?")?Wa(e,1):e}function Jn(e){return fl[Rs(e)]}function yl(e){return e&&ml[e]||"String"}function Or(e){return"Nullable`1"===e.type?e.genericArgs[0]:e.type}function kr(e){return e&&"number"==Jn(e)||!1}function Is(e){return e&&"string"==e.toLowerCase()||!1}function vl(e){return"List`1"==e||e.startsWith("List<")||e.endsWith("[]")}function Ds(e){var t;return!(!e?.type||(t=Or(e),e.isValueType&&-1==t.indexOf("`"))||e.isEnum||null!=Jn(e.type))}function Ps(e){var t;return!!e?.type&&(t=Or(e),!!(e.isValueType&&-1==t.indexOf("`")||e.isEnum)||!(!(t=e.input?.type)||"hidden"!=t&&"file"!=t&&"tag"!=t&&"combobox"!=t&&!H.components?.[t])||null!=Jn(e.type))}function an(e,t){let r="string"==typeof e?Xn(e):e,a=(r||(console.warn("Metadata not found for: "+e),r={request:{name:e}}),(()=>function(e){Object.assign(this,e)})()),n=(l.prototype.createResponse=function(){return r.returnsVoid?void 0:new a},l.prototype.getTypeName=function(){return r.request.name},l.prototype.getMethod=function(){return r.method||"POST"},l);function l(e){Object.assign(this,e)}return new n(t)}function bl(e,t,r={}){let a=(()=>function(e){Object.assign(this,e)})(),n=(l.prototype.createResponse=function(){return"function"==typeof r.createResponse?r.createResponse():new a},l.prototype.getTypeName=function(){return e},l.prototype.getMethod=function(){return r.method||"POST"},l);function l(e){Object.assign(this,e)}return new n(t)}function yn(r,e){return r?(Object.keys(r).forEach(e=>{var t=r[e];"string"==typeof t?t.startsWith("/Date")&&(r[e]=nr(St(t))):null!=t&&"object"==typeof t&&(Array.isArray(t)?r[e]=Array.from(t):r[e]=Object.assign({},t))}),r):{}}function wl(e,s){let i={};return Array.from(e.elements).forEach(e=>{var l=e;if(l.id&&null!=l.value&&""!==l.value){let t=l.id.toLowerCase(),e=s&&s.find(e=>e.name.toLowerCase()==t),r=e?.type,a=e?.genericArgs?.[0],n="checkbox"===l.type?l.checked:l.value;kr(r)?n=Number(n):"List`1"===r&&"string"==typeof n&&(n=n.split(",").map(e=>kr(a)?Number(e):e)),i[l.id]=n}}),i}function Er(e){return e?.api?.operations&&0<e.api.operations.length}function xl(e){if(Vr()||!e?.assert||H.metadata)return H.metadata;throw new Error("useMetadata() not configured, see: https://docs.servicestack.net/vue/use-metadata")}function vn(e){return!(!e||!Er(e)||(e.date=Qa(new Date),H.metadata=e,H.config.storage?.setItem(sn,JSON.stringify(e)),0))}function kl(){H.metadata=null,H.config.storage?.removeItem(sn)}function Vr(){if(null!=H.metadata)return!0;var e=globalThis.Server;if(Er(e))vn(e);else{e=H.config.storage?.getItem(sn);if(e)try{vn(JSON.parse(e))}catch{console.error(`Could not JSON.parse ${sn} from storage`)}}return null!=H.metadata}async function fs(e,t){var r,a=t?await t():await fetch(e);a.ok?(r=await a.text(),vn(JSON.parse(r))):console.error(`Could not download ${t?"AppMetadata":e}: `+a.statusText),Er(H.metadata)||console.warn("AppMetadata is not available")}async function Cl(e){var t,{olderThan:r,resolvePath:a,resolve:n,client:l}=e||{};let s=Vr()&&0!==r;if(!(s=s&&r&&(!(t=St(H.metadata?.date))||(new Date).getTime()-t.getTime()>r)?!1:s)){if((a||n)&&(await fs(a||sn,n),null!=H.metadata))return;if(null!=l&&(t=await l.api(new ul)).succeeded&&vn(t.response),null!=H.metadata)return;await fs(sn)}return H.metadata}function kt(t,r){if(H.config.typeResolver){var e=H.config.typeResolver(t,r);if(e)return e}var a,e=H.metadata?.api;return e&&t?e.types.find(e=>e.name.toLowerCase()===t.toLowerCase()&&(!r||e.namespace==r))||((a=Xn(t))?a.request:(a=e.operations.find(e=>e.response&&e.response.name.toLowerCase()===t.toLowerCase()&&(!r||e.response.namespace==r)))?a.response:null):null}function Xn(t){if(H.config.apiResolver){var e=H.config.apiResolver(t);if(e)return e}e=H.metadata?.api;return e?e.operations.find(e=>e.request.name.toLowerCase()===t.toLowerCase()):null}function Nl({dataModel:e}){var t=H.metadata?.api;if(!t)return[];let r=t.operations;if(e){let t="string"==typeof e?kt(e):e;r=r.filter(e=>Fs(e.dataModel,t))}return r}function Hr(e){return e?kt(e.name,e.namespace):null}function Fs(e,t){return e&&t&&e.name===t.name&&(!e.namespace||!t.namespace||e.namespace===t.namespace)}function Ll(e,t){var r=kt(e);return r&&r.properties&&r.properties.find(e=>e.name.toLowerCase()===t.toLowerCase())}function js(e){return Os(kt(e))}function Os(t){if(t&&t.isEnum&&null!=t.enumNames){var r={};for(let e=0;e<t.enumNames.length;e++){var a=(t.enumDescriptions?t.enumDescriptions[e]:null)||t.enumNames[e];r[(null!=t.enumValues?t.enumValues[e]:null)||t.enumNames[e]]=a}return r}return null}function Es(e){if(e){var t={},r=e.input&&e.input.allowableEntries;if(r){for(let e=0;e<r.length;e++){var a=r[e];t[a.key]=a.value}return t}var n=e.allowableValues||(e.input?e.input.allowableValues:null);if(n){for(let e=0;e<n.length;e++){var l=n[e];t[l]=l}return t}if(e.isEnum){var s=kt(e.genericArgs&&1==e.genericArgs.length?e.genericArgs[0]:e.type);if(s)return Os(s)}}return null}function zr(r){if(r){let t=[];return Object.keys(r).forEach(e=>t.push({key:e,value:r[e]})),t}}function Ml(e,t){r=e.name,a=t?.type||pl(e)||"text";var r,a,n=Object.assign({id:r,name:r,type:a},t);return e.isEnum&&(n.type="select",n.allowableEntries=zr(Es(e))),n}function Sl(t){let l=[];if(t){let a=mt(t),e=Xn(t.name),n=Hr(e?.dataModel);a.forEach(t=>{if(Ps(t)){let r=Ml(t,t.input);var e;if(r.id=Ua(r.id),"file"==r.type&&t.uploadTo&&!r.accept&&(e=H.metadata?.plugins.filesUpload?.locations.find(e=>e.name==t.uploadTo))&&!r.accept&&e.allowExtensions&&(r.accept=e.allowExtensions.map(e=>e.startsWith(".")?e:"."+e).join(",")),n&&(e=n.properties?.find(e=>e.name==t.name),t.ref||(t.ref=e?.ref)),r.options)try{let e={input:r,$typeFields:a.map(e=>e.name),$dataModelFields:n?mt(n).map(e=>e.name):[],...H.config.scopeWhitelist},t=sr(r.options,e);Object.keys(t).forEach(e=>{r[e]=t[e]})}catch{console.error(`failed to evaluate '${r.options}'`)}l.push(r)}})}return l}function Br(e,t){if(!t.type)return console.error("enumDescriptions missing {type:'EnumType'} options"),[""+e];var r=kt(t.type);if(!r?.enumValues)return console.error("Could not find metadata for "+t.type),[""+e];var a=[];for(let l=0;l<r.enumValues.length;l++){var n=parseInt(r.enumValues[l]);0<n&&(n&e)===n&&a.push(r.enumDescriptions?.[l]||r.enumNames?.[l]||""+e)}return a}function Vs(t){return e=>"number"==typeof e?Br(e,{type:t}):e}function mt(e){if(!e)return[];let t=[],r={};for(;e;)e.properties&&e.properties.forEach(e=>{r[e.name]||(r[e.name]=1,t.push(e))}),e=e.inherits?Hr(e.inherits):null;return t.map(e=>e.type.endsWith("[]")?{...e,type:"List`1",genericArgs:[e.type.substring(0,e.type.length-2)]}:e)}function Vn(e,t){return e.request.implements?.some(e=>e.name===t)||!1}function Wt(e){return e?Hs(e,mt(e)):null}function Hs(e,t){var r=t.find(e=>"id"===e.name.toLowerCase());if(r&&r.isPrimaryKey)return r;r=t.find(e=>e.isPrimaryKey)||r;if(!r){var a=Ye.model(e);if(a)return st(kt(a),e=>Wt(e));console.error("Primary Key not found in "+e.name)}return r||null}function Tl(e,t){return st(Wt(e),e=>Se(t,e.name))}function zs(e,t,r){return e&&"none"===e.valueType?"":"%In"===r.key||"%Between"===r.key?`(${r.value})`:Al(t,r.value)}function Al(e,t){return!e||kr(e=Rs(e))||"Boolean"===e?t:vl(e)?`[${t}]`:`'${t}'`}function Dt(e,t){return{name:e,value:t}}let $l=[Dt("=","%"),Dt("!=","%!"),Dt(">=",">%"),Dt(">","%>"),Dt("<=","%<"),Dt("<","<%"),Dt("In","%In"),Dt("Between","%Between"),{name:"Starts With",value:"%StartsWith",types:"string"},{name:"Contains",value:"%Contains",types:"string"},{name:"Ends With",value:"%EndsWith",types:"string"},{name:"Exists",value:"%IsNotNull",valueType:"none"},{name:"Not Exists",value:"%IsNull",valueType:"none"}];function ut(t){if(!t&&"function"==typeof yt)try{t=yt(cn)}catch{}return Vr(),{loadMetadata:e=>Cl({...e,client:t}),getMetadata:xl,setMetadata:vn,clearMetadata:kl,metadataApp:H.metadata?.app||null,metadataApi:H.metadata?.api||null,filterDefinitions:H.metadata?.plugins?.autoQuery?.viewerConventions||$l,typeOf:kt,typeOfRef:Hr,typeEquals:Fs,apiOf:Xn,findApis:Nl,typeName:gl,typeName2:$s,property:Ll,enumOptions:js,propertyOptions:Es,createFormLayout:Sl,typeProperties:mt,supportsProp:Ps,Crud:Ye,Apis:Qt,getPrimaryKey:Wt,getPrimaryKeyByProps:Hs,getId:Tl,createDto:an,makeDto:bl,toFormValues:yn,formValues:wl,isComplexProp:Ds,asKvps:zr,expandEnumFlags:Br,enumFlagsConverter:Vs}}class lt{static Lookup={};static async getOrFetchValue(e,t,r,a,n,l,s){return lt.getValue(r,s,n)??(await lt.fetchLookupIds(e,t,r,a,n,l,[s]),lt.getValue(r,s,n))}static getValue(e,t,r){var a=lt.Lookup[e];if(a){a=a[t];if(a)return a[r=r.toLowerCase()]}}static setValue(e,t,r,a){var n=lt.Lookup[e]??(lt.Lookup[e]={});(n[t]??(n[t]={}))[r=r.toLowerCase()]=a}static setRefValue(e,t){var r,a=Se(t,e.refId);return null==a||null==e.refLabel?null:(r=Se(t,e.refLabel),lt.setValue(e.model,a,e.refLabel,r),r)}static async fetchLookupIds(e,t,n,l,s,i,o){var d=t.operations.find(e=>Ye.isAnyQuery(e)&&e.dataModel?.name==n);if(d){let a=lt.Lookup[n]??(lt.Lookup[n]={}),r=[];Object.keys(a).forEach(e=>{var t=a[e];Se(t,s)&&r.push(e)});var c,u=o.filter(e=>!r.includes(e));0!=u.length&&(c=i?null:l+","+s,u={[l+"In"]:u.join(",")},c&&(u.fields=c),c=an(d,u),(u=await e.api(c,{jsconfig:"edv,eccn"})).succeeded?(Se(u.response,"results")||[]).forEach(e=>{var t,r;Se(e,l)?(t=""+Se(e,l),r=Se(e,s),s=s.toLowerCase(),(a[t]??(a[t]={}))[s]=""+r):console.error(`result[${l}] == null`,e)}):console.error("Failed to call "+d.request.name))}}}let Cr=()=>(new Date).getTime(),Rl=["/","T",":","-"],vt={assumeUtc:!0,date:{method:"Intl.DateTimeFormat",options:"{dateStyle:'medium'}"},maxFieldLength:150,maxNestedFields:2,maxNestedFieldLength:30},Il=new Intl.RelativeTimeFormat(vt.locale,{}),ms=31536e6,hr={year:ms,month:ms/12,day:864e5,hour:36e5,minute:6e4,second:1e3},zt={currency:qs,bytes:Us,link:Qs,linkTel:Ws,linkMailTo:Ks,icon:Zs,iconRounded:_s,attachment:Gs,hidden:Js,time:Xs,relativeTime:Ur,relativeTimeFromMs:er,enumFlags:ea,formatDate:dn,formatNumber:qr};"iconOnError"in globalThis||(globalThis.iconOnError=_n);class Dl{static currency={method:"currency"};static bytes={method:"bytes"};static link={method:"link"};static linkTel={method:"linkTel"};static linkMailTo={method:"linkMailTo"};static icon={method:"icon"};static iconRounded={method:"iconRounded"};static attachment={method:"attachment"};static time={method:"time"};static relativeTime={method:"relativeTime"};static relativeTimeFromMs={method:"relativeTimeFromMs"};static date={method:"formatDate"};static number={method:"formatNumber"};static hidden={method:"hidden"};static enumFlags={method:"enumFlags"}}function Pl(e){vt=Object.assign({},vt,e)}function Fl(t){Object.keys(t||{}).forEach(e=>{"function"==typeof t[e]&&(zt[e]=t[e])})}function Bs(){return zt}function Cn(e,t){return t?bt("span",e,t):e}function qs(e,t){var r=Tt(t,["currency"]);return Cn(new Intl.NumberFormat(void 0,{style:"currency",currency:t?.currency||"USD"}).format(e),r)}function Us(e,t){return Cn(Fr(e),t)}function Qs(e,t){return bt("a",e,rr({...t,href:e}))}function Ws(e,t){return bt("a",e,rr({...t,href:"tel:"+e}))}function Ks(e,t){var{subject:r,body:a}=t=t||{},n=Tt(t,["subject","body"]),l={};return r&&(l.subject=r),a&&(l.body=a),bt("a",e,rr({...n,href:"mailto:"+rn(e,l)}))}function Zs(e,t){return bt("img",void 0,Object.assign({class:"w-6 h-6",title:e,src:tn(e),onerror:"iconOnError(this)"},t))}function _s(e,t){return bt("img",void 0,Object.assign({class:"w-8 h-8 rounded-full",title:e,src:tn(e),onerror:"iconOnError(this)"},t))}function Gs(e,t){var r=Ir(e),a=(null==kn(r)||Pr(e)?tn:jr)(e),a=tn(a),n=t&&(t["icon-class"]||t.iconClass),a=bt("img",void 0,Object.assign({class:"w-6 h-6",src:a,onerror:"iconOnError(this,'att')"},n?{class:n}:null));return bt("a",a+`<span class="pl-1">${r}</span>`,Object.assign({class:"flex",href:tn(e),title:e},t?Tt(t,["icon-class","iconClass"]):null))}function Js(e){return""}function Xs(e,t){var r="string"==typeof e?new Date(1e3*ws(e)):Zn(e)?St(e):null;return Cn(r?_a(r):e,t)}function dn(e,t){var r,a;return null==e?"":(r="number"==typeof e?new Date(e):"string"==typeof e?St(e):e,Zn(r)?Cn(("function"==typeof(a=vt.date?tr(vt.date):null)?a:Za)(r),t):(console.warn(r+" is not a Date value"),null==e?"":""+e))}function qr(e,t){if("number"!=typeof e)return e;let r=vt.number?tr(vt.number):null,a="function"==typeof r?r(e):""+e;return""===a&&(console.warn(`formatNumber(${e}) => `+a,r),a=""+e),Cn(a,t)}function qn(e){var t=Math.floor(e/1e3),r=Math.floor(t/60),a=Math.floor(r/60),n=Math.floor(a/24);return 0<n?n+"d "+qn(e-24*n*60*6e4):0<a?a+"h "+qn(e-60*a*6e4):0<r?r+"m "+qn(e-6e4*r):0<t?t+"s":e+"ms"}function jl(e){return 1e9<=e?(e/1e9).toFixed(1)+"b":1e6<=e?(e/1e6).toFixed(1)+"m":1e3<=e?(e/1e3).toFixed(1)+"k":e.toLocaleString()}function Ys(t,r,a){var e=Ka(t),n=r?tr(r):null;if("function"!=typeof n)return(null!=e?Zn(e)?dn(e,a):"number"==typeof e?qr(e,a):e:null)??"";{let e=a;if(r?.options)try{e=sr(r.options,a)}catch(e){console.error(`Could not evaluate '${r.options}'`,e,", with scope:",a)}return n(t,e)}}function Yn(e,t,r){return(Kt(e)?Ys:zl)(e,t,r)}function Ol(e){if(null!=e){if("number"==typeof e)return e;if(Zn(e))return e.getTime()-Cr();if("string"==typeof e){var t=Number(e);if(!isNaN(t))return t;if("P"===e[0]||e.startsWith("-P"))return 1e3*ws(e)*-1;if(0<=Ga(e,Rl))return St(e).getTime()-Cr()}}return NaN}function er(e,t){for(var r in hr)if(Math.abs(e)>hr[r]||"second"===r)return(t||Il).format(Math.round(e/hr[r]),r)}function Ur(e,t){var r=Ol(e);return isNaN(r)?"":er(r,t)}function El(e,t){return er(e.getTime()-(t?t.getTime():Cr()))}function ea(e,t){return Br(e,t).join(", ")}function tr(t){if(t){let{method:e,options:a}=t,n=e+`(${a})`,l=zt[n]||zt[e];if("function"==typeof l)return l;let s=t.locale||vt.locale;if(e.startsWith("Intl.")){var r=s?`'${s}'`:"undefined",r=`return new ${e}(${r},${a||"undefined"})`;try{let t=Function(r)();return l="Intl.DateTimeFormat"===e?e=>t.format(St(e)):"Intl.NumberFormat"===e?e=>t.format(Number(e)):"Intl.RelativeTimeFormat"===e?e=>Ur(e,t):e=>t.format(e),zt[n]=l}catch(e){console.error("Invalid format: "+r,e)}}else{let r=globalThis[e];if("function"==typeof r){let t=null!=a?Function("return "+a)():void 0;return l=e=>r(e,t,s),zt[n]=l}console.error(`No '${e}' function exists`,Object.keys(zt))}}return null}function ta(e,t){return e?e.length>t?e.substring(0,t)+"...":e:""}function na(e){return"/Date("===e.substring(0,6)?dn(St(e)):e}function Vl(e){return Qr(ln(e)).replace(/"/g,"")}function ra(e){if(null==e||""===e)return"";if("string"==typeof e)try{return JSON.parse(e)}catch{console.warn("couldn't parse as JSON",e)}return e}function Qr(e,t=4){return"object"!=typeof(e=ra(e))?"string"==typeof e?e:""+e:JSON.stringify(e,void 0,t)}function Hl(e){return"object"!=typeof(e=ra(e))?"string"==typeof e?e:""+e:Qr(e=ln(e=Object.assign({},e)))}function ln(r){if(null==r)return null;if("string"==typeof r)return na(r);if(Kt(r))return r;if(r instanceof Date)return dn(r);if(Array.isArray(r))return r.map(ln);if("object"!=typeof r)return r;{let t={};return Object.keys(r).forEach(e=>{"__type"!=e&&(t[e]=ln(r[e]))}),t}}function zl(e,t,r){let a=e;if(Array.isArray(e)){if(Kt(e[0]))return a.join(",");null!=e[0]&&(a=e[0])}if(null==a)return"";if(a instanceof Date)return dn(a,r);var n=Object.keys(a),l=[];for(let o=0;o<Math.min(vt.maxNestedFields,n.length);o++){var s=n[o],i=""+ln(a[s]);l.push(`<b class="font-medium">${s}</b>: `+pr(ta(na(i),vt.maxNestedFieldLength)))}return 2<n.length&&l.push("..."),bt("span","{ "+l.join(", ")+" }",Object.assign({title:pr(Vl(e))},r))}function ki(){return{Formats:Dl,setDefaultFormats:Pl,getFormatters:Bs,setFormatters:Fl,formatValue:Yn,formatter:tr,dateInputFormat:nr,currency:qs,bytes:Us,link:Qs,linkTel:Ws,linkMailTo:Ks,icon:Zs,iconRounded:_s,attachment:Gs,hidden:Js,time:Xs,relativeTime:Ur,relativeTimeFromDate:El,relativeTimeFromMs:er,enumFlags:ea,formatDate:dn,formatNumber:qr,humanifyMs:qn,humanifyNumber:jl,indentJson:Qr,prettyJson:Hl,scrub:ln,truncate:ta,apiValueFmt:Ys,iconOnError:_n}}class Bl{callbacks={};register(e,t){this.callbacks[e]=t}has(e){return!!this.callbacks[e]}invoke(e,t){var r=this.callbacks[e];"function"==typeof r&&r(e,t)}}class ql{store=new Map;get length(){return this.store.size}getItem(e){return this.store.get(e)??null}setItem(e,t){this.store.set(e,t)}removeItem(e){this.store.delete(e)}clear(){this.store.clear()}key(e){return Array.from(this.store.keys())[e]??null}}class Ul{get length(){return localStorage.length}getItem(e){return localStorage.getItem(e)}setItem(e,t){localStorage.setItem(e,t)}removeItem(e){localStorage.removeItem(e)}clear(){localStorage.clear()}key(e){return localStorage.key(e)}}let hs=null,gs=null,Hn=new Set;class H{static config={redirectSignIn:"/signin",redirectSignOut:"/auth/logout",navigate:e=>location.href=e,assetsPathResolver:e=>e,fallbackPathResolver:e=>e,storage:new(typeof localStorage<"u"?Ul:ql),tableIcon:{svg:"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><g fill='none' stroke='currentColor' stroke-width='1.5'><path d='M5 12v6s0 3 7 3s7-3 7-3v-6'/><path d='M5 6v6s0 3 7 3s7-3 7-3V6'/><path d='M12 3c7 0 7 3 7 3s0 3-7 3s-7-3-7-3s0-3 7-3Z'/></g></svg>"},scopeWhitelist:{enumFlagsConverter:Vs,...Bs()}};static autoQueryGridDefaults={deny:[],hide:[],toolbarButtonClass:void 0,tableStyle:"stripedRows",take:25,maxFieldLength:150};static events=Ja();static get user(){return hs}static set user(e){hs=e,Hn.forEach(e=>e())}static get metadata(){return gs}static set metadata(e){gs=e,Hn.forEach(e=>e())}static subscribe(e){return Hn.add(e),()=>Hn.delete(e)}static components={};static component(e){var t=H.components[e];if(t)return t;let r=os(e),a=Object.keys(H.components).find(e=>os(e)===r);return a&&H.components[a]||null}static interceptors=new Bl}function Ql(e){H.config=Object.assign(H.config,e)}function Wl(e){H.autoQueryGridDefaults=Object.assign(H.autoQueryGridDefaults,e)}function Pt(e){return e&&H.config.assetsPathResolver?H.config.assetsPathResolver(e):e}function Nr(e){return e&&H.config.fallbackPathResolver?H.config.fallbackPathResolver(e):e}function Kl(e,t){H.interceptors.register(e,t)}function Zl(e,t){H.components[e]=t}function _l(e){Object.assign(H.components,e)}function Gl(e){H.config.linkComponent=e}function Nn(){var e=H.events;return{config:H.config,setConfig:Ql,events:e,autoQueryGridDefaults:H.autoQueryGridDefaults,setAutoQueryGridDefaults:Wl,assetsPathResolver:Pt,fallbackPathResolver:Nr,registerInterceptor:Kl,registerComponent:Zl,registerComponents:_l,setLinkComponent:Gl}}function nr(e){var t;return null==e||"object"==typeof e||null==(t=St(e))||"Invalid Date"==t.toString()?"":t.toISOString().substring(0,10)??""}function sa(e){var t;return null==e||"object"==typeof e||null==(t=St(e))||"Invalid Date"==t.toString()?"":t.toISOString().substring(0,19)??""}function aa(e){return null==e?"":el(e)}function Lr(e,t){return H.config.inputValue?H.config.inputValue(e,t):"date"===e?nr(t):"datetime-local"===e?sa(t):"time"===e?aa(t):"number"===e||"range"===e?null==t?"":Number(t):t??""}function Jl(e,t){"function"==typeof e?e(t):e.current=t}function la(e){return e}function Ln(e,t,r){r?(t(e.entering.cls+" "+e.entering.from),setTimeout(()=>t(e.entering.cls+" "+e.entering.to),0)):(t(e.leaving.cls+" "+e.leaving.from),setTimeout(()=>t(e.leaving.cls+" "+e.leaving.to),0))}function Un(r){if(!("u"<typeof document)){let t=r?.after||document.activeElement,e=t&&t.form;var a,n;e&&(a=':not([disabled]):not([tabindex="-1"])',a=e.querySelectorAll(`a:not([disabled]), button${a}, input[type=text]${a}, [tabindex]`+a),-1<(n=(a=Array.prototype.filter.call(a,e=>0<e.offsetWidth||0<e.offsetHeight||e===t)).indexOf(t)))&&(a[n+1]||a[0]).focus()}}function Ft(e){if(!e)return null;if("string"==typeof e)return e;var t="function"==typeof e?new e:"object"==typeof e?e:null;if(!t)throw new Error(`Invalid DTO Type '${typeof e}'`);if("function"!=typeof t.getTypeName)throw new Error(JSON.stringify(t)+" is not a Request DTO");t=t.getTypeName();if(t)return t;throw new Error("DTO Required")}function bt(e,t,r){var a=(r=r||{}).cls||r.className||r.class;return a&&((r=Tt(r,["cls","class","className"])).class=a),null==t?"<"+e+Mr(r)+"/>":"<"+e+Mr(r)+`>${t||""}</${e}>`}function Mr(r){return Object.keys(r).reduce((e,t)=>`${e} ${t}="${pr(r[t])}"`,"")}function rr(e){return Object.assign({target:"_blank",rel:"noopener",class:"text-blue-600"},e)}function tn(e){return Pt(e)}let Xl=["string","number","boolean","null","undefined"];function Kt(e){return 0<=Xl.indexOf(typeof e)||e instanceof Date}function bn(e){return!Kt(e)}function Qn(e){return"string"==typeof e?JSON.parse(e):null}function Wr(e,t){var r;typeof history<"u"&&(r=t?rn(xs(location.href,"?"),e):Ya(location.href,e),history.pushState({},"",r))}function sr(t,e){if(["function","Function","eval","=>",";"].some(e=>t.includes(e)))throw new Error(`Unsafe script: '${t}'`);var r=Object.assign(Object.keys(globalThis).reduce((e,t)=>(e[t]=void 0,e),{}),e);return new Function("with(this) { return ("+t+") }").call(r)}function Sr(e){typeof navigator<"u"&&navigator.clipboard.writeText(e)}function Kr(e){var t=H.config.storage.getItem(e);return t?JSON.parse(t):null}function ar(e,t){return rn("swr."+Xa(e),t?Object.assign({},e,t):e)}function Yl(e){var t;e.request&&(t=ar(e.request,e.args),H.config.storage.removeItem(t))}async function ia(e,t,r,a,n){var l,s=ar(t,a),i=(r(new ct({response:Kr(s)})),await e.api(t,a,n));return i.succeeded&&i.response&&(i.response._date=(new Date).valueOf(),l=JSON.stringify(i.response),H.config.storage.setItem(s,l),r(i)),i}function oa(t,r){let a=null;return(...e)=>{a&&clearTimeout(a),a=setTimeout(()=>{t(...e)},r||100)}}function Bt(e){return"string"==typeof e?e.split(","):e||[]}function qt(e,t){let r=Bt(t);return e.reduce((e,t)=>(e[t]=!r.includes(t),e),{})}function ei(t){return new Promise(e=>setTimeout(e,t))}function ca(e){var t,r=[],a=[];for(t of e){var n=t.toLowerCase();a.includes(n)||(r.push(t),a.push(n))}return r}function Ci(){return{dateInputFormat:nr,dateTimeInputFormat:sa,timeInputFormat:aa,textInputValue:Lr,setRef:Jl,unRefs:la,transition:Ln,focusNextElement:Un,getTypeName:Ft,htmlTag:bt,htmlAttrs:Mr,linkAttrs:rr,toAppUrl:tn,isPrimitive:Kt,isComplexType:bn,pushState:Wr,scopedExpr:sr,copyText:Sr,fromCache:Kr,swrCacheKey:ar,swrClear:Yl,swrApi:ia,asStrings:Bt,asOptions:qt,createDebounce:oa,delay:ei,uniqueIgnoreCase:ca}}function Mn(e){let[t,l]=F(!1),[r,s]=F(),[,i]=F(),a=yt(cn),o=e??a;return{setError:function({message:e,errorCode:t,fieldName:r,errors:a}){t=t||"Exception",a=a||[];var n=new On(r?{errorCode:t,message:e,errors:[new mr({fieldName:r,errorCode:t,message:e})]}:{errorCode:t,message:e,errors:a});return s(n),n},addFieldError:function({fieldName:r,message:a,errorCode:n}){n=n||"Exception",s(e=>{var t;return e?((t=new On(e)).errors=[...(t.errors||[]).filter(e=>e.fieldName?.toLowerCase()!==r?.toLowerCase()),new mr({fieldName:r,message:a,errorCode:n})],t):new On({errorCode:n,message:a,errors:[new mr({fieldName:r,errorCode:n,message:a})]})})},clearErrors:()=>s(void 0),loading:t,error:r,api:async function(e,t,r){l(!0);var a=await o.api(e,t,r);return l(!1),i(a.response),s(a.error),a},apiVoid:async function(e,t,r){l(!0);var a=await o.apiVoid(e,t,r);return l(!1),i(a.response),s(a.error),a},apiForm:async function(e,t,r,a){l(!0);var n=await o.apiForm(e,t,r,a);return l(!1),i(n.response),s(n.error),n},apiFormVoid:async function(e,t,r,a){l(!0);var n=await o.apiFormVoid(e,t,r,a);return l(!1),i(n.response),s(n.error),n},swr:async function(e,t,r,a){return ia(o,e,t,r,a)},swrEffect:function(r,a){let[e,n]=F(new ct),l=Xe(oa(async e=>{var t=await o.api(e);n(t)},a?.delayMs));return be(()=>{var e=r(),t=Kr(ar(e));t&&n(new ct({response:t})),0===a?.delayMs?o.api(e).then(e=>n(e)):l.current(e)},[r,a?.args,a?.method,a?.delayMs]),be(()=>{o.api(r(),a?.args,a?.method).then(e=>n(e))},[]),e},unRefs:la}}function da(e){return e&&e.SessionId?tl(e):e}function ua(e){e?(H.user=da(e),H.events.publish("signIn",e)):Zr()}function Zr(){H.user=null,H.events.publish("signOut",null)}function ti(){return H.user}let _r=e=>e?.roles||[],Gr=e=>e?.permissions||[];function Jr(e){return 0<=_r(H.user).indexOf(e)}function fa(e){return 0<=Gr(H.user).indexOf(e)}function lr(){return Jr("Admin")}function nn(e){if(!e)return!1;if(!e.requiresAuth)return!0;var t=H.user;if(!t)return!1;if(lr())return!0;let[r,a]=[_r(t),Gr(t)],[n,l,s,i]=[e.requiredRoles||[],e.requiredPermissions||[],e.requiresAnyRole||[],e.requiresAnyPermission||[]];return!(!n.every(e=>0<=r.indexOf(e))||0<s.length&&!s.some(e=>0<=r.indexOf(e))||!l.every(e=>0<=a.indexOf(e))||0<i.length&&!i.every(e=>0<=a.indexOf(e)))}function ma(e){if(!e||!e.requiresAuth)return null;var t=H.user;if(!t)return`<b>${e.request.name}</b> requires Authentication`;if(lr())return null;let[r,a]=[_r(t),Gr(t)],[n,l,s,i]=[e.requiredRoles||[],e.requiredPermissions||[],e.requiresAnyRole||[],e.requiresAnyPermission||[]],o=n.filter(e=>r.indexOf(e)<0);return 0<o.length?`Requires ${o.map(e=>"<b>"+e+"</b>").join(", ")} Role`+(1<o.length?"s":""):0<(t=l.filter(e=>a.indexOf(e)<0)).length?`Requires ${t.map(e=>"<b>"+e+"</b>").join(", ")} Permission`+(1<t.length?"s":""):0<s.length&&!s.some(e=>0<=r.indexOf(e))?`Requires any ${s.filter(e=>r.indexOf(e)<0).map(e=>"<b>"+e+"</b>").join(", ")} Role`+(1<o.length?"s":""):0<i.length&&!i.every(e=>0<=a.indexOf(e))?`Requires any ${i.filter(e=>a.indexOf(e)<0).map(e=>"<b>"+e+"</b>").join(", ")} Permission`+(1<t.length?"s":""):null}function Xr(){let[,t]=F(0);return be(()=>{let e=H.subscribe(()=>t(e=>e+1));return()=>{e()}},[]),{signIn:ua,signOut:Zr,user:c(()=>H.user||null,[H.user]),toAuth:da,isAuthenticated:c(()=>null!=H.user,[H.user]),hasRole:Jr,hasPermission:fa,isAdmin:lr,canAccess:nn,invalidAccessMessage:ma}}function Ni(){return{signIn:ua,signOut:Zr,getAuth:ti,hasRole:Jr,hasPermission:fa,isAdmin:lr,canAccess:nn,invalidAccessMessage:ma}}function ot(e,t){return Array.isArray(e)?0<=e.indexOf(t):e==t||e.includes(t)}let Wn={blue:"text-blue-600 dark:text-blue-400 hover:text-blue-800 dark:hover:text-blue-200",purple:"text-purple-600 dark:text-purple-400 hover:text-purple-800 dark:hover:text-purple-200",red:"text-red-700 dark:text-red-400 hover:text-red-900 dark:hover:text-red-200",green:"text-green-600 dark:text-green-400 hover:text-green-800 dark:hover:text-green-200",sky:"text-sky-600 dark:text-sky-400 hover:text-sky-800 dark:hover:text-sky-200",cyan:"text-cyan-600 dark:text-cyan-400 hover:text-cyan-800 dark:hover:text-cyan-200",indigo:"text-indigo-600 dark:text-indigo-400 hover:text-indigo-800 dark:hover:text-indigo-200"},ht={base:"block w-full sm:text-sm rounded-md dark:text-white dark:bg-gray-900 disabled:bg-slate-50 dark:disabled:bg-slate-900 disabled:text-slate-500 disabled:border-slate-200 dark:disabled:border-slate-700 disabled:shadow-none",invalid:"pr-10 border-red-300 text-red-900 placeholder-red-300 focus:outline-none focus:ring-red-500 focus:border-red-500",valid:"shadow-sm focus:ring-indigo-500 focus:border-indigo-500 border-gray-300 dark:border-gray-600"},hn={panelClass:"shadow sm:rounded-md",formClass:"space-y-6 bg-white dark:bg-black py-6 px-4 sm:p-6",headingClass:"text-lg font-medium leading-6 text-gray-900 dark:text-gray-100",subHeadingClass:"mt-1 text-sm text-gray-500 dark:text-gray-400"},gn={panelClass:"pointer-events-auto w-screen xl:max-w-3xl md:max-w-xl max-w-lg",formClass:"flex h-full flex-col divide-y divide-gray-200 dark:divide-gray-700 shadow-xl bg-white dark:bg-black",titlebarClass:"bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6",headingClass:"text-lg font-medium text-gray-900 dark:text-gray-100",subHeadingClass:"mt-1 text-sm text-gray-500 dark:text-gray-400",closeButtonClass:"rounded-md bg-gray-50 dark:bg-gray-900 text-gray-400 dark:text-gray-500 hover:text-gray-500 dark:hover:text-gray-400 focus:outline-none focus:ring-2 focus:ring-indigo-500 dark:ring-offset-black"},Tr={modalClass:"relative transform overflow-hidden rounded-lg bg-white dark:bg-black text-left shadow-xl transition-all sm:my-8",sizeClass:"sm:max-w-prose lg:max-w-screen-md xl:max-w-screen-lg 2xl:max-w-screen-xl sm:w-full"},We={panelClass(e="slideOver"){return("card"==e?hn:gn).panelClass},formClass(e="slideOver"){return("card"==e?hn:gn).formClass},headingClass(e="slideOver"){return("card"==e?hn:gn).headingClass},subHeadingClass(e="slideOver"){return("card"==e?hn:gn).subHeadingClass},buttonsClass:"px-4 py-3 bg-gray-50 dark:bg-gray-900 sm:px-6 flex flex-wrap justify-between",legendClass:"text-base font-medium text-gray-900 dark:text-gray-100 text-center mb-4"},ye={getGridClass(e=0){return ye.gridClass},getGrid2Class(e="stripedRows"){return ot(e,"fullWidth")?"overflow-x-auto":ye.grid2Class},getGrid3Class(e="stripedRows"){return ot(e,"fullWidth")?"inline-block min-w-full py-2 align-middle":ye.grid3Class},getGrid4Class(e="stripedRows"){return ot(e,"whiteBackground")?"":ot(e,"fullWidth")?"overflow-hidden shadow-sm ring-1 ring-black/5":ye.grid4Class},getTableClass(e="stripedRows"){return ot(e,"fullWidth")||ot(e,"verticalLines")?"min-w-full divide-y divide-gray-300":ye.tableClass},getTheadClass(e="stripedRows"){return ot(e,"whiteBackground")?"":ye.theadClass},getTheadRowClass(e="stripedRows"){return ye.theadRowClass+(ot(e,"verticalLines")?" divide-x divide-gray-200 dark:divide-gray-700":"")},getTheadCellClass(e="stripedRows"){return ye.theadCellClass+(ot(e,"uppercaseHeadings")?" uppercase":"")},getTbodyClass(e="stripedRows"){return(ot(e,"whiteBackground")||ot(e,"verticalLines")?"divide-y divide-gray-200 dark:divide-gray-800":ye.tableClass)+(ot(e,"verticalLines")?" bg-white":"")},getTableRowClass(e="stripedRows",t,r,a){return(a?"cursor-pointer ":"")+(r?"bg-indigo-100 dark:bg-blue-800":(a?"hover:bg-yellow-50 dark:hover:bg-blue-900 ":"")+(!ot(e,"stripedRows")||t%2==0?"bg-white dark:bg-black":"bg-gray-50 dark:bg-gray-800"))+(ot(e,"verticalLines")?" divide-x divide-gray-200 dark:divide-gray-700":"")},gridClass:"flex flex-col",grid2Class:"",grid3Class:"inline-block min-w-full py-2 align-middle",grid4Class:"overflow-hidden shadow ring-1 ring-black/5 md:rounded-lg",tableClass:"min-w-full divide-y divide-gray-200 dark:divide-gray-700",theadClass:"bg-gray-50 dark:bg-gray-900",tableCellClass:"px-6 py-4 whitespace-nowrap text-sm text-gray-500 dark:text-gray-400",theadRowClass:"select-none",theadCellClass:"px-6 py-4 text-left text-sm font-medium tracking-wider whitespace-nowrap",toolbarButtonClass:"inline-flex items-center px-2.5 py-1.5 border border-gray-300 dark:border-gray-700 shadow-sm text-sm font-medium rounded text-gray-700 dark:text-gray-300 bg-white dark:bg-black hover:bg-gray-50 dark:hover:bg-gray-900 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 dark:ring-offset-black"},ni={colspans:"col-span-3 sm:col-span-3"};function jt(e,t,r){var a=e.filter(e=>e).join(" ");return(r??=null==H.config.filterInputClass?void 0:e=>H.config.filterInputClass(e,t))?r(a):a}let Li=Object.freeze(Object.defineProperty({__proto__:null,a:Wn,card:hn,dummy:ni,filterClass:jt,form:We,grid:ye,input:ht,modal:Tr,slideOver:gn},Symbol.toStringTag,{value:"Module"}));function ha({type:e="warn",hideIcon:r,className:a,children:n,...l}){return t("div",{className:("info"===e?"bg-blue-50 dark:bg-blue-200":"error"===e?"bg-red-50 dark:bg-red-200":"success"===e?"bg-green-50 dark:bg-green-200":"bg-yellow-50 dark:bg-yellow-200")+` ${"info"===e?"border-blue-400":"error"===e?"border-red-400":"success"===e?"border-green-400":"border-yellow-400"} border-l-4 p-4 `+(a||""),children:d("div",{className:"flex items-center",children:[!r&&d("div",{className:"flex-shrink-0 mr-3",children:["warn"===e&&t("svg",{className:"h-5 w-5 text-yellow-400",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:t("path",{fillRule:"evenodd",d:"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})}),"error"===e&&t("svg",{className:"h-5 w-5 text-red-400",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:t("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.28 7.22a.75.75 0 00-1.06 1.06L8.94 10l-1.72 1.72a.75.75 0 101.06 1.06L10 11.06l1.72 1.72a.75.75 0 101.06-1.06L11.06 10l1.72-1.72a.75.75 0 00-1.06-1.06L10 8.94 8.28 7.22z",clipRule:"evenodd"})}),"info"===e&&t("svg",{className:"h-5 w-5 text-blue-400",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:t("path",{fillRule:"evenodd",d:"M19 10.5a8.5 8.5 0 11-17 0 8.5 8.5 0 0117 0zM8.25 9.75A.75.75 0 019 9h.253a1.75 1.75 0 011.709 2.13l-.46 2.066a.25.25 0 00.245.304H11a.75.75 0 010 1.5h-.253a1.75 1.75 0 01-1.709-2.13l.46-2.066a.25.25 0 00-.245-.304H9a.75.75 0 01-.75-.75zM10 7a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})}),"success"===e&&t("svg",{className:"h-5 w-5 text-green-400",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:t("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})})]}),t("div",{children:t("div",{className:("info"===e?"text-blue-700":"error"===e?"text-red-700":"success"===e?"text-green-700":"text-yellow-700")+" text-sm",...l,children:n})})]})})}function Mi({message:e,className:r,children:a}){let[n,l]=F(!1);return n?null:t("div",{className:"rounded-md bg-green-50 dark:bg-green-200 p-4 "+(r||""),role:"alert",children:d("div",{className:"flex",children:[t("div",{className:"flex-shrink-0",children:t("svg",{className:"h-5 w-5 text-green-400 dark:text-green-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:t("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M5 13l4 4L19 7"})})}),t("div",{className:"ml-3",children:t("h3",{className:"text-sm font-medium text-green-800",children:e?t("span",{children:e}):a})}),t("div",{className:"ml-auto pl-3",children:t("div",{className:"-mx-1.5 -my-1.5",children:d("button",{type:"button",className:"inline-flex rounded-md bg-green-50 dark:bg-green-200 p-1.5 text-green-500 dark:text-green-600 hover:bg-green-100 dark:hover:bg-green-800 dark:hover:text-white focus:outline-none focus:ring-2 focus:ring-green-600 dark:focus:ring-green-300 focus:ring-offset-2 focus:ring-offset-green-50 dark:ring-offset-green-900",onClick:()=>l(!0),children:[t("span",{className:"sr-only",children:"Dismiss"}),t("svg",{className:"h-5 w-5",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:t("path",{d:"M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"})})]})})})]})})}function ir({status:r,except:a,className:e}){let n=$t(),l=c(()=>{var e=r||n?.error;return e?nl.call({responseStatus:e},a??[]):null},[r,n?.error,a]);return l?t("div",{className:"bg-red-50 dark:bg-red-900 border-l-4 border-red-400 p-4 "+(e||""),children:d("div",{className:"flex",children:[t("div",{className:"flex-shrink-0",children:t("svg",{className:"h-5 w-5 text-red-400",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:t("path",{fill:"currentColor",d:"M12 2c5.53 0 10 4.47 10 10s-4.47 10-10 10S2 17.53 2 12S6.47 2 12 2m3.59 5L12 10.59L8.41 7L7 8.41L10.59 12L7 15.59L8.41 17L12 13.41L15.59 17L17 15.59L13.41 12L17 8.41L15.59 7Z"})})}),t("div",{className:"ml-3",children:t("p",{className:"text-sm text-red-700 dark:text-red-200",children:l})})]})}):null}function Si({id:e,description:r,className:a}){return r?t("div",{className:"mt-2 text-sm text-gray-500 "+(a||""),id:e+"-description","aria-describedby":e+"-description",children:t("div",{children:r})}):null}function Sn({image:e,svg:r,src:a,alt:n,type:l,className:s}){let i=e;var o,d;l&&(d=ut().typeOf,(d=d(l))||console.warn(`Type ${l} does not exist`),d?.icon?i=d?.icon:console.warn(`Type ${l} does not have a [Svg] icon`));let c=r||i?.svg||"";return c.startsWith("<svg ")?(d=Kn(c,">").indexOf("class="),o=`${i?.cls||""} `+(s||""),c=-1==d?`<svg class="${o}" `+c.substring(4):(d=d+6+1,c.substring(0,d)+o+" "+c.substring(d)),t("span",{dangerouslySetInnerHTML:{__html:c}})):t("img",{className:`${i?.cls||""} `+(s||""),src:Pt(a||i?.uri),alt:n,onError:e=>_n(e.target)})}function ga({imageClass:e="w-6 h-6",className:r,children:a}){return t("div",{className:"text-2xl font-semibold text-gray-900 dark:text-gray-300 "+(r||""),children:d("div",{className:"flex",children:[d("svg",{className:"self-center inline mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-gray-600 dark:fill-gray-300 "+e,role:"status",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),t("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]}),t("span",{children:a})]})})}function ri(e){return/^(https?:\/\/|mailto:|tel:)/.test(e)}function Gt({href:e,children:r,className:a,...n}){var l;return!ri(e)&&(l=H.config.linkComponent)?t(l,{to:e,className:a,...n,children:r}):t("a",{href:e,className:a,...n,children:r})}let Ti=({type:e="submit",href:r,onClick:a,children:n,className:l,...s})=>{var i=c(()=>{var e="inline-flex items-center px-4 py-2 border border-gray-300 dark:border-gray-600 shadow-sm text-sm font-medium rounded-md text-gray-700 dark:text-gray-200 disabled:text-gray-400 bg-white dark:bg-black hover:bg-gray-50 hover:dark:bg-gray-900 disabled:hover:bg-white dark:disabled:hover:bg-black focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 dark:ring-offset-black";return l?e+" "+l:e},[l]);return r?t(Gt,{href:r,className:i,onClick:a,...s,children:n}):t("button",{type:e,className:i,onClick:a,...s,children:n})},un=({type:e="submit",color:r="indigo",href:a,onClick:n,children:l,className:s,...i})=>{let o={blue:"focus:ring-blue-500 bg-blue-600 hover:bg-blue-700 disabled:bg-blue-400 disabled:hover:bg-blue-400 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800",purple:"focus:ring-purple-500 bg-purple-600 hover:bg-purple-700 disabled:bg-purple-400 disabled:hover:bg-purple-400 dark:bg-purple-600 dark:hover:bg-purple-700 dark:focus:ring-purple-800",red:"focus:ring-red-500 bg-red-600 hover:bg-red-700 disabled:bg-red-400 disabled:hover:bg-red-40