diff --git a/AiServer.ServiceInterface/AppData.cs b/AiServer.ServiceInterface/AppData.cs index 7cf22a1..f0cb318 100644 --- a/AiServer.ServiceInterface/AppData.cs +++ b/AiServer.ServiceInterface/AppData.cs @@ -154,9 +154,10 @@ public MediaModel GetMediaModelByApiModel(MediaProvider provider, string apiMode throw HttpError.NotFound($"{apiModel} is not a supported model for {provider.Name} ({provider.MediaType?.Id})"); } - public string? GetQualifiedMediaModel(MediaProvider provider, string apiModel) + public string? GetQualifiedMediaModel(ModelType modelType, string apiModel) { - foreach (var mediaModel in MediaModels) + foreach (var mediaModel in MediaModels + .Where(x => x.ModelType == modelType)) { foreach (var entry in mediaModel.ApiModels) { diff --git a/AiServer.ServiceInterface/GenerationServices.cs b/AiServer.ServiceInterface/GenerationServices.cs index 82f856a..f2548b8 100644 --- a/AiServer.ServiceInterface/GenerationServices.cs +++ b/AiServer.ServiceInterface/GenerationServices.cs @@ -55,17 +55,15 @@ public async Task Any(GetJobStatus request) public object Any(ActiveMediaModels request) { - var imageModels = appData.MediaModels - .Where(x => x.ModelType == ModelType.TextToImage) - .Select(x => x.Id); - var activeModels = appData.MediaProviders + .OrderByDescending(x => x.Priority) + .ThenBy(x => x.Id) + .ThenBy(x => x.Name) .SelectMany(x => - x.Models.Select(m => appData.GetQualifiedMediaModel(x, m))) + x.Models.Select(m => appData.GetQualifiedMediaModel(ModelType.TextToImage, m))) .Where(x => x != null) .Select(x => x!) // Non-null assertion after filtering out null values - .Distinct() - .OrderBy(x => x); + .Distinct(); return new StringsResponse { diff --git a/AiServer.ServiceModel/Generations.cs b/AiServer.ServiceModel/Generations.cs index 34f2f39..4d1002d 100644 --- a/AiServer.ServiceModel/Generations.cs +++ b/AiServer.ServiceModel/Generations.cs @@ -12,6 +12,7 @@ public class ActiveMediaModels : IGet, IReturn {} [Tag("AI")] [Api("Convert speech to text")] [Description("Transcribe audio content to text")] +[SystemJson(UseSystemJson.Response)] public class SpeechToText : IGeneration, IReturn { [ApiMember(Description = "The audio stream containing the speech to be transcribed")] @@ -33,6 +34,7 @@ public class SpeechToText : IGeneration, IReturn [Tag("AI")] [Api("Convert text to speech")] [Description("Generate speech audio from text input")] +[SystemJson(UseSystemJson.Response)] public class TextToSpeech : IGeneration, IReturn { [ApiMember(Description = "The text to be converted to speech")] @@ -58,6 +60,7 @@ public class TextToSpeech : IGeneration, IReturn [Tag("AI")] [Api("Generate image from text description")] [Description("Create an image based on a text prompt")] +[SystemJson(UseSystemJson.Response)] public class TextToImage : IGeneration, IReturn { [ApiMember(Description = "The main prompt describing the desired image")] @@ -108,6 +111,7 @@ public class TextToImage : IGeneration, IReturn [Tag("AI")] [Api("Generate image from another image")] [Description("Create a new image based on an existing image and a text prompt")] +[SystemJson(UseSystemJson.Response)] public class ImageToImage : IGeneration, IReturn { [ApiMember(Description = "The image to use as input")] @@ -155,6 +159,7 @@ public class ImageToImage : IGeneration, IReturn [Tag("AI")] [Api("Upscale an image")] [Description("Increase the resolution and quality of an input image")] +[SystemJson(UseSystemJson.Response)] public class ImageUpscale : IGeneration, IReturn { [ApiMember(Description = "The image to upscale")] @@ -181,6 +186,7 @@ public class ImageUpscale : IGeneration, IReturn [Tag("AI")] [Api("Generate image with masked area")] [Description("Create a new image by applying a mask to an existing image and generating content for the masked area")] +[SystemJson(UseSystemJson.Response)] public class ImageWithMask : IGeneration, IReturn { [ApiMember(Description = "Prompt describing the desired output in the masked area")] @@ -229,6 +235,7 @@ public class ImageWithMask : IGeneration, IReturn [Tag("AI")] [Api("Convert image to text")] [Description("Extract text content from an image")] +[SystemJson(UseSystemJson.Response)] public class ImageToText : IGeneration, IReturn { [ApiMember(Description = "The image to convert to text")] diff --git a/AiServer/wwwroot/css/app.css b/AiServer/wwwroot/css/app.css index 7c59da4..1dfc4a6 100644 --- a/AiServer/wwwroot/css/app.css +++ b/AiServer/wwwroot/css/app.css @@ -987,6 +987,14 @@ select{ grid-column: span 6 / span 6; } +.col-span-2 { + grid-column: span 2 / span 2; +} + +.row-span-2 { + grid-row: span 2 / span 2; +} + .-m-2\.5 { margin: -0.625rem; } @@ -1189,6 +1197,26 @@ select{ margin-top: auto; } +.mb-32 { + margin-bottom: 8rem; +} + +.mt-1\.5 { + margin-top: 0.375rem; +} + +.mt-20 { + margin-top: 5rem; +} + +.ml-8 { + margin-left: 2rem; +} + +.mb-20 { + margin-bottom: 5rem; +} + .block { display: block; } @@ -1381,6 +1409,10 @@ select{ width: 100vw; } +.w-7 { + width: 1.75rem; +} + .min-w-0 { min-width: 0px; } @@ -1980,6 +2012,11 @@ select{ border-color: rgb(250 204 21 / var(--tw-border-opacity)); } +.border-yellow-300 { + --tw-border-opacity: 1; + border-color: rgb(253 224 71 / var(--tw-border-opacity)); +} + .bg-\[\#f4f4f4\] { --tw-bg-opacity: 1; background-color: rgb(244 244 244 / var(--tw-bg-opacity)); @@ -2166,16 +2203,35 @@ select{ background-image: linear-gradient(to top right, var(--tw-gradient-stops)); } +.bg-\[radial-gradient\(ellipse_at_center\2c _var\(--tw-gradient-stops\)\)\] { + background-image: radial-gradient(ellipse at center, var(--tw-gradient-stops)); +} + .from-\[\#ff80b5\] { --tw-gradient-from: #ff80b5 var(--tw-gradient-from-position); --tw-gradient-to: rgb(255 128 181 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); } +.from-gray-700 { + --tw-gradient-from: #374151 var(--tw-gradient-from-position); + --tw-gradient-to: rgb(55 65 81 / 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.via-gray-900 { + --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), #111827 var(--tw-gradient-via-position), var(--tw-gradient-to); +} + .to-\[\#9089fc\] { --tw-gradient-to: #9089fc var(--tw-gradient-to-position); } +.to-black { + --tw-gradient-to: #000 var(--tw-gradient-to-position); +} + .fill-gray-300 { fill: #d1d5db; } @@ -2816,10 +2872,19 @@ select{ color: rgb(161 98 7 / var(--tw-text-opacity)); } +.text-zinc-100 { + --tw-text-opacity: 1; + color: rgb(244 244 245 / var(--tw-text-opacity)); +} + .underline { text-decoration-line: underline; } +.underline-offset-4 { + text-underline-offset: 4px; +} + .placeholder-red-300::-moz-placeholder { --tw-placeholder-opacity: 1; color: rgb(252 165 165 / var(--tw-placeholder-opacity)); @@ -2966,6 +3031,11 @@ select{ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); } +.drop-shadow { + --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06)); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + .\!invert { --tw-invert: invert(100%) !important; filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important; @@ -3318,6 +3388,10 @@ select{ color: rgb(7 89 133 / var(--tw-text-opacity)); } +.hover\:underline:hover { + text-decoration-line: underline; +} + .hover\:opacity-70:hover { opacity: 0.7; } @@ -3565,6 +3639,10 @@ select{ opacity: 1; } +.group:hover .group-hover\:visible { + visibility: visible; +} + .group:hover .group-hover\:inline { display: inline; } @@ -3583,6 +3661,10 @@ select{ opacity: 1; } +.group:hover .group-hover\:opacity-40 { + opacity: 0.4; +} + .dark\:divide-gray-700:is(.dark *) > :not([hidden]) ~ :not([hidden]) { --tw-divide-opacity: 1; border-color: rgb(55 65 81 / var(--tw-divide-opacity)); @@ -4034,24 +4116,20 @@ select{ top: calc(100% - 30rem); } - .sm\:col-span-3 { - grid-column: span 3 / span 3; + .sm\:col-span-1 { + grid-column: span 1 / span 1; } .sm\:col-span-2 { grid-column: span 2 / span 2; } - .sm\:col-span-4 { - grid-column: span 4 / span 4; - } - - .sm\:col-span-1 { - grid-column: span 1 / span 1; + .sm\:col-span-3 { + grid-column: span 3 / span 3; } - .sm\:col-span-5 { - grid-column: span 5 / span 5; + .sm\:col-span-4 { + grid-column: span 4 / span 4; } .sm\:-mx-6 { @@ -4086,6 +4164,10 @@ select{ margin-top: 4rem; } + .sm\:mb-1 { + margin-bottom: 0.25rem; + } + .sm\:block { display: block; } @@ -4118,6 +4200,10 @@ select{ width: 100%; } + .sm\:w-72 { + width: 18rem; + } + .sm\:max-w-3xl { max-width: 48rem; } @@ -4130,6 +4216,10 @@ select{ max-width: 65ch; } + .sm\:max-w-sm { + max-width: 24rem; + } + .sm\:translate-y-0 { --tw-translate-y: 0px; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); @@ -4155,6 +4245,10 @@ select{ grid-template-columns: repeat(3, minmax(0, 1fr)); } + .sm\:grid-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + .sm\:flex-row-reverse { flex-direction: row-reverse; } @@ -4194,6 +4288,10 @@ select{ border-top-right-radius: 0px; } + .sm\:border-2 { + border-width: 2px; + } + .sm\:p-0 { padding: 0px; } @@ -4212,6 +4310,11 @@ select{ padding-right: 1.5rem; } + .sm\:px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; + } + .sm\:pb-0 { padding-bottom: 0px; } @@ -4228,6 +4331,10 @@ select{ padding-right: 1.5rem; } + .sm\:pb-2 { + padding-bottom: 0.5rem; + } + .sm\:text-left { text-align: left; } @@ -4268,6 +4375,14 @@ select{ width: 18rem; } + .md\:w-80 { + width: 20rem; + } + + .md\:w-96 { + width: 24rem; + } + .md\:max-w-3xl { max-width: 48rem; } @@ -4458,6 +4573,10 @@ select{ grid-template-columns: repeat(4, minmax(0, 1fr)); } + .xl\:grid-cols-5 { + grid-template-columns: repeat(5, minmax(0, 1fr)); + } + .xl\:px-5 { padding-left: 1.25rem; padding-right: 1.25rem; diff --git a/AiServer/wwwroot/lib/mjs/servicestack-vue.min.mjs b/AiServer/wwwroot/lib/mjs/servicestack-vue.min.mjs index b48a033..f4cb0cc 100644 --- a/AiServer/wwwroot/lib/mjs/servicestack-vue.min.mjs +++ b/AiServer/wwwroot/lib/mjs/servicestack-vue.min.mjs @@ -1,11 +1,11 @@ -var mo=Object.defineProperty,ho=(e,l,t)=>l in e?mo(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,Le=(e,l,t)=>(ho(e,"symbol"!=typeof l?l+"":l,t),t);import{defineComponent as de,computed as v,openBlock as o,createElementBlock as i,normalizeClass as y,createElementVNode as l,createCommentVNode as x,renderSlot as U,ref as D,toDisplayString as F,inject as Qe,nextTick as Vt,isRef as nn,unref as X,mergeProps as Te,withModifiers as Ue,h as _t,resolveComponent as Z,createBlock as ae,withCtx as xe,useAttrs as go,createVNode as ye,createTextVNode as ke,watchEffect as ws,normalizeStyle as nl,Fragment as Se,renderList as je,withDirectives as Mt,vModelCheckbox as ol,withKeys as on,createStaticVNode as xs,vModelSelect as yo,useSlots as al,getCurrentInstance as Be,onMounted as Ye,createSlots as rl,normalizeProps as Rt,guardReactiveProps as ks,vModelDynamic as bo,onUnmounted as Tt,watch as yt,vModelText as wo,resolveDynamicComponent as an,provide as ss,resolveDirective as ko}from"vue";import{errorResponseExcept as _o,dateFmt as rn,toTime as $o,omit as ft,enc as Ks,appendQueryString as Et,lastLeftPart as un,setQueryString as Co,nameOf as xo,ApiResult as Xe,lastRightPart as St,leftPart as Ls,map as Ke,toDate as Ft,toDateTime as Lo,toCamelCase as Vo,mapGet as _e,chop as Mo,fromXsdDuration as dn,isDate as Vs,timeFmt12 as So,apiValue as Ao,indexOfAny as To,createBus as Fo,toKebabCase as Wl,sanitize as Io,humanize as Pe,delaySet as cn,rightPart as ms,queryString as Zs,combinePaths as jo,toPascalCase as at,errorResponse as pt,trimEnd as Do,$1 as _s,ResponseStatus as Us,ResponseError as Gl,HttpMethods as il,omitEmpty as Oo,uniqueKeys as Ws,humanify as fn,each as Po}from"@servicestack/client";let Bo={class:"flex items-center"},Ho={key:0,class:"flex-shrink-0 mr-3"},Ro={key:0,class:"h-5 w-5 text-yellow-400",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},Eo=l("path",{"fill-rule":"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","clip-rule":"evenodd"},null,-1),zo=[Eo],No={key:1,class:"h-5 w-5 text-red-400",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},Uo=l("path",{"fill-rule":"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","clip-rule":"evenodd"},null,-1),qo=[Uo],Qo={key:2,class:"h-5 w-5 text-blue-400",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},Ko=l("path",{"fill-rule":"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","clip-rule":"evenodd"},null,-1),Zo=[Ko],Wo={key:3,class:"h-5 w-5 text-green-400",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},Go=l("path",{"fill-rule":"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","clip-rule":"evenodd"},null,-1),Jo=[Go],Xo=de({__name:"Alert",props:{type:{default:"warn"},hideIcon:{type:Boolean}},setup(e){let t=e,a=v(()=>"info"==t.type?"bg-blue-50 dark:bg-blue-200":"error"==t.type?"bg-red-50 dark:bg-red-200":"success"==t.type?"bg-green-50 dark:bg-green-200":"bg-yellow-50 dark:bg-yellow-200"),n=v(()=>"info"==t.type?"border-blue-400":"error"==t.type?"border-red-400":"success"==t.type?"border-green-400":"border-yellow-400"),r=v(()=>"info"==t.type?"text-blue-700":"error"==t.type?"text-red-700":"success"==t.type?"text-green-700":"text-yellow-700");return(e,t)=>(o(),i("div",{class:y([a.value,n.value,"border-l-4 p-4"])},[l("div",Bo,[e.hideIcon?x("",!0):(o(),i("div",Ho,["warn"==e.type?(o(),i("svg",Ro,zo)):"error"==e.type?(o(),i("svg",No,qo)):"info"==e.type?(o(),i("svg",Qo,Zo)):"success"==e.type?(o(),i("svg",Wo,Jo)):x("",!0)])),l("div",null,[l("p",{class:y([r.value,"text-sm"])},[U(e.$slots,"default")],2)])])],2))}}),Yo={key:0,class:"rounded-md bg-green-50 dark:bg-green-200 p-4",role:"alert"},ea={class:"flex"},ta=l("div",{class:"flex-shrink-0"},[l("svg",{class:"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"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"})])],-1),sa={class:"ml-3"},la={class:"text-sm font-medium text-green-800"},na={key:0},oa={class:"ml-auto pl-3"},aa={class:"-mx-1.5 -my-1.5"},ra=l("span",{class:"sr-only"},"Dismiss",-1),ia=l("svg",{class:"h-5 w-5",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[l("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"})],-1),ua=[ra,ia],da=de({__name:"AlertSuccess",props:{message:{}},setup(e){let a=D(!1);return(e,t)=>a.value?x("",!0):(o(),i("div",Yo,[l("div",ea,[ta,l("div",sa,[l("h3",la,[e.message?(o(),i("span",na,F(e.message),1)):U(e.$slots,"default",{key:1})])]),l("div",oa,[l("div",aa,[l("button",{type:"button",class:"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-700 dark:hover:text-white focus:outline-none focus:ring-2 focus:ring-green-600 focus:ring-offset-2 focus:ring-offset-green-50 dark:ring-offset-green-200",onClick:t[0]||(t[0]=e=>a.value=!0)},ua)])])])]))}}),ca={class:"flex"},fa=l("div",{class:"flex-shrink-0"},[l("svg",{class:"h-5 w-5 text-red-400",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("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"})])],-1),va={class:"ml-3"},pa={class:"text-sm text-red-700 dark:text-red-200"},ma=de({__name:"ErrorSummary",props:{status:{},except:{},class:{}},setup(e){let t=e,a=Qe("ApiState",void 0),n=v(()=>t.status||null!=a&&a.error.value?_o.call({responseStatus:t.status??(null==a?void 0:a.error.value)},t.except??[]):null);return(e,t)=>n.value?(o(),i("div",{key:0,class:y("bg-red-50 dark:bg-red-900 border-l-4 border-red-400 p-4 "+e.$props.class)},[l("div",ca,[fa,l("div",va,[l("p",pa,F(n.value),1)])])],2)):x("",!0)}}),ha=["id","aria-describedby"],ga=de({__name:"InputDescription",props:{id:{},description:{}},setup(e){return(e,t)=>e.description?(o(),i("div",{key:"description",class:"mt-2 text-sm text-gray-500",id:e.id+"-description","aria-describedby":e.id+"-description"},[l("div",null,F(e.description),1)],8,ha)):x("",!0)}});function Ms(e){return rn(e).replace(/\//g,"-")}function vn(e){return null==e?"":$o(e)}function pn(e,l){e.value=null,Vt(()=>e.value=l)}function Ot(t){return Object.keys(t).forEach(e=>{var l=t[e];t[e]=nn(l)?X(l):l}),t}function gt(e,l,t){t?(l.value=e.entering.cls+" "+e.entering.from,setTimeout(()=>l.value=e.entering.cls+" "+e.entering.to,0)):(l.value=e.leaving.cls+" "+e.leaving.from,setTimeout(()=>l.value=e.leaving.cls+" "+e.leaving.to,0))}function hs(t){if(!("u"0":"<"+e+Gs(t)+`>${l||""}`}function Gs(t){return Object.keys(t).reduce((e,l)=>`${e} ${l}="${Ks(t[l])}"`,"")}function Ss(e){return Object.assign({target:"_blank",rel:"noopener",class:"text-blue-600"},e)}function Ht(e){return Vl(e)}let ya=["string","number","boolean","null","undefined"];function At(e){return 0<=ya.indexOf(typeof e)||e instanceof Date}function Xt(e){return!At(e)}class mn{get length(){return"u"",";"].some(e=>l.includes(e)))throw new Error(`Unsafe script: '${l}'`);var t=Object.assign(Object.keys(globalThis).reduce((e,l)=>(e[l]=void 0,e),{}),e);return new Function("with(this) { return ("+l+") }").call(t)}function Js(e){typeof navigator<"u"&&navigator.clipboard.writeText(e)}function cl(e){var l=Y.config.storage.getItem(e);return l?JSON.parse(l):null}function As(e,l){return Et("swr."+xo(e),l?Object.assign({},e,l):e)}function ba(e){var l;e.request&&(l=As(e.request,e.args),Y.config.storage.removeItem(l))}async function hn(e,l,t,a,n){var r,s=As(l,a),o=(t(new Xe({response:cl(s)})),await e.api(l,a,n));return o.succeeded&&o.response&&(o.response._date=(new Date).valueOf(),r=JSON.stringify(o.response),Y.config.storage.setItem(s,r),t(o)),o}function gn(l,t){let a=null;return(...e)=>{a&&clearTimeout(a),a=setTimeout(()=>{l(...e)},t||100)}}function $t(e){return"string"==typeof e?e.split(","):e||[]}function Lt(e,l){let t=$t(l);return e.reduce((e,l)=>(e[l]=!t.includes(l),e),{})}function yn(){return{LocalStore:mn,dateInputFormat:Ms,timeInputFormat:vn,setRef:pn,unRefs:Ot,transition:gt,focusNextElement:hs,getTypeName:qt,htmlTag:dt,htmlAttrs:Gs,linkAttrs:Ss,toAppUrl:Ht,isPrimitive:At,isComplexType:Xt,pushState:ul,scopedExpr:dl,copyText:Js,fromCache:cl,swrCacheKey:As,swrClear:ba,swrApi:hn,asStrings:$t,asOptions:Lt,createDebounce:gn}}let bn="png,jpg,jpeg,jfif,gif,svg,webp".split(","),wn={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(",")},Jl=Object.keys(wn),vt=(e,l)=>``,gs={img:vt("4 4 16 16",""),vid:vt("0 0 24 24",""),aud:vt("0 0 24 24",""),ppt:vt("0 0 48 48",""),xls:vt("0 0 256 256",""),doc:vt("0 0 32 32",""),zip:vt("0 0 16 16",""),exe:vt("0 0 16 16",""),att:vt("0 0 24 24","")},wa=/[\r\n%#()<>?[\\\]^`{|}]/g,Xl=1024,ka=["Bytes","KB","MB","GB","TB"],_a=(()=>{let l="application/",e=l+"vnd.openxmlformats-officedocument.",t="image/",a="text/",n="video/",r={jpg:t+"jpeg",tif:t+"tiff",svg:t+"svg+xml",ico:t+"x-icon",ts:a+"typescript",py:a+"x-python",sh:a+"x-sh",mp3:"audio/mpeg3",mpg:n+"mpeg",ogv:n+"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:l+"vnd.ms-access"};function s(e,l){e.split(",").forEach(e=>r[e]=l)}function o(e,l){e.split(",").forEach(e=>r[e]=l(e))}return o("jpeg,gif,png,tiff,bmp,webp",e=>t+e),o("jsx,csv,css",e=>a+e),o("aac,ac3,aiff,m4a,m4b,m4p,mid,midi,wav",e=>"audio/"+e),o("3gpp,avi,dv,divx,ogg,mp4,webm",e=>n+e),o("rtf,pdf",e=>l+e),s("htm,html,shtm",a+"html"),s("js,mjs,cjs",a+"javascript"),s("yml,yaml",l+"yaml"),s("bat,cmd",l+"bat"),s("xml,csproj,fsproj,vbproj",a+"xml"),s("txt,ps1",a+"plain"),s("qt,mov",n+"quicktime"),s("doc,dot",l+"msword"),s("xls,xlt,xla",l+"excel"),s("ppt,oit,pps,ppa",l+"vnd.ms-powerpoint"),s("cer,crt,der",l+"x-x509-ca-cert"),s("gz,tgz,zip,rar,lzh,z",l+"x-compressed"),s("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",l+"octet-stream"),r})(),Xs=[];function kn(e){return(e=(e=(e=e.replace(/"/g,"'")).replace(/>\s+<")).replace(/\s{2,}/g," ")).replace(wa,encodeURIComponent)}function fl(e){return"data:image/svg+xml;utf8,"+kn(e)}function _n(e){var l=URL.createObjectURL(e);return Xs.push(l),l}function $n(){Xs.forEach(e=>{try{URL.revokeObjectURL(e)}catch(e){console.error("URL.revokeObjectURL",e)}}),Xs=[]}function vl(e){var l;return e?(l=Ls(e,"?"),St(l,"/")):null}function ls(e){var l=vl(e);return null==l||-1===l.indexOf(".")?null:St(l,".").toLowerCase()}function pl(e){var l=ls(e.name);return l&&0<=bn.indexOf(l)?_n(e):Ct(e.name)}function ml(e){var l;return e&&(!(!e.startsWith("blob:")&&!e.startsWith("data:"))||(l=ls(e))&&0<=bn.indexOf(l))||!1}function Ct(e){var l;return e?null==(l=ls(e))||ml(e)?e:Jt(l)||fl(gs.doc):null}function Jt(e){var l=Cn(e);return l&&fl(l)||null}function Cn(e){if(gs[e])return gs[e];for(let t=0;t({fileName:e.name,contentLength:e.size,filePath:pl(e)}))}function Ts(e,l){e.onerror=null,e.src=gl(e.src,l)||""}function gl(e,l){return Jt(St(e,".").toLowerCase())||(l?Jt(l)||l:null)||Jt("doc")}function Ys(e){var l;if(e)return l=St(e,".").toLowerCase(),_a[l]||"application/"+l;throw new Error("fileNameOrExt required")}function Ca(){return{extSvg:Cn,extSrc:Jt,getExt:ls,encodeSvg:kn,canPreview:ml,getFileName:vl,getMimeType:Ys,formatBytes:hl,filePathUri:Ct,svgToDataUri:fl,fileImageUri:pl,objectUrl:_n,flush:$n,inputFiles:$a,iconOnError:Ts,iconFallbackSrc:gl}}class xa{constructor(e){Le(this,"view"),Le(this,"includeTypes"),Object.assign(this,e)}getTypeName(){return"MetadataApp"}getMethod(){return"GET"}createResponse(){return{}}}let zt="/metadata/app.json",La={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"},Va={number:"Int32",checkbox:"Boolean",date:"DateTime","datetime-local":"DateTime",time:"TimeSpan"},el={Byte:"byte",Int16:"short",Int32:"int",Int64:"long",UInt16:"ushort",Unt32:"uint",UInt64:"ulong",Single:"float",Double:"double",Decimal:"decimal"},Ma=([...Object.keys(el),...Object.values(el)],{String:"string",Boolean:"bool",...el});function fs(e){return Ma[e]||e}function xn(e,l){return e?(l=l||[],"Nullable`1"===e?fs(l[0])+"?":e.endsWith("[]")?`List<${fs(e.substring(0,e.length-2))}>`:0===l.length?fs(e):Ls(fs(e),"`")+"<"+l.join(",")+">"):""}function Sa(e){return e&&xn(e.name,e.genericArgs)}class Nt{constructor(){Le(this,"Query"),Le(this,"QueryInto"),Le(this,"Create"),Le(this,"Update"),Le(this,"Patch"),Le(this,"Delete")}get AnyQuery(){return this.Query||this.QueryInto}get AnyUpdate(){return this.Patch||this.Update}get dataModel(){var e;return null==(e=this.AnyQuery)?void 0:e.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){qe.isQueryInto(e)&&!this.QueryInto?this.QueryInto=e:qe.isQuery(e)&&!this.Query?this.Query=e:qe.isCreate(e)&&!this.Create?this.Create=e:qe.isUpdate(e)&&!this.Update?this.Update=e:qe.isPatch(e)&&!this.Patch?this.Patch=e:qe.isDelete(e)&&!this.Delete&&(this.Delete=e)}static from(e){let l=new Nt;return e.forEach(e=>{l.add(e)}),l}static forType(t,e){let l,a=new Nt;var n;return Y.config.apisResolver&&t&&(n=Y.config.apisResolver(t,e))&&(a.Query=n.Query,a.QueryInto=n.QueryInto,a.Create=n.Create,a.Update=n.Update,a.Patch=n.Patch,a.Delete=n.Delete),t&&(null!=(e=e??(null==(l=Y.metadata.value)?void 0:l.api))&&e.operations.forEach(e=>{var l;(null==(l=e.dataModel)?void 0:l.name)==t&&a.add(e)})),a}}let qe={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=>Ke(e.request.inherits,e=>0<=qe.AnyRead.indexOf(e.name)),isQuery:e=>Ke(e.request.inherits,e=>"QueryDb`1"===e.name),isQueryInto:e=>Ke(e.request.inherits,e=>"QueryDb`2"===e.name),isCrud:e=>{var l;return null==(l=e.request.implements)?void 0:l.some(e=>0<=qe.AnyWrite.indexOf(e.name))},isCreate:e=>vs(e,qe.Create),isUpdate:e=>vs(e,qe.Update),isPatch:e=>vs(e,qe.Patch),isDelete:e=>vs(e,qe.Delete),model:e=>{var l;return e?Ke(e.inherits,e=>0<=qe.AnyRead.indexOf(e.name))?null==(l=e.inherits)?void 0:l.genericArgs[0]:null==(l=null==(l=e.implements)?void 0:l.find(e=>0<=qe.AnyWrite.indexOf(e.name)))?void 0:l.genericArgs[0]:null}};function Aa(e){var l;return(null==(l=e.input)?void 0:l.type)||Fs(yl(e))}function Ln(e){return e.endsWith("?")?Mo(e,1):e}function Fs(e){return La[Ln(e)]}function Ta(e){return e&&Va[e]||"String"}function yl(e){return"Nullable`1"===e.type?e.genericArgs[0]:e.type}function tl(e){return e&&"number"==Fs(e)||!1}function Vn(e){return e&&"string"==e.toLowerCase()||!1}function Fa(e){return"List`1"==e||e.startsWith("List<")||e.endsWith("[]")}function Mn(e){var l;return!(null==e||!e.type||(l=yl(e),e.isValueType&&-1==l.indexOf("`"))||e.isEnum||null!=Fs(e.type))}function Sn(e){var l;return!!(null!=e&&e.type&&(l=yl(e),e.isValueType&&-1==l.indexOf("`")||e.isEnum||"hidden"==(null==(l=e.input)?void 0:l.type)||"file"==(null==(l=e.input)?void 0:l.type)||"tag"==(null==(l=e.input)?void 0:l.type)||"combobox"==(null==(l=e.input)?void 0:l.type)||null!=Fs(e.type)))}function Yt(e,l){let t="string"==typeof e?Is(e):e,a=(t||(console.warn("Metadata not found for: "+e),t={request:{name:e}}),function(e){Object.assign(this,e)}),n=(r.prototype.createResponse=function(){return t.returnsVoid?void 0:new a},r.prototype.getTypeName=function(){return t.request.name},r.prototype.getMethod=function(){return t.method||"POST"},r);function r(e){Object.assign(this,e)}return new n(l)}function Ia(e,l,t={}){let a=function(e){Object.assign(this,e)},n=(r.prototype.createResponse=function(){return"function"==typeof t.createResponse?t.createResponse():new a},r.prototype.getTypeName=function(){return e},r.prototype.getMethod=function(){return t.method||"POST"},r);function r(e){Object.assign(this,e)}return new n(l)}function ys(t,e){return t?(Object.keys(t).forEach(e=>{var l=t[e];"string"==typeof l?l.startsWith("/Date")&&(t[e]=Ms(Ft(l))):null!=l&&"object"==typeof l&&(Array.isArray(l)?t[e]=Array.from(l):t[e]=Object.assign({},l))}),t):{}}function ja(e,o){let i={};return Array.from(e.elements).forEach(e=>{var r,s=e;if(s.id&&null!=s.value&&""!==s.value){let l=s.id.toLowerCase(),e=o&&o.find(e=>e.name.toLowerCase()==l),t=null==e?void 0:e.type,a=null==(r=null==e?void 0:e.genericArgs)?void 0:r[0],n="checkbox"===s.type?s.checked:s.value;tl(t)?n=Number(n):"List`1"===t&&"string"==typeof n&&(n=n.split(",").map(e=>tl(a)?Number(e):e)),i[s.id]=n}}),i}function bl(e){var l;return(null==(l=null==e?void 0:e.api)?void 0:l.operations)&&0l)?!1:n)){if((t||a)&&(await Yl(t||zt,a),null!=Y.metadata.value))return;var r=Qe("client");if(null!=r&&(l=await r.api(new xa)).succeeded&&es(l.response),null!=Y.metadata.value)return;await Yl(zt)}return Y.metadata.value}function rt(l,t){if(Y.config.typeResolver){var e=Y.config.typeResolver(l,t);if(e)return e}var a,e=null==(e=Y.metadata.value)?void 0:e.api;return e&&l?e.types.find(e=>e.name.toLowerCase()===l.toLowerCase()&&(!t||e.namespace==t))||((a=Is(l))?a.request:(a=e.operations.find(e=>e.response&&e.response.name.toLowerCase()===l.toLowerCase()&&(!t||e.response.namespace==t)))?a.response:null):null}function Is(l){if(Y.config.apiResolver){var e=Y.config.apiResolver(l);if(e)return e}e=null==(e=Y.metadata.value)?void 0:e.api;return e?e.operations.find(e=>e.request.name.toLowerCase()===l.toLowerCase()):null}function Ba({dataModel:e}){var l=null==(l=Y.metadata.value)?void 0:l.api;if(!l)return[];let t=l.operations;if(e){let l="string"==typeof e?rt(e):e;t=t.filter(e=>An(e.dataModel,l))}return t}function kl(e){return e?rt(e.name,e.namespace):null}function An(e,l){return e&&l&&e.name===l.name&&(!e.namespace||!l.namespace||e.namespace===l.namespace)}function Ha(e,l){var t=rt(e);return t&&t.properties&&t.properties.find(e=>e.name.toLowerCase()===l.toLowerCase())}function Tn(e){return Fn(rt(e))}function Fn(l){if(l&&l.isEnum&&null!=l.enumNames){var t={};for(let e=0;el.push({key:e,value:t[e]})),l}}function Ra(e,l){t=e.name,a=(null==l?void 0:l.type)||Aa(e)||"text";var t,a,n=Object.assign({id:t,name:t,type:a},l);return e.isEnum&&(n.type="select",n.allowableEntries=_l(In(e))),n}function Ea(l){let r=[];if(l){let a=st(l),e=Is(l.name),n=kl(null==e?void 0:e.dataModel);a.forEach(l=>{var e;if(Sn(l)){let t=Ra(l,l.input);if(t.id=Vo(t.id),"file"==t.type&&l.uploadTo&&!t.accept&&(e=null==(e=null==(e=Y.metadata.value)?void 0:e.plugins.filesUpload)?void 0:e.locations.find(e=>e.name==l.uploadTo))&&!t.accept&&e.allowExtensions&&(t.accept=e.allowExtensions.map(e=>e.startsWith(".")?e:"."+e).join(",")),n&&(e=null==(e=n.properties)?void 0:e.find(e=>e.name==l.name),l.ref||(l.ref=null==e?void 0:e.ref)),t.options)try{let e={input:t,$typeFields:a.map(e=>e.name),$dataModelFields:n?st(n).map(e=>e.name):[],...Y.config.scopeWhitelist},l=dl(t.options,e);Object.keys(l).forEach(e=>{t[e]=l[e]})}catch{console.error(`failed to evaluate '${t.options}'`)}r.push(t)}})}return r}function $l(e,l){if(!l.type)return console.error("enumDescriptions missing {type:'EnumType'} options"),[""+e];var t=rt(l.type);if(null==t||!t.enumValues)return console.error("Could not find metadata for "+l.type),[""+e];var a=[];for(let r=0;r"number"==typeof e?$l(e,{type:l}):e}function st(e){if(!e)return[];let l=[],t={};for(;e;)e.properties&&e.properties.forEach(e=>{t[e.name]||(t[e.name]=1,l.push(e))}),e=e.inherits?kl(e.inherits):null;return l.map(e=>e.type.endsWith("[]")?{...e,type:"List`1",genericArgs:[e.type.substring(0,e.type.length-2)]}:e)}function vs(e,l){var t;return(null==(t=e.request.implements)?void 0:t.some(e=>e.name===l))||!1}function ns(e){return e?Dn(e,st(e)):null}function Dn(e,l){var t=l.find(e=>"id"===e.name.toLowerCase());if(t&&t.isPrimaryKey)return t;t=l.find(e=>e.isPrimaryKey)||t;if(!t){var a=qe.model(e);if(a)return Ke(rt(a),e=>ns(e));console.error("Primary Key not found in "+e.name)}return t||null}function za(e,l){return Ke(ns(e),e=>_e(l,e.name))}function On(e,l,t){return e&&"none"===e.valueType?"":"%In"===t.key||"%Between"===t.key?`(${t.value})`:Na(l,t.value)}function Na(e,l){return!e||tl(e=Ln(e))||"Boolean"===e?l:Fa(e)?`[${l}]`:`'${l}'`}function ht(e,l){return{name:e,value:l}}let Ua=[ht("=","%"),ht("!=","%!"),ht(">=",">%"),ht(">","%>"),ht("<=","%<"),ht("<","<%"),ht("In","%In"),ht("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 lt(){var e=v(()=>{var e;return(null==(e=Y.metadata.value)?void 0:e.app)||null}),l=v(()=>{var e;return(null==(e=Y.metadata.value)?void 0:e.api)||null}),t=v(()=>{var e;return(null==(e=null==(e=null==(e=Y.metadata.value)?void 0:e.plugins)?void 0:e.autoQuery)?void 0:e.viewerConventions)||Ua});return wl(),{loadMetadata:Pa,getMetadata:Da,setMetadata:es,clearMetadata:Oa,metadataApp:e,metadataApi:l,filterDefinitions:t,typeOf:rt,typeOfRef:kl,typeEquals:An,apiOf:Is,findApis:Ba,typeName:Sa,typeName2:xn,property:Ha,enumOptions:Tn,propertyOptions:In,createFormLayout:Ea,typeProperties:st,supportsProp:Sn,Crud:qe,Apis:Nt,getPrimaryKey:ns,getPrimaryKeyByProps:Dn,getId:za,createDto:Yt,makeDto:Ia,toFormValues:ys,formValues:ja,isComplexProp:Mn,asKvps:_l,expandEnumFlags:$l,enumFlagsConverter:jn}}let et=class et{static async getOrFetchValue(e,l,t,a,n,r,s){return et.getValue(t,s,n)??(await et.fetchLookupIds(e,l,t,a,n,r,[s]),et.getValue(t,s,n))}static getValue(e,l,t){var a=et.Lookup[e];if(a){a=a[l];if(a)return a[t=t.toLowerCase()]}}static setValue(e,l,t,a){var n=et.Lookup[e]??(et.Lookup[e]={});(n[l]??(n[l]={}))[t=t.toLowerCase()]=a}static setRefValue(e,l){var t,a=_e(l,e.refId);return null==a||null==e.refLabel?null:(t=_e(l,e.refLabel),et.setValue(e.model,a,e.refLabel,t),t)}static async fetchLookupIds(e,l,n,r,s,o,i){var u=l.operations.find(e=>{var l;return qe.isAnyQuery(e)&&(null==(l=e.dataModel)?void 0:l.name)==n});if(u){let a=et.Lookup[n]??(et.Lookup[n]={}),t=[];Object.keys(a).forEach(e=>{var l=a[e];_e(l,s)&&t.push(e)});var d,v=i.filter(e=>!t.includes(e));0!=v.length&&(d=o?null:r+","+s,v={[r+"In"]:v.join(",")},d&&(v.fields=d),d=Yt(u,v),(v=await e.api(d,{jsconfig:"edv,eccn"})).succeeded?(_e(v.response,"results")||[]).forEach(e=>{var l,t;_e(e,r)?(l=""+_e(e,r),t=_e(e,s),s=s.toLowerCase(),(a[l]??(a[l]={}))[s]=""+t):console.error(`result[${r}] == null`,e)}):console.error("Failed to call "+u.request.name))}}},Pt=(Le(et,"Lookup",{}),et),sl=()=>(new Date).getTime(),qa=["/","T",":","-"],ct={assumeUtc:!0,date:{method:"Intl.DateTimeFormat",options:"{dateStyle:'medium'}"},maxFieldLength:150,maxNestedFields:2,maxNestedFieldLength:30},Qa=new Intl.RelativeTimeFormat(ct.locale,{}),en=31536e6,qs={year:en,month:en/12,day:864e5,hour:36e5,minute:6e4,second:1e3},xt={currency:Bn,bytes:Hn,link:Rn,linkTel:En,linkMailTo:zn,icon:Nn,iconRounded:Un,attachment:qn,hidden:Qn,time:Kn,relativeTime:xl,relativeTimeFromMs:js,enumFlags:Wn,formatDate:Qt,formatNumber:Cl};"iconOnError"in globalThis||(globalThis.iconOnError=Ts);class Ze{}function Ka(e){ct=Object.assign({},ct,e)}function Za(l){Object.keys(l||{}).forEach(e=>{"function"==typeof l[e]&&(xt[e]=l[e])})}function Pn(){return xt}function os(e,l){return l?dt("span",e,l):e}function Bn(e,l){var t=ft(l,["currency"]);return os(new Intl.NumberFormat(void 0,{style:"currency",currency:(null==l?void 0:l.currency)||"USD"}).format(e),t)}function Hn(e,l){return os(hl(e),l)}function Rn(e,l){return dt("a",e,Ss({...l,href:e}))}function En(e,l){return dt("a",e,Ss({...l,href:"tel:"+e}))}function zn(e,l){var{subject:t,body:a}=l=l||{},n=ft(l,["subject","body"]),r={};return t&&(r.subject=t),a&&(r.body=a),dt("a",e,Ss({...n,href:"mailto:"+Et(e,r)}))}function Nn(e,l){return dt("img",void 0,Object.assign({class:"w-6 h-6",title:e,src:Ht(e),onerror:"iconOnError(this)"},l))}function Un(e,l){return dt("img",void 0,Object.assign({class:"w-8 h-8 rounded-full",title:e,src:Ht(e),onerror:"iconOnError(this)"},l))}function qn(e,l){var t=vl(e),a=(null==ls(t)||ml(e)?Ht:gl)(e),a=Ht(a),n=l&&(l["icon-class"]||l.iconClass),a=dt("img",void 0,Object.assign({class:"w-6 h-6",src:a,onerror:"iconOnError(this,'att')"},n?{class:n}:null));return dt("a",a+`${t}`,Object.assign({class:"flex",href:Ht(e),title:e},l?ft(l,["icon-class","iconClass"]):null))}function Qn(e){return""}function Kn(e,l){var t="string"==typeof e?new Date(1e3*dn(e)):Vs(e)?Ft(e):null;return os(t?So(t):e,l)}function Qt(e,l){var t,a;return null==e?"":(t="number"==typeof e?new Date(e):"string"==typeof e?Ft(e):e,Vs(t)?os(("function"==typeof(a=ct.date?Ds(ct.date):null)?a:rn)(t),l):(console.warn(t+" is not a Date value"),null==e?"":""+e))}function Cl(e,l){if("number"!=typeof e)return e;let t=ct.number?Ds(ct.number):null,a="function"==typeof t?t(e):""+e;return""===a&&(console.warn(`formatNumber(${e}) => `+a,t),a=""+e),os(a,l)}function Zn(l,t,a){var e=Ao(l),n=t?Ds(t):null;if("function"!=typeof n)return(null!=e?Vs(e)?Qt(e,a):"number"==typeof e?Cl(e,a):e:null)??"";{let e=a;if(null!=t&&t.options)try{e=dl(t.options,a)}catch(e){console.error(`Could not evaluate '${t.options}'`,e,", with scope:",a)}return n(l,e)}}function ts(e,l,t){return(At(e)?Zn:Ya)(e,l,t)}function Wa(e){if(null!=e){if("number"==typeof e)return e;if(Vs(e))return e.getTime()-sl();if("string"==typeof e){var l=Number(e);if(!isNaN(l))return l;if("P"===e[0]||e.startsWith("-P"))return 1e3*dn(e)*-1;if(0<=To(e,qa))return Ft(e).getTime()-sl()}}return NaN}function js(e,l){for(var t in qs)if(Math.abs(e)>qs[t]||"second"===t)return(l||Qa).format(Math.round(e/qs[t]),t)}function xl(e,l){var t=Wa(e);return isNaN(t)?"":js(t,l)}function Ga(e,l){return js(e.getTime()-(l?l.getTime():sl()))}function Wn(e,l){return $l(e,l).join(", ")}function Ds(l){if(l){let{method:e,options:a}=l,n=e+`(${a})`,r=xt[n]||xt[e];if("function"==typeof r)return r;let s=l.locale||ct.locale;if(e.startsWith("Intl.")){var t=s?`'${s}'`:"undefined",t=`return new ${e}(${t},${a||"undefined"})`;try{let l=Function(t)();return r="Intl.DateTimeFormat"===e?e=>l.format(Ft(e)):"Intl.NumberFormat"===e?e=>l.format(Number(e)):"Intl.RelativeTimeFormat"===e?e=>xl(e,l):e=>l.format(e),xt[n]=r}catch(e){console.error("Invalid format: "+t,e)}}else{let t=globalThis[e];if("function"==typeof t){let l=null!=a?Function("return "+a)():void 0;return r=e=>t(e,l,s),xt[n]=r}console.error(`No '${e}' function exists`,Object.keys(xt))}}return null}function Gn(e,l){return e?e.length>l?e.substring(0,l)+"...":e:""}function Jn(e){return"/Date("===e.substring(0,6)?Qt(Ft(e)):e}function Ja(e){return Ll(Ut(e)).replace(/"/g,"")}function Xn(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 Ll(e,l=4){return"object"!=typeof(e=Xn(e))?"string"==typeof e?e:""+e:JSON.stringify(e,void 0,l)}function Xa(e){return"object"!=typeof(e=Xn(e))?"string"==typeof e?e:""+e:Ll(e=Ut(e=Object.assign({},e)))}function Ut(t){if(null==t)return null;if("string"==typeof t)return Jn(t);if(At(t))return t;if(t instanceof Date)return Qt(t);if(Array.isArray(t))return t.map(Ut);if("object"!=typeof t)return t;{let l={};return Object.keys(t).forEach(e=>{"__type"!=e&&(l[e]=Ut(t[e]))}),l}}function Ya(e,l,t){let a=e;if(Array.isArray(e)){if(At(e[0]))return a.join(",");null!=e[0]&&(a=e[0])}if(null==a)return"";if(a instanceof Date)return Qt(a,t);var n=Object.keys(a),r=[];for(let i=0;i${s}: `+Ks(Gn(Jn(o),ct.maxNestedFieldLength)))}return 2t.value.navigate(l.to??"/");return(e,l)=>(o(),i("a",Te({onClick:Ue(a,["prevent"]),title:e.to,href:"javascript:void(0)"},e.$attrs),[U(e.$slots,"default")],16,er))}});class sr{constructor(){Le(this,"callbacks",{})}register(e,l){this.callbacks[e]=l}has(e){return!!this.callbacks[e]}invoke(e,l){var t=this.callbacks[e];"function"==typeof t&&t(e,l)}}let tt=class tt{static component(e){var l=tt.components[e];if(l)return l;let t=Wl(e),a=Object.keys(tt.components).find(e=>Wl(e)===t);return a&&tt.components[a]||null}},Y=(Le(tt,"config",{redirectSignIn:"/signin",redirectSignOut:"/auth/logout",navigate:e=>location.href=e,assetsPathResolver:e=>e,fallbackPathResolver:e=>e,storage:new mn,tableIcon:{svg:""},scopeWhitelist:{enumFlagsConverter:jn,...Pn()}}),Le(tt,"autoQueryGridDefaults",{deny:[],hide:[],toolbarButtonClass:void 0,tableStyle:"stripedRows",take:25,maxFieldLength:150}),Le(tt,"events",Fo()),Le(tt,"user",D(null)),Le(tt,"metadata",D(null)),Le(tt,"components",{RouterLink:tr}),Le(tt,"interceptors",new sr),tt);function lr(e){Y.config=Object.assign(Y.config,e)}function nr(e){Y.autoQueryGridDefaults=Object.assign(Y.autoQueryGridDefaults,e)}function Vl(e){return e&&Y.config.assetsPathResolver?Y.config.assetsPathResolver(e):e}function or(e){return e&&Y.config.fallbackPathResolver?Y.config.fallbackPathResolver(e):e}function ar(e,l){Y.interceptors.register(e,l)}function It(){var e=v(()=>Y.config),l=v(()=>Y.autoQueryGridDefaults);return{config:e,setConfig:lr,events:Y.events,autoQueryGridDefaults:l,setAutoQueryGridDefaults:nr,assetsPathResolver:Vl,fallbackPathResolver:or,registerInterceptor:ar}}let Yn=de({inheritAttrs:!1,props:{image:Object,svg:String,src:String,alt:String,type:String},setup(n,{attrs:r}){return()=>{let e=n.image;var l,t;n.type&&(t=lt().typeOf,(t=t(n.type))||console.warn(`Type ${n.type} does not exist`),null!=t&&t.icon?e=null==t?void 0:t.icon:console.warn(`Type ${n.type} does not have a [Svg] icon`));let a=n.svg||(null==e?void 0:e.svg)||"";return a.startsWith("").indexOf("class="),l=`${(null==e?void 0:e.cls)||""} `+(r.class||""),a=-1==t?`Ts(e.target)})}}}),rr={class:"text-2xl font-semibold text-gray-900 dark:text-gray-300"},ir={class:"flex"},ur=l("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"},null,-1),dr=l("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"},null,-1),cr=[ur,dr],fr=de({__name:"Loading",props:{imageClass:{default:"w-6 h-6"}},setup(e){return(e,t)=>(o(),i("div",rr,[l("div",ir,[(o(),i("svg",{class:y(["self-center inline mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-gray-600 dark:fill-gray-300",e.imageClass]),role:"status",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},cr,2)),l("span",null,[U(e.$slots,"default")])])]))}}),vr=["href","onClick"],pr=["type"],tn="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",mr=de({__name:"OutlineButton",props:{type:{default:"submit"},href:{}},setup(e){return(t,e)=>{var a=Z("router-link");return t.href?(o(),ae(a,{key:0,to:t.href},{default:xe(({navigate:e})=>[l("button",{class:y(tn),href:t.href,onClick:e},[U(t.$slots,"default")],8,vr)]),_:3},8,["to"])):(o(),i("button",Te({key:1,type:t.type,class:tn},t.$attrs),[U(t.$slots,"default")],16,pr))}}}),hr=["href","onClick"],gr=["type"],yr=de({__name:"PrimaryButton",props:{type:{default:"submit"},href:{},color:{default:"indigo"}},setup(e){let t=e,a={blue:"focus:ring-indigo-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-indigo-500 bg-purple-600 hover:bg-purple-700 disabled:bg-purple-400 disabled:hover:bg-purple-400 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800",red:"focus:ring-red-500 bg-red-600 hover:bg-red-700 disabled:bg-red-400 disabled:hover:bg-red-400 focus:ring-red-500 dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-500",green:"focus:ring-green-500 bg-green-600 hover:bg-green-700 disabled:bg-green-400 disabled:hover:bg-green-400 focus:ring-green-500 dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-green-500",sky:"focus:ring-sky-500 bg-sky-600 hover:bg-sky-700 disabled:bg-sky-400 disabled:hover:bg-sky-400 dark:bg-sky-600 dark:hover:bg-sky-700 dark:focus:ring-sky-500",cyan:"focus:ring-cyan-500 bg-cyan-600 hover:bg-cyan-700 disabled:bg-cyan-400 disabled:hover:bg-cyan-400 dark:bg-cyan-600 dark:hover:bg-cyan-700 dark:focus:ring-cyan-500",indigo:"focus:ring-indigo-500 bg-indigo-600 hover:bg-indigo-700 disabled:bg-indigo-400 disabled:hover:bg-indigo-400 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},n=v(()=>"inline-flex justify-center rounded-md border border-transparent py-2 px-4 text-sm font-medium shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 dark:ring-offset-black text-white "+(a[t.color]||a.indigo));return(t,e)=>{var a=Z("router-link");return t.href?(o(),ae(a,{key:0,to:t.href},{default:xe(({navigate:e})=>[l("button",{class:y(n.value),href:t.href,onClick:e},[U(t.$slots,"default")],10,hr)]),_:3},8,["to"])):(o(),i("button",Te({key:1,type:t.type,class:n.value},t.$attrs),[U(t.$slots,"default")],16,gr))}}}),br=["type","href","onClick"],wr=["type"],sn="inline-flex justify-center rounded-md border border-gray-300 py-2 px-4 text-sm font-medium shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-400 dark:hover:text-white hover:bg-gray-50 dark:hover:bg-gray-700 focus:ring-indigo-500 dark:focus:ring-indigo-600 dark:ring-offset-black",kr=de({__name:"SecondaryButton",props:{type:{},href:{}},setup(e){return(t,e)=>{var a=Z("router-link");return t.href?(o(),ae(a,{key:0,to:t.href},{default:xe(({navigate:e})=>[l("button",{type:t.type??"button",class:y(sn),href:t.href,onClick:e},[U(t.$slots,"default")],8,br)]),_:3},8,["to"])):(o(),i("button",Te({key:1,type:t.type??"button",class:sn},t.$attrs),[U(t.$slots,"default")],16,wr))}}});function Ge(e,l){return Array.isArray(e)?0<=e.indexOf(l):e==l||e.includes(l)}let Cs={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"},ot={base:"block w-full sm:text-sm rounded-md dark:text-white dark:bg-gray-900 disabled:bg-slate-50 disabled:text-slate-500 disabled:border-slate-200 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"},Gt={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"},Bt={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"},ll={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"},Ee={panelClass(e="slideOver"){return("card"==e?Gt:Bt).panelClass},formClass(e="slideOver"){return("card"==e?Gt:Bt).formClass},headingClass(e="slideOver"){return("card"==e?Gt:Bt).headingClass},subHeadingClass(e="slideOver"){return("card"==e?Gt:Bt).subHeadingClass},buttonsClass:"mt-4 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"},he={getGridClass(e=0){return he.gridClass},getGrid2Class(e="stripedRows"){return Ge(e,"fullWidth")?"overflow-x-auto":he.grid2Class},getGrid3Class(e="stripedRows"){return Ge(e,"fullWidth")?"inline-block min-w-full py-2 align-middle":he.grid3Class},getGrid4Class(e="stripedRows"){return Ge(e,"whiteBackground")?"":Ge(e,"fullWidth")?"overflow-hidden shadow-sm ring-1 ring-black ring-opacity-5":he.grid4Class},getTableClass(e="stripedRows"){return Ge(e,"fullWidth")||Ge(e,"verticalLines")?"min-w-full divide-y divide-gray-300":he.tableClass},getTheadClass(e="stripedRows"){return Ge(e,"whiteBackground")?"":he.theadClass},getTheadRowClass(e="stripedRows"){return he.theadRowClass+(Ge(e,"verticalLines")?" divide-x divide-gray-200 dark:divide-gray-700":"")},getTheadCellClass(e="stripedRows"){return he.theadCellClass+(Ge(e,"uppercaseHeadings")?" uppercase":"")},getTbodyClass(e="stripedRows"){return(Ge(e,"whiteBackground")||Ge(e,"verticalLines")?"divide-y divide-gray-200 dark:divide-gray-800":he.tableClass)+(Ge(e,"verticalLines")?" bg-white":"")},getTableRowClass(e="stripedRows",l,t,a){return(a?"cursor-pointer ":"")+(t?"bg-indigo-100 dark:bg-blue-800":(a?"hover:bg-yellow-50 dark:hover:bg-blue-900 ":"")+(!Ge(e,"stripedRows")||l%2==0?"bg-white dark:bg-black":"bg-gray-50 dark:bg-gray-800"))+(Ge(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 ring-opacity-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"},_r={colspans:"col-span-3 sm:col-span-3"},dh=Object.freeze(Object.defineProperty({__proto__:null,a:Cs,card:Gt,dummy:_r,form:Ee,grid:he,input:ot,modal:ll,slideOver:Bt},Symbol.toStringTag,{value:"Module"})),$r=de({__name:"TextLink",props:{color:{default:"blue"}},setup(e){let l=go(),t=e,a=v(()=>(Cs[t.color]||Cs.blue)+(l.href?"":" cursor-pointer"));return(e,l)=>(o(),i("a",{class:y(a.value)},[U(e.$slots,"default")],2))}}),Cr={class:"flex","aria-label":"Breadcrumb"},xr={role:"list",class:"flex items-center space-x-4"},Lr=["href","title"],Vr=l("svg",{class:"h-6 w-6 flex-shrink-0",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[l("path",{"fill-rule":"evenodd",d:"M9.293 2.293a1 1 0 011.414 0l7 7A1 1 0 0117 11h-1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-3a1 1 0 00-1-1H9a1 1 0 00-1 1v3a1 1 0 01-1 1H5a1 1 0 01-1-1v-6H3a1 1 0 01-.707-1.707l7-7z","clip-rule":"evenodd"})],-1),Mr={class:"sr-only"},Sr=de({__name:"Breadcrumbs",props:{homeHref:{default:"/"},homeLabel:{default:"Home"}},setup(e){return(e,t)=>(o(),i("nav",Cr,[l("ol",xr,[l("li",null,[l("div",null,[l("a",{href:e.homeHref,class:"text-gray-400 dark:text-gray-500 hover:text-gray-500 dark:hover:text-gray-400",title:e.homeLabel},[Vr,l("span",Mr,F(e.homeLabel),1)],8,Lr)])]),U(e.$slots,"default")])]))}}),Ar={class:"flex items-center"},Tr=l("svg",{class:"h-6 w-6 flex-shrink-0 text-gray-400 dark:text-gray-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[l("path",{"fill-rule":"evenodd",d:"M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z","clip-rule":"evenodd"})],-1),Fr=["href","title"],Ir=["title"],jr=de({__name:"Breadcrumb",props:{href:{},title:{}},setup(e){return(e,t)=>(o(),i("li",null,[l("div",Ar,[Tr,e.href?(o(),i("a",{key:0,href:e.href,class:"ml-4 text-lg font-medium text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300",title:e.title},[U(e.$slots,"default")],8,Fr)):(o(),i("span",{key:1,class:"ml-4 text-lg font-medium text-gray-700 dark:text-gray-300",title:e.title},[U(e.$slots,"default")],8,Ir))])]))}}),Dr={key:0,class:"text-base font-semibold text-gray-500 dark:text-gray-400"},Or={role:"list",class:"mt-4 divide-y divide-gray-200 dark:divide-gray-800 border-t border-b border-gray-200 dark:border-gray-800"},Pr=de({__name:"NavList",props:{title:{}},setup(e){return(e,t)=>(o(),i("div",null,[e.title?(o(),i("h2",Dr,F(e.title),1)):x("",!0),l("ul",Or,[U(e.$slots,"default")])]))}}),Br={class:"relative flex items-start space-x-4 py-6"},Hr={class:"flex-shrink-0"},Rr={class:"flex h-12 w-12 items-center justify-center rounded-lg bg-indigo-50 dark:bg-indigo-900"},Er={class:"min-w-0 flex-1"},zr={class:"text-base font-medium text-gray-900 dark:text-gray-100"},Nr={class:"rounded-sm focus-within:ring-2 focus-within:ring-indigo-500 focus-within:ring-offset-2"},Ur=["href"],qr=l("span",{class:"absolute inset-0","aria-hidden":"true"},null,-1),Qr={class:"text-base text-gray-500"},Kr=l("div",{class:"flex-shrink-0 self-center"},[l("svg",{class:"h-5 w-5 text-gray-400",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[l("path",{"fill-rule":"evenodd",d:"M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z","clip-rule":"evenodd"})])],-1),Zr=de({__name:"NavListItem",props:{title:{},href:{},icon:{},iconSvg:{},iconSrc:{},iconAlt:{}},setup(e){return(e,t)=>{var a=Z("Icon");return o(),i("li",Br,[l("div",Hr,[l("span",Rr,[ye(a,{class:"w-6 h-6 text-indigo-700 dark:text-indigo-300",image:e.icon,src:e.iconSrc,svg:e.iconSvg,alt:e.iconAlt},null,8,["image","src","svg","alt"])])]),l("div",Er,[l("h3",zr,[l("span",Nr,[l("a",{href:e.href,class:"focus:outline-none"},[qr,ke(" "+F(e.title),1)],8,Ur)])]),l("p",Qr,[U(e.$slots,"default")])]),Kr])}}});function eo(e){return e&&e.SessionId?Io(e):e}function Wr(e){Y.user.value=eo(e),Y.events.publish("signIn",e)}function Gr(){Y.user.value=null,Y.events.publish("signOut",null)}let Ml=e=>(null==e?void 0:e.roles)||[],Sl=e=>(null==e?void 0:e.permissions)||[];function to(e){return 0<=Ml(Y.user.value).indexOf(e)}function Jr(e){return 0<=Sl(Y.user.value).indexOf(e)}function Al(){return to("Admin")}function bs(e){if(!e)return!1;if(!e.requiresAuth)return!0;var l=Y.user.value;if(!l)return!1;if(Al())return!0;let[t,a]=[Ml(l),Sl(l)],[n,r,s,o]=[e.requiredRoles||[],e.requiredPermissions||[],e.requiresAnyRole||[],e.requiresAnyPermission||[]];return!(!n.every(e=>0<=t.indexOf(e))||00<=t.indexOf(e))||!r.every(e=>0<=a.indexOf(e))||00<=a.indexOf(e)))}function Xr(e){if(!e||!e.requiresAuth)return null;var l=Y.user.value;if(!l)return`${e.request.name} requires Authentication`;if(Al())return null;let[t,a]=[Ml(l),Sl(l)],[n,r,s,o]=[e.requiredRoles||[],e.requiredPermissions||[],e.requiresAnyRole||[],e.requiresAnyPermission||[]],i=n.filter(e=>t.indexOf(e)<0);return 0""+e+"").join(", ")} Role`+(1a.indexOf(e)<0)).length?`Requires ${l.map(e=>""+e+"").join(", ")} Permission`+(10<=t.indexOf(e))?`Requires any ${s.filter(e=>t.indexOf(e)<0).map(e=>""+e+"").join(", ")} Role`+(10<=a.indexOf(e))?`Requires any ${o.filter(e=>a.indexOf(e)<0).map(e=>""+e+"").join(", ")} Permission`+(1Y.user.value||null),toAuth:eo,isAuthenticated:v(()=>null!=Y.user.value),hasRole:to,hasPermission:Jr,isAdmin:Al,canAccess:bs,invalidAccessMessage:Xr}}let Yr={key:0},ei={class:"md:p-4"},so=de({__name:"EnsureAccess",props:{invalidAccess:{},alertClass:{}},emits:["done"],setup(e){let r=Tl().isAuthenticated,t=It().config,s=()=>{var e=location.href.substring(location.origin.length)||"/",e=Et(t.value.redirectSignIn,{redirect:e});t.value.navigate(e)},u=()=>{var e=location.href.substring(location.origin.length)||"/",e=Et(t.value.redirectSignOut,{ReturnUrl:e});t.value.navigate(e)};return(e,t)=>{var a=Z("Alert"),n=Z("SecondaryButton");return e.invalidAccess?(o(),i("div",Yr,[ye(a,{class:y(e.alertClass),innerHTML:e.invalidAccess},null,8,["class","innerHTML"]),l("div",ei,[X(r)?(o(),ae(n,{key:1,onClick:u},{default:xe(()=>[ke("Sign Out")]),_:1})):(o(),ae(n,{key:0,onClick:s},{default:xe(()=>[ke("Sign In")]),_:1}))])])):x("",!0)}}}),ti={class:"absolute top-0 right-0 bg-white dark:bg-black border dark:border-gray-800 rounded normal-case text-sm shadow w-80"},si={class:"p-4"},li=l("h3",{class:"text-base font-medium mb-3 dark:text-gray-100"},"Sort",-1),ni={class:"flex w-full justify-center"},oi=l("svg",{class:"w-6 h-6",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16"},[l("g",{fill:"currentColor"},[l("path",{"fill-rule":"evenodd",d:"M10.082 5.629L9.664 7H8.598l1.789-5.332h1.234L13.402 7h-1.12l-.419-1.371h-1.781zm1.57-.785L11 2.687h-.047l-.652 2.157h1.351z"}),l("path",{d:"M12.96 14H9.028v-.691l2.579-3.72v-.054H9.098v-.867h3.785v.691l-2.567 3.72v.054h2.645V14zm-8.46-.5a.5.5 0 0 1-1 0V3.707L2.354 4.854a.5.5 0 1 1-.708-.708l2-1.999l.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L4.5 3.707V13.5z"})])],-1),ai=l("span",null,"ASC",-1),ri=[oi,ai],ii=xs('DESC',2),ui=[ii],di=l("h3",{class:"text-base font-medium mt-4 mb-2"}," Filter ",-1),ci={key:0},fi=["id","value"],vi=["for"],pi={key:1},mi={class:"mb-2"},hi={class:"inline-flex rounded-full items-center py-0.5 pl-2.5 pr-1 text-sm font-medium bg-indigo-100 text-indigo-700"},gi=["onClick"],yi=l("svg",{class:"h-2 w-2",stroke:"currentColor",fill:"none",viewBox:"0 0 8 8"},[l("path",{"stroke-linecap":"round","stroke-width":"1.5",d:"M1 1l6 6m0-6L1 7"})],-1),bi=[yi],wi={class:"flex"},ki=l("svg",{class:"h-6 w-6",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[l("path",{"fill-rule":"evenodd",d:"M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z","clip-rule":"evenodd"})],-1),_i=[ki],$i={class:"bg-gray-50 dark:bg-gray-900 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse"},Fl=de({__name:"FilterColumn",props:{definitions:{},column:{},topLeft:{}},emits:["done","save"],setup(e,{emit:t}){let u=e,a=t,d=D(),c=D(""),p=D(""),f=D([]),m=v(()=>1==u.column.meta.isEnum),s=v(()=>rt("Nullable`1"===u.column.meta.type?u.column.meta.genericArgs[0]:u.column.meta.type)),g=v(()=>1==u.column.meta.isEnum?_l(Tn(s.value.name)):[]),h=v(()=>{var e;return(null==(e=n(u.column.type))?void 0:e.map(e=>({key:e.value,value:e.name})))||[]}),b=D({filters:[]}),w=v(()=>b.value.filters);function n(e){let l=u.definitions;return l=Vn(e)?l:l.filter(e=>"string"!==e.types)}function k(e,l){return n(e).find(e=>e.value===l)}function C(){var e;c.value&&(e=null==(e=k(u.column.type,c.value))?void 0:e.name)&&(b.value.filters.push({key:c.value,name:e,value:p.value}),c.value=p.value="")}function L(){a("done")}function S(){var e;c.value="%",null!=(e=d.value)&&e.focus()}function V(){var e,l;p.value&&C(),m.value&&(l=Object.values(f.value).filter(e=>e),b.value.filters=0parseInt(e)).reduce((e,l)=>e+l,0).toString()}]:[{key:"%In",name:"In",value:l.join(",")}]:[]),a("save",b.value),a("done")}function M(e){b.value.sort=e===b.value.sort?void 0:e,Vt(V)}return ws(()=>b.value=Object.assign({},u.column.settings,{filters:Array.from(u.column.settings.filters)})),ws(()=>{let e,l,t,a,n,r=(null==(t=null==(l=null==(e=u.column.settings.filters)?void 0:e[0])?void 0:l.value)?void 0:t.split(","))||[];if(00<(l&parseInt(e))))||[]}f.value=r}),(a,t)=>{var e=Z("SelectInput"),n=Z("TextInput"),r=Z("PrimaryButton"),s=Z("SecondaryButton");return o(),i("div",{class:"fixed z-20 inset-0 overflow-y-auto",onClick:L,onVnodeMounted:S},[l("div",{class:"absolute",style:nl(`top:${a.topLeft.y}px;left:${a.topLeft.x}px`),onClick:t[5]||(t[5]=Ue(()=>{},["stop"]))},[l("div",ti,[l("div",si,[li,l("div",ni,[l("button",{type:"button",title:"Sort Ascending",onClick:t[0]||(t[0]=e=>M("ASC")),class:y(`${"ASC"===b.value.sort?"bg-indigo-100 border-indigo-500":"bg-white hover:bg-gray-50 border-gray-300"} mr-1 inline-flex items-center px-2.5 py-1.5 border shadow-sm text-sm font-medium rounded text-gray-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500`)},ri,2),l("button",{type:"button",title:"Sort Descending",onClick:t[1]||(t[1]=e=>M("DESC")),class:y(`${"DESC"===b.value.sort?"bg-indigo-100 border-indigo-500":"bg-white hover:bg-gray-50 border-gray-300"} ml-1 inline-flex items-center px-2.5 py-1.5 border shadow-sm text-sm font-medium rounded text-gray-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500`)},ui,2)]),di,m.value?(o(),i("div",ci,[(o(!0),i(Se,null,je(g.value,e=>(o(),i("div",{key:e.key,class:"flex items-center"},[Mt(l("input",{type:"checkbox",id:e.key,value:e.key,"onUpdate:modelValue":t[2]||(t[2]=e=>f.value=e),class:"h-4 w-4 border-gray-300 rounded text-indigo-600 focus:ring-indigo-500"},null,8,fi),[[ol,f.value]]),l("label",{for:e.key,class:"ml-3"},F(e.value),9,vi)]))),128))])):(o(),i("div",pi,[(o(!0),i(Se,null,je(w.value,(e,t)=>(o(),i("div",mi,[l("span",hi,[ke(F(a.column.name)+" "+F(e.name)+" "+F((e=e,On(k(u.column.type,e.key),u.column.type,e)))+" ",1),l("button",{type:"button",onClick:e=>{var l;l=t,b.value.filters.splice(l,1)},class:"flex-shrink-0 ml-0.5 h-4 w-4 rounded-full inline-flex items-center justify-center text-indigo-400 hover:bg-indigo-200 hover:text-indigo-500 focus:outline-none focus:bg-indigo-500 focus:text-white"},bi,8,gi)])]))),256)),l("div",wi,[ye(e,{id:"filterRule",class:"w-32 mr-1",modelValue:c.value,"onUpdate:modelValue":t[3]||(t[3]=e=>c.value=e),entries:h.value,label:"",placeholder:""},null,8,["modelValue","entries"]),"none"!==(null==(e=k(a.column.type,c.value))?void 0:e.valueType)?(o(),ae(n,{key:0,ref_key:"txtFilter",ref:d,id:"filterValue",class:"w-32 mr-1",type:"text",modelValue:p.value,"onUpdate:modelValue":t[4]||(t[4]=e=>p.value=e),onKeyup:on(C,["enter"]),label:"",placeholder:""},null,8,["modelValue"])):x("",!0),l("div",{class:"pt-1"},[l("button",{type:"button",onClick:C,class:"inline-flex items-center p-1 border border-transparent rounded-full shadow-sm text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500"},_i)])])]))]),l("div",$i,[ye(r,{onClick:V,color:"red",class:"ml-2"},{default:xe(()=>[ke(" Save ")]),_:1}),ye(s,{onClick:L},{default:xe(()=>[ke(" Cancel ")]),_:1})])])],4)],512)}}}),Ci={class:"px-4 sm:px-6 lg:px-8 text-sm"},xi={class:"flex flex-wrap"},Li={class:"group pr-4 sm:pr-6 lg:pr-8"},Vi={class:"flex justify-between w-full font-medium"},Mi={class:"w-6 flex justify-end"},Si={class:"hidden group-hover:inline"},Ai=["onClick","title"],Ti=l("svg",{class:"h-2 w-2",stroke:"currentColor",fill:"none",viewBox:"0 0 8 8"},[l("path",{"stroke-linecap":"round","stroke-width":"1.5",d:"M1 1l6 6m0-6L1 7"})],-1),Fi=[Ti],Ii={key:0,class:"pt-2"},ji={class:"ml-2"},Di={key:1},Oi={class:"pt-2"},Pi={class:"inline-flex rounded-full items-center py-0.5 pl-2.5 pr-1 text-sm font-medium bg-indigo-100 text-indigo-700"},Bi=["onClick"],Hi=l("svg",{class:"h-2 w-2",stroke:"currentColor",fill:"none",viewBox:"0 0 8 8"},[l("path",{"stroke-linecap":"round","stroke-width":"1.5",d:"M1 1l6 6m0-6L1 7"})],-1),Ri=[Hi],Ei=l("span",null,"Clear All",-1),zi=[Ei],Il=de({__name:"FilterViews",props:{definitions:{},columns:{}},emits:["done","change"],setup(e,{emit:t}){let a=e,r=t,n=v(()=>a.columns.filter(e=>0{let l=a.definitions;return l=Vn(e)?l:l.filter(e=>"string"!==e.types)})(e).find(e=>e.value===l)}function u(){a.columns.forEach(e=>{e.settings.filters=[],r("change",e)}),r("done")}return(e,t)=>(o(),i("div",Ci,[l("div",xi,[(o(!0),i(Se,null,je(n.value,n=>{return o(),i("fieldset",Li,[l("legend",Vi,[l("span",null,F(X(Pe)(n.name)),1),l("span",Mi,[l("span",Si,[l("button",{onClick:e=>{var l;(l=n).settings.filters=[],r("change",l)},title:`Clear all ${X(Pe)(n.name)} filters`,class:"flex-shrink-0 ml-0.5 h-4 w-4 rounded-full inline-flex items-center justify-center text-red-600 hover:bg-red-200 hover:text-red-500 focus:outline-none focus:bg-red-500 focus:text-white"},Fi,8,Ai)])])]),n.meta.isEnum?(o(),i("div",Ii,[(o(!0),i(Se,null,je((e=n.settings.filters,null==(t=null==(t=null==e?void 0:e[0])?void 0:t.value)?void 0:t.split(",")),e=>(o(),i("div",{key:e,class:"flex items-center"},[l("label",ji,F(e),1)]))),128))])):(o(),i("div",Di,[(o(!0),i(Se,null,je(n.settings.filters,(e,t)=>{return o(),i("div",Oi,[l("span",Pi,[ke(F(n.name)+" "+F(e.name)+" "+F((e=e,On(s((a=n).type,e.value),a.type,e)))+" ",1),l("button",{type:"button",onClick:e=>{var l;(l=n).settings.filters.splice(t,1),r("change",l)},class:"flex-shrink-0 ml-0.5 h-4 w-4 rounded-full inline-flex items-center justify-center text-indigo-400 hover:bg-indigo-200 hover:text-indigo-500 focus:outline-none focus:bg-indigo-500 focus:text-white"},Ri,8,Bi)])]);var a}),256))]))]);var e,t}),256))]),l("div",{class:"flex justify-center pt-4"},[l("button",{type:"button",onClick:u,class:"inline-flex items-center px-2.5 py-1.5 border border-gray-300 shadow-sm text-sm font-medium rounded text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500"},zi)])]))}}),Ni={class:"bg-white dark:bg-black px-4 pt-5 pb-4 sm:p-6 sm:pb-4"},Ui={class:""},qi={class:"mt-3 text-center sm:mt-0 sm:mx-4 sm:text-left"},Qi=l("h3",{class:"text-lg leading-6 font-medium text-gray-900 dark:text-gray-100"},"Query Preferences",-1),Ki={class:"mt-4"},Zi=["for"],Wi=["id"],Gi=["value","selected"],Ji={class:"mt-4 flex items-center py-4 border-b border-gray-200 dark:border-gray-800"},Xi=["id","checked"],Yi=["for"],eu={class:"mt-4"},tu={class:"pb-2 px-4"},su={class:""},lu=["id","value"],nu=["for"],ou={class:"bg-gray-50 dark:bg-gray-900 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse"},jl=de({__name:"QueryPrefs",props:{id:{default:"QueryPrefs"},columns:{},prefs:{},maxLimit:{}},emits:["done","save"],setup(e,{emit:t}){let a=It().autoQueryGridDefaults,s=e,n=t,u=D({}),d=(ws(()=>u.value=Object.assign({take:a.value.take,selectedColumns:[]},s.prefs)),[10,25,50,100,250,500,1e3]);function v(){n("done")}function c(){n("save",u.value)}return(e,t)=>{let a=Z("PrimaryButton"),n=Z("SecondaryButton"),r=Z("ModalDialog");return o(),ae(r,{id:e.id,onDone:v,"size-class":"w-full sm:max-w-prose"},{default:xe(()=>[l("div",Ni,[l("div",Ui,[l("div",qi,[Qi,l("div",Ki,[l("label",{for:e.id+"-take",class:"block text-sm font-medium text-gray-700 dark:text-gray-300"},"Results per page",8,Zi),Mt(l("select",{id:e.id+"-take","onUpdate:modelValue":t[0]||(t[0]=e=>u.value.take=e),class:"mt-1 block w-full pl-3 pr-10 py-2 text-base bg-white dark:bg-black border-gray-300 dark:border-gray-700 focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm rounded-md"},[(o(!0),i(Se,null,je(d.filter(e=>null==s.maxLimit||e<=s.maxLimit),e=>(o(),i("option",{value:e,selected:e===u.value.take},F(e),9,Gi))),256))],8,Wi),[[yo,u.value.take]])]),l("div",Ji,[l("input",{type:"radio",id:e.id+"-allColumns",onClick:t[1]||(t[1]=e=>u.value.selectedColumns=[]),checked:0===u.value.selectedColumns.length,class:"focus:ring-indigo-500 h-4 w-4 bg-white dark:bg-black text-indigo-600 dark:text-indigo-400 border-gray-300 dark:border-gray-700"},null,8,Xi),l("label",{class:"ml-3 block text-gray-700 dark:text-gray-300",for:e.id+"-allColumns"},"View all columns",8,Yi)]),l("div",eu,[l("div",tu,[l("div",su,[(o(!0),i(Se,null,je(e.columns,e=>(o(),i("div",{key:e.name,class:"flex items-center"},[Mt(l("input",{type:"checkbox",id:e.name,value:e.name,"onUpdate:modelValue":t[2]||(t[2]=e=>u.value.selectedColumns=e),class:"h-4 w-4 bg-white dark:bg-black border-gray-300 dark:border-gray-700 rounded text-indigo-600 dark:text-indigo-400 focus:ring-indigo-500"},null,8,lu),[[ol,u.value.selectedColumns]]),l("label",{for:e.name,class:"ml-3"},F(e.name),9,nu)]))),128))])])])])])]),l("div",ou,[ye(a,{onClick:c,color:"red",class:"ml-2"},{default:xe(()=>[ke(" Save ")]),_:1}),ye(n,{onClick:v},{default:xe(()=>[ke(" Cancel ")]),_:1})])]),_:1},8,["id"])}}}),au={key:0},ru={key:1},iu={key:2,class:"pt-1"},uu={key:0},du={key:1},cu={key:2},fu={key:4},vu={class:"pl-1 pt-1 flex flex-wrap"},pu={class:"flex mt-1"},mu=["title"],hu=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("g",{"stroke-width":"1.5",fill:"none"},[l("path",{d:"M9 3H3.6a.6.6 0 0 0-.6.6v16.8a.6.6 0 0 0 .6.6H9M9 3v18M9 3h6M9 21h6m0-18h5.4a.6.6 0 0 1 .6.6v16.8a.6.6 0 0 1-.6.6H15m0-18v18",stroke:"currentColor"})])],-1),gu=[hu],yu=["disabled"],bu=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{d:"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6l6 6zM6 6h2v12H6z",fill:"currentColor"})],-1),wu=[bu],ku=["disabled"],_u=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{d:"M15.41 7.41L14 6l-6 6l6 6l1.41-1.41L10.83 12z",fill:"currentColor"})],-1),$u=[_u],Cu=["disabled"],xu=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{d:"M10 6L8.59 7.41L13.17 12l-4.58 4.59L10 18l6-6z",fill:"currentColor"})],-1),Lu=[xu],Vu=["disabled"],Mu=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{d:"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6l-6-6zM16 6h2v12h-2z",fill:"currentColor"})],-1),Su=[Mu],Au={key:0,class:"flex mt-1"},Tu={class:"px-4 text-lg text-black dark:text-white"},Fu={key:0},Iu={key:1},ju=l("span",{class:"hidden xl:inline"}," Showing Results ",-1),Du={key:2},Ou={class:"flex flex-wrap"},Pu={key:0,class:"pl-2 mt-1"},Bu=l("svg",{class:"w-5 h-5",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M20 20v-5h-5M4 4v5h5m10.938 2A8.001 8.001 0 0 0 5.07 8m-1.008 5a8.001 8.001 0 0 0 14.868 3"})],-1),Hu=[Bu],Ru={key:1,class:"pl-2 mt-1"},Eu=xs('Excel',2),zu=[Eu],Nu={key:2,class:"pl-2 mt-1"},Uu={key:0,class:"w-5 h-5 mr-1 text-green-600 dark:text-green-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},qu=l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1),Qu=[qu],Ku={key:1,class:"w-5 h-5 mr-1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Zu=l("g",{fill:"none"},[l("path",{d:"M8 4v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7.242a2 2 0 0 0-.602-1.43L16.083 2.57A2 2 0 0 0 14.685 2H10a2 2 0 0 0-2 2z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),l("path",{d:"M16 18v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h2",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1),Wu=[Zu],Gu=l("span",{class:"whitespace-nowrap"},"Copy URL",-1),Ju={key:3,class:"pl-2 mt-1"},Xu=l("svg",{class:"w-5 h-5",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",viewBox:"0 0 24 24"},[l("path",{fill:"currentColor",d:"M6.78 2.72a.75.75 0 0 1 0 1.06L4.56 6h8.69a7.75 7.75 0 1 1-7.75 7.75a.75.75 0 0 1 1.5 0a6.25 6.25 0 1 0 6.25-6.25H4.56l2.22 2.22a.75.75 0 1 1-1.06 1.06l-3.5-3.5a.75.75 0 0 1 0-1.06l3.5-3.5a.75.75 0 0 1 1.06 0Z"})],-1),Yu=[Xu],ed={key:4,class:"pl-2 mt-1"},td=l("svg",{class:"flex-none w-5 h-5 mr-2 text-gray-400 dark:text-gray-500 group-hover:text-gray-500","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"},[l("path",{"fill-rule":"evenodd",d:"M3 3a1 1 0 011-1h12a1 1 0 011 1v3a1 1 0 01-.293.707L12 11.414V15a1 1 0 01-.293.707l-2 2A1 1 0 018 17v-5.586L3.293 6.707A1 1 0 013 6V3z","clip-rule":"evenodd"})],-1),sd={class:"mr-1"},ld={key:0,class:"h-5 w-5 text-gray-400 dark:text-gray-500 group-hover:text-gray-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},nd=l("path",{"fill-rule":"evenodd",d:"M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z","clip-rule":"evenodd"},null,-1),od=[nd],ad={key:1,class:"h-5 w-5 text-gray-400 dark:text-gray-500 group-hover:text-gray-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},rd=l("path",{"fill-rule":"evenodd",d:"M5 10a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1z","clip-rule":"evenodd"},null,-1),id=[rd],ud={key:5,class:"pl-2 mt-1"},dd=["title"],cd=l("svg",{class:"w-5 h-5 mr-1 text-gray-500 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-50",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z",fill:"currentColor"})],-1),fd={class:"whitespace-nowrap"},vd={key:8},pd={key:0,class:"cursor-pointer flex justify-between items-center hover:text-gray-900 dark:hover:text-gray-50"},md={class:"mr-1 select-none"},hd={key:1,class:"flex justify-between items-center"},gd={class:"mr-1 select-none"},ps=25,yd=de({__name:"AutoQueryGrid",props:{filterDefinitions:{},id:{default:"AutoQueryGrid"},apis:{},type:{},prefs:{},deny:{},hide:{},selectedColumns:{},toolbarButtonClass:{},tableStyle:{},gridClass:{},grid2Class:{},grid3Class:{},grid4Class:{},tableClass:{},theadClass:{},tbodyClass:{},theadRowClass:{},theadCellClass:{},headerTitle:{},headerTitles:{},visibleFrom:{},rowClass:{},rowStyle:{},modelTitle:{},newButtonLabel:{},apiPrefs:{},canFilter:{},disableKeyBindings:{},configureField:{},skip:{default:0},create:{type:Boolean},edit:{},filters:{}},emits:["headerSelected","rowSelected","nav"],setup(e,{expose:d,emit:c}){let{config:p,autoQueryGridDefaults:W}=It(),J=W,t=p.value.storage,n=e,ee=c,le=Qe("client"),te="filtering,queryString,queryFilters".split(","),ne="copyApiUrl,downloadCsv,filtersView,newItem,pagingInfo,pagingNav,preferences,refresh,resetPreferences,toolbar".split(","),re=v(()=>n.deny?Lt(te,n.deny):Lt(te,J.value.deny)),se=v(()=>n.hide?Lt(ne,n.hide):Lt(ne,J.value.hide));function f(e){return re.value[e]}function m(e){return se.value[e]}let g=v(()=>n.tableStyle??J.value.tableStyle),oe=v(()=>n.gridClass??he.getGridClass(g.value)),ie=v(()=>n.grid2Class??he.getGrid2Class(g.value)),ue=v(()=>n.grid3Class??he.getGrid3Class(g.value)),de=v(()=>n.grid4Class??he.getGrid4Class(g.value)),ve=v(()=>n.tableClass??he.getTableClass(g.value)),ce=v(()=>n.theadClass??he.getTheadClass(g.value)),pe=v(()=>n.theadRowClass??he.getTheadRowClass(g.value)),fe=v(()=>n.theadCellClass??he.getTheadCellClass(g.value)),h=v(()=>n.toolbarButtonClass??he.toolbarButtonClass);function me(e,l){var t,a;return n.rowClass?n.rowClass(e,l):(t=!!Q.value.AnyUpdate,a=(null!=(a=s.value)&&a.name?_e(e,s.value.name):null)==V.value,he.getTableRowClass(n.tableStyle,l,a,t))}let b=al(),ge=v(()=>{var e;return dl((null==(e=Q.value.AnyQuery.viewModel)?void 0:e.name)||Q.value.AnyQuery.dataModel.name)}),be=v(()=>{let l=Object.keys(b).map(e=>e.toLowerCase());return st(ge.value).filter(e=>l.includes(e.name.toLowerCase())||l.includes(e.name.toLowerCase()+"-header")).map(e=>e.name)});let w=v(()=>{var e=(0<(e=$t(n.selectedColumns)).length?e:0e.toLowerCase());let t=st(ge.value);return 0t.find(e=>e.name.toLowerCase()===l)).filter(e=>null!=e):t}),we=v(()=>{let e=w.value.map(e=>e.name),l=$t($.value.selectedColumns).map(e=>e.toLowerCase());return 0l.includes(e.toLowerCase())):e}),k=D([]),C=D(new Xe),Ce=D(new Xe),L=D(),S=D(!1),V=D(),M=D(),T=D(!1),A=D(),j=D(n.skip),I=D(!1),$=D({take:ps}),B=D(!1),Le=v(()=>k.value.some(e=>0k.value.map(e=>e.settings.filters.length).reduce((e,l)=>e+l,0)),Fe=v(()=>{var e;return st(dl(a.value||(null==(e=Q.value.AnyQuery)?void 0:e.dataModel.name)))}),s=v(()=>{var e;return ns(dl(a.value||(null==(e=Q.value.AnyQuery)?void 0:e.dataModel.name)))}),O=v(()=>$.value.take??ps),_=v(()=>C.value.response?_e(C.value.response,"results"):[]),E=v(()=>{var e;return((null==(e=C.value.response)?void 0:e.total)||_.value.length)??0}),Ve=v(()=>00_.value.length>=O.value),De=v(()=>_.value.length>=O.value),H=D(),P=D(),Ae={NoQuery:"No Query API was found"};function Ie(l){if(l){if(n.canFilter)return n.canFilter(l);var e=Fe.value.find(e=>e.name.toLowerCase()==l.toLowerCase());if(e)return!Mn(e)}}function r(e){ee("nav",e),f("queryString")&&ul(e)}async function R(e){j.value+=e,j.value<0&&(j.value=0);var l=Math.floor(E.value/O.value)*O.value;j.value>l&&(j.value=l),r({skip:j.value||void 0}),await z()}async function $e(e,l){var t,a;M.value=null,V.value=l,e&&l&&(a=Yt(Q.value.AnyQuery,{[e]:l}),(a=await le.api(a)).succeeded)&&((a=null==(a=_e(a.response,"results"))?void 0:a[0])||console.warn(`API ${null==(t=Q.value.AnyQuery)?void 0:t.request.name}(${e}:${l}) returned no results`),M.value=a)}async function Ue(e,l){ee("rowSelected",e,l);var t=null==(t=s.value)?void 0:t.name,a=t?_e(e,t):null;t&&a&&(r({edit:a}),$e(t,a))}function Oe(l,e){var t,a,n;f("filtering")&&(t=e.target,Ie(l)&&"TD"!==(null==t?void 0:t.tagName)&&(t=null==(t=null==t?void 0:t.closest("TABLE"))?void 0:t.getBoundingClientRect(),a=k.value.find(e=>e.name.toLowerCase()==l.toLowerCase()))&&t&&(n=t.x+318+10,A.value={column:a,topLeft:{x:Math.max(Math.floor(e.clientX+159),n),y:t.y+45}}),ee("headerSelected",l,e))}function Ee(){A.value=null}async function He(e){var l=null==(l=A.value)?void 0:l.column;l&&(l.settings=e,t.setItem(u(l.name),JSON.stringify(l.settings)),await z()),A.value=null}async function Pe(e){t.setItem(u(e.name),JSON.stringify(e.settings)),await z()}async function Re(e){T.value=!1,$.value=e,t.setItem(ol(),JSON.stringify(e)),await z()}function ze(e){var l;H.value&&(Object.assign(null==(l=H.value)?void 0:l.model,e),Ze())}function Ne(e){Object.assign(M.value,e),Ze()}function Ze(){null!=(e=H.value)&&e.forceUpdate(),null!=(e=P.value)&&e.forceUpdate();var e=Be();null!=(e=null==e?void 0:e.proxy)&&e.$forceUpdate()}async function z(){await Ke(We())}async function qe(){await z()}d({update:z,search:Ke,createRequestArgs:We,reset:Ll,createDone:K,createSave:Cl,editDone:G,editSave:kl,forceUpdate:Ze,setEdit:Ne,edit:M,createForm:H,editForm:P,apiPrefs:$,results:_,skip:j,take:O,total:E}),Y.interceptors.has("AutoQueryGrid.new")&&Y.interceptors.invoke("AutoQueryGrid.new",{props:n});let Ge=/iPad|iPhone|iPod/.test(navigator.userAgent);async function Ke(t){var a=Q.value.AnyQuery;if(a){let e=Yt(a,t),l=await le.api(e);cn(e=>{C.value.response=C.value.error=void 0,B.value=e,Ge?Vt(()=>C.value=l):C.value=l})();a=_e(l.response,"results")||[];l.succeeded&&a.label}else console.error(Ae.NoQuery)}function We(){let r={include:"total",take:O.value},l=$t($.value.selectedColumns||n.selectedColumns);if(0{var e,l=a.find(e=>e.name.toLowerCase()==t.toLowerCase());null!=(e=null==l?void 0:l.ref)&&e.selfId&&n.push(l.ref.selfId),_e(b,t)&&n.push(...a.filter(e=>{var l;return(null==(l=null==(l=e.ref)?void 0:l.selfId)?void 0:l.toLowerCase())==t.toLowerCase()}).map(e=>e.name))}),n.forEach(e=>{l.includes(e)||l.push(e)}),r.fields=l.join(",")}let e=[];if(k.value.forEach(t=>{t.settings.sort&&e.push(("DESC"===t.settings.sort?"-":"")+t.name),t.settings.filters.forEach(e=>{var l=e.key.replace("%",t.name);r[l]=e.value})}),n.filters&&Object.keys(n.filters).forEach(e=>{r[e]=n.filters[e]}),f("queryString")&&f("queryFilters")){var t=location.search||(location.hash.includes("?")?"?"+ms(location.hash,"?"):"");let e=Zs(t);Object.keys(e).forEach(l=>{w.value.find(e=>e.name.toLowerCase()===l.toLowerCase())&&(r[l]=e[l])}),typeof e.skip<"u"&&(t=parseInt(e.skip),isNaN(t)||(j.value=r.skip=t))}return"u"I.value=!1,3e3)}function ll(e="json"){var l=We(),t="/api/"+(null==(t=Q.value.AnyQuery)?void 0:t.request.name),t=jo(le.baseUrl,Et(t,{...l,jsconfig:"edv"}));return 0<=t.indexOf("?")?Ls(t,"?")+"."+e+"?"+ms(t,"?"):t+".json"}async function tl(){k.value.forEach(e=>{e.settings={filters:[]},t.removeItem(u(e.name))}),$.value={take:ps},t.removeItem(ol()),await z()}function nl(){S.value=!0,r({create:null})}let a=v(()=>qt(n.type)),N=v(()=>{var e;return a.value||(null==(e=Q.value.AnyQuery)?void 0:e.dataModel.name)}),q=v(()=>n.modelTitle||N.value),sl=v(()=>n.newButtonLabel||"New "+q.value),ol=()=>{var e;return n.id+"/ApiPrefs/"+(a.value||(null==(e=Q.value.AnyQuery)?void 0:e.dataModel.name))},u=e=>{var l;return`Column/${n.id}:${a.value||(null==(l=Q.value.AnyQuery)?void 0:l.dataModel.name)}.`+e},{metadataApi:il,typeOf:dl,apiOf:vl,filterDefinitions:cl}=lt(),pl=Tl().invalidAccessMessage,fl=v(()=>n.filterDefinitions||cl.value),Q=v(()=>{var e=$t(n.apis);return 0vl(e)).filter(e=>null!=e).map(e=>e)):Nt.forType(a.value,il.value)}),ml=e=>`${e}`,gl=v(()=>{var e;return il.value?0<(e=$t(n.apis).map(e=>null==vl(e)?e:null).filter(e=>null!=e)).length?ml(`Unknown API${1useMetadata()`)}),yl=v(()=>Q.value.AnyQuery&&pl(Q.value.AnyQuery)),hl=v(()=>Q.value.Create&&pl(Q.value.Create)),bl=v(()=>Q.value.AnyUpdate&&pl(Q.value.AnyUpdate)),xl=v(()=>bs(Q.value.Create)),wl=(v(()=>bs(Q.value.AnyUpdate)),v(()=>bs(Q.value.Delete)));function G(){M.value=null,V.value=null,r({edit:void 0})}function K(){S.value=!1,r({create:void 0})}async function kl(){await z(),G()}async function Cl(){await z(),K()}function Ll(){C.value=new Xe,Ce.value=new Xe,S.value=!1,V.value=null,M.value=null,T.value=!1,A.value=null,j.value=n.skip,I.value=!1,$.value={take:ps},B.value=!1;var e,l=n.prefs||$s(t.getItem(ol())),l=(l&&($.value=l),k.value=w.value.map(e=>({name:e.name,type:e.type,meta:e,settings:Object.assign({filters:[]},$s(t.getItem(u(e.name))))})),isNaN(n.skip)||(j.value=n.skip),null==(l=s.value)?void 0:l.name);f("queryString")&&(e=location.search||(location.hash.includes("?")?"?"+ms(location.hash,"?"):""),typeof(e=Zs(e)).create<"u"?S.value=typeof e.create<"u":!l||"string"!=typeof e.edit&&"number"!=typeof e.edit||$e(l,e.edit)),!0===n.create&&(S.value=!0),l&&null!=n.edit&&$e(l,n.edit)}return Ye(async()=>{Ll(),await z()}),(t,e)=>{let a=Z("Alert"),n=Z("EnsureAccessDialog"),r=Z("AutoCreateForm"),s=Z("AutoEditForm"),u=Z("AutoViewForm"),d=Z("ErrorSummary"),v=Z("Loading"),c=Z("SettingsIcons"),p=Z("DataGrid");return gl.value?(o(),i("div",au,[ye(a,{innerHTML:gl.value},null,8,["innerHTML"])])):yl.value?(o(),i("div",ru,[ye(so,{"invalid-access":yl.value},null,8,["invalid-access"])])):(o(),i("div",iu,[S.value&&Q.value.Create?(o(),i("div",uu,[hl.value?(o(),ae(n,{key:0,title:"Create "+q.value,"invalid-access":hl.value,"alert-class":"text-yellow-700",onDone:K},null,8,["title","invalid-access"])):X(b).createform?U(t.$slots,"createform",{key:1,type:Q.value.Create.request.name,configure:t.configureField,done:K,save:Cl}):(o(),ae(r,{key:2,ref_key:"createForm",ref:H,type:Q.value.Create.request.name,configure:t.configureField,onDone:K,onSave:Cl},{header:xe(()=>[U(t.$slots,"formheader",{form:"create",formInstance:H.value,apis:Q.value,type:N.value,updateModel:ze})]),footer:xe(()=>[U(t.$slots,"formfooter",{form:"create",formInstance:H.value,apis:Q.value,type:N.value,updateModel:ze})]),_:3},8,["type","configure"]))])):M.value&&Q.value.AnyUpdate?(o(),i("div",du,[bl.value?(o(),ae(n,{key:0,title:"Update "+q.value,"invalid-access":bl.value,"alert-class":"text-yellow-700",onDone:G},null,8,["title","invalid-access"])):X(b).editform?U(t.$slots,"editform",{key:1,model:M.value,type:Q.value.AnyUpdate.request.name,deleteType:wl.value?Q.value.Delete.request.name:null,configure:t.configureField,done:G,save:kl}):(o(),ae(s,{key:2,ref_key:"editForm",ref:P,modelValue:M.value,"onUpdate:modelValue":e[0]||(e[0]=e=>M.value=e),type:Q.value.AnyUpdate.request.name,deleteType:wl.value?Q.value.Delete.request.name:null,configure:t.configureField,onDone:G,onSave:kl,onDelete:kl},{header:xe(()=>[U(t.$slots,"formheader",{form:"edit",formInstance:P.value,apis:Q.value,type:N.value,model:M.value,id:V.value,updateModel:Ne})]),footer:xe(()=>[U(t.$slots,"formfooter",{form:"edit",formInstance:P.value,apis:Q.value,type:N.value,model:M.value,id:V.value,updateModel:Ne})]),_:3},8,["modelValue","type","deleteType","configure"]))])):M.value?(o(),i("div",cu,[X(b).viewform?U(t.$slots,"viewform",{key:0,model:M.value,apis:Q.value,done:G}):(o(),ae(u,{key:1,model:M.value,apis:Q.value,done:G},null,8,["model","apis"]))])):x("",!0),X(b).toolbar?U(t.$slots,"toolbar",{key:3}):m("toolbar")?(o(),i("div",fu,[T.value?(o(),ae(jl,{key:0,columns:w.value,prefs:$.value,onDone:e[1]||(e[1]=e=>T.value=!1),onSave:Re},null,8,["columns","prefs"])):x("",!0),l("div",vu,[l("div",pu,[m("preferences")?(o(),i("button",{key:0,type:"button",class:"text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400",title:q.value+" Preferences",onClick:e[2]||(e[2]=e=>T.value=!T.value)},gu,8,mu)):x("",!0),m("pagingNav")?(o(),i("button",{key:1,type:"button",class:y(["pl-2",Ve.value?"text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400":"text-gray-400 dark:text-gray-500"]),title:"First page",disabled:!Ve.value,onClick:e[3]||(e[3]=e=>R(-E.value))},wu,10,yu)):x("",!0),m("pagingNav")?(o(),i("button",{key:2,type:"button",class:y(["pl-2",Me.value?"text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400":"text-gray-400 dark:text-gray-500"]),title:"Previous page",disabled:!Me.value,onClick:e[4]||(e[4]=e=>R(-O.value))},$u,10,ku)):x("",!0),m("pagingNav")?(o(),i("button",{key:3,type:"button",class:y(["pl-2",Te.value?"text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400":"text-gray-400 dark:text-gray-500"]),title:"Next page",disabled:!Te.value,onClick:e[5]||(e[5]=e=>R(O.value))},Lu,10,Cu)):x("",!0),m("pagingNav")?(o(),i("button",{key:4,type:"button",class:y(["pl-2",De.value?"text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400":"text-gray-400 dark:text-gray-500"]),title:"Last page",disabled:!De.value,onClick:e[6]||(e[6]=e=>R(E.value))},Su,10,Vu)):x("",!0)]),m("pagingInfo")?(o(),i("div",Au,[l("div",Tu,[B.value?(o(),i("span",Fu,"Querying...")):x("",!0),_.value.length?(o(),i("span",Iu,[ju,ke(" "+F(j.value+1)+" - "+F(Math.min(j.value+_.value.length,E.value))+" ",1),l("span",null," of "+F(E.value),1)])):C.value.completed?(o(),i("span",Du,"No Results")):x("",!0)])])):x("",!0),l("div",Ou,[m("refresh")?(o(),i("div",Pu,[l("button",{type:"button",onClick:qe,title:"Refresh",class:y(h.value)},Hu,2)])):x("",!0),m("downloadCsv")?(o(),i("div",Ru,[l("button",{type:"button",onClick:Je,title:"Download CSV",class:y(h.value)},zu,2)])):x("",!0),m("copyApiUrl")?(o(),i("div",Nu,[l("button",{type:"button",onClick:el,title:"Copy API URL",class:y(h.value)},[I.value?(o(),i("svg",Uu,Qu)):(o(),i("svg",Ku,Wu)),Gu],2)])):x("",!0),Le.value&&m("resetPreferences")?(o(),i("div",Ju,[l("button",{type:"button",onClick:tl,title:"Reset Preferences & Filters",class:y(h.value)},Yu,2)])):x("",!0),m("filtersView")&&0L.value="filters"==L.value?null:"filters"),class:y(h.value),"aria-expanded":"false"},[td,l("span",sd,F(Se.value)+" "+F(1==Se.value?"Filter":"Filters"),1),"filters"!=L.value?(o(),i("svg",ld,od)):(o(),i("svg",ad,id))],2)])):x("",!0),m("newItem")&&Q.value.Create&&xl.value?(o(),i("div",ud,[l("button",{type:"button",onClick:nl,title:q.value,class:y(h.value)},[cd,l("span",fd,F(sl.value),1)],10,dd)])):x("",!0),X(b).toolbarbuttons?U(t.$slots,"toolbarbuttons",{key:6,toolbarButtonClass:h.value}):x("",!0)])])])):x("",!0),"filters"==L.value?(o(),ae(Il,{key:5,class:"border-y border-gray-200 dark:border-gray-800 py-8 my-2",definitions:fl.value,columns:k.value,onDone:e[8]||(e[8]=e=>L.value=null),onChange:Pe},null,8,["definitions","columns"])):x("",!0),Ce.value.error??C.value.error?(o(),ae(d,{key:6,status:Ce.value.error??C.value.error},null,8,["status"])):B.value?(o(),ae(v,{key:7,class:"p-2"})):x("",!0),A.value?(o(),i("div",vd,[ye(Fl,{definitions:fl.value,column:A.value.column,"top-left":A.value.topLeft,onDone:Ee,onSave:He},null,8,["definitions","column","top-left"])])):x("",!0),_.value.length?(o(),ae(p,{key:9,id:t.id,items:_.value,type:t.type,"selected-columns":we.value,class:"mt-1",onFiltersChanged:z,tableStyle:g.value,gridClass:oe.value,grid2Class:ie.value,grid3Class:ue.value,grid4Class:de.value,tableClass:ve.value,theadClass:ce.value,theadRowClass:pe.value,theadCellClass:fe.value,tbodyClass:t.tbodyClass,rowClass:me,onRowSelected:Ue,rowStyle:t.rowStyle,headerTitle:t.headerTitle,headerTitles:t.headerTitles,visibleFrom:t.visibleFrom,onHeaderSelected:Oe},rl({header:xe(({column:t,label:e})=>{var a;return[f("filtering")&&Ie(t)?(o(),i("div",pd,[l("span",md,F(e),1),ye(c,{column:k.value.find(e=>e.name.toLowerCase()===t.toLowerCase()),"is-open":(null==(a=A.value)?void 0:a.column.name)===t},null,8,["column","is-open"])])):(o(),i("div",hd,[l("span",gd,F(e),1)]))]}),_:2},[je(Object.keys(X(b)),l=>({name:l,fn:xe(e=>[U(t.$slots,l,Rt(ks(e)))])}))]),1032,["id","items","type","selected-columns","tableStyle","gridClass","grid2Class","grid3Class","grid4Class","tableClass","theadClass","theadRowClass","theadCellClass","tbodyClass","rowStyle","headerTitle","headerTitles","visibleFrom"])):x("",!0)]))}}}),bd={class:"flex"},wd={key:0,class:"w-4 h-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},kd=l("g",{fill:"none"},[l("path",{d:"M3 4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v2.586a1 1 0 0 1-.293.707l-6.414 6.414a1 1 0 0 0-.293.707V17l-4 4v-6.586a1 1 0 0 0-.293-.707L3.293 7.293A1 1 0 0 1 3 6.586V4z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1),_d=[kd],$d=l("path",{d:"M505.5 658.7c3.2 4.4 9.7 4.4 12.9 0l178-246c3.8-5.3 0-12.7-6.5-12.7H643c-10.2 0-19.9 4.9-25.9 13.2L512 558.6L406.8 413.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246z",fill:"currentColor"},null,-1),Cd=l("path",{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z",fill:"currentColor"},null,-1),xd=[$d,Cd],Ld={key:2,class:"w-4 h-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20"},Vd=l("g",{fill:"none"},[l("path",{d:"M8.998 4.71L6.354 7.354a.5.5 0 1 1-.708-.707L9.115 3.18A.499.499 0 0 1 9.498 3H9.5a.5.5 0 0 1 .354.147l.01.01l3.49 3.49a.5.5 0 1 1-.707.707l-2.65-2.649V16.5a.5.5 0 0 1-1 0V4.71z",fill:"currentColor"})],-1),Md=[Vd],Sd={key:3,class:"w-4 h-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20"},Ad=l("g",{fill:"none"},[l("path",{d:"M10.002 15.29l2.645-2.644a.5.5 0 0 1 .707.707L9.886 16.82a.5.5 0 0 1-.384.179h-.001a.5.5 0 0 1-.354-.147l-.01-.01l-3.49-3.49a.5.5 0 1 1 .707-.707l2.648 2.649V3.5a.5.5 0 0 1 1 0v11.79z",fill:"currentColor"})],-1),Td=[Ad],Fd=de({__name:"SettingsIcons",props:{column:{},isOpen:{type:Boolean}},setup(e){return(e,l)=>{var t;return o(),i("div",bd,[null!=(t=null==(t=null==(t=e.column)?void 0:t.settings)?void 0:t.filters)&&t.length?(o(),i("svg",wd,_d)):(o(),i("svg",{key:1,class:y(["w-4 h-4 transition-transform",e.isOpen?"rotate-180":""]),xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},xd,2)),"ASC"===(null==(t=null==(t=e.column)?void 0:t.settings)?void 0:t.sort)?(o(),i("svg",Ld,Md)):"DESC"===(null==(t=null==(t=e.column)?void 0:t.settings)?void 0:t.sort)?(o(),i("svg",Sd,Td)):x("",!0)])}}}),Id=de({__name:"EnsureAccessDialog",props:{title:{},subtitle:{},invalidAccess:{},alertClass:{}},emits:["done"],setup(e){return(l,e)=>{let t=Z("EnsureAccess"),a=Z("SlideOver");return l.invalidAccess?(o(),ae(a,{key:0,title:l.title,onDone:e[0]||(e[0]=e=>l.$emit("done")),"content-class":"relative flex-1"},rl({default:xe(()=>[ye(t,{alertClass:l.alertClass,invalidAccess:l.invalidAccess},null,8,["alertClass","invalidAccess"])]),_:2},[l.subtitle?{name:"subtitle",fn:xe(()=>[ke(F(l.subtitle),1)]),key:"0"}:void 0]),1032,["title"])):x("",!0)}}}),jd=["for"],Dd={class:"mt-1 relative rounded-md shadow-sm"},Od=["type","name","id","placeholder","value","aria-invalid","aria-describedby"],Pd={key:0,class:"absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none"},Bd=l("svg",{class:"h-5 w-5 text-red-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[l("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z","clip-rule":"evenodd"})],-1),Hd=[Bd],Rd=["id"],Ed=["id"],zd={inheritAttrs:!1},Nd=de({...zd,__name:"TextInput",props:{status:{},id:{},type:{},inputClass:{},label:{},labelClass:{},help:{},placeholder:{},modelValue:{}},setup(e,{expose:t}){let a=e,n=(t({focus:function(){var e;null!=(e=n.value)&&e.focus()}}),D());let r=v(()=>a.type||"text"),s=v(()=>a.label??Pe(at(a.id))),u=v(()=>a.placeholder??s.value),d=Qe("ApiState",void 0),c=v(()=>pt.call({responseStatus:a.status??(null==d?void 0:d.error.value)},a.id)),p=v(()=>[ot.base,c.value?ot.invalid:ot.valid,a.inputClass]);return(t,e)=>(o(),i("div",{class:y([t.$attrs.class])},[U(t.$slots,"header",Te({inputElement:n.value,id:t.id,modelValue:t.modelValue,status:t.status},t.$attrs)),s.value?(o(),i("label",{key:0,for:t.id,class:y("block text-sm font-medium text-gray-700 dark:text-gray-300 "+(t.labelClass??""))},F(s.value),11,jd)):x("",!0),l("div",Dd,[l("input",Te({ref_key:"inputElement",ref:n,type:r.value,name:t.id,id:t.id,class:p.value,placeholder:u.value,value:t.modelValue,onInput:e[0]||(e[0]=e=>t.$emit("update:modelValue",e.target.value)),"aria-invalid":null!=c.value,"aria-describedby":t.id+"-error",step:"any"},X(ft)(t.$attrs,["class"])),null,16,Od),c.value?(o(),i("div",Pd,Hd)):x("",!0)]),c.value?(o(),i("p",{key:1,class:"mt-2 text-sm text-red-500",id:t.id+"-error"},F(c.value),9,Rd)):t.help?(o(),i("p",{key:2,class:"mt-2 text-sm text-gray-500",id:t.id+"-description"},F(t.help),9,Ed)):x("",!0),U(t.$slots,"footer",Te({inputElement:n.value,id:t.id,modelValue:t.modelValue,status:t.status},t.$attrs))],2))}}),Ud=["for"],qd={class:"mt-1 relative rounded-md shadow-sm"},Qd=["name","id","placeholder","aria-invalid","aria-describedby"],Kd=["id"],Zd=["id"],Wd={inheritAttrs:!1},Gd=de({...Wd,__name:"TextareaInput",props:{status:{},id:{},inputClass:{},label:{},labelClass:{},help:{},placeholder:{},modelValue:{}},setup(e){let t=e,a=v(()=>t.label??Pe(at(t.id))),n=v(()=>t.placeholder??a.value),r=Qe("ApiState",void 0),s=v(()=>pt.call({responseStatus:t.status??(null==r?void 0:r.error.value)},t.id)),u=v(()=>["shadow-sm "+ot.base,s.value?"text-red-900 focus:ring-red-500 focus:border-red-500 border-red-300":"text-gray-900 "+ot.valid,t.inputClass]);return(t,e)=>(o(),i("div",{class:y([t.$attrs.class])},[a.value?(o(),i("label",{key:0,for:t.id,class:y("block text-sm font-medium text-gray-700 dark:text-gray-300 "+(t.labelClass??""))},F(a.value),11,Ud)):x("",!0),l("div",qd,[l("textarea",Te({name:t.id,id:t.id,class:u.value,placeholder:n.value,onInput:e[0]||(e[0]=e=>t.$emit("update:modelValue",e.target.value)),"aria-invalid":null!=s.value,"aria-describedby":t.id+"-error"},X(ft)(t.$attrs,["class"])),F(t.modelValue),17,Qd)]),s.value?(o(),i("p",{key:1,class:"mt-2 text-sm text-red-500",id:t.id+"-error"},F(s.value),9,Kd)):t.help?(o(),i("p",{key:2,class:"mt-2 text-sm text-gray-500",id:t.id+"-description"},F(t.help),9,Zd)):x("",!0)],2))}}),Jd=["for"],Xd=["id","name","value","aria-invalid","aria-describedby"],Yd=["value"],ec=["id"],tc={inheritAttrs:!1},sc=de({...tc,__name:"SelectInput",props:{status:{},id:{},modelValue:{},inputClass:{},label:{},labelClass:{},options:{},values:{},entries:{}},setup(e){let t=e,a=v(()=>t.label??Pe(at(t.id))),n=Qe("ApiState",void 0),r=v(()=>pt.call({responseStatus:t.status??(null==n?void 0:n.error.value)},t.id)),s=v(()=>t.entries||(t.values?t.values.map(e=>({key:e,value:e})):t.options?Object.keys(t.options).map(e=>({key:e,value:t.options[e]})):[]));return(t,e)=>(o(),i("div",{class:y([t.$attrs.class])},[a.value?(o(),i("label",{key:0,for:t.id,class:y("block text-sm font-medium text-gray-700 dark:text-gray-300 "+(t.labelClass??""))},F(a.value),11,Jd)):x("",!0),l("select",Te({id:t.id,name:t.id,class:["mt-1 block w-full pl-3 pr-10 py-2 text-base focus:outline-none sm:text-sm rounded-md dark:text-white dark:bg-gray-900 dark:border-gray-600",r.value?"border-red-300 text-red-900 focus:ring-red-500 focus:border-red-500":"border-gray-300 text-gray-900 focus:ring-indigo-500 focus:border-indigo-500",t.inputClass],value:t.modelValue,onInput:e[0]||(e[0]=e=>t.$emit("update:modelValue",e.target.value)),"aria-invalid":null!=r.value,"aria-describedby":t.id+"-error"},X(ft)(t.$attrs,["class"])),[(o(!0),i(Se,null,je(s.value,e=>(o(),i("option",{value:e.key},F(e.value),9,Yd))),256))],16,Xd),r.value?(o(),i("p",{key:1,class:"mt-2 text-sm text-red-500",id:t.id+"-error"},F(r.value),9,ec)):x("",!0)],2))}}),lc={class:"flex items-center h-5"},nc=["id","name","checked"],oc={class:"ml-3 text-sm"},ac=["for"],rc={key:0,class:"mt-2 text-sm text-red-500",id:"`${id}-error`"},ic={key:1,class:"mt-2 text-sm text-gray-500",id:"`${id}-description`"},uc={inheritAttrs:!1},dc=de({...uc,__name:"CheckboxInput",props:{modelValue:{type:Boolean},status:{},id:{},inputClass:{},label:{},labelClass:{},help:{}},emits:["update:modelValue"],setup(e,{}){let t=e,a=v(()=>t.label??Pe(at(t.id))),n=Qe("ApiState",void 0),r=v(()=>pt.call({responseStatus:t.status??(null==n?void 0:n.error.value)},t.id));return(t,e)=>(o(),i("div",{class:y(["relative flex items-start",t.$attrs.class])},[l("div",lc,[l("input",Te({id:t.id,name:t.id,type:"checkbox",checked:t.modelValue,onInput:e[0]||(e[0]=e=>t.$emit("update:modelValue",e.target.checked)),class:["focus:ring-indigo-500 h-4 w-4 text-indigo-600 rounded border-gray-300 dark:border-gray-600 dark:bg-gray-800",t.inputClass]},X(ft)(t.$attrs,["class"])),null,16,nc)]),l("div",oc,[l("label",{for:t.id,class:y("font-medium text-gray-700 dark:text-gray-300 "+(t.labelClass??""))},F(a.value),11,ac),r.value?(o(),i("p",rc,F(r.value),1)):t.help?(o(),i("p",ic,F(t.help),1)):x("",!0)])],2))}}),cc=["id"],fc=["for"],vc={class:"mt-1 relative rounded-md shadow-sm"},pc=["id","name","value"],mc={class:"flex flex-wrap pb-1.5"},hc={class:"pt-1.5 pl-1"},gc={class:"inline-flex rounded-full items-center py-0.5 pl-2.5 pr-1 text-sm font-medium bg-indigo-100 dark:bg-indigo-800 text-indigo-700 dark:text-indigo-300"},yc=["onClick"],bc=l("svg",{class:"h-2 w-2",stroke:"currentColor",fill:"none",viewBox:"0 0 8 8"},[l("path",{"stroke-linecap":"round","stroke-width":"1.5",d:"M1 1l6 6m0-6L1 7"})],-1),wc=[bc],kc={class:"pt-1.5 pl-1 shrink"},_c=["type","name","id","aria-invalid","aria-describedby"],$c=["id"],Cc=["onMouseover","onClick"],xc={class:"block truncate"},Lc={key:1,class:"absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none"},Vc=l("svg",{class:"h-5 w-5 text-red-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[l("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z","clip-rule":"evenodd"})],-1),Mc=[Vc],Sc=["id"],Ac=["id"],Tc={inheritAttrs:!1},Fc=de({...Tc,__name:"TagInput",props:{status:{},id:{},type:{},inputClass:{},label:{},labelClass:{},help:{},modelValue:{default:()=>[]},delimiters:{default:()=>[","]},allowableValues:{},string:{type:Boolean},maxVisibleItems:{default:300},converter:{}},emits:["update:modelValue"],setup(e,{emit:t}){let a=e,n=t;let r=v(()=>{return Ke((e=a.modelValue,a.converter?a.converter(e):e),e=>"string"==typeof e?0==e.trim().length?[]:e.split(","):e)||[];var e}),s=D(),u=D(!1),d=v(()=>{let l=p.value.toLowerCase();return a.allowableValues&&0!=a.allowableValues.length?a.allowableValues.length<1e3?a.allowableValues.filter(e=>!r.value.includes(e)&&e.toLowerCase().includes(l)):a.allowableValues.filter(e=>!r.value.includes(e)&&e.startsWith(l)):[]});let c=D(null),p=D(""),f=v(()=>a.type||"text"),m=v(()=>a.label??Pe(at(a.id))),g=Qe("ApiState",void 0),h=v(()=>pt.call({responseStatus:a.status??(null==g?void 0:g.error.value)},a.id)),b=v(()=>["w-full cursor-text flex flex-wrap sm:text-sm rounded-md dark:text-white dark:bg-gray-900 border focus-within:border-transparent focus-within:ring-1 focus-within:outline-none",h.value?"pr-10 border-red-300 text-red-900 placeholder-red-300 focus-within:outline-none focus-within:ring-red-500 focus-within:border-red-500":"shadow-sm border-gray-300 dark:border-gray-600 focus-within:ring-indigo-500 focus-within:border-indigo-500",a.inputClass]),w=l=>V(r.value.filter(e=>e!=l));function k(e){var l;document.activeElement===e.target&&null!=(l=c.value)&&l.focus()}let C=D();function L(){u.value=!0,C.value=!0}function S(){B(T()),C.value=!1,setTimeout(()=>{C.value||(u.value=!1)},200)}function V(e){var l=a.string?e.join(","):e;n("update:modelValue",l)}function M(e){var l;"Backspace"==e.key&&0==p.value.length&&0e==l.key))&&l.preventDefault(),"Enter"==l.key||"NumpadEnter"==l.key||1==l.key.length&&e)&&B(t)}let j={behavior:"smooth",block:"nearest",inline:"nearest",scrollMode:"if-needed"};function I(){setTimeout(()=>{var e=_s(`#${a.id}-tag li.active`);e&&e.scrollIntoView(j)},0)}function $(){setTimeout(()=>{var e=_s(`#${a.id}-tag li.active`);e&&("scrollIntoViewIfNeeded"in e?e.scrollIntoViewIfNeeded(j):e.scrollIntoView(j))},0)}function B(e){var l;0!==e.length&&(-1==(l=Array.from(r.value)).indexOf(e)&&l.push(e),V(l),p.value="",u.value=!1)}function U(t){var e,t=null==(e=t.clipboardData)?void 0:e.getData("Text");if(t){let e=new RegExp("\\n|\\t|"+a.delimiters.join("|")),l=Array.from(r.value);t.split(e).map(e=>e.trim()).forEach(e=>{-1==l.indexOf(e)&&l.push(e)}),V(l),p.value=""}}return(e,t)=>(o(),i("div",{class:y([e.$attrs.class]),id:e.id+"-tag",onmousemove:"cancelBlur=true"},[m.value?(o(),i("label",{key:0,for:e.id,class:y("block text-sm font-medium text-gray-700 dark:text-gray-300 "+(e.labelClass??""))},F(m.value),11,fc)):x("",!0),l("div",vc,[l("input",{type:"hidden",id:e.id,name:e.id,value:r.value.join(",")},null,8,pc),l("button",{class:y(b.value),onClick:Ue(k,["prevent"]),onFocus:t[2]||(t[2]=e=>u.value=!0),tabindex:"-1"},[l("div",mc,[(o(!0),i(Se,null,je(r.value,t=>(o(),i("div",hc,[l("span",gc,[ke(F(t)+" ",1),l("button",{type:"button",onClick:e=>w(t),class:"flex-shrink-0 ml-1 h-4 w-4 rounded-full inline-flex items-center justify-center text-indigo-400 dark:text-indigo-500 hover:bg-indigo-200 dark:hover:bg-indigo-800 hover:text-indigo-500 dark:hover:text-indigo-400 focus:outline-none focus:bg-indigo-500 focus:text-white dark:focus:text-black"},wc,8,yc)])]))),256)),l("div",kc,[Mt(l("input",Te({ref_key:"txtInput",ref:c,type:f.value,role:"combobox","aria-controls":"options","aria-expanded":"false",autocomplete:"off",spellcheck:"false",name:e.id+"-txt",id:e.id+"-txt",class:"p-0 dark:bg-transparent rounded-md border-none focus:!border-none focus:!outline-none",style:`box-shadow:none !important;width:${p.value.length+1}ch`,"onUpdate:modelValue":t[0]||(t[0]=e=>p.value=e),"aria-invalid":null!=h.value,"aria-describedby":e.id+"-error",onKeydown:M,onKeypress:A,onPaste:Ue(U,["prevent","stop"]),onFocus:L,onBlur:S,onClick:t[1]||(t[1]=e=>u.value=!0)},X(ft)(e.$attrs,["class","required"])),null,16,_c),[[bo,p.value]])])])],34),u.value&&d.value.length?(o(),i("ul",{key:0,class:"absolute z-10 mt-1 max-h-60 w-full overflow-auto rounded-md bg-white dark:bg-black py-1 text-base shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none sm:text-sm",onKeydown:M,id:e.id+"-options",role:"listbox"},[(o(!0),i(Se,null,je(d.value.slice(0,e.maxVisibleItems),t=>(o(),i("li",{class:y([t===s.value?"active bg-indigo-600 text-white":"text-gray-900 dark:text-gray-100","relative cursor-default select-none py-2 pl-3 pr-9"]),onMouseover:e=>{var l;l=t,s.value=l},onClick:e=>B(t),role:"option",tabindex:"-1"},[l("span",xc,F(t),1)],42,Cc))),256))],40,$c)):x("",!0),h.value?(o(),i("div",Lc,Mc)):x("",!0)]),h.value?(o(),i("p",{key:1,class:"mt-2 text-sm text-red-500",id:e.id+"-error"},F(h.value),9,Sc)):e.help?(o(),i("p",{key:2,class:"mt-2 text-sm text-gray-500",id:e.id+"-description"},F(e.help),9,Ac)):x("",!0)],10,cc))}}),Ic={class:"relative flex-grow mr-2 sm:mr-4"},jc=["for"],Dc={class:"block mt-2"},Oc={class:"sr-only"},Pc=["multiple","name","id","placeholder","aria-invalid","aria-describedby"],Bc={key:0,class:"absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none"},Hc=l("svg",{class:"h-5 w-5 text-red-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[l("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z","clip-rule":"evenodd"})],-1),Rc=[Hc],Ec=["id"],zc=["id"],Nc={key:0},Uc=["title"],qc=["alt","src"],Qc={key:1,class:"mt-3"},Kc={class:"w-full"},Zc={class:"pr-6 align-bottom pb-2"},Wc=["title"],Gc=["src","onError"],Jc=["href"],Xc={key:1,class:"overflow-hidden"},Yc={class:"align-top pb-2 whitespace-nowrap"},e0={key:0,class:"text-gray-500 dark:text-gray-400 text-sm bg-white dark:bg-black"},t0=de({__name:"FileInput",props:{multiple:{type:Boolean},status:{},id:{},inputClass:{},label:{},labelClass:{},help:{},placeholder:{},modelValue:{},values:{},files:{}},setup(e){let t,a=e,n=D(null),{assetsPathResolver:r,fallbackPathResolver:s}=It(),u={},d=D(),c=D((null==(t=a.files)?void 0:t.map(p))||[]);function p(e){return e.filePath=r(e.filePath),e}a.values&&0{var l=e.replace(/\\/g,"/");return{fileName:un(St(l,"/"),"."),filePath:l,contentType:Ys(l)}}).map(p));let f=v(()=>a.label??Pe(at(a.id))),m=v(()=>a.placeholder??f.value),g=Qe("ApiState",void 0),h=v(()=>pt.call({responseStatus:a.status??(null==g?void 0:g.error.value)},a.id)),b=v(()=>["block w-full sm:text-sm rounded-md dark:text-white dark:bg-gray-900 file:mr-4 file:py-2 file:px-4 file:rounded-full file:border-0 file:text-sm file:font-semibold file:bg-violet-50 dark:file:bg-violet-900 file:text-violet-700 dark:file:text-violet-200 hover:file:bg-violet-100 dark:hover:file:bg-violet-800",h.value?"pr-10 border-red-300 text-red-900 placeholder-red-300 focus:outline-none focus:ring-red-500 focus:border-red-500":"text-slate-500 dark:text-slate-400",a.inputClass]),w=e=>{var l=e.target;d.value="",c.value=Array.from(l.files||[]).map(e=>({fileName:e.name,filePath:pl(e),contentLength:e.size,contentType:e.type||Ys(e.name)}))},k=()=>{var e;return null==(e=n.value)?void 0:e.click()},C=e=>null!=e&&(e.startsWith("data:")||e.startsWith("blob:")),L=v(()=>{var e;return 0!e||e.startsWith("data:")||e.endsWith(".svg")?"":"rounded-full object-cover";function V(e){d.value=s(L.value)}return Tt($n),(e,t)=>(o(),i("div",{class:y(["flex",e.multiple?"flex-col":"justify-between"])},[l("div",Ic,[f.value?(o(),i("label",{key:0,for:e.id,class:y("block text-sm font-medium text-gray-700 dark:text-gray-300 "+(e.labelClass??""))},F(f.value),11,jc)):x("",!0),l("div",Dc,[l("span",Oc,F(e.help??f.value),1),l("input",Te({ref_key:"input",ref:n,type:"file",multiple:e.multiple,name:e.id,id:e.id,class:b.value,placeholder:m.value,"aria-invalid":null!=h.value,"aria-describedby":e.id+"-error"},e.$attrs,{onChange:w}),null,16,Pc),h.value?(o(),i("div",Bc,Rc)):x("",!0)]),h.value?(o(),i("p",{key:1,class:"mt-2 text-sm text-red-500",id:e.id+"-error"},F(h.value),9,Ec)):e.help?(o(),i("p",{key:2,class:"mt-2 text-sm text-gray-500",id:e.id+"-description"},F(e.help),9,zc)):x("",!0)]),e.multiple?(o(),i("div",Qc,[l("table",Kc,[(o(!0),i(Se,null,je(c.value,t=>(o(),i("tr",null,[l("td",Zc,[l("div",{class:"flex w-full",title:C(t.filePath)?"":t.filePath},[l("img",{src:u[X(Ct)(t.filePath)]||X(r)(X(Ct)(t.filePath)),class:y(["mr-2 h-8 w-8",S(t.filePath)]),onError:e=>u[X(Ct)(t.filePath)]=X(s)(X(Ct)(t.filePath))},null,42,Gc),C(t.filePath)?(o(),i("span",Xc,F(t.fileName),1)):(o(),i("a",{key:0,href:X(r)(t.filePath||""),target:"_blank",class:"overflow-hidden"},F(t.fileName),9,Jc))],8,Wc)]),l("td",Yc,[t.contentLength&&0[]},modelValue:{},match:{},viewCount:{default:100},pageSize:{default:8}},emits:["update:modelValue"],setup(e,{expose:t,emit:a}){let n=D(!1),r=e,s=a;function u(e){return Array.isArray(r.modelValue)&&0<=r.modelValue.indexOf(e)}t({toggle:I});let d=v(()=>r.label??Pe(at(r.id))),c=Qe("ApiState",void 0),p=v(()=>pt.call({responseStatus:r.status??(null==c?void 0:c.error.value)},r.id)),f=v(()=>[ot.base,p.value?ot.invalid:ot.valid]),m=D(null),g=D(""),h=D(null),b=D(r.viewCount),w=D([]),k=v(()=>g.value?r.options.filter(e=>r.match(e,g.value)).slice(0,b.value):r.options),C=["Tab","Escape","ArrowDown","ArrowUp","Enter","PageUp","PageDown","Home","End"];let L=[",",` -`,"\t"];function S(e){var l=null==(t=e.clipboardData)?void 0:t.getData("Text");if(l){var t=L.some(e=>l.includes(e));if(r.multiple&&t){if(t){t=new RegExp("\\r|\\n|\\t|,"),t=l.split(t).filter(e=>e.trim()).map(l=>r.options.find(e=>r.match(e,l))).filter(e=>!!e);if(0{u(l)?e=e.filter(e=>e!=l):e.push(l)}),s("update:modelValue",e),hs()}}}else{t=r.options.filter(e=>r.match(e,l));1==t.length&&(B(t[0]),n.value=!1,hs())}}}function V(e){C.indexOf(e.code)||$()}function M(e){var l;e.shiftKey||e.ctrlKey||e.altKey||(n.value?"Escape"==e.code?n.value&&(e.stopPropagation(),n.value=!1):"Tab"==e.code?n.value=!1:"Home"==e.code?(h.value=w.value[0],A()):"End"==e.code?(h.value=w.value[w.value.length-1],A()):"ArrowDown"==e.code?(h.value?(l=w.value.indexOf(h.value),h.value=l+1{var e=_s(`#${r.id}-autocomplete li.active`);e&&e.scrollIntoView(T)},0)}function j(){setTimeout(()=>{var e=_s(`#${r.id}-autocomplete li.active`);e&&("scrollIntoViewIfNeeded"in e?e.scrollIntoViewIfNeeded(T):e.scrollIntoView(T))},0)}function I(e){var l;(n.value=e)&&($(),null!=(l=m.value))&&l.focus()}function $(){n.value=!0,O()}function B(l){if(g.value="",n.value=!1,r.multiple){let e=Array.from(r.modelValue||[]);u(l)?e=e.filter(e=>e!=l):e.push(l),h.value=null,s("update:modelValue",e)}else{let e=l;r.modelValue==l&&(e=null),s("update:modelValue",e)}}function O(){w.value=k.value}return yt(g,O),(e,t)=>(o(),i("div",{id:e.id+"-autocomplete"},[d.value?(o(),i("label",{key:0,for:e.id+"-text",class:"block text-sm font-medium text-gray-700 dark:text-gray-300"},F(d.value),9,l0)):x("",!0),l("div",n0,[Mt(l("input",Te({ref_key:"txtInput",ref:m,id:e.id+"-text",type:"text",role:"combobox","aria-controls":"options","aria-expanded":"false",autocomplete:"off",spellcheck:"false","onUpdate:modelValue":t[0]||(t[0]=e=>g.value=e),class:f.value,placeholder:e.multiple||!e.modelValue?e.placeholder:"",onFocus:$,onKeydown:M,onKeyup:V,onClick:$,onPaste:S,required:!1},e.$attrs),null,16,o0),[[wo,g.value]]),l("button",{type:"button",onClick:t[1]||(t[1]=e=>I(!n.value)),class:"absolute inset-y-0 right-0 flex items-center rounded-r-md px-2 focus:outline-none",tabindex:"-1"},r0),n.value?(o(),i("ul",{key:0,class:"absolute z-10 mt-1 max-h-60 w-full overflow-auto rounded-md bg-white dark:bg-black py-1 text-base shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none sm:text-sm",onKeydown:M,id:e.id+"-options",role:"listbox"},[(o(!0),i(Se,null,je(w.value,t=>(o(),i("li",{class:y([t===h.value?"active bg-indigo-600 text-white":"text-gray-900 dark:text-gray-100","relative cursor-default select-none py-2 pl-3 pr-9"]),onMouseover:e=>{return l=t,h.value=l,void(w.value.indexOf(l)>Math.floor(.9*b.value)&&(b.value+=r.viewCount,O()));var l},onClick:e=>B(t),role:"option",tabindex:"-1"},[U(e.$slots,"item",Rt(ks(t))),u(t)?(o(),i("span",{key:0,class:y(["absolute inset-y-0 right-0 flex items-center pr-4",t===h.value?"text-white":"text-indigo-600"])},c0,2)):x("",!0)],42,u0))),256))],40,i0)):!e.multiple&&e.modelValue?(o(),i("div",{key:1,onKeydown:M,onClick:t[2]||(t[2]=e=>I(!n.value)),class:"h-8 -mt-8 ml-3 pt-0.5"},[U(e.$slots,"item",Rt(ks(e.modelValue)))],32)):x("",!0),p.value?(o(),i("div",f0,p0)):x("",!0)]),p.value?(o(),i("p",{key:1,class:"mt-2 text-sm text-red-500",id:e.id+"-error"},F(p.value),9,m0)):e.help?(o(),i("p",{key:2,class:"mt-2 text-sm text-gray-500",id:e.id+"-description"},F(e.help),9,h0)):x("",!0)],8,s0))}}),y0=["id","name","value"],b0={class:"block truncate"},w0=de({__name:"Combobox",props:{id:{},modelValue:{},multiple:{type:Boolean},options:{},values:{},entries:{}},emits:["update:modelValue"],setup(e,{expose:t,emit:a}){let n=e,r=(t({toggle(e){var l;null!=(l=d.value)&&l.toggle(e)}}),a);function s(e){r("update:modelValue",e)}let u=v(()=>null!=n.multiple?n.multiple:Array.isArray(n.modelValue)),d=D();function c(e,l){return!l||e.value.toLowerCase().includes(l.toLowerCase())}let p=v(()=>n.entries||(n.values?n.values.map(e=>({key:e,value:e})):n.options?Object.keys(n.options).map(e=>({key:e,value:n.options[e]})):[])),f=D(u.value?[]:null);Ye(function(){let l=n.modelValue&&"object"==typeof n.modelValue?n.modelValue.key:n.modelValue;null==l||""===l?f.value=u.value?[]:null:"string"==typeof l?f.value=p.value.find(e=>e.key===l)||null:Array.isArray(l)&&(f.value=p.value.filter(e=>l.includes(e.key)))});let m=v(()=>null==f.value?"":Array.isArray(f.value)?f.value.map(e=>encodeURIComponent(e.key)).join(","):f.value.key);return(e,t)=>{var a=Z("Autocomplete");return o(),i(Se,null,[l("input",{type:"hidden",id:e.id,name:e.id,value:m.value},null,8,y0),ye(a,Te({ref_key:"input",ref:d,id:e.id,options:p.value,match:c,multiple:u.value},e.$attrs,{modelValue:f.value,"onUpdate:modelValue":[t[0]||(t[0]=e=>f.value=e),s]}),{item:xe(({value:e})=>[l("span",b0,F(e),1)]),_:1},16,["id","options","multiple","modelValue"])],64)}}}),k0=de({__name:"DynamicInput",props:{input:{},modelValue:{},api:{}},emits:["update:modelValue"],setup(e,{emit:l}){let t=e,a=l,c=v(()=>t.input.type||"text"),n="ignore,css,options,meta,allowableValues,allowableEntries,op,prop,type,id,name".split(","),p=v(()=>ft(t.input,n)),f=D(Ke(t.modelValue[t.input.id],e=>"file"===t.input.type?null:"date"===t.input.type&&e instanceof Date?Ms(e):"time"===t.input.type?vn(e):e)),m=(yt(f,()=>{t.modelValue[t.input.id]=f.value,a("update:modelValue",t.modelValue)}),v(()=>{var e=t.modelValue[t.input.id];if("file"!==t.input.type||!e)return[];if("string"==typeof e)return[{filePath:e,fileName:St(e,"/")}];if(!Array.isArray(e)&&"object"==typeof e)return e;if(Array.isArray(e)){let l=[];return e.forEach(e=>{"string"==typeof e?l.push({filePath:e,fileName:St(e,"/")}):"object"==typeof e&&l.push(e)}),l}}));return(e,l)=>{var t,a=Z("SelectInput"),n=Z("CheckboxInput"),r=Z("TagInput"),s=Z("Combobox"),i=Z("FileInput"),u=Z("TextareaInput"),d=Z("MarkdownInput"),v=Z("TextInput");return X(Y).component(c.value)?(o(),ae(an(X(Y).component(c.value)),Te({key:0,id:e.input.id,modelValue:f.value,"onUpdate:modelValue":l[0]||(l[0]=e=>f.value=e),status:null==(t=e.api)?void 0:t.error,"input-class":null==(t=e.input.css)?void 0:t.input,"label-class":null==(t=e.input.css)?void 0:t.label},p.value),null,16,["id","modelValue","status","input-class","label-class"])):"select"==c.value?(o(),ae(a,Te({key:1,id:e.input.id,modelValue:f.value,"onUpdate:modelValue":l[1]||(l[1]=e=>f.value=e),status:null==(t=e.api)?void 0:t.error,"input-class":null==(a=e.input.css)?void 0:a.input,"label-class":null==(t=e.input.css)?void 0:t.label,entries:e.input.allowableEntries,values:e.input.allowableValues},p.value),null,16,["id","modelValue","status","input-class","label-class","entries","values"])):"checkbox"==c.value?(o(),ae(n,Te({key:2,id:e.input.id,modelValue:f.value,"onUpdate:modelValue":l[2]||(l[2]=e=>f.value=e),status:null==(a=e.api)?void 0:a.error,"input-class":null==(t=e.input.css)?void 0:t.input,"label-class":null==(n=e.input.css)?void 0:n.label},p.value),null,16,["id","modelValue","status","input-class","label-class"])):"tag"==c.value?(o(),ae(r,Te({key:3,id:e.input.id,modelValue:f.value,"onUpdate:modelValue":l[3]||(l[3]=e=>f.value=e),status:null==(a=e.api)?void 0:a.error,"input-class":null==(t=e.input.css)?void 0:t.input,"label-class":null==(n=e.input.css)?void 0:n.label,allowableValues:e.input.allowableValues,string:"String"==(null==(r=e.input.prop)?void 0:r.type)},p.value),null,16,["id","modelValue","status","input-class","label-class","allowableValues","string"])):"combobox"==c.value?(o(),ae(s,Te({key:4,id:e.input.id,modelValue:f.value,"onUpdate:modelValue":l[4]||(l[4]=e=>f.value=e),status:null==(a=e.api)?void 0:a.error,"input-class":null==(t=e.input.css)?void 0:t.input,"label-class":null==(n=e.input.css)?void 0:n.label,entries:e.input.allowableEntries,values:e.input.allowableValues},p.value),null,16,["id","modelValue","status","input-class","label-class","entries","values"])):"file"==c.value?(o(),ae(i,Te({key:5,id:e.input.id,status:null==(r=e.api)?void 0:r.error,modelValue:f.value,"onUpdate:modelValue":l[5]||(l[5]=e=>f.value=e),"input-class":null==(s=e.input.css)?void 0:s.input,"label-class":null==(a=e.input.css)?void 0:a.label,files:m.value},p.value),null,16,["id","status","modelValue","input-class","label-class","files"])):"textarea"==c.value?(o(),ae(u,Te({key:6,id:e.input.id,modelValue:f.value,"onUpdate:modelValue":l[6]||(l[6]=e=>f.value=e),status:null==(t=e.api)?void 0:t.error,"input-class":null==(n=e.input.css)?void 0:n.input,"label-class":null==(i=e.input.css)?void 0:i.label},p.value),null,16,["id","modelValue","status","input-class","label-class"])):"MarkdownInput"==c.value?(o(),ae(d,Te({key:7,id:e.input.id,modelValue:f.value,"onUpdate:modelValue":l[7]||(l[7]=e=>f.value=e),status:null==(r=e.api)?void 0:r.error,"input-class":null==(s=e.input.css)?void 0:s.input,"label-class":null==(a=e.input.css)?void 0:a.label},p.value),null,16,["id","modelValue","status","input-class","label-class"])):(o(),ae(v,Te({key:8,type:c.value,id:e.input.id,modelValue:f.value,"onUpdate:modelValue":l[8]||(l[8]=e=>f.value=e),status:null==(u=e.api)?void 0:u.error,"input-class":null==(t=e.input.css)?void 0:t.input,"label-class":null==(n=e.input.css)?void 0:n.label},p.value),null,16,["type","id","modelValue","status","input-class","label-class"]))}}}),_0={class:"lookup-field"},$0=["name","value"],C0={key:0,class:"flex justify-between"},x0=["for"],L0={key:0,class:"flex items-center"},V0={class:"text-sm text-gray-500 dark:text-gray-400 pr-1"},M0=l("span",{class:"sr-only"},"Clear",-1),S0=l("svg",{class:"h-4 w-4",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1),A0=[M0,S0],T0={key:1,class:"mt-1 relative"},F0={class:"w-full inline-flex truncate"},I0={class:"text-blue-700 dark:text-blue-300 flex cursor-pointer"},j0=l("span",{class:"absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none"},[l("svg",{class:"h-5 w-5 text-gray-400 dark:text-gray-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[l("path",{"fill-rule":"evenodd",d:"M10 3a1 1 0 01.707.293l3 3a1 1 0 01-1.414 1.414L10 5.414 7.707 7.707a1 1 0 01-1.414-1.414l3-3A1 1 0 0110 3zm-3.707 9.293a1 1 0 011.414 0L10 14.586l2.293-2.293a1 1 0 011.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z","clip-rule":"evenodd"})])],-1),D0=["id"],O0=["id"],P0=de({__name:"LookupInput",props:{id:{},status:{},input:{},metadataType:{},modelValue:{},label:{},labelClass:{},help:{}},emits:["update:modelValue"],setup(e,{emit:t}){let a=It().config,r=lt().metadataApi,s=e,u=t,d=v(()=>s.id||s.input.id),c=v(()=>s.label??Pe(at(d.value))),n=Qe("ApiState",void 0),p=Qe("client"),f=v(()=>pt.call({responseStatus:s.status??(null==n?void 0:n.error.value)},d.value)),m=D(""),g=D(""),h=v(()=>_e(s.modelValue,d.value)),b=v(()=>st(s.metadataType).find(e=>e.name.toLowerCase()==d.value.toLowerCase())),w=v(()=>{var e;return(null==(e=rt(null==(e=null==(e=b.value)?void 0:e.ref)?void 0:e.model))?void 0:e.icon)||a.value.tableIcon}),k;function C(){s.modelValue[d.value]=null,m.value=""}return Ye(async()=>{k=Qe("ModalProvider",void 0);var l,t=s.modelValue;s.modelValue[d.value]||(s.modelValue[d.value]=null);let a=b.value,n=null==a?void 0:a.ref;if(n){m.value="";let e=null==n.selfId?_e(t,a.name):_e(t,n.selfId);null==(e=Xt(e)?_e(t,n.refId):e)||null==(null==(l=r.value)?void 0:l.operations.find(e=>{var l;return(null==(l=e.dataModel)?void 0:l.name)==n.model}))||Xt(l=_e(t,a.name))||(m.value=""+l,g.value=a.name,null!=n.refLabel&&(null==(l=st(s.metadataType).find(e=>e.type==n.model))&&console.warn(`Could not find ${n.model} Property on `+s.metadataType.name),null!=(t=null!=l?_e(t,l.name):null)?(l=_e(t,n.refLabel))&&(m.value=""+l,Pt.setValue(n.model,e,n.refLabel,l)):(l=1==(null==(t=a.attributes)?void 0:t.some(e=>"Computed"==e.name)),t=await Pt.getOrFetchValue(p,r.value,n.model,n.refId,n.refLabel,l,e),m.value=t||n.model+": "+m.value)))}else console.warn(`No RefInfo for property '${d.value}'`)}),(e,t)=>{var a,n=Z("Icon");return o(),i("div",_0,[l("input",{type:"hidden",name:d.value,value:h.value},null,8,$0),c.value?(o(),i("div",C0,[l("label",{for:d.value,class:y("block text-sm font-medium text-gray-700 dark:text-gray-300 "+(e.labelClass??""))},F(c.value),11,x0),h.value?(o(),i("div",L0,[l("span",V0,F(h.value),1),l("button",{onClick:C,type:"button",title:"clear",class:"mr-1 rounded-md 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"},A0)])):x("",!0)])):x("",!0),null!=(a=b.value)&&a.ref?(o(),i("div",T0,[l("button",{type:"button",class:"lookup flex relative w-full bg-white dark:bg-black border border-gray-300 dark:border-gray-700 rounded-md shadow-sm pl-3 pr-10 py-2 text-left focus:outline-none focus:ring-1 focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm",onClick:t[0]||(t[0]=e=>{var a;(a=b.value.ref)&&(null==k?console.warn("No ModalProvider required by LookupInput"):k.openModal({name:"ModalLookup",ref:a},e=>{var l,t;console.debug("openModal",m.value," -> ",e,Pt.setRefValue(a,e),a),e&&(l=_e(e,a.refId),m.value=Pt.setRefValue(a,e)||l,(t=X(s.modelValue))[d.value]=l,u("update:modelValue",t))}))}),"aria-haspopup":"listbox","aria-expanded":"true","aria-labelledby":"listbox-label"},[l("span",F0,[l("span",I0,[ye(n,{class:"mr-1 w-5 h-5",image:w.value},null,8,["image"]),l("span",null,F(m.value),1)])]),j0])])):x("",!0),f.value?(o(),i("p",{key:2,class:"mt-2 text-sm text-red-500",id:d.value+"-error"},F(f.value),9,D0)):e.help?(o(),i("p",{key:3,class:"mt-2 text-sm text-gray-500",id:d.value+"-description"},F(e.help),9,O0)):x("",!0)])}}}),B0=de({__name:"AutoFormFields",props:{modelValue:{},type:{},metaType:{},api:{},formLayout:{},configureField:{},configureFormLayout:{},hideSummary:{type:Boolean},flexClass:{default:"flex flex-1 flex-col justify-between"},divideClass:{default:"divide-y divide-gray-200 px-4 sm:px-6"},spaceClass:{default:"space-y-6 pt-6 pb-5"},fieldsetClass:{default:"grid grid-cols-12 gap-6"}},emits:["update:modelValue"],setup(e,{expose:t,emit:a}){let u=e,n=a;function r(){var e=Be();null!=(e=null==e?void 0:e.proxy)&&e.$forceUpdate()}function d(e,l){u.modelValue[e]=l,n("update:modelValue",u.modelValue),r()}t({forceUpdate:r,props:u,updateValue:d});let{metadataApi:s,apiOf:c,typeOf:p,typeOfRef:f,createFormLayout:m}=lt(),g=v(()=>u.type||qt(u.modelValue)),h=v(()=>u.metaType??p(g.value)),b=v(()=>{var e;return f(null==(e=null==(e=s.value)?void 0:e.operations.find(e=>e.request.name==g.value))?void 0:e.dataModel)||h.value}),w=v(()=>{var e,l=h.value;if(!l){if(u.formLayout)return e=u.formLayout.map(e=>{var l={name:e.id,type:Ta(e.type)},l=Object.assign({prop:l},e);return u.configureField&&u.configureField(l),l}),u.configureFormLayout&&u.configureFormLayout(e),e;throw new Error(`MetadataType for ${g.value} not found`)}let a=st(l),n=b.value,t=u.formLayout||m(l),r=[],s=c(l.name);return t.forEach(t=>{var e,l=a.find(e=>e.name==t.name);t.ignore||(e=(null==(e=null==n?void 0:n.properties)?void 0:e.find(e=>{var l;return e.name.toLowerCase()==(null==(l=t.name)?void 0:l.toLowerCase())}))??l,l=Object.assign({prop:e,op:s},t),u.configureField&&u.configureField(l),r.push(l))}),u.configureFormLayout&&u.configureFormLayout(r),r}),k=v(()=>w.value.filter(e=>"hidden"!=e.type).map(e=>e.id));return(t,a)=>{let e,n=Z("ErrorSummary"),r=Z("LookupInput"),s=Z("DynamicInput");return o(),i(Se,null,[t.hideSummary?x("",!0):(o(),ae(n,{key:0,status:null==(e=t.api)?void 0:e.error,except:k.value},null,8,["status","except"])),l("div",{class:y(t.flexClass)},[l("div",{class:y(t.divideClass)},[l("div",{class:y(t.spaceClass)},[l("fieldset",{class:y(t.fieldsetClass)},[(o(!0),i(Se,null,je(w.value,l=>{var e;return o(),i("div",{key:l.id,class:y(["w-full",(null==(e=l.css)?void 0:e.field)??("textarea"==l.type?"col-span-12":"col-span-12 xl:col-span-6"+("checkbox"==l.type?" flex items-center":"")),"hidden"==l.type?"hidden":""])},[null==(null==(e=l.prop)?void 0:e.ref)||"file"==l.type||l.prop.isPrimaryKey?(o(),ae(s,{key:1,input:l,modelValue:t.modelValue,"onUpdate:modelValue":a[0]||(a[0]=e=>t.$emit("update:modelValue",e)),api:t.api},null,8,["input","modelValue","api"])):(o(),ae(r,{key:0,metadataType:b.value,input:l,modelValue:t.modelValue,"onUpdate:modelValue":e=>{d(l.id,_e(e,l.id))},status:null==(e=t.api)?void 0:e.error},null,8,["metadataType","input","modelValue","onUpdate:modelValue","status"]))],2)}),128))],2)],2)],2)],2)],64)}}});function Os(e){let r=D(!1),s=D(),o=D(),i=e??Qe("client");function n({message:e,errorCode:l,fieldName:t,errors:a}){return l=l||"Exception",a=a||[],s.value=new Us(t?{errorCode:l,message:e,errors:[new Gl({fieldName:t,errorCode:l,message:e})]}:{errorCode:l,message:e,errors:a})}var l={setError:n,addFieldError:function({fieldName:t,message:e,errorCode:l}){var a;l=l||"Exception",s.value?((a=new Us(s.value)).errors=[...(a.errors||[]).filter(e=>{var l;return(null==(l=e.fieldName)?void 0:l.toLowerCase())!==(null==t?void 0:t.toLowerCase())}),new Gl({fieldName:t,message:e,errorCode:l})],s.value=a):n({fieldName:t,message:e,errorCode:l})},loading:r,error:s,api:async function(e,l,t){r.value=!0;var a=await i.api(Ot(e),l,t);return r.value=!1,o.value=a.response,s.value=a.error,a},apiVoid:async function(e,l,t){r.value=!0;var a=await i.apiVoid(Ot(e),l,t);return r.value=!1,o.value=a.response,s.value=a.error,a},apiForm:async function(e,l,t,a){r.value=!0;var n=await i.apiForm(Ot(e),l,t,a);return r.value=!1,o.value=n.response,s.value=n.error,n},apiFormVoid:async function(e,l,t,a){r.value=!0;var n=await i.apiFormVoid(Ot(e),l,t,a);return r.value=!1,o.value=n.response,s.value=n.error,n},swr:async function(e,l,t,a){return hn(i,e,l,t,a)},swrEffect:function(t,a){let n=D(new Xe),r=gn(async e=>{n.value=await i.api(e)},null==a?void 0:a.delayMs);return ws(async()=>{var e=t(),l=cl(As(e));l&&(n.value=new Xe({response:l})),0===(null==a?void 0:a.delayMs)?n.value=await i.api(e):r(e)}),(async()=>n.value=await i.api(t(),null==a?void 0:a.args,null==a?void 0:a.method))(),n},unRefs:Ot,setRef:pn};return ss("ApiState",l),l}let H0={key:0},R0={class:"text-red-700"},E0=l("b",null,"type",-1),z0={key:0},N0={key:2},U0=["innerHTML"],q0=l("input",{type:"submit",class:"hidden"},null,-1),Q0={class:"flex justify-end"},K0=l("div",null,null,-1),Z0={key:2,class:"relative z-10","aria-labelledby":"slide-over-title",role:"dialog","aria-modal":"true"},W0=l("div",{class:"fixed inset-0"},null,-1),G0={class:"fixed inset-0 overflow-hidden"},J0={class:"flex min-h-0 flex-1 flex-col overflow-auto"},X0={class:"flex-1"},Y0={class:"bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6"},ef={class:"flex items-start justify-between space-x-3"},tf={class:"space-y-1"},sf={key:0},lf={key:2},nf=["innerHTML"],of={class:"flex h-7 items-center"},af={class:"flex justify-end"},rf=de({__name:"AutoForm",props:{type:{},modelValue:{},heading:{},subHeading:{},showLoading:{type:Boolean,default:!0},jsconfig:{default:"eccn,edv"},formStyle:{default:"card"},metaType:{},configureField:{},configureFormLayout:{},panelClass:{},bodyClass:{},formClass:{},innerFormClass:{},headerClass:{default:"p-6"},buttonsClass:{},headingClass:{},subHeadingClass:{},submitLabel:{default:"Submit"},allowSubmit:{}},emits:["success","error","update:modelValue","done"],setup(e,{expose:t,emit:a}){let s=e,u=a,L=D(),S=D(1),V=D();function n(){S.value++,H.value=m();var e=Be();null!=(e=null==e?void 0:e.proxy)&&e.$forceUpdate()}ss("ModalProvider",{openModal:function(e,l){M.value=e,r.value=l}});let M=D(),r=D();async function T(e){r.value&&r.value(e),M.value=void 0,r.value=void 0}let d=Os(),c=yn().getTypeName,{typeOf:p,createDto:f}=lt(),A=D(new Xe),j=v(()=>s.panelClass||Ee.panelClass(s.formStyle)),I=v(()=>s.formClass||"card"==s.formStyle?"shadow sm:rounded-md":Bt.formClass),$=v(()=>s.headingClass||Ee.headingClass(s.formStyle)),B=v(()=>s.subHeadingClass||Ee.subHeadingClass(s.formStyle)),O=v(()=>("string"==typeof s.buttonsClass?s:Ee).buttonsClass),_=v(()=>{var e;return s.type?c(s.type):null!=(e=s.modelValue)&&e.getTypeName?s.modelValue.getTypeName():null}),E=v(()=>s.metaType??p(_.value)),m=()=>s.modelValue||g(),H=D(m()),P=v(()=>d.loading.value),R=v(()=>{var e;return null!=s.heading?s.heading:(null==(e=E.value)?void 0:e.description)||Pe(_.value)});function g(){return"string"==typeof s.type?f(s.type):s.type?new s.type:s.modelValue}async function z(e){var l,t,a,n,r;e&&"FORM"==e.tagName?(l=g(),r=Ke(null==l?void 0:l.getMethod,e=>"function"==typeof e?e():null)||"POST",t=null==Ke(null==l?void 0:l.createResponse,e=>"function"==typeof e?e():null),a=s.jsconfig,il.hasRequestBody(r)?(r=new l.constructor,n=new FormData(e),A.value=t?await d.apiFormVoid(r,n,{jsconfig:a}):await d.apiForm(r,n,{jsconfig:a})):(r=new l.constructor(Oo(H.value)),console.debug("AutoForm.submit",r),A.value=t?await d.apiVoid(r,{jsconfig:a}):await d.api(r,{jsconfig:a})),A.value.succeeded?(u("success",A.value.response),X()):u("error",A.value.error)):console.error("Not a valid form",e)}function N(e){u("update:modelValue",e)}function h(){u("done")}t({forceUpdate:n,props:s,setModel:async function(e){Object.assign(H.value,e),n(),await Vt(()=>null)},formFields:L,submit:async function(){z(V.value)},close:X,model:H});let b=D(!1),q=D(""),k={entering:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-full",to:"translate-x-0"},leaving:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-0",to:"translate-x-full"}};function X(){"slideOver"==s.formStyle?b.value=!1:h()}yt(b,()=>{gt(k,q,b.value),b.value||setTimeout(h,700)}),b.value=!0;let w=e=>{"Escape"===e.key&&X()};return Ye(()=>window.addEventListener("keydown",w)),Tt(()=>window.removeEventListener("keydown",w)),(t,e)=>{let a,n,r,s,u,d,v,c,p,f,m,g=Z("AutoFormFields"),h=Z("FormLoading"),b=Z("PrimaryButton"),w=Z("CloseButton"),k=Z("SecondaryButton"),C=Z("ModalLookup");return o(),i("div",null,[E.value?"card"==t.formStyle?(o(),i("div",{key:1,class:y(j.value)},[l("form",{ref_key:"elForm",ref:V,onSubmit:e[0]||(e[0]=Ue(e=>z(e.target),["prevent"])),autocomplete:"off",class:y(t.innerFormClass)},[l("div",{class:y(t.bodyClass)},[l("div",{class:y(t.headerClass)},[t.$slots.heading?(o(),i("div",z0,[U(t.$slots,"heading")])):(o(),i("h3",{key:1,class:y($.value)},F(R.value),3)),t.$slots.subheading?(o(),i("div",N0,[U(t.$slots,"subheading")])):t.subHeading?(o(),i("p",{key:3,class:y(B.value)},F(t.subHeading),3)):null!=(a=E.value)&&a.notes?(o(),i("p",{key:4,class:y(["notes",B.value]),innerHTML:null==(n=E.value)?void 0:n.notes},null,10,U0)):x("",!0)],2),U(t.$slots,"header",{instance:null==(r=Be())?void 0:r.exposed,model:H.value}),q0,(o(),ae(g,{ref_key:"formFields",ref:L,key:S.value,type:t.type,modelValue:H.value,"onUpdate:modelValue":N,api:A.value,configureField:t.configureField,configureFormLayout:t.configureFormLayout},null,8,["type","modelValue","api","configureField","configureFormLayout"])),U(t.$slots,"footer",{instance:null==(s=Be())?void 0:s.exposed,model:H.value})],2),U(t.$slots,"buttons",{},()=>{var e;return[l("div",{class:y(O.value)},[l("div",null,[U(t.$slots,"leftbuttons",{instance:null==(e=Be())?void 0:e.exposed,model:H.value})]),l("div",null,[t.showLoading&&P.value?(o(),ae(h,{key:0})):x("",!0)]),l("div",Q0,[K0,ye(b,{disabled:!!t.allowSubmit&&!t.allowSubmit(H.value)},{default:xe(()=>[ke(F(t.submitLabel),1)]),_:1},8,["disabled"]),U(t.$slots,"rightbuttons",{instance:null==(e=Be())?void 0:e.exposed,model:H.value})])],2)]})],34)],2)):(o(),i("div",Z0,[W0,l("div",G0,[l("div",{onMousedown:X,class:"absolute inset-0 overflow-hidden"},[l("div",{onMousedown:e[2]||(e[2]=Ue(()=>{},["stop"])),class:"pointer-events-none fixed inset-y-0 right-0 flex pl-10"},[l("div",{class:y(["pointer-events-auto w-screen xl:max-w-3xl md:max-w-xl max-w-lg",q.value])},[l("form",{ref_key:"elForm",ref:V,class:y(I.value),onSubmit:e[1]||(e[1]=Ue(e=>z(e.target),["prevent"]))},[l("div",J0,[l("div",X0,[l("div",Y0,[l("div",ef,[l("div",tf,[t.$slots.heading?(o(),i("div",sf,[U(t.$slots,"heading")])):(o(),i("h3",{key:1,class:y($.value)},F(R.value),3)),t.$slots.subheading?(o(),i("div",lf,[U(t.$slots,"subheading")])):t.subHeading?(o(),i("p",{key:3,class:y(B.value)},F(t.subHeading),3)):null!=(u=E.value)&&u.notes?(o(),i("p",{key:4,class:y(["notes",B.value]),innerHTML:null==(d=E.value)?void 0:d.notes},null,10,nf)):x("",!0)]),l("div",of,[ye(w,{"button-class":"bg-gray-50 dark:bg-gray-900",onClose:X})])])]),U(t.$slots,"header",{instance:null==(v=Be())?void 0:v.exposed,model:H.value}),(o(),ae(g,{ref_key:"formFields",ref:L,key:S.value,type:t.type,modelValue:H.value,"onUpdate:modelValue":N,api:A.value,configureField:t.configureField,configureFormLayout:t.configureFormLayout},null,8,["type","modelValue","api","configureField","configureFormLayout"])),U(t.$slots,"footer",{instance:null==(c=Be())?void 0:c.exposed,model:H.value})])]),l("div",{class:y(O.value)},[l("div",null,[U(t.$slots,"leftbuttons",{instance:null==(p=Be())?void 0:p.exposed,model:H.value})]),l("div",null,[t.showLoading&&P.value?(o(),ae(h,{key:0})):x("",!0)]),l("div",af,[ye(k,{onClick:X,disabled:P.value},{default:xe(()=>[ke("Cancel")]),_:1},8,["disabled"]),ye(b,{class:"ml-4",disabled:!!t.allowSubmit&&!t.allowSubmit(H.value)},{default:xe(()=>[ke(F(t.submitLabel),1)]),_:1},8,["disabled"]),U(t.$slots,"rightbuttons",{instance:null==(f=Be())?void 0:f.exposed,model:H.value})])],2)],34)],2)],32)],32)])])):(o(),i("div",H0,[l("p",R0,[ke("Could not create form for unknown "),E0,ke(" "+F(_.value),1)])])),"ModalLookup"==(null==(m=M.value)?void 0:m.name)&&M.value.ref?(o(),ae(C,{key:3,"ref-info":M.value.ref,onDone:T},null,8,["ref-info"])):x("",!0)])}}}),uf={key:0},df={class:"text-red-700"},cf=l("b",null,"type",-1),ff={key:0},vf={key:2},pf=["innerHTML"],mf={class:"flex justify-end"},hf={key:2,class:"relative z-10","aria-labelledby":"slide-over-title",role:"dialog","aria-modal":"true"},gf=l("div",{class:"fixed inset-0"},null,-1),yf={class:"fixed inset-0 overflow-hidden"},bf={class:"flex min-h-0 flex-1 flex-col overflow-auto"},wf={class:"flex-1"},kf={class:"bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6"},_f={class:"flex items-start justify-between space-x-3"},$f={class:"space-y-1"},Cf={key:0},xf={key:2},Lf=["innerHTML"],Vf={class:"flex h-7 items-center"},Mf={class:"flex justify-end"},Sf=de({__name:"AutoCreateForm",props:{type:{},formStyle:{default:"slideOver"},panelClass:{},formClass:{},headingClass:{},subHeadingClass:{},buttonsClass:{},heading:{},subHeading:{},autosave:{type:Boolean,default:!0},showLoading:{type:Boolean,default:!0},showCancel:{type:Boolean,default:!0},configureField:{},configureFormLayout:{}},emits:["done","save","error"],setup(e,{expose:t,emit:a}){let r=e,s=a,c=D(),p=D(1);function n(){p.value++,null!=(e=c.value)&&e.forceUpdate();var e=Be();null!=(e=null==e?void 0:e.proxy)&&e.$forceUpdate()}function f(e){}ss("ModalProvider",{openModal:function(e,l){m.value=e,u.value=l}});let m=D(),u=D();async function g(e){u.value&&u.value(e),m.value=void 0,u.value=void 0}let{typeOf:d,typeProperties:h,Crud:b,createDto:w,formValues:k}=lt(),C=v(()=>qt(r.type)),L=v(()=>d(C.value)),S=D("string"==typeof r.type?w(r.type):r.type?new r.type:null),V=(t({forceUpdate:n,props:r,setModel:function(e){Object.assign(S.value,e),n()},formFields:c,model:S}),v(()=>r.panelClass||Ee.panelClass(r.formStyle))),M=v(()=>r.formClass||Ee.formClass(r.formStyle)),T=v(()=>r.headingClass||Ee.headingClass(r.formStyle)),A=v(()=>r.subHeadingClass||Ee.subHeadingClass(r.formStyle)),j=v(()=>r.buttonsClass||Ee.buttonsClass),I=v(()=>b.model(L.value)),$=v(()=>{var e;return r.heading||(null==(e=d(C.value))?void 0:e.description)||(I.value?"New "+Pe(I.value):Pe(C.value))}),B=D(new Xe),O=Os(),_=v(()=>O.loading.value);async function E(e){var l,t,a,n=e.target;r.autosave?(t=Ke(null==(t=S.value)?void 0:t.getMethod,e=>"function"==typeof e?e():null)||"POST",l=null==Ke(null==(l=S.value)?void 0:l.createResponse,e=>"function"==typeof e?e():null),il.hasRequestBody(t)?(t=new S.value.constructor,a=new FormData(n),B.value=l?await O.apiFormVoid(t,a,{jsconfig:"eccn"}):await O.apiForm(t,a,{jsconfig:"eccn"})):(t=k(n,h(L.value)),a=new S.value.constructor(t),B.value=l?await O.apiVoid(a,{jsconfig:"eccn"}):await O.api(a,{jsconfig:"eccn"})),B.value.succeeded?(n.reset(),s("save",B.value.response)):s("error",B.value.error)):s("save",new S.value.constructor(k(n,h(L.value))))}function H(){s("done")}Y.interceptors.has("AutoCreateForm.new")&&Y.interceptors.invoke("AutoCreateForm.new",{props:r,model:S});let P=D(!1),R=D(""),q={entering:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-full",to:"translate-x-0"},leaving:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-0",to:"translate-x-full"}};function z(){"slideOver"==r.formStyle?P.value=!1:H()}yt(P,()=>{gt(q,R,P.value),P.value||setTimeout(H,700)}),P.value=!0;let N=e=>{"Escape"===e.key&&z()};return Ye(()=>window.addEventListener("keydown",N)),Tt(()=>window.removeEventListener("keydown",N)),(e,t)=>{var a,n=Z("AutoFormFields"),r=Z("FormLoading"),s=Z("SecondaryButton"),u=Z("PrimaryButton"),d=Z("CloseButton"),v=Z("ModalLookup");return o(),i("div",null,[L.value?"card"==e.formStyle?(o(),i("div",{key:1,class:y(V.value)},[l("form",{onSubmit:Ue(E,["prevent"])},[l("div",{class:y(M.value)},[l("div",null,[e.$slots.heading?(o(),i("div",ff,[U(e.$slots,"heading")])):(o(),i("h3",{key:1,class:y(T.value)},F($.value),3)),e.$slots.subheading?(o(),i("div",vf,[U(e.$slots,"subheading")])):e.subHeading?(o(),i("p",{key:3,class:y(A.value)},F(e.subHeading),3)):null!=(a=L.value)&&a.notes?(o(),i("p",{key:4,class:y(["notes",A.value]),innerHTML:null==(a=L.value)?void 0:a.notes},null,10,pf)):x("",!0)]),U(e.$slots,"header",{formInstance:null==(a=Be())?void 0:a.exposed,model:S.value}),(o(),ae(n,{ref_key:"formFields",ref:c,key:p.value,modelValue:S.value,"onUpdate:modelValue":f,api:B.value,configureField:e.configureField,configureFormLayout:e.configureFormLayout},null,8,["modelValue","api","configureField","configureFormLayout"])),U(e.$slots,"footer",{formInstance:null==(a=Be())?void 0:a.exposed,model:S.value})],2),l("div",{class:y(j.value)},[l("div",null,[e.showLoading&&X(_)?(o(),ae(r,{key:0})):x("",!0)]),l("div",mf,[e.showCancel?(o(),ae(s,{key:0,onClick:z,disabled:X(_)},{default:xe(()=>[ke("Cancel")]),_:1},8,["disabled"])):x("",!0),ye(u,{type:"submit",class:"ml-4",disabled:X(_)},{default:xe(()=>[ke("Save")]),_:1},8,["disabled"])])],2)],32)],2)):(o(),i("div",hf,[gf,l("div",yf,[l("div",{onMousedown:z,class:"absolute inset-0 overflow-hidden"},[l("div",{onMousedown:t[0]||(t[0]=Ue(()=>{},["stop"])),class:"pointer-events-none fixed inset-y-0 right-0 flex pl-10"},[l("div",{class:y(["pointer-events-auto w-screen xl:max-w-3xl md:max-w-xl max-w-lg",R.value])},[l("form",{class:y(M.value),onSubmit:Ue(E,["prevent"])},[l("div",bf,[l("div",wf,[l("div",kf,[l("div",_f,[l("div",$f,[e.$slots.heading?(o(),i("div",Cf,[U(e.$slots,"heading")])):(o(),i("h3",{key:1,class:y(T.value)},F($.value),3)),e.$slots.subheading?(o(),i("div",xf,[U(e.$slots,"subheading")])):e.subHeading?(o(),i("p",{key:3,class:y(A.value)},F(e.subHeading),3)):null!=(a=L.value)&&a.notes?(o(),i("p",{key:4,class:y(["notes",A.value]),innerHTML:null==(a=L.value)?void 0:a.notes},null,10,Lf)):x("",!0)]),l("div",Vf,[ye(d,{"button-class":"bg-gray-50 dark:bg-gray-900",onClose:z})])])]),U(e.$slots,"header",{formInstance:null==(a=Be())?void 0:a.exposed,model:S.value}),(o(),ae(n,{ref_key:"formFields",ref:c,key:p.value,modelValue:S.value,"onUpdate:modelValue":f,api:B.value,configureField:e.configureField,configureFormLayout:e.configureFormLayout},null,8,["modelValue","api","configureField","configureFormLayout"])),U(e.$slots,"footer",{formInstance:null==(d=Be())?void 0:d.exposed,model:S.value})])]),l("div",{class:y(j.value)},[l("div",null,[e.showLoading&&X(_)?(o(),ae(r,{key:0})):x("",!0)]),l("div",Mf,[e.showCancel?(o(),ae(s,{key:0,onClick:z,disabled:X(_)},{default:xe(()=>[ke("Cancel")]),_:1},8,["disabled"])):x("",!0),ye(u,{type:"submit",class:"ml-4",disabled:X(_)},{default:xe(()=>[ke("Save")]),_:1},8,["disabled"])])],2)],34)],2)],32)],32)])])):(o(),i("div",uf,[l("p",df,[ke("Could not create form for unknown "),cf,ke(" "+F(C.value),1)])])),"ModalLookup"==(null==(a=m.value)?void 0:a.name)&&m.value.ref?(o(),ae(v,{key:3,"ref-info":m.value.ref,onDone:g},null,8,["ref-info"])):x("",!0)])}}}),Af={key:0},Tf={class:"text-red-700"},Ff=l("b",null,"type",-1),If={key:0},jf={key:2},Df=["innerHTML"],Of={class:"flex justify-end"},Pf={key:2,class:"relative z-10","aria-labelledby":"slide-over-title",role:"dialog","aria-modal":"true"},Bf=l("div",{class:"fixed inset-0"},null,-1),Hf={class:"fixed inset-0 overflow-hidden"},Rf={class:"flex min-h-0 flex-1 flex-col overflow-auto"},Ef={class:"flex-1"},zf={class:"bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6"},Nf={class:"flex items-start justify-between space-x-3"},Uf={class:"space-y-1"},qf={key:0},Qf={key:2},Kf=["innerHTML"],Zf={class:"flex h-7 items-center"},Wf={class:"flex justify-end"},Gf=de({__name:"AutoEditForm",props:{modelValue:{},type:{},deleteType:{},formStyle:{default:"slideOver"},panelClass:{},formClass:{},headingClass:{},subHeadingClass:{},heading:{},subHeading:{},autosave:{type:Boolean,default:!0},showLoading:{type:Boolean,default:!0},configureField:{},configureFormLayout:{}},emits:["done","save","delete","error"],setup(e,{expose:t,emit:a}){let r=e,s=a,p=D(),f=D(1);function m(e){}ss("ModalProvider",{openModal:function(e,l){g.value=e,n.value=l}});let g=D(),n=D();async function q(e){n.value&&n.value(e),g.value=void 0,n.value=void 0}let{typeOf:u,apiOf:Q,typeProperties:c,createFormLayout:G,getPrimaryKey:K,Crud:h,createDto:d,formValues:b}=lt(),w=v(()=>qt(r.type)),k=v(()=>u(w.value)),C=()=>"string"==typeof r.type?d(r.type,ys(r.modelValue)):r.type?new r.type(ys(r.modelValue)):null,L=D(C()),W=(t({forceUpdate:function(){f.value++,L.value=C();var e=Be();null!=(e=null==e?void 0:e.proxy)&&e.$forceUpdate()},props:r,setModel:function(e){Object.assign(L.value,e)},formFields:p,model:L}),v(()=>r.panelClass||Ee.panelClass(r.formStyle))),S=v(()=>r.formClass||Ee.formClass(r.formStyle)),V=v(()=>r.headingClass||Ee.headingClass(r.formStyle)),M=v(()=>r.subHeadingClass||Ee.subHeadingClass(r.formStyle)),T=v(()=>h.model(k.value)),A=v(()=>{var e;return r.heading||(null==(e=u(w.value))?void 0:e.description)||(T.value?"Update "+Pe(T.value):Pe(w.value))}),j=D(new Xe),I=Object.assign({},ys(r.modelValue)),$=(Y.interceptors.has("AutoEditForm.new")&&Y.interceptors.invoke("AutoEditForm.new",{props:r,model:L,origModel:I}),Os()),B=v(()=>$.loading.value),O=()=>Ke(u(h.model(k.value)),e=>K(e));function J(e){var{op:l,prop:t}=e;l&&(h.isPatch(l)||h.isUpdate(l))&&(e.disabled=null==t?void 0:t.isPrimaryKey),r.configureField&&r.configureField(e)}async function _(e){var a=e.target;if(r.autosave){let e=Ke(null==(n=L.value)?void 0:n.getMethod,e=>"function"==typeof e?e():null)||"POST",t=null==Ke(null==(n=L.value)?void 0:n.createResponse,e=>"function"==typeof e?e():null),d=O();if(il.hasRequestBody(e)){let e=new L.value.constructor,l=_e(r.modelValue,d.name),i=new FormData(a),u=(d&&!Array.from(i.keys()).some(e=>e.toLowerCase()==d.name.toLowerCase())&&i.append(d.name,l),[]);var n=w.value&&Q(w.value);if(n&&h.isPatch(n)){let s=G(k.value),o={};if(d&&(o[d.name]=l),s.forEach(t=>{var a=t.id,n=_e(I,a);if(!d||d.name.toLowerCase()!==a.toLowerCase()){var r=i.get(a);Y.interceptors.has("AutoEditForm.save.formLayout")&&Y.interceptors.invoke("AutoEditForm.save.formLayout",{origValue:n,formLayout:s,input:t,newValue:r});let e=null!=r,l="checkbox"===t.type?e!=!!n:"file"===t.type?e:r!=n;(l=r||n?l:!1)&&(r?o[a]=r:"file"!==t.type&&u.push(a))}}),Y.interceptors.has("AutoEditForm.save")&&Y.interceptors.invoke("AutoEditForm.save",{origModel:I,formLayout:s,dirtyValues:o}),Array.from(i.keys()).filter(e=>!o[e]).forEach(e=>i.delete(e)),0==Array.from(i.keys()).filter(e=>e.toLowerCase()!=d.name.toLowerCase()).length&&0==u.length)return void z()}n=0"function"==typeof e?e():null)?j.value=await $.apiVoid(t):j.value=await $.api(t),j.value.succeeded?s("delete",j.value.response):s("error",j.value.error)):console.error(`Could not find Primary Key for Type ${w.value} (${T.value})`)}function H(){s("done")}let P=D(!1),R=D(""),ee={entering:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-full",to:"translate-x-0"},leaving:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-0",to:"translate-x-full"}};function z(){"slideOver"==r.formStyle?P.value=!1:H()}yt(P,()=>{gt(ee,R,P.value),P.value||setTimeout(H,700)}),P.value=!0;let N=e=>{"Escape"===e.key&&z()};return Ye(()=>window.addEventListener("keydown",N)),Tt(()=>window.removeEventListener("keydown",N)),(e,t)=>{var a,n=Z("AutoFormFields"),r=Z("ConfirmDelete"),s=Z("FormLoading"),u=Z("SecondaryButton"),d=Z("PrimaryButton"),v=Z("CloseButton"),c=Z("ModalLookup");return o(),i("div",null,[k.value?"card"==e.formStyle?(o(),i("div",{key:1,class:y(W.value)},[l("form",{onSubmit:Ue(_,["prevent"])},[l("div",{class:y(S.value)},[l("div",null,[e.$slots.heading?(o(),i("div",If,[U(e.$slots,"heading")])):(o(),i("h3",{key:1,class:y(V.value)},F(A.value),3)),e.$slots.subheading?(o(),i("div",jf,[U(e.$slots,"subheading")])):e.subHeading?(o(),i("p",{key:3,class:y(M.value)},F(e.subHeading),3)):null!=(a=k.value)&&a.notes?(o(),i("p",{key:4,class:y(["notes",M.value]),innerHTML:null==(a=k.value)?void 0:a.notes},null,10,Df)):x("",!0)]),U(e.$slots,"header",{formInstance:null==(a=Be())?void 0:a.exposed,model:L.value}),(o(),ae(n,{ref_key:"formFields",ref:p,key:f.value,modelValue:L.value,"onUpdate:modelValue":m,api:j.value,configureField:e.configureField,configureFormLayout:e.configureFormLayout},null,8,["modelValue","api","configureField","configureFormLayout"])),U(e.$slots,"footer",{formInstance:null==(a=Be())?void 0:a.exposed,model:L.value})],2),l("div",{class:y(X(Ee).buttonsClass)},[l("div",null,[e.deleteType?(o(),ae(r,{key:0,onDelete:E})):x("",!0)]),l("div",null,[e.showLoading&&X(B)?(o(),ae(s,{key:0})):x("",!0)]),l("div",Of,[ye(u,{onClick:z,disabled:X(B)},{default:xe(()=>[ke("Cancel")]),_:1},8,["disabled"]),ye(d,{type:"submit",class:"ml-4",disabled:X(B)},{default:xe(()=>[ke("Save")]),_:1},8,["disabled"])])],2)],32)],2)):(o(),i("div",Pf,[Bf,l("div",Hf,[l("div",{onMousedown:z,class:"absolute inset-0 overflow-hidden"},[l("div",{onMousedown:t[0]||(t[0]=Ue(()=>{},["stop"])),class:"pointer-events-none fixed inset-y-0 right-0 flex pl-10"},[l("div",{class:y(["pointer-events-auto w-screen xl:max-w-3xl md:max-w-xl max-w-lg",R.value])},[l("form",{class:y(S.value),onSubmit:Ue(_,["prevent"])},[l("div",Rf,[l("div",Ef,[l("div",zf,[l("div",Nf,[l("div",Uf,[e.$slots.heading?(o(),i("div",qf,[U(e.$slots,"heading")])):(o(),i("h3",{key:1,class:y(V.value)},F(A.value),3)),e.$slots.subheading?(o(),i("div",Qf,[U(e.$slots,"subheading")])):e.subHeading?(o(),i("p",{key:3,class:y(M.value)},F(e.subHeading),3)):null!=(a=k.value)&&a.notes?(o(),i("p",{key:4,class:y(["notes",M.value]),innerHTML:null==(a=k.value)?void 0:a.notes},null,10,Kf)):x("",!0)]),l("div",Zf,[ye(v,{"button-class":"bg-gray-50 dark:bg-gray-900",onClose:z})])])]),U(e.$slots,"header",{formInstance:null==(a=Be())?void 0:a.exposed,model:L.value}),(o(),ae(n,{ref_key:"formFields",ref:p,key:f.value,modelValue:L.value,"onUpdate:modelValue":m,api:j.value,configureField:J,configureFormLayout:e.configureFormLayout},null,8,["modelValue","api","configureFormLayout"])),U(e.$slots,"footer",{formInstance:null==(v=Be())?void 0:v.exposed,model:L.value})])]),l("div",{class:y(X(Ee).buttonsClass)},[l("div",null,[e.deleteType?(o(),ae(r,{key:0,onDelete:E})):x("",!0)]),l("div",null,[e.showLoading&&X(B)?(o(),ae(s,{key:0})):x("",!0)]),l("div",Wf,[ye(u,{onClick:z,disabled:X(B)},{default:xe(()=>[ke("Cancel")]),_:1},8,["disabled"]),ye(d,{type:"submit",class:"ml-4",disabled:X(B)},{default:xe(()=>[ke("Save")]),_:1},8,["disabled"])])],2)],34)],2)],32)],32)])])):(o(),i("div",Af,[l("p",Tf,[ke("Could not create form for unknown "),Ff,ke(" "+F(w.value),1)])])),"ModalLookup"==(null==(a=g.value)?void 0:a.name)&&g.value.ref?(o(),ae(c,{key:3,"ref-info":g.value.ref,onDone:q},null,8,["ref-info"])):x("",!0)])}}}),Jf={key:0},Xf={class:"text-red-700"},Yf=l("b",null,"type",-1),ev={key:0},tv={key:2},sv=["innerHTML"],lv={key:2,class:"relative z-10","aria-labelledby":"slide-over-title",role:"dialog","aria-modal":"true"},nv=l("div",{class:"fixed inset-0"},null,-1),ov={class:"fixed inset-0 overflow-hidden"},av={class:"flex min-h-0 flex-1 flex-col overflow-auto"},rv={class:"flex-1"},iv={class:"bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6"},uv={class:"flex items-start justify-between space-x-3"},dv={class:"space-y-1"},cv={key:0},fv={key:2},vv=["innerHTML"],pv={class:"flex h-7 items-center"},mv=de({__name:"AutoViewForm",props:{model:{},apis:{},typeName:{},done:{},formStyle:{default:"slideOver"},panelClass:{},formClass:{},headingClass:{},subHeadingClass:{},heading:{},subHeading:{}},emits:["done"],setup(e,{}){let t=e,a=lt().typeOf,s=v(()=>t.typeName??t.apis.dataModel.name),u=v(()=>a(s.value)),d=v(()=>t.panelClass||Ee.panelClass(t.formStyle)),c=v(()=>t.formClass||Ee.formClass(t.formStyle)),p=v(()=>t.headingClass||Ee.headingClass(t.formStyle)),f=v(()=>t.subHeadingClass||Ee.subHeadingClass(t.formStyle)),m=v(()=>{var e;return t.heading||(null==(e=a(s.value))?void 0:e.description)||(null!=(e=t.model)&&e.id?Pe(s.value)+" "+t.model.id:"View "+Pe(s.value))});function n(){t.done&&t.done()}Y.interceptors.has("AutoViewForm.new")&&Y.interceptors.invoke("AutoViewForm.new",{props:t});let r=D(!1),g=D(""),h={entering:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-full",to:"translate-x-0"},leaving:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-0",to:"translate-x-full"}};function b(){"slideOver"==t.formStyle?r.value=!1:n()}yt(r,()=>{gt(h,g,r.value),r.value||setTimeout(n,700)}),r.value=!0;let w=e=>{"Escape"===e.key&&b()};return Ye(()=>window.addEventListener("keydown",w)),Tt(()=>window.removeEventListener("keydown",w)),(e,t)=>{var a,n=Z("MarkupModel"),r=Z("CloseButton");return o(),i("div",null,[s.value?"card"==e.formStyle?(o(),i("div",{key:1,class:y(d.value)},[l("div",{class:y(c.value)},[l("div",null,[e.$slots.heading?(o(),i("div",ev,[U(e.$slots,"heading")])):(o(),i("h3",{key:1,class:y(p.value)},F(m.value),3)),e.$slots.subheading?(o(),i("div",tv,[U(e.$slots,"subheading")])):e.subHeading?(o(),i("p",{key:3,class:y(f.value)},F(e.subHeading),3)):null!=(a=u.value)&&a.notes?(o(),i("p",{key:4,class:y(["notes",f.value]),innerHTML:null==(a=u.value)?void 0:a.notes},null,10,sv)):x("",!0)]),ye(n,{value:e.model},null,8,["value"])],2)],2)):(o(),i("div",lv,[nv,l("div",ov,[l("div",{onMousedown:b,class:"absolute inset-0 overflow-hidden"},[l("div",{onMousedown:t[0]||(t[0]=Ue(()=>{},["stop"])),class:"pointer-events-none fixed inset-y-0 right-0 flex pl-10"},[l("div",{class:y(["pointer-events-auto w-screen xl:max-w-3xl md:max-w-xl max-w-lg",g.value])},[l("div",{class:y(c.value)},[l("div",av,[l("div",rv,[l("div",iv,[l("div",uv,[l("div",dv,[e.$slots.heading?(o(),i("div",cv,[U(e.$slots,"heading")])):(o(),i("h3",{key:1,class:y(p.value)},F(m.value),3)),e.$slots.subheading?(o(),i("div",fv,[U(e.$slots,"subheading")])):e.subHeading?(o(),i("p",{key:3,class:y(f.value)},F(e.subHeading),3)):null!=(a=u.value)&&a.notes?(o(),i("p",{key:4,class:y(["notes",f.value]),innerHTML:null==(a=u.value)?void 0:a.notes},null,10,vv)):x("",!0)]),l("div",pv,[ye(r,{"button-class":"bg-gray-50 dark:bg-gray-900",onClose:b})])])]),ye(n,{value:e.model},null,8,["value"])])])],2)],2)],32)],32)])])):(o(),i("div",Jf,[l("p",Xf,[ke("Could not create view for unknown "),Yf,ke(" "+F(s.value),1)])]))])}}}),hv=l("label",{for:"confirmDelete",class:"ml-2 mr-2 select-none"},"confirm",-1),gv=de({__name:"ConfirmDelete",emits:["delete"],setup(e,{emit:t}){let a=D(!1),n=t,r=()=>{a.value&&n("delete")},s=v(()=>["select-none inline-flex justify-center py-2 px-4 border border-transparent shadow-sm text-sm font-medium rounded-md text-white",a.value?"cursor-pointer bg-red-600 hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500":"bg-red-400"]);return(e,t)=>(o(),i(Se,null,[Mt(l("input",{id:"confirmDelete",type:"checkbox",class:"focus:ring-indigo-500 h-4 w-4 text-indigo-600 rounded border-gray-300 dark:border-gray-600 dark:bg-gray-800 dark:ring-offset-black","onUpdate:modelValue":t[0]||(t[0]=e=>nn(a)?a.value=e:a=e)},null,512),[[ol,X(a)]]),hv,l("span",Te({onClick:Ue(r,["prevent"]),class:s.value},e.$attrs),[U(e.$slots,"default",{},()=>[ke("Delete")])],16)],64))}}),yv={class:"flex",title:"loading..."},bv={key:0,xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",width:"24px",height:"30px",viewBox:"0 0 24 30"},wv=xs('',3),kv=[wv],_v={class:"ml-2 mt-1 text-gray-400"},$v=de({__name:"FormLoading",props:{icon:{type:Boolean,default:!0},text:{default:"loading..."}},setup(e){return Qe("ApiState",void 0),(e,t)=>(o(),i("div",yv,[e.icon?(o(),i("svg",bv,kv)):x("",!0),l("span",_v,F(e.text),1)]))}}),Cv=["onClick"],xv={key:3,class:"flex justify-between items-center"},Lv={class:"mr-1 select-none"},Vv=["onClick"],Mv=de({__name:"DataGrid",props:{items:{default:()=>[]},id:{default:"DataGrid"},type:{},tableStyle:{default:"stripedRows"},selectedColumns:{},gridClass:{},grid2Class:{},grid3Class:{},grid4Class:{},tableClass:{},theadClass:{},tbodyClass:{},theadRowClass:{},theadCellClass:{},isSelected:{},headerTitle:{},headerTitles:{},visibleFrom:{},rowClass:{},rowStyle:{}},emits:["headerSelected","rowSelected"],setup(e,{emit:t}){let u=e,d=t,a=D(),c=D(null),p=al(),f=l=>Object.keys(p).find(e=>e.toLowerCase()==l.toLowerCase()+"-header"),m=l=>Object.keys(p).find(e=>e.toLowerCase()==l.toLowerCase()),n=v(()=>Ws(u.items).filter(e=>!(!p[e]&&!p[e+"-header"]))),{typeOf:r,typeProperties:s}=lt(),g=v(()=>qt(u.type)),h=v(()=>r(g.value)),b=v(()=>s(h.value));function w(e){var l=u.headerTitles&&_e(u.headerTitles,e)||e;return u.headerTitle?u.headerTitle(l):fn(l)}function k(e){let l=e.toLowerCase();return b.value.find(e=>e.name.toLowerCase()==l)}let C={xs:"xs:table-cell",sm:"sm:table-cell",md:"md:table-cell",lg:"lg:table-cell",xl:"xl:table-cell","2xl":"2xl:table-cell",never:""};function L(e){var l=u.visibleFrom&&_e(u.visibleFrom,e);return l&&Ke(C[l],e=>"hidden "+e)}let S=v(()=>u.gridClass??he.getGridClass(u.tableStyle)),V=v(()=>u.grid2Class??he.getGrid2Class(u.tableStyle)),M=v(()=>u.grid3Class??he.getGrid3Class(u.tableStyle)),T=v(()=>u.grid4Class??he.getGrid4Class(u.tableStyle)),A=v(()=>u.tableClass??he.getTableClass(u.tableStyle)),j=v(()=>u.tbodyClass??he.getTbodyClass(u.tbodyClass)),I=v(()=>u.theadClass??he.getTheadClass(u.tableStyle)),$=v(()=>u.theadRowClass??he.getTheadRowClass(u.tableStyle)),B=v(()=>u.theadCellClass??he.getTheadCellClass(u.tableStyle));let O=v(()=>{let e=("string"==typeof u.selectedColumns?u.selectedColumns.split(","):u.selectedColumns)||(0(e[l.name.toLowerCase()]=l.format,e),{});return e.filter(e=>{var l;return"hidden"!=(null==(l=t[e.toLowerCase()])?void 0:l.method)})});return(n,e)=>{let r=Z("CellFormat"),s=Z("PreviewFormat");return n.items.length?(o(),i("div",{key:0,ref_key:"refResults",ref:a,class:y(S.value)},[l("div",{class:y(V.value)},[l("div",{class:y(M.value)},[l("div",{class:y(T.value)},[l("table",{class:y(A.value)},[l("thead",{class:y(I.value)},[l("tr",{class:y($.value)},[(o(!0),i(Se,null,je(O.value,t=>{return o(),i("td",{class:y([L(t),B.value,(e=t,c.value===e?"text-gray-900 dark:text-gray-50":"text-gray-500 dark:text-gray-400")])},[l("div",{onClick:e=>{var l;e=e,l=t,d("headerSelected",l,e)}},[X(p)[t+"-header"]?U(n.$slots,t+"-header",{key:0,column:t}):f(t)?U(n.$slots,f(t),{key:1,column:t}):X(p).header?U(n.$slots,"header",{key:2,column:t,label:w(t)}):(o(),i("div",xv,[l("span",Lv,F(w(t)),1)]))],8,Cv)],2);var e}),256))],2)],2),l("tbody",{class:y(j.value)},[(o(!0),i(Se,null,je(n.items,(t,e)=>{return o(),i("tr",{class:y((l=t,a=e,u.rowClass?u.rowClass(l,a):he.getTableRowClass(u.tableStyle,a,!(!u.isSelected||!u.isSelected(l)),null!=u.isSelected))),style:nl((a=t,l=e,u.rowStyle?u.rowStyle(a,l):void 0)),onClick:e=>{var l;e=e,l=t,d("rowSelected",l,e)}},[(o(!0),i(Se,null,je(O.value,e=>{return o(),i("td",{class:y([L(e),X(he).tableCellClass])},[X(p)[e]?U(n.$slots,e,Rt(Te({key:0},t))):m(e)?U(n.$slots,m(e),Rt(Te({key:1},t))):k(e)?(o(),ae(r,{key:2,type:h.value,propType:k(e),modelValue:t},null,8,["type","propType","modelValue"])):(o(),ae(s,{key:3,value:X(_e)(t,e),format:null!=(l=k(e))&&l.format?l.format:"TimeSpan"==(null==l?void 0:l.type)||"TimeOnly"==(null==l?void 0:l.type)?{method:"time"}:null},null,8,["value","format"]))],2);var l}),256))],14,Vv);var l,a}),256))],2)],2)],2)],2)],2)],2)):x("",!0)}}}),Sv=de({props:{type:Object,propType:Object,modelValue:Object},setup(d,{attrs:v}){let c=lt().typeOf;return()=>{let e,l=null!=(o=d.propType)&&o.format?o.format:"TimeSpan"==(null==o?void 0:o.type)||"TimeOnly"==(null==o?void 0:o.type)?{method:"time"}:null,t=_e(d.modelValue,d.propType.name),a=Object.assign({},d,v),n=_t("span",{innerHTML:ts(t,l,a)}),r=Xt(t)&&Array.isArray(t)?_t("span",{},[_t("span",{class:"mr-2"},""+t.length),n]):n,s=null==(e=d.propType)?void 0:e.ref;var o,i,u;return s&&(i=st(d.type).find(e=>e.type===s.model))&&(i=(i=_e(d.modelValue,i.name))&&s.refLabel&&_e(i,s.refLabel))?(u=(u=null==(u=c(s.model))?void 0:u.icon)?_t(Yn,{image:u,class:"w-5 h-5 mr-1"}):null,_t("span",{class:"flex",title:s.model+" "+t},[u,i])):r}}}),Av={key:0},Tv={key:0,class:"mr-2"},Fv=["innerHTML"],Iv=["innerHTML"],jv={inheritAttrs:!1},Dv=de({...jv,__name:"PreviewFormat",props:{value:{},format:{},includeIcon:{type:Boolean,default:!0},includeCount:{type:Boolean,default:!0},maxFieldLength:{default:150},maxNestedFields:{default:2},maxNestedFieldLength:{default:30}},setup(e){let t=e,a=v(()=>Array.isArray(t.value));return(e,t)=>X(Xt)(e.value)?(o(),i("span",Av,[e.includeCount&&a.value?(o(),i("span",Tv,F(e.value.length),1)):x("",!0),l("span",{innerHTML:X(ts)(e.value,e.format,e.$attrs)},null,8,Fv)])):(o(),i("span",{key:1,innerHTML:X(ts)(e.value,e.format,e.$attrs)},null,8,Iv))}}),Ov=["innerHTML"],Pv={key:0},Bv=l("b",null,null,-1),Hv={key:2},Rv=de({__name:"HtmlFormat",props:{value:{},depth:{default:0},fieldAttrs:{},classes:{type:Function,default:(e,l,t,a,n)=>a}},setup(e){let t=e,r=v(()=>At(t.value)),s=v(()=>Array.isArray(t.value)),u=e=>fn(e),d=e=>t.fieldAttrs?t.fieldAttrs(e):null,c=v(()=>Ws(t.value));return(t,e)=>{let a=Z("HtmlFormat",!0);return o(),i("div",{class:y(0==t.depth?"prose html-format":"")},[r.value?(o(),i("div",{key:0,innerHTML:X(ts)(t.value)},null,8,Ov)):s.value?(o(),i("div",{key:1,class:y(t.classes("array","div",t.depth,X(he).gridClass))},[X(At)(t.value[0])?(o(),i("div",Pv,"[ "+F(t.value.join(", "))+" ]",1)):(o(),i("div",{key:1,class:y(t.classes("array","div",t.depth,X(he).grid2Class))},[l("div",{class:y(t.classes("array","div",t.depth,X(he).grid3Class))},[l("div",{class:y(t.classes("array","div",t.depth,X(he).grid4Class))},[l("table",{class:y(t.classes("object","table",t.depth,X(he).tableClass))},[l("thead",{class:y(t.classes("array","thead",t.depth,X(he).theadClass))},[l("tr",null,[(o(!0),i(Se,null,je(c.value,e=>(o(),i("th",{class:y(t.classes("array","th",t.depth,X(he).theadCellClass+" whitespace-nowrap"))},[Bv,ke(F(u(e)),1)],2))),256))])],2),l("tbody",null,[(o(!0),i(Se,null,je(t.value,(l,e)=>(o(),i("tr",{class:y(t.classes("array","tr",t.depth,e%2==0?"bg-white":"bg-gray-50",e))},[(o(!0),i(Se,null,je(c.value,e=>(o(),i("td",{class:y(t.classes("array","td",t.depth,X(he).tableCellClass))},[ye(a,Te({value:l[e],"field-attrs":t.fieldAttrs,depth:t.depth+1,classes:t.classes},d(e)),null,16,["value","field-attrs","depth","classes"])],2))),256))],2))),256))])],2)],2)],2)],2))],2)):(o(),i("div",Hv,[l("table",{class:y(t.classes("object","table",t.depth,"table-object"))},[(o(!0),i(Se,null,je((n=t.value)?Object.keys(n).map(e=>({key:u(e),val:n[e]})):[],e=>(o(),i("tr",{class:y(t.classes("object","tr",t.depth,""))},[l("th",{class:y(t.classes("object","th",t.depth,"align-top py-2 px-4 text-left text-sm font-medium tracking-wider whitespace-nowrap"))},F(e.key),3),l("td",{class:y(t.classes("object","td",t.depth,"align-top py-2 px-4 text-sm"))},[ye(a,Te({value:e.val,"field-attrs":t.fieldAttrs,depth:t.depth+1,classes:t.classes},d(e.key)),null,16,["value","field-attrs","depth","classes"])],2)],2))),256))],2)]))],2);var n}}}),Ev=["href"],zv=["href","title"],Nv=de({__name:"MarkupFormat",props:{value:{},imageClass:{default:"w-8 h-8"}},setup(e){var l=e,t=Ca().getMimeType,a=l.value;let n=typeof l.value;l="string"===n&&a.length?t(a):null;return"string"===n&&a.length&&(((t=a.startsWith("https://")||a.startsWith("http://"))||"/"===a[0])&&null!=l&&l.startsWith("image/")?n="image":t&&(n="link")),(e,l)=>{var t=Z("Icon"),a=Z("HtmlFormat");return"link"==X(n)?(o(),i("a",{key:0,href:e.value,class:"text-indigo-600"},F(e.value),9,Ev)):"image"==X(n)?(o(),i("a",{key:1,href:e.value,title:e.value,class:"inline-block"},[ye(t,{src:e.value,class:y(e.imageClass)},null,8,["src","class"])],8,zv)):(o(),ae(a,{key:2,value:e.value},null,8,["value"]))}}}),Uv={class:"my-2 w-full"},qv={class:"leading-7"},Qv={class:"px-2 text-left align-top"},Kv={colspan:"align-top"},Zv={class:"my-2 leading-7"},Wv={colspan:"2",class:"px-2 bg-indigo-700 text-white"},Gv={class:"leading-7"},Jv={colspan:"2",class:"px-2 align-top"},Xv=de({__name:"MarkupModel",props:{value:{},imageClass:{}},setup(e){let a=e,t=Object.keys(a.value),n={},r={};return t.forEach(e=>{var l=a.value[e],t=typeof l;null==l||"function"==t||"symbol"==t?n[e]=`(${null==l?"null":"t"})`:"object"==t?r[e]=l:n[e]=l}),(e,t)=>{let a=Z("MarkupFormat");return o(),i("table",Uv,[(o(),i(Se,null,je(n,(e,t)=>l("tr",qv,[l("th",Qv,F(X(Pe)(t)),1),l("td",Kv,[ye(a,{value:e},null,8,["value"])])])),64)),(o(),i(Se,null,je(r,(e,t)=>(o(),i(Se,null,[l("tr",Zv,[l("td",Wv,F(X(Pe)(t)),1)]),l("tr",Gv,[l("td",Jv,[ye(a,{value:e},null,8,["value"])])])],64))),64))])}}}),Yv={class:"absolute top-0 right-0 pt-4 pr-4"},ep=l("span",{class:"sr-only"},"Close",-1),tp=l("svg",{class:"h-6 w-6",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","aria-hidden":"true"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1),sp=[ep,tp],lp=de({__name:"CloseButton",props:{buttonClass:{default:"bg-white dark:bg-black"}},emits:["close"],setup(e,{}){return(t,e)=>(o(),i("div",Yv,[l("button",{type:"button",onClick:e[0]||(e[0]=e=>t.$emit("close")),class:y([t.buttonClass,"rounded-md text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 dark:ring-offset-black"])},sp,2)]))}}),np=["id","aria-labelledby"],op=l("div",{class:"fixed inset-0"},null,-1),ap={class:"fixed inset-0 overflow-hidden"},rp={class:"flex h-full flex-col bg-white dark:bg-black shadow-xl"},ip={class:"flex min-h-0 flex-1 flex-col overflow-auto"},up={class:"flex-1"},dp={class:"relative bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6"},cp={class:"flex items-start justify-between space-x-3"},fp={class:"space-y-1"},vp={key:0},pp=["id"],mp={key:2,class:"text-sm text-gray-500"},hp={class:"flex h-7 items-center"},gp={key:0,class:"flex-shrink-0 border-t border-gray-200 dark:border-gray-700 px-4 py-5 sm:px-6"},yp=de({__name:"SlideOver",props:{id:{default:"SlideOver"},title:{},contentClass:{default:"relative mt-6 flex-1 px-4 sm:px-6"}},emits:["done"],setup(e,{emit:t}){let a=t,n=D(!1),r=D(""),s={entering:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-full",to:"translate-x-0"},leaving:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-0",to:"translate-x-full"}},u=(yt(n,()=>{gt(s,r,n.value),n.value||setTimeout(()=>a("done"),700)}),n.value=!0,()=>n.value=!1),d=e=>{"Escape"===e.key&&u()};return Ye(()=>window.addEventListener("keydown",d)),Tt(()=>window.removeEventListener("keydown",d)),(e,t)=>{var a=Z("CloseButton");return o(),i("div",{id:e.id,class:"relative z-10","aria-labelledby":e.id+"-title",role:"dialog","aria-modal":"true"},[op,l("div",ap,[l("div",{onMousedown:u,class:"absolute inset-0 overflow-hidden"},[l("div",{onMousedown:t[0]||(t[0]=Ue(()=>{},["stop"])),class:"pointer-events-none fixed inset-y-0 right-0 flex pl-10"},[l("div",{class:y(["panel pointer-events-auto w-screen xl:max-w-3xl md:max-w-xl max-w-lg",r.value])},[l("div",rp,[l("div",ip,[l("div",up,[l("div",dp,[l("div",cp,[l("div",fp,[e.$slots.title?(o(),i("div",vp,[U(e.$slots,"title")])):x("",!0),e.title?(o(),i("h2",{key:1,class:"text-lg font-medium text-gray-900 dark:text-gray-50",id:e.id+"-title"},F(e.title),9,pp)):x("",!0),e.$slots.subtitle?(o(),i("p",mp,[U(e.$slots,"subtitle")])):x("",!0)]),l("div",hp,[ye(a,{"button-class":"bg-gray-50 dark:bg-gray-900",onClose:u})])])]),l("div",{class:y(e.contentClass)},[U(e.$slots,"default")],2)])]),e.$slots.footer?(o(),i("div",gp,[U(e.$slots,"footer")])):x("",!0)])],2)],32)],32)])],8,np)}}}),bp=["id","data-transition-for","aria-labelledby"],wp={class:"fixed inset-0 z-10 overflow-y-auto"},kp={class:"flex min-h-full items-end justify-center p-4 text-center sm:items-center sm:p-0"},_p=l("span",{class:"sr-only"},"Close",-1),$p=l("svg",{class:"h-6 w-6",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","aria-hidden":"true"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1),Cp=[_p,$p],xp=de({__name:"ModalDialog",props:{id:{default:"ModalDialog"},modalClass:{default:ll.modalClass},sizeClass:{default:ll.sizeClass}},emits:["done"],setup(e,{emit:t}){let a=t,n=D(!1),r=D(""),s={entering:{cls:"ease-out duration-300",from:"opacity-0",to:"opacity-100"},leaving:{cls:"ease-in duration-200",from:"opacity-100",to:"opacity-0"}},u=D(""),d={entering:{cls:"ease-out duration-300",from:"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95",to:"opacity-100 translate-y-0 sm:scale-100"},leaving:{cls:"ease-in duration-200",from:"opacity-100 translate-y-0 sm:scale-100",to:"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"}},v=(yt(n,()=>{gt(s,r,n.value),gt(d,u,n.value),n.value||setTimeout(()=>a("done"),200)}),n.value=!0,()=>n.value=!1),c=(ss("ModalProvider",{openModal:function(e,l){c.value=e,p.value=l}}),D()),p=D();async function f(e){p.value&&p.value(e),c.value=void 0,p.value=void 0}let m=e=>{"Escape"===e.key&&v()};return Ye(()=>window.addEventListener("keydown",m)),Tt(()=>window.removeEventListener("keydown",m)),(e,t)=>{var a,n=Z("ModalLookup");return o(),i("div",{id:e.id,"data-transition-for":e.id,onMousedown:v,class:"relative z-10","aria-labelledby":e.id+"-title",role:"dialog","aria-modal":"true"},[l("div",{class:y(["fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity",r.value])},null,2),l("div",wp,[l("div",kp,[l("div",{class:y([e.modalClass,e.sizeClass,u.value]),onMousedown:t[0]||(t[0]=Ue(()=>{},["stop"]))},[l("div",null,[l("div",{class:"hidden sm:block absolute top-0 right-0 pt-4 pr-4 z-10"},[l("button",{type:"button",onClick:v,class:"bg-white dark:bg-black rounded-md text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 dark:ring-offset-black"},Cp)]),U(e.$slots,"default")])],34)])]),"ModalLookup"==(null==(a=c.value)?void 0:a.name)&&c.value.ref?(o(),ae(n,{key:0,"ref-info":c.value.ref,onDone:f},null,8,["ref-info"])):x("",!0)],40,bp)}}}),Lp={class:"pt-2 overflow-auto",style:{"min-height":"620px"}},Vp={class:"mt-3 pl-5 flex flex-wrap items-center"},Mp={class:"hidden sm:block text-xl leading-6 font-medium text-gray-900 dark:text-gray-50 mr-3"},Sp={class:"hidden md:inline"},Ap={class:"flex pb-1 sm:pb-0"},Tp=["title"],Fp=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("g",{"stroke-width":"1.5",fill:"none"},[l("path",{d:"M9 3H3.6a.6.6 0 0 0-.6.6v16.8a.6.6 0 0 0 .6.6H9M9 3v18M9 3h6M9 21h6m0-18h5.4a.6.6 0 0 1 .6.6v16.8a.6.6 0 0 1-.6.6H15m0-18v18",stroke:"currentColor"})])],-1),Ip=[Fp],jp=["disabled"],Dp=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{d:"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6l6 6zM6 6h2v12H6z",fill:"currentColor"})],-1),Op=[Dp],Pp=["disabled"],Bp=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{d:"M15.41 7.41L14 6l-6 6l6 6l1.41-1.41L10.83 12z",fill:"currentColor"})],-1),Hp=[Bp],Rp=["disabled"],Ep=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{d:"M10 6L8.59 7.41L13.17 12l-4.58 4.59L10 18l6-6z",fill:"currentColor"})],-1),zp=[Ep],Np=["disabled"],Up=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{d:"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6l-6-6zM16 6h2v12h-2z",fill:"currentColor"})],-1),qp=[Up],Qp={key:0,class:"flex pb-1 sm:pb-0"},Kp={class:"px-4 text-lg text-black dark:text-white"},Zp={key:0},Wp={key:1},Gp=l("span",{class:"hidden xl:inline"}," Showing Results ",-1),Jp={key:2},Xp={key:1,class:"pl-2"},Yp=l("svg",{class:"w-5 h-5",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",viewBox:"0 0 24 24"},[l("path",{fill:"currentColor",d:"M6.78 2.72a.75.75 0 0 1 0 1.06L4.56 6h8.69a7.75 7.75 0 1 1-7.75 7.75a.75.75 0 0 1 1.5 0a6.25 6.25 0 1 0 6.25-6.25H4.56l2.22 2.22a.75.75 0 1 1-1.06 1.06l-3.5-3.5a.75.75 0 0 1 0-1.06l3.5-3.5a.75.75 0 0 1 1.06 0Z"})],-1),e1=[Yp],t1={class:"flex pb-1 sm:pb-0"},s1={key:0,class:"pl-2"},l1=l("svg",{class:"flex-none w-5 h-5 mr-2 text-gray-400 dark:text-gray-500 group-hover:text-gray-500","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"},[l("path",{"fill-rule":"evenodd",d:"M3 3a1 1 0 011-1h12a1 1 0 011 1v3a1 1 0 01-.293.707L12 11.414V15a1 1 0 01-.293.707l-2 2A1 1 0 018 17v-5.586L3.293 6.707A1 1 0 013 6V3z","clip-rule":"evenodd"})],-1),n1={class:"mr-1"},o1={key:0,class:"h-5 w-5 text-gray-400 dark:text-gray-500 group-hover:text-gray-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},a1=l("path",{"fill-rule":"evenodd",d:"M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z","clip-rule":"evenodd"},null,-1),r1=[a1],i1={key:1,class:"h-5 w-5 text-gray-400 dark:text-gray-500 group-hover:text-gray-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},u1=l("path",{"fill-rule":"evenodd",d:"M5 10a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1z","clip-rule":"evenodd"},null,-1),d1=[u1],c1={key:1},f1={key:4},v1={key:0},p1={key:0,class:"cursor-pointer flex justify-between items-center hover:text-gray-900 dark:hover:text-gray-50"},m1={class:"mr-1 select-none"},h1={key:1,class:"flex justify-between items-center"},g1={class:"mr-1 select-none"},ln=25,y1=de({__name:"ModalLookup",props:{id:{default:"ModalLookup"},refInfo:{},skip:{default:0},prefs:{},selectedColumns:{},allowFiltering:{type:[Boolean,null],default:!0},showPreferences:{type:[Boolean,null],default:!0},showPagingNav:{type:[Boolean,null],default:!0},showPagingInfo:{type:[Boolean,null],default:!0},showResetPreferences:{type:[Boolean,null],default:!0},showFiltersView:{type:[Boolean,null],default:!0},toolbarButtonClass:{},canFilter:{}},emits:["done"],setup(e,{emit:t}){let d=e,a=t,c=al(),n=It().config,{metadataApi:r,filterDefinitions:s}=lt(),u=Qe("client"),p=n.value.storage,f=v(()=>d.toolbarButtonClass??he.toolbarButtonClass),m=v(()=>s.value),g=D({take:ln}),h=D(new Xe),b=D(d.skip),w=D(!1),k=D(),C=e=>"string"==typeof e?e.split(","):e||[];function L(e,l){return he.getTableRowClass("fullWidth",l,!1,!0)}let S=v(()=>rt(d.refInfo.model)),V=v(()=>{var e=(0<(e=C(d.selectedColumns)).length?e:[]).map(e=>e.toLowerCase());let t=st(S.value);return 0t.find(e=>e.name.toLowerCase()===l)).filter(e=>null!=e):t}),q=v(()=>{let e=V.value.map(e=>e.name),l=C(g.value.selectedColumns).map(e=>e.toLowerCase());return 0l.includes(e.toLowerCase())):e}),M=v(()=>g.value.take??ln),T=v(()=>h.value.response?_e(h.value.response,"results"):[]),A=v(()=>{var e;return(null==(e=h.value.response)?void 0:e.total)??T.value.length??0}),j=v(()=>00T.value.length>=M.value),B=v(()=>T.value.length>=M.value),O=D([]),Q=v(()=>O.value.some(e=>0O.value.map(e=>e.settings.filters.length).reduce((e,l)=>e+l,0)),Y=v(()=>ns(S.value)),G=v(()=>{var e;return null==(e=r.value)?void 0:e.operations.find(e=>{var l;return(null==(l=e.dataModel)?void 0:l.name)==d.refInfo.model&&qe.isAnyQuery(e)})}),K=D(),E=D(!1),H=D(),P=()=>d.id+"/ApiPrefs/"+d.refInfo.model,R=e=>`Column/${d.id}:${d.refInfo.model}.`+e;async function z(e){b.value+=e,b.value<0&&(b.value=0);var l=Math.floor(A.value/M.value)*M.value;b.value>l&&(b.value=l),await N()}async function W(e,l){a("done",e)}function J(){a("done",null)}function ee(l,e){var t,a=e.target;"TD"!==(null==a?void 0:a.tagName)&&(a=null==(a=null==a?void 0:a.closest("TABLE"))?void 0:a.getBoundingClientRect(),t=O.value.find(e=>e.name.toLowerCase()==l.toLowerCase()))&&a&&(a=("DIV"===(null==(a=e.target)?void 0:a.tagName)?e.target:null==(a=e.target)?void 0:a.closest("DIV")).getBoundingClientRect(),H.value={column:t,topLeft:{x:Math.max(Math.floor(a.x+25),343),y:Math.floor(115)}})}function le(){H.value=null}async function te(e){var l=null==(l=H.value)?void 0:l.column;l&&(l.settings=e,p.setItem(R(l.name),JSON.stringify(l.settings)),await N()),H.value=null}async function ne(e){p.setItem(R(e.name),JSON.stringify(e.settings)),await N()}async function re(e){E.value=!1,g.value=e,p.setItem(P(),JSON.stringify(e)),await N()}async function N(){var a=(()=>{let a={include:"total",take:M.value},e=C(g.value.selectedColumns||d.selectedColumns);var l;0{t.settings.sort&&n.push(("DESC"===t.settings.sort?"-":"")+t.name),t.settings.filters.forEach(e=>{var l=e.key.replace("%",t.name);a[l]=e.value})}),"u"{h.value.response=h.value.error=void 0,w.value=e}),t=await u.api(e);l(),Vt(()=>h.value=t);n=_e(t.response,"results")||[];t.succeeded&&n.label}else console.error("No Query API was found for "+d.refInfo.model)}async function se(){O.value.forEach(e=>{e.settings={filters:[]},p.removeItem(R(e.name))}),await N()}return Ye(async()=>{var e=d.prefs||$s(p.getItem(P()));e&&(g.value=e),O.value=V.value.map(e=>({name:e.name,type:e.type,meta:e,settings:Object.assign({filters:[]},$s(p.getItem(R(e.name))))})),isNaN(d.skip)||(b.value=d.skip),await N()}),(n,e)=>{let t=Z("ErrorSummary"),a=Z("Loading"),r=Z("SettingsIcons"),s=Z("DataGrid"),u=Z("ModalDialog");return o(),i(Se,null,[n.refInfo?(o(),ae(u,{key:0,ref_key:"modalDialog",ref:K,id:n.id,onDone:J},{default:xe(()=>[l("div",Lp,[l("div",Vp,[l("h3",Mp,[ke(" Select "),l("span",Sp,F(X(Pe)(n.refInfo.model)),1)]),l("div",Ap,[n.showPreferences?(o(),i("button",{key:0,type:"button",class:"pl-2 text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400",title:n.refInfo.model+" Preferences",onClick:e[0]||(e[0]=e=>E.value=!E.value)},Ip,8,Tp)):x("",!0),n.showPagingNav?(o(),i("button",{key:1,type:"button",class:y(["pl-2",j.value?"text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400":"text-gray-400 dark:text-gray-500"]),title:"First page",disabled:!j.value,onClick:e[1]||(e[1]=e=>z(-A.value))},Op,10,jp)):x("",!0),n.showPagingNav?(o(),i("button",{key:2,type:"button",class:y(["pl-2",I.value?"text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400":"text-gray-400 dark:text-gray-500"]),title:"Previous page",disabled:!I.value,onClick:e[2]||(e[2]=e=>z(-M.value))},Hp,10,Pp)):x("",!0),n.showPagingNav?(o(),i("button",{key:3,type:"button",class:y(["pl-2",$.value?"text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400":"text-gray-400 dark:text-gray-500"]),title:"Next page",disabled:!$.value,onClick:e[3]||(e[3]=e=>z(M.value))},zp,10,Rp)):x("",!0),n.showPagingNav?(o(),i("button",{key:4,type:"button",class:y(["pl-2",B.value?"text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400":"text-gray-400 dark:text-gray-500"]),title:"Last page",disabled:!B.value,onClick:e[4]||(e[4]=e=>z(A.value))},qp,10,Np)):x("",!0)]),n.showPagingInfo?(o(),i("div",Qp,[l("div",Kp,[w.value?(o(),i("span",Zp,"Querying...")):x("",!0),T.value.length?(o(),i("span",Wp,[Gp,ke(" "+F(b.value+1)+" - "+F(Math.min(b.value+T.value.length,A.value))+" ",1),l("span",null," of "+F(A.value),1)])):h.value.completed?(o(),i("span",Jp,"No Results")):x("",!0)])])):x("",!0),Q.value&&n.showResetPreferences?(o(),i("div",Xp,[l("button",{type:"button",onClick:se,title:"Reset Preferences & Filters",class:y(f.value)},e1,2)])):x("",!0),l("div",t1,[n.showFiltersView&&0<_.value?(o(),i("div",s1,[l("button",{type:"button",onClick:e[5]||(e[5]=e=>k.value="filters"==k.value?null:"filters"),class:y(f.value),"aria-expanded":"false"},[l1,l("span",n1,F(_.value)+" "+F(1==_.value?"Filter":"Filters"),1),"filters"!=k.value?(o(),i("svg",o1,r1)):(o(),i("svg",i1,d1))],2)])):x("",!0)])]),"filters"==k.value?(o(),ae(Il,{key:0,class:"border-y border-gray-200 dark:border-gray-800 py-8 my-2",definitions:m.value,columns:O.value,onDone:e[6]||(e[6]=e=>k.value=null),onChange:ne},null,8,["definitions","columns"])):x("",!0),H.value?(o(),i("div",c1,[ye(Fl,{definitions:m.value,column:H.value.column,"top-left":H.value.topLeft,onDone:le,onSave:te},null,8,["definitions","column","top-left"])])):x("",!0),h.value.error?(o(),ae(t,{key:2,status:h.value.error},null,8,["status"])):w.value?(o(),ae(a,{key:3})):(o(),i("div",f1,[T.value.length?(o(),i("div",v1,[ye(s,{id:n.id,items:T.value,type:n.refInfo.model,"selected-columns":q.value,onFiltersChanged:N,tableStyle:"fullWidth",rowClass:L,onRowSelected:W,onHeaderSelected:ee},rl({header:xe(({column:t,label:e})=>{var a;return[!n.allowFiltering||d.canFilter&&!d.canFilter(t)?(o(),i("div",h1,[l("span",g1,F(e),1)])):(o(),i("div",p1,[l("span",m1,F(e),1),ye(r,{column:O.value.find(e=>e.name.toLowerCase()===t.toLowerCase()),"is-open":(null==(a=H.value)?void 0:a.column.name)===t},null,8,["column","is-open"])]))]}),_:2},[je(Object.keys(X(c)),l=>({name:l,fn:xe(e=>[U(n.$slots,l,Rt(ks(e)))])}))]),1032,["id","items","type","selected-columns"])])):x("",!0)]))])]),_:3},8,["id"])):x("",!0),E.value?(o(),ae(jl,{key:1,columns:V.value,prefs:g.value,onDone:e[7]||(e[7]=e=>E.value=!1),onSave:re},null,8,["columns","prefs"])):x("",!0)],64)}}}),b1={class:"sm:hidden"},w1=["for"],k1=["id","name"],_1=["value"],$1={class:"hidden sm:block"},C1={class:"border-b border-gray-200"},x1={class:"-mb-px flex","aria-label":"Tabs"},L1=["onClick"],V1=de({__name:"Tabs",props:{tabs:{},id:{default:"tabs"},param:{default:"tab"},label:{type:Function,default:e=>Pe(e)},selected:{},tabClass:{},bodyClass:{default:"p-4"},url:{type:Boolean,default:!0},clearQuery:{type:Boolean,default:!1}},setup(e){let t=e,a=v(()=>Object.keys(t.tabs)),n=e=>t.label?t.label(e):Pe(e),r=v(()=>t.id||"tabs"),s=v(()=>t.param||"tab"),u=D();function d(e){u.value=e,t.url&&ul({tab:e===a.value[0]?void 0:e},t.clearQuery)}let c=v(()=>100/Object.keys(t.tabs).length+"%");return Ye(()=>{var e;u.value=t.selected||Object.keys(t.tabs)[0],t.url&&(e=location.search||(location.hash.includes("?")?"?"+ms(location.hash,"?"):""),e=Zs(e)[s.value])&&(u.value=e)}),(t,e)=>(o(),i("div",null,[l("div",b1,[l("label",{for:r.value,class:"sr-only"},"Select a tab",8,w1),l("select",{id:r.value,name:r.value,class:"block w-full rounded-md border-gray-300 focus:border-indigo-500 focus:ring-indigo-500",onChange:e[0]||(e[0]=e=>{var l;return d(null==(l=e.target)?void 0:l.value)})},[(o(!0),i(Se,null,je(a.value,e=>(o(),i("option",{key:e,value:e},F(n(e)),9,_1))),128))],40,k1)]),l("div",$1,[l("div",C1,[l("nav",x1,[(o(!0),i(Se,null,je(a.value,l=>{return o(),i("a",{href:"#",onClick:Ue(e=>d(l),["prevent"]),style:nl({width:c.value}),class:y([(e=l,u.value===e?"border-indigo-500 text-indigo-600 py-4 px-1 text-center border-b-2 font-medium text-sm":"border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300 py-4 px-1 text-center border-b-2 font-medium text-sm"),t.tabClass])},F(n(l)),15,L1);var e}),256))])])]),l("div",{class:y(t.bodyClass)},[(o(),ae(an(t.tabs[u.value])))],2)]))}}),M1=l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4 text-gray-400",preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 32 32"},[l("path",{fill:"currentColor",d:"M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3Z"})],-1),S1=[M1],A1=l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4 text-indigo-600",preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 32 32"},[l("path",{fill:"currentColor",d:"M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6ZM5.394 6.813L6.81 5.399l3.505 3.506L8.9 10.319zM2 15.005h5v2H2zm3.394 10.193L8.9 21.692l1.414 1.414l-3.505 3.506zM15 25.005h2v5h-2zm6.687-1.9l1.414-1.414l3.506 3.506l-1.414 1.414zm3.313-8.1h5v2h-5zm-3.313-6.101l3.506-3.506l1.414 1.414l-3.506 3.506zM15 2.005h2v5h-2z"})],-1),T1=[A1],F1=de({__name:"DarkModeToggle",setup(e){let a=typeof document<"u"?document.documentElement:null,n=()=>!(null==a||!a.classList.contains("dark")),r=D("dark"==localStorage.getItem("color-scheme"));return(e,t)=>(o(),i("button",{type:"button",class:"bg-gray-200 dark:bg-gray-700 relative inline-flex flex-shrink-0 h-6 w-11 border-2 border-transparent rounded-full cursor-pointer transition-colors ease-in-out duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 dark:ring-offset-black",role:"switch","aria-checked":"false",onClick:t[0]||(t[0]=e=>{n()?null!=a&&a.classList.remove("dark"):null!=a&&a.classList.add("dark"),r.value=n(),localStorage.setItem("color-scheme",r.value?"dark":"light")})},[l("span",{class:y(`${r.value?"translate-x-0":"translate-x-5"} pointer-events-none relative inline-block h-5 w-5 rounded-full bg-white dark:bg-black shadow transform ring-0 transition ease-in-out duration-200`)},[l("span",{class:y(`${r.value?"opacity-100 ease-in duration-200":"opacity-0 ease-out duration-100"} absolute inset-0 h-full w-full flex items-center justify-center transition-opacity`),"aria-hidden":"true"},S1,2),l("span",{class:y(`${r.value?"opacity-0 ease-out duration-100":"opacity-100 ease-in duration-200"} absolute inset-0 h-full w-full flex items-center justify-center transition-opacity`),"aria-hidden":"true"},T1,2)],2)]))}}),I1={key:0},j1={key:1,class:"min-h-full flex flex-col justify-center py-12 sm:px-6 lg:px-8"},D1={class:"sm:mx-auto sm:w-full sm:max-w-md"},O1={class:"mt-6 text-center text-3xl font-extrabold text-gray-900"},P1={key:0,class:"mt-4 text-center text-sm text-gray-600"},B1={class:"relative z-0 inline-flex shadow-sm rounded-md"},H1=["onClick"],R1={class:"mt-8 sm:mx-auto sm:w-full sm:max-w-md"},E1={class:"bg-white py-8 px-4 shadow sm:rounded-lg sm:px-10"},z1={class:"mt-8"},N1={key:1,class:"mt-6"},U1=xs('
Or continue with
',1),q1={class:"mt-6 grid grid-cols-3 gap-3"},Q1=["href","title"],K1={key:1,class:"h-5 w-5 text-gray-700",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},Z1=l("path",{d:"M16 8a5 5 0 1 0 5 5a5 5 0 0 0-5-5z",fill:"currentColor"},null,-1),W1=l("path",{d:"M16 2a14 14 0 1 0 14 14A14.016 14.016 0 0 0 16 2zm7.992 22.926A5.002 5.002 0 0 0 19 20h-6a5.002 5.002 0 0 0-4.992 4.926a12 12 0 1 1 15.985 0z",fill:"currentColor"},null,-1),G1=[Z1,W1],J1=de({__name:"SignIn",props:{provider:{},title:{default:"Sign In"},tabs:{type:[Boolean,String],default:!0},oauth:{type:[Boolean,String],default:!0}},emits:["login"],setup(e,{emit:t}){let a=e,n=t,{getMetadata:r,createDto:s}=lt(),u=Os(),d=Qe("client"),c=Tl().signIn,p=r({assert:!0}),f=p.plugins.auth,m=document.baseURI,g=p.app.baseUrl,h=D(s("Authenticate")),b=D(new Xe),w=D(a.provider),k=(Ye(()=>{null!=f&&f.authProviders.map(e=>e.formLayout).filter(e=>e).forEach(e=>e.forEach(e=>h.value[e.id]="checkbox"!==e.type&&""))}),v(()=>(null==f?void 0:f.authProviders.filter(e=>e.formLayout))||[])),C=v(()=>k.value[0]||{}),L=v(()=>k.value[Math.max(k.value.length-1,0)]||{}),S=v(()=>(w.value?null==f?void 0:f.authProviders.find(e=>e.name===w.value):null)??C.value),V=e=>!1===e||"false"===e;function M(e){return e.label||e.navItem&&e.navItem.label}let T=v(()=>{var e;return((null==(e=S.value)?void 0:e.formLayout)||[]).map(e=>{var l;return Object.assign({},e,{type:null==(l=e.type)?void 0:l.toLowerCase(),autocomplete:e.autocomplete||("password"===(null==(l=e.type)?void 0:l.toLowerCase())?"current-password":void 0)||("username"===e.id.toLowerCase()?"username":void 0),css:Object.assign({field:"col-span-12"},e.css)})})}),A=v(()=>!V(a.oauth)&&(null==f?void 0:f.authProviders.filter(e=>"oauth"===e.type))||[]),j=v(()=>{let e=Po(null==f?void 0:f.authProviders.filter(e=>e.formLayout&&0{e[M(l)||at(l.name)]=l.name===C.value.name?"":l.name});var l=S.value;return e=l&&V(a.tabs)?{[M(l)||at(l.name)]:l}:e}),I=v(()=>{var e=T.value.map(e=>e.id).filter(e=>e);return b.value.summaryMessage(e)});async function $(){var e;h.value.provider=S.value.name,"authsecret"===S.value.name?(d.headers.set("authsecret",h.value.authsecret),h.value=s("Authenticate")):"basic"===S.value.name?(d.setCredentials(h.value.UserName,h.value.Password),h.value=s("Authenticate"),h.value.UserName=null,h.value.Password=null):"Bearer"!==S.value.type&&"jwt"!==S.value.name||(d.bearerToken=h.value.BearerToken,h.value=s("Authenticate")),b.value=await u.api(h.value),b.value.succeeded&&(e=b.value.response,c(e),n("login",e),b.value=new Xe,h.value=s("Authenticate"))}return(e,t)=>{let a=Z("ErrorSummary"),n=Z("AutoFormFields"),r=Z("PrimaryButton"),s=Z("Icon"),u=ko("href");return X(f)?(o(),i("div",j1,[l("div",D1,[l("h2",O1,F(e.title),1),1Mt((o(),i("a",{onClick:e=>w.value=l,class:y([""===l||l===C.value.name?"rounded-l-md":l===L.value.name?"rounded-r-md -ml-px":"-ml-px",w.value===l?"z-10 outline-none ring-1 ring-indigo-500 border-indigo-500":"","cursor-pointer relative inline-flex items-center px-4 py-1 border border-gray-300 bg-white text-sm font-medium text-gray-700 hover:bg-gray-50"])},[ke(F(e),1)],10,H1)),[[u,{provider:l}]])),256))])])):x("",!0)]),l("div",R1,[I.value?(o(),ae(a,{key:0,class:"mb-3",errorSummary:I.value},null,8,["errorSummary"])):x("",!0),l("div",E1,[T.value.length?(o(),i("form",{key:0,onSubmit:Ue($,["prevent"])},[ye(n,{modelValue:h.value,formLayout:T.value,api:b.value,hideSummary:!0,"divide-class":"","space-class":"space-y-6"},null,8,["modelValue","formLayout","api"]),l("div",z1,[ye(r,{class:"w-full"},{default:xe(()=>[ke("Sign In")]),_:1})])],32)):x("",!0),A.value.length?(o(),i("div",N1,[U1,l("div",q1,[(o(!0),i(Se,null,je(A.value,e=>(o(),i("div",null,[l("a",{href:X(g)+e.navItem.href+"?continue="+X(m),title:M(e),class:"w-full inline-flex justify-center py-2 px-4 border border-gray-300 rounded-md shadow-sm bg-white text-sm font-medium text-gray-500 hover:bg-gray-50"},[e.icon?(o(),ae(s,{key:0,image:e.icon,class:"h-5 w-5 text-gray-700"},null,8,["image"])):(o(),i("svg",K1,G1))],8,Q1)]))),256))])])):x("",!0)])])])):(o(),i("div",I1,"No Auth Plugin"))}}}),X1=["for"],Y1={key:1,class:"border border-gray-200 flex justify-between"},em={class:"p-2 flex flex-wrap gap-x-4"},tm=l("title",null,"Bold text (CTRL+B)",-1),sm=l("path",{fill:"currentColor",d:"M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79c0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79c0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z"},null,-1),lm=[tm,sm],nm=l("title",null,"Italics (CTRL+I)",-1),om=l("path",{fill:"currentColor",d:"M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4h-8z"},null,-1),am=[nm,om],rm=l("title",null,"Insert Link (CTRL+K)",-1),im=l("path",{fill:"currentColor",d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7a5 5 0 0 0-5 5a5 5 0 0 0 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8v2m9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1c0 1.71-1.39 3.1-3.1 3.1h-4V17h4a5 5 0 0 0 5-5a5 5 0 0 0-5-5Z"},null,-1),um=[rm,im],dm=l("title",null,"Blockquote (CTRL+Q)",-1),cm=l("path",{fill:"currentColor",d:"m15 17l2-4h-4V6h7v7l-2 4h-3Zm-9 0l2-4H4V6h7v7l-2 4H6Z"},null,-1),fm=[dm,cm],vm=l("title",null,"Insert Image (CTRL+SHIFT+L)",-1),pm=l("path",{fill:"currentColor",d:"M2.992 21A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992ZM20 15V5H4v14L14 9l6 6Zm0 2.828l-6-6L6.828 19H20v-1.172ZM8 11a2 2 0 1 1 0-4a2 2 0 0 1 0 4Z"},null,-1),mm=[vm,pm],hm=l("title",null,"Insert Code (CTRL+<)",-1),gm=l("path",{fill:"currentColor",d:"m8 18l-6-6l6-6l1.425 1.425l-4.6 4.6L9.4 16.6L8 18Zm8 0l-1.425-1.425l4.6-4.6L14.6 7.4L16 6l6 6l-6 6Z"},null,-1),ym=[hm,gm],bm=l("title",null,"H2 Heading (CTRL+H)",-1),wm=l("path",{fill:"currentColor",d:"M7 20V7H2V4h13v3h-5v13H7Zm9 0v-8h-3V9h9v3h-3v8h-3Z"},null,-1),km=[bm,wm],_m=l("title",null,"Numbered List (ALT+1)",-1),$m=l("path",{fill:"currentColor",d:"M3 22v-1.5h2.5v-.75H4v-1.5h1.5v-.75H3V16h3q.425 0 .713.288T7 17v1q0 .425-.288.713T6 19q.425 0 .713.288T7 20v1q0 .425-.288.713T6 22H3Zm0-7v-2.75q0-.425.288-.713T4 11.25h1.5v-.75H3V9h3q.425 0 .713.288T7 10v1.75q0 .425-.288.713T6 12.75H4.5v.75H7V15H3Zm1.5-7V3.5H3V2h3v6H4.5ZM9 19v-2h12v2H9Zm0-6v-2h12v2H9Zm0-6V5h12v2H9Z"},null,-1),Cm=[_m,$m],xm=l("title",null,"Bulleted List (ALT+-)",-1),Lm=l("path",{fill:"currentColor",d:"M9 19v-2h12v2H9Zm0-6v-2h12v2H9Zm0-6V5h12v2H9ZM5 20q-.825 0-1.413-.588T3 18q0-.825.588-1.413T5 16q.825 0 1.413.588T7 18q0 .825-.588 1.413T5 20Zm0-6q-.825 0-1.413-.588T3 12q0-.825.588-1.413T5 10q.825 0 1.413.588T7 12q0 .825-.588 1.413T5 14Zm0-6q-.825 0-1.413-.588T3 6q0-.825.588-1.413T5 4q.825 0 1.413.588T7 6q0 .825-.588 1.413T5 8Z"},null,-1),Vm=[xm,Lm],Mm=l("title",null,"Strike Through (ALT+S)",-1),Sm=l("path",{fill:"currentColor",d:"M10 19h4v-3h-4v3zM5 4v3h5v3h4V7h5V4H5zM3 14h18v-2H3v2z"},null,-1),Am=[Mm,Sm],Tm=l("title",null,"Undo (CTRL+Z)",-1),Fm=l("path",{fill:"currentColor",d:"M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88c3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"},null,-1),Im=[Tm,Fm],jm=l("title",null,"Redo (CTRL+SHIFT+Z)",-1),Dm=l("path",{fill:"currentColor",d:"M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16a8.002 8.002 0 0 1 7.6-5.5c1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z"},null,-1),Om=[jm,Dm],Pm={key:0,class:"p-2 flex flex-wrap gap-x-4"},Bm=["href"],Hm=l("path",{fill:"currentColor",d:"M11 18h2v-2h-2v2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8s8 3.59 8 8s-3.59 8-8 8zm0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5c0-2.21-1.79-4-4-4z"},null,-1),Rm=[Hm],Em={class:""},zm=["name","id","label","value","rows","disabled"],Nm=["id"],Um=["id"],Je="w-5 h-5 cursor-pointer select-none text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400",qm=de({__name:"MarkdownInput",props:{status:{},id:{},inputClass:{},label:{},labelClass:{},help:{},placeholder:{},modelValue:{},counter:{type:Boolean},rows:{},errorMessages:{},lang:{},autoFocus:{type:Boolean},disabled:{type:Boolean},helpUrl:{default:"https://guides.github.com/features/mastering-markdown/"},hide:{}},emits:["update:modelValue","close"],setup(e,{expose:t,emit:a}){let n=e,r=a,h=[],b=[],s=Qe("ApiState",void 0),u=v(()=>pt.call({responseStatus:n.status??(null==s?void 0:s.error.value)},n.id)),d=v(()=>n.label??Pe(at(n.id))),c="bold,italics,link,image,blockquote,code,heading,orderedList,unorderedList,strikethrough,undo,redo,help".split(","),p=v(()=>n.hide?Lt(c,n.hide):Lt(c,[]));function f(e){return p.value[e]}let m=v(()=>["shadow-sm font-mono"+ot.base.replace("rounded-md",""),u.value?"text-red-900 focus:ring-red-500 focus:border-red-500 border-red-300":"text-gray-900 "+ot.valid,n.inputClass]),w=D();function k(e){r("update:modelValue",e)}function g(){return w.value.selectionStart!==w.value.selectionEnd}function C(){var e=w.value;return e.value.substring(e.selectionStart,e.selectionEnd)||""}function L(){var e=w.value,l=e.value,t=e.selectionStart,e=l.substring(t,e.selectionEnd)||"",a=l.substring(0,t),n=a.lastIndexOf(` -`);return{value:l,sel:e,selPos:t,beforeSel:a,afterSel:l.substring(t),prevCRPos:n,beforeCR:0<=n?a.substring(0,n+1):"",afterCR:0<=n?a.substring(n+1):""}}function S({value:e,selectionStart:l,selectionEnd:t}){null==t&&(t=l),k(e),Vt(()=>{w.value.focus(),w.value.setSelectionRange(l,t)})}function V(e,l,t="",{selectionAtEnd:a,offsetStart:n,offsetEnd:r,filterValue:s,filterSelection:o}={}){let i=w.value,u=i.value,d=i.selectionEnd;h.push({value:u,selectionStart:i.selectionStart,selectionEnd:i.selectionEnd}),b=[];var v,c=i.selectionStart,p=i.selectionEnd,f=u.substring(0,c),m=u.substring(p),g=e&&f.endsWith(e)&&m.startsWith(l);c==p?(g?(u=f.substring(0,f.length-e.length)+m.substring(l.length),d+=-l.length):(u=f+e+t+l+m,d+=e.length,n=0,r=(null==t?void 0:t.length)||0,a&&(d+=r,r=0)),s&&(v={pos:d},u=s(u,v),d=v.pos)):(v=u.substring(c,p),o&&(v=o(v)),g?(u=f.substring(0,f.length-e.length)+v+m.substring(l.length),n=-v.length-e.length,r=v.length):(u=f+e+v+l+m,n?d+=(e+l).length:(d=c,n=e.length,r=v.length))),k(u),Vt(()=>{i.focus(),n=d+(n||0),r=(n||0)+(r||0),i.setSelectionRange(n,r)})}t({props:n,textarea:w,updateModelValue:k,selection:C,hasSelection:g,selectionInfo:L,insert:V,replace:S});let M=()=>V("**","**","bold"),T=()=>V("_","_","italics"),A=()=>V("~~","~~","strikethrough"),j=()=>V("[","](https://)","",{offsetStart:-9,offsetEnd:8}),I=()=>V(` +var ho=Object.defineProperty,go=(e,l,t)=>l in e?ho(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,Le=(e,l,t)=>(go(e,"symbol"!=typeof l?l+"":l,t),t);import{defineComponent as de,computed as v,openBlock as o,createElementBlock as i,normalizeClass as y,createElementVNode as l,createCommentVNode as x,renderSlot as U,ref as O,toDisplayString as F,inject as Qe,nextTick as St,isRef as nn,unref as X,mergeProps as Te,withModifiers as Ue,h as $t,resolveComponent as Z,createBlock as ae,withCtx as xe,useAttrs as yo,createVNode as ye,createTextVNode as ke,watchEffect as ws,normalizeStyle as nl,Fragment as Me,renderList as je,withDirectives as Mt,vModelCheckbox as ol,withKeys as on,createStaticVNode as xs,vModelSelect as bo,useSlots as al,getCurrentInstance as Be,onMounted as Ye,createSlots as rl,normalizeProps as Rt,guardReactiveProps as ks,vModelDynamic as wo,onUnmounted as Ft,watch as bt,vModelText as ko,resolveDynamicComponent as an,provide as ss,resolveDirective as _o}from"vue";import{errorResponseExcept as $o,toDate as pt,toTime as Co,omit as ft,enc as Ks,appendQueryString as Et,lastLeftPart as rn,setQueryString as xo,nameOf as Lo,ApiResult as Xe,lastRightPart as At,leftPart as Ls,map as Ze,toDateTime as Vo,toCamelCase as So,mapGet as _e,chop as Mo,fromXsdDuration as un,isDate as Vs,timeFmt12 as Ao,dateFmt as To,apiValue as Fo,indexOfAny as Io,createBus as jo,toKebabCase as Wl,sanitize as Oo,humanize as Pe,delaySet as dn,rightPart as ms,queryString as Zs,combinePaths as Do,toPascalCase as at,errorResponse as mt,trimEnd as Po,$1 as _s,ResponseStatus as Us,ResponseError as Gl,HttpMethods as il,omitEmpty as Bo,uniqueKeys as Ws,humanify as cn,each as Ho}from"@servicestack/client";let Ro={class:"flex items-center"},Eo={key:0,class:"flex-shrink-0 mr-3"},zo={key:0,class:"h-5 w-5 text-yellow-400",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},No=l("path",{"fill-rule":"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","clip-rule":"evenodd"},null,-1),Uo=[No],qo={key:1,class:"h-5 w-5 text-red-400",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},Qo=l("path",{"fill-rule":"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","clip-rule":"evenodd"},null,-1),Ko=[Qo],Zo={key:2,class:"h-5 w-5 text-blue-400",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},Wo=l("path",{"fill-rule":"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","clip-rule":"evenodd"},null,-1),Go=[Wo],Jo={key:3,class:"h-5 w-5 text-green-400",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},Xo=l("path",{"fill-rule":"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","clip-rule":"evenodd"},null,-1),Yo=[Xo],ea=de({__name:"Alert",props:{type:{default:"warn"},hideIcon:{type:Boolean}},setup(e){let t=e,a=v(()=>"info"==t.type?"bg-blue-50 dark:bg-blue-200":"error"==t.type?"bg-red-50 dark:bg-red-200":"success"==t.type?"bg-green-50 dark:bg-green-200":"bg-yellow-50 dark:bg-yellow-200"),n=v(()=>"info"==t.type?"border-blue-400":"error"==t.type?"border-red-400":"success"==t.type?"border-green-400":"border-yellow-400"),r=v(()=>"info"==t.type?"text-blue-700":"error"==t.type?"text-red-700":"success"==t.type?"text-green-700":"text-yellow-700");return(e,t)=>(o(),i("div",{class:y([a.value,n.value,"border-l-4 p-4"])},[l("div",Ro,[e.hideIcon?x("",!0):(o(),i("div",Eo,["warn"==e.type?(o(),i("svg",zo,Uo)):"error"==e.type?(o(),i("svg",qo,Ko)):"info"==e.type?(o(),i("svg",Zo,Go)):"success"==e.type?(o(),i("svg",Jo,Yo)):x("",!0)])),l("div",null,[l("p",{class:y([r.value,"text-sm"])},[U(e.$slots,"default")],2)])])],2))}}),ta={key:0,class:"rounded-md bg-green-50 dark:bg-green-200 p-4",role:"alert"},sa={class:"flex"},la=l("div",{class:"flex-shrink-0"},[l("svg",{class:"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"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"})])],-1),na={class:"ml-3"},oa={class:"text-sm font-medium text-green-800"},aa={key:0},ra={class:"ml-auto pl-3"},ia={class:"-mx-1.5 -my-1.5"},ua=l("span",{class:"sr-only"},"Dismiss",-1),da=l("svg",{class:"h-5 w-5",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[l("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"})],-1),ca=[ua,da],fa=de({__name:"AlertSuccess",props:{message:{}},setup(e){let a=O(!1);return(e,t)=>a.value?x("",!0):(o(),i("div",ta,[l("div",sa,[la,l("div",na,[l("h3",oa,[e.message?(o(),i("span",aa,F(e.message),1)):U(e.$slots,"default",{key:1})])]),l("div",ra,[l("div",ia,[l("button",{type:"button",class:"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-700 dark:hover:text-white focus:outline-none focus:ring-2 focus:ring-green-600 focus:ring-offset-2 focus:ring-offset-green-50 dark:ring-offset-green-200",onClick:t[0]||(t[0]=e=>a.value=!0)},ca)])])])]))}}),va={class:"flex"},pa=l("div",{class:"flex-shrink-0"},[l("svg",{class:"h-5 w-5 text-red-400",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("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"})])],-1),ma={class:"ml-3"},ha={class:"text-sm text-red-700 dark:text-red-200"},ga=de({__name:"ErrorSummary",props:{status:{},except:{},class:{}},setup(e){let t=e,a=Qe("ApiState",void 0),n=v(()=>t.status||null!=a&&a.error.value?$o.call({responseStatus:t.status??(null==a?void 0:a.error.value)},t.except??[]):null);return(e,t)=>n.value?(o(),i("div",{key:0,class:y("bg-red-50 dark:bg-red-900 border-l-4 border-red-400 p-4 "+e.$props.class)},[l("div",va,[pa,l("div",ma,[l("p",ha,F(n.value),1)])])],2)):x("",!0)}}),ya=["id","aria-describedby"],ba=de({__name:"InputDescription",props:{id:{},description:{}},setup(e){return(e,t)=>e.description?(o(),i("div",{key:"description",class:"mt-2 text-sm text-gray-500",id:e.id+"-description","aria-describedby":e.id+"-description"},[l("div",null,F(e.description),1)],8,ya)):x("",!0)}});function Ss(e){var l;return null==e||"object"==typeof e||null==(l=pt(e))||"Invalid Date"==l.toString()?"":l.toISOString().substring(0,10)??""}function fn(e){var l;return null==e||"object"==typeof e||null==(l=pt(e))||"Invalid Date"==l.toString()?"":l.toISOString().substring(0,19)??""}function vn(e){return null==e?"":Co(e)}function pn(e,l){var t,a;return G.config.inputValue?G.config.inputValue(e,l):(t=typeof(a="date"===e?Ss(l):"datetime-local"===e?fn(l):"time"===e?vn(l):l),null==a?"":"boolean"==t||"number"==t?""+a:a)}function mn(e,l){e.value=null,St(()=>e.value=l)}function Dt(t){return Object.keys(t).forEach(e=>{var l=t[e];t[e]=nn(l)?X(l):l}),t}function yt(e,l,t){t?(l.value=e.entering.cls+" "+e.entering.from,setTimeout(()=>l.value=e.entering.cls+" "+e.entering.to,0)):(l.value=e.leaving.cls+" "+e.leaving.from,setTimeout(()=>l.value=e.leaving.cls+" "+e.leaving.to,0))}function hs(t){if(!("u"0":"<"+e+Gs(t)+`>${l||""}`}function Gs(t){return Object.keys(t).reduce((e,l)=>`${e} ${l}="${Ks(t[l])}"`,"")}function Ms(e){return Object.assign({target:"_blank",rel:"noopener",class:"text-blue-600"},e)}function Ht(e){return Vl(e)}let wa=["string","number","boolean","null","undefined"];function Tt(e){return 0<=wa.indexOf(typeof e)||e instanceof Date}function Xt(e){return!Tt(e)}class hn{get length(){return"u"",";"].some(e=>l.includes(e)))throw new Error(`Unsafe script: '${l}'`);var t=Object.assign(Object.keys(globalThis).reduce((e,l)=>(e[l]=void 0,e),{}),e);return new Function("with(this) { return ("+l+") }").call(t)}function Js(e){typeof navigator<"u"&&navigator.clipboard.writeText(e)}function cl(e){var l=G.config.storage.getItem(e);return l?JSON.parse(l):null}function As(e,l){return Et("swr."+Lo(e),l?Object.assign({},e,l):e)}function ka(e){var l;e.request&&(l=As(e.request,e.args),G.config.storage.removeItem(l))}async function gn(e,l,t,a,n){var r,s=As(l,a),o=(t(new Xe({response:cl(s)})),await e.api(l,a,n));return o.succeeded&&o.response&&(o.response._date=(new Date).valueOf(),r=JSON.stringify(o.response),G.config.storage.setItem(s,r),t(o)),o}function yn(l,t){let a=null;return(...e)=>{a&&clearTimeout(a),a=setTimeout(()=>{l(...e)},t||100)}}function Ct(e){return"string"==typeof e?e.split(","):e||[]}function Vt(e,l){let t=Ct(l);return e.reduce((e,l)=>(e[l]=!t.includes(l),e),{})}function bn(){return{LocalStore:hn,dateInputFormat:Ss,dateTimeInputFormat:fn,timeInputFormat:vn,textInputValue:pn,setRef:mn,unRefs:Dt,transition:yt,focusNextElement:hs,getTypeName:qt,htmlTag:dt,htmlAttrs:Gs,linkAttrs:Ms,toAppUrl:Ht,isPrimitive:Tt,isComplexType:Xt,pushState:ul,scopedExpr:dl,copyText:Js,fromCache:cl,swrCacheKey:As,swrClear:ka,swrApi:gn,asStrings:Ct,asOptions:Vt,createDebounce:yn}}let wn="png,jpg,jpeg,jfif,gif,svg,webp".split(","),kn={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(",")},Jl=Object.keys(kn),vt=(e,l)=>``,gs={img:vt("4 4 16 16",""),vid:vt("0 0 24 24",""),aud:vt("0 0 24 24",""),ppt:vt("0 0 48 48",""),xls:vt("0 0 256 256",""),doc:vt("0 0 32 32",""),zip:vt("0 0 16 16",""),exe:vt("0 0 16 16",""),att:vt("0 0 24 24","")},_a=/[\r\n%#()<>?[\\\]^`{|}]/g,Xl=1024,$a=["Bytes","KB","MB","GB","TB"],Ca=(()=>{let l="application/",e=l+"vnd.openxmlformats-officedocument.",t="image/",a="text/",n="video/",r={jpg:t+"jpeg",tif:t+"tiff",svg:t+"svg+xml",ico:t+"x-icon",ts:a+"typescript",py:a+"x-python",sh:a+"x-sh",mp3:"audio/mpeg3",mpg:n+"mpeg",ogv:n+"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:l+"vnd.ms-access"};function s(e,l){e.split(",").forEach(e=>r[e]=l)}function o(e,l){e.split(",").forEach(e=>r[e]=l(e))}return o("jpeg,gif,png,tiff,bmp,webp",e=>t+e),o("jsx,csv,css",e=>a+e),o("aac,ac3,aiff,m4a,m4b,m4p,mid,midi,wav",e=>"audio/"+e),o("3gpp,avi,dv,divx,ogg,mp4,webm",e=>n+e),o("rtf,pdf",e=>l+e),s("htm,html,shtm",a+"html"),s("js,mjs,cjs",a+"javascript"),s("yml,yaml",l+"yaml"),s("bat,cmd",l+"bat"),s("xml,csproj,fsproj,vbproj",a+"xml"),s("txt,ps1",a+"plain"),s("qt,mov",n+"quicktime"),s("doc,dot",l+"msword"),s("xls,xlt,xla",l+"excel"),s("ppt,oit,pps,ppa",l+"vnd.ms-powerpoint"),s("cer,crt,der",l+"x-x509-ca-cert"),s("gz,tgz,zip,rar,lzh,z",l+"x-compressed"),s("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",l+"octet-stream"),r})(),Xs=[];function _n(e){return(e=(e=(e=e.replace(/"/g,"'")).replace(/>\s+<")).replace(/\s{2,}/g," ")).replace(_a,encodeURIComponent)}function fl(e){return"data:image/svg+xml;utf8,"+_n(e)}function $n(e){var l=URL.createObjectURL(e);return Xs.push(l),l}function Cn(){Xs.forEach(e=>{try{URL.revokeObjectURL(e)}catch(e){console.error("URL.revokeObjectURL",e)}}),Xs=[]}function vl(e){var l;return e?(l=Ls(e,"?"),At(l,"/")):null}function ls(e){var l=vl(e);return null==l||-1===l.indexOf(".")?null:At(l,".").toLowerCase()}function pl(e){var l=ls(e.name);return l&&0<=wn.indexOf(l)?$n(e):xt(e.name)}function ml(e){var l;return e&&(!(!e.startsWith("blob:")&&!e.startsWith("data:"))||(l=ls(e))&&0<=wn.indexOf(l))||!1}function xt(e){var l;return e?null==(l=ls(e))||ml(e)?e:Jt(l)||fl(gs.doc):null}function Jt(e){var l=xn(e);return l&&fl(l)||null}function xn(e){if(gs[e])return gs[e];for(let t=0;t({fileName:e.name,contentLength:e.size,filePath:pl(e)}))}function Ts(e,l){e.onerror=null,e.src=gl(e.src,l)||""}function gl(e,l){return Jt(At(e,".").toLowerCase())||(l?Jt(l)||l:null)||Jt("doc")}function Ys(e){var l;if(e)return l=At(e,".").toLowerCase(),Ca[l]||"application/"+l;throw new Error("fileNameOrExt required")}function La(){return{extSvg:xn,extSrc:Jt,getExt:ls,encodeSvg:_n,canPreview:ml,getFileName:vl,getMimeType:Ys,formatBytes:hl,filePathUri:xt,svgToDataUri:fl,fileImageUri:pl,objectUrl:$n,flush:Cn,inputFiles:xa,iconOnError:Ts,iconFallbackSrc:gl}}class Va{constructor(e){Le(this,"view"),Le(this,"includeTypes"),Object.assign(this,e)}getTypeName(){return"MetadataApp"}getMethod(){return"GET"}createResponse(){return{}}}let zt="/metadata/app.json",Sa={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"},Ma={number:"Int32",checkbox:"Boolean",date:"DateTime","datetime-local":"DateTime",time:"TimeSpan"},el={Byte:"byte",Int16:"short",Int32:"int",Int64:"long",UInt16:"ushort",Unt32:"uint",UInt64:"ulong",Single:"float",Double:"double",Decimal:"decimal"},Aa=([...Object.keys(el),...Object.values(el)],{String:"string",Boolean:"bool",...el});function fs(e){return Aa[e]||e}function Ln(e,l){return e?(l=l||[],"Nullable`1"===e?fs(l[0])+"?":e.endsWith("[]")?`List<${fs(e.substring(0,e.length-2))}>`:0===l.length?fs(e):Ls(fs(e),"`")+"<"+l.join(",")+">"):""}function Ta(e){return e&&Ln(e.name,e.genericArgs)}class Nt{constructor(){Le(this,"Query"),Le(this,"QueryInto"),Le(this,"Create"),Le(this,"Update"),Le(this,"Patch"),Le(this,"Delete")}get AnyQuery(){return this.Query||this.QueryInto}get AnyUpdate(){return this.Patch||this.Update}get dataModel(){var e;return null==(e=this.AnyQuery)?void 0:e.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){qe.isQueryInto(e)&&!this.QueryInto?this.QueryInto=e:qe.isQuery(e)&&!this.Query?this.Query=e:qe.isCreate(e)&&!this.Create?this.Create=e:qe.isUpdate(e)&&!this.Update?this.Update=e:qe.isPatch(e)&&!this.Patch?this.Patch=e:qe.isDelete(e)&&!this.Delete&&(this.Delete=e)}static from(e){let l=new Nt;return e.forEach(e=>{l.add(e)}),l}static forType(t,e){let l,a=new Nt;var n;return G.config.apisResolver&&t&&(n=G.config.apisResolver(t,e))&&(a.Query=n.Query,a.QueryInto=n.QueryInto,a.Create=n.Create,a.Update=n.Update,a.Patch=n.Patch,a.Delete=n.Delete),t&&(null!=(e=e??(null==(l=G.metadata.value)?void 0:l.api))&&e.operations.forEach(e=>{var l;(null==(l=e.dataModel)?void 0:l.name)==t&&a.add(e)})),a}}let qe={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=>Ze(e.request.inherits,e=>0<=qe.AnyRead.indexOf(e.name)),isQuery:e=>Ze(e.request.inherits,e=>"QueryDb`1"===e.name),isQueryInto:e=>Ze(e.request.inherits,e=>"QueryDb`2"===e.name),isCrud:e=>{var l;return null==(l=e.request.implements)?void 0:l.some(e=>0<=qe.AnyWrite.indexOf(e.name))},isCreate:e=>vs(e,qe.Create),isUpdate:e=>vs(e,qe.Update),isPatch:e=>vs(e,qe.Patch),isDelete:e=>vs(e,qe.Delete),model:e=>{var l;return e?Ze(e.inherits,e=>0<=qe.AnyRead.indexOf(e.name))?null==(l=e.inherits)?void 0:l.genericArgs[0]:null==(l=null==(l=e.implements)?void 0:l.find(e=>0<=qe.AnyWrite.indexOf(e.name)))?void 0:l.genericArgs[0]:null}};function Fa(e){var l;return(null==(l=e.input)?void 0:l.type)||Fs(yl(e))}function Vn(e){return e.endsWith("?")?Mo(e,1):e}function Fs(e){return Sa[Vn(e)]}function Ia(e){return e&&Ma[e]||"String"}function yl(e){return"Nullable`1"===e.type?e.genericArgs[0]:e.type}function tl(e){return e&&"number"==Fs(e)||!1}function Sn(e){return e&&"string"==e.toLowerCase()||!1}function ja(e){return"List`1"==e||e.startsWith("List<")||e.endsWith("[]")}function Mn(e){var l;return!(null==e||!e.type||(l=yl(e),e.isValueType&&-1==l.indexOf("`"))||e.isEnum||null!=Fs(e.type))}function An(e){var l;return!!(null!=e&&e.type&&(l=yl(e),e.isValueType&&-1==l.indexOf("`")||e.isEnum||"hidden"==(null==(l=e.input)?void 0:l.type)||"file"==(null==(l=e.input)?void 0:l.type)||"tag"==(null==(l=e.input)?void 0:l.type)||"combobox"==(null==(l=e.input)?void 0:l.type)||null!=Fs(e.type)))}function Yt(e,l){let t="string"==typeof e?Is(e):e,a=(t||(console.warn("Metadata not found for: "+e),t={request:{name:e}}),function(e){Object.assign(this,e)}),n=(r.prototype.createResponse=function(){return t.returnsVoid?void 0:new a},r.prototype.getTypeName=function(){return t.request.name},r.prototype.getMethod=function(){return t.method||"POST"},r);function r(e){Object.assign(this,e)}return new n(l)}function Oa(e,l,t={}){let a=function(e){Object.assign(this,e)},n=(r.prototype.createResponse=function(){return"function"==typeof t.createResponse?t.createResponse():new a},r.prototype.getTypeName=function(){return e},r.prototype.getMethod=function(){return t.method||"POST"},r);function r(e){Object.assign(this,e)}return new n(l)}function ys(t,e){return t?(Object.keys(t).forEach(e=>{var l=t[e];"string"==typeof l?l.startsWith("/Date")&&(t[e]=Ss(pt(l))):null!=l&&"object"==typeof l&&(Array.isArray(l)?t[e]=Array.from(l):t[e]=Object.assign({},l))}),t):{}}function Da(e,o){let i={};return Array.from(e.elements).forEach(e=>{var r,s=e;if(s.id&&null!=s.value&&""!==s.value){let l=s.id.toLowerCase(),e=o&&o.find(e=>e.name.toLowerCase()==l),t=null==e?void 0:e.type,a=null==(r=null==e?void 0:e.genericArgs)?void 0:r[0],n="checkbox"===s.type?s.checked:s.value;tl(t)?n=Number(n):"List`1"===t&&"string"==typeof n&&(n=n.split(",").map(e=>tl(a)?Number(e):e)),i[s.id]=n}}),i}function bl(e){var l;return(null==(l=null==e?void 0:e.api)?void 0:l.operations)&&0l)?!1:n)){if((t||a)&&(await Yl(t||zt,a),null!=G.metadata.value))return;var r=Qe("client");if(null!=r&&(l=await r.api(new Va)).succeeded&&es(l.response),null!=G.metadata.value)return;await Yl(zt)}return G.metadata.value}function rt(l,t){if(G.config.typeResolver){var e=G.config.typeResolver(l,t);if(e)return e}var a,e=null==(e=G.metadata.value)?void 0:e.api;return e&&l?e.types.find(e=>e.name.toLowerCase()===l.toLowerCase()&&(!t||e.namespace==t))||((a=Is(l))?a.request:(a=e.operations.find(e=>e.response&&e.response.name.toLowerCase()===l.toLowerCase()&&(!t||e.response.namespace==t)))?a.response:null):null}function Is(l){if(G.config.apiResolver){var e=G.config.apiResolver(l);if(e)return e}e=null==(e=G.metadata.value)?void 0:e.api;return e?e.operations.find(e=>e.request.name.toLowerCase()===l.toLowerCase()):null}function Ra({dataModel:e}){var l=null==(l=G.metadata.value)?void 0:l.api;if(!l)return[];let t=l.operations;if(e){let l="string"==typeof e?rt(e):e;t=t.filter(e=>Tn(e.dataModel,l))}return t}function kl(e){return e?rt(e.name,e.namespace):null}function Tn(e,l){return e&&l&&e.name===l.name&&(!e.namespace||!l.namespace||e.namespace===l.namespace)}function Ea(e,l){var t=rt(e);return t&&t.properties&&t.properties.find(e=>e.name.toLowerCase()===l.toLowerCase())}function Fn(e){return In(rt(e))}function In(l){if(l&&l.isEnum&&null!=l.enumNames){var t={};for(let e=0;el.push({key:e,value:t[e]})),l}}function za(e,l){t=e.name,a=(null==l?void 0:l.type)||Fa(e)||"text";var t,a,n=Object.assign({id:t,name:t,type:a},l);return e.isEnum&&(n.type="select",n.allowableEntries=_l(jn(e))),n}function Na(l){let r=[];if(l){let a=st(l),e=Is(l.name),n=kl(null==e?void 0:e.dataModel);a.forEach(l=>{var e;if(An(l)){let t=za(l,l.input);if(t.id=So(t.id),"file"==t.type&&l.uploadTo&&!t.accept&&(e=null==(e=null==(e=G.metadata.value)?void 0:e.plugins.filesUpload)?void 0:e.locations.find(e=>e.name==l.uploadTo))&&!t.accept&&e.allowExtensions&&(t.accept=e.allowExtensions.map(e=>e.startsWith(".")?e:"."+e).join(",")),n&&(e=null==(e=n.properties)?void 0:e.find(e=>e.name==l.name),l.ref||(l.ref=null==e?void 0:e.ref)),t.options)try{let e={input:t,$typeFields:a.map(e=>e.name),$dataModelFields:n?st(n).map(e=>e.name):[],...G.config.scopeWhitelist},l=dl(t.options,e);Object.keys(l).forEach(e=>{t[e]=l[e]})}catch{console.error(`failed to evaluate '${t.options}'`)}r.push(t)}})}return r}function $l(e,l){if(!l.type)return console.error("enumDescriptions missing {type:'EnumType'} options"),[""+e];var t=rt(l.type);if(null==t||!t.enumValues)return console.error("Could not find metadata for "+l.type),[""+e];var a=[];for(let r=0;r"number"==typeof e?$l(e,{type:l}):e}function st(e){if(!e)return[];let l=[],t={};for(;e;)e.properties&&e.properties.forEach(e=>{t[e.name]||(t[e.name]=1,l.push(e))}),e=e.inherits?kl(e.inherits):null;return l.map(e=>e.type.endsWith("[]")?{...e,type:"List`1",genericArgs:[e.type.substring(0,e.type.length-2)]}:e)}function vs(e,l){var t;return(null==(t=e.request.implements)?void 0:t.some(e=>e.name===l))||!1}function ns(e){return e?Dn(e,st(e)):null}function Dn(e,l){var t=l.find(e=>"id"===e.name.toLowerCase());if(t&&t.isPrimaryKey)return t;t=l.find(e=>e.isPrimaryKey)||t;if(!t){var a=qe.model(e);if(a)return Ze(rt(a),e=>ns(e));console.error("Primary Key not found in "+e.name)}return t||null}function Ua(e,l){return Ze(ns(e),e=>_e(l,e.name))}function Pn(e,l,t){return e&&"none"===e.valueType?"":"%In"===t.key||"%Between"===t.key?`(${t.value})`:qa(l,t.value)}function qa(e,l){return!e||tl(e=Vn(e))||"Boolean"===e?l:ja(e)?`[${l}]`:`'${l}'`}function gt(e,l){return{name:e,value:l}}let Qa=[gt("=","%"),gt("!=","%!"),gt(">=",">%"),gt(">","%>"),gt("<=","%<"),gt("<","<%"),gt("In","%In"),gt("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 lt(){var e=v(()=>{var e;return(null==(e=G.metadata.value)?void 0:e.app)||null}),l=v(()=>{var e;return(null==(e=G.metadata.value)?void 0:e.api)||null}),t=v(()=>{var e;return(null==(e=null==(e=null==(e=G.metadata.value)?void 0:e.plugins)?void 0:e.autoQuery)?void 0:e.viewerConventions)||Qa});return wl(),{loadMetadata:Ha,getMetadata:Pa,setMetadata:es,clearMetadata:Ba,metadataApp:e,metadataApi:l,filterDefinitions:t,typeOf:rt,typeOfRef:kl,typeEquals:Tn,apiOf:Is,findApis:Ra,typeName:Ta,typeName2:Ln,property:Ea,enumOptions:Fn,propertyOptions:jn,createFormLayout:Na,typeProperties:st,supportsProp:An,Crud:qe,Apis:Nt,getPrimaryKey:ns,getPrimaryKeyByProps:Dn,getId:Ua,createDto:Yt,makeDto:Oa,toFormValues:ys,formValues:Da,isComplexProp:Mn,asKvps:_l,expandEnumFlags:$l,enumFlagsConverter:On}}let et=class et{static async getOrFetchValue(e,l,t,a,n,r,s){return et.getValue(t,s,n)??(await et.fetchLookupIds(e,l,t,a,n,r,[s]),et.getValue(t,s,n))}static getValue(e,l,t){var a=et.Lookup[e];if(a){a=a[l];if(a)return a[t=t.toLowerCase()]}}static setValue(e,l,t,a){var n=et.Lookup[e]??(et.Lookup[e]={});(n[l]??(n[l]={}))[t=t.toLowerCase()]=a}static setRefValue(e,l){var t,a=_e(l,e.refId);return null==a||null==e.refLabel?null:(t=_e(l,e.refLabel),et.setValue(e.model,a,e.refLabel,t),t)}static async fetchLookupIds(e,l,n,r,s,o,i){var u=l.operations.find(e=>{var l;return qe.isAnyQuery(e)&&(null==(l=e.dataModel)?void 0:l.name)==n});if(u){let a=et.Lookup[n]??(et.Lookup[n]={}),t=[];Object.keys(a).forEach(e=>{var l=a[e];_e(l,s)&&t.push(e)});var d,v=i.filter(e=>!t.includes(e));0!=v.length&&(d=o?null:r+","+s,v={[r+"In"]:v.join(",")},d&&(v.fields=d),d=Yt(u,v),(v=await e.api(d,{jsconfig:"edv,eccn"})).succeeded?(_e(v.response,"results")||[]).forEach(e=>{var l,t;_e(e,r)?(l=""+_e(e,r),t=_e(e,s),s=s.toLowerCase(),(a[l]??(a[l]={}))[s]=""+t):console.error(`result[${r}] == null`,e)}):console.error("Failed to call "+u.request.name))}}},Pt=(Le(et,"Lookup",{}),et),sl=()=>(new Date).getTime(),Ka=["/","T",":","-"],ct={assumeUtc:!0,date:{method:"Intl.DateTimeFormat",options:"{dateStyle:'medium'}"},maxFieldLength:150,maxNestedFields:2,maxNestedFieldLength:30},Za=new Intl.RelativeTimeFormat(ct.locale,{}),en=31536e6,qs={year:en,month:en/12,day:864e5,hour:36e5,minute:6e4,second:1e3},Lt={currency:Hn,bytes:Rn,link:En,linkTel:zn,linkMailTo:Nn,icon:Un,iconRounded:qn,attachment:Qn,hidden:Kn,time:Zn,relativeTime:xl,relativeTimeFromMs:js,enumFlags:Gn,formatDate:Qt,formatNumber:Cl};"iconOnError"in globalThis||(globalThis.iconOnError=Ts);class Ke{}function Wa(e){ct=Object.assign({},ct,e)}function Ga(l){Object.keys(l||{}).forEach(e=>{"function"==typeof l[e]&&(Lt[e]=l[e])})}function Bn(){return Lt}function os(e,l){return l?dt("span",e,l):e}function Hn(e,l){var t=ft(l,["currency"]);return os(new Intl.NumberFormat(void 0,{style:"currency",currency:(null==l?void 0:l.currency)||"USD"}).format(e),t)}function Rn(e,l){return os(hl(e),l)}function En(e,l){return dt("a",e,Ms({...l,href:e}))}function zn(e,l){return dt("a",e,Ms({...l,href:"tel:"+e}))}function Nn(e,l){var{subject:t,body:a}=l=l||{},n=ft(l,["subject","body"]),r={};return t&&(r.subject=t),a&&(r.body=a),dt("a",e,Ms({...n,href:"mailto:"+Et(e,r)}))}function Un(e,l){return dt("img",void 0,Object.assign({class:"w-6 h-6",title:e,src:Ht(e),onerror:"iconOnError(this)"},l))}function qn(e,l){return dt("img",void 0,Object.assign({class:"w-8 h-8 rounded-full",title:e,src:Ht(e),onerror:"iconOnError(this)"},l))}function Qn(e,l){var t=vl(e),a=(null==ls(t)||ml(e)?Ht:gl)(e),a=Ht(a),n=l&&(l["icon-class"]||l.iconClass),a=dt("img",void 0,Object.assign({class:"w-6 h-6",src:a,onerror:"iconOnError(this,'att')"},n?{class:n}:null));return dt("a",a+`${t}`,Object.assign({class:"flex",href:Ht(e),title:e},l?ft(l,["icon-class","iconClass"]):null))}function Kn(e){return""}function Zn(e,l){var t="string"==typeof e?new Date(1e3*un(e)):Vs(e)?pt(e):null;return os(t?Ao(t):e,l)}function Qt(e,l){var t,a;return null==e?"":(t="number"==typeof e?new Date(e):"string"==typeof e?pt(e):e,Vs(t)?os(("function"==typeof(a=ct.date?Os(ct.date):null)?a:To)(t),l):(console.warn(t+" is not a Date value"),null==e?"":""+e))}function Cl(e,l){if("number"!=typeof e)return e;let t=ct.number?Os(ct.number):null,a="function"==typeof t?t(e):""+e;return""===a&&(console.warn(`formatNumber(${e}) => `+a,t),a=""+e),os(a,l)}function Wn(l,t,a){var e=Fo(l),n=t?Os(t):null;if("function"!=typeof n)return(null!=e?Vs(e)?Qt(e,a):"number"==typeof e?Cl(e,a):e:null)??"";{let e=a;if(null!=t&&t.options)try{e=dl(t.options,a)}catch(e){console.error(`Could not evaluate '${t.options}'`,e,", with scope:",a)}return n(l,e)}}function ts(e,l,t){return(Tt(e)?Wn:tr)(e,l,t)}function Ja(e){if(null!=e){if("number"==typeof e)return e;if(Vs(e))return e.getTime()-sl();if("string"==typeof e){var l=Number(e);if(!isNaN(l))return l;if("P"===e[0]||e.startsWith("-P"))return 1e3*un(e)*-1;if(0<=Io(e,Ka))return pt(e).getTime()-sl()}}return NaN}function js(e,l){for(var t in qs)if(Math.abs(e)>qs[t]||"second"===t)return(l||Za).format(Math.round(e/qs[t]),t)}function xl(e,l){var t=Ja(e);return isNaN(t)?"":js(t,l)}function Xa(e,l){return js(e.getTime()-(l?l.getTime():sl()))}function Gn(e,l){return $l(e,l).join(", ")}function Os(l){if(l){let{method:e,options:a}=l,n=e+`(${a})`,r=Lt[n]||Lt[e];if("function"==typeof r)return r;let s=l.locale||ct.locale;if(e.startsWith("Intl.")){var t=s?`'${s}'`:"undefined",t=`return new ${e}(${t},${a||"undefined"})`;try{let l=Function(t)();return r="Intl.DateTimeFormat"===e?e=>l.format(pt(e)):"Intl.NumberFormat"===e?e=>l.format(Number(e)):"Intl.RelativeTimeFormat"===e?e=>xl(e,l):e=>l.format(e),Lt[n]=r}catch(e){console.error("Invalid format: "+t,e)}}else{let t=globalThis[e];if("function"==typeof t){let l=null!=a?Function("return "+a)():void 0;return r=e=>t(e,l,s),Lt[n]=r}console.error(`No '${e}' function exists`,Object.keys(Lt))}}return null}function Jn(e,l){return e?e.length>l?e.substring(0,l)+"...":e:""}function Xn(e){return"/Date("===e.substring(0,6)?Qt(pt(e)):e}function Ya(e){return Ll(Ut(e)).replace(/"/g,"")}function Yn(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 Ll(e,l=4){return"object"!=typeof(e=Yn(e))?"string"==typeof e?e:""+e:JSON.stringify(e,void 0,l)}function er(e){return"object"!=typeof(e=Yn(e))?"string"==typeof e?e:""+e:Ll(e=Ut(e=Object.assign({},e)))}function Ut(t){if(null==t)return null;if("string"==typeof t)return Xn(t);if(Tt(t))return t;if(t instanceof Date)return Qt(t);if(Array.isArray(t))return t.map(Ut);if("object"!=typeof t)return t;{let l={};return Object.keys(t).forEach(e=>{"__type"!=e&&(l[e]=Ut(t[e]))}),l}}function tr(e,l,t){let a=e;if(Array.isArray(e)){if(Tt(e[0]))return a.join(",");null!=e[0]&&(a=e[0])}if(null==a)return"";if(a instanceof Date)return Qt(a,t);var n=Object.keys(a),r=[];for(let i=0;i${s}: `+Ks(Jn(Xn(o),ct.maxNestedFieldLength)))}return 2t.value.navigate(l.to??"/");return(e,l)=>(o(),i("a",Te({onClick:Ue(a,["prevent"]),title:e.to,href:"javascript:void(0)"},e.$attrs),[U(e.$slots,"default")],16,sr))}});class nr{constructor(){Le(this,"callbacks",{})}register(e,l){this.callbacks[e]=l}has(e){return!!this.callbacks[e]}invoke(e,l){var t=this.callbacks[e];"function"==typeof t&&t(e,l)}}let tt=class tt{static component(e){var l=tt.components[e];if(l)return l;let t=Wl(e),a=Object.keys(tt.components).find(e=>Wl(e)===t);return a&&tt.components[a]||null}},G=(Le(tt,"config",{redirectSignIn:"/signin",redirectSignOut:"/auth/logout",navigate:e=>location.href=e,assetsPathResolver:e=>e,fallbackPathResolver:e=>e,storage:new hn,tableIcon:{svg:""},scopeWhitelist:{enumFlagsConverter:On,...Bn()}}),Le(tt,"autoQueryGridDefaults",{deny:[],hide:[],toolbarButtonClass:void 0,tableStyle:"stripedRows",take:25,maxFieldLength:150}),Le(tt,"events",jo()),Le(tt,"user",O(null)),Le(tt,"metadata",O(null)),Le(tt,"components",{RouterLink:lr}),Le(tt,"interceptors",new nr),tt);function or(e){G.config=Object.assign(G.config,e)}function ar(e){G.autoQueryGridDefaults=Object.assign(G.autoQueryGridDefaults,e)}function Vl(e){return e&&G.config.assetsPathResolver?G.config.assetsPathResolver(e):e}function rr(e){return e&&G.config.fallbackPathResolver?G.config.fallbackPathResolver(e):e}function ir(e,l){G.interceptors.register(e,l)}function It(){var e=v(()=>G.config),l=v(()=>G.autoQueryGridDefaults);return{config:e,setConfig:or,events:G.events,autoQueryGridDefaults:l,setAutoQueryGridDefaults:ar,assetsPathResolver:Vl,fallbackPathResolver:rr,registerInterceptor:ir}}let eo=de({inheritAttrs:!1,props:{image:Object,svg:String,src:String,alt:String,type:String},setup(n,{attrs:r}){return()=>{let e=n.image;var l,t;n.type&&(t=lt().typeOf,(t=t(n.type))||console.warn(`Type ${n.type} does not exist`),null!=t&&t.icon?e=null==t?void 0:t.icon:console.warn(`Type ${n.type} does not have a [Svg] icon`));let a=n.svg||(null==e?void 0:e.svg)||"";return a.startsWith("").indexOf("class="),l=`${(null==e?void 0:e.cls)||""} `+(r.class||""),a=-1==t?`Ts(e.target)})}}}),ur={class:"text-2xl font-semibold text-gray-900 dark:text-gray-300"},dr={class:"flex"},cr=l("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"},null,-1),fr=l("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"},null,-1),vr=[cr,fr],pr=de({__name:"Loading",props:{imageClass:{default:"w-6 h-6"}},setup(e){return(e,t)=>(o(),i("div",ur,[l("div",dr,[(o(),i("svg",{class:y(["self-center inline mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-gray-600 dark:fill-gray-300",e.imageClass]),role:"status",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},vr,2)),l("span",null,[U(e.$slots,"default")])])]))}}),mr=["href","onClick"],hr=["type"],tn="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",gr=de({__name:"OutlineButton",props:{type:{default:"submit"},href:{}},setup(e){return(t,e)=>{var a=Z("router-link");return t.href?(o(),ae(a,{key:0,to:t.href},{default:xe(({navigate:e})=>[l("button",{class:y(tn),href:t.href,onClick:e},[U(t.$slots,"default")],8,mr)]),_:3},8,["to"])):(o(),i("button",Te({key:1,type:t.type,class:tn},t.$attrs),[U(t.$slots,"default")],16,hr))}}}),yr=["href","onClick"],br=["type"],wr=de({__name:"PrimaryButton",props:{type:{default:"submit"},href:{},color:{default:"indigo"}},setup(e){let t=e,a={blue:"focus:ring-indigo-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-indigo-500 bg-purple-600 hover:bg-purple-700 disabled:bg-purple-400 disabled:hover:bg-purple-400 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800",red:"focus:ring-red-500 bg-red-600 hover:bg-red-700 disabled:bg-red-400 disabled:hover:bg-red-400 focus:ring-red-500 dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-500",green:"focus:ring-green-500 bg-green-600 hover:bg-green-700 disabled:bg-green-400 disabled:hover:bg-green-400 focus:ring-green-500 dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-green-500",sky:"focus:ring-sky-500 bg-sky-600 hover:bg-sky-700 disabled:bg-sky-400 disabled:hover:bg-sky-400 dark:bg-sky-600 dark:hover:bg-sky-700 dark:focus:ring-sky-500",cyan:"focus:ring-cyan-500 bg-cyan-600 hover:bg-cyan-700 disabled:bg-cyan-400 disabled:hover:bg-cyan-400 dark:bg-cyan-600 dark:hover:bg-cyan-700 dark:focus:ring-cyan-500",indigo:"focus:ring-indigo-500 bg-indigo-600 hover:bg-indigo-700 disabled:bg-indigo-400 disabled:hover:bg-indigo-400 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},n=v(()=>"inline-flex justify-center rounded-md border border-transparent py-2 px-4 text-sm font-medium shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 dark:ring-offset-black text-white "+(a[t.color]||a.indigo));return(t,e)=>{var a=Z("router-link");return t.href?(o(),ae(a,{key:0,to:t.href},{default:xe(({navigate:e})=>[l("button",{class:y(n.value),href:t.href,onClick:e},[U(t.$slots,"default")],10,yr)]),_:3},8,["to"])):(o(),i("button",Te({key:1,type:t.type,class:n.value},t.$attrs),[U(t.$slots,"default")],16,br))}}}),kr=["type","href","onClick"],_r=["type"],sn="inline-flex justify-center rounded-md border border-gray-300 py-2 px-4 text-sm font-medium shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-400 dark:hover:text-white hover:bg-gray-50 dark:hover:bg-gray-700 focus:ring-indigo-500 dark:focus:ring-indigo-600 dark:ring-offset-black",$r=de({__name:"SecondaryButton",props:{type:{},href:{}},setup(e){return(t,e)=>{var a=Z("router-link");return t.href?(o(),ae(a,{key:0,to:t.href},{default:xe(({navigate:e})=>[l("button",{type:t.type??"button",class:y(sn),href:t.href,onClick:e},[U(t.$slots,"default")],8,kr)]),_:3},8,["to"])):(o(),i("button",Te({key:1,type:t.type??"button",class:sn},t.$attrs),[U(t.$slots,"default")],16,_r))}}});function Ge(e,l){return Array.isArray(e)?0<=e.indexOf(l):e==l||e.includes(l)}let Cs={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"},ot={base:"block w-full sm:text-sm rounded-md dark:text-white dark:bg-gray-900 disabled:bg-slate-50 disabled:text-slate-500 disabled:border-slate-200 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"},Gt={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"},Bt={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"},ll={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"},Ee={panelClass(e="slideOver"){return("card"==e?Gt:Bt).panelClass},formClass(e="slideOver"){return("card"==e?Gt:Bt).formClass},headingClass(e="slideOver"){return("card"==e?Gt:Bt).headingClass},subHeadingClass(e="slideOver"){return("card"==e?Gt:Bt).subHeadingClass},buttonsClass:"mt-4 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"},he={getGridClass(e=0){return he.gridClass},getGrid2Class(e="stripedRows"){return Ge(e,"fullWidth")?"overflow-x-auto":he.grid2Class},getGrid3Class(e="stripedRows"){return Ge(e,"fullWidth")?"inline-block min-w-full py-2 align-middle":he.grid3Class},getGrid4Class(e="stripedRows"){return Ge(e,"whiteBackground")?"":Ge(e,"fullWidth")?"overflow-hidden shadow-sm ring-1 ring-black ring-opacity-5":he.grid4Class},getTableClass(e="stripedRows"){return Ge(e,"fullWidth")||Ge(e,"verticalLines")?"min-w-full divide-y divide-gray-300":he.tableClass},getTheadClass(e="stripedRows"){return Ge(e,"whiteBackground")?"":he.theadClass},getTheadRowClass(e="stripedRows"){return he.theadRowClass+(Ge(e,"verticalLines")?" divide-x divide-gray-200 dark:divide-gray-700":"")},getTheadCellClass(e="stripedRows"){return he.theadCellClass+(Ge(e,"uppercaseHeadings")?" uppercase":"")},getTbodyClass(e="stripedRows"){return(Ge(e,"whiteBackground")||Ge(e,"verticalLines")?"divide-y divide-gray-200 dark:divide-gray-800":he.tableClass)+(Ge(e,"verticalLines")?" bg-white":"")},getTableRowClass(e="stripedRows",l,t,a){return(a?"cursor-pointer ":"")+(t?"bg-indigo-100 dark:bg-blue-800":(a?"hover:bg-yellow-50 dark:hover:bg-blue-900 ":"")+(!Ge(e,"stripedRows")||l%2==0?"bg-white dark:bg-black":"bg-gray-50 dark:bg-gray-800"))+(Ge(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 ring-opacity-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"},Cr={colspans:"col-span-3 sm:col-span-3"},fh=Object.freeze(Object.defineProperty({__proto__:null,a:Cs,card:Gt,dummy:Cr,form:Ee,grid:he,input:ot,modal:ll,slideOver:Bt},Symbol.toStringTag,{value:"Module"})),xr=de({__name:"TextLink",props:{color:{default:"blue"}},setup(e){let l=yo(),t=e,a=v(()=>(Cs[t.color]||Cs.blue)+(l.href?"":" cursor-pointer"));return(e,l)=>(o(),i("a",{class:y(a.value)},[U(e.$slots,"default")],2))}}),Lr={class:"flex","aria-label":"Breadcrumb"},Vr={role:"list",class:"flex items-center space-x-4"},Sr=["href","title"],Mr=l("svg",{class:"h-6 w-6 flex-shrink-0",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[l("path",{"fill-rule":"evenodd",d:"M9.293 2.293a1 1 0 011.414 0l7 7A1 1 0 0117 11h-1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-3a1 1 0 00-1-1H9a1 1 0 00-1 1v3a1 1 0 01-1 1H5a1 1 0 01-1-1v-6H3a1 1 0 01-.707-1.707l7-7z","clip-rule":"evenodd"})],-1),Ar={class:"sr-only"},Tr=de({__name:"Breadcrumbs",props:{homeHref:{default:"/"},homeLabel:{default:"Home"}},setup(e){return(e,t)=>(o(),i("nav",Lr,[l("ol",Vr,[l("li",null,[l("div",null,[l("a",{href:e.homeHref,class:"text-gray-400 dark:text-gray-500 hover:text-gray-500 dark:hover:text-gray-400",title:e.homeLabel},[Mr,l("span",Ar,F(e.homeLabel),1)],8,Sr)])]),U(e.$slots,"default")])]))}}),Fr={class:"flex items-center"},Ir=l("svg",{class:"h-6 w-6 flex-shrink-0 text-gray-400 dark:text-gray-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[l("path",{"fill-rule":"evenodd",d:"M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z","clip-rule":"evenodd"})],-1),jr=["href","title"],Or=["title"],Dr=de({__name:"Breadcrumb",props:{href:{},title:{}},setup(e){return(e,t)=>(o(),i("li",null,[l("div",Fr,[Ir,e.href?(o(),i("a",{key:0,href:e.href,class:"ml-4 text-lg font-medium text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300",title:e.title},[U(e.$slots,"default")],8,jr)):(o(),i("span",{key:1,class:"ml-4 text-lg font-medium text-gray-700 dark:text-gray-300",title:e.title},[U(e.$slots,"default")],8,Or))])]))}}),Pr={key:0,class:"text-base font-semibold text-gray-500 dark:text-gray-400"},Br={role:"list",class:"mt-4 divide-y divide-gray-200 dark:divide-gray-800 border-t border-b border-gray-200 dark:border-gray-800"},Hr=de({__name:"NavList",props:{title:{}},setup(e){return(e,t)=>(o(),i("div",null,[e.title?(o(),i("h2",Pr,F(e.title),1)):x("",!0),l("ul",Br,[U(e.$slots,"default")])]))}}),Rr={class:"relative flex items-start space-x-4 py-6"},Er={class:"flex-shrink-0"},zr={class:"flex h-12 w-12 items-center justify-center rounded-lg bg-indigo-50 dark:bg-indigo-900"},Nr={class:"min-w-0 flex-1"},Ur={class:"text-base font-medium text-gray-900 dark:text-gray-100"},qr={class:"rounded-sm focus-within:ring-2 focus-within:ring-indigo-500 focus-within:ring-offset-2"},Qr=["href"],Kr=l("span",{class:"absolute inset-0","aria-hidden":"true"},null,-1),Zr={class:"text-base text-gray-500"},Wr=l("div",{class:"flex-shrink-0 self-center"},[l("svg",{class:"h-5 w-5 text-gray-400",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[l("path",{"fill-rule":"evenodd",d:"M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z","clip-rule":"evenodd"})])],-1),Gr=de({__name:"NavListItem",props:{title:{},href:{},icon:{},iconSvg:{},iconSrc:{},iconAlt:{}},setup(e){return(e,t)=>{var a=Z("Icon");return o(),i("li",Rr,[l("div",Er,[l("span",zr,[ye(a,{class:"w-6 h-6 text-indigo-700 dark:text-indigo-300",image:e.icon,src:e.iconSrc,svg:e.iconSvg,alt:e.iconAlt},null,8,["image","src","svg","alt"])])]),l("div",Nr,[l("h3",Ur,[l("span",qr,[l("a",{href:e.href,class:"focus:outline-none"},[Kr,ke(" "+F(e.title),1)],8,Qr)])]),l("p",Zr,[U(e.$slots,"default")])]),Wr])}}});function to(e){return e&&e.SessionId?Oo(e):e}function Jr(e){G.user.value=to(e),G.events.publish("signIn",e)}function Xr(){G.user.value=null,G.events.publish("signOut",null)}let Sl=e=>(null==e?void 0:e.roles)||[],Ml=e=>(null==e?void 0:e.permissions)||[];function so(e){return 0<=Sl(G.user.value).indexOf(e)}function Yr(e){return 0<=Ml(G.user.value).indexOf(e)}function Al(){return so("Admin")}function bs(e){if(!e)return!1;if(!e.requiresAuth)return!0;var l=G.user.value;if(!l)return!1;if(Al())return!0;let[t,a]=[Sl(l),Ml(l)],[n,r,s,o]=[e.requiredRoles||[],e.requiredPermissions||[],e.requiresAnyRole||[],e.requiresAnyPermission||[]];return!(!n.every(e=>0<=t.indexOf(e))||00<=t.indexOf(e))||!r.every(e=>0<=a.indexOf(e))||00<=a.indexOf(e)))}function ei(e){if(!e||!e.requiresAuth)return null;var l=G.user.value;if(!l)return`${e.request.name} requires Authentication`;if(Al())return null;let[t,a]=[Sl(l),Ml(l)],[n,r,s,o]=[e.requiredRoles||[],e.requiredPermissions||[],e.requiresAnyRole||[],e.requiresAnyPermission||[]],i=n.filter(e=>t.indexOf(e)<0);return 0""+e+"").join(", ")} Role`+(1a.indexOf(e)<0)).length?`Requires ${l.map(e=>""+e+"").join(", ")} Permission`+(10<=t.indexOf(e))?`Requires any ${s.filter(e=>t.indexOf(e)<0).map(e=>""+e+"").join(", ")} Role`+(10<=a.indexOf(e))?`Requires any ${o.filter(e=>a.indexOf(e)<0).map(e=>""+e+"").join(", ")} Permission`+(1G.user.value||null),toAuth:to,isAuthenticated:v(()=>null!=G.user.value),hasRole:so,hasPermission:Yr,isAdmin:Al,canAccess:bs,invalidAccessMessage:ei}}let ti={key:0},si={class:"md:p-4"},lo=de({__name:"EnsureAccess",props:{invalidAccess:{},alertClass:{}},emits:["done"],setup(e){let r=Tl().isAuthenticated,t=It().config,s=()=>{var e=location.href.substring(location.origin.length)||"/",e=Et(t.value.redirectSignIn,{redirect:e});t.value.navigate(e)},u=()=>{var e=location.href.substring(location.origin.length)||"/",e=Et(t.value.redirectSignOut,{ReturnUrl:e});t.value.navigate(e)};return(e,t)=>{var a=Z("Alert"),n=Z("SecondaryButton");return e.invalidAccess?(o(),i("div",ti,[ye(a,{class:y(e.alertClass),innerHTML:e.invalidAccess},null,8,["class","innerHTML"]),l("div",si,[X(r)?(o(),ae(n,{key:1,onClick:u},{default:xe(()=>[ke("Sign Out")]),_:1})):(o(),ae(n,{key:0,onClick:s},{default:xe(()=>[ke("Sign In")]),_:1}))])])):x("",!0)}}}),li={class:"absolute top-0 right-0 bg-white dark:bg-black border dark:border-gray-800 rounded normal-case text-sm shadow w-80"},ni={class:"p-4"},oi=l("h3",{class:"text-base font-medium mb-3 dark:text-gray-100"},"Sort",-1),ai={class:"flex w-full justify-center"},ri=l("svg",{class:"w-6 h-6",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16"},[l("g",{fill:"currentColor"},[l("path",{"fill-rule":"evenodd",d:"M10.082 5.629L9.664 7H8.598l1.789-5.332h1.234L13.402 7h-1.12l-.419-1.371h-1.781zm1.57-.785L11 2.687h-.047l-.652 2.157h1.351z"}),l("path",{d:"M12.96 14H9.028v-.691l2.579-3.72v-.054H9.098v-.867h3.785v.691l-2.567 3.72v.054h2.645V14zm-8.46-.5a.5.5 0 0 1-1 0V3.707L2.354 4.854a.5.5 0 1 1-.708-.708l2-1.999l.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L4.5 3.707V13.5z"})])],-1),ii=l("span",null,"ASC",-1),ui=[ri,ii],di=xs('DESC',2),ci=[di],fi=l("h3",{class:"text-base font-medium mt-4 mb-2"}," Filter ",-1),vi={key:0},pi=["id","value"],mi=["for"],hi={key:1},gi={class:"mb-2"},yi={class:"inline-flex rounded-full items-center py-0.5 pl-2.5 pr-1 text-sm font-medium bg-indigo-100 text-indigo-700"},bi=["onClick"],wi=l("svg",{class:"h-2 w-2",stroke:"currentColor",fill:"none",viewBox:"0 0 8 8"},[l("path",{"stroke-linecap":"round","stroke-width":"1.5",d:"M1 1l6 6m0-6L1 7"})],-1),ki=[wi],_i={class:"flex"},$i=l("svg",{class:"h-6 w-6",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[l("path",{"fill-rule":"evenodd",d:"M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z","clip-rule":"evenodd"})],-1),Ci=[$i],xi={class:"bg-gray-50 dark:bg-gray-900 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse"},Fl=de({__name:"FilterColumn",props:{definitions:{},column:{},topLeft:{}},emits:["done","save"],setup(e,{emit:t}){let u=e,a=t,d=O(),c=O(""),p=O(""),f=O([]),m=v(()=>1==u.column.meta.isEnum),s=v(()=>rt("Nullable`1"===u.column.meta.type?u.column.meta.genericArgs[0]:u.column.meta.type)),g=v(()=>1==u.column.meta.isEnum?_l(Fn(s.value.name)):[]),h=v(()=>{var e;return(null==(e=n(u.column.type))?void 0:e.map(e=>({key:e.value,value:e.name})))||[]}),b=O({filters:[]}),w=v(()=>b.value.filters);function n(e){let l=u.definitions;return l=Sn(e)?l:l.filter(e=>"string"!==e.types)}function k(e,l){return n(e).find(e=>e.value===l)}function C(){var e;c.value&&(e=null==(e=k(u.column.type,c.value))?void 0:e.name)&&(b.value.filters.push({key:c.value,name:e,value:p.value}),c.value=p.value="")}function L(){a("done")}function M(){var e;c.value="%",null!=(e=d.value)&&e.focus()}function V(){var e,l;p.value&&C(),m.value&&(l=Object.values(f.value).filter(e=>e),b.value.filters=0parseInt(e)).reduce((e,l)=>e+l,0).toString()}]:[{key:"%In",name:"In",value:l.join(",")}]:[]),a("save",b.value),a("done")}function S(e){b.value.sort=e===b.value.sort?void 0:e,St(V)}return ws(()=>b.value=Object.assign({},u.column.settings,{filters:Array.from(u.column.settings.filters)})),ws(()=>{let e,l,t,a,n,r=(null==(t=null==(l=null==(e=u.column.settings.filters)?void 0:e[0])?void 0:l.value)?void 0:t.split(","))||[];if(00<(l&parseInt(e))))||[]}f.value=r}),(a,t)=>{var e=Z("SelectInput"),n=Z("TextInput"),r=Z("PrimaryButton"),s=Z("SecondaryButton");return o(),i("div",{class:"fixed z-20 inset-0 overflow-y-auto",onClick:L,onVnodeMounted:M},[l("div",{class:"absolute",style:nl(`top:${a.topLeft.y}px;left:${a.topLeft.x}px`),onClick:t[5]||(t[5]=Ue(()=>{},["stop"]))},[l("div",li,[l("div",ni,[oi,l("div",ai,[l("button",{type:"button",title:"Sort Ascending",onClick:t[0]||(t[0]=e=>S("ASC")),class:y(`${"ASC"===b.value.sort?"bg-indigo-100 border-indigo-500":"bg-white hover:bg-gray-50 border-gray-300"} mr-1 inline-flex items-center px-2.5 py-1.5 border shadow-sm text-sm font-medium rounded text-gray-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500`)},ui,2),l("button",{type:"button",title:"Sort Descending",onClick:t[1]||(t[1]=e=>S("DESC")),class:y(`${"DESC"===b.value.sort?"bg-indigo-100 border-indigo-500":"bg-white hover:bg-gray-50 border-gray-300"} ml-1 inline-flex items-center px-2.5 py-1.5 border shadow-sm text-sm font-medium rounded text-gray-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500`)},ci,2)]),fi,m.value?(o(),i("div",vi,[(o(!0),i(Me,null,je(g.value,e=>(o(),i("div",{key:e.key,class:"flex items-center"},[Mt(l("input",{type:"checkbox",id:e.key,value:e.key,"onUpdate:modelValue":t[2]||(t[2]=e=>f.value=e),class:"h-4 w-4 border-gray-300 rounded text-indigo-600 focus:ring-indigo-500"},null,8,pi),[[ol,f.value]]),l("label",{for:e.key,class:"ml-3"},F(e.value),9,mi)]))),128))])):(o(),i("div",hi,[(o(!0),i(Me,null,je(w.value,(e,t)=>(o(),i("div",gi,[l("span",yi,[ke(F(a.column.name)+" "+F(e.name)+" "+F((e=e,Pn(k(u.column.type,e.key),u.column.type,e)))+" ",1),l("button",{type:"button",onClick:e=>{var l;l=t,b.value.filters.splice(l,1)},class:"flex-shrink-0 ml-0.5 h-4 w-4 rounded-full inline-flex items-center justify-center text-indigo-400 hover:bg-indigo-200 hover:text-indigo-500 focus:outline-none focus:bg-indigo-500 focus:text-white"},ki,8,bi)])]))),256)),l("div",_i,[ye(e,{id:"filterRule",class:"w-32 mr-1",modelValue:c.value,"onUpdate:modelValue":t[3]||(t[3]=e=>c.value=e),entries:h.value,label:"",placeholder:""},null,8,["modelValue","entries"]),"none"!==(null==(e=k(a.column.type,c.value))?void 0:e.valueType)?(o(),ae(n,{key:0,ref_key:"txtFilter",ref:d,id:"filterValue",class:"w-32 mr-1",type:"text",modelValue:p.value,"onUpdate:modelValue":t[4]||(t[4]=e=>p.value=e),onKeyup:on(C,["enter"]),label:"",placeholder:""},null,8,["modelValue"])):x("",!0),l("div",{class:"pt-1"},[l("button",{type:"button",onClick:C,class:"inline-flex items-center p-1 border border-transparent rounded-full shadow-sm text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500"},Ci)])])]))]),l("div",xi,[ye(r,{onClick:V,color:"red",class:"ml-2"},{default:xe(()=>[ke(" Save ")]),_:1}),ye(s,{onClick:L},{default:xe(()=>[ke(" Cancel ")]),_:1})])])],4)],512)}}}),Li={class:"px-4 sm:px-6 lg:px-8 text-sm"},Vi={class:"flex flex-wrap"},Si={class:"group pr-4 sm:pr-6 lg:pr-8"},Mi={class:"flex justify-between w-full font-medium"},Ai={class:"w-6 flex justify-end"},Ti={class:"hidden group-hover:inline"},Fi=["onClick","title"],Ii=l("svg",{class:"h-2 w-2",stroke:"currentColor",fill:"none",viewBox:"0 0 8 8"},[l("path",{"stroke-linecap":"round","stroke-width":"1.5",d:"M1 1l6 6m0-6L1 7"})],-1),ji=[Ii],Oi={key:0,class:"pt-2"},Di={class:"ml-2"},Pi={key:1},Bi={class:"pt-2"},Hi={class:"inline-flex rounded-full items-center py-0.5 pl-2.5 pr-1 text-sm font-medium bg-indigo-100 text-indigo-700"},Ri=["onClick"],Ei=l("svg",{class:"h-2 w-2",stroke:"currentColor",fill:"none",viewBox:"0 0 8 8"},[l("path",{"stroke-linecap":"round","stroke-width":"1.5",d:"M1 1l6 6m0-6L1 7"})],-1),zi=[Ei],Ni=l("span",null,"Clear All",-1),Ui=[Ni],Il=de({__name:"FilterViews",props:{definitions:{},columns:{}},emits:["done","change"],setup(e,{emit:t}){let a=e,r=t,n=v(()=>a.columns.filter(e=>0{let l=a.definitions;return l=Sn(e)?l:l.filter(e=>"string"!==e.types)})(e).find(e=>e.value===l)}function u(){a.columns.forEach(e=>{e.settings.filters=[],r("change",e)}),r("done")}return(e,t)=>(o(),i("div",Li,[l("div",Vi,[(o(!0),i(Me,null,je(n.value,n=>{return o(),i("fieldset",Si,[l("legend",Mi,[l("span",null,F(X(Pe)(n.name)),1),l("span",Ai,[l("span",Ti,[l("button",{onClick:e=>{var l;(l=n).settings.filters=[],r("change",l)},title:`Clear all ${X(Pe)(n.name)} filters`,class:"flex-shrink-0 ml-0.5 h-4 w-4 rounded-full inline-flex items-center justify-center text-red-600 hover:bg-red-200 hover:text-red-500 focus:outline-none focus:bg-red-500 focus:text-white"},ji,8,Fi)])])]),n.meta.isEnum?(o(),i("div",Oi,[(o(!0),i(Me,null,je((e=n.settings.filters,null==(t=null==(t=null==e?void 0:e[0])?void 0:t.value)?void 0:t.split(",")),e=>(o(),i("div",{key:e,class:"flex items-center"},[l("label",Di,F(e),1)]))),128))])):(o(),i("div",Pi,[(o(!0),i(Me,null,je(n.settings.filters,(e,t)=>{return o(),i("div",Bi,[l("span",Hi,[ke(F(n.name)+" "+F(e.name)+" "+F((e=e,Pn(s((a=n).type,e.value),a.type,e)))+" ",1),l("button",{type:"button",onClick:e=>{var l;(l=n).settings.filters.splice(t,1),r("change",l)},class:"flex-shrink-0 ml-0.5 h-4 w-4 rounded-full inline-flex items-center justify-center text-indigo-400 hover:bg-indigo-200 hover:text-indigo-500 focus:outline-none focus:bg-indigo-500 focus:text-white"},zi,8,Ri)])]);var a}),256))]))]);var e,t}),256))]),l("div",{class:"flex justify-center pt-4"},[l("button",{type:"button",onClick:u,class:"inline-flex items-center px-2.5 py-1.5 border border-gray-300 shadow-sm text-sm font-medium rounded text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500"},Ui)])]))}}),qi={class:"bg-white dark:bg-black px-4 pt-5 pb-4 sm:p-6 sm:pb-4"},Qi={class:""},Ki={class:"mt-3 text-center sm:mt-0 sm:mx-4 sm:text-left"},Zi=l("h3",{class:"text-lg leading-6 font-medium text-gray-900 dark:text-gray-100"},"Query Preferences",-1),Wi={class:"mt-4"},Gi=["for"],Ji=["id"],Xi=["value","selected"],Yi={class:"mt-4 flex items-center py-4 border-b border-gray-200 dark:border-gray-800"},eu=["id","checked"],tu=["for"],su={class:"mt-4"},lu={class:"pb-2 px-4"},nu={class:""},ou=["id","value"],au=["for"],ru={class:"bg-gray-50 dark:bg-gray-900 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse"},jl=de({__name:"QueryPrefs",props:{id:{default:"QueryPrefs"},columns:{},prefs:{},maxLimit:{}},emits:["done","save"],setup(e,{emit:t}){let a=It().autoQueryGridDefaults,s=e,n=t,u=O({}),d=(ws(()=>u.value=Object.assign({take:a.value.take,selectedColumns:[]},s.prefs)),[10,25,50,100,250,500,1e3]);function v(){n("done")}function c(){n("save",u.value)}return(e,t)=>{let a=Z("PrimaryButton"),n=Z("SecondaryButton"),r=Z("ModalDialog");return o(),ae(r,{id:e.id,onDone:v,"size-class":"w-full sm:max-w-prose"},{default:xe(()=>[l("div",qi,[l("div",Qi,[l("div",Ki,[Zi,l("div",Wi,[l("label",{for:e.id+"-take",class:"block text-sm font-medium text-gray-700 dark:text-gray-300"},"Results per page",8,Gi),Mt(l("select",{id:e.id+"-take","onUpdate:modelValue":t[0]||(t[0]=e=>u.value.take=e),class:"mt-1 block w-full pl-3 pr-10 py-2 text-base bg-white dark:bg-black border-gray-300 dark:border-gray-700 focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm rounded-md"},[(o(!0),i(Me,null,je(d.filter(e=>null==s.maxLimit||e<=s.maxLimit),e=>(o(),i("option",{value:e,selected:e===u.value.take},F(e),9,Xi))),256))],8,Ji),[[bo,u.value.take]])]),l("div",Yi,[l("input",{type:"radio",id:e.id+"-allColumns",onClick:t[1]||(t[1]=e=>u.value.selectedColumns=[]),checked:0===u.value.selectedColumns.length,class:"focus:ring-indigo-500 h-4 w-4 bg-white dark:bg-black text-indigo-600 dark:text-indigo-400 border-gray-300 dark:border-gray-700"},null,8,eu),l("label",{class:"ml-3 block text-gray-700 dark:text-gray-300",for:e.id+"-allColumns"},"View all columns",8,tu)]),l("div",su,[l("div",lu,[l("div",nu,[(o(!0),i(Me,null,je(e.columns,e=>(o(),i("div",{key:e.name,class:"flex items-center"},[Mt(l("input",{type:"checkbox",id:e.name,value:e.name,"onUpdate:modelValue":t[2]||(t[2]=e=>u.value.selectedColumns=e),class:"h-4 w-4 bg-white dark:bg-black border-gray-300 dark:border-gray-700 rounded text-indigo-600 dark:text-indigo-400 focus:ring-indigo-500"},null,8,ou),[[ol,u.value.selectedColumns]]),l("label",{for:e.name,class:"ml-3"},F(e.name),9,au)]))),128))])])])])])]),l("div",ru,[ye(a,{onClick:c,color:"red",class:"ml-2"},{default:xe(()=>[ke(" Save ")]),_:1}),ye(n,{onClick:v},{default:xe(()=>[ke(" Cancel ")]),_:1})])]),_:1},8,["id"])}}}),iu={key:0},uu={key:1},du={key:2,class:"pt-1"},cu={key:0},fu={key:1},vu={key:2},pu={key:4},mu={class:"pl-1 pt-1 flex flex-wrap"},hu={class:"flex mt-1"},gu=["title"],yu=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("g",{"stroke-width":"1.5",fill:"none"},[l("path",{d:"M9 3H3.6a.6.6 0 0 0-.6.6v16.8a.6.6 0 0 0 .6.6H9M9 3v18M9 3h6M9 21h6m0-18h5.4a.6.6 0 0 1 .6.6v16.8a.6.6 0 0 1-.6.6H15m0-18v18",stroke:"currentColor"})])],-1),bu=[yu],wu=["disabled"],ku=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{d:"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6l6 6zM6 6h2v12H6z",fill:"currentColor"})],-1),_u=[ku],$u=["disabled"],Cu=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{d:"M15.41 7.41L14 6l-6 6l6 6l1.41-1.41L10.83 12z",fill:"currentColor"})],-1),xu=[Cu],Lu=["disabled"],Vu=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{d:"M10 6L8.59 7.41L13.17 12l-4.58 4.59L10 18l6-6z",fill:"currentColor"})],-1),Su=[Vu],Mu=["disabled"],Au=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{d:"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6l-6-6zM16 6h2v12h-2z",fill:"currentColor"})],-1),Tu=[Au],Fu={key:0,class:"flex mt-1"},Iu={class:"px-4 text-lg text-black dark:text-white"},ju={key:0},Ou={key:1},Du=l("span",{class:"hidden xl:inline"}," Showing Results ",-1),Pu={key:2},Bu={class:"flex flex-wrap"},Hu={key:0,class:"pl-2 mt-1"},Ru=l("svg",{class:"w-5 h-5",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M20 20v-5h-5M4 4v5h5m10.938 2A8.001 8.001 0 0 0 5.07 8m-1.008 5a8.001 8.001 0 0 0 14.868 3"})],-1),Eu=[Ru],zu={key:1,class:"pl-2 mt-1"},Nu=xs('Excel',2),Uu=[Nu],qu={key:2,class:"pl-2 mt-1"},Qu={key:0,class:"w-5 h-5 mr-1 text-green-600 dark:text-green-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Ku=l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1),Zu=[Ku],Wu={key:1,class:"w-5 h-5 mr-1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Gu=l("g",{fill:"none"},[l("path",{d:"M8 4v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7.242a2 2 0 0 0-.602-1.43L16.083 2.57A2 2 0 0 0 14.685 2H10a2 2 0 0 0-2 2z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),l("path",{d:"M16 18v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h2",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1),Ju=[Gu],Xu=l("span",{class:"whitespace-nowrap"},"Copy URL",-1),Yu={key:3,class:"pl-2 mt-1"},ed=l("svg",{class:"w-5 h-5",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",viewBox:"0 0 24 24"},[l("path",{fill:"currentColor",d:"M6.78 2.72a.75.75 0 0 1 0 1.06L4.56 6h8.69a7.75 7.75 0 1 1-7.75 7.75a.75.75 0 0 1 1.5 0a6.25 6.25 0 1 0 6.25-6.25H4.56l2.22 2.22a.75.75 0 1 1-1.06 1.06l-3.5-3.5a.75.75 0 0 1 0-1.06l3.5-3.5a.75.75 0 0 1 1.06 0Z"})],-1),td=[ed],sd={key:4,class:"pl-2 mt-1"},ld=l("svg",{class:"flex-none w-5 h-5 mr-2 text-gray-400 dark:text-gray-500 group-hover:text-gray-500","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"},[l("path",{"fill-rule":"evenodd",d:"M3 3a1 1 0 011-1h12a1 1 0 011 1v3a1 1 0 01-.293.707L12 11.414V15a1 1 0 01-.293.707l-2 2A1 1 0 018 17v-5.586L3.293 6.707A1 1 0 013 6V3z","clip-rule":"evenodd"})],-1),nd={class:"mr-1"},od={key:0,class:"h-5 w-5 text-gray-400 dark:text-gray-500 group-hover:text-gray-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},ad=l("path",{"fill-rule":"evenodd",d:"M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z","clip-rule":"evenodd"},null,-1),rd=[ad],id={key:1,class:"h-5 w-5 text-gray-400 dark:text-gray-500 group-hover:text-gray-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},ud=l("path",{"fill-rule":"evenodd",d:"M5 10a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1z","clip-rule":"evenodd"},null,-1),dd=[ud],cd={key:5,class:"pl-2 mt-1"},fd=["title"],vd=l("svg",{class:"w-5 h-5 mr-1 text-gray-500 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-50",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z",fill:"currentColor"})],-1),pd={class:"whitespace-nowrap"},md={key:8},hd={key:0,class:"cursor-pointer flex justify-between items-center hover:text-gray-900 dark:hover:text-gray-50"},gd={class:"mr-1 select-none"},yd={key:1,class:"flex justify-between items-center"},bd={class:"mr-1 select-none"},ps=25,wd=de({__name:"AutoQueryGrid",props:{filterDefinitions:{},id:{default:"AutoQueryGrid"},apis:{},type:{},prefs:{},deny:{},hide:{},selectedColumns:{},toolbarButtonClass:{},tableStyle:{},gridClass:{},grid2Class:{},grid3Class:{},grid4Class:{},tableClass:{},theadClass:{},tbodyClass:{},theadRowClass:{},theadCellClass:{},headerTitle:{},headerTitles:{},visibleFrom:{},rowClass:{},rowStyle:{},modelTitle:{},newButtonLabel:{},apiPrefs:{},canFilter:{},disableKeyBindings:{},configureField:{},skip:{default:0},create:{type:Boolean},edit:{},filters:{}},emits:["headerSelected","rowSelected","nav"],setup(e,{expose:d,emit:c}){let{config:p,autoQueryGridDefaults:J}=It(),Y=J,t=p.value.storage,n=e,ee=c,le=Qe("client"),te="filtering,queryString,queryFilters".split(","),ne="copyApiUrl,downloadCsv,filtersView,newItem,pagingInfo,pagingNav,preferences,refresh,resetPreferences,toolbar".split(","),re=v(()=>n.deny?Vt(te,n.deny):Vt(te,Y.value.deny)),se=v(()=>n.hide?Vt(ne,n.hide):Vt(ne,Y.value.hide));function f(e){return re.value[e]}function m(e){return se.value[e]}let g=v(()=>n.tableStyle??Y.value.tableStyle),oe=v(()=>n.gridClass??he.getGridClass(g.value)),ie=v(()=>n.grid2Class??he.getGrid2Class(g.value)),ue=v(()=>n.grid3Class??he.getGrid3Class(g.value)),de=v(()=>n.grid4Class??he.getGrid4Class(g.value)),ve=v(()=>n.tableClass??he.getTableClass(g.value)),ce=v(()=>n.theadClass??he.getTheadClass(g.value)),pe=v(()=>n.theadRowClass??he.getTheadRowClass(g.value)),fe=v(()=>n.theadCellClass??he.getTheadCellClass(g.value)),h=v(()=>n.toolbarButtonClass??he.toolbarButtonClass);function me(e,l){var t,a;return n.rowClass?n.rowClass(e,l):(t=!!Q.value.AnyUpdate,a=(null!=(a=s.value)&&a.name?_e(e,s.value.name):null)==V.value,he.getTableRowClass(n.tableStyle,l,a,t))}let b=al(),ge=v(()=>{var e;return dl((null==(e=Q.value.AnyQuery.viewModel)?void 0:e.name)||Q.value.AnyQuery.dataModel.name)}),be=v(()=>{let l=Object.keys(b).map(e=>e.toLowerCase());return st(ge.value).filter(e=>l.includes(e.name.toLowerCase())||l.includes(e.name.toLowerCase()+"-header")).map(e=>e.name)});let w=v(()=>{var e=(0<(e=Ct(n.selectedColumns)).length?e:0e.toLowerCase());let t=st(ge.value);return 0t.find(e=>e.name.toLowerCase()===l)).filter(e=>null!=e):t}),we=v(()=>{let e=w.value.map(e=>e.name),l=Ct($.value.selectedColumns).map(e=>e.toLowerCase());return 0l.includes(e.toLowerCase())):e}),k=O([]),C=O(new Xe),Ce=O(new Xe),L=O(),M=O(!1),V=O(),S=O(),T=O(!1),A=O(),I=O(n.skip),j=O(!1),$=O({take:ps}),B=O(!1),Le=v(()=>k.value.some(e=>0k.value.map(e=>e.settings.filters.length).reduce((e,l)=>e+l,0)),Ve=v(()=>{var e;return st(dl(a.value||(null==(e=Q.value.AnyQuery)?void 0:e.dataModel.name)))}),s=v(()=>{var e;return ns(dl(a.value||(null==(e=Q.value.AnyQuery)?void 0:e.dataModel.name)))}),E=v(()=>$.value.take??ps),_=v(()=>C.value.response?_e(C.value.response,"results"):[]),D=v(()=>{var e;return((null==(e=C.value.response)?void 0:e.total)||_.value.length)??0}),Fe=v(()=>00_.value.length>=E.value),Oe=v(()=>_.value.length>=E.value),H=O(),P=O(),Ae={NoQuery:"No Query API was found"};function Ie(l){if(l){if(n.canFilter)return n.canFilter(l);var e=Ve.value.find(e=>e.name.toLowerCase()==l.toLowerCase());if(e)return!Mn(e)}}function r(e){ee("nav",e),f("queryString")&&ul(e)}async function R(e){I.value+=e,I.value<0&&(I.value=0);var l=Math.floor(D.value/E.value)*E.value;I.value>l&&(I.value=l),r({skip:I.value||void 0}),await z()}async function $e(e,l){var t,a;S.value=null,V.value=l,e&&l&&(a=Yt(Q.value.AnyQuery,{[e]:l}),(a=await le.api(a)).succeeded)&&((a=null==(a=_e(a.response,"results"))?void 0:a[0])||console.warn(`API ${null==(t=Q.value.AnyQuery)?void 0:t.request.name}(${e}:${l}) returned no results`),S.value=a)}async function Ue(e,l){ee("rowSelected",e,l);var t=null==(t=s.value)?void 0:t.name,a=t?_e(e,t):null;t&&a&&(r({edit:a}),$e(t,a))}function Ee(l,e){var t,a,n;f("filtering")&&(t=e.target,Ie(l)&&"TD"!==(null==t?void 0:t.tagName)&&(t=null==(t=null==t?void 0:t.closest("TABLE"))?void 0:t.getBoundingClientRect(),a=k.value.find(e=>e.name.toLowerCase()==l.toLowerCase()))&&t&&(n=t.x+318+10,A.value={column:a,topLeft:{x:Math.max(Math.floor(e.clientX+159),n),y:t.y+45}}),ee("headerSelected",l,e))}function De(){A.value=null}async function He(e){var l=null==(l=A.value)?void 0:l.column;l&&(l.settings=e,t.setItem(u(l.name),JSON.stringify(l.settings)),await z()),A.value=null}async function Pe(e){t.setItem(u(e.name),JSON.stringify(e.settings)),await z()}async function Re(e){T.value=!1,$.value=e,t.setItem(ol(),JSON.stringify(e)),await z()}function ze(e){var l;H.value&&(Object.assign(null==(l=H.value)?void 0:l.model,e),Ze())}function Ne(e){Object.assign(S.value,e),Ze()}function Ze(){null!=(e=H.value)&&e.forceUpdate(),null!=(e=P.value)&&e.forceUpdate();var e=Be();null!=(e=null==e?void 0:e.proxy)&&e.$forceUpdate()}async function z(){await Ke(We())}async function Ge(){await z()}d({update:z,search:Ke,createRequestArgs:We,reset:Ll,createDone:W,createSave:Cl,editDone:K,editSave:kl,forceUpdate:Ze,setEdit:Ne,edit:S,createForm:H,editForm:P,apiPrefs:$,results:_,skip:I,take:E,total:D}),G.interceptors.has("AutoQueryGrid.new")&&G.interceptors.invoke("AutoQueryGrid.new",{props:n});let qe=/iPad|iPhone|iPod/.test(navigator.userAgent);async function Ke(t){var a=Q.value.AnyQuery;if(a){let e=Yt(a,t),l=await le.api(e);dn(e=>{C.value.response=C.value.error=void 0,B.value=e,qe?St(()=>C.value=l):C.value=l})();a=_e(l.response,"results")||[];l.succeeded&&a.label}else console.error(Ae.NoQuery)}function We(){let r={include:"total",take:E.value},l=Ct($.value.selectedColumns||n.selectedColumns);if(0{var e,l=a.find(e=>e.name.toLowerCase()==t.toLowerCase());null!=(e=null==l?void 0:l.ref)&&e.selfId&&n.push(l.ref.selfId),_e(b,t)&&n.push(...a.filter(e=>{var l;return(null==(l=null==(l=e.ref)?void 0:l.selfId)?void 0:l.toLowerCase())==t.toLowerCase()}).map(e=>e.name))}),n.forEach(e=>{l.includes(e)||l.push(e)}),r.fields=l.join(",")}let e=[];if(k.value.forEach(t=>{t.settings.sort&&e.push(("DESC"===t.settings.sort?"-":"")+t.name),t.settings.filters.forEach(e=>{var l=e.key.replace("%",t.name);r[l]=e.value})}),n.filters&&Object.keys(n.filters).forEach(e=>{r[e]=n.filters[e]}),f("queryString")&&f("queryFilters")){var t=location.search||(location.hash.includes("?")?"?"+ms(location.hash,"?"):"");let e=Zs(t);Object.keys(e).forEach(l=>{w.value.find(e=>e.name.toLowerCase()===l.toLowerCase())&&(r[l]=e[l])}),typeof e.skip<"u"&&(t=parseInt(e.skip),isNaN(t)||(I.value=r.skip=t))}return"u"j.value=!1,3e3)}function ll(e="json"){var l=We(),t="/api/"+(null==(t=Q.value.AnyQuery)?void 0:t.request.name),t=Do(le.baseUrl,Et(t,{...l,jsconfig:"edv"}));return 0<=t.indexOf("?")?Ls(t,"?")+"."+e+"?"+ms(t,"?"):t+".json"}async function tl(){k.value.forEach(e=>{e.settings={filters:[]},t.removeItem(u(e.name))}),$.value={take:ps},t.removeItem(ol()),await z()}function nl(){M.value=!0,r({create:null})}let a=v(()=>qt(n.type)),N=v(()=>{var e;return a.value||(null==(e=Q.value.AnyQuery)?void 0:e.dataModel.name)}),q=v(()=>n.modelTitle||N.value),sl=v(()=>n.newButtonLabel||"New "+q.value),ol=()=>{var e;return n.id+"/ApiPrefs/"+(a.value||(null==(e=Q.value.AnyQuery)?void 0:e.dataModel.name))},u=e=>{var l;return`Column/${n.id}:${a.value||(null==(l=Q.value.AnyQuery)?void 0:l.dataModel.name)}.`+e},{metadataApi:il,typeOf:dl,apiOf:vl,filterDefinitions:cl}=lt(),pl=Tl().invalidAccessMessage,fl=v(()=>n.filterDefinitions||cl.value),Q=v(()=>{var e=Ct(n.apis);return 0vl(e)).filter(e=>null!=e).map(e=>e)):Nt.forType(a.value,il.value)}),ml=e=>`${e}`,gl=v(()=>{var e;return il.value?0<(e=Ct(n.apis).map(e=>null==vl(e)?e:null).filter(e=>null!=e)).length?ml(`Unknown API${1useMetadata()`)}),yl=v(()=>Q.value.AnyQuery&&pl(Q.value.AnyQuery)),hl=v(()=>Q.value.Create&&pl(Q.value.Create)),bl=v(()=>Q.value.AnyUpdate&&pl(Q.value.AnyUpdate)),xl=v(()=>bs(Q.value.Create)),wl=(v(()=>bs(Q.value.AnyUpdate)),v(()=>bs(Q.value.Delete)));function K(){S.value=null,V.value=null,r({edit:void 0})}function W(){M.value=!1,r({create:void 0})}async function kl(){await z(),K()}async function Cl(){await z(),W()}function Ll(){C.value=new Xe,Ce.value=new Xe,M.value=!1,V.value=null,S.value=null,T.value=!1,A.value=null,I.value=n.skip,j.value=!1,$.value={take:ps},B.value=!1;var e,l=n.prefs||$s(t.getItem(ol())),l=(l&&($.value=l),k.value=w.value.map(e=>({name:e.name,type:e.type,meta:e,settings:Object.assign({filters:[]},$s(t.getItem(u(e.name))))})),isNaN(n.skip)||(I.value=n.skip),null==(l=s.value)?void 0:l.name);f("queryString")&&(e=location.search||(location.hash.includes("?")?"?"+ms(location.hash,"?"):""),typeof(e=Zs(e)).create<"u"?M.value=typeof e.create<"u":!l||"string"!=typeof e.edit&&"number"!=typeof e.edit||$e(l,e.edit)),!0===n.create&&(M.value=!0),l&&null!=n.edit&&$e(l,n.edit)}return Ye(async()=>{Ll(),await z()}),(t,e)=>{let a=Z("Alert"),n=Z("EnsureAccessDialog"),r=Z("AutoCreateForm"),s=Z("AutoEditForm"),u=Z("AutoViewForm"),d=Z("ErrorSummary"),v=Z("Loading"),c=Z("SettingsIcons"),p=Z("DataGrid");return gl.value?(o(),i("div",iu,[ye(a,{innerHTML:gl.value},null,8,["innerHTML"])])):yl.value?(o(),i("div",uu,[ye(lo,{"invalid-access":yl.value},null,8,["invalid-access"])])):(o(),i("div",du,[M.value&&Q.value.Create?(o(),i("div",cu,[hl.value?(o(),ae(n,{key:0,title:"Create "+q.value,"invalid-access":hl.value,"alert-class":"text-yellow-700",onDone:W},null,8,["title","invalid-access"])):X(b).createform?U(t.$slots,"createform",{key:1,type:Q.value.Create.request.name,configure:t.configureField,done:W,save:Cl}):(o(),ae(r,{key:2,ref_key:"createForm",ref:H,type:Q.value.Create.request.name,configure:t.configureField,onDone:W,onSave:Cl},{header:xe(()=>[U(t.$slots,"formheader",{form:"create",formInstance:H.value,apis:Q.value,type:N.value,updateModel:ze})]),footer:xe(()=>[U(t.$slots,"formfooter",{form:"create",formInstance:H.value,apis:Q.value,type:N.value,updateModel:ze})]),_:3},8,["type","configure"]))])):S.value&&Q.value.AnyUpdate?(o(),i("div",fu,[bl.value?(o(),ae(n,{key:0,title:"Update "+q.value,"invalid-access":bl.value,"alert-class":"text-yellow-700",onDone:K},null,8,["title","invalid-access"])):X(b).editform?U(t.$slots,"editform",{key:1,model:S.value,type:Q.value.AnyUpdate.request.name,deleteType:wl.value?Q.value.Delete.request.name:null,configure:t.configureField,done:K,save:kl}):(o(),ae(s,{key:2,ref_key:"editForm",ref:P,modelValue:S.value,"onUpdate:modelValue":e[0]||(e[0]=e=>S.value=e),type:Q.value.AnyUpdate.request.name,deleteType:wl.value?Q.value.Delete.request.name:null,configure:t.configureField,onDone:K,onSave:kl,onDelete:kl},{header:xe(()=>[U(t.$slots,"formheader",{form:"edit",formInstance:P.value,apis:Q.value,type:N.value,model:S.value,id:V.value,updateModel:Ne})]),footer:xe(()=>[U(t.$slots,"formfooter",{form:"edit",formInstance:P.value,apis:Q.value,type:N.value,model:S.value,id:V.value,updateModel:Ne})]),_:3},8,["modelValue","type","deleteType","configure"]))])):S.value?(o(),i("div",vu,[X(b).viewform?U(t.$slots,"viewform",{key:0,model:S.value,apis:Q.value,done:K}):(o(),ae(u,{key:1,model:S.value,apis:Q.value,done:K},null,8,["model","apis"]))])):x("",!0),X(b).toolbar?U(t.$slots,"toolbar",{key:3}):m("toolbar")?(o(),i("div",pu,[T.value?(o(),ae(jl,{key:0,columns:w.value,prefs:$.value,onDone:e[1]||(e[1]=e=>T.value=!1),onSave:Re},null,8,["columns","prefs"])):x("",!0),l("div",mu,[l("div",hu,[m("preferences")?(o(),i("button",{key:0,type:"button",class:"text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400",title:q.value+" Preferences",onClick:e[2]||(e[2]=e=>T.value=!T.value)},bu,8,gu)):x("",!0),m("pagingNav")?(o(),i("button",{key:1,type:"button",class:y(["pl-2",Fe.value?"text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400":"text-gray-400 dark:text-gray-500"]),title:"First page",disabled:!Fe.value,onClick:e[3]||(e[3]=e=>R(-D.value))},_u,10,wu)):x("",!0),m("pagingNav")?(o(),i("button",{key:2,type:"button",class:y(["pl-2",Se.value?"text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400":"text-gray-400 dark:text-gray-500"]),title:"Previous page",disabled:!Se.value,onClick:e[4]||(e[4]=e=>R(-E.value))},xu,10,$u)):x("",!0),m("pagingNav")?(o(),i("button",{key:3,type:"button",class:y(["pl-2",Te.value?"text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400":"text-gray-400 dark:text-gray-500"]),title:"Next page",disabled:!Te.value,onClick:e[5]||(e[5]=e=>R(E.value))},Su,10,Lu)):x("",!0),m("pagingNav")?(o(),i("button",{key:4,type:"button",class:y(["pl-2",Oe.value?"text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400":"text-gray-400 dark:text-gray-500"]),title:"Last page",disabled:!Oe.value,onClick:e[6]||(e[6]=e=>R(D.value))},Tu,10,Mu)):x("",!0)]),m("pagingInfo")?(o(),i("div",Fu,[l("div",Iu,[B.value?(o(),i("span",ju,"Querying...")):x("",!0),_.value.length?(o(),i("span",Ou,[Du,ke(" "+F(I.value+1)+" - "+F(Math.min(I.value+_.value.length,D.value))+" ",1),l("span",null," of "+F(D.value),1)])):C.value.completed?(o(),i("span",Pu,"No Results")):x("",!0)])])):x("",!0),l("div",Bu,[m("refresh")?(o(),i("div",Hu,[l("button",{type:"button",onClick:Ge,title:"Refresh",class:y(h.value)},Eu,2)])):x("",!0),m("downloadCsv")?(o(),i("div",zu,[l("button",{type:"button",onClick:Je,title:"Download CSV",class:y(h.value)},Uu,2)])):x("",!0),m("copyApiUrl")?(o(),i("div",qu,[l("button",{type:"button",onClick:el,title:"Copy API URL",class:y(h.value)},[j.value?(o(),i("svg",Qu,Zu)):(o(),i("svg",Wu,Ju)),Xu],2)])):x("",!0),Le.value&&m("resetPreferences")?(o(),i("div",Yu,[l("button",{type:"button",onClick:tl,title:"Reset Preferences & Filters",class:y(h.value)},td,2)])):x("",!0),m("filtersView")&&0L.value="filters"==L.value?null:"filters"),class:y(h.value),"aria-expanded":"false"},[ld,l("span",nd,F(Me.value)+" "+F(1==Me.value?"Filter":"Filters"),1),"filters"!=L.value?(o(),i("svg",od,rd)):(o(),i("svg",id,dd))],2)])):x("",!0),m("newItem")&&Q.value.Create&&xl.value?(o(),i("div",cd,[l("button",{type:"button",onClick:nl,title:q.value,class:y(h.value)},[vd,l("span",pd,F(sl.value),1)],10,fd)])):x("",!0),X(b).toolbarbuttons?U(t.$slots,"toolbarbuttons",{key:6,toolbarButtonClass:h.value}):x("",!0)])])])):x("",!0),"filters"==L.value?(o(),ae(Il,{key:5,class:"border-y border-gray-200 dark:border-gray-800 py-8 my-2",definitions:fl.value,columns:k.value,onDone:e[8]||(e[8]=e=>L.value=null),onChange:Pe},null,8,["definitions","columns"])):x("",!0),Ce.value.error??C.value.error?(o(),ae(d,{key:6,status:Ce.value.error??C.value.error},null,8,["status"])):B.value?(o(),ae(v,{key:7,class:"p-2"})):x("",!0),A.value?(o(),i("div",md,[ye(Fl,{definitions:fl.value,column:A.value.column,"top-left":A.value.topLeft,onDone:De,onSave:He},null,8,["definitions","column","top-left"])])):x("",!0),_.value.length?(o(),ae(p,{key:9,id:t.id,items:_.value,type:t.type,"selected-columns":we.value,class:"mt-1",onFiltersChanged:z,tableStyle:g.value,gridClass:oe.value,grid2Class:ie.value,grid3Class:ue.value,grid4Class:de.value,tableClass:ve.value,theadClass:ce.value,theadRowClass:pe.value,theadCellClass:fe.value,tbodyClass:t.tbodyClass,rowClass:me,onRowSelected:Ue,rowStyle:t.rowStyle,headerTitle:t.headerTitle,headerTitles:t.headerTitles,visibleFrom:t.visibleFrom,onHeaderSelected:Ee},rl({header:xe(({column:t,label:e})=>{var a;return[f("filtering")&&Ie(t)?(o(),i("div",hd,[l("span",gd,F(e),1),ye(c,{column:k.value.find(e=>e.name.toLowerCase()===t.toLowerCase()),"is-open":(null==(a=A.value)?void 0:a.column.name)===t},null,8,["column","is-open"])])):(o(),i("div",yd,[l("span",bd,F(e),1)]))]}),_:2},[je(Object.keys(X(b)),l=>({name:l,fn:xe(e=>[U(t.$slots,l,Rt(ks(e)))])}))]),1032,["id","items","type","selected-columns","tableStyle","gridClass","grid2Class","grid3Class","grid4Class","tableClass","theadClass","theadRowClass","theadCellClass","tbodyClass","rowStyle","headerTitle","headerTitles","visibleFrom"])):x("",!0)]))}}}),kd={class:"flex"},_d={key:0,class:"w-4 h-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},$d=l("g",{fill:"none"},[l("path",{d:"M3 4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v2.586a1 1 0 0 1-.293.707l-6.414 6.414a1 1 0 0 0-.293.707V17l-4 4v-6.586a1 1 0 0 0-.293-.707L3.293 7.293A1 1 0 0 1 3 6.586V4z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1),Cd=[$d],xd=l("path",{d:"M505.5 658.7c3.2 4.4 9.7 4.4 12.9 0l178-246c3.8-5.3 0-12.7-6.5-12.7H643c-10.2 0-19.9 4.9-25.9 13.2L512 558.6L406.8 413.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246z",fill:"currentColor"},null,-1),Ld=l("path",{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z",fill:"currentColor"},null,-1),Vd=[xd,Ld],Sd={key:2,class:"w-4 h-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20"},Md=l("g",{fill:"none"},[l("path",{d:"M8.998 4.71L6.354 7.354a.5.5 0 1 1-.708-.707L9.115 3.18A.499.499 0 0 1 9.498 3H9.5a.5.5 0 0 1 .354.147l.01.01l3.49 3.49a.5.5 0 1 1-.707.707l-2.65-2.649V16.5a.5.5 0 0 1-1 0V4.71z",fill:"currentColor"})],-1),Ad=[Md],Td={key:3,class:"w-4 h-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20"},Fd=l("g",{fill:"none"},[l("path",{d:"M10.002 15.29l2.645-2.644a.5.5 0 0 1 .707.707L9.886 16.82a.5.5 0 0 1-.384.179h-.001a.5.5 0 0 1-.354-.147l-.01-.01l-3.49-3.49a.5.5 0 1 1 .707-.707l2.648 2.649V3.5a.5.5 0 0 1 1 0v11.79z",fill:"currentColor"})],-1),Id=[Fd],jd=de({__name:"SettingsIcons",props:{column:{},isOpen:{type:Boolean}},setup(e){return(e,l)=>{var t;return o(),i("div",kd,[null!=(t=null==(t=null==(t=e.column)?void 0:t.settings)?void 0:t.filters)&&t.length?(o(),i("svg",_d,Cd)):(o(),i("svg",{key:1,class:y(["w-4 h-4 transition-transform",e.isOpen?"rotate-180":""]),xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},Vd,2)),"ASC"===(null==(t=null==(t=e.column)?void 0:t.settings)?void 0:t.sort)?(o(),i("svg",Sd,Ad)):"DESC"===(null==(t=null==(t=e.column)?void 0:t.settings)?void 0:t.sort)?(o(),i("svg",Td,Id)):x("",!0)])}}}),Od=de({__name:"EnsureAccessDialog",props:{title:{},subtitle:{},invalidAccess:{},alertClass:{}},emits:["done"],setup(e){return(l,e)=>{let t=Z("EnsureAccess"),a=Z("SlideOver");return l.invalidAccess?(o(),ae(a,{key:0,title:l.title,onDone:e[0]||(e[0]=e=>l.$emit("done")),"content-class":"relative flex-1"},rl({default:xe(()=>[ye(t,{alertClass:l.alertClass,invalidAccess:l.invalidAccess},null,8,["alertClass","invalidAccess"])]),_:2},[l.subtitle?{name:"subtitle",fn:xe(()=>[ke(F(l.subtitle),1)]),key:"0"}:void 0]),1032,["title"])):x("",!0)}}}),Dd=["for"],Pd={class:"mt-1 relative rounded-md shadow-sm"},Bd=["type","name","id","placeholder","value","aria-invalid","aria-describedby"],Hd={key:0,class:"absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none"},Rd=l("svg",{class:"h-5 w-5 text-red-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[l("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z","clip-rule":"evenodd"})],-1),Ed=[Rd],zd=["id"],Nd=["id"],Ud={inheritAttrs:!1},qd=de({...Ud,__name:"TextInput",props:{status:{},id:{},type:{},inputClass:{},label:{},labelClass:{},help:{},placeholder:{},modelValue:{}},setup(e,{expose:t}){let a=e,n=(t({focus:function(){var e;null!=(e=n.value)&&e.focus()}}),O());let r=v(()=>a.type||"text"),s=v(()=>a.label??Pe(at(a.id))),u=v(()=>a.placeholder??s.value),d=Qe("ApiState",void 0),c=v(()=>mt.call({responseStatus:a.status??(null==d?void 0:d.error.value)},a.id)),p=v(()=>[ot.base,c.value?ot.invalid:ot.valid,a.inputClass]);return(t,e)=>(o(),i("div",{class:y([t.$attrs.class])},[U(t.$slots,"header",Te({inputElement:n.value,id:t.id,modelValue:t.modelValue,status:t.status},t.$attrs)),s.value?(o(),i("label",{key:0,for:t.id,class:y("block text-sm font-medium text-gray-700 dark:text-gray-300 "+(t.labelClass??""))},F(s.value),11,Dd)):x("",!0),l("div",Pd,[l("input",Te({ref_key:"inputElement",ref:n,type:r.value,name:t.id,id:t.id,class:p.value,placeholder:u.value,value:X(pn)(r.value,t.modelValue),onInput:e[0]||(e[0]=e=>t.$emit("update:modelValue",e.target.value)),"aria-invalid":null!=c.value,"aria-describedby":t.id+"-error",step:"any"},X(ft)(t.$attrs,["class","value"])),null,16,Bd),c.value?(o(),i("div",Hd,Ed)):x("",!0)]),c.value?(o(),i("p",{key:1,class:"mt-2 text-sm text-red-500",id:t.id+"-error"},F(c.value),9,zd)):t.help?(o(),i("p",{key:2,class:"mt-2 text-sm text-gray-500",id:t.id+"-description"},F(t.help),9,Nd)):x("",!0),U(t.$slots,"footer",Te({inputElement:n.value,id:t.id,modelValue:t.modelValue,status:t.status},t.$attrs))],2))}}),Qd=["for"],Kd={class:"mt-1 relative rounded-md shadow-sm"},Zd=["name","id","placeholder","aria-invalid","aria-describedby"],Wd=["id"],Gd=["id"],Jd={inheritAttrs:!1},Xd=de({...Jd,__name:"TextareaInput",props:{status:{},id:{},inputClass:{},label:{},labelClass:{},help:{},placeholder:{},modelValue:{}},setup(e){let t=e,a=v(()=>t.label??Pe(at(t.id))),n=v(()=>t.placeholder??a.value),r=Qe("ApiState",void 0),s=v(()=>mt.call({responseStatus:t.status??(null==r?void 0:r.error.value)},t.id)),u=v(()=>["shadow-sm "+ot.base,s.value?"text-red-900 focus:ring-red-500 focus:border-red-500 border-red-300":"text-gray-900 "+ot.valid,t.inputClass]);return(t,e)=>(o(),i("div",{class:y([t.$attrs.class])},[a.value?(o(),i("label",{key:0,for:t.id,class:y("block text-sm font-medium text-gray-700 dark:text-gray-300 "+(t.labelClass??""))},F(a.value),11,Qd)):x("",!0),l("div",Kd,[l("textarea",Te({name:t.id,id:t.id,class:u.value,placeholder:n.value,onInput:e[0]||(e[0]=e=>t.$emit("update:modelValue",e.target.value)),"aria-invalid":null!=s.value,"aria-describedby":t.id+"-error"},X(ft)(t.$attrs,["class"])),F(t.modelValue),17,Zd)]),s.value?(o(),i("p",{key:1,class:"mt-2 text-sm text-red-500",id:t.id+"-error"},F(s.value),9,Wd)):t.help?(o(),i("p",{key:2,class:"mt-2 text-sm text-gray-500",id:t.id+"-description"},F(t.help),9,Gd)):x("",!0)],2))}}),Yd=["for"],ec=["id","name","value","aria-invalid","aria-describedby"],tc=["value"],sc=["id"],lc={inheritAttrs:!1},nc=de({...lc,__name:"SelectInput",props:{status:{},id:{},modelValue:{},inputClass:{},label:{},labelClass:{},options:{},values:{},entries:{}},setup(e){let t=e,a=v(()=>t.label??Pe(at(t.id))),n=Qe("ApiState",void 0),r=v(()=>mt.call({responseStatus:t.status??(null==n?void 0:n.error.value)},t.id)),s=v(()=>t.entries||(t.values?t.values.map(e=>({key:e,value:e})):t.options?Object.keys(t.options).map(e=>({key:e,value:t.options[e]})):[]));return(t,e)=>(o(),i("div",{class:y([t.$attrs.class])},[a.value?(o(),i("label",{key:0,for:t.id,class:y("block text-sm font-medium text-gray-700 dark:text-gray-300 "+(t.labelClass??""))},F(a.value),11,Yd)):x("",!0),l("select",Te({id:t.id,name:t.id,class:["mt-1 block w-full pl-3 pr-10 py-2 text-base focus:outline-none sm:text-sm rounded-md dark:text-white dark:bg-gray-900 dark:border-gray-600",r.value?"border-red-300 text-red-900 focus:ring-red-500 focus:border-red-500":"border-gray-300 text-gray-900 focus:ring-indigo-500 focus:border-indigo-500",t.inputClass],value:t.modelValue,onInput:e[0]||(e[0]=e=>t.$emit("update:modelValue",e.target.value)),"aria-invalid":null!=r.value,"aria-describedby":t.id+"-error"},X(ft)(t.$attrs,["class"])),[(o(!0),i(Me,null,je(s.value,e=>(o(),i("option",{value:e.key},F(e.value),9,tc))),256))],16,ec),r.value?(o(),i("p",{key:1,class:"mt-2 text-sm text-red-500",id:t.id+"-error"},F(r.value),9,sc)):x("",!0)],2))}}),oc={class:"flex items-center h-5"},ac=["id","name","checked"],rc={class:"ml-3 text-sm"},ic=["for"],uc={key:0,class:"mt-2 text-sm text-red-500",id:"`${id}-error`"},dc={key:1,class:"mt-2 text-sm text-gray-500",id:"`${id}-description`"},cc={inheritAttrs:!1},fc=de({...cc,__name:"CheckboxInput",props:{modelValue:{type:Boolean},status:{},id:{},inputClass:{},label:{},labelClass:{},help:{}},emits:["update:modelValue"],setup(e,{}){let t=e,a=v(()=>t.label??Pe(at(t.id))),n=Qe("ApiState",void 0),r=v(()=>mt.call({responseStatus:t.status??(null==n?void 0:n.error.value)},t.id));return(t,e)=>(o(),i("div",{class:y(["relative flex items-start",t.$attrs.class])},[l("div",oc,[l("input",Te({id:t.id,name:t.id,type:"checkbox",checked:t.modelValue,onInput:e[0]||(e[0]=e=>t.$emit("update:modelValue",e.target.checked)),class:["focus:ring-indigo-500 h-4 w-4 text-indigo-600 rounded border-gray-300 dark:border-gray-600 dark:bg-gray-800",t.inputClass]},X(ft)(t.$attrs,["class"])),null,16,ac)]),l("div",rc,[l("label",{for:t.id,class:y("font-medium text-gray-700 dark:text-gray-300 "+(t.labelClass??""))},F(a.value),11,ic),r.value?(o(),i("p",uc,F(r.value),1)):t.help?(o(),i("p",dc,F(t.help),1)):x("",!0)])],2))}}),vc=["id"],pc=["for"],mc={class:"mt-1 relative rounded-md shadow-sm"},hc=["id","name","value"],gc={class:"flex flex-wrap pb-1.5"},yc={class:"pt-1.5 pl-1"},bc={class:"inline-flex rounded-full items-center py-0.5 pl-2.5 pr-1 text-sm font-medium bg-indigo-100 dark:bg-indigo-800 text-indigo-700 dark:text-indigo-300"},wc=["onClick"],kc=l("svg",{class:"h-2 w-2",stroke:"currentColor",fill:"none",viewBox:"0 0 8 8"},[l("path",{"stroke-linecap":"round","stroke-width":"1.5",d:"M1 1l6 6m0-6L1 7"})],-1),_c=[kc],$c={class:"pt-1.5 pl-1 shrink"},Cc=["type","name","id","aria-invalid","aria-describedby"],xc=["id"],Lc=["onMouseover","onClick"],Vc={class:"block truncate"},Sc={key:1,class:"absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none"},Mc=l("svg",{class:"h-5 w-5 text-red-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[l("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z","clip-rule":"evenodd"})],-1),Ac=[Mc],Tc=["id"],Fc=["id"],Ic={inheritAttrs:!1},jc=de({...Ic,__name:"TagInput",props:{status:{},id:{},type:{},inputClass:{},label:{},labelClass:{},help:{},modelValue:{default:()=>[]},delimiters:{default:()=>[","]},allowableValues:{},string:{type:Boolean},maxVisibleItems:{default:300},converter:{}},emits:["update:modelValue"],setup(e,{emit:t}){let a=e,n=t;let r=v(()=>{return Ze((e=a.modelValue,a.converter?a.converter(e):e),e=>"string"==typeof e?0==e.trim().length?[]:e.split(","):e)||[];var e}),s=O(),u=O(!1),d=v(()=>{let l=p.value.toLowerCase();return a.allowableValues&&0!=a.allowableValues.length?a.allowableValues.length<1e3?a.allowableValues.filter(e=>!r.value.includes(e)&&e.toLowerCase().includes(l)):a.allowableValues.filter(e=>!r.value.includes(e)&&e.startsWith(l)):[]});let c=O(null),p=O(""),f=v(()=>a.type||"text"),m=v(()=>a.label??Pe(at(a.id))),g=Qe("ApiState",void 0),h=v(()=>mt.call({responseStatus:a.status??(null==g?void 0:g.error.value)},a.id)),b=v(()=>["w-full cursor-text flex flex-wrap sm:text-sm rounded-md dark:text-white dark:bg-gray-900 border focus-within:border-transparent focus-within:ring-1 focus-within:outline-none",h.value?"pr-10 border-red-300 text-red-900 placeholder-red-300 focus-within:outline-none focus-within:ring-red-500 focus-within:border-red-500":"shadow-sm border-gray-300 dark:border-gray-600 focus-within:ring-indigo-500 focus-within:border-indigo-500",a.inputClass]),w=l=>V(r.value.filter(e=>e!=l));function k(e){var l;document.activeElement===e.target&&null!=(l=c.value)&&l.focus()}let C=O();function L(){u.value=!0,C.value=!0}function M(){B(T()),C.value=!1,setTimeout(()=>{C.value||(u.value=!1)},200)}function V(e){var l=a.string?e.join(","):e;n("update:modelValue",l)}function S(e){var l;"Backspace"==e.key&&0==p.value.length&&0e==l.key))&&l.preventDefault(),"Enter"==l.key||"NumpadEnter"==l.key||1==l.key.length&&e)&&B(t)}let I={behavior:"smooth",block:"nearest",inline:"nearest",scrollMode:"if-needed"};function j(){setTimeout(()=>{var e=_s(`#${a.id}-tag li.active`);e&&e.scrollIntoView(I)},0)}function $(){setTimeout(()=>{var e=_s(`#${a.id}-tag li.active`);e&&("scrollIntoViewIfNeeded"in e?e.scrollIntoViewIfNeeded(I):e.scrollIntoView(I))},0)}function B(e){var l;0!==e.length&&(-1==(l=Array.from(r.value)).indexOf(e)&&l.push(e),V(l),p.value="",u.value=!1)}function U(t){var e,t=null==(e=t.clipboardData)?void 0:e.getData("Text");if(t){let e=new RegExp("\\n|\\t|"+a.delimiters.join("|")),l=Array.from(r.value);t.split(e).map(e=>e.trim()).forEach(e=>{-1==l.indexOf(e)&&l.push(e)}),V(l),p.value=""}}return(e,t)=>(o(),i("div",{class:y([e.$attrs.class]),id:e.id+"-tag",onmousemove:"cancelBlur=true"},[m.value?(o(),i("label",{key:0,for:e.id,class:y("block text-sm font-medium text-gray-700 dark:text-gray-300 "+(e.labelClass??""))},F(m.value),11,pc)):x("",!0),l("div",mc,[l("input",{type:"hidden",id:e.id,name:e.id,value:r.value.join(",")},null,8,hc),l("button",{class:y(b.value),onClick:Ue(k,["prevent"]),onFocus:t[2]||(t[2]=e=>u.value=!0),tabindex:"-1"},[l("div",gc,[(o(!0),i(Me,null,je(r.value,t=>(o(),i("div",yc,[l("span",bc,[ke(F(t)+" ",1),l("button",{type:"button",onClick:e=>w(t),class:"flex-shrink-0 ml-1 h-4 w-4 rounded-full inline-flex items-center justify-center text-indigo-400 dark:text-indigo-500 hover:bg-indigo-200 dark:hover:bg-indigo-800 hover:text-indigo-500 dark:hover:text-indigo-400 focus:outline-none focus:bg-indigo-500 focus:text-white dark:focus:text-black"},_c,8,wc)])]))),256)),l("div",$c,[Mt(l("input",Te({ref_key:"txtInput",ref:c,type:f.value,role:"combobox","aria-controls":"options","aria-expanded":"false",autocomplete:"off",spellcheck:"false",name:e.id+"-txt",id:e.id+"-txt",class:"p-0 dark:bg-transparent rounded-md border-none focus:!border-none focus:!outline-none",style:`box-shadow:none !important;width:${p.value.length+1}ch`,"onUpdate:modelValue":t[0]||(t[0]=e=>p.value=e),"aria-invalid":null!=h.value,"aria-describedby":e.id+"-error",onKeydown:S,onKeypress:A,onPaste:Ue(U,["prevent","stop"]),onFocus:L,onBlur:M,onClick:t[1]||(t[1]=e=>u.value=!0)},X(ft)(e.$attrs,["class","required"])),null,16,Cc),[[wo,p.value]])])])],34),u.value&&d.value.length?(o(),i("ul",{key:0,class:"absolute z-10 mt-1 max-h-60 w-full overflow-auto rounded-md bg-white dark:bg-black py-1 text-base shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none sm:text-sm",onKeydown:S,id:e.id+"-options",role:"listbox"},[(o(!0),i(Me,null,je(d.value.slice(0,e.maxVisibleItems),t=>(o(),i("li",{class:y([t===s.value?"active bg-indigo-600 text-white":"text-gray-900 dark:text-gray-100","relative cursor-default select-none py-2 pl-3 pr-9"]),onMouseover:e=>{var l;l=t,s.value=l},onClick:e=>B(t),role:"option",tabindex:"-1"},[l("span",Vc,F(t),1)],42,Lc))),256))],40,xc)):x("",!0),h.value?(o(),i("div",Sc,Ac)):x("",!0)]),h.value?(o(),i("p",{key:1,class:"mt-2 text-sm text-red-500",id:e.id+"-error"},F(h.value),9,Tc)):e.help?(o(),i("p",{key:2,class:"mt-2 text-sm text-gray-500",id:e.id+"-description"},F(e.help),9,Fc)):x("",!0)],10,vc))}}),Oc={class:"relative flex-grow mr-2 sm:mr-4"},Dc=["for"],Pc={class:"block mt-2"},Bc={class:"sr-only"},Hc=["multiple","name","id","placeholder","aria-invalid","aria-describedby"],Rc={key:0,class:"absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none"},Ec=l("svg",{class:"h-5 w-5 text-red-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[l("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z","clip-rule":"evenodd"})],-1),zc=[Ec],Nc=["id"],Uc=["id"],qc={key:0},Qc=["title"],Kc=["alt","src"],Zc={key:1,class:"mt-3"},Wc={class:"w-full"},Gc={class:"pr-6 align-bottom pb-2"},Jc=["title"],Xc=["src","onError"],Yc=["href"],e0={key:1,class:"overflow-hidden"},t0={class:"align-top pb-2 whitespace-nowrap"},s0={key:0,class:"text-gray-500 dark:text-gray-400 text-sm bg-white dark:bg-black"},l0=de({__name:"FileInput",props:{multiple:{type:Boolean},status:{},id:{},inputClass:{},label:{},labelClass:{},help:{},placeholder:{},modelValue:{},values:{},files:{}},setup(e){let t,a=e,n=O(null),{assetsPathResolver:r,fallbackPathResolver:s}=It(),u={},d=O(),c=O((null==(t=a.files)?void 0:t.map(p))||[]);function p(e){return e.filePath=r(e.filePath),e}a.values&&0{var l=e.replace(/\\/g,"/");return{fileName:rn(At(l,"/"),"."),filePath:l,contentType:Ys(l)}}).map(p));let f=v(()=>a.label??Pe(at(a.id))),m=v(()=>a.placeholder??f.value),g=Qe("ApiState",void 0),h=v(()=>mt.call({responseStatus:a.status??(null==g?void 0:g.error.value)},a.id)),b=v(()=>["block w-full sm:text-sm rounded-md dark:text-white dark:bg-gray-900 file:mr-4 file:py-2 file:px-4 file:rounded-full file:border-0 file:text-sm file:font-semibold file:bg-violet-50 dark:file:bg-violet-900 file:text-violet-700 dark:file:text-violet-200 hover:file:bg-violet-100 dark:hover:file:bg-violet-800",h.value?"pr-10 border-red-300 text-red-900 placeholder-red-300 focus:outline-none focus:ring-red-500 focus:border-red-500":"text-slate-500 dark:text-slate-400",a.inputClass]),w=e=>{var l=e.target;d.value="",c.value=Array.from(l.files||[]).map(e=>({fileName:e.name,filePath:pl(e),contentLength:e.size,contentType:e.type||Ys(e.name)}))},k=()=>{var e;return null==(e=n.value)?void 0:e.click()},C=e=>null!=e&&(e.startsWith("data:")||e.startsWith("blob:")),L=v(()=>{var e;return 0!e||e.startsWith("data:")||e.endsWith(".svg")?"":"rounded-full object-cover";function V(e){d.value=s(L.value)}return Ft(Cn),(e,t)=>(o(),i("div",{class:y(["flex",e.multiple?"flex-col":"justify-between"])},[l("div",Oc,[f.value?(o(),i("label",{key:0,for:e.id,class:y("block text-sm font-medium text-gray-700 dark:text-gray-300 "+(e.labelClass??""))},F(f.value),11,Dc)):x("",!0),l("div",Pc,[l("span",Bc,F(e.help??f.value),1),l("input",Te({ref_key:"input",ref:n,type:"file",multiple:e.multiple,name:e.id,id:e.id,class:b.value,placeholder:m.value,"aria-invalid":null!=h.value,"aria-describedby":e.id+"-error"},e.$attrs,{onChange:w}),null,16,Hc),h.value?(o(),i("div",Rc,zc)):x("",!0)]),h.value?(o(),i("p",{key:1,class:"mt-2 text-sm text-red-500",id:e.id+"-error"},F(h.value),9,Nc)):e.help?(o(),i("p",{key:2,class:"mt-2 text-sm text-gray-500",id:e.id+"-description"},F(e.help),9,Uc)):x("",!0)]),e.multiple?(o(),i("div",Zc,[l("table",Wc,[(o(!0),i(Me,null,je(c.value,t=>(o(),i("tr",null,[l("td",Gc,[l("div",{class:"flex w-full",title:C(t.filePath)?"":t.filePath},[l("img",{src:u[X(xt)(t.filePath)]||X(r)(X(xt)(t.filePath)),class:y(["mr-2 h-8 w-8",M(t.filePath)]),onError:e=>u[X(xt)(t.filePath)]=X(s)(X(xt)(t.filePath))},null,42,Xc),C(t.filePath)?(o(),i("span",e0,F(t.fileName),1)):(o(),i("a",{key:0,href:X(r)(t.filePath||""),target:"_blank",class:"overflow-hidden"},F(t.fileName),9,Yc))],8,Jc)]),l("td",t0,[t.contentLength&&0[]},modelValue:{},match:{},viewCount:{default:100},pageSize:{default:8}},emits:["update:modelValue"],setup(e,{expose:t,emit:a}){let n=O(!1),r=e,s=a;function u(e){return Array.isArray(r.modelValue)&&0<=r.modelValue.indexOf(e)}t({toggle:j});let d=v(()=>r.label??Pe(at(r.id))),c=Qe("ApiState",void 0),p=v(()=>mt.call({responseStatus:r.status??(null==c?void 0:c.error.value)},r.id)),f=v(()=>[ot.base,p.value?ot.invalid:ot.valid]),m=O(null),g=O(""),h=O(null),b=O(r.viewCount),w=O([]),k=v(()=>g.value?r.options.filter(e=>r.match(e,g.value)).slice(0,b.value):r.options),C=["Tab","Escape","ArrowDown","ArrowUp","Enter","PageUp","PageDown","Home","End"];let L=[",",` +`,"\t"];function M(e){var l=null==(t=e.clipboardData)?void 0:t.getData("Text");if(l){var t=L.some(e=>l.includes(e));if(r.multiple&&t){if(t){t=new RegExp("\\r|\\n|\\t|,"),t=l.split(t).filter(e=>e.trim()).map(l=>r.options.find(e=>r.match(e,l))).filter(e=>!!e);if(0{u(l)?e=e.filter(e=>e!=l):e.push(l)}),s("update:modelValue",e),hs()}}}else{t=r.options.filter(e=>r.match(e,l));1==t.length&&(B(t[0]),n.value=!1,hs())}}}function V(e){C.indexOf(e.code)||$()}function S(e){var l;e.shiftKey||e.ctrlKey||e.altKey||(n.value?"Escape"==e.code?n.value&&(e.stopPropagation(),n.value=!1):"Tab"==e.code?n.value=!1:"Home"==e.code?(h.value=w.value[0],A()):"End"==e.code?(h.value=w.value[w.value.length-1],A()):"ArrowDown"==e.code?(h.value?(l=w.value.indexOf(h.value),h.value=l+1{var e=_s(`#${r.id}-autocomplete li.active`);e&&e.scrollIntoView(T)},0)}function I(){setTimeout(()=>{var e=_s(`#${r.id}-autocomplete li.active`);e&&("scrollIntoViewIfNeeded"in e?e.scrollIntoViewIfNeeded(T):e.scrollIntoView(T))},0)}function j(e){var l;(n.value=e)&&($(),null!=(l=m.value))&&l.focus()}function $(){n.value=!0,E()}function B(l){if(g.value="",n.value=!1,r.multiple){let e=Array.from(r.modelValue||[]);u(l)?e=e.filter(e=>e!=l):e.push(l),h.value=null,s("update:modelValue",e)}else{let e=l;r.modelValue==l&&(e=null),s("update:modelValue",e)}}function E(){w.value=k.value}return bt(g,E),(e,t)=>(o(),i("div",{id:e.id+"-autocomplete"},[d.value?(o(),i("label",{key:0,for:e.id+"-text",class:"block text-sm font-medium text-gray-700 dark:text-gray-300"},F(d.value),9,o0)):x("",!0),l("div",a0,[Mt(l("input",Te({ref_key:"txtInput",ref:m,id:e.id+"-text",type:"text",role:"combobox","aria-controls":"options","aria-expanded":"false",autocomplete:"off",spellcheck:"false","onUpdate:modelValue":t[0]||(t[0]=e=>g.value=e),class:f.value,placeholder:e.multiple||!e.modelValue?e.placeholder:"",onFocus:$,onKeydown:S,onKeyup:V,onClick:$,onPaste:M,required:!1},e.$attrs),null,16,r0),[[ko,g.value]]),l("button",{type:"button",onClick:t[1]||(t[1]=e=>j(!n.value)),class:"absolute inset-y-0 right-0 flex items-center rounded-r-md px-2 focus:outline-none",tabindex:"-1"},u0),n.value?(o(),i("ul",{key:0,class:"absolute z-10 mt-1 max-h-60 w-full overflow-auto rounded-md bg-white dark:bg-black py-1 text-base shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none sm:text-sm",onKeydown:S,id:e.id+"-options",role:"listbox"},[(o(!0),i(Me,null,je(w.value,t=>(o(),i("li",{class:y([t===h.value?"active bg-indigo-600 text-white":"text-gray-900 dark:text-gray-100","relative cursor-default select-none py-2 pl-3 pr-9"]),onMouseover:e=>{return l=t,h.value=l,void(w.value.indexOf(l)>Math.floor(.9*b.value)&&(b.value+=r.viewCount,E()));var l},onClick:e=>B(t),role:"option",tabindex:"-1"},[U(e.$slots,"item",Rt(ks(t))),u(t)?(o(),i("span",{key:0,class:y(["absolute inset-y-0 right-0 flex items-center pr-4",t===h.value?"text-white":"text-indigo-600"])},v0,2)):x("",!0)],42,c0))),256))],40,d0)):!e.multiple&&e.modelValue?(o(),i("div",{key:1,onKeydown:S,onClick:t[2]||(t[2]=e=>j(!n.value)),class:"h-8 -mt-8 ml-3 pt-0.5"},[U(e.$slots,"item",Rt(ks(e.modelValue)))],32)):x("",!0),p.value?(o(),i("div",p0,h0)):x("",!0)]),p.value?(o(),i("p",{key:1,class:"mt-2 text-sm text-red-500",id:e.id+"-error"},F(p.value),9,g0)):e.help?(o(),i("p",{key:2,class:"mt-2 text-sm text-gray-500",id:e.id+"-description"},F(e.help),9,y0)):x("",!0)],8,n0))}}),w0=["id","name","value"],k0={class:"block truncate"},_0=de({__name:"Combobox",props:{id:{},modelValue:{},multiple:{type:Boolean},options:{},values:{},entries:{}},emits:["update:modelValue"],setup(e,{expose:t,emit:a}){let n=e,r=(t({toggle(e){var l;null!=(l=d.value)&&l.toggle(e)}}),a);function s(e){r("update:modelValue",e)}let u=v(()=>null!=n.multiple?n.multiple:Array.isArray(n.modelValue)),d=O();function c(e,l){return!l||e.value.toLowerCase().includes(l.toLowerCase())}let p=v(()=>n.entries||(n.values?n.values.map(e=>({key:e,value:e})):n.options?Object.keys(n.options).map(e=>({key:e,value:n.options[e]})):[])),f=O(u.value?[]:null);Ye(function(){let l=n.modelValue&&"object"==typeof n.modelValue?n.modelValue.key:n.modelValue;null==l||""===l?f.value=u.value?[]:null:"string"==typeof l?f.value=p.value.find(e=>e.key===l)||null:Array.isArray(l)&&(f.value=p.value.filter(e=>l.includes(e.key)))});let m=v(()=>null==f.value?"":Array.isArray(f.value)?f.value.map(e=>encodeURIComponent(e.key)).join(","):f.value.key);return(e,t)=>{var a=Z("Autocomplete");return o(),i(Me,null,[l("input",{type:"hidden",id:e.id,name:e.id,value:m.value},null,8,w0),ye(a,Te({ref_key:"input",ref:d,id:e.id,options:p.value,match:c,multiple:u.value},e.$attrs,{modelValue:f.value,"onUpdate:modelValue":[t[0]||(t[0]=e=>f.value=e),s]}),{item:xe(({value:e})=>[l("span",k0,F(e),1)]),_:1},16,["id","options","multiple","modelValue"])],64)}}}),$0=de({__name:"DynamicInput",props:{input:{},modelValue:{},api:{}},emits:["update:modelValue"],setup(e,{emit:l}){let t=e,a=l,c=v(()=>t.input.type||"text"),n="ignore,css,options,meta,allowableValues,allowableEntries,op,prop,type,id,name".split(","),p=v(()=>ft(t.input,n)),f=O("file"===c.value?null:t.modelValue[t.input.id]),m=(bt(f,()=>{t.modelValue[t.input.id]=f.value,a("update:modelValue",t.modelValue)}),v(()=>{var e=t.modelValue[t.input.id];if("file"!==t.input.type||!e)return[];if("string"==typeof e)return[{filePath:e,fileName:At(e,"/")}];if(!Array.isArray(e)&&"object"==typeof e)return e;if(Array.isArray(e)){let l=[];return e.forEach(e=>{"string"==typeof e?l.push({filePath:e,fileName:At(e,"/")}):"object"==typeof e&&l.push(e)}),l}}));return(e,l)=>{var t,a=Z("SelectInput"),n=Z("CheckboxInput"),r=Z("TagInput"),s=Z("Combobox"),i=Z("FileInput"),u=Z("TextareaInput"),d=Z("MarkdownInput"),v=Z("TextInput");return X(G).component(c.value)?(o(),ae(an(X(G).component(c.value)),Te({key:0,id:e.input.id,modelValue:f.value,"onUpdate:modelValue":l[0]||(l[0]=e=>f.value=e),status:null==(t=e.api)?void 0:t.error,"input-class":null==(t=e.input.css)?void 0:t.input,"label-class":null==(t=e.input.css)?void 0:t.label},p.value),null,16,["id","modelValue","status","input-class","label-class"])):"select"==c.value?(o(),ae(a,Te({key:1,id:e.input.id,modelValue:f.value,"onUpdate:modelValue":l[1]||(l[1]=e=>f.value=e),status:null==(t=e.api)?void 0:t.error,"input-class":null==(a=e.input.css)?void 0:a.input,"label-class":null==(t=e.input.css)?void 0:t.label,entries:e.input.allowableEntries,values:e.input.allowableValues},p.value),null,16,["id","modelValue","status","input-class","label-class","entries","values"])):"checkbox"==c.value?(o(),ae(n,Te({key:2,id:e.input.id,modelValue:f.value,"onUpdate:modelValue":l[2]||(l[2]=e=>f.value=e),status:null==(a=e.api)?void 0:a.error,"input-class":null==(t=e.input.css)?void 0:t.input,"label-class":null==(n=e.input.css)?void 0:n.label},p.value),null,16,["id","modelValue","status","input-class","label-class"])):"tag"==c.value?(o(),ae(r,Te({key:3,id:e.input.id,modelValue:f.value,"onUpdate:modelValue":l[3]||(l[3]=e=>f.value=e),status:null==(a=e.api)?void 0:a.error,"input-class":null==(t=e.input.css)?void 0:t.input,"label-class":null==(n=e.input.css)?void 0:n.label,allowableValues:e.input.allowableValues,string:"String"==(null==(r=e.input.prop)?void 0:r.type)},p.value),null,16,["id","modelValue","status","input-class","label-class","allowableValues","string"])):"combobox"==c.value?(o(),ae(s,Te({key:4,id:e.input.id,modelValue:f.value,"onUpdate:modelValue":l[4]||(l[4]=e=>f.value=e),status:null==(a=e.api)?void 0:a.error,"input-class":null==(t=e.input.css)?void 0:t.input,"label-class":null==(n=e.input.css)?void 0:n.label,entries:e.input.allowableEntries,values:e.input.allowableValues},p.value),null,16,["id","modelValue","status","input-class","label-class","entries","values"])):"file"==c.value?(o(),ae(i,Te({key:5,id:e.input.id,status:null==(r=e.api)?void 0:r.error,modelValue:f.value,"onUpdate:modelValue":l[5]||(l[5]=e=>f.value=e),"input-class":null==(s=e.input.css)?void 0:s.input,"label-class":null==(a=e.input.css)?void 0:a.label,files:m.value},p.value),null,16,["id","status","modelValue","input-class","label-class","files"])):"textarea"==c.value?(o(),ae(u,Te({key:6,id:e.input.id,modelValue:f.value,"onUpdate:modelValue":l[6]||(l[6]=e=>f.value=e),status:null==(t=e.api)?void 0:t.error,"input-class":null==(n=e.input.css)?void 0:n.input,"label-class":null==(i=e.input.css)?void 0:i.label},p.value),null,16,["id","modelValue","status","input-class","label-class"])):"MarkdownInput"==c.value?(o(),ae(d,Te({key:7,id:e.input.id,modelValue:f.value,"onUpdate:modelValue":l[7]||(l[7]=e=>f.value=e),status:null==(r=e.api)?void 0:r.error,"input-class":null==(s=e.input.css)?void 0:s.input,"label-class":null==(a=e.input.css)?void 0:a.label},p.value),null,16,["id","modelValue","status","input-class","label-class"])):(o(),ae(v,Te({key:8,type:c.value,id:e.input.id,modelValue:f.value,"onUpdate:modelValue":l[8]||(l[8]=e=>f.value=e),status:null==(u=e.api)?void 0:u.error,"input-class":null==(t=e.input.css)?void 0:t.input,"label-class":null==(n=e.input.css)?void 0:n.label},p.value),null,16,["type","id","modelValue","status","input-class","label-class"]))}}}),C0={class:"lookup-field"},x0=["name","value"],L0={key:0,class:"flex justify-between"},V0=["for"],S0={key:0,class:"flex items-center"},M0={class:"text-sm text-gray-500 dark:text-gray-400 pr-1"},A0=l("span",{class:"sr-only"},"Clear",-1),T0=l("svg",{class:"h-4 w-4",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1),F0=[A0,T0],I0={key:1,class:"mt-1 relative"},j0={class:"w-full inline-flex truncate"},O0={class:"text-blue-700 dark:text-blue-300 flex cursor-pointer"},D0=l("span",{class:"absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none"},[l("svg",{class:"h-5 w-5 text-gray-400 dark:text-gray-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[l("path",{"fill-rule":"evenodd",d:"M10 3a1 1 0 01.707.293l3 3a1 1 0 01-1.414 1.414L10 5.414 7.707 7.707a1 1 0 01-1.414-1.414l3-3A1 1 0 0110 3zm-3.707 9.293a1 1 0 011.414 0L10 14.586l2.293-2.293a1 1 0 011.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z","clip-rule":"evenodd"})])],-1),P0=["id"],B0=["id"],H0=de({__name:"LookupInput",props:{id:{},status:{},input:{},metadataType:{},modelValue:{},label:{},labelClass:{},help:{}},emits:["update:modelValue"],setup(e,{emit:t}){let a=It().config,r=lt().metadataApi,s=e,u=t,d=v(()=>s.id||s.input.id),c=v(()=>s.label??Pe(at(d.value))),n=Qe("ApiState",void 0),p=Qe("client"),f=v(()=>mt.call({responseStatus:s.status??(null==n?void 0:n.error.value)},d.value)),m=O(""),g=O(""),h=v(()=>_e(s.modelValue,d.value)),b=v(()=>st(s.metadataType).find(e=>e.name.toLowerCase()==d.value.toLowerCase())),w=v(()=>{var e;return(null==(e=rt(null==(e=null==(e=b.value)?void 0:e.ref)?void 0:e.model))?void 0:e.icon)||a.value.tableIcon}),k;function C(){s.modelValue[d.value]=null,m.value=""}return Ye(async()=>{k=Qe("ModalProvider",void 0);var l,t=s.modelValue;s.modelValue[d.value]||(s.modelValue[d.value]=null);let a=b.value,n=null==a?void 0:a.ref;if(n){m.value="";let e=null==n.selfId?_e(t,a.name):_e(t,n.selfId);null==(e=Xt(e)?_e(t,n.refId):e)||null==(null==(l=r.value)?void 0:l.operations.find(e=>{var l;return(null==(l=e.dataModel)?void 0:l.name)==n.model}))||Xt(l=_e(t,a.name))||(m.value=""+l,g.value=a.name,null!=n.refLabel&&(null==(l=st(s.metadataType).find(e=>e.type==n.model))&&console.warn(`Could not find ${n.model} Property on `+s.metadataType.name),null!=(t=null!=l?_e(t,l.name):null)?(l=_e(t,n.refLabel))&&(m.value=""+l,Pt.setValue(n.model,e,n.refLabel,l)):(l=1==(null==(t=a.attributes)?void 0:t.some(e=>"Computed"==e.name)),t=await Pt.getOrFetchValue(p,r.value,n.model,n.refId,n.refLabel,l,e),m.value=t||n.model+": "+m.value)))}else console.warn(`No RefInfo for property '${d.value}'`)}),(e,t)=>{var a,n=Z("Icon");return o(),i("div",C0,[l("input",{type:"hidden",name:d.value,value:h.value},null,8,x0),c.value?(o(),i("div",L0,[l("label",{for:d.value,class:y("block text-sm font-medium text-gray-700 dark:text-gray-300 "+(e.labelClass??""))},F(c.value),11,V0),h.value?(o(),i("div",S0,[l("span",M0,F(h.value),1),l("button",{onClick:C,type:"button",title:"clear",class:"mr-1 rounded-md 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"},F0)])):x("",!0)])):x("",!0),null!=(a=b.value)&&a.ref?(o(),i("div",I0,[l("button",{type:"button",class:"lookup flex relative w-full bg-white dark:bg-black border border-gray-300 dark:border-gray-700 rounded-md shadow-sm pl-3 pr-10 py-2 text-left focus:outline-none focus:ring-1 focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm",onClick:t[0]||(t[0]=e=>{var a;(a=b.value.ref)&&(null==k?console.warn("No ModalProvider required by LookupInput"):k.openModal({name:"ModalLookup",ref:a},e=>{var l,t;console.debug("openModal",m.value," -> ",e,Pt.setRefValue(a,e),a),e&&(l=_e(e,a.refId),m.value=Pt.setRefValue(a,e)||l,(t=X(s.modelValue))[d.value]=l,u("update:modelValue",t))}))}),"aria-haspopup":"listbox","aria-expanded":"true","aria-labelledby":"listbox-label"},[l("span",j0,[l("span",O0,[ye(n,{class:"mr-1 w-5 h-5",image:w.value},null,8,["image"]),l("span",null,F(m.value),1)])]),D0])])):x("",!0),f.value?(o(),i("p",{key:2,class:"mt-2 text-sm text-red-500",id:d.value+"-error"},F(f.value),9,P0)):e.help?(o(),i("p",{key:3,class:"mt-2 text-sm text-gray-500",id:d.value+"-description"},F(e.help),9,B0)):x("",!0)])}}}),R0=de({__name:"AutoFormFields",props:{modelValue:{},type:{},metaType:{},api:{},formLayout:{},configureField:{},configureFormLayout:{},hideSummary:{type:Boolean},flexClass:{default:"flex flex-1 flex-col justify-between"},divideClass:{default:"divide-y divide-gray-200 px-4 sm:px-6"},spaceClass:{default:"space-y-6 pt-6 pb-5"},fieldsetClass:{default:"grid grid-cols-12 gap-6"}},emits:["update:modelValue"],setup(e,{expose:t,emit:a}){let u=e,n=a;function r(){var e=Be();null!=(e=null==e?void 0:e.proxy)&&e.$forceUpdate()}function d(e,l){u.modelValue[e]=l,n("update:modelValue",u.modelValue),r()}t({forceUpdate:r,props:u,updateValue:d});let{metadataApi:s,apiOf:c,typeOf:p,typeOfRef:f,createFormLayout:m}=lt(),g=v(()=>u.type||qt(u.modelValue)),h=v(()=>u.metaType??p(g.value)),b=v(()=>{var e;return f(null==(e=null==(e=s.value)?void 0:e.operations.find(e=>e.request.name==g.value))?void 0:e.dataModel)||h.value});function w(){var e,l=h.value;if(!l){if(u.formLayout)return e=u.formLayout.map(e=>{var l={name:e.id,type:Ia(e.type)},l=Object.assign({prop:l},e);return u.configureField&&u.configureField(l),l}),u.configureFormLayout&&u.configureFormLayout(e),e;throw new Error(`MetadataType for ${g.value} not found`)}let a=st(l),n=b.value,t=u.formLayout?Array.from(u.formLayout):m(l),r=[],s=c(l.name);return t.forEach(t=>{var e,l=a.find(e=>e.name==t.name);t.ignore||(e=(null==(e=null==n?void 0:n.properties)?void 0:e.find(e=>{var l;return e.name.toLowerCase()==(null==(l=t.name)?void 0:l.toLowerCase())}))??l,l=Object.assign({prop:e,op:s},t),u.configureField&&u.configureField(l),r.push(l))}),u.configureFormLayout&&u.configureFormLayout(r),r}return(t,a)=>{let e,n=Z("ErrorSummary"),r=Z("LookupInput"),s=Z("DynamicInput");return o(),i(Me,null,[t.hideSummary?x("",!0):(o(),ae(n,{key:0,status:null==(e=t.api)?void 0:e.error,except:w().filter(e=>"hidden"!=e.type).map(e=>e.id)},null,8,["status","except"])),l("div",{class:y(t.flexClass)},[l("div",{class:y(t.divideClass)},[l("div",{class:y(t.spaceClass)},[l("fieldset",{class:y(t.fieldsetClass)},[(o(!0),i(Me,null,je(w(),l=>{var e;return o(),i("div",{key:l.id,class:y(["w-full",(null==(e=l.css)?void 0:e.field)??("textarea"==l.type?"col-span-12":"col-span-12 xl:col-span-6"+("checkbox"==l.type?" flex items-center":"")),"hidden"==l.type?"hidden":""])},[null==(null==(e=l.prop)?void 0:e.ref)||"file"==l.type||l.prop.isPrimaryKey?(o(),ae(s,{key:1,input:l,modelValue:t.modelValue,"onUpdate:modelValue":a[0]||(a[0]=e=>t.$emit("update:modelValue",e)),api:t.api},null,8,["input","modelValue","api"])):(o(),ae(r,{key:0,metadataType:b.value,input:l,modelValue:t.modelValue,"onUpdate:modelValue":e=>{d(l.id,_e(e,l.id))},status:null==(e=t.api)?void 0:e.error},null,8,["metadataType","input","modelValue","onUpdate:modelValue","status"]))],2)}),128))],2)],2)],2)],2)],64)}}});function Ds(e){let r=O(!1),s=O(),o=O(),i=e??Qe("client");function n({message:e,errorCode:l,fieldName:t,errors:a}){return l=l||"Exception",a=a||[],s.value=new Us(t?{errorCode:l,message:e,errors:[new Gl({fieldName:t,errorCode:l,message:e})]}:{errorCode:l,message:e,errors:a})}var l={setError:n,addFieldError:function({fieldName:t,message:e,errorCode:l}){var a;l=l||"Exception",s.value?((a=new Us(s.value)).errors=[...(a.errors||[]).filter(e=>{var l;return(null==(l=e.fieldName)?void 0:l.toLowerCase())!==(null==t?void 0:t.toLowerCase())}),new Gl({fieldName:t,message:e,errorCode:l})],s.value=a):n({fieldName:t,message:e,errorCode:l})},loading:r,error:s,api:async function(e,l,t){r.value=!0;var a=await i.api(Dt(e),l,t);return r.value=!1,o.value=a.response,s.value=a.error,a},apiVoid:async function(e,l,t){r.value=!0;var a=await i.apiVoid(Dt(e),l,t);return r.value=!1,o.value=a.response,s.value=a.error,a},apiForm:async function(e,l,t,a){r.value=!0;var n=await i.apiForm(Dt(e),l,t,a);return r.value=!1,o.value=n.response,s.value=n.error,n},apiFormVoid:async function(e,l,t,a){r.value=!0;var n=await i.apiFormVoid(Dt(e),l,t,a);return r.value=!1,o.value=n.response,s.value=n.error,n},swr:async function(e,l,t,a){return gn(i,e,l,t,a)},swrEffect:function(t,a){let n=O(new Xe),r=yn(async e=>{n.value=await i.api(e)},null==a?void 0:a.delayMs);return ws(async()=>{var e=t(),l=cl(As(e));l&&(n.value=new Xe({response:l})),0===(null==a?void 0:a.delayMs)?n.value=await i.api(e):r(e)}),(async()=>n.value=await i.api(t(),null==a?void 0:a.args,null==a?void 0:a.method))(),n},unRefs:Dt,setRef:mn};return ss("ApiState",l),l}let E0={key:0},z0={class:"text-red-700"},N0=l("b",null,"type",-1),U0={key:0},q0={key:2},Q0=["innerHTML"],K0=l("input",{type:"submit",class:"hidden"},null,-1),Z0={class:"flex justify-end"},W0=l("div",null,null,-1),G0={key:2,class:"relative z-10","aria-labelledby":"slide-over-title",role:"dialog","aria-modal":"true"},J0=l("div",{class:"fixed inset-0"},null,-1),X0={class:"fixed inset-0 overflow-hidden"},Y0={class:"flex min-h-0 flex-1 flex-col overflow-auto"},ef={class:"flex-1"},tf={class:"bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6"},sf={class:"flex items-start justify-between space-x-3"},lf={class:"space-y-1"},nf={key:0},of={key:2},af=["innerHTML"],rf={class:"flex h-7 items-center"},uf={class:"flex justify-end"},df=de({__name:"AutoForm",props:{type:{},modelValue:{},heading:{},subHeading:{},showLoading:{type:Boolean,default:!0},jsconfig:{default:"eccn,edv"},formStyle:{default:"card"},metaType:{},configureField:{},configureFormLayout:{},panelClass:{},bodyClass:{},formClass:{},innerFormClass:{},headerClass:{default:"p-6"},buttonsClass:{},headingClass:{},subHeadingClass:{},submitLabel:{default:"Submit"},allowSubmit:{}},emits:["success","error","update:modelValue","done"],setup(e,{expose:t,emit:a}){let s=e,u=a,L=O(),M=O(1),V=O();function n(){M.value++,H.value=m();var e=Be();null!=(e=null==e?void 0:e.proxy)&&e.$forceUpdate()}ss("ModalProvider",{openModal:function(e,l){S.value=e,r.value=l}});let S=O(),r=O();async function T(e){r.value&&r.value(e),S.value=void 0,r.value=void 0}let d=Ds(),c=bn().getTypeName,{typeOf:p,createDto:f}=lt(),A=O(new Xe),I=v(()=>s.panelClass||Ee.panelClass(s.formStyle)),j=v(()=>s.formClass||"card"==s.formStyle?"shadow sm:rounded-md":Bt.formClass),$=v(()=>s.headingClass||Ee.headingClass(s.formStyle)),B=v(()=>s.subHeadingClass||Ee.subHeadingClass(s.formStyle)),E=v(()=>("string"==typeof s.buttonsClass?s:Ee).buttonsClass),_=v(()=>{var e;return s.type?c(s.type):null!=(e=s.modelValue)&&e.getTypeName?s.modelValue.getTypeName():null}),D=v(()=>s.metaType??p(_.value)),m=()=>s.modelValue||g(),H=O(m()),P=v(()=>d.loading.value),R=v(()=>{var e;return null!=s.heading?s.heading:(null==(e=D.value)?void 0:e.description)||Pe(_.value)});function g(){return"string"==typeof s.type?f(s.type):s.type?new s.type:s.modelValue}async function z(e){var l,t,a,n,r;e&&"FORM"==e.tagName?(l=g(),r=Ze(null==l?void 0:l.getMethod,e=>"function"==typeof e?e():null)||"POST",t=null==Ze(null==l?void 0:l.createResponse,e=>"function"==typeof e?e():null),a=s.jsconfig,il.hasRequestBody(r)?(r=new l.constructor,n=new FormData(e),A.value=t?await d.apiFormVoid(r,n,{jsconfig:a}):await d.apiForm(r,n,{jsconfig:a})):(r=new l.constructor(Bo(H.value)),console.debug("AutoForm.submit",r),A.value=t?await d.apiVoid(r,{jsconfig:a}):await d.api(r,{jsconfig:a})),A.value.succeeded?(u("success",A.value.response),q()):u("error",A.value.error)):console.error("Not a valid form",e)}function N(e){u("update:modelValue",e)}function h(){u("done")}t({forceUpdate:n,props:s,setModel:async function(e){Object.assign(H.value,e),n(),await St(()=>null)},formFields:L,submit:async function(){z(V.value)},close:q,model:H});let b=O(!1),G=O(""),k={entering:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-full",to:"translate-x-0"},leaving:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-0",to:"translate-x-full"}};function q(){"slideOver"==s.formStyle?b.value=!1:h()}bt(b,()=>{yt(k,G,b.value),b.value||setTimeout(h,700)}),b.value=!0;let w=e=>{"Escape"===e.key&&q()};return Ye(()=>window.addEventListener("keydown",w)),Ft(()=>window.removeEventListener("keydown",w)),(t,e)=>{let a,n,r,s,u,d,v,c,p,f,m,g=Z("AutoFormFields"),h=Z("FormLoading"),b=Z("PrimaryButton"),w=Z("CloseButton"),k=Z("SecondaryButton"),C=Z("ModalLookup");return o(),i("div",null,[D.value?"card"==t.formStyle?(o(),i("div",{key:1,class:y(I.value)},[l("form",{ref_key:"elForm",ref:V,onSubmit:e[0]||(e[0]=Ue(e=>z(e.target),["prevent"])),autocomplete:"off",class:y(t.innerFormClass)},[l("div",{class:y(t.bodyClass)},[l("div",{class:y(t.headerClass)},[t.$slots.heading?(o(),i("div",U0,[U(t.$slots,"heading")])):(o(),i("h3",{key:1,class:y($.value)},F(R.value),3)),t.$slots.subheading?(o(),i("div",q0,[U(t.$slots,"subheading")])):t.subHeading?(o(),i("p",{key:3,class:y(B.value)},F(t.subHeading),3)):null!=(a=D.value)&&a.notes?(o(),i("p",{key:4,class:y(["notes",B.value]),innerHTML:null==(n=D.value)?void 0:n.notes},null,10,Q0)):x("",!0)],2),U(t.$slots,"header",{instance:null==(r=Be())?void 0:r.exposed,model:H.value}),K0,(o(),ae(g,{ref_key:"formFields",ref:L,key:M.value,type:t.type,modelValue:H.value,"onUpdate:modelValue":N,api:A.value,configureField:t.configureField,configureFormLayout:t.configureFormLayout},null,8,["type","modelValue","api","configureField","configureFormLayout"])),U(t.$slots,"footer",{instance:null==(s=Be())?void 0:s.exposed,model:H.value})],2),U(t.$slots,"buttons",{},()=>{var e;return[l("div",{class:y(E.value)},[l("div",null,[U(t.$slots,"leftbuttons",{instance:null==(e=Be())?void 0:e.exposed,model:H.value})]),l("div",null,[t.showLoading&&P.value?(o(),ae(h,{key:0})):x("",!0)]),l("div",Z0,[W0,ye(b,{disabled:!!t.allowSubmit&&!t.allowSubmit(H.value)},{default:xe(()=>[ke(F(t.submitLabel),1)]),_:1},8,["disabled"]),U(t.$slots,"rightbuttons",{instance:null==(e=Be())?void 0:e.exposed,model:H.value})])],2)]})],34)],2)):(o(),i("div",G0,[J0,l("div",X0,[l("div",{onMousedown:q,class:"absolute inset-0 overflow-hidden"},[l("div",{onMousedown:e[2]||(e[2]=Ue(()=>{},["stop"])),class:"pointer-events-none fixed inset-y-0 right-0 flex pl-10"},[l("div",{class:y(["pointer-events-auto w-screen xl:max-w-3xl md:max-w-xl max-w-lg",G.value])},[l("form",{ref_key:"elForm",ref:V,class:y(j.value),onSubmit:e[1]||(e[1]=Ue(e=>z(e.target),["prevent"]))},[l("div",Y0,[l("div",ef,[l("div",tf,[l("div",sf,[l("div",lf,[t.$slots.heading?(o(),i("div",nf,[U(t.$slots,"heading")])):(o(),i("h3",{key:1,class:y($.value)},F(R.value),3)),t.$slots.subheading?(o(),i("div",of,[U(t.$slots,"subheading")])):t.subHeading?(o(),i("p",{key:3,class:y(B.value)},F(t.subHeading),3)):null!=(u=D.value)&&u.notes?(o(),i("p",{key:4,class:y(["notes",B.value]),innerHTML:null==(d=D.value)?void 0:d.notes},null,10,af)):x("",!0)]),l("div",rf,[ye(w,{"button-class":"bg-gray-50 dark:bg-gray-900",onClose:q})])])]),U(t.$slots,"header",{instance:null==(v=Be())?void 0:v.exposed,model:H.value}),(o(),ae(g,{ref_key:"formFields",ref:L,key:M.value,type:t.type,modelValue:H.value,"onUpdate:modelValue":N,api:A.value,configureField:t.configureField,configureFormLayout:t.configureFormLayout},null,8,["type","modelValue","api","configureField","configureFormLayout"])),U(t.$slots,"footer",{instance:null==(c=Be())?void 0:c.exposed,model:H.value})])]),l("div",{class:y(E.value)},[l("div",null,[U(t.$slots,"leftbuttons",{instance:null==(p=Be())?void 0:p.exposed,model:H.value})]),l("div",null,[t.showLoading&&P.value?(o(),ae(h,{key:0})):x("",!0)]),l("div",uf,[ye(k,{onClick:q,disabled:P.value},{default:xe(()=>[ke("Cancel")]),_:1},8,["disabled"]),ye(b,{class:"ml-4",disabled:!!t.allowSubmit&&!t.allowSubmit(H.value)},{default:xe(()=>[ke(F(t.submitLabel),1)]),_:1},8,["disabled"]),U(t.$slots,"rightbuttons",{instance:null==(f=Be())?void 0:f.exposed,model:H.value})])],2)],34)],2)],32)],32)])])):(o(),i("div",E0,[l("p",z0,[ke("Could not create form for unknown "),N0,ke(" "+F(_.value),1)])])),"ModalLookup"==(null==(m=S.value)?void 0:m.name)&&S.value.ref?(o(),ae(C,{key:3,"ref-info":S.value.ref,onDone:T},null,8,["ref-info"])):x("",!0)])}}}),cf={key:0},ff={class:"text-red-700"},vf=l("b",null,"type",-1),pf={key:0},mf={key:2},hf=["innerHTML"],gf={class:"flex justify-end"},yf={key:2,class:"relative z-10","aria-labelledby":"slide-over-title",role:"dialog","aria-modal":"true"},bf=l("div",{class:"fixed inset-0"},null,-1),wf={class:"fixed inset-0 overflow-hidden"},kf={class:"flex min-h-0 flex-1 flex-col overflow-auto"},_f={class:"flex-1"},$f={class:"bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6"},Cf={class:"flex items-start justify-between space-x-3"},xf={class:"space-y-1"},Lf={key:0},Vf={key:2},Sf=["innerHTML"],Mf={class:"flex h-7 items-center"},Af={class:"flex justify-end"},Tf=de({__name:"AutoCreateForm",props:{type:{},formStyle:{default:"slideOver"},panelClass:{},formClass:{},headingClass:{},subHeadingClass:{},buttonsClass:{},heading:{},subHeading:{},autosave:{type:Boolean,default:!0},showLoading:{type:Boolean,default:!0},showCancel:{type:Boolean,default:!0},configureField:{},configureFormLayout:{}},emits:["done","save","error"],setup(e,{expose:t,emit:a}){let r=e,s=a,c=O(),p=O(1);function n(){p.value++,null!=(e=c.value)&&e.forceUpdate();var e=Be();null!=(e=null==e?void 0:e.proxy)&&e.$forceUpdate()}function f(e){}ss("ModalProvider",{openModal:function(e,l){m.value=e,u.value=l}});let m=O(),u=O();async function g(e){u.value&&u.value(e),m.value=void 0,u.value=void 0}let{typeOf:d,typeProperties:h,Crud:b,createDto:w,formValues:k}=lt(),C=v(()=>qt(r.type)),L=v(()=>d(C.value)),M=O("string"==typeof r.type?w(r.type):r.type?new r.type:null),V=(t({forceUpdate:n,props:r,setModel:function(e){Object.assign(M.value,e),n()},formFields:c,model:M}),v(()=>r.panelClass||Ee.panelClass(r.formStyle))),S=v(()=>r.formClass||Ee.formClass(r.formStyle)),T=v(()=>r.headingClass||Ee.headingClass(r.formStyle)),A=v(()=>r.subHeadingClass||Ee.subHeadingClass(r.formStyle)),I=v(()=>r.buttonsClass||Ee.buttonsClass),j=v(()=>b.model(L.value)),$=v(()=>{var e;return r.heading||(null==(e=d(C.value))?void 0:e.description)||(j.value?"New "+Pe(j.value):Pe(C.value))}),B=O(new Xe),E=Ds(),_=v(()=>E.loading.value);async function D(e){var l,t,a,n=e.target;r.autosave?(t=Ze(null==(t=M.value)?void 0:t.getMethod,e=>"function"==typeof e?e():null)||"POST",l=null==Ze(null==(l=M.value)?void 0:l.createResponse,e=>"function"==typeof e?e():null),il.hasRequestBody(t)?(t=new M.value.constructor,a=new FormData(n),B.value=l?await E.apiFormVoid(t,a,{jsconfig:"eccn"}):await E.apiForm(t,a,{jsconfig:"eccn"})):(t=k(n,h(L.value)),a=new M.value.constructor(t),B.value=l?await E.apiVoid(a,{jsconfig:"eccn"}):await E.api(a,{jsconfig:"eccn"})),B.value.succeeded?(n.reset(),s("save",B.value.response)):s("error",B.value.error)):s("save",new M.value.constructor(k(n,h(L.value))))}function H(){s("done")}G.interceptors.has("AutoCreateForm.new")&&G.interceptors.invoke("AutoCreateForm.new",{props:r,model:M});let P=O(!1),R=O(""),q={entering:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-full",to:"translate-x-0"},leaving:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-0",to:"translate-x-full"}};function z(){"slideOver"==r.formStyle?P.value=!1:H()}bt(P,()=>{yt(q,R,P.value),P.value||setTimeout(H,700)}),P.value=!0;let N=e=>{"Escape"===e.key&&z()};return Ye(()=>window.addEventListener("keydown",N)),Ft(()=>window.removeEventListener("keydown",N)),(e,t)=>{var a,n=Z("AutoFormFields"),r=Z("FormLoading"),s=Z("SecondaryButton"),u=Z("PrimaryButton"),d=Z("CloseButton"),v=Z("ModalLookup");return o(),i("div",null,[L.value?"card"==e.formStyle?(o(),i("div",{key:1,class:y(V.value)},[l("form",{onSubmit:Ue(D,["prevent"])},[l("div",{class:y(S.value)},[l("div",null,[e.$slots.heading?(o(),i("div",pf,[U(e.$slots,"heading")])):(o(),i("h3",{key:1,class:y(T.value)},F($.value),3)),e.$slots.subheading?(o(),i("div",mf,[U(e.$slots,"subheading")])):e.subHeading?(o(),i("p",{key:3,class:y(A.value)},F(e.subHeading),3)):null!=(a=L.value)&&a.notes?(o(),i("p",{key:4,class:y(["notes",A.value]),innerHTML:null==(a=L.value)?void 0:a.notes},null,10,hf)):x("",!0)]),U(e.$slots,"header",{formInstance:null==(a=Be())?void 0:a.exposed,model:M.value}),(o(),ae(n,{ref_key:"formFields",ref:c,key:p.value,modelValue:M.value,"onUpdate:modelValue":f,api:B.value,configureField:e.configureField,configureFormLayout:e.configureFormLayout},null,8,["modelValue","api","configureField","configureFormLayout"])),U(e.$slots,"footer",{formInstance:null==(a=Be())?void 0:a.exposed,model:M.value})],2),l("div",{class:y(I.value)},[l("div",null,[e.showLoading&&X(_)?(o(),ae(r,{key:0})):x("",!0)]),l("div",gf,[e.showCancel?(o(),ae(s,{key:0,onClick:z,disabled:X(_)},{default:xe(()=>[ke("Cancel")]),_:1},8,["disabled"])):x("",!0),ye(u,{type:"submit",class:"ml-4",disabled:X(_)},{default:xe(()=>[ke("Save")]),_:1},8,["disabled"])])],2)],32)],2)):(o(),i("div",yf,[bf,l("div",wf,[l("div",{onMousedown:z,class:"absolute inset-0 overflow-hidden"},[l("div",{onMousedown:t[0]||(t[0]=Ue(()=>{},["stop"])),class:"pointer-events-none fixed inset-y-0 right-0 flex pl-10"},[l("div",{class:y(["pointer-events-auto w-screen xl:max-w-3xl md:max-w-xl max-w-lg",R.value])},[l("form",{class:y(S.value),onSubmit:Ue(D,["prevent"])},[l("div",kf,[l("div",_f,[l("div",$f,[l("div",Cf,[l("div",xf,[e.$slots.heading?(o(),i("div",Lf,[U(e.$slots,"heading")])):(o(),i("h3",{key:1,class:y(T.value)},F($.value),3)),e.$slots.subheading?(o(),i("div",Vf,[U(e.$slots,"subheading")])):e.subHeading?(o(),i("p",{key:3,class:y(A.value)},F(e.subHeading),3)):null!=(a=L.value)&&a.notes?(o(),i("p",{key:4,class:y(["notes",A.value]),innerHTML:null==(a=L.value)?void 0:a.notes},null,10,Sf)):x("",!0)]),l("div",Mf,[ye(d,{"button-class":"bg-gray-50 dark:bg-gray-900",onClose:z})])])]),U(e.$slots,"header",{formInstance:null==(a=Be())?void 0:a.exposed,model:M.value}),(o(),ae(n,{ref_key:"formFields",ref:c,key:p.value,modelValue:M.value,"onUpdate:modelValue":f,api:B.value,configureField:e.configureField,configureFormLayout:e.configureFormLayout},null,8,["modelValue","api","configureField","configureFormLayout"])),U(e.$slots,"footer",{formInstance:null==(d=Be())?void 0:d.exposed,model:M.value})])]),l("div",{class:y(I.value)},[l("div",null,[e.showLoading&&X(_)?(o(),ae(r,{key:0})):x("",!0)]),l("div",Af,[e.showCancel?(o(),ae(s,{key:0,onClick:z,disabled:X(_)},{default:xe(()=>[ke("Cancel")]),_:1},8,["disabled"])):x("",!0),ye(u,{type:"submit",class:"ml-4",disabled:X(_)},{default:xe(()=>[ke("Save")]),_:1},8,["disabled"])])],2)],34)],2)],32)],32)])])):(o(),i("div",cf,[l("p",ff,[ke("Could not create form for unknown "),vf,ke(" "+F(C.value),1)])])),"ModalLookup"==(null==(a=m.value)?void 0:a.name)&&m.value.ref?(o(),ae(v,{key:3,"ref-info":m.value.ref,onDone:g},null,8,["ref-info"])):x("",!0)])}}}),Ff={key:0},If={class:"text-red-700"},jf=l("b",null,"type",-1),Of={key:0},Df={key:2},Pf=["innerHTML"],Bf={class:"flex justify-end"},Hf={key:2,class:"relative z-10","aria-labelledby":"slide-over-title",role:"dialog","aria-modal":"true"},Rf=l("div",{class:"fixed inset-0"},null,-1),Ef={class:"fixed inset-0 overflow-hidden"},zf={class:"flex min-h-0 flex-1 flex-col overflow-auto"},Nf={class:"flex-1"},Uf={class:"bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6"},qf={class:"flex items-start justify-between space-x-3"},Qf={class:"space-y-1"},Kf={key:0},Zf={key:2},Wf=["innerHTML"],Gf={class:"flex h-7 items-center"},Jf={class:"flex justify-end"},Xf=de({__name:"AutoEditForm",props:{modelValue:{},type:{},deleteType:{},formStyle:{default:"slideOver"},panelClass:{},formClass:{},headingClass:{},subHeadingClass:{},heading:{},subHeading:{},autosave:{type:Boolean,default:!0},showLoading:{type:Boolean,default:!0},configureField:{},configureFormLayout:{}},emits:["done","save","delete","error"],setup(e,{expose:t,emit:a}){let r=e,s=a,p=O(),f=O(1);function m(e){}ss("ModalProvider",{openModal:function(e,l){g.value=e,n.value=l}});let g=O(),n=O();async function q(e){n.value&&n.value(e),g.value=void 0,n.value=void 0}let{typeOf:u,apiOf:Q,typeProperties:c,createFormLayout:K,getPrimaryKey:W,Crud:h,createDto:d,formValues:b}=lt(),w=v(()=>qt(r.type)),k=v(()=>u(w.value)),C=()=>"string"==typeof r.type?d(r.type,ys(r.modelValue)):r.type?new r.type(ys(r.modelValue)):null,L=O(C()),J=(t({forceUpdate:function(){f.value++,L.value=C();var e=Be();null!=(e=null==e?void 0:e.proxy)&&e.$forceUpdate()},props:r,setModel:function(e){Object.assign(L.value,e)},formFields:p,model:L}),v(()=>r.panelClass||Ee.panelClass(r.formStyle))),M=v(()=>r.formClass||Ee.formClass(r.formStyle)),V=v(()=>r.headingClass||Ee.headingClass(r.formStyle)),S=v(()=>r.subHeadingClass||Ee.subHeadingClass(r.formStyle)),T=v(()=>h.model(k.value)),A=v(()=>{var e;return r.heading||(null==(e=u(w.value))?void 0:e.description)||(T.value?"Update "+Pe(T.value):Pe(w.value))}),I=O(new Xe),j=Object.assign({},ys(r.modelValue)),$=(G.interceptors.has("AutoEditForm.new")&&G.interceptors.invoke("AutoEditForm.new",{props:r,model:L,origModel:j}),Ds()),B=v(()=>$.loading.value),E=()=>Ze(u(h.model(k.value)),e=>W(e));function Y(e){var{op:l,prop:t}=e;l&&(h.isPatch(l)||h.isUpdate(l))&&(e.disabled=null==t?void 0:t.isPrimaryKey),r.configureField&&r.configureField(e)}async function _(e){var a=e.target;if(r.autosave){let e=Ze(null==(n=L.value)?void 0:n.getMethod,e=>"function"==typeof e?e():null)||"POST",t=null==Ze(null==(n=L.value)?void 0:n.createResponse,e=>"function"==typeof e?e():null),d=E();if(il.hasRequestBody(e)){let e=new L.value.constructor,l=_e(r.modelValue,d.name),i=new FormData(a),u=(d&&!Array.from(i.keys()).some(e=>e.toLowerCase()==d.name.toLowerCase())&&i.append(d.name,l),[]);var n=w.value&&Q(w.value);if(n&&h.isPatch(n)){let s=K(k.value),o={};if(d&&(o[d.name]=l),s.forEach(t=>{var a=t.id,n=_e(j,a);if(!d||d.name.toLowerCase()!==a.toLowerCase()){var r=i.get(a);G.interceptors.has("AutoEditForm.save.formLayout")&&G.interceptors.invoke("AutoEditForm.save.formLayout",{origValue:n,formLayout:s,input:t,newValue:r});let e=null!=r,l="checkbox"===t.type?e!=!!n:"file"===t.type?e:r!=n;(l=r||n?l:!1)&&(r?o[a]=r:"file"!==t.type&&u.push(a))}}),G.interceptors.has("AutoEditForm.save")&&G.interceptors.invoke("AutoEditForm.save",{origModel:j,formLayout:s,dirtyValues:o}),Array.from(i.keys()).filter(e=>!o[e]).forEach(e=>i.delete(e)),0==Array.from(i.keys()).filter(e=>e.toLowerCase()!=d.name.toLowerCase()).length&&0==u.length)return void z()}n=0"function"==typeof e?e():null)?I.value=await $.apiVoid(t):I.value=await $.api(t),I.value.succeeded?s("delete",I.value.response):s("error",I.value.error)):console.error(`Could not find Primary Key for Type ${w.value} (${T.value})`)}function H(){s("done")}let P=O(!1),R=O(""),ee={entering:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-full",to:"translate-x-0"},leaving:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-0",to:"translate-x-full"}};function z(){"slideOver"==r.formStyle?P.value=!1:H()}bt(P,()=>{yt(ee,R,P.value),P.value||setTimeout(H,700)}),P.value=!0;let N=e=>{"Escape"===e.key&&z()};return Ye(()=>window.addEventListener("keydown",N)),Ft(()=>window.removeEventListener("keydown",N)),(e,t)=>{var a,n=Z("AutoFormFields"),r=Z("ConfirmDelete"),s=Z("FormLoading"),u=Z("SecondaryButton"),d=Z("PrimaryButton"),v=Z("CloseButton"),c=Z("ModalLookup");return o(),i("div",null,[k.value?"card"==e.formStyle?(o(),i("div",{key:1,class:y(J.value)},[l("form",{onSubmit:Ue(_,["prevent"])},[l("div",{class:y(M.value)},[l("div",null,[e.$slots.heading?(o(),i("div",Of,[U(e.$slots,"heading")])):(o(),i("h3",{key:1,class:y(V.value)},F(A.value),3)),e.$slots.subheading?(o(),i("div",Df,[U(e.$slots,"subheading")])):e.subHeading?(o(),i("p",{key:3,class:y(S.value)},F(e.subHeading),3)):null!=(a=k.value)&&a.notes?(o(),i("p",{key:4,class:y(["notes",S.value]),innerHTML:null==(a=k.value)?void 0:a.notes},null,10,Pf)):x("",!0)]),U(e.$slots,"header",{formInstance:null==(a=Be())?void 0:a.exposed,model:L.value}),(o(),ae(n,{ref_key:"formFields",ref:p,key:f.value,modelValue:L.value,"onUpdate:modelValue":m,api:I.value,configureField:e.configureField,configureFormLayout:e.configureFormLayout},null,8,["modelValue","api","configureField","configureFormLayout"])),U(e.$slots,"footer",{formInstance:null==(a=Be())?void 0:a.exposed,model:L.value})],2),l("div",{class:y(X(Ee).buttonsClass)},[l("div",null,[e.deleteType?(o(),ae(r,{key:0,onDelete:D})):x("",!0)]),l("div",null,[e.showLoading&&X(B)?(o(),ae(s,{key:0})):x("",!0)]),l("div",Bf,[ye(u,{onClick:z,disabled:X(B)},{default:xe(()=>[ke("Cancel")]),_:1},8,["disabled"]),ye(d,{type:"submit",class:"ml-4",disabled:X(B)},{default:xe(()=>[ke("Save")]),_:1},8,["disabled"])])],2)],32)],2)):(o(),i("div",Hf,[Rf,l("div",Ef,[l("div",{onMousedown:z,class:"absolute inset-0 overflow-hidden"},[l("div",{onMousedown:t[0]||(t[0]=Ue(()=>{},["stop"])),class:"pointer-events-none fixed inset-y-0 right-0 flex pl-10"},[l("div",{class:y(["pointer-events-auto w-screen xl:max-w-3xl md:max-w-xl max-w-lg",R.value])},[l("form",{class:y(M.value),onSubmit:Ue(_,["prevent"])},[l("div",zf,[l("div",Nf,[l("div",Uf,[l("div",qf,[l("div",Qf,[e.$slots.heading?(o(),i("div",Kf,[U(e.$slots,"heading")])):(o(),i("h3",{key:1,class:y(V.value)},F(A.value),3)),e.$slots.subheading?(o(),i("div",Zf,[U(e.$slots,"subheading")])):e.subHeading?(o(),i("p",{key:3,class:y(S.value)},F(e.subHeading),3)):null!=(a=k.value)&&a.notes?(o(),i("p",{key:4,class:y(["notes",S.value]),innerHTML:null==(a=k.value)?void 0:a.notes},null,10,Wf)):x("",!0)]),l("div",Gf,[ye(v,{"button-class":"bg-gray-50 dark:bg-gray-900",onClose:z})])])]),U(e.$slots,"header",{formInstance:null==(a=Be())?void 0:a.exposed,model:L.value}),(o(),ae(n,{ref_key:"formFields",ref:p,key:f.value,modelValue:L.value,"onUpdate:modelValue":m,api:I.value,configureField:Y,configureFormLayout:e.configureFormLayout},null,8,["modelValue","api","configureFormLayout"])),U(e.$slots,"footer",{formInstance:null==(v=Be())?void 0:v.exposed,model:L.value})])]),l("div",{class:y(X(Ee).buttonsClass)},[l("div",null,[e.deleteType?(o(),ae(r,{key:0,onDelete:D})):x("",!0)]),l("div",null,[e.showLoading&&X(B)?(o(),ae(s,{key:0})):x("",!0)]),l("div",Jf,[ye(u,{onClick:z,disabled:X(B)},{default:xe(()=>[ke("Cancel")]),_:1},8,["disabled"]),ye(d,{type:"submit",class:"ml-4",disabled:X(B)},{default:xe(()=>[ke("Save")]),_:1},8,["disabled"])])],2)],34)],2)],32)],32)])])):(o(),i("div",Ff,[l("p",If,[ke("Could not create form for unknown "),jf,ke(" "+F(w.value),1)])])),"ModalLookup"==(null==(a=g.value)?void 0:a.name)&&g.value.ref?(o(),ae(c,{key:3,"ref-info":g.value.ref,onDone:q},null,8,["ref-info"])):x("",!0)])}}}),Yf={key:0},ev={class:"text-red-700"},tv=l("b",null,"type",-1),sv={key:0},lv={key:2},nv=["innerHTML"],ov={key:2,class:"relative z-10","aria-labelledby":"slide-over-title",role:"dialog","aria-modal":"true"},av=l("div",{class:"fixed inset-0"},null,-1),rv={class:"fixed inset-0 overflow-hidden"},iv={class:"flex min-h-0 flex-1 flex-col overflow-auto"},uv={class:"flex-1"},dv={class:"bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6"},cv={class:"flex items-start justify-between space-x-3"},fv={class:"space-y-1"},vv={key:0},pv={key:2},mv=["innerHTML"],hv={class:"flex h-7 items-center"},gv=de({__name:"AutoViewForm",props:{model:{},apis:{},typeName:{},done:{},formStyle:{default:"slideOver"},panelClass:{},formClass:{},headingClass:{},subHeadingClass:{},heading:{},subHeading:{}},emits:["done"],setup(e,{}){let t=e,a=lt().typeOf,s=v(()=>t.typeName??t.apis.dataModel.name),u=v(()=>a(s.value)),d=v(()=>t.panelClass||Ee.panelClass(t.formStyle)),c=v(()=>t.formClass||Ee.formClass(t.formStyle)),p=v(()=>t.headingClass||Ee.headingClass(t.formStyle)),f=v(()=>t.subHeadingClass||Ee.subHeadingClass(t.formStyle)),m=v(()=>{var e;return t.heading||(null==(e=a(s.value))?void 0:e.description)||(null!=(e=t.model)&&e.id?Pe(s.value)+" "+t.model.id:"View "+Pe(s.value))});function n(){t.done&&t.done()}G.interceptors.has("AutoViewForm.new")&&G.interceptors.invoke("AutoViewForm.new",{props:t});let r=O(!1),g=O(""),h={entering:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-full",to:"translate-x-0"},leaving:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-0",to:"translate-x-full"}};function b(){"slideOver"==t.formStyle?r.value=!1:n()}bt(r,()=>{yt(h,g,r.value),r.value||setTimeout(n,700)}),r.value=!0;let w=e=>{"Escape"===e.key&&b()};return Ye(()=>window.addEventListener("keydown",w)),Ft(()=>window.removeEventListener("keydown",w)),(e,t)=>{var a,n=Z("MarkupModel"),r=Z("CloseButton");return o(),i("div",null,[s.value?"card"==e.formStyle?(o(),i("div",{key:1,class:y(d.value)},[l("div",{class:y(c.value)},[l("div",null,[e.$slots.heading?(o(),i("div",sv,[U(e.$slots,"heading")])):(o(),i("h3",{key:1,class:y(p.value)},F(m.value),3)),e.$slots.subheading?(o(),i("div",lv,[U(e.$slots,"subheading")])):e.subHeading?(o(),i("p",{key:3,class:y(f.value)},F(e.subHeading),3)):null!=(a=u.value)&&a.notes?(o(),i("p",{key:4,class:y(["notes",f.value]),innerHTML:null==(a=u.value)?void 0:a.notes},null,10,nv)):x("",!0)]),ye(n,{value:e.model},null,8,["value"])],2)],2)):(o(),i("div",ov,[av,l("div",rv,[l("div",{onMousedown:b,class:"absolute inset-0 overflow-hidden"},[l("div",{onMousedown:t[0]||(t[0]=Ue(()=>{},["stop"])),class:"pointer-events-none fixed inset-y-0 right-0 flex pl-10"},[l("div",{class:y(["pointer-events-auto w-screen xl:max-w-3xl md:max-w-xl max-w-lg",g.value])},[l("div",{class:y(c.value)},[l("div",iv,[l("div",uv,[l("div",dv,[l("div",cv,[l("div",fv,[e.$slots.heading?(o(),i("div",vv,[U(e.$slots,"heading")])):(o(),i("h3",{key:1,class:y(p.value)},F(m.value),3)),e.$slots.subheading?(o(),i("div",pv,[U(e.$slots,"subheading")])):e.subHeading?(o(),i("p",{key:3,class:y(f.value)},F(e.subHeading),3)):null!=(a=u.value)&&a.notes?(o(),i("p",{key:4,class:y(["notes",f.value]),innerHTML:null==(a=u.value)?void 0:a.notes},null,10,mv)):x("",!0)]),l("div",hv,[ye(r,{"button-class":"bg-gray-50 dark:bg-gray-900",onClose:b})])])]),ye(n,{value:e.model},null,8,["value"])])])],2)],2)],32)],32)])])):(o(),i("div",Yf,[l("p",ev,[ke("Could not create view for unknown "),tv,ke(" "+F(s.value),1)])]))])}}}),yv=l("label",{for:"confirmDelete",class:"ml-2 mr-2 select-none"},"confirm",-1),bv=de({__name:"ConfirmDelete",emits:["delete"],setup(e,{emit:t}){let a=O(!1),n=t,r=()=>{a.value&&n("delete")},s=v(()=>["select-none inline-flex justify-center py-2 px-4 border border-transparent shadow-sm text-sm font-medium rounded-md text-white",a.value?"cursor-pointer bg-red-600 hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500":"bg-red-400"]);return(e,t)=>(o(),i(Me,null,[Mt(l("input",{id:"confirmDelete",type:"checkbox",class:"focus:ring-indigo-500 h-4 w-4 text-indigo-600 rounded border-gray-300 dark:border-gray-600 dark:bg-gray-800 dark:ring-offset-black","onUpdate:modelValue":t[0]||(t[0]=e=>nn(a)?a.value=e:a=e)},null,512),[[ol,X(a)]]),yv,l("span",Te({onClick:Ue(r,["prevent"]),class:s.value},e.$attrs),[U(e.$slots,"default",{},()=>[ke("Delete")])],16)],64))}}),wv={class:"flex",title:"loading..."},kv={key:0,xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",width:"24px",height:"30px",viewBox:"0 0 24 30"},_v=xs('',3),$v=[_v],Cv={class:"ml-2 mt-1 text-gray-400"},xv=de({__name:"FormLoading",props:{icon:{type:Boolean,default:!0},text:{default:"loading..."}},setup(e){return Qe("ApiState",void 0),(e,t)=>(o(),i("div",wv,[e.icon?(o(),i("svg",kv,$v)):x("",!0),l("span",Cv,F(e.text),1)]))}}),Lv=["onClick"],Vv={key:3,class:"flex justify-between items-center"},Sv={class:"mr-1 select-none"},Mv=["onClick"],Av=de({__name:"DataGrid",props:{items:{default:()=>[]},id:{default:"DataGrid"},type:{},tableStyle:{default:"stripedRows"},selectedColumns:{},gridClass:{},grid2Class:{},grid3Class:{},grid4Class:{},tableClass:{},theadClass:{},tbodyClass:{},theadRowClass:{},theadCellClass:{},isSelected:{},headerTitle:{},headerTitles:{},visibleFrom:{},rowClass:{},rowStyle:{}},emits:["headerSelected","rowSelected"],setup(e,{emit:t}){let u=e,d=t,a=O(),c=O(null),p=al(),f=l=>Object.keys(p).find(e=>e.toLowerCase()==l.toLowerCase()+"-header"),m=l=>Object.keys(p).find(e=>e.toLowerCase()==l.toLowerCase()),n=v(()=>Ws(u.items).filter(e=>!(!p[e]&&!p[e+"-header"]))),{typeOf:r,typeProperties:s}=lt(),g=v(()=>qt(u.type)),h=v(()=>r(g.value)),b=v(()=>s(h.value));function w(e){var l=u.headerTitles&&_e(u.headerTitles,e)||e;return u.headerTitle?u.headerTitle(l):cn(l)}function k(e){let l=e.toLowerCase();return b.value.find(e=>e.name.toLowerCase()==l)}let C={xs:"xs:table-cell",sm:"sm:table-cell",md:"md:table-cell",lg:"lg:table-cell",xl:"xl:table-cell","2xl":"2xl:table-cell",never:""};function L(e){var l=u.visibleFrom&&_e(u.visibleFrom,e);return l&&Ze(C[l],e=>"hidden "+e)}let M=v(()=>u.gridClass??he.getGridClass(u.tableStyle)),V=v(()=>u.grid2Class??he.getGrid2Class(u.tableStyle)),S=v(()=>u.grid3Class??he.getGrid3Class(u.tableStyle)),T=v(()=>u.grid4Class??he.getGrid4Class(u.tableStyle)),A=v(()=>u.tableClass??he.getTableClass(u.tableStyle)),I=v(()=>u.tbodyClass??he.getTbodyClass(u.tbodyClass)),j=v(()=>u.theadClass??he.getTheadClass(u.tableStyle)),$=v(()=>u.theadRowClass??he.getTheadRowClass(u.tableStyle)),B=v(()=>u.theadCellClass??he.getTheadCellClass(u.tableStyle));let E=v(()=>{let e=("string"==typeof u.selectedColumns?u.selectedColumns.split(","):u.selectedColumns)||(0(e[l.name.toLowerCase()]=l.format,e),{});return e.filter(e=>{var l;return"hidden"!=(null==(l=t[e.toLowerCase()])?void 0:l.method)})});return(n,e)=>{let r=Z("CellFormat"),s=Z("PreviewFormat");return n.items.length?(o(),i("div",{key:0,ref_key:"refResults",ref:a,class:y(M.value)},[l("div",{class:y(V.value)},[l("div",{class:y(S.value)},[l("div",{class:y(T.value)},[l("table",{class:y(A.value)},[l("thead",{class:y(j.value)},[l("tr",{class:y($.value)},[(o(!0),i(Me,null,je(E.value,t=>{return o(),i("td",{class:y([L(t),B.value,(e=t,c.value===e?"text-gray-900 dark:text-gray-50":"text-gray-500 dark:text-gray-400")])},[l("div",{onClick:e=>{var l;e=e,l=t,d("headerSelected",l,e)}},[X(p)[t+"-header"]?U(n.$slots,t+"-header",{key:0,column:t}):f(t)?U(n.$slots,f(t),{key:1,column:t}):X(p).header?U(n.$slots,"header",{key:2,column:t,label:w(t)}):(o(),i("div",Vv,[l("span",Sv,F(w(t)),1)]))],8,Lv)],2);var e}),256))],2)],2),l("tbody",{class:y(I.value)},[(o(!0),i(Me,null,je(n.items,(t,e)=>{return o(),i("tr",{class:y((l=t,a=e,u.rowClass?u.rowClass(l,a):he.getTableRowClass(u.tableStyle,a,!(!u.isSelected||!u.isSelected(l)),null!=u.isSelected))),style:nl((a=t,l=e,u.rowStyle?u.rowStyle(a,l):void 0)),onClick:e=>{var l;e=e,l=t,d("rowSelected",l,e)}},[(o(!0),i(Me,null,je(E.value,e=>{return o(),i("td",{class:y([L(e),X(he).tableCellClass])},[X(p)[e]?U(n.$slots,e,Rt(Te({key:0},t))):m(e)?U(n.$slots,m(e),Rt(Te({key:1},t))):k(e)?(o(),ae(r,{key:2,type:h.value,propType:k(e),modelValue:t},null,8,["type","propType","modelValue"])):(o(),ae(s,{key:3,value:X(_e)(t,e),format:null!=(l=k(e))&&l.format?l.format:"TimeSpan"==(null==l?void 0:l.type)||"TimeOnly"==(null==l?void 0:l.type)?{method:"time"}:null},null,8,["value","format"]))],2);var l}),256))],14,Mv);var l,a}),256))],2)],2)],2)],2)],2)],2)):x("",!0)}}}),Tv=de({props:{type:Object,propType:Object,modelValue:Object},setup(d,{attrs:v}){let c=lt().typeOf;return()=>{let e,l=null!=(o=d.propType)&&o.format?o.format:"TimeSpan"==(null==o?void 0:o.type)||"TimeOnly"==(null==o?void 0:o.type)?{method:"time"}:null,t=_e(d.modelValue,d.propType.name),a=Object.assign({},d,v),n=$t("span",{innerHTML:ts(t,l,a)}),r=Xt(t)&&Array.isArray(t)?$t("span",{},[$t("span",{class:"mr-2"},""+t.length),n]):n,s=null==(e=d.propType)?void 0:e.ref;var o,i,u;return s&&(i=st(d.type).find(e=>e.type===s.model))&&(i=(i=_e(d.modelValue,i.name))&&s.refLabel&&_e(i,s.refLabel))?(u=(u=null==(u=c(s.model))?void 0:u.icon)?$t(eo,{image:u,class:"w-5 h-5 mr-1"}):null,$t("span",{class:"flex",title:s.model+" "+t},[u,i])):r}}}),Fv={key:0},Iv={key:0,class:"mr-2"},jv=["innerHTML"],Ov=["innerHTML"],Dv={inheritAttrs:!1},Pv=de({...Dv,__name:"PreviewFormat",props:{value:{},format:{},includeIcon:{type:Boolean,default:!0},includeCount:{type:Boolean,default:!0},maxFieldLength:{default:150},maxNestedFields:{default:2},maxNestedFieldLength:{default:30}},setup(e){let t=e,a=v(()=>Array.isArray(t.value));return(e,t)=>X(Xt)(e.value)?(o(),i("span",Fv,[e.includeCount&&a.value?(o(),i("span",Iv,F(e.value.length),1)):x("",!0),l("span",{innerHTML:X(ts)(e.value,e.format,e.$attrs)},null,8,jv)])):(o(),i("span",{key:1,innerHTML:X(ts)(e.value,e.format,e.$attrs)},null,8,Ov))}}),Bv=["innerHTML"],Hv={key:0},Rv=l("b",null,null,-1),Ev={key:2},zv=de({__name:"HtmlFormat",props:{value:{},depth:{default:0},fieldAttrs:{},classes:{type:Function,default:(e,l,t,a,n)=>a}},setup(e){let t=e,r=v(()=>Tt(t.value)),s=v(()=>Array.isArray(t.value)),u=e=>cn(e),d=e=>t.fieldAttrs?t.fieldAttrs(e):null,c=v(()=>Ws(t.value));return(t,e)=>{let a=Z("HtmlFormat",!0);return o(),i("div",{class:y(0==t.depth?"prose html-format":"")},[r.value?(o(),i("div",{key:0,innerHTML:X(ts)(t.value)},null,8,Bv)):s.value?(o(),i("div",{key:1,class:y(t.classes("array","div",t.depth,X(he).gridClass))},[X(Tt)(t.value[0])?(o(),i("div",Hv,"[ "+F(t.value.join(", "))+" ]",1)):(o(),i("div",{key:1,class:y(t.classes("array","div",t.depth,X(he).grid2Class))},[l("div",{class:y(t.classes("array","div",t.depth,X(he).grid3Class))},[l("div",{class:y(t.classes("array","div",t.depth,X(he).grid4Class))},[l("table",{class:y(t.classes("object","table",t.depth,X(he).tableClass))},[l("thead",{class:y(t.classes("array","thead",t.depth,X(he).theadClass))},[l("tr",null,[(o(!0),i(Me,null,je(c.value,e=>(o(),i("th",{class:y(t.classes("array","th",t.depth,X(he).theadCellClass+" whitespace-nowrap"))},[Rv,ke(F(u(e)),1)],2))),256))])],2),l("tbody",null,[(o(!0),i(Me,null,je(t.value,(l,e)=>(o(),i("tr",{class:y(t.classes("array","tr",t.depth,e%2==0?"bg-white":"bg-gray-50",e))},[(o(!0),i(Me,null,je(c.value,e=>(o(),i("td",{class:y(t.classes("array","td",t.depth,X(he).tableCellClass))},[ye(a,Te({value:l[e],"field-attrs":t.fieldAttrs,depth:t.depth+1,classes:t.classes},d(e)),null,16,["value","field-attrs","depth","classes"])],2))),256))],2))),256))])],2)],2)],2)],2))],2)):(o(),i("div",Ev,[l("table",{class:y(t.classes("object","table",t.depth,"table-object"))},[(o(!0),i(Me,null,je((n=t.value)?Object.keys(n).map(e=>({key:u(e),val:n[e]})):[],e=>(o(),i("tr",{class:y(t.classes("object","tr",t.depth,""))},[l("th",{class:y(t.classes("object","th",t.depth,"align-top py-2 px-4 text-left text-sm font-medium tracking-wider whitespace-nowrap"))},F(e.key),3),l("td",{class:y(t.classes("object","td",t.depth,"align-top py-2 px-4 text-sm"))},[ye(a,Te({value:e.val,"field-attrs":t.fieldAttrs,depth:t.depth+1,classes:t.classes},d(e.key)),null,16,["value","field-attrs","depth","classes"])],2)],2))),256))],2)]))],2);var n}}}),Nv=["href"],Uv=["href","title"],qv=de({__name:"MarkupFormat",props:{value:{},imageClass:{default:"w-8 h-8"}},setup(e){var l=e,t=La().getMimeType,a=l.value;let n=typeof l.value;l="string"===n&&a.length?t(a):null;return"string"===n&&a.length&&(((t=a.startsWith("https://")||a.startsWith("http://"))||"/"===a[0])&&null!=l&&l.startsWith("image/")?n="image":t&&(n="link")),(e,l)=>{var t=Z("Icon"),a=Z("HtmlFormat");return"link"==X(n)?(o(),i("a",{key:0,href:e.value,class:"text-indigo-600"},F(e.value),9,Nv)):"image"==X(n)?(o(),i("a",{key:1,href:e.value,title:e.value,class:"inline-block"},[ye(t,{src:e.value,class:y(e.imageClass)},null,8,["src","class"])],8,Uv)):(o(),ae(a,{key:2,value:e.value},null,8,["value"]))}}}),Qv={class:"my-2 w-full"},Kv={class:"leading-7"},Zv={class:"px-2 text-left align-top"},Wv={colspan:"align-top"},Gv={class:"my-2 leading-7"},Jv={colspan:"2",class:"px-2 bg-indigo-700 text-white"},Xv={class:"leading-7"},Yv={colspan:"2",class:"px-2 align-top"},ep=de({__name:"MarkupModel",props:{value:{},imageClass:{}},setup(e){let a=e,t=Object.keys(a.value),n={},r={};return t.forEach(e=>{var l=a.value[e],t=typeof l;null==l||"function"==t||"symbol"==t?n[e]=`(${null==l?"null":"t"})`:"object"==t?r[e]=l:n[e]=l}),(e,t)=>{let a=Z("MarkupFormat");return o(),i("table",Qv,[(o(),i(Me,null,je(n,(e,t)=>l("tr",Kv,[l("th",Zv,F(X(Pe)(t)),1),l("td",Wv,[ye(a,{value:e},null,8,["value"])])])),64)),(o(),i(Me,null,je(r,(e,t)=>(o(),i(Me,null,[l("tr",Gv,[l("td",Jv,F(X(Pe)(t)),1)]),l("tr",Xv,[l("td",Yv,[ye(a,{value:e},null,8,["value"])])])],64))),64))])}}}),tp={class:"absolute top-0 right-0 pt-4 pr-4"},sp=l("span",{class:"sr-only"},"Close",-1),lp=l("svg",{class:"h-6 w-6",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","aria-hidden":"true"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1),np=[sp,lp],op=de({__name:"CloseButton",props:{buttonClass:{default:"bg-white dark:bg-black"}},emits:["close"],setup(e,{}){return(t,e)=>(o(),i("div",tp,[l("button",{type:"button",onClick:e[0]||(e[0]=e=>t.$emit("close")),class:y([t.buttonClass,"rounded-md text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 dark:ring-offset-black"])},np,2)]))}}),ap=["id","aria-labelledby"],rp=l("div",{class:"fixed inset-0"},null,-1),ip={class:"fixed inset-0 overflow-hidden"},up={class:"flex h-full flex-col bg-white dark:bg-black shadow-xl"},dp={class:"flex min-h-0 flex-1 flex-col overflow-auto"},cp={class:"flex-1"},fp={class:"relative bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6"},vp={class:"flex items-start justify-between space-x-3"},pp={class:"space-y-1"},mp={key:0},hp=["id"],gp={key:2,class:"text-sm text-gray-500"},yp={class:"flex h-7 items-center"},bp={key:0,class:"flex-shrink-0 border-t border-gray-200 dark:border-gray-700 px-4 py-5 sm:px-6"},wp=de({__name:"SlideOver",props:{id:{default:"SlideOver"},title:{},contentClass:{default:"relative mt-6 flex-1 px-4 sm:px-6"}},emits:["done"],setup(e,{emit:t}){let a=t,n=O(!1),r=O(""),s={entering:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-full",to:"translate-x-0"},leaving:{cls:"transform transition ease-in-out duration-500 sm:duration-700",from:"translate-x-0",to:"translate-x-full"}},u=(bt(n,()=>{yt(s,r,n.value),n.value||setTimeout(()=>a("done"),700)}),n.value=!0,()=>n.value=!1),d=e=>{"Escape"===e.key&&u()};return Ye(()=>window.addEventListener("keydown",d)),Ft(()=>window.removeEventListener("keydown",d)),(e,t)=>{var a=Z("CloseButton");return o(),i("div",{id:e.id,class:"relative z-10","aria-labelledby":e.id+"-title",role:"dialog","aria-modal":"true"},[rp,l("div",ip,[l("div",{onMousedown:u,class:"absolute inset-0 overflow-hidden"},[l("div",{onMousedown:t[0]||(t[0]=Ue(()=>{},["stop"])),class:"pointer-events-none fixed inset-y-0 right-0 flex pl-10"},[l("div",{class:y(["panel pointer-events-auto w-screen xl:max-w-3xl md:max-w-xl max-w-lg",r.value])},[l("div",up,[l("div",dp,[l("div",cp,[l("div",fp,[l("div",vp,[l("div",pp,[e.$slots.title?(o(),i("div",mp,[U(e.$slots,"title")])):x("",!0),e.title?(o(),i("h2",{key:1,class:"text-lg font-medium text-gray-900 dark:text-gray-50",id:e.id+"-title"},F(e.title),9,hp)):x("",!0),e.$slots.subtitle?(o(),i("p",gp,[U(e.$slots,"subtitle")])):x("",!0)]),l("div",yp,[ye(a,{"button-class":"bg-gray-50 dark:bg-gray-900",onClose:u})])])]),l("div",{class:y(e.contentClass)},[U(e.$slots,"default")],2)])]),e.$slots.footer?(o(),i("div",bp,[U(e.$slots,"footer")])):x("",!0)])],2)],32)],32)])],8,ap)}}}),kp=["id","data-transition-for","aria-labelledby"],_p={class:"fixed inset-0 z-10 overflow-y-auto"},$p={class:"flex min-h-full items-end justify-center p-4 text-center sm:items-center sm:p-0"},Cp=l("span",{class:"sr-only"},"Close",-1),xp=l("svg",{class:"h-6 w-6",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","aria-hidden":"true"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1),Lp=[Cp,xp],Vp=de({__name:"ModalDialog",props:{id:{default:"ModalDialog"},modalClass:{default:ll.modalClass},sizeClass:{default:ll.sizeClass}},emits:["done"],setup(e,{emit:t}){let a=t,n=O(!1),r=O(""),s={entering:{cls:"ease-out duration-300",from:"opacity-0",to:"opacity-100"},leaving:{cls:"ease-in duration-200",from:"opacity-100",to:"opacity-0"}},u=O(""),d={entering:{cls:"ease-out duration-300",from:"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95",to:"opacity-100 translate-y-0 sm:scale-100"},leaving:{cls:"ease-in duration-200",from:"opacity-100 translate-y-0 sm:scale-100",to:"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"}},v=(bt(n,()=>{yt(s,r,n.value),yt(d,u,n.value),n.value||setTimeout(()=>a("done"),200)}),n.value=!0,()=>n.value=!1),c=(ss("ModalProvider",{openModal:function(e,l){c.value=e,p.value=l}}),O()),p=O();async function f(e){p.value&&p.value(e),c.value=void 0,p.value=void 0}let m=e=>{"Escape"===e.key&&v()};return Ye(()=>window.addEventListener("keydown",m)),Ft(()=>window.removeEventListener("keydown",m)),(e,t)=>{var a,n=Z("ModalLookup");return o(),i("div",{id:e.id,"data-transition-for":e.id,onMousedown:v,class:"relative z-10","aria-labelledby":e.id+"-title",role:"dialog","aria-modal":"true"},[l("div",{class:y(["fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity",r.value])},null,2),l("div",_p,[l("div",$p,[l("div",{class:y([e.modalClass,e.sizeClass,u.value]),onMousedown:t[0]||(t[0]=Ue(()=>{},["stop"]))},[l("div",null,[l("div",{class:"hidden sm:block absolute top-0 right-0 pt-4 pr-4 z-10"},[l("button",{type:"button",onClick:v,class:"bg-white dark:bg-black rounded-md text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 dark:ring-offset-black"},Lp)]),U(e.$slots,"default")])],34)])]),"ModalLookup"==(null==(a=c.value)?void 0:a.name)&&c.value.ref?(o(),ae(n,{key:0,"ref-info":c.value.ref,onDone:f},null,8,["ref-info"])):x("",!0)],40,kp)}}}),Sp={class:"pt-2 overflow-auto",style:{"min-height":"620px"}},Mp={class:"mt-3 pl-5 flex flex-wrap items-center"},Ap={class:"hidden sm:block text-xl leading-6 font-medium text-gray-900 dark:text-gray-50 mr-3"},Tp={class:"hidden md:inline"},Fp={class:"flex pb-1 sm:pb-0"},Ip=["title"],jp=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("g",{"stroke-width":"1.5",fill:"none"},[l("path",{d:"M9 3H3.6a.6.6 0 0 0-.6.6v16.8a.6.6 0 0 0 .6.6H9M9 3v18M9 3h6M9 21h6m0-18h5.4a.6.6 0 0 1 .6.6v16.8a.6.6 0 0 1-.6.6H15m0-18v18",stroke:"currentColor"})])],-1),Op=[jp],Dp=["disabled"],Pp=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{d:"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6l6 6zM6 6h2v12H6z",fill:"currentColor"})],-1),Bp=[Pp],Hp=["disabled"],Rp=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{d:"M15.41 7.41L14 6l-6 6l6 6l1.41-1.41L10.83 12z",fill:"currentColor"})],-1),Ep=[Rp],zp=["disabled"],Np=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{d:"M10 6L8.59 7.41L13.17 12l-4.58 4.59L10 18l6-6z",fill:"currentColor"})],-1),Up=[Np],qp=["disabled"],Qp=l("svg",{class:"w-8 h-8",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[l("path",{d:"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6l-6-6zM16 6h2v12h-2z",fill:"currentColor"})],-1),Kp=[Qp],Zp={key:0,class:"flex pb-1 sm:pb-0"},Wp={class:"px-4 text-lg text-black dark:text-white"},Gp={key:0},Jp={key:1},Xp=l("span",{class:"hidden xl:inline"}," Showing Results ",-1),Yp={key:2},em={key:1,class:"pl-2"},tm=l("svg",{class:"w-5 h-5",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",viewBox:"0 0 24 24"},[l("path",{fill:"currentColor",d:"M6.78 2.72a.75.75 0 0 1 0 1.06L4.56 6h8.69a7.75 7.75 0 1 1-7.75 7.75a.75.75 0 0 1 1.5 0a6.25 6.25 0 1 0 6.25-6.25H4.56l2.22 2.22a.75.75 0 1 1-1.06 1.06l-3.5-3.5a.75.75 0 0 1 0-1.06l3.5-3.5a.75.75 0 0 1 1.06 0Z"})],-1),sm=[tm],lm={class:"flex pb-1 sm:pb-0"},nm={key:0,class:"pl-2"},om=l("svg",{class:"flex-none w-5 h-5 mr-2 text-gray-400 dark:text-gray-500 group-hover:text-gray-500","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"},[l("path",{"fill-rule":"evenodd",d:"M3 3a1 1 0 011-1h12a1 1 0 011 1v3a1 1 0 01-.293.707L12 11.414V15a1 1 0 01-.293.707l-2 2A1 1 0 018 17v-5.586L3.293 6.707A1 1 0 013 6V3z","clip-rule":"evenodd"})],-1),am={class:"mr-1"},rm={key:0,class:"h-5 w-5 text-gray-400 dark:text-gray-500 group-hover:text-gray-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},im=l("path",{"fill-rule":"evenodd",d:"M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z","clip-rule":"evenodd"},null,-1),um=[im],dm={key:1,class:"h-5 w-5 text-gray-400 dark:text-gray-500 group-hover:text-gray-500",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},cm=l("path",{"fill-rule":"evenodd",d:"M5 10a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1z","clip-rule":"evenodd"},null,-1),fm=[cm],vm={key:1},pm={key:4},mm={key:0},hm={key:0,class:"cursor-pointer flex justify-between items-center hover:text-gray-900 dark:hover:text-gray-50"},gm={class:"mr-1 select-none"},ym={key:1,class:"flex justify-between items-center"},bm={class:"mr-1 select-none"},ln=25,wm=de({__name:"ModalLookup",props:{id:{default:"ModalLookup"},refInfo:{},skip:{default:0},prefs:{},selectedColumns:{},allowFiltering:{type:[Boolean,null],default:!0},showPreferences:{type:[Boolean,null],default:!0},showPagingNav:{type:[Boolean,null],default:!0},showPagingInfo:{type:[Boolean,null],default:!0},showResetPreferences:{type:[Boolean,null],default:!0},showFiltersView:{type:[Boolean,null],default:!0},toolbarButtonClass:{},canFilter:{}},emits:["done"],setup(e,{emit:t}){let d=e,a=t,c=al(),n=It().config,{metadataApi:r,filterDefinitions:s}=lt(),u=Qe("client"),p=n.value.storage,f=v(()=>d.toolbarButtonClass??he.toolbarButtonClass),m=v(()=>s.value),g=O({take:ln}),h=O(new Xe),b=O(d.skip),w=O(!1),k=O(),C=e=>"string"==typeof e?e.split(","):e||[];function L(e,l){return he.getTableRowClass("fullWidth",l,!1,!0)}let M=v(()=>rt(d.refInfo.model)),V=v(()=>{var e=(0<(e=C(d.selectedColumns)).length?e:[]).map(e=>e.toLowerCase());let t=st(M.value);return 0t.find(e=>e.name.toLowerCase()===l)).filter(e=>null!=e):t}),G=v(()=>{let e=V.value.map(e=>e.name),l=C(g.value.selectedColumns).map(e=>e.toLowerCase());return 0l.includes(e.toLowerCase())):e}),S=v(()=>g.value.take??ln),T=v(()=>h.value.response?_e(h.value.response,"results"):[]),A=v(()=>{var e;return(null==(e=h.value.response)?void 0:e.total)??T.value.length??0}),I=v(()=>00T.value.length>=S.value),B=v(()=>T.value.length>=S.value),E=O([]),q=v(()=>E.value.some(e=>0E.value.map(e=>e.settings.filters.length).reduce((e,l)=>e+l,0)),Q=v(()=>ns(M.value)),K=v(()=>{var e;return null==(e=r.value)?void 0:e.operations.find(e=>{var l;return(null==(l=e.dataModel)?void 0:l.name)==d.refInfo.model&&qe.isAnyQuery(e)})}),W=O(),D=O(!1),H=O(),P=()=>d.id+"/ApiPrefs/"+d.refInfo.model,R=e=>`Column/${d.id}:${d.refInfo.model}.`+e;async function z(e){b.value+=e,b.value<0&&(b.value=0);var l=Math.floor(A.value/S.value)*S.value;b.value>l&&(b.value=l),await N()}async function J(e,l){a("done",e)}function Y(){a("done",null)}function ee(l,e){var t,a=e.target;"TD"!==(null==a?void 0:a.tagName)&&(a=null==(a=null==a?void 0:a.closest("TABLE"))?void 0:a.getBoundingClientRect(),t=E.value.find(e=>e.name.toLowerCase()==l.toLowerCase()))&&a&&(a=("DIV"===(null==(a=e.target)?void 0:a.tagName)?e.target:null==(a=e.target)?void 0:a.closest("DIV")).getBoundingClientRect(),H.value={column:t,topLeft:{x:Math.max(Math.floor(a.x+25),343),y:Math.floor(115)}})}function le(){H.value=null}async function te(e){var l=null==(l=H.value)?void 0:l.column;l&&(l.settings=e,p.setItem(R(l.name),JSON.stringify(l.settings)),await N()),H.value=null}async function ne(e){p.setItem(R(e.name),JSON.stringify(e.settings)),await N()}async function re(e){D.value=!1,g.value=e,p.setItem(P(),JSON.stringify(e)),await N()}async function N(){var a=(()=>{let a={include:"total",take:S.value},e=C(g.value.selectedColumns||d.selectedColumns);var l;0{t.settings.sort&&n.push(("DESC"===t.settings.sort?"-":"")+t.name),t.settings.filters.forEach(e=>{var l=e.key.replace("%",t.name);a[l]=e.value})}),"u"{h.value.response=h.value.error=void 0,w.value=e}),t=await u.api(e);l(),St(()=>h.value=t);n=_e(t.response,"results")||[];t.succeeded&&n.label}else console.error("No Query API was found for "+d.refInfo.model)}async function se(){E.value.forEach(e=>{e.settings={filters:[]},p.removeItem(R(e.name))}),await N()}return Ye(async()=>{var e=d.prefs||$s(p.getItem(P()));e&&(g.value=e),E.value=V.value.map(e=>({name:e.name,type:e.type,meta:e,settings:Object.assign({filters:[]},$s(p.getItem(R(e.name))))})),isNaN(d.skip)||(b.value=d.skip),await N()}),(n,e)=>{let t=Z("ErrorSummary"),a=Z("Loading"),r=Z("SettingsIcons"),s=Z("DataGrid"),u=Z("ModalDialog");return o(),i(Me,null,[n.refInfo?(o(),ae(u,{key:0,ref_key:"modalDialog",ref:W,id:n.id,onDone:Y},{default:xe(()=>[l("div",Sp,[l("div",Mp,[l("h3",Ap,[ke(" Select "),l("span",Tp,F(X(Pe)(n.refInfo.model)),1)]),l("div",Fp,[n.showPreferences?(o(),i("button",{key:0,type:"button",class:"pl-2 text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400",title:n.refInfo.model+" Preferences",onClick:e[0]||(e[0]=e=>D.value=!D.value)},Op,8,Ip)):x("",!0),n.showPagingNav?(o(),i("button",{key:1,type:"button",class:y(["pl-2",I.value?"text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400":"text-gray-400 dark:text-gray-500"]),title:"First page",disabled:!I.value,onClick:e[1]||(e[1]=e=>z(-A.value))},Bp,10,Dp)):x("",!0),n.showPagingNav?(o(),i("button",{key:2,type:"button",class:y(["pl-2",j.value?"text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400":"text-gray-400 dark:text-gray-500"]),title:"Previous page",disabled:!j.value,onClick:e[2]||(e[2]=e=>z(-S.value))},Ep,10,Hp)):x("",!0),n.showPagingNav?(o(),i("button",{key:3,type:"button",class:y(["pl-2",$.value?"text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400":"text-gray-400 dark:text-gray-500"]),title:"Next page",disabled:!$.value,onClick:e[3]||(e[3]=e=>z(S.value))},Up,10,zp)):x("",!0),n.showPagingNav?(o(),i("button",{key:4,type:"button",class:y(["pl-2",B.value?"text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400":"text-gray-400 dark:text-gray-500"]),title:"Last page",disabled:!B.value,onClick:e[4]||(e[4]=e=>z(A.value))},Kp,10,qp)):x("",!0)]),n.showPagingInfo?(o(),i("div",Zp,[l("div",Wp,[w.value?(o(),i("span",Gp,"Querying...")):x("",!0),T.value.length?(o(),i("span",Jp,[Xp,ke(" "+F(b.value+1)+" - "+F(Math.min(b.value+T.value.length,A.value))+" ",1),l("span",null," of "+F(A.value),1)])):h.value.completed?(o(),i("span",Yp,"No Results")):x("",!0)])])):x("",!0),q.value&&n.showResetPreferences?(o(),i("div",em,[l("button",{type:"button",onClick:se,title:"Reset Preferences & Filters",class:y(f.value)},sm,2)])):x("",!0),l("div",lm,[n.showFiltersView&&0<_.value?(o(),i("div",nm,[l("button",{type:"button",onClick:e[5]||(e[5]=e=>k.value="filters"==k.value?null:"filters"),class:y(f.value),"aria-expanded":"false"},[om,l("span",am,F(_.value)+" "+F(1==_.value?"Filter":"Filters"),1),"filters"!=k.value?(o(),i("svg",rm,um)):(o(),i("svg",dm,fm))],2)])):x("",!0)])]),"filters"==k.value?(o(),ae(Il,{key:0,class:"border-y border-gray-200 dark:border-gray-800 py-8 my-2",definitions:m.value,columns:E.value,onDone:e[6]||(e[6]=e=>k.value=null),onChange:ne},null,8,["definitions","columns"])):x("",!0),H.value?(o(),i("div",vm,[ye(Fl,{definitions:m.value,column:H.value.column,"top-left":H.value.topLeft,onDone:le,onSave:te},null,8,["definitions","column","top-left"])])):x("",!0),h.value.error?(o(),ae(t,{key:2,status:h.value.error},null,8,["status"])):w.value?(o(),ae(a,{key:3})):(o(),i("div",pm,[T.value.length?(o(),i("div",mm,[ye(s,{id:n.id,items:T.value,type:n.refInfo.model,"selected-columns":G.value,onFiltersChanged:N,tableStyle:"fullWidth",rowClass:L,onRowSelected:J,onHeaderSelected:ee},rl({header:xe(({column:t,label:e})=>{var a;return[!n.allowFiltering||d.canFilter&&!d.canFilter(t)?(o(),i("div",ym,[l("span",bm,F(e),1)])):(o(),i("div",hm,[l("span",gm,F(e),1),ye(r,{column:E.value.find(e=>e.name.toLowerCase()===t.toLowerCase()),"is-open":(null==(a=H.value)?void 0:a.column.name)===t},null,8,["column","is-open"])]))]}),_:2},[je(Object.keys(X(c)),l=>({name:l,fn:xe(e=>[U(n.$slots,l,Rt(ks(e)))])}))]),1032,["id","items","type","selected-columns"])])):x("",!0)]))])]),_:3},8,["id"])):x("",!0),D.value?(o(),ae(jl,{key:1,columns:V.value,prefs:g.value,onDone:e[7]||(e[7]=e=>D.value=!1),onSave:re},null,8,["columns","prefs"])):x("",!0)],64)}}}),km={class:"sm:hidden"},_m=["for"],$m=["id","name"],Cm=["value"],xm={class:"hidden sm:block"},Lm={class:"border-b border-gray-200"},Vm={class:"-mb-px flex","aria-label":"Tabs"},Sm=["onClick"],Mm=de({__name:"Tabs",props:{tabs:{},id:{default:"tabs"},param:{default:"tab"},label:{type:Function,default:e=>Pe(e)},selected:{},tabClass:{},bodyClass:{default:"p-4"},url:{type:Boolean,default:!0},clearQuery:{type:Boolean,default:!1}},setup(e){let t=e,a=v(()=>Object.keys(t.tabs)),n=e=>t.label?t.label(e):Pe(e),r=v(()=>t.id||"tabs"),s=v(()=>t.param||"tab"),u=O();function d(e){u.value=e,t.url&&ul({tab:e===a.value[0]?void 0:e},t.clearQuery)}let c=v(()=>100/Object.keys(t.tabs).length+"%");return Ye(()=>{var e;u.value=t.selected||Object.keys(t.tabs)[0],t.url&&(e=location.search||(location.hash.includes("?")?"?"+ms(location.hash,"?"):""),e=Zs(e)[s.value])&&(u.value=e)}),(t,e)=>(o(),i("div",null,[l("div",km,[l("label",{for:r.value,class:"sr-only"},"Select a tab",8,_m),l("select",{id:r.value,name:r.value,class:"block w-full rounded-md border-gray-300 focus:border-indigo-500 focus:ring-indigo-500",onChange:e[0]||(e[0]=e=>{var l;return d(null==(l=e.target)?void 0:l.value)})},[(o(!0),i(Me,null,je(a.value,e=>(o(),i("option",{key:e,value:e},F(n(e)),9,Cm))),128))],40,$m)]),l("div",xm,[l("div",Lm,[l("nav",Vm,[(o(!0),i(Me,null,je(a.value,l=>{return o(),i("a",{href:"#",onClick:Ue(e=>d(l),["prevent"]),style:nl({width:c.value}),class:y([(e=l,u.value===e?"border-indigo-500 text-indigo-600 py-4 px-1 text-center border-b-2 font-medium text-sm":"border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300 py-4 px-1 text-center border-b-2 font-medium text-sm"),t.tabClass])},F(n(l)),15,Sm);var e}),256))])])]),l("div",{class:y(t.bodyClass)},[(o(),ae(an(t.tabs[u.value])))],2)]))}}),Am=l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4 text-gray-400",preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 32 32"},[l("path",{fill:"currentColor",d:"M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3Z"})],-1),Tm=[Am],Fm=l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4 text-indigo-600",preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 32 32"},[l("path",{fill:"currentColor",d:"M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6ZM5.394 6.813L6.81 5.399l3.505 3.506L8.9 10.319zM2 15.005h5v2H2zm3.394 10.193L8.9 21.692l1.414 1.414l-3.505 3.506zM15 25.005h2v5h-2zm6.687-1.9l1.414-1.414l3.506 3.506l-1.414 1.414zm3.313-8.1h5v2h-5zm-3.313-6.101l3.506-3.506l1.414 1.414l-3.506 3.506zM15 2.005h2v5h-2z"})],-1),Im=[Fm],jm=de({__name:"DarkModeToggle",setup(e){let a=typeof document<"u"?document.documentElement:null,n=()=>!(null==a||!a.classList.contains("dark")),r=O("dark"==localStorage.getItem("color-scheme"));return(e,t)=>(o(),i("button",{type:"button",class:"bg-gray-200 dark:bg-gray-700 relative inline-flex flex-shrink-0 h-6 w-11 border-2 border-transparent rounded-full cursor-pointer transition-colors ease-in-out duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 dark:ring-offset-black",role:"switch","aria-checked":"false",onClick:t[0]||(t[0]=e=>{n()?null!=a&&a.classList.remove("dark"):null!=a&&a.classList.add("dark"),r.value=n(),localStorage.setItem("color-scheme",r.value?"dark":"light")})},[l("span",{class:y(`${r.value?"translate-x-0":"translate-x-5"} pointer-events-none relative inline-block h-5 w-5 rounded-full bg-white dark:bg-black shadow transform ring-0 transition ease-in-out duration-200`)},[l("span",{class:y(`${r.value?"opacity-100 ease-in duration-200":"opacity-0 ease-out duration-100"} absolute inset-0 h-full w-full flex items-center justify-center transition-opacity`),"aria-hidden":"true"},Tm,2),l("span",{class:y(`${r.value?"opacity-0 ease-out duration-100":"opacity-100 ease-in duration-200"} absolute inset-0 h-full w-full flex items-center justify-center transition-opacity`),"aria-hidden":"true"},Im,2)],2)]))}}),Om={key:0},Dm={key:1,class:"min-h-full flex flex-col justify-center py-12 sm:px-6 lg:px-8"},Pm={class:"sm:mx-auto sm:w-full sm:max-w-md"},Bm={class:"mt-6 text-center text-3xl font-extrabold text-gray-900"},Hm={key:0,class:"mt-4 text-center text-sm text-gray-600"},Rm={class:"relative z-0 inline-flex shadow-sm rounded-md"},Em=["onClick"],zm={class:"mt-8 sm:mx-auto sm:w-full sm:max-w-md"},Nm={class:"bg-white py-8 px-4 shadow sm:rounded-lg sm:px-10"},Um={class:"mt-8"},qm={key:1,class:"mt-6"},Qm=xs('
Or continue with
',1),Km={class:"mt-6 grid grid-cols-3 gap-3"},Zm=["href","title"],Wm={key:1,class:"h-5 w-5 text-gray-700",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},Gm=l("path",{d:"M16 8a5 5 0 1 0 5 5a5 5 0 0 0-5-5z",fill:"currentColor"},null,-1),Jm=l("path",{d:"M16 2a14 14 0 1 0 14 14A14.016 14.016 0 0 0 16 2zm7.992 22.926A5.002 5.002 0 0 0 19 20h-6a5.002 5.002 0 0 0-4.992 4.926a12 12 0 1 1 15.985 0z",fill:"currentColor"},null,-1),Xm=[Gm,Jm],Ym=de({__name:"SignIn",props:{provider:{},title:{default:"Sign In"},tabs:{type:[Boolean,String],default:!0},oauth:{type:[Boolean,String],default:!0}},emits:["login"],setup(e,{emit:t}){let a=e,n=t,{getMetadata:r,createDto:s}=lt(),u=Ds(),d=Qe("client"),c=Tl().signIn,p=r({assert:!0}),f=p.plugins.auth,m=document.baseURI,g=p.app.baseUrl,h=O(s("Authenticate")),b=O(new Xe),w=O(a.provider),k=(Ye(()=>{null!=f&&f.authProviders.map(e=>e.formLayout).filter(e=>e).forEach(e=>e.forEach(e=>h.value[e.id]="checkbox"!==e.type&&""))}),v(()=>(null==f?void 0:f.authProviders.filter(e=>e.formLayout))||[])),C=v(()=>k.value[0]||{}),L=v(()=>k.value[Math.max(k.value.length-1,0)]||{}),M=v(()=>(w.value?null==f?void 0:f.authProviders.find(e=>e.name===w.value):null)??C.value),V=e=>!1===e||"false"===e;function S(e){return e.label||e.navItem&&e.navItem.label}let T=v(()=>{var e;return((null==(e=M.value)?void 0:e.formLayout)||[]).map(e=>{var l;return Object.assign({},e,{type:null==(l=e.type)?void 0:l.toLowerCase(),autocomplete:e.autocomplete||("password"===(null==(l=e.type)?void 0:l.toLowerCase())?"current-password":void 0)||("username"===e.id.toLowerCase()?"username":void 0),css:Object.assign({field:"col-span-12"},e.css)})})}),A=v(()=>!V(a.oauth)&&(null==f?void 0:f.authProviders.filter(e=>"oauth"===e.type))||[]),I=v(()=>{let e=Ho(null==f?void 0:f.authProviders.filter(e=>e.formLayout&&0{e[S(l)||at(l.name)]=l.name===C.value.name?"":l.name});var l=M.value;return e=l&&V(a.tabs)?{[S(l)||at(l.name)]:l}:e}),j=v(()=>{var e=T.value.map(e=>e.id).filter(e=>e);return b.value.summaryMessage(e)});async function $(){var e;h.value.provider=M.value.name,"authsecret"===M.value.name?(d.headers.set("authsecret",h.value.authsecret),h.value=s("Authenticate")):"basic"===M.value.name?(d.setCredentials(h.value.UserName,h.value.Password),h.value=s("Authenticate"),h.value.UserName=null,h.value.Password=null):"Bearer"!==M.value.type&&"jwt"!==M.value.name||(d.bearerToken=h.value.BearerToken,h.value=s("Authenticate")),b.value=await u.api(h.value),b.value.succeeded&&(e=b.value.response,c(e),n("login",e),b.value=new Xe,h.value=s("Authenticate"))}return(e,t)=>{let a=Z("ErrorSummary"),n=Z("AutoFormFields"),r=Z("PrimaryButton"),s=Z("Icon"),u=_o("href");return X(f)?(o(),i("div",Dm,[l("div",Pm,[l("h2",Bm,F(e.title),1),1Mt((o(),i("a",{onClick:e=>w.value=l,class:y([""===l||l===C.value.name?"rounded-l-md":l===L.value.name?"rounded-r-md -ml-px":"-ml-px",w.value===l?"z-10 outline-none ring-1 ring-indigo-500 border-indigo-500":"","cursor-pointer relative inline-flex items-center px-4 py-1 border border-gray-300 bg-white text-sm font-medium text-gray-700 hover:bg-gray-50"])},[ke(F(e),1)],10,Em)),[[u,{provider:l}]])),256))])])):x("",!0)]),l("div",zm,[j.value?(o(),ae(a,{key:0,class:"mb-3",errorSummary:j.value},null,8,["errorSummary"])):x("",!0),l("div",Nm,[T.value.length?(o(),i("form",{key:0,onSubmit:Ue($,["prevent"])},[ye(n,{modelValue:h.value,formLayout:T.value,api:b.value,hideSummary:!0,"divide-class":"","space-class":"space-y-6"},null,8,["modelValue","formLayout","api"]),l("div",Um,[ye(r,{class:"w-full"},{default:xe(()=>[ke("Sign In")]),_:1})])],32)):x("",!0),A.value.length?(o(),i("div",qm,[Qm,l("div",Km,[(o(!0),i(Me,null,je(A.value,e=>(o(),i("div",null,[l("a",{href:X(g)+e.navItem.href+"?continue="+X(m),title:S(e),class:"w-full inline-flex justify-center py-2 px-4 border border-gray-300 rounded-md shadow-sm bg-white text-sm font-medium text-gray-500 hover:bg-gray-50"},[e.icon?(o(),ae(s,{key:0,image:e.icon,class:"h-5 w-5 text-gray-700"},null,8,["image"])):(o(),i("svg",Wm,Xm))],8,Zm)]))),256))])])):x("",!0)])])])):(o(),i("div",Om,"No Auth Plugin"))}}}),e1=["for"],t1={key:1,class:"border border-gray-200 flex justify-between"},s1={class:"p-2 flex flex-wrap gap-x-4"},l1=l("title",null,"Bold text (CTRL+B)",-1),n1=l("path",{fill:"currentColor",d:"M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79c0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79c0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z"},null,-1),o1=[l1,n1],a1=l("title",null,"Italics (CTRL+I)",-1),r1=l("path",{fill:"currentColor",d:"M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4h-8z"},null,-1),i1=[a1,r1],u1=l("title",null,"Insert Link (CTRL+K)",-1),d1=l("path",{fill:"currentColor",d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7a5 5 0 0 0-5 5a5 5 0 0 0 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8v2m9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1c0 1.71-1.39 3.1-3.1 3.1h-4V17h4a5 5 0 0 0 5-5a5 5 0 0 0-5-5Z"},null,-1),c1=[u1,d1],f1=l("title",null,"Blockquote (CTRL+Q)",-1),v1=l("path",{fill:"currentColor",d:"m15 17l2-4h-4V6h7v7l-2 4h-3Zm-9 0l2-4H4V6h7v7l-2 4H6Z"},null,-1),p1=[f1,v1],m1=l("title",null,"Insert Image (CTRL+SHIFT+L)",-1),h1=l("path",{fill:"currentColor",d:"M2.992 21A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992ZM20 15V5H4v14L14 9l6 6Zm0 2.828l-6-6L6.828 19H20v-1.172ZM8 11a2 2 0 1 1 0-4a2 2 0 0 1 0 4Z"},null,-1),g1=[m1,h1],y1=l("title",null,"Insert Code (CTRL+<)",-1),b1=l("path",{fill:"currentColor",d:"m8 18l-6-6l6-6l1.425 1.425l-4.6 4.6L9.4 16.6L8 18Zm8 0l-1.425-1.425l4.6-4.6L14.6 7.4L16 6l6 6l-6 6Z"},null,-1),w1=[y1,b1],k1=l("title",null,"H2 Heading (CTRL+H)",-1),_1=l("path",{fill:"currentColor",d:"M7 20V7H2V4h13v3h-5v13H7Zm9 0v-8h-3V9h9v3h-3v8h-3Z"},null,-1),$1=[k1,_1],C1=l("title",null,"Numbered List (ALT+1)",-1),x1=l("path",{fill:"currentColor",d:"M3 22v-1.5h2.5v-.75H4v-1.5h1.5v-.75H3V16h3q.425 0 .713.288T7 17v1q0 .425-.288.713T6 19q.425 0 .713.288T7 20v1q0 .425-.288.713T6 22H3Zm0-7v-2.75q0-.425.288-.713T4 11.25h1.5v-.75H3V9h3q.425 0 .713.288T7 10v1.75q0 .425-.288.713T6 12.75H4.5v.75H7V15H3Zm1.5-7V3.5H3V2h3v6H4.5ZM9 19v-2h12v2H9Zm0-6v-2h12v2H9Zm0-6V5h12v2H9Z"},null,-1),L1=[C1,x1],V1=l("title",null,"Bulleted List (ALT+-)",-1),S1=l("path",{fill:"currentColor",d:"M9 19v-2h12v2H9Zm0-6v-2h12v2H9Zm0-6V5h12v2H9ZM5 20q-.825 0-1.413-.588T3 18q0-.825.588-1.413T5 16q.825 0 1.413.588T7 18q0 .825-.588 1.413T5 20Zm0-6q-.825 0-1.413-.588T3 12q0-.825.588-1.413T5 10q.825 0 1.413.588T7 12q0 .825-.588 1.413T5 14Zm0-6q-.825 0-1.413-.588T3 6q0-.825.588-1.413T5 4q.825 0 1.413.588T7 6q0 .825-.588 1.413T5 8Z"},null,-1),M1=[V1,S1],A1=l("title",null,"Strike Through (ALT+S)",-1),T1=l("path",{fill:"currentColor",d:"M10 19h4v-3h-4v3zM5 4v3h5v3h4V7h5V4H5zM3 14h18v-2H3v2z"},null,-1),F1=[A1,T1],I1=l("title",null,"Undo (CTRL+Z)",-1),j1=l("path",{fill:"currentColor",d:"M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88c3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"},null,-1),O1=[I1,j1],D1=l("title",null,"Redo (CTRL+SHIFT+Z)",-1),P1=l("path",{fill:"currentColor",d:"M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16a8.002 8.002 0 0 1 7.6-5.5c1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z"},null,-1),B1=[D1,P1],H1={key:0,class:"p-2 flex flex-wrap gap-x-4"},R1=["href"],E1=l("path",{fill:"currentColor",d:"M11 18h2v-2h-2v2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8s8 3.59 8 8s-3.59 8-8 8zm0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5c0-2.21-1.79-4-4-4z"},null,-1),z1=[E1],N1={class:""},U1=["name","id","label","value","rows","disabled"],q1=["id"],Q1=["id"],Je="w-5 h-5 cursor-pointer select-none text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400",K1=de({__name:"MarkdownInput",props:{status:{},id:{},inputClass:{},label:{},labelClass:{},help:{},placeholder:{},modelValue:{},counter:{type:Boolean},rows:{},errorMessages:{},lang:{},autoFocus:{type:Boolean},disabled:{type:Boolean},helpUrl:{default:"https://guides.github.com/features/mastering-markdown/"},hide:{}},emits:["update:modelValue","close"],setup(e,{expose:t,emit:a}){let n=e,r=a,h=[],b=[],s=Qe("ApiState",void 0),u=v(()=>mt.call({responseStatus:n.status??(null==s?void 0:s.error.value)},n.id)),d=v(()=>n.label??Pe(at(n.id))),c="bold,italics,link,image,blockquote,code,heading,orderedList,unorderedList,strikethrough,undo,redo,help".split(","),p=v(()=>n.hide?Vt(c,n.hide):Vt(c,[]));function f(e){return p.value[e]}let m=v(()=>["shadow-sm font-mono"+ot.base.replace("rounded-md",""),u.value?"text-red-900 focus:ring-red-500 focus:border-red-500 border-red-300":"text-gray-900 "+ot.valid,n.inputClass]),w=O();function k(e){r("update:modelValue",e)}function g(){return w.value.selectionStart!==w.value.selectionEnd}function C(){var e=w.value;return e.value.substring(e.selectionStart,e.selectionEnd)||""}function L(){var e=w.value,l=e.value,t=e.selectionStart,e=l.substring(t,e.selectionEnd)||"",a=l.substring(0,t),n=a.lastIndexOf(` +`);return{value:l,sel:e,selPos:t,beforeSel:a,afterSel:l.substring(t),prevCRPos:n,beforeCR:0<=n?a.substring(0,n+1):"",afterCR:0<=n?a.substring(n+1):""}}function M({value:e,selectionStart:l,selectionEnd:t}){null==t&&(t=l),k(e),St(()=>{w.value.focus(),w.value.setSelectionRange(l,t)})}function V(e,l,t="",{selectionAtEnd:a,offsetStart:n,offsetEnd:r,filterValue:s,filterSelection:o}={}){let i=w.value,u=i.value,d=i.selectionEnd;h.push({value:u,selectionStart:i.selectionStart,selectionEnd:i.selectionEnd}),b=[];var v,c=i.selectionStart,p=i.selectionEnd,f=u.substring(0,c),m=u.substring(p),g=e&&f.endsWith(e)&&m.startsWith(l);c==p?(g?(u=f.substring(0,f.length-e.length)+m.substring(l.length),d+=-l.length):(u=f+e+t+l+m,d+=e.length,n=0,r=(null==t?void 0:t.length)||0,a&&(d+=r,r=0)),s&&(v={pos:d},u=s(u,v),d=v.pos)):(v=u.substring(c,p),o&&(v=o(v)),g?(u=f.substring(0,f.length-e.length)+v+m.substring(l.length),n=-v.length-e.length,r=v.length):(u=f+e+v+l+m,n?d+=(e+l).length:(d=c,n=e.length,r=v.length))),k(u),St(()=>{i.focus(),n=d+(n||0),r=(n||0)+(r||0),i.setSelectionRange(n,r)})}t({props:n,textarea:w,updateModelValue:k,selection:C,hasSelection:g,selectionInfo:L,insert:V,replace:M});let S=()=>V("**","**","bold"),T=()=>V("_","_","italics"),A=()=>V("~~","~~","strikethrough"),I=()=>V("[","](https://)","",{offsetStart:-9,offsetEnd:8}),j=()=>V(` > `,` `,"Blockquote",{}),$=()=>V("![](",")");function B(e){var l,t=C();t&&!e.shiftKey?V("`","`","code"):(l=n.lang||"js",-1===t.indexOf(` `)?V("\n```"+l+` `,"\n```\n","// code"):V("```"+l+` -`,"```\n",""))}function O(){if(g()){let{sel:e,beforeSel:a,afterSel:n,prevCRPos:r,beforeCR:s,afterCR:o}=L();if(-1===e.indexOf(` +`,"```\n",""))}function E(){if(g()){let{sel:e,beforeSel:a,afterSel:n,prevCRPos:r,beforeCR:s,afterCR:o}=L();if(-1===e.indexOf(` `))V(` 1. `,` `);else if(e.startsWith(" 1. "))V("","","",{filterValue:(e,l)=>{var t;return 0<=r&&(t=o.replace(/^ - /,""),a=s+t,l.pos-=o.length-t.length),a+n},filterSelection:e=>e.replace(/^ 1. /g,"").replace(/\n \d+. /g,` @@ -21,17 +21,17 @@ var mo=Object.defineProperty,ho=(e,l,t)=>l in e?mo(e,l,{enumerable:!0,configurab - `)+` `})}else V(` - `,` -`,"List Item",{offsetStart:-10,offsetEnd:9})}function E(){var e=C(),l=-1===e.indexOf(` +`,"List Item",{offsetStart:-10,offsetEnd:9})}function D(){var e=C(),l=-1===e.indexOf(` `);e?l?V(` ## `,` `,""):V("## ","",""):V(` ## `,` -`,"Heading",{offsetStart:-8,offsetEnd:7})}function H(){var e,l;return 0!==h.length&&(e=w.value,l=h.pop(),b.push({value:e.value,selectionStart:e.selectionStart,selectionEnd:e.selectionEnd}),S(l),!0)}function P(){var e,l;return 0!==b.length&&(e=w.value,l=b.pop(),h.push({value:e.value,selectionStart:e.selectionStart,selectionEnd:e.selectionEnd}),S(l),!0)}let R=()=>null;return Ye(()=>{h=[],b=[],w.value.onkeydown=e=>{if("Escape"===e.key||27===e.keyCode)r("close");else{var l=String.fromCharCode(e.keyCode).toLowerCase();if("\t"===l)e.shiftKey?V("","","",{filterValue:(e,l)=>{let{beforeSel:t,afterSel:a,prevCRPos:n,beforeCR:r,afterCR:s}=L();var o;return 0<=n&&(o=s.replace(/\t/g," ").replace(/^ ? ? ? ?/,""),t=r+o,l.pos-=s.length-o.length),t+a},filterSelection:e=>e.replace(/\t/g," ").replace(/^ ? ? ? ?/g,"").replace(/\n /g,` +`,"Heading",{offsetStart:-8,offsetEnd:7})}function H(){var e,l;return 0!==h.length&&(e=w.value,l=h.pop(),b.push({value:e.value,selectionStart:e.selectionStart,selectionEnd:e.selectionEnd}),M(l),!0)}function P(){var e,l;return 0!==b.length&&(e=w.value,l=b.pop(),h.push({value:e.value,selectionStart:e.selectionStart,selectionEnd:e.selectionEnd}),M(l),!0)}let R=()=>null;return Ye(()=>{h=[],b=[],w.value.onkeydown=e=>{if("Escape"===e.key||27===e.keyCode)r("close");else{var l=String.fromCharCode(e.keyCode).toLowerCase();if("\t"===l)e.shiftKey?V("","","",{filterValue:(e,l)=>{let{beforeSel:t,afterSel:a,prevCRPos:n,beforeCR:r,afterCR:s}=L();var o;return 0<=n&&(o=s.replace(/\t/g," ").replace(/^ ? ? ? ?/,""),t=r+o,l.pos-=s.length-o.length),t+a},filterSelection:e=>e.replace(/\t/g," ").replace(/^ ? ? ? ?/g,"").replace(/\n /g,` `)}):V("",""," ",{selectionAtEnd:!0,filterSelection:e=>" "+e.replace(/\n$/,"").replace(/\n/g,` `)+` -`}),e.preventDefault();else if(e.ctrlKey)if("z"===l)e.shiftKey?P()&&e.preventDefault():H()&&e.preventDefault();else if("b"!==l||e.shiftKey)if("h"!==l||e.shiftKey)if("i"!==l||e.shiftKey)if("q"!==l||e.shiftKey)if("k"===l)(e.shiftKey?$:j)(),e.preventDefault();else if(","===l||"<"===e.key||">"===e.key||188===e.keyCode)B(e),e.preventDefault();else if("/"!==l&&"/"!==e.key)"?"!==l&&"?"!==e.key||!e.shiftKey||(V(`/* +`}),e.preventDefault();else if(e.ctrlKey)if("z"===l)e.shiftKey?P()&&e.preventDefault():H()&&e.preventDefault();else if("b"!==l||e.shiftKey)if("h"!==l||e.shiftKey)if("i"!==l||e.shiftKey)if("q"!==l||e.shiftKey)if("k"===l)(e.shiftKey?$:I)(),e.preventDefault();else if(","===l||"<"===e.key||">"===e.key||188===e.keyCode)B(e),e.preventDefault();else if("/"!==l&&"/"!==e.key)"?"!==l&&"?"!==e.key||!e.shiftKey||(V(`/* `,`*/ `,""),e.preventDefault());else{{let{sel:e,selPos:l,beforeSel:a,afterSel:n,prevCRPos:r,beforeCR:s,afterCR:o}=L();e.startsWith("//")||o.startsWith("//")?V("","","",{filterValue:(e,l)=>{var t;return 0<=r&&(t=o.replace(/^\/\//,""),a=s+t,l.pos-=o.length-t.length),a+n},filterSelection:e=>e.replace(/^\/\//g,"").replace(/\n\/\//g,` `)}):e?V("","","//",{selectionAtEnd:!0,filterSelection:e=>"//"+e.replace(/\n$/,"").replace(/\n/g,` //`)+` -`}):S({value:s+"//"+o+n,selectionStart:l+2})}e.preventDefault()}else I(),e.preventDefault();else T(),e.preventDefault();else E(),e.preventDefault();else M(),e.preventDefault();else e.altKey&&("1"===e.key||"0"===e.key?(O(),e.preventDefault()):"-"===e.key?(_(),e.preventDefault()):"s"===e.key&&(A(),e.preventDefault()))}}}),(e,t)=>{var a;return o(),i("div",null,[U(e.$slots,"header",Te({inputElement:w.value,id:e.id,modelValue:e.modelValue,status:e.status},e.$attrs)),d.value?(o(),i("label",{key:0,for:e.id,class:y("mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300 "+(e.labelClass??""))},F(d.value),11,X1)):x("",!0),e.disabled?x("",!0):(o(),i("div",Y1,[l("div",em,[f("bold")?(o(),i("svg",{key:0,class:y(Je),onClick:M,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},lm)):x("",!0),f("italics")?(o(),i("svg",{key:1,class:y(Je),onClick:T,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},am)):x("",!0),f("link")?(o(),i("svg",{key:2,class:y(Je),onClick:j,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},um)):x("",!0),f("blockquote")?(o(),i("svg",{key:3,class:y(Je),onClick:I,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},fm)):x("",!0),f("image")?(o(),i("svg",{key:4,class:y(Je),onClick:$,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},mm)):x("",!0),f("code")?(o(),i("svg",{key:5,class:y(Je),onClick:B,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},ym)):x("",!0),f("heading")?(o(),i("svg",{key:6,class:y(Je),onClick:E,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},km)):x("",!0),f("orderedList")?(o(),i("svg",{key:7,class:y(Je),icon:"",onClick:O,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},Cm)):x("",!0),f("unorderedList")?(o(),i("svg",{key:8,class:y(Je),onClick:_,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},Vm)):x("",!0),f("strikethrough")?(o(),i("svg",{key:9,class:y(Je),onClick:A,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},Am)):x("",!0),f("undo")?(o(),i("svg",{key:10,class:y(Je),onClick:H,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},Im)):x("",!0),f("redo")?(o(),i("svg",{key:11,class:y(Je),onClick:P,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},Om)):x("",!0),U(e.$slots,"toolbarbuttons",{instance:null==(a=Be())?void 0:a.exposed})]),f("help")&&e.helpUrl?(o(),i("div",Pm,[l("a",{title:"formatting help",target:"_blank",href:e.helpUrl,tabindex:"-1"},[(o(),i("svg",{class:y(Je),xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},Rm))],8,Bm)])):x("",!0)])),l("div",Em,[l("textarea",{ref_key:"txt",ref:w,name:e.id,id:e.id,class:y(m.value),label:e.label,value:e.modelValue,rows:e.rows||6,disabled:e.disabled,onInput:t[0]||(t[0]=e=>{var l;return k((null==(l=e.target)?void 0:l.value)||"")}),onKeydown:on(R,["tab"])},null,42,zm)]),u.value?(o(),i("p",{key:2,class:"mt-2 text-sm text-red-500",id:e.id+"-error"},F(u.value),9,Nm)):e.help?(o(),i("p",{key:3,class:"mt-2 text-sm text-gray-500",id:e.id+"-description"},F(e.help),9,Um)):x("",!0),U(e.$slots,"footer",Te({inputElement:w.value,id:e.id,modelValue:e.modelValue,status:e.status},e.$attrs))])}}}),Qm={key:0,class:"relative z-10 lg:hidden",role:"dialog","aria-modal":"true"},Km={class:"fixed inset-0 flex"},Zm=l("span",{class:"sr-only"},"Close sidebar",-1),Wm=l("svg",{class:"h-6 w-6 text-white dark:text-black",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1),Gm=[Zm,Wm],Jm={class:"flex grow flex-col gap-y-5 overflow-y-auto bg-white dark:bg-black px-6 pb-2"},Xm={class:"hidden lg:fixed lg:inset-y-0 lg:z-10 lg:flex lg:w-72 lg:flex-col"},Ym={class:"flex grow flex-col gap-y-5 overflow-y-auto border-r border-gray-200 dark:border-gray-700 bg-white dark:bg-black px-6"},eh={class:y(["sticky top-0 flex items-center gap-x-6 bg-white dark:bg-black px-4 py-4 shadow-sm sm:px-6 lg:hidden"])},th=l("span",{class:"sr-only"},"Open sidebar",-1),sh=l("svg",{class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"})],-1),lh=[th,sh],nh=de({__name:"SidebarLayout",setup(e,{expose:t}){let a=yn().transition,n=D(!0),r=D(""),s={entering:{cls:"transition-opacity ease-linear duration-300",from:"opacity-0",to:"opacity-100"},leaving:{cls:"transition-opacity ease-linear duration-300",from:"opacity-100",to:"opacity-0"}},u=D(""),d={entering:{cls:"transition ease-in-out duration-300 transform",from:"-translate-x-full",to:"translate-x-0"},leaving:{cls:"transition ease-in-out duration-300 transform",from:"translate-x-0",to:"-translate-x-full"}},v=D(""),c={entering:{cls:"ease-in-out duration-300",from:"opacity-0",to:"opacity-100"},leaving:{cls:"ease-in-out duration-300",from:"opacity-100",to:"opacity-0"}};function p(e){a(s,r,e),a(d,u,e),a(c,v,e),setTimeout(()=>n.value=e,300)}function f(){p(!0)}function m(){p(!1)}return t({show:f,hide:m,toggle:p}),(e,t)=>(o(),i("div",null,[n.value?(o(),i("div",Qm,[l("div",{class:y(["fixed inset-0 bg-gray-900/80",r.value])},null,2),l("div",Km,[l("div",{class:y(["relative mr-16 flex w-full max-w-xs flex-1",u.value])},[l("div",{class:y(["absolute left-full top-0 flex w-16 justify-center pt-5",v.value])},[l("button",{type:"button",onClick:m,class:"-m-2.5 p-2.5"},Gm)],2),l("div",Jm,[U(e.$slots,"default")])],2)])])):x("",!0),l("div",Xm,[l("div",Ym,[U(e.$slots,"default")])]),l("div",eh,[l("button",{type:"button",onClick:f,class:"-m-2.5 p-2.5 text-gray-700 dark:text-gray-200 lg:hidden"},lh),U(e.$slots,"mobiletitlebar")])]))}}),oh={Alert:Xo,AlertSuccess:da,ErrorSummary:ma,InputDescription:ga,Icon:Yn,Loading:fr,OutlineButton:mr,PrimaryButton:yr,SecondaryButton:kr,TextLink:$r,Breadcrumbs:Sr,Breadcrumb:jr,NavList:Pr,NavListItem:Zr,AutoQueryGrid:yd,SettingsIcons:Fd,FilterViews:Il,FilterColumn:Fl,QueryPrefs:jl,EnsureAccess:so,EnsureAccessDialog:Id,TextInput:Nd,TextareaInput:Gd,SelectInput:sc,CheckboxInput:dc,TagInput:Fc,FileInput:t0,Autocomplete:g0,Combobox:w0,DynamicInput:k0,LookupInput:P0,AutoFormFields:B0,AutoForm:rf,AutoCreateForm:Sf,AutoEditForm:Gf,AutoViewForm:mv,ConfirmDelete:gv,FormLoading:$v,DataGrid:Mv,CellFormat:Sv,PreviewFormat:Dv,HtmlFormat:Rv,MarkupFormat:Nv,MarkupModel:Xv,CloseButton:lp,SlideOver:yp,ModalDialog:xp,ModalLookup:y1,Tabs:V1,DarkModeToggle:F1,SignIn:J1,MarkdownInput:qm,SidebarLayout:nh},Qs=oh,ch={install(l){function t(l){var e=Object.keys(l).filter(e=>l[e]).map(e=>encodeURIComponent(e)+"="+encodeURIComponent(l[e])).join("&");return e?"?"+e:"./"}Object.keys(Qs).forEach(e=>{l.component(e,Qs[e])}),l.directive("href",function(e,l){e.href=t(l.value),e.onclick=e=>{e.preventDefault(),history.pushState(l.value,"",t(l.value))}})},component(e,l){return e?l?Y.components[e]=l:Y.components[e]||Qs[e]||null:null}};export{dh as css,ch as default,Tl as useAuth,Os as useClient,It as useConfig,Ca as useFiles,uh as useFormatters,lt as useMetadata,yn as useUtils}; \ No newline at end of file +`}):M({value:s+"//"+o+n,selectionStart:l+2})}e.preventDefault()}else j(),e.preventDefault();else T(),e.preventDefault();else D(),e.preventDefault();else S(),e.preventDefault();else e.altKey&&("1"===e.key||"0"===e.key?(E(),e.preventDefault()):"-"===e.key?(_(),e.preventDefault()):"s"===e.key&&(A(),e.preventDefault()))}}}),(e,t)=>{var a;return o(),i("div",null,[U(e.$slots,"header",Te({inputElement:w.value,id:e.id,modelValue:e.modelValue,status:e.status},e.$attrs)),d.value?(o(),i("label",{key:0,for:e.id,class:y("mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300 "+(e.labelClass??""))},F(d.value),11,e1)):x("",!0),e.disabled?x("",!0):(o(),i("div",t1,[l("div",s1,[f("bold")?(o(),i("svg",{key:0,class:y(Je),onClick:S,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},o1)):x("",!0),f("italics")?(o(),i("svg",{key:1,class:y(Je),onClick:T,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},i1)):x("",!0),f("link")?(o(),i("svg",{key:2,class:y(Je),onClick:I,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},c1)):x("",!0),f("blockquote")?(o(),i("svg",{key:3,class:y(Je),onClick:j,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},p1)):x("",!0),f("image")?(o(),i("svg",{key:4,class:y(Je),onClick:$,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},g1)):x("",!0),f("code")?(o(),i("svg",{key:5,class:y(Je),onClick:B,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},w1)):x("",!0),f("heading")?(o(),i("svg",{key:6,class:y(Je),onClick:D,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},$1)):x("",!0),f("orderedList")?(o(),i("svg",{key:7,class:y(Je),icon:"",onClick:E,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},L1)):x("",!0),f("unorderedList")?(o(),i("svg",{key:8,class:y(Je),onClick:_,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},M1)):x("",!0),f("strikethrough")?(o(),i("svg",{key:9,class:y(Je),onClick:A,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},F1)):x("",!0),f("undo")?(o(),i("svg",{key:10,class:y(Je),onClick:H,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},O1)):x("",!0),f("redo")?(o(),i("svg",{key:11,class:y(Je),onClick:P,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},B1)):x("",!0),U(e.$slots,"toolbarbuttons",{instance:null==(a=Be())?void 0:a.exposed})]),f("help")&&e.helpUrl?(o(),i("div",H1,[l("a",{title:"formatting help",target:"_blank",href:e.helpUrl,tabindex:"-1"},[(o(),i("svg",{class:y(Je),xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},z1))],8,R1)])):x("",!0)])),l("div",N1,[l("textarea",{ref_key:"txt",ref:w,name:e.id,id:e.id,class:y(m.value),label:e.label,value:e.modelValue,rows:e.rows||6,disabled:e.disabled,onInput:t[0]||(t[0]=e=>{var l;return k((null==(l=e.target)?void 0:l.value)||"")}),onKeydown:on(R,["tab"])},null,42,U1)]),u.value?(o(),i("p",{key:2,class:"mt-2 text-sm text-red-500",id:e.id+"-error"},F(u.value),9,q1)):e.help?(o(),i("p",{key:3,class:"mt-2 text-sm text-gray-500",id:e.id+"-description"},F(e.help),9,Q1)):x("",!0),U(e.$slots,"footer",Te({inputElement:w.value,id:e.id,modelValue:e.modelValue,status:e.status},e.$attrs))])}}}),Z1={key:0,class:"relative z-10 lg:hidden",role:"dialog","aria-modal":"true"},W1={class:"fixed inset-0 flex"},G1=l("span",{class:"sr-only"},"Close sidebar",-1),J1=l("svg",{class:"h-6 w-6 text-white dark:text-black",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1),X1=[G1,J1],Y1={class:"flex grow flex-col gap-y-5 overflow-y-auto bg-white dark:bg-black px-6 pb-2"},eh={class:"hidden lg:fixed lg:inset-y-0 lg:z-10 lg:flex lg:w-72 lg:flex-col"},th={class:"flex grow flex-col gap-y-5 overflow-y-auto border-r border-gray-200 dark:border-gray-700 bg-white dark:bg-black px-6"},sh={class:y(["sticky top-0 flex items-center gap-x-6 bg-white dark:bg-black px-4 py-4 shadow-sm sm:px-6 lg:hidden"])},lh=l("span",{class:"sr-only"},"Open sidebar",-1),nh=l("svg",{class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"})],-1),oh=[lh,nh],ah=de({__name:"SidebarLayout",setup(e,{expose:t}){let a=bn().transition,n=O(!0),r=O(""),s={entering:{cls:"transition-opacity ease-linear duration-300",from:"opacity-0",to:"opacity-100"},leaving:{cls:"transition-opacity ease-linear duration-300",from:"opacity-100",to:"opacity-0"}},u=O(""),d={entering:{cls:"transition ease-in-out duration-300 transform",from:"-translate-x-full",to:"translate-x-0"},leaving:{cls:"transition ease-in-out duration-300 transform",from:"translate-x-0",to:"-translate-x-full"}},v=O(""),c={entering:{cls:"ease-in-out duration-300",from:"opacity-0",to:"opacity-100"},leaving:{cls:"ease-in-out duration-300",from:"opacity-100",to:"opacity-0"}};function p(e){a(s,r,e),a(d,u,e),a(c,v,e),setTimeout(()=>n.value=e,300)}function f(){p(!0)}function m(){p(!1)}return t({show:f,hide:m,toggle:p}),(e,t)=>(o(),i("div",null,[n.value?(o(),i("div",Z1,[l("div",{class:y(["fixed inset-0 bg-gray-900/80",r.value])},null,2),l("div",W1,[l("div",{class:y(["relative mr-16 flex w-full max-w-xs flex-1",u.value])},[l("div",{class:y(["absolute left-full top-0 flex w-16 justify-center pt-5",v.value])},[l("button",{type:"button",onClick:m,class:"-m-2.5 p-2.5"},X1)],2),l("div",Y1,[U(e.$slots,"default")])],2)])])):x("",!0),l("div",eh,[l("div",th,[U(e.$slots,"default")])]),l("div",sh,[l("button",{type:"button",onClick:f,class:"-m-2.5 p-2.5 text-gray-700 dark:text-gray-200 lg:hidden"},oh),U(e.$slots,"mobiletitlebar")])]))}}),rh={Alert:ea,AlertSuccess:fa,ErrorSummary:ga,InputDescription:ba,Icon:eo,Loading:pr,OutlineButton:gr,PrimaryButton:wr,SecondaryButton:$r,TextLink:xr,Breadcrumbs:Tr,Breadcrumb:Dr,NavList:Hr,NavListItem:Gr,AutoQueryGrid:wd,SettingsIcons:jd,FilterViews:Il,FilterColumn:Fl,QueryPrefs:jl,EnsureAccess:lo,EnsureAccessDialog:Od,TextInput:qd,TextareaInput:Xd,SelectInput:nc,CheckboxInput:fc,TagInput:jc,FileInput:l0,Autocomplete:b0,Combobox:_0,DynamicInput:$0,LookupInput:H0,AutoFormFields:R0,AutoForm:df,AutoCreateForm:Tf,AutoEditForm:Xf,AutoViewForm:gv,ConfirmDelete:bv,FormLoading:xv,DataGrid:Av,CellFormat:Tv,PreviewFormat:Pv,HtmlFormat:zv,MarkupFormat:qv,MarkupModel:ep,CloseButton:op,SlideOver:wp,ModalDialog:Vp,ModalLookup:wm,Tabs:Mm,DarkModeToggle:jm,SignIn:Ym,MarkdownInput:K1,SidebarLayout:ah},Qs=rh,vh={install(l){function t(l){var e=Object.keys(l).filter(e=>l[e]).map(e=>encodeURIComponent(e)+"="+encodeURIComponent(l[e])).join("&");return e?"?"+e:"./"}Object.keys(Qs).forEach(e=>{l.component(e,Qs[e])}),l.directive("href",function(e,l){e.href=t(l.value),e.onclick=e=>{e.preventDefault(),history.pushState(l.value,"",t(l.value))}})},component(e,l){return e?l?G.components[e]=l:G.components[e]||Qs[e]||null:null}};export{fh as css,vh as default,Tl as useAuth,Ds as useClient,It as useConfig,La as useFiles,ch as useFormatters,lt as useMetadata,bn as useUtils}; \ No newline at end of file diff --git a/AiServer/wwwroot/lib/mjs/servicestack-vue.mjs b/AiServer/wwwroot/lib/mjs/servicestack-vue.mjs index 10e6ef4..346d68f 100644 --- a/AiServer/wwwroot/lib/mjs/servicestack-vue.mjs +++ b/AiServer/wwwroot/lib/mjs/servicestack-vue.mjs @@ -1,64 +1,64 @@ -var mo = Object.defineProperty; -var ho = (e, t, s) => t in e ? mo(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s; -var Le = (e, t, s) => (ho(e, typeof t != "symbol" ? t + "" : t, s), s); -import { defineComponent as de, computed as v, openBlock as o, createElementBlock as i, normalizeClass as y, createElementVNode as l, createCommentVNode as x, renderSlot as U, ref as D, toDisplayString as F, inject as Qe, nextTick as Vt, isRef as nn, unref as X, mergeProps as Te, withModifiers as Ue, h as _t, resolveComponent as Z, createBlock as ae, withCtx as xe, useAttrs as go, createVNode as ye, createTextVNode as ke, watchEffect as ws, normalizeStyle as nl, Fragment as Se, renderList as je, withDirectives as Mt, vModelCheckbox as ol, withKeys as on, createStaticVNode as xs, vModelSelect as yo, useSlots as al, getCurrentInstance as Be, onMounted as Ye, createSlots as rl, normalizeProps as Rt, guardReactiveProps as ks, vModelDynamic as bo, onUnmounted as Tt, watch as yt, vModelText as wo, resolveDynamicComponent as an, provide as ss, resolveDirective as ko } from "vue"; -import { errorResponseExcept as _o, dateFmt as rn, toTime as $o, omit as ft, enc as Ks, appendQueryString as Et, lastLeftPart as un, setQueryString as Co, nameOf as xo, ApiResult as Xe, lastRightPart as St, leftPart as Ls, map as Ke, toDate as Ft, toDateTime as Lo, toCamelCase as Vo, mapGet as _e, chop as Mo, fromXsdDuration as dn, isDate as Vs, timeFmt12 as So, apiValue as Ao, indexOfAny as To, createBus as Fo, toKebabCase as Wl, sanitize as Io, humanize as Pe, delaySet as cn, rightPart as ms, queryString as Zs, combinePaths as jo, toPascalCase as at, errorResponse as pt, trimEnd as Do, $1 as _s, ResponseStatus as Us, ResponseError as Gl, HttpMethods as il, omitEmpty as Oo, uniqueKeys as Ws, humanify as fn, each as Po } from "@servicestack/client"; -const Bo = { class: "flex items-center" }, Ho = { +var ho = Object.defineProperty; +var go = (e, t, s) => t in e ? ho(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s; +var Le = (e, t, s) => (go(e, typeof t != "symbol" ? t + "" : t, s), s); +import { defineComponent as de, computed as v, openBlock as o, createElementBlock as i, normalizeClass as y, createElementVNode as l, createCommentVNode as x, renderSlot as U, ref as O, toDisplayString as F, inject as Qe, nextTick as St, isRef as nn, unref as X, mergeProps as Te, withModifiers as Ue, h as $t, resolveComponent as Z, createBlock as ae, withCtx as xe, useAttrs as yo, createVNode as ye, createTextVNode as ke, watchEffect as ws, normalizeStyle as nl, Fragment as Me, renderList as je, withDirectives as Mt, vModelCheckbox as ol, withKeys as on, createStaticVNode as xs, vModelSelect as bo, useSlots as al, getCurrentInstance as Be, onMounted as Ye, createSlots as rl, normalizeProps as Rt, guardReactiveProps as ks, vModelDynamic as wo, onUnmounted as Ft, watch as bt, vModelText as ko, resolveDynamicComponent as an, provide as ss, resolveDirective as _o } from "vue"; +import { errorResponseExcept as $o, toDate as pt, toTime as Co, omit as ft, enc as Ks, appendQueryString as Et, lastLeftPart as rn, setQueryString as xo, nameOf as Lo, ApiResult as Xe, lastRightPart as At, leftPart as Ls, map as Ze, toDateTime as Vo, toCamelCase as So, mapGet as _e, chop as Mo, fromXsdDuration as un, isDate as Vs, timeFmt12 as Ao, dateFmt as To, apiValue as Fo, indexOfAny as Io, createBus as jo, toKebabCase as Wl, sanitize as Oo, humanize as Pe, delaySet as dn, rightPart as ms, queryString as Zs, combinePaths as Do, toPascalCase as at, errorResponse as mt, trimEnd as Po, $1 as _s, ResponseStatus as Us, ResponseError as Gl, HttpMethods as il, omitEmpty as Bo, uniqueKeys as Ws, humanify as cn, each as Ho } from "@servicestack/client"; +const Ro = { class: "flex items-center" }, Eo = { key: 0, class: "flex-shrink-0 mr-3" -}, Ro = { +}, zo = { key: 0, class: "h-5 w-5 text-yellow-400", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", "aria-hidden": "true" -}, Eo = /* @__PURE__ */ l("path", { +}, No = /* @__PURE__ */ l("path", { "fill-rule": "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", "clip-rule": "evenodd" -}, null, -1), zo = [ - Eo -], No = { +}, null, -1), Uo = [ + No +], qo = { key: 1, class: "h-5 w-5 text-red-400", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", "aria-hidden": "true" -}, Uo = /* @__PURE__ */ l("path", { +}, Qo = /* @__PURE__ */ l("path", { "fill-rule": "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", "clip-rule": "evenodd" -}, null, -1), qo = [ - Uo -], Qo = { +}, null, -1), Ko = [ + Qo +], Zo = { key: 2, class: "h-5 w-5 text-blue-400", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", "aria-hidden": "true" -}, Ko = /* @__PURE__ */ l("path", { +}, Wo = /* @__PURE__ */ l("path", { "fill-rule": "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", "clip-rule": "evenodd" -}, null, -1), Zo = [ - Ko -], Wo = { +}, null, -1), Go = [ + Wo +], Jo = { key: 3, class: "h-5 w-5 text-green-400", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", "aria-hidden": "true" -}, Go = /* @__PURE__ */ l("path", { +}, Xo = /* @__PURE__ */ l("path", { "fill-rule": "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", "clip-rule": "evenodd" -}, null, -1), Jo = [ - Go -], Xo = /* @__PURE__ */ de({ +}, null, -1), Yo = [ + Xo +], ea = /* @__PURE__ */ de({ __name: "Alert", props: { type: { default: "warn" }, @@ -69,9 +69,9 @@ const Bo = { class: "flex items-center" }, Ho = { return (r, u) => (o(), i("div", { class: y([s.value, n.value, "border-l-4 p-4"]) }, [ - l("div", Bo, [ - r.hideIcon ? x("", !0) : (o(), i("div", Ho, [ - r.type == "warn" ? (o(), i("svg", Ro, zo)) : r.type == "error" ? (o(), i("svg", No, qo)) : r.type == "info" ? (o(), i("svg", Qo, Zo)) : r.type == "success" ? (o(), i("svg", Wo, Jo)) : x("", !0) + l("div", Ro, [ + r.hideIcon ? x("", !0) : (o(), i("div", Eo, [ + r.type == "warn" ? (o(), i("svg", zo, Uo)) : r.type == "error" ? (o(), i("svg", qo, Ko)) : r.type == "info" ? (o(), i("svg", Zo, Go)) : r.type == "success" ? (o(), i("svg", Jo, Yo)) : x("", !0) ])), l("div", null, [ l("p", { @@ -83,11 +83,11 @@ const Bo = { class: "flex items-center" }, Ho = { ]) ], 2)); } -}), Yo = { +}), ta = { key: 0, class: "rounded-md bg-green-50 dark:bg-green-200 p-4", role: "alert" -}, ea = { class: "flex" }, ta = /* @__PURE__ */ l("div", { class: "flex-shrink-0" }, [ +}, sa = { class: "flex" }, la = /* @__PURE__ */ l("div", { class: "flex-shrink-0" }, [ /* @__PURE__ */ l("svg", { class: "h-5 w-5 text-green-400 dark:text-green-500", fill: "none", @@ -102,7 +102,7 @@ const Bo = { class: "flex items-center" }, Ho = { d: "M5 13l4 4L19 7" }) ]) -], -1), sa = { class: "ml-3" }, la = { class: "text-sm font-medium text-green-800" }, na = { key: 0 }, oa = { class: "ml-auto pl-3" }, aa = { class: "-mx-1.5 -my-1.5" }, ra = /* @__PURE__ */ l("span", { class: "sr-only" }, "Dismiss", -1), ia = /* @__PURE__ */ l("svg", { +], -1), na = { class: "ml-3" }, oa = { class: "text-sm font-medium text-green-800" }, aa = { key: 0 }, ra = { class: "ml-auto pl-3" }, ia = { class: "-mx-1.5 -my-1.5" }, ua = /* @__PURE__ */ l("span", { class: "sr-only" }, "Dismiss", -1), da = /* @__PURE__ */ l("svg", { class: "h-5 w-5", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", @@ -110,37 +110,37 @@ const Bo = { class: "flex items-center" }, Ho = { "aria-hidden": "true" }, [ /* @__PURE__ */ l("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" }) -], -1), ua = [ - ra, - ia -], da = /* @__PURE__ */ de({ +], -1), ca = [ + ua, + da +], fa = /* @__PURE__ */ de({ __name: "AlertSuccess", props: { message: {} }, setup(e) { - const t = D(!1); - return (s, n) => t.value ? x("", !0) : (o(), i("div", Yo, [ - l("div", ea, [ - ta, - l("div", sa, [ - l("h3", la, [ - s.message ? (o(), i("span", na, F(s.message), 1)) : U(s.$slots, "default", { key: 1 }) + const t = O(!1); + return (s, n) => t.value ? x("", !0) : (o(), i("div", ta, [ + l("div", sa, [ + la, + l("div", na, [ + l("h3", oa, [ + s.message ? (o(), i("span", aa, F(s.message), 1)) : U(s.$slots, "default", { key: 1 }) ]) ]), - l("div", oa, [ - l("div", aa, [ + l("div", ra, [ + l("div", ia, [ l("button", { type: "button", class: "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-700 dark:hover:text-white focus:outline-none focus:ring-2 focus:ring-green-600 focus:ring-offset-2 focus:ring-offset-green-50 dark:ring-offset-green-200", onClick: n[0] || (n[0] = (a) => t.value = !0) - }, ua) + }, ca) ]) ]) ]) ])); } -}), ca = { class: "flex" }, fa = /* @__PURE__ */ l("div", { class: "flex-shrink-0" }, [ +}), va = { class: "flex" }, pa = /* @__PURE__ */ l("div", { class: "flex-shrink-0" }, [ /* @__PURE__ */ l("svg", { class: "h-5 w-5 text-red-400", xmlns: "http://www.w3.org/2000/svg", @@ -151,7 +151,7 @@ const Bo = { class: "flex items-center" }, Ho = { 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" }) ]) -], -1), va = { class: "ml-3" }, pa = { class: "text-sm text-red-700 dark:text-red-200" }, ma = /* @__PURE__ */ de({ +], -1), ma = { class: "ml-3" }, ha = { class: "text-sm text-red-700 dark:text-red-200" }, ga = /* @__PURE__ */ de({ __name: "ErrorSummary", props: { status: {}, @@ -161,20 +161,20 @@ const Bo = { class: "flex items-center" }, Ho = { setup(e) { const t = e; let s = Qe("ApiState", void 0); - const n = v(() => t.status || s != null && s.error.value ? _o.call({ responseStatus: t.status ?? (s == null ? void 0 : s.error.value) }, t.except ?? []) : null); + const n = v(() => t.status || s != null && s.error.value ? $o.call({ responseStatus: t.status ?? (s == null ? void 0 : s.error.value) }, t.except ?? []) : null); return (a, r) => n.value ? (o(), i("div", { key: 0, class: y(`bg-red-50 dark:bg-red-900 border-l-4 border-red-400 p-4 ${a.$props.class}`) }, [ - l("div", ca, [ - fa, - l("div", va, [ - l("p", pa, F(n.value), 1) + l("div", va, [ + pa, + l("div", ma, [ + l("p", ha, F(n.value), 1) ]) ]) ], 2)) : x("", !0); } -}), ha = ["id", "aria-describedby"], ga = /* @__PURE__ */ de({ +}), ya = ["id", "aria-describedby"], ba = /* @__PURE__ */ de({ __name: "InputDescription", props: { id: {}, @@ -188,25 +188,41 @@ const Bo = { class: "flex items-center" }, Ho = { "aria-describedby": `${t.id}-description` }, [ l("div", null, F(t.description), 1) - ], 8, ha)) : x("", !0); + ], 8, ya)) : x("", !0); } }); -function Ms(e) { - return rn(e).replace(/\//g, "-"); +function Ss(e) { + if (e == null || typeof e == "object") + return ""; + const t = pt(e); + return t == null || t.toString() == "Invalid Date" ? "" : t.toISOString().substring(0, 10) ?? ""; +} +function fn(e) { + if (e == null || typeof e == "object") + return ""; + const t = pt(e); + return t == null || t.toString() == "Invalid Date" ? "" : t.toISOString().substring(0, 19) ?? ""; } function vn(e) { - return e == null ? "" : $o(e); + return e == null ? "" : Co(e); } function pn(e, t) { - e.value = null, Vt(() => e.value = t); + if (G.config.inputValue) + return G.config.inputValue(e, t); + let s = e === "date" ? Ss(t) : e === "datetime-local" ? fn(t) : e === "time" ? vn(t) : t; + const n = typeof s; + return s = s == null ? "" : n == "boolean" || n == "number" ? `${s}` : s, s; +} +function mn(e, t) { + e.value = null, St(() => e.value = t); } -function Ot(e) { +function Dt(e) { return Object.keys(e).forEach((t) => { const s = e[t]; e[t] = nn(s) ? X(s) : s; }), e; } -function gt(e, t, s) { +function yt(e, t, s) { s ? (t.value = e.entering.cls + " " + e.entering.from, setTimeout(() => t.value = e.entering.cls + " " + e.entering.to, 0)) : (t.value = e.leaving.cls + " " + e.leaving.from, setTimeout(() => t.value = e.leaving.cls + " " + e.leaving.to, 0)); } function hs(e) { @@ -244,20 +260,20 @@ function dt(e, t, s) { function Gs(e) { return Object.keys(e).reduce((t, s) => `${t} ${s}="${Ks(e[s])}"`, ""); } -function Ss(e) { +function Ms(e) { return Object.assign({ target: "_blank", rel: "noopener", class: "text-blue-600" }, e); } function Ht(e) { return Vl(e); } -let ya = ["string", "number", "boolean", "null", "undefined"]; -function At(e) { - return ya.indexOf(typeof e) >= 0 || e instanceof Date; +let wa = ["string", "number", "boolean", "null", "undefined"]; +function Tt(e) { + return wa.indexOf(typeof e) >= 0 || e instanceof Date; } function Xt(e) { - return !At(e); + return !Tt(e); } -class mn { +class hn { get length() { return typeof localStorage > "u" ? 0 : localStorage.length; } @@ -282,7 +298,7 @@ function $s(e) { } function ul(e, t) { if (typeof history < "u") { - const s = t ? Et(un(location.href, "?"), e) : Co(location.href, e); + const s = t ? Et(rn(location.href, "?"), e) : xo(location.href, e); history.pushState({}, "", s); } } @@ -299,30 +315,30 @@ function Js(e) { typeof navigator < "u" && navigator.clipboard.writeText(e); } function cl(e) { - const t = Y.config.storage.getItem(e); + const t = G.config.storage.getItem(e); return t ? JSON.parse(t) : null; } function As(e, t) { - return Et(`swr.${xo(e)}`, t ? Object.assign({}, e, t) : e); + return Et(`swr.${Lo(e)}`, t ? Object.assign({}, e, t) : e); } -function ba(e) { +function ka(e) { if (e.request) { const t = As(e.request, e.args); - Y.config.storage.removeItem(t); + G.config.storage.removeItem(t); } } -async function hn(e, t, s, n, a) { +async function gn(e, t, s, n, a) { const r = As(t, n); s(new Xe({ response: cl(r) })); const u = await e.api(t, n, a); if (u.succeeded && u.response) { u.response._date = (/* @__PURE__ */ new Date()).valueOf(); const d = JSON.stringify(u.response); - Y.config.storage.setItem(r, d), s(u); + G.config.storage.setItem(r, d), s(u); } return u; } -function gn(e, t) { +function yn(e, t) { let s = null; return (...n) => { s && clearTimeout(s), s = setTimeout(() => { @@ -330,42 +346,44 @@ function gn(e, t) { }, t || 100); }; } -function $t(e) { +function Ct(e) { return typeof e == "string" ? e.split(",") : e || []; } -function Lt(e, t) { - const s = $t(t); +function Vt(e, t) { + const s = Ct(t); return e.reduce((n, a) => (n[a] = !s.includes(a), n), {}); } -function yn() { +function bn() { return { - LocalStore: mn, - dateInputFormat: Ms, + LocalStore: hn, + dateInputFormat: Ss, + dateTimeInputFormat: fn, timeInputFormat: vn, - setRef: pn, - unRefs: Ot, - transition: gt, + textInputValue: pn, + setRef: mn, + unRefs: Dt, + transition: yt, focusNextElement: hs, getTypeName: qt, htmlTag: dt, htmlAttrs: Gs, - linkAttrs: Ss, + linkAttrs: Ms, toAppUrl: Ht, - isPrimitive: At, + isPrimitive: Tt, isComplexType: Xt, pushState: ul, scopedExpr: dl, copyText: Js, fromCache: cl, swrCacheKey: As, - swrClear: ba, - swrApi: hn, - asStrings: $t, - asOptions: Lt, - createDebounce: gn + swrClear: ka, + swrApi: gn, + asStrings: Ct, + asOptions: Vt, + createDebounce: yn }; } -const bn = "png,jpg,jpeg,jfif,gif,svg,webp".split(","), wn = { +const wn = "png,jpg,jpeg,jfif,gif,svg,webp".split(","), kn = { 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(","), @@ -376,7 +394,7 @@ const bn = "png,jpg,jpeg,jfif,gif,svg,webp".split(","), wn = { exe: "exe,bat,sh,cmd,com,app,msi,run,vb,vbs,js,ws,wsh".split(","), att: "bin,oct,dat".split(",") //attachment -}, Jl = Object.keys(wn), vt = (e, t) => ``, gs = { +}, Jl = Object.keys(kn), vt = (e, t) => ``, gs = { img: vt("4 4 16 16", ""), vid: vt("0 0 24 24", ""), aud: vt("0 0 24 24", ""), @@ -386,7 +404,7 @@ const bn = "png,jpg,jpeg,jfif,gif,svg,webp".split(","), wn = { zip: vt("0 0 16 16", ""), exe: vt("0 0 16 16", ""), att: vt("0 0 24 24", "") -}, wa = /[\r\n%#()<>?[\\\]^`{|}]/g, Xl = 1024, ka = ["Bytes", "KB", "MB", "GB", "TB"], _a = (() => { +}, _a = /[\r\n%#()<>?[\\\]^`{|}]/g, Xl = 1024, $a = ["Bytes", "KB", "MB", "GB", "TB"], Ca = (() => { const e = "application/", t = e + "vnd.openxmlformats-officedocument.", s = "image/", n = "text/", a = "audio/", r = "video/", u = { jpg: s + "jpeg", tif: s + "tiff", @@ -416,17 +434,17 @@ const bn = "png,jpg,jpeg,jfif,gif,svg,webp".split(","), wn = { return c("jpeg,gif,png,tiff,bmp,webp", (f) => s + f), c("jsx,csv,css", (f) => n + f), c("aac,ac3,aiff,m4a,m4b,m4p,mid,midi,wav", (f) => a + f), c("3gpp,avi,dv,divx,ogg,mp4,webm", (f) => r + f), c("rtf,pdf", (f) => e + f), d("htm,html,shtm", n + "html"), d("js,mjs,cjs", n + "javascript"), d("yml,yaml", e + "yaml"), d("bat,cmd", e + "bat"), d("xml,csproj,fsproj,vbproj", n + "xml"), d("txt,ps1", n + "plain"), d("qt,mov", r + "quicktime"), d("doc,dot", e + "msword"), d("xls,xlt,xla", e + "excel"), d("ppt,oit,pps,ppa", e + "vnd.ms-powerpoint"), d("cer,crt,der", e + "x-x509-ca-cert"), d("gz,tgz,zip,rar,lzh,z", e + "x-compressed"), d("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", e + "octet-stream"), u; })(); let Xs = []; -function kn(e) { - return e = e.replace(/"/g, "'"), e = e.replace(/>\s+<"), e = e.replace(/\s{2,}/g, " "), e.replace(wa, encodeURIComponent); +function _n(e) { + return e = e.replace(/"/g, "'"), e = e.replace(/>\s+<"), e = e.replace(/\s{2,}/g, " "), e.replace(_a, encodeURIComponent); } function fl(e) { - return "data:image/svg+xml;utf8," + kn(e); + return "data:image/svg+xml;utf8," + _n(e); } -function _n(e) { +function $n(e) { let t = URL.createObjectURL(e); return Xs.push(t), t; } -function $n() { +function Cn() { Xs.forEach((e) => { try { URL.revokeObjectURL(e); @@ -439,15 +457,15 @@ function vl(e) { if (!e) return null; let t = Ls(e, "?"); - return St(t, "/"); + return At(t, "/"); } function ls(e) { let t = vl(e); - return t == null || t.indexOf(".") === -1 ? null : St(t, ".").toLowerCase(); + return t == null || t.indexOf(".") === -1 ? null : At(t, ".").toLowerCase(); } function pl(e) { let t = ls(e.name); - return t && bn.indexOf(t) >= 0 ? _n(e) : Ct(e.name); + return t && wn.indexOf(t) >= 0 ? $n(e) : xt(e.name); } function ml(e) { if (!e) @@ -455,24 +473,24 @@ function ml(e) { if (e.startsWith("blob:") || e.startsWith("data:")) return !0; let t = ls(e); - return t && bn.indexOf(t) >= 0 || !1; + return t && wn.indexOf(t) >= 0 || !1; } -function Ct(e) { +function xt(e) { if (!e) return null; let t = ls(e); return t == null || ml(e) ? e : Jt(t) || fl(gs.doc); } function Jt(e) { - let t = Cn(e); + let t = xn(e); return t && fl(t) || null; } -function Cn(e) { +function xn(e) { if (gs[e]) return gs[e]; for (let t = 0; t < Jl.length; t++) { let s = Jl[t]; - if (wn[s].indexOf(e) >= 0) + if (kn[s].indexOf(e) >= 0) return gs[s]; } return null; @@ -481,44 +499,44 @@ function hl(e, t = 2) { if (e === 0) return "0 Bytes"; const s = t < 0 ? 0 : t, n = Math.floor(Math.log(e) / Math.log(Xl)); - return parseFloat((e / Math.pow(Xl, n)).toFixed(s)) + " " + ka[n]; + return parseFloat((e / Math.pow(Xl, n)).toFixed(s)) + " " + $a[n]; } -function $a(e) { +function xa(e) { return e.files && Array.from(e.files).map((t) => ({ fileName: t.name, contentLength: t.size, filePath: pl(t) })); } function Ts(e, t) { e.onerror = null, e.src = gl(e.src, t) || ""; } function gl(e, t) { - return Jt(St(e, ".").toLowerCase()) || (t ? Jt(t) || t : null) || Jt("doc"); + return Jt(At(e, ".").toLowerCase()) || (t ? Jt(t) || t : null) || Jt("doc"); } function Ys(e) { if (!e) throw new Error("fileNameOrExt required"); - const t = St(e, ".").toLowerCase(); - return _a[t] || "application/" + t; + const t = At(e, ".").toLowerCase(); + return Ca[t] || "application/" + t; } -function Ca() { +function La() { return { - extSvg: Cn, + extSvg: xn, extSrc: Jt, getExt: ls, - encodeSvg: kn, + encodeSvg: _n, canPreview: ml, getFileName: vl, getMimeType: Ys, formatBytes: hl, - filePathUri: Ct, + filePathUri: xt, svgToDataUri: fl, fileImageUri: pl, - objectUrl: _n, - flush: $n, - inputFiles: $a, + objectUrl: $n, + flush: Cn, + inputFiles: xa, iconOnError: Ts, iconFallbackSrc: gl }; } -class xa { +class Va { constructor(t) { Le(this, "view"); Le(this, "includeTypes"); @@ -534,7 +552,7 @@ class xa { return {}; } } -const zt = "/metadata/app.json", La = { +const zt = "/metadata/app.json", Sa = { Boolean: "checkbox", DateTime: "date", DateOnly: "date", @@ -554,7 +572,7 @@ const zt = "/metadata/app.json", La = { String: "text", Guid: "text", Uri: "text" -}, Va = { +}, Ma = { number: "Int32", checkbox: "Boolean", date: "DateTime", @@ -573,19 +591,19 @@ const zt = "/metadata/app.json", La = { Decimal: "decimal" }; [...Object.keys(el), ...Object.values(el)]; -const Ma = { +const Aa = { String: "string", Boolean: "bool", ...el }; function fs(e) { - return Ma[e] || e; + return Aa[e] || e; } -function xn(e, t) { +function Ln(e, t) { return e ? (t || (t = []), e === "Nullable`1" ? fs(t[0]) + "?" : e.endsWith("[]") ? `List<${fs(e.substring(0, e.length - 2))}>` : t.length === 0 ? fs(e) : Ls(fs(e), "`") + "<" + t.join(",") + ">") : ""; } -function Sa(e) { - return e && xn(e.name, e.genericArgs); +function Ta(e) { + return e && Ln(e.name, e.genericArgs); } class Nt { constructor() { @@ -624,11 +642,11 @@ class Nt { static forType(t, s) { var a; let n = new Nt(); - if (Y.config.apisResolver && t) { - const r = Y.config.apisResolver(t, s); + if (G.config.apisResolver && t) { + const r = G.config.apisResolver(t, s); r && (n.Query = r.Query, n.QueryInto = r.QueryInto, n.Create = r.Create, n.Update = r.Update, n.Patch = r.Patch, n.Delete = r.Delete); } - return t && (s ?? (s = (a = Y.metadata.value) == null ? void 0 : a.api), s == null || s.operations.forEach((r) => { + return t && (s ?? (s = (a = G.metadata.value) == null ? void 0 : a.api), s == null || s.operations.forEach((r) => { var u; ((u = r.dataModel) == null ? void 0 : u.name) == t && n.add(r); })), n; @@ -641,9 +659,9 @@ const qe = { Delete: "IDeleteDb`1", AnyRead: ["QueryDb`1", "QueryDb`2"], AnyWrite: ["ICreateDb`1", "IUpdateDb`1", "IPatchDb`1", "IDeleteDb`1"], - isAnyQuery: (e) => Ke(e.request.inherits, (t) => qe.AnyRead.indexOf(t.name) >= 0), - isQuery: (e) => Ke(e.request.inherits, (t) => t.name === "QueryDb`1"), - isQueryInto: (e) => Ke(e.request.inherits, (t) => t.name === "QueryDb`2"), + isAnyQuery: (e) => Ze(e.request.inherits, (t) => qe.AnyRead.indexOf(t.name) >= 0), + isQuery: (e) => Ze(e.request.inherits, (t) => t.name === "QueryDb`1"), + isQueryInto: (e) => Ze(e.request.inherits, (t) => t.name === "QueryDb`2"), isCrud: (e) => { var t; return (t = e.request.implements) == null ? void 0 : t.some((s) => qe.AnyWrite.indexOf(s.name) >= 0); @@ -654,21 +672,21 @@ const qe = { isDelete: (e) => vs(e, qe.Delete), model: (e) => { var t, s, n; - return e ? Ke(e.inherits, (a) => qe.AnyRead.indexOf(a.name) >= 0) ? (t = e.inherits) == null ? void 0 : t.genericArgs[0] : (n = (s = e.implements) == null ? void 0 : s.find((a) => qe.AnyWrite.indexOf(a.name) >= 0)) == null ? void 0 : n.genericArgs[0] : null; + return e ? Ze(e.inherits, (a) => qe.AnyRead.indexOf(a.name) >= 0) ? (t = e.inherits) == null ? void 0 : t.genericArgs[0] : (n = (s = e.implements) == null ? void 0 : s.find((a) => qe.AnyWrite.indexOf(a.name) >= 0)) == null ? void 0 : n.genericArgs[0] : null; } }; -function Aa(e) { +function Fa(e) { var t; return ((t = e.input) == null ? void 0 : t.type) || Fs(yl(e)); } -function Ln(e) { +function Vn(e) { return e.endsWith("?") ? Mo(e, 1) : e; } function Fs(e) { - return La[Ln(e)]; + return Sa[Vn(e)]; } -function Ta(e) { - return e && Va[e] || "String"; +function Ia(e) { + return e && Ma[e] || "String"; } function yl(e) { return e.type === "Nullable`1" ? e.genericArgs[0] : e.type; @@ -676,10 +694,10 @@ function yl(e) { function tl(e) { return e && Fs(e) == "number" || !1; } -function Vn(e) { +function Sn(e) { return e && e.toLowerCase() == "string" || !1; } -function Fa(e) { +function ja(e) { return e == "List`1" || e.startsWith("List<") || e.endsWith("[]"); } function Mn(e) { @@ -688,7 +706,7 @@ function Mn(e) { const t = yl(e); return e.isValueType && t.indexOf("`") == -1 || e.isEnum ? !1 : Fs(e.type) == null; } -function Sn(e) { +function An(e) { var s, n, a, r; if (!(e != null && e.type)) return !1; @@ -722,7 +740,7 @@ function Yt(e, t) { ); return new a(t); } -function Ia(e, t, s = {}) { +function Oa(e, t, s = {}) { let n = ( /** @class */ function() { @@ -750,10 +768,10 @@ function Ia(e, t, s = {}) { function ys(e, t) { return e ? (Object.keys(e).forEach((s) => { let n = e[s]; - typeof n == "string" ? n.startsWith("/Date") && (e[s] = Ms(Ft(n))) : n != null && typeof n == "object" && (Array.isArray(n) ? e[s] = Array.from(n) : e[s] = Object.assign({}, n)); + typeof n == "string" ? n.startsWith("/Date") && (e[s] = Ss(pt(n))) : n != null && typeof n == "object" && (Array.isArray(n) ? e[s] = Array.from(n) : e[s] = Object.assign({}, n)); }), e) : {}; } -function ja(e, t) { +function Da(e, t) { let s = {}; return Array.from(e.elements).forEach((n) => { var p; @@ -769,19 +787,19 @@ function bl(e) { var t; return ((t = e == null ? void 0 : e.api) == null ? void 0 : t.operations) && e.api.operations.length > 0; } -function Da(e) { - if (!wl() && (e != null && e.assert) && !Y.metadata.value) +function Pa(e) { + if (!wl() && (e != null && e.assert) && !G.metadata.value) throw new Error("useMetadata() not configured, see: https://docs.servicestack.net/vue/use-metadata"); - return Y.metadata.value; + return G.metadata.value; } function es(e) { - return e && bl(e) ? (e.date = Lo(/* @__PURE__ */ new Date()), Y.metadata.value = e, typeof localStorage < "u" && localStorage.setItem(zt, JSON.stringify(e)), !0) : !1; + return e && bl(e) ? (e.date = Vo(/* @__PURE__ */ new Date()), G.metadata.value = e, typeof localStorage < "u" && localStorage.setItem(zt, JSON.stringify(e)), !0) : !1; } -function Oa() { - Y.metadata.value = null, typeof localStorage < "u" && localStorage.removeItem(zt); +function Ba() { + G.metadata.value = null, typeof localStorage < "u" && localStorage.removeItem(zt); } function wl() { - if (Y.metadata.value != null) + if (G.metadata.value != null) return !0; let e = globalThis.Server; if (bl(e)) @@ -795,7 +813,7 @@ function wl() { console.error(`Could not JSON.parse ${zt} from localStorage`); } } - return Y.metadata.value != null; + return G.metadata.value != null; } async function Yl(e, t) { let s = t ? await t() : await fetch(e); @@ -804,38 +822,38 @@ async function Yl(e, t) { es(JSON.parse(n)); } else console.error(`Could not download ${t ? "AppMetadata" : e}: ${s.statusText}`); - bl(Y.metadata.value) || console.warn("AppMetadata is not available"); + bl(G.metadata.value) || console.warn("AppMetadata is not available"); } -async function Pa(e) { +async function Ha(e) { var r; const { olderThan: t, resolvePath: s, resolve: n } = e || {}; let a = wl() && t !== 0; if (a && t) { - let u = Ft((r = Y.metadata.value) == null ? void 0 : r.date); + let u = pt((r = G.metadata.value) == null ? void 0 : r.date); (!u || (/* @__PURE__ */ new Date()).getTime() - u.getTime() > t) && (a = !1); } if (!a) { - if ((s || n) && (await Yl(s || zt, n), Y.metadata.value != null)) + if ((s || n) && (await Yl(s || zt, n), G.metadata.value != null)) return; const u = Qe("client"); if (u != null) { - const d = await u.api(new xa()); + const d = await u.api(new Va()); d.succeeded && es(d.response); } - if (Y.metadata.value != null) + if (G.metadata.value != null) return; await Yl(zt); } - return Y.metadata.value; + return G.metadata.value; } function rt(e, t) { var u; - if (Y.config.typeResolver) { - let d = Y.config.typeResolver(e, t); + if (G.config.typeResolver) { + let d = G.config.typeResolver(e, t); if (d) return d; } - let s = (u = Y.metadata.value) == null ? void 0 : u.api; + let s = (u = G.metadata.value) == null ? void 0 : u.api; if (!s || !e) return null; let n = s.types.find((d) => d.name.toLowerCase() === e.toLowerCase() && (!t || d.namespace == t)); @@ -849,40 +867,40 @@ function rt(e, t) { } function Is(e) { var n; - if (Y.config.apiResolver) { - const a = Y.config.apiResolver(e); + if (G.config.apiResolver) { + const a = G.config.apiResolver(e); if (a) return a; } - let t = (n = Y.metadata.value) == null ? void 0 : n.api; + let t = (n = G.metadata.value) == null ? void 0 : n.api; return t ? t.operations.find((a) => a.request.name.toLowerCase() === e.toLowerCase()) : null; } -function Ba({ dataModel: e }) { +function Ra({ dataModel: e }) { var n; - const t = (n = Y.metadata.value) == null ? void 0 : n.api; + const t = (n = G.metadata.value) == null ? void 0 : n.api; if (!t) return []; let s = t.operations; if (e) { const a = typeof e == "string" ? rt(e) : e; - s = s.filter((r) => An(r.dataModel, a)); + s = s.filter((r) => Tn(r.dataModel, a)); } return s; } function kl(e) { return e ? rt(e.name, e.namespace) : null; } -function An(e, t) { +function Tn(e, t) { return e && t && e.name === t.name && (!e.namespace || !t.namespace || e.namespace === t.namespace); } -function Ha(e, t) { +function Ea(e, t) { let s = rt(e); return s && s.properties && s.properties.find((a) => a.name.toLowerCase() === t.toLowerCase()); } -function Tn(e) { - return Fn(rt(e)); -} function Fn(e) { + return In(rt(e)); +} +function In(e) { if (e && e.isEnum && e.enumNames != null) { let t = {}; for (let s = 0; s < e.enumNames.length; s++) { @@ -893,7 +911,7 @@ function Fn(e) { } return null; } -function In(e) { +function jn(e) { if (!e) return null; let t = {}, s = e.input && e.input.allowableEntries; @@ -915,7 +933,7 @@ function In(e) { if (e.isEnum) { const a = e.genericArgs && e.genericArgs.length == 1 ? e.genericArgs[0] : e.type, r = rt(a); if (r) - return Fn(r); + return In(r); } return null; } @@ -925,25 +943,25 @@ function _l(e) { const t = []; return Object.keys(e).forEach((s) => t.push({ key: s, value: e[s] })), t; } -function Ra(e, t) { +function za(e, t) { const n = ((a, r) => Object.assign({ id: a, name: a, type: r - }, t))(e.name, (t == null ? void 0 : t.type) || Aa(e) || "text"); - return e.isEnum && (n.type = "select", n.allowableEntries = _l(In(e))), n; + }, t))(e.name, (t == null ? void 0 : t.type) || Fa(e) || "text"); + return e.isEnum && (n.type = "select", n.allowableEntries = _l(jn(e))), n; } -function Ea(e) { +function Na(e) { let t = []; if (e) { const s = st(e), n = Is(e.name), a = kl(n == null ? void 0 : n.dataModel); s.forEach((r) => { var d, c, f; - if (!Sn(r)) + if (!An(r)) return; - const u = Ra(r, r.input); - if (u.id = Vo(u.id), u.type == "file" && r.uploadTo && !u.accept) { - const p = (c = (d = Y.metadata.value) == null ? void 0 : d.plugins.filesUpload) == null ? void 0 : c.locations.find(($) => $.name == r.uploadTo); + const u = za(r, r.input); + if (u.id = So(u.id), u.type == "file" && r.uploadTo && !u.accept) { + const p = (c = (d = G.metadata.value) == null ? void 0 : d.plugins.filesUpload) == null ? void 0 : c.locations.find(($) => $.name == r.uploadTo); p && !u.accept && p.allowExtensions && (u.accept = p.allowExtensions.map(($) => $.startsWith(".") ? $ : `.${$}`).join(",")); } if (a) { @@ -956,7 +974,7 @@ function Ea(e) { input: u, $typeFields: s.map((m) => m.name), $dataModelFields: a ? st(a).map((m) => m.name) : [], - ...Y.config.scopeWhitelist + ...G.config.scopeWhitelist }, $ = dl(u.options, p); Object.keys($).forEach((m) => { u[m] = $[m]; @@ -983,7 +1001,7 @@ function $l(e, t) { } return n; } -function jn(e) { +function On(e) { return (t) => typeof t == "number" ? $l(t, { type: e }) : t; } function st(e) { @@ -1014,32 +1032,32 @@ function Dn(e, t) { if (!a) { let r = qe.model(e); if (r) - return Ke(rt(r), (u) => ns(u)); + return Ze(rt(r), (u) => ns(u)); console.error(`Primary Key not found in ${e.name}`); } return a || null; } -function za(e, t) { - return Ke(ns(e), (s) => _e(t, s.name)); +function Ua(e, t) { + return Ze(ns(e), (s) => _e(t, s.name)); } -function On(e, t, s) { - return e && e.valueType === "none" ? "" : s.key === "%In" || s.key === "%Between" ? `(${s.value})` : Na(t, s.value); +function Pn(e, t, s) { + return e && e.valueType === "none" ? "" : s.key === "%In" || s.key === "%Between" ? `(${s.value})` : qa(t, s.value); } -function Na(e, t) { - return e ? (e = Ln(e), tl(e) || e === "Boolean" ? t : Fa(e) ? `[${t}]` : `'${t}'`) : t; +function qa(e, t) { + return e ? (e = Vn(e), tl(e) || e === "Boolean" ? t : ja(e) ? `[${t}]` : `'${t}'`) : t; } -function ht(e, t) { +function gt(e, t) { return { name: e, value: t }; } -const Ua = [ - ht("=", "%"), - ht("!=", "%!"), - ht(">=", ">%"), - ht(">", "%>"), - ht("<=", "%<"), - ht("<", "<%"), - ht("In", "%In"), - ht("Between", "%Between"), +const Qa = [ + gt("=", "%"), + gt("!=", "%!"), + gt(">=", ">%"), + gt(">", "%>"), + gt("<=", "%<"), + gt("<", "<%"), + gt("In", "%In"), + gt("Between", "%Between"), { name: "Starts With", value: "%StartsWith", types: "string" }, { name: "Contains", value: "%Contains", types: "string" }, { name: "Ends With", value: "%EndsWith", types: "string" }, @@ -1049,48 +1067,48 @@ const Ua = [ function lt() { const e = v(() => { var n; - return ((n = Y.metadata.value) == null ? void 0 : n.app) || null; + return ((n = G.metadata.value) == null ? void 0 : n.app) || null; }), t = v(() => { var n; - return ((n = Y.metadata.value) == null ? void 0 : n.api) || null; + return ((n = G.metadata.value) == null ? void 0 : n.api) || null; }), s = v(() => { var n, a, r; - return ((r = (a = (n = Y.metadata.value) == null ? void 0 : n.plugins) == null ? void 0 : a.autoQuery) == null ? void 0 : r.viewerConventions) || Ua; + return ((r = (a = (n = G.metadata.value) == null ? void 0 : n.plugins) == null ? void 0 : a.autoQuery) == null ? void 0 : r.viewerConventions) || Qa; }); return wl(), { - loadMetadata: Pa, - getMetadata: Da, + loadMetadata: Ha, + getMetadata: Pa, setMetadata: es, - clearMetadata: Oa, + clearMetadata: Ba, metadataApp: e, metadataApi: t, filterDefinitions: s, typeOf: rt, typeOfRef: kl, - typeEquals: An, + typeEquals: Tn, apiOf: Is, - findApis: Ba, - typeName: Sa, - typeName2: xn, - property: Ha, - enumOptions: Tn, - propertyOptions: In, - createFormLayout: Ea, + findApis: Ra, + typeName: Ta, + typeName2: Ln, + property: Ea, + enumOptions: Fn, + propertyOptions: jn, + createFormLayout: Na, typeProperties: st, - supportsProp: Sn, + supportsProp: An, Crud: qe, Apis: Nt, getPrimaryKey: ns, getPrimaryKeyByProps: Dn, - getId: za, + getId: Ua, createDto: Yt, - makeDto: Ia, + makeDto: Oa, toFormValues: ys, - formValues: ja, + formValues: Da, isComplexProp: Mn, asKvps: _l, expandEnumFlags: $l, - enumFlagsConverter: jn + enumFlagsConverter: On }; } const et = class et { @@ -1155,7 +1173,7 @@ const et = class et { } }; Le(et, "Lookup", {}); -let Pt = et, sl = () => (/* @__PURE__ */ new Date()).getTime(), qa = ["/", "T", ":", "-"], ct = { +let Pt = et, sl = () => (/* @__PURE__ */ new Date()).getTime(), Ka = ["/", "T", ":", "-"], ct = { //locale: null, assumeUtc: !0, //number: null, @@ -1166,102 +1184,102 @@ let Pt = et, sl = () => (/* @__PURE__ */ new Date()).getTime(), qa = ["/", "T", maxFieldLength: 150, maxNestedFields: 2, maxNestedFieldLength: 30 -}, Qa = new Intl.RelativeTimeFormat(ct.locale, {}), en = 24 * 60 * 60 * 1e3 * 365, qs = { +}, Za = new Intl.RelativeTimeFormat(ct.locale, {}), en = 24 * 60 * 60 * 1e3 * 365, qs = { year: en, month: en / 12, day: 24 * 60 * 60 * 1e3, hour: 60 * 60 * 1e3, minute: 60 * 1e3, second: 1e3 -}, xt = { - currency: Bn, - bytes: Hn, - link: Rn, - linkTel: En, - linkMailTo: zn, - icon: Nn, - iconRounded: Un, - attachment: qn, - hidden: Qn, - time: Kn, +}, Lt = { + currency: Hn, + bytes: Rn, + link: En, + linkTel: zn, + linkMailTo: Nn, + icon: Un, + iconRounded: qn, + attachment: Qn, + hidden: Kn, + time: Zn, relativeTime: xl, relativeTimeFromMs: js, - enumFlags: Wn, + enumFlags: Gn, formatDate: Qt, formatNumber: Cl }; "iconOnError" in globalThis || (globalThis.iconOnError = Ts); -class Ze { +class Ke { } -Le(Ze, "currency", { method: "currency" }), Le(Ze, "bytes", { method: "bytes" }), Le(Ze, "link", { method: "link" }), Le(Ze, "linkTel", { method: "linkTel" }), Le(Ze, "linkMailTo", { method: "linkMailTo" }), Le(Ze, "icon", { method: "icon" }), Le(Ze, "iconRounded", { method: "iconRounded" }), Le(Ze, "attachment", { method: "attachment" }), Le(Ze, "time", { method: "time" }), Le(Ze, "relativeTime", { method: "relativeTime" }), Le(Ze, "relativeTimeFromMs", { method: "relativeTimeFromMs" }), Le(Ze, "date", { method: "formatDate" }), Le(Ze, "number", { method: "formatNumber" }), Le(Ze, "hidden", { method: "hidden" }), Le(Ze, "enumFlags", { method: "enumFlags" }); -function Ka(e) { +Le(Ke, "currency", { method: "currency" }), Le(Ke, "bytes", { method: "bytes" }), Le(Ke, "link", { method: "link" }), Le(Ke, "linkTel", { method: "linkTel" }), Le(Ke, "linkMailTo", { method: "linkMailTo" }), Le(Ke, "icon", { method: "icon" }), Le(Ke, "iconRounded", { method: "iconRounded" }), Le(Ke, "attachment", { method: "attachment" }), Le(Ke, "time", { method: "time" }), Le(Ke, "relativeTime", { method: "relativeTime" }), Le(Ke, "relativeTimeFromMs", { method: "relativeTimeFromMs" }), Le(Ke, "date", { method: "formatDate" }), Le(Ke, "number", { method: "formatNumber" }), Le(Ke, "hidden", { method: "hidden" }), Le(Ke, "enumFlags", { method: "enumFlags" }); +function Wa(e) { ct = Object.assign({}, ct, e); } -function Za(e) { +function Ga(e) { Object.keys(e || {}).forEach((t) => { - typeof e[t] == "function" && (xt[t] = e[t]); + typeof e[t] == "function" && (Lt[t] = e[t]); }); } -function Pn() { - return xt; +function Bn() { + return Lt; } function os(e, t) { return t ? dt("span", e, t) : e; } -function Bn(e, t) { +function Hn(e, t) { const s = ft(t, ["currency"]); return os(new Intl.NumberFormat(void 0, { style: "currency", currency: (t == null ? void 0 : t.currency) || "USD" }).format(e), s); } -function Hn(e, t) { - return os(hl(e), t); -} function Rn(e, t) { - return dt("a", e, Ss({ ...t, href: e })); + return os(hl(e), t); } function En(e, t) { - return dt("a", e, Ss({ ...t, href: `tel:${e}` })); + return dt("a", e, Ms({ ...t, href: e })); } function zn(e, t) { + return dt("a", e, Ms({ ...t, href: `tel:${e}` })); +} +function Nn(e, t) { t || (t = {}); let { subject: s, body: n } = t, a = ft(t, ["subject", "body"]), r = {}; - return s && (r.subject = s), n && (r.body = n), dt("a", e, Ss({ ...a, href: `mailto:${Et(e, r)}` })); + return s && (r.subject = s), n && (r.body = n), dt("a", e, Ms({ ...a, href: `mailto:${Et(e, r)}` })); } -function Nn(e, t) { +function Un(e, t) { return dt("img", void 0, Object.assign({ class: "w-6 h-6", title: e, src: Ht(e), onerror: "iconOnError(this)" }, t)); } -function Un(e, t) { +function qn(e, t) { return dt("img", void 0, Object.assign({ class: "w-8 h-8 rounded-full", title: e, src: Ht(e), onerror: "iconOnError(this)" }, t)); } -function qn(e, t) { +function Qn(e, t) { let s = vl(e), a = ls(s) == null || ml(e) ? Ht(e) : gl(e); const r = Ht(a); let u = t && (t["icon-class"] || t.iconClass), d = dt("img", void 0, Object.assign({ class: "w-6 h-6", src: r, onerror: "iconOnError(this,'att')" }, u ? { class: u } : null)), c = `${s}`; return dt("a", d + c, Object.assign({ class: "flex", href: Ht(e), title: e }, t ? ft(t, ["icon-class", "iconClass"]) : null)); } -function Qn(e) { +function Kn(e) { return ""; } -function Kn(e, t) { - let s = typeof e == "string" ? new Date(dn(e) * 1e3) : Vs(e) ? Ft(e) : null; - return os(s ? So(s) : e, t); +function Zn(e, t) { + let s = typeof e == "string" ? new Date(un(e) * 1e3) : Vs(e) ? pt(e) : null; + return os(s ? Ao(s) : e, t); } function Qt(e, t) { if (e == null) return ""; - let s = typeof e == "number" ? new Date(e) : typeof e == "string" ? Ft(e) : e; + let s = typeof e == "number" ? new Date(e) : typeof e == "string" ? pt(e) : e; if (!Vs(s)) return console.warn(`${s} is not a Date value`), e == null ? "" : `${e}`; - let n = ct.date ? Ds(ct.date) : null; - return os(typeof n == "function" ? n(s) : rn(s), t); + let n = ct.date ? Os(ct.date) : null; + return os(typeof n == "function" ? n(s) : To(s), t); } function Cl(e, t) { if (typeof e != "number") return e; - let s = ct.number ? Ds(ct.number) : null, n = typeof s == "function" ? s(e) : `${e}`; + let s = ct.number ? Os(ct.number) : null, n = typeof s == "function" ? s(e) : `${e}`; return n === "" && (console.warn(`formatNumber(${e}) => ${n}`, s), n = `${e}`), os(n, t); } -function Zn(e, t, s) { - let n = Ao(e), a = t ? Ds(t) : null; +function Wn(e, t, s) { + let n = Fo(e), a = t ? Os(t) : null; if (typeof a == "function") { let u = s; if (t != null && t.options) @@ -1276,9 +1294,9 @@ function Zn(e, t, s) { return r ?? ""; } function ts(e, t, s) { - return At(e) ? Zn(e, t, s) : Ya(e, t, s); + return Tt(e) ? Wn(e, t, s) : tr(e, t, s); } -function Wa(e) { +function Ja(e) { if (e == null) return NaN; if (typeof e == "number") @@ -1290,31 +1308,31 @@ function Wa(e) { if (!isNaN(t)) return t; if (e[0] === "P" || e.startsWith("-P")) - return dn(e) * 1e3 * -1; - if (To(e, qa) >= 0) - return Ft(e).getTime() - sl(); + return un(e) * 1e3 * -1; + if (Io(e, Ka) >= 0) + return pt(e).getTime() - sl(); } return NaN; } function js(e, t) { for (let s in qs) if (Math.abs(e) > qs[s] || s === "second") - return (t || Qa).format(Math.round(e / qs[s]), s); + return (t || Za).format(Math.round(e / qs[s]), s); } function xl(e, t) { - let s = Wa(e); + let s = Ja(e); return isNaN(s) ? "" : js(s, t); } -function Ga(e, t) { +function Xa(e, t) { return js(e.getTime() - (t ? t.getTime() : sl())); } -function Wn(e, t) { +function Gn(e, t) { return $l(e, t).join(", "); } -function Ds(e) { +function Os(e) { if (!e) return null; - let { method: t, options: s } = e, n = `${t}(${s})`, a = xt[n] || xt[t]; + let { method: t, options: s } = e, n = `${t}(${s})`, a = Lt[n] || Lt[t]; if (typeof a == "function") return a; let r = e.locale || ct.locale; @@ -1322,7 +1340,7 @@ function Ds(e) { let u = r ? `'${r}'` : "undefined", d = `return new ${t}(${u},${s || "undefined"})`; try { let c = Function(d)(); - return a = t === "Intl.DateTimeFormat" ? (f) => c.format(Ft(f)) : t === "Intl.NumberFormat" ? (f) => c.format(Number(f)) : t === "Intl.RelativeTimeFormat" ? (f) => xl(f, c) : (f) => c.format(f), xt[n] = a; + return a = t === "Intl.DateTimeFormat" ? (f) => c.format(pt(f)) : t === "Intl.NumberFormat" ? (f) => c.format(Number(f)) : t === "Intl.RelativeTimeFormat" ? (f) => xl(f, c) : (f) => c.format(f), Lt[n] = a; } catch (c) { console.error(`Invalid format: ${d}`, c); } @@ -1330,22 +1348,22 @@ function Ds(e) { let u = globalThis[t]; if (typeof u == "function") { let d = s != null ? Function("return " + s)() : void 0; - return a = (c) => u(c, d, r), xt[n] = a; + return a = (c) => u(c, d, r), Lt[n] = a; } - console.error(`No '${t}' function exists`, Object.keys(xt)); + console.error(`No '${t}' function exists`, Object.keys(Lt)); } return null; } -function Gn(e, t) { +function Jn(e, t) { return e ? e.length > t ? e.substring(0, t) + "..." : e : ""; } -function Jn(e) { - return e.substring(0, 6) === "/Date(" ? Qt(Ft(e)) : e; +function Xn(e) { + return e.substring(0, 6) === "/Date(" ? Qt(pt(e)) : e; } -function Ja(e) { +function Ya(e) { return Ll(Ut(e)).replace(/"/g, ""); } -function Xn(e) { +function Yn(e) { if (e == null || e === "") return ""; if (typeof e == "string") @@ -1357,17 +1375,17 @@ function Xn(e) { return e; } function Ll(e, t = 4) { - return e = Xn(e), typeof e != "object" ? typeof e == "string" ? e : `${e}` : JSON.stringify(e, void 0, t); + return e = Yn(e), typeof e != "object" ? typeof e == "string" ? e : `${e}` : JSON.stringify(e, void 0, t); } -function Xa(e) { - return e = Xn(e), typeof e != "object" ? typeof e == "string" ? e : `${e}` : (e = Object.assign({}, e), e = Ut(e), Ll(e)); +function er(e) { + return e = Yn(e), typeof e != "object" ? typeof e == "string" ? e : `${e}` : (e = Object.assign({}, e), e = Ut(e), Ll(e)); } function Ut(e) { if (e == null) return null; if (typeof e == "string") - return Jn(e); - if (At(e)) + return Xn(e); + if (Tt(e)) return e; if (e instanceof Date) return Qt(e); @@ -1381,10 +1399,10 @@ function Ut(e) { } return e; } -function Ya(e, t, s) { +function tr(e, t, s) { let n = e; if (Array.isArray(e)) { - if (At(e[0])) + if (Tt(e[0])) return n.join(","); e[0] != null && (n = e[0]); } @@ -1395,44 +1413,44 @@ function Ya(e, t, s) { let a = Object.keys(n), r = []; for (let u = 0; u < Math.min(ct.maxNestedFields, a.length); u++) { let d = a[u], c = `${Ut(n[d])}`; - r.push(`${d}: ${Ks(Gn(Jn(c), ct.maxNestedFieldLength))}`); + r.push(`${d}: ${Ks(Jn(Xn(c), ct.maxNestedFieldLength))}`); } - return a.length > 2 && r.push("..."), dt("span", "{ " + r.join(", ") + " }", Object.assign({ title: Ks(Ja(e)) }, s)); + return a.length > 2 && r.push("..."), dt("span", "{ " + r.join(", ") + " }", Object.assign({ title: Ks(Ya(e)) }, s)); } -function uh() { +function ch() { return { - Formats: Ze, - setDefaultFormats: Ka, - getFormatters: Pn, - setFormatters: Za, + Formats: Ke, + setDefaultFormats: Wa, + getFormatters: Bn, + setFormatters: Ga, formatValue: ts, - formatter: Ds, - dateInputFormat: Ms, - currency: Bn, - bytes: Hn, - link: Rn, - linkTel: En, - linkMailTo: zn, - icon: Nn, - iconRounded: Un, - attachment: qn, - hidden: Qn, - time: Kn, + formatter: Os, + dateInputFormat: Ss, + currency: Hn, + bytes: Rn, + link: En, + linkTel: zn, + linkMailTo: Nn, + icon: Un, + iconRounded: qn, + attachment: Qn, + hidden: Kn, + time: Zn, relativeTime: xl, - relativeTimeFromDate: Ga, + relativeTimeFromDate: Xa, relativeTimeFromMs: js, - enumFlags: Wn, + enumFlags: Gn, formatDate: Qt, formatNumber: Cl, indentJson: Ll, - prettyJson: Xa, + prettyJson: er, scrub: Ut, - truncate: Gn, - apiValueFmt: Zn, + truncate: Jn, + apiValueFmt: Wn, iconOnError: Ts }; } -const er = ["title"], tr = /* @__PURE__ */ de({ +const sr = ["title"], lr = /* @__PURE__ */ de({ __name: "RouterLink", props: { to: {} @@ -1445,10 +1463,10 @@ const er = ["title"], tr = /* @__PURE__ */ de({ href: "javascript:void(0)" }, a.$attrs), [ U(a.$slots, "default") - ], 16, er)); + ], 16, sr)); } }); -class sr { +class nr { constructor() { Le(this, "callbacks", {}); } @@ -1478,11 +1496,11 @@ Le(tt, "config", { navigate: (t) => location.href = t, assetsPathResolver: (t) => t, fallbackPathResolver: (t) => t, - storage: new mn(), + storage: new hn(), tableIcon: { svg: "" }, scopeWhitelist: { - enumFlagsConverter: jn, - ...Pn() + enumFlagsConverter: On, + ...Bn() } }), Le(tt, "autoQueryGridDefaults", { deny: [], @@ -1491,39 +1509,39 @@ Le(tt, "config", { tableStyle: "stripedRows", take: 25, maxFieldLength: 150 -}), Le(tt, "events", Fo()), Le(tt, "user", D(null)), Le(tt, "metadata", D(null)), Le(tt, "components", { - RouterLink: tr -}), Le(tt, "interceptors", new sr()); -let Y = tt; -function lr(e) { - Y.config = Object.assign(Y.config, e); +}), Le(tt, "events", jo()), Le(tt, "user", O(null)), Le(tt, "metadata", O(null)), Le(tt, "components", { + RouterLink: lr +}), Le(tt, "interceptors", new nr()); +let G = tt; +function or(e) { + G.config = Object.assign(G.config, e); } -function nr(e) { - Y.autoQueryGridDefaults = Object.assign(Y.autoQueryGridDefaults, e); +function ar(e) { + G.autoQueryGridDefaults = Object.assign(G.autoQueryGridDefaults, e); } function Vl(e) { - return e && Y.config.assetsPathResolver ? Y.config.assetsPathResolver(e) : e; + return e && G.config.assetsPathResolver ? G.config.assetsPathResolver(e) : e; } -function or(e) { - return e && Y.config.fallbackPathResolver ? Y.config.fallbackPathResolver(e) : e; +function rr(e) { + return e && G.config.fallbackPathResolver ? G.config.fallbackPathResolver(e) : e; } -function ar(e, t) { - Y.interceptors.register(e, t); +function ir(e, t) { + G.interceptors.register(e, t); } function It() { - const e = v(() => Y.config), t = v(() => Y.autoQueryGridDefaults), s = Y.events; + const e = v(() => G.config), t = v(() => G.autoQueryGridDefaults), s = G.events; return { config: e, - setConfig: lr, + setConfig: or, events: s, autoQueryGridDefaults: t, - setAutoQueryGridDefaults: nr, + setAutoQueryGridDefaults: ar, assetsPathResolver: Vl, - fallbackPathResolver: or, - registerInterceptor: ar + fallbackPathResolver: rr, + registerInterceptor: ir }; } -const Yn = de({ +const eo = de({ inheritAttrs: !1, props: { image: Object, @@ -1548,46 +1566,46 @@ const Yn = de({ const c = u + 6 + 1; n = `${n.substring(0, c) + d} ${n.substring(c)}`; } - return _t("span", { innerHTML: n }); + return $t("span", { innerHTML: n }); } else - return _t("img", { + return $t("img", { class: [s == null ? void 0 : s.cls, t.class], src: Vl(e.src || (s == null ? void 0 : s.uri)), onError: (r) => Ts(r.target) }); }; } -}), rr = { class: "text-2xl font-semibold text-gray-900 dark:text-gray-300" }, ir = { class: "flex" }, ur = /* @__PURE__ */ l("path", { +}), ur = { class: "text-2xl font-semibold text-gray-900 dark:text-gray-300" }, dr = { class: "flex" }, cr = /* @__PURE__ */ l("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" -}, null, -1), dr = /* @__PURE__ */ l("path", { +}, null, -1), fr = /* @__PURE__ */ l("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" -}, null, -1), cr = [ - ur, - dr -], fr = /* @__PURE__ */ de({ +}, null, -1), vr = [ + cr, + fr +], pr = /* @__PURE__ */ de({ __name: "Loading", props: { imageClass: { default: "w-6 h-6" } }, setup(e) { - return (t, s) => (o(), i("div", rr, [ - l("div", ir, [ + return (t, s) => (o(), i("div", ur, [ + l("div", dr, [ (o(), i("svg", { class: y(["self-center inline mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-gray-600 dark:fill-gray-300", t.imageClass]), role: "status", viewBox: "0 0 100 101", fill: "none", xmlns: "http://www.w3.org/2000/svg" - }, cr, 2)), + }, vr, 2)), l("span", null, [ U(t.$slots, "default") ]) ]) ])); } -}), vr = ["href", "onClick"], pr = ["type"], tn = "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", mr = /* @__PURE__ */ de({ +}), mr = ["href", "onClick"], hr = ["type"], tn = "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", gr = /* @__PURE__ */ de({ __name: "OutlineButton", props: { type: { default: "submit" }, @@ -1607,7 +1625,7 @@ const Yn = de({ onClick: a }, [ U(t.$slots, "default") - ], 8, vr) + ], 8, mr) ]), _: 3 }, 8, ["to"])) : (o(), i("button", Te({ @@ -1616,10 +1634,10 @@ const Yn = de({ class: tn }, t.$attrs), [ U(t.$slots, "default") - ], 16, pr)); + ], 16, hr)); }; } -}), hr = ["href", "onClick"], gr = ["type"], yr = /* @__PURE__ */ de({ +}), yr = ["href", "onClick"], br = ["type"], wr = /* @__PURE__ */ de({ __name: "PrimaryButton", props: { type: { default: "submit" }, @@ -1649,7 +1667,7 @@ const Yn = de({ onClick: d }, [ U(a.$slots, "default") - ], 10, hr) + ], 10, yr) ]), _: 3 }, 8, ["to"])) : (o(), i("button", Te({ @@ -1658,10 +1676,10 @@ const Yn = de({ class: n.value }, a.$attrs), [ U(a.$slots, "default") - ], 16, gr)); + ], 16, br)); }; } -}), br = ["type", "href", "onClick"], wr = ["type"], sn = "inline-flex justify-center rounded-md border border-gray-300 py-2 px-4 text-sm font-medium shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-400 dark:hover:text-white hover:bg-gray-50 dark:hover:bg-gray-700 focus:ring-indigo-500 dark:focus:ring-indigo-600 dark:ring-offset-black", kr = /* @__PURE__ */ de({ +}), kr = ["type", "href", "onClick"], _r = ["type"], sn = "inline-flex justify-center rounded-md border border-gray-300 py-2 px-4 text-sm font-medium shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-400 dark:hover:text-white hover:bg-gray-50 dark:hover:bg-gray-700 focus:ring-indigo-500 dark:focus:ring-indigo-600 dark:ring-offset-black", $r = /* @__PURE__ */ de({ __name: "SecondaryButton", props: { type: {}, @@ -1682,7 +1700,7 @@ const Yn = de({ onClick: a }, [ U(t.$slots, "default") - ], 8, br) + ], 8, kr) ]), _: 3 }, 8, ["to"])) : (o(), i("button", Te({ @@ -1691,7 +1709,7 @@ const Yn = de({ class: sn }, t.$attrs), [ U(t.$slots, "default") - ], 16, wr)); + ], 16, _r)); }; } }); @@ -1784,38 +1802,38 @@ const Cs = { 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" -}, _r = { +}, Cr = { colspans: "col-span-3 sm:col-span-3" -}, dh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ +}, fh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null, a: Cs, card: Gt, - dummy: _r, + dummy: Cr, form: Ee, grid: he, input: ot, modal: ll, slideOver: Bt -}, Symbol.toStringTag, { value: "Module" })), $r = /* @__PURE__ */ de({ +}, Symbol.toStringTag, { value: "Module" })), xr = /* @__PURE__ */ de({ __name: "TextLink", props: { color: { default: "blue" } }, setup(e) { - const t = go(), s = e, n = v(() => (Cs[s.color] || Cs.blue) + (t.href ? "" : " cursor-pointer")); + const t = yo(), s = e, n = v(() => (Cs[s.color] || Cs.blue) + (t.href ? "" : " cursor-pointer")); return (a, r) => (o(), i("a", { class: y(n.value) }, [ U(a.$slots, "default") ], 2)); } -}), Cr = { +}), Lr = { class: "flex", "aria-label": "Breadcrumb" -}, xr = { +}, Vr = { role: "list", class: "flex items-center space-x-4" -}, Lr = ["href", "title"], Vr = /* @__PURE__ */ l("svg", { +}, Sr = ["href", "title"], Mr = /* @__PURE__ */ l("svg", { class: "h-6 w-6 flex-shrink-0", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", @@ -1827,15 +1845,15 @@ const Cs = { d: "M9.293 2.293a1 1 0 011.414 0l7 7A1 1 0 0117 11h-1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-3a1 1 0 00-1-1H9a1 1 0 00-1 1v3a1 1 0 01-1 1H5a1 1 0 01-1-1v-6H3a1 1 0 01-.707-1.707l7-7z", "clip-rule": "evenodd" }) -], -1), Mr = { class: "sr-only" }, Sr = /* @__PURE__ */ de({ +], -1), Ar = { class: "sr-only" }, Tr = /* @__PURE__ */ de({ __name: "Breadcrumbs", props: { homeHref: { default: "/" }, homeLabel: { default: "Home" } }, setup(e) { - return (t, s) => (o(), i("nav", Cr, [ - l("ol", xr, [ + return (t, s) => (o(), i("nav", Lr, [ + l("ol", Vr, [ l("li", null, [ l("div", null, [ l("a", { @@ -1843,16 +1861,16 @@ const Cs = { class: "text-gray-400 dark:text-gray-500 hover:text-gray-500 dark:hover:text-gray-400", title: t.homeLabel }, [ - Vr, - l("span", Mr, F(t.homeLabel), 1) - ], 8, Lr) + Mr, + l("span", Ar, F(t.homeLabel), 1) + ], 8, Sr) ]) ]), U(t.$slots, "default") ]) ])); } -}), Ar = { class: "flex items-center" }, Tr = /* @__PURE__ */ l("svg", { +}), Fr = { class: "flex items-center" }, Ir = /* @__PURE__ */ l("svg", { class: "h-6 w-6 flex-shrink-0 text-gray-400 dark:text-gray-500", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", @@ -1864,7 +1882,7 @@ const Cs = { d: "M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z", "clip-rule": "evenodd" }) -], -1), Fr = ["href", "title"], Ir = ["title"], jr = /* @__PURE__ */ de({ +], -1), jr = ["href", "title"], Or = ["title"], Dr = /* @__PURE__ */ de({ __name: "Breadcrumb", props: { href: {}, @@ -1872,8 +1890,8 @@ const Cs = { }, setup(e) { return (t, s) => (o(), i("li", null, [ - l("div", Ar, [ - Tr, + l("div", Fr, [ + Ir, t.href ? (o(), i("a", { key: 0, href: t.href, @@ -1881,39 +1899,39 @@ const Cs = { title: t.title }, [ U(t.$slots, "default") - ], 8, Fr)) : (o(), i("span", { + ], 8, jr)) : (o(), i("span", { key: 1, class: "ml-4 text-lg font-medium text-gray-700 dark:text-gray-300", title: t.title }, [ U(t.$slots, "default") - ], 8, Ir)) + ], 8, Or)) ]) ])); } -}), Dr = { +}), Pr = { key: 0, class: "text-base font-semibold text-gray-500 dark:text-gray-400" -}, Or = { +}, Br = { role: "list", class: "mt-4 divide-y divide-gray-200 dark:divide-gray-800 border-t border-b border-gray-200 dark:border-gray-800" -}, Pr = /* @__PURE__ */ de({ +}, Hr = /* @__PURE__ */ de({ __name: "NavList", props: { title: {} }, setup(e) { return (t, s) => (o(), i("div", null, [ - t.title ? (o(), i("h2", Dr, F(t.title), 1)) : x("", !0), - l("ul", Or, [ + t.title ? (o(), i("h2", Pr, F(t.title), 1)) : x("", !0), + l("ul", Br, [ U(t.$slots, "default") ]) ])); } -}), Br = { class: "relative flex items-start space-x-4 py-6" }, Hr = { class: "flex-shrink-0" }, Rr = { class: "flex h-12 w-12 items-center justify-center rounded-lg bg-indigo-50 dark:bg-indigo-900" }, Er = { class: "min-w-0 flex-1" }, zr = { class: "text-base font-medium text-gray-900 dark:text-gray-100" }, Nr = { class: "rounded-sm focus-within:ring-2 focus-within:ring-indigo-500 focus-within:ring-offset-2" }, Ur = ["href"], qr = /* @__PURE__ */ l("span", { +}), Rr = { class: "relative flex items-start space-x-4 py-6" }, Er = { class: "flex-shrink-0" }, zr = { class: "flex h-12 w-12 items-center justify-center rounded-lg bg-indigo-50 dark:bg-indigo-900" }, Nr = { class: "min-w-0 flex-1" }, Ur = { class: "text-base font-medium text-gray-900 dark:text-gray-100" }, qr = { class: "rounded-sm focus-within:ring-2 focus-within:ring-indigo-500 focus-within:ring-offset-2" }, Qr = ["href"], Kr = /* @__PURE__ */ l("span", { class: "absolute inset-0", "aria-hidden": "true" -}, null, -1), Qr = { class: "text-base text-gray-500" }, Kr = /* @__PURE__ */ l("div", { class: "flex-shrink-0 self-center" }, [ +}, null, -1), Zr = { class: "text-base text-gray-500" }, Wr = /* @__PURE__ */ l("div", { class: "flex-shrink-0 self-center" }, [ /* @__PURE__ */ l("svg", { class: "h-5 w-5 text-gray-400", xmlns: "http://www.w3.org/2000/svg", @@ -1927,7 +1945,7 @@ const Cs = { "clip-rule": "evenodd" }) ]) -], -1), Zr = /* @__PURE__ */ de({ +], -1), Gr = /* @__PURE__ */ de({ __name: "NavListItem", props: { title: {}, @@ -1940,9 +1958,9 @@ const Cs = { setup(e) { return (t, s) => { const n = Z("Icon"); - return o(), i("li", Br, [ - l("div", Hr, [ - l("span", Rr, [ + return o(), i("li", Rr, [ + l("div", Er, [ + l("span", zr, [ ye(n, { class: "w-6 h-6 text-indigo-700 dark:text-indigo-300", image: t.icon, @@ -1952,57 +1970,57 @@ const Cs = { }, null, 8, ["image", "src", "svg", "alt"]) ]) ]), - l("div", Er, [ - l("h3", zr, [ - l("span", Nr, [ + l("div", Nr, [ + l("h3", Ur, [ + l("span", qr, [ l("a", { href: t.href, class: "focus:outline-none" }, [ - qr, + Kr, ke(" " + F(t.title), 1) - ], 8, Ur) + ], 8, Qr) ]) ]), - l("p", Qr, [ + l("p", Zr, [ U(t.$slots, "default") ]) ]), - Kr + Wr ]); }; } }); -function eo(e) { - return e && e.SessionId ? Io(e) : e; +function to(e) { + return e && e.SessionId ? Oo(e) : e; } -function Wr(e) { - Y.user.value = eo(e), Y.events.publish("signIn", e); +function Jr(e) { + G.user.value = to(e), G.events.publish("signIn", e); } -function Gr() { - Y.user.value = null, Y.events.publish("signOut", null); +function Xr() { + G.user.value = null, G.events.publish("signOut", null); } -const Ml = (e) => (e == null ? void 0 : e.roles) || [], Sl = (e) => (e == null ? void 0 : e.permissions) || []; -function to(e) { - return Ml(Y.user.value).indexOf(e) >= 0; +const Sl = (e) => (e == null ? void 0 : e.roles) || [], Ml = (e) => (e == null ? void 0 : e.permissions) || []; +function so(e) { + return Sl(G.user.value).indexOf(e) >= 0; } -function Jr(e) { - return Sl(Y.user.value).indexOf(e) >= 0; +function Yr(e) { + return Ml(G.user.value).indexOf(e) >= 0; } function Al() { - return to("Admin"); + return so("Admin"); } function bs(e) { if (!e) return !1; if (!e.requiresAuth) return !0; - const t = Y.user.value; + const t = G.user.value; if (!t) return !1; if (Al()) return !0; - let [s, n] = [Ml(t), Sl(t)], [a, r, u, d] = [ + let [s, n] = [Sl(t), Ml(t)], [a, r, u, d] = [ e.requiredRoles || [], e.requiredPermissions || [], e.requiresAnyRole || [], @@ -2010,15 +2028,15 @@ function bs(e) { ]; return !(!a.every((c) => s.indexOf(c) >= 0) || u.length > 0 && !u.some((c) => s.indexOf(c) >= 0) || !r.every((c) => n.indexOf(c) >= 0) || d.length > 0 && !d.every((c) => n.indexOf(c) >= 0)); } -function Xr(e) { +function ei(e) { if (!e || !e.requiresAuth) return null; - const t = Y.user.value; + const t = G.user.value; if (!t) return `${e.request.name} requires Authentication`; if (Al()) return null; - let [s, n] = [Ml(t), Sl(t)], [a, r, u, d] = [ + let [s, n] = [Sl(t), Ml(t)], [a, r, u, d] = [ e.requiredRoles || [], e.requiredPermissions || [], e.requiresAnyRole || [], @@ -2030,10 +2048,10 @@ function Xr(e) { return f.length > 0 ? `Requires ${f.map((p) => "" + p + "").join(", ")} Permission` + (f.length > 1 ? "s" : "") : u.length > 0 && !u.some((p) => s.indexOf(p) >= 0) ? `Requires any ${u.filter((p) => s.indexOf(p) < 0).map((p) => "" + p + "").join(", ")} Role` + (c.length > 1 ? "s" : "") : d.length > 0 && !d.every((p) => n.indexOf(p) >= 0) ? `Requires any ${d.filter((p) => n.indexOf(p) < 0).map((p) => "" + p + "").join(", ")} Permission` + (f.length > 1 ? "s" : "") : null; } function Tl() { - const e = v(() => Y.user.value || null), t = v(() => Y.user.value != null); - return { signIn: Wr, signOut: Gr, user: e, toAuth: eo, isAuthenticated: t, hasRole: to, hasPermission: Jr, isAdmin: Al, canAccess: bs, invalidAccessMessage: Xr }; + const e = v(() => G.user.value || null), t = v(() => G.user.value != null); + return { signIn: Jr, signOut: Xr, user: e, toAuth: to, isAuthenticated: t, hasRole: so, hasPermission: Yr, isAdmin: Al, canAccess: bs, invalidAccessMessage: ei }; } -const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ +const ti = { key: 0 }, si = { class: "md:p-4" }, lo = /* @__PURE__ */ de({ __name: "EnsureAccess", props: { invalidAccess: {}, @@ -2052,12 +2070,12 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ }; return (r, u) => { const d = Z("Alert"), c = Z("SecondaryButton"); - return r.invalidAccess ? (o(), i("div", Yr, [ + return r.invalidAccess ? (o(), i("div", ti, [ ye(d, { class: y(r.alertClass), innerHTML: r.invalidAccess }, null, 8, ["class", "innerHTML"]), - l("div", ei, [ + l("div", si, [ X(t) ? (o(), ae(c, { key: 1, onClick: a @@ -2079,7 +2097,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ ])) : x("", !0); }; } -}), ti = { class: "absolute top-0 right-0 bg-white dark:bg-black border dark:border-gray-800 rounded normal-case text-sm shadow w-80" }, si = { class: "p-4" }, li = /* @__PURE__ */ l("h3", { class: "text-base font-medium mb-3 dark:text-gray-100" }, "Sort", -1), ni = { class: "flex w-full justify-center" }, oi = /* @__PURE__ */ l("svg", { +}), li = { class: "absolute top-0 right-0 bg-white dark:bg-black border dark:border-gray-800 rounded normal-case text-sm shadow w-80" }, ni = { class: "p-4" }, oi = /* @__PURE__ */ l("h3", { class: "text-base font-medium mb-3 dark:text-gray-100" }, "Sort", -1), ai = { class: "flex w-full justify-center" }, ri = /* @__PURE__ */ l("svg", { class: "w-6 h-6", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 16 16" @@ -2091,12 +2109,12 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ }), /* @__PURE__ */ l("path", { d: "M12.96 14H9.028v-.691l2.579-3.72v-.054H9.098v-.867h3.785v.691l-2.567 3.72v.054h2.645V14zm-8.46-.5a.5.5 0 0 1-1 0V3.707L2.354 4.854a.5.5 0 1 1-.708-.708l2-1.999l.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L4.5 3.707V13.5z" }) ]) -], -1), ai = /* @__PURE__ */ l("span", null, "ASC", -1), ri = [ - oi, - ai -], ii = /* @__PURE__ */ xs('DESC', 2), ui = [ +], -1), ii = /* @__PURE__ */ l("span", null, "ASC", -1), ui = [ + ri, ii -], di = /* @__PURE__ */ l("h3", { class: "text-base font-medium mt-4 mb-2" }, " Filter ", -1), ci = { key: 0 }, fi = ["id", "value"], vi = ["for"], pi = { key: 1 }, mi = { class: "mb-2" }, hi = { class: "inline-flex rounded-full items-center py-0.5 pl-2.5 pr-1 text-sm font-medium bg-indigo-100 text-indigo-700" }, gi = ["onClick"], yi = /* @__PURE__ */ l("svg", { +], di = /* @__PURE__ */ xs('DESC', 2), ci = [ + di +], fi = /* @__PURE__ */ l("h3", { class: "text-base font-medium mt-4 mb-2" }, " Filter ", -1), vi = { key: 0 }, pi = ["id", "value"], mi = ["for"], hi = { key: 1 }, gi = { class: "mb-2" }, yi = { class: "inline-flex rounded-full items-center py-0.5 pl-2.5 pr-1 text-sm font-medium bg-indigo-100 text-indigo-700" }, bi = ["onClick"], wi = /* @__PURE__ */ l("svg", { class: "h-2 w-2", stroke: "currentColor", fill: "none", @@ -2107,9 +2125,9 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ "stroke-width": "1.5", d: "M1 1l6 6m0-6L1 7" }) -], -1), bi = [ - yi -], wi = { class: "flex" }, ki = /* @__PURE__ */ l("svg", { +], -1), ki = [ + wi +], _i = { class: "flex" }, $i = /* @__PURE__ */ l("svg", { class: "h-6 w-6", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", @@ -2121,9 +2139,9 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ d: "M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z", "clip-rule": "evenodd" }) -], -1), _i = [ - ki -], $i = { class: "bg-gray-50 dark:bg-gray-900 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse" }, Fl = /* @__PURE__ */ de({ +], -1), Ci = [ + $i +], xi = { class: "bg-gray-50 dark:bg-gray-900 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse" }, Fl = /* @__PURE__ */ de({ __name: "FilterColumn", props: { definitions: {}, @@ -2132,10 +2150,10 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ }, emits: ["done", "save"], setup(e, { emit: t }) { - const s = e, n = t, a = D(), r = D(""), u = D(""), d = D([]), c = v(() => s.column.meta.isEnum == !0), f = v(() => rt(s.column.meta.type === "Nullable`1" ? s.column.meta.genericArgs[0] : s.column.meta.type)), p = v(() => s.column.meta.isEnum == !0 ? _l(Tn(f.value.name)) : []), $ = v(() => { + const s = e, n = t, a = O(), r = O(""), u = O(""), d = O([]), c = v(() => s.column.meta.isEnum == !0), f = v(() => rt(s.column.meta.type === "Nullable`1" ? s.column.meta.genericArgs[0] : s.column.meta.type)), p = v(() => s.column.meta.isEnum == !0 ? _l(Fn(f.value.name)) : []), $ = v(() => { var L; return ((L = g(s.column.type)) == null ? void 0 : L.map((z) => ({ key: z.value, value: z.name }))) || []; - }), m = D({ filters: [] }), k = v(() => m.value.filters); + }), m = O({ filters: [] }), k = v(() => m.value.filters); ws(() => m.value = Object.assign({}, s.column.settings, { filters: Array.from(s.column.settings.filters) })), ws(() => { @@ -2149,7 +2167,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ }); function g(L) { let z = s.definitions; - return Vn(L) || (z = z.filter((K) => K.types !== "string")), z; + return Sn(L) || (z = z.filter((K) => K.types !== "string")), z; } function b(L, z) { return g(L).find((K) => K.value === z); @@ -2165,7 +2183,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ m.value.filters.splice(L, 1); } function se(L) { - return On(b(s.column.type, L.key), s.column.type, L); + return Pn(b(s.column.type, L.key), s.column.type, L); } function j() { n("done"); @@ -2174,7 +2192,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ var L; r.value = "%", (L = a.value) == null || L.focus(); } - function S() { + function M() { var L; if (u.value && P(), c.value) { let z = Object.values(d.value).filter((K) => K); @@ -2183,7 +2201,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ n("save", m.value), n("done"); } function ie(L) { - m.value.sort = L === m.value.sort ? void 0 : L, Vt(S); + m.value.sort = L === m.value.sort ? void 0 : L, St(M); } return (L, z) => { var ee; @@ -2199,26 +2217,26 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ onClick: z[5] || (z[5] = Ue(() => { }, ["stop"])) }, [ - l("div", ti, [ - l("div", si, [ - li, - l("div", ni, [ + l("div", li, [ + l("div", ni, [ + oi, + l("div", ai, [ l("button", { type: "button", title: "Sort Ascending", onClick: z[0] || (z[0] = (q) => ie("ASC")), class: y(`${m.value.sort === "ASC" ? "bg-indigo-100 border-indigo-500" : "bg-white hover:bg-gray-50 border-gray-300"} mr-1 inline-flex items-center px-2.5 py-1.5 border shadow-sm text-sm font-medium rounded text-gray-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500`) - }, ri, 2), + }, ui, 2), l("button", { type: "button", title: "Sort Descending", onClick: z[1] || (z[1] = (q) => ie("DESC")), class: y(`${m.value.sort === "DESC" ? "bg-indigo-100 border-indigo-500" : "bg-white hover:bg-gray-50 border-gray-300"} ml-1 inline-flex items-center px-2.5 py-1.5 border shadow-sm text-sm font-medium rounded text-gray-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500`) - }, ui, 2) + }, ci, 2) ]), - di, - c.value ? (o(), i("div", ci, [ - (o(!0), i(Se, null, je(p.value, (q) => (o(), i("div", { + fi, + c.value ? (o(), i("div", vi, [ + (o(!0), i(Me, null, je(p.value, (q) => (o(), i("div", { key: q.key, class: "flex items-center" }, [ @@ -2228,26 +2246,26 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ value: q.key, "onUpdate:modelValue": z[2] || (z[2] = (A) => d.value = A), class: "h-4 w-4 border-gray-300 rounded text-indigo-600 focus:ring-indigo-500" - }, null, 8, fi), [ + }, null, 8, pi), [ [ol, d.value] ]), l("label", { for: q.key, class: "ml-3" - }, F(q.value), 9, vi) + }, F(q.value), 9, mi) ]))), 128)) - ])) : (o(), i("div", pi, [ - (o(!0), i(Se, null, je(k.value, (q, A) => (o(), i("div", mi, [ - l("span", hi, [ + ])) : (o(), i("div", hi, [ + (o(!0), i(Me, null, je(k.value, (q, A) => (o(), i("div", gi, [ + l("span", yi, [ ke(F(L.column.name) + " " + F(q.name) + " " + F(se(q)) + " ", 1), l("button", { type: "button", onClick: (te) => I(A), class: "flex-shrink-0 ml-0.5 h-4 w-4 rounded-full inline-flex items-center justify-center text-indigo-400 hover:bg-indigo-200 hover:text-indigo-500 focus:outline-none focus:bg-indigo-500 focus:text-white" - }, bi, 8, gi) + }, ki, 8, bi) ]) ]))), 256)), - l("div", wi, [ + l("div", _i, [ ye(K, { id: "filterRule", class: "w-32 mr-1", @@ -2275,14 +2293,14 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ type: "button", onClick: P, class: "inline-flex items-center p-1 border border-transparent rounded-full shadow-sm text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500" - }, _i) + }, Ci) ]) ]) ])) ]), - l("div", $i, [ + l("div", xi, [ ye(R, { - onClick: S, + onClick: M, color: "red", class: "ml-2" }, { @@ -2303,7 +2321,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ ], 512); }; } -}), Ci = { class: "px-4 sm:px-6 lg:px-8 text-sm" }, xi = { class: "flex flex-wrap" }, Li = { class: "group pr-4 sm:pr-6 lg:pr-8" }, Vi = { class: "flex justify-between w-full font-medium" }, Mi = { class: "w-6 flex justify-end" }, Si = { class: "hidden group-hover:inline" }, Ai = ["onClick", "title"], Ti = /* @__PURE__ */ l("svg", { +}), Li = { class: "px-4 sm:px-6 lg:px-8 text-sm" }, Vi = { class: "flex flex-wrap" }, Si = { class: "group pr-4 sm:pr-6 lg:pr-8" }, Mi = { class: "flex justify-between w-full font-medium" }, Ai = { class: "w-6 flex justify-end" }, Ti = { class: "hidden group-hover:inline" }, Fi = ["onClick", "title"], Ii = /* @__PURE__ */ l("svg", { class: "h-2 w-2", stroke: "currentColor", fill: "none", @@ -2314,12 +2332,12 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ "stroke-width": "1.5", d: "M1 1l6 6m0-6L1 7" }) -], -1), Fi = [ - Ti -], Ii = { +], -1), ji = [ + Ii +], Oi = { key: 0, class: "pt-2" -}, ji = { class: "ml-2" }, Di = { key: 1 }, Oi = { class: "pt-2" }, Pi = { class: "inline-flex rounded-full items-center py-0.5 pl-2.5 pr-1 text-sm font-medium bg-indigo-100 text-indigo-700" }, Bi = ["onClick"], Hi = /* @__PURE__ */ l("svg", { +}, Di = { class: "ml-2" }, Pi = { key: 1 }, Bi = { class: "pt-2" }, Hi = { class: "inline-flex rounded-full items-center py-0.5 pl-2.5 pr-1 text-sm font-medium bg-indigo-100 text-indigo-700" }, Ri = ["onClick"], Ei = /* @__PURE__ */ l("svg", { class: "h-2 w-2", stroke: "currentColor", fill: "none", @@ -2330,10 +2348,10 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ "stroke-width": "1.5", d: "M1 1l6 6m0-6L1 7" }) -], -1), Ri = [ - Hi -], Ei = /* @__PURE__ */ l("span", null, "Clear All", -1), zi = [ +], -1), zi = [ Ei +], Ni = /* @__PURE__ */ l("span", null, "Clear All", -1), Ui = [ + Ni ], Il = /* @__PURE__ */ de({ __name: "FilterViews", props: { @@ -2349,13 +2367,13 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ } function u(m) { let k = s.definitions; - return Vn(m) || (k = k.filter((g) => g.types !== "string")), k; + return Sn(m) || (k = k.filter((g) => g.types !== "string")), k; } function d(m, k) { return u(m).find((g) => g.value === k); } function c(m, k) { - return On(d(m.type, k.value), m.type, k); + return Pn(d(m.type, k.value), m.type, k); } function f(m) { m.settings.filters = [], n("change", m); @@ -2368,37 +2386,37 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ m.settings.filters = [], n("change", m); }), n("done"); } - return (m, k) => (o(), i("div", Ci, [ - l("div", xi, [ - (o(!0), i(Se, null, je(a.value, (g) => (o(), i("fieldset", Li, [ - l("legend", Vi, [ + return (m, k) => (o(), i("div", Li, [ + l("div", Vi, [ + (o(!0), i(Me, null, je(a.value, (g) => (o(), i("fieldset", Si, [ + l("legend", Mi, [ l("span", null, F(X(Pe)(g.name)), 1), - l("span", Mi, [ - l("span", Si, [ + l("span", Ai, [ + l("span", Ti, [ l("button", { onClick: (b) => f(g), title: `Clear all ${X(Pe)(g.name)} filters`, class: "flex-shrink-0 ml-0.5 h-4 w-4 rounded-full inline-flex items-center justify-center text-red-600 hover:bg-red-200 hover:text-red-500 focus:outline-none focus:bg-red-500 focus:text-white" - }, Fi, 8, Ai) + }, ji, 8, Fi) ]) ]) ]), - g.meta.isEnum ? (o(), i("div", Ii, [ - (o(!0), i(Se, null, je(r(g.settings.filters), (b) => (o(), i("div", { + g.meta.isEnum ? (o(), i("div", Oi, [ + (o(!0), i(Me, null, je(r(g.settings.filters), (b) => (o(), i("div", { key: b, class: "flex items-center" }, [ - l("label", ji, F(b), 1) + l("label", Di, F(b), 1) ]))), 128)) - ])) : (o(), i("div", Di, [ - (o(!0), i(Se, null, je(g.settings.filters, (b, P) => (o(), i("div", Oi, [ - l("span", Pi, [ + ])) : (o(), i("div", Pi, [ + (o(!0), i(Me, null, je(g.settings.filters, (b, P) => (o(), i("div", Bi, [ + l("span", Hi, [ ke(F(g.name) + " " + F(b.name) + " " + F(c(g, b)) + " ", 1), l("button", { type: "button", onClick: (I) => p(g, P), class: "flex-shrink-0 ml-0.5 h-4 w-4 rounded-full inline-flex items-center justify-center text-indigo-400 hover:bg-indigo-200 hover:text-indigo-500 focus:outline-none focus:bg-indigo-500 focus:text-white" - }, Ri, 8, Bi) + }, zi, 8, Ri) ]) ]))), 256)) ])) @@ -2409,11 +2427,11 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ type: "button", onClick: $, class: "inline-flex items-center px-2.5 py-1.5 border border-gray-300 shadow-sm text-sm font-medium rounded text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500" - }, zi) + }, Ui) ]) ])); } -}), Ni = { class: "bg-white dark:bg-black px-4 pt-5 pb-4 sm:p-6 sm:pb-4" }, Ui = { class: "" }, qi = { class: "mt-3 text-center sm:mt-0 sm:mx-4 sm:text-left" }, Qi = /* @__PURE__ */ l("h3", { class: "text-lg leading-6 font-medium text-gray-900 dark:text-gray-100" }, "Query Preferences", -1), Ki = { class: "mt-4" }, Zi = ["for"], Wi = ["id"], Gi = ["value", "selected"], Ji = { class: "mt-4 flex items-center py-4 border-b border-gray-200 dark:border-gray-800" }, Xi = ["id", "checked"], Yi = ["for"], eu = { class: "mt-4" }, tu = { class: "pb-2 px-4" }, su = { class: "" }, lu = ["id", "value"], nu = ["for"], ou = { class: "bg-gray-50 dark:bg-gray-900 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse" }, jl = /* @__PURE__ */ de({ +}), qi = { class: "bg-white dark:bg-black px-4 pt-5 pb-4 sm:p-6 sm:pb-4" }, Qi = { class: "" }, Ki = { class: "mt-3 text-center sm:mt-0 sm:mx-4 sm:text-left" }, Zi = /* @__PURE__ */ l("h3", { class: "text-lg leading-6 font-medium text-gray-900 dark:text-gray-100" }, "Query Preferences", -1), Wi = { class: "mt-4" }, Gi = ["for"], Ji = ["id"], Xi = ["value", "selected"], Yi = { class: "mt-4 flex items-center py-4 border-b border-gray-200 dark:border-gray-800" }, eu = ["id", "checked"], tu = ["for"], su = { class: "mt-4" }, lu = { class: "pb-2 px-4" }, nu = { class: "" }, ou = ["id", "value"], au = ["for"], ru = { class: "bg-gray-50 dark:bg-gray-900 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse" }, jl = /* @__PURE__ */ de({ __name: "QueryPrefs", props: { id: { default: "QueryPrefs" }, @@ -2423,7 +2441,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ }, emits: ["done", "save"], setup(e, { emit: t }) { - const { autoQueryGridDefaults: s } = It(), n = e, a = t, r = D({}); + const { autoQueryGridDefaults: s } = It(), n = e, a = t, r = O({}); ws(() => r.value = Object.assign({ take: s.value.take, selectedColumns: [] @@ -2443,45 +2461,45 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ "size-class": "w-full sm:max-w-prose" }, { default: xe(() => [ - l("div", Ni, [ - l("div", Ui, [ - l("div", qi, [ - Qi, - l("div", Ki, [ + l("div", qi, [ + l("div", Qi, [ + l("div", Ki, [ + Zi, + l("div", Wi, [ l("label", { for: `${f.id}-take`, class: "block text-sm font-medium text-gray-700 dark:text-gray-300" - }, "Results per page", 8, Zi), + }, "Results per page", 8, Gi), Mt(l("select", { id: `${f.id}-take`, "onUpdate:modelValue": p[0] || (p[0] = (g) => r.value.take = g), class: "mt-1 block w-full pl-3 pr-10 py-2 text-base bg-white dark:bg-black border-gray-300 dark:border-gray-700 focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm rounded-md" }, [ - (o(!0), i(Se, null, je(u.filter((g) => n.maxLimit == null || g <= n.maxLimit), (g) => (o(), i("option", { + (o(!0), i(Me, null, je(u.filter((g) => n.maxLimit == null || g <= n.maxLimit), (g) => (o(), i("option", { value: g, selected: g === r.value.take - }, F(g), 9, Gi))), 256)) - ], 8, Wi), [ - [yo, r.value.take] + }, F(g), 9, Xi))), 256)) + ], 8, Ji), [ + [bo, r.value.take] ]) ]), - l("div", Ji, [ + l("div", Yi, [ l("input", { type: "radio", id: `${f.id}-allColumns`, onClick: p[1] || (p[1] = (g) => r.value.selectedColumns = []), checked: r.value.selectedColumns.length === 0, class: "focus:ring-indigo-500 h-4 w-4 bg-white dark:bg-black text-indigo-600 dark:text-indigo-400 border-gray-300 dark:border-gray-700" - }, null, 8, Xi), + }, null, 8, eu), l("label", { class: "ml-3 block text-gray-700 dark:text-gray-300", for: `${f.id}-allColumns` - }, "View all columns", 8, Yi) + }, "View all columns", 8, tu) ]), - l("div", eu, [ - l("div", tu, [ - l("div", su, [ - (o(!0), i(Se, null, je(f.columns, (g) => (o(), i("div", { + l("div", su, [ + l("div", lu, [ + l("div", nu, [ + (o(!0), i(Me, null, je(f.columns, (g) => (o(), i("div", { key: g.name, class: "flex items-center" }, [ @@ -2491,13 +2509,13 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ value: g.name, "onUpdate:modelValue": p[2] || (p[2] = (b) => r.value.selectedColumns = b), class: "h-4 w-4 bg-white dark:bg-black border-gray-300 dark:border-gray-700 rounded text-indigo-600 dark:text-indigo-400 focus:ring-indigo-500" - }, null, 8, lu), [ + }, null, 8, ou), [ [ol, r.value.selectedColumns] ]), l("label", { for: g.name, class: "ml-3" - }, F(g.name), 9, nu) + }, F(g.name), 9, au) ]))), 128)) ]) ]) @@ -2505,7 +2523,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ ]) ]) ]), - l("div", ou, [ + l("div", ru, [ ye($, { onClick: c, color: "red", @@ -2528,10 +2546,10 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ }, 8, ["id"]); }; } -}), au = { key: 0 }, ru = { key: 1 }, iu = { +}), iu = { key: 0 }, uu = { key: 1 }, du = { key: 2, class: "pt-1" -}, uu = { key: 0 }, du = { key: 1 }, cu = { key: 2 }, fu = { key: 4 }, vu = { class: "pl-1 pt-1 flex flex-wrap" }, pu = { class: "flex mt-1" }, mu = ["title"], hu = /* @__PURE__ */ l("svg", { +}, cu = { key: 0 }, fu = { key: 1 }, vu = { key: 2 }, pu = { key: 4 }, mu = { class: "pl-1 pt-1 flex flex-wrap" }, hu = { class: "flex mt-1" }, gu = ["title"], yu = /* @__PURE__ */ l("svg", { class: "w-8 h-8", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" @@ -2545,9 +2563,9 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ stroke: "currentColor" }) ]) -], -1), gu = [ - hu -], yu = ["disabled"], bu = /* @__PURE__ */ l("svg", { +], -1), bu = [ + yu +], wu = ["disabled"], ku = /* @__PURE__ */ l("svg", { class: "w-8 h-8", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" @@ -2556,9 +2574,9 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ d: "M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6l6 6zM6 6h2v12H6z", fill: "currentColor" }) -], -1), wu = [ - bu -], ku = ["disabled"], _u = /* @__PURE__ */ l("svg", { +], -1), _u = [ + ku +], $u = ["disabled"], Cu = /* @__PURE__ */ l("svg", { class: "w-8 h-8", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" @@ -2567,9 +2585,9 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ d: "M15.41 7.41L14 6l-6 6l6 6l1.41-1.41L10.83 12z", fill: "currentColor" }) -], -1), $u = [ - _u -], Cu = ["disabled"], xu = /* @__PURE__ */ l("svg", { +], -1), xu = [ + Cu +], Lu = ["disabled"], Vu = /* @__PURE__ */ l("svg", { class: "w-8 h-8", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" @@ -2578,9 +2596,9 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ d: "M10 6L8.59 7.41L13.17 12l-4.58 4.59L10 18l6-6z", fill: "currentColor" }) -], -1), Lu = [ - xu -], Vu = ["disabled"], Mu = /* @__PURE__ */ l("svg", { +], -1), Su = [ + Vu +], Mu = ["disabled"], Au = /* @__PURE__ */ l("svg", { class: "w-8 h-8", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" @@ -2589,15 +2607,15 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ d: "M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6l-6-6zM16 6h2v12h-2z", fill: "currentColor" }) -], -1), Su = [ - Mu -], Au = { +], -1), Tu = [ + Au +], Fu = { key: 0, class: "flex mt-1" -}, Tu = { class: "px-4 text-lg text-black dark:text-white" }, Fu = { key: 0 }, Iu = { key: 1 }, ju = /* @__PURE__ */ l("span", { class: "hidden xl:inline" }, " Showing Results ", -1), Du = { key: 2 }, Ou = { class: "flex flex-wrap" }, Pu = { +}, Iu = { class: "px-4 text-lg text-black dark:text-white" }, ju = { key: 0 }, Ou = { key: 1 }, Du = /* @__PURE__ */ l("span", { class: "hidden xl:inline" }, " Showing Results ", -1), Pu = { key: 2 }, Bu = { class: "flex flex-wrap" }, Hu = { key: 0, class: "pl-2 mt-1" -}, Bu = /* @__PURE__ */ l("svg", { +}, Ru = /* @__PURE__ */ l("svg", { class: "w-5 h-5", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" @@ -2610,36 +2628,36 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ "stroke-width": "2", d: "M20 20v-5h-5M4 4v5h5m10.938 2A8.001 8.001 0 0 0 5.07 8m-1.008 5a8.001 8.001 0 0 0 14.868 3" }) -], -1), Hu = [ - Bu -], Ru = { +], -1), Eu = [ + Ru +], zu = { key: 1, class: "pl-2 mt-1" -}, Eu = /* @__PURE__ */ xs('Excel', 2), zu = [ - Eu -], Nu = { +}, Nu = /* @__PURE__ */ xs('Excel', 2), Uu = [ + Nu +], qu = { key: 2, class: "pl-2 mt-1" -}, Uu = { +}, Qu = { key: 0, class: "w-5 h-5 mr-1 text-green-600 dark:text-green-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" -}, qu = /* @__PURE__ */ l("path", { +}, Ku = /* @__PURE__ */ l("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M5 13l4 4L19 7" -}, null, -1), Qu = [ - qu -], Ku = { +}, null, -1), Zu = [ + Ku +], Wu = { key: 1, class: "w-5 h-5 mr-1", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, Zu = /* @__PURE__ */ l("g", { fill: "none" }, [ +}, Gu = /* @__PURE__ */ l("g", { fill: "none" }, [ /* @__PURE__ */ l("path", { d: "M8 4v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7.242a2 2 0 0 0-.602-1.43L16.083 2.57A2 2 0 0 0 14.685 2H10a2 2 0 0 0-2 2z", stroke: "currentColor", @@ -2654,12 +2672,12 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ "stroke-linecap": "round", "stroke-linejoin": "round" }) -], -1), Wu = [ - Zu -], Gu = /* @__PURE__ */ l("span", { class: "whitespace-nowrap" }, "Copy URL", -1), Ju = { +], -1), Ju = [ + Gu +], Xu = /* @__PURE__ */ l("span", { class: "whitespace-nowrap" }, "Copy URL", -1), Yu = { key: 3, class: "pl-2 mt-1" -}, Xu = /* @__PURE__ */ l("svg", { +}, ed = /* @__PURE__ */ l("svg", { class: "w-5 h-5", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", @@ -2669,12 +2687,12 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ fill: "currentColor", d: "M6.78 2.72a.75.75 0 0 1 0 1.06L4.56 6h8.69a7.75 7.75 0 1 1-7.75 7.75a.75.75 0 0 1 1.5 0a6.25 6.25 0 1 0 6.25-6.25H4.56l2.22 2.22a.75.75 0 1 1-1.06 1.06l-3.5-3.5a.75.75 0 0 1 0-1.06l3.5-3.5a.75.75 0 0 1 1.06 0Z" }) -], -1), Yu = [ - Xu -], ed = { +], -1), td = [ + ed +], sd = { key: 4, class: "pl-2 mt-1" -}, td = /* @__PURE__ */ l("svg", { +}, ld = /* @__PURE__ */ l("svg", { class: "flex-none w-5 h-5 mr-2 text-gray-400 dark:text-gray-500 group-hover:text-gray-500", "aria-hidden": "true", xmlns: "http://www.w3.org/2000/svg", @@ -2686,36 +2704,36 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ d: "M3 3a1 1 0 011-1h12a1 1 0 011 1v3a1 1 0 01-.293.707L12 11.414V15a1 1 0 01-.293.707l-2 2A1 1 0 018 17v-5.586L3.293 6.707A1 1 0 013 6V3z", "clip-rule": "evenodd" }) -], -1), sd = { class: "mr-1" }, ld = { +], -1), nd = { class: "mr-1" }, od = { key: 0, class: "h-5 w-5 text-gray-400 dark:text-gray-500 group-hover:text-gray-500", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", "aria-hidden": "true" -}, nd = /* @__PURE__ */ l("path", { +}, ad = /* @__PURE__ */ l("path", { "fill-rule": "evenodd", d: "M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z", "clip-rule": "evenodd" -}, null, -1), od = [ - nd -], ad = { +}, null, -1), rd = [ + ad +], id = { key: 1, class: "h-5 w-5 text-gray-400 dark:text-gray-500 group-hover:text-gray-500", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", "aria-hidden": "true" -}, rd = /* @__PURE__ */ l("path", { +}, ud = /* @__PURE__ */ l("path", { "fill-rule": "evenodd", d: "M5 10a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1z", "clip-rule": "evenodd" -}, null, -1), id = [ - rd -], ud = { +}, null, -1), dd = [ + ud +], cd = { key: 5, class: "pl-2 mt-1" -}, dd = ["title"], cd = /* @__PURE__ */ l("svg", { +}, fd = ["title"], vd = /* @__PURE__ */ l("svg", { class: "w-5 h-5 mr-1 text-gray-500 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-50", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" @@ -2724,13 +2742,13 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ d: "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z", fill: "currentColor" }) -], -1), fd = { class: "whitespace-nowrap" }, vd = { key: 8 }, pd = { +], -1), pd = { class: "whitespace-nowrap" }, md = { key: 8 }, hd = { key: 0, class: "cursor-pointer flex justify-between items-center hover:text-gray-900 dark:hover:text-gray-50" -}, md = { class: "mr-1 select-none" }, hd = { +}, gd = { class: "mr-1 select-none" }, yd = { key: 1, class: "flex justify-between items-center" -}, gd = { class: "mr-1 select-none" }, ps = 25, yd = /* @__PURE__ */ de({ +}, bd = { class: "mr-1 select-none" }, ps = 25, wd = /* @__PURE__ */ de({ __name: "AutoQueryGrid", props: { filterDefinitions: {}, @@ -2770,19 +2788,19 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ }, emits: ["headerSelected", "rowSelected", "nav"], setup(e, { expose: t, emit: s }) { - const { config: n, autoQueryGridDefaults: a } = It(), r = a, u = n.value.storage, d = e, c = s, f = Qe("client"), p = "filtering,queryString,queryFilters".split(","), $ = "copyApiUrl,downloadCsv,filtersView,newItem,pagingInfo,pagingNav,preferences,refresh,resetPreferences,toolbar".split(","), m = v(() => d.deny ? Lt(p, d.deny) : Lt(p, r.value.deny)), k = v(() => d.hide ? Lt($, d.hide) : Lt($, r.value.hide)); + const { config: n, autoQueryGridDefaults: a } = It(), r = a, u = n.value.storage, d = e, c = s, f = Qe("client"), p = "filtering,queryString,queryFilters".split(","), $ = "copyApiUrl,downloadCsv,filtersView,newItem,pagingInfo,pagingNav,preferences,refresh,resetPreferences,toolbar".split(","), m = v(() => d.deny ? Vt(p, d.deny) : Vt(p, r.value.deny)), k = v(() => d.hide ? Vt($, d.hide) : Vt($, r.value.hide)); function g(_) { return m.value[_]; } function b(_) { return k.value[_]; } - const P = v(() => d.tableStyle ?? r.value.tableStyle), I = v(() => d.gridClass ?? he.getGridClass(P.value)), se = v(() => d.grid2Class ?? he.getGrid2Class(P.value)), j = v(() => d.grid3Class ?? he.getGrid3Class(P.value)), T = v(() => d.grid4Class ?? he.getGrid4Class(P.value)), S = v(() => d.tableClass ?? he.getTableClass(P.value)), ie = v(() => d.theadClass ?? he.getTheadClass(P.value)), L = v(() => d.theadRowClass ?? he.getTheadRowClass(P.value)), z = v(() => d.theadCellClass ?? he.getTheadCellClass(P.value)), K = v(() => d.toolbarButtonClass ?? he.toolbarButtonClass); + const P = v(() => d.tableStyle ?? r.value.tableStyle), I = v(() => d.gridClass ?? he.getGridClass(P.value)), se = v(() => d.grid2Class ?? he.getGrid2Class(P.value)), j = v(() => d.grid3Class ?? he.getGrid3Class(P.value)), T = v(() => d.grid4Class ?? he.getGrid4Class(P.value)), M = v(() => d.tableClass ?? he.getTableClass(P.value)), ie = v(() => d.theadClass ?? he.getTheadClass(P.value)), L = v(() => d.theadRowClass ?? he.getTheadRowClass(P.value)), z = v(() => d.theadCellClass ?? he.getTheadCellClass(P.value)), K = v(() => d.toolbarButtonClass ?? he.toolbarButtonClass); function le(_, B) { var Ie; if (d.rowClass) return d.rowClass(_, B); - const ve = !!we.value.AnyUpdate, Ce = ((Ie = Ve.value) != null && Ie.name ? _e(_, Ve.value.name) : null) == J.value; + const ve = !!we.value.AnyUpdate, Ce = ((Ie = Ve.value) != null && Ie.name ? _e(_, Ve.value.name) : null) == Y.value; return he.getTableRowClass(d.tableStyle, B, Ce, ve); } const R = al(), W = v(() => { @@ -2793,7 +2811,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ return st(W.value).filter((B) => _.includes(B.name.toLowerCase()) || _.includes(B.name.toLowerCase() + "-header")).map((B) => B.name); }); function q() { - let _ = $t(d.selectedColumns); + let _ = Ct(d.selectedColumns); return _.length > 0 ? _ : ee.value.length > 0 ? ee.value : []; } const A = v(() => { @@ -2801,41 +2819,41 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ const ve = st(W.value); return B.length > 0 ? B.map((re) => ve.find((Ce) => Ce.name.toLowerCase() === re)).filter((re) => re != null) : ve; }), te = v(() => { - let _ = A.value.map((ve) => ve.name), B = $t(pe.value.selectedColumns).map((ve) => ve.toLowerCase()); + let _ = A.value.map((ve) => ve.name), B = Ct(pe.value.selectedColumns).map((ve) => ve.toLowerCase()); return B.length > 0 ? _.filter((ve) => B.includes(ve.toLowerCase())) : _; - }), w = D([]), N = D(new Xe()), E = D(new Xe()), h = D(), C = D(!1), J = D(), G = D(), ne = D(!1), O = D(), V = D(d.skip), fe = D(!1), pe = D({ take: ps }), ue = D(!1), me = v(() => w.value.some((_) => _.settings.filters.length > 0 || !!_.settings.sort) || pe.value.selectedColumns), M = v(() => w.value.map((_) => _.settings.filters.length).reduce((_, B) => _ + B, 0)), ce = v(() => { + }), w = O([]), N = O(new Xe()), E = O(new Xe()), h = O(), C = O(!1), Y = O(), J = O(), ne = O(!1), D = O(), V = O(d.skip), fe = O(!1), pe = O({ take: ps }), ue = O(!1), me = v(() => w.value.some((_) => _.settings.filters.length > 0 || !!_.settings.sort) || pe.value.selectedColumns), S = v(() => w.value.map((_) => _.settings.filters.length).reduce((_, B) => _ + B, 0)), ce = v(() => { var _; - return st(Es(Dt.value || ((_ = we.value.AnyQuery) == null ? void 0 : _.dataModel.name))); + return st(Es(Ot.value || ((_ = we.value.AnyQuery) == null ? void 0 : _.dataModel.name))); }), Ve = v(() => { var _; - return ns(Es(Dt.value || ((_ = we.value.AnyQuery) == null ? void 0 : _.dataModel.name))); - }), Me = v(() => pe.value.take ?? ps), ge = v(() => N.value.response ? _e(N.value.response, "results") : []), H = v(() => { + return ns(Es(Ot.value || ((_ = we.value.AnyQuery) == null ? void 0 : _.dataModel.name))); + }), Se = v(() => pe.value.take ?? ps), ge = v(() => N.value.response ? _e(N.value.response, "results") : []), H = v(() => { var _; return (((_ = N.value.response) == null ? void 0 : _.total) || ge.value.length) ?? 0; - }), Q = v(() => V.value > 0), oe = v(() => V.value > 0), be = v(() => ge.value.length >= Me.value), $e = v(() => ge.value.length >= Me.value), Ae = D(), He = D(), Fe = { + }), Q = v(() => V.value > 0), oe = v(() => V.value > 0), be = v(() => ge.value.length >= Se.value), $e = v(() => ge.value.length >= Se.value), Ae = O(), He = O(), Fe = { NoQuery: "No Query API was found" }; t({ update: nt, - search: Ol, + search: Dl, createRequestArgs: Hs, reset: Ql, createDone: Wt, createSave: Ns, - editDone: bt, + editDone: wt, editSave: ds, forceUpdate: Bs, setEdit: Ps, - edit: G, + edit: J, createForm: Ae, editForm: He, apiPrefs: pe, results: ge, skip: V, - take: Me, + take: Se, total: H - }), Y.interceptors.has("AutoQueryGrid.new") && Y.interceptors.invoke("AutoQueryGrid.new", { props: d }); - function Oe(_) { + }), G.interceptors.has("AutoQueryGrid.new") && G.interceptors.invoke("AutoQueryGrid.new", { props: d }); + function De(_) { if (_) { if (d.canFilter) return d.canFilter(_); @@ -2845,41 +2863,41 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ } return !1; } - function De(_) { + function Oe(_) { c("nav", _), g("queryString") && ul(_); } async function We(_) { V.value += _, V.value < 0 && (V.value = 0); - const B = Math.floor(H.value / Me.value) * Me.value; - V.value > B && (V.value = B), De({ skip: V.value || void 0 }), await nt(); + const B = Math.floor(H.value / Se.value) * Se.value; + V.value > B && (V.value = B), Oe({ skip: V.value || void 0 }), await nt(); } async function Re(_, B) { var Ce, Ie; - if (G.value = null, J.value = B, !_ || !B) + if (J.value = null, Y.value = B, !_ || !B) return; let ve = Yt(we.value.AnyQuery, { [_]: B }); const re = await f.api(ve); if (re.succeeded) { let ze = (Ce = _e(re.response, "results")) == null ? void 0 : Ce[0]; - ze || console.warn(`API ${(Ie = we.value.AnyQuery) == null ? void 0 : Ie.request.name}(${_}:${B}) returned no results`), G.value = ze; + ze || console.warn(`API ${(Ie = we.value.AnyQuery) == null ? void 0 : Ie.request.name}(${_}:${B}) returned no results`), J.value = ze; } } async function it(_, B) { var Ce; c("rowSelected", _, B); const ve = (Ce = Ve.value) == null ? void 0 : Ce.name, re = ve ? _e(_, ve) : null; - !ve || !re || (De({ edit: re }), Re(ve, re)); + !ve || !re || (Oe({ edit: re }), Re(ve, re)); } function jt(_, B) { var re; if (!g("filtering")) return; let ve = B.target; - if (Oe(_) && (ve == null ? void 0 : ve.tagName) !== "TD") { + if (De(_) && (ve == null ? void 0 : ve.tagName) !== "TD") { let Ce = (re = ve == null ? void 0 : ve.closest("TABLE")) == null ? void 0 : re.getBoundingClientRect(), Ie = w.value.find((ze) => ze.name.toLowerCase() == _.toLowerCase()); if (Ie && Ce) { let ze = 318, ut = Ce.x + ze + 10; - O.value = { + D.value = { column: Ie, topLeft: { x: Math.max(Math.floor(B.clientX + ze / 2), ut), @@ -2890,26 +2908,26 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ } c("headerSelected", _, B); } - function mt() { - O.value = null; + function ht() { + D.value = null; } async function as(_) { var ve; - let B = (ve = O.value) == null ? void 0 : ve.column; - B && (B.settings = _, u.setItem(is(B.name), JSON.stringify(B.settings)), await nt()), O.value = null; + let B = (ve = D.value) == null ? void 0 : ve.column; + B && (B.settings = _, u.setItem(is(B.name), JSON.stringify(B.settings)), await nt()), D.value = null; } async function rs(_) { u.setItem(is(_.name), JSON.stringify(_.settings)), await nt(); } - async function lo(_) { + async function no(_) { ne.value = !1, pe.value = _, u.setItem(Rs(), JSON.stringify(_)), await nt(); } - function Dl(_) { + function Ol(_) { var B; Ae.value && (Object.assign((B = Ae.value) == null ? void 0 : B.model, _), Bs()); } function Ps(_) { - Object.assign(G.value, _), Bs(); + Object.assign(J.value, _), Bs(); } function Bs() { var B, ve, re; @@ -2918,21 +2936,21 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ (re = _ == null ? void 0 : _.proxy) == null || re.$forceUpdate(); } async function nt() { - await Ol(Hs()); + await Dl(Hs()); } - async function no() { + async function oo() { await nt(); } - const oo = /iPad|iPhone|iPod/.test(navigator.userAgent); - async function Ol(_) { + const ao = /iPad|iPhone|iPod/.test(navigator.userAgent); + async function Dl(_) { const B = we.value.AnyQuery; if (!B) { console.error(Fe.NoQuery); return; } let ve = Yt(B, _), re = await f.api(ve); - cn((ze) => { - N.value.response = N.value.error = void 0, ue.value = ze, oo ? Vt(() => N.value = re) : N.value = re; + dn((ze) => { + N.value.response = N.value.error = void 0, ue.value = ze, ao ? St(() => N.value = re) : N.value = re; })(); let Ie = _e(re.response, "results") || []; !re.succeeded || Ie.label == 0; @@ -2940,19 +2958,19 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ function Hs() { let _ = { include: "total", - take: Me.value - }, B = $t(pe.value.selectedColumns || d.selectedColumns); + take: Se.value + }, B = Ct(pe.value.selectedColumns || d.selectedColumns); if (B.length > 0) { let re = Ve.value; re && !B.includes(re.name) && (B = [re.name, ...B]); const Ce = ce.value, Ie = []; B.forEach((ze) => { var cs; - const ut = Ce.find((wt) => wt.name.toLowerCase() == ze.toLowerCase()); - (cs = ut == null ? void 0 : ut.ref) != null && cs.selfId && Ie.push(ut.ref.selfId), _e(R, ze) && Ie.push(...Ce.filter((wt) => { - var Ne, kt; - return ((kt = (Ne = wt.ref) == null ? void 0 : Ne.selfId) == null ? void 0 : kt.toLowerCase()) == ze.toLowerCase(); - }).map((wt) => wt.name)); + const ut = Ce.find((kt) => kt.name.toLowerCase() == ze.toLowerCase()); + (cs = ut == null ? void 0 : ut.ref) != null && cs.selfId && Ie.push(ut.ref.selfId), _e(R, ze) && Ie.push(...Ce.filter((kt) => { + var Ne, _t; + return ((_t = (Ne = kt.ref) == null ? void 0 : Ne.selfId) == null ? void 0 : _t.toLowerCase()) == ze.toLowerCase(); + }).map((kt) => kt.name)); }), Ie.forEach((ze) => { B.includes(ze) || B.push(ze); }), _.fields = B.join(","); @@ -2977,65 +2995,65 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ } return typeof _.skip > "u" && V.value > 0 && (_.skip = V.value), ve.length > 0 && (_.orderBy = ve.join(",")), _; } - function ao() { + function ro() { const _ = Pl("csv"); Js(_), typeof window < "u" && window.open(_); } - function ro() { + function io() { const _ = Pl("json"); Js(_), fe.value = !0, setTimeout(() => fe.value = !1, 3e3); } function Pl(_ = "json") { var Ie; - const B = Hs(), ve = `/api/${(Ie = we.value.AnyQuery) == null ? void 0 : Ie.request.name}`, re = jo(f.baseUrl, Et(ve, { ...B, jsconfig: "edv" })); + const B = Hs(), ve = `/api/${(Ie = we.value.AnyQuery) == null ? void 0 : Ie.request.name}`, re = Do(f.baseUrl, Et(ve, { ...B, jsconfig: "edv" })); return re.indexOf("?") >= 0 ? Ls(re, "?") + "." + _ + "?" + ms(re, "?") : re + ".json"; } - async function io() { + async function uo() { w.value.forEach((_) => { _.settings = { filters: [] }, u.removeItem(is(_.name)); }), pe.value = { take: ps }, u.removeItem(Rs()), await nt(); } - function uo() { - C.value = !0, De({ create: null }); + function co() { + C.value = !0, Oe({ create: null }); } - const Dt = v(() => qt(d.type)), Kt = v(() => { + const Ot = v(() => qt(d.type)), Kt = v(() => { var _; - return Dt.value || ((_ = we.value.AnyQuery) == null ? void 0 : _.dataModel.name); - }), Zt = v(() => d.modelTitle || Kt.value), co = v(() => d.newButtonLabel || `New ${Zt.value}`), Rs = () => { + return Ot.value || ((_ = we.value.AnyQuery) == null ? void 0 : _.dataModel.name); + }), Zt = v(() => d.modelTitle || Kt.value), fo = v(() => d.newButtonLabel || `New ${Zt.value}`), Rs = () => { var _; - return `${d.id}/ApiPrefs/${Dt.value || ((_ = we.value.AnyQuery) == null ? void 0 : _.dataModel.name)}`; + return `${d.id}/ApiPrefs/${Ot.value || ((_ = we.value.AnyQuery) == null ? void 0 : _.dataModel.name)}`; }, is = (_) => { var B; - return `Column/${d.id}:${Dt.value || ((B = we.value.AnyQuery) == null ? void 0 : B.dataModel.name)}.${_}`; - }, { metadataApi: Bl, typeOf: Es, apiOf: Hl, filterDefinitions: fo } = lt(), { invalidAccessMessage: zs } = Tl(), Rl = v(() => d.filterDefinitions || fo.value), we = v(() => { - let _ = $t(d.apis); - return _.length > 0 ? Nt.from(_.map((B) => Hl(B)).filter((B) => B != null).map((B) => B)) : Nt.forType(Dt.value, Bl.value); + return `Column/${d.id}:${Ot.value || ((B = we.value.AnyQuery) == null ? void 0 : B.dataModel.name)}.${_}`; + }, { metadataApi: Bl, typeOf: Es, apiOf: Hl, filterDefinitions: vo } = lt(), { invalidAccessMessage: zs } = Tl(), Rl = v(() => d.filterDefinitions || vo.value), we = v(() => { + let _ = Ct(d.apis); + return _.length > 0 ? Nt.from(_.map((B) => Hl(B)).filter((B) => B != null).map((B) => B)) : Nt.forType(Ot.value, Bl.value); }), us = (_) => `${_}`, El = v(() => { if (!Bl.value) return us(`AppMetadata not loaded, see useMetadata()`); - let B = $t(d.apis).map((re) => Hl(re) == null ? re : null).filter((re) => re != null); + let B = Ct(d.apis).map((re) => Hl(re) == null ? re : null).filter((re) => re != null); if (B.length > 0) return us(`Unknown API${B.length > 1 ? "s" : ""}: ${B.join(", ")}`); let ve = we.value; return ve.empty ? us("Mising DataModel in property 'type' or AutoQuery APIs to use in property 'apis'") : ve.AnyQuery ? null : us(Fe.NoQuery); - }), zl = v(() => we.value.AnyQuery && zs(we.value.AnyQuery)), Nl = v(() => we.value.Create && zs(we.value.Create)), Ul = v(() => we.value.AnyUpdate && zs(we.value.AnyUpdate)), vo = v(() => bs(we.value.Create)); + }), zl = v(() => we.value.AnyQuery && zs(we.value.AnyQuery)), Nl = v(() => we.value.Create && zs(we.value.Create)), Ul = v(() => we.value.AnyUpdate && zs(we.value.AnyUpdate)), po = v(() => bs(we.value.Create)); v(() => bs(we.value.AnyUpdate)); const ql = v(() => bs(we.value.Delete)); - function bt() { - G.value = null, J.value = null, De({ edit: void 0 }); + function wt() { + J.value = null, Y.value = null, Oe({ edit: void 0 }); } function Wt() { - C.value = !1, De({ create: void 0 }); + C.value = !1, Oe({ create: void 0 }); } async function ds() { - await nt(), bt(); + await nt(), wt(); } async function Ns() { await nt(), Wt(); } function Ql() { var ve; - N.value = new Xe(), E.value = new Xe(), C.value = !1, J.value = null, G.value = null, ne.value = !1, O.value = null, V.value = d.skip, fe.value = !1, pe.value = { take: ps }, ue.value = !1; + N.value = new Xe(), E.value = new Xe(), C.value = !1, Y.value = null, J.value = null, ne.value = !1, D.value = null, V.value = d.skip, fe.value = !1, pe.value = { take: ps }, ue.value = !1; const _ = d.prefs || $s(u.getItem(Rs())); _ && (pe.value = _), w.value = A.value.map((re) => ({ name: re.name, @@ -3059,13 +3077,13 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ return Ye(async () => { Ql(), await nt(); }), (_, B) => { - const ve = Z("Alert"), re = Z("EnsureAccessDialog"), Ce = Z("AutoCreateForm"), Ie = Z("AutoEditForm"), ze = Z("AutoViewForm"), ut = Z("ErrorSummary"), Kl = Z("Loading"), cs = Z("SettingsIcons"), wt = Z("DataGrid"); - return El.value ? (o(), i("div", au, [ + const ve = Z("Alert"), re = Z("EnsureAccessDialog"), Ce = Z("AutoCreateForm"), Ie = Z("AutoEditForm"), ze = Z("AutoViewForm"), ut = Z("ErrorSummary"), Kl = Z("Loading"), cs = Z("SettingsIcons"), kt = Z("DataGrid"); + return El.value ? (o(), i("div", iu, [ ye(ve, { innerHTML: El.value }, null, 8, ["innerHTML"]) - ])) : zl.value ? (o(), i("div", ru, [ - ye(so, { "invalid-access": zl.value }, null, 8, ["invalid-access"]) - ])) : (o(), i("div", iu, [ - C.value && we.value.Create ? (o(), i("div", uu, [ + ])) : zl.value ? (o(), i("div", uu, [ + ye(lo, { "invalid-access": zl.value }, null, 8, ["invalid-access"]) + ])) : (o(), i("div", du, [ + C.value && we.value.Create ? (o(), i("div", cu, [ Nl.value ? (o(), ae(re, { key: 0, title: `Create ${Zt.value}`, @@ -3093,7 +3111,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ formInstance: Ae.value, apis: we.value, type: Kt.value, - updateModel: Dl + updateModel: Ol }) ]), footer: xe(() => [ @@ -3102,36 +3120,36 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ formInstance: Ae.value, apis: we.value, type: Kt.value, - updateModel: Dl + updateModel: Ol }) ]), _: 3 }, 8, ["type", "configure"])) - ])) : G.value && we.value.AnyUpdate ? (o(), i("div", du, [ + ])) : J.value && we.value.AnyUpdate ? (o(), i("div", fu, [ Ul.value ? (o(), ae(re, { key: 0, title: `Update ${Zt.value}`, "invalid-access": Ul.value, "alert-class": "text-yellow-700", - onDone: bt + onDone: wt }, null, 8, ["title", "invalid-access"])) : X(R).editform ? U(_.$slots, "editform", { key: 1, - model: G.value, + model: J.value, type: we.value.AnyUpdate.request.name, deleteType: ql.value ? we.value.Delete.request.name : null, configure: _.configureField, - done: bt, + done: wt, save: ds }) : (o(), ae(Ie, { key: 2, ref_key: "editForm", ref: He, - modelValue: G.value, - "onUpdate:modelValue": B[0] || (B[0] = (Ne) => G.value = Ne), + modelValue: J.value, + "onUpdate:modelValue": B[0] || (B[0] = (Ne) => J.value = Ne), type: we.value.AnyUpdate.request.name, deleteType: ql.value ? we.value.Delete.request.name : null, configure: _.configureField, - onDone: bt, + onDone: wt, onSave: ds, onDelete: ds }, { @@ -3141,8 +3159,8 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ formInstance: He.value, apis: we.value, type: Kt.value, - model: G.value, - id: J.value, + model: J.value, + id: Y.value, updateModel: Ps }) ]), @@ -3152,43 +3170,43 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ formInstance: He.value, apis: we.value, type: Kt.value, - model: G.value, - id: J.value, + model: J.value, + id: Y.value, updateModel: Ps }) ]), _: 3 }, 8, ["modelValue", "type", "deleteType", "configure"])) - ])) : G.value ? (o(), i("div", cu, [ + ])) : J.value ? (o(), i("div", vu, [ X(R).viewform ? U(_.$slots, "viewform", { key: 0, - model: G.value, + model: J.value, apis: we.value, - done: bt + done: wt }) : (o(), ae(ze, { key: 1, - model: G.value, + model: J.value, apis: we.value, - done: bt + done: wt }, null, 8, ["model", "apis"])) ])) : x("", !0), - X(R).toolbar ? U(_.$slots, "toolbar", { key: 3 }) : b("toolbar") ? (o(), i("div", fu, [ + X(R).toolbar ? U(_.$slots, "toolbar", { key: 3 }) : b("toolbar") ? (o(), i("div", pu, [ ne.value ? (o(), ae(jl, { key: 0, columns: A.value, prefs: pe.value, onDone: B[1] || (B[1] = (Ne) => ne.value = !1), - onSave: lo + onSave: no }, null, 8, ["columns", "prefs"])) : x("", !0), - l("div", vu, [ - l("div", pu, [ + l("div", mu, [ + l("div", hu, [ b("preferences") ? (o(), i("button", { key: 0, type: "button", class: "text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400", title: `${Zt.value} Preferences`, onClick: B[2] || (B[2] = (Ne) => ne.value = !ne.value) - }, gu, 8, mu)) : x("", !0), + }, bu, 8, gu)) : x("", !0), b("pagingNav") ? (o(), i("button", { key: 1, type: "button", @@ -3196,23 +3214,23 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ title: "First page", disabled: !Q.value, onClick: B[3] || (B[3] = (Ne) => We(-H.value)) - }, wu, 10, yu)) : x("", !0), + }, _u, 10, wu)) : x("", !0), b("pagingNav") ? (o(), i("button", { key: 2, type: "button", class: y(["pl-2", oe.value ? "text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400" : "text-gray-400 dark:text-gray-500"]), title: "Previous page", disabled: !oe.value, - onClick: B[4] || (B[4] = (Ne) => We(-Me.value)) - }, $u, 10, ku)) : x("", !0), + onClick: B[4] || (B[4] = (Ne) => We(-Se.value)) + }, xu, 10, $u)) : x("", !0), b("pagingNav") ? (o(), i("button", { key: 3, type: "button", class: y(["pl-2", be.value ? "text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400" : "text-gray-400 dark:text-gray-500"]), title: "Next page", disabled: !be.value, - onClick: B[5] || (B[5] = (Ne) => We(Me.value)) - }, Lu, 10, Cu)) : x("", !0), + onClick: B[5] || (B[5] = (Ne) => We(Se.value)) + }, Su, 10, Lu)) : x("", !0), b("pagingNav") ? (o(), i("button", { key: 4, type: "button", @@ -3220,76 +3238,76 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ title: "Last page", disabled: !$e.value, onClick: B[6] || (B[6] = (Ne) => We(H.value)) - }, Su, 10, Vu)) : x("", !0) + }, Tu, 10, Mu)) : x("", !0) ]), - b("pagingInfo") ? (o(), i("div", Au, [ - l("div", Tu, [ - ue.value ? (o(), i("span", Fu, "Querying...")) : x("", !0), - ge.value.length ? (o(), i("span", Iu, [ - ju, + b("pagingInfo") ? (o(), i("div", Fu, [ + l("div", Iu, [ + ue.value ? (o(), i("span", ju, "Querying...")) : x("", !0), + ge.value.length ? (o(), i("span", Ou, [ + Du, ke(" " + F(V.value + 1) + " - " + F(Math.min(V.value + ge.value.length, H.value)) + " ", 1), l("span", null, " of " + F(H.value), 1) - ])) : N.value.completed ? (o(), i("span", Du, "No Results")) : x("", !0) + ])) : N.value.completed ? (o(), i("span", Pu, "No Results")) : x("", !0) ]) ])) : x("", !0), - l("div", Ou, [ - b("refresh") ? (o(), i("div", Pu, [ + l("div", Bu, [ + b("refresh") ? (o(), i("div", Hu, [ l("button", { type: "button", - onClick: no, + onClick: oo, title: "Refresh", class: y(K.value) - }, Hu, 2) + }, Eu, 2) ])) : x("", !0), - b("downloadCsv") ? (o(), i("div", Ru, [ + b("downloadCsv") ? (o(), i("div", zu, [ l("button", { type: "button", - onClick: ao, + onClick: ro, title: "Download CSV", class: y(K.value) - }, zu, 2) + }, Uu, 2) ])) : x("", !0), - b("copyApiUrl") ? (o(), i("div", Nu, [ + b("copyApiUrl") ? (o(), i("div", qu, [ l("button", { type: "button", - onClick: ro, + onClick: io, title: "Copy API URL", class: y(K.value) }, [ - fe.value ? (o(), i("svg", Uu, Qu)) : (o(), i("svg", Ku, Wu)), - Gu + fe.value ? (o(), i("svg", Qu, Zu)) : (o(), i("svg", Wu, Ju)), + Xu ], 2) ])) : x("", !0), - me.value && b("resetPreferences") ? (o(), i("div", Ju, [ + me.value && b("resetPreferences") ? (o(), i("div", Yu, [ l("button", { type: "button", - onClick: io, + onClick: uo, title: "Reset Preferences & Filters", class: y(K.value) - }, Yu, 2) + }, td, 2) ])) : x("", !0), - b("filtersView") && M.value > 0 ? (o(), i("div", ed, [ + b("filtersView") && S.value > 0 ? (o(), i("div", sd, [ l("button", { type: "button", onClick: B[7] || (B[7] = (Ne) => h.value = h.value == "filters" ? null : "filters"), class: y(K.value), "aria-expanded": "false" }, [ - td, - l("span", sd, F(M.value) + " " + F(M.value == 1 ? "Filter" : "Filters"), 1), - h.value != "filters" ? (o(), i("svg", ld, od)) : (o(), i("svg", ad, id)) + ld, + l("span", nd, F(S.value) + " " + F(S.value == 1 ? "Filter" : "Filters"), 1), + h.value != "filters" ? (o(), i("svg", od, rd)) : (o(), i("svg", id, dd)) ], 2) ])) : x("", !0), - b("newItem") && we.value.Create && vo.value ? (o(), i("div", ud, [ + b("newItem") && we.value.Create && po.value ? (o(), i("div", cd, [ l("button", { type: "button", - onClick: uo, + onClick: co, title: Zt.value, class: y(K.value) }, [ - cd, - l("span", fd, F(co.value), 1) - ], 10, dd) + vd, + l("span", pd, F(fo.value), 1) + ], 10, fd) ])) : x("", !0), X(R).toolbarbuttons ? U(_.$slots, "toolbarbuttons", { key: 6, @@ -3313,16 +3331,16 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ key: 7, class: "p-2" })) : x("", !0), - O.value ? (o(), i("div", vd, [ + D.value ? (o(), i("div", md, [ ye(Fl, { definitions: Rl.value, - column: O.value.column, - "top-left": O.value.topLeft, - onDone: mt, + column: D.value.column, + "top-left": D.value.topLeft, + onDone: ht, onSave: as }, null, 8, ["definitions", "column", "top-left"]) ])) : x("", !0), - ge.value.length ? (o(), ae(wt, { + ge.value.length ? (o(), ae(kt, { key: 9, id: _.id, items: ge.value, @@ -3335,7 +3353,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ grid2Class: se.value, grid3Class: j.value, grid4Class: T.value, - tableClass: S.value, + tableClass: M.value, theadClass: ie.value, theadRowClass: L.value, theadCellClass: z.value, @@ -3348,17 +3366,17 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ visibleFrom: _.visibleFrom, onHeaderSelected: jt }, rl({ - header: xe(({ column: Ne, label: kt }) => { + header: xe(({ column: Ne, label: _t }) => { var Zl; return [ - g("filtering") && Oe(Ne) ? (o(), i("div", pd, [ - l("span", md, F(kt), 1), + g("filtering") && De(Ne) ? (o(), i("div", hd, [ + l("span", gd, F(_t), 1), ye(cs, { - column: w.value.find((po) => po.name.toLowerCase() === Ne.toLowerCase()), - "is-open": ((Zl = O.value) == null ? void 0 : Zl.column.name) === Ne + column: w.value.find((mo) => mo.name.toLowerCase() === Ne.toLowerCase()), + "is-open": ((Zl = D.value) == null ? void 0 : Zl.column.name) === Ne }, null, 8, ["column", "is-open"]) - ])) : (o(), i("div", hd, [ - l("span", gd, F(kt), 1) + ])) : (o(), i("div", yd, [ + l("span", bd, F(_t), 1) ])) ]; }), @@ -3366,20 +3384,20 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ }, [ je(Object.keys(X(R)), (Ne) => ({ name: Ne, - fn: xe((kt) => [ - U(_.$slots, Ne, Rt(ks(kt))) + fn: xe((_t) => [ + U(_.$slots, Ne, Rt(ks(_t))) ]) })) ]), 1032, ["id", "items", "type", "selected-columns", "tableStyle", "gridClass", "grid2Class", "grid3Class", "grid4Class", "tableClass", "theadClass", "theadRowClass", "theadCellClass", "tbodyClass", "rowStyle", "headerTitle", "headerTitles", "visibleFrom"])) : x("", !0) ])); }; } -}), bd = { class: "flex" }, wd = { +}), kd = { class: "flex" }, _d = { key: 0, class: "w-4 h-4", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" -}, kd = /* @__PURE__ */ l("g", { fill: "none" }, [ +}, $d = /* @__PURE__ */ l("g", { fill: "none" }, [ /* @__PURE__ */ l("path", { d: "M3 4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v2.586a1 1 0 0 1-.293.707l-6.414 6.414a1 1 0 0 0-.293.707V17l-4 4v-6.586a1 1 0 0 0-.293-.707L3.293 7.293A1 1 0 0 1 3 6.586V4z", stroke: "currentColor", @@ -3387,42 +3405,42 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ "stroke-linecap": "round", "stroke-linejoin": "round" }) -], -1), _d = [ - kd -], $d = /* @__PURE__ */ l("path", { +], -1), Cd = [ + $d +], xd = /* @__PURE__ */ l("path", { d: "M505.5 658.7c3.2 4.4 9.7 4.4 12.9 0l178-246c3.8-5.3 0-12.7-6.5-12.7H643c-10.2 0-19.9 4.9-25.9 13.2L512 558.6L406.8 413.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246z", fill: "currentColor" -}, null, -1), Cd = /* @__PURE__ */ l("path", { +}, null, -1), Ld = /* @__PURE__ */ l("path", { d: "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z", fill: "currentColor" -}, null, -1), xd = [ - $d, - Cd -], Ld = { +}, null, -1), Vd = [ + xd, + Ld +], Sd = { key: 2, class: "w-4 h-4", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20" -}, Vd = /* @__PURE__ */ l("g", { fill: "none" }, [ +}, Md = /* @__PURE__ */ l("g", { fill: "none" }, [ /* @__PURE__ */ l("path", { d: "M8.998 4.71L6.354 7.354a.5.5 0 1 1-.708-.707L9.115 3.18A.499.499 0 0 1 9.498 3H9.5a.5.5 0 0 1 .354.147l.01.01l3.49 3.49a.5.5 0 1 1-.707.707l-2.65-2.649V16.5a.5.5 0 0 1-1 0V4.71z", fill: "currentColor" }) -], -1), Md = [ - Vd -], Sd = { +], -1), Ad = [ + Md +], Td = { key: 3, class: "w-4 h-4", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20" -}, Ad = /* @__PURE__ */ l("g", { fill: "none" }, [ +}, Fd = /* @__PURE__ */ l("g", { fill: "none" }, [ /* @__PURE__ */ l("path", { d: "M10.002 15.29l2.645-2.644a.5.5 0 0 1 .707.707L9.886 16.82a.5.5 0 0 1-.384.179h-.001a.5.5 0 0 1-.354-.147l-.01-.01l-3.49-3.49a.5.5 0 1 1 .707-.707l2.648 2.649V3.5a.5.5 0 0 1 1 0v11.79z", fill: "currentColor" }) -], -1), Td = [ - Ad -], Fd = /* @__PURE__ */ de({ +], -1), Id = [ + Fd +], jd = /* @__PURE__ */ de({ __name: "SettingsIcons", props: { column: {}, @@ -3431,18 +3449,18 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ setup(e) { return (t, s) => { var n, a, r, u, d, c, f; - return o(), i("div", bd, [ - (r = (a = (n = t.column) == null ? void 0 : n.settings) == null ? void 0 : a.filters) != null && r.length ? (o(), i("svg", wd, _d)) : (o(), i("svg", { + return o(), i("div", kd, [ + (r = (a = (n = t.column) == null ? void 0 : n.settings) == null ? void 0 : a.filters) != null && r.length ? (o(), i("svg", _d, Cd)) : (o(), i("svg", { key: 1, class: y(["w-4 h-4 transition-transform", t.isOpen ? "rotate-180" : ""]), xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 1024 1024" - }, xd, 2)), - ((d = (u = t.column) == null ? void 0 : u.settings) == null ? void 0 : d.sort) === "ASC" ? (o(), i("svg", Ld, Md)) : ((f = (c = t.column) == null ? void 0 : c.settings) == null ? void 0 : f.sort) === "DESC" ? (o(), i("svg", Sd, Td)) : x("", !0) + }, Vd, 2)), + ((d = (u = t.column) == null ? void 0 : u.settings) == null ? void 0 : d.sort) === "ASC" ? (o(), i("svg", Sd, Ad)) : ((f = (c = t.column) == null ? void 0 : c.settings) == null ? void 0 : f.sort) === "DESC" ? (o(), i("svg", Td, Id)) : x("", !0) ]); }; } -}), Id = /* @__PURE__ */ de({ +}), Od = /* @__PURE__ */ de({ __name: "EnsureAccessDialog", props: { title: {}, @@ -3478,10 +3496,10 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ ]), 1032, ["title"])) : x("", !0); }; } -}), jd = ["for"], Dd = { class: "mt-1 relative rounded-md shadow-sm" }, Od = ["type", "name", "id", "placeholder", "value", "aria-invalid", "aria-describedby"], Pd = { +}), Dd = ["for"], Pd = { class: "mt-1 relative rounded-md shadow-sm" }, Bd = ["type", "name", "id", "placeholder", "value", "aria-invalid", "aria-describedby"], Hd = { key: 0, class: "absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none" -}, Bd = /* @__PURE__ */ l("svg", { +}, Rd = /* @__PURE__ */ l("svg", { class: "h-5 w-5 text-red-500", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", @@ -3493,12 +3511,12 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z", "clip-rule": "evenodd" }) -], -1), Hd = [ - Bd -], Rd = ["id"], Ed = ["id"], zd = { +], -1), Ed = [ + Rd +], zd = ["id"], Nd = ["id"], Ud = { inheritAttrs: !1 -}, Nd = /* @__PURE__ */ de({ - ...zd, +}, qd = /* @__PURE__ */ de({ + ...Ud, __name: "TextInput", props: { status: {}, @@ -3516,14 +3534,14 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ t({ focus: r }); - const a = D(); + const a = O(); function r() { var m; (m = a.value) == null || m.focus(); } const u = v(() => n.type || "text"), d = v(() => n.label ?? Pe(at(n.id))), c = v(() => n.placeholder ?? d.value); let f = Qe("ApiState", void 0); - const p = v(() => pt.call({ responseStatus: n.status ?? (f == null ? void 0 : f.error.value) }, n.id)), $ = v(() => [ot.base, p.value ? ot.invalid : ot.valid, n.inputClass]); + const p = v(() => mt.call({ responseStatus: n.status ?? (f == null ? void 0 : f.error.value) }, n.id)), $ = v(() => [ot.base, p.value ? ot.invalid : ot.valid, n.inputClass]); return (m, k) => (o(), i("div", { class: y([m.$attrs.class]) }, [ @@ -3537,8 +3555,8 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ key: 0, for: m.id, class: y(`block text-sm font-medium text-gray-700 dark:text-gray-300 ${m.labelClass ?? ""}`) - }, F(d.value), 11, jd)) : x("", !0), - l("div", Dd, [ + }, F(d.value), 11, Dd)) : x("", !0), + l("div", Pd, [ l("input", Te({ ref_key: "inputElement", ref: a, @@ -3547,23 +3565,23 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ id: m.id, class: $.value, placeholder: c.value, - value: m.modelValue, + value: X(pn)(u.value, m.modelValue), onInput: k[0] || (k[0] = (g) => m.$emit("update:modelValue", s(g.target))), "aria-invalid": p.value != null, "aria-describedby": `${m.id}-error`, step: "any" - }, X(ft)(m.$attrs, ["class"])), null, 16, Od), - p.value ? (o(), i("div", Pd, Hd)) : x("", !0) + }, X(ft)(m.$attrs, ["class", "value"])), null, 16, Bd), + p.value ? (o(), i("div", Hd, Ed)) : x("", !0) ]), p.value ? (o(), i("p", { key: 1, class: "mt-2 text-sm text-red-500", id: `${m.id}-error` - }, F(p.value), 9, Rd)) : m.help ? (o(), i("p", { + }, F(p.value), 9, zd)) : m.help ? (o(), i("p", { key: 2, class: "mt-2 text-sm text-gray-500", id: `${m.id}-description` - }, F(m.help), 9, Ed)) : x("", !0), + }, F(m.help), 9, Nd)) : x("", !0), U(m.$slots, "footer", Te({ inputElement: a.value, id: m.id, @@ -3572,10 +3590,10 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ }, m.$attrs)) ], 2)); } -}), Ud = ["for"], qd = { class: "mt-1 relative rounded-md shadow-sm" }, Qd = ["name", "id", "placeholder", "aria-invalid", "aria-describedby"], Kd = ["id"], Zd = ["id"], Wd = { +}), Qd = ["for"], Kd = { class: "mt-1 relative rounded-md shadow-sm" }, Zd = ["name", "id", "placeholder", "aria-invalid", "aria-describedby"], Wd = ["id"], Gd = ["id"], Jd = { inheritAttrs: !1 -}, Gd = /* @__PURE__ */ de({ - ...Wd, +}, Xd = /* @__PURE__ */ de({ + ...Jd, __name: "TextareaInput", props: { status: {}, @@ -3590,7 +3608,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ setup(e) { const t = (c) => c.value, s = e, n = v(() => s.label ?? Pe(at(s.id))), a = v(() => s.placeholder ?? n.value); let r = Qe("ApiState", void 0); - const u = v(() => pt.call({ responseStatus: s.status ?? (r == null ? void 0 : r.error.value) }, s.id)), d = v(() => ["shadow-sm " + ot.base, u.value ? "text-red-900 focus:ring-red-500 focus:border-red-500 border-red-300" : "text-gray-900 " + ot.valid, s.inputClass]); + const u = v(() => mt.call({ responseStatus: s.status ?? (r == null ? void 0 : r.error.value) }, s.id)), d = v(() => ["shadow-sm " + ot.base, u.value ? "text-red-900 focus:ring-red-500 focus:border-red-500 border-red-300" : "text-gray-900 " + ot.valid, s.inputClass]); return (c, f) => (o(), i("div", { class: y([c.$attrs.class]) }, [ @@ -3598,8 +3616,8 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ key: 0, for: c.id, class: y(`block text-sm font-medium text-gray-700 dark:text-gray-300 ${c.labelClass ?? ""}`) - }, F(n.value), 11, Ud)) : x("", !0), - l("div", qd, [ + }, F(n.value), 11, Qd)) : x("", !0), + l("div", Kd, [ l("textarea", Te({ name: c.id, id: c.id, @@ -3608,23 +3626,23 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ onInput: f[0] || (f[0] = (p) => c.$emit("update:modelValue", t(p.target))), "aria-invalid": u.value != null, "aria-describedby": `${c.id}-error` - }, X(ft)(c.$attrs, ["class"])), F(c.modelValue), 17, Qd) + }, X(ft)(c.$attrs, ["class"])), F(c.modelValue), 17, Zd) ]), u.value ? (o(), i("p", { key: 1, class: "mt-2 text-sm text-red-500", id: `${c.id}-error` - }, F(u.value), 9, Kd)) : c.help ? (o(), i("p", { + }, F(u.value), 9, Wd)) : c.help ? (o(), i("p", { key: 2, class: "mt-2 text-sm text-gray-500", id: `${c.id}-description` - }, F(c.help), 9, Zd)) : x("", !0) + }, F(c.help), 9, Gd)) : x("", !0) ], 2)); } -}), Jd = ["for"], Xd = ["id", "name", "value", "aria-invalid", "aria-describedby"], Yd = ["value"], ec = ["id"], tc = { +}), Yd = ["for"], ec = ["id", "name", "value", "aria-invalid", "aria-describedby"], tc = ["value"], sc = ["id"], lc = { inheritAttrs: !1 -}, sc = /* @__PURE__ */ de({ - ...tc, +}, nc = /* @__PURE__ */ de({ + ...lc, __name: "SelectInput", props: { status: {}, @@ -3640,7 +3658,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ setup(e) { const t = (d) => d.value, s = e, n = v(() => s.label ?? Pe(at(s.id))); let a = Qe("ApiState", void 0); - const r = v(() => pt.call({ responseStatus: s.status ?? (a == null ? void 0 : a.error.value) }, s.id)), u = v(() => s.entries || (s.values ? s.values.map((d) => ({ key: d, value: d })) : s.options ? Object.keys(s.options).map((d) => ({ key: d, value: s.options[d] })) : [])); + const r = v(() => mt.call({ responseStatus: s.status ?? (a == null ? void 0 : a.error.value) }, s.id)), u = v(() => s.entries || (s.values ? s.values.map((d) => ({ key: d, value: d })) : s.options ? Object.keys(s.options).map((d) => ({ key: d, value: s.options[d] })) : [])); return (d, c) => (o(), i("div", { class: y([d.$attrs.class]) }, [ @@ -3648,7 +3666,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ key: 0, for: d.id, class: y(`block text-sm font-medium text-gray-700 dark:text-gray-300 ${d.labelClass ?? ""}`) - }, F(n.value), 11, Jd)) : x("", !0), + }, F(n.value), 11, Yd)) : x("", !0), l("select", Te({ id: d.id, name: d.id, @@ -3662,29 +3680,29 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ "aria-invalid": r.value != null, "aria-describedby": `${d.id}-error` }, X(ft)(d.$attrs, ["class"])), [ - (o(!0), i(Se, null, je(u.value, (f) => (o(), i("option", { + (o(!0), i(Me, null, je(u.value, (f) => (o(), i("option", { value: f.key - }, F(f.value), 9, Yd))), 256)) - ], 16, Xd), + }, F(f.value), 9, tc))), 256)) + ], 16, ec), r.value ? (o(), i("p", { key: 1, class: "mt-2 text-sm text-red-500", id: `${d.id}-error` - }, F(r.value), 9, ec)) : x("", !0) + }, F(r.value), 9, sc)) : x("", !0) ], 2)); } -}), lc = { class: "flex items-center h-5" }, nc = ["id", "name", "checked"], oc = { class: "ml-3 text-sm" }, ac = ["for"], rc = { +}), oc = { class: "flex items-center h-5" }, ac = ["id", "name", "checked"], rc = { class: "ml-3 text-sm" }, ic = ["for"], uc = { key: 0, class: "mt-2 text-sm text-red-500", id: "`${id}-error`" -}, ic = { +}, dc = { key: 1, class: "mt-2 text-sm text-gray-500", id: "`${id}-description`" -}, uc = { +}, cc = { inheritAttrs: !1 -}, dc = /* @__PURE__ */ de({ - ...uc, +}, fc = /* @__PURE__ */ de({ + ...cc, __name: "CheckboxInput", props: { modelValue: { type: Boolean }, @@ -3699,11 +3717,11 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ setup(e, { emit: t }) { const s = e, n = v(() => s.label ?? Pe(at(s.id))); let a = Qe("ApiState", void 0); - const r = v(() => pt.call({ responseStatus: s.status ?? (a == null ? void 0 : a.error.value) }, s.id)); + const r = v(() => mt.call({ responseStatus: s.status ?? (a == null ? void 0 : a.error.value) }, s.id)); return (u, d) => (o(), i("div", { class: y(["relative flex items-start", u.$attrs.class]) }, [ - l("div", lc, [ + l("div", oc, [ l("input", Te({ id: u.id, name: u.id, @@ -3711,18 +3729,18 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ checked: u.modelValue, onInput: d[0] || (d[0] = (c) => u.$emit("update:modelValue", c.target.checked)), class: ["focus:ring-indigo-500 h-4 w-4 text-indigo-600 rounded border-gray-300 dark:border-gray-600 dark:bg-gray-800", u.inputClass] - }, X(ft)(u.$attrs, ["class"])), null, 16, nc) + }, X(ft)(u.$attrs, ["class"])), null, 16, ac) ]), - l("div", oc, [ + l("div", rc, [ l("label", { for: u.id, class: y(`font-medium text-gray-700 dark:text-gray-300 ${u.labelClass ?? ""}`) - }, F(n.value), 11, ac), - r.value ? (o(), i("p", rc, F(r.value), 1)) : u.help ? (o(), i("p", ic, F(u.help), 1)) : x("", !0) + }, F(n.value), 11, ic), + r.value ? (o(), i("p", uc, F(r.value), 1)) : u.help ? (o(), i("p", dc, F(u.help), 1)) : x("", !0) ]) ], 2)); } -}), cc = ["id"], fc = ["for"], vc = { class: "mt-1 relative rounded-md shadow-sm" }, pc = ["id", "name", "value"], mc = { class: "flex flex-wrap pb-1.5" }, hc = { class: "pt-1.5 pl-1" }, gc = { class: "inline-flex rounded-full items-center py-0.5 pl-2.5 pr-1 text-sm font-medium bg-indigo-100 dark:bg-indigo-800 text-indigo-700 dark:text-indigo-300" }, yc = ["onClick"], bc = /* @__PURE__ */ l("svg", { +}), vc = ["id"], pc = ["for"], mc = { class: "mt-1 relative rounded-md shadow-sm" }, hc = ["id", "name", "value"], gc = { class: "flex flex-wrap pb-1.5" }, yc = { class: "pt-1.5 pl-1" }, bc = { class: "inline-flex rounded-full items-center py-0.5 pl-2.5 pr-1 text-sm font-medium bg-indigo-100 dark:bg-indigo-800 text-indigo-700 dark:text-indigo-300" }, wc = ["onClick"], kc = /* @__PURE__ */ l("svg", { class: "h-2 w-2", stroke: "currentColor", fill: "none", @@ -3733,12 +3751,12 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ "stroke-width": "1.5", d: "M1 1l6 6m0-6L1 7" }) -], -1), wc = [ - bc -], kc = { class: "pt-1.5 pl-1 shrink" }, _c = ["type", "name", "id", "aria-invalid", "aria-describedby"], $c = ["id"], Cc = ["onMouseover", "onClick"], xc = { class: "block truncate" }, Lc = { +], -1), _c = [ + kc +], $c = { class: "pt-1.5 pl-1 shrink" }, Cc = ["type", "name", "id", "aria-invalid", "aria-describedby"], xc = ["id"], Lc = ["onMouseover", "onClick"], Vc = { class: "block truncate" }, Sc = { key: 1, class: "absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none" -}, Vc = /* @__PURE__ */ l("svg", { +}, Mc = /* @__PURE__ */ l("svg", { class: "h-5 w-5 text-red-500", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", @@ -3750,12 +3768,12 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z", "clip-rule": "evenodd" }) -], -1), Mc = [ - Vc -], Sc = ["id"], Ac = ["id"], Tc = { +], -1), Ac = [ + Mc +], Tc = ["id"], Fc = ["id"], Ic = { inheritAttrs: !1 -}, Fc = /* @__PURE__ */ de({ - ...Tc, +}, jc = /* @__PURE__ */ de({ + ...Ic, __name: "TagInput", props: { status: {}, @@ -3778,16 +3796,16 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ function a(w) { return s.converter ? s.converter(w) : w; } - const r = v(() => Ke(a(s.modelValue), (w) => typeof w == "string" ? w.trim().length == 0 ? [] : w.split(",") : w) || []), u = D(), d = D(!1), c = v(() => { + const r = v(() => Ze(a(s.modelValue), (w) => typeof w == "string" ? w.trim().length == 0 ? [] : w.split(",") : w) || []), u = O(), d = O(!1), c = v(() => { const w = $.value.toLowerCase(); return !s.allowableValues || s.allowableValues.length == 0 ? [] : s.allowableValues.length < 1e3 ? s.allowableValues.filter((N) => !r.value.includes(N) && N.toLowerCase().includes(w)) : s.allowableValues.filter((N) => !r.value.includes(N) && N.startsWith(w)); }); function f(w) { u.value = w; } - const p = D(null), $ = D(""), m = v(() => s.type || "text"), k = v(() => s.label ?? Pe(at(s.id))); + const p = O(null), $ = O(""), m = v(() => s.type || "text"), k = v(() => s.label ?? Pe(at(s.id))); let g = Qe("ApiState", void 0); - const b = v(() => pt.call({ responseStatus: s.status ?? (g == null ? void 0 : g.error.value) }, s.id)), P = v(() => [ + const b = v(() => mt.call({ responseStatus: s.status ?? (g == null ? void 0 : g.error.value) }, s.id)), P = v(() => [ "w-full cursor-text flex flex-wrap sm:text-sm rounded-md dark:text-white dark:bg-gray-900 border focus-within:border-transparent focus-within:ring-1 focus-within:outline-none", b.value ? "pr-10 border-red-300 text-red-900 placeholder-red-300 focus-within:outline-none focus-within:ring-red-500 focus-within:border-red-500" : "shadow-sm border-gray-300 dark:border-gray-600 focus-within:ring-indigo-500 focus-within:border-indigo-500", s.inputClass @@ -3796,11 +3814,11 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ var N; document.activeElement === w.target && ((N = p.value) == null || N.focus()); } - const j = D(); + const j = O(); function T() { d.value = !0, j.value = !0; } - function S() { + function M() { T(); } function ie() { @@ -3842,7 +3860,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ function K() { if ($.value.length == 0) return ""; - let w = Do($.value.trim(), ","); + let w = Po($.value.trim(), ","); return w[0] == "," && (w = w.substring(1)), w = w.trim(), w.length == 0 && d.value && c.value.length > 0 ? u.value : w; } function le(w) { @@ -3896,32 +3914,32 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ key: 0, for: w.id, class: y(`block text-sm font-medium text-gray-700 dark:text-gray-300 ${w.labelClass ?? ""}`) - }, F(k.value), 11, fc)) : x("", !0), - l("div", vc, [ + }, F(k.value), 11, pc)) : x("", !0), + l("div", mc, [ l("input", { type: "hidden", id: w.id, name: w.id, value: r.value.join(",") - }, null, 8, pc), + }, null, 8, hc), l("button", { class: y(P.value), onClick: Ue(se, ["prevent"]), onFocus: N[2] || (N[2] = (E) => d.value = !0), tabindex: "-1" }, [ - l("div", mc, [ - (o(!0), i(Se, null, je(r.value, (E) => (o(), i("div", hc, [ - l("span", gc, [ + l("div", gc, [ + (o(!0), i(Me, null, je(r.value, (E) => (o(), i("div", yc, [ + l("span", bc, [ ke(F(E) + " ", 1), l("button", { type: "button", onClick: (h) => I(E), class: "flex-shrink-0 ml-1 h-4 w-4 rounded-full inline-flex items-center justify-center text-indigo-400 dark:text-indigo-500 hover:bg-indigo-200 dark:hover:bg-indigo-800 hover:text-indigo-500 dark:hover:text-indigo-400 focus:outline-none focus:bg-indigo-500 focus:text-white dark:focus:text-black" - }, wc, 8, yc) + }, _c, 8, wc) ]) ]))), 256)), - l("div", kc, [ + l("div", $c, [ Mt(l("input", Te({ ref_key: "txtInput", ref: p, @@ -3941,11 +3959,11 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ onKeydown: z, onKeypress: le, onPaste: Ue(A, ["prevent", "stop"]), - onFocus: S, + onFocus: M, onBlur: ie, onClick: N[1] || (N[1] = (E) => d.value = !0) - }, X(ft)(w.$attrs, ["class", "required"])), null, 16, _c), [ - [bo, $.value] + }, X(ft)(w.$attrs, ["class", "required"])), null, 16, Cc), [ + [wo, $.value] ]) ]) ]) @@ -3957,33 +3975,33 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ id: `${w.id}-options`, role: "listbox" }, [ - (o(!0), i(Se, null, je(c.value.slice(0, w.maxVisibleItems), (E) => (o(), i("li", { + (o(!0), i(Me, null, je(c.value.slice(0, w.maxVisibleItems), (E) => (o(), i("li", { class: y([E === u.value ? "active bg-indigo-600 text-white" : "text-gray-900 dark:text-gray-100", "relative cursor-default select-none py-2 pl-3 pr-9"]), onMouseover: (h) => f(E), onClick: (h) => q(E), role: "option", tabindex: "-1" }, [ - l("span", xc, F(E), 1) - ], 42, Cc))), 256)) - ], 40, $c)) : x("", !0), - b.value ? (o(), i("div", Lc, Mc)) : x("", !0) + l("span", Vc, F(E), 1) + ], 42, Lc))), 256)) + ], 40, xc)) : x("", !0), + b.value ? (o(), i("div", Sc, Ac)) : x("", !0) ]), b.value ? (o(), i("p", { key: 1, class: "mt-2 text-sm text-red-500", id: `${w.id}-error` - }, F(b.value), 9, Sc)) : w.help ? (o(), i("p", { + }, F(b.value), 9, Tc)) : w.help ? (o(), i("p", { key: 2, class: "mt-2 text-sm text-gray-500", id: `${w.id}-description` - }, F(w.help), 9, Ac)) : x("", !0) - ], 10, cc)); + }, F(w.help), 9, Fc)) : x("", !0) + ], 10, vc)); } -}), Ic = { class: "relative flex-grow mr-2 sm:mr-4" }, jc = ["for"], Dc = { class: "block mt-2" }, Oc = { class: "sr-only" }, Pc = ["multiple", "name", "id", "placeholder", "aria-invalid", "aria-describedby"], Bc = { +}), Oc = { class: "relative flex-grow mr-2 sm:mr-4" }, Dc = ["for"], Pc = { class: "block mt-2" }, Bc = { class: "sr-only" }, Hc = ["multiple", "name", "id", "placeholder", "aria-invalid", "aria-describedby"], Rc = { key: 0, class: "absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none" -}, Hc = /* @__PURE__ */ l("svg", { +}, Ec = /* @__PURE__ */ l("svg", { class: "h-5 w-5 text-red-500", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", @@ -3995,18 +4013,18 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z", "clip-rule": "evenodd" }) -], -1), Rc = [ - Hc -], Ec = ["id"], zc = ["id"], Nc = { key: 0 }, Uc = ["title"], qc = ["alt", "src"], Qc = { +], -1), zc = [ + Ec +], Nc = ["id"], Uc = ["id"], qc = { key: 0 }, Qc = ["title"], Kc = ["alt", "src"], Zc = { key: 1, class: "mt-3" -}, Kc = { class: "w-full" }, Zc = { class: "pr-6 align-bottom pb-2" }, Wc = ["title"], Gc = ["src", "onError"], Jc = ["href"], Xc = { +}, Wc = { class: "w-full" }, Gc = { class: "pr-6 align-bottom pb-2" }, Jc = ["title"], Xc = ["src", "onError"], Yc = ["href"], e0 = { key: 1, class: "overflow-hidden" -}, Yc = { class: "align-top pb-2 whitespace-nowrap" }, e0 = { +}, t0 = { class: "align-top pb-2 whitespace-nowrap" }, s0 = { key: 0, class: "text-gray-500 dark:text-gray-400 text-sm bg-white dark:bg-black" -}, t0 = /* @__PURE__ */ de({ +}, l0 = /* @__PURE__ */ de({ __name: "FileInput", props: { multiple: { type: Boolean }, @@ -4023,22 +4041,22 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ }, setup(e) { var T; - const t = e, s = D(null), { assetsPathResolver: n, fallbackPathResolver: a } = It(), r = {}, u = D(), d = D(((T = t.files) == null ? void 0 : T.map(c)) || []); - function c(S) { - return S.filePath = n(S.filePath), S; + const t = e, s = O(null), { assetsPathResolver: n, fallbackPathResolver: a } = It(), r = {}, u = O(), d = O(((T = t.files) == null ? void 0 : T.map(c)) || []); + function c(M) { + return M.filePath = n(M.filePath), M; } - t.values && t.values.length > 0 && (d.value = t.values.map((S) => { - let ie = S.replace(/\\/g, "/"); - return { fileName: un(St(ie, "/"), "."), filePath: ie, contentType: Ys(ie) }; + t.values && t.values.length > 0 && (d.value = t.values.map((M) => { + let ie = M.replace(/\\/g, "/"); + return { fileName: rn(At(ie, "/"), "."), filePath: ie, contentType: Ys(ie) }; }).map(c)); const f = v(() => t.label ?? Pe(at(t.id))), p = v(() => t.placeholder ?? f.value); let $ = Qe("ApiState", void 0); - const m = v(() => pt.call({ responseStatus: t.status ?? ($ == null ? void 0 : $.error.value) }, t.id)), k = v(() => [ + const m = v(() => mt.call({ responseStatus: t.status ?? ($ == null ? void 0 : $.error.value) }, t.id)), k = v(() => [ "block w-full sm:text-sm rounded-md dark:text-white dark:bg-gray-900 file:mr-4 file:py-2 file:px-4 file:rounded-full file:border-0 file:text-sm file:font-semibold file:bg-violet-50 dark:file:bg-violet-900 file:text-violet-700 dark:file:text-violet-200 hover:file:bg-violet-100 dark:hover:file:bg-violet-800", m.value ? "pr-10 border-red-300 text-red-900 placeholder-red-300 focus:outline-none focus:ring-red-500 focus:border-red-500" : "text-slate-500 dark:text-slate-400", t.inputClass - ]), g = (S) => { - let ie = S.target; + ]), g = (M) => { + let ie = M.target; u.value = "", d.value = Array.from(ie.files || []).map((L) => ({ fileName: L.name, filePath: pl(L), @@ -4046,79 +4064,79 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ contentType: L.type || Ys(L.name) })); }, b = () => { - var S; - return (S = s.value) == null ? void 0 : S.click(); - }, P = (S) => S == null ? !1 : S.startsWith("data:") || S.startsWith("blob:"), I = v(() => { + var M; + return (M = s.value) == null ? void 0 : M.click(); + }, P = (M) => M == null ? !1 : M.startsWith("data:") || M.startsWith("blob:"), I = v(() => { if (d.value.length > 0) return d.value[0].filePath; - let S = typeof t.modelValue == "string" ? t.modelValue : t.values && t.values[0]; - return S && Ct(n(S)) || null; - }), se = (S) => !S || S.startsWith("data:") || S.endsWith(".svg") ? "" : "rounded-full object-cover"; - function j(S) { + let M = typeof t.modelValue == "string" ? t.modelValue : t.values && t.values[0]; + return M && xt(n(M)) || null; + }), se = (M) => !M || M.startsWith("data:") || M.endsWith(".svg") ? "" : "rounded-full object-cover"; + function j(M) { u.value = a(I.value); } - return Tt($n), (S, ie) => (o(), i("div", { - class: y(["flex", S.multiple ? "flex-col" : "justify-between"]) + return Ft(Cn), (M, ie) => (o(), i("div", { + class: y(["flex", M.multiple ? "flex-col" : "justify-between"]) }, [ - l("div", Ic, [ + l("div", Oc, [ f.value ? (o(), i("label", { key: 0, - for: S.id, - class: y(`block text-sm font-medium text-gray-700 dark:text-gray-300 ${S.labelClass ?? ""}`) - }, F(f.value), 11, jc)) : x("", !0), - l("div", Dc, [ - l("span", Oc, F(S.help ?? f.value), 1), + for: M.id, + class: y(`block text-sm font-medium text-gray-700 dark:text-gray-300 ${M.labelClass ?? ""}`) + }, F(f.value), 11, Dc)) : x("", !0), + l("div", Pc, [ + l("span", Bc, F(M.help ?? f.value), 1), l("input", Te({ ref_key: "input", ref: s, type: "file", - multiple: S.multiple, - name: S.id, - id: S.id, + multiple: M.multiple, + name: M.id, + id: M.id, class: k.value, placeholder: p.value, "aria-invalid": m.value != null, - "aria-describedby": `${S.id}-error` - }, S.$attrs, { onChange: g }), null, 16, Pc), - m.value ? (o(), i("div", Bc, Rc)) : x("", !0) + "aria-describedby": `${M.id}-error` + }, M.$attrs, { onChange: g }), null, 16, Hc), + m.value ? (o(), i("div", Rc, zc)) : x("", !0) ]), m.value ? (o(), i("p", { key: 1, class: "mt-2 text-sm text-red-500", - id: `${S.id}-error` - }, F(m.value), 9, Ec)) : S.help ? (o(), i("p", { + id: `${M.id}-error` + }, F(m.value), 9, Nc)) : M.help ? (o(), i("p", { key: 2, class: "mt-2 text-sm text-gray-500", - id: `${S.id}-description` - }, F(S.help), 9, zc)) : x("", !0) + id: `${M.id}-description` + }, F(M.help), 9, Uc)) : x("", !0) ]), - S.multiple ? (o(), i("div", Qc, [ - l("table", Kc, [ - (o(!0), i(Se, null, je(d.value, (L) => (o(), i("tr", null, [ - l("td", Zc, [ + M.multiple ? (o(), i("div", Zc, [ + l("table", Wc, [ + (o(!0), i(Me, null, je(d.value, (L) => (o(), i("tr", null, [ + l("td", Gc, [ l("div", { class: "flex w-full", title: P(L.filePath) ? "" : L.filePath }, [ l("img", { - src: r[X(Ct)(L.filePath)] || X(n)(X(Ct)(L.filePath)), + src: r[X(xt)(L.filePath)] || X(n)(X(xt)(L.filePath)), class: y(["mr-2 h-8 w-8", se(L.filePath)]), - onError: (z) => r[X(Ct)(L.filePath)] = X(a)(X(Ct)(L.filePath)) - }, null, 42, Gc), - P(L.filePath) ? (o(), i("span", Xc, F(L.fileName), 1)) : (o(), i("a", { + onError: (z) => r[X(xt)(L.filePath)] = X(a)(X(xt)(L.filePath)) + }, null, 42, Xc), + P(L.filePath) ? (o(), i("span", e0, F(L.fileName), 1)) : (o(), i("a", { key: 0, href: X(n)(L.filePath || ""), target: "_blank", class: "overflow-hidden" - }, F(L.fileName), 9, Jc)) - ], 8, Wc) + }, F(L.fileName), 9, Yc)) + ], 8, Jc) ]), - l("td", Yc, [ - L.contentLength && L.contentLength > 0 ? (o(), i("span", e0, F(X(hl)(L.contentLength)), 1)) : x("", !0) + l("td", t0, [ + L.contentLength && L.contentLength > 0 ? (o(), i("span", s0, F(X(hl)(L.contentLength)), 1)) : x("", !0) ]) ]))), 256)) ]) - ])) : (o(), i("div", Nc, [ + ])) : (o(), i("div", qc, [ I.value ? (o(), i("div", { key: 0, class: "shrink-0 cursor-pointer", @@ -4130,12 +4148,12 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ alt: `Current ${f.value ?? ""}`, src: u.value || X(n)(I.value), onError: j - }, null, 42, qc) - ], 8, Uc)) : x("", !0) + }, null, 42, Kc) + ], 8, Qc)) : x("", !0) ])) ], 2)); } -}), s0 = ["id"], l0 = ["for"], n0 = { class: "relative mt-1" }, o0 = ["id", "placeholder"], a0 = /* @__PURE__ */ l("svg", { +}), n0 = ["id"], o0 = ["for"], a0 = { class: "relative mt-1" }, r0 = ["id", "placeholder"], i0 = /* @__PURE__ */ l("svg", { class: "h-5 w-5 text-gray-400 dark:text-gray-500", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", @@ -4147,9 +4165,9 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ d: "M10 3a.75.75 0 01.55.24l3.25 3.5a.75.75 0 11-1.1 1.02L10 4.852 7.3 7.76a.75.75 0 01-1.1-1.02l3.25-3.5A.75.75 0 0110 3zm-3.76 9.2a.75.75 0 011.06.04l2.7 2.908 2.7-2.908a.75.75 0 111.1 1.02l-3.25 3.5a.75.75 0 01-1.1 0l-3.25-3.5a.75.75 0 01.04-1.06z", "clip-rule": "evenodd" }) -], -1), r0 = [ - a0 -], i0 = ["id"], u0 = ["onMouseover", "onClick"], d0 = /* @__PURE__ */ l("svg", { +], -1), u0 = [ + i0 +], d0 = ["id"], c0 = ["onMouseover", "onClick"], f0 = /* @__PURE__ */ l("svg", { class: "h-5 w-5", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", @@ -4161,13 +4179,13 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ d: "M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z", "clip-rule": "evenodd" }) -], -1), c0 = [ - d0 -], f0 = { +], -1), v0 = [ + f0 +], p0 = { key: 2, class: "absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none", tabindex: "-1" -}, v0 = /* @__PURE__ */ l("svg", { +}, m0 = /* @__PURE__ */ l("svg", { class: "h-5 w-5 text-red-500", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", @@ -4179,9 +4197,9 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z", "clip-rule": "evenodd" }) -], -1), p0 = [ - v0 -], m0 = ["id"], h0 = ["id"], g0 = /* @__PURE__ */ de({ +], -1), h0 = [ + m0 +], g0 = ["id"], y0 = ["id"], b0 = /* @__PURE__ */ de({ __name: "Autocomplete", props: { status: {}, @@ -4200,14 +4218,14 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ }, emits: ["update:modelValue"], setup(e, { expose: t, emit: s }) { - const n = D(!1), a = e, r = s; + const n = O(!1), a = e, r = s; t({ toggle: R }); function u(A) { return Array.isArray(a.modelValue) && a.modelValue.indexOf(A) >= 0; } const d = v(() => a.label ?? Pe(at(a.id))); let c = Qe("ApiState", void 0); - const f = v(() => pt.call({ responseStatus: a.status ?? (c == null ? void 0 : c.error.value) }, a.id)), p = v(() => [ot.base, f.value ? ot.invalid : ot.valid]), $ = D(null), m = D(""), k = D(null), g = D(a.viewCount), b = D([]), P = v(() => m.value ? a.options.filter((te) => a.match(te, m.value)).slice(0, g.value) : a.options), I = ["Tab", "Escape", "ArrowDown", "ArrowUp", "Enter", "PageUp", "PageDown", "Home", "End"]; + const f = v(() => mt.call({ responseStatus: a.status ?? (c == null ? void 0 : c.error.value) }, a.id)), p = v(() => [ot.base, f.value ? ot.invalid : ot.valid]), $ = O(null), m = O(""), k = O(null), g = O(a.viewCount), b = O([]), P = v(() => m.value ? a.options.filter((te) => a.match(te, m.value)).slice(0, g.value) : a.options), I = ["Tab", "Escape", "ArrowDown", "ArrowUp", "Enter", "PageUp", "PageDown", "Home", "End"]; function se(A) { k.value = A, b.value.indexOf(A) > Math.floor(g.value * 0.9) && (g.value += a.viewCount, q()); } @@ -4216,9 +4234,9 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ function T(A) { var w; const te = (w = A.clipboardData) == null ? void 0 : w.getData("Text"); - S(te); + M(te); } - function S(A) { + function M(A) { if (!A) return; const te = j.some((w) => A.includes(w)); @@ -4231,7 +4249,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ m.value = "", n.value = !1, k.value = null; let h = Array.from(a.modelValue || []); E.forEach((C) => { - u(C) ? h = h.filter((J) => J != C) : h.push(C); + u(C) ? h = h.filter((Y) => Y != C) : h.push(C); }), r("update:modelValue", h), hs(); } } @@ -4305,15 +4323,15 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ function q() { b.value = P.value; } - return yt(m, q), (A, te) => (o(), i("div", { + return bt(m, q), (A, te) => (o(), i("div", { id: `${A.id}-autocomplete` }, [ d.value ? (o(), i("label", { key: 0, for: `${A.id}-text`, class: "block text-sm font-medium text-gray-700 dark:text-gray-300" - }, F(d.value), 9, l0)) : x("", !0), - l("div", n0, [ + }, F(d.value), 9, o0)) : x("", !0), + l("div", a0, [ Mt(l("input", Te({ ref_key: "txtInput", ref: $, @@ -4333,15 +4351,15 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ onClick: W, onPaste: T, required: !1 - }, A.$attrs), null, 16, o0), [ - [wo, m.value] + }, A.$attrs), null, 16, r0), [ + [ko, m.value] ]), l("button", { type: "button", onClick: te[1] || (te[1] = (w) => R(!n.value)), class: "absolute inset-y-0 right-0 flex items-center rounded-r-md px-2 focus:outline-none", tabindex: "-1" - }, r0), + }, u0), n.value ? (o(), i("ul", { key: 0, class: "absolute z-10 mt-1 max-h-60 w-full overflow-auto rounded-md bg-white dark:bg-black py-1 text-base shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none sm:text-sm", @@ -4349,7 +4367,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ id: `${A.id}-options`, role: "listbox" }, [ - (o(!0), i(Se, null, je(b.value, (w) => (o(), i("li", { + (o(!0), i(Me, null, je(b.value, (w) => (o(), i("li", { class: y([w === k.value ? "active bg-indigo-600 text-white" : "text-gray-900 dark:text-gray-100", "relative cursor-default select-none py-2 pl-3 pr-9"]), onMouseover: (N) => se(w), onClick: (N) => ee(w), @@ -4360,9 +4378,9 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ u(w) ? (o(), i("span", { key: 0, class: y(["absolute inset-y-0 right-0 flex items-center pr-4", w === k.value ? "text-white" : "text-indigo-600"]) - }, c0, 2)) : x("", !0) - ], 42, u0))), 256)) - ], 40, i0)) : !A.multiple && A.modelValue ? (o(), i("div", { + }, v0, 2)) : x("", !0) + ], 42, c0))), 256)) + ], 40, d0)) : !A.multiple && A.modelValue ? (o(), i("div", { key: 1, onKeydown: L, onClick: te[2] || (te[2] = (w) => R(!n.value)), @@ -4370,20 +4388,20 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ }, [ U(A.$slots, "item", Rt(ks(A.modelValue))) ], 32)) : x("", !0), - f.value ? (o(), i("div", f0, p0)) : x("", !0) + f.value ? (o(), i("div", p0, h0)) : x("", !0) ]), f.value ? (o(), i("p", { key: 1, class: "mt-2 text-sm text-red-500", id: `${A.id}-error` - }, F(f.value), 9, m0)) : A.help ? (o(), i("p", { + }, F(f.value), 9, g0)) : A.help ? (o(), i("p", { key: 2, class: "mt-2 text-sm text-gray-500", id: `${A.id}-description` - }, F(A.help), 9, h0)) : x("", !0) - ], 8, s0)); + }, F(A.help), 9, y0)) : x("", !0) + ], 8, n0)); } -}), y0 = ["id", "name", "value"], b0 = { class: "block truncate" }, w0 = /* @__PURE__ */ de({ +}), w0 = ["id", "name", "value"], k0 = { class: "block truncate" }, _0 = /* @__PURE__ */ de({ __name: "Combobox", props: { id: {}, @@ -4406,11 +4424,11 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ function r(k) { a("update:modelValue", k); } - const u = v(() => n.multiple != null ? n.multiple : Array.isArray(n.modelValue)), d = D(); + const u = v(() => n.multiple != null ? n.multiple : Array.isArray(n.modelValue)), d = O(); function c(k, g) { return !g || k.value.toLowerCase().includes(g.toLowerCase()); } - const f = v(() => n.entries || (n.values ? n.values.map((k) => ({ key: k, value: k })) : n.options ? Object.keys(n.options).map((k) => ({ key: k, value: n.options[k] })) : [])), p = D(u.value ? [] : null); + const f = v(() => n.entries || (n.values ? n.values.map((k) => ({ key: k, value: k })) : n.options ? Object.keys(n.options).map((k) => ({ key: k, value: n.options[k] })) : [])), p = O(u.value ? [] : null); function $() { let k = n.modelValue && typeof n.modelValue == "object" ? n.modelValue.key : n.modelValue; k == null || k === "" ? p.value = u.value ? [] : null : typeof k == "string" ? p.value = f.value.find((g) => g.key === k) || null : Array.isArray(k) && (p.value = f.value.filter((g) => k.includes(g.key))); @@ -4419,13 +4437,13 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ const m = v(() => p.value == null ? "" : Array.isArray(p.value) ? p.value.map((k) => encodeURIComponent(k.key)).join(",") : p.value.key); return (k, g) => { const b = Z("Autocomplete"); - return o(), i(Se, null, [ + return o(), i(Me, null, [ l("input", { type: "hidden", id: k.id, name: k.id, value: m.value - }, null, 8, y0), + }, null, 8, w0), ye(b, Te({ ref_key: "input", ref: d, @@ -4441,14 +4459,14 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ ] }), { item: xe(({ key: P, value: I }) => [ - l("span", b0, F(I), 1) + l("span", k0, F(I), 1) ]), _: 1 }, 16, ["id", "options", "multiple", "modelValue"]) ], 64); }; } -}), k0 = /* @__PURE__ */ de({ +}), $0 = /* @__PURE__ */ de({ __name: "DynamicInput", props: { input: {}, @@ -4457,11 +4475,8 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ }, emits: ["update:modelValue"], setup(e, { emit: t }) { - const s = e, n = t, a = v(() => s.input.type || "text"), r = "ignore,css,options,meta,allowableValues,allowableEntries,op,prop,type,id,name".split(","), u = v(() => ft(s.input, r)), d = D(Ke( - s.modelValue[s.input.id], - (f) => s.input.type === "file" ? null : s.input.type === "date" && f instanceof Date ? Ms(f) : s.input.type === "time" ? vn(f) : f - )); - yt(d, () => { + const s = e, n = t, a = v(() => s.input.type || "text"), r = "ignore,css,options,meta,allowableValues,allowableEntries,op,prop,type,id,name".split(","), u = v(() => ft(s.input, r)), d = O(a.value === "file" ? null : s.modelValue[s.input.id]); + bt(d, () => { s.modelValue[s.input.id] = d.value, n("update:modelValue", s.modelValue); }); const c = v(() => { @@ -4469,32 +4484,32 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ if (s.input.type !== "file" || !f) return []; if (typeof f == "string") - return [{ filePath: f, fileName: St(f, "/") }]; + return [{ filePath: f, fileName: At(f, "/") }]; if (!Array.isArray(f) && typeof f == "object") return f; if (Array.isArray(f)) { const p = []; return f.forEach(($) => { - typeof $ == "string" ? p.push({ filePath: $, fileName: St($, "/") }) : typeof $ == "object" && p.push($); + typeof $ == "string" ? p.push({ filePath: $, fileName: At($, "/") }) : typeof $ == "object" && p.push($); }), p; } }); return (f, p) => { - var j, T, S, ie, L, z, K, le, R, W, ee, q, A, te, w, N, E, h, C, J, G, ne, O, V, fe, pe, ue, me; + var j, T, M, ie, L, z, K, le, R, W, ee, q, A, te, w, N, E, h, C, Y, J, ne, D, V, fe, pe, ue, me; const $ = Z("SelectInput"), m = Z("CheckboxInput"), k = Z("TagInput"), g = Z("Combobox"), b = Z("FileInput"), P = Z("TextareaInput"), I = Z("MarkdownInput"), se = Z("TextInput"); - return X(Y).component(a.value) ? (o(), ae(an(X(Y).component(a.value)), Te({ + return X(G).component(a.value) ? (o(), ae(an(X(G).component(a.value)), Te({ key: 0, id: f.input.id, modelValue: d.value, - "onUpdate:modelValue": p[0] || (p[0] = (M) => d.value = M), + "onUpdate:modelValue": p[0] || (p[0] = (S) => d.value = S), status: (j = f.api) == null ? void 0 : j.error, "input-class": (T = f.input.css) == null ? void 0 : T.input, - "label-class": (S = f.input.css) == null ? void 0 : S.label + "label-class": (M = f.input.css) == null ? void 0 : M.label }, u.value), null, 16, ["id", "modelValue", "status", "input-class", "label-class"])) : a.value == "select" ? (o(), ae($, Te({ key: 1, id: f.input.id, modelValue: d.value, - "onUpdate:modelValue": p[1] || (p[1] = (M) => d.value = M), + "onUpdate:modelValue": p[1] || (p[1] = (S) => d.value = S), status: (ie = f.api) == null ? void 0 : ie.error, "input-class": (L = f.input.css) == null ? void 0 : L.input, "label-class": (z = f.input.css) == null ? void 0 : z.label, @@ -4504,7 +4519,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ key: 2, id: f.input.id, modelValue: d.value, - "onUpdate:modelValue": p[2] || (p[2] = (M) => d.value = M), + "onUpdate:modelValue": p[2] || (p[2] = (S) => d.value = S), status: (K = f.api) == null ? void 0 : K.error, "input-class": (le = f.input.css) == null ? void 0 : le.input, "label-class": (R = f.input.css) == null ? void 0 : R.label @@ -4512,7 +4527,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ key: 3, id: f.input.id, modelValue: d.value, - "onUpdate:modelValue": p[3] || (p[3] = (M) => d.value = M), + "onUpdate:modelValue": p[3] || (p[3] = (S) => d.value = S), status: (W = f.api) == null ? void 0 : W.error, "input-class": (ee = f.input.css) == null ? void 0 : ee.input, "label-class": (q = f.input.css) == null ? void 0 : q.label, @@ -4522,7 +4537,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ key: 4, id: f.input.id, modelValue: d.value, - "onUpdate:modelValue": p[4] || (p[4] = (M) => d.value = M), + "onUpdate:modelValue": p[4] || (p[4] = (S) => d.value = S), status: (te = f.api) == null ? void 0 : te.error, "input-class": (w = f.input.css) == null ? void 0 : w.input, "label-class": (N = f.input.css) == null ? void 0 : N.label, @@ -4533,7 +4548,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ id: f.input.id, status: (E = f.api) == null ? void 0 : E.error, modelValue: d.value, - "onUpdate:modelValue": p[5] || (p[5] = (M) => d.value = M), + "onUpdate:modelValue": p[5] || (p[5] = (S) => d.value = S), "input-class": (h = f.input.css) == null ? void 0 : h.input, "label-class": (C = f.input.css) == null ? void 0 : C.label, files: c.value @@ -4541,16 +4556,16 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ key: 6, id: f.input.id, modelValue: d.value, - "onUpdate:modelValue": p[6] || (p[6] = (M) => d.value = M), - status: (J = f.api) == null ? void 0 : J.error, - "input-class": (G = f.input.css) == null ? void 0 : G.input, + "onUpdate:modelValue": p[6] || (p[6] = (S) => d.value = S), + status: (Y = f.api) == null ? void 0 : Y.error, + "input-class": (J = f.input.css) == null ? void 0 : J.input, "label-class": (ne = f.input.css) == null ? void 0 : ne.label }, u.value), null, 16, ["id", "modelValue", "status", "input-class", "label-class"])) : a.value == "MarkdownInput" ? (o(), ae(I, Te({ key: 7, id: f.input.id, modelValue: d.value, - "onUpdate:modelValue": p[7] || (p[7] = (M) => d.value = M), - status: (O = f.api) == null ? void 0 : O.error, + "onUpdate:modelValue": p[7] || (p[7] = (S) => d.value = S), + status: (D = f.api) == null ? void 0 : D.error, "input-class": (V = f.input.css) == null ? void 0 : V.input, "label-class": (fe = f.input.css) == null ? void 0 : fe.label }, u.value), null, 16, ["id", "modelValue", "status", "input-class", "label-class"])) : (o(), ae(se, Te({ @@ -4558,20 +4573,20 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ type: a.value, id: f.input.id, modelValue: d.value, - "onUpdate:modelValue": p[8] || (p[8] = (M) => d.value = M), + "onUpdate:modelValue": p[8] || (p[8] = (S) => d.value = S), status: (pe = f.api) == null ? void 0 : pe.error, "input-class": (ue = f.input.css) == null ? void 0 : ue.input, "label-class": (me = f.input.css) == null ? void 0 : me.label }, u.value), null, 16, ["type", "id", "modelValue", "status", "input-class", "label-class"])); }; } -}), _0 = { class: "lookup-field" }, $0 = ["name", "value"], C0 = { +}), C0 = { class: "lookup-field" }, x0 = ["name", "value"], L0 = { key: 0, class: "flex justify-between" -}, x0 = ["for"], L0 = { +}, V0 = ["for"], S0 = { key: 0, class: "flex items-center" -}, V0 = { class: "text-sm text-gray-500 dark:text-gray-400 pr-1" }, M0 = /* @__PURE__ */ l("span", { class: "sr-only" }, "Clear", -1), S0 = /* @__PURE__ */ l("svg", { +}, M0 = { class: "text-sm text-gray-500 dark:text-gray-400 pr-1" }, A0 = /* @__PURE__ */ l("span", { class: "sr-only" }, "Clear", -1), T0 = /* @__PURE__ */ l("svg", { class: "h-4 w-4", xmlns: "http://www.w3.org/2000/svg", fill: "none", @@ -4585,13 +4600,13 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ "stroke-linejoin": "round", d: "M6 18L18 6M6 6l12 12" }) -], -1), A0 = [ - M0, - S0 -], T0 = { +], -1), F0 = [ + A0, + T0 +], I0 = { key: 1, class: "mt-1 relative" -}, F0 = { class: "w-full inline-flex truncate" }, I0 = { class: "text-blue-700 dark:text-blue-300 flex cursor-pointer" }, j0 = /* @__PURE__ */ l("span", { class: "absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none" }, [ +}, j0 = { class: "w-full inline-flex truncate" }, O0 = { class: "text-blue-700 dark:text-blue-300 flex cursor-pointer" }, D0 = /* @__PURE__ */ l("span", { class: "absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none" }, [ /* @__PURE__ */ l("svg", { class: "h-5 w-5 text-gray-400 dark:text-gray-500", xmlns: "http://www.w3.org/2000/svg", @@ -4605,7 +4620,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ "clip-rule": "evenodd" }) ]) -], -1), D0 = ["id"], O0 = ["id"], P0 = /* @__PURE__ */ de({ +], -1), P0 = ["id"], B0 = ["id"], H0 = /* @__PURE__ */ de({ __name: "LookupInput", props: { id: {}, @@ -4621,9 +4636,9 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ setup(e, { emit: t }) { const { config: s } = It(), { metadataApi: n } = lt(), a = e, r = t, u = v(() => a.id || a.input.id), d = v(() => a.label ?? Pe(at(u.value))); let c = Qe("ApiState", void 0); - const f = Qe("client"), p = v(() => pt.call({ responseStatus: a.status ?? (c == null ? void 0 : c.error.value) }, u.value)), $ = D(""), m = D(""), k = v(() => _e(a.modelValue, u.value)), g = v(() => st(a.metadataType).find((j) => j.name.toLowerCase() == u.value.toLowerCase())), b = v(() => { - var j, T, S; - return ((S = rt((T = (j = g.value) == null ? void 0 : j.ref) == null ? void 0 : T.model)) == null ? void 0 : S.icon) || s.value.tableIcon; + const f = Qe("client"), p = v(() => mt.call({ responseStatus: a.status ?? (c == null ? void 0 : c.error.value) }, u.value)), $ = O(""), m = O(""), k = v(() => _e(a.modelValue, u.value)), g = v(() => st(a.metadataType).find((j) => j.name.toLowerCase() == u.value.toLowerCase())), b = v(() => { + var j, T, M; + return ((M = rt((T = (j = g.value) == null ? void 0 : j.ref) == null ? void 0 : T.model)) == null ? void 0 : M.icon) || s.value.tableIcon; }); let P; function I(j) { @@ -4634,10 +4649,10 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ } P.openModal({ name: "ModalLookup", ref: j }, (T) => { if (console.debug("openModal", $.value, " -> ", T, Pt.setRefValue(j, T), j), T) { - const S = _e(T, j.refId); - $.value = Pt.setRefValue(j, T) || S; + const M = _e(T, j.refId); + $.value = Pt.setRefValue(j, T) || M; const ie = X(a.modelValue); - ie[u.value] = S, r("update:modelValue", ie); + ie[u.value] = M, r("update:modelValue", ie); } }); } @@ -4650,61 +4665,61 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ P = Qe("ModalProvider", void 0); const j = a.modelValue; a.modelValue[u.value] || (a.modelValue[u.value] = null); - const T = g.value, S = T == null ? void 0 : T.ref; - if (!S) { + const T = g.value, M = T == null ? void 0 : T.ref; + if (!M) { console.warn(`No RefInfo for property '${u.value}'`); return; } $.value = ""; - let ie = S.selfId == null ? _e(j, T.name) : _e(j, S.selfId); - if (Xt(ie) && (ie = _e(j, S.refId)), ie == null) + let ie = M.selfId == null ? _e(j, T.name) : _e(j, M.selfId); + if (Xt(ie) && (ie = _e(j, M.refId)), ie == null) return; if (((K = n.value) == null ? void 0 : K.operations.find((R) => { var W; - return ((W = R.dataModel) == null ? void 0 : W.name) == S.model; + return ((W = R.dataModel) == null ? void 0 : W.name) == M.model; })) != null) { const R = _e(j, T.name); if (Xt(R)) return; - if ($.value = `${R}`, m.value = T.name, S.refLabel != null) { - const W = st(a.metadataType).find((q) => q.type == S.model); - W == null && console.warn(`Could not find ${S.model} Property on ${a.metadataType.name}`); + if ($.value = `${R}`, m.value = T.name, M.refLabel != null) { + const W = st(a.metadataType).find((q) => q.type == M.model); + W == null && console.warn(`Could not find ${M.model} Property on ${a.metadataType.name}`); const ee = W != null ? _e(j, W.name) : null; if (ee != null) { - let q = _e(ee, S.refLabel); - q && ($.value = `${q}`, Pt.setValue(S.model, ie, S.refLabel, q)); + let q = _e(ee, M.refLabel); + q && ($.value = `${q}`, Pt.setValue(M.model, ie, M.refLabel, q)); } else { const q = ((le = T.attributes) == null ? void 0 : le.some((te) => te.name == "Computed")) == !0; - let A = await Pt.getOrFetchValue(f, n.value, S.model, S.refId, S.refLabel, q, ie); - $.value = A || `${S.model}: ${$.value}`; + let A = await Pt.getOrFetchValue(f, n.value, M.model, M.refId, M.refLabel, q, ie); + $.value = A || `${M.model}: ${$.value}`; } } } }), (j, T) => { var ie; - const S = Z("Icon"); - return o(), i("div", _0, [ + const M = Z("Icon"); + return o(), i("div", C0, [ l("input", { type: "hidden", name: u.value, value: k.value - }, null, 8, $0), - d.value ? (o(), i("div", C0, [ + }, null, 8, x0), + d.value ? (o(), i("div", L0, [ l("label", { for: u.value, class: y(`block text-sm font-medium text-gray-700 dark:text-gray-300 ${j.labelClass ?? ""}`) - }, F(d.value), 11, x0), - k.value ? (o(), i("div", L0, [ - l("span", V0, F(k.value), 1), + }, F(d.value), 11, V0), + k.value ? (o(), i("div", S0, [ + l("span", M0, F(k.value), 1), l("button", { onClick: se, type: "button", title: "clear", class: "mr-1 rounded-md 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" - }, A0) + }, F0) ])) : x("", !0) ])) : x("", !0), - (ie = g.value) != null && ie.ref ? (o(), i("div", T0, [ + (ie = g.value) != null && ie.ref ? (o(), i("div", I0, [ l("button", { type: "button", class: "lookup flex relative w-full bg-white dark:bg-black border border-gray-300 dark:border-gray-700 rounded-md shadow-sm pl-3 pr-10 py-2 text-left focus:outline-none focus:ring-1 focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm", @@ -4713,31 +4728,31 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ "aria-expanded": "true", "aria-labelledby": "listbox-label" }, [ - l("span", F0, [ - l("span", I0, [ - ye(S, { + l("span", j0, [ + l("span", O0, [ + ye(M, { class: "mr-1 w-5 h-5", image: b.value }, null, 8, ["image"]), l("span", null, F($.value), 1) ]) ]), - j0 + D0 ]) ])) : x("", !0), p.value ? (o(), i("p", { key: 2, class: "mt-2 text-sm text-red-500", id: `${u.value}-error` - }, F(p.value), 9, D0)) : j.help ? (o(), i("p", { + }, F(p.value), 9, P0)) : j.help ? (o(), i("p", { key: 3, class: "mt-2 text-sm text-gray-500", id: `${u.value}-description` - }, F(j.help), 9, O0)) : x("", !0) + }, F(j.help), 9, B0)) : x("", !0) ]); }; } -}), B0 = /* @__PURE__ */ de({ +}), R0 = /* @__PURE__ */ de({ __name: "AutoFormFields", props: { modelValue: {}, @@ -4770,40 +4785,42 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ } const { metadataApi: c, apiOf: f, typeOf: p, typeOfRef: $, createFormLayout: m, Crud: k } = lt(), g = v(() => n.type || qt(n.modelValue)), b = v(() => n.metaType ?? p(g.value)), P = v(() => { var j, T; - return $((T = (j = c.value) == null ? void 0 : j.operations.find((S) => S.request.name == g.value)) == null ? void 0 : T.dataModel) || b.value; - }), I = v(() => { + return $((T = (j = c.value) == null ? void 0 : j.operations.find((M) => M.request.name == g.value)) == null ? void 0 : T.dataModel) || b.value; + }); + function I() { const j = b.value; if (!j) { if (n.formLayout) { const K = n.formLayout.map((le) => { - const R = { name: le.id, type: Ta(le.type) }, W = Object.assign({ prop: R }, le); + const R = { name: le.id, type: Ia(le.type) }, W = Object.assign({ prop: R }, le); return n.configureField && n.configureField(W), W; }); return n.configureFormLayout && n.configureFormLayout(K), K; } throw new Error(`MetadataType for ${g.value} not found`); } - const T = st(j), S = P.value, ie = n.formLayout ? n.formLayout : m(j), L = [], z = f(j.name); + const T = st(j), M = P.value, ie = n.formLayout ? Array.from(n.formLayout) : m(j), L = [], z = f(j.name); return ie.forEach((K) => { var ee; const le = T.find((q) => q.name == K.name); if (K.ignore) return; - const R = ((ee = S == null ? void 0 : S.properties) == null ? void 0 : ee.find((q) => { + const R = ((ee = M == null ? void 0 : M.properties) == null ? void 0 : ee.find((q) => { var A; return q.name.toLowerCase() == ((A = K.name) == null ? void 0 : A.toLowerCase()); })) ?? le, W = Object.assign({ prop: R, op: z }, K); n.configureField && n.configureField(W), L.push(W); }), n.configureFormLayout && n.configureFormLayout(L), L; - }), se = v(() => I.value.filter((j) => j.type != "hidden").map((j) => j.id)); + } + const se = () => I().filter((j) => j.type != "hidden").map((j) => j.id); return (j, T) => { var z; - const S = Z("ErrorSummary"), ie = Z("LookupInput"), L = Z("DynamicInput"); - return o(), i(Se, null, [ - j.hideSummary ? x("", !0) : (o(), ae(S, { + const M = Z("ErrorSummary"), ie = Z("LookupInput"), L = Z("DynamicInput"); + return o(), i(Me, null, [ + j.hideSummary ? x("", !0) : (o(), ae(M, { key: 0, status: (z = j.api) == null ? void 0 : z.error, - except: se.value + except: se() }, null, 8, ["status", "except"])), l("div", { class: y(j.flexClass) @@ -4817,7 +4834,7 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ l("fieldset", { class: y(j.fieldsetClass) }, [ - (o(!0), i(Se, null, je(I.value, (K) => { + (o(!0), i(Me, null, je(I(), (K) => { var le, R, W; return o(), i("div", { key: K.id, @@ -4851,8 +4868,8 @@ const Yr = { key: 0 }, ei = { class: "md:p-4" }, so = /* @__PURE__ */ de({ }; } }); -function Os(e) { - const t = D(!1), s = D(), n = D(), a = e ?? Qe("client"); +function Ds(e) { + const t = O(!1), s = O(), n = O(), a = e ?? Qe("client"); function r({ message: g, errorCode: b, fieldName: P, errors: I }) { return b || (b = "Exception"), I || (I = []), s.value = P ? new Us({ errorCode: b, @@ -4876,29 +4893,29 @@ function Os(e) { } async function d(g, b, P) { t.value = !0; - let I = await a.api(Ot(g), b, P); + let I = await a.api(Dt(g), b, P); return t.value = !1, n.value = I.response, s.value = I.error, I; } async function c(g, b, P) { t.value = !0; - let I = await a.apiVoid(Ot(g), b, P); + let I = await a.apiVoid(Dt(g), b, P); return t.value = !1, n.value = I.response, s.value = I.error, I; } async function f(g, b, P, I) { t.value = !0; - let se = await a.apiForm(Ot(g), b, P, I); + let se = await a.apiForm(Dt(g), b, P, I); return t.value = !1, n.value = se.response, s.value = se.error, se; } async function p(g, b, P, I) { t.value = !0; - let se = await a.apiFormVoid(Ot(g), b, P, I); + let se = await a.apiFormVoid(Dt(g), b, P, I); return t.value = !1, n.value = se.response, s.value = se.error, se; } async function $(g, b, P, I) { - return hn(a, g, b, P, I); + return gn(a, g, b, P, I); } function m(g, b) { - const P = D(new Xe()), I = gn(async (se) => { + const P = O(new Xe()), I = yn(async (se) => { P.value = await a.api(se); }, b == null ? void 0 : b.delayMs); return ws(async () => { @@ -4906,19 +4923,19 @@ function Os(e) { j && (P.value = new Xe({ response: j })), (b == null ? void 0 : b.delayMs) === 0 ? P.value = await a.api(se) : I(se); }), (async () => P.value = await a.api(g(), b == null ? void 0 : b.args, b == null ? void 0 : b.method))(), P; } - let k = { setError: r, addFieldError: u, loading: t, error: s, api: d, apiVoid: c, apiForm: f, apiFormVoid: p, swr: $, swrEffect: m, unRefs: Ot, setRef: pn }; + let k = { setError: r, addFieldError: u, loading: t, error: s, api: d, apiVoid: c, apiForm: f, apiFormVoid: p, swr: $, swrEffect: m, unRefs: Dt, setRef: mn }; return ss("ApiState", k), k; } -const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b", null, "type", -1), z0 = { key: 0 }, N0 = { key: 2 }, U0 = ["innerHTML"], q0 = /* @__PURE__ */ l("input", { +const E0 = { key: 0 }, z0 = { class: "text-red-700" }, N0 = /* @__PURE__ */ l("b", null, "type", -1), U0 = { key: 0 }, q0 = { key: 2 }, Q0 = ["innerHTML"], K0 = /* @__PURE__ */ l("input", { type: "submit", class: "hidden" -}, null, -1), Q0 = { class: "flex justify-end" }, K0 = /* @__PURE__ */ l("div", null, null, -1), Z0 = { +}, null, -1), Z0 = { class: "flex justify-end" }, W0 = /* @__PURE__ */ l("div", null, null, -1), G0 = { key: 2, class: "relative z-10", "aria-labelledby": "slide-over-title", role: "dialog", "aria-modal": "true" -}, W0 = /* @__PURE__ */ l("div", { class: "fixed inset-0" }, null, -1), G0 = { class: "fixed inset-0 overflow-hidden" }, J0 = { class: "flex min-h-0 flex-1 flex-col overflow-auto" }, X0 = { class: "flex-1" }, Y0 = { class: "bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6" }, ef = { class: "flex items-start justify-between space-x-3" }, tf = { class: "space-y-1" }, sf = { key: 0 }, lf = { key: 2 }, nf = ["innerHTML"], of = { class: "flex h-7 items-center" }, af = { class: "flex justify-end" }, rf = /* @__PURE__ */ de({ +}, J0 = /* @__PURE__ */ l("div", { class: "fixed inset-0" }, null, -1), X0 = { class: "fixed inset-0 overflow-hidden" }, Y0 = { class: "flex min-h-0 flex-1 flex-col overflow-auto" }, ef = { class: "flex-1" }, tf = { class: "bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6" }, sf = { class: "flex items-start justify-between space-x-3" }, lf = { class: "space-y-1" }, nf = { key: 0 }, of = { key: 2 }, af = ["innerHTML"], rf = { class: "flex h-7 items-center" }, uf = { class: "flex justify-end" }, df = /* @__PURE__ */ de({ __name: "AutoForm", props: { type: {}, @@ -4944,7 +4961,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b }, emits: ["success", "error", "update:modelValue", "done"], setup(e, { expose: t, emit: s }) { - const n = e, a = s, r = D(), u = D(1), d = D(); + const n = e, a = s, r = O(), u = O(1), d = O(); function c() { var fe; u.value++, ee.value = W(); @@ -4952,22 +4969,22 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b (fe = V == null ? void 0 : V.proxy) == null || fe.$forceUpdate(); } async function f(V) { - Object.assign(ee.value, V), c(), await Vt(() => null); + Object.assign(ee.value, V), c(), await St(() => null); } ss("ModalProvider", { openModal: k }); - const $ = D(), m = D(); + const $ = O(), m = O(); function k(V, fe) { $.value = V, m.value = fe; } async function g(V) { m.value && m.value(V), $.value = void 0, m.value = void 0; } - const b = Os(), { getTypeName: P } = yn(), { typeOf: I, Crud: se, createDto: j } = lt(), T = D(new Xe()), S = v(() => n.panelClass || Ee.panelClass(n.formStyle)), ie = v(() => n.formClass || n.formStyle == "card" ? "shadow sm:rounded-md" : Bt.formClass), L = v(() => n.headingClass || Ee.headingClass(n.formStyle)), z = v(() => n.subHeadingClass || Ee.subHeadingClass(n.formStyle)), K = v(() => typeof n.buttonsClass == "string" ? n.buttonsClass : Ee.buttonsClass), le = v(() => { + const b = Ds(), { getTypeName: P } = bn(), { typeOf: I, Crud: se, createDto: j } = lt(), T = O(new Xe()), M = v(() => n.panelClass || Ee.panelClass(n.formStyle)), ie = v(() => n.formClass || n.formStyle == "card" ? "shadow sm:rounded-md" : Bt.formClass), L = v(() => n.headingClass || Ee.headingClass(n.formStyle)), z = v(() => n.subHeadingClass || Ee.subHeadingClass(n.formStyle)), K = v(() => typeof n.buttonsClass == "string" ? n.buttonsClass : Ee.buttonsClass), le = v(() => { var V; return n.type ? P(n.type) : (V = n.modelValue) != null && V.getTypeName ? n.modelValue.getTypeName() : null; - }), R = v(() => n.metaType ?? I(le.value)), W = () => n.modelValue || te(), ee = D(W()), q = v(() => b.loading.value), A = v(() => { + }), R = v(() => n.metaType ?? I(le.value)), W = () => n.modelValue || te(), ee = O(W()), q = v(() => b.loading.value), A = v(() => { var V; return n.heading != null ? n.heading : ((V = R.value) == null ? void 0 : V.description) || Pe(le.value); }); @@ -4981,14 +4998,14 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b return; } const fe = te(); - let pe = Ke(fe == null ? void 0 : fe.getMethod, (M) => typeof M == "function" ? M() : null) || "POST", ue = Ke(fe == null ? void 0 : fe.createResponse, (M) => typeof M == "function" ? M() : null) == null; + let pe = Ze(fe == null ? void 0 : fe.getMethod, (S) => typeof S == "function" ? S() : null) || "POST", ue = Ze(fe == null ? void 0 : fe.createResponse, (S) => typeof S == "function" ? S() : null) == null; const me = n.jsconfig; if (il.hasRequestBody(pe)) { - let M = new fe.constructor(), ce = new FormData(V); - ue ? T.value = await b.apiFormVoid(M, ce, { jsconfig: me }) : T.value = await b.apiForm(M, ce, { jsconfig: me }); + let S = new fe.constructor(), ce = new FormData(V); + ue ? T.value = await b.apiFormVoid(S, ce, { jsconfig: me }) : T.value = await b.apiForm(S, ce, { jsconfig: me }); } else { - let M = new fe.constructor(Oo(ee.value)); - console.debug("AutoForm.submit", M), ue ? T.value = await b.apiVoid(M, { jsconfig: me }) : T.value = await b.api(M, { jsconfig: me }); + let S = new fe.constructor(Bo(ee.value)); + console.debug("AutoForm.submit", S), ue ? T.value = await b.apiVoid(S, { jsconfig: me }) : T.value = await b.api(S, { jsconfig: me }); } T.value.succeeded ? (a("success", T.value.response), ne()) : a("error", T.value.error); } @@ -5001,31 +5018,31 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b function h() { a("done"); } - const C = D(!1), J = D(""), G = { + const C = O(!1), Y = O(""), J = { entering: { cls: "transform transition ease-in-out duration-500 sm:duration-700", from: "translate-x-full", to: "translate-x-0" }, leaving: { cls: "transform transition ease-in-out duration-500 sm:duration-700", from: "translate-x-0", to: "translate-x-full" } }; - yt(C, () => { - gt(G, J, C.value), C.value || setTimeout(h, 700); + bt(C, () => { + yt(J, Y, C.value), C.value || setTimeout(h, 700); }), C.value = !0; function ne() { n.formStyle == "slideOver" ? C.value = !1 : h(); } - const O = (V) => { + const D = (V) => { V.key === "Escape" && ne(); }; - return Ye(() => window.addEventListener("keydown", O)), Tt(() => window.removeEventListener("keydown", O)), (V, fe) => { - var Me, ge, H, Q, oe, be, $e, Ae, He, Fe, Oe; - const pe = Z("AutoFormFields"), ue = Z("FormLoading"), me = Z("PrimaryButton"), M = Z("CloseButton"), ce = Z("SecondaryButton"), Ve = Z("ModalLookup"); + return Ye(() => window.addEventListener("keydown", D)), Ft(() => window.removeEventListener("keydown", D)), (V, fe) => { + var Se, ge, H, Q, oe, be, $e, Ae, He, Fe, De; + const pe = Z("AutoFormFields"), ue = Z("FormLoading"), me = Z("PrimaryButton"), S = Z("CloseButton"), ce = Z("SecondaryButton"), Ve = Z("ModalLookup"); return o(), i("div", null, [ R.value ? V.formStyle == "card" ? (o(), i("div", { key: 1, - class: y(S.value) + class: y(M.value) }, [ l("form", { ref_key: "elForm", ref: d, - onSubmit: fe[0] || (fe[0] = Ue((De) => w(De.target), ["prevent"])), + onSubmit: fe[0] || (fe[0] = Ue((Oe) => w(Oe.target), ["prevent"])), autocomplete: "off", class: y(V.innerFormClass) }, [ @@ -5035,28 +5052,28 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b l("div", { class: y(V.headerClass) }, [ - V.$slots.heading ? (o(), i("div", z0, [ + V.$slots.heading ? (o(), i("div", U0, [ U(V.$slots, "heading") ])) : (o(), i("h3", { key: 1, class: y(L.value) }, F(A.value), 3)), - V.$slots.subheading ? (o(), i("div", N0, [ + V.$slots.subheading ? (o(), i("div", q0, [ U(V.$slots, "subheading") ])) : V.subHeading ? (o(), i("p", { key: 3, class: y(z.value) - }, F(V.subHeading), 3)) : (Me = R.value) != null && Me.notes ? (o(), i("p", { + }, F(V.subHeading), 3)) : (Se = R.value) != null && Se.notes ? (o(), i("p", { key: 4, class: y(["notes", z.value]), innerHTML: (ge = R.value) == null ? void 0 : ge.notes - }, null, 10, U0)) : x("", !0) + }, null, 10, Q0)) : x("", !0) ], 2), U(V.$slots, "header", { instance: (H = Be()) == null ? void 0 : H.exposed, model: ee.value }), - q0, + K0, (o(), ae(pe, { ref_key: "formFields", ref: r, @@ -5074,22 +5091,22 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b }) ], 2), U(V.$slots, "buttons", {}, () => { - var De, We; + var Oe, We; return [ l("div", { class: y(K.value) }, [ l("div", null, [ U(V.$slots, "leftbuttons", { - instance: (De = Be()) == null ? void 0 : De.exposed, + instance: (Oe = Be()) == null ? void 0 : Oe.exposed, model: ee.value }) ]), l("div", null, [ V.showLoading && q.value ? (o(), ae(ue, { key: 0 })) : x("", !0) ]), - l("div", Q0, [ - K0, + l("div", Z0, [ + W0, ye(me, { disabled: V.allowSubmit ? !V.allowSubmit(ee.value) : !1 }, { @@ -5107,9 +5124,9 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ]; }) ], 34) - ], 2)) : (o(), i("div", Z0, [ - W0, - l("div", G0, [ + ], 2)) : (o(), i("div", G0, [ + J0, + l("div", X0, [ l("div", { onMousedown: ne, class: "absolute inset-0 overflow-hidden" @@ -5120,26 +5137,26 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b class: "pointer-events-none fixed inset-y-0 right-0 flex pl-10" }, [ l("div", { - class: y(["pointer-events-auto w-screen xl:max-w-3xl md:max-w-xl max-w-lg", J.value]) + class: y(["pointer-events-auto w-screen xl:max-w-3xl md:max-w-xl max-w-lg", Y.value]) }, [ l("form", { ref_key: "elForm", ref: d, class: y(ie.value), - onSubmit: fe[1] || (fe[1] = Ue((De) => w(De.target), ["prevent"])) + onSubmit: fe[1] || (fe[1] = Ue((Oe) => w(Oe.target), ["prevent"])) }, [ - l("div", J0, [ - l("div", X0, [ - l("div", Y0, [ - l("div", ef, [ - l("div", tf, [ - V.$slots.heading ? (o(), i("div", sf, [ + l("div", Y0, [ + l("div", ef, [ + l("div", tf, [ + l("div", sf, [ + l("div", lf, [ + V.$slots.heading ? (o(), i("div", nf, [ U(V.$slots, "heading") ])) : (o(), i("h3", { key: 1, class: y(L.value) }, F(A.value), 3)), - V.$slots.subheading ? (o(), i("div", lf, [ + V.$slots.subheading ? (o(), i("div", of, [ U(V.$slots, "subheading") ])) : V.subHeading ? (o(), i("p", { key: 3, @@ -5148,10 +5165,10 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b key: 4, class: y(["notes", z.value]), innerHTML: (be = R.value) == null ? void 0 : be.notes - }, null, 10, nf)) : x("", !0) + }, null, 10, af)) : x("", !0) ]), - l("div", of, [ - ye(M, { + l("div", rf, [ + ye(S, { "button-class": "bg-gray-50 dark:bg-gray-900", onClose: ne }) @@ -5191,7 +5208,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b l("div", null, [ V.showLoading && q.value ? (o(), ae(ue, { key: 0 })) : x("", !0) ]), - l("div", af, [ + l("div", uf, [ ye(ce, { onClick: ne, disabled: q.value @@ -5221,14 +5238,14 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ], 32) ], 32) ]) - ])) : (o(), i("div", H0, [ - l("p", R0, [ + ])) : (o(), i("div", E0, [ + l("p", z0, [ ke("Could not create form for unknown "), - E0, + N0, ke(" " + F(le.value), 1) ]) ])), - ((Oe = $.value) == null ? void 0 : Oe.name) == "ModalLookup" && $.value.ref ? (o(), ae(Ve, { + ((De = $.value) == null ? void 0 : De.name) == "ModalLookup" && $.value.ref ? (o(), ae(Ve, { key: 3, "ref-info": $.value.ref, onDone: g @@ -5236,13 +5253,13 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ]); }; } -}), uf = { key: 0 }, df = { class: "text-red-700" }, cf = /* @__PURE__ */ l("b", null, "type", -1), ff = { key: 0 }, vf = { key: 2 }, pf = ["innerHTML"], mf = { class: "flex justify-end" }, hf = { +}), cf = { key: 0 }, ff = { class: "text-red-700" }, vf = /* @__PURE__ */ l("b", null, "type", -1), pf = { key: 0 }, mf = { key: 2 }, hf = ["innerHTML"], gf = { class: "flex justify-end" }, yf = { key: 2, class: "relative z-10", "aria-labelledby": "slide-over-title", role: "dialog", "aria-modal": "true" -}, gf = /* @__PURE__ */ l("div", { class: "fixed inset-0" }, null, -1), yf = { class: "fixed inset-0 overflow-hidden" }, bf = { class: "flex min-h-0 flex-1 flex-col overflow-auto" }, wf = { class: "flex-1" }, kf = { class: "bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6" }, _f = { class: "flex items-start justify-between space-x-3" }, $f = { class: "space-y-1" }, Cf = { key: 0 }, xf = { key: 2 }, Lf = ["innerHTML"], Vf = { class: "flex h-7 items-center" }, Mf = { class: "flex justify-end" }, Sf = /* @__PURE__ */ de({ +}, bf = /* @__PURE__ */ l("div", { class: "fixed inset-0" }, null, -1), wf = { class: "fixed inset-0 overflow-hidden" }, kf = { class: "flex min-h-0 flex-1 flex-col overflow-auto" }, _f = { class: "flex-1" }, $f = { class: "bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6" }, Cf = { class: "flex items-start justify-between space-x-3" }, xf = { class: "space-y-1" }, Lf = { key: 0 }, Vf = { key: 2 }, Sf = ["innerHTML"], Mf = { class: "flex h-7 items-center" }, Af = { class: "flex justify-end" }, Tf = /* @__PURE__ */ de({ __name: "AutoCreateForm", props: { type: {}, @@ -5262,49 +5279,49 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b }, emits: ["done", "save", "error"], setup(e, { expose: t, emit: s }) { - const n = e, a = s, r = D(), u = D(1); + const n = e, a = s, r = O(), u = O(1); function d() { var V, fe; u.value++, (V = r.value) == null || V.forceUpdate(); - const O = Be(); - (fe = O == null ? void 0 : O.proxy) == null || fe.$forceUpdate(); + const D = Be(); + (fe = D == null ? void 0 : D.proxy) == null || fe.$forceUpdate(); } - function c(O) { - Object.assign(L.value, O), d(); + function c(D) { + Object.assign(L.value, D), d(); } - function f(O) { + function f(D) { } ss("ModalProvider", { openModal: k }); - const $ = D(), m = D(); - function k(O, V) { - $.value = O, m.value = V; + const $ = O(), m = O(); + function k(D, V) { + $.value = D, m.value = V; } - async function g(O) { - m.value && m.value(O), $.value = void 0, m.value = void 0; + async function g(D) { + m.value && m.value(D), $.value = void 0, m.value = void 0; } - const { typeOf: b, typeProperties: P, Crud: I, createDto: se, formValues: j } = lt(), T = v(() => qt(n.type)), S = v(() => b(T.value)), L = D((() => typeof n.type == "string" ? se(n.type) : n.type ? new n.type() : null)()); + const { typeOf: b, typeProperties: P, Crud: I, createDto: se, formValues: j } = lt(), T = v(() => qt(n.type)), M = v(() => b(T.value)), L = O((() => typeof n.type == "string" ? se(n.type) : n.type ? new n.type() : null)()); t({ forceUpdate: d, props: n, setModel: c, formFields: r, model: L }); - const z = v(() => n.panelClass || Ee.panelClass(n.formStyle)), K = v(() => n.formClass || Ee.formClass(n.formStyle)), le = v(() => n.headingClass || Ee.headingClass(n.formStyle)), R = v(() => n.subHeadingClass || Ee.subHeadingClass(n.formStyle)), W = v(() => n.buttonsClass || Ee.buttonsClass), ee = v(() => I.model(S.value)), q = v(() => { - var O; - return n.heading || ((O = b(T.value)) == null ? void 0 : O.description) || (ee.value ? `New ${Pe(ee.value)}` : Pe(T.value)); - }), A = D(new Xe()); - let te = Os(), w = v(() => te.loading.value); - Y.interceptors.has("AutoCreateForm.new") && Y.interceptors.invoke("AutoCreateForm.new", { props: n, model: L }); - async function N(O) { + const z = v(() => n.panelClass || Ee.panelClass(n.formStyle)), K = v(() => n.formClass || Ee.formClass(n.formStyle)), le = v(() => n.headingClass || Ee.headingClass(n.formStyle)), R = v(() => n.subHeadingClass || Ee.subHeadingClass(n.formStyle)), W = v(() => n.buttonsClass || Ee.buttonsClass), ee = v(() => I.model(M.value)), q = v(() => { + var D; + return n.heading || ((D = b(T.value)) == null ? void 0 : D.description) || (ee.value ? `New ${Pe(ee.value)}` : Pe(T.value)); + }), A = O(new Xe()); + let te = Ds(), w = v(() => te.loading.value); + G.interceptors.has("AutoCreateForm.new") && G.interceptors.invoke("AutoCreateForm.new", { props: n, model: L }); + async function N(D) { var ue, me; - let V = O.target; + let V = D.target; if (!n.autosave) { - a("save", new L.value.constructor(j(V, P(S.value)))); + a("save", new L.value.constructor(j(V, P(M.value)))); return; } - let fe = Ke((ue = L.value) == null ? void 0 : ue.getMethod, (M) => typeof M == "function" ? M() : null) || "POST", pe = Ke((me = L.value) == null ? void 0 : me.createResponse, (M) => typeof M == "function" ? M() : null) == null; + let fe = Ze((ue = L.value) == null ? void 0 : ue.getMethod, (S) => typeof S == "function" ? S() : null) || "POST", pe = Ze((me = L.value) == null ? void 0 : me.createResponse, (S) => typeof S == "function" ? S() : null) == null; if (il.hasRequestBody(fe)) { - let M = new L.value.constructor(), ce = new FormData(V); - pe ? A.value = await te.apiFormVoid(M, ce, { jsconfig: "eccn" }) : A.value = await te.apiForm(M, ce, { jsconfig: "eccn" }); + let S = new L.value.constructor(), ce = new FormData(V); + pe ? A.value = await te.apiFormVoid(S, ce, { jsconfig: "eccn" }) : A.value = await te.apiForm(S, ce, { jsconfig: "eccn" }); } else { - let M = j(V, P(S.value)), ce = new L.value.constructor(M); + let S = j(V, P(M.value)), ce = new L.value.constructor(S); pe ? A.value = await te.apiVoid(ce, { jsconfig: "eccn" }) : A.value = await te.api(ce, { jsconfig: "eccn" }); } A.value.succeeded ? (V.reset(), a("save", A.value.response)) : a("error", A.value.error); @@ -5312,24 +5329,24 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b function E() { a("done"); } - const h = D(!1), C = D(""), J = { + const h = O(!1), C = O(""), Y = { entering: { cls: "transform transition ease-in-out duration-500 sm:duration-700", from: "translate-x-full", to: "translate-x-0" }, leaving: { cls: "transform transition ease-in-out duration-500 sm:duration-700", from: "translate-x-0", to: "translate-x-full" } }; - yt(h, () => { - gt(J, C, h.value), h.value || setTimeout(E, 700); + bt(h, () => { + yt(Y, C, h.value), h.value || setTimeout(E, 700); }), h.value = !0; - function G() { + function J() { n.formStyle == "slideOver" ? h.value = !1 : E(); } - const ne = (O) => { - O.key === "Escape" && G(); + const ne = (D) => { + D.key === "Escape" && J(); }; - return Ye(() => window.addEventListener("keydown", ne)), Tt(() => window.removeEventListener("keydown", ne)), (O, V) => { - var Ve, Me, ge, H, Q, oe, be, $e, Ae; - const fe = Z("AutoFormFields"), pe = Z("FormLoading"), ue = Z("SecondaryButton"), me = Z("PrimaryButton"), M = Z("CloseButton"), ce = Z("ModalLookup"); + return Ye(() => window.addEventListener("keydown", ne)), Ft(() => window.removeEventListener("keydown", ne)), (D, V) => { + var Ve, Se, ge, H, Q, oe, be, $e, Ae; + const fe = Z("AutoFormFields"), pe = Z("FormLoading"), ue = Z("SecondaryButton"), me = Z("PrimaryButton"), S = Z("CloseButton"), ce = Z("ModalLookup"); return o(), i("div", null, [ - S.value ? O.formStyle == "card" ? (o(), i("div", { + M.value ? D.formStyle == "card" ? (o(), i("div", { key: 1, class: y(z.value) }, [ @@ -5340,24 +5357,24 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b class: y(K.value) }, [ l("div", null, [ - O.$slots.heading ? (o(), i("div", ff, [ - U(O.$slots, "heading") + D.$slots.heading ? (o(), i("div", pf, [ + U(D.$slots, "heading") ])) : (o(), i("h3", { key: 1, class: y(le.value) }, F(q.value), 3)), - O.$slots.subheading ? (o(), i("div", vf, [ - U(O.$slots, "subheading") - ])) : O.subHeading ? (o(), i("p", { + D.$slots.subheading ? (o(), i("div", mf, [ + U(D.$slots, "subheading") + ])) : D.subHeading ? (o(), i("p", { key: 3, class: y(R.value) - }, F(O.subHeading), 3)) : (Ve = S.value) != null && Ve.notes ? (o(), i("p", { + }, F(D.subHeading), 3)) : (Ve = M.value) != null && Ve.notes ? (o(), i("p", { key: 4, class: y(["notes", R.value]), - innerHTML: (Me = S.value) == null ? void 0 : Me.notes - }, null, 10, pf)) : x("", !0) + innerHTML: (Se = M.value) == null ? void 0 : Se.notes + }, null, 10, hf)) : x("", !0) ]), - U(O.$slots, "header", { + U(D.$slots, "header", { formInstance: (ge = Be()) == null ? void 0 : ge.exposed, model: L.value }), @@ -5368,10 +5385,10 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b modelValue: L.value, "onUpdate:modelValue": f, api: A.value, - configureField: O.configureField, - configureFormLayout: O.configureFormLayout + configureField: D.configureField, + configureFormLayout: D.configureFormLayout }, null, 8, ["modelValue", "api", "configureField", "configureFormLayout"])), - U(O.$slots, "footer", { + U(D.$slots, "footer", { formInstance: (H = Be()) == null ? void 0 : H.exposed, model: L.value }) @@ -5380,12 +5397,12 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b class: y(W.value) }, [ l("div", null, [ - O.showLoading && X(w) ? (o(), ae(pe, { key: 0 })) : x("", !0) + D.showLoading && X(w) ? (o(), ae(pe, { key: 0 })) : x("", !0) ]), - l("div", mf, [ - O.showCancel ? (o(), ae(ue, { + l("div", gf, [ + D.showCancel ? (o(), ae(ue, { key: 0, - onClick: G, + onClick: J, disabled: X(w) }, { default: xe(() => [ @@ -5406,11 +5423,11 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ]) ], 2) ], 32) - ], 2)) : (o(), i("div", hf, [ - gf, - l("div", yf, [ + ], 2)) : (o(), i("div", yf, [ + bf, + l("div", wf, [ l("div", { - onMousedown: G, + onMousedown: J, class: "absolute inset-0 overflow-hidden" }, [ l("div", { @@ -5425,37 +5442,37 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b class: y(K.value), onSubmit: Ue(N, ["prevent"]) }, [ - l("div", bf, [ - l("div", wf, [ - l("div", kf, [ - l("div", _f, [ - l("div", $f, [ - O.$slots.heading ? (o(), i("div", Cf, [ - U(O.$slots, "heading") + l("div", kf, [ + l("div", _f, [ + l("div", $f, [ + l("div", Cf, [ + l("div", xf, [ + D.$slots.heading ? (o(), i("div", Lf, [ + U(D.$slots, "heading") ])) : (o(), i("h3", { key: 1, class: y(le.value) }, F(q.value), 3)), - O.$slots.subheading ? (o(), i("div", xf, [ - U(O.$slots, "subheading") - ])) : O.subHeading ? (o(), i("p", { + D.$slots.subheading ? (o(), i("div", Vf, [ + U(D.$slots, "subheading") + ])) : D.subHeading ? (o(), i("p", { key: 3, class: y(R.value) - }, F(O.subHeading), 3)) : (Q = S.value) != null && Q.notes ? (o(), i("p", { + }, F(D.subHeading), 3)) : (Q = M.value) != null && Q.notes ? (o(), i("p", { key: 4, class: y(["notes", R.value]), - innerHTML: (oe = S.value) == null ? void 0 : oe.notes - }, null, 10, Lf)) : x("", !0) + innerHTML: (oe = M.value) == null ? void 0 : oe.notes + }, null, 10, Sf)) : x("", !0) ]), - l("div", Vf, [ - ye(M, { + l("div", Mf, [ + ye(S, { "button-class": "bg-gray-50 dark:bg-gray-900", - onClose: G + onClose: J }) ]) ]) ]), - U(O.$slots, "header", { + U(D.$slots, "header", { formInstance: (be = Be()) == null ? void 0 : be.exposed, model: L.value }), @@ -5466,10 +5483,10 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b modelValue: L.value, "onUpdate:modelValue": f, api: A.value, - configureField: O.configureField, - configureFormLayout: O.configureFormLayout + configureField: D.configureField, + configureFormLayout: D.configureFormLayout }, null, 8, ["modelValue", "api", "configureField", "configureFormLayout"])), - U(O.$slots, "footer", { + U(D.$slots, "footer", { formInstance: ($e = Be()) == null ? void 0 : $e.exposed, model: L.value }) @@ -5479,12 +5496,12 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b class: y(W.value) }, [ l("div", null, [ - O.showLoading && X(w) ? (o(), ae(pe, { key: 0 })) : x("", !0) + D.showLoading && X(w) ? (o(), ae(pe, { key: 0 })) : x("", !0) ]), - l("div", Mf, [ - O.showCancel ? (o(), ae(ue, { + l("div", Af, [ + D.showCancel ? (o(), ae(ue, { key: 0, - onClick: G, + onClick: J, disabled: X(w) }, { default: xe(() => [ @@ -5509,10 +5526,10 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ], 32) ], 32) ]) - ])) : (o(), i("div", uf, [ - l("p", df, [ + ])) : (o(), i("div", cf, [ + l("p", ff, [ ke("Could not create form for unknown "), - cf, + vf, ke(" " + F(T.value), 1) ]) ])), @@ -5524,13 +5541,13 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ]); }; } -}), Af = { key: 0 }, Tf = { class: "text-red-700" }, Ff = /* @__PURE__ */ l("b", null, "type", -1), If = { key: 0 }, jf = { key: 2 }, Df = ["innerHTML"], Of = { class: "flex justify-end" }, Pf = { +}), Ff = { key: 0 }, If = { class: "text-red-700" }, jf = /* @__PURE__ */ l("b", null, "type", -1), Of = { key: 0 }, Df = { key: 2 }, Pf = ["innerHTML"], Bf = { class: "flex justify-end" }, Hf = { key: 2, class: "relative z-10", "aria-labelledby": "slide-over-title", role: "dialog", "aria-modal": "true" -}, Bf = /* @__PURE__ */ l("div", { class: "fixed inset-0" }, null, -1), Hf = { class: "fixed inset-0 overflow-hidden" }, Rf = { class: "flex min-h-0 flex-1 flex-col overflow-auto" }, Ef = { class: "flex-1" }, zf = { class: "bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6" }, Nf = { class: "flex items-start justify-between space-x-3" }, Uf = { class: "space-y-1" }, qf = { key: 0 }, Qf = { key: 2 }, Kf = ["innerHTML"], Zf = { class: "flex h-7 items-center" }, Wf = { class: "flex justify-end" }, Gf = /* @__PURE__ */ de({ +}, Rf = /* @__PURE__ */ l("div", { class: "fixed inset-0" }, null, -1), Ef = { class: "fixed inset-0 overflow-hidden" }, zf = { class: "flex min-h-0 flex-1 flex-col overflow-auto" }, Nf = { class: "flex-1" }, Uf = { class: "bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6" }, qf = { class: "flex items-start justify-between space-x-3" }, Qf = { class: "space-y-1" }, Kf = { key: 0 }, Zf = { key: 2 }, Wf = ["innerHTML"], Gf = { class: "flex h-7 items-center" }, Jf = { class: "flex justify-end" }, Xf = /* @__PURE__ */ de({ __name: "AutoEditForm", props: { modelValue: {}, @@ -5550,139 +5567,139 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b }, emits: ["done", "save", "delete", "error"], setup(e, { expose: t, emit: s }) { - const n = e, a = s, r = D(), u = D(1); + const n = e, a = s, r = O(), u = O(1); function d() { var ce; u.value++, le.value = K(); - const M = Be(); - (ce = M == null ? void 0 : M.proxy) == null || ce.$forceUpdate(); + const S = Be(); + (ce = S == null ? void 0 : S.proxy) == null || ce.$forceUpdate(); } - function c(M) { - Object.assign(le.value, M); + function c(S) { + Object.assign(le.value, S); } - function f(M) { + function f(S) { } ss("ModalProvider", { openModal: k }); - const $ = D(), m = D(); - function k(M, ce) { - $.value = M, m.value = ce; + const $ = O(), m = O(); + function k(S, ce) { + $.value = S, m.value = ce; } - async function g(M) { - m.value && m.value(M), $.value = void 0, m.value = void 0; + async function g(S) { + m.value && m.value(S), $.value = void 0, m.value = void 0; } - const { typeOf: b, apiOf: P, typeProperties: I, createFormLayout: se, getPrimaryKey: j, Crud: T, createDto: S, formValues: ie } = lt(), L = v(() => qt(n.type)), z = v(() => b(L.value)), K = () => typeof n.type == "string" ? S(n.type, ys(n.modelValue)) : n.type ? new n.type(ys(n.modelValue)) : null, le = D(K()); + const { typeOf: b, apiOf: P, typeProperties: I, createFormLayout: se, getPrimaryKey: j, Crud: T, createDto: M, formValues: ie } = lt(), L = v(() => qt(n.type)), z = v(() => b(L.value)), K = () => typeof n.type == "string" ? M(n.type, ys(n.modelValue)) : n.type ? new n.type(ys(n.modelValue)) : null, le = O(K()); t({ forceUpdate: d, props: n, setModel: c, formFields: r, model: le }); const R = v(() => n.panelClass || Ee.panelClass(n.formStyle)), W = v(() => n.formClass || Ee.formClass(n.formStyle)), ee = v(() => n.headingClass || Ee.headingClass(n.formStyle)), q = v(() => n.subHeadingClass || Ee.subHeadingClass(n.formStyle)), A = v(() => T.model(z.value)), te = v(() => { - var M; - return n.heading || ((M = b(L.value)) == null ? void 0 : M.description) || (A.value ? `Update ${Pe(A.value)}` : Pe(L.value)); - }), w = D(new Xe()); + var S; + return n.heading || ((S = b(L.value)) == null ? void 0 : S.description) || (A.value ? `Update ${Pe(A.value)}` : Pe(L.value)); + }), w = O(new Xe()); let N = Object.assign({}, ys(n.modelValue)); - Y.interceptors.has("AutoEditForm.new") && Y.interceptors.invoke("AutoEditForm.new", { props: n, model: le, origModel: N }); - let E = Os(), h = v(() => E.loading.value); - const C = () => Ke(b(T.model(z.value)), (M) => j(M)); - function J(M) { - const { op: ce, prop: Ve } = M; - ce && (T.isPatch(ce) || T.isUpdate(ce)) && (M.disabled = Ve == null ? void 0 : Ve.isPrimaryKey), n.configureField && n.configureField(M); - } - async function G(M) { + G.interceptors.has("AutoEditForm.new") && G.interceptors.invoke("AutoEditForm.new", { props: n, model: le, origModel: N }); + let E = Ds(), h = v(() => E.loading.value); + const C = () => Ze(b(T.model(z.value)), (S) => j(S)); + function Y(S) { + const { op: ce, prop: Ve } = S; + ce && (T.isPatch(ce) || T.isUpdate(ce)) && (S.disabled = Ve == null ? void 0 : Ve.isPrimaryKey), n.configureField && n.configureField(S); + } + async function J(S) { var H, Q; - let ce = M.target; + let ce = S.target; if (!n.autosave) { a("save", new le.value.constructor(ie(ce, I(z.value)))); return; } - let Ve = Ke((H = le.value) == null ? void 0 : H.getMethod, (oe) => typeof oe == "function" ? oe() : null) || "POST", Me = Ke((Q = le.value) == null ? void 0 : Q.createResponse, (oe) => typeof oe == "function" ? oe() : null) == null, ge = C(); + let Ve = Ze((H = le.value) == null ? void 0 : H.getMethod, (oe) => typeof oe == "function" ? oe() : null) || "POST", Se = Ze((Q = le.value) == null ? void 0 : Q.createResponse, (oe) => typeof oe == "function" ? oe() : null) == null, ge = C(); if (il.hasRequestBody(Ve)) { let oe = new le.value.constructor(), be = _e(n.modelValue, ge.name), $e = new FormData(ce); - ge && !Array.from($e.keys()).some((Oe) => Oe.toLowerCase() == ge.name.toLowerCase()) && $e.append(ge.name, be); + ge && !Array.from($e.keys()).some((De) => De.toLowerCase() == ge.name.toLowerCase()) && $e.append(ge.name, be); let Ae = []; const He = L.value && P(L.value); if (He && T.isPatch(He)) { - let Oe = se(z.value), De = {}; - if (ge && (De[ge.name] = be), Oe.forEach((Re) => { + let De = se(z.value), Oe = {}; + if (ge && (Oe[ge.name] = be), De.forEach((Re) => { let it = Re.id, jt = _e(N, it); if (ge && ge.name.toLowerCase() === it.toLowerCase()) return; - let mt = $e.get(it); - Y.interceptors.has("AutoEditForm.save.formLayout") && Y.interceptors.invoke("AutoEditForm.save.formLayout", { origValue: jt, formLayout: Oe, input: Re, newValue: mt }); - let as = mt != null, rs = Re.type === "checkbox" ? as !== !!jt : Re.type === "file" ? as : mt != jt; - !mt && !jt && (rs = !1), rs && (mt ? De[it] = mt : Re.type !== "file" && Ae.push(it)); - }), Y.interceptors.has("AutoEditForm.save") && Y.interceptors.invoke("AutoEditForm.save", { origModel: N, formLayout: Oe, dirtyValues: De }), Array.from($e.keys()).filter((Re) => !De[Re]).forEach((Re) => $e.delete(Re)), Array.from($e.keys()).filter((Re) => Re.toLowerCase() != ge.name.toLowerCase()).length == 0 && Ae.length == 0) { + let ht = $e.get(it); + G.interceptors.has("AutoEditForm.save.formLayout") && G.interceptors.invoke("AutoEditForm.save.formLayout", { origValue: jt, formLayout: De, input: Re, newValue: ht }); + let as = ht != null, rs = Re.type === "checkbox" ? as !== !!jt : Re.type === "file" ? as : ht != jt; + !ht && !jt && (rs = !1), rs && (ht ? Oe[it] = ht : Re.type !== "file" && Ae.push(it)); + }), G.interceptors.has("AutoEditForm.save") && G.interceptors.invoke("AutoEditForm.save", { origModel: N, formLayout: De, dirtyValues: Oe }), Array.from($e.keys()).filter((Re) => !Oe[Re]).forEach((Re) => $e.delete(Re)), Array.from($e.keys()).filter((Re) => Re.toLowerCase() != ge.name.toLowerCase()).length == 0 && Ae.length == 0) { ue(); return; } } const Fe = Ae.length > 0 ? { jsconfig: "eccn", reset: Ae } : { jsconfig: "eccn" }; - Me ? w.value = await E.apiFormVoid(oe, $e, Fe) : w.value = await E.apiForm(oe, $e, Fe); + Se ? w.value = await E.apiFormVoid(oe, $e, Fe) : w.value = await E.apiForm(oe, $e, Fe); } else { let oe = ie(ce, I(z.value)); ge && !_e(oe, ge.name) && (oe[ge.name] = _e(n.modelValue, ge.name)); let be = new le.value.constructor(oe); - Me ? w.value = await E.apiVoid(be, { jsconfig: "eccn" }) : w.value = await E.api(be, { jsconfig: "eccn" }); + Se ? w.value = await E.apiVoid(be, { jsconfig: "eccn" }) : w.value = await E.api(be, { jsconfig: "eccn" }); } w.value.succeeded ? (ce.reset(), a("save", w.value.response)) : a("error", w.value.error); } - async function ne(M) { + async function ne(S) { let ce = C(); const Ve = ce ? _e(n.modelValue, ce.name) : null; if (!Ve) { console.error(`Could not find Primary Key for Type ${L.value} (${A.value})`); return; } - const Me = { [ce.name]: Ve }, ge = typeof n.deleteType == "string" ? S(n.deleteType, Me) : n.deleteType ? new n.deleteType(Me) : null; - Ke(ge.createResponse, (Q) => typeof Q == "function" ? Q() : null) == null ? w.value = await E.apiVoid(ge) : w.value = await E.api(ge), w.value.succeeded ? a("delete", w.value.response) : a("error", w.value.error); + const Se = { [ce.name]: Ve }, ge = typeof n.deleteType == "string" ? M(n.deleteType, Se) : n.deleteType ? new n.deleteType(Se) : null; + Ze(ge.createResponse, (Q) => typeof Q == "function" ? Q() : null) == null ? w.value = await E.apiVoid(ge) : w.value = await E.api(ge), w.value.succeeded ? a("delete", w.value.response) : a("error", w.value.error); } - function O() { + function D() { a("done"); } - const V = D(!1), fe = D(""), pe = { + const V = O(!1), fe = O(""), pe = { entering: { cls: "transform transition ease-in-out duration-500 sm:duration-700", from: "translate-x-full", to: "translate-x-0" }, leaving: { cls: "transform transition ease-in-out duration-500 sm:duration-700", from: "translate-x-0", to: "translate-x-full" } }; - yt(V, () => { - gt(pe, fe, V.value), V.value || setTimeout(O, 700); + bt(V, () => { + yt(pe, fe, V.value), V.value || setTimeout(D, 700); }), V.value = !0; function ue() { - n.formStyle == "slideOver" ? V.value = !1 : O(); + n.formStyle == "slideOver" ? V.value = !1 : D(); } - const me = (M) => { - M.key === "Escape" && ue(); + const me = (S) => { + S.key === "Escape" && ue(); }; - return Ye(() => window.addEventListener("keydown", me)), Tt(() => window.removeEventListener("keydown", me)), (M, ce) => { - var $e, Ae, He, Fe, Oe, De, We, Re, it; - const Ve = Z("AutoFormFields"), Me = Z("ConfirmDelete"), ge = Z("FormLoading"), H = Z("SecondaryButton"), Q = Z("PrimaryButton"), oe = Z("CloseButton"), be = Z("ModalLookup"); + return Ye(() => window.addEventListener("keydown", me)), Ft(() => window.removeEventListener("keydown", me)), (S, ce) => { + var $e, Ae, He, Fe, De, Oe, We, Re, it; + const Ve = Z("AutoFormFields"), Se = Z("ConfirmDelete"), ge = Z("FormLoading"), H = Z("SecondaryButton"), Q = Z("PrimaryButton"), oe = Z("CloseButton"), be = Z("ModalLookup"); return o(), i("div", null, [ - z.value ? M.formStyle == "card" ? (o(), i("div", { + z.value ? S.formStyle == "card" ? (o(), i("div", { key: 1, class: y(R.value) }, [ l("form", { - onSubmit: Ue(G, ["prevent"]) + onSubmit: Ue(J, ["prevent"]) }, [ l("div", { class: y(W.value) }, [ l("div", null, [ - M.$slots.heading ? (o(), i("div", If, [ - U(M.$slots, "heading") + S.$slots.heading ? (o(), i("div", Of, [ + U(S.$slots, "heading") ])) : (o(), i("h3", { key: 1, class: y(ee.value) }, F(te.value), 3)), - M.$slots.subheading ? (o(), i("div", jf, [ - U(M.$slots, "subheading") - ])) : M.subHeading ? (o(), i("p", { + S.$slots.subheading ? (o(), i("div", Df, [ + U(S.$slots, "subheading") + ])) : S.subHeading ? (o(), i("p", { key: 3, class: y(q.value) - }, F(M.subHeading), 3)) : ($e = z.value) != null && $e.notes ? (o(), i("p", { + }, F(S.subHeading), 3)) : ($e = z.value) != null && $e.notes ? (o(), i("p", { key: 4, class: y(["notes", q.value]), innerHTML: (Ae = z.value) == null ? void 0 : Ae.notes - }, null, 10, Df)) : x("", !0) + }, null, 10, Pf)) : x("", !0) ]), - U(M.$slots, "header", { + U(S.$slots, "header", { formInstance: (He = Be()) == null ? void 0 : He.exposed, model: le.value }), @@ -5693,10 +5710,10 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b modelValue: le.value, "onUpdate:modelValue": f, api: w.value, - configureField: M.configureField, - configureFormLayout: M.configureFormLayout + configureField: S.configureField, + configureFormLayout: S.configureFormLayout }, null, 8, ["modelValue", "api", "configureField", "configureFormLayout"])), - U(M.$slots, "footer", { + U(S.$slots, "footer", { formInstance: (Fe = Be()) == null ? void 0 : Fe.exposed, model: le.value }) @@ -5705,15 +5722,15 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b class: y(X(Ee).buttonsClass) }, [ l("div", null, [ - M.deleteType ? (o(), ae(Me, { + S.deleteType ? (o(), ae(Se, { key: 0, onDelete: ne })) : x("", !0) ]), l("div", null, [ - M.showLoading && X(h) ? (o(), ae(ge, { key: 0 })) : x("", !0) + S.showLoading && X(h) ? (o(), ae(ge, { key: 0 })) : x("", !0) ]), - l("div", Of, [ + l("div", Bf, [ ye(H, { onClick: ue, disabled: X(h) @@ -5736,9 +5753,9 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ]) ], 2) ], 32) - ], 2)) : (o(), i("div", Pf, [ - Bf, - l("div", Hf, [ + ], 2)) : (o(), i("div", Hf, [ + Rf, + l("div", Ef, [ l("div", { onMousedown: ue, class: "absolute inset-0 overflow-hidden" @@ -5753,31 +5770,31 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b }, [ l("form", { class: y(W.value), - onSubmit: Ue(G, ["prevent"]) + onSubmit: Ue(J, ["prevent"]) }, [ - l("div", Rf, [ - l("div", Ef, [ - l("div", zf, [ - l("div", Nf, [ - l("div", Uf, [ - M.$slots.heading ? (o(), i("div", qf, [ - U(M.$slots, "heading") + l("div", zf, [ + l("div", Nf, [ + l("div", Uf, [ + l("div", qf, [ + l("div", Qf, [ + S.$slots.heading ? (o(), i("div", Kf, [ + U(S.$slots, "heading") ])) : (o(), i("h3", { key: 1, class: y(ee.value) }, F(te.value), 3)), - M.$slots.subheading ? (o(), i("div", Qf, [ - U(M.$slots, "subheading") - ])) : M.subHeading ? (o(), i("p", { + S.$slots.subheading ? (o(), i("div", Zf, [ + U(S.$slots, "subheading") + ])) : S.subHeading ? (o(), i("p", { key: 3, class: y(q.value) - }, F(M.subHeading), 3)) : (Oe = z.value) != null && Oe.notes ? (o(), i("p", { + }, F(S.subHeading), 3)) : (De = z.value) != null && De.notes ? (o(), i("p", { key: 4, class: y(["notes", q.value]), - innerHTML: (De = z.value) == null ? void 0 : De.notes - }, null, 10, Kf)) : x("", !0) + innerHTML: (Oe = z.value) == null ? void 0 : Oe.notes + }, null, 10, Wf)) : x("", !0) ]), - l("div", Zf, [ + l("div", Gf, [ ye(oe, { "button-class": "bg-gray-50 dark:bg-gray-900", onClose: ue @@ -5785,7 +5802,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ]) ]) ]), - U(M.$slots, "header", { + U(S.$slots, "header", { formInstance: (We = Be()) == null ? void 0 : We.exposed, model: le.value }), @@ -5796,10 +5813,10 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b modelValue: le.value, "onUpdate:modelValue": f, api: w.value, - configureField: J, - configureFormLayout: M.configureFormLayout + configureField: Y, + configureFormLayout: S.configureFormLayout }, null, 8, ["modelValue", "api", "configureFormLayout"])), - U(M.$slots, "footer", { + U(S.$slots, "footer", { formInstance: (Re = Be()) == null ? void 0 : Re.exposed, model: le.value }) @@ -5809,15 +5826,15 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b class: y(X(Ee).buttonsClass) }, [ l("div", null, [ - M.deleteType ? (o(), ae(Me, { + S.deleteType ? (o(), ae(Se, { key: 0, onDelete: ne })) : x("", !0) ]), l("div", null, [ - M.showLoading && X(h) ? (o(), ae(ge, { key: 0 })) : x("", !0) + S.showLoading && X(h) ? (o(), ae(ge, { key: 0 })) : x("", !0) ]), - l("div", Wf, [ + l("div", Jf, [ ye(H, { onClick: ue, disabled: X(h) @@ -5844,10 +5861,10 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ], 32) ], 32) ]) - ])) : (o(), i("div", Af, [ - l("p", Tf, [ + ])) : (o(), i("div", Ff, [ + l("p", If, [ ke("Could not create form for unknown "), - Ff, + jf, ke(" " + F(L.value), 1) ]) ])), @@ -5859,13 +5876,13 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ]); }; } -}), Jf = { key: 0 }, Xf = { class: "text-red-700" }, Yf = /* @__PURE__ */ l("b", null, "type", -1), ev = { key: 0 }, tv = { key: 2 }, sv = ["innerHTML"], lv = { +}), Yf = { key: 0 }, ev = { class: "text-red-700" }, tv = /* @__PURE__ */ l("b", null, "type", -1), sv = { key: 0 }, lv = { key: 2 }, nv = ["innerHTML"], ov = { key: 2, class: "relative z-10", "aria-labelledby": "slide-over-title", role: "dialog", "aria-modal": "true" -}, nv = /* @__PURE__ */ l("div", { class: "fixed inset-0" }, null, -1), ov = { class: "fixed inset-0 overflow-hidden" }, av = { class: "flex min-h-0 flex-1 flex-col overflow-auto" }, rv = { class: "flex-1" }, iv = { class: "bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6" }, uv = { class: "flex items-start justify-between space-x-3" }, dv = { class: "space-y-1" }, cv = { key: 0 }, fv = { key: 2 }, vv = ["innerHTML"], pv = { class: "flex h-7 items-center" }, mv = /* @__PURE__ */ de({ +}, av = /* @__PURE__ */ l("div", { class: "fixed inset-0" }, null, -1), rv = { class: "fixed inset-0 overflow-hidden" }, iv = { class: "flex min-h-0 flex-1 flex-col overflow-auto" }, uv = { class: "flex-1" }, dv = { class: "bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6" }, cv = { class: "flex items-start justify-between space-x-3" }, fv = { class: "space-y-1" }, vv = { key: 0 }, pv = { key: 2 }, mv = ["innerHTML"], hv = { class: "flex h-7 items-center" }, gv = /* @__PURE__ */ de({ __name: "AutoViewForm", props: { model: {}, @@ -5886,16 +5903,16 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b var I, se; return s.heading || ((I = n(a.value)) == null ? void 0 : I.description) || ((se = s.model) != null && se.id ? `${Pe(a.value)} ${s.model.id}` : "View " + Pe(a.value)); }); - Y.interceptors.has("AutoViewForm.new") && Y.interceptors.invoke("AutoViewForm.new", { props: s }); + G.interceptors.has("AutoViewForm.new") && G.interceptors.invoke("AutoViewForm.new", { props: s }); function $() { s.done && s.done(); } - const m = D(!1), k = D(""), g = { + const m = O(!1), k = O(""), g = { entering: { cls: "transform transition ease-in-out duration-500 sm:duration-700", from: "translate-x-full", to: "translate-x-0" }, leaving: { cls: "transform transition ease-in-out duration-500 sm:duration-700", from: "translate-x-0", to: "translate-x-full" } }; - yt(m, () => { - gt(g, k, m.value), m.value || setTimeout($, 700); + bt(m, () => { + yt(g, k, m.value), m.value || setTimeout($, 700); }), m.value = !0; function b() { s.formStyle == "slideOver" ? m.value = !1 : $(); @@ -5903,8 +5920,8 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b const P = (I) => { I.key === "Escape" && b(); }; - return Ye(() => window.addEventListener("keydown", P)), Tt(() => window.removeEventListener("keydown", P)), (I, se) => { - var S, ie, L, z; + return Ye(() => window.addEventListener("keydown", P)), Ft(() => window.removeEventListener("keydown", P)), (I, se) => { + var M, ie, L, z; const j = Z("MarkupModel"), T = Z("CloseButton"); return o(), i("div", null, [ a.value ? I.formStyle == "card" ? (o(), i("div", { @@ -5915,28 +5932,28 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b class: y(d.value) }, [ l("div", null, [ - I.$slots.heading ? (o(), i("div", ev, [ + I.$slots.heading ? (o(), i("div", sv, [ U(I.$slots, "heading") ])) : (o(), i("h3", { key: 1, class: y(c.value) }, F(p.value), 3)), - I.$slots.subheading ? (o(), i("div", tv, [ + I.$slots.subheading ? (o(), i("div", lv, [ U(I.$slots, "subheading") ])) : I.subHeading ? (o(), i("p", { key: 3, class: y(f.value) - }, F(I.subHeading), 3)) : (S = r.value) != null && S.notes ? (o(), i("p", { + }, F(I.subHeading), 3)) : (M = r.value) != null && M.notes ? (o(), i("p", { key: 4, class: y(["notes", f.value]), innerHTML: (ie = r.value) == null ? void 0 : ie.notes - }, null, 10, sv)) : x("", !0) + }, null, 10, nv)) : x("", !0) ]), ye(j, { value: I.model }, null, 8, ["value"]) ], 2) - ], 2)) : (o(), i("div", lv, [ - nv, - l("div", ov, [ + ], 2)) : (o(), i("div", ov, [ + av, + l("div", rv, [ l("div", { onMousedown: b, class: "absolute inset-0 overflow-hidden" @@ -5952,18 +5969,18 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b l("div", { class: y(d.value) }, [ - l("div", av, [ - l("div", rv, [ - l("div", iv, [ - l("div", uv, [ - l("div", dv, [ - I.$slots.heading ? (o(), i("div", cv, [ + l("div", iv, [ + l("div", uv, [ + l("div", dv, [ + l("div", cv, [ + l("div", fv, [ + I.$slots.heading ? (o(), i("div", vv, [ U(I.$slots, "heading") ])) : (o(), i("h3", { key: 1, class: y(c.value) }, F(p.value), 3)), - I.$slots.subheading ? (o(), i("div", fv, [ + I.$slots.subheading ? (o(), i("div", pv, [ U(I.$slots, "subheading") ])) : I.subHeading ? (o(), i("p", { key: 3, @@ -5972,9 +5989,9 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b key: 4, class: y(["notes", f.value]), innerHTML: (z = r.value) == null ? void 0 : z.notes - }, null, 10, vv)) : x("", !0) + }, null, 10, mv)) : x("", !0) ]), - l("div", pv, [ + l("div", hv, [ ye(T, { "button-class": "bg-gray-50 dark:bg-gray-900", onClose: b @@ -5990,31 +6007,31 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ], 32) ], 32) ]) - ])) : (o(), i("div", Jf, [ - l("p", Xf, [ + ])) : (o(), i("div", Yf, [ + l("p", ev, [ ke("Could not create view for unknown "), - Yf, + tv, ke(" " + F(a.value), 1) ]) ])) ]); }; } -}), hv = /* @__PURE__ */ l("label", { +}), yv = /* @__PURE__ */ l("label", { for: "confirmDelete", class: "ml-2 mr-2 select-none" -}, "confirm", -1), gv = /* @__PURE__ */ de({ +}, "confirm", -1), bv = /* @__PURE__ */ de({ __name: "ConfirmDelete", emits: ["delete"], setup(e, { emit: t }) { - let s = D(!1); + let s = O(!1); const n = t, a = () => { s.value && n("delete"); }, r = v(() => [ "select-none inline-flex justify-center py-2 px-4 border border-transparent shadow-sm text-sm font-medium rounded-md text-white", s.value ? "cursor-pointer bg-red-600 hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500" : "bg-red-400" ]); - return (u, d) => (o(), i(Se, null, [ + return (u, d) => (o(), i(Me, null, [ Mt(l("input", { id: "confirmDelete", type: "checkbox", @@ -6023,7 +6040,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b }, null, 512), [ [ol, X(s)] ]), - hv, + yv, l("span", Te({ onClick: Ue(a, ["prevent"]), class: r.value @@ -6034,10 +6051,10 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ], 16) ], 64)); } -}), yv = { +}), wv = { class: "flex", title: "loading..." -}, bv = { +}, kv = { key: 0, xmlns: "http://www.w3.org/2000/svg", x: "0px", @@ -6045,24 +6062,24 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b width: "24px", height: "30px", viewBox: "0 0 24 30" -}, wv = /* @__PURE__ */ xs('', 3), kv = [ - wv -], _v = { class: "ml-2 mt-1 text-gray-400" }, $v = /* @__PURE__ */ de({ +}, _v = /* @__PURE__ */ xs('', 3), $v = [ + _v +], Cv = { class: "ml-2 mt-1 text-gray-400" }, xv = /* @__PURE__ */ de({ __name: "FormLoading", props: { icon: { type: Boolean, default: !0 }, text: { default: "loading..." } }, setup(e) { - return Qe("ApiState", void 0), (t, s) => (o(), i("div", yv, [ - t.icon ? (o(), i("svg", bv, kv)) : x("", !0), - l("span", _v, F(t.text), 1) + return Qe("ApiState", void 0), (t, s) => (o(), i("div", wv, [ + t.icon ? (o(), i("svg", kv, $v)) : x("", !0), + l("span", Cv, F(t.text), 1) ])); } -}), Cv = ["onClick"], xv = { +}), Lv = ["onClick"], Vv = { key: 3, class: "flex justify-between items-center" -}, Lv = { class: "mr-1 select-none" }, Vv = ["onClick"], Mv = /* @__PURE__ */ de({ +}, Sv = { class: "mr-1 select-none" }, Mv = ["onClick"], Av = /* @__PURE__ */ de({ __name: "DataGrid", props: { items: { default: () => [] }, @@ -6088,10 +6105,10 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b }, emits: ["headerSelected", "rowSelected"], setup(e, { emit: t }) { - const s = e, n = t, a = D(), r = D(null), u = (E) => r.value === E, d = al(), c = (E) => Object.keys(d).find((h) => h.toLowerCase() == E.toLowerCase() + "-header"), f = (E) => Object.keys(d).find((h) => h.toLowerCase() == E.toLowerCase()), p = v(() => Ws(s.items).filter((E) => !!(d[E] || d[E + "-header"]))), { typeOf: $, typeProperties: m } = lt(), k = v(() => qt(s.type)), g = v(() => $(k.value)), b = v(() => m(g.value)); + const s = e, n = t, a = O(), r = O(null), u = (E) => r.value === E, d = al(), c = (E) => Object.keys(d).find((h) => h.toLowerCase() == E.toLowerCase() + "-header"), f = (E) => Object.keys(d).find((h) => h.toLowerCase() == E.toLowerCase()), p = v(() => Ws(s.items).filter((E) => !!(d[E] || d[E + "-header"]))), { typeOf: $, typeProperties: m } = lt(), k = v(() => qt(s.type)), g = v(() => $(k.value)), b = v(() => m(g.value)); function P(E) { const h = s.headerTitles && _e(s.headerTitles, E) || E; - return s.headerTitle ? s.headerTitle(h) : fn(h); + return s.headerTitle ? s.headerTitle(h) : cn(h); } function I(E) { const h = E.toLowerCase(); @@ -6112,9 +6129,9 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b }; function T(E) { const h = s.visibleFrom && _e(s.visibleFrom, E); - return h && Ke(j[h], (C) => `hidden ${C}`); + return h && Ze(j[h], (C) => `hidden ${C}`); } - const S = v(() => s.gridClass ?? he.getGridClass(s.tableStyle)), ie = v(() => s.grid2Class ?? he.getGrid2Class(s.tableStyle)), L = v(() => s.grid3Class ?? he.getGrid3Class(s.tableStyle)), z = v(() => s.grid4Class ?? he.getGrid4Class(s.tableStyle)), K = v(() => s.tableClass ?? he.getTableClass(s.tableStyle)), le = v(() => s.tbodyClass ?? he.getTbodyClass(s.tbodyClass)), R = v(() => s.theadClass ?? he.getTheadClass(s.tableStyle)), W = v(() => s.theadRowClass ?? he.getTheadRowClass(s.tableStyle)), ee = v(() => s.theadCellClass ?? he.getTheadCellClass(s.tableStyle)); + const M = v(() => s.gridClass ?? he.getGridClass(s.tableStyle)), ie = v(() => s.grid2Class ?? he.getGrid2Class(s.tableStyle)), L = v(() => s.grid3Class ?? he.getGrid3Class(s.tableStyle)), z = v(() => s.grid4Class ?? he.getGrid4Class(s.tableStyle)), K = v(() => s.tableClass ?? he.getTableClass(s.tableStyle)), le = v(() => s.tbodyClass ?? he.getTbodyClass(s.tbodyClass)), R = v(() => s.theadClass ?? he.getTheadClass(s.tableStyle)), W = v(() => s.theadRowClass ?? he.getTheadRowClass(s.tableStyle)), ee = v(() => s.theadCellClass ?? he.getTheadCellClass(s.tableStyle)); function q(E, h) { return s.rowClass ? s.rowClass(E, h) : he.getTableRowClass(s.tableStyle, h, !!(s.isSelected && s.isSelected(E)), s.isSelected != null); } @@ -6122,10 +6139,10 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b return s.rowStyle ? s.rowStyle(E, h) : void 0; } const te = v(() => { - const E = (typeof s.selectedColumns == "string" ? s.selectedColumns.split(",") : s.selectedColumns) || (p.value.length > 0 ? p.value : Ws(s.items)), h = b.value.reduce((C, J) => (C[J.name.toLowerCase()] = J.format, C), {}); + const E = (typeof s.selectedColumns == "string" ? s.selectedColumns.split(",") : s.selectedColumns) || (p.value.length > 0 ? p.value : Ws(s.items)), h = b.value.reduce((C, Y) => (C[Y.name.toLowerCase()] = Y.format, C), {}); return E.filter((C) => { - var J; - return ((J = h[C.toLowerCase()]) == null ? void 0 : J.method) != "hidden"; + var Y; + return ((Y = h[C.toLowerCase()]) == null ? void 0 : Y.method) != "hidden"; }); }); function w(E, h) { @@ -6135,12 +6152,12 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b n("rowSelected", C, E); } return (E, h) => { - const C = Z("CellFormat"), J = Z("PreviewFormat"); + const C = Z("CellFormat"), Y = Z("PreviewFormat"); return E.items.length ? (o(), i("div", { key: 0, ref_key: "refResults", ref: a, - class: y(S.value) + class: y(M.value) }, [ l("div", { class: y(ie.value) @@ -6160,52 +6177,52 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b l("tr", { class: y(W.value) }, [ - (o(!0), i(Se, null, je(te.value, (G) => (o(), i("td", { - class: y([T(G), ee.value, u(G) ? "text-gray-900 dark:text-gray-50" : "text-gray-500 dark:text-gray-400"]) + (o(!0), i(Me, null, je(te.value, (J) => (o(), i("td", { + class: y([T(J), ee.value, u(J) ? "text-gray-900 dark:text-gray-50" : "text-gray-500 dark:text-gray-400"]) }, [ l("div", { - onClick: (ne) => w(ne, G) + onClick: (ne) => w(ne, J) }, [ - X(d)[G + "-header"] ? U(E.$slots, G + "-header", { + X(d)[J + "-header"] ? U(E.$slots, J + "-header", { key: 0, - column: G - }) : c(G) ? U(E.$slots, c(G), { + column: J + }) : c(J) ? U(E.$slots, c(J), { key: 1, - column: G + column: J }) : X(d).header ? U(E.$slots, "header", { key: 2, - column: G, - label: P(G) - }) : (o(), i("div", xv, [ - l("span", Lv, F(P(G)), 1) + column: J, + label: P(J) + }) : (o(), i("div", Vv, [ + l("span", Sv, F(P(J)), 1) ])) - ], 8, Cv) + ], 8, Lv) ], 2))), 256)) ], 2) ], 2), l("tbody", { class: y(le.value) }, [ - (o(!0), i(Se, null, je(E.items, (G, ne) => (o(), i("tr", { - class: y(q(G, ne)), - style: nl(A(G, ne)), - onClick: (O) => N(O, ne, G) + (o(!0), i(Me, null, je(E.items, (J, ne) => (o(), i("tr", { + class: y(q(J, ne)), + style: nl(A(J, ne)), + onClick: (D) => N(D, ne, J) }, [ - (o(!0), i(Se, null, je(te.value, (O) => (o(), i("td", { - class: y([T(O), X(he).tableCellClass]) + (o(!0), i(Me, null, je(te.value, (D) => (o(), i("td", { + class: y([T(D), X(he).tableCellClass]) }, [ - X(d)[O] ? U(E.$slots, O, Rt(Te({ key: 0 }, G))) : f(O) ? U(E.$slots, f(O), Rt(Te({ key: 1 }, G))) : I(O) ? (o(), ae(C, { + X(d)[D] ? U(E.$slots, D, Rt(Te({ key: 0 }, J))) : f(D) ? U(E.$slots, f(D), Rt(Te({ key: 1 }, J))) : I(D) ? (o(), ae(C, { key: 2, type: g.value, - propType: I(O), - modelValue: G - }, null, 8, ["type", "propType", "modelValue"])) : (o(), ae(J, { + propType: I(D), + modelValue: J + }, null, 8, ["type", "propType", "modelValue"])) : (o(), ae(Y, { key: 3, - value: X(_e)(G, O), - format: se(O) + value: X(_e)(J, D), + format: se(D) }, null, 8, ["value", "format"])) ], 2))), 256)) - ], 14, Vv))), 256)) + ], 14, Mv))), 256)) ], 2) ], 2) ], 2) @@ -6214,7 +6231,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ], 2)) : x("", !0); }; } -}), Sv = de({ +}), Tv = de({ props: { type: Object, propType: Object, @@ -6227,8 +6244,8 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b } return () => { var I; - const a = n(e.propType), r = _e(e.modelValue, e.propType.name), u = Object.assign({}, e, t), d = _t("span", { innerHTML: ts(r, a, u) }), c = Xt(r) && Array.isArray(r) ? _t("span", {}, [ - _t("span", { class: "mr-2" }, `${r.length}`), + const a = n(e.propType), r = _e(e.modelValue, e.propType.name), u = Object.assign({}, e, t), d = $t("span", { innerHTML: ts(r, a, u) }), c = Xt(r) && Array.isArray(r) ? $t("span", {}, [ + $t("span", { class: "mr-2" }, `${r.length}`), d ]) : d, f = (I = e.propType) == null ? void 0 : I.ref; if (!f) @@ -6239,20 +6256,20 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b const m = _e(e.modelValue, $.name), k = m && f.refLabel && _e(m, f.refLabel); if (!k) return c; - const g = s(f.model), b = g == null ? void 0 : g.icon, P = b ? _t(Yn, { image: b, class: "w-5 h-5 mr-1" }) : null; - return _t("span", { class: "flex", title: `${f.model} ${r}` }, [ + const g = s(f.model), b = g == null ? void 0 : g.icon, P = b ? $t(eo, { image: b, class: "w-5 h-5 mr-1" }) : null; + return $t("span", { class: "flex", title: `${f.model} ${r}` }, [ P, k ]); }; } -}), Av = { key: 0 }, Tv = { +}), Fv = { key: 0 }, Iv = { key: 0, class: "mr-2" -}, Fv = ["innerHTML"], Iv = ["innerHTML"], jv = { +}, jv = ["innerHTML"], Ov = ["innerHTML"], Dv = { inheritAttrs: !1 -}, Dv = /* @__PURE__ */ de({ - ...jv, +}, Pv = /* @__PURE__ */ de({ + ...Dv, __name: "PreviewFormat", props: { value: {}, @@ -6265,17 +6282,17 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b }, setup(e) { const t = e, s = v(() => Array.isArray(t.value)); - return (n, a) => X(Xt)(n.value) ? (o(), i("span", Av, [ - n.includeCount && s.value ? (o(), i("span", Tv, F(n.value.length), 1)) : x("", !0), + return (n, a) => X(Xt)(n.value) ? (o(), i("span", Fv, [ + n.includeCount && s.value ? (o(), i("span", Iv, F(n.value.length), 1)) : x("", !0), l("span", { innerHTML: X(ts)(n.value, n.format, n.$attrs) - }, null, 8, Fv) + }, null, 8, jv) ])) : (o(), i("span", { key: 1, innerHTML: X(ts)(n.value, n.format, n.$attrs) - }, null, 8, Iv)); + }, null, 8, Ov)); } -}), Ov = ["innerHTML"], Pv = { key: 0 }, Bv = /* @__PURE__ */ l("b", null, null, -1), Hv = { key: 2 }, Rv = /* @__PURE__ */ de({ +}), Bv = ["innerHTML"], Hv = { key: 0 }, Rv = /* @__PURE__ */ l("b", null, null, -1), Ev = { key: 2 }, zv = /* @__PURE__ */ de({ __name: "HtmlFormat", props: { value: {}, @@ -6284,7 +6301,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b classes: { type: Function, default: (e, t, s, n, a) => n } }, setup(e) { - const t = e, s = v(() => At(t.value)), n = v(() => Array.isArray(t.value)), a = (c) => fn(c), r = (c) => t.fieldAttrs ? t.fieldAttrs(c) : null, u = v(() => Ws(t.value)), d = (c) => c ? Object.keys(c).map((f) => ({ key: a(f), val: c[f] })) : []; + const t = e, s = v(() => Tt(t.value)), n = v(() => Array.isArray(t.value)), a = (c) => cn(c), r = (c) => t.fieldAttrs ? t.fieldAttrs(c) : null, u = v(() => Ws(t.value)), d = (c) => c ? Object.keys(c).map((f) => ({ key: a(f), val: c[f] })) : []; return (c, f) => { const p = Z("HtmlFormat", !0); return o(), i("div", { @@ -6293,11 +6310,11 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b s.value ? (o(), i("div", { key: 0, innerHTML: X(ts)(c.value) - }, null, 8, Ov)) : n.value ? (o(), i("div", { + }, null, 8, Bv)) : n.value ? (o(), i("div", { key: 1, class: y(c.classes("array", "div", c.depth, X(he).gridClass)) }, [ - X(At)(c.value[0]) ? (o(), i("div", Pv, "[ " + F(c.value.join(", ")) + " ]", 1)) : (o(), i("div", { + X(Tt)(c.value[0]) ? (o(), i("div", Hv, "[ " + F(c.value.join(", ")) + " ]", 1)) : (o(), i("div", { key: 1, class: y(c.classes("array", "div", c.depth, X(he).grid2Class)) }, [ @@ -6314,19 +6331,19 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b class: y(c.classes("array", "thead", c.depth, X(he).theadClass)) }, [ l("tr", null, [ - (o(!0), i(Se, null, je(u.value, ($) => (o(), i("th", { + (o(!0), i(Me, null, je(u.value, ($) => (o(), i("th", { class: y(c.classes("array", "th", c.depth, X(he).theadCellClass + " whitespace-nowrap")) }, [ - Bv, + Rv, ke(F(a($)), 1) ], 2))), 256)) ]) ], 2), l("tbody", null, [ - (o(!0), i(Se, null, je(c.value, ($, m) => (o(), i("tr", { + (o(!0), i(Me, null, je(c.value, ($, m) => (o(), i("tr", { class: y(c.classes("array", "tr", c.depth, m % 2 == 0 ? "bg-white" : "bg-gray-50", m)) }, [ - (o(!0), i(Se, null, je(u.value, (k) => (o(), i("td", { + (o(!0), i(Me, null, je(u.value, (k) => (o(), i("td", { class: y(c.classes("array", "td", c.depth, X(he).tableCellClass)) }, [ ye(p, Te({ @@ -6342,11 +6359,11 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ], 2) ], 2) ], 2)) - ], 2)) : (o(), i("div", Hv, [ + ], 2)) : (o(), i("div", Ev, [ l("table", { class: y(c.classes("object", "table", c.depth, "table-object")) }, [ - (o(!0), i(Se, null, je(d(c.value), ($) => (o(), i("tr", { + (o(!0), i(Me, null, je(d(c.value), ($) => (o(), i("tr", { class: y(c.classes("object", "tr", c.depth, "")) }, [ l("th", { @@ -6368,14 +6385,14 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ], 2); }; } -}), Ev = ["href"], zv = ["href", "title"], Nv = /* @__PURE__ */ de({ +}), Nv = ["href"], Uv = ["href", "title"], qv = /* @__PURE__ */ de({ __name: "MarkupFormat", props: { value: {}, imageClass: { default: "w-8 h-8" } }, setup(e) { - const t = e, { getMimeType: s } = Ca(), n = t.value; + const t = e, { getMimeType: s } = La(), n = t.value; let a = typeof t.value; const r = a === "string" && n.length ? s(n) : null; if (a === "string" && n.length) { @@ -6388,7 +6405,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b key: 0, href: u.value, class: "text-indigo-600" - }, F(u.value), 9, Ev)) : X(a) == "image" ? (o(), i("a", { + }, F(u.value), 9, Nv)) : X(a) == "image" ? (o(), i("a", { key: 1, href: u.value, title: u.value, @@ -6398,19 +6415,19 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b src: u.value, class: y(u.imageClass) }, null, 8, ["src", "class"]) - ], 8, zv)) : (o(), ae(f, { + ], 8, Uv)) : (o(), ae(f, { key: 2, value: u.value }, null, 8, ["value"])); }; } -}), Uv = { class: "my-2 w-full" }, qv = { class: "leading-7" }, Qv = { class: "px-2 text-left align-top" }, Kv = { colspan: "align-top" }, Zv = { class: "my-2 leading-7" }, Wv = { +}), Qv = { class: "my-2 w-full" }, Kv = { class: "leading-7" }, Zv = { class: "px-2 text-left align-top" }, Wv = { colspan: "align-top" }, Gv = { class: "my-2 leading-7" }, Jv = { colspan: "2", class: "px-2 bg-indigo-700 text-white" -}, Gv = { class: "leading-7" }, Jv = { +}, Xv = { class: "leading-7" }, Yv = { colspan: "2", class: "px-2 align-top" -}, Xv = /* @__PURE__ */ de({ +}, ep = /* @__PURE__ */ de({ __name: "MarkupModel", props: { value: {}, @@ -6423,19 +6440,19 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b u == null || d === "function" || d === "symbol" ? n[r] = `(${u == null ? "null" : "t"})` : d === "object" ? a[r] = u : n[r] = u; }), (r, u) => { const d = Z("MarkupFormat"); - return o(), i("table", Uv, [ - (o(), i(Se, null, je(n, (c, f) => l("tr", qv, [ - l("th", Qv, F(X(Pe)(f)), 1), - l("td", Kv, [ + return o(), i("table", Qv, [ + (o(), i(Me, null, je(n, (c, f) => l("tr", Kv, [ + l("th", Zv, F(X(Pe)(f)), 1), + l("td", Wv, [ ye(d, { value: c }, null, 8, ["value"]) ]) ])), 64)), - (o(), i(Se, null, je(a, (c, f) => (o(), i(Se, null, [ - l("tr", Zv, [ - l("td", Wv, F(X(Pe)(f)), 1) - ]), + (o(), i(Me, null, je(a, (c, f) => (o(), i(Me, null, [ l("tr", Gv, [ - l("td", Jv, [ + l("td", Jv, F(X(Pe)(f)), 1) + ]), + l("tr", Xv, [ + l("td", Yv, [ ye(d, { value: c }, null, 8, ["value"]) ]) ]) @@ -6443,7 +6460,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ]); }; } -}), Yv = { class: "absolute top-0 right-0 pt-4 pr-4" }, ep = /* @__PURE__ */ l("span", { class: "sr-only" }, "Close", -1), tp = /* @__PURE__ */ l("svg", { +}), tp = { class: "absolute top-0 right-0 pt-4 pr-4" }, sp = /* @__PURE__ */ l("span", { class: "sr-only" }, "Close", -1), lp = /* @__PURE__ */ l("svg", { class: "h-6 w-6", xmlns: "http://www.w3.org/2000/svg", fill: "none", @@ -6457,31 +6474,31 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b "stroke-width": "2", d: "M6 18L18 6M6 6l12 12" }) -], -1), sp = [ - ep, - tp -], lp = /* @__PURE__ */ de({ +], -1), np = [ + sp, + lp +], op = /* @__PURE__ */ de({ __name: "CloseButton", props: { buttonClass: { default: "bg-white dark:bg-black" } }, emits: ["close"], setup(e, { emit: t }) { - return (s, n) => (o(), i("div", Yv, [ + return (s, n) => (o(), i("div", tp, [ l("button", { type: "button", onClick: n[0] || (n[0] = (a) => s.$emit("close")), class: y([s.buttonClass, "rounded-md text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 dark:ring-offset-black"]) - }, sp, 2) + }, np, 2) ])); } -}), np = ["id", "aria-labelledby"], op = /* @__PURE__ */ l("div", { class: "fixed inset-0" }, null, -1), ap = { class: "fixed inset-0 overflow-hidden" }, rp = { class: "flex h-full flex-col bg-white dark:bg-black shadow-xl" }, ip = { class: "flex min-h-0 flex-1 flex-col overflow-auto" }, up = { class: "flex-1" }, dp = { class: "relative bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6" }, cp = { class: "flex items-start justify-between space-x-3" }, fp = { class: "space-y-1" }, vp = { key: 0 }, pp = ["id"], mp = { +}), ap = ["id", "aria-labelledby"], rp = /* @__PURE__ */ l("div", { class: "fixed inset-0" }, null, -1), ip = { class: "fixed inset-0 overflow-hidden" }, up = { class: "flex h-full flex-col bg-white dark:bg-black shadow-xl" }, dp = { class: "flex min-h-0 flex-1 flex-col overflow-auto" }, cp = { class: "flex-1" }, fp = { class: "relative bg-gray-50 dark:bg-gray-900 px-4 py-6 sm:px-6" }, vp = { class: "flex items-start justify-between space-x-3" }, pp = { class: "space-y-1" }, mp = { key: 0 }, hp = ["id"], gp = { key: 2, class: "text-sm text-gray-500" -}, hp = { class: "flex h-7 items-center" }, gp = { +}, yp = { class: "flex h-7 items-center" }, bp = { key: 0, class: "flex-shrink-0 border-t border-gray-200 dark:border-gray-700 px-4 py-5 sm:px-6" -}, yp = /* @__PURE__ */ de({ +}, wp = /* @__PURE__ */ de({ __name: "SlideOver", props: { id: { default: "SlideOver" }, @@ -6490,17 +6507,17 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b }, emits: ["done"], setup(e, { emit: t }) { - const s = t, n = D(!1), a = D(""), r = { + const s = t, n = O(!1), a = O(""), r = { entering: { cls: "transform transition ease-in-out duration-500 sm:duration-700", from: "translate-x-full", to: "translate-x-0" }, leaving: { cls: "transform transition ease-in-out duration-500 sm:duration-700", from: "translate-x-0", to: "translate-x-full" } }; - yt(n, () => { - gt(r, a, n.value), n.value || setTimeout(() => s("done"), 700); + bt(n, () => { + yt(r, a, n.value), n.value || setTimeout(() => s("done"), 700); }), n.value = !0; const u = () => n.value = !1, d = (c) => { c.key === "Escape" && u(); }; - return Ye(() => window.addEventListener("keydown", d)), Tt(() => window.removeEventListener("keydown", d)), (c, f) => { + return Ye(() => window.addEventListener("keydown", d)), Ft(() => window.removeEventListener("keydown", d)), (c, f) => { const p = Z("CloseButton"); return o(), i("div", { id: c.id, @@ -6509,8 +6526,8 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b role: "dialog", "aria-modal": "true" }, [ - op, - l("div", ap, [ + rp, + l("div", ip, [ l("div", { onMousedown: u, class: "absolute inset-0 overflow-hidden" @@ -6523,25 +6540,25 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b l("div", { class: y(["panel pointer-events-auto w-screen xl:max-w-3xl md:max-w-xl max-w-lg", a.value]) }, [ - l("div", rp, [ - l("div", ip, [ - l("div", up, [ - l("div", dp, [ - l("div", cp, [ - l("div", fp, [ - c.$slots.title ? (o(), i("div", vp, [ + l("div", up, [ + l("div", dp, [ + l("div", cp, [ + l("div", fp, [ + l("div", vp, [ + l("div", pp, [ + c.$slots.title ? (o(), i("div", mp, [ U(c.$slots, "title") ])) : x("", !0), c.title ? (o(), i("h2", { key: 1, class: "text-lg font-medium text-gray-900 dark:text-gray-50", id: c.id + "-title" - }, F(c.title), 9, pp)) : x("", !0), - c.$slots.subtitle ? (o(), i("p", mp, [ + }, F(c.title), 9, hp)) : x("", !0), + c.$slots.subtitle ? (o(), i("p", gp, [ U(c.$slots, "subtitle") ])) : x("", !0) ]), - l("div", hp, [ + l("div", yp, [ ye(p, { "button-class": "bg-gray-50 dark:bg-gray-900", onClose: u @@ -6556,7 +6573,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ], 2) ]) ]), - c.$slots.footer ? (o(), i("div", gp, [ + c.$slots.footer ? (o(), i("div", bp, [ U(c.$slots, "footer") ])) : x("", !0) ]) @@ -6564,10 +6581,10 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ], 32) ], 32) ]) - ], 8, np); + ], 8, ap); }; } -}), bp = ["id", "data-transition-for", "aria-labelledby"], wp = { class: "fixed inset-0 z-10 overflow-y-auto" }, kp = { class: "flex min-h-full items-end justify-center p-4 text-center sm:items-center sm:p-0" }, _p = /* @__PURE__ */ l("span", { class: "sr-only" }, "Close", -1), $p = /* @__PURE__ */ l("svg", { +}), kp = ["id", "data-transition-for", "aria-labelledby"], _p = { class: "fixed inset-0 z-10 overflow-y-auto" }, $p = { class: "flex min-h-full items-end justify-center p-4 text-center sm:items-center sm:p-0" }, Cp = /* @__PURE__ */ l("span", { class: "sr-only" }, "Close", -1), xp = /* @__PURE__ */ l("svg", { class: "h-6 w-6", xmlns: "http://www.w3.org/2000/svg", fill: "none", @@ -6581,10 +6598,10 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b "stroke-width": "2", d: "M6 18L18 6M6 6l12 12" }) -], -1), Cp = [ - _p, - $p -], xp = /* @__PURE__ */ de({ +], -1), Lp = [ + Cp, + xp +], Vp = /* @__PURE__ */ de({ __name: "ModalDialog", props: { id: { default: "ModalDialog" }, @@ -6593,21 +6610,21 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b }, emits: ["done"], setup(e, { emit: t }) { - const s = t, n = D(!1), a = D(""), r = { + const s = t, n = O(!1), a = O(""), r = { entering: { cls: "ease-out duration-300", from: "opacity-0", to: "opacity-100" }, leaving: { cls: "ease-in duration-200", from: "opacity-100", to: "opacity-0" } - }, u = D(""), d = { + }, u = O(""), d = { entering: { cls: "ease-out duration-300", from: "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95", to: "opacity-100 translate-y-0 sm:scale-100" }, leaving: { cls: "ease-in duration-200", from: "opacity-100 translate-y-0 sm:scale-100", to: "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95" } }; - yt(n, () => { - gt(r, a, n.value), gt(d, u, n.value), n.value || setTimeout(() => s("done"), 200); + bt(n, () => { + yt(r, a, n.value), yt(d, u, n.value), n.value || setTimeout(() => s("done"), 200); }), n.value = !0; const c = () => n.value = !1; ss("ModalProvider", { openModal: m }); - const p = D(), $ = D(); + const p = O(), $ = O(); function m(b, P) { p.value = b, $.value = P; } @@ -6617,7 +6634,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b const g = (b) => { b.key === "Escape" && c(); }; - return Ye(() => window.addEventListener("keydown", g)), Tt(() => window.removeEventListener("keydown", g)), (b, P) => { + return Ye(() => window.addEventListener("keydown", g)), Ft(() => window.removeEventListener("keydown", g)), (b, P) => { var se; const I = Z("ModalLookup"); return o(), i("div", { @@ -6632,8 +6649,8 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b l("div", { class: y(["fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity", a.value]) }, null, 2), - l("div", wp, [ - l("div", kp, [ + l("div", _p, [ + l("div", $p, [ l("div", { class: y([b.modalClass, b.sizeClass, u.value]), onMousedown: P[0] || (P[0] = Ue(() => { @@ -6645,7 +6662,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b type: "button", onClick: c, class: "bg-white dark:bg-black rounded-md text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 dark:ring-offset-black" - }, Cp) + }, Lp) ]), U(b.$slots, "default") ]) @@ -6657,13 +6674,13 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b "ref-info": p.value.ref, onDone: k }, null, 8, ["ref-info"])) : x("", !0) - ], 40, bp); + ], 40, kp); }; } -}), Lp = { +}), Sp = { class: "pt-2 overflow-auto", style: { "min-height": "620px" } -}, Vp = { class: "mt-3 pl-5 flex flex-wrap items-center" }, Mp = { class: "hidden sm:block text-xl leading-6 font-medium text-gray-900 dark:text-gray-50 mr-3" }, Sp = { class: "hidden md:inline" }, Ap = { class: "flex pb-1 sm:pb-0" }, Tp = ["title"], Fp = /* @__PURE__ */ l("svg", { +}, Mp = { class: "mt-3 pl-5 flex flex-wrap items-center" }, Ap = { class: "hidden sm:block text-xl leading-6 font-medium text-gray-900 dark:text-gray-50 mr-3" }, Tp = { class: "hidden md:inline" }, Fp = { class: "flex pb-1 sm:pb-0" }, Ip = ["title"], jp = /* @__PURE__ */ l("svg", { class: "w-8 h-8", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" @@ -6677,9 +6694,9 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b stroke: "currentColor" }) ]) -], -1), Ip = [ - Fp -], jp = ["disabled"], Dp = /* @__PURE__ */ l("svg", { +], -1), Op = [ + jp +], Dp = ["disabled"], Pp = /* @__PURE__ */ l("svg", { class: "w-8 h-8", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" @@ -6688,9 +6705,9 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b d: "M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6l6 6zM6 6h2v12H6z", fill: "currentColor" }) -], -1), Op = [ - Dp -], Pp = ["disabled"], Bp = /* @__PURE__ */ l("svg", { +], -1), Bp = [ + Pp +], Hp = ["disabled"], Rp = /* @__PURE__ */ l("svg", { class: "w-8 h-8", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" @@ -6699,9 +6716,9 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b d: "M15.41 7.41L14 6l-6 6l6 6l1.41-1.41L10.83 12z", fill: "currentColor" }) -], -1), Hp = [ - Bp -], Rp = ["disabled"], Ep = /* @__PURE__ */ l("svg", { +], -1), Ep = [ + Rp +], zp = ["disabled"], Np = /* @__PURE__ */ l("svg", { class: "w-8 h-8", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" @@ -6710,9 +6727,9 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b d: "M10 6L8.59 7.41L13.17 12l-4.58 4.59L10 18l6-6z", fill: "currentColor" }) -], -1), zp = [ - Ep -], Np = ["disabled"], Up = /* @__PURE__ */ l("svg", { +], -1), Up = [ + Np +], qp = ["disabled"], Qp = /* @__PURE__ */ l("svg", { class: "w-8 h-8", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" @@ -6721,15 +6738,15 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b d: "M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6l-6-6zM16 6h2v12h-2z", fill: "currentColor" }) -], -1), qp = [ - Up -], Qp = { +], -1), Kp = [ + Qp +], Zp = { key: 0, class: "flex pb-1 sm:pb-0" -}, Kp = { class: "px-4 text-lg text-black dark:text-white" }, Zp = { key: 0 }, Wp = { key: 1 }, Gp = /* @__PURE__ */ l("span", { class: "hidden xl:inline" }, " Showing Results ", -1), Jp = { key: 2 }, Xp = { +}, Wp = { class: "px-4 text-lg text-black dark:text-white" }, Gp = { key: 0 }, Jp = { key: 1 }, Xp = /* @__PURE__ */ l("span", { class: "hidden xl:inline" }, " Showing Results ", -1), Yp = { key: 2 }, em = { key: 1, class: "pl-2" -}, Yp = /* @__PURE__ */ l("svg", { +}, tm = /* @__PURE__ */ l("svg", { class: "w-5 h-5", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", @@ -6739,12 +6756,12 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b fill: "currentColor", d: "M6.78 2.72a.75.75 0 0 1 0 1.06L4.56 6h8.69a7.75 7.75 0 1 1-7.75 7.75a.75.75 0 0 1 1.5 0a6.25 6.25 0 1 0 6.25-6.25H4.56l2.22 2.22a.75.75 0 1 1-1.06 1.06l-3.5-3.5a.75.75 0 0 1 0-1.06l3.5-3.5a.75.75 0 0 1 1.06 0Z" }) -], -1), e1 = [ - Yp -], t1 = { class: "flex pb-1 sm:pb-0" }, s1 = { +], -1), sm = [ + tm +], lm = { class: "flex pb-1 sm:pb-0" }, nm = { key: 0, class: "pl-2" -}, l1 = /* @__PURE__ */ l("svg", { +}, om = /* @__PURE__ */ l("svg", { class: "flex-none w-5 h-5 mr-2 text-gray-400 dark:text-gray-500 group-hover:text-gray-500", "aria-hidden": "true", xmlns: "http://www.w3.org/2000/svg", @@ -6756,39 +6773,39 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b d: "M3 3a1 1 0 011-1h12a1 1 0 011 1v3a1 1 0 01-.293.707L12 11.414V15a1 1 0 01-.293.707l-2 2A1 1 0 018 17v-5.586L3.293 6.707A1 1 0 013 6V3z", "clip-rule": "evenodd" }) -], -1), n1 = { class: "mr-1" }, o1 = { +], -1), am = { class: "mr-1" }, rm = { key: 0, class: "h-5 w-5 text-gray-400 dark:text-gray-500 group-hover:text-gray-500", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", "aria-hidden": "true" -}, a1 = /* @__PURE__ */ l("path", { +}, im = /* @__PURE__ */ l("path", { "fill-rule": "evenodd", d: "M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z", "clip-rule": "evenodd" -}, null, -1), r1 = [ - a1 -], i1 = { +}, null, -1), um = [ + im +], dm = { key: 1, class: "h-5 w-5 text-gray-400 dark:text-gray-500 group-hover:text-gray-500", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", "aria-hidden": "true" -}, u1 = /* @__PURE__ */ l("path", { +}, cm = /* @__PURE__ */ l("path", { "fill-rule": "evenodd", d: "M5 10a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1z", "clip-rule": "evenodd" -}, null, -1), d1 = [ - u1 -], c1 = { key: 1 }, f1 = { key: 4 }, v1 = { key: 0 }, p1 = { +}, null, -1), fm = [ + cm +], vm = { key: 1 }, pm = { key: 4 }, mm = { key: 0 }, hm = { key: 0, class: "cursor-pointer flex justify-between items-center hover:text-gray-900 dark:hover:text-gray-50" -}, m1 = { class: "mr-1 select-none" }, h1 = { +}, gm = { class: "mr-1 select-none" }, ym = { key: 1, class: "flex justify-between items-center" -}, g1 = { class: "mr-1 select-none" }, ln = 25, y1 = /* @__PURE__ */ de({ +}, bm = { class: "mr-1 select-none" }, ln = 25, wm = /* @__PURE__ */ de({ __name: "ModalLookup", props: { id: { default: "ModalLookup" }, @@ -6807,7 +6824,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b }, emits: ["done"], setup(e, { emit: t }) { - const s = e, n = t, a = al(), { config: r } = It(), { metadataApi: u, filterDefinitions: d } = lt(), c = Qe("client"), f = r.value.storage, p = v(() => s.toolbarButtonClass ?? he.toolbarButtonClass), $ = v(() => d.value), m = D({ take: ln }), k = D(new Xe()), g = D(s.skip), b = D(!1), P = D(), I = (H) => typeof H == "string" ? H.split(",") : H || []; + const s = e, n = t, a = al(), { config: r } = It(), { metadataApi: u, filterDefinitions: d } = lt(), c = Qe("client"), f = r.value.storage, p = v(() => s.toolbarButtonClass ?? he.toolbarButtonClass), $ = v(() => d.value), m = O({ take: ln }), k = O(new Xe()), g = O(s.skip), b = O(!1), P = O(), I = (H) => typeof H == "string" ? H.split(",") : H || []; function se(H, Q) { return he.getTableRowClass("fullWidth", Q, !1, !0); } @@ -6815,29 +6832,29 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b let H = I(s.selectedColumns); return H.length > 0 ? H : []; } - const T = v(() => rt(s.refInfo.model)), S = v(() => { + const T = v(() => rt(s.refInfo.model)), M = v(() => { let Q = j().map((be) => be.toLowerCase()); const oe = st(T.value); return Q.length > 0 ? Q.map((be) => oe.find(($e) => $e.name.toLowerCase() === be)).filter((be) => be != null) : oe; }), ie = v(() => { - let H = S.value.map((oe) => oe.name), Q = I(m.value.selectedColumns).map((oe) => oe.toLowerCase()); + let H = M.value.map((oe) => oe.name), Q = I(m.value.selectedColumns).map((oe) => oe.toLowerCase()); return Q.length > 0 ? H.filter((oe) => Q.includes(oe.toLowerCase())) : H; }), L = v(() => m.value.take ?? ln), z = v(() => k.value.response ? _e(k.value.response, "results") : []), K = v(() => { var H; return ((H = k.value.response) == null ? void 0 : H.total) ?? z.value.length ?? 0; - }), le = v(() => g.value > 0), R = v(() => g.value > 0), W = v(() => z.value.length >= L.value), ee = v(() => z.value.length >= L.value), q = D([]), A = v(() => q.value.some((H) => H.settings.filters.length > 0 || !!H.settings.sort)), te = v(() => q.value.map((H) => H.settings.filters.length).reduce((H, Q) => H + Q, 0)), w = v(() => ns(T.value)), N = v(() => { + }), le = v(() => g.value > 0), R = v(() => g.value > 0), W = v(() => z.value.length >= L.value), ee = v(() => z.value.length >= L.value), q = O([]), A = v(() => q.value.some((H) => H.settings.filters.length > 0 || !!H.settings.sort)), te = v(() => q.value.map((H) => H.settings.filters.length).reduce((H, Q) => H + Q, 0)), w = v(() => ns(T.value)), N = v(() => { var H; return (H = u.value) == null ? void 0 : H.operations.find((Q) => { var oe; return ((oe = Q.dataModel) == null ? void 0 : oe.name) == s.refInfo.model && qe.isAnyQuery(Q); }); - }), E = D(), h = D(!1), C = D(), J = () => `${s.id}/ApiPrefs/${s.refInfo.model}`, G = (H) => `Column/${s.id}:${s.refInfo.model}.${H}`; + }), E = O(), h = O(!1), C = O(), Y = () => `${s.id}/ApiPrefs/${s.refInfo.model}`, J = (H) => `Column/${s.id}:${s.refInfo.model}.${H}`; async function ne(H) { g.value += H, g.value < 0 && (g.value = 0); var Q = Math.floor(K.value / L.value) * L.value; g.value > Q && (g.value = Q), await ce(); } - async function O(H, Q) { + async function D(H, Q) { n("done", H); } function V() { @@ -6847,9 +6864,9 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b var be, $e, Ae; let oe = Q.target; if ((oe == null ? void 0 : oe.tagName) !== "TD") { - let He = (be = oe == null ? void 0 : oe.closest("TABLE")) == null ? void 0 : be.getBoundingClientRect(), Fe = q.value.find((Oe) => Oe.name.toLowerCase() == H.toLowerCase()); + let He = (be = oe == null ? void 0 : oe.closest("TABLE")) == null ? void 0 : be.getBoundingClientRect(), Fe = q.value.find((De) => De.name.toLowerCase() == H.toLowerCase()); if (Fe && He) { - let Oe = 318, We = ((($e = Q.target) == null ? void 0 : $e.tagName) === "DIV" ? Q.target : (Ae = Q.target) == null ? void 0 : Ae.closest("DIV")).getBoundingClientRect(), Re = Oe + 25; + let De = 318, We = ((($e = Q.target) == null ? void 0 : $e.tagName) === "DIV" ? Q.target : (Ae = Q.target) == null ? void 0 : Ae.closest("DIV")).getBoundingClientRect(), Re = De + 25; C.value = { column: Fe, topLeft: { @@ -6866,16 +6883,16 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b async function ue(H) { var oe; let Q = (oe = C.value) == null ? void 0 : oe.column; - Q && (Q.settings = H, f.setItem(G(Q.name), JSON.stringify(Q.settings)), await ce()), C.value = null; + Q && (Q.settings = H, f.setItem(J(Q.name), JSON.stringify(Q.settings)), await ce()), C.value = null; } async function me(H) { - f.setItem(G(H.name), JSON.stringify(H.settings)), await ce(); + f.setItem(J(H.name), JSON.stringify(H.settings)), await ce(); } - async function M(H) { - h.value = !1, m.value = H, f.setItem(J(), JSON.stringify(H)), await ce(); + async function S(H) { + h.value = !1, m.value = H, f.setItem(Y(), JSON.stringify(H)), await ce(); } async function ce() { - await Ve(Me()); + await Ve(Se()); } async function Ve(H) { const Q = N.value; @@ -6883,14 +6900,14 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b console.error(`No Query API was found for ${s.refInfo.model}`); return; } - let oe = Yt(Q, H), be = cn((He) => { + let oe = Yt(Q, H), be = dn((He) => { k.value.response = k.value.error = void 0, b.value = He; }), $e = await c.api(oe); - be(), Vt(() => k.value = $e); + be(), St(() => k.value = $e); let Ae = _e($e.response, "results") || []; !$e.succeeded || Ae.label == 0; } - function Me() { + function Se() { let H = { include: "total", take: L.value @@ -6909,12 +6926,12 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b } async function ge() { q.value.forEach((H) => { - H.settings = { filters: [] }, f.removeItem(G(H.name)); + H.settings = { filters: [] }, f.removeItem(J(H.name)); }), await ce(); } return Ye(async () => { - const H = s.prefs || $s(f.getItem(J())); - H && (m.value = H), q.value = S.value.map((Q) => ({ + const H = s.prefs || $s(f.getItem(Y())); + H && (m.value = H), q.value = M.value.map((Q) => ({ name: Q.name, type: Q.type, meta: Q, @@ -6922,12 +6939,12 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b { filters: [] }, - $s(f.getItem(G(Q.name))) + $s(f.getItem(J(Q.name))) ) })), isNaN(s.skip) || (g.value = s.skip), await ce(); }), (H, Q) => { const oe = Z("ErrorSummary"), be = Z("Loading"), $e = Z("SettingsIcons"), Ae = Z("DataGrid"), He = Z("ModalDialog"); - return o(), i(Se, null, [ + return o(), i(Me, null, [ H.refInfo ? (o(), ae(He, { key: 0, ref_key: "modalDialog", @@ -6936,20 +6953,20 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b onDone: V }, { default: xe(() => [ - l("div", Lp, [ - l("div", Vp, [ - l("h3", Mp, [ + l("div", Sp, [ + l("div", Mp, [ + l("h3", Ap, [ ke(" Select "), - l("span", Sp, F(X(Pe)(H.refInfo.model)), 1) + l("span", Tp, F(X(Pe)(H.refInfo.model)), 1) ]), - l("div", Ap, [ + l("div", Fp, [ H.showPreferences ? (o(), i("button", { key: 0, type: "button", class: "pl-2 text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400", title: `${H.refInfo.model} Preferences`, onClick: Q[0] || (Q[0] = (Fe) => h.value = !h.value) - }, Ip, 8, Tp)) : x("", !0), + }, Op, 8, Ip)) : x("", !0), H.showPagingNav ? (o(), i("button", { key: 1, type: "button", @@ -6957,7 +6974,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b title: "First page", disabled: !le.value, onClick: Q[1] || (Q[1] = (Fe) => ne(-K.value)) - }, Op, 10, jp)) : x("", !0), + }, Bp, 10, Dp)) : x("", !0), H.showPagingNav ? (o(), i("button", { key: 2, type: "button", @@ -6965,7 +6982,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b title: "Previous page", disabled: !R.value, onClick: Q[2] || (Q[2] = (Fe) => ne(-L.value)) - }, Hp, 10, Pp)) : x("", !0), + }, Ep, 10, Hp)) : x("", !0), H.showPagingNav ? (o(), i("button", { key: 3, type: "button", @@ -6973,7 +6990,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b title: "Next page", disabled: !W.value, onClick: Q[3] || (Q[3] = (Fe) => ne(L.value)) - }, zp, 10, Rp)) : x("", !0), + }, Up, 10, zp)) : x("", !0), H.showPagingNav ? (o(), i("button", { key: 4, type: "button", @@ -6981,37 +6998,37 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b title: "Last page", disabled: !ee.value, onClick: Q[4] || (Q[4] = (Fe) => ne(K.value)) - }, qp, 10, Np)) : x("", !0) + }, Kp, 10, qp)) : x("", !0) ]), - H.showPagingInfo ? (o(), i("div", Qp, [ - l("div", Kp, [ - b.value ? (o(), i("span", Zp, "Querying...")) : x("", !0), - z.value.length ? (o(), i("span", Wp, [ - Gp, + H.showPagingInfo ? (o(), i("div", Zp, [ + l("div", Wp, [ + b.value ? (o(), i("span", Gp, "Querying...")) : x("", !0), + z.value.length ? (o(), i("span", Jp, [ + Xp, ke(" " + F(g.value + 1) + " - " + F(Math.min(g.value + z.value.length, K.value)) + " ", 1), l("span", null, " of " + F(K.value), 1) - ])) : k.value.completed ? (o(), i("span", Jp, "No Results")) : x("", !0) + ])) : k.value.completed ? (o(), i("span", Yp, "No Results")) : x("", !0) ]) ])) : x("", !0), - A.value && H.showResetPreferences ? (o(), i("div", Xp, [ + A.value && H.showResetPreferences ? (o(), i("div", em, [ l("button", { type: "button", onClick: ge, title: "Reset Preferences & Filters", class: y(p.value) - }, e1, 2) + }, sm, 2) ])) : x("", !0), - l("div", t1, [ - H.showFiltersView && te.value > 0 ? (o(), i("div", s1, [ + l("div", lm, [ + H.showFiltersView && te.value > 0 ? (o(), i("div", nm, [ l("button", { type: "button", onClick: Q[5] || (Q[5] = (Fe) => P.value = P.value == "filters" ? null : "filters"), class: y(p.value), "aria-expanded": "false" }, [ - l1, - l("span", n1, F(te.value) + " " + F(te.value == 1 ? "Filter" : "Filters"), 1), - P.value != "filters" ? (o(), i("svg", o1, r1)) : (o(), i("svg", i1, d1)) + om, + l("span", am, F(te.value) + " " + F(te.value == 1 ? "Filter" : "Filters"), 1), + P.value != "filters" ? (o(), i("svg", rm, um)) : (o(), i("svg", dm, fm)) ], 2) ])) : x("", !0) ]) @@ -7024,7 +7041,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b onDone: Q[6] || (Q[6] = (Fe) => P.value = null), onChange: me }, null, 8, ["definitions", "columns"])) : x("", !0), - C.value ? (o(), i("div", c1, [ + C.value ? (o(), i("div", vm, [ ye(Fl, { definitions: $.value, column: C.value.column, @@ -7036,8 +7053,8 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b k.value.error ? (o(), ae(oe, { key: 2, status: k.value.error - }, null, 8, ["status"])) : b.value ? (o(), ae(be, { key: 3 })) : (o(), i("div", f1, [ - z.value.length ? (o(), i("div", v1, [ + }, null, 8, ["status"])) : b.value ? (o(), ae(be, { key: 3 })) : (o(), i("div", pm, [ + z.value.length ? (o(), i("div", mm, [ ye(Ae, { id: H.id, items: z.value, @@ -7046,20 +7063,20 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b onFiltersChanged: ce, tableStyle: "fullWidth", rowClass: se, - onRowSelected: O, + onRowSelected: D, onHeaderSelected: fe }, rl({ - header: xe(({ column: Fe, label: Oe }) => { - var De; + header: xe(({ column: Fe, label: De }) => { + var Oe; return [ - H.allowFiltering && (!s.canFilter || s.canFilter(Fe)) ? (o(), i("div", p1, [ - l("span", m1, F(Oe), 1), + H.allowFiltering && (!s.canFilter || s.canFilter(Fe)) ? (o(), i("div", hm, [ + l("span", gm, F(De), 1), ye($e, { column: q.value.find((We) => We.name.toLowerCase() === Fe.toLowerCase()), - "is-open": ((De = C.value) == null ? void 0 : De.column.name) === Fe + "is-open": ((Oe = C.value) == null ? void 0 : Oe.column.name) === Fe }, null, 8, ["column", "is-open"]) - ])) : (o(), i("div", h1, [ - l("span", g1, F(Oe), 1) + ])) : (o(), i("div", ym, [ + l("span", bm, F(De), 1) ])) ]; }), @@ -7067,8 +7084,8 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b }, [ je(Object.keys(X(a)), (Fe) => ({ name: Fe, - fn: xe((Oe) => [ - U(H.$slots, Fe, Rt(ks(Oe))) + fn: xe((De) => [ + U(H.$slots, Fe, Rt(ks(De))) ]) })) ]), 1032, ["id", "items", "type", "selected-columns"]) @@ -7080,18 +7097,18 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b }, 8, ["id"])) : x("", !0), h.value ? (o(), ae(jl, { key: 1, - columns: S.value, + columns: M.value, prefs: m.value, onDone: Q[7] || (Q[7] = (Fe) => h.value = !1), - onSave: M + onSave: S }, null, 8, ["columns", "prefs"])) : x("", !0) ], 64); }; } -}), b1 = { class: "sm:hidden" }, w1 = ["for"], k1 = ["id", "name"], _1 = ["value"], $1 = { class: "hidden sm:block" }, C1 = { class: "border-b border-gray-200" }, x1 = { +}), km = { class: "sm:hidden" }, _m = ["for"], $m = ["id", "name"], Cm = ["value"], xm = { class: "hidden sm:block" }, Lm = { class: "border-b border-gray-200" }, Vm = { class: "-mb-px flex", "aria-label": "Tabs" -}, L1 = ["onClick"], V1 = /* @__PURE__ */ de({ +}, Sm = ["onClick"], Mm = /* @__PURE__ */ de({ __name: "Tabs", props: { tabs: {}, @@ -7105,7 +7122,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b clearQuery: { type: Boolean, default: !1 } }, setup(e) { - const t = e, s = v(() => Object.keys(t.tabs)), n = (p) => t.label ? t.label(p) : Pe(p), a = v(() => t.id || "tabs"), r = v(() => t.param || "tab"), u = D(); + const t = e, s = v(() => Object.keys(t.tabs)), n = (p) => t.label ? t.label(p) : Pe(p), a = v(() => t.id || "tabs"), r = v(() => t.param || "tab"), u = O(); function d(p) { if (u.value = p, t.url) { const $ = s.value[0]; @@ -7122,11 +7139,11 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b m && (u.value = m); } }), (p, $) => (o(), i("div", null, [ - l("div", b1, [ + l("div", km, [ l("label", { for: a.value, class: "sr-only" - }, "Select a tab", 8, w1), + }, "Select a tab", 8, _m), l("select", { id: a.value, name: a.value, @@ -7136,21 +7153,21 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b return d((k = m.target) == null ? void 0 : k.value); }) }, [ - (o(!0), i(Se, null, je(s.value, (m) => (o(), i("option", { + (o(!0), i(Me, null, je(s.value, (m) => (o(), i("option", { key: m, value: m - }, F(n(m)), 9, _1))), 128)) - ], 40, k1) + }, F(n(m)), 9, Cm))), 128)) + ], 40, $m) ]), - l("div", $1, [ - l("div", C1, [ - l("nav", x1, [ - (o(!0), i(Se, null, je(s.value, (m) => (o(), i("a", { + l("div", xm, [ + l("div", Lm, [ + l("nav", Vm, [ + (o(!0), i(Me, null, je(s.value, (m) => (o(), i("a", { href: "#", onClick: Ue((k) => d(m), ["prevent"]), style: nl({ width: f.value }), class: y([c(m) ? "border-indigo-500 text-indigo-600 py-4 px-1 text-center border-b-2 font-medium text-sm" : "border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300 py-4 px-1 text-center border-b-2 font-medium text-sm", p.tabClass]) - }, F(n(m)), 15, L1))), 256)) + }, F(n(m)), 15, Sm))), 256)) ]) ]) ]), @@ -7161,7 +7178,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ], 2) ])); } -}), M1 = /* @__PURE__ */ l("svg", { +}), Am = /* @__PURE__ */ l("svg", { xmlns: "http://www.w3.org/2000/svg", class: "h-4 w-4 text-gray-400", preserveAspectRatio: "xMidYMid meet", @@ -7171,9 +7188,9 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b fill: "currentColor", d: "M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3Z" }) -], -1), S1 = [ - M1 -], A1 = /* @__PURE__ */ l("svg", { +], -1), Tm = [ + Am +], Fm = /* @__PURE__ */ l("svg", { xmlns: "http://www.w3.org/2000/svg", class: "h-4 w-4 text-indigo-600", preserveAspectRatio: "xMidYMid meet", @@ -7183,12 +7200,12 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b fill: "currentColor", d: "M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6ZM5.394 6.813L6.81 5.399l3.505 3.506L8.9 10.319zM2 15.005h5v2H2zm3.394 10.193L8.9 21.692l1.414 1.414l-3.505 3.506zM15 25.005h2v5h-2zm6.687-1.9l1.414-1.414l3.506 3.506l-1.414 1.414zm3.313-8.1h5v2h-5zm-3.313-6.101l3.506-3.506l1.414 1.414l-3.506 3.506zM15 2.005h2v5h-2z" }) -], -1), T1 = [ - A1 -], F1 = /* @__PURE__ */ de({ +], -1), Im = [ + Fm +], jm = /* @__PURE__ */ de({ __name: "DarkModeToggle", setup(e) { - const t = typeof document < "u" ? document.documentElement : null, s = () => !!(t != null && t.classList.contains("dark")), n = D(localStorage.getItem("color-scheme") == "dark"); + const t = typeof document < "u" ? document.documentElement : null, s = () => !!(t != null && t.classList.contains("dark")), n = O(localStorage.getItem("color-scheme") == "dark"); function a() { s() ? t == null || t.classList.remove("dark") : t == null || t.classList.add("dark"), n.value = s(), localStorage.setItem("color-scheme", n.value ? "dark" : "light"); } @@ -7205,38 +7222,38 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b l("span", { class: y(`${n.value ? "opacity-100 ease-in duration-200" : "opacity-0 ease-out duration-100"} absolute inset-0 h-full w-full flex items-center justify-center transition-opacity`), "aria-hidden": "true" - }, S1, 2), + }, Tm, 2), l("span", { class: y(`${n.value ? "opacity-0 ease-out duration-100" : "opacity-100 ease-in duration-200"} absolute inset-0 h-full w-full flex items-center justify-center transition-opacity`), "aria-hidden": "true" - }, T1, 2) + }, Im, 2) ], 2) ])); } -}), I1 = { key: 0 }, j1 = { +}), Om = { key: 0 }, Dm = { key: 1, class: "min-h-full flex flex-col justify-center py-12 sm:px-6 lg:px-8" -}, D1 = { class: "sm:mx-auto sm:w-full sm:max-w-md" }, O1 = { class: "mt-6 text-center text-3xl font-extrabold text-gray-900" }, P1 = { +}, Pm = { class: "sm:mx-auto sm:w-full sm:max-w-md" }, Bm = { class: "mt-6 text-center text-3xl font-extrabold text-gray-900" }, Hm = { key: 0, class: "mt-4 text-center text-sm text-gray-600" -}, B1 = { class: "relative z-0 inline-flex shadow-sm rounded-md" }, H1 = ["onClick"], R1 = { class: "mt-8 sm:mx-auto sm:w-full sm:max-w-md" }, E1 = { class: "bg-white py-8 px-4 shadow sm:rounded-lg sm:px-10" }, z1 = { class: "mt-8" }, N1 = { +}, Rm = { class: "relative z-0 inline-flex shadow-sm rounded-md" }, Em = ["onClick"], zm = { class: "mt-8 sm:mx-auto sm:w-full sm:max-w-md" }, Nm = { class: "bg-white py-8 px-4 shadow sm:rounded-lg sm:px-10" }, Um = { class: "mt-8" }, qm = { key: 1, class: "mt-6" -}, U1 = /* @__PURE__ */ xs('
Or continue with
', 1), q1 = { class: "mt-6 grid grid-cols-3 gap-3" }, Q1 = ["href", "title"], K1 = { +}, Qm = /* @__PURE__ */ xs('
Or continue with
', 1), Km = { class: "mt-6 grid grid-cols-3 gap-3" }, Zm = ["href", "title"], Wm = { key: 1, class: "h-5 w-5 text-gray-700", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 32 32" -}, Z1 = /* @__PURE__ */ l("path", { +}, Gm = /* @__PURE__ */ l("path", { d: "M16 8a5 5 0 1 0 5 5a5 5 0 0 0-5-5z", fill: "currentColor" -}, null, -1), W1 = /* @__PURE__ */ l("path", { +}, null, -1), Jm = /* @__PURE__ */ l("path", { d: "M16 2a14 14 0 1 0 14 14A14.016 14.016 0 0 0 16 2zm7.992 22.926A5.002 5.002 0 0 0 19 20h-6a5.002 5.002 0 0 0-4.992 4.926a12 12 0 1 1 15.985 0z", fill: "currentColor" -}, null, -1), G1 = [ - Z1, - W1 -], J1 = /* @__PURE__ */ de({ +}, null, -1), Xm = [ + Gm, + Jm +], Ym = /* @__PURE__ */ de({ __name: "SignIn", props: { provider: {}, @@ -7246,14 +7263,14 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b }, emits: ["login"], setup(e, { emit: t }) { - const s = e, n = t, { getMetadata: a, createDto: r } = lt(), u = Os(), d = Qe("client"), { signIn: c } = Tl(), f = a({ assert: !0 }), p = f.plugins.auth, $ = document.baseURI, m = f.app.baseUrl, k = D(r("Authenticate")), g = D(new Xe()), b = D(s.provider); + const s = e, n = t, { getMetadata: a, createDto: r } = lt(), u = Ds(), d = Qe("client"), { signIn: c } = Tl(), f = a({ assert: !0 }), p = f.plugins.auth, $ = document.baseURI, m = f.app.baseUrl, k = O(r("Authenticate")), g = O(new Xe()), b = O(s.provider); Ye(() => { p == null || p.authProviders.map((R) => R.formLayout).filter((R) => R).forEach((R) => R.forEach( (W) => k.value[W.id] = W.type === "checkbox" ? !1 : "" )); }); const P = v(() => (p == null ? void 0 : p.authProviders.filter((R) => R.formLayout)) || []), I = v(() => P.value[0] || {}), se = v(() => P.value[Math.max(P.value.length - 1, 0)] || {}), j = v(() => (b.value ? p == null ? void 0 : p.authProviders.find((R) => R.name === b.value) : null) ?? I.value), T = (R) => R === !1 || R === "false"; - function S(R) { + function M(R) { return R.label || R.navItem && R.navItem.label; } const ie = v(() => { @@ -7267,15 +7284,15 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b }); }); }), L = v(() => T(s.oauth) ? [] : (p == null ? void 0 : p.authProviders.filter((R) => R.type === "oauth")) || []), z = v(() => { - let R = Po( + let R = Ho( p == null ? void 0 : p.authProviders.filter((ee) => ee.formLayout && ee.formLayout.length > 0), (ee, q) => { - let A = S(q) || at(q.name); + let A = M(q) || at(q.name); ee[A] = q.name === I.value.name ? "" : q.name; } ); const W = j.value; - return W && T(s.tabs) && (R = { [S(W) || at(W.name)]: W }), R; + return W && T(s.tabs) && (R = { [M(W) || at(W.name)]: W }), R; }), K = v(() => { let R = ie.value.map((W) => W.id).filter((W) => W); return g.value.summaryMessage(R); @@ -7287,13 +7304,13 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b } } return (R, W) => { - const ee = Z("ErrorSummary"), q = Z("AutoFormFields"), A = Z("PrimaryButton"), te = Z("Icon"), w = ko("href"); - return X(p) ? (o(), i("div", j1, [ - l("div", D1, [ - l("h2", O1, F(R.title), 1), - Object.keys(z.value).length > 1 ? (o(), i("p", P1, [ - l("span", B1, [ - (o(!0), i(Se, null, je(z.value, (N, E) => Mt((o(), i("a", { + const ee = Z("ErrorSummary"), q = Z("AutoFormFields"), A = Z("PrimaryButton"), te = Z("Icon"), w = _o("href"); + return X(p) ? (o(), i("div", Dm, [ + l("div", Pm, [ + l("h2", Bm, F(R.title), 1), + Object.keys(z.value).length > 1 ? (o(), i("p", Hm, [ + l("span", Rm, [ + (o(!0), i(Me, null, je(z.value, (N, E) => Mt((o(), i("a", { onClick: (h) => b.value = N, class: y([ N === "" || N === I.value.name ? "rounded-l-md" : N === se.value.name ? "rounded-r-md -ml-px" : "-ml-px", @@ -7302,19 +7319,19 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ]) }, [ ke(F(E), 1) - ], 10, H1)), [ + ], 10, Em)), [ [w, { provider: N }] ])), 256)) ]) ])) : x("", !0) ]), - l("div", R1, [ + l("div", zm, [ K.value ? (o(), ae(ee, { key: 0, class: "mb-3", errorSummary: K.value }, null, 8, ["errorSummary"])) : x("", !0), - l("div", E1, [ + l("div", Nm, [ ie.value.length ? (o(), i("form", { key: 0, onSubmit: Ue(le, ["prevent"]) @@ -7327,7 +7344,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b "divide-class": "", "space-class": "space-y-6" }, null, 8, ["modelValue", "formLayout", "api"]), - l("div", z1, [ + l("div", Um, [ ye(A, { class: "w-full" }, { default: xe(() => [ ke("Sign In") @@ -7336,113 +7353,113 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b }) ]) ], 32)) : x("", !0), - L.value.length ? (o(), i("div", N1, [ - U1, - l("div", q1, [ - (o(!0), i(Se, null, je(L.value, (N) => (o(), i("div", null, [ + L.value.length ? (o(), i("div", qm, [ + Qm, + l("div", Km, [ + (o(!0), i(Me, null, je(L.value, (N) => (o(), i("div", null, [ l("a", { href: X(m) + N.navItem.href + "?continue=" + X($), - title: S(N), + title: M(N), class: "w-full inline-flex justify-center py-2 px-4 border border-gray-300 rounded-md shadow-sm bg-white text-sm font-medium text-gray-500 hover:bg-gray-50" }, [ N.icon ? (o(), ae(te, { key: 0, image: N.icon, class: "h-5 w-5 text-gray-700" - }, null, 8, ["image"])) : (o(), i("svg", K1, G1)) - ], 8, Q1) + }, null, 8, ["image"])) : (o(), i("svg", Wm, Xm)) + ], 8, Zm) ]))), 256)) ]) ])) : x("", !0) ]) ]) - ])) : (o(), i("div", I1, "No Auth Plugin")); + ])) : (o(), i("div", Om, "No Auth Plugin")); }; } -}), X1 = ["for"], Y1 = { +}), e1 = ["for"], t1 = { key: 1, class: "border border-gray-200 flex justify-between" -}, em = { class: "p-2 flex flex-wrap gap-x-4" }, tm = /* @__PURE__ */ l("title", null, "Bold text (CTRL+B)", -1), sm = /* @__PURE__ */ l("path", { +}, s1 = { class: "p-2 flex flex-wrap gap-x-4" }, l1 = /* @__PURE__ */ l("title", null, "Bold text (CTRL+B)", -1), n1 = /* @__PURE__ */ l("path", { fill: "currentColor", d: "M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79c0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79c0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z" -}, null, -1), lm = [ - tm, - sm -], nm = /* @__PURE__ */ l("title", null, "Italics (CTRL+I)", -1), om = /* @__PURE__ */ l("path", { +}, null, -1), o1 = [ + l1, + n1 +], a1 = /* @__PURE__ */ l("title", null, "Italics (CTRL+I)", -1), r1 = /* @__PURE__ */ l("path", { fill: "currentColor", d: "M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4h-8z" -}, null, -1), am = [ - nm, - om -], rm = /* @__PURE__ */ l("title", null, "Insert Link (CTRL+K)", -1), im = /* @__PURE__ */ l("path", { +}, null, -1), i1 = [ + a1, + r1 +], u1 = /* @__PURE__ */ l("title", null, "Insert Link (CTRL+K)", -1), d1 = /* @__PURE__ */ l("path", { fill: "currentColor", d: "M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7a5 5 0 0 0-5 5a5 5 0 0 0 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8v2m9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1c0 1.71-1.39 3.1-3.1 3.1h-4V17h4a5 5 0 0 0 5-5a5 5 0 0 0-5-5Z" -}, null, -1), um = [ - rm, - im -], dm = /* @__PURE__ */ l("title", null, "Blockquote (CTRL+Q)", -1), cm = /* @__PURE__ */ l("path", { +}, null, -1), c1 = [ + u1, + d1 +], f1 = /* @__PURE__ */ l("title", null, "Blockquote (CTRL+Q)", -1), v1 = /* @__PURE__ */ l("path", { fill: "currentColor", d: "m15 17l2-4h-4V6h7v7l-2 4h-3Zm-9 0l2-4H4V6h7v7l-2 4H6Z" -}, null, -1), fm = [ - dm, - cm -], vm = /* @__PURE__ */ l("title", null, "Insert Image (CTRL+SHIFT+L)", -1), pm = /* @__PURE__ */ l("path", { +}, null, -1), p1 = [ + f1, + v1 +], m1 = /* @__PURE__ */ l("title", null, "Insert Image (CTRL+SHIFT+L)", -1), h1 = /* @__PURE__ */ l("path", { fill: "currentColor", d: "M2.992 21A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992ZM20 15V5H4v14L14 9l6 6Zm0 2.828l-6-6L6.828 19H20v-1.172ZM8 11a2 2 0 1 1 0-4a2 2 0 0 1 0 4Z" -}, null, -1), mm = [ - vm, - pm -], hm = /* @__PURE__ */ l("title", null, "Insert Code (CTRL+<)", -1), gm = /* @__PURE__ */ l("path", { +}, null, -1), g1 = [ + m1, + h1 +], y1 = /* @__PURE__ */ l("title", null, "Insert Code (CTRL+<)", -1), b1 = /* @__PURE__ */ l("path", { fill: "currentColor", d: "m8 18l-6-6l6-6l1.425 1.425l-4.6 4.6L9.4 16.6L8 18Zm8 0l-1.425-1.425l4.6-4.6L14.6 7.4L16 6l6 6l-6 6Z" -}, null, -1), ym = [ - hm, - gm -], bm = /* @__PURE__ */ l("title", null, "H2 Heading (CTRL+H)", -1), wm = /* @__PURE__ */ l("path", { +}, null, -1), w1 = [ + y1, + b1 +], k1 = /* @__PURE__ */ l("title", null, "H2 Heading (CTRL+H)", -1), _1 = /* @__PURE__ */ l("path", { fill: "currentColor", d: "M7 20V7H2V4h13v3h-5v13H7Zm9 0v-8h-3V9h9v3h-3v8h-3Z" -}, null, -1), km = [ - bm, - wm -], _m = /* @__PURE__ */ l("title", null, "Numbered List (ALT+1)", -1), $m = /* @__PURE__ */ l("path", { +}, null, -1), $1 = [ + k1, + _1 +], C1 = /* @__PURE__ */ l("title", null, "Numbered List (ALT+1)", -1), x1 = /* @__PURE__ */ l("path", { fill: "currentColor", d: "M3 22v-1.5h2.5v-.75H4v-1.5h1.5v-.75H3V16h3q.425 0 .713.288T7 17v1q0 .425-.288.713T6 19q.425 0 .713.288T7 20v1q0 .425-.288.713T6 22H3Zm0-7v-2.75q0-.425.288-.713T4 11.25h1.5v-.75H3V9h3q.425 0 .713.288T7 10v1.75q0 .425-.288.713T6 12.75H4.5v.75H7V15H3Zm1.5-7V3.5H3V2h3v6H4.5ZM9 19v-2h12v2H9Zm0-6v-2h12v2H9Zm0-6V5h12v2H9Z" -}, null, -1), Cm = [ - _m, - $m -], xm = /* @__PURE__ */ l("title", null, "Bulleted List (ALT+-)", -1), Lm = /* @__PURE__ */ l("path", { +}, null, -1), L1 = [ + C1, + x1 +], V1 = /* @__PURE__ */ l("title", null, "Bulleted List (ALT+-)", -1), S1 = /* @__PURE__ */ l("path", { fill: "currentColor", d: "M9 19v-2h12v2H9Zm0-6v-2h12v2H9Zm0-6V5h12v2H9ZM5 20q-.825 0-1.413-.588T3 18q0-.825.588-1.413T5 16q.825 0 1.413.588T7 18q0 .825-.588 1.413T5 20Zm0-6q-.825 0-1.413-.588T3 12q0-.825.588-1.413T5 10q.825 0 1.413.588T7 12q0 .825-.588 1.413T5 14Zm0-6q-.825 0-1.413-.588T3 6q0-.825.588-1.413T5 4q.825 0 1.413.588T7 6q0 .825-.588 1.413T5 8Z" -}, null, -1), Vm = [ - xm, - Lm -], Mm = /* @__PURE__ */ l("title", null, "Strike Through (ALT+S)", -1), Sm = /* @__PURE__ */ l("path", { +}, null, -1), M1 = [ + V1, + S1 +], A1 = /* @__PURE__ */ l("title", null, "Strike Through (ALT+S)", -1), T1 = /* @__PURE__ */ l("path", { fill: "currentColor", d: "M10 19h4v-3h-4v3zM5 4v3h5v3h4V7h5V4H5zM3 14h18v-2H3v2z" -}, null, -1), Am = [ - Mm, - Sm -], Tm = /* @__PURE__ */ l("title", null, "Undo (CTRL+Z)", -1), Fm = /* @__PURE__ */ l("path", { +}, null, -1), F1 = [ + A1, + T1 +], I1 = /* @__PURE__ */ l("title", null, "Undo (CTRL+Z)", -1), j1 = /* @__PURE__ */ l("path", { fill: "currentColor", d: "M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88c3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z" -}, null, -1), Im = [ - Tm, - Fm -], jm = /* @__PURE__ */ l("title", null, "Redo (CTRL+SHIFT+Z)", -1), Dm = /* @__PURE__ */ l("path", { +}, null, -1), O1 = [ + I1, + j1 +], D1 = /* @__PURE__ */ l("title", null, "Redo (CTRL+SHIFT+Z)", -1), P1 = /* @__PURE__ */ l("path", { fill: "currentColor", d: "M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16a8.002 8.002 0 0 1 7.6-5.5c1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z" -}, null, -1), Om = [ - jm, - Dm -], Pm = { +}, null, -1), B1 = [ + D1, + P1 +], H1 = { key: 0, class: "p-2 flex flex-wrap gap-x-4" -}, Bm = ["href"], Hm = /* @__PURE__ */ l("path", { +}, R1 = ["href"], E1 = /* @__PURE__ */ l("path", { fill: "currentColor", d: "M11 18h2v-2h-2v2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8s8 3.59 8 8s-3.59 8-8 8zm0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5c0-2.21-1.79-4-4-4z" -}, null, -1), Rm = [ - Hm -], Em = { class: "" }, zm = ["name", "id", "label", "value", "rows", "disabled"], Nm = ["id"], Um = ["id"], Je = "w-5 h-5 cursor-pointer select-none text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400", qm = /* @__PURE__ */ de({ +}, null, -1), z1 = [ + E1 +], N1 = { class: "" }, U1 = ["name", "id", "label", "value", "rows", "disabled"], q1 = ["id"], Q1 = ["id"], Je = "w-5 h-5 cursor-pointer select-none text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400", K1 = /* @__PURE__ */ de({ __name: "MarkdownInput", props: { status: {}, @@ -7466,11 +7483,11 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b setup(e, { expose: t, emit: s }) { const n = e, a = s; let r = [], u = [], d = Qe("ApiState", void 0); - const c = v(() => pt.call({ responseStatus: n.status ?? (d == null ? void 0 : d.error.value) }, n.id)), f = v(() => n.label ?? Pe(at(n.id))), p = "bold,italics,link,image,blockquote,code,heading,orderedList,unorderedList,strikethrough,undo,redo,help".split(","), $ = v(() => n.hide ? Lt(p, n.hide) : Lt(p, [])); + const c = v(() => mt.call({ responseStatus: n.status ?? (d == null ? void 0 : d.error.value) }, n.id)), f = v(() => n.label ?? Pe(at(n.id))), p = "bold,italics,link,image,blockquote,code,heading,orderedList,unorderedList,strikethrough,undo,redo,help".split(","), $ = v(() => n.hide ? Vt(p, n.hide) : Vt(p, [])); function m(h) { return $.value[h]; } - const k = v(() => ["shadow-sm font-mono" + ot.base.replace("rounded-md", ""), c.value ? "text-red-900 focus:ring-red-500 focus:border-red-500 border-red-300" : "text-gray-900 " + ot.valid, n.inputClass]), g = D(); + const k = v(() => ["shadow-sm font-mono" + ot.base.replace("rounded-md", ""), c.value ? "text-red-900 focus:ring-red-500 focus:border-red-500 border-red-300" : "text-gray-900 " + ot.valid, n.inputClass]), g = O(); t({ props: n, textarea: g, updateModelValue: b, selection: I, hasSelection: P, selectionInfo: se, insert: T, replace: j }); function b(h) { a("update:modelValue", h); @@ -7483,45 +7500,45 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b return h.value.substring(h.selectionStart, h.selectionEnd) || ""; } function se() { - const h = g.value, C = h.value, J = h.selectionStart, G = C.substring(J, h.selectionEnd) || "", ne = C.substring(0, J), O = ne.lastIndexOf(` + const h = g.value, C = h.value, Y = h.selectionStart, J = C.substring(Y, h.selectionEnd) || "", ne = C.substring(0, Y), D = ne.lastIndexOf(` `); return { value: C, - sel: G, - selPos: J, + sel: J, + selPos: Y, beforeSel: ne, - afterSel: C.substring(J), - prevCRPos: O, - beforeCR: O >= 0 ? ne.substring(0, O + 1) : "", - afterCR: O >= 0 ? ne.substring(O + 1) : "" + afterSel: C.substring(Y), + prevCRPos: D, + beforeCR: D >= 0 ? ne.substring(0, D + 1) : "", + afterCR: D >= 0 ? ne.substring(D + 1) : "" }; } - function j({ value: h, selectionStart: C, selectionEnd: J }) { - J == null && (J = C), b(h), Vt(() => { - g.value.focus(), g.value.setSelectionRange(C, J); + function j({ value: h, selectionStart: C, selectionEnd: Y }) { + Y == null && (Y = C), b(h), St(() => { + g.value.focus(), g.value.setSelectionRange(C, Y); }); } - function T(h, C, J = "", { selectionAtEnd: G, offsetStart: ne, offsetEnd: O, filterValue: V, filterSelection: fe } = {}) { + function T(h, C, Y = "", { selectionAtEnd: J, offsetStart: ne, offsetEnd: D, filterValue: V, filterSelection: fe } = {}) { const pe = g.value; let ue = pe.value, me = pe.selectionEnd; r.push({ value: ue, selectionStart: pe.selectionStart, selectionEnd: pe.selectionEnd }), u = []; - const M = pe.selectionStart, ce = pe.selectionEnd; - let Ve = ue.substring(0, M), Me = ue.substring(ce); - const ge = h && Ve.endsWith(h) && Me.startsWith(C); - if (M == ce) { - if (ge ? (ue = Ve.substring(0, Ve.length - h.length) + Me.substring(C.length), me += -C.length) : (ue = Ve + h + J + C + Me, me += h.length, ne = 0, O = (J == null ? void 0 : J.length) || 0, G && (me += O, O = 0)), V) { + const S = pe.selectionStart, ce = pe.selectionEnd; + let Ve = ue.substring(0, S), Se = ue.substring(ce); + const ge = h && Ve.endsWith(h) && Se.startsWith(C); + if (S == ce) { + if (ge ? (ue = Ve.substring(0, Ve.length - h.length) + Se.substring(C.length), me += -C.length) : (ue = Ve + h + Y + C + Se, me += h.length, ne = 0, D = (Y == null ? void 0 : Y.length) || 0, J && (me += D, D = 0)), V) { var Q = { pos: me }; ue = V(ue, Q), me = Q.pos; } } else { - var oe = ue.substring(M, ce); - fe && (oe = fe(oe)), ge ? (ue = Ve.substring(0, Ve.length - h.length) + oe + Me.substring(C.length), ne = -oe.length - h.length, O = oe.length) : (ue = Ve + h + oe + C + Me, ne ? me += (h + C).length : (me = M, ne = h.length, O = oe.length)); + var oe = ue.substring(S, ce); + fe && (oe = fe(oe)), ge ? (ue = Ve.substring(0, Ve.length - h.length) + oe + Se.substring(C.length), ne = -oe.length - h.length, D = oe.length) : (ue = Ve + h + oe + C + Se, ne ? me += (h + C).length : (me = S, ne = h.length, D = oe.length)); } - b(ue), Vt(() => { - pe.focus(), ne = me + (ne || 0), O = (ne || 0) + (O || 0), pe.setSelectionRange(ne, O); + b(ue), St(() => { + pe.focus(), ne = me + (ne || 0), D = (ne || 0) + (D || 0), pe.setSelectionRange(ne, D); }); } - const S = () => T("**", "**", "bold"), ie = () => T("_", "_", "italics"), L = () => T("~~", "~~", "strikethrough"), z = () => T("[", "](https://)", "", { offsetStart: -9, offsetEnd: 8 }), K = () => T(` + const M = () => T("**", "**", "bold"), ie = () => T("_", "_", "italics"), L = () => T("~~", "~~", "strikethrough"), z = () => T("[", "](https://)", "", { offsetStart: -9, offsetEnd: 8 }), K = () => T(` > `, ` `, "Blockquote", {}), le = () => T("![](", ")"); function R(h) { @@ -7529,16 +7546,16 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b if (C && !h.shiftKey) T("`", "`", "code"); else { - const J = n.lang || "js"; + const Y = n.lang || "js"; C.indexOf(` -`) === -1 ? T("\n```" + J + ` -`, "\n```\n", "// code") : T("```" + J + ` +`) === -1 ? T("\n```" + Y + ` +`, "\n```\n", "// code") : T("```" + Y + ` `, "```\n", ""); } } function W() { if (P()) { - let { sel: h, selPos: C, beforeSel: J, afterSel: G, prevCRPos: ne, beforeCR: O, afterCR: V } = se(); + let { sel: h, selPos: C, beforeSel: Y, afterSel: J, prevCRPos: ne, beforeCR: D, afterCR: V } = se(); if (h.indexOf(` `) === -1) T(` @@ -7548,7 +7565,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b let ue = 1; T("", "", " - ", { selectionAtEnd: !0, - filterSelection: (me) => " 1. " + me.replace(/\n$/, "").replace(/\n/g, (M) => ` + filterSelection: (me) => " 1. " + me.replace(/\n$/, "").replace(/\n/g, (S) => ` ${++ue}. `) + ` ` }); @@ -7556,10 +7573,10 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b T("", "", "", { filterValue: (ue, me) => { if (ne >= 0) { - let M = V.replace(/^ - /, ""); - J = O + M, me.pos -= V.length - M.length; + let S = V.replace(/^ - /, ""); + Y = D + S, me.pos -= V.length - S.length; } - return J + G; + return Y + J; }, filterSelection: (ue) => ue.replace(/^ 1. /g, "").replace(/\n \d+. /g, ` `) @@ -7571,7 +7588,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b } function ee() { if (P()) { - let { sel: h, selPos: C, beforeSel: J, afterSel: G, prevCRPos: ne, beforeCR: O, afterCR: V } = se(); + let { sel: h, selPos: C, beforeSel: Y, afterSel: J, prevCRPos: ne, beforeCR: D, afterCR: V } = se(); h.indexOf(` `) === -1 ? T(` - `, ` @@ -7583,10 +7600,10 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b }) : T("", "", "", { filterValue: (ue, me) => { if (ne >= 0) { - let M = V.replace(/^ - /, ""); - J = O + M, me.pos -= V.length - M.length; + let S = V.replace(/^ - /, ""); + Y = D + S, me.pos -= V.length - S.length; } - return J + G; + return Y + J; }, filterSelection: (ue) => ue.replace(/^ - /g, "").replace(/\n - /g, ` `) @@ -7606,22 +7623,22 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b `, "Heading", { offsetStart: -8, offsetEnd: 7 }); } function A() { - let { sel: h, selPos: C, beforeSel: J, afterSel: G, prevCRPos: ne, beforeCR: O, afterCR: V } = se(); + let { sel: h, selPos: C, beforeSel: Y, afterSel: J, prevCRPos: ne, beforeCR: D, afterCR: V } = se(); !h.startsWith("//") && !V.startsWith("//") ? h ? T("", "", "//", { selectionAtEnd: !0, filterSelection: (pe) => "//" + pe.replace(/\n$/, "").replace(/\n/g, ` //`) + ` ` }) : j({ - value: O + "//" + V + G, + value: D + "//" + V + J, selectionStart: C + 2 }) : T("", "", "", { filterValue: (pe, ue) => { if (ne >= 0) { let me = V.replace(/^\/\//, ""); - J = O + me, ue.pos -= V.length - me.length; + Y = D + me, ue.pos -= V.length - me.length; } - return J + G; + return Y + J; }, filterSelection: (pe) => pe.replace(/^\/\//g, "").replace(/\n\/\//g, ` `) @@ -7651,27 +7668,27 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b a("close"); return; } - const J = String.fromCharCode(C.keyCode).toLowerCase(); - J === " " ? (!C.shiftKey ? T("", "", " ", { + const Y = String.fromCharCode(C.keyCode).toLowerCase(); + Y === " " ? (!C.shiftKey ? T("", "", " ", { selectionAtEnd: !0, filterSelection: (ne) => " " + ne.replace(/\n$/, "").replace(/\n/g, ` `) + ` ` }) : T("", "", "", { - filterValue: (ne, O) => { - let { selPos: V, beforeSel: fe, afterSel: pe, prevCRPos: ue, beforeCR: me, afterCR: M } = se(); + filterValue: (ne, D) => { + let { selPos: V, beforeSel: fe, afterSel: pe, prevCRPos: ue, beforeCR: me, afterCR: S } = se(); if (ue >= 0) { - let ce = M.replace(/\t/g, " ").replace(/^ ? ? ? ?/, ""); - fe = me + ce, O.pos -= M.length - ce.length; + let ce = S.replace(/\t/g, " ").replace(/^ ? ? ? ?/, ""); + fe = me + ce, D.pos -= S.length - ce.length; } return fe + pe; }, filterSelection: (ne) => ne.replace(/\t/g, " ").replace(/^ ? ? ? ?/g, "").replace(/\n /g, ` `) - }), C.preventDefault()) : C.ctrlKey ? J === "z" ? C.shiftKey ? N() && C.preventDefault() : w() && C.preventDefault() : J === "b" && !C.shiftKey ? (S(), C.preventDefault()) : J === "h" && !C.shiftKey ? (q(), C.preventDefault()) : J === "i" && !C.shiftKey ? (ie(), C.preventDefault()) : J === "q" && !C.shiftKey ? (K(), C.preventDefault()) : J === "k" ? C.shiftKey ? (le(), C.preventDefault()) : (z(), C.preventDefault()) : J === "," || C.key === "<" || C.key === ">" || C.keyCode === 188 ? (R(C), C.preventDefault()) : J === "/" || C.key === "/" ? (A(), C.preventDefault()) : (J === "?" || C.key === "?") && C.shiftKey && (te(), C.preventDefault()) : C.altKey && (C.key === "1" || C.key === "0" ? (W(), C.preventDefault()) : C.key === "-" ? (ee(), C.preventDefault()) : C.key === "s" && (L(), C.preventDefault())); + }), C.preventDefault()) : C.ctrlKey ? Y === "z" ? C.shiftKey ? N() && C.preventDefault() : w() && C.preventDefault() : Y === "b" && !C.shiftKey ? (M(), C.preventDefault()) : Y === "h" && !C.shiftKey ? (q(), C.preventDefault()) : Y === "i" && !C.shiftKey ? (ie(), C.preventDefault()) : Y === "q" && !C.shiftKey ? (K(), C.preventDefault()) : Y === "k" ? C.shiftKey ? (le(), C.preventDefault()) : (z(), C.preventDefault()) : Y === "," || C.key === "<" || C.key === ">" || C.keyCode === 188 ? (R(C), C.preventDefault()) : Y === "/" || C.key === "/" ? (A(), C.preventDefault()) : (Y === "?" || C.key === "?") && C.shiftKey && (te(), C.preventDefault()) : C.altKey && (C.key === "1" || C.key === "0" ? (W(), C.preventDefault()) : C.key === "-" ? (ee(), C.preventDefault()) : C.key === "s" && (L(), C.preventDefault())); }; }), (h, C) => { - var J; + var Y; return o(), i("div", null, [ U(h.$slots, "header", Te({ inputElement: g.value, @@ -7683,18 +7700,18 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b key: 0, for: h.id, class: y(`mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300 ${h.labelClass ?? ""}`) - }, F(f.value), 11, X1)) : x("", !0), - h.disabled ? x("", !0) : (o(), i("div", Y1, [ - l("div", em, [ + }, F(f.value), 11, e1)) : x("", !0), + h.disabled ? x("", !0) : (o(), i("div", t1, [ + l("div", s1, [ m("bold") ? (o(), i("svg", { key: 0, class: y(Je), - onClick: S, + onClick: M, xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24" - }, lm)) : x("", !0), + }, o1)) : x("", !0), m("italics") ? (o(), i("svg", { key: 1, class: y(Je), @@ -7703,7 +7720,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b width: "24", height: "24", viewBox: "0 0 24 24" - }, am)) : x("", !0), + }, i1)) : x("", !0), m("link") ? (o(), i("svg", { key: 2, class: y(Je), @@ -7712,7 +7729,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b width: "24", height: "24", viewBox: "0 0 24 24" - }, um)) : x("", !0), + }, c1)) : x("", !0), m("blockquote") ? (o(), i("svg", { key: 3, class: y(Je), @@ -7721,7 +7738,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b width: "24", height: "24", viewBox: "0 0 24 24" - }, fm)) : x("", !0), + }, p1)) : x("", !0), m("image") ? (o(), i("svg", { key: 4, class: y(Je), @@ -7730,7 +7747,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b width: "24", height: "24", viewBox: "0 0 24 24" - }, mm)) : x("", !0), + }, g1)) : x("", !0), m("code") ? (o(), i("svg", { key: 5, class: y(Je), @@ -7739,7 +7756,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b width: "24", height: "24", viewBox: "0 0 24 24" - }, ym)) : x("", !0), + }, w1)) : x("", !0), m("heading") ? (o(), i("svg", { key: 6, class: y(Je), @@ -7748,7 +7765,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b width: "24", height: "24", viewBox: "0 0 24 24" - }, km)) : x("", !0), + }, $1)) : x("", !0), m("orderedList") ? (o(), i("svg", { key: 7, class: y(Je), @@ -7758,7 +7775,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b width: "24", height: "24", viewBox: "0 0 24 24" - }, Cm)) : x("", !0), + }, L1)) : x("", !0), m("unorderedList") ? (o(), i("svg", { key: 8, class: y(Je), @@ -7767,7 +7784,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b width: "24", height: "24", viewBox: "0 0 24 24" - }, Vm)) : x("", !0), + }, M1)) : x("", !0), m("strikethrough") ? (o(), i("svg", { key: 9, class: y(Je), @@ -7776,7 +7793,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b width: "24", height: "24", viewBox: "0 0 24 24" - }, Am)) : x("", !0), + }, F1)) : x("", !0), m("undo") ? (o(), i("svg", { key: 10, class: y(Je), @@ -7785,7 +7802,7 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b width: "24", height: "24", viewBox: "0 0 24 24" - }, Im)) : x("", !0), + }, O1)) : x("", !0), m("redo") ? (o(), i("svg", { key: 11, class: y(Je), @@ -7794,12 +7811,12 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b width: "24", height: "24", viewBox: "0 0 24 24" - }, Om)) : x("", !0), + }, B1)) : x("", !0), U(h.$slots, "toolbarbuttons", { - instance: (J = Be()) == null ? void 0 : J.exposed + instance: (Y = Be()) == null ? void 0 : Y.exposed }) ]), - m("help") && h.helpUrl ? (o(), i("div", Pm, [ + m("help") && h.helpUrl ? (o(), i("div", H1, [ l("a", { title: "formatting help", target: "_blank", @@ -7812,11 +7829,11 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b width: "24", height: "24", viewBox: "0 0 24 24" - }, Rm)) - ], 8, Bm) + }, z1)) + ], 8, R1) ])) : x("", !0) ])), - l("div", Em, [ + l("div", N1, [ l("textarea", { ref_key: "txt", ref: g, @@ -7827,22 +7844,22 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b value: h.modelValue, rows: h.rows || 6, disabled: h.disabled, - onInput: C[0] || (C[0] = (G) => { + onInput: C[0] || (C[0] = (J) => { var ne; - return b(((ne = G.target) == null ? void 0 : ne.value) || ""); + return b(((ne = J.target) == null ? void 0 : ne.value) || ""); }), onKeydown: on(E, ["tab"]) - }, null, 42, zm) + }, null, 42, U1) ]), c.value ? (o(), i("p", { key: 2, class: "mt-2 text-sm text-red-500", id: `${h.id}-error` - }, F(c.value), 9, Nm)) : h.help ? (o(), i("p", { + }, F(c.value), 9, q1)) : h.help ? (o(), i("p", { key: 3, class: "mt-2 text-sm text-gray-500", id: `${h.id}-description` - }, F(h.help), 9, Um)) : x("", !0), + }, F(h.help), 9, Q1)) : x("", !0), U(h.$slots, "footer", Te({ inputElement: g.value, id: h.id, @@ -7852,12 +7869,12 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b ]); }; } -}), Qm = { +}), Z1 = { key: 0, class: "relative z-10 lg:hidden", role: "dialog", "aria-modal": "true" -}, Km = { class: "fixed inset-0 flex" }, Zm = /* @__PURE__ */ l("span", { class: "sr-only" }, "Close sidebar", -1), Wm = /* @__PURE__ */ l("svg", { +}, W1 = { class: "fixed inset-0 flex" }, G1 = /* @__PURE__ */ l("span", { class: "sr-only" }, "Close sidebar", -1), J1 = /* @__PURE__ */ l("svg", { class: "h-6 w-6 text-white dark:text-black", fill: "none", viewBox: "0 0 24 24", @@ -7870,12 +7887,12 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b "stroke-linejoin": "round", d: "M6 18L18 6M6 6l12 12" }) -], -1), Gm = [ - Zm, - Wm -], Jm = { class: "flex grow flex-col gap-y-5 overflow-y-auto bg-white dark:bg-black px-6 pb-2" }, Xm = { class: "hidden lg:fixed lg:inset-y-0 lg:z-10 lg:flex lg:w-72 lg:flex-col" }, Ym = { class: "flex grow flex-col gap-y-5 overflow-y-auto border-r border-gray-200 dark:border-gray-700 bg-white dark:bg-black px-6" }, eh = { +], -1), X1 = [ + G1, + J1 +], Y1 = { class: "flex grow flex-col gap-y-5 overflow-y-auto bg-white dark:bg-black px-6 pb-2" }, eh = { class: "hidden lg:fixed lg:inset-y-0 lg:z-10 lg:flex lg:w-72 lg:flex-col" }, th = { class: "flex grow flex-col gap-y-5 overflow-y-auto border-r border-gray-200 dark:border-gray-700 bg-white dark:bg-black px-6" }, sh = { class: /* @__PURE__ */ y(["sticky top-0 flex items-center gap-x-6 bg-white dark:bg-black px-4 py-4 shadow-sm sm:px-6 lg:hidden"]) -}, th = /* @__PURE__ */ l("span", { class: "sr-only" }, "Open sidebar", -1), sh = /* @__PURE__ */ l("svg", { +}, lh = /* @__PURE__ */ l("span", { class: "sr-only" }, "Open sidebar", -1), nh = /* @__PURE__ */ l("svg", { class: "h-6 w-6", fill: "none", viewBox: "0 0 24 24", @@ -7888,19 +7905,19 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b "stroke-linejoin": "round", d: "M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" }) -], -1), lh = [ - th, - sh -], nh = /* @__PURE__ */ de({ +], -1), oh = [ + lh, + nh +], ah = /* @__PURE__ */ de({ __name: "SidebarLayout", setup(e, { expose: t }) { - const { transition: s } = yn(), n = D(!0), a = D(""), r = { + const { transition: s } = bn(), n = O(!0), a = O(""), r = { entering: { cls: "transition-opacity ease-linear duration-300", from: "opacity-0", to: "opacity-100" }, leaving: { cls: "transition-opacity ease-linear duration-300", from: "opacity-100", to: "opacity-0" } - }, u = D(""), d = { + }, u = O(""), d = { entering: { cls: "transition ease-in-out duration-300 transform", from: "-translate-x-full", to: "translate-x-0" }, leaving: { cls: "transition ease-in-out duration-300 transform", from: "translate-x-0", to: "-translate-x-full" } - }, c = D(""), f = { + }, c = O(""), f = { entering: { cls: "ease-in-out duration-300", from: "opacity-0", to: "opacity-100" }, leaving: { cls: "ease-in-out duration-300", from: "opacity-100", to: "opacity-0" } }; @@ -7914,11 +7931,11 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b p(!1); } return t({ show: $, hide: m, toggle: p }), (k, g) => (o(), i("div", null, [ - n.value ? (o(), i("div", Qm, [ + n.value ? (o(), i("div", Z1, [ l("div", { class: y(["fixed inset-0 bg-gray-900/80", a.value]) }, null, 2), - l("div", Km, [ + l("div", W1, [ l("div", { class: y(["relative mr-16 flex w-full max-w-xs flex-1", u.value]) }, [ @@ -7929,84 +7946,84 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b type: "button", onClick: m, class: "-m-2.5 p-2.5" - }, Gm) + }, X1) ], 2), - l("div", Jm, [ + l("div", Y1, [ U(k.$slots, "default") ]) ], 2) ]) ])) : x("", !0), - l("div", Xm, [ - l("div", Ym, [ + l("div", eh, [ + l("div", th, [ U(k.$slots, "default") ]) ]), - l("div", eh, [ + l("div", sh, [ l("button", { type: "button", onClick: $, class: "-m-2.5 p-2.5 text-gray-700 dark:text-gray-200 lg:hidden" - }, lh), + }, oh), U(k.$slots, "mobiletitlebar") ]) ])); } -}), oh = { - Alert: Xo, - AlertSuccess: da, - ErrorSummary: ma, - InputDescription: ga, - Icon: Yn, - Loading: fr, - OutlineButton: mr, - PrimaryButton: yr, - SecondaryButton: kr, - TextLink: $r, - Breadcrumbs: Sr, - Breadcrumb: jr, - NavList: Pr, - NavListItem: Zr, - AutoQueryGrid: yd, - SettingsIcons: Fd, +}), rh = { + Alert: ea, + AlertSuccess: fa, + ErrorSummary: ga, + InputDescription: ba, + Icon: eo, + Loading: pr, + OutlineButton: gr, + PrimaryButton: wr, + SecondaryButton: $r, + TextLink: xr, + Breadcrumbs: Tr, + Breadcrumb: Dr, + NavList: Hr, + NavListItem: Gr, + AutoQueryGrid: wd, + SettingsIcons: jd, FilterViews: Il, FilterColumn: Fl, QueryPrefs: jl, - EnsureAccess: so, - EnsureAccessDialog: Id, - TextInput: Nd, - TextareaInput: Gd, - SelectInput: sc, - CheckboxInput: dc, - TagInput: Fc, - FileInput: t0, - Autocomplete: g0, - Combobox: w0, - DynamicInput: k0, - LookupInput: P0, - AutoFormFields: B0, - AutoForm: rf, - AutoCreateForm: Sf, - AutoEditForm: Gf, - AutoViewForm: mv, - ConfirmDelete: gv, - FormLoading: $v, - DataGrid: Mv, - CellFormat: Sv, - PreviewFormat: Dv, - HtmlFormat: Rv, - MarkupFormat: Nv, - MarkupModel: Xv, - CloseButton: lp, - SlideOver: yp, - ModalDialog: xp, - ModalLookup: y1, - Tabs: V1, - DarkModeToggle: F1, - SignIn: J1, - MarkdownInput: qm, - SidebarLayout: nh -}, Qs = oh, ch = { + EnsureAccess: lo, + EnsureAccessDialog: Od, + TextInput: qd, + TextareaInput: Xd, + SelectInput: nc, + CheckboxInput: fc, + TagInput: jc, + FileInput: l0, + Autocomplete: b0, + Combobox: _0, + DynamicInput: $0, + LookupInput: H0, + AutoFormFields: R0, + AutoForm: df, + AutoCreateForm: Tf, + AutoEditForm: Xf, + AutoViewForm: gv, + ConfirmDelete: bv, + FormLoading: xv, + DataGrid: Av, + CellFormat: Tv, + PreviewFormat: Pv, + HtmlFormat: zv, + MarkupFormat: qv, + MarkupModel: ep, + CloseButton: op, + SlideOver: wp, + ModalDialog: Vp, + ModalLookup: wm, + Tabs: Mm, + DarkModeToggle: jm, + SignIn: Ym, + MarkdownInput: K1, + SidebarLayout: ah +}, Qs = rh, vh = { install(e) { Object.keys(Qs).forEach((s) => { e.component(s, Qs[s]); @@ -8022,17 +8039,17 @@ const H0 = { key: 0 }, R0 = { class: "text-red-700" }, E0 = /* @__PURE__ */ l("b }); }, component(e, t) { - return e ? t ? Y.components[e] = t : Y.components[e] || Qs[e] || null : null; + return e ? t ? G.components[e] = t : G.components[e] || Qs[e] || null : null; } }; export { - dh as css, - ch as default, + fh as css, + vh as default, Tl as useAuth, - Os as useClient, + Ds as useClient, It as useConfig, - Ca as useFiles, - uh as useFormatters, + La as useFiles, + ch as useFormatters, lt as useMetadata, - yn as useUtils + bn as useUtils }; diff --git a/AiServer/wwwroot/mjs/components/Artifacts.mjs b/AiServer/wwwroot/mjs/components/Artifacts.mjs new file mode 100644 index 0000000..1e0d91c --- /dev/null +++ b/AiServer/wwwroot/mjs/components/Artifacts.mjs @@ -0,0 +1,205 @@ +import { ref, computed, watch, inject, onMounted, onUnmounted, getCurrentInstance } from "vue" +import { useClient, useAuth, useUtils, useFormatters, useMetadata, css } from "@servicestack/vue" +import { rightPart, combinePaths } from "@servicestack/client" +const { transition } = useUtils() + +class Artifact { + width = 0 + height = 0 + filePath = '' +} + +export const AssetsBasePath = globalThis.AssetsBasePath = location.hostname === "localhost" + ? "https://localhost:5005" + : "https://localhost:5005" + +const store = { + AssetsBasePath, + + /** @param {Artifact} artifact + * @param {number} minSize + * @param {number} maxSize */ + getVariantPath(artifact, minSize, maxSize) { + const path = rightPart(artifact.filePath, "/artifacts") + if (artifact.height > artifact.width) + return combinePaths(`/variants/height=${maxSize}`, path) + if (artifact.width > artifact.height) + return combinePaths(`/variants/width=${maxSize}`, path) + return combinePaths(`/variants/width=${minSize}`, path) + }, + getFilePath(cdnPath, artifact, minSize=null) { + const size = this.getSize(minSize) + const variantPath = size === 'Small' + ? this.getVariantPath(artifact, 118, 207) + : size === 'Medium' + ? this.getVariantPath(artifact, 288, 504) + : null + + if (!variantPath) + return combinePaths(cdnPath, artifact.filePath) + return combinePaths(cdnPath, variantPath) + }, + /** @param {number?} minSize */ + getSize(minSize=null) { + const size = minSize == null + ? 'Medium' + : minSize < 288 + ? 'Small' + : minSize > 504 + ? 'Large' + : 'Medium' + return size + }, + getPublicUrl(artifact, minSize = null) { + return this.getFilePath(this.AssetsBasePath, artifact, minSize) + }, + resolveBorderColor(artifact, selected) { + return selected + ? 'border-yellow-300' + : 'border-transparent' + }, + getBackgroundStyle(artifact) { + return '' + }, + /** @param {Artifact} artifact + * @param {string} [lastImageSrc] + * @param {number?} minSize */ + getArtifactImageErrorUrl(artifact, lastImageSrc, minSize = null) { + return this.solidImageDataUri('#000') + }, + /** @param {string} fill */ + solidImageDataUri(fill) { + return `data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23${(fill || "#000").substring(1)}' d='M2 2h60v60H2z'/%3E%3C/svg%3E` + }, +} + +export const SimpleModal = { + template:` + + `, + props: { + id: { + type: String, + default: 'ModalDialog' + }, + modalClass: { + type: String, + default: 'relative transform overflow-hidden rounded-lg bg-white dark:bg-black text-left shadow-xl transition-all sm:my-8' + }, + sizeClass: { + type: String, + default: 'sm:max-w-prose lg:max-w-screen-md xl:max-w-screen-lg 2xl:max-w-screen-xl sm:w-full' + }, + }, + setup(props, { emit }) { + const show = ref(false) + const transition1 = ref('') + const rule1 = { + entering: { cls: 'ease-out duration-300', from: 'opacity-0', to: 'opacity-100' }, + leaving: { cls: 'ease-in duration-200', from: 'opacity-100', to: 'opacity-0' } + } + const transition2 = ref('') + const rule2 = { + entering: { cls: 'ease-out duration-300', from: 'opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95', to: 'opacity-100 translate-y-0 sm:scale-100' }, + leaving: { cls: 'ease-in duration-200', from: 'opacity-100 translate-y-0 sm:scale-100', to: 'opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95' } + } + + watch(show, () => { + transition(rule1, transition1, show.value) + transition(rule2, transition2, show.value) + if (!show.value) setTimeout(() => emit('done'), 200) + }) + show.value = true + const close = () => show.value = false + + return { + show, + transition1, + transition2, + close, + } + } +} + +export const ArtifactImage = { + template:`
+ +
`, + props: { + /** @type {import('vue').PropType} */ + artifact:Object, + imageClass:String, + imageStyle: String, + minSize:Number, + /** @type {import('vue').PropType<'eager'|'lazy'>} */ + loading:String, + }, + setup(props) { + const width = computed(() => !props.minSize ? props.artifact.width + : (props.artifact?.width > props.artifact.height + ? (props.artifact.width / props.artifact.height) * props.minSize + : props.minSize)) + + const height = computed(() => !props.minSize ? props.artifact.height + : (props.artifact.height > props.artifact.width + ? (props.artifact.height / props.artifact.width) * props.minSize + : props.minSize)) + + return { store, width, height, } + } +} + +export const ArtifactGallery = { + components: { + ArtifactImage, + SimpleModal, + }, + template:`
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+ + + +
`, + props: { + results:Array, + }, + setup(props, { emit, expose }) { + const selected = ref() + + function navTo(artifact) { + console.log('navTo', artifact) + } + + return { + store, + selected, + navTo, + } + } +} diff --git a/AiServer/wwwroot/mjs/components/OpenAiChat.mjs b/AiServer/wwwroot/mjs/components/OpenAiChat.mjs index 0c182d5..b075e98 100644 --- a/AiServer/wwwroot/mjs/components/OpenAiChat.mjs +++ b/AiServer/wwwroot/mjs/components/OpenAiChat.mjs @@ -104,7 +104,7 @@ export default { -
+

History

@@ -185,8 +185,8 @@ export default { localStorage.setItem('chat.history', JSON.stringify(history.value)) } - function groupChats(chats) { - const sorted = chats.sort((a,b) => b.id - a.id) + function groupChats(threads) { + const sorted = threads.sort((a,b) => b.id - a.id) let Today = [] let LastWeek = [] diff --git a/AiServer/wwwroot/mjs/components/TextToImage.mjs b/AiServer/wwwroot/mjs/components/TextToImage.mjs index bd2457c..cbfa171 100644 --- a/AiServer/wwwroot/mjs/components/TextToImage.mjs +++ b/AiServer/wwwroot/mjs/components/TextToImage.mjs @@ -1,9 +1,16 @@ -import { ref, computed, onMounted, inject, watch, nextTick, getCurrentInstance} from "vue" +import { ref, computed, onMounted, inject, watch, nextTick } from "vue" import { useFormatters, useClient } from "@servicestack/vue" -import { QueryPrompts, ActiveAiModels, OpenAiChatCompletion } from "dtos" -import {TextToImage} from "../dtos.mjs"; +import { TextToImage, ActiveMediaModels } from "dtos" +import { HistoryGroups } from "./utils.mjs" +import { ArtifactGallery } from "./Artifacts.mjs" + +const { truncate } = useFormatters() export default { + components: { + HistoryGroups, + ArtifactGallery, + }, template:`
@@ -24,7 +31,7 @@ export default {
- +
@@ -50,11 +57,11 @@ export default {
-
- + +
+
+ + {{ result.request.positivePrompt }} + +
+ + +
+ +
+ generating images... +
+
+ +
-
+

History

+ + + {{item.title}} +
`, setup(props) { + const client = useClient() + const routes = inject('routes') + const waitingOnResponse = ref(false) - const prefs = ref(JSON.parse(localStorage.getItem('image2text.prefs') || JSON.stringify({ model: '', prompt: '' }))) - const validPrompt = computed(() => newMessage.value && prefs.value.model) - const newMessage = ref('') - const refMessage = ref() - const refBottom = ref() - const visibleFields = 'positivePrompt,negativePrompt,width,height,batchSize,seed,tag'.split(',') const defaults = { negativePrompt: '(nsfw),(explicit),(gore),(violence),(blood)', width: 1024, height: 1024, batchSize: 4, } - const request = ref(new TextToImage(defaults)) + const error = ref() + const prefsKey = 'image2text.prefs' + const historyKey = 'image2text.history' + + const prefs = ref(JSON.parse(localStorage.getItem(prefsKey) || JSON.stringify(defaults))) + const history = ref(JSON.parse(localStorage.getItem(historyKey) || "[]")) + const thread = ref() + + const validPrompt = computed(() => (request.value.model && request.value.positivePrompt + && request.value.negativePrompt && request.value.width && request.value.height + && request.value.batchSize)) + const newMessage = ref('') + const refMessage = ref() + const refBottom = ref() + const visibleFields = 'positivePrompt,negativePrompt,width,height,batchSize,seed,tag'.split(',') + const request = ref(new TextToImage(prefs.value)) + const activeModels = ref([]) + + function savePrefs() { + localStorage.setItem(prefsKey, + JSON.stringify(Object.assign({}, request.value, { positivePrompt:'' }))) + } + function loadHistory() { + const historyJson = localStorage.getItem(historyKey) + if (historyJson) { + history.value = JSON.parse(historyJson) + } + } + function saveHistory() { + localStorage.setItem(historyKey, JSON.stringify(history.value)) + } async function send() { + savePrefs() + + thread.value = thread.value ?? { + id: new Date().valueOf(), + title: truncate(request.value.positivePrompt, 80), + model: request.value.model, + results: [], + } + + console.log('request', request.value) + + error.value = null + waitingOnResponse.value = true + const api = await client.api(request.value) + waitingOnResponse.value = false + /** @type {GenerationResponse} */ + const r = api.response + + if (r) { + console.log('response', r) + + thread.value.results.push({ + request: request.value, + response: r + }) + if (!history.value.find(x => x.id === thread.value.id)) { + history.value.push(thread.value) + } + saveHistory() + + if (routes.id !== thread.value.id) { + routes.to({ id:thread.value.id }) + } else { + nextTick(scrollBottomIntoView) + } + + } else { + console.error('error', api.error) + error.value = api.error + } + } + + function scrollBottomIntoView() { + if (!refBottom.value) return + if (refBottom.value.scrollIntoViewIfNeeded) { + refBottom.value.scrollIntoViewIfNeeded() + } else { + refBottom.value.scrollIntoView({ behavior: "smooth", block: "end", inline: "nearest" }); + } + refMessage.value?.focus() + } + + function toArtifacts(result) { + return result.response.outputs.map(x => ({ + width: result.request.width, + height: result.request.height, + url: x.url, + filePath: x.url.substring(x.url.indexOf('/artifacts')), + })) + } + + function selectRequest(req) { + request.value = Object.assign(request.value, req) + } + + function onRouteChange() { + console.log('onRouteChange', routes.id) + loadHistory() + if (routes.id) { + const idVal = parseInt(routes.id) + thread.value = history.value.find(x => x.id === idVal) + if (thread.value) { + // prefs.value.model = chat.value.model + // selectPrompt(chat.value.prompt ?? '') + // + // const chatIds = chat.value.chats + // const lastChatId = chatIds[chatIds.length - 1] + // /** @type {OpenAiChatResponse} */ + // const chatResponse = JSON.parse(localStorage.getItem(lastChatId)) + // const chatRequest = chatResponse?.request + // if (chatRequest?.messages) { + // messages.value.push(...chatRequest.messages) + // } + // if (chatResponse) { + // messages.value.push({ role: "assistant", content: chatResponse.choices[0]?.message?.content }) + // } + // + // nextTick(scrollBottomIntoView) + } + } else { + thread.value = null + //messages.value = [] + } } + + function updated() { + // console.debug('updated', routes.admin, routes.id) + onRouteChange() + } + + watch(() => routes.id, updated) + + onMounted(async () => { + const api = await client.api(new ActiveMediaModels()) + if (api.response) { + activeModels.value = api.response.results + if (!request.value.model) { + request.value.model = activeModels.value[0] + } + } + await updated() + }) return { + routes, + history, request, visibleFields, waitingOnResponse, @@ -103,7 +270,12 @@ export default { newMessage, refMessage, refBottom, + activeModels, + thread, send, + saveHistory, + toArtifacts, + selectRequest, } } } \ No newline at end of file diff --git a/AiServer/wwwroot/mjs/components/utils.mjs b/AiServer/wwwroot/mjs/components/utils.mjs new file mode 100644 index 0000000..25b6561 --- /dev/null +++ b/AiServer/wwwroot/mjs/components/utils.mjs @@ -0,0 +1,130 @@ +import { ref, computed, inject, nextTick } from "vue" + +export const HistoryGroups = { + template: ` +
+ + New Thread +
+ +
+

{{group.title}}

+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ `, + emits:['save'], + props: { + threads: Array + }, + setup(props, { emit }) { + const routes = inject('routes') + const showThreadMenu = ref() + const renameThreadId = ref() + const historyGroups = computed(() => groupThreads(props.threads)) + + function renameThread(item) { + renameThreadId.value = item.id + showThreadMenu.value = null + nextTick(() => { + const txt = document.getElementById('txtItemTitle') + txt?.select() + txt?.focus() + }) + } + function renameItem() { + emit('save') + renameThreadId.value = null + } + + function deleteThread(item) { + if (confirm('Are you sure you want to delete this thread?')) { + const idx = history.value.findIndex(x => x.id === item.id) + if (idx >= 0) { + history.value.splice(idx, 1) + localStorage.setItem('chat.history', JSON.stringify(history.value)) + for (const key of item.chats) { + localStorage.removeItem(key) + } + if (routes.id == item.id) { + routes.to({ id:undefined }) + } + } + } + showThreadMenu.value = null + } + + return { + routes, + showThreadMenu, + renameThreadId, + historyGroups, + renameThread, + deleteThread, + renameItem, + } + } +} + +export function groupThreads(threads) { + const sorted = threads.sort((a,b) => b.id - a.id) + + let Today = [] + let LastWeek = [] + let Months = {} + let Years = {} + + const groups = [] + + sorted.forEach(x => { + const created = new Date(x.id) + const now = new Date() + const diff = now - created + const days = diff / (1000 * 60 * 60 * 24) + const startOfYear = new Date(new Date().getFullYear(), 0, 1) + + if (days < 1) { + Today.push(x) + } else if (days < 7) { + LastWeek.push(x) + } else if (created > startOfYear) { + const month = created.toLocaleString('default', { month: 'long' }) + if (!Months[month]) Months[month] = [] + Months[month].push(x) + } else { + const year = `${created.getFullYear()}` + if (!Years[year]) Years[year] = [] + Years[year].push(x) + } + }) + + if (Today.length) groups.push({ title: 'Today', results: Today }) + if (LastWeek.length) groups.push({ title: 'Previous 7 Days', results: LastWeek }) + + Object.keys(Months).forEach(month => { + groups.push({ title: month, results: Months[month] }) + }) + const yearsDesc = Object.keys(Years).sort((a,b) => b.localeCompare(a)) + yearsDesc.forEach(year => { + groups.push({ title: year, results: Years[year] }) + }) + // console.log('groups',groups) + return groups +} diff --git a/AiServer/wwwroot/mjs/dtos.mjs b/AiServer/wwwroot/mjs/dtos.mjs index de27ae0..eca6e6a 100644 --- a/AiServer/wwwroot/mjs/dtos.mjs +++ b/AiServer/wwwroot/mjs/dtos.mjs @@ -1,5 +1,5 @@ /* Options: -Date: 2024-10-07 02:10:35 +Date: 2024-10-07 20:47:09 Version: 8.41 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://localhost:5005 @@ -1588,7 +1588,7 @@ export class AdminData { createResponse() { return new AdminDataResponse() } } export class ConvertAudio { - /** @param {{outputFormat?:AudioFormat,audio?:string,refId?:string,replyTo?:string,tag?:string}} [init] */ + /** @param {{outputFormat?:AudioFormat,audio?:string,refId?:string,tag?:string}} [init] */ constructor(init) { Object.assign(this, init) } /** * @type {AudioFormat} @@ -1600,10 +1600,6 @@ export class ConvertAudio { * @type {?string} * @description Optional client-provided identifier for the request */ refId; - /** - * @type {?string} - * @description Optional queue or topic to reply to */ - replyTo; /** * @type {?string} * @description Tag to identify the request */ @@ -1693,7 +1689,7 @@ export class ActiveMediaModels { createResponse() { return new StringsResponse() } } export class TextToImage { - /** @param {{positivePrompt?:string,negativePrompt?:string,width?:number,height?:number,batchSize?:number,model?:string,seed?:number,refId?:string,replyTo?:string,tag?:string,state?:string}} [init] */ + /** @param {{positivePrompt?:string,negativePrompt?:string,width?:number,height?:number,batchSize?:number,model?:string,seed?:number,refId?:string,tag?:string}} [init] */ constructor(init) { Object.assign(this, init) } /** * @type {string} @@ -1727,24 +1723,16 @@ export class TextToImage { * @type {?string} * @description Optional client-provided identifier for the request */ refId; - /** - * @type {?string} - * @description Optional queue or topic to reply to */ - replyTo; /** * @type {?string} * @description Tag to identify the request */ tag; - /** - * @type {?string} - * @description Optional state to associate with the request */ - state; getTypeName() { return 'TextToImage' } getMethod() { return 'POST' } createResponse() { return new GenerationResponse() } } export class ImageToImage { - /** @param {{image?:string,positivePrompt?:string,negativePrompt?:string,denoise?:number,batchSize?:number,seed?:number,refId?:string,replyTo?:string,tag?:string,state?:string}} [init] */ + /** @param {{image?:string,positivePrompt?:string,negativePrompt?:string,denoise?:number,batchSize?:number,seed?:number,refId?:string,tag?:string}} [init] */ constructor(init) { Object.assign(this, init) } /** * @type {string} @@ -1774,24 +1762,16 @@ export class ImageToImage { * @type {?string} * @description Optional client-provided identifier for the request */ refId; - /** - * @type {?string} - * @description Optional queue or topic to reply to */ - replyTo; /** * @type {?string} * @description Tag to identify the request */ tag; - /** - * @type {?string} - * @description Optional state to associate with the request */ - state; getTypeName() { return 'ImageToImage' } getMethod() { return 'POST' } createResponse() { return new GenerationResponse() } } export class ImageUpscale { - /** @param {{image?:string,seed?:number,refId?:string,replyTo?:string,tag?:string,state?:string}} [init] */ + /** @param {{image?:string,seed?:number,refId?:string,tag?:string}} [init] */ constructor(init) { Object.assign(this, init) } /** * @type {string} @@ -1805,24 +1785,16 @@ export class ImageUpscale { * @type {?string} * @description Optional client-provided identifier for the request */ refId; - /** - * @type {?string} - * @description Optional queue or topic to reply to */ - replyTo; /** * @type {?string} * @description Tag to identify the request */ tag; - /** - * @type {?string} - * @description Optional state to associate with the request */ - state; getTypeName() { return 'ImageUpscale' } getMethod() { return 'POST' } createResponse() { return new GenerationResponse() } } export class ImageWithMask { - /** @param {{positivePrompt?:string,negativePrompt?:string,image?:string,mask?:string,denoise?:number,seed?:number,refId?:string,replyTo?:string,tag?:string,state?:string}} [init] */ + /** @param {{positivePrompt?:string,negativePrompt?:string,image?:string,mask?:string,denoise?:number,seed?:number,refId?:string,tag?:string}} [init] */ constructor(init) { Object.assign(this, init) } /** * @type {string} @@ -1852,24 +1824,16 @@ export class ImageWithMask { * @type {?string} * @description Optional client-provided identifier for the request */ refId; - /** - * @type {?string} - * @description Optional queue or topic to reply to */ - replyTo; /** * @type {?string} * @description Tag to identify the request */ tag; - /** - * @type {?string} - * @description Optional state to associate with the request */ - state; getTypeName() { return 'ImageWithMask' } getMethod() { return 'POST' } createResponse() { return new GenerationResponse() } } export class ImageToText { - /** @param {{image?:string,refId?:string,replyTo?:string,tag?:string,state?:string}} [init] */ + /** @param {{image?:string,refId?:string,tag?:string}} [init] */ constructor(init) { Object.assign(this, init) } /** * @type {string} @@ -1879,18 +1843,10 @@ export class ImageToText { * @type {?string} * @description Optional client-provided identifier for the request */ refId; - /** - * @type {?string} - * @description Optional queue or topic to reply to */ - replyTo; /** * @type {?string} * @description Tag to identify the request */ tag; - /** - * @type {?string} - * @description Optional state to associate with the request */ - state; getTypeName() { return 'ImageToText' } getMethod() { return 'POST' } createResponse() { return new GenerationResponse() } @@ -2099,7 +2055,7 @@ export class QueueImageToText { createResponse() { return new QueueGenerationResponse() } } export class ConvertImage { - /** @param {{image?:string,outputFormat?:ImageOutputFormat}} [init] */ + /** @param {{image?:string,outputFormat?:ImageOutputFormat,refId?:string,tag?:string}} [init] */ constructor(init) { Object.assign(this, init) } /** * @type {string} @@ -2109,12 +2065,20 @@ export class ConvertImage { * @type {ImageOutputFormat} * @description The desired output format for the converted image */ outputFormat; + /** + * @type {?string} + * @description Optional client-provided identifier for the request */ + refId; + /** + * @type {?string} + * @description Tag to identify the request */ + tag; getTypeName() { return 'ConvertImage' } getMethod() { return 'POST' } createResponse() { return new MediaTransformResponse() } } export class CropImage { - /** @param {{x?:number,y?:number,width?:number,height?:number,image?:string}} [init] */ + /** @param {{x?:number,y?:number,width?:number,height?:number,image?:string,refId?:string,tag?:string}} [init] */ constructor(init) { Object.assign(this, init) } /** * @type {number} @@ -2136,12 +2100,20 @@ export class CropImage { * @type {string} * @description The image file to be cropped */ image; + /** + * @type {?string} + * @description Optional client-provided identifier for the request */ + refId; + /** + * @type {?string} + * @description Tag to identify the request */ + tag; getTypeName() { return 'CropImage' } getMethod() { return 'POST' } createResponse() { return new MediaTransformResponse() } } export class WatermarkImage { - /** @param {{image?:string,position?:WatermarkPosition,watermarkScale?:number,opacity?:number}} [init] */ + /** @param {{image?:string,position?:WatermarkPosition,watermarkScale?:number,opacity?:number,refId?:string,tag?:string}} [init] */ constructor(init) { Object.assign(this, init) } /** * @type {string} @@ -2159,12 +2131,20 @@ export class WatermarkImage { * @type {number} * @description The opacity of the watermark (0.0 to 1.0) */ opacity; + /** + * @type {?string} + * @description Optional client-provided identifier for the request */ + refId; + /** + * @type {?string} + * @description Tag to identify the request */ + tag; getTypeName() { return 'WatermarkImage' } getMethod() { return 'POST' } createResponse() { return new MediaTransformResponse() } } export class ScaleImage { - /** @param {{image?:string,width?:number,height?:number}} [init] */ + /** @param {{image?:string,width?:number,height?:number,refId?:string,tag?:string}} [init] */ constructor(init) { Object.assign(this, init) } /** * @type {string} @@ -2178,6 +2158,14 @@ export class ScaleImage { * @type {?number} * @description Desired height of the scaled image */ height; + /** + * @type {?string} + * @description Optional client-provided identifier for the request */ + refId; + /** + * @type {?string} + * @description Tag to identify the request */ + tag; getTypeName() { return 'ScaleImage' } getMethod() { return 'POST' } createResponse() { return new MediaTransformResponse() } @@ -2860,7 +2848,7 @@ export class QueueSpeechToText { createResponse() { return new QueueGenerationResponse() } } export class TextToSpeech { - /** @param {{text?:string,seed?:number,refId?:string,replyTo?:string,tag?:string,state?:string}} [init] */ + /** @param {{text?:string,seed?:number,refId?:string,tag?:string}} [init] */ constructor(init) { Object.assign(this, init) } /** * @type {string} @@ -2874,24 +2862,16 @@ export class TextToSpeech { * @type {?string} * @description Optional client-provided identifier for the request */ refId; - /** - * @type {?string} - * @description Optional queue or topic to reply to */ - replyTo; /** * @type {?string} * @description Tag to identify the request */ tag; - /** - * @type {?string} - * @description Optional state to associate with the request */ - state; getTypeName() { return 'TextToSpeech' } getMethod() { return 'POST' } createResponse() { return new GenerationResponse() } } export class SpeechToText { - /** @param {{speech?:string,refId?:string,replyTo?:string,tag?:string,state?:string}} [init] */ + /** @param {{speech?:string,refId?:string,tag?:string}} [init] */ constructor(init) { Object.assign(this, init) } /** * @type {string} @@ -2901,24 +2881,16 @@ export class SpeechToText { * @type {?string} * @description Optional client-provided identifier for the request */ refId; - /** - * @type {?string} - * @description Optional queue or topic to reply to */ - replyTo; /** * @type {?string} * @description Tag to identify the request */ tag; - /** - * @type {?string} - * @description Optional state to associate with the request */ - state; getTypeName() { return 'SpeechToText' } getMethod() { return 'POST' } createResponse() { return new GenerationResponse() } } export class ScaleVideo { - /** @param {{video?:string,width?:number,height?:number,refId?:string,replyTo?:string,tag?:string}} [init] */ + /** @param {{video?:string,width?:number,height?:number,refId?:string,tag?:string}} [init] */ constructor(init) { Object.assign(this, init) } /** * @type {string} @@ -2936,10 +2908,6 @@ export class ScaleVideo { * @type {?string} * @description Optional client-provided identifier for the request */ refId; - /** - * @type {?string} - * @description Optional queue or topic to reply to */ - replyTo; /** * @type {?string} * @description Tag to identify the request */ @@ -2949,7 +2917,7 @@ export class ScaleVideo { createResponse() { return new MediaTransformResponse() } } export class WatermarkVideo { - /** @param {{video?:string,watermark?:string,position?:WatermarkPosition,refId?:string,replyTo?:string,tag?:string}} [init] */ + /** @param {{video?:string,watermark?:string,position?:WatermarkPosition,refId?:string,tag?:string}} [init] */ constructor(init) { Object.assign(this, init) } /** * @type {string} @@ -2967,10 +2935,6 @@ export class WatermarkVideo { * @type {?string} * @description Optional client-provided identifier for the request */ refId; - /** - * @type {?string} - * @description Optional queue or topic to reply to */ - replyTo; /** * @type {?string} * @description Tag to identify the request */ @@ -2980,7 +2944,7 @@ export class WatermarkVideo { createResponse() { return new MediaTransformResponse() } } export class ConvertVideo { - /** @param {{outputFormat?:ConvertVideoOutputFormat,video?:string,refId?:string,replyTo?:string,tag?:string}} [init] */ + /** @param {{outputFormat?:ConvertVideoOutputFormat,video?:string,refId?:string,tag?:string}} [init] */ constructor(init) { Object.assign(this, init) } /** * @type {ConvertVideoOutputFormat} @@ -2992,10 +2956,6 @@ export class ConvertVideo { * @type {?string} * @description Optional client-provided identifier for the request */ refId; - /** - * @type {?string} - * @description Optional queue or topic to reply to */ - replyTo; /** * @type {?string} * @description Tag to identify the request */ @@ -3005,7 +2965,7 @@ export class ConvertVideo { createResponse() { return new MediaTransformResponse() } } export class CropVideo { - /** @param {{x?:number,y?:number,width?:number,height?:number,video?:string,refId?:string,replyTo?:string,tag?:string}} [init] */ + /** @param {{x?:number,y?:number,width?:number,height?:number,video?:string,refId?:string,tag?:string}} [init] */ constructor(init) { Object.assign(this, init) } /** * @type {number} @@ -3029,10 +2989,6 @@ export class CropVideo { * @type {?string} * @description Optional client-provided identifier for the request */ refId; - /** - * @type {?string} - * @description Optional queue or topic to reply to */ - replyTo; /** * @type {?string} * @description Tag to identify the request */ @@ -3042,7 +2998,7 @@ export class CropVideo { createResponse() { return new MediaTransformResponse() } } export class TrimVideo { - /** @param {{startTime?:string,endTime?:string,video?:string,refId?:string,replyTo?:string,tag?:string}} [init] */ + /** @param {{startTime?:string,endTime?:string,video?:string,refId?:string,tag?:string}} [init] */ constructor(init) { Object.assign(this, init) } /** * @type {string} @@ -3058,10 +3014,6 @@ export class TrimVideo { * @type {?string} * @description Optional client-provided identifier for the request */ refId; - /** - * @type {?string} - * @description Optional queue or topic to reply to */ - replyTo; /** * @type {?string} * @description Tag to identify the request */