@kong-ui-public/entities-plugins 7.1.3 → 7.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/entities-plugins.es.js +81 -83
- package/dist/entities-plugins.umd.js +3 -3
- package/dist/style.css +1 -1
- package/package.json +6 -6
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(Z,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("axios"),require("@kong-ui-public/i18n"),require("@kong/kongponents"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","axios","@kong-ui-public/i18n","@kong/kongponents","vue-router"],t):(Z=typeof globalThis<"u"?globalThis:Z||self,t(Z["kong-ui-public-entities-plugins"]={},Z.Vue,Z.axios,Z["kong-ui-public-i18n"],Z.Kongponents,Z.VueRouter))})(this,function(Z,t,Le,bt,os,jt){"use strict";var $B=Object.defineProperty;var eS=(Z,t,Le)=>t in Z?$B(Z,t,{enumerable:!0,configurable:!0,writable:!0,value:Le}):Z[t]=Le;var ue=(Z,t,Le)=>(eS(Z,typeof t!="symbol"?t+"":t,Le),Le),tS=(Z,t,Le)=>{if(!t.has(Z))throw TypeError("Cannot "+Le)};var fo=(Z,t,Le)=>{if(t.has(Z))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(Z):t.set(Z,Le)};var pi=(Z,t,Le)=>(tS(Z,t,"access private method"),Le);var In,Ao,di,is;var Pt=typeof document<"u"?document.currentScript:null,ui=(e=>(e.GatewayService="service",e.Route="route",e.Consumer="consumer",e.ConsumerGroup="consumer group",e.Plugin="plugin",e.Upstream="upstream",e.Certificate="certificate",e.CACertificate="ca certificate",e.SNI="SNI",e.Key="key",e.KeySet="key set",e.Vault="vault",e.Application="application",e.Developer="developer",e.acls="ACL Credential",e["basic-auth"]="Basic Auth Credential",e["key-auth"]="Key Auth Credential",e["key-auth-enc"]="Key Auth Encrypted Credential",e.oauth2="OAuth 2.0 Credential",e["hmac-auth"]="HMAC Credential",e.jwt="JWT Credential",e.Target="target",e.Policy="policy",e))(ui||{}),dt=(e=>(e.Edit="edit",e.Create="create",e))(dt||{}),wt=(e=>(e[e.Loading=0]="Loading",e[e.Idle=1]="Idle",e[e.NoResults=2]="NoResults",e[e.Error=3]="Error",e))(wt||{}),_=(e=>(e.ID="id",e.IdArray="id-array",e.Text="plain-text",e.Date="date",e.Redacted="redacted",e.RedactedArray="redacted-array",e.Json="json",e.JsonArray="json-array",e.BadgeTag="badge-tag",e.BadgeStatus="badge-status",e.BadgeMethod="badge-method",e.LinkInternal="link-internal",e.LinkExternal="link-external",e))(_||{}),Be=(e=>(e.Basic="basic",e.Advanced="advanced",e.Plugin="plugin",e))(Be||{});function as(){return{getAxiosInstance:(e={})=>{try{const n=t.inject("get-axios-instance",void 0);return typeof n=="function"?n(e):Le.create({withCredentials:!0,timeout:3e4,...e})}catch(n){return console.warn("getAxiosInstance:",n.message||n),Le.create({withCredentials:!0,timeout:3e4,...e})}},getTraceIdFromError:e=>{var n;return((n=e==null?void 0:e.response)==null?void 0:n.headers["x-datadog-trace-id"])||""}}}function rs(){return{debounce:(e,n)=>{let i;return(...o)=>{clearTimeout(i),i=window==null?void 0:window.setTimeout(()=>{e(...o)},n)}}}}const mi="khcp-user-table-preferences",ls={pageSize:30,sortColumnKey:void 0,sortColumnOrder:void 0,columnWidths:{},columnVisibility:{}};function ss(){const e=i=>{if(typeof i=="string")try{return JSON.parse(i)}catch(o){console.error("useTablePreferences(tryParseJson)",o);return}},n=()=>{const i=e(localStorage.getItem(mi));return!i||!Object.keys(i).length?new Map:new Map(Object.entries(i))};return{setTablePreferences:(i,o)=>{try{const a=n();a.set(i,o),localStorage.setItem(mi,JSON.stringify(Object.fromEntries(a.entries())))}catch(a){console.error("useTablePreferences(setTablePreferences)",a)}},getTablePreferences:i=>{const o=n();return(o==null?void 0:o.get(i))||void 0||ls},deleteAllTablePreferences:()=>{localStorage.removeItem(mi)}}}function gi(e={}){const{getAxiosInstance:n}=as();return{axiosInstance:n(e)}}const cs={actions:{copyId:"Copy ID",copied_id:'Copied "{id}" to the clipboard',copyToClipboard:"Copied successfully!",copyToClipboardFailed:"Failed to copy to the clipboard"}},ds={message:"Are you sure you want to delete this {entityType}?",messageWithName:"Are you sure you want to delete this {entityType} {entityName}?"},ps={actions:{viewConfiguration:"View Configuration",save:"Save",cancel:"Cancel",back:"Back"},configuration:{title:"Configuration",message:"Export configurations for core Kong Gateway objects, like services, routes, and plugins, to either YAML or JSON. This allows for straightforward importing into APIOps tools like decK with YAML, or Insomnia and cURL with JSON.",yaml:"YAML",json:"JSON"},errors:{edit:"The entity could not be edited at this time."}},us={emptyState:{noSearchResultsTitle:"No results found",noSearchResultsMessage:"Please adjust the criteria and try again.",noSearchResultsCtaText:"Clear"}},ms={title:"Configuration",actions:{copy:"Copy JSON"},sections:{advanced:"Advanced",plugin:"Plugin Specific Configuration"},commonFields:{id_label:"ID",name_label:"Name",enabled_label:"Enabled",enabled_tooltip:"Enabled is FTW",updated_at_label:"Last Updated",created_at_label:"Created",tags_label:"Tags",link:"Link"},statusBadge:{enabledLabel:"Enabled",disabledLabel:"Disabled"},copy:{tooltip:"Copy {label}",success:"Copied!"},errors:{load:"The entity configuration data could not be loaded at this time.",copy:"Failed to copy to clipboard"},general:{entryTitle:"Entry {index}",structuredFormat:"Structured"}},gs={filterButtonText:"Filter",fieldLabel:"Filter by:",inputPlaceholder:"Enter a value",selectPlaceholder:"Select an item",applyButtonText:"Apply",clearButtonText:"Clear",clearAllButtonText:"Clear all filters"},fs={errors:{fetch:"Could not fetch available items",invalid:"Please select a valid value"}},As={unexpected:"An unexpected error has occurred",dataKeyUndefined:'The data key "{dataKey}" does not exist in the response.'},hs={utf8Name:"The name can be any string containing characters, letters, numbers, or the following characters: ., -, _, or ~. Do not use spaces."},ys={enable:{title:"Enable {entityType}",message:"Are you sure you want to enable the {entityType} {entityName}?",confirmText:"Yes, enable"},disable:{title:"Disable {entityType}",message:"Are you sure you want to disable the {entityType} {entityName}?",confirmText:"Yes, disable"}},bs={global:cs,deleteModal:ds,baseForm:ps,baseTable:us,baseConfigCard:ms,filter:gs,debouncedFilter:fs,errors:As,validationErrors:hs,toggleModal:ys};function Tn(){const e=bt.createI18n("en-us",bs);return{i18n:e,i18nT:bt.i18nTComponent(e)}}function ho(){const e=(i,o)=>(o==null?void 0:o[i])??void 0,n=(i,o)=>{if(i.length!==o.length)return!1;const a=new Set([...i,...o]);for(const r of a){const l=i.filter(c=>c===r).length,s=o.filter(c=>c===r).length;if(l!==s)return!1}return!0};return{getPropValue:e,objectsAreEqual:(i,o,a)=>{if(a){if(Object.keys(i).length===Object.keys(o).length)for(const r in i)if(Array.isArray(i[r])&&Array.isArray(o[r])){if(n(i[r],o[r]))continue;return!1}else{if(i[r]===o[r])continue;return!1}else return!1;return!0}try{return JSON.stringify(i)===JSON.stringify(o)}catch{return!1}},sortAlpha:i=>(o,a)=>{let r=o[i]===void 0||o[i]===null?"":o[i],l=a[i]===void 0||a[i]===null?"":a[i];return Array.isArray(o[i])&&(r=o[i][0]),Array.isArray(a[i])&&(l=a[i][0]),r.localeCompare(l)},isValidUuid:i=>i?/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/.test(i):!1}}function ws(e,n,i,o={fetchedItemsKey:"data",searchKeys:["id"]}){i||(i="1000");const{axiosInstance:a}=gi(e.axiosRequestConfig),{i18n:{t:r}}=Tn(),{debounce:l}=rs(),s=l(async b=>{await v(b)},200),c=t.ref(!1),d=t.ref(""),p=t.ref(""),m=t.ref([]),g=t.ref([]),h=t.ref(void 0),k=t.unref(n);let y=`${e.apiBaseUrl}${k}`;e.app==="konnect"?y=y.replace(/{controlPlaneId}/gi,(e==null?void 0:e.controlPlaneId)||""):e.app==="kongManager"&&(y=y.replace(/\/{workspace}/gi,e!=null&&e.workspace?`/${e.workspace}`:""));const{isValidUuid:C}=ho(),E=async()=>{try{c.value=!0;const{data:b}=await a.get(`${y}?size=${i}`);b!=null&&b.next||(h.value=o.fetchedItemsKey in b?b[o.fetchedItemsKey]:[]),g.value=o.fetchedItemsKey in b?b[o.fetchedItemsKey]:[],m.value=g.value}catch{m.value=[],d.value=r("debouncedFilter.errors.fetch")}finally{c.value=!1}},x=t.ref(""),v=async b=>{var f,A,B;if(x.value!==b)if(x.value=b||"",h.value===void 0)try{if(c.value=!0,d.value="",p.value="",e.app==="konnect"){let S=y+"";b&&(S+=`/${b}`);const{data:w}=await a.get(`${S}?size=${i}`);o.fetchedItemsKey in w?m.value=w[o.fetchedItemsKey]:w!=null&&w.id?m.value=[w]:m.value=[]}else if(b){const S=[];C(b)&&o.searchKeys.includes("id")?S.push((async()=>{const{data:M}=await a.get(`${y}/${b}`);return[M[o.fetchedItemsKey]??M]})()):S.push(...o.searchKeys.filter(M=>M!=="id").map(async M=>{const{data:T}=await a.get(`${y}?${M}=${b}`);return T[o.fetchedItemsKey]}));const w=await Promise.all(S),R=new Set;m.value=[],(f=w==null?void 0:w.forEach)==null||f.call(w,M=>{var T;(T=M==null?void 0:M.forEach)==null||T.call(M,N=>{R.has(N.id)||(R.add(N.id),m.value.push(N))})})}else m.value=g.value}catch(S){((A=S==null?void 0:S.response)==null?void 0:A.status)===404?p.value=r("debouncedFilter.errors.invalid"):(m.value=[],d.value=r("debouncedFilter.errors.fetch"))}finally{c.value=!1}else c.value=!0,p.value="",b?(m.value=(B=h.value)==null?void 0:B.filter(S=>{var w;let R=!1;for(const M of o.searchKeys){const T=typeof S[M]=="string"?(w=S[M])==null?void 0:w.toLowerCase():S[M];T!=null&&T.includes(b.toLowerCase())&&(R=!0)}return R}),(!m.value||!m.value.length)&&(p.value=r("debouncedFilter.errors.invalid"))):m.value=h.value,c.value=!1};return{loading:c,error:d,validationError:p,results:m,allRecords:h,loadItems:E,debouncedQueryChange:s}}function Cs(e,n){const i=t.unref(n),o=t.computed(()=>e.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${i}`):new URL(i));return o.value.search="",a=>`${o.value.href}/${a}`}function Es(){const{i18n:{t:e}}=Tn();return{getMessageFromError:n=>{var i,o,a,r;if(!n)return e("errors.unexpected");if(((i=n==null?void 0:n.response)==null?void 0:i.status)===401)return console.warn("getMessageFromError: User auth token is expired or missing, returning empty message."),"";if((o=n==null?void 0:n.response)!=null&&o.data){if(n.response.data.detail)return n.response.data.detail;if((a=n.response.data.details)!=null&&a.length)return n.response.data.details.map(l=>{let s=e("errors.unexpected");return l.messages&&typeof l.messages=="object"&&l.messages.length&&(s=l.messages.join(", ")),l.field?`${l.field} - ${s}`:s}).join("; ");if(n.response.data.message){const{message:l}=n.response.data;return Array.isArray(l)?(r=l[0])!=null&&r.constraints?Object.values(l[0].constraints)[0]:l[0]:l}if(typeof n.response.data=="string")return n.response.data;if(typeof n.response.data=="object")return Object.keys(n.response.data).map(l=>`${l} ${n.response.data[l]}`).join(", ")}return n.message||e("errors.unexpected")}}}function ks(e){const n=window.location.origin,i=n.endsWith("/")?n:`${n}/`;try{const o=e.join("/"),a=`${i}${o}`,r=e.some(l=>l.trim()==="");if(/^(https:\/\/(www\.)?([a-zA-Z0-9-]+\.){1,}[a-zA-Z]{2,}(:[0-9]+)?(\/[^\/]+)*)$|^(https|http):\/\/localhost(:[0-9]+)?(\/[^\/]+)*$/.test(a)&&!r&&new URL(a))return`${i}${o}`;throw new Error("Invalid url")}catch(o){return console.warn("Failed to build valid URL:",o),""}}function yo(e,n){const i=t.ref(t.unref(e)),o=t.ref(t.unref(n)),a=t.computed(()=>!!(i.value.app==="konnect"||i.value.isExactMatch)),r=t.computed(()=>o.value.startsWith("/")?new URL(`${window.location.origin}${o.value}`):new URL(o.value));return l=>{const{page:s,pageSize:c,offset:d,sortColumnKey:p,sortColumnOrder:m,query:g}=l;try{let h=new URL(r.value.href);return a.value&&g?(h.search="",h=i.value.isExactMatch?new URL(`${h.href}/${g}/`):new URL(`${h.href}?filter[name][contains]=${g}`)):(a.value||new URLSearchParams(g).forEach((k,y)=>{h.searchParams.append(y,k)}),p&&h.searchParams.append("sort_by",p),m==="desc"&&h.searchParams.append("sort_desc","1"),h.searchParams.append("size",String(c))),d&&s!==1&&h.searchParams.append("offset",String(d)),h.href}catch(h){return console.error("RouteList(fetcher)",h),o.value}}}function Bs(e,n,i="data"){const o=t.unref(n),{axiosInstance:a}=gi(e.axiosRequestConfig),r=yo(e,o),l=t.ref({status:wt.Idle});return{fetcher:async s=>{var c;try{l.value={status:wt.Loading};let d=r(s);d.includes("filter[name]")&&(d=`${d}&page[size]=${s.pageSize}&page[number]=${s.page}`);const p=await a.get(d);if(p.status>=400)throw p;const m=p.data,g=i&&i.replace(/[^\w-_]/gi,"");let h;m[g]&&Array.isArray(m[g])?h=m[g]:Array.isArray(m)?h=m:h=Object.keys(m).length?[m]:[];const k={data:h,total:h.length,...m.offset?{pagination:{offset:m.offset}}:null};return l.value={status:wt.Idle,response:k},k}catch(d){const p={data:[],total:0};return s.query&&(((c=d.response)==null?void 0:c.status)===404||d.status===404)?(l.value={status:wt.NoResults,response:p,error:d.response?d:{response:d}},p):(l.value={status:wt.Error,response:p,error:d.response?d:{response:d}},p)}},fetcherState:l}}function Ss(){const e=(i,o="_")=>i?i.split(o).map(a=>a.toLowerCase()==="id"?a.toUpperCase():a.charAt(0).toUpperCase()+a.substring(1)).join(" "):"",n=/(?:^|[\s-:'"])\w/g;return{capitalize:i=>i?i.replace(n,o=>o.toUpperCase()):"",convertKeyToTitle:e}}const bo=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,wo=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const n=e.match(bo);if(!n)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return n.shift(),n},Co=e=>e==="*"||e==="x"||e==="X",Eo=e=>{const n=parseInt(e,10);return isNaN(n)?e:n},xs=(e,n)=>typeof e!=typeof n?[String(e),String(n)]:[e,n],Os=(e,n)=>{if(Co(e)||Co(n))return 0;const[i,o]=xs(Eo(e),Eo(n));return i>o?1:i<o?-1:0},ko=(e,n)=>{for(let i=0;i<Math.max(e.length,n.length);i++){const o=Os(e[i]||"0",n[i]||"0");if(o!==0)return o}return 0},Is=(e,n)=>{const i=wo(e),o=wo(n),a=i.pop(),r=o.pop(),l=ko(i,o);return l!==0?l:a&&r?ko(a.split("."),r.split(".")):a||r?a?-1:1:0},Bo=(e,n,i)=>{Ms(i);const o=Is(e,n);return So[i].includes(o)},So={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},xo=Object.keys(So),Ms=e=>{if(typeof e!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof e}`);if(xo.indexOf(e)===-1)throw new Error(`Invalid operator, expected one of ${xo.join("|")}`)},Rs=e=>typeof e=="string"&&/^[v\d]/.test(e)&&bo.test(e);function vs(e){const{gatewayInfo:n,supportedRange:i}=e;if(!n)return!0;const{edition:o,version:a}=n;if(!Rs(a))return console.error("Invalid version"),!1;const r=i[o];if(!r)return!1;const[l,s]=r;return!(l&&Bo(a,l,"<")||s&&Bo(a,s,">"))}function Ts(e){const n=t.ref(0),i=t.ref(0),o=t.ref(!1);return t.watch(e,a=>{a&&!o.value&&(n.value=a.offsetWidth,i.value=a.scrollWidth,o.value=!0)}),{isTruncated:t.computed(()=>n.value<i.value)}}function Ns(){const{i18n:{t:e}}=Tn();return{utf8Name:n=>/^[\p{N}\p{L}.\-_~]*$/u.test(n)?"":e("validationErrors.utf8Name")}}const we={useAxios:gi,useDebouncedFilter:ws,useDeleteUrlBuilder:Cs,useErrors:Es,useExternalLinkCreator:ks,useFetcher:Bs,useFetchUrlBuilder:yo,useHelpers:ho,useStringHelpers:Ss,useI18n:Tn,useGatewayFeatureSupported:vs,useTruncationDetector:Ts,useValidators:Ns},Vs={key:0,class:"config-card-fieldset-title"},Ls=t.defineComponent({__name:"JsonCardItem",props:{item:{type:Object,required:!0},index:{type:Number,default:-1},isArrayItem:{type:Boolean,default:!1}},setup(e){const n=e,{i18n:{t:i}}=we.useI18n(),{convertKeyToTitle:o}=we.useStringHelpers(),a=t.computed(()=>n.item.key??"json-array-item"),r=t.computed(()=>n.item.value??n.item),l=t.computed(()=>{const c=JSON.parse(JSON.stringify(r.value));return n.isArrayItem&&delete c.name,c}),s=t.computed(()=>{var c;return n.isArrayItem?(c=r.value)!=null&&c.name?o(r.value.name,"_"):i("baseConfigCard.general.entryTitle",{index:n.index}):""});return(c,d)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.isArrayItem?"fieldset":"div"),{class:t.normalizeClass(e.isArrayItem?"config-card-fieldset":"config-card-json-item")},{default:t.withCtx(()=>[e.isArrayItem?(t.openBlock(),t.createElementBlock("legend",Vs,[t.createElementVNode("b",null,t.toDisplayString(s.value),1)])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(l.value),(p,m)=>(t.openBlock(),t.createBlock(Io,{key:`${a.value}-property-${m}`,item:{key:p,label:t.unref(o)(p),value:l.value[p]}},null,8,["item"]))),128))]),_:1},8,["class"]))}}),We=(e,n)=>{const i=e.__vccOpts||e;for(const[o,a]of n)i[o]=a;return i},Oo=We(Ls,[["__scopeId","data-v-68ca83ec"]]),Ds=t.defineComponent({__name:"InternalLinkItem",props:{item:{type:Object,required:!0}},emits:["navigation-click"],setup(e){const{i18n:{t:n}}=we.useI18n();return(i,o)=>{const a=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(a,{appearance:"tertiary",class:"navigation-button",onClick:o[0]||(o[0]=r=>i.$emit("navigation-click",e.item))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.item.value||t.unref(n)("baseConfigCard.commonFields.link")),1)]),_:1})])}}}),$t=We(Ds,[["__scopeId","data-v-c96811e5"]]),js=t.defineComponent({__name:"StatusBadge",props:{status:{type:Boolean,default:!1}},setup(e){const{i18n:{t:n}}=we.useI18n();return(i,o)=>{const a=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(a,{appearance:e.status?"success":"neutral"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.status?t.unref(n)("baseConfigCard.statusBadge.enabledLabel"):t.unref(n)("baseConfigCard.statusBadge.disabledLabel")),1)]),_:1},8,["appearance"])}}}),Ps="#0044f4",Us="#e0e4ea",Ys="#afb7c5",Gs="1px",Hs="20px",Fs={class:"config-card-details-row"},zs=["data-testid"],Ks=["data-testid"],qs=["data-testid"],Xs=["data-testid"],Js={key:1},Zs=["data-testid"],Ws=["data-testid"],Qs=["data-testid"],_s=["data-testid"],$s={name:"ConfigCardItem",components:{JsonCardItem:Oo,StatusBadge:js,InternalLinkItem:$t}},ec=t.defineComponent({...$s,props:{item:{type:Object,required:!0},slim:{type:Boolean,required:!1,default:!1},truncated:{type:Boolean,required:!1,default:!1}},emits:["navigation-click"],setup(e,{emit:n}){t.useCssVars(k=>({dc1d91a8:p.value?"none":`solid ${t.unref(Gs)} ${t.unref(Us)}`,"59ccec5f":d.value&&s.value?"block":"flex","29318fbe":d.value&&s.value?"100%":i.slim?"50%":"25%","292d0408":d.value&&s.value?"100%":i.slim?"50%":"75%"}));const i=e,o=n,a=t.useSlots(),{i18n:{t:r,formatUnixTimeStamp:l}}=we.useI18n(),s=t.computed(()=>i.item.value!==void 0&&i.item.value!==null&&i.item.value!==""),c=t.computed(()=>!!(i.item.tooltip||a["label-tooltip"])),d=t.computed(()=>i.item.type===_.Json||i.item.type===_.JsonArray),p=t.computed(()=>i.item.type===_.JsonArray),m=t.computed(()=>{switch(i.item.type){case _.ID:return{tag:"KCopy",attrs:{"data-testid":`${i.item.key}-copy-uuid`,"copy-tooltip":r("baseConfigCard.copy.tooltip",{label:i.item.label}),text:i.item.value}};case _.IdArray:return{tag:"div",additionalComponent:"KCopy",childAttrs:{"copy-tooltip":r("baseConfigCard.copy.tooltip",{label:i.item.label})}};case _.Redacted:return{tag:"KCopy",attrs:{"data-testid":`${i.item.key}-copy-uuid-redacted`,format:"redacted","copy-tooltip":r("baseConfigCard.copy.tooltip",{label:i.item.label}),text:i.item.value}};case _.RedactedArray:return{tag:"div",additionalComponent:"KCopy",childAttrs:{format:"redacted","copy-tooltip":r("baseConfigCard.copy.tooltip",{label:i.item.label})}};case _.Date:return{tag:"div",attrs:{"data-testid":`${i.item.key}-date`},text:l(i.item.value)};case _.BadgeStatus:return{tag:"StatusBadge",attrs:{"data-testid":`${i.item.key}-badge-status`,status:i.item.value}};case _.BadgeTag:return{tag:"div",additionalComponent:"KBadge"};case _.BadgeMethod:return{tag:"div",additionalComponent:"KMethodBadge"};case _.LinkInternal:return{tag:"InternalLinkItem",attrs:{"data-testid":`${i.item.key}-internal-link`,item:i.item,onNavigationClick:k=>{o("navigation-click",k)}}};case _.LinkExternal:return{tag:"KExternalLink",attrs:{"data-testid":`${i.item.key}-external-link`,href:i.item.value},text:i.item.value};case _.Json:return{tag:"JsonCardItem",attrs:{"data-testid":`${i.item.key}-json-content`,item:i.item}};case _.JsonArray:return{tag:"div",additionalComponent:"JsonCardItem",attrs:{"data-testid":`${i.item.key}-json-array-content`,item:i.item}};default:return{tag:"div",attrs:{"data-testid":`${i.item.key}-plain-text`},text:i.item.value}}}),g=t.ref(),{isTruncated:h}=we.useTruncationDetector(g);return(k,y)=>{const C=t.resolveComponent("KLabel"),E=t.resolveComponent("KBadge"),x=t.resolveComponent("KCopy"),v=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",Fs,[t.createElementVNode("div",{class:"config-card-details-label","data-testid":`${e.item.key}-label`},[t.renderSlot(k.$slots,"label",{item:e.item},()=>[t.createVNode(C,{"tooltip-attributes":{maxWidth:"500px"}},t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.item.label)+" ",1)]),_:2},[c.value?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{"data-testid":`${e.item.key}-label-tooltip`},[t.renderSlot(k.$slots,"label-tooltip",{},()=>[t.createTextVNode(t.toDisplayString(e.item.tooltip),1)],!0)],8,Ks)]),key:"0"}:void 0]),1024)],!0)],8,zs),t.createElementVNode("div",{class:"config-card-details-value","data-testid":`${e.item.key}-property-value`},[t.renderSlot(k.$slots,e.item.key,{rowValue:e.item.value},()=>[s.value?(t.openBlock(),t.createElementBlock("div",Js,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m.value.tag),t.normalizeProps(t.guardReactiveProps(m.value.attrs)),{default:t.withCtx(()=>[m.value.additionalComponent==="KBadge"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${e.item.key}-badge-tags`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(b,f)=>(t.openBlock(),t.createBlock(E,{key:`${e.item.key}-badge-tag-${f}`,class:"config-badge","data-testid":`${e.item.key}-badge-tag-${f}`,tooltip:b,"truncation-tooltip":""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(b),1)]),_:2},1032,["data-testid","tooltip"]))),128))],8,Zs)):t.createCommentVNode("",!0),m.value.additionalComponent==="KCopy"?(t.openBlock(),t.createElementBlock("div",{key:1,class:"copy-uuid-array","data-testid":`${e.item.key}-copy-uuid-array`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(b,f)=>(t.openBlock(),t.createBlock(x,t.mergeProps({ref_for:!0},m.value.childAttrs,{key:`${e.item.key}-copy-uuid-${f}`,"data-testid":`${e.item.key}-copy-uuid-${f}`,text:b}),null,16,["data-testid","text"]))),128))],8,Ws)):m.value.additionalComponent==="KMethodBadge"?(t.openBlock(),t.createElementBlock("div",{key:2,class:"method-badge-array","data-testid":`${e.item.key}-badge-methods`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(b,f)=>(t.openBlock(),t.createBlock(E,{key:`${e.item.key}-badge-method-${f}`,appearance:Object.values(t.unref(os.BadgeMethodAppearances)).includes(b.toLowerCase())?b.toLowerCase():"custom",class:"config-badge","data-testid":`${e.item.key}-badge-method-${f}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(b),1)]),_:2},1032,["appearance","data-testid"]))),128))],8,Qs)):t.createCommentVNode("",!0),m.value.additionalComponent==="JsonCardItem"?(t.openBlock(),t.createElementBlock("div",{key:3,"data-testid":`${i.item.key}-json-array-content`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(b,f)=>(t.openBlock(),t.createBlock(Oo,{key:`json-array-item-${f}`,index:f,"is-array-item":"",item:b},null,8,["index","item"]))),128))],8,_s)):(t.openBlock(),t.createBlock(v,{key:4,text:t.unref(h)?e.item.value:""},{default:t.withCtx(()=>[t.createElementVNode("span",{ref_key:"textContent",ref:g,class:t.normalizeClass(["attrs-data-text",{truncated:e.truncated}])},t.toDisplayString(m.value.text),3)]),_:1},8,["text"]))]),_:1},16))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${e.item.key}-no-value`}," – ",8,Xs))],!0)],8,qs)])}}}),Io=We(ec,[["__scopeId","data-v-d268261c"]]),tc={class:"json-config"},nc={key:0,class:"json-endpoint"},fi=t.defineComponent({__name:"JsonCodeBlock",props:{config:{type:Object,required:!1,default:()=>({})},fetcherUrl:{type:String,required:!1,default:""},jsonRecord:{type:Object,required:!0},requestMethod:{type:String,required:!1,default:""}},setup(e){t.useCssVars(a=>({"4520e3ec":`${o.value}ch`}));const n=e,i=t.computed(()=>n.jsonRecord),o=t.computed(()=>{var a;if(!n.fetcherUrl)return 0;const r=(a=n.fetcherUrl)==null?void 0:a.split("/");return r.length<2?0:41+(n.requestMethod==="post"?r[r.length-1]:r[r.length-2]).length});return(a,r)=>{const l=t.resolveComponent("KBadge"),s=t.resolveComponent("KCodeBlock");return t.openBlock(),t.createElementBlock("div",tc,[n.fetcherUrl?(t.openBlock(),t.createElementBlock("div",nc,[t.createVNode(l,{appearance:n.requestMethod},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(n.requestMethod),1)]),_:1},8,["appearance"]),t.createVNode(s,{id:"json-endpoint-codeblock",code:n.fetcherUrl,language:"json","single-line":"",theme:"dark"},null,8,["code"])])):t.createCommentVNode("",!0),n.jsonRecord?(t.openBlock(),t.createBlock(s,{key:1,id:"json-codeblock",class:t.normalizeClass({"json-content":n.fetcherUrl}),code:JSON.stringify(i.value,null,2),language:"json",theme:"dark"},null,8,["class","code"])):t.createCommentVNode("",!0)])}}});/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Mo(e){return typeof e>"u"||e===null}function ic(e){return typeof e=="object"&&e!==null}function oc(e){return Array.isArray(e)?e:Mo(e)?[]:[e]}function ac(e,n){var i,o,a,r;if(n)for(r=Object.keys(n),i=0,o=r.length;i<o;i+=1)a=r[i],e[a]=n[a];return e}function rc(e,n){var i="",o;for(o=0;o<n;o+=1)i+=e;return i}function lc(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var sc=Mo,cc=ic,dc=oc,pc=rc,uc=lc,mc=ac,Ce={isNothing:sc,isObject:cc,toArray:dc,repeat:pc,isNegativeZero:uc,extend:mc};function Ro(e,n){var i="",o=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(i+='in "'+e.mark.name+'" '),i+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!n&&e.mark.snippet&&(i+=`
|
|
1
|
+
(function(Z,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("axios"),require("@kong-ui-public/i18n"),require("@kong/kongponents"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","axios","@kong-ui-public/i18n","@kong/kongponents","vue-router"],t):(Z=typeof globalThis<"u"?globalThis:Z||self,t(Z["kong-ui-public-entities-plugins"]={},Z.Vue,Z.axios,Z["kong-ui-public-i18n"],Z.Kongponents,Z.VueRouter))})(this,function(Z,t,Le,bt,os,jt){"use strict";var $B=Object.defineProperty;var eS=(Z,t,Le)=>t in Z?$B(Z,t,{enumerable:!0,configurable:!0,writable:!0,value:Le}):Z[t]=Le;var ue=(Z,t,Le)=>(eS(Z,typeof t!="symbol"?t+"":t,Le),Le),tS=(Z,t,Le)=>{if(!t.has(Z))throw TypeError("Cannot "+Le)};var fo=(Z,t,Le)=>{if(t.has(Z))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(Z):t.set(Z,Le)};var pi=(Z,t,Le)=>(tS(Z,t,"access private method"),Le);var In,Ao,di,is;var Pt=typeof document<"u"?document.currentScript:null,ui=(e=>(e.GatewayService="service",e.Route="route",e.Consumer="consumer",e.ConsumerGroup="consumer group",e.Plugin="plugin",e.Upstream="upstream",e.Certificate="certificate",e.CACertificate="ca certificate",e.SNI="SNI",e.Key="key",e.KeySet="key set",e.Vault="vault",e.Application="application",e.Developer="developer",e.acls="ACL Credential",e["basic-auth"]="Basic Auth Credential",e["key-auth"]="Key Auth Credential",e["key-auth-enc"]="Key Auth Encrypted Credential",e.oauth2="OAuth 2.0 Credential",e["hmac-auth"]="HMAC Credential",e.jwt="JWT Credential",e.Target="target",e.Policy="policy",e))(ui||{}),dt=(e=>(e.Edit="edit",e.Create="create",e))(dt||{}),wt=(e=>(e[e.Loading=0]="Loading",e[e.Idle=1]="Idle",e[e.NoResults=2]="NoResults",e[e.Error=3]="Error",e))(wt||{}),_=(e=>(e.ID="id",e.IdArray="id-array",e.Text="plain-text",e.Date="date",e.Redacted="redacted",e.RedactedArray="redacted-array",e.Json="json",e.JsonArray="json-array",e.BadgeTag="badge-tag",e.BadgeStatus="badge-status",e.BadgeMethod="badge-method",e.LinkInternal="link-internal",e.LinkExternal="link-external",e))(_||{}),Be=(e=>(e.Basic="basic",e.Advanced="advanced",e.Plugin="plugin",e))(Be||{});function as(){return{getAxiosInstance:(e={})=>{try{const n=t.inject("get-axios-instance",void 0);return typeof n=="function"?n(e):Le.create({withCredentials:!0,timeout:3e4,...e})}catch(n){return console.warn("getAxiosInstance:",n.message||n),Le.create({withCredentials:!0,timeout:3e4,...e})}},getTraceIdFromError:e=>{var n;return((n=e==null?void 0:e.response)==null?void 0:n.headers["x-datadog-trace-id"])||""}}}function rs(){return{debounce:(e,n)=>{let i;return(...o)=>{clearTimeout(i),i=window==null?void 0:window.setTimeout(()=>{e(...o)},n)}}}}const mi="khcp-user-table-preferences",ls={pageSize:30,sortColumnKey:void 0,sortColumnOrder:void 0,columnWidths:{},columnVisibility:{}};function ss(){const e=i=>{if(typeof i=="string")try{return JSON.parse(i)}catch(o){console.error("useTablePreferences(tryParseJson)",o);return}},n=()=>{const i=e(localStorage.getItem(mi));return!i||!Object.keys(i).length?new Map:new Map(Object.entries(i))};return{setTablePreferences:(i,o)=>{try{const a=n();a.set(i,o),localStorage.setItem(mi,JSON.stringify(Object.fromEntries(a.entries())))}catch(a){console.error("useTablePreferences(setTablePreferences)",a)}},getTablePreferences:i=>{const o=n();return(o==null?void 0:o.get(i))||void 0||ls},deleteAllTablePreferences:()=>{localStorage.removeItem(mi)}}}function gi(e={}){const{getAxiosInstance:n}=as();return{axiosInstance:n(e)}}const cs={actions:{copyId:"Copy ID",copied_id:'Copied "{id}" to the clipboard',copyToClipboard:"Copied successfully!",copyToClipboardFailed:"Failed to copy to the clipboard"}},ds={message:"Are you sure you want to delete this {entityType}?",messageWithName:"Are you sure you want to delete this {entityType} {entityName}?"},ps={actions:{viewConfiguration:"View Configuration",save:"Save",cancel:"Cancel",back:"Back"},configuration:{title:"Configuration",message:"Export configurations for core Kong Gateway objects, like services, routes, and plugins, to either YAML or JSON. This allows for straightforward importing into APIOps tools like decK with YAML, or Insomnia and cURL with JSON.",yaml:"YAML",json:"JSON"},errors:{edit:"The entity could not be edited at this time."}},us={emptyState:{noSearchResultsTitle:"No results found",noSearchResultsMessage:"Please adjust the criteria and try again.",noSearchResultsCtaText:"Clear"}},ms={title:"Configuration",actions:{copy:"Copy JSON"},sections:{advanced:"Advanced",plugin:"Plugin Specific Configuration"},commonFields:{id_label:"ID",name_label:"Name",enabled_label:"Enabled",enabled_tooltip:"Enabled is FTW",updated_at_label:"Last Updated",created_at_label:"Created",tags_label:"Tags",link:"Link"},statusBadge:{enabledLabel:"Enabled",disabledLabel:"Disabled"},copy:{tooltip:"Copy {label}",success:"Copied!"},errors:{load:"The entity configuration data could not be loaded at this time.",copy:"Failed to copy to clipboard"},general:{entryTitle:"Entry {index}",structuredFormat:"Structured"}},gs={filterButtonText:"Filter",fieldLabel:"Filter by:",inputPlaceholder:"Enter a value",selectPlaceholder:"Select an item",applyButtonText:"Apply",clearButtonText:"Clear",clearAllButtonText:"Clear all filters"},fs={errors:{fetch:"Could not fetch available items",invalid:"Please select a valid value"}},As={unexpected:"An unexpected error has occurred",dataKeyUndefined:'The data key "{dataKey}" does not exist in the response.'},hs={utf8Name:"The name can be any string containing characters, letters, numbers, or the following characters: ., -, _, or ~. Do not use spaces."},ys={enable:{title:"Enable {entityType}",message:"Are you sure you want to enable the {entityType} {entityName}?",confirmText:"Yes, enable"},disable:{title:"Disable {entityType}",message:"Are you sure you want to disable the {entityType} {entityName}?",confirmText:"Yes, disable"}},bs={global:cs,deleteModal:ds,baseForm:ps,baseTable:us,baseConfigCard:ms,filter:gs,debouncedFilter:fs,errors:As,validationErrors:hs,toggleModal:ys};function Tn(){const e=bt.createI18n("en-us",bs);return{i18n:e,i18nT:bt.i18nTComponent(e)}}function ho(){const e=(i,o)=>(o==null?void 0:o[i])??void 0,n=(i,o)=>{if(i.length!==o.length)return!1;const a=new Set([...i,...o]);for(const r of a){const l=i.filter(c=>c===r).length,s=o.filter(c=>c===r).length;if(l!==s)return!1}return!0};return{getPropValue:e,objectsAreEqual:(i,o,a)=>{if(a){if(Object.keys(i).length===Object.keys(o).length)for(const r in i)if(Array.isArray(i[r])&&Array.isArray(o[r])){if(n(i[r],o[r]))continue;return!1}else{if(i[r]===o[r])continue;return!1}else return!1;return!0}try{return JSON.stringify(i)===JSON.stringify(o)}catch{return!1}},sortAlpha:i=>(o,a)=>{let r=o[i]===void 0||o[i]===null?"":o[i],l=a[i]===void 0||a[i]===null?"":a[i];return Array.isArray(o[i])&&(r=o[i][0]),Array.isArray(a[i])&&(l=a[i][0]),r.localeCompare(l)},isValidUuid:i=>i?/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/.test(i):!1}}function ws(e,n,i,o={fetchedItemsKey:"data",searchKeys:["id"]}){i||(i="1000");const{axiosInstance:a}=gi(e.axiosRequestConfig),{i18n:{t:r}}=Tn(),{debounce:l}=rs(),s=l(async b=>{await v(b)},200),c=t.ref(!1),d=t.ref(""),p=t.ref(""),m=t.ref([]),g=t.ref([]),h=t.ref(void 0),k=t.unref(n);let y=`${e.apiBaseUrl}${k}`;e.app==="konnect"?y=y.replace(/{controlPlaneId}/gi,(e==null?void 0:e.controlPlaneId)||""):e.app==="kongManager"&&(y=y.replace(/\/{workspace}/gi,e!=null&&e.workspace?`/${e.workspace}`:""));const{isValidUuid:C}=ho(),E=async()=>{try{c.value=!0;const{data:b}=await a.get(`${y}?size=${i}`);b!=null&&b.next||(h.value=o.fetchedItemsKey in b?b[o.fetchedItemsKey]:[]),g.value=o.fetchedItemsKey in b?b[o.fetchedItemsKey]:[],m.value=g.value}catch{m.value=[],d.value=r("debouncedFilter.errors.fetch")}finally{c.value=!1}},x=t.ref(""),v=async b=>{var f,A,B;if(x.value!==b)if(x.value=b||"",h.value===void 0)try{if(c.value=!0,d.value="",p.value="",e.app==="konnect"){let S=y+"";b&&(S+=`/${b}`);const{data:w}=await a.get(`${S}?size=${i}`);o.fetchedItemsKey in w?m.value=w[o.fetchedItemsKey]:w!=null&&w.id?m.value=[w]:m.value=[]}else if(b){const S=[];C(b)&&o.searchKeys.includes("id")?S.push((async()=>{const{data:M}=await a.get(`${y}/${b}`);return[M[o.fetchedItemsKey]??M]})()):S.push(...o.searchKeys.filter(M=>M!=="id").map(async M=>{const{data:T}=await a.get(`${y}?${M}=${b}`);return T[o.fetchedItemsKey]}));const w=await Promise.all(S),R=new Set;m.value=[],(f=w==null?void 0:w.forEach)==null||f.call(w,M=>{var T;(T=M==null?void 0:M.forEach)==null||T.call(M,N=>{R.has(N.id)||(R.add(N.id),m.value.push(N))})})}else m.value=g.value}catch(S){((A=S==null?void 0:S.response)==null?void 0:A.status)===404?p.value=r("debouncedFilter.errors.invalid"):(m.value=[],d.value=r("debouncedFilter.errors.fetch"))}finally{c.value=!1}else c.value=!0,p.value="",b?(m.value=(B=h.value)==null?void 0:B.filter(S=>{var w;let R=!1;for(const M of o.searchKeys){const T=typeof S[M]=="string"?(w=S[M])==null?void 0:w.toLowerCase():S[M];T!=null&&T.includes(b.toLowerCase())&&(R=!0)}return R}),(!m.value||!m.value.length)&&(p.value=r("debouncedFilter.errors.invalid"))):m.value=h.value,c.value=!1};return{loading:c,error:d,validationError:p,results:m,allRecords:h,loadItems:E,debouncedQueryChange:s}}function Cs(e,n){const i=t.unref(n),o=t.computed(()=>e.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${i}`):new URL(i));return o.value.search="",a=>`${o.value.href}/${a}`}function Es(){const{i18n:{t:e}}=Tn();return{getMessageFromError:n=>{var i,o,a,r;if(!n)return e("errors.unexpected");if(((i=n==null?void 0:n.response)==null?void 0:i.status)===401)return console.warn("getMessageFromError: User auth token is expired or missing, returning empty message."),"";if((o=n==null?void 0:n.response)!=null&&o.data){if(n.response.data.detail)return n.response.data.detail;if((a=n.response.data.details)!=null&&a.length)return n.response.data.details.map(l=>{let s=e("errors.unexpected");return l.messages&&typeof l.messages=="object"&&l.messages.length&&(s=l.messages.join(", ")),l.field?`${l.field} - ${s}`:s}).join("; ");if(n.response.data.message){const{message:l}=n.response.data;return Array.isArray(l)?(r=l[0])!=null&&r.constraints?Object.values(l[0].constraints)[0]:l[0]:l}if(typeof n.response.data=="string")return n.response.data;if(typeof n.response.data=="object")return Object.keys(n.response.data).map(l=>`${l} ${n.response.data[l]}`).join(", ")}return n.message||e("errors.unexpected")}}}function ks(e){const n=window.location.origin,i=n.endsWith("/")?n:`${n}/`;try{const o=e.join("/"),a=`${i}${o}`,r=e.some(l=>l.trim()==="");if(/^(https:\/\/(www\.)?([a-zA-Z0-9-]+\.){1,}[a-zA-Z]{2,}(:[0-9]+)?(\/[^\/]+)*)$|^(https|http):\/\/localhost(:[0-9]+)?(\/[^\/]+)*$/.test(a)&&!r&&new URL(a))return`${i}${o}`;throw new Error("Invalid url")}catch(o){return console.warn("Failed to build valid URL:",o),""}}function yo(e,n){const i=t.ref(t.unref(e)),o=t.ref(t.unref(n)),a=t.computed(()=>!!(i.value.app==="konnect"||i.value.isExactMatch)),r=t.computed(()=>o.value.startsWith("/")?new URL(`${window.location.origin}${o.value}`):new URL(o.value));return l=>{const{page:s,pageSize:c,offset:d,sortColumnKey:p,sortColumnOrder:m,query:g}=l;try{let h=new URL(r.value.href);return a.value&&g?(h.search="",h=i.value.isExactMatch?new URL(`${h.href}/${g}/`):new URL(`${h.href}?filter[name][contains]=${g}`)):(a.value||new URLSearchParams(g).forEach((k,y)=>{h.searchParams.append(y,k)}),p&&h.searchParams.append("sort_by",p),m==="desc"&&h.searchParams.append("sort_desc","1"),h.searchParams.append("size",String(c))),d&&s!==1&&h.searchParams.append("offset",String(d)),h.href}catch(h){return console.error("RouteList(fetcher)",h),o.value}}}function Bs(e,n,i="data"){const o=t.unref(n),{axiosInstance:a}=gi(e.axiosRequestConfig),r=yo(e,o),l=t.ref({status:wt.Idle});return{fetcher:async s=>{var c;try{l.value={status:wt.Loading};let d=r(s);d.includes("filter[name]")&&(d=`${d}&page[size]=${s.pageSize}&page[number]=${s.page}`);const p=await a.get(d);if(p.status>=400)throw p;const m=p.data,g=i&&i.replace(/[^\w-_]/gi,"");let h;m[g]&&Array.isArray(m[g])?h=m[g]:Array.isArray(m)?h=m:h=Object.keys(m).length?[m]:[];const k={data:h,total:h.length,...m.offset?{pagination:{offset:m.offset}}:null};return l.value={status:wt.Idle,response:k},k}catch(d){const p={data:[],total:0};return s.query&&(((c=d.response)==null?void 0:c.status)===404||d.status===404)?(l.value={status:wt.NoResults,response:p,error:d.response?d:{response:d}},p):(l.value={status:wt.Error,response:p,error:d.response?d:{response:d}},p)}},fetcherState:l}}function Ss(){const e=(i,o="_")=>i?i.split(o).map(a=>a.toLowerCase()==="id"?a.toUpperCase():a.charAt(0).toUpperCase()+a.substring(1)).join(" "):"",n=/(?:^|[\s-:'"])\w/g;return{capitalize:i=>i?i.replace(n,o=>o.toUpperCase()):"",convertKeyToTitle:e}}const bo=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,wo=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const n=e.match(bo);if(!n)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return n.shift(),n},Co=e=>e==="*"||e==="x"||e==="X",Eo=e=>{const n=parseInt(e,10);return isNaN(n)?e:n},xs=(e,n)=>typeof e!=typeof n?[String(e),String(n)]:[e,n],Os=(e,n)=>{if(Co(e)||Co(n))return 0;const[i,o]=xs(Eo(e),Eo(n));return i>o?1:i<o?-1:0},ko=(e,n)=>{for(let i=0;i<Math.max(e.length,n.length);i++){const o=Os(e[i]||"0",n[i]||"0");if(o!==0)return o}return 0},Is=(e,n)=>{const i=wo(e),o=wo(n),a=i.pop(),r=o.pop(),l=ko(i,o);return l!==0?l:a&&r?ko(a.split("."),r.split(".")):a||r?a?-1:1:0},Bo=(e,n,i)=>{Ms(i);const o=Is(e,n);return So[i].includes(o)},So={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},xo=Object.keys(So),Ms=e=>{if(typeof e!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof e}`);if(xo.indexOf(e)===-1)throw new Error(`Invalid operator, expected one of ${xo.join("|")}`)},Rs=e=>typeof e=="string"&&/^[v\d]/.test(e)&&bo.test(e);function vs(e){const{gatewayInfo:n,supportedRange:i}=e;if(!n)return!0;const{edition:o,version:a}=n;if(!Rs(a))return console.error("Invalid version"),!1;const r=i[o];if(!r)return!1;const[l,s]=r;return!(l&&Bo(a,l,"<")||s&&Bo(a,s,">"))}function Ts(e){const n=t.ref(0),i=t.ref(0),o=t.ref(!1);return t.watch(e,a=>{a&&!o.value&&(n.value=a.offsetWidth,i.value=a.scrollWidth,o.value=!0)}),{isTruncated:t.computed(()=>n.value<i.value)}}function Ns(){const{i18n:{t:e}}=Tn();return{utf8Name:n=>/^[\p{N}\p{L}.\-_~]*$/u.test(n)?"":e("validationErrors.utf8Name")}}const we={useAxios:gi,useDebouncedFilter:ws,useDeleteUrlBuilder:Cs,useErrors:Es,useExternalLinkCreator:ks,useFetcher:Bs,useFetchUrlBuilder:yo,useHelpers:ho,useStringHelpers:Ss,useI18n:Tn,useGatewayFeatureSupported:vs,useTruncationDetector:Ts,useValidators:Ns},Vs={key:0,class:"config-card-fieldset-title"},Ls=t.defineComponent({__name:"JsonCardItem",props:{item:{type:Object,required:!0},index:{type:Number,default:-1},isArrayItem:{type:Boolean,default:!1}},setup(e){const n=e,{i18n:{t:i}}=we.useI18n(),{convertKeyToTitle:o}=we.useStringHelpers(),a=t.computed(()=>n.item.key??"json-array-item"),r=t.computed(()=>n.item.value??n.item),l=t.computed(()=>{const c=JSON.parse(JSON.stringify(r.value));return n.isArrayItem&&delete c.name,c}),s=t.computed(()=>{var c;return n.isArrayItem?(c=r.value)!=null&&c.name?o(r.value.name,"_"):i("baseConfigCard.general.entryTitle",{index:n.index}):""});return(c,d)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.isArrayItem?"fieldset":"div"),{class:t.normalizeClass(e.isArrayItem?"config-card-fieldset":"config-card-json-item")},{default:t.withCtx(()=>[e.isArrayItem?(t.openBlock(),t.createElementBlock("legend",Vs,[t.createElementVNode("b",null,t.toDisplayString(s.value),1)])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(l.value),(p,m)=>(t.openBlock(),t.createBlock(Io,{key:`${a.value}-property-${m}`,item:{key:p,label:t.unref(o)(p),value:l.value[p]}},null,8,["item"]))),128))]),_:1},8,["class"]))}}),We=(e,n)=>{const i=e.__vccOpts||e;for(const[o,a]of n)i[o]=a;return i},Oo=We(Ls,[["__scopeId","data-v-68ca83ec"]]),Ds=t.defineComponent({__name:"InternalLinkItem",props:{item:{type:Object,required:!0}},emits:["navigation-click"],setup(e){const{i18n:{t:n}}=we.useI18n();return(i,o)=>{const a=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(a,{appearance:"tertiary",class:"navigation-button",onClick:o[0]||(o[0]=r=>i.$emit("navigation-click",e.item))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.item.value||t.unref(n)("baseConfigCard.commonFields.link")),1)]),_:1})])}}}),$t=We(Ds,[["__scopeId","data-v-c96811e5"]]),js=t.defineComponent({__name:"StatusBadge",props:{status:{type:Boolean,default:!1}},setup(e){const{i18n:{t:n}}=we.useI18n();return(i,o)=>{const a=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(a,{appearance:e.status?"success":"neutral"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.status?t.unref(n)("baseConfigCard.statusBadge.enabledLabel"):t.unref(n)("baseConfigCard.statusBadge.disabledLabel")),1)]),_:1},8,["appearance"])}}}),Ps="#0044f4",Us="#e0e4ea",Ys="#afb7c5",Gs="1px",Hs="20px",Fs={class:"config-card-details-row"},zs=["data-testid"],Ks=["data-testid"],qs=["data-testid"],Xs=["data-testid"],Js={key:1},Zs=["data-testid"],Ws=["data-testid"],Qs=["data-testid"],_s=["data-testid"],$s={name:"ConfigCardItem",components:{JsonCardItem:Oo,StatusBadge:js,InternalLinkItem:$t}},ec=t.defineComponent({...$s,props:{item:{type:Object,required:!0},slim:{type:Boolean,required:!1,default:!1},truncated:{type:Boolean,required:!1,default:!1}},emits:["navigation-click"],setup(e,{emit:n}){t.useCssVars(k=>({dc1d91a8:p.value?"none":`solid ${t.unref(Gs)} ${t.unref(Us)}`,"59ccec5f":d.value&&s.value?"block":"flex","29318fbe":d.value&&s.value?"100%":i.slim?"50%":"25%","292d0408":d.value&&s.value?"100%":i.slim?"50%":"75%"}));const i=e,o=n,a=t.useSlots(),{i18n:{t:r,formatUnixTimeStamp:l}}=we.useI18n(),s=t.computed(()=>i.item.value!==void 0&&i.item.value!==null&&i.item.value!==""),c=t.computed(()=>!!(i.item.tooltip||a["label-tooltip"])),d=t.computed(()=>i.item.type===_.Json||i.item.type===_.JsonArray),p=t.computed(()=>i.item.type===_.JsonArray),m=t.computed(()=>{switch(i.item.type){case _.ID:return{tag:"KCopy",attrs:{"data-testid":`${i.item.key}-copy-uuid`,"copy-tooltip":r("baseConfigCard.copy.tooltip",{label:i.item.label}),text:i.item.value}};case _.IdArray:return{tag:"div",additionalComponent:"KCopy",childAttrs:{"copy-tooltip":r("baseConfigCard.copy.tooltip",{label:i.item.label})}};case _.Redacted:return{tag:"KCopy",attrs:{"data-testid":`${i.item.key}-copy-uuid-redacted`,format:"redacted","copy-tooltip":r("baseConfigCard.copy.tooltip",{label:i.item.label}),text:i.item.value}};case _.RedactedArray:return{tag:"div",additionalComponent:"KCopy",childAttrs:{format:"redacted","copy-tooltip":r("baseConfigCard.copy.tooltip",{label:i.item.label})}};case _.Date:return{tag:"div",attrs:{"data-testid":`${i.item.key}-date`},text:l(i.item.value)};case _.BadgeStatus:return{tag:"StatusBadge",attrs:{"data-testid":`${i.item.key}-badge-status`,status:i.item.value}};case _.BadgeTag:return{tag:"div",additionalComponent:"KBadge"};case _.BadgeMethod:return{tag:"div",additionalComponent:"KMethodBadge"};case _.LinkInternal:return{tag:"InternalLinkItem",attrs:{"data-testid":`${i.item.key}-internal-link`,item:i.item,onNavigationClick:k=>{o("navigation-click",k)}}};case _.LinkExternal:return{tag:"KExternalLink",attrs:{"data-testid":`${i.item.key}-external-link`,href:i.item.value},text:i.item.value};case _.Json:return{tag:"JsonCardItem",attrs:{"data-testid":`${i.item.key}-json-content`,item:i.item}};case _.JsonArray:return{tag:"div",additionalComponent:"JsonCardItem",attrs:{"data-testid":`${i.item.key}-json-array-content`,item:i.item}};default:return{tag:"div",attrs:{"data-testid":`${i.item.key}-plain-text`},text:i.item.value}}}),g=t.ref(),{isTruncated:h}=we.useTruncationDetector(g);return(k,y)=>{const C=t.resolveComponent("KLabel"),E=t.resolveComponent("KBadge"),x=t.resolveComponent("KCopy"),v=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",Fs,[t.createElementVNode("div",{class:"config-card-details-label","data-testid":`${e.item.key}-label`},[t.renderSlot(k.$slots,"label",{item:e.item},()=>[t.createVNode(C,{"tooltip-attributes":{maxWidth:"500px"}},t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.item.label)+" ",1)]),_:2},[c.value?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{"data-testid":`${e.item.key}-label-tooltip`},[t.renderSlot(k.$slots,"label-tooltip",{},()=>[t.createTextVNode(t.toDisplayString(e.item.tooltip),1)],!0)],8,Ks)]),key:"0"}:void 0]),1024)],!0)],8,zs),t.createElementVNode("div",{class:"config-card-details-value","data-testid":`${e.item.key}-property-value`},[t.renderSlot(k.$slots,e.item.key,{rowValue:e.item.value},()=>[s.value?(t.openBlock(),t.createElementBlock("div",Js,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m.value.tag),t.normalizeProps(t.guardReactiveProps(m.value.attrs)),{default:t.withCtx(()=>[m.value.additionalComponent==="KBadge"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${e.item.key}-badge-tags`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(b,f)=>(t.openBlock(),t.createBlock(E,{key:`${e.item.key}-badge-tag-${f}`,class:"config-badge","data-testid":`${e.item.key}-badge-tag-${f}`,tooltip:b,"truncation-tooltip":""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(b),1)]),_:2},1032,["data-testid","tooltip"]))),128))],8,Zs)):t.createCommentVNode("",!0),m.value.additionalComponent==="KCopy"?(t.openBlock(),t.createElementBlock("div",{key:1,class:"copy-uuid-array","data-testid":`${e.item.key}-copy-uuid-array`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(b,f)=>(t.openBlock(),t.createBlock(x,t.mergeProps({ref_for:!0},m.value.childAttrs,{key:`${e.item.key}-copy-uuid-${f}`,"data-testid":`${e.item.key}-copy-uuid-${f}`,text:b}),null,16,["data-testid","text"]))),128))],8,Ws)):m.value.additionalComponent==="KMethodBadge"?(t.openBlock(),t.createElementBlock("div",{key:2,class:"method-badge-array","data-testid":`${e.item.key}-badge-methods`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(b,f)=>(t.openBlock(),t.createBlock(E,{key:`${e.item.key}-badge-method-${f}`,appearance:Object.values(t.unref(os.BadgeMethodAppearances)).includes(b.toLowerCase())?b.toLowerCase():"custom",class:"config-badge","data-testid":`${e.item.key}-badge-method-${f}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(b),1)]),_:2},1032,["appearance","data-testid"]))),128))],8,Qs)):t.createCommentVNode("",!0),m.value.additionalComponent==="JsonCardItem"?(t.openBlock(),t.createElementBlock("div",{key:3,"data-testid":`${i.item.key}-json-array-content`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(b,f)=>(t.openBlock(),t.createBlock(Oo,{key:`json-array-item-${f}`,index:f,"is-array-item":"",item:b},null,8,["index","item"]))),128))],8,_s)):(t.openBlock(),t.createBlock(v,{key:4,text:t.unref(h)?e.item.value:""},{default:t.withCtx(()=>[t.createElementVNode("span",{ref_key:"textContent",ref:g,class:t.normalizeClass(["attrs-data-text",{truncated:e.truncated}])},t.toDisplayString(m.value.text),3)]),_:1},8,["text"]))]),_:1},16))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${e.item.key}-no-value`}," – ",8,Xs))],!0)],8,qs)])}}}),Io=We(ec,[["__scopeId","data-v-d268261c"]]),tc={class:"json-config"},nc={key:0,class:"json-endpoint"},fi=t.defineComponent({__name:"JsonCodeBlock",props:{config:{type:Object,required:!1,default:()=>({})},fetcherUrl:{type:String,required:!1,default:""},jsonRecord:{type:Object,required:!0},requestMethod:{type:String,required:!1,default:""}},setup(e){t.useCssVars(a=>({"090794fe":`${o.value}ch`}));const n=e,i=t.computed(()=>n.jsonRecord),o=t.computed(()=>{var a;if(!n.fetcherUrl)return 0;const r=(a=n.fetcherUrl)==null?void 0:a.split("/");return r.length<2?0:41+(n.requestMethod==="post"?r[r.length-1]:r[r.length-2]).length});return(a,r)=>{const l=t.resolveComponent("KBadge"),s=t.resolveComponent("KCodeBlock");return t.openBlock(),t.createElementBlock("div",tc,[n.fetcherUrl?(t.openBlock(),t.createElementBlock("div",nc,[t.createVNode(l,{appearance:n.requestMethod},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(n.requestMethod),1)]),_:1},8,["appearance"]),t.createVNode(s,{id:"json-endpoint-codeblock",code:n.fetcherUrl,language:"json","single-line":"",theme:"dark"},null,8,["code"])])):t.createCommentVNode("",!0),n.jsonRecord?(t.openBlock(),t.createBlock(s,{key:1,id:"json-codeblock",class:t.normalizeClass({"json-content":n.fetcherUrl}),code:JSON.stringify(i.value,null,2),language:"json",theme:"dark"},null,8,["class","code"])):t.createCommentVNode("",!0)])}}});/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Mo(e){return typeof e>"u"||e===null}function ic(e){return typeof e=="object"&&e!==null}function oc(e){return Array.isArray(e)?e:Mo(e)?[]:[e]}function ac(e,n){var i,o,a,r;if(n)for(r=Object.keys(n),i=0,o=r.length;i<o;i+=1)a=r[i],e[a]=n[a];return e}function rc(e,n){var i="",o;for(o=0;o<n;o+=1)i+=e;return i}function lc(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var sc=Mo,cc=ic,dc=oc,pc=rc,uc=lc,mc=ac,Ce={isNothing:sc,isObject:cc,toArray:dc,repeat:pc,isNegativeZero:uc,extend:mc};function Ro(e,n){var i="",o=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(i+='in "'+e.mark.name+'" '),i+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!n&&e.mark.snippet&&(i+=`
|
|
2
2
|
|
|
3
3
|
`+e.mark.snippet),o+" "+i):o}function en(e,n){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=n,this.message=Ro(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}en.prototype=Object.create(Error.prototype),en.prototype.constructor=en,en.prototype.toString=function(e){return this.name+": "+Ro(this,e)};var ve=en;function Ai(e,n,i,o,a){var r="",l="",s=Math.floor(a/2)-1;return o-n>s&&(r=" ... ",n=o-s+r.length),i-o>s&&(l=" ...",i=o+s-l.length),{str:r+e.slice(n,i).replace(/\t/g,"→")+l,pos:o-n+r.length}}function hi(e,n){return Ce.repeat(" ",n-e.length)+e}function gc(e,n){if(n=Object.create(n||null),!e.buffer)return null;n.maxLength||(n.maxLength=79),typeof n.indent!="number"&&(n.indent=1),typeof n.linesBefore!="number"&&(n.linesBefore=3),typeof n.linesAfter!="number"&&(n.linesAfter=2);for(var i=/\r?\n|\r|\0/g,o=[0],a=[],r,l=-1;r=i.exec(e.buffer);)a.push(r.index),o.push(r.index+r[0].length),e.position<=r.index&&l<0&&(l=o.length-2);l<0&&(l=o.length-1);var s="",c,d,p=Math.min(e.line+n.linesAfter,a.length).toString().length,m=n.maxLength-(n.indent+p+3);for(c=1;c<=n.linesBefore&&!(l-c<0);c++)d=Ai(e.buffer,o[l-c],a[l-c],e.position-(o[l]-o[l-c]),m),s=Ce.repeat(" ",n.indent)+hi((e.line-c+1).toString(),p)+" | "+d.str+`
|
|
4
4
|
`+s;for(d=Ai(e.buffer,o[l],a[l],e.position,m),s+=Ce.repeat(" ",n.indent)+hi((e.line+1).toString(),p)+" | "+d.str+`
|
|
@@ -84,6 +84,6 @@ Please report this to https://github.com/markedjs/marked.`,n){const a="<p>An err
|
|
|
84
84
|
will be generated for you.`,inputType:"text",encrypted:!0}},{client_secret:{submitWhenNull:!1,hint:`You can optionally set your own unique client_secret. If missing,
|
|
85
85
|
it will be generated for you.`,inputType:"text",encrypted:!0}},{redirect_uris:un.fields.arrayItems({label:"Redirect URI(s)",hint:`One or more URLs in your app where users will be sent after
|
|
86
86
|
authorization (RFC 6742 Section 3.1.2)`,newElementButtonLabel:"+ Add Redirect URI",inputAttributes:{placeholder:"Enter URI"}})}]},hf={fields:[{id:{uuid:!0,auto:!0,type:"string",description:"A string representing a UUID (universally unique identifier)."}},{created_at:{description:"An integer representing an automatic Unix timestamp in seconds.",timestamp:!0,auto:!0,type:"integer"}},{consumer:{on_delete:"cascade",type:"foreign",reference:"consumers",required:!0}},{name:{required:!0,type:"string"}},{client_id:{required:!1,hint:"You can optionally set your own unique client_id. If missing, it will be generated for you.",unique:!0,auto:!0,type:"string"}},{client_secret:{required:!1,hint:"You can optionally set your own unique client_secret. If missing, it will be generated for you.",auto:!0,type:"string",encrypted:!0}},{hash_secret:{required:!0,type:"boolean",default:!1}},{redirect_uris:{required:!1,hint:"One or more URLs in your app where users will be sent after authorization (RFC 6742 Section 3.1.2)",type:"array",elements:{type:"string"}}},{tags:{elements:{required:!0,type:"string",description:"A string representing a tag."},type:"set",description:"A set of strings representing tags."}},{client_type:{required:!0,default:"confidential",type:"string",one_of:["confidential","public"]}}]},nr={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
|
|
87
|
-
client. If missing, it will be generated for you.`,inputType:"text",encrypted:!0}}]},yf={fields:[{id:{type:"string",auto:!0,uuid:!0,description:"A string representing a UUID (universally unique identifier)."}},{created_at:{type:"integer",auto:!0,timestamp:!0,description:"An integer representing an automatic Unix timestamp in seconds."}},{consumer:{required:!0,on_delete:"cascade",reference:"consumers",type:"foreign"}},{key:{required:!1,unique:!0,auto:!0,encrypted:!0,type:"string"}},{tags:{type:"set",elements:{type:"string",required:!0,description:"A string representing a tag."},description:"A set of strings representing tags."}}]},qe={"basic-auth":{descriptionKey:"plugins.meta.basic-auth.description",group:D.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.basic-auth.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",group:D.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.hmac-auth.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",group:D.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.jwt-signer.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},jwt:{descriptionKey:"plugins.meta.jwt.description",group:D.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.jwt.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",group:D.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.key-auth.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"key-auth-enc":{descriptionKey:"plugins.meta.key-auth-enc.description",group:D.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.key-auth-enc.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"ldap-auth-advanced":{descriptionKey:"plugins.meta.ldap-auth-advanced.description",group:D.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.ldap-auth-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",group:D.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.ldap-auth.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",group:D.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.oauth2-introspection.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",group:D.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.oauth2.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",group:D.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.openid-connect.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",group:D.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.mtls-auth.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",group:D.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.vault-auth.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",group:D.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.bot-detection.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},cors:{descriptionKey:"plugins.meta.cors.description",group:D.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.cors.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"ip-restriction":{descriptionKey:"plugins.meta.ip-restriction.description",group:D.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.ip-restriction.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP],fieldRules:{atLeastOneOf:[["config.allow","config.deny"]]}},opa:{descriptionKey:"plugins.meta.opa.description",group:D.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.opa.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"kubernetes-sidecar-injector":{descriptionKey:"plugins.meta.kubernetes-sidecar-injector.description",group:D.DEPLOYMENT,isEnterprise:!1,nameKey:"plugins.meta.kubernetes-sidecar-injector.name",scope:[u.GLOBAL]},"request-validator":{descriptionKey:"plugins.meta.request-validator.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.request-validator.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],fieldRules:{atLeastOneOf:[["config.body_schema","config.parameter_schema"]]}},acl:{descriptionKey:"plugins.meta.acl.description",group:D.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.acl.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE],fieldRules:{onlyOneOf:[["config.allow","config.deny"]]}},canary:{descriptionKey:"plugins.meta.canary.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.canary.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE],fieldRules:{atLeastOneOf:[["config.upstream_uri","config.upstream_host","config.upstream_port"]]}},"forward-proxy":{descriptionKey:"plugins.meta.forward-proxy.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.forward-proxy.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]}},"proxy-cache":{descriptionKey:"plugins.meta.proxy-cache.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.proxy-cache.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP]},"proxy-cache-advanced":{descriptionKey:"plugins.meta.proxy-cache-advanced.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.proxy-cache-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP],imageName:"proxy-cache"},"graphql-proxy-cache-advanced":{descriptionKey:"plugins.meta.graphql-proxy-cache-advanced.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.graphql-proxy-cache-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],imageName:"graphql"},"rate-limiting-advanced":{descriptionKey:"plugins.meta.rate-limiting-advanced.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.rate-limiting-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP]},"rate-limiting":{descriptionKey:"plugins.meta.rate-limiting.description",group:D.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.rate-limiting.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP],fieldRules:{atLeastOneOf:[["config.second","config.minute","config.hour","config.day","config.month","config.year"]]}},"graphql-rate-limiting-advanced":{descriptionKey:"plugins.meta.graphql-rate-limiting-advanced.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.graphql-rate-limiting-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},mocking:{descriptionKey:"plugins.meta.mocking.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.mocking.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],fieldRules:{atLeastOneOf:[["config.api_specification_filename","config.api_specification"]]}},"request-size-limiting":{descriptionKey:"plugins.meta.request-size-limiting.description",group:D.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.request-size-limiting.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",group:D.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.request-termination.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",group:D.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.response-ratelimiting.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"route-by-header":{descriptionKey:"plugins.meta.route-by-header.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.route-by-header.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"ai-proxy":{descriptionKey:"plugins.meta.ai-proxy.description",group:D.SERVERLESS,isEnterprise:!0,nameKey:"plugins.meta.ai-proxy.name",scope:[u.ROUTE],useLegacyForm:!0},"ai-prompt-decorator":{descriptionKey:"plugins.meta.ai-prompt-decorator.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-decorator.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],useLegacyForm:!0},"ai-prompt-template":{descriptionKey:"plugins.meta.ai-prompt-template.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-template.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE],useLegacyForm:!0},"ai-prompt-guard":{descriptionKey:"plugins.meta.ai-prompt-guard.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-guard.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],useLegacyForm:!0},"ai-request-transformer":{descriptionKey:"plugins.meta.ai-request-transformer.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.ai-request-transformer.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE],useLegacyForm:!0},"ai-response-transformer":{descriptionKey:"plugins.meta.ai-response-transformer.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.ai-response-transformer.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE],useLegacyForm:!0},"ai-rate-limiting-advanced":{descriptionKey:"plugins.meta.ai-rate-limiting-advanced.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.ai-rate-limiting-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP],useLegacyForm:!0},"ai-azure-content-safety":{descriptionKey:"plugins.meta.ai-azure-content-safety.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.ai-azure-content-safety.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE],useLegacyForm:!0},"aws-lambda":{descriptionKey:"plugins.meta.aws-lambda.description",group:D.SERVERLESS,isEnterprise:!1,nameKey:"plugins.meta.aws-lambda.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",group:D.SERVERLESS,isEnterprise:!0,nameKey:"plugins.meta.azure-functions.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",group:D.SERVERLESS,isEnterprise:!1,nameKey:"plugins.meta.openwhisk.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",group:D.SERVERLESS,isEnterprise:!0,nameKey:"plugins.meta.pre-function.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE],imageName:"kong-function"},"post-function":{descriptionKey:"plugins.meta.post-function.description",group:D.SERVERLESS,isEnterprise:!0,nameKey:"plugins.meta.post-function.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE],imageName:"kong-function"},datadog:{descriptionKey:"plugins.meta.datadog.description",group:D.ANALYTICS_AND_MONITORING,isEnterprise:!1,nameKey:"plugins.meta.datadog.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},prometheus:{descriptionKey:"plugins.meta.prometheus.description",group:D.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.prometheus.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},zipkin:{descriptionKey:"plugins.meta.zipkin.description",group:D.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.zipkin.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},collector:{descriptionKey:"plugins.meta.collector.description",group:D.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.collector.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"response-transformer-advanced":{descriptionKey:"plugins.meta.response-transformer-advanced.description",group:D.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.response-transformer-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",group:D.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.correlation-id.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"request-transformer-advanced":{descriptionKey:"plugins.meta.request-transformer-advanced.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.request-transformer-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",group:D.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.request-transformer.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",group:D.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.response-transformer.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP]},"route-transformer-advanced":{descriptionKey:"plugins.meta.route-transformer-advanced.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.route-transformer-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],fieldRules:{atLeastOneOf:[["config.path","config.port","config.host"]]}},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.kafka-upstream.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.degraphql.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.exit-transformer.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],imageName:"exit-transformer"},jq:{descriptionKey:"plugins.meta.jq.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.jq.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],imageName:"jq",fieldRules:{atLeastOneOf:[["config.request_jq_program","config.response_jq_program"]]}},"file-log":{descriptionKey:"plugins.meta.file-log.description",group:D.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.file-log.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"http-log":{descriptionKey:"plugins.meta.http-log.description",group:D.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.http-log.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},loggly:{descriptionKey:"plugins.meta.loggly.description",group:D.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.loggly.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",group:D.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.statsd-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},statsd:{descriptionKey:"plugins.meta.statsd.description",group:D.ANALYTICS_AND_MONITORING,isEnterprise:!1,nameKey:"plugins.meta.statsd.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},syslog:{descriptionKey:"plugins.meta.syslog.description",group:D.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.syslog.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",group:D.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.tcp-log.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",group:D.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.udp-log.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",group:D.LOGGING,isEnterprise:!0,nameKey:"plugins.meta.kafka-log.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},session:{descriptionKey:"plugins.meta.session.description",group:D.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.session.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",group:D.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.upstream-tls.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",group:D.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.application-registration.name",scope:[u.SERVICE]},"konnect-application-auth":{descriptionKey:"plugins.meta.konnect-application-auth.description",group:D.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.konnect-application-auth.name",scope:[u.GLOBAL,u.SERVICE],imageName:"application-registration"},acme:{descriptionKey:"plugins.meta.acme.description",group:D.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.acme.name",scope:[u.GLOBAL]},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",group:D.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.grpc-gateway.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",group:D.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.grpc-web.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.upstream-timeout.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},opentelemetry:{descriptionKey:"plugins.meta.opentelemetry.description",group:D.ANALYTICS_AND_MONITORING,isEnterprise:!1,nameKey:"plugins.meta.opentelemetry.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.websocket-validator.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"websocket-size-limit":{descriptionKey:"plugins.meta.websocket-size-limit.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.websocket-size-limit.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],fieldRules:{atLeastOneOf:[["config.client_max_payload","config.upstream_max_payload"]]}},"tls-metadata-headers":{descriptionKey:"plugins.meta.tls-metadata-headers.description",group:D.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.tls-metadata-headers.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"tls-handshake-modifier":{descriptionKey:"plugins.meta.tls-handshake-modifier.description",group:D.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.tls-handshake-modifier.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.oas-validation.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",group:D.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.jwe-decrypt.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"xml-threat-protection":{descriptionKey:"plugins.meta.xml-threat-protection.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.xml-threat-protection.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},saml:{descriptionKey:"plugins.meta.saml.description",group:D.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.saml.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",group:D.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.app-dynamics.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]}},Kt={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:Qa,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:xt(Qa),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:_a,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:xt(_a)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:$a,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:xt($a)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:nr,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:xt(nr)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:tr,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:xt(tr)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:er,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:xt(er)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:ff,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},bf={acls:df,basicauth_credentials:pf,keyauth_credentials:uf,keyauth_enc_credentials:yf,oauth2_credentials:hf,hmacauth_credentials:mf,jwt_secrets:Af},ir=e=>{var o;const n=((o=qe[e])==null?void 0:o.imageName)||e||"missing",i=new URL(Object.assign({"../assets/images/plugin-icons/acl.png":Im,"../assets/images/plugin-icons/acme.png":Mm,"../assets/images/plugin-icons/ai-azure-content-safety.png":Rm,"../assets/images/plugin-icons/ai-data-sanitization.png":vm,"../assets/images/plugin-icons/ai-prompt-decorator.png":Tm,"../assets/images/plugin-icons/ai-prompt-guard.png":Nm,"../assets/images/plugin-icons/ai-prompt-template.png":Vm,"../assets/images/plugin-icons/ai-proxy.png":Lm,"../assets/images/plugin-icons/ai-rate-limiting-advanced.png":Dm,"../assets/images/plugin-icons/ai-request-transformer.png":jm,"../assets/images/plugin-icons/ai-response-transformer.png":Pm,"../assets/images/plugin-icons/app-dynamics.png":Um,"../assets/images/plugin-icons/application-registration.png":Ym,"../assets/images/plugin-icons/aws-lambda.png":Gm,"../assets/images/plugin-icons/azure-functions.png":Hm,"../assets/images/plugin-icons/basic-auth.png":Fm,"../assets/images/plugin-icons/bot-detection.png":zm,"../assets/images/plugin-icons/canary.png":Km,"../assets/images/plugin-icons/collector.png":qm,"../assets/images/plugin-icons/correlation-id.png":Xm,"../assets/images/plugin-icons/cors.png":Jm,"../assets/images/plugin-icons/datadog.png":Zm,"../assets/images/plugin-icons/degraphql.png":Wm,"../assets/images/plugin-icons/dynamic-ssl.png":Qm,"../assets/images/plugin-icons/exit-transformer.png":_m,"../assets/images/plugin-icons/file-log.png":$m,"../assets/images/plugin-icons/forward-proxy.png":eg,"../assets/images/plugin-icons/graphql-rate-limiting-advanced.png":tg,"../assets/images/plugin-icons/graphql.png":ng,"../assets/images/plugin-icons/grpc-gateway.png":ig,"../assets/images/plugin-icons/grpc-web.png":og,"../assets/images/plugin-icons/hmac-auth.png":ag,"../assets/images/plugin-icons/http-log.png":rg,"../assets/images/plugin-icons/ip-restriction.png":lg,"../assets/images/plugin-icons/jq.png":sg,"../assets/images/plugin-icons/jwe-decrypt.png":cg,"../assets/images/plugin-icons/jwt-signer.png":dg,"../assets/images/plugin-icons/jwt.png":pg,"../assets/images/plugin-icons/kafka-log.png":ug,"../assets/images/plugin-icons/kafka-upstream.png":mg,"../assets/images/plugin-icons/key-auth-enc.png":gg,"../assets/images/plugin-icons/key-auth.png":fg,"../assets/images/plugin-icons/kong-function.png":Ag,"../assets/images/plugin-icons/kubernetes-sidecar-injector.png":hg,"../assets/images/plugin-icons/ldap-auth-advanced.png":yg,"../assets/images/plugin-icons/ldap-auth.png":bg,"../assets/images/plugin-icons/loggly.png":wg,"../assets/images/plugin-icons/missing.png":Cg,"../assets/images/plugin-icons/mocking.png":Eg,"../assets/images/plugin-icons/mtls-auth.png":kg,"../assets/images/plugin-icons/new.png":Bg,"../assets/images/plugin-icons/oas-validation.png":Sg,"../assets/images/plugin-icons/oauth2-introspection.png":xg,"../assets/images/plugin-icons/oauth2.png":Og,"../assets/images/plugin-icons/opa.png":Ig,"../assets/images/plugin-icons/openid-connect.png":Mg,"../assets/images/plugin-icons/opentelemetry.png":Rg,"../assets/images/plugin-icons/openwhisk.png":vg,"../assets/images/plugin-icons/prometheus.png":Tg,"../assets/images/plugin-icons/proxy-cache.png":Ng,"../assets/images/plugin-icons/rate-limiting-advanced.png":Vg,"../assets/images/plugin-icons/rate-limiting.png":Lg,"../assets/images/plugin-icons/request-size-limiting.png":Dg,"../assets/images/plugin-icons/request-termination.png":jg,"../assets/images/plugin-icons/request-transformer-advanced.png":Pg,"../assets/images/plugin-icons/request-transformer.png":Ug,"../assets/images/plugin-icons/request-validator.png":Yg,"../assets/images/plugin-icons/response-ratelimiting.png":Gg,"../assets/images/plugin-icons/response-transformer-advanced.png":Hg,"../assets/images/plugin-icons/response-transformer.png":Fg,"../assets/images/plugin-icons/route-by-header.png":zg,"../assets/images/plugin-icons/route-transformer-advanced.png":Kg,"../assets/images/plugin-icons/runscope.png":qg,"../assets/images/plugin-icons/saml.png":Xg,"../assets/images/plugin-icons/session.png":Jg,"../assets/images/plugin-icons/statsd-advanced.png":Zg,"../assets/images/plugin-icons/statsd.png":Wg,"../assets/images/plugin-icons/syslog.png":Qg,"../assets/images/plugin-icons/tcp-log.png":_g,"../assets/images/plugin-icons/tls-handshake-modifier.png":$g,"../assets/images/plugin-icons/tls-metadata-headers.png":ef,"../assets/images/plugin-icons/udp-log.png":tf,"../assets/images/plugin-icons/upstream-timeout.png":nf,"../assets/images/plugin-icons/upstream-tls.png":of,"../assets/images/plugin-icons/vault-auth.png":af,"../assets/images/plugin-icons/websocket-size-limit.png":rf,"../assets/images/plugin-icons/websocket-validator.png":lf,"../assets/images/plugin-icons/xml-threat-protection.png":sf,"../assets/images/plugin-icons/zipkin.png":cf})[`../assets/images/plugin-icons/${n}.png`],typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Pt&&Pt.src||new URL("entities-plugins.umd.js",document.baseURI).href).href;return i.includes("undefined")?new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAMAAABKCk6nAAAAhFBMVEUAAADs+fnr8PTo7fLm7PDl6e7j6+7j6O3i6Ozh5+vp9PTm7PDj6e319fXn7PHj6O739/fn7PDi6e3////o7fLj6Ozt8fbj6u7r7vPi6ezo7fL////n7PHm6/Dl6+/q8PTs8vbu9Pjv9frw9vri6ezv9fnp7/Pt8vfk6u6cpar////e4ePLpSv+AAAAHnRSTlMAKIq93/T6/f7/W8z3GbL4Hr/9AZ39OPFo/Z4FzOeuk05oAAAFJklEQVR4Ae3ThZLjyhWA4SNdWJ9BMy/KA3n/twoXBafWWYb2QPi6Vd9XKGz4q5t4QPNZHDP2n8W/4uT0bJBUZHB2ehL/pPOLy6wQlxfn8bThaJxUajwaxuMm01lSsdl0Eo+YL5LKLebxoOUqqd5qGQ9YD7IHGKzjPptt9gTbzT19n2dv8Pyw8DZ7hG0U1tkrrOM7y0H2CoNlfGO+yp5hNY8vJovsHRaT+GyaPcQ03mkiYvjnNu4za94Ljtn+vd/Efc7+/sf4YJT32L286qjE1ctd3mMUH5yP89D1m46KvLnOQ+PzeO8iD+xuOipzs8sDF/HeZZZuX3dU5/Vtli7jnZMs7fSts/AuSycRcZqlm44q3WTpNCLOsnDdUanrLJxF29zF9zZ3QaXuNuWNJtosvOyo1ssstG0ThZ+Dah3Ea+LHIvmLjoq9KHL+2DYHyanYQc6jDYzACCxwZKGjallog177DwIjMAIjMAIjsMAIjMAIjMAIjMAILDACIzACIzACI7DACIzACIzACIzAAiMwAiMwAiMwAiOwwAiMwAiMwAiMwAIjMAIjMAIjMAILjMAIjMAIjMAIjMACIzACIzACIzACC4zACIzACIzACIzAAiMwAiMwAiMwAguMwAiMwAiMwAgsMAIjMAIjMAIjMAILjMAIjMAIjMAILDACIzACI/DP/6GjGENgBEZgBBYYgREYgREYgRGYJwMjMAIjMAI3TziCMQTmaAIjMAIjMAIjMAILjMAIjMAIjMAITBa6X9CveqD7hWWhDXpNYIERGIERGIERGIEFRmAERmAERuBKCdw2R68VGIERGIERWGAERmAERmAERmCBERiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIEFRmAERmAERuB+EPjt/ui9FRiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgWshcNscvVZgBEZgBEZggREYgREYgREYgQVGYARGYARGYARGYIERGIERGIERGIEFRmAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBBYYgREYgREYgftB4Lf7o/dWYARGYARGYIERGIERGIERGIEFRmAE5kj9GEfkb/EfwwkWGIERGIERGIERWGAERmAERmAERmAEFhiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIERWGAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBEZggREYgREYgREYgQVGYARGYARGYAQWGIERGIERGIERGIEFRmAERmAERmAEFhiBERiBERiBEZh2r3iflPn2B4HvgordPRl4H1RsL7DAfSJw/JCFq45qXWXhh3Yfhb8F1TqIt2/3ZeGf9kGl9j/F997XPcvCdUelrrNwFhGnWbrpqNJNlk4j4iRLu9cdFXq9y9JJvHOZpVuFa+x7m6XLeO8iD+xuOipzs8sDF/He+TgPXb/pqMib6zw0Po8PRnmP3curjkpcvdzlPUYR0UTE8M9t3GfWvBfHjP17v4n7nP39j/HRNOmhaXw2WSS9s5jEF/NV0jOreXxjOUh6ZbCM76yTXllHYZv0yDZKm+dJbzzfxGHhbdIT203cZz1IemCwjgcsV0n1Vst40HyRVG4xj0dMprOkYrPpJB43HI2TSo1Hw3ja+cVlUqHLi/P4J52cng2SigzOTk/iPk08oPksjhn7z+J+/wBSUhUZLUGZBgAAAABJRU5ErkJggg==",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Pt&&Pt.src||new URL("entities-plugins.umd.js",document.baseURI).href).href:i},wf=()=>{const{i18n:{t:e}}=Xn(),n={},i={};for(const[a,r]of Object.entries(qe))n[a]={...r,name:e(r.nameKey),description:e(r.descriptionKey)};for(const[a,r]of Object.entries(Kt))i[a]={...r,name:e(r.nameKey),title:e(r.titleKey)};return{pluginMetaData:n,credentialMetaData:i,credentialSchemas:Kt,getDisplayName:a=>{var r;return((r=n[a])==null?void 0:r.name)||a}}};function or(e,n){for(var i=-1,o=e==null?0:e.length;++i<o&&n(e[i],i,e)!==!1;);return e}function Cf(e){return function(n,i,o){for(var a=-1,r=Object(n),l=o(n),s=l.length;s--;){var c=l[e?s:++a];if(i(r[c],c,r)===!1)break}return n}}var Ef=Cf();const kf=Ef;function Bf(e,n){for(var i=-1,o=Array(e);++i<e;)o[i]=n(i);return o}var ar=typeof global=="object"&&global&&global.Object===Object&&global,Sf=typeof self=="object"&&self&&self.Object===Object&&self,He=ar||Sf||Function("return this")(),tt=He.Symbol,rr=Object.prototype,xf=rr.hasOwnProperty,Of=rr.toString,mn=tt?tt.toStringTag:void 0;function If(e){var n=xf.call(e,mn),i=e[mn];try{e[mn]=void 0;var o=!0}catch{}var a=Of.call(e);return o&&(n?e[mn]=i:delete e[mn]),a}var Mf=Object.prototype,Rf=Mf.toString;function vf(e){return Rf.call(e)}var Tf="[object Null]",Nf="[object Undefined]",lr=tt?tt.toStringTag:void 0;function mt(e){return e==null?e===void 0?Nf:Tf:lr&&lr in Object(e)?If(e):vf(e)}function nt(e){return e!=null&&typeof e=="object"}var Vf="[object Arguments]";function sr(e){return nt(e)&&mt(e)==Vf}var cr=Object.prototype,Lf=cr.hasOwnProperty,Df=cr.propertyIsEnumerable,dr=sr(function(){return arguments}())?sr:function(e){return nt(e)&&Lf.call(e,"callee")&&!Df.call(e,"callee")},Fe=Array.isArray;function jf(){return!1}var pr=typeof Z=="object"&&Z&&!Z.nodeType&&Z,ur=pr&&typeof module=="object"&&module&&!module.nodeType&&module,Pf=ur&&ur.exports===pr,mr=Pf?He.Buffer:void 0,Uf=mr?mr.isBuffer:void 0,Jn=Uf||jf,Yf=9007199254740991,Gf=/^(?:0|[1-9]\d*)$/;function Yi(e,n){var i=typeof e;return n=n??Yf,!!n&&(i=="number"||i!="symbol"&&Gf.test(e))&&e>-1&&e%1==0&&e<n}var Hf=9007199254740991;function Gi(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Hf}var Ff="[object Arguments]",zf="[object Array]",Kf="[object Boolean]",qf="[object Date]",Xf="[object Error]",Jf="[object Function]",Zf="[object Map]",Wf="[object Number]",Qf="[object Object]",_f="[object RegExp]",$f="[object Set]",eA="[object String]",tA="[object WeakMap]",nA="[object ArrayBuffer]",iA="[object DataView]",oA="[object Float32Array]",aA="[object Float64Array]",rA="[object Int8Array]",lA="[object Int16Array]",sA="[object Int32Array]",cA="[object Uint8Array]",dA="[object Uint8ClampedArray]",pA="[object Uint16Array]",uA="[object Uint32Array]",de={};de[oA]=de[aA]=de[rA]=de[lA]=de[sA]=de[cA]=de[dA]=de[pA]=de[uA]=!0,de[Ff]=de[zf]=de[nA]=de[Kf]=de[iA]=de[qf]=de[Xf]=de[Jf]=de[Zf]=de[Wf]=de[Qf]=de[_f]=de[$f]=de[eA]=de[tA]=!1;function mA(e){return nt(e)&&Gi(e.length)&&!!de[mt(e)]}function Hi(e){return function(n){return e(n)}}var gr=typeof Z=="object"&&Z&&!Z.nodeType&&Z,gn=gr&&typeof module=="object"&&module&&!module.nodeType&&module,gA=gn&&gn.exports===gr,Fi=gA&&ar.process,qt=function(){try{var e=gn&&gn.require&&gn.require("util").types;return e||Fi&&Fi.binding&&Fi.binding("util")}catch{}}(),fr=qt&&qt.isTypedArray,Ar=fr?Hi(fr):mA,fA=Object.prototype,AA=fA.hasOwnProperty;function hr(e,n){var i=Fe(e),o=!i&&dr(e),a=!i&&!o&&Jn(e),r=!i&&!o&&!a&&Ar(e),l=i||o||a||r,s=l?Bf(e.length,String):[],c=s.length;for(var d in e)(n||AA.call(e,d))&&!(l&&(d=="length"||a&&(d=="offset"||d=="parent")||r&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||Yi(d,c)))&&s.push(d);return s}var hA=Object.prototype;function zi(e){var n=e&&e.constructor,i=typeof n=="function"&&n.prototype||hA;return e===i}function yr(e,n){return function(i){return e(n(i))}}var yA=yr(Object.keys,Object),bA=Object.prototype,wA=bA.hasOwnProperty;function CA(e){if(!zi(e))return yA(e);var n=[];for(var i in Object(e))wA.call(e,i)&&i!="constructor"&&n.push(i);return n}function Te(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var EA="[object AsyncFunction]",kA="[object Function]",BA="[object GeneratorFunction]",SA="[object Proxy]";function pe(e){if(!Te(e))return!1;var n=mt(e);return n==kA||n==BA||n==EA||n==SA}function fn(e){return e!=null&&Gi(e.length)&&!pe(e)}function Xt(e){return fn(e)?hr(e):CA(e)}function xA(e,n){return e&&kf(e,n,Xt)}function OA(e,n){return function(i,o){if(i==null)return i;if(!fn(i))return e(i,o);for(var a=i.length,r=n?a:-1,l=Object(i);(n?r--:++r<a)&&o(l[r],r,l)!==!1;);return i}}var IA=OA(xA);const MA=IA;function Zn(e){return e}function RA(e){return typeof e=="function"?e:Zn}function Ne(e,n){var i=Fe(e)?or:MA;return i(e,RA(n))}var vA="[object Symbol]";function Wn(e){return typeof e=="symbol"||nt(e)&&mt(e)==vA}var TA=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,NA=/^\w*$/;function Ki(e,n){if(Fe(e))return!1;var i=typeof e;return i=="number"||i=="symbol"||i=="boolean"||e==null||Wn(e)?!0:NA.test(e)||!TA.test(e)||n!=null&&e in Object(n)}var qi=He["__core-js_shared__"],br=function(){var e=/[^.]+$/.exec(qi&&qi.keys&&qi.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function VA(e){return!!br&&br in e}var LA=Function.prototype,DA=LA.toString;function Ot(e){if(e!=null){try{return DA.call(e)}catch{}try{return e+""}catch{}}return""}var jA=/[\\^$.*+?()[\]{}|]/g,PA=/^\[object .+?Constructor\]$/,UA=Function.prototype,YA=Object.prototype,GA=UA.toString,HA=YA.hasOwnProperty,FA=RegExp("^"+GA.call(HA).replace(jA,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function zA(e){if(!Te(e)||VA(e))return!1;var n=pe(e)?FA:PA;return n.test(Ot(e))}function KA(e,n){return e==null?void 0:e[n]}function It(e,n){var i=KA(e,n);return zA(i)?i:void 0}var An=It(Object,"create");function qA(){this.__data__=An?An(null):{},this.size=0}function XA(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var JA="__lodash_hash_undefined__",ZA=Object.prototype,WA=ZA.hasOwnProperty;function QA(e){var n=this.__data__;if(An){var i=n[e];return i===JA?void 0:i}return WA.call(n,e)?n[e]:void 0}var _A=Object.prototype,$A=_A.hasOwnProperty;function eh(e){var n=this.__data__;return An?n[e]!==void 0:$A.call(n,e)}var th="__lodash_hash_undefined__";function nh(e,n){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=An&&n===void 0?th:n,this}function Mt(e){var n=-1,i=e==null?0:e.length;for(this.clear();++n<i;){var o=e[n];this.set(o[0],o[1])}}Mt.prototype.clear=qA,Mt.prototype.delete=XA,Mt.prototype.get=QA,Mt.prototype.has=eh,Mt.prototype.set=nh;function ih(){this.__data__=[],this.size=0}function hn(e,n){return e===n||e!==e&&n!==n}function Qn(e,n){for(var i=e.length;i--;)if(hn(e[i][0],n))return i;return-1}var oh=Array.prototype,ah=oh.splice;function rh(e){var n=this.__data__,i=Qn(n,e);if(i<0)return!1;var o=n.length-1;return i==o?n.pop():ah.call(n,i,1),--this.size,!0}function lh(e){var n=this.__data__,i=Qn(n,e);return i<0?void 0:n[i][1]}function sh(e){return Qn(this.__data__,e)>-1}function ch(e,n){var i=this.__data__,o=Qn(i,e);return o<0?(++this.size,i.push([e,n])):i[o][1]=n,this}function rt(e){var n=-1,i=e==null?0:e.length;for(this.clear();++n<i;){var o=e[n];this.set(o[0],o[1])}}rt.prototype.clear=ih,rt.prototype.delete=rh,rt.prototype.get=lh,rt.prototype.has=sh,rt.prototype.set=ch;var yn=It(He,"Map");function dh(){this.size=0,this.__data__={hash:new Mt,map:new(yn||rt),string:new Mt}}function ph(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function _n(e,n){var i=e.__data__;return ph(n)?i[typeof n=="string"?"string":"hash"]:i.map}function uh(e){var n=_n(this,e).delete(e);return this.size-=n?1:0,n}function mh(e){return _n(this,e).get(e)}function gh(e){return _n(this,e).has(e)}function fh(e,n){var i=_n(this,e),o=i.size;return i.set(e,n),this.size+=i.size==o?0:1,this}function lt(e){var n=-1,i=e==null?0:e.length;for(this.clear();++n<i;){var o=e[n];this.set(o[0],o[1])}}lt.prototype.clear=dh,lt.prototype.delete=uh,lt.prototype.get=mh,lt.prototype.has=gh,lt.prototype.set=fh;var Ah="Expected a function";function Xi(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(Ah);var i=function(){var o=arguments,a=n?n.apply(this,o):o[0],r=i.cache;if(r.has(a))return r.get(a);var l=e.apply(this,o);return i.cache=r.set(a,l)||r,l};return i.cache=new(Xi.Cache||lt),i}Xi.Cache=lt;var hh=500;function yh(e){var n=Xi(e,function(o){return i.size===hh&&i.clear(),o}),i=n.cache;return n}var bh=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,wh=/\\(\\)?/g,Ch=yh(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(bh,function(i,o,a,r){n.push(a?r.replace(wh,"$1"):o||i)}),n});function Eh(e,n){for(var i=-1,o=e==null?0:e.length,a=Array(o);++i<o;)a[i]=n(e[i],i,e);return a}var kh=1/0,wr=tt?tt.prototype:void 0,Cr=wr?wr.toString:void 0;function Er(e){if(typeof e=="string")return e;if(Fe(e))return Eh(e,Er)+"";if(Wn(e))return Cr?Cr.call(e):"";var n=e+"";return n=="0"&&1/e==-kh?"-0":n}function kr(e){return e==null?"":Er(e)}function Br(e,n){return Fe(e)?e:Ki(e,n)?[e]:Ch(kr(e))}var Bh=1/0;function $n(e){if(typeof e=="string"||Wn(e))return e;var n=e+"";return n=="0"&&1/e==-Bh?"-0":n}function Sr(e,n){n=Br(n,e);for(var i=0,o=n.length;e!=null&&i<o;)e=e[$n(n[i++])];return i&&i==o?e:void 0}function ee(e,n,i){var o=e==null?void 0:Sr(e,n);return o===void 0?i:o}function be(e){return e==null}var Sh="[object String]";function Rt(e){return typeof e=="string"||!Fe(e)&&nt(e)&&mt(e)==Sh}const xr={methods:{getFieldRowClasses(e){const n=this.fieldErrors(e).length>0,i={[ee(this.options,"validationErrorClass","error")]:n,[ee(this.options,"validationSuccessClass","valid")]:!n,disabled:this.fieldDisabled(e),readonly:this.fieldReadonly(e),featured:this.fieldFeatured(e),required:this.fieldRequired(e)};return Array.isArray(e.styleClasses)?Ne(e.styleClasses,o=>i[o]=!0):Rt(e.styleClasses)&&(i[e.styleClasses]=!0),be(e.type)||(i["field-"+e.type]=!0),i},fieldErrors(e){return this.errors.filter(n=>n.field.fieldName===e.fieldName).map(n=>n.error)},fieldDisabled(e){return pe(e.disabled)?e.disabled.call(this,this.model,e,this):be(e.disabled)?!1:e.disabled},fieldReadonly(e){return pe(e.readonly)?e.readonly.call(this,this.model,e,this):be(e.readonly)?!1:e.readonly},fieldFeatured(e){return pe(e.featured)?e.featured.call(this,this.model,e,this):be(e.featured)?!1:e.featured},fieldRequired(e){return pe(e.required)?e.required.call(this,this.model,e,this):be(e.required)?!1:e.required}}};function xh(){this.__data__=new rt,this.size=0}function Oh(e){var n=this.__data__,i=n.delete(e);return this.size=n.size,i}function Ih(e){return this.__data__.get(e)}function Mh(e){return this.__data__.has(e)}var Rh=200;function vh(e,n){var i=this.__data__;if(i instanceof rt){var o=i.__data__;if(!yn||o.length<Rh-1)return o.push([e,n]),this.size=++i.size,this;i=this.__data__=new lt(o)}return i.set(e,n),this.size=i.size,this}function it(e){var n=this.__data__=new rt(e);this.size=n.size}it.prototype.clear=xh,it.prototype.delete=Oh,it.prototype.get=Ih,it.prototype.has=Mh,it.prototype.set=vh;var ei=function(){try{var e=It(Object,"defineProperty");return e({},"",{}),e}catch{}}();function Or(e,n,i){n=="__proto__"&&ei?ei(e,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[n]=i}var Th=Object.prototype,Nh=Th.hasOwnProperty;function Ir(e,n,i){var o=e[n];(!(Nh.call(e,n)&&hn(o,i))||i===void 0&&!(n in e))&&Or(e,n,i)}function ti(e,n,i,o){var a=!i;i||(i={});for(var r=-1,l=n.length;++r<l;){var s=n[r],c=o?o(i[s],e[s],s,i,e):void 0;c===void 0&&(c=e[s]),a?Or(i,s,c):Ir(i,s,c)}return i}function Vh(e,n){return e&&ti(n,Xt(n),e)}function Lh(e){var n=[];if(e!=null)for(var i in Object(e))n.push(i);return n}var Dh=Object.prototype,jh=Dh.hasOwnProperty;function Ph(e){if(!Te(e))return Lh(e);var n=zi(e),i=[];for(var o in e)o=="constructor"&&(n||!jh.call(e,o))||i.push(o);return i}function ni(e){return fn(e)?hr(e,!0):Ph(e)}function Uh(e,n){return e&&ti(n,ni(n),e)}var Mr=typeof Z=="object"&&Z&&!Z.nodeType&&Z,Rr=Mr&&typeof module=="object"&&module&&!module.nodeType&&module,Yh=Rr&&Rr.exports===Mr,vr=Yh?He.Buffer:void 0,Tr=vr?vr.allocUnsafe:void 0;function Gh(e,n){if(n)return e.slice();var i=e.length,o=Tr?Tr(i):new e.constructor(i);return e.copy(o),o}function Hh(e,n){var i=-1,o=e.length;for(n||(n=Array(o));++i<o;)n[i]=e[i];return n}function Fh(e,n){for(var i=-1,o=e==null?0:e.length,a=0,r=[];++i<o;){var l=e[i];n(l,i,e)&&(r[a++]=l)}return r}function Nr(){return[]}var zh=Object.prototype,Kh=zh.propertyIsEnumerable,Vr=Object.getOwnPropertySymbols,Ji=Vr?function(e){return e==null?[]:(e=Object(e),Fh(Vr(e),function(n){return Kh.call(e,n)}))}:Nr;function qh(e,n){return ti(e,Ji(e),n)}function Lr(e,n){for(var i=-1,o=n.length,a=e.length;++i<o;)e[a+i]=n[i];return e}var Xh=yr(Object.getPrototypeOf,Object);const Dr=Xh;var Jh=Object.getOwnPropertySymbols,jr=Jh?function(e){for(var n=[];e;)Lr(n,Ji(e)),e=Dr(e);return n}:Nr;function Zh(e,n){return ti(e,jr(e),n)}function Pr(e,n,i){var o=n(e);return Fe(e)?o:Lr(o,i(e))}function Zi(e){return Pr(e,Xt,Ji)}function Wh(e){return Pr(e,ni,jr)}var Wi=It(He,"DataView"),Qi=It(He,"Promise"),Jt=It(He,"Set"),_i=It(He,"WeakMap"),Ur="[object Map]",Qh="[object Object]",Yr="[object Promise]",Gr="[object Set]",Hr="[object WeakMap]",Fr="[object DataView]",_h=Ot(Wi),$h=Ot(yn),ey=Ot(Qi),ty=Ot(Jt),ny=Ot(_i),vt=mt;(Wi&&vt(new Wi(new ArrayBuffer(1)))!=Fr||yn&&vt(new yn)!=Ur||Qi&&vt(Qi.resolve())!=Yr||Jt&&vt(new Jt)!=Gr||_i&&vt(new _i)!=Hr)&&(vt=function(e){var n=mt(e),i=n==Qh?e.constructor:void 0,o=i?Ot(i):"";if(o)switch(o){case _h:return Fr;case $h:return Ur;case ey:return Yr;case ty:return Gr;case ny:return Hr}return n});const bn=vt;var iy=Object.prototype,oy=iy.hasOwnProperty;function ay(e){var n=e.length,i=new e.constructor(n);return n&&typeof e[0]=="string"&&oy.call(e,"index")&&(i.index=e.index,i.input=e.input),i}var ii=He.Uint8Array;function $i(e){var n=new e.constructor(e.byteLength);return new ii(n).set(new ii(e)),n}function ry(e,n){var i=n?$i(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}var ly=/\w*$/;function sy(e){var n=new e.constructor(e.source,ly.exec(e));return n.lastIndex=e.lastIndex,n}var zr=tt?tt.prototype:void 0,Kr=zr?zr.valueOf:void 0;function cy(e){return Kr?Object(Kr.call(e)):{}}function dy(e,n){var i=n?$i(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}var py="[object Boolean]",uy="[object Date]",my="[object Map]",gy="[object Number]",fy="[object RegExp]",Ay="[object Set]",hy="[object String]",yy="[object Symbol]",by="[object ArrayBuffer]",wy="[object DataView]",Cy="[object Float32Array]",Ey="[object Float64Array]",ky="[object Int8Array]",By="[object Int16Array]",Sy="[object Int32Array]",xy="[object Uint8Array]",Oy="[object Uint8ClampedArray]",Iy="[object Uint16Array]",My="[object Uint32Array]";function Ry(e,n,i){var o=e.constructor;switch(n){case by:return $i(e);case py:case uy:return new o(+e);case wy:return ry(e,i);case Cy:case Ey:case ky:case By:case Sy:case xy:case Oy:case Iy:case My:return dy(e,i);case my:return new o;case gy:case hy:return new o(e);case fy:return sy(e);case Ay:return new o;case yy:return cy(e)}}var qr=Object.create,vy=function(){function e(){}return function(n){if(!Te(n))return{};if(qr)return qr(n);e.prototype=n;var i=new e;return e.prototype=void 0,i}}();function Ty(e){return typeof e.constructor=="function"&&!zi(e)?vy(Dr(e)):{}}var Ny="[object Map]";function Vy(e){return nt(e)&&bn(e)==Ny}var Xr=qt&&qt.isMap,Ly=Xr?Hi(Xr):Vy,Dy="[object Set]";function jy(e){return nt(e)&&bn(e)==Dy}var Jr=qt&&qt.isSet,Py=Jr?Hi(Jr):jy,Uy=1,Yy=2,Gy=4,Zr="[object Arguments]",Hy="[object Array]",Fy="[object Boolean]",zy="[object Date]",Ky="[object Error]",Wr="[object Function]",qy="[object GeneratorFunction]",Xy="[object Map]",Jy="[object Number]",Qr="[object Object]",Zy="[object RegExp]",Wy="[object Set]",Qy="[object String]",_y="[object Symbol]",$y="[object WeakMap]",eb="[object ArrayBuffer]",tb="[object DataView]",nb="[object Float32Array]",ib="[object Float64Array]",ob="[object Int8Array]",ab="[object Int16Array]",rb="[object Int32Array]",lb="[object Uint8Array]",sb="[object Uint8ClampedArray]",cb="[object Uint16Array]",db="[object Uint32Array]",ae={};ae[Zr]=ae[Hy]=ae[eb]=ae[tb]=ae[Fy]=ae[zy]=ae[nb]=ae[ib]=ae[ob]=ae[ab]=ae[rb]=ae[Xy]=ae[Jy]=ae[Qr]=ae[Zy]=ae[Wy]=ae[Qy]=ae[_y]=ae[lb]=ae[sb]=ae[cb]=ae[db]=!0,ae[Ky]=ae[Wr]=ae[$y]=!1;function wn(e,n,i,o,a,r){var l,s=n&Uy,c=n&Yy,d=n&Gy;if(i&&(l=a?i(e,o,a,r):i(e)),l!==void 0)return l;if(!Te(e))return e;var p=Fe(e);if(p){if(l=ay(e),!s)return Hh(e,l)}else{var m=bn(e),g=m==Wr||m==qy;if(Jn(e))return Gh(e,s);if(m==Qr||m==Zr||g&&!a){if(l=c||g?{}:Ty(e),!s)return c?Zh(e,Uh(l,e)):qh(e,Vh(l,e))}else{if(!ae[m])return a?e:{};l=Ry(e,m,s)}}r||(r=new it);var h=r.get(e);if(h)return h;r.set(e,l),Py(e)?e.forEach(function(C){l.add(wn(C,n,i,C,e,r))}):Ly(e)&&e.forEach(function(C,E){l.set(E,wn(C,n,i,E,e,r))});var k=d?c?Wh:Zi:c?ni:Xt,y=p?void 0:k(e);return or(y||e,function(C,E){y&&(E=C,C=e[E]),Ir(l,E,wn(C,n,i,E,e,r))}),l}var pb=1,ub=4;function st(e){return wn(e,pb|ub)}const eo=(e,n="")=>typeof e.id<"u"?n+e.id:n+(e.inputName||e.label||e.model||"").toString().trim().toLowerCase().replace(/ |_/g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-]+)/g,""),_r=(e="")=>e.toString().trim().replace(/ /g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-_/./:]+)/g,"");var to=function(){return He.Date.now()},mb=/\s/;function gb(e){for(var n=e.length;n--&&mb.test(e.charAt(n)););return n}var fb=/^\s+/;function Ab(e){return e&&e.slice(0,gb(e)+1).replace(fb,"")}var $r=NaN,hb=/^[-+]0x[0-9a-f]+$/i,yb=/^0b[01]+$/i,bb=/^0o[0-7]+$/i,wb=parseInt;function no(e){if(typeof e=="number")return e;if(Wn(e))return $r;if(Te(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=Te(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=Ab(e);var i=yb.test(e);return i||bb.test(e)?wb(e.slice(2),i?2:8):hb.test(e)?$r:+e}var Cb="Expected a function",Eb=Math.max,kb=Math.min;function Cn(e,n,i){var o,a,r,l,s,c,d=0,p=!1,m=!1,g=!0;if(typeof e!="function")throw new TypeError(Cb);n=no(n)||0,Te(i)&&(p=!!i.leading,m="maxWait"in i,r=m?Eb(no(i.maxWait)||0,n):r,g="trailing"in i?!!i.trailing:g);function h(A){var B=o,S=a;return o=a=void 0,d=A,l=e.apply(S,B),l}function k(A){return d=A,s=setTimeout(E,n),p?h(A):l}function y(A){var B=A-c,S=A-d,w=n-B;return m?kb(w,r-S):w}function C(A){var B=A-c,S=A-d;return c===void 0||B>=n||B<0||m&&S>=r}function E(){var A=to();if(C(A))return x(A);s=setTimeout(E,y(A))}function x(A){return s=void 0,g&&o?h(A):(o=a=void 0,l)}function v(){s!==void 0&&clearTimeout(s),d=0,o=c=a=s=void 0}function b(){return s===void 0?l:x(to())}function f(){var A=to(),B=C(A);if(o=arguments,a=this,c=A,B){if(s===void 0)return k(c);if(m)return clearTimeout(s),s=setTimeout(E,n),h(c)}return s===void 0&&(s=setTimeout(E,n)),l}return f.cancel=v,f.flush=b,f}var Bb="__lodash_hash_undefined__";function Sb(e){return this.__data__.set(e,Bb),this}function xb(e){return this.__data__.has(e)}function En(e){var n=-1,i=e==null?0:e.length;for(this.__data__=new lt;++n<i;)this.add(e[n])}En.prototype.add=En.prototype.push=Sb,En.prototype.has=xb;function el(e,n,i,o){for(var a=e.length,r=i+(o?1:-1);o?r--:++r<a;)if(n(e[r],r,e))return r;return-1}function Ob(e){return e!==e}function Ib(e,n,i){for(var o=i-1,a=e.length;++o<a;)if(e[o]===n)return o;return-1}function Mb(e,n,i){return n===n?Ib(e,n,i):el(e,Ob,i)}function Rb(e,n){var i=e==null?0:e.length;return!!i&&Mb(e,n,0)>-1}function vb(e,n,i){for(var o=-1,a=e==null?0:e.length;++o<a;)if(i(n,e[o]))return!0;return!1}function tl(e,n){return e.has(n)}function Tb(){}function io(e){var n=-1,i=Array(e.size);return e.forEach(function(o){i[++n]=o}),i}var Nb=1/0,Vb=Jt&&1/io(new Jt([,-0]))[1]==Nb?function(e){return new Jt(e)}:Tb,Lb=200;function Db(e,n,i){var o=-1,a=Rb,r=e.length,l=!0,s=[],c=s;if(i)l=!1,a=vb;else if(r>=Lb){var d=n?null:Vb(e);if(d)return io(d);l=!1,a=tl,c=new En}else c=n?[]:s;e:for(;++o<r;){var p=e[o],m=n?n(p):p;if(p=i||p!==0?p:0,l&&m===m){for(var g=c.length;g--;)if(c[g]===m)continue e;n&&c.push(m),s.push(p)}else a(c,m,i)||(c!==s&&c.push(m),s.push(p))}return s}function nl(e){return e&&e.length?Db(e):[]}var jb=0;function il(e){var n=++jb;return kr(e)+n}function Pb(e,n,i){switch(i.length){case 0:return e.call(n);case 1:return e.call(n,i[0]);case 2:return e.call(n,i[0],i[1]);case 3:return e.call(n,i[0],i[1],i[2])}return e.apply(n,i)}var ol=Math.max;function Ub(e,n,i){return n=ol(n===void 0?e.length-1:n,0),function(){for(var o=arguments,a=-1,r=ol(o.length-n,0),l=Array(r);++a<r;)l[a]=o[n+a];a=-1;for(var s=Array(n+1);++a<n;)s[a]=o[a];return s[n]=i(l),Pb(e,this,s)}}function Yb(e){return function(){return e}}var Gb=ei?function(e,n){return ei(e,"toString",{configurable:!0,enumerable:!1,value:Yb(n),writable:!0})}:Zn;const Hb=Gb;var Fb=800,zb=16,Kb=Date.now;function qb(e){var n=0,i=0;return function(){var o=Kb(),a=zb-(o-i);if(i=o,a>0){if(++n>=Fb)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var Xb=qb(Hb);function Jb(e,n){return Xb(Ub(e,n,Zn),e+"")}function Zb(e,n,i){if(!Te(i))return!1;var o=typeof n;return(o=="number"?fn(i)&&Yi(n,i.length):o=="string"&&n in i)?hn(i[n],e):!1}var al=Object.prototype,Wb=al.hasOwnProperty,Qb=Jb(function(e,n){e=Object(e);var i=-1,o=n.length,a=o>2?n[2]:void 0;for(a&&Zb(n[0],n[1],a)&&(o=1);++i<o;)for(var r=n[i],l=ni(r),s=-1,c=l.length;++s<c;){var d=l[s],p=e[d];(p===void 0||hn(p,al[d])&&!Wb.call(e,d))&&(e[d]=r[d])}return e}),_b=He.isFinite;function $b(e){return typeof e=="number"&&_b(e)}var rl=1/0,e1=17976931348623157e292;function t1(e){if(!e)return e===0?e:0;if(e=no(e),e===rl||e===-rl){var n=e<0?-1:1;return n*e1}return e===e?e:0}function ll(e){var n=t1(e),i=n%1;return n===n?i?n-i:n:0}function n1(e){return typeof e=="number"&&e==ll(e)}var i1="[object Number]";function oo(e){return typeof e=="number"||nt(e)&&mt(e)==i1}var sl=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,gt="\\d\\d?",ft="\\d\\d",o1="\\d{3}",a1="\\d{4}",kn="[^\\s]+",cl=/\[([^]*?)\]/gm;function dl(e,n){for(var i=[],o=0,a=e.length;o<a;o++)i.push(e[o].substr(0,n));return i}var pl=function(e){return function(n,i){var o=i[e].map(function(r){return r.toLowerCase()}),a=o.indexOf(n.toLowerCase());return a>-1?a:null}};function Tt(e){for(var n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];for(var o=0,a=n;o<a.length;o++){var r=a[o];for(var l in r)e[l]=r[l]}return e}var ul=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ml=["January","February","March","April","May","June","July","August","September","October","November","December"],r1=dl(ml,3),l1=dl(ul,3),gl={dayNamesShort:l1,dayNames:ul,monthNamesShort:r1,monthNames:ml,amPm:["am","pm"],DoFn:function(e){return e+["th","st","nd","rd"][e%10>3?0:(e-e%10!==10?1:0)*e%10]}},oi=Tt({},gl),s1=function(e){return oi=Tt(oi,e)},fl=function(e){return e.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},je=function(e,n){for(n===void 0&&(n=2),e=String(e);e.length<n;)e="0"+e;return e},c1={D:function(e){return String(e.getDate())},DD:function(e){return je(e.getDate())},Do:function(e,n){return n.DoFn(e.getDate())},d:function(e){return String(e.getDay())},dd:function(e){return je(e.getDay())},ddd:function(e,n){return n.dayNamesShort[e.getDay()]},dddd:function(e,n){return n.dayNames[e.getDay()]},M:function(e){return String(e.getMonth()+1)},MM:function(e){return je(e.getMonth()+1)},MMM:function(e,n){return n.monthNamesShort[e.getMonth()]},MMMM:function(e,n){return n.monthNames[e.getMonth()]},YY:function(e){return je(String(e.getFullYear()),4).substr(2)},YYYY:function(e){return je(e.getFullYear(),4)},h:function(e){return String(e.getHours()%12||12)},hh:function(e){return je(e.getHours()%12||12)},H:function(e){return String(e.getHours())},HH:function(e){return je(e.getHours())},m:function(e){return String(e.getMinutes())},mm:function(e){return je(e.getMinutes())},s:function(e){return String(e.getSeconds())},ss:function(e){return je(e.getSeconds())},S:function(e){return String(Math.round(e.getMilliseconds()/100))},SS:function(e){return je(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return je(e.getMilliseconds(),3)},a:function(e,n){return e.getHours()<12?n.amPm[0]:n.amPm[1]},A:function(e,n){return e.getHours()<12?n.amPm[0].toUpperCase():n.amPm[1].toUpperCase()},ZZ:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+je(Math.floor(Math.abs(n)/60)*100+Math.abs(n)%60,4)},Z:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+je(Math.floor(Math.abs(n)/60),2)+":"+je(Math.abs(n)%60,2)}},Al=function(e){return+e-1},hl=[null,gt],yl=[null,kn],bl=["isPm",kn,function(e,n){var i=e.toLowerCase();return i===n.amPm[0]?0:i===n.amPm[1]?1:null}],wl=["timezoneOffset","[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",function(e){var n=(e+"").match(/([+-]|\d\d)/gi);if(n){var i=+n[1]*60+parseInt(n[2],10);return n[0]==="+"?i:-i}return 0}],d1={D:["day",gt],DD:["day",ft],Do:["day",gt+kn,function(e){return parseInt(e,10)}],M:["month",gt,Al],MM:["month",ft,Al],YY:["year",ft,function(e){var n=new Date,i=+(""+n.getFullYear()).substr(0,2);return+(""+(+e>68?i-1:i)+e)}],h:["hour",gt,void 0,"isPm"],hh:["hour",ft,void 0,"isPm"],H:["hour",gt],HH:["hour",ft],m:["minute",gt],mm:["minute",ft],s:["second",gt],ss:["second",ft],YYYY:["year",a1],S:["millisecond","\\d",function(e){return+e*100}],SS:["millisecond",ft,function(e){return+e*10}],SSS:["millisecond",o1],d:hl,dd:hl,ddd:yl,dddd:yl,MMM:["month",kn,pl("monthNamesShort")],MMMM:["month",kn,pl("monthNames")],a:bl,A:bl,ZZ:wl,Z:wl},ai={default:"ddd MMM DD YYYY HH:mm:ss",shortDate:"M/D/YY",mediumDate:"MMM D, YYYY",longDate:"MMMM D, YYYY",fullDate:"dddd, MMMM D, YYYY",isoDate:"YYYY-MM-DD",isoDateTime:"YYYY-MM-DDTHH:mm:ssZ",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},p1=function(e){return Tt(ai,e)},u1=function(e,n,i){if(n===void 0&&(n=ai.default),i===void 0&&(i={}),typeof e=="number"&&(e=new Date(e)),Object.prototype.toString.call(e)!=="[object Date]"||isNaN(e.getTime()))throw new Error("Invalid Date pass to format");n=ai[n]||n;var o=[];n=n.replace(cl,function(r,l){return o.push(l),"@@@"});var a=Tt(Tt({},oi),i);return n=n.replace(sl,function(r){return c1[r](e,a)}),n.replace(/@@@/g,function(){return o.shift()})};function m1(e,n,i){if(i===void 0&&(i={}),typeof n!="string")throw new Error("Invalid format in fecha parse");if(n=ai[n]||n,e.length>1e3)return null;var o=new Date,a={year:o.getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},r=[],l=[],s=n.replace(cl,function(b,f){return l.push(fl(f)),"@@@"}),c={},d={};s=fl(s).replace(sl,function(b){var f=d1[b],A=f[0],B=f[1],S=f[3];if(c[A])throw new Error("Invalid format. "+A+" specified twice in format");return c[A]=!0,S&&(d[S]=!0),r.push(f),"("+B+")"}),Object.keys(d).forEach(function(b){if(!c[b])throw new Error("Invalid format. "+b+" is required in specified format")}),s=s.replace(/@@@/g,function(){return l.shift()});var p=e.match(new RegExp(s,"i"));if(!p)return null;for(var m=Tt(Tt({},oi),i),g=1;g<p.length;g++){var h=r[g-1],k=h[0],y=h[2],C=y?y(p[g],m):+p[g];if(C==null)return null;a[k]=C}a.isPm===1&&a.hour!=null&&+a.hour!=12?a.hour=+a.hour+12:a.isPm===0&&+a.hour==12&&(a.hour=0);var E;if(a.timezoneOffset==null){E=new Date(a.year,a.month,a.day,a.hour,a.minute,a.second,a.millisecond);for(var x=[["month","getMonth"],["day","getDate"],["hour","getHours"],["minute","getMinutes"],["second","getSeconds"]],g=0,v=x.length;g<v;g++)if(c[x[g][0]]&&a[x[g][0]]!==E[x[g][1]]())return null}else if(E=new Date(Date.UTC(a.year,a.month,a.day,a.hour,a.minute-a.timezoneOffset,a.second,a.millisecond)),a.month>11||a.month<0||a.day>31||a.day<1||a.hour>23||a.hour<0||a.minute>59||a.minute<0||a.second>59||a.second<0)return null;return E}var Zt={format:u1,parse:m1,defaultI18n:gl,setGlobalDateI18n:s1,setGlobalDateMasks:p1};const Ie={fieldIsRequired:"This field is required!",invalidFormat:"Invalid format!",numberTooSmall:"The number is too small! Minimum: {0}",numberTooBig:"The number is too big! Maximum: {0}",invalidNumber:"Invalid number",invalidInteger:"The value is not an integer",textTooSmall:"The length of text is too small! Current: {0}, Minimum: {1}",textTooBig:"The length of text is too big! Current: {0}, Maximum: {1}",thisNotText:"This is not a text!",thisNotArray:"This is not an array!",selectMinItems:"Select minimum {0} items!",selectMaxItems:"Select maximum {0} items!",invalidDate:"Invalid date!",dateIsEarly:"The date is too early! Current: {0}, Minimum: {1}",dateIsLate:"The date is too late! Current: {0}, Maximum: {1}",invalidEmail:"Invalid e-mail address!",invalidURL:"Invalid URL!",invalidCard:"Invalid card format!",invalidCardNumber:"Invalid card number!",invalidTextContainNumber:"Invalid text! Cannot contains numbers or special characters",invalidTextContainSpec:"Invalid text! Cannot contains special characters"};function ze(e,n,i=Ie){return be(e)||e===""?n?[me(i.fieldIsRequired)]:[]:null}function me(e,...n){if(e!=null&&n.length>0)for(let i=0;i<n.length;i++)e=e.replace("{"+(i-1)+"}",n[i]);return e}const Nt={resources:Ie,required(e,n,i,o=Ie){return ze(e,n.required,o)},number(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;const r=[];return $b(e)?(!be(n.min)&&e<n.min&&r.push(me(o.numberTooSmall,n.min)),!be(n.max)&&e>n.max&&r.push(me(o.numberTooBig,n.max))):r.push(me(o.invalidNumber)),r},integer(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;const r=Nt.number(e,n,i,o);return n1(e)||r.push(me(o.invalidInteger)),r},double(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;if(!oo(e)||isNaN(e))return[me(o.invalidNumber)]},string(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;const r=[];return Rt(e)?(!be(n.min)&&e.length<n.min&&r.push(me(o.textTooSmall,e.length,n.min)),!be(n.max)&&e.length>n.max&&r.push(me(o.textTooBig,e.length,n.max))):r.push(me(o.thisNotText)),r},array(e,n,i,o=Ie){if(n.required){if(!Array.isArray(e))return[me(o.thisNotArray)];if(e.length===0)return[me(o.fieldIsRequired)]}if(!be(e)){if(!be(n.min)&&e.length<n.min)return[me(o.selectMinItems,n.min)];if(!be(n.max)&&e.length>n.max)return[me(o.selectMaxItems,n.max)]}},date(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;const r=new Date(e);if(isNaN(r.getDate()))return[me(o.invalidDate)];const l=[];if(!be(n.min)){const s=new Date(n.min);r.valueOf()<s.valueOf()&&l.push(me(o.dateIsEarly,Zt.format(r),Zt.format(s)))}if(!be(n.max)){const s=new Date(n.max);r.valueOf()>s.valueOf()&&l.push(me(o.dateIsLate,Zt.format(r),Zt.format(s)))}return l},regexp(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;if(!be(n.pattern)&&!new RegExp(n.pattern).test(e))return[me(o.invalidFormat)]},email(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;if(!/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e))return[me(o.invalidEmail)]},url(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;if(!/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g.test(e))return[me(o.invalidURL)]},creditCard(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;const r=/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,l=e.replace(/[^0-9]+/g,"");if(!r.test(l))return[me(o.invalidCard)];let s=0,c,d,p;for(let m=l.length-1;m>=0;m--)c=l.substring(m,m+1),d=parseInt(c,10),p?(d*=2,d>=10?s+=d%10+1:s+=d):s+=d,p=!p;if(!(s%10===0&&l))return[me(o.invalidCardNumber)]},alpha(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;if(!/^[a-zA-Z]*$/.test(e))return[me(o.invalidTextContainNumber)]},alphaNumeric(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;if(!/^[a-zA-Z0-9]*$/.test(e))return[me(o.invalidTextContainSpec)]}};Object.keys(Nt).forEach(e=>{const n=Nt[e];pe(n)&&(n.locale=i=>(o,a,r)=>n(o,a,r,Qb(i,Ie)))});function Cl(e){return Rt(e)?Nt[e]!=null?Nt[e]:(console.warn(`'${e}' is not a validator function!`),null):e}function ao(e,n,i){let o=ee(i.context,"schema.attributes",{});const a=n.value||"input";Rt(a)&&(o=ee(o,a)||o),Ne(o,(r,l)=>{e.setAttribute(l,r)})}const Ve={name:"abstractField",props:["vfg","model","schema","formOptions","disabled"],emits:["validated","modelUpdated"],data(){return{errors:[],debouncedValidateFunc:null,debouncedFormatFunc:null}},directives:{attributes:{beforeMount:ao,updated:ao,componentUpdated:ao}},computed:{value:{cache:!1,get(){let e;return pe(ee(this.schema,"get"))?e=this.schema.get(this.model):e=ee(this.model,this.schema.model),this.formatValueToField(e)},set(e){const n=this.value;e=this.formatValueToModel(e),pe(e)?e(e,n):this.updateModelValue(e,n)}}},methods:{validate(e){this.clearValidationErrors();const n=ee(this.formOptions,"validateAsync",!1);let i=[];if(this.schema.validator&&this.schema.readonly!==!0&&this.disabled!==!0){const a=[];Array.isArray(this.schema.validator)?Ne(this.schema.validator,r=>{a.push(Cl(r).bind(this))}):a.push(Cl(this.schema.validator).bind(this)),Ne(a,r=>{if(n)i.push(r(this.value,this.schema,this.model));else{const l=r(this.value,this.schema,this.model);l&&pe(l.then)?l.then(s=>{s&&(this.errors=this.errors.concat(s));const c=this.errors.length===0;this.$emit("validated",c,this.errors,this)}):l&&(i=i.concat(l))}})}const o=a=>{let r=[];Ne(nl(a),s=>{Array.isArray(s)&&s.length>0?r=r.concat(s):Rt(s)&&r.push(s)}),pe(this.schema.onValidated)&&this.schema.onValidated.call(this,this.model,r,this.schema);const l=r.length===0;return e||this.$emit("validated",l,r,this),this.errors=r,r};return n?Promise.all(i).then(o):o(i)},debouncedValidate(){pe(this.debouncedValidateFunc)||(this.debouncedValidateFunc=Cn(this.validate.bind(this),ee(this.schema,"validateDebounceTime",ee(this.formOptions,"validateDebounceTime",500)))),this.debouncedValidateFunc()},updateModelValue(e,n){let i=!1;pe(this.schema.set)?(this.schema.set(this.model,e),i=!0):this.schema.model&&(this.setModelValueByPath(this.schema.model,e),i=!0),i&&(this.$emit("modelUpdated",e,this.schema.model),pe(this.schema.onChanged)&&this.schema.onChanged.call(this,this.model,e,n,this.schema),ee(this.formOptions,"validateAfterChanged",!1)===!0&&(ee(this.schema,"validateDebounceTime",ee(this.formOptions,"validateDebounceTime",0))>0?this.debouncedValidate():this.validate()))},clearValidationErrors(){this.errors.splice(0)},setModelValueByPath(e,n){let i=e.replace(/\[(\w+)\]/g,".$1");i=i.replace(/^\./,"");let o=this.model;const a=i.split(".");let r=0;const l=a.length;for(;r<l;){const s=a[r];if(r<l-1)o[s]!==void 0||(o[s]={}),o=o[s];else{o[s]=n;return}++r}},getFieldID(e,n=!1){const i=ee(this.formOptions,"fieldIdPrefix","");return eo(e,i)+(n?"-"+il():"")},getLabelId(e){return`${this.getFieldID(e)}-label`},getFieldClasses(){return ee(this.schema,"fieldClasses",[])},formatValueToField(e){return e},formatValueToModel(e){return e}}},ie=(e,n)=>{const i=e.__vccOpts||e;for(const[o,a]of n)i[o]=a;return i},g1={mixins:[Ve],emits:["model-updated"],data(){return{isOpen:!1}},computed:{openClass(){return this.isOpen?"open":"closed"},fieldCount(){return this.schema.fields.length},titleText(){return`${this.isOpen?"Hide":"View"} ${this.fieldCount} Advanced Fields`}},methods:{handleOpen(){this.isOpen=!this.isOpen},updateModel(e,n){this.$emit("model-updated",e,n)}}},f1={class:"advanced-field-dropdown-wrapper","data-testid":"advanced-field-dropdown-wrapper"},A1={class:"material-icons"};function h1(e,n,i,o,a,r){const l=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",f1,[t.createElementVNode("button",{class:"advanced-field-title",type:"button",onClick:n[0]||(n[0]=(...s)=>r.handleOpen&&r.handleOpen(...s))},[t.createElementVNode("i",A1,t.toDisplayString(a.isOpen?"keyboard_arrow_up":"keyboard_arrow_right"),1),t.createElementVNode("span",null,t.toDisplayString(r.titleText),1)]),t.createElementVNode("div",{class:t.normalizeClass(["advanced-field-dropdown",r.openClass])},[t.createVNode(l,{model:e.model,options:{helpAsHtml:!0},schema:e.schema,onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])],2)])}const y1=ie(g1,[["render",h1],["__scopeId","data-v-6f4089bd"]]);function b1(e){const n=t.ref([]),i=t.ref(null),o=y=>Rt(y)?Nt[y]!=null?Nt[y]:(console.warn(`'${y}' is not a validator function!`),null):y,a=t.computed({get(){var y,C;let E;return pe(ee(e.schema,"get"))?E=e.schema.get((y=e.model)==null?void 0:y.value):E=ee((C=e.model)==null?void 0:C.value,e.schema.model),h(E)},set(y){const C=a;y=k(y),pe(y)?y(y,C):s(y,C)}}),r=y=>{var C;c();const E=(C=e.schema)==null?void 0:C.validator,x=ee(e.formOptions,"validateAsync",!1);let v=[];if(E&&e.schema.readonly!==!0&&e.disabled!==!0){const f=[];Array.isArray(E)?Ne(E,A=>{f.push(o(A))}):f.push(o(E)),Ne(f,A=>{var B,S;if(x)v.push(A(a.value,e.schema,(B=e.model)==null?void 0:B.value));else{const w=A(a.value,e.schema,(S=e.model)==null?void 0:S.value);w&&pe(w.then)?w.then(R=>{R&&(n.value=n.value.concat(R));const M=n.value.length===0;e.emitValidated&&e.emitValidated({isValid:M,errors:n.value,field:e.schema})}):w&&(v=v.concat(w))}})}const b=f=>{var A,B;let S=[];if(Ne(nl(f),w=>{Array.isArray(w)&&w.length>0?S=S.concat(w):Rt(w)&&S.push(w)}),pe((A=e.schema)==null?void 0:A.onValidated)&&e.schema.onValidated((B=e.model)==null?void 0:B.value,S,e.schema),!y){const w=S.length===0;e.emitValidated&&e.emitValidated({isValid:w,errors:S,field:e.schema})}return f=S,S};return x?Promise.all(v).then(b):b(v)},l=()=>{pe(i.value)?i.value():i.value=Cn(r,ee(e.schema,"validateDebounceTime",ee(e.formOptions,"validateDebounceTime",500)))},s=(y,C)=>{var E,x,v;let b=!1;pe(e.schema.set)?(e.schema.set((E=e.model)==null?void 0:E.value,y),b=!0):e.schema.model&&(d(e.schema.model,y),b=!0),b&&(e.emitModelUpdated&&(x=e.model)!=null&&x.value&&e.emitModelUpdated({value:y,model:e.schema.model}),pe(e.schema.onChanged)&&e.schema.onChanged((v=e.model)==null?void 0:v.value,y,C,e.schema),ee(e.formOptions,"validateAfterChanged",!1)===!0&&(ee(e.schema,"validateDebounceTime",ee(e.formOptions,"validateDebounceTime",0))>0?l():r()))},c=()=>{n.value.splice(0)},d=(y,C)=>{var E;let x=y.replace(/\[(\w+)\]/g,".$1");x=x.replace(/^\./,"");let v=((E=e.model)==null?void 0:E.value)||{},b=0;const f=x.split("."),A=f.length;for(;b<A;){const B=f[b];if(b<A-1)v[B]!==void 0||(v[B]={}),v=v[B];else{v[B]=C;return}++b}},p=(y,C=!1)=>{const E=ee(e.formOptions,"fieldIdPrefix","");return eo(y,E)+(C?"-"+il():"")},m=y=>`${p(y)}-label`,g=()=>ee(e.schema,"fieldClasses",[]),h=y=>y,k=y=>y;return{value:a,clearValidationErrors:c,getFieldID:p,getLabelId:m,getFieldClasses:g,updateModelValue:s}}const El={useAbstractFields:b1},w1={class:"form-field-wrapper"},C1=t.defineComponent({__name:"FieldInput",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const o=e,a=i,r=t.toRefs(o),{updateModelValue:l,getFieldID:s,clearValidationErrors:c,value:d}=El.useAbstractFields({model:r.model,schema:o.schema,formOptions:o.formOptions,emitModelUpdated:E=>{a("modelUpdated",E.value,E.model)}});n({clearValidationErrors:c});const p=t.computed(()=>{var E;const x=(E=o.schema)==null?void 0:E.inputType.toLowerCase();return x==="string"?"text":x==="datetime"?"datetime-local":x||"text"}),m={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss","datetime-local":"YYYY-MM-DDTHH:mm:ss"},g=(E,x)=>{var v,b;let f=E;const A=m[p.value]||"",B=Zt.parse(E,A);B&&((v=o.schema)!=null&&v.format?f=Zt.format(B,(b=o.schema)==null?void 0:b.format):f=B.valueOf()),l(f,x)},h=(E,x)=>{oo(E)||(E=NaN),l(E,x)},k=E=>{let x=E;switch(p.value){case"number":case"range":oo(parseFloat(E))&&(x=parseFloat(E));break}d.value=x,l(x,E)},y=t.ref(null),C=()=>{var E;pe(y.value)&&((E=y.value)==null||E.flush())};return t.onMounted(()=>{switch(p.value){case"number":case"range":y.value=Cn((E,x)=>{h(E,x)},parseInt(ee(o.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break;case"date":case"datetime":case"datetime-local":y.value=Cn((E,x)=>{g(E,x)},parseInt(ee(o.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break}}),t.onBeforeMount(()=>{p.value==="checkbox"?console.warn("The use of 'checkbox' inputType with 'input' type fields is deprecated. Use 'checkbox' type instead."):p.value==="radio"?console.warn("The use of 'radio' inputType with 'input' type fields is deprecated. Use 'radio' type instead."):p.value==="file"&&console.warn("The 'file' type in input field is deprecated. Use 'file' field instead.")}),(E,x)=>{const v=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",w1,[t.createVNode(v,t.mergeProps(E.$attrs,{id:t.unref(s)(e.schema),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,disabled:e.disabled||null,help:e.hint?e.hint:p.value==="color"||p.value==="range"?t.unref(d):void 0,max:e.schema.max,maxlength:e.schema.maxlength,min:e.schema.min,minlength:e.schema.minlength,"model-value":t.unref(d),name:e.schema.inputName,pattern:e.schema.pattern,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,type:p.value,width:e.schema.width,onBlur:C,"onUpdate:modelValue":k}),null,16,["id","autocomplete","class","disabled","help","max","maxlength","min","minlength","model-value","name","pattern","placeholder","readonly","required","type","width"])])}}}),kl=ie(C1,[["__scopeId","data-v-f0962820"]]);function E1(e,n){for(var i=-1,o=e==null?0:e.length;++i<o;)if(n(e[i],i,e))return!0;return!1}var k1=1,B1=2;function Bl(e,n,i,o,a,r){var l=i&k1,s=e.length,c=n.length;if(s!=c&&!(l&&c>s))return!1;var d=r.get(e),p=r.get(n);if(d&&p)return d==n&&p==e;var m=-1,g=!0,h=i&B1?new En:void 0;for(r.set(e,n),r.set(n,e);++m<s;){var k=e[m],y=n[m];if(o)var C=l?o(y,k,m,n,e,r):o(k,y,m,e,n,r);if(C!==void 0){if(C)continue;g=!1;break}if(h){if(!E1(n,function(E,x){if(!tl(h,x)&&(k===E||a(k,E,i,o,r)))return h.push(x)})){g=!1;break}}else if(!(k===y||a(k,y,i,o,r))){g=!1;break}}return r.delete(e),r.delete(n),g}function S1(e){var n=-1,i=Array(e.size);return e.forEach(function(o,a){i[++n]=[a,o]}),i}var x1=1,O1=2,I1="[object Boolean]",M1="[object Date]",R1="[object Error]",v1="[object Map]",T1="[object Number]",N1="[object RegExp]",V1="[object Set]",L1="[object String]",D1="[object Symbol]",j1="[object ArrayBuffer]",P1="[object DataView]",Sl=tt?tt.prototype:void 0,ro=Sl?Sl.valueOf:void 0;function U1(e,n,i,o,a,r,l){switch(i){case P1:if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case j1:return!(e.byteLength!=n.byteLength||!r(new ii(e),new ii(n)));case I1:case M1:case T1:return hn(+e,+n);case R1:return e.name==n.name&&e.message==n.message;case N1:case L1:return e==n+"";case v1:var s=S1;case V1:var c=o&x1;if(s||(s=io),e.size!=n.size&&!c)return!1;var d=l.get(e);if(d)return d==n;o|=O1,l.set(e,n);var p=Bl(s(e),s(n),o,a,r,l);return l.delete(e),p;case D1:if(ro)return ro.call(e)==ro.call(n)}return!1}var Y1=1,G1=Object.prototype,H1=G1.hasOwnProperty;function F1(e,n,i,o,a,r){var l=i&Y1,s=Zi(e),c=s.length,d=Zi(n),p=d.length;if(c!=p&&!l)return!1;for(var m=c;m--;){var g=s[m];if(!(l?g in n:H1.call(n,g)))return!1}var h=r.get(e),k=r.get(n);if(h&&k)return h==n&&k==e;var y=!0;r.set(e,n),r.set(n,e);for(var C=l;++m<c;){g=s[m];var E=e[g],x=n[g];if(o)var v=l?o(x,E,g,n,e,r):o(E,x,g,e,n,r);if(!(v===void 0?E===x||a(E,x,i,o,r):v)){y=!1;break}C||(C=g=="constructor")}if(y&&!C){var b=e.constructor,f=n.constructor;b!=f&&"constructor"in e&&"constructor"in n&&!(typeof b=="function"&&b instanceof b&&typeof f=="function"&&f instanceof f)&&(y=!1)}return r.delete(e),r.delete(n),y}var z1=1,xl="[object Arguments]",Ol="[object Array]",ri="[object Object]",K1=Object.prototype,Il=K1.hasOwnProperty;function q1(e,n,i,o,a,r){var l=Fe(e),s=Fe(n),c=l?Ol:bn(e),d=s?Ol:bn(n);c=c==xl?ri:c,d=d==xl?ri:d;var p=c==ri,m=d==ri,g=c==d;if(g&&Jn(e)){if(!Jn(n))return!1;l=!0,p=!1}if(g&&!p)return r||(r=new it),l||Ar(e)?Bl(e,n,i,o,a,r):U1(e,n,c,i,o,a,r);if(!(i&z1)){var h=p&&Il.call(e,"__wrapped__"),k=m&&Il.call(n,"__wrapped__");if(h||k){var y=h?e.value():e,C=k?n.value():n;return r||(r=new it),a(y,C,i,o,r)}}return g?(r||(r=new it),F1(e,n,i,o,a,r)):!1}function lo(e,n,i,o,a){return e===n?!0:e==null||n==null||!nt(e)&&!nt(n)?e!==e&&n!==n:q1(e,n,i,o,lo,a)}var X1=1,J1=2;function Z1(e,n,i,o){var a=i.length,r=a,l=!o;if(e==null)return!r;for(e=Object(e);a--;){var s=i[a];if(l&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++a<r;){s=i[a];var c=s[0],d=e[c],p=s[1];if(l&&s[2]){if(d===void 0&&!(c in e))return!1}else{var m=new it;if(o)var g=o(d,p,c,e,n,m);if(!(g===void 0?lo(p,d,X1|J1,o,m):g))return!1}}return!0}function Ml(e){return e===e&&!Te(e)}function W1(e){for(var n=Xt(e),i=n.length;i--;){var o=n[i],a=e[o];n[i]=[o,a,Ml(a)]}return n}function Rl(e,n){return function(i){return i==null?!1:i[e]===n&&(n!==void 0||e in Object(i))}}function Q1(e){var n=W1(e);return n.length==1&&n[0][2]?Rl(n[0][0],n[0][1]):function(i){return i===e||Z1(i,e,n)}}function _1(e,n){return e!=null&&n in Object(e)}function $1(e,n,i){n=Br(n,e);for(var o=-1,a=n.length,r=!1;++o<a;){var l=$n(n[o]);if(!(r=e!=null&&i(e,l)))break;e=e[l]}return r||++o!=a?r:(a=e==null?0:e.length,!!a&&Gi(a)&&Yi(l,a)&&(Fe(e)||dr(e)))}function ew(e,n){return e!=null&&$1(e,n,_1)}var tw=1,nw=2;function iw(e,n){return Ki(e)&&Ml(n)?Rl($n(e),n):function(i){var o=ee(i,e);return o===void 0&&o===n?ew(i,e):lo(n,o,tw|nw)}}function ow(e){return function(n){return n==null?void 0:n[e]}}function aw(e){return function(n){return Sr(n,e)}}function rw(e){return Ki(e)?ow($n(e)):aw(e)}function vl(e){return typeof e=="function"?e:e==null?Zn:typeof e=="object"?Fe(e)?iw(e[0],e[1]):Q1(e):rw(e)}function lw(e){return function(n,i,o){var a=Object(n);if(!fn(n)){var r=vl(i);n=Xt(n),i=function(s){return r(a[s],s,a)}}var l=e(n,i,o);return l>-1?a[r?n[l]:l]:void 0}}var sw=Math.max;function cw(e,n,i){var o=e==null?0:e.length;if(!o)return-1;var a=i==null?0:ll(i);return a<0&&(a=sw(o+a,0)),el(e,vl(n),a)}var dw=lw(cw);const pw=["disabled","name","id"],uw=["disabled"],mw=["label"],gw=["value"],fw=["value"];function Aw(e,n,i,o,a,r){const l=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("select",{class:t.normalizeClass(["form-control",e.schema.fieldClasses]),"onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s),disabled:e.disabled||null,name:e.schema.inputName,id:e.getFieldID(e.schema)},[r.selectOptions.hideNoneSelectedText?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("option",{key:0,disabled:e.schema.required||null,value:null},t.toDisplayString(r.selectOptions.noneSelectedText||"<Nothing selected>"),9,uw)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.items,s=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[s.group?(t.openBlock(),t.createElementBlock("optgroup",{key:0,label:r.getGroupName(s)},[s.ops?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(s.ops,c=>(t.openBlock(),t.createElementBlock("option",{value:r.getItemValue(c)},t.toDisplayString(r.getItemName(c)),9,gw))),256)):t.createCommentVNode("",!0)],8,mw)):t.createCommentVNode("",!0),s.group?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("option",{key:1,value:r.getItemValue(s)},t.toDisplayString(r.getItemName(s)),9,fw))],64))),256))],10,pw)),[[t.vModelSelect,e.value],[l,"input"]])}const hw={mixins:[Ve],computed:{selectOptions(){return this.schema.selectOptions||{}},items(){const e=this.schema.values;return typeof e=="function"?this.groupValues(e.apply(this,[this.model,this.schema])):this.groupValues(e)}},methods:{formatValueToField(e){return be(e)?null:e},groupValues(e){const n=[];let i={};return e.forEach(o=>{i=null,o.group&&Te(o)?(i=dw(n,a=>a.group===o.group),i?i.ops.push({id:o.id,name:o.name}):(i={group:"",ops:[]},i.group=o.group,i.ops.push({id:o.id,name:o.name}),n.push(i))):n.push(o)}),n},getGroupName(e){if(e&&e.group)return e.group;throw new Error("Group name is missing! https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")},getItemValue(e){if(Te(e)){if(typeof this.schema.selectOptions<"u"&&typeof this.schema.selectOptions.value<"u")return e[this.schema.selectOptions.value];if(typeof e.id<"u")return e.id;throw new Error("`id` is not defined. If you want to use another key name, add a `value` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return e},getItemName(e){if(Te(e)){if(typeof this.schema.selectOptions<"u"&&typeof this.schema.selectOptions.name<"u")return e[this.schema.selectOptions.name];if(typeof e.name<"u")return e.name;throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return e}}},Tl=ie(hw,[["render",Aw]]),Wt="24px",so=(e,n)=>{const i=e.__vccOpts||e;for(const[o,a]of n)i[o]=a;return i},yw=e=>(t.pushScopeId("data-v-761db460"),e=e(),t.popScopeId(),e),bw=["aria-hidden"],ww={key:0,"data-testid":"kui-icon-svg-title"},Cw=yw(()=>t.createElementVNode("path",{d:"M11 19V13H5V11H11V5H13V11H19V13H13V19H11Z",fill:"currentColor"},null,-1)),Ew=t.defineComponent({__name:"AddIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:Wt,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const n=String(e).replace(/px/gi,""),i=Number(n);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const n=e,i=t.computed(()=>{if(typeof n.size=="number"&&n.size>0)return`${n.size}px`;if(typeof n.size=="string"){const a=String(n.size).replace(/px/gi,""),r=Number(a);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return`${r}px`}return Wt}),o=t.computed(()=>({boxSizing:"border-box",color:n.color,display:n.display,height:i.value,lineHeight:"0",width:i.value}));return(a,r)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon add-icon","data-testid":"kui-icon-wrapper-add-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-add-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",ww,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Cw],8,bw))]),_:1},8,["aria-hidden","style"]))}}),Nl=so(Ew,[["__scopeId","data-v-761db460"]]),kw=e=>(t.pushScopeId("data-v-4857acb7"),e=e(),t.popScopeId(),e),Bw=["aria-hidden"],Sw={key:0,"data-testid":"kui-icon-svg-title"},xw=kw(()=>t.createElementVNode("path",{d:"M5 13V11H19V13H5Z",fill:"currentColor"},null,-1)),Ow=t.defineComponent({__name:"RemoveIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:Wt,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const n=String(e).replace(/px/gi,""),i=Number(n);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const n=e,i=t.computed(()=>{if(typeof n.size=="number"&&n.size>0)return`${n.size}px`;if(typeof n.size=="string"){const a=String(n.size).replace(/px/gi,""),r=Number(a);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return`${r}px`}return Wt}),o=t.computed(()=>({boxSizing:"border-box",color:n.color,display:n.display,height:i.value,lineHeight:"0",width:i.value}));return(a,r)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon remove-icon","data-testid":"kui-icon-wrapper-remove-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-remove-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",Sw,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),xw],8,Bw))]),_:1},8,["aria-hidden","style"]))}}),Iw=so(Ow,[["__scopeId","data-v-4857acb7"]]),Mw=e=>(t.pushScopeId("data-v-e07fc4ab"),e=e(),t.popScopeId(),e),Rw=["aria-hidden"],vw={key:0,"data-testid":"kui-icon-svg-title"},Tw=Mw(()=>t.createElementVNode("path",{d:"M7 21C6.45 21 5.97917 20.8042 5.5875 20.4125C5.19583 20.0208 5 19.55 5 19V6H4V4H9V3H15V4H20V6H19V19C19 19.55 18.8042 20.0208 18.4125 20.4125C18.0208 20.8042 17.55 21 17 21H7ZM17 6H7V19H17V6ZM9 17H11V8H9V17ZM13 17H15V8H13V17Z",fill:"currentColor"},null,-1)),Nw=t.defineComponent({__name:"TrashIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:Wt,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const n=String(e).replace(/px/gi,""),i=Number(n);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const n=e,i=t.computed(()=>{if(typeof n.size=="number"&&n.size>0)return`${n.size}px`;if(typeof n.size=="string"){const a=String(n.size).replace(/px/gi,""),r=Number(a);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return`${r}px`}return Wt}),o=t.computed(()=>({boxSizing:"border-box",color:n.color,display:n.display,height:i.value,lineHeight:"0",width:i.value}));return(a,r)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon trash-icon","data-testid":"kui-icon-wrapper-trash-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-trash-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",vw,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Tw],8,Rw))]),_:1},8,["aria-hidden","style"]))}}),Bn=so(Nw,[["__scopeId","data-v-e07fc4ab"]]),Vw={class:"array-card-container"},Lw=t.defineComponent({__name:"FieldArrayCardContainer",props:{model:{type:Object,default:()=>null},schema:{type:Object,default:()=>null}},emits:["remove-item"],setup(e){return(n,i)=>{const o=t.resolveComponent("KCard"),a=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",Vw,[t.createVNode(o,{class:"card"},{default:t.withCtx(()=>[t.renderSlot(n.$slots,"default",{},void 0,!0)]),_:3}),t.createVNode(a,{appearance:"tertiary",class:"array-card-remove-button",onClick:i[0]||(i[0]=r=>n.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Bn))]),_:1})])}}}),Vl=ie(Lw,[["__scopeId","data-v-7fbbde2b"]]),Dw={class:"array-item"},jw=t.defineComponent({__name:"FieldArrayItem",props:{model:{type:String,default:""}},emits:["remove-item"],setup(e){return(n,i)=>{const o=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",Dw,[t.renderSlot(n.$slots,"default",{},void 0,!0),t.createVNode(o,{appearance:"tertiary",class:"delete",onClick:i[0]||(i[0]=a=>n.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Bn))]),_:1})])}}}),Ll=ie(jw,[["__scopeId","data-v-746e21a0"]]),Pw=e=>(t.pushScopeId("data-v-37458a0a"),e=e(),t.popScopeId(),e),Uw={class:"multi-item-wrapper"},Yw=Pw(()=>t.createElementVNode("hr",null,null,-1)),Gw=t.defineComponent({__name:"FieldArrayMultiItem",emits:["remove-item"],setup(e){return(n,i)=>{const o=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",Uw,[t.renderSlot(n.$slots,"default",{},void 0,!0),t.createVNode(o,{appearance:"danger",class:"delete",onClick:i[0]||(i[0]=a=>n.$emit("remove-item"))},{default:t.withCtx(()=>[t.createTextVNode(" - Remove Field ")]),_:1}),Yw])}}}),Dl=ie(Gw,[["__scopeId","data-v-37458a0a"]]),At="kong-ui-forms-api",Hw="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}";function Fw(e){return e?e.length===36&&new RegExp(`^${Hw}$`).test(e):!1}const co=50,Vt={CREATE_NOT_FROM_ENTITY:"CREATE_NOT_FROM_ENTITY",CREATE_FROM_ENTITY:"CREATE_FROM_ENTITY",UPDATE_ENTITY:"UPDATE_ENTITY",SET_REFERRAL_VALUE:"SET_REFERRAL_VALUE"};function zw(e,n,i){return i?Vt.SET_REFERRAL_VALUE:e&&!n||!e&&n?Vt.UPDATE_ENTITY:e&&n?Vt.CREATE_FROM_ENTITY:Vt.CREATE_NOT_FROM_ENTITY}const Kw={mixins:[Ve],inject:[At],emits:["model-updated"],data(){return{suggestions:[],idValue:"",message:"Type something to search",items:[],initialItems:[],loading:!1}},computed:{fieldState(){return zw(this.model[this.schema.model],this.associatedEntity||this.entityId,this.bypassSearch)},associatedEntity(){return this.$route&&this.$route.params[this.entity]},entity(){return this.schema.entity},bypassSearch(){return this.$route&&this.$route.query&&this.$route.query.no_search}},async created(){await this.$nextTick();let e,n;switch(this.fieldState){case Vt.UPDATE_ENTITY:if(!this[At]){console.warn("[@kong-ui-public/forms] No API service provided");break}n=(await this[At].getOne(this.entity,this.model[this.schema.model])).data,e=this.getItem(this.schema.entityDataKey?n[this.schema.entityDataKey]:n),this.idValue=e.id;break;case Vt.CREATE_FROM_ENTITY:this.idValue=this.associatedEntity.id;break;case Vt.SET_REFERRAL_VALUE:this.idValue=this.value}try{e&&(this.initialItems=[{...e,label:this.getSuggestionLabel(e),value:e.id}]),this.items=this.initialItems}catch(i){this.message=`There was an error loading ${this.schema.entity}`,console.error("err!",i)}},methods:{onQueryChange(e){e.trim().length===0&&(this.items=[],this.message="Type something to search"),typeof this.performSearch!="function"&&(this.performSearch=Cn(this.search,500)),this.performSearch(e)},async search(e){if(e.trim().length===0)return;this.loading=!0;const n=[],i=[],o=this.getInputFields(),a=new Set;Fw(e)&&o.includes("id")?i.push((async()=>{const r=await this.fetchExact(e);n.push({...r,label:this.getSuggestionLabel(r),value:r.id})})()):i.push(...o.filter(r=>r!=="id").map(async r=>{(await this.fetchSuggestions(e,r)).forEach(l=>{a.has(l.id)||(a.add(l.id),n.push({...l,label:this.getSuggestionLabel(l),value:l.id}))})})),await Promise.all(i),this.items=n,this.items.length===0&&(this.message="No results"),this.loading=!1},getItem(e){return e.data?e.data.length>0?e.data[0]:[]:e},async fetchUntilLimit(e){const n=[];let i=null;if(!this[At])return console.warn("[@kong-ui-public/forms] No API service provided"),[];for(;n.length<co;){const o=await this[At].getAll(this.entity,{size:co,offset:i,...e});if(n.push(...o.data.data),i=o.data.offset,!i)break}return n.slice(0,co)},async fetchSuggestions(e,n){return this.fetchUntilLimit({[n]:e})},async fetchExact(e){return this[At]?(await this[At].getOne(this.entity,e)).data:(console.warn("[@kong-ui-public/forms] No API service provided"),{})},getInputFields(){var e,n;return((n=(e=this.schema)==null?void 0:e.inputValues)==null?void 0:n.fields)||[]},getSuggestionLabel(e){const n=this.getInputFields();return n.length&&e?n.map(i=>e[i]).filter(Boolean).join(" - "):""},updateModel(e){this.$emit("model-updated",e!=null&&e.length?e:null,this.schema.model)},onSelected(e){this.idValue=e&&e.id,this.updateModel(this.getReturnValue(e||{}))},getReturnValue(e){var n;const i=(n=this.schema)==null?void 0:n.returnKey;return i?e[i]:e.id}}},qw={class:"field-wrap autosuggest"},Xw=["data-testid","data-testlabel"],Jw=["data-testid"],Zw={class:"autosuggest__results_message"};function Ww(e,n,i,o,a,r){const l=t.resolveComponent("KSelect");return t.openBlock(),t.createElementBlock("div",qw,[t.createVNode(l,{id:e.schema.model,ref:"suggestion",modelValue:a.idValue,"onUpdate:modelValue":n[0]||(n[0]=s=>a.idValue=s),clearable:"","enable-filtering":"","filter-function":()=>!0,items:a.items,loading:a.loading,placeholder:e.schema.placeholder,width:"100%",onChange:r.onSelected,onQueryChange:r.onQueryChange},{"item-template":t.withCtx(({item:s})=>[t.createElementVNode("span",{class:"first-part","data-testid":s.id&&`${s.id}-0`,"data-testlabel":s.label},t.toDisplayString(r.getSuggestionLabel(s).split(" - ")[0]),9,Xw),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.getSuggestionLabel(s).split(" - ").slice(1),(c,d)=>(t.openBlock(),t.createElementBlock("span",{key:d,class:"field-span","data-testid":s.id&&`${s.id}-${d+1}`||d+1},t.toDisplayString(c),9,Jw))),128))]),empty:t.withCtx(()=>[t.createElementVNode("div",Zw,[t.createElementVNode("span",null,t.toDisplayString(a.message),1)])]),_:1},8,["id","modelValue","items","loading","placeholder","onChange","onQueryChange"])])}const jl=ie(Kw,[["render",Ww],["__scopeId","data-v-dd2fda9e"]]),Qw={name:"FieldMetric",components:{AddIcon:Nl,TrashIcon:Bn},mixins:[Ve],emits:["remove-item"],data(){return{contentVisible:!1}}},_w={key:0,class:"content"};function $w(e,n,i,o,a,r){const l=t.resolveComponent("AddIcon"),s=t.resolveComponent("TrashIcon"),c=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["field-dropdown",{active:a.contentVisible}])},[t.createElementVNode("div",{class:"title",onClick:n[0]||(n[0]=d=>a.contentVisible=!a.contentVisible)},[t.createTextVNode(t.toDisplayString(e.model.name?e.model.name:"New Item")+" ",1),t.createVNode(l,{class:"metric-add-icon"})]),t.createVNode(t.Transition,{name:"slide-fade"},{default:t.withCtx(()=>[a.contentVisible?(t.openBlock(),t.createElementBlock("div",_w,[t.renderSlot(e.$slots,"default"),t.createVNode(c,{appearance:"tertiary",class:"metric-remove-button",onClick:n[1]||(n[1]=d=>e.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(s)]),_:1})])):t.createCommentVNode("",!0)]),_:3})],2)}const Pl=ie(Qw,[["render",$w]]),eC={mixins:[Ve],data(){return{attributes:this.schema?this.schema.attributes:void 0,newKeyType:"string",newKeyName:"",keyTypes:{}}},created(){this.value||(this.value={})},mounted(){if(!this.value)return;const e=Object.keys(this.value),n={};for(let i=0;i<e.length;i++){const o=e[i];n[o]=typeof this.value[o]}this.keyTypes=n},methods:{removeElement(e){const n=this.value;delete n[e],this.value=JSON.parse(JSON.stringify(n));const i=this.keyTypes;delete i[e],this.keyTypes=JSON.parse(JSON.stringify(i))},addKey(){this.value[this.newKeyName]=void 0,this.value={...this.value},this.keyTypes[this.newKeyName]=this.newKeyType,this.keyTypes={...this.keyTypes},this.newKeyName=""}}},tC={key:0},nC={key:1},iC=["id"],oC={key:0},aC=["onUpdate:modelValue"],rC={key:1},lC=["onUpdate:modelValue"],sC={key:2},cC=["onUpdate:modelValue"],dC=["onClick"],pC=t.createElementVNode("option",{value:"string"}," String ",-1),uC=t.createElementVNode("option",{value:"number"}," Number ",-1),mC=t.createElementVNode("option",{value:"boolean"}," Boolean ",-1),gC=[pC,uC,mC];function fC(e,n,i,o,a,r){const l=t.resolveComponent("vue-form-generator"),s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",null,[e.schema.schema?(t.openBlock(),t.createElementBlock("div",tC,[t.createVNode(l,{model:e.value,options:e.formOptions,schema:e.schema.schema},null,8,["model","options","schema"])])):(t.openBlock(),t.createElementBlock("div",nC,[t.createElementVNode("table",{id:e.getFieldID(e.schema),class:t.normalizeClass(e.schema.fieldClasses)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(c,d)=>(t.openBlock(),t.createElementBlock("tr",{key:d},[t.createElementVNode("td",null,t.toDisplayString(d),1),a.keyTypes[d]==="string"?(t.openBlock(),t.createElementBlock("td",oC,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":p=>e.value[d]=p,type:"text"},null,8,aC),[[t.vModelText,e.value[d]]])])):t.createCommentVNode("",!0),a.keyTypes[d]==="boolean"?(t.openBlock(),t.createElementBlock("td",rC,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":p=>e.value[d]=p,type:"checkbox"},null,8,lC),[[t.vModelCheckbox,e.value[d]]])])):t.createCommentVNode("",!0),a.keyTypes[d]==="number"?(t.openBlock(),t.createElementBlock("td",sC,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":p=>e.value[d]=p,type:"number"},null,8,cC),[[t.vModelText,e.value[d]]])])):t.createCommentVNode("",!0),t.createElementVNode("td",null,[t.createElementVNode("input",{type:"button",value:"x",onClick:p=>r.removeElement(d)},null,8,dC)])]))),128))],10,iC),t.withDirectives(t.createElementVNode("select",{"onUpdate:modelValue":n[0]||(n[0]=c=>a.newKeyType=c)},gC,512),[[t.vModelSelect,a.newKeyType]]),t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[1]||(n[1]=c=>a.newKeyName=c),type:"text"},null,512),[[t.vModelText,a.newKeyName]]),t.createElementVNode("input",{type:"button",value:"Add key",onClick:n[2]||(n[2]=(...c)=>r.addKey&&r.addKey(...c))})]))])),[[s,a.attributes]])}const Ul=ie(eC,[["render",fC]]),AC={components:{TrashIcon:Bn},mixins:[Ve],emits:["model-updated"],data(){return{newKeyName:""}},computed:{subSchema(){return this.schema.schema&&this.schema.schema.fields[0].schema},subFields(){return!this.subSchema&&this.schema.fields},hasObjectKeys(){return this.value&&Object.keys(this.value).length>0},transformedModel(){return this.subSchema&&this.subSchema.fields.length>=1&&this.subSchema.fields[0].type==="array"?new Proxy(this.model[this.schema.model],{get:(e,n)=>({[this.schema.model]:e[n]}),set:(e,n,i)=>e[n]=i[this.schema.model]}):this.model[this.schema.model]}},mounted(){this.value||(this.value={});let e=[];this.subSchema?e=this.subSchema.fields:this.subFields&&(e=this.schema.fields[0].schema),this.value=this.transformMapModelValuesToObject(this.model,e,this.schema.model)},methods:{removeElement(e){const n=this.value;delete n[e],this.value={...n}},transformMapModelValuesToObject(e,n,i){const o={};return Object.keys(e).map(a=>{const r=a.indexOf(i+"-");if(r>-1&&Array.isArray(n))if(n.length>0){const l=a.split("-").filter(c=>n.find(d=>d.model===c)),s=a.split(`-${l}`)[0].split(`${i}-`)[1];l.length?o[s]={...o[s],[l]:e[a]}:o[a.substring(r+`${i}-`.length)]=e[a]}else o[a.substring(`${i}-`.length)]=e[a];else{const l=a.split("-").filter(c=>c===this.schema.model),s=a.split(`-${l}`)[0].split(`${i}-`)[1];s&&(o[s]=e[a])}return a}),o},addKey(){const e=this.subSchema&&Array.isArray(this.subSchema.fields)&&this.subSchema.fields.length===1&&this.subSchema.fields[0].type==="array",n=this.subSchema?e?[""]:{}:"";this.value[this.newKeyName]=n,this.newKeyName=""},updateModel(e,n){this.$emit("model-updated",this.model[this.schema.model],n)}}},Yl=e=>(t.pushScopeId("data-v-5deefed2"),e=e(),t.popScopeId(),e),hC=["id"],yC=["data-testid"],bC={class:"item-wrapper"},wC={class:"index-wrapper"},CC=Yl(()=>t.createElementVNode("hr",{class:"divider"},null,-1)),EC={key:0},kC={key:1},BC=["onUpdate:modelValue","placeholder","onInput"],SC={key:0,class:"hint"},xC=Yl(()=>t.createElementVNode("hr",{class:"wide-divider"},null,-1)),OC={class:"input-item"},IC=["placeholder"],MC={key:0,class:"hint"};function RC(e,n,i,o,a,r){const l=t.resolveComponent("TrashIcon"),s=t.resolveComponent("KButton"),c=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",{id:e.getFieldID(e.schema),class:t.normalizeClass(["object-advanced-wrapper",e.schema.fieldClasses])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(d,p)=>(t.openBlock(),t.createElementBlock("div",{key:p,"data-testid":`field-object-key-${p}`},[t.createElementVNode("div",null,[t.createElementVNode("div",bC,[t.createElementVNode("div",wC,[t.createElementVNode("strong",null,t.toDisplayString(p),1),t.createElementVNode("div",null,[t.createVNode(s,{appearance:"tertiary",class:"delete",icon:"",type:"button",onClick:m=>r.removeElement(p)},{default:t.withCtx(()=>[t.createVNode(l)]),_:2},1032,["onClick"])])]),CC,r.subSchema?(t.openBlock(),t.createElementBlock("div",EC,[t.createVNode(c,{model:r.transformedModel[p],options:{helpAsHtml:!0},schema:r.subSchema,onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])])):(t.openBlock(),t.createElementBlock("div",kC,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":m=>e.value[p]=m,class:"form-control",placeholder:e.schema.fields&&e.schema.fields[0].schema.placeholder,type:"text",onInput:m=>r.updateModel(e.value[p],e.model[e.schema.model])},null,40,BC),[[t.vModelText,e.value[p]]]),e.schema.fields&&e.schema.fields[0].schema.hint?(t.openBlock(),t.createElementBlock("p",SC,t.toDisplayString(e.schema.fields[0].schema.hint),1)):t.createCommentVNode("",!0)])),xC])])],8,yC))),128)),t.createElementVNode("div",{class:t.normalizeClass(["input-wrapper",{indent:r.hasObjectKeys}])},[t.createElementVNode("div",OC,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=d=>a.newKeyName=d),class:"form-control","data-testid":"keyname-input",placeholder:e.schema.placeholder,type:"text"},null,8,IC),[[t.vModelText,a.newKeyName]]),t.createVNode(s,{appearance:"tertiary","data-testid":"add-key",disabled:!a.newKeyName,onClick:r.addKey},{default:t.withCtx(()=>[t.createTextVNode(" + Add "+t.toDisplayString(e.schema.buttonLabel||e.schema.label),1)]),_:1},8,["disabled","onClick"])]),e.schema.hintText?(t.openBlock(),t.createElementBlock("p",MC,t.toDisplayString(e.schema.hintText),1)):t.createCommentVNode("",!0)],2)],10,hC)}const Gl=ie(AC,[["render",RC],["__scopeId","data-v-5deefed2"]]),vC={mixins:[Ve],emits:["model-updated"],methods:{updateModel(e){this.$emit("model-updated",e,this.schema.model)},checkOption(e){return this.model[this.schema.model]?e.value.toString()===this.model[this.schema.model].toString():e.checked},onChange(e){let n=e.target.value.split(",");this.schema.array||(n=n.toString()),this.updateModel(n)}}},TC={class:"selection-group"},NC={class:"form-group"},VC=["id","checked","name","value"];function LC(e,n,i,o,a,r){return t.openBlock(),t.createElementBlock("div",TC,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.values,(l,s)=>(t.openBlock(),t.createElementBlock("div",{key:s,class:"option-group"},[t.createElementVNode("div",NC,[t.createElementVNode("label",{class:t.normalizeClass(["k-label",l.name])},[t.createElementVNode("input",{id:e.schema.name+"-"+s,checked:r.checkOption(l),class:"k-input",name:e.schema.name,type:"radio",value:l.value,onChange:n[0]||(n[0]=(...c)=>r.onChange&&r.onChange(...c))},null,40,VC),t.createTextVNode(" "+t.toDisplayString(l.name),1)],2)])]))),128))])}const Hl=ie(vC,[["render",LC],["__scopeId","data-v-33d6c694"]]),DC={name:"FieldArray",components:{FieldArrayItem:Ll,FieldArrayMultiItem:Dl,FieldSelect:Tl,FieldMetric:Pl,FieldObject:Ul,FieldObjectAdvanced:Gl,FieldAutoSuggest:jl,FieldRadio:Hl,FieldArrayCardContainer:Vl,FieldInput:kl},mixins:[Ve],props:{newElementButtonLabel:{type:String,default:"New Item"},removeElementButtonLabel:{type:String,default:"x"}},methods:{generateSchema(e,n,i){var o,a,r;let l;return n&&(l=JSON.parse(JSON.stringify(n)),(r=(a=(o=l.schema)==null?void 0:o.fields)==null?void 0:a.map)==null||r.call(a,s=>(s.id=`${s.id||s.model}-${i}`,s))),{...l,set(s,c){e[i]=c},get(){return e[i]}}},newElement(){let e=this.value,n;(!e||!e.push)&&(e=[]),this.schema.items&&this.schema.items.default&&(typeof this.schema.items.default=="function"?n=this.schema.items.default():n=this.schema.items.default),e.push(n),this.value=[...e]},removeElement(e){this.value=this.value.filter((n,i)=>i!==e)},getFieldType(e){return"field-"+e.type},modelUpdated(){}}},jC=["id"],PC={key:1},UC=["onUpdate:modelValue","aria-labelledby","type"],YC=["value","onClick"],GC=["onUpdate:modelValue","aria-labelledby"],HC=["value","onClick"];function FC(e,n,i,o,a,r){const l=t.resolveComponent("KTextArea"),s=t.resolveComponent("KInput"),c=t.resolveComponent("KButton");return e.schema?(t.openBlock(),t.createElementBlock("div",{key:0,id:e.getFieldID(e.schema),class:t.normalizeClass(e.schema.fieldClasses)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(d,p)=>(t.openBlock(),t.createElementBlock("div",{key:p,class:t.normalizeClass(e.schema.fieldItemsClasses)},[e.schema.items&&e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:0,model:d,schema:r.generateSchema(e.value,e.schema.items,p),onRemoveItem:m=>r.removeElement(p)},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(e.schema.items)),{"form-options":e.formOptions,model:d,schema:r.generateSchema(e.value,e.schema.items,p),onModelUpdated:r.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))]),_:2},1064,["model","schema","onRemoveItem"])):e.schema.items?(t.openBlock(),t.createElementBlock("span",PC,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(e.schema.items)),{"form-options":e.formOptions,model:d,schema:r.generateSchema(e.value,e.schema.items,p),onModelUpdated:r.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))])):e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:2,"data-testid":`${e.getFieldID(e.schema)}-item-${p}`,model:d,schema:r.generateSchema(e.value,e.schema.items,p),onRemoveItem:m=>r.removeElement(p)},{default:t.withCtx(()=>{var m;return[e.schema.inputAttributes&&e.schema.inputAttributes.type==="textarea"?(t.openBlock(),t.createBlock(l,t.mergeProps({key:0,ref_for:!0},e.schema.inputAttributes,{id:e.getFieldID(e.schema),modelValue:e.value[p],"onUpdate:modelValue":g=>e.value[p]=g,"aria-labelledby":e.getLabelId(e.schema),class:e.schema.fieldClasses,maxlength:e.schema.max,minlength:e.schema.min,name:e.schema.inputName,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,rows:e.schema.rows||2}),null,16,["id","modelValue","onUpdate:modelValue","aria-labelledby","class","maxlength","minlength","name","placeholder","readonly","required","rows"])):!e.schema.inputAttributes||!e.schema.inputAttributes.type||e.schema.inputAttributes.type==="text"?(t.openBlock(),t.createBlock(s,t.mergeProps({key:1,modelValue:e.value[p],"onUpdate:modelValue":g=>e.value[p]=g,"aria-labelledby":e.getLabelId(e.schema),ref_for:!0},e.schema.inputAttributes,{type:e.schema.inputAttributes&&e.schema.inputAttributes.type||"text"}),null,16,["modelValue","onUpdate:modelValue","aria-labelledby","type"])):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:2,"onUpdate:modelValue":g=>e.value[p]=g,"aria-labelledby":e.getLabelId(e.schema),ref_for:!0},e.schema.inputAttributes,{type:((m=e.schema.inputAttributes)==null?void 0:m.type)||"text"}),null,16,UC)),[[t.vModelDynamic,e.value[p]]]),e.schema.showRemoveButton?(t.openBlock(),t.createElementBlock("input",t.mergeProps({key:3,ref_for:!0},e.schema.removeElementButtonAttributes,{type:"button",value:e.schema.removeElementButtonLabel||i.removeElementButtonLabel,onClick:g=>r.removeElement(p)}),null,16,YC)):t.createCommentVNode("",!0)]}),_:2},1064,["data-testid","model","schema","onRemoveItem"])):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:3,ref_for:!0},e.schema.inputAttributes,{"onUpdate:modelValue":m=>e.value[p]=m,"aria-labelledby":e.getLabelId(e.schema),type:"text"}),null,16,GC)),[[t.vModelText,e.value[p]]]),e.schema.showRemoveButton?(t.openBlock(),t.createElementBlock("input",t.mergeProps({key:4,ref_for:!0},e.schema.removeElementButtonAttributes,{type:"button",value:e.schema.removeElementButtonLabel||i.removeElementButtonLabel,onClick:m=>r.removeElement(p)}),null,16,HC)):t.createCommentVNode("",!0)],2))),128)),t.createVNode(c,{appearance:"tertiary",class:t.normalizeClass(e.schema.newElementButtonLabelClasses),"data-testid":`add-${e.getFieldID(e.schema)}`,type:"button",onClick:r.newElement},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.schema.newElementButtonLabel||i.newElementButtonLabel),1)]),_:1},8,["class","data-testid","onClick"])],10,jC)):t.createCommentVNode("",!0)}const zC=ie(DC,[["render",FC],["__scopeId","data-v-5151c17d"]]),KC={mixins:[Ve]},qC=["id","autocomplete","disabled","name","required"];function XC(e,n,i,o,a,r){const l=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("input",{id:e.getFieldID(e.schema),type:"checkbox","onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s),autocomplete:e.schema.autocomplete,disabled:e.disabled||null,name:e.schema.inputName,class:t.normalizeClass(e.schema.fieldClasses),required:e.schema.required},null,10,qC)),[[t.vModelCheckbox,e.value],[l,"input"]])}const JC=ie(KC,[["render",XC]]);var ZC=4;function Fl(e){return wn(e,ZC)}const WC={class:"wrapper"},QC=["disabled"],_C=["id","checked","disabled","onChange","name"],$C=["disabled"],e0={class:"info"},t0=t.createElementVNode("div",{class:"arrow"},null,-1),n0={class:"dropList"},i0=["id","checked","disabled","onChange","name"];function o0(e,n,i,o,a,r){const l=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",WC,[e.schema.listBox?(t.openBlock(),t.createElementBlock("div",{key:0,class:"listbox form-control",disabled:e.disabled||null},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.items,s=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":r.isItemChecked(s)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:r.isItemChecked(s)||null,disabled:e.disabled||null,onChange:c=>r.onChanged(c,s),name:r.getInputName(s)},null,40,_C),[[l,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(s)),1)])],2))),256))],8,QC)):t.createCommentVNode("",!0),e.schema.listBox?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:1,class:"combobox form-control",disabled:e.disabled||null},[t.createElementVNode("div",{class:t.normalizeClass(["mainRow",{expanded:a.comboExpanded}]),onClick:n[0]||(n[0]=(...s)=>r.onExpandCombo&&r.onExpandCombo(...s))},[t.createElementVNode("div",e0,t.toDisplayString(r.selectedCount)+" selected",1),t0],2),t.createElementVNode("div",n0,[a.comboExpanded?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(r.items,s=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":r.isItemChecked(s)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:r.isItemChecked(s)||null,disabled:e.disabled||null,onChange:c=>r.onChanged(c,s),name:r.getInputName(s)},null,40,i0),[[l,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(s)),1)])],2))),256)):t.createCommentVNode("",!0)])],8,$C))])),[[l,"wrapper"]])}const a0={mixins:[Ve],data(){return{comboExpanded:!1}},computed:{items(){const e=this.schema.values;return typeof e=="function"?e.apply(this,[this.model,this.schema]):e},selectedCount(){return this.value?this.value.length:0}},methods:{getInputName(e){return this.schema&&this.schema.inputName&&this.schema.inputName.length>0?_r(this.schema.inputName+"_"+this.getItemValue(e)):_r(this.getItemValue(e))},getItemValue(e){if(Te(e)){if(typeof this.schema.checklistOptions<"u"&&typeof this.schema.checklistOptions.value<"u")return e[this.schema.checklistOptions.value];if(typeof e.value<"u")return e.value;throw new Error("`value` is not defined. If you want to use another key name, add a `value` property under `checklistOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/checklist.html#checklist-field-with-object-values")}else return e},getItemName(e){if(Te(e)){if(typeof this.schema.checklistOptions<"u"&&typeof this.schema.checklistOptions.name<"u")return e[this.schema.checklistOptions.name];if(typeof e.name<"u")return e.name;throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `checklistOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/checklist.html#checklist-field-with-object-values")}else return e},isItemChecked(e){return this.value&&this.value.indexOf(this.getItemValue(e))!==-1},onChanged(e,n){if((be(this.value)||!Array.isArray(this.value))&&(this.value=[]),e.target.checked){const i=Fl(this.value);i.push(this.getItemValue(n)),this.value=i}else{const i=Fl(this.value);i.splice(this.value.indexOf(this.getItemValue(n)),1),this.value=i}},onExpandCombo(){this.comboExpanded=!this.comboExpanded}}},r0=ie(a0,[["render",o0]]),l0={name:"FieldKeyValuePairs",components:{TrashIcon:Bn},mixins:[Ve],data(){return{pairs:[]}},watch:{pairs:{handler(){this.updateValue()},deep:!0}},created(){var e,n;this.value||(this.value={});const i=((n=this.model)==null?void 0:n[(e=this.schema)==null?void 0:e.model])??{};Object.keys(i).forEach(o=>{this.pairs.push({key:o,value:i[o]})})},methods:{onInput(e,n,i){this.pairs[n][i]=e.target.value},updateValue(){this.value=this.pairs.reduce((e,{key:n,value:i})=>({...e,...n&&i?{[n]:i}:null}),{})},addPair(){this.pairs.push({key:"",value:""})},removePair(e){this.pairs.splice(e,1)}}},s0={class:"key-value-pairs-editor"},c0=["data-testid","placeholder","value","onInput"],d0=["data-testid","placeholder","value","onInput"];function p0(e,n,i,o,a,r){const l=t.resolveComponent("TrashIcon"),s=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",s0,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.pairs,(c,d)=>(t.openBlock(),t.createElementBlock("div",{key:d,class:"pair-item"},[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-key-${d}`,placeholder:e.schema.keyInputPlaceholder??"Key",type:"text",value:c.key,onInput:p=>{r.onInput(p,d,"key")}},null,40,c0),t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-value-${d}`,placeholder:e.schema.valueInputPlaceholder??"Value",type:"text",value:c.value,onInput:p=>{r.onInput(p,d,"value")}},null,40,d0),t.createVNode(s,{appearance:"tertiary","data-testid":`${e.getFieldID(e.schema)}-remove-pair-${d}`,onClick:()=>{r.removePair(d)}},{default:t.withCtx(()=>[t.createVNode(l)]),_:2},1032,["data-testid","onClick"])]))),128)),t.createVNode(s,{appearance:"tertiary",class:t.normalizeClass(e.schema.newElementButtonLabelClasses),"data-testid":`${e.getFieldID(e.schema)}-add-pair`,type:"button",onClick:r.addPair},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.schema.newElementButtonLabel??"+ Add Pair"),1)]),_:1},8,["class","data-testid","onClick"])])}const u0=ie(l0,[["render",p0],["__scopeId","data-v-76ba2b2c"]]),m0=t.defineComponent({__name:"FieldLabel",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0}},setup(e){const n=e,i=t.toRefs(n),{getFieldID:o,value:a}=El.useAbstractFields({model:i.model,schema:n.schema,formOptions:n.formOptions});return(r,l)=>{const s=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["field-label",e.schema.fieldClasses])},[t.createVNode(s,{id:t.unref(o)(e.schema)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)),1)]),_:1},8,["id"])],2)}}}),g0=ie(m0,[["__scopeId","data-v-d046a15a"]]),f0={mixins:[Ve],emits:["model-updated"],methods:{onUpdate(e){this.$emit("model-updated",e,this.schema.model)}}};function A0(e,n,i,o,a,r){const l=t.resolveComponent("KMultiselect");return t.openBlock(),t.createBlock(l,{"aria-labelledby":e.getLabelId(e.schema),"data-testid":"field-multiselect",items:e.schema.values,"label-attributes":{info:e.schema.help},"model-value":e.value,placeholder:e.schema.placeholder,required:e.schema.required||void 0,width:"100%","onUpdate:modelValue":r.onUpdate},null,8,["aria-labelledby","items","label-attributes","model-value","placeholder","required","onUpdate:modelValue"])}const h0=ie(f0,[["render",A0]]),y0={mixins:[Ve],emits:["model-updated"],data(){return{checkedGroup:null,fieldModel:{...this.model},fieldSchema:[]}},watch:{checkedGroup:{handler(e,n){if(n===null){this.fieldModel={...this.model};return}const i=this.schema.fields[e].fields,o=this.schema.fields[n].fields;o&&o.forEach(a=>this.updateModel("",a.model)),i&&i.forEach(a=>this.updateModel(this.fieldModel[a.model],a.model))}}},async created(){await this.$nextTick(),this.schema.fields.forEach((e,n)=>{e.fields&&e.fields.forEach(i=>{this.model[i.model]&&(this.checkedGroup=n,this.fieldSchema.push(i.model))})}),this.checkedGroup===null&&(this.checkedGroup=0)},methods:{updateModel(e,n){this.$emit("model-updated",e,n)}}},b0={class:"selection-group"},w0={class:"form-group horizontal-radios"},C0={class:"radio-group"},E0=["value"],k0={class:"control-help"},B0={class:"option-field"},S0={class:"option-field-container"};function x0(e,n,i,o,a,r){const l=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",b0,[t.createElementVNode("div",w0,[t.createElementVNode("div",C0,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.fields,(s,c)=>(t.openBlock(),t.createElementBlock("div",{key:c,class:"option-group"},[t.createElementVNode("label",{class:t.normalizeClass(["k-label",`${s.label}-check`])},[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=d=>a.checkedGroup=d),class:"k-input",type:"radio",value:c},null,8,E0),[[t.vModelRadio,a.checkedGroup]]),t.createTextVNode(" "+t.toDisplayString(s.label)+" ",1),t.createElementVNode("div",k0,t.toDisplayString(s.description),1)],2)]))),128))])]),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.fields,(s,c)=>(t.openBlock(),t.createElementBlock("div",{key:c,class:"option-group"},[t.withDirectives(t.createElementVNode("div",B0,[t.createElementVNode("div",S0,[t.createVNode(l,{model:e.model,options:{helpAsHtml:!0},schema:{fields:s.fields},onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])])],512),[[t.vShow,s.fields&&a.checkedGroup===c]])]))),128))])}const O0=ie(y0,[["render",x0],["__scopeId","data-v-0aaaf597"]]),I0=["autocomplete","disabled","name","id"],M0=["data-on","data-off","for"],R0=t.createElementVNode("span",{class:"handle"},null,-1);function v0(e,n,i,o,a,r){return t.openBlock(),t.createElementBlock("label",null,[t.withDirectives(t.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),autocomplete:e.schema.autocomplete,disabled:e.disabled||null,name:e.schema.inputName,id:e.getFieldID(e.schema)},null,8,I0),[[t.vModelCheckbox,e.value]]),t.createElementVNode("span",{class:"label","data-on":e.schema.textOn||"On","data-off":e.schema.textOff||"Off",for:e.getFieldID(e.schema)},null,8,M0),R0])}const T0={mixins:[Ve],methods:{formatValueToField(e){return e!=null&&this.schema.valueOn?e===this.schema.valueOn:e},formatValueToModel(e){return e!=null&&this.schema.valueOn?e?this.schema.valueOn:this.schema.valueOff:e}}},N0=ie(T0,[["render",v0]]),V0=["id","disabled","maxlength","minlength","placeholder","readonly","required","rows","name"];function L0(e,n,i,o,a,r){const l=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("textarea",{class:t.normalizeClass(["form-control",e.schema.fieldClasses]),"onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s),id:e.getFieldID(e.schema),disabled:e.disabled||null,maxlength:e.schema.max,minlength:e.schema.min,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,rows:e.schema.rows||2,name:e.schema.inputName},null,10,V0)),[[t.vModelText,e.value],[l,"input"]])}const D0={mixins:[Ve]},j0=ie(D0,[["render",L0]]),P0=Object.freeze(Object.defineProperty({__proto__:null,FieldAdvanced:y1,FieldArray:zC,FieldArrayCardContainer:Vl,FieldArrayItem:Ll,FieldArrayMultiItem:Dl,FieldAutoSuggest:jl,FieldCheckbox:JC,FieldChecklist:r0,FieldInput:kl,FieldKeyValuePairs:u0,FieldLabel:g0,FieldMetric:Pl,FieldMultiselect:h0,FieldObject:Ul,FieldObjectAdvanced:Gl,FieldRadio:Hl,FieldSelect:Tl,FieldSelectionGroup:O0,FieldSwitch:N0,FieldTextArea:j0},Symbol.toStringTag,{value:"Module"})),U0={name:"FormGroup",components:P0,mixins:[xr],props:{vfg:{type:Object,required:!0},model:{type:Object,default:()=>{}},options:{type:Object,default:()=>{}},field:{type:Object,required:!0},errors:{type:Array,default(){return[]}}},emits:["validated","modelUpdated"],data(){return{child:t.ref()}},methods:{fieldTypeHasLabel(e){if(be(e.label))return!1;let n="";switch(e.type==="input"?n=e.inputType:n=e.type,n){case"button":case"submit":case"reset":return!1;default:return!0}},getFieldID(e){const n=ee(this.options,"fieldIdPrefix","");return eo(e,n)},getTooltipId(e){return`${this.getFieldID(e)}-tooltip`},getFieldType(e){return"field-"+e.type},getButtonType(e){return ee(e,"type","button")},onFieldValidated(e,n,i){this.$emit("validated",e,n,i)},buttonVisibility(e){return e.buttons&&e.buttons.length>0},buttonClickHandler(e,n,i){return e.onclick.call(this,this.model,n,i,this)},fieldHint(e){return pe(e.hint)?e.hint.call(this,this.model,e,this):e.hint},fieldErrors(e){return this.errors.filter(n=>n.field.fieldName===e.fieldName).map(n=>n.error)},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},validate(e){return this.$refs.child.validate(e)},clearValidationErrors(){if(this.$refs.child)return this.$refs.child.clearValidationErrors()},formattedLabel(e){return e?e.replace(/^[cC]onfig\./,""):""}}},Y0=e=>(t.pushScopeId("data-v-6558b1f3"),e=e(),t.popScopeId(),e),G0=["innerHTML"],H0={class:"icon-wrapper"},F0=["innerHTML"],z0={key:0,class:"link-wrapper"},K0=Y0(()=>t.createElementVNode("span",{class:"section-header"},"More info",-1)),q0={class:"field-wrap"},X0={key:0,class:"buttons"},J0=["type","onClick","textContent"],Z0=["innerHTML"],W0={key:2,class:"errors help-block"},Q0=["innerHTML"];function _0(e,n,i,o,a,r){const l=t.resolveComponent("KExternalLink"),s=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["form-group",e.getFieldRowClasses(i.field)])},[r.fieldTypeHasLabel(i.field)?(t.openBlock(),t.createBlock(s,{key:0,"aria-describedby":i.field.help?r.getTooltipId(i.field):void 0,class:t.normalizeClass([i.field.labelClasses,"form-group-label"]),for:r.getFieldID(i.field),info:!i.options.helpAsHtml&&i.field.help?i.field.help:void 0,"tooltip-attributes":i.field.help?{maxWidth:"300",placement:"top",tooltipId:r.getTooltipId(i.field)}:void 0},t.createSlots({default:t.withCtx(()=>[t.createElementVNode("div",H0,[t.createElementVNode("span",{innerHTML:r.formattedLabel(i.field.label)},null,8,F0)]),i.field.link?(t.openBlock(),t.createElementBlock("div",z0,[t.createVNode(l,{href:i.field.link},{default:t.withCtx(()=>[K0]),_:1},8,["href"])])):t.createCommentVNode("",!0)]),_:2},[i.options.helpAsHtml&&i.field.help?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:i.field.help},null,8,G0)]),key:"0"}:void 0]),1032,["aria-describedby","class","for","info","tooltip-attributes"])):t.createCommentVNode("",!0),t.createElementVNode("div",q0,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(i.field)),t.mergeProps(e.$attrs,{ref:"child",disabled:e.fieldDisabled(i.field)||null,"form-options":i.options,hint:i.field.hint&&r.getFieldType(i.field)==="field-input"?r.fieldHint(i.field):void 0,model:i.model,schema:i.field,vfg:i.vfg,onModelUpdated:r.onModelUpdated,onValidated:r.onFieldValidated}),null,16,["disabled","form-options","hint","model","schema","vfg","onModelUpdated","onValidated"])),r.buttonVisibility(i.field)?(t.openBlock(),t.createElementBlock("div",X0,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.field.buttons,(c,d)=>(t.openBlock(),t.createElementBlock("button",{key:d,class:t.normalizeClass(c.classes),type:r.getButtonType(c),onClick:p=>r.buttonClickHandler(c,i.field,p),textContent:t.toDisplayString(c.label)},null,10,J0))),128))])):t.createCommentVNode("",!0)]),i.field.hint&&r.getFieldType(i.field)!=="field-input"?(t.openBlock(),t.createElementBlock("div",{key:1,class:"hint",innerHTML:r.fieldHint(i.field)},null,8,Z0)):t.createCommentVNode("",!0),r.fieldErrors(i.field).length>0?(t.openBlock(),t.createElementBlock("div",W0,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.fieldErrors(i.field),(c,d)=>(t.openBlock(),t.createElementBlock("span",{key:d,innerHTML:c},null,8,Q0))),128))])):t.createCommentVNode("",!0)],2)}const $0=ie(U0,[["render",_0],["__scopeId","data-v-6558b1f3"]]),eE={name:"FormGenerator",components:{formGroup:$0},mixins:[xr],props:{schema:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},options:{type:Object,default(){return{validateAfterLoad:!1,validateAfterChanged:!1,child:t.ref([]),fieldIdPrefix:"",validateAsync:!1,validationErrorClass:"error",validationSuccessClass:"",helpAsHtml:!1}}},multiple:{type:Boolean,default:!1},isNewModel:{type:Boolean,default:!1},tag:{type:String,default:"fieldset",validator:function(e){return e.length>0}}},emits:["validated","modelUpdated"],data(){return{vfg:this,errors:[],children:t.ref([]),collapseStates:{}}},computed:{fields(){const e=[];return this.schema&&this.schema.fields&&Ne(this.schema.fields,n=>{(!this.multiple||n.multi===!0)&&e.push(n)}),e},groups(){const e=[];return this.schema&&this.schema.groups&&Ne(this.schema.groups.slice(0),n=>{e.push(n)}),e}},watch:{model:{deep:!0,handler(e,n){n!==e&&e!=null&&this.$nextTick(()=>{this.options.validateAfterLoad===!0&&this.isNewModel!==!0?this.validate():this.clearValidationErrors()})}}},mounted(){this.$nextTick(()=>{this.model&&(this.options.validateAfterLoad===!0&&this.isNewModel!==!0?this.validate():this.clearValidationErrors())})},methods:{fieldVisible(e){return pe(e.visible)?e.visible.call(this,this.model,e,this):be(e.visible)?!0:e.visible},onFieldValidated(e,n,i){this.errors=this.errors.filter(a=>a.field.fieldName!==i.schema.fieldName),!e&&n&&n.length>0&&Ne(n,a=>{this.errors.push({field:i.schema,error:a})});const o=this.errors.length===0;this.$emit("validated",o,this.errors,this)},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},validate(e=null){e===null&&(e=ee(this.options,"validateAsync",!1)),this.clearValidationErrors();const n=[],i=[];Ne(this.$refs.children,a=>{pe(a.validate)&&(n.push(a.$refs.child),i.push(a.$refs.child.validate(!0)))});const o=a=>{const r=[];Ne(a,(s,c)=>{Array.isArray(s)&&s.length>0&&Ne(s,d=>{r.push({field:n[c].schema,error:d})})}),this.errors=r;const l=r.length===0;return this.$emit("validated",l,r,this),e?r:l};return e?Promise.all(i).then(o):o(i)},clearValidationErrors(){this.errors.splice(0),Ne(this.$refs.children,e=>{e.clearValidationErrors()})}}},tE={key:0,class:"vue-form-generator"},nE={key:0};function iE(e,n,i,o,a,r){const l=t.resolveComponent("form-group"),s=t.resolveComponent("KCollapse");return i.schema!=null?(t.openBlock(),t.createElementBlock("div",tE,[i.schema.fields?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.fields,c=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:c.model},[r.fieldVisible(c)?(t.openBlock(),t.createBlock(l,{key:0,ref_for:!0,ref:"children",errors:a.errors,field:c,model:i.model,options:i.options,vfg:a.vfg,onModelUpdated:r.onModelUpdated,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:1})):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.groups,(c,d)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:`group-${d}`},[c.collapsible!==void 0&&c.collapsible!==!1?(t.openBlock(),t.createBlock(s,{key:0,class:"root-level-collapse","model-value":!1,title:c.collapsible.title},t.createSlots({default:t.withCtx(()=>{var p,m,g,h;return[(p=c.slots)!=null&&p.beforeContent?t.renderSlot(e.$slots,(m=c.slots)==null?void 0:m.beforeContent,{key:0}):t.createCommentVNode("",!0),c.fields.length===0&&(g=c.slots)!=null&&g.emptyState?t.renderSlot(e.$slots,(h=c.slots)==null?void 0:h.emptyState,{key:1}):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:2,class:t.normalizeClass(e.getFieldRowClasses(c))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.fields,k=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:k.model},[r.fieldVisible(k)?(t.openBlock(),t.createBlock(l,{key:0,ref_for:!0,ref:"children",errors:a.errors,field:k,model:i.model,options:i.options,vfg:a.vfg,onModelUpdated:r.onModelUpdated,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"])),c.collapsible!==!0&&c.collapsible.nestedCollapsible&&c.collapsible.nestedCollapsible.fields.length>0?(t.openBlock(),t.createBlock(s,{key:3,class:"nested-collapse","model-value":a.collapseStates[`group-${d}-nested`]??!0,"trigger-alignment":"leading","trigger-label":a.collapseStates[`group-${d}-nested`]??!0?c.collapsible.nestedCollapsible.triggerLabel.expand:c.collapsible.nestedCollapsible.triggerLabel.collapse,"onUpdate:modelValue":k=>a.collapseStates[`group-${d}-nested`]=k},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{class:t.normalizeClass(e.getFieldRowClasses(c))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.collapsible.nestedCollapsible.fields,k=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:k.model},[r.fieldVisible(k)?(t.openBlock(),t.createBlock(l,{key:0,ref_for:!0,ref:"children",errors:a.errors,field:k,model:i.model,options:i.options,vfg:a.vfg,onModelUpdated:r.onModelUpdated,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))]),_:2},1032,["model-value","trigger-label","onUpdate:modelValue"])):t.createCommentVNode("",!0)]}),_:2},[c.collapsible.description?{name:"visible-content",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(c.collapsible.description),1)]),key:"0"}:void 0]),1032,["title"])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:1,class:t.normalizeClass(e.getFieldRowClasses(c))},{default:t.withCtx(()=>[c.legend?(t.openBlock(),t.createElementBlock("legend",nE,t.toDisplayString(c.legend),1)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.fields,p=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:p.model},[r.fieldVisible(p)?(t.openBlock(),t.createBlock(l,{key:0,ref_for:!0,ref:"children",errors:a.errors,field:p,model:i.model,options:i.options,vfg:a.vfg,onModelUpdated:r.onModelUpdated,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))],64))),128))])):t.createCommentVNode("",!0)}const Pe=ie(eE,[["render",iE]]),oE={fields:[{type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper",newElementButtonLabel:"+ Add Client JWK",items:{type:"object",schema:{fields:[{model:"kid",label:"kid",type:"input",inputType:"string"},{model:"issuer",label:"issuer",type:"input",inputType:"string"},{model:"kty",label:"kty",type:"input",inputType:"string"},{model:"use",label:"use",type:"input",inputType:"string"},{model:"key_ops",label:"key_ops",type:"array",fieldItemsClasses:"jwk-array-input-wrapper",showRemoveButton:!0,removeElementButtonLabel:"Remove",items:{type:"input",inputType:"string"}},{model:"alg",label:"alg",type:"input",inputType:"string"},{model:"x5u",label:"x5u",type:"input",inputType:"string"},{model:"x5c",label:"x5c",type:"array",fieldItemsClasses:"jwk-array-input-wrapper",showRemoveButton:!0,removeElementButtonLabel:"Remove",items:{type:"input",inputType:"string"}},{model:"x5t",label:"x5t",type:"input",inputType:"string"},{model:"x5t#S256",label:"x5t#S256",type:"input",inputType:"string"},{model:"k",label:"k",type:"input",inputType:"string"},{model:"x",label:"x",type:"input",inputType:"string"},{model:"y",label:"y",type:"input",inputType:"string"},{model:"crv",label:"crv",type:"input",inputType:"string"},{model:"n",label:"n",type:"input",inputType:"string"},{model:"e",label:"e",type:"input",inputType:"string"},{model:"d",label:"d",type:"input",inputType:"string"},{model:"p",label:"p",type:"input",inputType:"string"},{model:"q",label:"q",type:"input",inputType:"string"},{model:"dp",label:"dp",type:"input",inputType:"string"},{model:"dq",label:"dq",type:"input",inputType:"string"},{model:"qi",label:"qi",type:"input",inputType:"string"},{model:"oth",label:"oth",type:"input",inputType:"string"},{model:"r",label:"r",type:"input",inputType:"string"},{model:"t",label:"t",type:"input",inputType:"string"}]}},model:"config-client_jwk",label:"Config.Client Jwk",order:0,disabled:!1,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#jwk-record"},{type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper",newElementButtonLabel:"+ Add Cluster Node",items:{type:"object",schema:{fields:[{label:"IP",model:"ip",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}},model:"config-session_redis_cluster_nodes",label:"Config.Session Redis Cluster Nodes",order:0,disabled:!1,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#host-record"}]},aE={fields:[{inputType:"text",label:"Config.Scopes Claim",model:"config-scopes_claim",type:"input"},{inputType:"text",label:"Config.Scopes Required",model:"config-scopes_required",type:"input"},{inputType:"text",label:"Config.Audience Claim",model:"config-audience_claim",type:"input"},{inputType:"text",label:"Config.Audience Required",model:"config-audience_required",type:"input"},{inputType:"text",label:"Config.Roles Claim",model:"config-roles_claim",type:"input"},{inputType:"text",label:"Config.Roles Required",model:"config-roles_required",type:"input"},{inputType:"text",label:"Config.Groups Claim",model:"config-groups_claim",type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"auth-array-item-container",fieldItemsClasses:"auth-array-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",newElementButtonLabelClasses:"auth-array-item-new",newElementButtonLabel:"+ Add"},{inputType:"text",label:"Config.Groups Required",model:"config-groups_required",type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"auth-array-item-container",fieldItemsClasses:"auth-array-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",newElementButtonLabelClasses:"auth-array-item-new",newElementButtonLabel:"+ Add"},{inputType:"text",label:"Config.Authenticated Groups Claim",model:"config-authenticated_groups_claim",type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"auth-array-item-container",fieldItemsClasses:"auth-array-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",newElementButtonLabelClasses:"auth-array-item-new",newElementButtonLabel:"+ Add"}]},rE={fields:[{inputType:"text",label:"Config.Client Id",model:"config-client_id",type:"input"},{inputType:"text",label:"Config.Client Secret",model:"config-client_secret",type:"input"},{inputType:"text",label:"Config.Issuer",model:"config-issuer",required:!0,type:"input"},{inputType:"text",label:"Config.Auth Methods",model:"config-auth_methods",type:"input"}]},lE={name:"OIDCForm",components:{VueFormGenerator:Pe},props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},data(){return{init:!1,authMethods:[],sessionManagement:!1,globalFields:null,commonFieldsSchema:null,authFieldsSchema:null,advancedFieldsSchema:{fields:[]},advancedFields:null,tabs:[{hash:"#common",title:"Common"},{hash:"#authorization",title:"Authorization"},{hash:"#advanced",title:"Advanced"}]}},computed:{displayForm(){return this.formModel.id&&this.isEditing||!this.isEditing}},watch:{formModel:{handler:function(){this.oidcSetup()}}},mounted(){this.oidcSetup()},methods:{oidcSetup(){var e;this.init||(this.init=!0,this.globalFields={fields:this.formSchema.fields.filter(i=>!i.model.startsWith("config")&&i.model!=="tags")},this.commonFieldsSchema={...rE},this.authFieldsSchema={...aE},this.advancedFieldsSchema.fields=this.formSchema.fields.filter(i=>i.model.startsWith("config")&&!this.commonFieldsSchema.fields.filter(o=>o.model===i.model).length&&!this.authFieldsSchema.fields.filter(o=>o.model===i.model).length||i.model==="tags"),this.advancedFieldsSchema.fields=this.advancedFieldsSchema.fields.map(i=>oE.fields.find(a=>a.model===i.model)||i),this.commonFieldsSchema.fields=this.commonFieldsSchema.fields.filter(i=>i.model!=="config-auth_methods"),this.sessionManagement=this.isEditing?this.formModel["config-auth_methods"].includes("session"):!1,this.authMethods=[{label:"Authorization Code Flow",value:"authorization_code",hint:"authorization code flow",prop:this.isEditing?this.formModel["config-auth_methods"].includes("authorization_code"):!1},{label:"Bearer Access Token",value:"bearer",hint:"JWT access token verification",prop:this.isEditing?this.formModel["config-auth_methods"].includes("bearer"):!1},{label:"Client Credentials Grant",value:"client_credentials",hint:"OAuth client credentials grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("client_credentials"):!1},{label:"Passwords Grant",value:"password",hint:"OAuth legacy password grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("password"):!1},{label:"Introspection",value:"introspection",hint:"OAuth introspection",prop:this.isEditing?this.formModel["config-auth_methods"].includes("introspection"):!1},{label:"UserInfo",value:"userinfo",hint:"OpenID Connect user info endpoint authentication",prop:this.isEditing?this.formModel["config-auth_methods"].includes("userinfo"):!1},{label:"Kong OAuth",value:"kong_oauth2",hint:"Kong OAuth plugin issued tokens verification",prop:this.isEditing?this.formModel["config-auth_methods"].includes("kong_oauth2"):!1},{label:"Refresh Token",value:"refresh_token",hint:"OAuth refresh token grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("refresh_token"):!1}]);const n={};for(const i of this.formSchema.fields)n[i.model]=i;for(const i of[this.commonFieldsSchema,this.authFieldsSchema,this.advancedFieldsSchema])for(const o of i.fields){const a=(e=n[o.model])==null?void 0:e.help;o.help===void 0&&typeof a=="string"&&(o.help=a)}},getAuthMethodsValue(e,n){const i=[];for(let o=0;o<this.authMethods.length;o++)this.authMethods[o].prop&&this.authMethods[o].value!==e&&i.push(this.authMethods[o].value);return this.sessionManagement&&e&&i.push("session"),n&&(e?i.push(e):i.push("session")),i},handleUpdate(e,n){this.formModel["config-auth_methods"]=this.getAuthMethodsValue(n,e),this.onModelUpdated()}}},Qt=e=>(t.pushScopeId("data-v-2db4bab5"),e=e(),t.popScopeId(),e),sE={class:"general-settings"},cE={class:"link-wrapper"},dE=Qt(()=>t.createElementVNode("span",{class:"section-header"},"Common Configuration Settings",-1)),pE=Qt(()=>t.createElementVNode("div",{class:"description"}," Parameters for enabling the OpenID Connect plugin. Set these parameters before adding authorization, authentication, or other advanced configuration details. ",-1)),uE={class:"auth-method-container"},mE={class:"general-settings"},gE={class:"link-wrapper"},fE=Qt(()=>t.createElementVNode("span",{class:"section-header"},"Authorization Configuration Settings",-1)),AE=Qt(()=>t.createElementVNode("div",{class:"description"}," Parameters for setting up claims-based authorization. ",-1)),hE={class:"general-settings"},yE={class:"link-wrapper"},bE=Qt(()=>t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings",-1)),wE=Qt(()=>t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the OpenID Connect plugin. ",-1));function CE(e,n,i,o,a,r){const l=t.resolveComponent("VueFormGenerator"),s=t.resolveComponent("KExternalLink"),c=t.resolveComponent("KLabel"),d=t.resolveComponent("KCheckbox"),p=t.resolveComponent("KInputSwitch"),m=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[i.formModel.id&&i.isEditing||!i.isEditing?(t.openBlock(),t.createBlock(l,{key:0,class:"global-fields",model:i.formModel,options:i.formOptions,schema:a.globalFields,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(m,{tabs:a.tabs},{common:t.withCtx(()=>[t.createElementVNode("div",sE,[t.createElementVNode("div",cE,[t.createVNode(s,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#important-configuration-parameters"},{default:t.withCtx(()=>[dE]),_:1})]),pE,r.displayForm?(t.openBlock(),t.createBlock(l,{key:0,model:i.formModel,options:i.formOptions,schema:a.commonFieldsSchema,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(c,null,{default:t.withCtx(()=>[t.createTextVNode("Auth Methods")]),_:1}),t.createElementVNode("div",uE,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.authMethods,g=>(t.openBlock(),t.createElementBlock("div",{key:g.value,class:"auth-method"},[t.createVNode(d,{modelValue:g.prop,"onUpdate:modelValue":h=>g.prop=h,onChange:h=>r.handleUpdate(h,g.value)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(g.label),1)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]))),128))]),t.createVNode(p,{modelValue:a.sessionManagement,"onUpdate:modelValue":n[0]||(n[0]=g=>a.sessionManagement=g),label:"Enable Session Management",onChange:r.handleUpdate},null,8,["modelValue","onChange"])])]),authorization:t.withCtx(()=>[t.createElementVNode("div",mE,[t.createElementVNode("div",gE,[t.createVNode(s,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#authorization"},{default:t.withCtx(()=>[fE]),_:1})]),AE,r.displayForm?(t.openBlock(),t.createBlock(l,{key:0,model:i.formModel,options:i.formOptions,schema:a.authFieldsSchema,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),advanced:t.withCtx(()=>[t.createElementVNode("div",hE,[t.createElementVNode("div",yE,[t.createVNode(s,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/"},{default:t.withCtx(()=>[bE]),_:1})]),wE,r.displayForm?(t.openBlock(),t.createBlock(l,{key:0,model:i.formModel,options:i.formOptions,schema:a.advancedFieldsSchema,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:1},8,["tabs"])])}const EE=ie(lE,[["render",CE],["__scopeId","data-v-2db4bab5"]]),kE={packageName:"forms"},BE={view_advanced_fields:"View Advanced Fields",window_type:{label:"Rate Limit Window Type",help:"Sets the time window type to either <code>sliding</code> (default) or <code>fixed</code>.<br><ul><li>Sliding windows apply the rate limiting logic while taking into account previous hit rates (from the window that immediately precedes the current) using a dynamic weight.</li><li>Fixed windows consist of buckets that are statically assigned to a definitive time range, each request is mapped to only one fixed window based on its timestamp and will affect only that window's counters.</li></ul>",options:{fixed:"Fixed",sliding:"Sliding"}},request_limits:{title:"Request Limits",subtitle:"Set one or more limits on the number of API requests allowed within a defined timeframe.",label:"Limit",label_index:"Limit {index}",request_number:"Request number",time_interval:"Time interval",interval_determiner:"Every",seconds:"Seconds"},start_with_a_use_case:"Start with a use case:",use_case_index:"Use case {index}",error_message:{label:"Error Message",code_placeholder:"Code Message",message_placeholder:"Error Message",help:"Set a custom error code and message to be returned when the rate limit is exceeded."},identifiers:{label:"Identifiers",options:{ip:"IP",credential:"Credential",consumer:"Consumer",service:"Service",header:"Header",path:"Path","consumer-group":"Consumer Group"}},redis:{title:"Configure your Redis",address_example:"e.g. localhost:6379"}},po={general:kE,"post-function":{tags:{hint:"e.g. tag1, tag2, tag3",newElementButtonLabel:"+ Add"},enabled:{newElementButtonLabel:"+ Add"},selectionGroup:{newElementButtonLabel:"+ Add"},instance_name:{newElementButtonLabel:"+ Add"},name:{newElementButtonLabel:"+ Add"},"config-certificate":{help:"Array of stringified Lua code to be cached and run in sequence during the certificate phase.",newElementButtonLabel:"+ Add"},"config-access":{help:"Array of stringified Lua code to be cached and run in sequence during the access phase.",newElementButtonLabel:"+ Add"},"config-body_filter":{help:"Array of stringified Lua code to be cached and run in sequence during the body_filter phase.",newElementButtonLabel:"+ Add"},"config-header_filter":{help:"Array of stringified Lua code to be cached and run in sequence during the header_filter phase.",newElementButtonLabel:"+ Add"},"config-functions":{newElementButtonLabel:"+ Add"},"config-log":{newElementButtonLabel:"+ Add"},"config-rewrite":{newElementButtonLabel:"+ Add"},"config-ws_client_frame":{newElementButtonLabel:"+ Add"},"config-ws_close":{newElementButtonLabel:"+ Add"},"config-ws_handshake":{newElementButtonLabel:"+ Add"},"config-ws_upstream_frame":{newElementButtonLabel:"+ Add"}},"exit-transformer":{"config-functions":{newElementButtonLabel:"+ Add"}},rla:BE},SE=t.defineComponent({__name:"PostFunction",props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},setup(e){const{t:n,te:i}=bt.createI18n("en-us",po),o=e,a=t.computed(()=>o.formModel.id&&o.isEditing||!o.isEditing),r=t.computed(()=>{const l=o.formSchema;return l.fields.map(s=>{const c=`post-function.${s.model}`;return s.hint=i(`${c}.hint`)&&n(`${c}.hint`)||s.hint,s.help=i(`${c}.help`)&&n(`${c}.help`)||s.help,s.newElementButtonLabel=i(`${c}.newElementButtonLabel`)&&n(`${c}.newElementButtonLabel`)||s.newElementButtonLabel,s.model!=="tags"&&(s.valueType==="array"||s.type==="array")&&(s.type="array",s.valueArrayType="array",s.itemContainerComponent="FieldArrayItem",s.fieldClasses="post-function-array-item-container",s.fieldItemsClasses="post-function-array-item",s.inputAttributes={...s.inputAttributes,type:"textarea"}),s}),l});return(l,s)=>a.value?(t.openBlock(),t.createBlock(Pe,{key:0,model:e.formModel,options:e.formOptions,schema:r.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),xE=ie(SE,[["__scopeId","data-v-29614a77"]]),OE=t.defineComponent({__name:"ExitTransformer",props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},setup(e){const{t:n,te:i}=bt.createI18n("en-us",po),o=e,a=t.computed(()=>o.formModel.id&&o.isEditing||!o.isEditing),r=t.computed(()=>{const l=o.formSchema;return l.fields.map(s=>{const c=`exit-transformer.${s.model}`;return s.hint=i(`${c}.hint`)&&n(`${c}.hint`)||s.hint,s.help=i(`${c}.help`)&&n(`${c}.help`)||s.help,s.newElementButtonLabel=i(`${c}.newElementButtonLabel`)&&n(`${c}.newElementButtonLabel`)||s.newElementButtonLabel,s.model!=="tags"&&(s.valueType==="array"||s.type==="array")&&(s.type="array",s.valueArrayType="array",s.itemContainerComponent="FieldArrayItem",s.fieldClasses="exit-transformer-array-item-container",s.fieldItemsClasses="exit-transformer-array-item",s.inputAttributes={...s.inputAttributes,type:"textarea"}),s}),l});return(l,s)=>a.value?(t.openBlock(),t.createBlock(Pe,{key:0,model:e.formModel,options:e.formOptions,schema:r.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),IE=ie(OE,[["__scopeId","data-v-8837769c"]]),ME={fields:[{inputType:"text",label:"Config.Account Email",model:"config-account_email",required:!0,type:"input"},{inputType:"text",label:"Config.Account Key.Key Id",model:"config-account_key-key_id",required:!0,type:"input"},{type:"input",inputType:"text",valueType:"string",label:"Config.Account Key.Key Set",model:"config-account_key-key_set",order:0,disabled:!1},{type:"checkbox",default:!1,valueType:"boolean",label:"Config.Allow Any Domain",model:"config-allow_any_domain",order:0,disabled:!1}]},RE={fields:[{type:"input",default:"",inputType:"text",valueType:"string",model:"config-api_uri",label:"Config.Api Uri",order:0,disabled:!1},{type:"checkbox",default:!1,valueType:"boolean",model:"config-tos_accepted",label:"Config.Tos Accepted",order:0,disabled:!1}]},vE={fields:[{type:"input",default:"",inputType:"text",valueType:"string",model:"config-api_uri",label:"Config.Api Uri",order:0,disabled:!1},{type:"input",inputType:"text",valueType:"string",model:"config-eab_hmac_key",label:"Config.Eab Hmac Key",order:0,disabled:!1},{type:"input",inputType:"text",valueType:"string",model:"config-eab_kid",label:"Config.Eab Kid",order:0,disabled:!1}]},Lt=e=>(t.pushScopeId("data-v-89cd3d63"),e=e(),t.popScopeId(),e),TE={class:"general-settings"},NE=Lt(()=>t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"General Configuration Settings")],-1)),VE=Lt(()=>t.createElementVNode("div",{class:"description"}," Parameters for enabling the ACME plugin. ",-1)),LE=Lt(()=>t.createElementVNode("hr",null,null,-1)),DE={class:"sub-form"},jE={class:"general-settings"},PE=Lt(()=>t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Storage Configuration Settings")],-1)),UE=Lt(()=>t.createElementVNode("div",{class:"description"}," Parameters for setting up storage. ",-1)),YE={class:"sub-form"},GE={class:"general-settings"},HE=Lt(()=>t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings")],-1)),FE=Lt(()=>t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the ACME plugin. ",-1)),zE=t.defineComponent({__name:"ACMEForm",props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},setup(e){const n=e,i=t.ref("zeroSsl"),o=t.ref("shm"),a=t.computed(()=>{var f;const A={};if((f=n.formSchema)!=null&&f.fields)for(const B of n.formSchema.fields)A[B.model]=B;return A}),r=t.computed(()=>{var f;const A=st(ME);for(const B of A.fields){const S=(f=a.value[B.model])==null?void 0:f.help;B.help===void 0&&typeof S=="string"&&(B.help=S)}return A}),l=t.computed(()=>{var f;const A=st(RE);for(const B of A.fields){const S=(f=a.value[B.model])==null?void 0:f.help;B.help===void 0&&typeof S=="string"&&(B.help=S)}return A}),s=t.computed(()=>{var f;const A=st(vE);for(const B of A.fields){const S=(f=a.value[B.model])==null?void 0:f.help;B.help===void 0&&typeof S=="string"&&(B.help=S)}return A}),c=t.computed(()=>({fields:n.formSchema.fields.filter(f=>!f.model.startsWith("config")&&f.model!=="tags")})),d=t.computed(()=>({fields:r.value.fields.filter(f=>!l.value.fields.some(A=>A.model===f.model)&&!s.value.fields.some(A=>A.model===f.model))})),p=t.computed(()=>({fields:n.formSchema.fields.filter(f=>f.model.startsWith("config-storage")&&!f.model.startsWith("config-storage_config-consul")&&!f.model.startsWith("config-storage_config-redis")&&!f.model.startsWith("config-storage_config-shm")&&!f.model.startsWith("config-storage_config-vault"))})),m=t.computed(()=>({fields:n.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-consul"))})),g=t.computed(()=>({fields:n.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-redis"))})),h=t.computed(()=>({fields:n.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-shm"))})),k=t.computed(()=>({fields:n.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-vault"))})),y=t.computed(()=>({fields:n.formSchema.fields.filter(f=>f.model.startsWith("config")&&!d.value.fields.filter(A=>A.model===f.model).length&&!p.value.fields.filter(A=>A.model===f.model).length||f.model==="tags")})),C=t.computed(()=>n.formModel.id&&n.isEditing||!n.isEditing),E=[{hash:"#general",title:"General"},{hash:"#storage",title:"Storage"},{hash:"#advanced",title:"Advanced"}],x=[{label:"Lets Encrypt",value:"letsEncrypt"},{label:"Zero SSL",value:"zeroSsl",selected:!0},{label:"Other",value:"other"}];t.onMounted(()=>{i.value==="zeroSsl"&&(n.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90")});const v=f=>{i.value=f.value,(f.value==="zeroSsl"||f.value==="other")&&(f.value==="zeroSsl"?n.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90":n.formModel["config-api_uri"]="https://acme.example.com/",n.formModel["config-tos_accepted"]=!1),f.value==="letsEncrypt"&&(n.formModel["config-api_uri"]="https://acme-v02.api.letsencrypt.org/directory",n.formModel["config-eab_hmac_key"]="",n.formModel["config-eab_kid"]=""),n.onModelUpdated()},b=(f,A)=>{A==="config-storage"&&(o.value=f),n.onModelUpdated()};return(f,A)=>{const B=t.resolveComponent("KSelect"),S=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[e.formModel.id&&e.isEditing||!e.isEditing?(t.openBlock(),t.createBlock(Pe,{key:0,class:"global-fields",model:e.formModel,options:e.formOptions,schema:c.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(S,{tabs:E},{general:t.withCtx(()=>[t.createElementVNode("div",TE,[NE,VE,C.value?(t.openBlock(),t.createBlock(Pe,{key:0,model:e.formModel,options:e.formOptions,schema:d.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),LE,t.createVNode(B,{class:"issuer-select",items:x,label:"Issuer",onChange:v}),t.createElementVNode("div",DE,[i.value==="letsEncrypt"?(t.openBlock(),t.createBlock(Pe,{key:0,model:e.formModel,options:e.formOptions,schema:l.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),i.value==="zeroSsl"||i.value==="other"?(t.openBlock(),t.createBlock(Pe,{key:1,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),storage:t.withCtx(()=>[t.createElementVNode("div",jE,[PE,UE,C.value?(t.openBlock(),t.createBlock(Pe,{key:0,model:e.formModel,options:e.formOptions,schema:p.value,onModelUpdated:b},null,8,["model","options","schema"])):t.createCommentVNode("",!0),t.createElementVNode("div",YE,[o.value==="consul"?(t.openBlock(),t.createBlock(Pe,{key:0,model:e.formModel,options:e.formOptions,schema:m.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="redis"?(t.openBlock(),t.createBlock(Pe,{key:1,model:e.formModel,options:e.formOptions,schema:g.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="shm"?(t.openBlock(),t.createBlock(Pe,{key:2,model:e.formModel,options:e.formOptions,schema:h.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="vault"?(t.openBlock(),t.createBlock(Pe,{key:3,model:e.formModel,options:e.formOptions,schema:k.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),advanced:t.withCtx(()=>[t.createElementVNode("div",GE,[HE,FE,C.value?(t.openBlock(),t.createBlock(Pe,{key:0,model:e.formModel,options:e.formOptions,schema:y.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:1})])}}}),KE=ie(zE,[["__scopeId","data-v-89cd3d63"]]),zl=e=>(t.pushScopeId("data-v-5e85c36c"),e=e(),t.popScopeId(),e),qE={class:"rla-form-basic-fields"},XE={class:"rla-form-request-limits-subtitle"},JE={class:"rla-form-request-limits-content"},ZE={class:"rla-form-window-type"},WE=["innerHTML"],QE={class:"rla-form-window-type-radios"},_E={class:"rla-form-request-limits-items"},$E={class:"rla-form-request-limits-row"},ek=["id"],tk={class:"rla-form-request-limits-actions"},nk={key:0,class:"rla-form-request-limits-examples"},ik={class:"rla-form-request-limits-examples-badges"},ok=zl(()=>t.createElementVNode("br",null,null,-1)),ak=["innerHTML"],rk={id:"rla-form-error-legend",class:"rla-form-error-inputs"},lk=zl(()=>t.createElementVNode("div",null,":",-1)),sk=t.defineComponent({__name:"RLAForm",props:{formSchema:{},formModel:{},formOptions:{},onModelUpdated:{type:Function},isEditing:{type:Boolean}},setup(e){const n={fixed:[{label:"500 requests every hour",description:"A fixed limit of 500 requests per hour resetting sharply on the hour, ensuring no user can exceed this limit.",config:{limit:500,window_size:3600}},{label:"200 requests every 30 minutes",description:"Users are allowed 200 requests per 30 minutes, resetting exactly on the 30 minute mark with no carryover of unused limits.",config:{limit:200,window_size:1800}},{label:"500 requests every day",description:"A strict limit of 5000 requests per day resetting promptly at midnight, preventing any burst traffic or inconsistent user experiences.",config:{limit:500,window_size:86400}}],sliding:[{label:"100 requests every hour",description:"Maximum of 100 requests every rolling hour, continuously adjusting the count over the course of the hour. No hard limit or known reset.",config:{limit:100,window_size:3600}},{label:"300 requests every 30 minutes",description:"Each user can make up to 300 requests in any rolling 30 minute period, with older requests dropping off as new requests are made.",config:{limit:300,window_size:1800}},{label:"500 requests every hour",description:`Each user is allowed 500 requests per hour.
|
|
87
|
+
client. If missing, it will be generated for you.`,inputType:"text",encrypted:!0}}]},yf={fields:[{id:{type:"string",auto:!0,uuid:!0,description:"A string representing a UUID (universally unique identifier)."}},{created_at:{type:"integer",auto:!0,timestamp:!0,description:"An integer representing an automatic Unix timestamp in seconds."}},{consumer:{required:!0,on_delete:"cascade",reference:"consumers",type:"foreign"}},{key:{required:!1,unique:!0,auto:!0,encrypted:!0,type:"string"}},{tags:{type:"set",elements:{type:"string",required:!0,description:"A string representing a tag."},description:"A set of strings representing tags."}}]},qe={"basic-auth":{descriptionKey:"plugins.meta.basic-auth.description",group:D.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.basic-auth.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",group:D.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.hmac-auth.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",group:D.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.jwt-signer.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},jwt:{descriptionKey:"plugins.meta.jwt.description",group:D.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.jwt.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",group:D.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.key-auth.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"key-auth-enc":{descriptionKey:"plugins.meta.key-auth-enc.description",group:D.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.key-auth-enc.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"ldap-auth-advanced":{descriptionKey:"plugins.meta.ldap-auth-advanced.description",group:D.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.ldap-auth-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",group:D.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.ldap-auth.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",group:D.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.oauth2-introspection.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",group:D.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.oauth2.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",group:D.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.openid-connect.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",group:D.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.mtls-auth.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",group:D.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.vault-auth.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",group:D.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.bot-detection.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},cors:{descriptionKey:"plugins.meta.cors.description",group:D.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.cors.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"ip-restriction":{descriptionKey:"plugins.meta.ip-restriction.description",group:D.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.ip-restriction.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP],fieldRules:{atLeastOneOf:[["config.allow","config.deny"]]}},opa:{descriptionKey:"plugins.meta.opa.description",group:D.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.opa.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"kubernetes-sidecar-injector":{descriptionKey:"plugins.meta.kubernetes-sidecar-injector.description",group:D.DEPLOYMENT,isEnterprise:!1,nameKey:"plugins.meta.kubernetes-sidecar-injector.name",scope:[u.GLOBAL]},"request-validator":{descriptionKey:"plugins.meta.request-validator.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.request-validator.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],fieldRules:{atLeastOneOf:[["config.body_schema","config.parameter_schema"]]}},acl:{descriptionKey:"plugins.meta.acl.description",group:D.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.acl.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE],fieldRules:{onlyOneOf:[["config.allow","config.deny"]]}},canary:{descriptionKey:"plugins.meta.canary.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.canary.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE],fieldRules:{atLeastOneOf:[["config.upstream_uri","config.upstream_host","config.upstream_port"]]}},"forward-proxy":{descriptionKey:"plugins.meta.forward-proxy.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.forward-proxy.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]}},"proxy-cache":{descriptionKey:"plugins.meta.proxy-cache.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.proxy-cache.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP]},"proxy-cache-advanced":{descriptionKey:"plugins.meta.proxy-cache-advanced.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.proxy-cache-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP],imageName:"proxy-cache"},"graphql-proxy-cache-advanced":{descriptionKey:"plugins.meta.graphql-proxy-cache-advanced.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.graphql-proxy-cache-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],imageName:"graphql"},"rate-limiting-advanced":{descriptionKey:"plugins.meta.rate-limiting-advanced.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.rate-limiting-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP]},"rate-limiting":{descriptionKey:"plugins.meta.rate-limiting.description",group:D.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.rate-limiting.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP],fieldRules:{atLeastOneOf:[["config.second","config.minute","config.hour","config.day","config.month","config.year"]]}},"graphql-rate-limiting-advanced":{descriptionKey:"plugins.meta.graphql-rate-limiting-advanced.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.graphql-rate-limiting-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},mocking:{descriptionKey:"plugins.meta.mocking.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.mocking.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],fieldRules:{atLeastOneOf:[["config.api_specification_filename","config.api_specification"]]}},"request-size-limiting":{descriptionKey:"plugins.meta.request-size-limiting.description",group:D.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.request-size-limiting.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",group:D.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.request-termination.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",group:D.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.response-ratelimiting.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"route-by-header":{descriptionKey:"plugins.meta.route-by-header.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.route-by-header.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"ai-proxy":{descriptionKey:"plugins.meta.ai-proxy.description",group:D.SERVERLESS,isEnterprise:!0,nameKey:"plugins.meta.ai-proxy.name",scope:[u.ROUTE],useLegacyForm:!0},"ai-prompt-decorator":{descriptionKey:"plugins.meta.ai-prompt-decorator.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-decorator.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],useLegacyForm:!0},"ai-prompt-template":{descriptionKey:"plugins.meta.ai-prompt-template.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-template.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE],useLegacyForm:!0},"ai-prompt-guard":{descriptionKey:"plugins.meta.ai-prompt-guard.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-guard.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],useLegacyForm:!0},"ai-request-transformer":{descriptionKey:"plugins.meta.ai-request-transformer.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.ai-request-transformer.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE],useLegacyForm:!0},"ai-response-transformer":{descriptionKey:"plugins.meta.ai-response-transformer.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.ai-response-transformer.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE],useLegacyForm:!0},"ai-rate-limiting-advanced":{descriptionKey:"plugins.meta.ai-rate-limiting-advanced.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.ai-rate-limiting-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP],useLegacyForm:!0},"ai-azure-content-safety":{descriptionKey:"plugins.meta.ai-azure-content-safety.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.ai-azure-content-safety.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE],useLegacyForm:!0},"aws-lambda":{descriptionKey:"plugins.meta.aws-lambda.description",group:D.SERVERLESS,isEnterprise:!1,nameKey:"plugins.meta.aws-lambda.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",group:D.SERVERLESS,isEnterprise:!0,nameKey:"plugins.meta.azure-functions.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",group:D.SERVERLESS,isEnterprise:!1,nameKey:"plugins.meta.openwhisk.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",group:D.SERVERLESS,isEnterprise:!0,nameKey:"plugins.meta.pre-function.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE],imageName:"kong-function"},"post-function":{descriptionKey:"plugins.meta.post-function.description",group:D.SERVERLESS,isEnterprise:!0,nameKey:"plugins.meta.post-function.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE],imageName:"kong-function"},datadog:{descriptionKey:"plugins.meta.datadog.description",group:D.ANALYTICS_AND_MONITORING,isEnterprise:!1,nameKey:"plugins.meta.datadog.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},prometheus:{descriptionKey:"plugins.meta.prometheus.description",group:D.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.prometheus.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},zipkin:{descriptionKey:"plugins.meta.zipkin.description",group:D.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.zipkin.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},collector:{descriptionKey:"plugins.meta.collector.description",group:D.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.collector.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"response-transformer-advanced":{descriptionKey:"plugins.meta.response-transformer-advanced.description",group:D.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.response-transformer-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",group:D.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.correlation-id.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"request-transformer-advanced":{descriptionKey:"plugins.meta.request-transformer-advanced.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.request-transformer-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",group:D.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.request-transformer.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",group:D.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.response-transformer.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER,u.CONSUMER_GROUP]},"route-transformer-advanced":{descriptionKey:"plugins.meta.route-transformer-advanced.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.route-transformer-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],fieldRules:{atLeastOneOf:[["config.path","config.port","config.host"]]}},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.kafka-upstream.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.degraphql.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.exit-transformer.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],imageName:"exit-transformer"},jq:{descriptionKey:"plugins.meta.jq.description",group:D.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.jq.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],imageName:"jq",fieldRules:{atLeastOneOf:[["config.request_jq_program","config.response_jq_program"]]}},"file-log":{descriptionKey:"plugins.meta.file-log.description",group:D.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.file-log.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"http-log":{descriptionKey:"plugins.meta.http-log.description",group:D.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.http-log.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},loggly:{descriptionKey:"plugins.meta.loggly.description",group:D.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.loggly.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",group:D.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.statsd-advanced.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},statsd:{descriptionKey:"plugins.meta.statsd.description",group:D.ANALYTICS_AND_MONITORING,isEnterprise:!1,nameKey:"plugins.meta.statsd.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},syslog:{descriptionKey:"plugins.meta.syslog.description",group:D.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.syslog.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",group:D.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.tcp-log.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",group:D.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.udp-log.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",group:D.LOGGING,isEnterprise:!0,nameKey:"plugins.meta.kafka-log.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},session:{descriptionKey:"plugins.meta.session.description",group:D.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.session.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",group:D.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.upstream-tls.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",group:D.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.application-registration.name",scope:[u.SERVICE]},"konnect-application-auth":{descriptionKey:"plugins.meta.konnect-application-auth.description",group:D.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.konnect-application-auth.name",scope:[u.GLOBAL,u.SERVICE],imageName:"application-registration"},acme:{descriptionKey:"plugins.meta.acme.description",group:D.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.acme.name",scope:[u.GLOBAL]},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",group:D.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.grpc-gateway.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",group:D.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.grpc-web.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.upstream-timeout.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},opentelemetry:{descriptionKey:"plugins.meta.opentelemetry.description",group:D.ANALYTICS_AND_MONITORING,isEnterprise:!1,nameKey:"plugins.meta.opentelemetry.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.websocket-validator.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"websocket-size-limit":{descriptionKey:"plugins.meta.websocket-size-limit.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.websocket-size-limit.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER],fieldRules:{atLeastOneOf:[["config.client_max_payload","config.upstream_max_payload"]]}},"tls-metadata-headers":{descriptionKey:"plugins.meta.tls-metadata-headers.description",group:D.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.tls-metadata-headers.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"tls-handshake-modifier":{descriptionKey:"plugins.meta.tls-handshake-modifier.description",group:D.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.tls-handshake-modifier.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.oas-validation.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",group:D.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.jwe-decrypt.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"xml-threat-protection":{descriptionKey:"plugins.meta.xml-threat-protection.description",group:D.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.xml-threat-protection.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]},saml:{descriptionKey:"plugins.meta.saml.description",group:D.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.saml.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE]},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",group:D.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.app-dynamics.name",scope:[u.GLOBAL,u.SERVICE,u.ROUTE,u.CONSUMER]}},Kt={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:Qa,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:xt(Qa),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:_a,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:xt(_a)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:$a,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:xt($a)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:nr,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:xt(nr)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:tr,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:xt(tr)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:er,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:xt(er)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:ff,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},bf={acls:df,basicauth_credentials:pf,keyauth_credentials:uf,keyauth_enc_credentials:yf,oauth2_credentials:hf,hmacauth_credentials:mf,jwt_secrets:Af},ir=e=>{var o;const n=((o=qe[e])==null?void 0:o.imageName)||e||"missing",i=new URL(Object.assign({"../assets/images/plugin-icons/acl.png":Im,"../assets/images/plugin-icons/acme.png":Mm,"../assets/images/plugin-icons/ai-azure-content-safety.png":Rm,"../assets/images/plugin-icons/ai-data-sanitization.png":vm,"../assets/images/plugin-icons/ai-prompt-decorator.png":Tm,"../assets/images/plugin-icons/ai-prompt-guard.png":Nm,"../assets/images/plugin-icons/ai-prompt-template.png":Vm,"../assets/images/plugin-icons/ai-proxy.png":Lm,"../assets/images/plugin-icons/ai-rate-limiting-advanced.png":Dm,"../assets/images/plugin-icons/ai-request-transformer.png":jm,"../assets/images/plugin-icons/ai-response-transformer.png":Pm,"../assets/images/plugin-icons/app-dynamics.png":Um,"../assets/images/plugin-icons/application-registration.png":Ym,"../assets/images/plugin-icons/aws-lambda.png":Gm,"../assets/images/plugin-icons/azure-functions.png":Hm,"../assets/images/plugin-icons/basic-auth.png":Fm,"../assets/images/plugin-icons/bot-detection.png":zm,"../assets/images/plugin-icons/canary.png":Km,"../assets/images/plugin-icons/collector.png":qm,"../assets/images/plugin-icons/correlation-id.png":Xm,"../assets/images/plugin-icons/cors.png":Jm,"../assets/images/plugin-icons/datadog.png":Zm,"../assets/images/plugin-icons/degraphql.png":Wm,"../assets/images/plugin-icons/dynamic-ssl.png":Qm,"../assets/images/plugin-icons/exit-transformer.png":_m,"../assets/images/plugin-icons/file-log.png":$m,"../assets/images/plugin-icons/forward-proxy.png":eg,"../assets/images/plugin-icons/graphql-rate-limiting-advanced.png":tg,"../assets/images/plugin-icons/graphql.png":ng,"../assets/images/plugin-icons/grpc-gateway.png":ig,"../assets/images/plugin-icons/grpc-web.png":og,"../assets/images/plugin-icons/hmac-auth.png":ag,"../assets/images/plugin-icons/http-log.png":rg,"../assets/images/plugin-icons/ip-restriction.png":lg,"../assets/images/plugin-icons/jq.png":sg,"../assets/images/plugin-icons/jwe-decrypt.png":cg,"../assets/images/plugin-icons/jwt-signer.png":dg,"../assets/images/plugin-icons/jwt.png":pg,"../assets/images/plugin-icons/kafka-log.png":ug,"../assets/images/plugin-icons/kafka-upstream.png":mg,"../assets/images/plugin-icons/key-auth-enc.png":gg,"../assets/images/plugin-icons/key-auth.png":fg,"../assets/images/plugin-icons/kong-function.png":Ag,"../assets/images/plugin-icons/kubernetes-sidecar-injector.png":hg,"../assets/images/plugin-icons/ldap-auth-advanced.png":yg,"../assets/images/plugin-icons/ldap-auth.png":bg,"../assets/images/plugin-icons/loggly.png":wg,"../assets/images/plugin-icons/missing.png":Cg,"../assets/images/plugin-icons/mocking.png":Eg,"../assets/images/plugin-icons/mtls-auth.png":kg,"../assets/images/plugin-icons/new.png":Bg,"../assets/images/plugin-icons/oas-validation.png":Sg,"../assets/images/plugin-icons/oauth2-introspection.png":xg,"../assets/images/plugin-icons/oauth2.png":Og,"../assets/images/plugin-icons/opa.png":Ig,"../assets/images/plugin-icons/openid-connect.png":Mg,"../assets/images/plugin-icons/opentelemetry.png":Rg,"../assets/images/plugin-icons/openwhisk.png":vg,"../assets/images/plugin-icons/prometheus.png":Tg,"../assets/images/plugin-icons/proxy-cache.png":Ng,"../assets/images/plugin-icons/rate-limiting-advanced.png":Vg,"../assets/images/plugin-icons/rate-limiting.png":Lg,"../assets/images/plugin-icons/request-size-limiting.png":Dg,"../assets/images/plugin-icons/request-termination.png":jg,"../assets/images/plugin-icons/request-transformer-advanced.png":Pg,"../assets/images/plugin-icons/request-transformer.png":Ug,"../assets/images/plugin-icons/request-validator.png":Yg,"../assets/images/plugin-icons/response-ratelimiting.png":Gg,"../assets/images/plugin-icons/response-transformer-advanced.png":Hg,"../assets/images/plugin-icons/response-transformer.png":Fg,"../assets/images/plugin-icons/route-by-header.png":zg,"../assets/images/plugin-icons/route-transformer-advanced.png":Kg,"../assets/images/plugin-icons/runscope.png":qg,"../assets/images/plugin-icons/saml.png":Xg,"../assets/images/plugin-icons/session.png":Jg,"../assets/images/plugin-icons/statsd-advanced.png":Zg,"../assets/images/plugin-icons/statsd.png":Wg,"../assets/images/plugin-icons/syslog.png":Qg,"../assets/images/plugin-icons/tcp-log.png":_g,"../assets/images/plugin-icons/tls-handshake-modifier.png":$g,"../assets/images/plugin-icons/tls-metadata-headers.png":ef,"../assets/images/plugin-icons/udp-log.png":tf,"../assets/images/plugin-icons/upstream-timeout.png":nf,"../assets/images/plugin-icons/upstream-tls.png":of,"../assets/images/plugin-icons/vault-auth.png":af,"../assets/images/plugin-icons/websocket-size-limit.png":rf,"../assets/images/plugin-icons/websocket-validator.png":lf,"../assets/images/plugin-icons/xml-threat-protection.png":sf,"../assets/images/plugin-icons/zipkin.png":cf})[`../assets/images/plugin-icons/${n}.png`],typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Pt&&Pt.src||new URL("entities-plugins.umd.js",document.baseURI).href).href;return i.includes("undefined")?new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAMAAABKCk6nAAAAhFBMVEUAAADs+fnr8PTo7fLm7PDl6e7j6+7j6O3i6Ozh5+vp9PTm7PDj6e319fXn7PHj6O739/fn7PDi6e3////o7fLj6Ozt8fbj6u7r7vPi6ezo7fL////n7PHm6/Dl6+/q8PTs8vbu9Pjv9frw9vri6ezv9fnp7/Pt8vfk6u6cpar////e4ePLpSv+AAAAHnRSTlMAKIq93/T6/f7/W8z3GbL4Hr/9AZ39OPFo/Z4FzOeuk05oAAAFJklEQVR4Ae3ThZLjyhWA4SNdWJ9BMy/KA3n/twoXBafWWYb2QPi6Vd9XKGz4q5t4QPNZHDP2n8W/4uT0bJBUZHB2ehL/pPOLy6wQlxfn8bThaJxUajwaxuMm01lSsdl0Eo+YL5LKLebxoOUqqd5qGQ9YD7IHGKzjPptt9gTbzT19n2dv8Pyw8DZ7hG0U1tkrrOM7y0H2CoNlfGO+yp5hNY8vJovsHRaT+GyaPcQ03mkiYvjnNu4za94Ljtn+vd/Efc7+/sf4YJT32L286qjE1ctd3mMUH5yP89D1m46KvLnOQ+PzeO8iD+xuOipzs8sDF/HeZZZuX3dU5/Vtli7jnZMs7fSts/AuSycRcZqlm44q3WTpNCLOsnDdUanrLJxF29zF9zZ3QaXuNuWNJtosvOyo1ssstG0ThZ+Dah3Ea+LHIvmLjoq9KHL+2DYHyanYQc6jDYzACCxwZKGjallog177DwIjMAIjMAIjsMAIjMAIjMAIjMAILDACIzACIzACI7DACIzACIzACIzAAiMwAiMwAiMwAiOwwAiMwAiMwAiMwAIjMAIjMAIjMAILjMAIjMAIjMAIjMACIzACIzACIzACC4zACIzACIzACIzAAiMwAiMwAiMwAguMwAiMwAiMwAgsMAIjMAIjMAIjMAILjMAIjMAIjMAILDACIzACI/DP/6GjGENgBEZgBBYYgREYgREYgRGYJwMjMAIjMAI3TziCMQTmaAIjMAIjMAIjMAILjMAIjMAIjMAITBa6X9CveqD7hWWhDXpNYIERGIERGIERGIEFRmAERmAERuBKCdw2R68VGIERGIERWGAERmAERmAERmCBERiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIEFRmAERmAERuB+EPjt/ui9FRiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgWshcNscvVZgBEZgBEZggREYgREYgREYgQVGYARGYARGYARGYIERGIERGIERGIEFRmAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBBYYgREYgREYgftB4Lf7o/dWYARGYARGYIERGIERGIERGIEFRmAE5kj9GEfkb/EfwwkWGIERGIERGIERWGAERmAERmAERmAEFhiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIERWGAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBEZggREYgREYgREYgQVGYARGYARGYAQWGIERGIERGIERGIEFRmAERmAERmAEFhiBERiBERiBEZh2r3iflPn2B4HvgordPRl4H1RsL7DAfSJw/JCFq45qXWXhh3Yfhb8F1TqIt2/3ZeGf9kGl9j/F997XPcvCdUelrrNwFhGnWbrpqNJNlk4j4iRLu9cdFXq9y9JJvHOZpVuFa+x7m6XLeO8iD+xuOipzs8sDF/He+TgPXb/pqMib6zw0Po8PRnmP3curjkpcvdzlPUYR0UTE8M9t3GfWvBfHjP17v4n7nP39j/HRNOmhaXw2WSS9s5jEF/NV0jOreXxjOUh6ZbCM76yTXllHYZv0yDZKm+dJbzzfxGHhbdIT203cZz1IemCwjgcsV0n1Vst40HyRVG4xj0dMprOkYrPpJB43HI2TSo1Hw3ja+cVlUqHLi/P4J52cng2SigzOTk/iPk08oPksjhn7z+J+/wBSUhUZLUGZBgAAAABJRU5ErkJggg==",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Pt&&Pt.src||new URL("entities-plugins.umd.js",document.baseURI).href).href:i},wf=()=>{const{i18n:{t:e}}=Xn(),n={},i={};for(const[a,r]of Object.entries(qe))n[a]={...r,name:e(r.nameKey),description:e(r.descriptionKey)};for(const[a,r]of Object.entries(Kt))i[a]={...r,name:e(r.nameKey),title:e(r.titleKey)};return{pluginMetaData:n,credentialMetaData:i,credentialSchemas:Kt,getDisplayName:a=>{var r;return((r=n[a])==null?void 0:r.name)||a}}};function or(e,n){for(var i=-1,o=e==null?0:e.length;++i<o&&n(e[i],i,e)!==!1;);return e}function Cf(e){return function(n,i,o){for(var a=-1,r=Object(n),l=o(n),s=l.length;s--;){var c=l[e?s:++a];if(i(r[c],c,r)===!1)break}return n}}var Ef=Cf();const kf=Ef;function Bf(e,n){for(var i=-1,o=Array(e);++i<e;)o[i]=n(i);return o}var ar=typeof global=="object"&&global&&global.Object===Object&&global,Sf=typeof self=="object"&&self&&self.Object===Object&&self,He=ar||Sf||Function("return this")(),tt=He.Symbol,rr=Object.prototype,xf=rr.hasOwnProperty,Of=rr.toString,mn=tt?tt.toStringTag:void 0;function If(e){var n=xf.call(e,mn),i=e[mn];try{e[mn]=void 0;var o=!0}catch{}var a=Of.call(e);return o&&(n?e[mn]=i:delete e[mn]),a}var Mf=Object.prototype,Rf=Mf.toString;function vf(e){return Rf.call(e)}var Tf="[object Null]",Nf="[object Undefined]",lr=tt?tt.toStringTag:void 0;function mt(e){return e==null?e===void 0?Nf:Tf:lr&&lr in Object(e)?If(e):vf(e)}function nt(e){return e!=null&&typeof e=="object"}var Vf="[object Arguments]";function sr(e){return nt(e)&&mt(e)==Vf}var cr=Object.prototype,Lf=cr.hasOwnProperty,Df=cr.propertyIsEnumerable,dr=sr(function(){return arguments}())?sr:function(e){return nt(e)&&Lf.call(e,"callee")&&!Df.call(e,"callee")},Fe=Array.isArray;function jf(){return!1}var pr=typeof Z=="object"&&Z&&!Z.nodeType&&Z,ur=pr&&typeof module=="object"&&module&&!module.nodeType&&module,Pf=ur&&ur.exports===pr,mr=Pf?He.Buffer:void 0,Uf=mr?mr.isBuffer:void 0,Jn=Uf||jf,Yf=9007199254740991,Gf=/^(?:0|[1-9]\d*)$/;function Yi(e,n){var i=typeof e;return n=n??Yf,!!n&&(i=="number"||i!="symbol"&&Gf.test(e))&&e>-1&&e%1==0&&e<n}var Hf=9007199254740991;function Gi(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Hf}var Ff="[object Arguments]",zf="[object Array]",Kf="[object Boolean]",qf="[object Date]",Xf="[object Error]",Jf="[object Function]",Zf="[object Map]",Wf="[object Number]",Qf="[object Object]",_f="[object RegExp]",$f="[object Set]",eA="[object String]",tA="[object WeakMap]",nA="[object ArrayBuffer]",iA="[object DataView]",oA="[object Float32Array]",aA="[object Float64Array]",rA="[object Int8Array]",lA="[object Int16Array]",sA="[object Int32Array]",cA="[object Uint8Array]",dA="[object Uint8ClampedArray]",pA="[object Uint16Array]",uA="[object Uint32Array]",de={};de[oA]=de[aA]=de[rA]=de[lA]=de[sA]=de[cA]=de[dA]=de[pA]=de[uA]=!0,de[Ff]=de[zf]=de[nA]=de[Kf]=de[iA]=de[qf]=de[Xf]=de[Jf]=de[Zf]=de[Wf]=de[Qf]=de[_f]=de[$f]=de[eA]=de[tA]=!1;function mA(e){return nt(e)&&Gi(e.length)&&!!de[mt(e)]}function Hi(e){return function(n){return e(n)}}var gr=typeof Z=="object"&&Z&&!Z.nodeType&&Z,gn=gr&&typeof module=="object"&&module&&!module.nodeType&&module,gA=gn&&gn.exports===gr,Fi=gA&&ar.process,qt=function(){try{var e=gn&&gn.require&&gn.require("util").types;return e||Fi&&Fi.binding&&Fi.binding("util")}catch{}}(),fr=qt&&qt.isTypedArray,Ar=fr?Hi(fr):mA,fA=Object.prototype,AA=fA.hasOwnProperty;function hr(e,n){var i=Fe(e),o=!i&&dr(e),a=!i&&!o&&Jn(e),r=!i&&!o&&!a&&Ar(e),l=i||o||a||r,s=l?Bf(e.length,String):[],c=s.length;for(var d in e)(n||AA.call(e,d))&&!(l&&(d=="length"||a&&(d=="offset"||d=="parent")||r&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||Yi(d,c)))&&s.push(d);return s}var hA=Object.prototype;function zi(e){var n=e&&e.constructor,i=typeof n=="function"&&n.prototype||hA;return e===i}function yr(e,n){return function(i){return e(n(i))}}var yA=yr(Object.keys,Object),bA=Object.prototype,wA=bA.hasOwnProperty;function CA(e){if(!zi(e))return yA(e);var n=[];for(var i in Object(e))wA.call(e,i)&&i!="constructor"&&n.push(i);return n}function Te(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var EA="[object AsyncFunction]",kA="[object Function]",BA="[object GeneratorFunction]",SA="[object Proxy]";function pe(e){if(!Te(e))return!1;var n=mt(e);return n==kA||n==BA||n==EA||n==SA}function fn(e){return e!=null&&Gi(e.length)&&!pe(e)}function Xt(e){return fn(e)?hr(e):CA(e)}function xA(e,n){return e&&kf(e,n,Xt)}function OA(e,n){return function(i,o){if(i==null)return i;if(!fn(i))return e(i,o);for(var a=i.length,r=n?a:-1,l=Object(i);(n?r--:++r<a)&&o(l[r],r,l)!==!1;);return i}}var IA=OA(xA);const MA=IA;function Zn(e){return e}function RA(e){return typeof e=="function"?e:Zn}function Ne(e,n){var i=Fe(e)?or:MA;return i(e,RA(n))}var vA="[object Symbol]";function Wn(e){return typeof e=="symbol"||nt(e)&&mt(e)==vA}var TA=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,NA=/^\w*$/;function Ki(e,n){if(Fe(e))return!1;var i=typeof e;return i=="number"||i=="symbol"||i=="boolean"||e==null||Wn(e)?!0:NA.test(e)||!TA.test(e)||n!=null&&e in Object(n)}var qi=He["__core-js_shared__"],br=function(){var e=/[^.]+$/.exec(qi&&qi.keys&&qi.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function VA(e){return!!br&&br in e}var LA=Function.prototype,DA=LA.toString;function Ot(e){if(e!=null){try{return DA.call(e)}catch{}try{return e+""}catch{}}return""}var jA=/[\\^$.*+?()[\]{}|]/g,PA=/^\[object .+?Constructor\]$/,UA=Function.prototype,YA=Object.prototype,GA=UA.toString,HA=YA.hasOwnProperty,FA=RegExp("^"+GA.call(HA).replace(jA,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function zA(e){if(!Te(e)||VA(e))return!1;var n=pe(e)?FA:PA;return n.test(Ot(e))}function KA(e,n){return e==null?void 0:e[n]}function It(e,n){var i=KA(e,n);return zA(i)?i:void 0}var An=It(Object,"create");function qA(){this.__data__=An?An(null):{},this.size=0}function XA(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var JA="__lodash_hash_undefined__",ZA=Object.prototype,WA=ZA.hasOwnProperty;function QA(e){var n=this.__data__;if(An){var i=n[e];return i===JA?void 0:i}return WA.call(n,e)?n[e]:void 0}var _A=Object.prototype,$A=_A.hasOwnProperty;function eh(e){var n=this.__data__;return An?n[e]!==void 0:$A.call(n,e)}var th="__lodash_hash_undefined__";function nh(e,n){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=An&&n===void 0?th:n,this}function Mt(e){var n=-1,i=e==null?0:e.length;for(this.clear();++n<i;){var o=e[n];this.set(o[0],o[1])}}Mt.prototype.clear=qA,Mt.prototype.delete=XA,Mt.prototype.get=QA,Mt.prototype.has=eh,Mt.prototype.set=nh;function ih(){this.__data__=[],this.size=0}function hn(e,n){return e===n||e!==e&&n!==n}function Qn(e,n){for(var i=e.length;i--;)if(hn(e[i][0],n))return i;return-1}var oh=Array.prototype,ah=oh.splice;function rh(e){var n=this.__data__,i=Qn(n,e);if(i<0)return!1;var o=n.length-1;return i==o?n.pop():ah.call(n,i,1),--this.size,!0}function lh(e){var n=this.__data__,i=Qn(n,e);return i<0?void 0:n[i][1]}function sh(e){return Qn(this.__data__,e)>-1}function ch(e,n){var i=this.__data__,o=Qn(i,e);return o<0?(++this.size,i.push([e,n])):i[o][1]=n,this}function rt(e){var n=-1,i=e==null?0:e.length;for(this.clear();++n<i;){var o=e[n];this.set(o[0],o[1])}}rt.prototype.clear=ih,rt.prototype.delete=rh,rt.prototype.get=lh,rt.prototype.has=sh,rt.prototype.set=ch;var yn=It(He,"Map");function dh(){this.size=0,this.__data__={hash:new Mt,map:new(yn||rt),string:new Mt}}function ph(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function _n(e,n){var i=e.__data__;return ph(n)?i[typeof n=="string"?"string":"hash"]:i.map}function uh(e){var n=_n(this,e).delete(e);return this.size-=n?1:0,n}function mh(e){return _n(this,e).get(e)}function gh(e){return _n(this,e).has(e)}function fh(e,n){var i=_n(this,e),o=i.size;return i.set(e,n),this.size+=i.size==o?0:1,this}function lt(e){var n=-1,i=e==null?0:e.length;for(this.clear();++n<i;){var o=e[n];this.set(o[0],o[1])}}lt.prototype.clear=dh,lt.prototype.delete=uh,lt.prototype.get=mh,lt.prototype.has=gh,lt.prototype.set=fh;var Ah="Expected a function";function Xi(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(Ah);var i=function(){var o=arguments,a=n?n.apply(this,o):o[0],r=i.cache;if(r.has(a))return r.get(a);var l=e.apply(this,o);return i.cache=r.set(a,l)||r,l};return i.cache=new(Xi.Cache||lt),i}Xi.Cache=lt;var hh=500;function yh(e){var n=Xi(e,function(o){return i.size===hh&&i.clear(),o}),i=n.cache;return n}var bh=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,wh=/\\(\\)?/g,Ch=yh(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(bh,function(i,o,a,r){n.push(a?r.replace(wh,"$1"):o||i)}),n});function Eh(e,n){for(var i=-1,o=e==null?0:e.length,a=Array(o);++i<o;)a[i]=n(e[i],i,e);return a}var kh=1/0,wr=tt?tt.prototype:void 0,Cr=wr?wr.toString:void 0;function Er(e){if(typeof e=="string")return e;if(Fe(e))return Eh(e,Er)+"";if(Wn(e))return Cr?Cr.call(e):"";var n=e+"";return n=="0"&&1/e==-kh?"-0":n}function kr(e){return e==null?"":Er(e)}function Br(e,n){return Fe(e)?e:Ki(e,n)?[e]:Ch(kr(e))}var Bh=1/0;function $n(e){if(typeof e=="string"||Wn(e))return e;var n=e+"";return n=="0"&&1/e==-Bh?"-0":n}function Sr(e,n){n=Br(n,e);for(var i=0,o=n.length;e!=null&&i<o;)e=e[$n(n[i++])];return i&&i==o?e:void 0}function ee(e,n,i){var o=e==null?void 0:Sr(e,n);return o===void 0?i:o}function be(e){return e==null}var Sh="[object String]";function Rt(e){return typeof e=="string"||!Fe(e)&&nt(e)&&mt(e)==Sh}const xr={methods:{getFieldRowClasses(e){const n=this.fieldErrors(e).length>0,i={[ee(this.options,"validationErrorClass","error")]:n,[ee(this.options,"validationSuccessClass","valid")]:!n,disabled:this.fieldDisabled(e),readonly:this.fieldReadonly(e),featured:this.fieldFeatured(e),required:this.fieldRequired(e)};return Array.isArray(e.styleClasses)?Ne(e.styleClasses,o=>i[o]=!0):Rt(e.styleClasses)&&(i[e.styleClasses]=!0),be(e.type)||(i["field-"+e.type]=!0),i},fieldErrors(e){return this.errors.filter(n=>n.field.fieldName===e.fieldName).map(n=>n.error)},fieldDisabled(e){return pe(e.disabled)?e.disabled.call(this,this.model,e,this):be(e.disabled)?!1:e.disabled},fieldReadonly(e){return pe(e.readonly)?e.readonly.call(this,this.model,e,this):be(e.readonly)?!1:e.readonly},fieldFeatured(e){return pe(e.featured)?e.featured.call(this,this.model,e,this):be(e.featured)?!1:e.featured},fieldRequired(e){return pe(e.required)?e.required.call(this,this.model,e,this):be(e.required)?!1:e.required}}};function xh(){this.__data__=new rt,this.size=0}function Oh(e){var n=this.__data__,i=n.delete(e);return this.size=n.size,i}function Ih(e){return this.__data__.get(e)}function Mh(e){return this.__data__.has(e)}var Rh=200;function vh(e,n){var i=this.__data__;if(i instanceof rt){var o=i.__data__;if(!yn||o.length<Rh-1)return o.push([e,n]),this.size=++i.size,this;i=this.__data__=new lt(o)}return i.set(e,n),this.size=i.size,this}function it(e){var n=this.__data__=new rt(e);this.size=n.size}it.prototype.clear=xh,it.prototype.delete=Oh,it.prototype.get=Ih,it.prototype.has=Mh,it.prototype.set=vh;var ei=function(){try{var e=It(Object,"defineProperty");return e({},"",{}),e}catch{}}();function Or(e,n,i){n=="__proto__"&&ei?ei(e,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[n]=i}var Th=Object.prototype,Nh=Th.hasOwnProperty;function Ir(e,n,i){var o=e[n];(!(Nh.call(e,n)&&hn(o,i))||i===void 0&&!(n in e))&&Or(e,n,i)}function ti(e,n,i,o){var a=!i;i||(i={});for(var r=-1,l=n.length;++r<l;){var s=n[r],c=o?o(i[s],e[s],s,i,e):void 0;c===void 0&&(c=e[s]),a?Or(i,s,c):Ir(i,s,c)}return i}function Vh(e,n){return e&&ti(n,Xt(n),e)}function Lh(e){var n=[];if(e!=null)for(var i in Object(e))n.push(i);return n}var Dh=Object.prototype,jh=Dh.hasOwnProperty;function Ph(e){if(!Te(e))return Lh(e);var n=zi(e),i=[];for(var o in e)o=="constructor"&&(n||!jh.call(e,o))||i.push(o);return i}function ni(e){return fn(e)?hr(e,!0):Ph(e)}function Uh(e,n){return e&&ti(n,ni(n),e)}var Mr=typeof Z=="object"&&Z&&!Z.nodeType&&Z,Rr=Mr&&typeof module=="object"&&module&&!module.nodeType&&module,Yh=Rr&&Rr.exports===Mr,vr=Yh?He.Buffer:void 0,Tr=vr?vr.allocUnsafe:void 0;function Gh(e,n){if(n)return e.slice();var i=e.length,o=Tr?Tr(i):new e.constructor(i);return e.copy(o),o}function Hh(e,n){var i=-1,o=e.length;for(n||(n=Array(o));++i<o;)n[i]=e[i];return n}function Fh(e,n){for(var i=-1,o=e==null?0:e.length,a=0,r=[];++i<o;){var l=e[i];n(l,i,e)&&(r[a++]=l)}return r}function Nr(){return[]}var zh=Object.prototype,Kh=zh.propertyIsEnumerable,Vr=Object.getOwnPropertySymbols,Ji=Vr?function(e){return e==null?[]:(e=Object(e),Fh(Vr(e),function(n){return Kh.call(e,n)}))}:Nr;function qh(e,n){return ti(e,Ji(e),n)}function Lr(e,n){for(var i=-1,o=n.length,a=e.length;++i<o;)e[a+i]=n[i];return e}var Xh=yr(Object.getPrototypeOf,Object);const Dr=Xh;var Jh=Object.getOwnPropertySymbols,jr=Jh?function(e){for(var n=[];e;)Lr(n,Ji(e)),e=Dr(e);return n}:Nr;function Zh(e,n){return ti(e,jr(e),n)}function Pr(e,n,i){var o=n(e);return Fe(e)?o:Lr(o,i(e))}function Zi(e){return Pr(e,Xt,Ji)}function Wh(e){return Pr(e,ni,jr)}var Wi=It(He,"DataView"),Qi=It(He,"Promise"),Jt=It(He,"Set"),_i=It(He,"WeakMap"),Ur="[object Map]",Qh="[object Object]",Yr="[object Promise]",Gr="[object Set]",Hr="[object WeakMap]",Fr="[object DataView]",_h=Ot(Wi),$h=Ot(yn),ey=Ot(Qi),ty=Ot(Jt),ny=Ot(_i),vt=mt;(Wi&&vt(new Wi(new ArrayBuffer(1)))!=Fr||yn&&vt(new yn)!=Ur||Qi&&vt(Qi.resolve())!=Yr||Jt&&vt(new Jt)!=Gr||_i&&vt(new _i)!=Hr)&&(vt=function(e){var n=mt(e),i=n==Qh?e.constructor:void 0,o=i?Ot(i):"";if(o)switch(o){case _h:return Fr;case $h:return Ur;case ey:return Yr;case ty:return Gr;case ny:return Hr}return n});const bn=vt;var iy=Object.prototype,oy=iy.hasOwnProperty;function ay(e){var n=e.length,i=new e.constructor(n);return n&&typeof e[0]=="string"&&oy.call(e,"index")&&(i.index=e.index,i.input=e.input),i}var ii=He.Uint8Array;function $i(e){var n=new e.constructor(e.byteLength);return new ii(n).set(new ii(e)),n}function ry(e,n){var i=n?$i(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}var ly=/\w*$/;function sy(e){var n=new e.constructor(e.source,ly.exec(e));return n.lastIndex=e.lastIndex,n}var zr=tt?tt.prototype:void 0,Kr=zr?zr.valueOf:void 0;function cy(e){return Kr?Object(Kr.call(e)):{}}function dy(e,n){var i=n?$i(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}var py="[object Boolean]",uy="[object Date]",my="[object Map]",gy="[object Number]",fy="[object RegExp]",Ay="[object Set]",hy="[object String]",yy="[object Symbol]",by="[object ArrayBuffer]",wy="[object DataView]",Cy="[object Float32Array]",Ey="[object Float64Array]",ky="[object Int8Array]",By="[object Int16Array]",Sy="[object Int32Array]",xy="[object Uint8Array]",Oy="[object Uint8ClampedArray]",Iy="[object Uint16Array]",My="[object Uint32Array]";function Ry(e,n,i){var o=e.constructor;switch(n){case by:return $i(e);case py:case uy:return new o(+e);case wy:return ry(e,i);case Cy:case Ey:case ky:case By:case Sy:case xy:case Oy:case Iy:case My:return dy(e,i);case my:return new o;case gy:case hy:return new o(e);case fy:return sy(e);case Ay:return new o;case yy:return cy(e)}}var qr=Object.create,vy=function(){function e(){}return function(n){if(!Te(n))return{};if(qr)return qr(n);e.prototype=n;var i=new e;return e.prototype=void 0,i}}();function Ty(e){return typeof e.constructor=="function"&&!zi(e)?vy(Dr(e)):{}}var Ny="[object Map]";function Vy(e){return nt(e)&&bn(e)==Ny}var Xr=qt&&qt.isMap,Ly=Xr?Hi(Xr):Vy,Dy="[object Set]";function jy(e){return nt(e)&&bn(e)==Dy}var Jr=qt&&qt.isSet,Py=Jr?Hi(Jr):jy,Uy=1,Yy=2,Gy=4,Zr="[object Arguments]",Hy="[object Array]",Fy="[object Boolean]",zy="[object Date]",Ky="[object Error]",Wr="[object Function]",qy="[object GeneratorFunction]",Xy="[object Map]",Jy="[object Number]",Qr="[object Object]",Zy="[object RegExp]",Wy="[object Set]",Qy="[object String]",_y="[object Symbol]",$y="[object WeakMap]",eb="[object ArrayBuffer]",tb="[object DataView]",nb="[object Float32Array]",ib="[object Float64Array]",ob="[object Int8Array]",ab="[object Int16Array]",rb="[object Int32Array]",lb="[object Uint8Array]",sb="[object Uint8ClampedArray]",cb="[object Uint16Array]",db="[object Uint32Array]",ae={};ae[Zr]=ae[Hy]=ae[eb]=ae[tb]=ae[Fy]=ae[zy]=ae[nb]=ae[ib]=ae[ob]=ae[ab]=ae[rb]=ae[Xy]=ae[Jy]=ae[Qr]=ae[Zy]=ae[Wy]=ae[Qy]=ae[_y]=ae[lb]=ae[sb]=ae[cb]=ae[db]=!0,ae[Ky]=ae[Wr]=ae[$y]=!1;function wn(e,n,i,o,a,r){var l,s=n&Uy,c=n&Yy,d=n&Gy;if(i&&(l=a?i(e,o,a,r):i(e)),l!==void 0)return l;if(!Te(e))return e;var p=Fe(e);if(p){if(l=ay(e),!s)return Hh(e,l)}else{var m=bn(e),g=m==Wr||m==qy;if(Jn(e))return Gh(e,s);if(m==Qr||m==Zr||g&&!a){if(l=c||g?{}:Ty(e),!s)return c?Zh(e,Uh(l,e)):qh(e,Vh(l,e))}else{if(!ae[m])return a?e:{};l=Ry(e,m,s)}}r||(r=new it);var h=r.get(e);if(h)return h;r.set(e,l),Py(e)?e.forEach(function(C){l.add(wn(C,n,i,C,e,r))}):Ly(e)&&e.forEach(function(C,E){l.set(E,wn(C,n,i,E,e,r))});var k=d?c?Wh:Zi:c?ni:Xt,y=p?void 0:k(e);return or(y||e,function(C,E){y&&(E=C,C=e[E]),Ir(l,E,wn(C,n,i,E,e,r))}),l}var pb=1,ub=4;function st(e){return wn(e,pb|ub)}const eo=(e,n="")=>typeof e.id<"u"?n+e.id:n+(e.inputName||e.label||e.model||"").toString().trim().toLowerCase().replace(/ |_/g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-]+)/g,""),_r=(e="")=>e.toString().trim().replace(/ /g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-_/./:]+)/g,"");var to=function(){return He.Date.now()},mb=/\s/;function gb(e){for(var n=e.length;n--&&mb.test(e.charAt(n)););return n}var fb=/^\s+/;function Ab(e){return e&&e.slice(0,gb(e)+1).replace(fb,"")}var $r=NaN,hb=/^[-+]0x[0-9a-f]+$/i,yb=/^0b[01]+$/i,bb=/^0o[0-7]+$/i,wb=parseInt;function no(e){if(typeof e=="number")return e;if(Wn(e))return $r;if(Te(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=Te(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=Ab(e);var i=yb.test(e);return i||bb.test(e)?wb(e.slice(2),i?2:8):hb.test(e)?$r:+e}var Cb="Expected a function",Eb=Math.max,kb=Math.min;function Cn(e,n,i){var o,a,r,l,s,c,d=0,p=!1,m=!1,g=!0;if(typeof e!="function")throw new TypeError(Cb);n=no(n)||0,Te(i)&&(p=!!i.leading,m="maxWait"in i,r=m?Eb(no(i.maxWait)||0,n):r,g="trailing"in i?!!i.trailing:g);function h(A){var B=o,S=a;return o=a=void 0,d=A,l=e.apply(S,B),l}function k(A){return d=A,s=setTimeout(E,n),p?h(A):l}function y(A){var B=A-c,S=A-d,w=n-B;return m?kb(w,r-S):w}function C(A){var B=A-c,S=A-d;return c===void 0||B>=n||B<0||m&&S>=r}function E(){var A=to();if(C(A))return x(A);s=setTimeout(E,y(A))}function x(A){return s=void 0,g&&o?h(A):(o=a=void 0,l)}function v(){s!==void 0&&clearTimeout(s),d=0,o=c=a=s=void 0}function b(){return s===void 0?l:x(to())}function f(){var A=to(),B=C(A);if(o=arguments,a=this,c=A,B){if(s===void 0)return k(c);if(m)return clearTimeout(s),s=setTimeout(E,n),h(c)}return s===void 0&&(s=setTimeout(E,n)),l}return f.cancel=v,f.flush=b,f}var Bb="__lodash_hash_undefined__";function Sb(e){return this.__data__.set(e,Bb),this}function xb(e){return this.__data__.has(e)}function En(e){var n=-1,i=e==null?0:e.length;for(this.__data__=new lt;++n<i;)this.add(e[n])}En.prototype.add=En.prototype.push=Sb,En.prototype.has=xb;function el(e,n,i,o){for(var a=e.length,r=i+(o?1:-1);o?r--:++r<a;)if(n(e[r],r,e))return r;return-1}function Ob(e){return e!==e}function Ib(e,n,i){for(var o=i-1,a=e.length;++o<a;)if(e[o]===n)return o;return-1}function Mb(e,n,i){return n===n?Ib(e,n,i):el(e,Ob,i)}function Rb(e,n){var i=e==null?0:e.length;return!!i&&Mb(e,n,0)>-1}function vb(e,n,i){for(var o=-1,a=e==null?0:e.length;++o<a;)if(i(n,e[o]))return!0;return!1}function tl(e,n){return e.has(n)}function Tb(){}function io(e){var n=-1,i=Array(e.size);return e.forEach(function(o){i[++n]=o}),i}var Nb=1/0,Vb=Jt&&1/io(new Jt([,-0]))[1]==Nb?function(e){return new Jt(e)}:Tb,Lb=200;function Db(e,n,i){var o=-1,a=Rb,r=e.length,l=!0,s=[],c=s;if(i)l=!1,a=vb;else if(r>=Lb){var d=n?null:Vb(e);if(d)return io(d);l=!1,a=tl,c=new En}else c=n?[]:s;e:for(;++o<r;){var p=e[o],m=n?n(p):p;if(p=i||p!==0?p:0,l&&m===m){for(var g=c.length;g--;)if(c[g]===m)continue e;n&&c.push(m),s.push(p)}else a(c,m,i)||(c!==s&&c.push(m),s.push(p))}return s}function nl(e){return e&&e.length?Db(e):[]}var jb=0;function il(e){var n=++jb;return kr(e)+n}function Pb(e,n,i){switch(i.length){case 0:return e.call(n);case 1:return e.call(n,i[0]);case 2:return e.call(n,i[0],i[1]);case 3:return e.call(n,i[0],i[1],i[2])}return e.apply(n,i)}var ol=Math.max;function Ub(e,n,i){return n=ol(n===void 0?e.length-1:n,0),function(){for(var o=arguments,a=-1,r=ol(o.length-n,0),l=Array(r);++a<r;)l[a]=o[n+a];a=-1;for(var s=Array(n+1);++a<n;)s[a]=o[a];return s[n]=i(l),Pb(e,this,s)}}function Yb(e){return function(){return e}}var Gb=ei?function(e,n){return ei(e,"toString",{configurable:!0,enumerable:!1,value:Yb(n),writable:!0})}:Zn;const Hb=Gb;var Fb=800,zb=16,Kb=Date.now;function qb(e){var n=0,i=0;return function(){var o=Kb(),a=zb-(o-i);if(i=o,a>0){if(++n>=Fb)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var Xb=qb(Hb);function Jb(e,n){return Xb(Ub(e,n,Zn),e+"")}function Zb(e,n,i){if(!Te(i))return!1;var o=typeof n;return(o=="number"?fn(i)&&Yi(n,i.length):o=="string"&&n in i)?hn(i[n],e):!1}var al=Object.prototype,Wb=al.hasOwnProperty,Qb=Jb(function(e,n){e=Object(e);var i=-1,o=n.length,a=o>2?n[2]:void 0;for(a&&Zb(n[0],n[1],a)&&(o=1);++i<o;)for(var r=n[i],l=ni(r),s=-1,c=l.length;++s<c;){var d=l[s],p=e[d];(p===void 0||hn(p,al[d])&&!Wb.call(e,d))&&(e[d]=r[d])}return e}),_b=He.isFinite;function $b(e){return typeof e=="number"&&_b(e)}var rl=1/0,e1=17976931348623157e292;function t1(e){if(!e)return e===0?e:0;if(e=no(e),e===rl||e===-rl){var n=e<0?-1:1;return n*e1}return e===e?e:0}function ll(e){var n=t1(e),i=n%1;return n===n?i?n-i:n:0}function n1(e){return typeof e=="number"&&e==ll(e)}var i1="[object Number]";function oo(e){return typeof e=="number"||nt(e)&&mt(e)==i1}var sl=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,gt="\\d\\d?",ft="\\d\\d",o1="\\d{3}",a1="\\d{4}",kn="[^\\s]+",cl=/\[([^]*?)\]/gm;function dl(e,n){for(var i=[],o=0,a=e.length;o<a;o++)i.push(e[o].substr(0,n));return i}var pl=function(e){return function(n,i){var o=i[e].map(function(r){return r.toLowerCase()}),a=o.indexOf(n.toLowerCase());return a>-1?a:null}};function Tt(e){for(var n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];for(var o=0,a=n;o<a.length;o++){var r=a[o];for(var l in r)e[l]=r[l]}return e}var ul=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ml=["January","February","March","April","May","June","July","August","September","October","November","December"],r1=dl(ml,3),l1=dl(ul,3),gl={dayNamesShort:l1,dayNames:ul,monthNamesShort:r1,monthNames:ml,amPm:["am","pm"],DoFn:function(e){return e+["th","st","nd","rd"][e%10>3?0:(e-e%10!==10?1:0)*e%10]}},oi=Tt({},gl),s1=function(e){return oi=Tt(oi,e)},fl=function(e){return e.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},je=function(e,n){for(n===void 0&&(n=2),e=String(e);e.length<n;)e="0"+e;return e},c1={D:function(e){return String(e.getDate())},DD:function(e){return je(e.getDate())},Do:function(e,n){return n.DoFn(e.getDate())},d:function(e){return String(e.getDay())},dd:function(e){return je(e.getDay())},ddd:function(e,n){return n.dayNamesShort[e.getDay()]},dddd:function(e,n){return n.dayNames[e.getDay()]},M:function(e){return String(e.getMonth()+1)},MM:function(e){return je(e.getMonth()+1)},MMM:function(e,n){return n.monthNamesShort[e.getMonth()]},MMMM:function(e,n){return n.monthNames[e.getMonth()]},YY:function(e){return je(String(e.getFullYear()),4).substr(2)},YYYY:function(e){return je(e.getFullYear(),4)},h:function(e){return String(e.getHours()%12||12)},hh:function(e){return je(e.getHours()%12||12)},H:function(e){return String(e.getHours())},HH:function(e){return je(e.getHours())},m:function(e){return String(e.getMinutes())},mm:function(e){return je(e.getMinutes())},s:function(e){return String(e.getSeconds())},ss:function(e){return je(e.getSeconds())},S:function(e){return String(Math.round(e.getMilliseconds()/100))},SS:function(e){return je(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return je(e.getMilliseconds(),3)},a:function(e,n){return e.getHours()<12?n.amPm[0]:n.amPm[1]},A:function(e,n){return e.getHours()<12?n.amPm[0].toUpperCase():n.amPm[1].toUpperCase()},ZZ:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+je(Math.floor(Math.abs(n)/60)*100+Math.abs(n)%60,4)},Z:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+je(Math.floor(Math.abs(n)/60),2)+":"+je(Math.abs(n)%60,2)}},Al=function(e){return+e-1},hl=[null,gt],yl=[null,kn],bl=["isPm",kn,function(e,n){var i=e.toLowerCase();return i===n.amPm[0]?0:i===n.amPm[1]?1:null}],wl=["timezoneOffset","[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",function(e){var n=(e+"").match(/([+-]|\d\d)/gi);if(n){var i=+n[1]*60+parseInt(n[2],10);return n[0]==="+"?i:-i}return 0}],d1={D:["day",gt],DD:["day",ft],Do:["day",gt+kn,function(e){return parseInt(e,10)}],M:["month",gt,Al],MM:["month",ft,Al],YY:["year",ft,function(e){var n=new Date,i=+(""+n.getFullYear()).substr(0,2);return+(""+(+e>68?i-1:i)+e)}],h:["hour",gt,void 0,"isPm"],hh:["hour",ft,void 0,"isPm"],H:["hour",gt],HH:["hour",ft],m:["minute",gt],mm:["minute",ft],s:["second",gt],ss:["second",ft],YYYY:["year",a1],S:["millisecond","\\d",function(e){return+e*100}],SS:["millisecond",ft,function(e){return+e*10}],SSS:["millisecond",o1],d:hl,dd:hl,ddd:yl,dddd:yl,MMM:["month",kn,pl("monthNamesShort")],MMMM:["month",kn,pl("monthNames")],a:bl,A:bl,ZZ:wl,Z:wl},ai={default:"ddd MMM DD YYYY HH:mm:ss",shortDate:"M/D/YY",mediumDate:"MMM D, YYYY",longDate:"MMMM D, YYYY",fullDate:"dddd, MMMM D, YYYY",isoDate:"YYYY-MM-DD",isoDateTime:"YYYY-MM-DDTHH:mm:ssZ",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},p1=function(e){return Tt(ai,e)},u1=function(e,n,i){if(n===void 0&&(n=ai.default),i===void 0&&(i={}),typeof e=="number"&&(e=new Date(e)),Object.prototype.toString.call(e)!=="[object Date]"||isNaN(e.getTime()))throw new Error("Invalid Date pass to format");n=ai[n]||n;var o=[];n=n.replace(cl,function(r,l){return o.push(l),"@@@"});var a=Tt(Tt({},oi),i);return n=n.replace(sl,function(r){return c1[r](e,a)}),n.replace(/@@@/g,function(){return o.shift()})};function m1(e,n,i){if(i===void 0&&(i={}),typeof n!="string")throw new Error("Invalid format in fecha parse");if(n=ai[n]||n,e.length>1e3)return null;var o=new Date,a={year:o.getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},r=[],l=[],s=n.replace(cl,function(b,f){return l.push(fl(f)),"@@@"}),c={},d={};s=fl(s).replace(sl,function(b){var f=d1[b],A=f[0],B=f[1],S=f[3];if(c[A])throw new Error("Invalid format. "+A+" specified twice in format");return c[A]=!0,S&&(d[S]=!0),r.push(f),"("+B+")"}),Object.keys(d).forEach(function(b){if(!c[b])throw new Error("Invalid format. "+b+" is required in specified format")}),s=s.replace(/@@@/g,function(){return l.shift()});var p=e.match(new RegExp(s,"i"));if(!p)return null;for(var m=Tt(Tt({},oi),i),g=1;g<p.length;g++){var h=r[g-1],k=h[0],y=h[2],C=y?y(p[g],m):+p[g];if(C==null)return null;a[k]=C}a.isPm===1&&a.hour!=null&&+a.hour!=12?a.hour=+a.hour+12:a.isPm===0&&+a.hour==12&&(a.hour=0);var E;if(a.timezoneOffset==null){E=new Date(a.year,a.month,a.day,a.hour,a.minute,a.second,a.millisecond);for(var x=[["month","getMonth"],["day","getDate"],["hour","getHours"],["minute","getMinutes"],["second","getSeconds"]],g=0,v=x.length;g<v;g++)if(c[x[g][0]]&&a[x[g][0]]!==E[x[g][1]]())return null}else if(E=new Date(Date.UTC(a.year,a.month,a.day,a.hour,a.minute-a.timezoneOffset,a.second,a.millisecond)),a.month>11||a.month<0||a.day>31||a.day<1||a.hour>23||a.hour<0||a.minute>59||a.minute<0||a.second>59||a.second<0)return null;return E}var Zt={format:u1,parse:m1,defaultI18n:gl,setGlobalDateI18n:s1,setGlobalDateMasks:p1};const Ie={fieldIsRequired:"This field is required!",invalidFormat:"Invalid format!",numberTooSmall:"The number is too small! Minimum: {0}",numberTooBig:"The number is too big! Maximum: {0}",invalidNumber:"Invalid number",invalidInteger:"The value is not an integer",textTooSmall:"The length of text is too small! Current: {0}, Minimum: {1}",textTooBig:"The length of text is too big! Current: {0}, Maximum: {1}",thisNotText:"This is not a text!",thisNotArray:"This is not an array!",selectMinItems:"Select minimum {0} items!",selectMaxItems:"Select maximum {0} items!",invalidDate:"Invalid date!",dateIsEarly:"The date is too early! Current: {0}, Minimum: {1}",dateIsLate:"The date is too late! Current: {0}, Maximum: {1}",invalidEmail:"Invalid e-mail address!",invalidURL:"Invalid URL!",invalidCard:"Invalid card format!",invalidCardNumber:"Invalid card number!",invalidTextContainNumber:"Invalid text! Cannot contains numbers or special characters",invalidTextContainSpec:"Invalid text! Cannot contains special characters"};function ze(e,n,i=Ie){return be(e)||e===""?n?[ge(i.fieldIsRequired)]:[]:null}function ge(e,...n){if(e!=null&&n.length>0)for(let i=0;i<n.length;i++)e=e.replace("{"+(i-1)+"}",n[i]);return e}const Nt={resources:Ie,required(e,n,i,o=Ie){return ze(e,n.required,o)},number(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;const r=[];return $b(e)?(!be(n.min)&&e<n.min&&r.push(ge(o.numberTooSmall,n.min)),!be(n.max)&&e>n.max&&r.push(ge(o.numberTooBig,n.max))):r.push(ge(o.invalidNumber)),r},integer(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;const r=Nt.number(e,n,i,o);return n1(e)||r.push(ge(o.invalidInteger)),r},double(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;if(!oo(e)||isNaN(e))return[ge(o.invalidNumber)]},string(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;const r=[];return Rt(e)?(!be(n.min)&&e.length<n.min&&r.push(ge(o.textTooSmall,e.length,n.min)),!be(n.max)&&e.length>n.max&&r.push(ge(o.textTooBig,e.length,n.max))):r.push(ge(o.thisNotText)),r},array(e,n,i,o=Ie){if(n.required){if(!Array.isArray(e))return[ge(o.thisNotArray)];if(e.length===0)return[ge(o.fieldIsRequired)]}if(!be(e)){if(!be(n.min)&&e.length<n.min)return[ge(o.selectMinItems,n.min)];if(!be(n.max)&&e.length>n.max)return[ge(o.selectMaxItems,n.max)]}},date(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;const r=new Date(e);if(isNaN(r.getDate()))return[ge(o.invalidDate)];const l=[];if(!be(n.min)){const s=new Date(n.min);r.valueOf()<s.valueOf()&&l.push(ge(o.dateIsEarly,Zt.format(r),Zt.format(s)))}if(!be(n.max)){const s=new Date(n.max);r.valueOf()>s.valueOf()&&l.push(ge(o.dateIsLate,Zt.format(r),Zt.format(s)))}return l},regexp(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;if(!be(n.pattern)&&!new RegExp(n.pattern).test(e))return[ge(o.invalidFormat)]},email(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;if(!/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e))return[ge(o.invalidEmail)]},url(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;if(!/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g.test(e))return[ge(o.invalidURL)]},creditCard(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;const r=/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,l=e.replace(/[^0-9]+/g,"");if(!r.test(l))return[ge(o.invalidCard)];let s=0,c,d,p;for(let m=l.length-1;m>=0;m--)c=l.substring(m,m+1),d=parseInt(c,10),p?(d*=2,d>=10?s+=d%10+1:s+=d):s+=d,p=!p;if(!(s%10===0&&l))return[ge(o.invalidCardNumber)]},alpha(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;if(!/^[a-zA-Z]*$/.test(e))return[ge(o.invalidTextContainNumber)]},alphaNumeric(e,n,i,o=Ie){const a=ze(e,n.required,o);if(a!=null)return a;if(!/^[a-zA-Z0-9]*$/.test(e))return[ge(o.invalidTextContainSpec)]}};Object.keys(Nt).forEach(e=>{const n=Nt[e];pe(n)&&(n.locale=i=>(o,a,r)=>n(o,a,r,Qb(i,Ie)))});function Cl(e){return Rt(e)?Nt[e]!=null?Nt[e]:(console.warn(`'${e}' is not a validator function!`),null):e}function ao(e,n,i){let o=ee(i.context,"schema.attributes",{});const a=n.value||"input";Rt(a)&&(o=ee(o,a)||o),Ne(o,(r,l)=>{e.setAttribute(l,r)})}const Ve={name:"abstractField",props:["vfg","model","schema","formOptions","disabled"],emits:["validated","modelUpdated"],data(){return{errors:[],debouncedValidateFunc:null,debouncedFormatFunc:null}},directives:{attributes:{beforeMount:ao,updated:ao,componentUpdated:ao}},computed:{value:{cache:!1,get(){let e;return pe(ee(this.schema,"get"))?e=this.schema.get(this.model):e=ee(this.model,this.schema.model),this.formatValueToField(e)},set(e){const n=this.value;e=this.formatValueToModel(e),pe(e)?e(e,n):this.updateModelValue(e,n)}}},methods:{validate(e){this.clearValidationErrors();const n=ee(this.formOptions,"validateAsync",!1);let i=[];if(this.schema.validator&&this.schema.readonly!==!0&&this.disabled!==!0){const a=[];Array.isArray(this.schema.validator)?Ne(this.schema.validator,r=>{a.push(Cl(r).bind(this))}):a.push(Cl(this.schema.validator).bind(this)),Ne(a,r=>{if(n)i.push(r(this.value,this.schema,this.model));else{const l=r(this.value,this.schema,this.model);l&&pe(l.then)?l.then(s=>{s&&(this.errors=this.errors.concat(s));const c=this.errors.length===0;this.$emit("validated",c,this.errors,this)}):l&&(i=i.concat(l))}})}const o=a=>{let r=[];Ne(nl(a),s=>{Array.isArray(s)&&s.length>0?r=r.concat(s):Rt(s)&&r.push(s)}),pe(this.schema.onValidated)&&this.schema.onValidated.call(this,this.model,r,this.schema);const l=r.length===0;return e||this.$emit("validated",l,r,this),this.errors=r,r};return n?Promise.all(i).then(o):o(i)},debouncedValidate(){pe(this.debouncedValidateFunc)||(this.debouncedValidateFunc=Cn(this.validate.bind(this),ee(this.schema,"validateDebounceTime",ee(this.formOptions,"validateDebounceTime",500)))),this.debouncedValidateFunc()},updateModelValue(e,n){let i=!1;pe(this.schema.set)?(this.schema.set(this.model,e),i=!0):this.schema.model&&(this.setModelValueByPath(this.schema.model,e),i=!0),i&&(this.$emit("modelUpdated",e,this.schema.model),pe(this.schema.onChanged)&&this.schema.onChanged.call(this,this.model,e,n,this.schema),ee(this.formOptions,"validateAfterChanged",!1)===!0&&(ee(this.schema,"validateDebounceTime",ee(this.formOptions,"validateDebounceTime",0))>0?this.debouncedValidate():this.validate()))},clearValidationErrors(){this.errors.splice(0)},setModelValueByPath(e,n){let i=e.replace(/\[(\w+)\]/g,".$1");i=i.replace(/^\./,"");let o=this.model;const a=i.split(".");let r=0;const l=a.length;for(;r<l;){const s=a[r];if(r<l-1)o[s]!==void 0||(o[s]={}),o=o[s];else{o[s]=n;return}++r}},getFieldID(e,n=!1){const i=ee(this.formOptions,"fieldIdPrefix","");return eo(e,i)+(n?"-"+il():"")},getLabelId(e){return`${this.getFieldID(e)}-label`},getFieldClasses(){return ee(this.schema,"fieldClasses",[])},formatValueToField(e){return e},formatValueToModel(e){return e}}},ie=(e,n)=>{const i=e.__vccOpts||e;for(const[o,a]of n)i[o]=a;return i},g1={mixins:[Ve],emits:["model-updated"],data(){return{isOpen:!1}},computed:{openClass(){return this.isOpen?"open":"closed"},fieldCount(){return this.schema.fields.length},titleText(){return`${this.isOpen?"Hide":"View"} ${this.fieldCount} Advanced Fields`}},methods:{handleOpen(){this.isOpen=!this.isOpen},updateModel(e,n){this.$emit("model-updated",e,n)}}},f1={class:"advanced-field-dropdown-wrapper","data-testid":"advanced-field-dropdown-wrapper"},A1={class:"material-icons"};function h1(e,n,i,o,a,r){const l=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",f1,[t.createElementVNode("button",{class:"advanced-field-title",type:"button",onClick:n[0]||(n[0]=(...s)=>r.handleOpen&&r.handleOpen(...s))},[t.createElementVNode("i",A1,t.toDisplayString(a.isOpen?"keyboard_arrow_up":"keyboard_arrow_right"),1),t.createElementVNode("span",null,t.toDisplayString(r.titleText),1)]),t.createElementVNode("div",{class:t.normalizeClass(["advanced-field-dropdown",r.openClass])},[t.createVNode(l,{model:e.model,options:{helpAsHtml:!0},schema:e.schema,onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])],2)])}const y1=ie(g1,[["render",h1],["__scopeId","data-v-6f4089bd"]]);function b1(e){const n=t.ref([]),i=t.ref(null),o=y=>Rt(y)?Nt[y]!=null?Nt[y]:(console.warn(`'${y}' is not a validator function!`),null):y,a=t.computed({get(){var y,C;let E;return pe(ee(e.schema,"get"))?E=e.schema.get((y=e.model)==null?void 0:y.value):E=ee((C=e.model)==null?void 0:C.value,e.schema.model),h(E)},set(y){const C=a;y=k(y),pe(y)?y(y,C):s(y,C)}}),r=y=>{var C;c();const E=(C=e.schema)==null?void 0:C.validator,x=ee(e.formOptions,"validateAsync",!1);let v=[];if(E&&e.schema.readonly!==!0&&e.disabled!==!0){const f=[];Array.isArray(E)?Ne(E,A=>{f.push(o(A))}):f.push(o(E)),Ne(f,A=>{var B,S;if(x)v.push(A(a.value,e.schema,(B=e.model)==null?void 0:B.value));else{const w=A(a.value,e.schema,(S=e.model)==null?void 0:S.value);w&&pe(w.then)?w.then(R=>{R&&(n.value=n.value.concat(R));const M=n.value.length===0;e.emitValidated&&e.emitValidated({isValid:M,errors:n.value,field:e.schema})}):w&&(v=v.concat(w))}})}const b=f=>{var A,B;let S=[];if(Ne(nl(f),w=>{Array.isArray(w)&&w.length>0?S=S.concat(w):Rt(w)&&S.push(w)}),pe((A=e.schema)==null?void 0:A.onValidated)&&e.schema.onValidated((B=e.model)==null?void 0:B.value,S,e.schema),!y){const w=S.length===0;e.emitValidated&&e.emitValidated({isValid:w,errors:S,field:e.schema})}return f=S,S};return x?Promise.all(v).then(b):b(v)},l=()=>{pe(i.value)?i.value():i.value=Cn(r,ee(e.schema,"validateDebounceTime",ee(e.formOptions,"validateDebounceTime",500)))},s=(y,C)=>{var E,x,v;let b=!1;pe(e.schema.set)?(e.schema.set((E=e.model)==null?void 0:E.value,y),b=!0):e.schema.model&&(d(e.schema.model,y),b=!0),b&&(e.emitModelUpdated&&(x=e.model)!=null&&x.value&&e.emitModelUpdated({value:y,model:e.schema.model}),pe(e.schema.onChanged)&&e.schema.onChanged((v=e.model)==null?void 0:v.value,y,C,e.schema),ee(e.formOptions,"validateAfterChanged",!1)===!0&&(ee(e.schema,"validateDebounceTime",ee(e.formOptions,"validateDebounceTime",0))>0?l():r()))},c=()=>{n.value.splice(0)},d=(y,C)=>{var E;let x=y.replace(/\[(\w+)\]/g,".$1");x=x.replace(/^\./,"");let v=((E=e.model)==null?void 0:E.value)||{},b=0;const f=x.split("."),A=f.length;for(;b<A;){const B=f[b];if(b<A-1)v[B]!==void 0||(v[B]={}),v=v[B];else{v[B]=C;return}++b}},p=(y,C=!1)=>{const E=ee(e.formOptions,"fieldIdPrefix","");return eo(y,E)+(C?"-"+il():"")},m=y=>`${p(y)}-label`,g=()=>ee(e.schema,"fieldClasses",[]),h=y=>y,k=y=>y;return{value:a,clearValidationErrors:c,getFieldID:p,getLabelId:m,getFieldClasses:g,updateModelValue:s}}const El={useAbstractFields:b1},w1={class:"form-field-wrapper"},C1=t.defineComponent({__name:"FieldInput",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const o=e,a=i,r=t.toRefs(o),{updateModelValue:l,getFieldID:s,clearValidationErrors:c,value:d}=El.useAbstractFields({model:r.model,schema:o.schema,formOptions:o.formOptions,emitModelUpdated:E=>{a("modelUpdated",E.value,E.model)}});n({clearValidationErrors:c});const p=t.computed(()=>{var E;const x=(E=o.schema)==null?void 0:E.inputType.toLowerCase();return x==="string"?"text":x==="datetime"?"datetime-local":x||"text"}),m={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss","datetime-local":"YYYY-MM-DDTHH:mm:ss"},g=(E,x)=>{var v,b;let f=E;const A=m[p.value]||"",B=Zt.parse(E,A);B&&((v=o.schema)!=null&&v.format?f=Zt.format(B,(b=o.schema)==null?void 0:b.format):f=B.valueOf()),l(f,x)},h=(E,x)=>{oo(E)||(E=NaN),l(E,x)},k=E=>{let x=E;switch(p.value){case"number":case"range":oo(parseFloat(E))&&(x=parseFloat(E));break}d.value=x,l(x,E)},y=t.ref(null),C=()=>{var E;pe(y.value)&&((E=y.value)==null||E.flush())};return t.onMounted(()=>{switch(p.value){case"number":case"range":y.value=Cn((E,x)=>{h(E,x)},parseInt(ee(o.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break;case"date":case"datetime":case"datetime-local":y.value=Cn((E,x)=>{g(E,x)},parseInt(ee(o.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break}}),t.onBeforeMount(()=>{p.value==="checkbox"?console.warn("The use of 'checkbox' inputType with 'input' type fields is deprecated. Use 'checkbox' type instead."):p.value==="radio"?console.warn("The use of 'radio' inputType with 'input' type fields is deprecated. Use 'radio' type instead."):p.value==="file"&&console.warn("The 'file' type in input field is deprecated. Use 'file' field instead.")}),(E,x)=>{const v=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",w1,[t.createVNode(v,t.mergeProps(E.$attrs,{id:t.unref(s)(e.schema),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,disabled:e.disabled||null,help:e.hint?e.hint:p.value==="color"||p.value==="range"?t.unref(d):void 0,max:e.schema.max,maxlength:e.schema.maxlength,min:e.schema.min,minlength:e.schema.minlength,"model-value":t.unref(d),name:e.schema.inputName,pattern:e.schema.pattern,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,type:p.value,width:e.schema.width,onBlur:C,"onUpdate:modelValue":k}),null,16,["id","autocomplete","class","disabled","help","max","maxlength","min","minlength","model-value","name","pattern","placeholder","readonly","required","type","width"])])}}}),kl=ie(C1,[["__scopeId","data-v-f0962820"]]);function E1(e,n){for(var i=-1,o=e==null?0:e.length;++i<o;)if(n(e[i],i,e))return!0;return!1}var k1=1,B1=2;function Bl(e,n,i,o,a,r){var l=i&k1,s=e.length,c=n.length;if(s!=c&&!(l&&c>s))return!1;var d=r.get(e),p=r.get(n);if(d&&p)return d==n&&p==e;var m=-1,g=!0,h=i&B1?new En:void 0;for(r.set(e,n),r.set(n,e);++m<s;){var k=e[m],y=n[m];if(o)var C=l?o(y,k,m,n,e,r):o(k,y,m,e,n,r);if(C!==void 0){if(C)continue;g=!1;break}if(h){if(!E1(n,function(E,x){if(!tl(h,x)&&(k===E||a(k,E,i,o,r)))return h.push(x)})){g=!1;break}}else if(!(k===y||a(k,y,i,o,r))){g=!1;break}}return r.delete(e),r.delete(n),g}function S1(e){var n=-1,i=Array(e.size);return e.forEach(function(o,a){i[++n]=[a,o]}),i}var x1=1,O1=2,I1="[object Boolean]",M1="[object Date]",R1="[object Error]",v1="[object Map]",T1="[object Number]",N1="[object RegExp]",V1="[object Set]",L1="[object String]",D1="[object Symbol]",j1="[object ArrayBuffer]",P1="[object DataView]",Sl=tt?tt.prototype:void 0,ro=Sl?Sl.valueOf:void 0;function U1(e,n,i,o,a,r,l){switch(i){case P1:if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case j1:return!(e.byteLength!=n.byteLength||!r(new ii(e),new ii(n)));case I1:case M1:case T1:return hn(+e,+n);case R1:return e.name==n.name&&e.message==n.message;case N1:case L1:return e==n+"";case v1:var s=S1;case V1:var c=o&x1;if(s||(s=io),e.size!=n.size&&!c)return!1;var d=l.get(e);if(d)return d==n;o|=O1,l.set(e,n);var p=Bl(s(e),s(n),o,a,r,l);return l.delete(e),p;case D1:if(ro)return ro.call(e)==ro.call(n)}return!1}var Y1=1,G1=Object.prototype,H1=G1.hasOwnProperty;function F1(e,n,i,o,a,r){var l=i&Y1,s=Zi(e),c=s.length,d=Zi(n),p=d.length;if(c!=p&&!l)return!1;for(var m=c;m--;){var g=s[m];if(!(l?g in n:H1.call(n,g)))return!1}var h=r.get(e),k=r.get(n);if(h&&k)return h==n&&k==e;var y=!0;r.set(e,n),r.set(n,e);for(var C=l;++m<c;){g=s[m];var E=e[g],x=n[g];if(o)var v=l?o(x,E,g,n,e,r):o(E,x,g,e,n,r);if(!(v===void 0?E===x||a(E,x,i,o,r):v)){y=!1;break}C||(C=g=="constructor")}if(y&&!C){var b=e.constructor,f=n.constructor;b!=f&&"constructor"in e&&"constructor"in n&&!(typeof b=="function"&&b instanceof b&&typeof f=="function"&&f instanceof f)&&(y=!1)}return r.delete(e),r.delete(n),y}var z1=1,xl="[object Arguments]",Ol="[object Array]",ri="[object Object]",K1=Object.prototype,Il=K1.hasOwnProperty;function q1(e,n,i,o,a,r){var l=Fe(e),s=Fe(n),c=l?Ol:bn(e),d=s?Ol:bn(n);c=c==xl?ri:c,d=d==xl?ri:d;var p=c==ri,m=d==ri,g=c==d;if(g&&Jn(e)){if(!Jn(n))return!1;l=!0,p=!1}if(g&&!p)return r||(r=new it),l||Ar(e)?Bl(e,n,i,o,a,r):U1(e,n,c,i,o,a,r);if(!(i&z1)){var h=p&&Il.call(e,"__wrapped__"),k=m&&Il.call(n,"__wrapped__");if(h||k){var y=h?e.value():e,C=k?n.value():n;return r||(r=new it),a(y,C,i,o,r)}}return g?(r||(r=new it),F1(e,n,i,o,a,r)):!1}function lo(e,n,i,o,a){return e===n?!0:e==null||n==null||!nt(e)&&!nt(n)?e!==e&&n!==n:q1(e,n,i,o,lo,a)}var X1=1,J1=2;function Z1(e,n,i,o){var a=i.length,r=a,l=!o;if(e==null)return!r;for(e=Object(e);a--;){var s=i[a];if(l&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++a<r;){s=i[a];var c=s[0],d=e[c],p=s[1];if(l&&s[2]){if(d===void 0&&!(c in e))return!1}else{var m=new it;if(o)var g=o(d,p,c,e,n,m);if(!(g===void 0?lo(p,d,X1|J1,o,m):g))return!1}}return!0}function Ml(e){return e===e&&!Te(e)}function W1(e){for(var n=Xt(e),i=n.length;i--;){var o=n[i],a=e[o];n[i]=[o,a,Ml(a)]}return n}function Rl(e,n){return function(i){return i==null?!1:i[e]===n&&(n!==void 0||e in Object(i))}}function Q1(e){var n=W1(e);return n.length==1&&n[0][2]?Rl(n[0][0],n[0][1]):function(i){return i===e||Z1(i,e,n)}}function _1(e,n){return e!=null&&n in Object(e)}function $1(e,n,i){n=Br(n,e);for(var o=-1,a=n.length,r=!1;++o<a;){var l=$n(n[o]);if(!(r=e!=null&&i(e,l)))break;e=e[l]}return r||++o!=a?r:(a=e==null?0:e.length,!!a&&Gi(a)&&Yi(l,a)&&(Fe(e)||dr(e)))}function ew(e,n){return e!=null&&$1(e,n,_1)}var tw=1,nw=2;function iw(e,n){return Ki(e)&&Ml(n)?Rl($n(e),n):function(i){var o=ee(i,e);return o===void 0&&o===n?ew(i,e):lo(n,o,tw|nw)}}function ow(e){return function(n){return n==null?void 0:n[e]}}function aw(e){return function(n){return Sr(n,e)}}function rw(e){return Ki(e)?ow($n(e)):aw(e)}function vl(e){return typeof e=="function"?e:e==null?Zn:typeof e=="object"?Fe(e)?iw(e[0],e[1]):Q1(e):rw(e)}function lw(e){return function(n,i,o){var a=Object(n);if(!fn(n)){var r=vl(i);n=Xt(n),i=function(s){return r(a[s],s,a)}}var l=e(n,i,o);return l>-1?a[r?n[l]:l]:void 0}}var sw=Math.max;function cw(e,n,i){var o=e==null?0:e.length;if(!o)return-1;var a=i==null?0:ll(i);return a<0&&(a=sw(o+a,0)),el(e,vl(n),a)}var dw=lw(cw);const pw=["disabled","name","id"],uw=["disabled"],mw=["label"],gw=["value"],fw=["value"];function Aw(e,n,i,o,a,r){const l=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("select",{class:t.normalizeClass(["form-control",e.schema.fieldClasses]),"onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s),disabled:e.disabled||null,name:e.schema.inputName,id:e.getFieldID(e.schema)},[r.selectOptions.hideNoneSelectedText?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("option",{key:0,disabled:e.schema.required||null,value:null},t.toDisplayString(r.selectOptions.noneSelectedText||"<Nothing selected>"),9,uw)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.items,s=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[s.group?(t.openBlock(),t.createElementBlock("optgroup",{key:0,label:r.getGroupName(s)},[s.ops?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(s.ops,c=>(t.openBlock(),t.createElementBlock("option",{value:r.getItemValue(c)},t.toDisplayString(r.getItemName(c)),9,gw))),256)):t.createCommentVNode("",!0)],8,mw)):t.createCommentVNode("",!0),s.group?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("option",{key:1,value:r.getItemValue(s)},t.toDisplayString(r.getItemName(s)),9,fw))],64))),256))],10,pw)),[[t.vModelSelect,e.value],[l,"input"]])}const hw={mixins:[Ve],computed:{selectOptions(){return this.schema.selectOptions||{}},items(){const e=this.schema.values;return typeof e=="function"?this.groupValues(e.apply(this,[this.model,this.schema])):this.groupValues(e)}},methods:{formatValueToField(e){return be(e)?null:e},groupValues(e){const n=[];let i={};return e.forEach(o=>{i=null,o.group&&Te(o)?(i=dw(n,a=>a.group===o.group),i?i.ops.push({id:o.id,name:o.name}):(i={group:"",ops:[]},i.group=o.group,i.ops.push({id:o.id,name:o.name}),n.push(i))):n.push(o)}),n},getGroupName(e){if(e&&e.group)return e.group;throw new Error("Group name is missing! https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")},getItemValue(e){if(Te(e)){if(typeof this.schema.selectOptions<"u"&&typeof this.schema.selectOptions.value<"u")return e[this.schema.selectOptions.value];if(typeof e.id<"u")return e.id;throw new Error("`id` is not defined. If you want to use another key name, add a `value` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return e},getItemName(e){if(Te(e)){if(typeof this.schema.selectOptions<"u"&&typeof this.schema.selectOptions.name<"u")return e[this.schema.selectOptions.name];if(typeof e.name<"u")return e.name;throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return e}}},Tl=ie(hw,[["render",Aw]]),Wt="24px",so=(e,n)=>{const i=e.__vccOpts||e;for(const[o,a]of n)i[o]=a;return i},yw=e=>(t.pushScopeId("data-v-761db460"),e=e(),t.popScopeId(),e),bw=["aria-hidden"],ww={key:0,"data-testid":"kui-icon-svg-title"},Cw=yw(()=>t.createElementVNode("path",{d:"M11 19V13H5V11H11V5H13V11H19V13H13V19H11Z",fill:"currentColor"},null,-1)),Ew=t.defineComponent({__name:"AddIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:Wt,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const n=String(e).replace(/px/gi,""),i=Number(n);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const n=e,i=t.computed(()=>{if(typeof n.size=="number"&&n.size>0)return`${n.size}px`;if(typeof n.size=="string"){const a=String(n.size).replace(/px/gi,""),r=Number(a);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return`${r}px`}return Wt}),o=t.computed(()=>({boxSizing:"border-box",color:n.color,display:n.display,height:i.value,lineHeight:"0",width:i.value}));return(a,r)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon add-icon","data-testid":"kui-icon-wrapper-add-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-add-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",ww,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Cw],8,bw))]),_:1},8,["aria-hidden","style"]))}}),Nl=so(Ew,[["__scopeId","data-v-761db460"]]),kw=e=>(t.pushScopeId("data-v-4857acb7"),e=e(),t.popScopeId(),e),Bw=["aria-hidden"],Sw={key:0,"data-testid":"kui-icon-svg-title"},xw=kw(()=>t.createElementVNode("path",{d:"M5 13V11H19V13H5Z",fill:"currentColor"},null,-1)),Ow=t.defineComponent({__name:"RemoveIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:Wt,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const n=String(e).replace(/px/gi,""),i=Number(n);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const n=e,i=t.computed(()=>{if(typeof n.size=="number"&&n.size>0)return`${n.size}px`;if(typeof n.size=="string"){const a=String(n.size).replace(/px/gi,""),r=Number(a);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return`${r}px`}return Wt}),o=t.computed(()=>({boxSizing:"border-box",color:n.color,display:n.display,height:i.value,lineHeight:"0",width:i.value}));return(a,r)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon remove-icon","data-testid":"kui-icon-wrapper-remove-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-remove-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",Sw,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),xw],8,Bw))]),_:1},8,["aria-hidden","style"]))}}),Iw=so(Ow,[["__scopeId","data-v-4857acb7"]]),Mw=e=>(t.pushScopeId("data-v-e07fc4ab"),e=e(),t.popScopeId(),e),Rw=["aria-hidden"],vw={key:0,"data-testid":"kui-icon-svg-title"},Tw=Mw(()=>t.createElementVNode("path",{d:"M7 21C6.45 21 5.97917 20.8042 5.5875 20.4125C5.19583 20.0208 5 19.55 5 19V6H4V4H9V3H15V4H20V6H19V19C19 19.55 18.8042 20.0208 18.4125 20.4125C18.0208 20.8042 17.55 21 17 21H7ZM17 6H7V19H17V6ZM9 17H11V8H9V17ZM13 17H15V8H13V17Z",fill:"currentColor"},null,-1)),Nw=t.defineComponent({__name:"TrashIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:Wt,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const n=String(e).replace(/px/gi,""),i=Number(n);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const n=e,i=t.computed(()=>{if(typeof n.size=="number"&&n.size>0)return`${n.size}px`;if(typeof n.size=="string"){const a=String(n.size).replace(/px/gi,""),r=Number(a);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return`${r}px`}return Wt}),o=t.computed(()=>({boxSizing:"border-box",color:n.color,display:n.display,height:i.value,lineHeight:"0",width:i.value}));return(a,r)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon trash-icon","data-testid":"kui-icon-wrapper-trash-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-trash-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",vw,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Tw],8,Rw))]),_:1},8,["aria-hidden","style"]))}}),Bn=so(Nw,[["__scopeId","data-v-e07fc4ab"]]),Vw={class:"array-card-container"},Lw=t.defineComponent({__name:"FieldArrayCardContainer",props:{model:{type:Object,default:()=>null},schema:{type:Object,default:()=>null}},emits:["remove-item"],setup(e){return(n,i)=>{const o=t.resolveComponent("KCard"),a=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",Vw,[t.createVNode(o,{class:"card"},{default:t.withCtx(()=>[t.renderSlot(n.$slots,"default",{},void 0,!0)]),_:3}),t.createVNode(a,{appearance:"tertiary",class:"array-card-remove-button",onClick:i[0]||(i[0]=r=>n.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Bn))]),_:1})])}}}),Vl=ie(Lw,[["__scopeId","data-v-7fbbde2b"]]),Dw={class:"array-item"},jw=t.defineComponent({__name:"FieldArrayItem",props:{model:{type:String,default:""}},emits:["remove-item"],setup(e){return(n,i)=>{const o=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",Dw,[t.renderSlot(n.$slots,"default",{},void 0,!0),t.createVNode(o,{appearance:"tertiary",class:"delete",onClick:i[0]||(i[0]=a=>n.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Bn))]),_:1})])}}}),Ll=ie(jw,[["__scopeId","data-v-746e21a0"]]),Pw=e=>(t.pushScopeId("data-v-37458a0a"),e=e(),t.popScopeId(),e),Uw={class:"multi-item-wrapper"},Yw=Pw(()=>t.createElementVNode("hr",null,null,-1)),Gw=t.defineComponent({__name:"FieldArrayMultiItem",emits:["remove-item"],setup(e){return(n,i)=>{const o=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",Uw,[t.renderSlot(n.$slots,"default",{},void 0,!0),t.createVNode(o,{appearance:"danger",class:"delete",onClick:i[0]||(i[0]=a=>n.$emit("remove-item"))},{default:t.withCtx(()=>[t.createTextVNode(" - Remove Field ")]),_:1}),Yw])}}}),Dl=ie(Gw,[["__scopeId","data-v-37458a0a"]]),At="kong-ui-forms-api",Hw="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}";function Fw(e){return e?e.length===36&&new RegExp(`^${Hw}$`).test(e):!1}const co=50,Vt={CREATE_NOT_FROM_ENTITY:"CREATE_NOT_FROM_ENTITY",CREATE_FROM_ENTITY:"CREATE_FROM_ENTITY",UPDATE_ENTITY:"UPDATE_ENTITY",SET_REFERRAL_VALUE:"SET_REFERRAL_VALUE"};function zw(e,n,i){return i?Vt.SET_REFERRAL_VALUE:e&&!n||!e&&n?Vt.UPDATE_ENTITY:e&&n?Vt.CREATE_FROM_ENTITY:Vt.CREATE_NOT_FROM_ENTITY}const Kw={mixins:[Ve],inject:[At],emits:["model-updated"],data(){return{suggestions:[],idValue:"",message:"Type something to search",items:[],initialItems:[],loading:!1}},computed:{fieldState(){return zw(this.model[this.schema.model],this.associatedEntity||this.entityId,this.bypassSearch)},associatedEntity(){return this.$route&&this.$route.params[this.entity]},entity(){return this.schema.entity},bypassSearch(){return this.$route&&this.$route.query&&this.$route.query.no_search}},async created(){await this.$nextTick();let e,n;switch(this.fieldState){case Vt.UPDATE_ENTITY:if(!this[At]){console.warn("[@kong-ui-public/forms] No API service provided");break}n=(await this[At].getOne(this.entity,this.model[this.schema.model])).data,e=this.getItem(this.schema.entityDataKey?n[this.schema.entityDataKey]:n),this.idValue=e.id;break;case Vt.CREATE_FROM_ENTITY:this.idValue=this.associatedEntity.id;break;case Vt.SET_REFERRAL_VALUE:this.idValue=this.value}try{e&&(this.initialItems=[{...e,label:this.getSuggestionLabel(e),value:e.id}]),this.items=this.initialItems}catch(i){this.message=`There was an error loading ${this.schema.entity}`,console.error("err!",i)}},methods:{onQueryChange(e){e.trim().length===0&&(this.items=[],this.message="Type something to search"),typeof this.performSearch!="function"&&(this.performSearch=Cn(this.search,500)),this.performSearch(e)},async search(e){if(e.trim().length===0)return;this.loading=!0;const n=[],i=[],o=this.getInputFields(),a=new Set;Fw(e)&&o.includes("id")?i.push((async()=>{const r=await this.fetchExact(e);n.push({...r,label:this.getSuggestionLabel(r),value:r.id})})()):i.push(...o.filter(r=>r!=="id").map(async r=>{(await this.fetchSuggestions(e,r)).forEach(l=>{a.has(l.id)||(a.add(l.id),n.push({...l,label:this.getSuggestionLabel(l),value:l.id}))})})),await Promise.all(i),this.items=n,this.items.length===0&&(this.message="No results"),this.loading=!1},getItem(e){return e.data?e.data.length>0?e.data[0]:[]:e},async fetchUntilLimit(e){const n=[];let i=null;if(!this[At])return console.warn("[@kong-ui-public/forms] No API service provided"),[];for(;n.length<co;){const o=await this[At].getAll(this.entity,{size:co,offset:i,...e});if(n.push(...o.data.data),i=o.data.offset,!i)break}return n.slice(0,co)},async fetchSuggestions(e,n){return this.fetchUntilLimit({[n]:e})},async fetchExact(e){return this[At]?(await this[At].getOne(this.entity,e)).data:(console.warn("[@kong-ui-public/forms] No API service provided"),{})},getInputFields(){var e,n;return((n=(e=this.schema)==null?void 0:e.inputValues)==null?void 0:n.fields)||[]},getSuggestionLabel(e){const n=this.getInputFields();return n.length&&e?n.map(i=>e[i]).filter(Boolean).join(" - "):""},updateModel(e){this.$emit("model-updated",e!=null&&e.length?e:null,this.schema.model)},onSelected(e){this.idValue=e&&e.id,this.updateModel(this.getReturnValue(e||{}))},getReturnValue(e){var n;const i=(n=this.schema)==null?void 0:n.returnKey;return i?e[i]:e.id}}},qw={class:"field-wrap autosuggest"},Xw=["data-testid","data-testlabel"],Jw=["data-testid"],Zw={class:"autosuggest__results_message"};function Ww(e,n,i,o,a,r){const l=t.resolveComponent("KSelect");return t.openBlock(),t.createElementBlock("div",qw,[t.createVNode(l,{id:e.schema.model,ref:"suggestion",modelValue:a.idValue,"onUpdate:modelValue":n[0]||(n[0]=s=>a.idValue=s),clearable:"","enable-filtering":"","filter-function":()=>!0,items:a.items,loading:a.loading,placeholder:e.schema.placeholder,width:"100%",onChange:r.onSelected,onQueryChange:r.onQueryChange},{"item-template":t.withCtx(({item:s})=>[t.createElementVNode("span",{class:"first-part","data-testid":s.id&&`${s.id}-0`,"data-testlabel":s.label},t.toDisplayString(r.getSuggestionLabel(s).split(" - ")[0]),9,Xw),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.getSuggestionLabel(s).split(" - ").slice(1),(c,d)=>(t.openBlock(),t.createElementBlock("span",{key:d,class:"field-span","data-testid":s.id&&`${s.id}-${d+1}`||d+1},t.toDisplayString(c),9,Jw))),128))]),empty:t.withCtx(()=>[t.createElementVNode("div",Zw,[t.createElementVNode("span",null,t.toDisplayString(a.message),1)])]),_:1},8,["id","modelValue","items","loading","placeholder","onChange","onQueryChange"])])}const jl=ie(Kw,[["render",Ww],["__scopeId","data-v-dd2fda9e"]]),Qw={name:"FieldMetric",components:{AddIcon:Nl,TrashIcon:Bn},mixins:[Ve],emits:["remove-item"],data(){return{contentVisible:!1}}},_w={key:0,class:"content"};function $w(e,n,i,o,a,r){const l=t.resolveComponent("AddIcon"),s=t.resolveComponent("TrashIcon"),c=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["field-dropdown",{active:a.contentVisible}])},[t.createElementVNode("div",{class:"title",onClick:n[0]||(n[0]=d=>a.contentVisible=!a.contentVisible)},[t.createTextVNode(t.toDisplayString(e.model.name?e.model.name:"New Item")+" ",1),t.createVNode(l,{class:"metric-add-icon"})]),t.createVNode(t.Transition,{name:"slide-fade"},{default:t.withCtx(()=>[a.contentVisible?(t.openBlock(),t.createElementBlock("div",_w,[t.renderSlot(e.$slots,"default"),t.createVNode(c,{appearance:"tertiary",class:"metric-remove-button",onClick:n[1]||(n[1]=d=>e.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(s)]),_:1})])):t.createCommentVNode("",!0)]),_:3})],2)}const Pl=ie(Qw,[["render",$w]]),eC={mixins:[Ve],data(){return{attributes:this.schema?this.schema.attributes:void 0,newKeyType:"string",newKeyName:"",keyTypes:{}}},created(){this.value||(this.value={})},mounted(){if(!this.value)return;const e=Object.keys(this.value),n={};for(let i=0;i<e.length;i++){const o=e[i];n[o]=typeof this.value[o]}this.keyTypes=n},methods:{removeElement(e){const n=this.value;delete n[e],this.value=JSON.parse(JSON.stringify(n));const i=this.keyTypes;delete i[e],this.keyTypes=JSON.parse(JSON.stringify(i))},addKey(){this.value[this.newKeyName]=void 0,this.value={...this.value},this.keyTypes[this.newKeyName]=this.newKeyType,this.keyTypes={...this.keyTypes},this.newKeyName=""}}},tC={key:0},nC={key:1},iC=["id"],oC={key:0},aC=["onUpdate:modelValue"],rC={key:1},lC=["onUpdate:modelValue"],sC={key:2},cC=["onUpdate:modelValue"],dC=["onClick"],pC=t.createElementVNode("option",{value:"string"}," String ",-1),uC=t.createElementVNode("option",{value:"number"}," Number ",-1),mC=t.createElementVNode("option",{value:"boolean"}," Boolean ",-1),gC=[pC,uC,mC];function fC(e,n,i,o,a,r){const l=t.resolveComponent("vue-form-generator"),s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",null,[e.schema.schema?(t.openBlock(),t.createElementBlock("div",tC,[t.createVNode(l,{model:e.value,options:e.formOptions,schema:e.schema.schema},null,8,["model","options","schema"])])):(t.openBlock(),t.createElementBlock("div",nC,[t.createElementVNode("table",{id:e.getFieldID(e.schema),class:t.normalizeClass(e.schema.fieldClasses)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(c,d)=>(t.openBlock(),t.createElementBlock("tr",{key:d},[t.createElementVNode("td",null,t.toDisplayString(d),1),a.keyTypes[d]==="string"?(t.openBlock(),t.createElementBlock("td",oC,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":p=>e.value[d]=p,type:"text"},null,8,aC),[[t.vModelText,e.value[d]]])])):t.createCommentVNode("",!0),a.keyTypes[d]==="boolean"?(t.openBlock(),t.createElementBlock("td",rC,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":p=>e.value[d]=p,type:"checkbox"},null,8,lC),[[t.vModelCheckbox,e.value[d]]])])):t.createCommentVNode("",!0),a.keyTypes[d]==="number"?(t.openBlock(),t.createElementBlock("td",sC,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":p=>e.value[d]=p,type:"number"},null,8,cC),[[t.vModelText,e.value[d]]])])):t.createCommentVNode("",!0),t.createElementVNode("td",null,[t.createElementVNode("input",{type:"button",value:"x",onClick:p=>r.removeElement(d)},null,8,dC)])]))),128))],10,iC),t.withDirectives(t.createElementVNode("select",{"onUpdate:modelValue":n[0]||(n[0]=c=>a.newKeyType=c)},gC,512),[[t.vModelSelect,a.newKeyType]]),t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[1]||(n[1]=c=>a.newKeyName=c),type:"text"},null,512),[[t.vModelText,a.newKeyName]]),t.createElementVNode("input",{type:"button",value:"Add key",onClick:n[2]||(n[2]=(...c)=>r.addKey&&r.addKey(...c))})]))])),[[s,a.attributes]])}const Ul=ie(eC,[["render",fC]]),AC={components:{TrashIcon:Bn},mixins:[Ve],emits:["model-updated"],data(){return{newKeyName:""}},computed:{subSchema(){return this.schema.schema&&this.schema.schema.fields[0].schema},subFields(){return!this.subSchema&&this.schema.fields},hasObjectKeys(){return this.value&&Object.keys(this.value).length>0},transformedModel(){return this.subSchema&&this.subSchema.fields.length>=1&&this.subSchema.fields[0].type==="array"?new Proxy(this.model[this.schema.model],{get:(e,n)=>({[this.schema.model]:e[n]}),set:(e,n,i)=>e[n]=i[this.schema.model]}):this.model[this.schema.model]}},mounted(){this.value||(this.value={});let e=[];this.subSchema?e=this.subSchema.fields:this.subFields&&(e=this.schema.fields[0].schema),this.value=this.transformMapModelValuesToObject(this.model,e,this.schema.model)},methods:{removeElement(e){const n=this.value;delete n[e],this.value={...n}},transformMapModelValuesToObject(e,n,i){const o={};return Object.keys(e).map(a=>{const r=a.indexOf(i+"-");if(r>-1&&Array.isArray(n))if(n.length>0){const l=a.split("-").filter(c=>n.find(d=>d.model===c)),s=a.split(`-${l}`)[0].split(`${i}-`)[1];l.length?o[s]={...o[s],[l]:e[a]}:o[a.substring(r+`${i}-`.length)]=e[a]}else o[a.substring(`${i}-`.length)]=e[a];else{const l=a.split("-").filter(c=>c===this.schema.model),s=a.split(`-${l}`)[0].split(`${i}-`)[1];s&&(o[s]=e[a])}return a}),o},addKey(){const e=this.subSchema&&Array.isArray(this.subSchema.fields)&&this.subSchema.fields.length===1&&this.subSchema.fields[0].type==="array",n=this.subSchema?e?[""]:{}:"";this.value[this.newKeyName]=n,this.newKeyName=""},updateModel(e,n){this.$emit("model-updated",this.model[this.schema.model],n)}}},Yl=e=>(t.pushScopeId("data-v-5deefed2"),e=e(),t.popScopeId(),e),hC=["id"],yC=["data-testid"],bC={class:"item-wrapper"},wC={class:"index-wrapper"},CC=Yl(()=>t.createElementVNode("hr",{class:"divider"},null,-1)),EC={key:0},kC={key:1},BC=["onUpdate:modelValue","placeholder","onInput"],SC={key:0,class:"hint"},xC=Yl(()=>t.createElementVNode("hr",{class:"wide-divider"},null,-1)),OC={class:"input-item"},IC=["placeholder"],MC={key:0,class:"hint"};function RC(e,n,i,o,a,r){const l=t.resolveComponent("TrashIcon"),s=t.resolveComponent("KButton"),c=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",{id:e.getFieldID(e.schema),class:t.normalizeClass(["object-advanced-wrapper",e.schema.fieldClasses])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(d,p)=>(t.openBlock(),t.createElementBlock("div",{key:p,"data-testid":`field-object-key-${p}`},[t.createElementVNode("div",null,[t.createElementVNode("div",bC,[t.createElementVNode("div",wC,[t.createElementVNode("strong",null,t.toDisplayString(p),1),t.createElementVNode("div",null,[t.createVNode(s,{appearance:"tertiary",class:"delete",icon:"",type:"button",onClick:m=>r.removeElement(p)},{default:t.withCtx(()=>[t.createVNode(l)]),_:2},1032,["onClick"])])]),CC,r.subSchema?(t.openBlock(),t.createElementBlock("div",EC,[t.createVNode(c,{model:r.transformedModel[p],options:{helpAsHtml:!0},schema:r.subSchema,onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])])):(t.openBlock(),t.createElementBlock("div",kC,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":m=>e.value[p]=m,class:"form-control",placeholder:e.schema.fields&&e.schema.fields[0].schema.placeholder,type:"text",onInput:m=>r.updateModel(e.value[p],e.model[e.schema.model])},null,40,BC),[[t.vModelText,e.value[p]]]),e.schema.fields&&e.schema.fields[0].schema.hint?(t.openBlock(),t.createElementBlock("p",SC,t.toDisplayString(e.schema.fields[0].schema.hint),1)):t.createCommentVNode("",!0)])),xC])])],8,yC))),128)),t.createElementVNode("div",{class:t.normalizeClass(["input-wrapper",{indent:r.hasObjectKeys}])},[t.createElementVNode("div",OC,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=d=>a.newKeyName=d),class:"form-control","data-testid":"keyname-input",placeholder:e.schema.placeholder,type:"text"},null,8,IC),[[t.vModelText,a.newKeyName]]),t.createVNode(s,{appearance:"tertiary","data-testid":"add-key",disabled:!a.newKeyName,onClick:r.addKey},{default:t.withCtx(()=>[t.createTextVNode(" + Add "+t.toDisplayString(e.schema.buttonLabel||e.schema.label),1)]),_:1},8,["disabled","onClick"])]),e.schema.hintText?(t.openBlock(),t.createElementBlock("p",MC,t.toDisplayString(e.schema.hintText),1)):t.createCommentVNode("",!0)],2)],10,hC)}const Gl=ie(AC,[["render",RC],["__scopeId","data-v-5deefed2"]]),vC={mixins:[Ve],emits:["model-updated"],methods:{updateModel(e){this.$emit("model-updated",e,this.schema.model)},checkOption(e){return this.model[this.schema.model]?e.value.toString()===this.model[this.schema.model].toString():e.checked},onChange(e){let n=e.target.value.split(",");this.schema.array||(n=n.toString()),this.updateModel(n)}}},TC={class:"selection-group"},NC={class:"form-group"},VC=["id","checked","name","value"];function LC(e,n,i,o,a,r){return t.openBlock(),t.createElementBlock("div",TC,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.values,(l,s)=>(t.openBlock(),t.createElementBlock("div",{key:s,class:"option-group"},[t.createElementVNode("div",NC,[t.createElementVNode("label",{class:t.normalizeClass(["k-label",l.name])},[t.createElementVNode("input",{id:e.schema.name+"-"+s,checked:r.checkOption(l),class:"k-input",name:e.schema.name,type:"radio",value:l.value,onChange:n[0]||(n[0]=(...c)=>r.onChange&&r.onChange(...c))},null,40,VC),t.createTextVNode(" "+t.toDisplayString(l.name),1)],2)])]))),128))])}const Hl=ie(vC,[["render",LC],["__scopeId","data-v-33d6c694"]]),DC={name:"FieldArray",components:{FieldArrayItem:Ll,FieldArrayMultiItem:Dl,FieldSelect:Tl,FieldMetric:Pl,FieldObject:Ul,FieldObjectAdvanced:Gl,FieldAutoSuggest:jl,FieldRadio:Hl,FieldArrayCardContainer:Vl,FieldInput:kl},mixins:[Ve],props:{newElementButtonLabel:{type:String,default:"New Item"},removeElementButtonLabel:{type:String,default:"x"}},methods:{generateSchema(e,n,i){var o,a,r;let l;return n&&(l=JSON.parse(JSON.stringify(n)),(r=(a=(o=l.schema)==null?void 0:o.fields)==null?void 0:a.map)==null||r.call(a,s=>(s.id=`${s.id||s.model}-${i}`,s))),{...l,set(s,c){e[i]=c},get(){return e[i]}}},newElement(){let e=this.value,n;(!e||!e.push)&&(e=[]),this.schema.items&&this.schema.items.default&&(typeof this.schema.items.default=="function"?n=this.schema.items.default():n=this.schema.items.default),e.push(n),this.value=[...e]},removeElement(e){this.value=this.value.filter((n,i)=>i!==e)},getFieldType(e){return"field-"+e.type},modelUpdated(){}}},jC=["id"],PC={key:1},UC=["onUpdate:modelValue","aria-labelledby","type"],YC=["value","onClick"],GC=["onUpdate:modelValue","aria-labelledby"],HC=["value","onClick"];function FC(e,n,i,o,a,r){const l=t.resolveComponent("KTextArea"),s=t.resolveComponent("KInput"),c=t.resolveComponent("KButton");return e.schema?(t.openBlock(),t.createElementBlock("div",{key:0,id:e.getFieldID(e.schema),class:t.normalizeClass(e.schema.fieldClasses)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(d,p)=>(t.openBlock(),t.createElementBlock("div",{key:p,class:t.normalizeClass(e.schema.fieldItemsClasses)},[e.schema.items&&e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:0,model:d,schema:r.generateSchema(e.value,e.schema.items,p),onRemoveItem:m=>r.removeElement(p)},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(e.schema.items)),{"form-options":e.formOptions,model:d,schema:r.generateSchema(e.value,e.schema.items,p),onModelUpdated:r.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))]),_:2},1064,["model","schema","onRemoveItem"])):e.schema.items?(t.openBlock(),t.createElementBlock("span",PC,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(e.schema.items)),{"form-options":e.formOptions,model:d,schema:r.generateSchema(e.value,e.schema.items,p),onModelUpdated:r.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))])):e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:2,"data-testid":`${e.getFieldID(e.schema)}-item-${p}`,model:d,schema:r.generateSchema(e.value,e.schema.items,p),onRemoveItem:m=>r.removeElement(p)},{default:t.withCtx(()=>{var m;return[e.schema.inputAttributes&&e.schema.inputAttributes.type==="textarea"?(t.openBlock(),t.createBlock(l,t.mergeProps({key:0,ref_for:!0},e.schema.inputAttributes,{id:e.getFieldID(e.schema),modelValue:e.value[p],"onUpdate:modelValue":g=>e.value[p]=g,"aria-labelledby":e.getLabelId(e.schema),class:e.schema.fieldClasses,maxlength:e.schema.max,minlength:e.schema.min,name:e.schema.inputName,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,rows:e.schema.rows||2}),null,16,["id","modelValue","onUpdate:modelValue","aria-labelledby","class","maxlength","minlength","name","placeholder","readonly","required","rows"])):!e.schema.inputAttributes||!e.schema.inputAttributes.type||e.schema.inputAttributes.type==="text"?(t.openBlock(),t.createBlock(s,t.mergeProps({key:1,modelValue:e.value[p],"onUpdate:modelValue":g=>e.value[p]=g,"aria-labelledby":e.getLabelId(e.schema),ref_for:!0},e.schema.inputAttributes,{type:e.schema.inputAttributes&&e.schema.inputAttributes.type||"text"}),null,16,["modelValue","onUpdate:modelValue","aria-labelledby","type"])):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:2,"onUpdate:modelValue":g=>e.value[p]=g,"aria-labelledby":e.getLabelId(e.schema),ref_for:!0},e.schema.inputAttributes,{type:((m=e.schema.inputAttributes)==null?void 0:m.type)||"text"}),null,16,UC)),[[t.vModelDynamic,e.value[p]]]),e.schema.showRemoveButton?(t.openBlock(),t.createElementBlock("input",t.mergeProps({key:3,ref_for:!0},e.schema.removeElementButtonAttributes,{type:"button",value:e.schema.removeElementButtonLabel||i.removeElementButtonLabel,onClick:g=>r.removeElement(p)}),null,16,YC)):t.createCommentVNode("",!0)]}),_:2},1064,["data-testid","model","schema","onRemoveItem"])):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:3,ref_for:!0},e.schema.inputAttributes,{"onUpdate:modelValue":m=>e.value[p]=m,"aria-labelledby":e.getLabelId(e.schema),type:"text"}),null,16,GC)),[[t.vModelText,e.value[p]]]),e.schema.showRemoveButton?(t.openBlock(),t.createElementBlock("input",t.mergeProps({key:4,ref_for:!0},e.schema.removeElementButtonAttributes,{type:"button",value:e.schema.removeElementButtonLabel||i.removeElementButtonLabel,onClick:m=>r.removeElement(p)}),null,16,HC)):t.createCommentVNode("",!0)],2))),128)),t.createVNode(c,{appearance:"tertiary",class:t.normalizeClass(e.schema.newElementButtonLabelClasses),"data-testid":`add-${e.getFieldID(e.schema)}`,type:"button",onClick:r.newElement},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.schema.newElementButtonLabel||i.newElementButtonLabel),1)]),_:1},8,["class","data-testid","onClick"])],10,jC)):t.createCommentVNode("",!0)}const zC=ie(DC,[["render",FC],["__scopeId","data-v-5151c17d"]]),KC={mixins:[Ve]},qC=["id","autocomplete","disabled","name","required"];function XC(e,n,i,o,a,r){const l=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("input",{id:e.getFieldID(e.schema),type:"checkbox","onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s),autocomplete:e.schema.autocomplete,disabled:e.disabled||null,name:e.schema.inputName,class:t.normalizeClass(e.schema.fieldClasses),required:e.schema.required},null,10,qC)),[[t.vModelCheckbox,e.value],[l,"input"]])}const JC=ie(KC,[["render",XC]]);var ZC=4;function Fl(e){return wn(e,ZC)}const WC={class:"wrapper"},QC=["disabled"],_C=["id","checked","disabled","onChange","name"],$C=["disabled"],e0={class:"info"},t0=t.createElementVNode("div",{class:"arrow"},null,-1),n0={class:"dropList"},i0=["id","checked","disabled","onChange","name"];function o0(e,n,i,o,a,r){const l=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",WC,[e.schema.listBox?(t.openBlock(),t.createElementBlock("div",{key:0,class:"listbox form-control",disabled:e.disabled||null},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.items,s=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":r.isItemChecked(s)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:r.isItemChecked(s)||null,disabled:e.disabled||null,onChange:c=>r.onChanged(c,s),name:r.getInputName(s)},null,40,_C),[[l,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(s)),1)])],2))),256))],8,QC)):t.createCommentVNode("",!0),e.schema.listBox?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:1,class:"combobox form-control",disabled:e.disabled||null},[t.createElementVNode("div",{class:t.normalizeClass(["mainRow",{expanded:a.comboExpanded}]),onClick:n[0]||(n[0]=(...s)=>r.onExpandCombo&&r.onExpandCombo(...s))},[t.createElementVNode("div",e0,t.toDisplayString(r.selectedCount)+" selected",1),t0],2),t.createElementVNode("div",n0,[a.comboExpanded?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(r.items,s=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":r.isItemChecked(s)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:r.isItemChecked(s)||null,disabled:e.disabled||null,onChange:c=>r.onChanged(c,s),name:r.getInputName(s)},null,40,i0),[[l,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(s)),1)])],2))),256)):t.createCommentVNode("",!0)])],8,$C))])),[[l,"wrapper"]])}const a0={mixins:[Ve],data(){return{comboExpanded:!1}},computed:{items(){const e=this.schema.values;return typeof e=="function"?e.apply(this,[this.model,this.schema]):e},selectedCount(){return this.value?this.value.length:0}},methods:{getInputName(e){return this.schema&&this.schema.inputName&&this.schema.inputName.length>0?_r(this.schema.inputName+"_"+this.getItemValue(e)):_r(this.getItemValue(e))},getItemValue(e){if(Te(e)){if(typeof this.schema.checklistOptions<"u"&&typeof this.schema.checklistOptions.value<"u")return e[this.schema.checklistOptions.value];if(typeof e.value<"u")return e.value;throw new Error("`value` is not defined. If you want to use another key name, add a `value` property under `checklistOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/checklist.html#checklist-field-with-object-values")}else return e},getItemName(e){if(Te(e)){if(typeof this.schema.checklistOptions<"u"&&typeof this.schema.checklistOptions.name<"u")return e[this.schema.checklistOptions.name];if(typeof e.name<"u")return e.name;throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `checklistOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/checklist.html#checklist-field-with-object-values")}else return e},isItemChecked(e){return this.value&&this.value.indexOf(this.getItemValue(e))!==-1},onChanged(e,n){if((be(this.value)||!Array.isArray(this.value))&&(this.value=[]),e.target.checked){const i=Fl(this.value);i.push(this.getItemValue(n)),this.value=i}else{const i=Fl(this.value);i.splice(this.value.indexOf(this.getItemValue(n)),1),this.value=i}},onExpandCombo(){this.comboExpanded=!this.comboExpanded}}},r0=ie(a0,[["render",o0]]),l0={name:"FieldKeyValuePairs",components:{TrashIcon:Bn},mixins:[Ve],data(){return{pairs:[]}},watch:{pairs:{handler(){this.updateValue()},deep:!0}},created(){var e,n;this.value||(this.value={});const i=((n=this.model)==null?void 0:n[(e=this.schema)==null?void 0:e.model])??{};Object.keys(i).forEach(o=>{this.pairs.push({key:o,value:i[o]})})},methods:{onInput(e,n,i){this.pairs[n][i]=e.target.value},updateValue(){this.value=this.pairs.reduce((e,{key:n,value:i})=>({...e,...n&&i?{[n]:i}:null}),{})},addPair(){this.pairs.push({key:"",value:""})},removePair(e){this.pairs.splice(e,1)}}},s0={class:"key-value-pairs-editor"},c0=["data-testid","placeholder","value","onInput"],d0=["data-testid","placeholder","value","onInput"];function p0(e,n,i,o,a,r){const l=t.resolveComponent("TrashIcon"),s=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",s0,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.pairs,(c,d)=>(t.openBlock(),t.createElementBlock("div",{key:d,class:"pair-item"},[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-key-${d}`,placeholder:e.schema.keyInputPlaceholder??"Key",type:"text",value:c.key,onInput:p=>{r.onInput(p,d,"key")}},null,40,c0),t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-value-${d}`,placeholder:e.schema.valueInputPlaceholder??"Value",type:"text",value:c.value,onInput:p=>{r.onInput(p,d,"value")}},null,40,d0),t.createVNode(s,{appearance:"tertiary","data-testid":`${e.getFieldID(e.schema)}-remove-pair-${d}`,onClick:()=>{r.removePair(d)}},{default:t.withCtx(()=>[t.createVNode(l)]),_:2},1032,["data-testid","onClick"])]))),128)),t.createVNode(s,{appearance:"tertiary",class:t.normalizeClass(e.schema.newElementButtonLabelClasses),"data-testid":`${e.getFieldID(e.schema)}-add-pair`,type:"button",onClick:r.addPair},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.schema.newElementButtonLabel??"+ Add Pair"),1)]),_:1},8,["class","data-testid","onClick"])])}const u0=ie(l0,[["render",p0],["__scopeId","data-v-76ba2b2c"]]),m0=t.defineComponent({__name:"FieldLabel",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0}},setup(e){const n=e,i=t.toRefs(n),{getFieldID:o,value:a}=El.useAbstractFields({model:i.model,schema:n.schema,formOptions:n.formOptions});return(r,l)=>{const s=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["field-label",e.schema.fieldClasses])},[t.createVNode(s,{id:t.unref(o)(e.schema)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)),1)]),_:1},8,["id"])],2)}}}),g0=ie(m0,[["__scopeId","data-v-d046a15a"]]),f0={mixins:[Ve],emits:["model-updated"],methods:{onUpdate(e){this.$emit("model-updated",e,this.schema.model)}}};function A0(e,n,i,o,a,r){const l=t.resolveComponent("KMultiselect");return t.openBlock(),t.createBlock(l,{"aria-labelledby":e.getLabelId(e.schema),"data-testid":"field-multiselect",items:e.schema.values,"label-attributes":{info:e.schema.help},"model-value":e.value,placeholder:e.schema.placeholder,required:e.schema.required||void 0,width:"100%","onUpdate:modelValue":r.onUpdate},null,8,["aria-labelledby","items","label-attributes","model-value","placeholder","required","onUpdate:modelValue"])}const h0=ie(f0,[["render",A0]]),y0={mixins:[Ve],emits:["model-updated"],data(){return{checkedGroup:null,fieldModel:{...this.model},fieldSchema:[]}},watch:{checkedGroup:{handler(e,n){if(n===null){this.fieldModel={...this.model};return}const i=this.schema.fields[e].fields,o=this.schema.fields[n].fields;o&&o.forEach(a=>this.updateModel("",a.model)),i&&i.forEach(a=>this.updateModel(this.fieldModel[a.model],a.model))}}},async created(){await this.$nextTick(),this.schema.fields.forEach((e,n)=>{e.fields&&e.fields.forEach(i=>{this.model[i.model]&&(this.checkedGroup=n,this.fieldSchema.push(i.model))})}),this.checkedGroup===null&&(this.checkedGroup=0)},methods:{updateModel(e,n){this.$emit("model-updated",e,n)}}},b0={class:"selection-group"},w0={class:"form-group horizontal-radios"},C0={class:"radio-group"},E0=["value"],k0={class:"control-help"},B0={class:"option-field"},S0={class:"option-field-container"};function x0(e,n,i,o,a,r){const l=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",b0,[t.createElementVNode("div",w0,[t.createElementVNode("div",C0,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.fields,(s,c)=>(t.openBlock(),t.createElementBlock("div",{key:c,class:"option-group"},[t.createElementVNode("label",{class:t.normalizeClass(["k-label",`${s.label}-check`])},[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=d=>a.checkedGroup=d),class:"k-input",type:"radio",value:c},null,8,E0),[[t.vModelRadio,a.checkedGroup]]),t.createTextVNode(" "+t.toDisplayString(s.label)+" ",1),t.createElementVNode("div",k0,t.toDisplayString(s.description),1)],2)]))),128))])]),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.fields,(s,c)=>(t.openBlock(),t.createElementBlock("div",{key:c,class:"option-group"},[t.withDirectives(t.createElementVNode("div",B0,[t.createElementVNode("div",S0,[t.createVNode(l,{model:e.model,options:{helpAsHtml:!0},schema:{fields:s.fields},onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])])],512),[[t.vShow,s.fields&&a.checkedGroup===c]])]))),128))])}const O0=ie(y0,[["render",x0],["__scopeId","data-v-0aaaf597"]]),I0=["autocomplete","disabled","name","id"],M0=["data-on","data-off","for"],R0=t.createElementVNode("span",{class:"handle"},null,-1);function v0(e,n,i,o,a,r){return t.openBlock(),t.createElementBlock("label",null,[t.withDirectives(t.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),autocomplete:e.schema.autocomplete,disabled:e.disabled||null,name:e.schema.inputName,id:e.getFieldID(e.schema)},null,8,I0),[[t.vModelCheckbox,e.value]]),t.createElementVNode("span",{class:"label","data-on":e.schema.textOn||"On","data-off":e.schema.textOff||"Off",for:e.getFieldID(e.schema)},null,8,M0),R0])}const T0={mixins:[Ve],methods:{formatValueToField(e){return e!=null&&this.schema.valueOn?e===this.schema.valueOn:e},formatValueToModel(e){return e!=null&&this.schema.valueOn?e?this.schema.valueOn:this.schema.valueOff:e}}},N0=ie(T0,[["render",v0]]),V0=["id","disabled","maxlength","minlength","placeholder","readonly","required","rows","name"];function L0(e,n,i,o,a,r){const l=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("textarea",{class:t.normalizeClass(["form-control",e.schema.fieldClasses]),"onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s),id:e.getFieldID(e.schema),disabled:e.disabled||null,maxlength:e.schema.max,minlength:e.schema.min,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,rows:e.schema.rows||2,name:e.schema.inputName},null,10,V0)),[[t.vModelText,e.value],[l,"input"]])}const D0={mixins:[Ve]},j0=ie(D0,[["render",L0]]),P0=Object.freeze(Object.defineProperty({__proto__:null,FieldAdvanced:y1,FieldArray:zC,FieldArrayCardContainer:Vl,FieldArrayItem:Ll,FieldArrayMultiItem:Dl,FieldAutoSuggest:jl,FieldCheckbox:JC,FieldChecklist:r0,FieldInput:kl,FieldKeyValuePairs:u0,FieldLabel:g0,FieldMetric:Pl,FieldMultiselect:h0,FieldObject:Ul,FieldObjectAdvanced:Gl,FieldRadio:Hl,FieldSelect:Tl,FieldSelectionGroup:O0,FieldSwitch:N0,FieldTextArea:j0},Symbol.toStringTag,{value:"Module"})),U0={name:"FormGroup",components:P0,mixins:[xr],props:{vfg:{type:Object,required:!0},model:{type:Object,default:()=>{}},options:{type:Object,default:()=>{}},field:{type:Object,required:!0},errors:{type:Array,default(){return[]}}},emits:["validated","modelUpdated"],data(){return{child:t.ref()}},methods:{fieldTypeHasLabel(e){if(be(e.label))return!1;let n="";switch(e.type==="input"?n=e.inputType:n=e.type,n){case"button":case"submit":case"reset":return!1;default:return!0}},getFieldID(e){const n=ee(this.options,"fieldIdPrefix","");return eo(e,n)},getTooltipId(e){return`${this.getFieldID(e)}-tooltip`},getFieldType(e){return"field-"+e.type},getButtonType(e){return ee(e,"type","button")},onFieldValidated(e,n,i){this.$emit("validated",e,n,i)},buttonVisibility(e){return e.buttons&&e.buttons.length>0},buttonClickHandler(e,n,i){return e.onclick.call(this,this.model,n,i,this)},fieldHint(e){return pe(e.hint)?e.hint.call(this,this.model,e,this):e.hint},fieldErrors(e){return this.errors.filter(n=>n.field.fieldName===e.fieldName).map(n=>n.error)},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},validate(e){return this.$refs.child.validate(e)},clearValidationErrors(){if(this.$refs.child)return this.$refs.child.clearValidationErrors()},formattedLabel(e){return e?e.replace(/^[cC]onfig\./,""):""}}},Y0=e=>(t.pushScopeId("data-v-6558b1f3"),e=e(),t.popScopeId(),e),G0=["innerHTML"],H0={class:"icon-wrapper"},F0=["innerHTML"],z0={key:0,class:"link-wrapper"},K0=Y0(()=>t.createElementVNode("span",{class:"section-header"},"More info",-1)),q0={class:"field-wrap"},X0={key:0,class:"buttons"},J0=["type","onClick","textContent"],Z0=["innerHTML"],W0={key:2,class:"errors help-block"},Q0=["innerHTML"];function _0(e,n,i,o,a,r){const l=t.resolveComponent("KExternalLink"),s=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["form-group",e.getFieldRowClasses(i.field)])},[r.fieldTypeHasLabel(i.field)?(t.openBlock(),t.createBlock(s,{key:0,"aria-describedby":i.field.help?r.getTooltipId(i.field):void 0,class:t.normalizeClass([i.field.labelClasses,"form-group-label"]),for:r.getFieldID(i.field),info:!i.options.helpAsHtml&&i.field.help?i.field.help:void 0,"tooltip-attributes":i.field.help?{maxWidth:"300",placement:"top",tooltipId:r.getTooltipId(i.field)}:void 0},t.createSlots({default:t.withCtx(()=>[t.createElementVNode("div",H0,[t.createElementVNode("span",{innerHTML:r.formattedLabel(i.field.label)},null,8,F0)]),i.field.link?(t.openBlock(),t.createElementBlock("div",z0,[t.createVNode(l,{href:i.field.link},{default:t.withCtx(()=>[K0]),_:1},8,["href"])])):t.createCommentVNode("",!0)]),_:2},[i.options.helpAsHtml&&i.field.help?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:i.field.help},null,8,G0)]),key:"0"}:void 0]),1032,["aria-describedby","class","for","info","tooltip-attributes"])):t.createCommentVNode("",!0),t.createElementVNode("div",q0,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(i.field)),t.mergeProps(e.$attrs,{ref:"child",disabled:e.fieldDisabled(i.field)||null,"form-options":i.options,hint:i.field.hint&&r.getFieldType(i.field)==="field-input"?r.fieldHint(i.field):void 0,model:i.model,schema:i.field,vfg:i.vfg,onModelUpdated:r.onModelUpdated,onValidated:r.onFieldValidated}),null,16,["disabled","form-options","hint","model","schema","vfg","onModelUpdated","onValidated"])),r.buttonVisibility(i.field)?(t.openBlock(),t.createElementBlock("div",X0,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.field.buttons,(c,d)=>(t.openBlock(),t.createElementBlock("button",{key:d,class:t.normalizeClass(c.classes),type:r.getButtonType(c),onClick:p=>r.buttonClickHandler(c,i.field,p),textContent:t.toDisplayString(c.label)},null,10,J0))),128))])):t.createCommentVNode("",!0)]),i.field.hint&&r.getFieldType(i.field)!=="field-input"?(t.openBlock(),t.createElementBlock("div",{key:1,class:"hint",innerHTML:r.fieldHint(i.field)},null,8,Z0)):t.createCommentVNode("",!0),r.fieldErrors(i.field).length>0?(t.openBlock(),t.createElementBlock("div",W0,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.fieldErrors(i.field),(c,d)=>(t.openBlock(),t.createElementBlock("span",{key:d,innerHTML:c},null,8,Q0))),128))])):t.createCommentVNode("",!0)],2)}const $0=ie(U0,[["render",_0],["__scopeId","data-v-6558b1f3"]]),eE={name:"FormGenerator",components:{formGroup:$0},mixins:[xr],props:{schema:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},options:{type:Object,default(){return{validateAfterLoad:!1,validateAfterChanged:!1,child:t.ref([]),fieldIdPrefix:"",validateAsync:!1,validationErrorClass:"error",validationSuccessClass:"",helpAsHtml:!1}}},multiple:{type:Boolean,default:!1},isNewModel:{type:Boolean,default:!1},tag:{type:String,default:"fieldset",validator:function(e){return e.length>0}}},emits:["validated","modelUpdated"],data(){return{vfg:this,errors:[],children:t.ref([]),collapseStates:{}}},computed:{fields(){const e=[];return this.schema&&this.schema.fields&&Ne(this.schema.fields,n=>{(!this.multiple||n.multi===!0)&&e.push(n)}),e},groups(){const e=[];return this.schema&&this.schema.groups&&Ne(this.schema.groups.slice(0),n=>{e.push(n)}),e}},watch:{model:{deep:!0,handler(e,n){n!==e&&e!=null&&this.$nextTick(()=>{this.options.validateAfterLoad===!0&&this.isNewModel!==!0?this.validate():this.clearValidationErrors()})}}},mounted(){this.$nextTick(()=>{this.model&&(this.options.validateAfterLoad===!0&&this.isNewModel!==!0?this.validate():this.clearValidationErrors())})},methods:{fieldVisible(e){return pe(e.visible)?e.visible.call(this,this.model,e,this):be(e.visible)?!0:e.visible},onFieldValidated(e,n,i){this.errors=this.errors.filter(a=>a.field.fieldName!==i.schema.fieldName),!e&&n&&n.length>0&&Ne(n,a=>{this.errors.push({field:i.schema,error:a})});const o=this.errors.length===0;this.$emit("validated",o,this.errors,this)},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},validate(e=null){e===null&&(e=ee(this.options,"validateAsync",!1)),this.clearValidationErrors();const n=[],i=[];Ne(this.$refs.children,a=>{pe(a.validate)&&(n.push(a.$refs.child),i.push(a.$refs.child.validate(!0)))});const o=a=>{const r=[];Ne(a,(s,c)=>{Array.isArray(s)&&s.length>0&&Ne(s,d=>{r.push({field:n[c].schema,error:d})})}),this.errors=r;const l=r.length===0;return this.$emit("validated",l,r,this),e?r:l};return e?Promise.all(i).then(o):o(i)},clearValidationErrors(){this.errors.splice(0),Ne(this.$refs.children,e=>{e.clearValidationErrors()})}}},tE={key:0,class:"vue-form-generator"},nE={key:0};function iE(e,n,i,o,a,r){const l=t.resolveComponent("form-group"),s=t.resolveComponent("KCollapse");return i.schema!=null?(t.openBlock(),t.createElementBlock("div",tE,[i.schema.fields?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.fields,c=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:c.model},[r.fieldVisible(c)?(t.openBlock(),t.createBlock(l,{key:0,ref_for:!0,ref:"children",errors:a.errors,field:c,model:i.model,options:i.options,vfg:a.vfg,onModelUpdated:r.onModelUpdated,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:1})):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.groups,(c,d)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:`group-${d}`},[c.collapsible!==void 0&&c.collapsible!==!1?(t.openBlock(),t.createBlock(s,{key:0,class:"root-level-collapse","model-value":!1,title:c.collapsible.title},t.createSlots({default:t.withCtx(()=>{var p,m,g,h;return[(p=c.slots)!=null&&p.beforeContent?t.renderSlot(e.$slots,(m=c.slots)==null?void 0:m.beforeContent,{key:0}):t.createCommentVNode("",!0),c.fields.length===0&&(g=c.slots)!=null&&g.emptyState?t.renderSlot(e.$slots,(h=c.slots)==null?void 0:h.emptyState,{key:1}):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:2,class:t.normalizeClass(e.getFieldRowClasses(c))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.fields,k=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:k.model},[r.fieldVisible(k)?(t.openBlock(),t.createBlock(l,{key:0,ref_for:!0,ref:"children",errors:a.errors,field:k,model:i.model,options:i.options,vfg:a.vfg,onModelUpdated:r.onModelUpdated,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"])),c.collapsible!==!0&&c.collapsible.nestedCollapsible&&c.collapsible.nestedCollapsible.fields.length>0?(t.openBlock(),t.createBlock(s,{key:3,class:"nested-collapse","model-value":a.collapseStates[`group-${d}-nested`]??!0,"trigger-alignment":"leading","trigger-label":a.collapseStates[`group-${d}-nested`]??!0?c.collapsible.nestedCollapsible.triggerLabel.expand:c.collapsible.nestedCollapsible.triggerLabel.collapse,"onUpdate:modelValue":k=>a.collapseStates[`group-${d}-nested`]=k},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{class:t.normalizeClass(e.getFieldRowClasses(c))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.collapsible.nestedCollapsible.fields,k=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:k.model},[r.fieldVisible(k)?(t.openBlock(),t.createBlock(l,{key:0,ref_for:!0,ref:"children",errors:a.errors,field:k,model:i.model,options:i.options,vfg:a.vfg,onModelUpdated:r.onModelUpdated,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))]),_:2},1032,["model-value","trigger-label","onUpdate:modelValue"])):t.createCommentVNode("",!0)]}),_:2},[c.collapsible.description?{name:"visible-content",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(c.collapsible.description),1)]),key:"0"}:void 0]),1032,["title"])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:1,class:t.normalizeClass(e.getFieldRowClasses(c))},{default:t.withCtx(()=>[c.legend?(t.openBlock(),t.createElementBlock("legend",nE,t.toDisplayString(c.legend),1)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.fields,p=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:p.model},[r.fieldVisible(p)?(t.openBlock(),t.createBlock(l,{key:0,ref_for:!0,ref:"children",errors:a.errors,field:p,model:i.model,options:i.options,vfg:a.vfg,onModelUpdated:r.onModelUpdated,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))],64))),128))])):t.createCommentVNode("",!0)}const Pe=ie(eE,[["render",iE]]),oE={fields:[{type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper",newElementButtonLabel:"+ Add Client JWK",items:{type:"object",schema:{fields:[{model:"kid",label:"kid",type:"input",inputType:"string"},{model:"issuer",label:"issuer",type:"input",inputType:"string"},{model:"kty",label:"kty",type:"input",inputType:"string"},{model:"use",label:"use",type:"input",inputType:"string"},{model:"key_ops",label:"key_ops",type:"array",fieldItemsClasses:"jwk-array-input-wrapper",showRemoveButton:!0,removeElementButtonLabel:"Remove",items:{type:"input",inputType:"string"}},{model:"alg",label:"alg",type:"input",inputType:"string"},{model:"x5u",label:"x5u",type:"input",inputType:"string"},{model:"x5c",label:"x5c",type:"array",fieldItemsClasses:"jwk-array-input-wrapper",showRemoveButton:!0,removeElementButtonLabel:"Remove",items:{type:"input",inputType:"string"}},{model:"x5t",label:"x5t",type:"input",inputType:"string"},{model:"x5t#S256",label:"x5t#S256",type:"input",inputType:"string"},{model:"k",label:"k",type:"input",inputType:"string"},{model:"x",label:"x",type:"input",inputType:"string"},{model:"y",label:"y",type:"input",inputType:"string"},{model:"crv",label:"crv",type:"input",inputType:"string"},{model:"n",label:"n",type:"input",inputType:"string"},{model:"e",label:"e",type:"input",inputType:"string"},{model:"d",label:"d",type:"input",inputType:"string"},{model:"p",label:"p",type:"input",inputType:"string"},{model:"q",label:"q",type:"input",inputType:"string"},{model:"dp",label:"dp",type:"input",inputType:"string"},{model:"dq",label:"dq",type:"input",inputType:"string"},{model:"qi",label:"qi",type:"input",inputType:"string"},{model:"oth",label:"oth",type:"input",inputType:"string"},{model:"r",label:"r",type:"input",inputType:"string"},{model:"t",label:"t",type:"input",inputType:"string"}]}},model:"config-client_jwk",label:"Config.Client Jwk",order:0,disabled:!1,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#jwk-record"},{type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper",newElementButtonLabel:"+ Add Cluster Node",items:{type:"object",schema:{fields:[{label:"IP",model:"ip",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}},model:"config-session_redis_cluster_nodes",label:"Config.Session Redis Cluster Nodes",order:0,disabled:!1,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#host-record"}]},aE={fields:[{inputType:"text",label:"Config.Scopes Claim",model:"config-scopes_claim",type:"input"},{inputType:"text",label:"Config.Scopes Required",model:"config-scopes_required",type:"input"},{inputType:"text",label:"Config.Audience Claim",model:"config-audience_claim",type:"input"},{inputType:"text",label:"Config.Audience Required",model:"config-audience_required",type:"input"},{inputType:"text",label:"Config.Roles Claim",model:"config-roles_claim",type:"input"},{inputType:"text",label:"Config.Roles Required",model:"config-roles_required",type:"input"},{inputType:"text",label:"Config.Groups Claim",model:"config-groups_claim",type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"auth-array-item-container",fieldItemsClasses:"auth-array-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",newElementButtonLabelClasses:"auth-array-item-new",newElementButtonLabel:"+ Add"},{inputType:"text",label:"Config.Groups Required",model:"config-groups_required",type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"auth-array-item-container",fieldItemsClasses:"auth-array-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",newElementButtonLabelClasses:"auth-array-item-new",newElementButtonLabel:"+ Add"},{inputType:"text",label:"Config.Authenticated Groups Claim",model:"config-authenticated_groups_claim",type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"auth-array-item-container",fieldItemsClasses:"auth-array-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",newElementButtonLabelClasses:"auth-array-item-new",newElementButtonLabel:"+ Add"}]},rE={fields:[{inputType:"text",label:"Config.Client Id",model:"config-client_id",type:"input"},{inputType:"text",label:"Config.Client Secret",model:"config-client_secret",type:"input"},{inputType:"text",label:"Config.Issuer",model:"config-issuer",required:!0,type:"input"},{inputType:"text",label:"Config.Auth Methods",model:"config-auth_methods",type:"input"}]},lE={name:"OIDCForm",components:{VueFormGenerator:Pe},props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},data(){return{init:!1,authMethods:[],sessionManagement:!1,globalFields:null,commonFieldsSchema:null,authFieldsSchema:null,advancedFieldsSchema:{fields:[]},advancedFields:null,tabs:[{hash:"#common",title:"Common"},{hash:"#authorization",title:"Authorization"},{hash:"#advanced",title:"Advanced"}]}},computed:{displayForm(){return this.formModel.id&&this.isEditing||!this.isEditing}},watch:{formModel:{handler:function(){this.oidcSetup()}}},mounted(){this.oidcSetup()},methods:{oidcSetup(){var e;this.init||(this.init=!0,this.globalFields={fields:this.formSchema.fields.filter(i=>!i.model.startsWith("config")&&i.model!=="tags")},this.commonFieldsSchema={...rE},this.authFieldsSchema={...aE},this.advancedFieldsSchema.fields=this.formSchema.fields.filter(i=>i.model.startsWith("config")&&!this.commonFieldsSchema.fields.filter(o=>o.model===i.model).length&&!this.authFieldsSchema.fields.filter(o=>o.model===i.model).length||i.model==="tags"),this.advancedFieldsSchema.fields=this.advancedFieldsSchema.fields.map(i=>oE.fields.find(a=>a.model===i.model)||i),this.commonFieldsSchema.fields=this.commonFieldsSchema.fields.filter(i=>i.model!=="config-auth_methods"),this.sessionManagement=this.isEditing?this.formModel["config-auth_methods"].includes("session"):!1,this.authMethods=[{label:"Authorization Code Flow",value:"authorization_code",hint:"authorization code flow",prop:this.isEditing?this.formModel["config-auth_methods"].includes("authorization_code"):!1},{label:"Bearer Access Token",value:"bearer",hint:"JWT access token verification",prop:this.isEditing?this.formModel["config-auth_methods"].includes("bearer"):!1},{label:"Client Credentials Grant",value:"client_credentials",hint:"OAuth client credentials grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("client_credentials"):!1},{label:"Passwords Grant",value:"password",hint:"OAuth legacy password grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("password"):!1},{label:"Introspection",value:"introspection",hint:"OAuth introspection",prop:this.isEditing?this.formModel["config-auth_methods"].includes("introspection"):!1},{label:"UserInfo",value:"userinfo",hint:"OpenID Connect user info endpoint authentication",prop:this.isEditing?this.formModel["config-auth_methods"].includes("userinfo"):!1},{label:"Kong OAuth",value:"kong_oauth2",hint:"Kong OAuth plugin issued tokens verification",prop:this.isEditing?this.formModel["config-auth_methods"].includes("kong_oauth2"):!1},{label:"Refresh Token",value:"refresh_token",hint:"OAuth refresh token grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("refresh_token"):!1}]);const n={};for(const i of this.formSchema.fields)n[i.model]=i;for(const i of[this.commonFieldsSchema,this.authFieldsSchema,this.advancedFieldsSchema])for(const o of i.fields){const a=(e=n[o.model])==null?void 0:e.help;o.help===void 0&&typeof a=="string"&&(o.help=a)}},getAuthMethodsValue(e,n){const i=[];for(let o=0;o<this.authMethods.length;o++)this.authMethods[o].prop&&this.authMethods[o].value!==e&&i.push(this.authMethods[o].value);return this.sessionManagement&&e&&i.push("session"),n&&(e?i.push(e):i.push("session")),i},handleUpdate(e,n){this.formModel["config-auth_methods"]=this.getAuthMethodsValue(n,e),this.onModelUpdated()}}},Qt=e=>(t.pushScopeId("data-v-2db4bab5"),e=e(),t.popScopeId(),e),sE={class:"general-settings"},cE={class:"link-wrapper"},dE=Qt(()=>t.createElementVNode("span",{class:"section-header"},"Common Configuration Settings",-1)),pE=Qt(()=>t.createElementVNode("div",{class:"description"}," Parameters for enabling the OpenID Connect plugin. Set these parameters before adding authorization, authentication, or other advanced configuration details. ",-1)),uE={class:"auth-method-container"},mE={class:"general-settings"},gE={class:"link-wrapper"},fE=Qt(()=>t.createElementVNode("span",{class:"section-header"},"Authorization Configuration Settings",-1)),AE=Qt(()=>t.createElementVNode("div",{class:"description"}," Parameters for setting up claims-based authorization. ",-1)),hE={class:"general-settings"},yE={class:"link-wrapper"},bE=Qt(()=>t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings",-1)),wE=Qt(()=>t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the OpenID Connect plugin. ",-1));function CE(e,n,i,o,a,r){const l=t.resolveComponent("VueFormGenerator"),s=t.resolveComponent("KExternalLink"),c=t.resolveComponent("KLabel"),d=t.resolveComponent("KCheckbox"),p=t.resolveComponent("KInputSwitch"),m=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[i.formModel.id&&i.isEditing||!i.isEditing?(t.openBlock(),t.createBlock(l,{key:0,class:"global-fields",model:i.formModel,options:i.formOptions,schema:a.globalFields,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(m,{tabs:a.tabs},{common:t.withCtx(()=>[t.createElementVNode("div",sE,[t.createElementVNode("div",cE,[t.createVNode(s,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#important-configuration-parameters"},{default:t.withCtx(()=>[dE]),_:1})]),pE,r.displayForm?(t.openBlock(),t.createBlock(l,{key:0,model:i.formModel,options:i.formOptions,schema:a.commonFieldsSchema,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(c,null,{default:t.withCtx(()=>[t.createTextVNode("Auth Methods")]),_:1}),t.createElementVNode("div",uE,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.authMethods,g=>(t.openBlock(),t.createElementBlock("div",{key:g.value,class:"auth-method"},[t.createVNode(d,{modelValue:g.prop,"onUpdate:modelValue":h=>g.prop=h,onChange:h=>r.handleUpdate(h,g.value)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(g.label),1)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]))),128))]),t.createVNode(p,{modelValue:a.sessionManagement,"onUpdate:modelValue":n[0]||(n[0]=g=>a.sessionManagement=g),label:"Enable Session Management",onChange:r.handleUpdate},null,8,["modelValue","onChange"])])]),authorization:t.withCtx(()=>[t.createElementVNode("div",mE,[t.createElementVNode("div",gE,[t.createVNode(s,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#authorization"},{default:t.withCtx(()=>[fE]),_:1})]),AE,r.displayForm?(t.openBlock(),t.createBlock(l,{key:0,model:i.formModel,options:i.formOptions,schema:a.authFieldsSchema,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),advanced:t.withCtx(()=>[t.createElementVNode("div",hE,[t.createElementVNode("div",yE,[t.createVNode(s,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/"},{default:t.withCtx(()=>[bE]),_:1})]),wE,r.displayForm?(t.openBlock(),t.createBlock(l,{key:0,model:i.formModel,options:i.formOptions,schema:a.advancedFieldsSchema,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:1},8,["tabs"])])}const EE=ie(lE,[["render",CE],["__scopeId","data-v-2db4bab5"]]),kE={packageName:"forms"},BE={view_advanced_fields:"View Advanced Fields",window_type:{label:"Rate Limit Window Type",help:"Sets the time window type to either <code>sliding</code> (default) or <code>fixed</code>.<br><ul><li>Sliding windows apply the rate limiting logic while taking into account previous hit rates (from the window that immediately precedes the current) using a dynamic weight.</li><li>Fixed windows consist of buckets that are statically assigned to a definitive time range, each request is mapped to only one fixed window based on its timestamp and will affect only that window's counters.</li></ul>",options:{fixed:"Fixed",sliding:"Sliding"}},request_limits:{title:"Request Limits",subtitle:"Set one or more limits on the number of API requests allowed within a defined timeframe.",label:"Limit",label_index:"Limit {index}",request_number:"Request number",time_interval:"Time interval",interval_determiner:"Every",seconds:"Seconds"},start_with_a_use_case:"Start with a use case:",use_case_index:"Use case {index}",error_message:{label:"Error Message",code_placeholder:"Code Message",message_placeholder:"Error Message",help:"Set a custom error code and message to be returned when the rate limit is exceeded."},identifiers:{label:"Identifiers",options:{ip:"IP",credential:"Credential",consumer:"Consumer",service:"Service",header:"Header",path:"Path","consumer-group":"Consumer Group"}},redis:{title:"Configure your Redis",address_example:"e.g. localhost:6379"}},po={general:kE,"post-function":{tags:{hint:"e.g. tag1, tag2, tag3",newElementButtonLabel:"+ Add"},enabled:{newElementButtonLabel:"+ Add"},selectionGroup:{newElementButtonLabel:"+ Add"},instance_name:{newElementButtonLabel:"+ Add"},name:{newElementButtonLabel:"+ Add"},"config-certificate":{help:"Array of stringified Lua code to be cached and run in sequence during the certificate phase.",newElementButtonLabel:"+ Add"},"config-access":{help:"Array of stringified Lua code to be cached and run in sequence during the access phase.",newElementButtonLabel:"+ Add"},"config-body_filter":{help:"Array of stringified Lua code to be cached and run in sequence during the body_filter phase.",newElementButtonLabel:"+ Add"},"config-header_filter":{help:"Array of stringified Lua code to be cached and run in sequence during the header_filter phase.",newElementButtonLabel:"+ Add"},"config-functions":{newElementButtonLabel:"+ Add"},"config-log":{newElementButtonLabel:"+ Add"},"config-rewrite":{newElementButtonLabel:"+ Add"},"config-ws_client_frame":{newElementButtonLabel:"+ Add"},"config-ws_close":{newElementButtonLabel:"+ Add"},"config-ws_handshake":{newElementButtonLabel:"+ Add"},"config-ws_upstream_frame":{newElementButtonLabel:"+ Add"}},"exit-transformer":{"config-functions":{newElementButtonLabel:"+ Add"}},rla:BE},SE=t.defineComponent({__name:"PostFunction",props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},setup(e){const{t:n,te:i}=bt.createI18n("en-us",po),o=e,a=t.computed(()=>o.formModel.id&&o.isEditing||!o.isEditing),r=t.computed(()=>{const l=o.formSchema;return l.fields.map(s=>{const c=`post-function.${s.model}`;return s.hint=i(`${c}.hint`)&&n(`${c}.hint`)||s.hint,s.help=i(`${c}.help`)&&n(`${c}.help`)||s.help,s.newElementButtonLabel=i(`${c}.newElementButtonLabel`)&&n(`${c}.newElementButtonLabel`)||s.newElementButtonLabel,s.model!=="tags"&&(s.valueType==="array"||s.type==="array")&&(s.type="array",s.valueArrayType="array",s.itemContainerComponent="FieldArrayItem",s.fieldClasses="post-function-array-item-container",s.fieldItemsClasses="post-function-array-item",s.inputAttributes={...s.inputAttributes,type:"textarea"}),s}),l});return(l,s)=>a.value?(t.openBlock(),t.createBlock(Pe,{key:0,model:e.formModel,options:e.formOptions,schema:r.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),xE=ie(SE,[["__scopeId","data-v-29614a77"]]),OE=t.defineComponent({__name:"ExitTransformer",props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},setup(e){const{t:n,te:i}=bt.createI18n("en-us",po),o=e,a=t.computed(()=>o.formModel.id&&o.isEditing||!o.isEditing),r=t.computed(()=>{const l=o.formSchema;return l.fields.map(s=>{const c=`exit-transformer.${s.model}`;return s.hint=i(`${c}.hint`)&&n(`${c}.hint`)||s.hint,s.help=i(`${c}.help`)&&n(`${c}.help`)||s.help,s.newElementButtonLabel=i(`${c}.newElementButtonLabel`)&&n(`${c}.newElementButtonLabel`)||s.newElementButtonLabel,s.model!=="tags"&&(s.valueType==="array"||s.type==="array")&&(s.type="array",s.valueArrayType="array",s.itemContainerComponent="FieldArrayItem",s.fieldClasses="exit-transformer-array-item-container",s.fieldItemsClasses="exit-transformer-array-item",s.inputAttributes={...s.inputAttributes,type:"textarea"}),s}),l});return(l,s)=>a.value?(t.openBlock(),t.createBlock(Pe,{key:0,model:e.formModel,options:e.formOptions,schema:r.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),IE=ie(OE,[["__scopeId","data-v-8837769c"]]),ME={fields:[{inputType:"text",label:"Config.Account Email",model:"config-account_email",required:!0,type:"input"},{inputType:"text",label:"Config.Account Key.Key Id",model:"config-account_key-key_id",required:!0,type:"input"},{type:"input",inputType:"text",valueType:"string",label:"Config.Account Key.Key Set",model:"config-account_key-key_set",order:0,disabled:!1},{type:"checkbox",default:!1,valueType:"boolean",label:"Config.Allow Any Domain",model:"config-allow_any_domain",order:0,disabled:!1}]},RE={fields:[{type:"input",default:"",inputType:"text",valueType:"string",model:"config-api_uri",label:"Config.Api Uri",order:0,disabled:!1},{type:"checkbox",default:!1,valueType:"boolean",model:"config-tos_accepted",label:"Config.Tos Accepted",order:0,disabled:!1}]},vE={fields:[{type:"input",default:"",inputType:"text",valueType:"string",model:"config-api_uri",label:"Config.Api Uri",order:0,disabled:!1},{type:"input",inputType:"text",valueType:"string",model:"config-eab_hmac_key",label:"Config.Eab Hmac Key",order:0,disabled:!1},{type:"input",inputType:"text",valueType:"string",model:"config-eab_kid",label:"Config.Eab Kid",order:0,disabled:!1}]},Lt=e=>(t.pushScopeId("data-v-89cd3d63"),e=e(),t.popScopeId(),e),TE={class:"general-settings"},NE=Lt(()=>t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"General Configuration Settings")],-1)),VE=Lt(()=>t.createElementVNode("div",{class:"description"}," Parameters for enabling the ACME plugin. ",-1)),LE=Lt(()=>t.createElementVNode("hr",null,null,-1)),DE={class:"sub-form"},jE={class:"general-settings"},PE=Lt(()=>t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Storage Configuration Settings")],-1)),UE=Lt(()=>t.createElementVNode("div",{class:"description"}," Parameters for setting up storage. ",-1)),YE={class:"sub-form"},GE={class:"general-settings"},HE=Lt(()=>t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings")],-1)),FE=Lt(()=>t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the ACME plugin. ",-1)),zE=t.defineComponent({__name:"ACMEForm",props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},setup(e){const n=e,i=t.ref("zeroSsl"),o=t.ref("shm"),a=t.computed(()=>{var f;const A={};if((f=n.formSchema)!=null&&f.fields)for(const B of n.formSchema.fields)A[B.model]=B;return A}),r=t.computed(()=>{var f;const A=st(ME);for(const B of A.fields){const S=(f=a.value[B.model])==null?void 0:f.help;B.help===void 0&&typeof S=="string"&&(B.help=S)}return A}),l=t.computed(()=>{var f;const A=st(RE);for(const B of A.fields){const S=(f=a.value[B.model])==null?void 0:f.help;B.help===void 0&&typeof S=="string"&&(B.help=S)}return A}),s=t.computed(()=>{var f;const A=st(vE);for(const B of A.fields){const S=(f=a.value[B.model])==null?void 0:f.help;B.help===void 0&&typeof S=="string"&&(B.help=S)}return A}),c=t.computed(()=>({fields:n.formSchema.fields.filter(f=>!f.model.startsWith("config")&&f.model!=="tags")})),d=t.computed(()=>({fields:r.value.fields.filter(f=>!l.value.fields.some(A=>A.model===f.model)&&!s.value.fields.some(A=>A.model===f.model))})),p=t.computed(()=>({fields:n.formSchema.fields.filter(f=>f.model.startsWith("config-storage")&&!f.model.startsWith("config-storage_config-consul")&&!f.model.startsWith("config-storage_config-redis")&&!f.model.startsWith("config-storage_config-shm")&&!f.model.startsWith("config-storage_config-vault"))})),m=t.computed(()=>({fields:n.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-consul"))})),g=t.computed(()=>({fields:n.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-redis"))})),h=t.computed(()=>({fields:n.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-shm"))})),k=t.computed(()=>({fields:n.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-vault"))})),y=t.computed(()=>({fields:n.formSchema.fields.filter(f=>f.model.startsWith("config")&&!d.value.fields.filter(A=>A.model===f.model).length&&!p.value.fields.filter(A=>A.model===f.model).length||f.model==="tags")})),C=t.computed(()=>n.formModel.id&&n.isEditing||!n.isEditing),E=[{hash:"#general",title:"General"},{hash:"#storage",title:"Storage"},{hash:"#advanced",title:"Advanced"}],x=[{label:"Lets Encrypt",value:"letsEncrypt"},{label:"Zero SSL",value:"zeroSsl",selected:!0},{label:"Other",value:"other"}];t.onMounted(()=>{i.value==="zeroSsl"&&(n.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90")});const v=f=>{i.value=f.value,(f.value==="zeroSsl"||f.value==="other")&&(f.value==="zeroSsl"?n.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90":n.formModel["config-api_uri"]="https://acme.example.com/",n.formModel["config-tos_accepted"]=!1),f.value==="letsEncrypt"&&(n.formModel["config-api_uri"]="https://acme-v02.api.letsencrypt.org/directory",n.formModel["config-eab_hmac_key"]="",n.formModel["config-eab_kid"]=""),n.onModelUpdated()},b=(f,A)=>{A==="config-storage"&&(o.value=f),n.onModelUpdated()};return(f,A)=>{const B=t.resolveComponent("KSelect"),S=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[e.formModel.id&&e.isEditing||!e.isEditing?(t.openBlock(),t.createBlock(Pe,{key:0,class:"global-fields",model:e.formModel,options:e.formOptions,schema:c.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(S,{tabs:E},{general:t.withCtx(()=>[t.createElementVNode("div",TE,[NE,VE,C.value?(t.openBlock(),t.createBlock(Pe,{key:0,model:e.formModel,options:e.formOptions,schema:d.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),LE,t.createVNode(B,{class:"issuer-select",items:x,label:"Issuer",onChange:v}),t.createElementVNode("div",DE,[i.value==="letsEncrypt"?(t.openBlock(),t.createBlock(Pe,{key:0,model:e.formModel,options:e.formOptions,schema:l.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),i.value==="zeroSsl"||i.value==="other"?(t.openBlock(),t.createBlock(Pe,{key:1,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),storage:t.withCtx(()=>[t.createElementVNode("div",jE,[PE,UE,C.value?(t.openBlock(),t.createBlock(Pe,{key:0,model:e.formModel,options:e.formOptions,schema:p.value,onModelUpdated:b},null,8,["model","options","schema"])):t.createCommentVNode("",!0),t.createElementVNode("div",YE,[o.value==="consul"?(t.openBlock(),t.createBlock(Pe,{key:0,model:e.formModel,options:e.formOptions,schema:m.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="redis"?(t.openBlock(),t.createBlock(Pe,{key:1,model:e.formModel,options:e.formOptions,schema:g.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="shm"?(t.openBlock(),t.createBlock(Pe,{key:2,model:e.formModel,options:e.formOptions,schema:h.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="vault"?(t.openBlock(),t.createBlock(Pe,{key:3,model:e.formModel,options:e.formOptions,schema:k.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),advanced:t.withCtx(()=>[t.createElementVNode("div",GE,[HE,FE,C.value?(t.openBlock(),t.createBlock(Pe,{key:0,model:e.formModel,options:e.formOptions,schema:y.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:1})])}}}),KE=ie(zE,[["__scopeId","data-v-89cd3d63"]]),zl=e=>(t.pushScopeId("data-v-5e85c36c"),e=e(),t.popScopeId(),e),qE={class:"rla-form-basic-fields"},XE={class:"rla-form-request-limits-subtitle"},JE={class:"rla-form-request-limits-content"},ZE={class:"rla-form-window-type"},WE=["innerHTML"],QE={class:"rla-form-window-type-radios"},_E={class:"rla-form-request-limits-items"},$E={class:"rla-form-request-limits-row"},ek=["id"],tk={class:"rla-form-request-limits-actions"},nk={key:0,class:"rla-form-request-limits-examples"},ik={class:"rla-form-request-limits-examples-badges"},ok=zl(()=>t.createElementVNode("br",null,null,-1)),ak=["innerHTML"],rk={id:"rla-form-error-legend",class:"rla-form-error-inputs"},lk=zl(()=>t.createElementVNode("div",null,":",-1)),sk=t.defineComponent({__name:"RLAForm",props:{formSchema:{},formModel:{},formOptions:{},onModelUpdated:{type:Function},isEditing:{type:Boolean}},setup(e){const n={fixed:[{label:"500 requests every hour",description:"A fixed limit of 500 requests per hour resetting sharply on the hour, ensuring no user can exceed this limit.",config:{limit:500,window_size:3600}},{label:"200 requests every 30 minutes",description:"Users are allowed 200 requests per 30 minutes, resetting exactly on the 30 minute mark with no carryover of unused limits.",config:{limit:200,window_size:1800}},{label:"500 requests every day",description:"A strict limit of 5000 requests per day resetting promptly at midnight, preventing any burst traffic or inconsistent user experiences.",config:{limit:500,window_size:86400}}],sliding:[{label:"100 requests every hour",description:"Maximum of 100 requests every rolling hour, continuously adjusting the count over the course of the hour. No hard limit or known reset.",config:{limit:100,window_size:3600}},{label:"300 requests every 30 minutes",description:"Each user can make up to 300 requests in any rolling 30 minute period, with older requests dropping off as new requests are made.",config:{limit:300,window_size:1800}},{label:"500 requests every hour",description:`Each user is allowed 500 requests per hour.
|
|
88
88
|
If the limit is exceeded and the user receives a 429 error, each additional request within the sliding window (hour)
|
|
89
|
-
will extend the wait time by about 12 minutes, continuously adjusting as new requests are made.`,config:{limit:500,window_size:3600}}]},i=new Set(["selectionGroup",...["identifier","limit","window_size","error_code","error_message"].map(w=>`config-${w}`)]),o=w=>w===void 0?!1:i.has(w),{t:a}=bt.createI18n("en-us",po),r=e,l=t.computed(()=>{var w,R;const M=(R=(w=r.formSchema)==null?void 0:w.fields)==null?void 0:R.find(T=>T.type==="selectionGroup"&&T.model==="selectionGroup");if(M)return{fields:[M]}}),s=t.computed(()=>{var w,R;const M=((R=(w=r.formSchema)==null?void 0:w.fields)==null?void 0:R.filter(G=>!o(G.model)))??[],T=[],N=[],L=[];let z=!1;for(const G of M){const q=G.model;if(q!==void 0){if(q.startsWith("config-redis-")){(G.model==="config-redis-cluster_addresses"||G.model==="config-redis-sentinel_addresses")&&(G.inputAttributes.help=a("rla.redis.address_example")),N.push(G);continue}z?L.push(G):T.push(G),G.model==="config-strategy"&&(z=!0)}}return{endsWithStrategy:{fields:T},redis:{fields:N},afterStrategy:{fields:L}}}),c=t.computed(()=>{const w=r.formModel["config-window_type"];return Object.prototype.hasOwnProperty.call(n,w)?n[w]:[]}),d=t.computed(()=>{var w,R;return(R=(w=r.formSchema)==null?void 0:w.fields)==null?void 0:R.find(M=>M.model==="config-identifier")}),p=t.computed(()=>{var w,R,M;return(((M=(R=(w=r.formSchema)==null?void 0:w.fields)==null?void 0:R.find(T=>T.model==="config-identifier"))==null?void 0:M.values)??[]).map(T=>({label:a(`rla.identifiers.options.${T}`),value:T}))}),m=t.ref(),g=t.ref(!0),h=t.computed(()=>{var w,R,M;return r.formModel["config-window_type"]??((M=(R=(w=r.formSchema)==null?void 0:w.fields)==null?void 0:R.find(T=>T.model==="config-window_type"))==null?void 0:M.default)}),k=t.computed(()=>{var w,R,M,T,N,L;const z=(M=(R=(w=r.formSchema)==null?void 0:w.fields)==null?void 0:R.find(G=>G.model==="config-window_type"))==null?void 0:M.default;return(((L=(N=(T=r.formSchema)==null?void 0:T.fields)==null?void 0:N.find(G=>G.model==="config-window_type"))==null?void 0:L.values)??[]).sort((G,q)=>G===z?-1:q===z?1:0)}),y=t.computed(()=>{var w;const R=(w=r.formModel["config-limit"])==null?void 0:w.map((M,T)=>{var N,L;return{limit:M,windowSize:(L=(N=r.formModel)==null?void 0:N["config-window_size"])==null?void 0:L[T]}});return!Array.isArray(R)||R.length===0?[{limit:void 0,windowSize:void 0}]:R}),C=t.computed(()=>{var w,R,M,T;return((w=r.formModel)==null?void 0:w["config-identifier"])??((T=(M=(R=r.formSchema)==null?void 0:R.fields)==null?void 0:M.find(N=>N.model==="config-identifier"))==null?void 0:T.default)}),E=t.computed(()=>{var w,R,M,T;return((w=r.formModel)==null?void 0:w["config-error_code"])??((T=(M=(R=r.formSchema)==null?void 0:R.fields)==null?void 0:M.find(N=>N.model==="config-error_code"))==null?void 0:T.default)}),x=t.computed(()=>{var w,R,M,T;return((w=r.formModel)==null?void 0:w["config-error_message"])??((T=(M=(R=r.formSchema)==null?void 0:R.fields)==null?void 0:M.find(N=>N.model==="config-error_message"))==null?void 0:T.default)}),v=(w,R)=>{if(R===m.value){r.onModelUpdated([],"config-limit"),r.onModelUpdated([],"config-window_size"),t.nextTick(()=>{m.value=void 0});return}r.onModelUpdated([w.config.limit],"config-limit"),r.onModelUpdated([w.config.window_size],"config-window_size"),t.nextTick(()=>{m.value=R})},b=w=>{m.value!==void 0&&(m.value=void 0),r.onModelUpdated(w.toString(),"config-window_type")},f=(w,R)=>{var M;m.value!==void 0&&(m.value=void 0);const T=st(((M=r.formModel)==null?void 0:M["config-limit"])??[]);T[w]=R,r.onModelUpdated(T,"config-limit")},A=(w,R)=>{var M;m.value!==void 0&&(m.value=void 0);const T=st(((M=r.formModel)==null?void 0:M["config-window_size"])??[]);T[w]=R,r.onModelUpdated(T,"config-window_size")},B=w=>{var R,M;m.value!==void 0&&(m.value=void 0);const T=st(((R=r.formModel)==null?void 0:R["config-limit"])??[]),N=st(((M=r.formModel)==null?void 0:M["config-window_size"])??[]);T.length===0&&T.push(void 0),N.length===0&&N.push(void 0),T.splice(w+1,0,void 0),N.splice(w+1,0,void 0),r.onModelUpdated(T,"config-limit"),r.onModelUpdated(N,"config-window_size")},S=w=>{var R,M;if(y.value.length>1){m.value!==void 0&&(m.value=void 0);const T=st(((R=r.formModel)==null?void 0:R["config-limit"])??[]),N=st(((M=r.formModel)==null?void 0:M["config-window_size"])??[]);T.length===0&&T.push(void 0),N.length===0&&N.push(void 0),T.splice(w,1),N.splice(w,1),r.onModelUpdated(T,"config-limit"),r.onModelUpdated(N,"config-window_size")}};return(w,R)=>{const M=t.resolveComponent("VueFormGenerator"),T=t.resolveComponent("KLabel"),N=t.resolveComponent("KRadio"),L=t.resolveComponent("KInput"),z=t.resolveComponent("KButton"),G=t.resolveComponent("KBadge"),q=t.resolveComponent("KTooltip"),Q=t.resolveComponent("KCard"),P=t.resolveComponent("KSelect"),H=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",qE,[t.createVNode(M,{model:w.formModel,options:w.formOptions,schema:l.value,onModelUpdated:R[0]||(R[0]=(Y,V)=>w.onModelUpdated(Y,V))},null,8,["model","options","schema"]),t.createVNode(Q,{class:"rla-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(T,{class:"rla-form-request-limits-title",for:"rla-form-request-limits-legend",required:""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("rla.request_limits.title")),1)]),_:1}),t.createElementVNode("div",XE,t.toDisplayString(t.unref(a)("rla.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",JE,[t.createElementVNode("div",ZE,[t.createVNode(T,{class:"rla-form-window-type-label","tooltip-attributes":{maxWidth:"300",placement:"top"}},{tooltip:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(a)("rla.window_type.help")},null,8,WE)]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("rla.window_type.label"))+" ",1)]),_:1}),t.createElementVNode("div",QE,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(k.value,Y=>(t.openBlock(),t.createBlock(N,{key:`window-type-${Y}`,"model-value":h.value,name:Y,"selected-value":Y,"onUpdate:modelValue":b},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)(`rla.window_type.options.${Y}`)),1)]),_:2},1032,["model-value","name","selected-value"]))),128))])]),t.createElementVNode("div",_E,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(y.value,(Y,V)=>(t.openBlock(),t.createElementBlock("div",{key:V.toString()},[t.createVNode(T,{for:`rla-form-request-limits-item-${V}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("rla.request_limits.label_index",{index:V+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",$E,[t.createElementVNode("legend",{id:`rla-form-request-limits-item-${V}-legend`,class:"rla-form-request-limits-inputs"},[t.createVNode(L,{"model-value":Y.limit&&Y.limit.toString(),placeholder:t.unref(a)("rla.request_limits.request_number"),type:"number","onUpdate:modelValue":oe=>f(V,Number.parseInt(oe))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.interval_determiner")),1),t.createVNode(L,{"model-value":Y.windowSize&&Y.windowSize.toString(),placeholder:t.unref(a)("rla.request_limits.time_interval"),type:"number","onUpdate:modelValue":oe=>A(V,Number.parseInt(oe))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.seconds")),1)],8,ek),t.createElementVNode("div",tk,[t.createVNode(z,{appearance:"tertiary",disabled:y.value.length<=1,onClick:()=>S(V)},{default:t.withCtx(()=>[t.createVNode(t.unref(Iw))]),_:2},1032,["disabled","onClick"]),t.createVNode(z,{appearance:"tertiary",onClick:()=>B(V)},{default:t.withCtx(()=>[t.createVNode(t.unref(Nl))]),_:2},1032,["onClick"])])])]))),128))]),c.value.length>0?(t.openBlock(),t.createElementBlock("div",nk,[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.start_with_a_use_case")),1),t.createElementVNode("div",ik,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value,(Y,V)=>(t.openBlock(),t.createBlock(q,{key:`use-case-${V}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(Y.description),1),ok,t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.label"))+": "+t.toDisplayString(Y.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.time_interval"))+": "+t.toDisplayString(Y.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(G,{appearance:m.value===`${h.value}-${V}`?"info":"decorative",class:"rla-form-request-limits-examples-badge",onClick:()=>v(Y,`${h.value}-${V}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(Y.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1}),t.createVNode(P,{modelValue:C.value,"onUpdate:modelValue":R[1]||(R[1]=Y=>C.value=Y),class:"rla-form-identifiers",items:p.value,label:t.unref(a)("rla.identifiers.label"),"label-attributes":{tooltipAttributes:{maxWidth:"300",placement:"top"}},required:"",onSelected:R[2]||(R[2]=Y=>r.onModelUpdated(Y.value,"config-identifier"))},{"label-tooltip":t.withCtx(()=>[t.createElementVNode("div",{innerHTML:d.value&&d.value.help},null,8,ak)]),_:1},8,["modelValue","items","label"]),t.createElementVNode("div",null,[t.createVNode(T,{for:"rla-form-error-legend",info:t.unref(a)("rla.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("rla.error_message.label")),1)]),_:1},8,["info"]),t.createElementVNode("legend",rk,[t.createVNode(L,{class:"input-error-code","model-value":E.value&&E.value.toString(),placeholder:t.unref(a)("rla.error_message.code_placeholder"),type:"number","onUpdate:modelValue":R[3]||(R[3]=Y=>w.onModelUpdated(Number.parseInt(Y),"config-error_code"))},null,8,["model-value","placeholder"]),lk,t.createVNode(L,{"model-value":x.value,placeholder:t.unref(a)("rla.error_message.message_placeholder"),"onUpdate:modelValue":R[4]||(R[4]=Y=>w.onModelUpdated(Y,"config-error_message"))},null,8,["model-value","placeholder"])])])]),t.createVNode(H,{modelValue:g.value,"onUpdate:modelValue":R[8]||(R[8]=Y=>g.value=Y),"trigger-label":t.unref(a)("rla.view_advanced_fields")},{default:t.withCtx(()=>[t.createVNode(M,{model:w.formModel,options:w.formOptions,schema:s.value.endsWithStrategy,onModelUpdated:R[5]||(R[5]=(Y,V)=>w.onModelUpdated(Y,V))},null,8,["model","options","schema"]),w.formModel["config-strategy"]==="redis"?(t.openBlock(),t.createBlock(Q,{key:0,class:"rla-form-redis-card",title:t.unref(a)("rla.redis.title")},{default:t.withCtx(()=>[t.createVNode(M,{model:w.formModel,options:w.formOptions,schema:s.value.redis,onModelUpdated:R[6]||(R[6]=(Y,V)=>w.onModelUpdated(Y,V))},null,8,["model","options","schema"])]),_:1},8,["title"])):t.createCommentVNode("",!0),t.createVNode(M,{model:w.formModel,options:w.formOptions,schema:s.value.afterStrategy,onModelUpdated:R[7]||(R[7]=(Y,V)=>w.onModelUpdated(Y,V))},null,8,["model","options","schema"])]),_:1},8,["modelValue","trigger-label"])],64)}}}),ck=ie(sk,[["__scopeId","data-v-5e85c36c"]]),dk=Object.freeze(Object.defineProperty({__proto__:null,ACMEForm:KE,ExitTransformer:IE,OIDCForm:EE,PostFunction:xE,RLAForm:ck},Symbol.toStringTag,{value:"Module"})),uo=["array","metric","advanced","selectionGroup","object-advanced"],Kl=e=>({"openid-connect":"OIDCForm","post-function":"PostFunction","pre-function":"PostFunction","exit-transformer":"ExitTransformer","rate-limiting-advanced":"RLAForm"})[e],Dt={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},pk={"config-prompts-prepend":{...Dt,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",help:"LLM message content",inputType:"text"}]}}},"config-prompts-append":{...Dt,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",help:"LLM message content",inputType:"text"}]}}}},uk={"config-templates":{...Dt,newElementButtonLabel:"+ Add Template",items:{type:"object",schema:{fields:[{label:"Template Name",model:"name",help:"Template Name, for reference in user requests",type:"input",inputType:"text"},{label:"Template String",model:"template",help:"Template string content, containing {{placeholders}} for variable substitution",type:"textArea",inputType:"text"}]}}}},mk={"config-llm_providers":{...Dt,newElementButtonLabel:"+ Add Provider",items:{type:"object",schema:{fields:[{label:"Window Size",model:"window_size",help:"Window size to apply a limit to (defined in seconds)",type:"input",inputType:"number"},{label:"Name",model:"name",help:"The llm providers.",type:"select",values:["anthropic","azure","cohere","llama2","mistral","openai","requestPrompt"]},{label:"Limit",model:"limit",help:"Limit applied to the llm provider.",type:"input",inputType:"number"}]}}}},gk={enabled:{type:"switch",model:"enabled",label:"Enabled",textOn:"This plugin is Enabled",textOff:"This plugin is Disabled",inputType:"hidden",styleClasses:"field-switch top-border bottom-border hide-label",default:!0},name:{default:"application-registration",type:"input",inputType:"hidden",styleClasses:"kong-form-hidden-field-wrapper"},"service-id":{type:"AutoSuggest",label:"Gateway Service",styleClasses:"bottom-border",description:"Specific Gateway Service in this workspace",model:"service-id",entity:"services",placeholder:"Select a Gateway Service",inputValues:{fields:["name","id"]},help:"The Gateway Service that this plugin configuration will target"},tags:un.tags,protocols:{id:"protocols",default:[],type:"multiselect",label:"Protocols",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}],help:"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type.",placeholder:"Select valid protocols for the plugin",styleClasses:"plugin-protocols-select"}},Sn={type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",styleClasses:"kong-form-field-wrapper",newElementButtonLabel:"+ Add",newElementButtonLabelClasses:"kong-form-new-element-button-label"},xn={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},fk={"config-metrics":{...xn,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"tags",label:"Tags",type:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},inputType:"text"}]}}}},Ak={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},ql={"config-bootstrap_servers":{...Dt,newElementButtonLabel:"+ Add Bootstrap Server",label:"Bootstrap Server(s)",placeholder:"Enter a Bootstrap Server",help:"Set of bootstrap brokers.",items:{type:"object",schema:{fields:[{label:"Host",model:"host",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},hk={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10}},yk={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},Xl=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:un.fields.arrayItems({newElementButtonLabel:"Add"})}),yk),li={"config-strategy":{label:"Config.Strategy",type:"select",default:"redis",values:["local","redis"]},"config-consumer_groups":{label:"Config.Consumer Groups",type:"input",placeholder:"Enter list of consumer groups",hint:"e.g. group1, group2"}},bk={"config-remove-headers":{},"config-remove.querystring":{},"config-remove-body":{},"config-replace-headers":{},"config-replace-querystring":{},"config-replace-body":{},"config-rename-headers":{},"config-rename-querystring":{},"config-rename-body":{},"config-add-headers":{},"config-add-querystring":{},"config-add-body":{},"config-append-headers":{},"config-append-querystring":{},"config-append-body":{},"config-allow-body":{}},wk=["config-remove-headers","config-remove.querystring","config-remove-body","config-replace-headers","config-replace-querystring","config-replace-body","config-rename-headers","config-rename-querystring","config-rename-body","config-add-headers","config-add-querystring","config-add-body","config-append-headers","config-append-querystring","config-append-body","config-allow-body"].reduce((e,n)=>({...e,[n]:un.fields.arrayItems({newElementButtonLabel:"Add"})}),bk),Ck={"config-parameter_schema":{...xn,items:{type:"object",default:()=>({required:!1,explode:!1}),schema:{fields:[{model:"in",label:"in",type:"select",values:["query","header","path"]},{model:"name",label:"name",type:"input",inputType:"string",id:"schema_name"},{model:"required",label:"required",type:"switch",id:"schema_required"},{model:"style",label:"style",type:"select",values:["label","form","matrix","simple","spaceDelimited","pipeDelimited","deepObject"]},{model:"explode",label:"explode",type:"switch",id:"schema_explode"},{model:"schema",label:"schema",type:"input",inputType:"string",id:"schema_schema"}]}}}},Ek={"config-rules":{...Dt,newElementButtonLabel:"+ Add Rule",items:{type:"object",schema:{fields:[{label:"Upstream Name",model:"upstream_name",type:"input",help:"Target hostname where traffic will be routed in case of condition match",placeholder:"Hostname",inputType:"text"},{label:"Condition",model:"condition",type:"keyValuePairs",help:"List of headers name and value pairs",newElementButtonLabelClasses:"kong-form-new-element-button-label",newElementButtonLabel:"+ Add Condition",keyInputPlaceholder:"Header name",valueInputPlaceholder:"Header value"}]}}}},kk={"config-session_redis_cluster_nodes":{...Dt,newElementButtonLabel:"+ Add Cluster Node",items:{type:"object",schema:{fields:[{label:"IP",model:"ip",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},Bk={"config-metrics":{...xn,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},Sk={"config-allow_status_codes":{type:"input",inputType:"text",valueArrayType:"string",valueType:"array",label:"config.allow_status_codes",help:"A list of status code ranges, separated by commas. e.g. 200-204, 500-505"},"config-metrics":{...xn,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage","cache_datastore_hits_total","cache_datastore_misses_total"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},xk={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}},Ok={"config-static_tags":{...xn,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"name",type:"input",inputType:"string",id:"schema_name"},{model:"value",label:"value",type:"input",inputType:"string",id:"schema_value"}]}}}},Ik=(e,n)=>{const i=e.model.startsWith("config-"),o=n.model.startsWith("config-");return i&&!o?1:!i&&o?-1:0},Jl=(e,n)=>(e.order??0)-(n.order??0),Zl=(e,n)=>Ik(e,n)||Jl(e,n)||e.model.localeCompare(n.model),fe={useI18n:Xn,usePluginMetaData:wf,usePluginHelpers:Ja,useSchemas:e=>{const{capitalize:n}=vi(),{convertToDotNotation:i}=Ja(),{i18n:{t:o}}=Xn(),a={"application-registration":{overwriteDefault:!0,formSchema:{...gk}},datadog:{...fk},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},jwt:{...gf},"kafka-upstream":{...ql},"kafka-log":{...ql},statsd:{...Bk},"statsd-advanced":{...Sk},"route-by-header":{...Ek},"ai-prompt-decorator":{...pk},"ai-prompt-template":{...uk},"ai-rate-limiting-advanced":{...mk},"vault-auth":{...xk},"oas-validation":{"config-api_spec":{type:"textArea",rows:15}},mocking:{...hk},"rate-limiting":{...li},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":li["config-consumer_groups"]}:{...li},"graphql-rate-limiting-advanced":{...Ak},"response-ratelimiting":{...li},"pre-function":{...Xl},"post-function":{...Xl},"request-transformer-advanced":{...wk},"request-validator":{...Ck},zipkin:{...Ok},saml:{...kk}},r=()=>["created_at","updated_at","id"],l=(f,A,B)=>{let S={};(A||f)&&(S=A||(f.fields?f.fields:f));const w=r().concat(f.blacklist?f.blacklist:[]),R=Object.keys(S).filter(G=>!w.includes(G)),M=R.indexOf("comparator");M>-1&&R.splice(M,1);let T={fields:[]};const N={};R.forEach(G=>{c(S[G],G,S,N,T,B)});const L=N.name,z=qe[L];if(Kl(L)||z!=null&&z.useLegacyForm||e!=null&&e.credential)T.fields.sort((G,q)=>(G.order=G.order||0,q.order=q.order||0,G.order-q.order));else{const G=[],q=[],Q=[],P={};if(z!=null&&z.fieldRules){const V=[...z.fieldRules.atLeastOneOf??[],...z.fieldRules.onlyOneOf??[],...z.fieldRules.mutuallyRequired??[]];if(z.fieldRules.onlyOneOfMutuallyRequired)for(const oe of z.fieldRules.onlyOneOfMutuallyRequired)V.push(...oe);for(const oe of V)for(const re of oe)P[re.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const V of T.fields){if(V.pinned){G.push(V);continue}if(V.required||P[V.model]!==void 0){P[V.model]===!1&&(P[V.model]=!0),q.push(V);continue}Q.push(V)}const H=Object.entries(P).filter(([,V])=>!V).map(([V])=>V.replace(/-/g,".").replace(/_/g,"-"));H.length>0&&console.warn(`Unknown checked fields for plugin ${L}: ${H.join(", ")}`);const Y=[];G.length>0&&Y.push({fields:G.sort(Jl)}),(q.length>0||Q.length>0)&&Y.push({fields:q.sort(Zl),collapsible:{title:o("plugins.form.grouping.plugin_configuration.title"),description:o("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:Q.sort(Zl),triggerLabel:{expand:o("plugins.form.grouping.advanced_parameters.view"),collapse:o("plugins.form.grouping.advanced_parameters.hide")}}},slots:{beforeContent:"plugin-config-before-content",emptyState:"plugin-config-empty-state"}}),T={groups:Y}}return{schema:T,model:N,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},s=f=>Array.isArray(f.default)||f.default!=null&&typeof f.default!="object"&&f.default!=="function",c=(f,A,B,S,w,R)=>{const M=s(f);return S[A]=M?f.default:null,f.id=A,f.model=A,f.fields&&f.type==="record"?p(f,A,B,S,w,R):(B[A]=f,b(f,S),R&&R[A]&&d(B[A],R[A]),w.fields.push(f)),B},d=(f,A)=>(A&&(Object.assign(f,A),A.label&&(f.label=A.label)),f),p=(f,A,B,S,w,R)=>{f.fields.forEach(M=>{Object.keys(M).forEach(T=>{const N=M[T];B=c(N,A+"-"+T,B,S,w,R)})})},m=(f,A)=>{f.type="input",f.inputType="hidden",f.styleClasses="kong-form-hidden-field-wrapper";const B=e==null?void 0:e.entityId;A[f.model]=B?{id:B}:null},g=f=>{f.type="input",f.inputType="number",f.between&&f.between.length===2&&(f.min=f.between[0],f.max=f.between[1])},h=f=>{Object.prototype.hasOwnProperty.call(f,"one_of")?(f.type="select",f.values=f.one_of,f.selectOptions={hideNoneSelectedText:!0}):(f.type="input",f.inputType="text")},k=f=>{f.type="input",f.inputType="text",f.valueType="array",f.valueArrayType="string"},y=f=>{f.type="checkbox",f.default=!0,f.required=!1},C=f=>{if(f.type="object-advanced",f.values.type==="array"){const{type:A}=f.values.elements||{};f.schema={fields:[{schema:{fields:[{...Sn,model:f.model,valueArrayType:A==="integer"?"number":A||"string",inputAttributes:{...Sn.inputAttributes,type:A==="integer"?"number":"text",inputMode:A==="integer"?"numeric":"text"}}]}}]}}else f.values.fields&&(f.schema={fields:[{type:"object",model:"object",schema:{fields:f.values.fields.map(A=>{const B=Object.keys(A)[0];return{model:B,type:"input",label:n(B),placeholder:B,inputType:A[B].type}})}}]})},E=f=>f.fields.reduce((A,B)=>(B.fields&&B.fields.forEach(S=>{A[S.model]=S}),B.model&&(A[B.model]=B),A),{}),x=(f,A)=>{if(!uo.includes(f.model))return;const B=E(f);uo.forEach(S=>{Object.keys(B).forEach(w=>{const R=s(B[w]);A[w]=R?B[w].default:null}),delete A[S]})},v=(f,A)=>f.inputType==="hidden"?"":i(n(f.label||A.replace(/_/g," "))),b=(f,A)=>{switch(x(f,A),f.type){case"foreign":m(f,A);break;case"number":g(f),f.attributes={step:"any"};break;case"integer":g(f);break;case"string":h(f);break;case"set":k(f);break;case"boolean":y(f);break;case"map":C(f);break}f.inputType==="foreign"&&m(f,A),f.label=v(f,f.model)};return{buildFormSchema:c,parseSchema:l,customSchemas:a,typedefs:un}}},Ue="/v2/control-planes/{controlPlaneId}/core-entities",Me="/{workspace}",Ee={list:{konnect:{all:`${Ue}/plugins`,forEntity:`${Ue}/{entityType}/{entityId}/plugins`},kongManager:{all:`${Me}/plugins`,forEntity:`${Me}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${Ue}/v1/available-plugins`},kongManager:{availablePlugins:`${Me}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${Ue}/plugins`,forEntity:`${Ue}/{entityType}/{entityId}/plugins`},edit:{all:`${Ue}/plugins/{id}`,forEntity:`${Ue}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${Ue}/{resourceEndpoint}`,edit:`${Ue}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",validate:`${Ue}/v1/schemas/json/plugin/validate`,entityGetOne:`${Ue}/{entity}/{id}`,entityGetAll:`${Ue}/{entity}?size=1000`},kongManager:{create:{all:`${Me}/plugins`,forEntity:`${Me}/{entityType}/{entityId}/plugins`},edit:{all:`${Me}/plugins/{id}`,forEntity:`${Me}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${Me}/schemas/plugins/{plugin}`,credential:{create:`${Me}/{resourceEndpoint}`,edit:`${Me}/{resourceEndpoint}/{id}`},credentialSchema:`${Me}/schemas/{plugin}`,validate:`${Me}/schemas/plugins/validate`,entityGetOne:`${Me}/{entity}/{id}`,entityGetAll:`${Me}/{entity}`}},item:{konnect:{all:`${Ue}/plugins/{id}`,forEntity:`${Ue}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${Me}/plugins/{id}`,forEntity:`${Me}/{entityType}/{entityId}/plugins/{id}`}}},Mk={key:0},Rk=t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:i}=fe.usePluginHelpers(),{i18n:{t:o}}=fe.useI18n(),a=s=>s.map(c=>c.replace(/^[cC]onfig\./,"").split(".").map(d=>i(d)).join(".")).join(", "),r=(s,c)=>o(s,{parameters:a(c)}),l=t.computed(()=>{const s=[];if(n.rules.atLeastOneOf)for(const c of n.rules.atLeastOneOf)s.push(r("plugins.form.field_rules.at_least_one_of",c));if(n.rules.onlyOneOf)for(const c of n.rules.onlyOneOf)s.push(r("plugins.form.field_rules.only_one_of",c));if(n.rules.mutuallyRequired)for(const c of n.rules.mutuallyRequired)s.push(r("plugins.form.field_rules.mutually_required",c));return s});return(s,c)=>{const d=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(d,{class:"plugin-field-rule-alerts"},{default:t.withCtx(()=>[t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,(p,m)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${m}`},t.toDisplayString(p),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",Mk,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(p,m)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${m}`},[t.createElementVNode("div",null,t.toDisplayString(t.unref(o)("plugins.form.field_rules.only_one_of_mutually_required")),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p,(g,h)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${m}-combination-${h}`},t.toDisplayString(a(g)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),Xe=(e,n)=>{const i=e.__vccOpts||e;for(const[o,a]of n)i[o]=a;return i},vk=Xe(Rk,[["__scopeId","data-v-17c1f232"]]),Tk={class:"kong-ui-entities-plugin-form"},Nk={key:1,class:"entity-form"},Vk={class:"plugin-config-empty-state"},Lk=t.defineComponent({components:{...dk}}),Dk=t.defineComponent({...Lk,__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1}},emits:["loading","model-updated"],setup(e,{emit:n}){var M,T;const i=n,o=e,{axiosInstance:a}=zt((M=o.config)==null?void 0:M.axiosRequestConfig),{parseSchema:r}=fe.useSchemas({entityId:((T=o.entityMap.focusedEntity)==null?void 0:T.id)||void 0,credential:o.credential}),{convertToDotNotation:l,unFlattenObject:s,isObjectEmpty:c,unsetNullForeignKey:d}=fe.usePluginHelpers(),{objectsAreEqual:p}=Yn(),{i18n:{t:m}}=Xn(),g=(N,L)=>{let z=`${o.config.apiBaseUrl}${Ee.form[o.config.app].entityGetOne}`;return o.config.app==="konnect"?z=z.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(z=z.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),z=z.replace(/{entity}/gi,N),z=z.replace(/{id}/gi,L),z},h=N=>{let L=`${o.config.apiBaseUrl}${Ee.form[o.config.app].entityGetAll}`;return o.config.app==="konnect"?L=L.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(L=L.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),L=L.replace(/{entity}/gi,N),L},k=(N,L)=>{const z=g(N,L);return a.get(z)},y=(N,L)=>{const z=h(N);return o.config.app==="konnect"?a.get(z).then(G=>{const{data:{data:q}}=G;if(delete L.size,delete L.offset,q.length&&Object.keys(L).length===1){const Q=Object.keys(L)[0],P=q.filter(H=>H[Q]?!!H[Q].toLowerCase().includes(L[Q].toLowerCase()):!1);G.data.data=P}return G}):a.get(z,{params:L})};t.provide(At,{getOne:k,getAll:y});const C=t.ref(""),E=t.ref(null),x=t.ref({}),v=t.reactive({}),b=t.reactive({}),f=t.computed(()=>{var N;return(N=E.value)==null?void 0:N.options}),A=()=>{var Q,P;const N={...o.schema},L=b,z=v,G=Object.keys(L),q={};if(!c(x.value))for(let H=0;H<((P=(Q=x.value)==null?void 0:Q.fields)==null?void 0:P.length);H++)N[x.value.fields[H].model]=x.value.fields[H];return uo.forEach(H=>{N[H]&&(N[H].fields.forEach(Y=>{Y.fields&&Y.fields.forEach(V=>{N[V.model]=V}),Y.model&&(N[Y.model]=Y)}),delete N[H])}),G.forEach(H=>{if(!N[H])return;const Y=N[H];let V=L[H];const oe=z[H],re=Array.isArray(V)?"array":typeof V,ke=Y?Y.valueType:null,ct=Y?Y.valueArrayType:null,Ae=Y?Y.transform:null;if(V==null&&oe==null&&!Y.submitWhenNull)return;if(Y){if(ke&&re!==ke)switch(ke){case"array":re==="string"&&V.length&&(V=V.split(",").map(ge=>{if(ge=ge.trim(),ct==="string")return String(ge);if(ct==="number")return Number(ge);if(ct==="boolean"){if(typeof ge=="string")return ge.toLowerCase()==="true"||ge==="1";if(typeof ge=="number")return ge===1}return ge})),(!V||!V.length)&&(V=Y.submitWhenNull?null:[]);break;case"number":V=Number(V);break;case"boolean":re==="string"&&(V=V.toLowerCase()==="true"||V==="1"),re==="number"&&(V=V===1);break;case"string":V=V==null?"":String(V);break}else ke==="array"&&(!V||!V.length)&&(V=Y.submitWhenNull?null:[]);Y.type==="object-advanced"&&Y.fields&&V!==null&&(Object.entries(V).length===0?V=null:Object.keys(V).forEach(ge=>{Array.isArray(V[ge])||(V[ge]=V[ge].split(","))}))}let xe=l(H);if(Y.fieldNameHasDashes){const[ge,...Je]=xe.split(".").reverse();xe=[ge.replace(/_/g,"-"),...Je].reverse().join(".")}if(ke==="object-expand"){let ge;[xe,ge]=xe.split(".");let Je={};q[xe]&&(Je=q[xe]),Je[ge]=V,V=Je}oe!==void 0&&V===""&&V!==oe?q[xe]=ke==="object"?{}:null:Y.type==="checklist"&&V===""?q[xe]=[]:V!==""&&(q[xe]=V),q[xe]=Ae?Ae(V):q[xe],d(xe,q)}),s(q)},B=(N,L)=>{var q;const z={[L]:N};typeof((q=o.schema[L])==null?void 0:q.modelTransformer)=="function"&&(z[L]=o.schema[L].modelTransformer(N));const G=Object.assign({},b,z);Object.assign(b,G),i("model-updated",{model:b,originalModel:v,data:A()})},S=(N,L)=>{Object.keys(N).forEach(z=>{var H,Y;let G=L?`${L}-${z}`:z,q=o.schema[G];if(!q){const V=L?`${L}-${z.replace(/-/g,"_")}`:z.replace(/-/g,"_");(H=o.schema[V])!=null&&H.fieldNameHasDashes&&(G=V,q=o.schema[G]),L&&((Y=o.schema[L])==null?void 0:Y.keyFromObject)===z&&(G=L,q=o.schema[G])}const Q=N[z],P=typeof Q;if(q&&q.type==="object-advanced"&&!Q){b[G]={},v[G]={};return}if(Array.isArray(Q)){b[G]=JSON.parse(JSON.stringify(Q)),v[G]=JSON.parse(JSON.stringify(Q));return}if(P==="object"&&Q&&!Q.length)return S(Q,G);if(P==="object"&&Q&&Q.length&&q.type==="input"){b[G]=Q.join(", "),v[G]=Q.join(", ");return}b[G]=Q,v[G]=Q}),i("model-updated",{model:b,originalModel:v,data:A()})},w=t.ref(!0),R=()=>{var N;if(o.record&&o.schema&&(S({enabled:o.record.enabled??!0,...o.record.instance_name&&{instance_name:o.record.instance_name||""},...o.record.protocols&&{protocols:o.record.protocols},...o.record.tags&&{tags:o.record.tags}}),o.credential?((o.record.consumer_id||o.record.consumer)&&S({consumer_id:o.record.consumer_id||o.record.consumer}),S(o.record)):o.record.config&&((o.record.consumer_id||o.record.consumer||o.record.service_id||o.record.service||o.record.route_id||o.record.route||o.record.consumer_group_id||o.record.consumer_group)&&S({service_id:o.record.service_id||o.record.service,route_id:o.record.route_id||o.record.route,consumer_id:o.record.consumer_id||o.record.consumer,consumer_group_id:o.record.consumer_group_id||o.record.consumer_group}),S(o.record.config,"config"))),Object.keys(o.entityMap).length&&!o.entityMap.global&&o.schema){const L={};for(const z in o.entityMap){const G=o.entityMap[z].id,q=o.entityMap[z].idField,Q=q==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(q).replace("_","-"));Object.prototype.hasOwnProperty.call(b,Q)&&(L[Q]=G)}S(L)}if((N=o.entityMap.consumer)!=null&&N.id&&o.schema&&o.credential){const L={};Object.prototype.hasOwnProperty.call(b,"consumer")&&(L.consumer=o.entityMap.consumer.id),S(L)}w.value=!1};return t.watch(w,N=>{i("loading",N)}),t.watch(()=>o.schema,(N,L)=>{var G,q;if(p(N||{},L||{}))return;const z=r(N);Object.assign(b,z.model),x.value={fields:(q=(G=x.value)==null?void 0:G.fields)==null?void 0:q.map(Q=>({...Q,disabled:Q.disabled||!1}))},Object.assign(v,JSON.parse(JSON.stringify(z.model))),C.value=Kl(z.model.name),R()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var N,L;E.value=r(o.schema),Object.assign(b,((N=E.value)==null?void 0:N.model)||{}),x.value=((L=E.value)==null?void 0:L.schema)||{},R()}),(N,L)=>{const z=t.resolveComponent("KSkeleton"),G=t.resolveComponent("VueFormGenerator");return t.openBlock(),t.createElementBlock("div",Tk,[w.value?(t.openBlock(),t.createBlock(z,{key:0,type:"form"})):(t.openBlock(),t.createElementBlock("div",Nk,[C.value&&(b.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(C.value),{key:0,"form-model":b,"form-options":f.value,"form-schema":x.value,"is-editing":e.editing,"on-model-updated":B},null,40,["form-model","form-options","form-schema","is-editing"])):t.createCommentVNode("",!0),!C.value&&(b.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(G,{key:1,model:b,options:f.value,schema:x.value,onModelUpdated:B},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",Vk,t.toDisplayString(t.unref(m)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[t.unref(qe)[b.name]&&t.unref(qe)[b.name].fieldRules?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(vk,{rules:t.unref(qe)[b.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0]),1032,["model","options","schema"])):t.createCommentVNode("",!0)]))])}}}),jk=Xe(Dk,[["__scopeId","data-v-fee8445b"]]),Pk={class:"kong-ui-entities-plugin-form-container"},Uk=["id"],Yk={class:"plugin-form-actions"},Gk=Xe(t.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},pluginType:{type:String,required:!0},pluginId:{type:String,default:""},hideScopeSelection:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},useCustomNamesForPlugin:{type:Boolean,default:!1},actionsTeleportTarget:{type:String,default:""},noCardWrapper:{type:Boolean,default:!1},hideViewConfigAction:{type:Boolean,default:!1}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated"],setup(e,{emit:n}){var Rn;const i=n,o=e,a=jt.useRouter(),{i18n:{t:r}}=fe.useI18n(),{customSchemas:l,typedefs:s}=fe.useSchemas({app:o.config.app,credential:o.credential}),{formatPluginFieldLabel:c}=fe.usePluginHelpers(),{getMessageFromError:d}=Un(),{capitalize:p}=vi(),{objectsAreEqual:m}=Yn(),{axiosInstance:g}=zt((Rn=o.config)==null?void 0:Rn.axiosRequestConfig),h=t.ref(!1),k=t.computed(()=>o.pluginId?dt.Edit:dt.Create),y=t.ref(null),C=t.computed(()=>!!(o.credential&&o.config.entityId)),E=t.ref(null),x=t.ref({}),v=t.ref(!1),b=t.ref(null),f=t.reactive({enabled:!0,protocols:[],tags:[]}),A=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,errorMessage:""}),B=t.ref([{title:r("view_configuration.yaml"),hash:"#yaml"},{title:r("view_configuration.json"),hash:"#json"}]),S=t.computed(()=>{if(C.value){let O=Ee.form[o.config.app].credential[k.value];return O=O.replace(/{resourceEndpoint}/gi,T.value),O}return o.config.entityType&&o.config.entityId?Ee.form[o.config.app].edit.forEntity.replace(/{entityType}/gi,o.config.entityType).replace(/{entityId}/gi,o.config.entityId):Ee.form[o.config.app].edit.all}),w=()=>{h.value=!h.value},R=t.computed(()=>{var le,se,te,K,j,F,he,ht;const O=o.config.entityType==="consumers"&&o.config.entityId||((se=(le=E.value)==null?void 0:le.consumer)==null?void 0:se.id),U=o.config.entityType==="consumer_groups"&&o.config.entityId||((K=(te=E.value)==null?void 0:te.consumer_group)==null?void 0:K.id),I=o.config.entityType==="services"&&o.config.entityId||((F=(j=E.value)==null?void 0:j.service)==null?void 0:F.id),J=o.config.entityType==="routes"&&o.config.entityId||((ht=(he=E.value)==null?void 0:he.route)==null?void 0:ht.id);if(!(O||U||I||J))return{global:{entity:u.GLOBAL,entityEndpoint:"plugins"}};const W={};return I&&(W.service={entity:u.SERVICE,entityEndpoint:"services",id:I,idField:St.SERVICE}),J&&(W.route={entity:u.ROUTE,entityEndpoint:"routes",id:J,idField:St.ROUTE}),O&&(W.consumer={entity:u.CONSUMER,entityEndpoint:"consumers",id:O,idField:St.CONSUMER}),U&&(W.consumer_group={entity:u.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:U,idField:St.CONSUMER_GROUP}),o.config.entityType&&(W.focusedEntity={entity:u[o.config.entityType.substring(0,o.config.entityType.length-1).toUpperCase()],entityEndpoint:o.config.entityType,id:o.config.entityId,idField:St[o.config.entityType.substring(0,o.config.entityType.length-1).toUpperCase()]}),W}),M=t.reactive({name:{default:o.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:r("plugins.form.fields.enabled.label"),textOn:r("plugins.form.fields.enabled.on_text"),textOff:r("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:o.hideScopeSelection&&(o.hideScopeSelection||k.value===dt.Create&&o.config.entityId)?"foreign":"selectionGroup",inputType:"hidden",styleClasses:"hide-label",fields:[{label:r("plugins.form.scoping.global.label"),description:r("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:r("plugins.form.fields.protocols.help"),label:r("plugins.form.fields.protocols.label"),placeholder:r("plugins.form.fields.protocols.placeholder"),required:!0,styleClasses:"plugin-protocols-select",type:"multiselect",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}]},...(o.config.app==="kongManager"||o.useCustomNamesForPlugin)&&{instance_name:{default:"",type:"input",label:r("plugins.form.fields.instance_name.label"),inputType:"text",help:r("plugins.form.fields.instance_name.help")}},tags:s.tags}),T=t.computed(()=>{var I;const O=o.developer?"developers":"consumers",U=((I=Kt[o.pluginType])==null?void 0:I.endpoint)||"/plugins";return`${O}/${o.config.entityId}${o.developer?"/credentials":""}${U}`}),N=O=>{const U=[...new Set(O.map(I=>typeof I))];return U.length>1?"string":U[0]},L=(O,U,I)=>{var se,te;let J=U&&U.fields||[];const W=l[o.pluginType],le=(te=(se=Kt[o.pluginType])==null?void 0:se.schema)==null?void 0:te.fields;return Array.isArray(J)&&(J=J.reduce((K,j)=>{const F=Object.keys(j)[0];return F.match(/-/g)?K[F.replace(/-/g,"_")]={...j[F],fieldNameHasDashes:!0}:K[F]=j[F],K},{})),Object.keys(J).sort().forEach(K=>{var ht,yt,_l,$l,es,ts;const j=J[K],F=O?`${O}-${K}`:`${K}`;if(Object.prototype.hasOwnProperty.call(j,"overwrite")||j.hidden)return;if(j.type==="table")return L(F,j.schema,I);if(j.fields)return L(F,j,I);if(I[F]={id:F},I[F].type=j.type==="boolean"?"checkbox":"input",I[F].required=j.required,F.startsWith("config-")&&(I[F].label=c(F)),(O==="config"||O.startsWith("config-"))&&(ht=J[K])!=null&&ht.description&&(I[F].help=$.parse(J[K].description,{mangle:!1,headerIds:!1})),j.type==="map"){if(I[F].type="object-advanced",j.values.type==="array"){const{type:ce}=j.values.elements||{};I[F].schema={fields:[{schema:{fields:[{...Sn,model:F,valueArrayType:ce==="integer"?"number":ce||"string",inputAttributes:{...Sn.inputAttributes,type:ce==="integer"?"number":"text",inputMode:ce==="integer"?"numeric":"text"}}]}}]}}else j.values.fields&&(I[F].schema={fields:[{type:"object",model:"object",schema:{fields:j.values.fields.map(ce=>{const Ze=Object.keys(ce)[0];return{model:Ze,type:"input",label:p(Ze),placeholder:Ze,inputType:ce[Ze].type}})}}]});return I}if(j.enum&&j.type==="array"&&(I[F].type="checklist",I[F].values=j.enum,I[F].multi=!0,I[F].multiSelect=!0),j.one_of&&j.type!=="array"&&(I[F].type="select",I[F].values=j.one_of,I[F].selectOptions={noneSelectedText:r("plugins.form.no_selection")}),j.elements&&j.type==="array"){const ce=j.elements;if(ce.type==="string"&&!ce.one_of){const{id:Ze,help:Re,label:Ye,hint:ot}=I[F],{help:_t,...vn}=JSON.parse(JSON.stringify(Sn));I[F]={id:Ze,help:Re,label:Ye,hint:ot,...vn},I[F].help===void 0&&typeof _t=="string"&&(I[F].help=$.parse(_t,{mangle:!1,headerIds:!1}))}}if(j.hint&&(I[F].hint=j.hint),W&&!W.overwriteDefault&&Object.keys(W).forEach(ce=>{if(ce===F){const{help:Ze,label:Re,hint:Ye}=I[F],{help:ot,..._t}=W[ce];I[F]={help:Ze,label:Re,hint:Ye,..._t},typeof ot=="string"&&(I[F].help=$.parse(ot,{mangle:!1,headerIds:!1}))}}),j.type==="array"&&((yt=j.elements)==null?void 0:yt.type)==="record"&&Array.isArray(j.elements.fields)){let ce={};for(const Re of j.elements.fields)ce={...ce,...Re};const Ze=(es=($l=(_l=I[F])==null?void 0:_l.items)==null?void 0:$l.schema)==null?void 0:es.fields;if(Array.isArray(Ze))for(const Re of I[F].items.schema.fields){const Ye=(ts=ce[Re.model])==null?void 0:ts.description;Re.help===void 0&&typeof Ye=="string"&&(Re.help=$.parse(Ye,{mangle:!1,headerIds:!1}))}Ze||(I[F].fieldClasses="array-card-container-wrapper",I[F].itemContainerComponent="FieldArrayCardContainer",I[F].items={type:"object",schema:{fields:Object.values(L(F,j.elements,{}))}},I[F].type="array",I[F].newElementButtonLabelClasses="kong-form-new-element-button-label",I[F].items.schema.fields.forEach(Re=>{var Ye,ot;for(const _t of j.elements.fields){const vn=Object.keys(_t)[0],ns=((ot=(Ye=Re.id)==null?void 0:Ye.split)==null?void 0:ot.call(Ye,"-"))??[];if(ns[ns.length-1]===vn){Re.model=vn,Re.label=c(vn);break}}})),I[F].items.default=()=>j.elements.fields.reduce((Re,Ye)=>{const ot=Object.keys(Ye)[0];return Re[ot]=Ye[ot].default,Re},{})}if(C.value&&le){for(let ce=0;ce<le.length;ce++)if(le[ce][F]){I[F]={...I[F],...le[ce][F]};break}}if(j.required&&j.type!=="boolean"&&(I[F].required=!0,I[F].selectOptions={hideNoneSelectedText:!0}),j.default!=null&&typeof j.default!="object"&&j.default!=="function"&&(I[F].default=j.default),I[F].type==="input"){const{type:ce}=j.elements||{};ce&&(I[F].valueArrayType=ce==="integer"?"number":ce),I[F].inputType=j.type==="array"||j.type==="string"?"text":j.type}let he="string";j.enum?he=N(j.enum):j.type==="boolean"?he="boolean":j.type==="number"||j.type==="integer"?(he="number",I[F].inputType="number"):j.type==="array"||j.type==="set"?(he="array",I[F].default=j.default,j.len_min>0&&(I[F].submitWhenNull=!0)):j.type==="foreign"?he="object":j.default&&Array.isArray(j.default)?(he="array",I[F].valueArrayType=N(j.default)):j.default&&(he=typeof j.default),I[F].valueType=he,j.fieldNameHasDashes&&(I[F].fieldNameHasDashes=!0)}),I},z=()=>{var le,se,te,K;const O=((le=qe[o.pluginType])==null?void 0:le.scope.includes(u.SERVICE))??!0,U=((se=qe[o.pluginType])==null?void 0:se.scope.includes(u.ROUTE))??!0,I=((te=qe[o.pluginType])==null?void 0:te.scope.includes(u.CONSUMER))??!0,J=o.config.disableConsumerGroupScope?!1:((K=qe[o.pluginType])==null?void 0:K.scope.includes(u.CONSUMER_GROUP))??!0,W=[];if(O&&W.push({id:"service-id",model:"service-id",label:r("plugins.form.scoping.gateway_service.label"),placeholder:r("plugins.form.scoping.gateway_service.placeholder"),type:"AutoSuggest",entity:"services",inputValues:{fields:["name","id"]},help:r("plugins.form.scoping.gateway_service.help")}),U&&W.push({id:"route-id",model:"route-id",label:r("plugins.form.scoping.route.label"),placeholder:r("plugins.form.scoping.route.placeholder"),type:"AutoSuggest",entity:"routes",inputValues:{fields:["name","id"],primaryField:"id"},help:r("plugins.form.scoping.route.help")}),I&&W.push({model:"consumer-id",label:r("plugins.form.scoping.consumer.label"),placeholder:r("plugins.form.scoping.consumer.placeholder"),type:"AutoSuggest",entity:"consumers",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:r("plugins.form.scoping.consumer.help")}),J&&W.push({model:"consumer_group-id",label:r("plugins.form.scoping.consumer_group.label"),placeholder:r("plugins.form.scoping.consumer_group.placeholder"),type:"AutoSuggest",entity:"consumer_groups",entityDataKey:"consumer_group",inputValues:{fields:["name","id"],primaryField:"name"},help:r("plugins.form.scoping.consumer_group.help")}),W.length){const j=[...O?["service"]:[],...U?["route"]:[],...I?["consumer"]:[],...J?["consumer_group"]:[]],he=j.splice(j.length-2,2).map(yt=>r(yt==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${yt}.plural`)).join(`${j.length>0?",":""} and/or `),ht=["Specific",[...j.length>0?[j.map(yt=>r(yt==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${yt}.plural`)).join(", ")]:[],he].join(", ")].join(" ");M.selectionGroup.fields.push({label:r("plugins.form.scoping.label"),description:ht,fields:[]}),M.selectionGroup.fields[1].fields=W}l[o.pluginType]&&l[o.pluginType].overwriteDefault&&Object.hasOwnProperty.call(l[o.pluginType],"formSchema")&&Object.assign(M,l[o.pluginType].formSchema)},G=t.computed(()=>!m(A.fields,f,!0)),q=t.computed(()=>!Ke.value&&!v.value&&(k.value===dt.Create||G.value)),Q=t.ref(!1),P=t.ref(),H=O=>{A.fields.id=(O==null?void 0:O.id)||void 0,P.value=O==null?void 0:O.ordering,Object.assign(f,A.fields),E.value=O,Q.value=!0},Y=t.ref({}),V=O=>{var U;A.fields=O.model,A.fields.id=((U=E.value)==null?void 0:U.id)||void 0,Object.assign(f,O.originalModel),Y.value=O.data,o.isWizardStep&&i("model-updated",{model:A.fields,data:O.data,resourceEndpoint:T.value})};t.watch([R,Q],(O,U)=>{const I=O[0]!==U[0],J=O[1],W=U[1];!C.value&&k.value===dt.Edit&&(I||J&&J!==W)&&(Ke.value=!0,y.value=L("config",x.value,M),Ke.value=!1)},{deep:!0});const oe=()=>{o.config.cancelRoute?a.push(o.config.cancelRoute):i("cancel")},re=t.computed(()=>{let O=`${o.config.apiBaseUrl}${Ee.form[o.config.app].validate}`;return o.config.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(O=O.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),O=O.replace(/{id}/gi,o.pluginId),O}),ke=t.computed(()=>{const O=o.config.entityType&&o.config.entityId&&!o.developer,U=C.value?Ee.form[o.config.app].credential[k.value]:Ee.form[o.config.app][k.value][O?"forEntity":"all"];let I=`${o.config.apiBaseUrl}${U}`;return o.config.app==="konnect"?I=I.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(I=I.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),I=I.replace(/{resourceEndpoint}/gi,T.value),I=I.replace(/{id}/gi,o.pluginId),I=I.replace(/{entityType}/gi,o.config.entityType||""),I=I.replace(/{entityId}/gi,o.config.entityId||""),I}),ct=t.computed(()=>!Object.keys(qe).includes(o.pluginType)),Ae=t.computed(()=>{const O=Y.value;if(C.value){for(const U in u){const I=u[U];O[I]&&!O[I].id&&(O[I]={id:o.config.entityId})}delete O.created_at}return O}),xe=async()=>{if(!o.isWizardStep)try{A.isReadonly=!0;let O;!C.value&&!ct.value&&await g.post(re.value,Ae.value),k.value==="create"?O=await g.post(ke.value,Ae.value):k.value==="edit"&&(O=o.config.app==="konnect"?await g.put(ke.value,Object.assign({ordering:P.value},Ae.value)):await g.patch(ke.value,Ae.value)),Object.assign(f,A.fields),i("update",O==null?void 0:O.data)}catch(O){A.errorMessage=d(O),i("error",O)}finally{A.isReadonly=!1}},ge=t.computed(()=>{var J;const O=C.value?(J=Kt[o.pluginType])==null?void 0:J.schemaEndpoint:o.pluginType,U=C.value?Ee.form[o.config.app].credentialSchema:Ee.form[o.config.app].pluginSchema;let I=`${o.config.apiBaseUrl}${U}`;return o.config.app==="konnect"?I=I.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(I=I.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),I=I.replace(/{plugin}/gi,O),I}),Je=t.ref(!1);t.watch(b,O=>{O&&(Je.value=!0)});const Ke=t.ref(!1),Mn=t.ref("");return t.onBeforeMount(async()=>{var O,U,I;Ke.value=!0;try{if(C.value&&o.config.app==="konnect"){const J=(O=Kt[o.pluginType])==null?void 0:O.schemaEndpoint,W=bf[J];y.value=L("",W,{}),Ke.value=!1}else{const J=await g.get(ge.value),{data:W}=J;if(W)if(C.value)y.value=L("",W,{}),Ke.value=!1;else{const le=W.fields.find(te=>te.config);x.value=le?le.config:J,z();const se=(U=W.fields.find(te=>te.protocols))==null?void 0:U.protocols;if(se){const{default:te=[],elements:K={}}=se;M.protocols.default=te,(I=K.one_of)!=null&&I.length&&(M.protocols.values=K.one_of.map(j=>({label:j,value:j})))}(Q.value||k.value===dt.Create)&&(y.value=L("config",x.value,M))}}}catch(J){Mn.value=d(J),i("error:fetch-schema",J)}finally{Ke.value=!1}}),(O,U)=>{const I=t.resolveComponent("KSkeleton"),J=t.resolveComponent("KEmptyState"),W=t.resolveComponent("KButton"),le=t.resolveComponent("KTabs"),se=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",Pk,[Ke.value?(t.openBlock(),t.createBlock(I,{key:0,type:"form"})):Mn.value?(t.openBlock(),t.createBlock(J,{key:1,"action-button-visible":!1,"data-testid":"plugin-form-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(t.unref(r)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(gu),{key:2,"can-submit":q.value,config:e.config,"edit-id":e.pluginId,"error-message":A.errorMessage,"fetch-url":S.value,"form-fields":Ae.value,"is-readonly":A.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:oe,"onFetch:error":U[2]||(U[2]=te=>O.$emit("error",te)),"onFetch:success":H,onLoading:U[3]||(U[3]=te=>O.$emit("loading",te))},{"form-actions":t.withCtx(()=>[t.createElementVNode("div",{id:`plugin-form-default-actions-container-${e.config.workspace||e.config.controlPlaneId}`,ref_key:"actionsDivRef",ref:b},null,8,Uk),!e.isWizardStep&&Je.value?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:e.actionsTeleportTarget?e.actionsTeleportTarget:`#plugin-form-default-actions-container-${e.config.workspace||e.config.controlPlaneId}`},[t.createElementVNode("div",Yk,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(W,{key:0,appearance:"tertiary","data-testid":"form-view-configuration",onClick:U[1]||(U[1]=te=>w())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.view_configuration")),1)]),_:1})),t.createVNode(W,{appearance:"secondary",class:"form-action-button","data-testid":"form-cancel",disabled:A.isReadonly,type:"reset",onClick:oe},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.cancel")),1)]),_:1},8,["disabled"]),t.createVNode(W,{appearance:"primary","data-testid":"form-submit",disabled:!q.value||A.isReadonly,type:"submit",onClick:xe},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.save")),1)]),_:1},8,["disabled"])])],8,["to"])):t.createCommentVNode("",!0)]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:xe},null,32),t.createVNode(jk,{config:e.config,credential:C.value,editing:k.value===t.unref(dt).Edit,"entity-map":R.value,record:E.value||void 0,schema:y.value||{},onLoading:U[0]||(U[0]=te=>v.value=te),onModelUpdated:V},null,8,["config","credential","editing","entity-map","record","schema"])]),_:1},8,["can-submit","config","edit-id","error-message","fetch-url","form-fields","is-readonly","wrapper-component"])),t.createVNode(se,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(r)("view_configuration.title"),visible:h.value,onClose:w},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("view_configuration.message")),1),t.createVNode(le,{"data-testid":"form-view-configuration-slideout-tabs",tabs:B.value},{json:t.withCtx(()=>[t.createVNode(t.unref(fi),{config:e.config,"fetcher-url":ke.value,"json-record":A.fields,"request-method":o.pluginId?"put":"post"},null,8,["config","fetcher-url","json-record","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(Ri),{"yaml-record":A.fields},null,8,["yaml-record"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-ba9bbf11"]]),Hk=["alt","src","width"],si=t.defineComponent({__name:"PluginIcon",props:{name:{type:String,required:!0},size:{type:Number,default:32,required:!1},alt:{type:String,default:"",required:!1}},setup(e){const n=e,i=t.ref(),o=ir(n.name),a=()=>{const r=new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAMAAABKCk6nAAAAhFBMVEUAAADs+fnr8PTo7fLm7PDl6e7j6+7j6O3i6Ozh5+vp9PTm7PDj6e319fXn7PHj6O739/fn7PDi6e3////o7fLj6Ozt8fbj6u7r7vPi6ezo7fL////n7PHm6/Dl6+/q8PTs8vbu9Pjv9frw9vri6ezv9fnp7/Pt8vfk6u6cpar////e4ePLpSv+AAAAHnRSTlMAKIq93/T6/f7/W8z3GbL4Hr/9AZ39OPFo/Z4FzOeuk05oAAAFJklEQVR4Ae3ThZLjyhWA4SNdWJ9BMy/KA3n/twoXBafWWYb2QPi6Vd9XKGz4q5t4QPNZHDP2n8W/4uT0bJBUZHB2ehL/pPOLy6wQlxfn8bThaJxUajwaxuMm01lSsdl0Eo+YL5LKLebxoOUqqd5qGQ9YD7IHGKzjPptt9gTbzT19n2dv8Pyw8DZ7hG0U1tkrrOM7y0H2CoNlfGO+yp5hNY8vJovsHRaT+GyaPcQ03mkiYvjnNu4za94Ljtn+vd/Efc7+/sf4YJT32L286qjE1ctd3mMUH5yP89D1m46KvLnOQ+PzeO8iD+xuOipzs8sDF/HeZZZuX3dU5/Vtli7jnZMs7fSts/AuSycRcZqlm44q3WTpNCLOsnDdUanrLJxF29zF9zZ3QaXuNuWNJtosvOyo1ssstG0ThZ+Dah3Ea+LHIvmLjoq9KHL+2DYHyanYQc6jDYzACCxwZKGjallog177DwIjMAIjMAIjsMAIjMAIjMAIjMAILDACIzACIzACI7DACIzACIzACIzAAiMwAiMwAiMwAiOwwAiMwAiMwAiMwAIjMAIjMAIjMAILjMAIjMAIjMAIjMACIzACIzACIzACC4zACIzACIzACIzAAiMwAiMwAiMwAguMwAiMwAiMwAgsMAIjMAIjMAIjMAILjMAIjMAIjMAILDACIzACI/DP/6GjGENgBEZgBBYYgREYgREYgRGYJwMjMAIjMAI3TziCMQTmaAIjMAIjMAIjMAILjMAIjMAIjMAITBa6X9CveqD7hWWhDXpNYIERGIERGIERGIEFRmAERmAERuBKCdw2R68VGIERGIERWGAERmAERmAERmCBERiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIEFRmAERmAERuB+EPjt/ui9FRiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgWshcNscvVZgBEZgBEZggREYgREYgREYgQVGYARGYARGYARGYIERGIERGIERGIEFRmAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBBYYgREYgREYgftB4Lf7o/dWYARGYARGYIERGIERGIERGIEFRmAE5kj9GEfkb/EfwwkWGIERGIERGIERWGAERmAERmAERmAEFhiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIERWGAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBEZggREYgREYgREYgQVGYARGYARGYAQWGIERGIERGIERGIEFRmAERmAERmAEFhiBERiBERiBEZh2r3iflPn2B4HvgordPRl4H1RsL7DAfSJw/JCFq45qXWXhh3Yfhb8F1TqIt2/3ZeGf9kGl9j/F997XPcvCdUelrrNwFhGnWbrpqNJNlk4j4iRLu9cdFXq9y9JJvHOZpVuFa+x7m6XLeO8iD+xuOipzs8sDF/He+TgPXb/pqMib6zw0Po8PRnmP3curjkpcvdzlPUYR0UTE8M9t3GfWvBfHjP17v4n7nP39j/HRNOmhaXw2WSS9s5jEF/NV0jOreXxjOUh6ZbCM76yTXllHYZv0yDZKm+dJbzzfxGHhbdIT203cZz1IemCwjgcsV0n1Vst40HyRVG4xj0dMprOkYrPpJB43HI2TSo1Hw3ja+cVlUqHLi/P4J52cng2SigzOTk/iPk08oPksjhn7z+J+/wBSUhUZLUGZBgAAAABJRU5ErkJggg==",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Pt&&Pt.src||new URL("entities-plugins.umd.js",document.baseURI).href).href;i.value&&(i.value.src=r)};return(r,l)=>(t.openBlock(),t.createElementBlock("img",{ref_key:"img",ref:i,alt:e.alt,src:t.unref(o),width:e.size,onError:a},null,40,Hk))}}),ci="24px",Wl=(e,n)=>{const i=e.__vccOpts||e;for(const[o,a]of n)i[o]=a;return i},Fk=e=>(t.pushScopeId("data-v-761db460"),e=e(),t.popScopeId(),e),zk=["aria-hidden"],Kk={key:0,"data-testid":"kui-icon-svg-title"},qk=Fk(()=>t.createElementVNode("path",{d:"M11 19V13H5V11H11V5H13V11H19V13H13V19H11Z",fill:"currentColor"},null,-1)),Xk=Wl(t.defineComponent({__name:"AddIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:ci,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const n=String(e).replace(/px/gi,""),i=Number(n);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const n=e,i=t.computed(()=>{if(typeof n.size=="number"&&n.size>0)return`${n.size}px`;if(typeof n.size=="string"){const a=String(n.size).replace(/px/gi,""),r=Number(a);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return`${r}px`}return ci}),o=t.computed(()=>({boxSizing:"border-box",color:n.color,display:n.display,height:i.value,lineHeight:"0",width:i.value}));return(a,r)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon add-icon","data-testid":"kui-icon-wrapper-add-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-add-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",Kk,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),qk],8,zk))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-761db460"]]),Jk=e=>(t.pushScopeId("data-v-96be1ab3"),e=e(),t.popScopeId(),e),Zk=["aria-hidden"],Wk={key:0,"data-testid":"kui-icon-svg-title"},Qk=Jk(()=>t.createElementVNode("path",{d:"M12 20C11.45 20 10.9792 19.8042 10.5875 19.4125C10.1958 19.0208 10 18.55 10 18C10 17.45 10.1958 16.9792 10.5875 16.5875C10.9792 16.1958 11.45 16 12 16C12.55 16 13.0208 16.1958 13.4125 16.5875C13.8042 16.9792 14 17.45 14 18C14 18.55 13.8042 19.0208 13.4125 19.4125C13.0208 19.8042 12.55 20 12 20ZM12 14C11.45 14 10.9792 13.8042 10.5875 13.4125C10.1958 13.0208 10 12.55 10 12C10 11.45 10.1958 10.9792 10.5875 10.5875C10.9792 10.1958 11.45 10 12 10C12.55 10 13.0208 10.1958 13.4125 10.5875C13.8042 10.9792 14 11.45 14 12C14 12.55 13.8042 13.0208 13.4125 13.4125C13.0208 13.8042 12.55 14 12 14ZM12 8C11.45 8 10.9792 7.80417 10.5875 7.4125C10.1958 7.02083 10 6.55 10 6C10 5.45 10.1958 4.97917 10.5875 4.5875C10.9792 4.19583 11.45 4 12 4C12.55 4 13.0208 4.19583 13.4125 4.5875C13.8042 4.97917 14 5.45 14 6C14 6.55 13.8042 7.02083 13.4125 7.4125C13.0208 7.80417 12.55 8 12 8Z",fill:"currentColor"},null,-1)),_k=Wl(t.defineComponent({__name:"MoreIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:ci,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const n=String(e).replace(/px/gi,""),i=Number(n);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const n=e,i=t.computed(()=>{if(typeof n.size=="number"&&n.size>0)return`${n.size}px`;if(typeof n.size=="string"){const a=String(n.size).replace(/px/gi,""),r=Number(a);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return`${r}px`}return ci}),o=t.computed(()=>({boxSizing:"border-box",color:n.color,display:n.display,height:i.value,lineHeight:"0",width:i.value}));return(a,r)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon more-icon","data-testid":"kui-icon-wrapper-more-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-more-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",Wk,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Qk],8,Zk))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-96be1ab3"]]),$k={class:"kong-ui-entities-plugins-list"},eB={class:"name-cell-wrapper"},tB={class:"info-wrapper"},nB={key:0,class:"info-name"},iB={key:1,class:"info-name"},oB={key:2,class:"info-type"},aB={key:1},rB={key:1},lB=Xe(t.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.createRoute||!e.getViewRoute||!e.getEditRoute||!e.getConfigureDynamicOrderingRoute||e.app==="kongManager"&&!e.isExactMatch&&!e.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canToggle:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canRetrieveScopedEntity:{type:Function,required:!1,default:async()=>!0},canConfigureDynamicOrdering:{type:Function,required:!1,default:async()=>!0},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1}},emits:["error","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:n}){var Mn,Rn;const i=fe.usePluginMetaData(),o=n,a=e,{i18n:{t:r}}=fe.useI18n(),l=jt.useRouter(),{axiosInstance:s}=zt((Mn=a.config)==null?void 0:Mn.axiosRequestConfig),c=t.computed(()=>{var O;return((O=a.config)==null?void 0:O.entityType)==="consumers"}),d=t.computed(()=>{var O;return((O=a.config)==null?void 0:O.entityType)==="consumer_groups"}),p=a.config.app==="konnect"||qu({gatewayInfo:a.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),m=t.computed(()=>a.config.app!=="kongManager"||!!a.config.disableSorting),g={name:{label:r("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(Rn=a.config)!=null&&Rn.entityId||(g.appliedTo={label:r("plugins.list.table_headers.applied_to"),sortable:!1}),g.enabled={label:r("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},p&&(g.ordering={label:r("plugins.list.table_headers.ordering"),sortable:!0}),g.tags={label:r("plugins.list.table_headers.tags"),sortable:!1};const h=g,k=t.computed(()=>{var U,I,J,W;let O=a.config.entityType?`${a.config.apiBaseUrl}${Ee.list[a.config.app].forEntity}`:`${a.config.apiBaseUrl}${Ee.list[a.config.app].all}`;return a.config.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,((U=a.config)==null?void 0:U.controlPlaneId)||""):a.config.app==="kongManager"&&(O=O.replace(/\/{workspace}/gi,(I=a.config)!=null&&I.workspace?`/${a.config.workspace}`:"")),O.replace(/{entityType}/gi,((J=a.config)==null?void 0:J.entityType)||"").replace(/{entityId}/gi,((W=a.config)==null?void 0:W.entityId)||"")}),y=t.ref(""),C=t.computed(()=>a.config.app==="konnect"||a.config.isExactMatch?{isExactMatch:!0,fields:{name:g.name,id:{label:r("plugins.list.table_headers.id"),sortable:!0}},placeholder:r(`search.placeholder.${a.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...g.enabled,label:r("search.filter.field.enabled")},name:g.name,instance_name:{label:r("plugins.list.table_headers.instance_name"),searchable:!0}},schema:a.config.filterSchema}),E=t.ref(1),{fetcher:x,fetcherState:v}=Ku(a.config,k.value),b=()=>{y.value=""},f=()=>{E.value++},A=t.ref(null),B=O=>{var I,J,W,le;const U=[];return(I=O.route)!=null&&I.id&&U.push({type:"route",badgeText:r("plugins.list.table_headers.applied_to_badges.route")}),(J=O.service)!=null&&J.id&&U.push({type:"service",badgeText:r("plugins.list.table_headers.applied_to_badges.service")}),(W=O.consumer)!=null&&W.id&&U.push({type:"consumer",badgeText:r("plugins.list.table_headers.applied_to_badges.consumer")}),(le=O.consumer_group)!=null&&le.id&&U.push({type:"consumer_group",badgeText:r("plugins.list.table_headers.applied_to_badges.consumer_group")}),U.length?U:[{type:null,badgeText:r("plugins.list.table_headers.applied_to_badges.global")}]},S=async(O,U)=>{var I;return O===null?!1:await((I=a.canRetrieveScopedEntity)==null?void 0:I.call(a,O,U.id))},w=(O,U)=>{var J,W,le,se,te;let I=null;switch(O){case"route":I=(J=U.route)==null?void 0:J.id;break;case"service":I=(W=U.service)==null?void 0:W.id;break;case"consumer":I=(le=U.consumer)==null?void 0:le.id;break;case"consumer_group":I=(se=U.consumer_group)==null?void 0:se.id;break}I&&((te=a.config)!=null&&te.getScopedEntityViewRoute)&&l.push(a.config.getScopedEntityViewRoute(O,I))},R=t.ref(!1),M=t.ref(null),T=t.computed(()=>{const O={action:"disable",id:"",name:""};if(M.value){const{enabled:U,id:I,name:J}=M.value;O.action=U?"disable":"enable",O.id=I,O.name=i.getDisplayName(J)||I}return O}),N=O=>{R.value=!0,M.value=O},L=()=>{R.value=!1,M.value=null},z=async()=>{var J,W,le,se,te,K,j,F;if(!await((J=a.canEdit)==null?void 0:J.call(a,M.value))||!M.value)return;let U=`${a.config.apiBaseUrl}${(te=Ee.item[a.config.app])==null?void 0:te[(W=a.config)!=null&&W.entityType?"forEntity":"all"].replace(/{entityType}/gi,((le=a.config)==null?void 0:le.entityType)||"").replace(/{entityId}/gi,((se=a.config)==null?void 0:se.entityId)||"")}`.replace(/{id}/gi,M.value.id||"");a.config.app==="konnect"?U=U.replace(/{controlPlaneId}/gi,((K=a.config)==null?void 0:K.controlPlaneId)||""):a.config.app==="kongManager"&&(U=U.replace(/\/{workspace}/gi,(j=a.config)!=null&&j.workspace?`/${a.config.workspace}`:""));const I=!M.value.enabled;try{const{data:he}=((F=a.config)==null?void 0:F.app)==="konnect"?await s.put(U,{...M.value,enabled:I},{timeout:12e4}):await s.patch(U,{...M.value,enabled:I},{timeout:12e4});o("toggle-enabled",I,he)}catch(he){o("error",he)}M.value.enabled=I},G=(O,U)=>{const I=O.id;if(!U(I)){o("copy:error",{entity:O,field:"id",message:r("errors.copy")});return}o("copy:success",{entity:O,field:"id",message:r("copy.success",{val:I})})},q=(O,U)=>{const I=JSON.stringify(O);if(!U(I)){o("copy:error",{entity:O,message:r("errors.copy")});return}o("copy:success",{entity:O,message:r("copy.success_brief")})},Q=async O=>{var I;await((I=a.canRetrieve)==null?void 0:I.call(a,O))&&l.push(a.config.getViewRoute(O))},P=O=>({label:r("actions.view"),to:a.config.getViewRoute(O)}),H=O=>({label:r("actions.edit"),to:a.config.getEditRoute(O)}),Y=O=>({label:r("actions.configure_dynamic_ordering"),to:a.config.getConfigureDynamicOrderingRoute(O)}),V=t.ref(void 0),oe=t.ref(!1),re=t.ref(!1),ke=t.ref(""),ct=zu(a.config,k.value),Ae=O=>{V.value=O,oe.value=!0},xe=()=>{oe.value=!1},ge=async()=>{var O,U,I;if((O=V.value)!=null&&O.id){re.value=!0;try{await s.delete(ct(V.value.id)),re.value=!1,oe.value=!1,E.value++,o("delete:success",V.value)}catch(J){ke.value=((I=(U=J.response)==null?void 0:U.data)==null?void 0:I.message)||J.message||r("errors.delete"),o("error",J)}finally{re.value=!1}}},Je=t.ref(!0);t.watch(v,O=>{var U,I,J,W;if(Array.isArray((U=O==null?void 0:O.response)==null?void 0:U.data)&&(Je.value=O.response.data.length>0),O.status===wt.Error){A.value={title:r("errors.general")},(W=(J=(I=O.error)==null?void 0:I.response)==null?void 0:J.data)!=null&&W.message&&(A.value.message=O.error.response.data.message),o("error",O.error);return}A.value=null});const Ke=t.ref({ctaPath:a.config.createRoute,ctaText:void 0,message:`${r("plugins.list.empty_state.description")}${a.config.additionMessageForEmptyState?` ${a.config.additionMessageForEmptyState}`:""}`,title:r("plugins.title")});return t.onBeforeMount(async()=>{await a.canCreate()&&(Ke.value.title=r("plugins.list.empty_state.title"),Ke.value.ctaText=r("actions.create"))}),(O,U)=>{const I=t.resolveComponent("KButton"),J=t.resolveComponent("KBadge"),W=t.resolveComponent("KTruncate"),le=t.resolveComponent("KInputSwitch"),se=t.resolveComponent("KDropdownItem"),te=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",$k,[t.createVNode(t.unref(Eu),{"cache-identifier":e.cacheIdentifier,"disable-pagination-page-jump":"","disable-sorting":m.value,"dropdown-menu-width":"270","empty-state-options":Ke.value,"enable-entity-actions":"","error-message":A.value,fetcher:t.unref(x),"fetcher-cache-key":E.value,"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:y.value,"table-headers":t.unref(h),title:e.title,"title-tag":e.titleTag,"use-action-outside":e.useActionOutside,onClearSearchInput:b,"onClick:row":U[3]||(U[3]=K=>Q(K)),onSort:f},{"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(Gu),{modelValue:y.value,"onUpdate:modelValue":U[0]||(U[0]=K=>y.value=K),config:C.value},null,8,["modelValue","config"])]),"toolbar-button":t.withCtx(()=>[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[t.createVNode(t.unref(Et),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.withDirectives(t.createVNode(I,{appearance:"primary","data-testid":"toolbar-add-plugin",size:"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Xk)),t.createTextVNode(" "+t.toDisplayString(t.unref(r)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["to"]),[[t.vShow,Je.value]])]),_:1},8,["auth-function"])],8,["disabled"]))]),name:t.withCtx(({row:K})=>[t.createElementVNode("div",eB,[t.createVNode(si,{class:"plugin-icon",name:K.name,width:24},null,8,["name"]),t.createElementVNode("div",tB,[K.instance_name?(t.openBlock(),t.createElementBlock("span",nB,t.toDisplayString(K.instance_name),1)):(t.openBlock(),t.createElementBlock("span",iB,t.toDisplayString(t.unref(i).getDisplayName(K.name)),1)),K.instance_name?(t.openBlock(),t.createElementBlock("span",oB,t.toDisplayString(t.unref(i).getDisplayName(K.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:K})=>[B(K).length>0?(t.openBlock(),t.createBlock(W,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(B(K),j=>(t.openBlock(),t.createBlock(t.unref(Et),{key:j.badgeText,"auth-function":()=>S(j.type,K),"force-show":""},{default:t.withCtx(({isAllowed:F})=>[t.createVNode(J,{class:t.normalizeClass(F||"disabled"),onClick:t.withModifiers(he=>F&&j.type&&w(j.type,K),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(j.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",aB,"-"))]),enabled:t.withCtx(({row:K})=>[t.createVNode(t.unref(Et),{"auth-function":async()=>!!(await e.canEdit(K)&&await e.canToggle(K)),"force-show":""},{default:t.withCtx(({isAllowed:j})=>{var F,he;return[t.createElementVNode("div",{onClick:U[1]||(U[1]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(le,{disabled:!j,"disabled-tooltip-text":!j&&((he=(F=e.config).getToggleDisabledTooltip)==null?void 0:he.call(F,K))||void 0,"model-value":K.enabled,onClick:t.withModifiers(ht=>j&&N(K),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:K})=>[t.createVNode(J,{appearance:K?"warning":"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(K?t.unref(r)("plugins.list.table_headers.ordering_badge.dynamic"):t.unref(r)("plugins.list.table_headers.ordering_badge.static")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:K})=>[(K==null?void 0:K.length)>0?(t.openBlock(),t.createBlock(W,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(K,j=>(t.openBlock(),t.createBlock(J,{key:j,onClick:U[2]||(U[2]=t.withModifiers(()=>{},["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(j),1)]),_:2},1024))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",rB,"-"))]),actions:t.withCtx(({row:K})=>[t.createVNode(te,null,{default:t.withCtx(({copyToClipboard:j})=>[t.createVNode(se,{"data-testid":"action-entity-copy-id",onClick:F=>G(K,j)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(te,null,{default:t.withCtx(({copyToClipboard:j})=>[t.createVNode(se,{"data-testid":"action-entity-copy-json",onClick:F=>q(K,j)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(Et),{"auth-function":()=>e.canRetrieve(K)},{default:t.withCtx(()=>[t.createVNode(se,{"data-testid":"action-entity-view","has-divider":"",item:P(K)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(Et),{"auth-function":()=>e.canEdit(K)},{default:t.withCtx(()=>[t.createVNode(se,{"data-testid":"action-entity-edit",item:H(K)},null,8,["item"])]),_:2},1032,["auth-function"]),!c.value&&!d.value&&t.unref(p)?(t.openBlock(),t.createBlock(t.unref(Et),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(K)},{default:t.withCtx(()=>[Y(K)?(t.openBlock(),t.createBlock(se,{key:0,"data-testid":"action-entity-config-dyn-order",item:Y(K)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(Et),{"auth-function":()=>e.canDelete(K)},{default:t.withCtx(()=>[t.createVNode(se,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:j=>Ae(K)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:1},8,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","title","title-tag","use-action-outside"]),t.createVNode(t.unref(Hu),{action:T.value.action,"entity-id":T.value.id,"entity-name":T.value.name,"entity-type":t.unref(r)("glossary.plugin"),"on-confirm":z,visible:R.value,onCancel:L,onProceed:L},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(va),{"action-pending":re.value,description:t.unref(r)("delete.description"),"entity-name":V.value&&(V.value.instance_name||V.value.name||V.value.id),"entity-type":t.unref(ui).Plugin,error:ke.value,title:t.unref(r)("delete.title"),visible:oe.value,onCancel:xe,onProceed:ge},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-43a49e84"]]),sB=e=>(t.pushScopeId("data-v-14bc032f"),e=e(),t.popScopeId(),e),cB={class:"plugin-card-header"},dB={class:"plugin-card-footer"},pB=sB(()=>t.createElementVNode("hr",{class:"plugin-card-footer-divider"},null,-1)),uB={class:"footer-skeleton"},mB=Xe(t.defineComponent({__name:"PluginCardSkeleton",props:{cardCount:{type:Number,default:1}},setup(e){return(n,i)=>{const o=t.resolveComponent("KSkeletonBox"),a=t.resolveComponent("KSkeleton");return t.openBlock(),t.createBlock(a,{"card-count":e.cardCount,class:"plugin-card-skeleton",type:"card"},{"card-header":t.withCtx(()=>[t.createElementVNode("div",cB,[t.createVNode(o,{width:"5"})])]),"card-content":t.withCtx(()=>[t.createTextVNode(" ")]),"card-footer":t.withCtx(()=>[t.createElementVNode("div",dB,[pB,t.createElementVNode("div",uB,[t.createVNode(o,{width:"5"})])])]),_:1},8,["card-count"])}}}),[["__scopeId","data-v-14bc032f"]]),gB="16px",fB=["data-testid"],AB={class:"plugin-card-header"},hB={class:"plugin-card-title"},yB={key:0,class:"plugin-card-actions"},bB=["data-testid","title"],wB={key:0,class:"plugin-card-text"},CB={key:0},EB=["title"],On=Xe(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},plugin:{type:Object,required:!0},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const i=n,o=e,a=jt.useRouter(),{i18n:{t:r}}=fe.useI18n(),l=t.computed(()=>o.config.app==="konnect"?o.config.controlPlaneId:""),s=t.computed(()=>!!(!o.plugin.available||o.plugin.disabledMessage)),c=t.computed(()=>!!(h.value&&!g.value&&o.navigateOnClick&&l.value&&(o.canDeleteCustomPlugin||o.canEditCustomPlugin))),d=()=>{a.push(o.config.getCreateRoute(o.plugin.id))},p=()=>{o.navigateOnClick?d():m()},m=()=>{i("plugin-clicked",o.plugin)},g=t.computed(()=>o.plugin.id==="custom-plugin-create"),h=t.computed(()=>o.config.app==="konnect"&&o.plugin.group===D.CUSTOM_PLUGINS),k=()=>{o.config.app==="konnect"&&i("custom-plugin-delete")},y=E=>{const x=o.config;o.config.app==="konnect"&&typeof x.getCustomEditRoute=="function"&&x.getCustomEditRoute&&a.push(x.getCustomEditRoute(E))},C=()=>{if(!s.value&&o.config.app==="konnect"){const E=o.config;g.value&&E.createCustomRoute?a.push(E.createCustomRoute):h.value&&d()}};return(E,x)=>{const v=t.resolveComponent("KButton"),b=t.resolveComponent("KDropdownItem"),f=t.resolveComponent("KDropdownMenu"),A=t.resolveComponent("KTooltip");return t.openBlock(),t.createBlock(A,{"position-fixed":"",text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createElementVNode("a",{class:t.normalizeClass(["plugin-select-card",{disabled:s.value}]),"data-testid":`${e.plugin.id}-card`,role:"button",onClick:x[1]||(x[1]=B=>s.value||h.value?void 0:p())},[t.createElementVNode("div",AB,[t.createElementVNode("div",hB,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!h.value})},t.toDisplayString(e.plugin.name),3)]),c.value?(t.openBlock(),t.createElementBlock("div",yB,[t.createVNode(f,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(v,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(_k),{size:t.unref(gB)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(b,{key:0,"data-testid":"edit-plugin-schema",onClick:x[0]||(x[0]=t.withModifiers(B=>y(e.plugin.name),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(b,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(k,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.delete")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":h.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(r)("plugins.select.unavailable_tooltip"),onClick:C},[t.createVNode(si,{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.imageName||e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||h.value&&!g.value?(t.openBlock(),t.createElementBlock("div",wB,[h.value&&!g.value?(t.openBlock(),t.createElementBlock("p",CB,t.toDisplayString(t.unref(r)("plugins.select.custom_badge_text")),1)):t.createCommentVNode("",!0),e.plugin.description?(t.openBlock(),t.createElementBlock("p",{key:1,class:"plugin-card-text",title:e.plugin.description},t.toDisplayString(e.plugin.description),9,EB)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,bB),t.createElementVNode("div",{class:"plugin-card-footer",onClick:C},t.toDisplayString(g.value?t.unref(r)("actions.create_custom"):e.plugin.exists?t.unref(r)("actions.enabled"):t.unref(r)("actions.enable")),1)],10,fB)]),_:1},8,["text"])}}}),[["__scopeId","data-v-07903e12"]]),kB=Xe(t.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:n}){var h;const i=e,o=n,{i18nT:a,i18n:{t:r}}=fe.useI18n(),{getMessageFromError:l}=Un(),{axiosInstance:s}=zt((h=i.config)==null?void 0:h.axiosRequestConfig),c=t.computed(()=>{var k;return m.value?r("delete.plugin_schema_in_use_title"):r("delete.title",{name:((k=i.plugin)==null?void 0:k.name)||r("delete.custom_plugin")})}),d=t.ref(!1),p=t.ref(""),m=t.ref(!1),g=async()=>{var k,y,C,E,x;if(d.value=!0,p.value="",!(!((k=i.plugin)!=null&&k.name)||((y=i.config)==null?void 0:y.app)!=="konnect"))try{const v=`${i.config.apiBaseUrl}/v2/control-planes/${i.config.controlPlaneId}/core-entities/plugin-schemas/${(C=i.plugin)==null?void 0:C.name}`;await s.delete(v),o("proceed")}catch(v){const{response:b}=v;(b==null?void 0:b.status)===400&&((x=(E=b.data)==null?void 0:E.message)!=null&&x.includes("plugin schema is currently in use"))?m.value=!0:p.value=l(v)}finally{d.value=!1}};return(k,y)=>{const C=t.resolveComponent("KButton"),E=t.resolveComponent("KModal");return!m.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(va),{key:0,"action-pending":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(r)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(ui).Plugin,error:p.value,"need-confirm":"",title:c.value,visible:"",onCancel:y[0]||(y[0]=x=>k.$emit("closed")),onProceed:g},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(E,{key:1,"action-button-disabled":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:c.value,visible:"",onCancel:y[2]||(y[2]=x=>k.$emit("closed"))},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(t.unref(a),{keypath:"delete.plugin_schema_in_use_message",tag:"p"},{name:t.withCtx(()=>[t.createElementVNode("strong",null,t.toDisplayString(e.plugin.name),1)]),_:1})])]),"footer-actions":t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(C,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:y[1]||(y[1]=x=>k.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-4148beb9"]]),BB={class:"custom-plugins-grid"},SB={class:"empty-state-title"},xB={class:"empty-state-description"},OB={class:"plugin-card-container"},IB={class:"plugin-card-container"},MB=Xe(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},pluginsPerRow:{type:Number,default:4}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const i=e,o=n,{i18n:{t:a}}=fe.useI18n(),{getPluginCards:r}=fe.usePluginHelpers(),l=t.ref(!0),s=k=>{o("plugin-clicked",k)},c=t.computed(()=>{if(i.config.app==="kongManager")return[];const k=JSON.parse(JSON.stringify(i.pluginList))[D.CUSTOM_PLUGINS]||[];return i.canCreateCustomPlugin&&i.navigateOnClick&&i.config.createCustomRoute?[{id:"custom-plugin-create",name:a("plugins.select.tabs.custom.create.name"),available:!0,group:D.CUSTOM_PLUGINS,description:a("plugins.select.tabs.custom.create.description")}].concat(k):k}),d=t.computed(()=>{var C,E;const k=(C=r("all",c.value,i.pluginsPerRow))==null?void 0:C.length,y=(E=r("hidden",c.value,i.pluginsPerRow))==null?void 0:E.length;return k>i.pluginsPerRow?a("plugins.select.view_more",{count:y}):a("plugins.select.view_less")}),p=t.ref(!1),m=t.ref(null),g=k=>{p.value=!0,m.value={id:k.id,name:k.name}},h=k=>{var y;k&&(o("revalidate"),o("delete:success",((y=m.value)==null?void 0:y.name)||"")),p.value=!1,m.value=null};return(k,y)=>{const C=t.resolveComponent("KEmptyState"),E=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",BB,[c.value.length?(t.openBlock(),t.createBlock(E,{key:1,modelValue:l.value,"onUpdate:modelValue":y[0]||(y[0]=x=>l.value=x),class:"custom-plugins-collapse","data-testid":`${t.unref(D).CUSTOM_PLUGINS}-collapse`,title:t.unref(D).CUSTOM_PLUGINS,"trigger-label":d.value},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",OB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(r)("visible",c.value,e.pluginsPerRow),(x,v)=>(t.openBlock(),t.createBlock(On,{key:`plugin-card-${v}`,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:x,onCustomPluginDelete:b=>g(x),onPluginClicked:s},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))])]),default:t.withCtx(()=>[t.createElementVNode("div",IB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(r)("hidden",c.value,e.pluginsPerRow),(x,v)=>(t.openBlock(),t.createBlock(On,{key:`plugin-card-${v}`,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:x,onPluginClicked:s},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin"]))),128))])]),_:2},[c.value.length<=e.pluginsPerRow?{name:"trigger",fn:t.withCtx(()=>[t.createTextVNode(" ")]),key:"0"}:void 0]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(C,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",SB,t.toDisplayString(t.unref(a)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",xB,t.toDisplayString(t.unref(a)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),p.value&&m.value?(t.openBlock(),t.createBlock(kB,{key:2,config:e.config,plugin:m.value,onClosed:h,onProceed:y[1]||(y[1]=x=>h(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-ee6d3205"]]),RB={class:"plugin-card-container"},vB={class:"plugin-card-container"},Ql=Xe(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0},pluginsPerRow:{type:Number,default:4}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:t.mergeModels(["plugin-clicked"],["update:modelValue"]),setup(e,{emit:n}){const i=t.useModel(e,"modelValue"),o=e,a=n,{i18n:{t:r}}=fe.useI18n(),{getPluginCards:l}=fe.usePluginHelpers(),s=t.computed(()=>{var p,m;const c=((p=l("all",o.plugins,o.pluginsPerRow))==null?void 0:p.length)||0,d=((m=l("hidden",o.plugins||[],o.pluginsPerRow))==null?void 0:m.length)||0;return c>o.pluginsPerRow?r("plugins.select.view_more",{count:d}):void 0});return(c,d)=>{const p=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(p,{modelValue:i.value,"onUpdate:modelValue":d[0]||(d[0]=m=>i.value=m),class:"plugins-collapse","data-testid":`${o.name}-collapse`,title:o.name,"trigger-label":i.value?s.value:t.unref(r)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",RB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(l)("visible",o.plugins,o.pluginsPerRow),m=>(t.openBlock(),t.createBlock(On,{key:`plugin-card-${m.id}`,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:m,onPluginClicked:g=>a("plugin-clicked",m)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))])]),default:t.withCtx(()=>[t.createElementVNode("div",vB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(l)("hidden",o.plugins,o.pluginsPerRow),m=>(t.openBlock(),t.createBlock(On,{key:`plugin-card-${m.id}`,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:m,onPluginClicked:g=>a("plugin-clicked",m)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))])]),_:2},[o.plugins.length<=e.pluginsPerRow?{name:"trigger",fn:t.withCtx(()=>[t.createTextVNode(" ")]),key:"0"}:void 0]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-12700243"]]),TB={class:"plugin-select-grid"},NB={class:"empty-state-title"},VB={class:"empty-state-description"},mo=t.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},pluginsPerRow:{type:Number,default:4},highlightedPlugins:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""},hideHighlightedPlugins:{type:Boolean,default:!1}},emits:["plugin-clicked"],setup(e,{emit:n}){const i=e,o=n,{i18n:{t:a}}=fe.useI18n(),r=t.ref(!1),l=t.ref(Wa),s=d=>{o("plugin-clicked",d)},c=t.computed(()=>{const d=JSON.parse(JSON.stringify(i.pluginList));return i.config.app==="konnect"&&delete d[D.CUSTOM_PLUGINS],d});return(d,p)=>{const m=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",TB,[Object.keys(c.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(m,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",NB,t.toDisplayString(t.unref(a)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",VB,t.toDisplayString(t.unref(a)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!i.hideHighlightedPlugins&&i.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(Ql,{key:1,modelValue:r.value,"onUpdate:modelValue":p[0]||(p[0]=g=>r.value=g),config:e.config,name:i.highlightedPluginsTitle||t.unref(a)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:i.highlightedPlugins,"plugins-per-row":e.pluginsPerRow,onPluginClicked:p[1]||(p[1]=g=>s(g))},null,8,["modelValue","config","name","navigate-on-click","plugins","plugins-per-row"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Za),g=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[g]?(t.openBlock(),t.createElementBlock("div",{key:g},[t.createVNode(Ql,{modelValue:l.value[g],"onUpdate:modelValue":h=>l.value[g]=h,config:e.config,name:g,"navigate-on-click":e.navigateOnClick,plugins:c.value[g]||[],"plugins-per-row":e.pluginsPerRow,onPluginClicked:p[2]||(p[2]=h=>s(h))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins","plugins-per-row"])])):t.createCommentVNode("",!0)],64))),256))])}}}),LB={class:"kong-ui-entities-plugin-select-form"},DB={class:"plugins-filter-input-container"},jB={key:0},PB={key:3,"aria-live":"polite",class:"plugins-results-container"},UB={"data-testid":"kong-tab"},YB={class:"tab-description"},GB={"data-testid":"custom-tab"},HB={class:"tab-description"},FB=Xe(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},disableCustomPlugins:{type:Boolean,default:!1},hideCustomPlugins:{type:Boolean,default:!1},canCreateCustomPlugin:{type:Function,required:!1,default:async()=>!0},canDeleteCustomPlugin:{type:Function,required:!1,default:async()=>!0},canEditCustomPlugin:{type:Function,required:!1,default:async()=>!0},navigateOnClick:{type:Boolean,default:!0},availableOnServer:{type:Boolean,default:!0},ignoredPlugins:{type:Array,default:()=>[]},disabledPlugins:{type:Object,default:()=>({})},pluginsPerRow:{type:Number,default:4},highlightedPluginIds:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){var q,Q;const i=e,o=n,a=jt.useRoute(),r=jt.useRouter(),{i18n:{t:l}}=fe.useI18n(),{pluginMetaData:s}=fe.usePluginMetaData(),{getMessageFromError:c}=Un(),{sortAlpha:d,objectsAreEqual:p}=Yn(),m=t.ref(""),g=t.ref(!0),h=t.ref(!1),k=t.ref(""),y=t.ref([]),C=t.ref({}),E=t.ref([]),{axiosInstance:x}=zt((q=i.config)==null?void 0:q.axiosRequestConfig),v=t.computed(()=>C.value?Object.entries(C.value).filter(([P])=>P!==D.CUSTOM_PLUGINS).reduce((P,[,H])=>{for(const Y of H)P[Y.id]=Y;return P},{}):{}),b=t.computed(()=>{var Y;if(!C.value)return{};const P=m.value.toLowerCase(),H=JSON.parse(JSON.stringify(C.value));for(const V in C.value){const oe=((Y=C.value[V])==null?void 0:Y.filter(re=>re.name.toLowerCase().includes(P)||re.id.toLowerCase().includes(P)||re.group.toLowerCase().includes(P)))||[];oe.length?H[V]=oe:delete H[V]}return H}),f=t.computed(()=>i.highlightedPluginIds.reduce((P,H)=>{const Y=v.value[H];return Y&&P.push(Y),P},[])),A=t.computed(()=>Object.keys(b.value).length>0),B=t.computed(()=>Object.keys(C.value).length>0&&!A.value),S=i.config.app==="konnect"?[{hash:"#kong",title:l("plugins.select.tabs.kong.title")},{hash:"#custom",title:l("plugins.select.tabs.custom.title"),disabled:i.disableCustomPlugins}]:[],w=t.ref(S.length&&((a==null?void 0:a.hash)||((Q=S[0])==null?void 0:Q.hash))||""),R=()=>[...new Set([...Object.keys({...i.availableOnServer?{}:s}),...y.value])].filter(P=>!i.ignoredPlugins.includes(P)).filter(P=>i.config.entityType&&(i.config.entityType==="services"&&s[P]&&!s[P].scope.includes(u.SERVICE)||i.config.entityType==="routes"&&s[P]&&!s[P].scope.includes(u.ROUTE)||i.config.entityType==="consumer_groups"&&s[P]&&!s[P].scope.includes(u.CONSUMER_GROUP)||i.config.entityType==="consumers"&&s[P]&&!s[P].scope.includes(u.CONSUMER))?!1:P).reduce((P,H)=>{var ke;const Y=s[H]&&s[H].name||H,V={...s[H],id:H,name:Y,available:y.value.includes(H),disabledMessage:"",group:((ke=s[H])==null?void 0:ke.group)||D.CUSTOM_PLUGINS};i.disabledPlugins&&(V.disabledMessage=i.disabledPlugins[H]);const oe=V.group||l("plugins.select.misc_plugins");let re=P[oe];return re||(re=[]),re.push(V),re.sort(d("name")),P[oe]=re,P},{}),M=t.computed(()=>{var H;let P=`${i.config.apiBaseUrl}${Ee.select[i.config.app].availablePlugins}`;return i.config.app==="konnect"?P=P.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(P=((H=i.config.gatewayInfo)==null?void 0:H.edition)==="community"?`${i.config.apiBaseUrl}${Ee.select[i.config.app].availablePluginsForOss}`:P.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),P}),T=t.computed(()=>{if(i.config.entityType&&i.config.entityId){let P=`${i.config.apiBaseUrl}${Ee.list[i.config.app].forEntity}`;return i.config.app==="konnect"?P=P.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(P=P.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),P.replace(/{entityType}/gi,i.config.entityType||"").replace(/{entityId}/gi,i.config.entityId||"")}return""}),N=P=>{r.replace({hash:P,query:a.query})};t.watch(()=>i.disabledPlugins,(P,H)=>{!p(P,H)&&!g.value&&(C.value=R())}),t.watch(()=>i.ignoredPlugins,(P,H)=>{!p(P,H)&&!g.value&&(C.value=R())}),t.watch(g,P=>{o("loading",P)});const L=t.ref(!1),z=t.ref(!1),G=t.ref(!1);return t.onBeforeMount(async()=>{L.value=await i.canCreateCustomPlugin(),z.value=await i.canEditCustomPlugin(),G.value=await i.canDeleteCustomPlugin()}),t.onMounted(async()=>{try{const{data:P}=await x.get(M.value);if(i.config.app==="konnect"){const{names:H}=P;y.value=H||[]}else if(i.config.app==="kongManager"){const{plugins:{available_on_server:H}}=P;y.value=H?Object.keys(H):[]}}catch(P){h.value=!0,k.value=c(P)}if(T.value)try{const{data:{data:P}}=await x.get(T.value);if(P!=null&&P.length){const H=P.reduce((Y,V)=>(V.name&&Y.push(V.name),Y),[]);E.value=E.value.concat(H)}}catch{}h.value||(C.value=R()),g.value=!1}),(P,H)=>{const Y=t.resolveComponent("KInput"),V=t.resolveComponent("KSkeletonBox"),oe=t.resolveComponent("KSkeleton"),re=t.resolveComponent("KEmptyState"),ke=t.resolveComponent("KTooltip"),ct=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",LB,[t.createElementVNode("div",DB,[t.createVNode(Y,{modelValue:m.value,"onUpdate:modelValue":H[0]||(H[0]=Ae=>m.value=Ae),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(l)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),g.value?(t.openBlock(),t.createElementBlock("section",jB,[t.createVNode(oe,{"table-rows":1,type:"table"},{default:t.withCtx(()=>[t.createVNode(V,{width:"6"}),t.createVNode(V,{class:"title-loading-skeleton",width:"6"})]),_:1}),t.createVNode(mB,{"card-count":8,type:"card"})])):h.value?(t.openBlock(),t.createBlock(re,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(k.value),1)]),_:1})):B.value&&m.value?(t.openBlock(),t.createBlock(re,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:t.withCtx(()=>[t.createElementVNode("h5",null,t.toDisplayString(t.unref(l)("search.no_results",{filter:m.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",PB,[t.unref(S).length&&!e.hideCustomPlugins?(t.openBlock(),t.createBlock(ct,{key:0,modelValue:w.value,"onUpdate:modelValue":H[5]||(H[5]=Ae=>w.value=Ae),"data-testid":"plugins-tabs",tabs:t.unref(S),onChange:N},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",UB,[t.createElementVNode("p",YB,t.toDisplayString(t.unref(l)("plugins.select.tabs.kong.description")),1),t.createVNode(mo,{config:e.config,"hide-highlighted-plugins":m.value.length>0,"highlighted-plugins":f.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":b.value,"plugins-per-row":e.pluginsPerRow,onPluginClicked:H[1]||(H[1]=Ae=>P.$emit("plugin-clicked",Ae))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list","plugins-per-row"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",GB,[t.createElementVNode("p",HB,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.description")),1),t.createVNode(MB,{"can-create-custom-plugin":L.value,"can-delete-custom-plugin":G.value,"can-edit-custom-plugin":z.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":b.value,"plugins-per-row":e.pluginsPerRow,"onDelete:success":H[2]||(H[2]=Ae=>P.$emit("delete-custom:success",Ae)),onPluginClicked:H[3]||(H[3]=Ae=>P.$emit("plugin-clicked",Ae)),onRevalidate:H[4]||(H[4]=()=>C.value=R())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list","plugins-per-row"])])]),_:2},[e.disableCustomPlugins?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(ke,{"max-width":"300",text:t.unref(l)("plugins.select.tabs.custom.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(t.openBlock(),t.createBlock(mo,{key:1,config:e.config,"hide-highlighted-plugins":m.value.length>0,"highlighted-plugins":f.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":b.value,"plugins-per-row":e.pluginsPerRow,onPluginClicked:H[6]||(H[6]=Ae=>P.$emit("plugin-clicked",Ae))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list","plugins-per-row"]))]))])}}}),[["__scopeId","data-v-a110ea85"]]),zB={class:"kong-ui-entity-plugin-config-card"},KB={class:"name-cell-wrapper"},qB={class:"info-name"},XB={key:0},JB={key:0},ZB={key:0},WB={key:0},go="config",QB=Xe(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showIdAsLink:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},scopedEntityType:{type:String,required:!1,default:""},scopedEntityId:{type:String,required:!1,default:""}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var x;const i=n,o=e,{i18n:{t:a}}=fe.useI18n(),r=fe.usePluginMetaData(),{setFieldType:l}=fe.usePluginHelpers(),{getPropValue:s}=Yn(),c=t.computed(()=>{var v;return(v=Ee.item[o.config.app])==null?void 0:v[o.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,o.scopedEntityType).replace(/{entityId}/gi,o.scopedEntityId)}),d=t.computed(()=>{var f,A;const v={},b=((f=y.value)==null?void 0:f.fields)||[];for(let B=0;B<b.length;B++){const S=y.value.fields[B],w=(A=Object.keys(S))==null?void 0:A[0];l(v,w,S[w])}return{...v,instance_name:{section:Be.Basic,order:1.5},consumer:{label:a("plugins.fields.consumer"),section:Be.Basic,order:6},route:{label:a("plugins.fields.route"),section:Be.Basic,order:6},service:{label:a("plugins.fields.service"),section:Be.Basic,order:6},consumer_group:{label:a("plugins.fields.consumer_group"),section:Be.Basic,order:6},protocols:{type:_.BadgeTag,section:Be.Basic,order:7}}}),p=t.computed(()=>{var b,f,A;if(!((b=y.value)!=null&&b.fields))return[];const v=(f=y.value.fields)==null?void 0:f.find(B=>{var w;return((w=Object.keys(B))==null?void 0:w[0])===go});return((A=v==null?void 0:v[go])==null?void 0:A.fields)||[]}),m=t.computed(()=>{var b,f;const v={};if(!p.value)return v;for(let A=0;A<((b=p.value)==null?void 0:b.length);A++){const B=p.value[A],S=(f=Object.keys(B))==null?void 0:f[0],w=B[S];w.required&&(v[S]={order:1}),l(v,S,w)}return v}),{getMessageFromError:g}=Un(),{axiosInstance:h}=zt((x=o.config)==null?void 0:x.axiosRequestConfig),k=t.computed(()=>{var b,f;let v=`${o.config.apiBaseUrl}${Ee.form[o.config.app].pluginSchema}`;return o.config.app==="konnect"?v=v.replace(/{controlPlaneId}/gi,((b=o.config)==null?void 0:b.controlPlaneId)||""):o.config.app==="kongManager"&&(v=v.replace(/\/{workspace}/gi,(f=o.config)!=null&&f.workspace?`/${o.config.workspace}`:"")),v=v.replace(/{plugin}/gi,o.config.pluginType),v}),y=t.ref({}),C=t.ref(!1),E=t.ref("");return t.onBeforeMount(async()=>{C.value=!0;try{const{data:v}=await h.get(k.value);y.value=v}catch(v){E.value=g(v),i("error:fetch-schema",v)}finally{C.value=!1}}),(v,b)=>{const f=t.resolveComponent("KSkeleton"),A=t.resolveComponent("KEmptyState"),B=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",zB,[C.value?(t.openBlock(),t.createBlock(f,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):E.value?(t.openBlock(),t.createBlock(A,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(E.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(du),{key:2,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":d.value,"fetch-url":c.value,"hide-title":e.hideTitle,"plugin-config-key":go,"plugin-config-schema":m.value,"onFetch:error":b[0]||(b[0]=S=>v.$emit("fetch:error",S)),"onFetch:success":b[1]||(b[1]=S=>v.$emit("fetch:success",S)),onLoading:b[2]||(b[2]=S=>v.$emit("loading",S))},{name:t.withCtx(S=>[t.createElementVNode("div",KB,[t.createVNode(si,{class:"plugin-icon",name:t.unref(s)("rowValue",S),width:24},null,8,["name"]),t.createElementVNode("span",qB,t.toDisplayString(t.unref(r).getDisplayName(t.unref(s)("rowValue",S))),1)])]),consumer:t.withCtx(S=>[t.unref(s)("rowValue",S)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref($t),{key:1,item:{key:t.unref(s)("rowValue",S).id,value:t.unref(s)("rowValue",S).id,type:t.unref(_).LinkInternal},onNavigationClick:()=>v.$emit("navigation-click",t.unref(s)("rowValue",S).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(B,{key:2,"copy-tooltip":t.unref(a)("copy.tooltip",{label:t.unref(s)("row",S).label}),"data-testid":"consumer-copy-uuid",text:t.unref(s)("rowValue",S).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",XB,"–"))]),route:t.withCtx(S=>[t.unref(s)("rowValue",S)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref($t),{key:1,item:{key:t.unref(s)("rowValue",S).id,value:t.unref(s)("rowValue",S).id,type:t.unref(_).LinkInternal},onNavigationClick:()=>v.$emit("navigation-click",t.unref(s)("rowValue",S).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(B,{key:2,"copy-tooltip":t.unref(a)("copy.tooltip",{label:t.unref(s)("row",S).label}),"data-testid":"route-copy-uuid",text:t.unref(s)("rowValue",S).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",JB,"–"))]),service:t.withCtx(S=>[t.unref(s)("rowValue",S)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref($t),{key:1,item:{key:t.unref(s)("rowValue",S).id,value:t.unref(s)("rowValue",S).id,type:t.unref(_).LinkInternal},onNavigationClick:()=>v.$emit("navigation-click",t.unref(s)("rowValue",S).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(B,{key:2,"copy-tooltip":t.unref(a)("copy.tooltip",{label:t.unref(s)("row",S).label}),"data-testid":"service-copy-uuid",text:t.unref(s)("rowValue",S).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",ZB,"–"))]),consumer_group:t.withCtx(S=>[t.unref(s)("rowValue",S)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref($t),{key:1,item:{key:t.unref(s)("rowValue",S).id,value:t.unref(s)("rowValue",S).id,type:t.unref(_).LinkInternal},onNavigationClick:()=>v.$emit("navigation-click",t.unref(s)("rowValue",S).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(B,{key:2,"copy-tooltip":t.unref(a)("copy.tooltip",{label:t.unref(s)("row",S).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(s)("rowValue",S).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",WB,"–"))]),_:1},8,["config","config-card-doc","config-schema","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-3e4f66ec"]]),{usePluginMetaData:_B}=fe;Z.EntityTypeIdField=St,Z.PLUGIN_GROUPS_COLLAPSE_STATUS=Wa,Z.PluginConfigCard=QB,Z.PluginForm=Gk,Z.PluginGroup=D,Z.PluginGroupArray=Za,Z.PluginIcon=si,Z.PluginList=lB,Z.PluginScope=u,Z.PluginSelect=FB,Z.PluginSelectCard=On,Z.PluginSelectGrid=mo,Z.VueFormGenerator=Pe,Z.getPluginIconURL=ir,Z.pluginEndpoints=Ee,Z.usePluginMetaData=_B,Object.defineProperty(Z,Symbol.toStringTag,{value:"Module"})});
|
|
89
|
+
will extend the wait time by about 12 minutes, continuously adjusting as new requests are made.`,config:{limit:500,window_size:3600}}]},i=new Set(["selectionGroup",...["identifier","limit","window_size","error_code","error_message"].map(w=>`config-${w}`)]),o=w=>w===void 0?!1:i.has(w),{t:a}=bt.createI18n("en-us",po),r=e,l=t.computed(()=>{var w,R;const M=(R=(w=r.formSchema)==null?void 0:w.fields)==null?void 0:R.find(T=>T.type==="selectionGroup"&&T.model==="selectionGroup");if(M)return{fields:[M]}}),s=t.computed(()=>{var w,R;const M=((R=(w=r.formSchema)==null?void 0:w.fields)==null?void 0:R.filter(G=>!o(G.model)))??[],T=[],N=[],L=[];let z=!1;for(const G of M){const q=G.model;if(q!==void 0){if(q.startsWith("config-redis-")){(G.model==="config-redis-cluster_addresses"||G.model==="config-redis-sentinel_addresses")&&(G.inputAttributes.help=a("rla.redis.address_example")),N.push(G);continue}z?L.push(G):T.push(G),G.model==="config-strategy"&&(z=!0)}}return{endsWithStrategy:{fields:T},redis:{fields:N},afterStrategy:{fields:L}}}),c=t.computed(()=>{const w=r.formModel["config-window_type"];return Object.prototype.hasOwnProperty.call(n,w)?n[w]:[]}),d=t.computed(()=>{var w,R;return(R=(w=r.formSchema)==null?void 0:w.fields)==null?void 0:R.find(M=>M.model==="config-identifier")}),p=t.computed(()=>{var w,R,M;return(((M=(R=(w=r.formSchema)==null?void 0:w.fields)==null?void 0:R.find(T=>T.model==="config-identifier"))==null?void 0:M.values)??[]).map(T=>({label:a(`rla.identifiers.options.${T}`),value:T}))}),m=t.ref(),g=t.ref(!0),h=t.computed(()=>{var w,R,M;return r.formModel["config-window_type"]??((M=(R=(w=r.formSchema)==null?void 0:w.fields)==null?void 0:R.find(T=>T.model==="config-window_type"))==null?void 0:M.default)}),k=t.computed(()=>{var w,R,M,T,N,L;const z=(M=(R=(w=r.formSchema)==null?void 0:w.fields)==null?void 0:R.find(G=>G.model==="config-window_type"))==null?void 0:M.default;return(((L=(N=(T=r.formSchema)==null?void 0:T.fields)==null?void 0:N.find(G=>G.model==="config-window_type"))==null?void 0:L.values)??[]).sort((G,q)=>G===z?-1:q===z?1:0)}),y=t.computed(()=>{var w;const R=(w=r.formModel["config-limit"])==null?void 0:w.map((M,T)=>{var N,L;return{limit:M,windowSize:(L=(N=r.formModel)==null?void 0:N["config-window_size"])==null?void 0:L[T]}});return!Array.isArray(R)||R.length===0?[{limit:void 0,windowSize:void 0}]:R}),C=t.computed(()=>{var w,R,M,T;return((w=r.formModel)==null?void 0:w["config-identifier"])??((T=(M=(R=r.formSchema)==null?void 0:R.fields)==null?void 0:M.find(N=>N.model==="config-identifier"))==null?void 0:T.default)}),E=t.computed(()=>{var w,R,M,T;return((w=r.formModel)==null?void 0:w["config-error_code"])??((T=(M=(R=r.formSchema)==null?void 0:R.fields)==null?void 0:M.find(N=>N.model==="config-error_code"))==null?void 0:T.default)}),x=t.computed(()=>{var w,R,M,T;return((w=r.formModel)==null?void 0:w["config-error_message"])??((T=(M=(R=r.formSchema)==null?void 0:R.fields)==null?void 0:M.find(N=>N.model==="config-error_message"))==null?void 0:T.default)}),v=(w,R)=>{if(R===m.value){r.onModelUpdated([],"config-limit"),r.onModelUpdated([],"config-window_size"),t.nextTick(()=>{m.value=void 0});return}r.onModelUpdated([w.config.limit],"config-limit"),r.onModelUpdated([w.config.window_size],"config-window_size"),t.nextTick(()=>{m.value=R})},b=w=>{m.value!==void 0&&(m.value=void 0),r.onModelUpdated(w.toString(),"config-window_type")},f=(w,R)=>{var M;m.value!==void 0&&(m.value=void 0);const T=st(((M=r.formModel)==null?void 0:M["config-limit"])??[]);T[w]=R,r.onModelUpdated(T,"config-limit")},A=(w,R)=>{var M;m.value!==void 0&&(m.value=void 0);const T=st(((M=r.formModel)==null?void 0:M["config-window_size"])??[]);T[w]=R,r.onModelUpdated(T,"config-window_size")},B=w=>{var R,M;m.value!==void 0&&(m.value=void 0);const T=st(((R=r.formModel)==null?void 0:R["config-limit"])??[]),N=st(((M=r.formModel)==null?void 0:M["config-window_size"])??[]);T.length===0&&T.push(void 0),N.length===0&&N.push(void 0),T.splice(w+1,0,void 0),N.splice(w+1,0,void 0),r.onModelUpdated(T,"config-limit"),r.onModelUpdated(N,"config-window_size")},S=w=>{var R,M;if(y.value.length>1){m.value!==void 0&&(m.value=void 0);const T=st(((R=r.formModel)==null?void 0:R["config-limit"])??[]),N=st(((M=r.formModel)==null?void 0:M["config-window_size"])??[]);T.length===0&&T.push(void 0),N.length===0&&N.push(void 0),T.splice(w,1),N.splice(w,1),r.onModelUpdated(T,"config-limit"),r.onModelUpdated(N,"config-window_size")}};return(w,R)=>{const M=t.resolveComponent("VueFormGenerator"),T=t.resolveComponent("KLabel"),N=t.resolveComponent("KRadio"),L=t.resolveComponent("KInput"),z=t.resolveComponent("KButton"),G=t.resolveComponent("KBadge"),q=t.resolveComponent("KTooltip"),Q=t.resolveComponent("KCard"),P=t.resolveComponent("KSelect"),H=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",qE,[t.createVNode(M,{model:w.formModel,options:w.formOptions,schema:l.value,onModelUpdated:R[0]||(R[0]=(Y,V)=>w.onModelUpdated(Y,V))},null,8,["model","options","schema"]),t.createVNode(Q,{class:"rla-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(T,{class:"rla-form-request-limits-title",for:"rla-form-request-limits-legend",required:""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("rla.request_limits.title")),1)]),_:1}),t.createElementVNode("div",XE,t.toDisplayString(t.unref(a)("rla.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",JE,[t.createElementVNode("div",ZE,[t.createVNode(T,{class:"rla-form-window-type-label","tooltip-attributes":{maxWidth:"300",placement:"top"}},{tooltip:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(a)("rla.window_type.help")},null,8,WE)]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("rla.window_type.label"))+" ",1)]),_:1}),t.createElementVNode("div",QE,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(k.value,Y=>(t.openBlock(),t.createBlock(N,{key:`window-type-${Y}`,"model-value":h.value,name:Y,"selected-value":Y,"onUpdate:modelValue":b},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)(`rla.window_type.options.${Y}`)),1)]),_:2},1032,["model-value","name","selected-value"]))),128))])]),t.createElementVNode("div",_E,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(y.value,(Y,V)=>(t.openBlock(),t.createElementBlock("div",{key:V.toString()},[t.createVNode(T,{for:`rla-form-request-limits-item-${V}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("rla.request_limits.label_index",{index:V+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",$E,[t.createElementVNode("legend",{id:`rla-form-request-limits-item-${V}-legend`,class:"rla-form-request-limits-inputs"},[t.createVNode(L,{"model-value":Y.limit&&Y.limit.toString(),placeholder:t.unref(a)("rla.request_limits.request_number"),type:"number","onUpdate:modelValue":oe=>f(V,Number.parseInt(oe))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.interval_determiner")),1),t.createVNode(L,{"model-value":Y.windowSize&&Y.windowSize.toString(),placeholder:t.unref(a)("rla.request_limits.time_interval"),type:"number","onUpdate:modelValue":oe=>A(V,Number.parseInt(oe))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.seconds")),1)],8,ek),t.createElementVNode("div",tk,[t.createVNode(z,{appearance:"tertiary",disabled:y.value.length<=1,onClick:()=>S(V)},{default:t.withCtx(()=>[t.createVNode(t.unref(Iw))]),_:2},1032,["disabled","onClick"]),t.createVNode(z,{appearance:"tertiary",onClick:()=>B(V)},{default:t.withCtx(()=>[t.createVNode(t.unref(Nl))]),_:2},1032,["onClick"])])])]))),128))]),c.value.length>0?(t.openBlock(),t.createElementBlock("div",nk,[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.start_with_a_use_case")),1),t.createElementVNode("div",ik,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value,(Y,V)=>(t.openBlock(),t.createBlock(q,{key:`use-case-${V}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(Y.description),1),ok,t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.label"))+": "+t.toDisplayString(Y.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.time_interval"))+": "+t.toDisplayString(Y.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(G,{appearance:m.value===`${h.value}-${V}`?"info":"decorative",class:"rla-form-request-limits-examples-badge",onClick:()=>v(Y,`${h.value}-${V}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(Y.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1}),t.createVNode(P,{modelValue:C.value,"onUpdate:modelValue":R[1]||(R[1]=Y=>C.value=Y),class:"rla-form-identifiers",items:p.value,label:t.unref(a)("rla.identifiers.label"),"label-attributes":{tooltipAttributes:{maxWidth:"300",placement:"top"}},required:"",onSelected:R[2]||(R[2]=Y=>r.onModelUpdated(Y.value,"config-identifier"))},{"label-tooltip":t.withCtx(()=>[t.createElementVNode("div",{innerHTML:d.value&&d.value.help},null,8,ak)]),_:1},8,["modelValue","items","label"]),t.createElementVNode("div",null,[t.createVNode(T,{for:"rla-form-error-legend",info:t.unref(a)("rla.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("rla.error_message.label")),1)]),_:1},8,["info"]),t.createElementVNode("legend",rk,[t.createVNode(L,{class:"input-error-code","model-value":E.value&&E.value.toString(),placeholder:t.unref(a)("rla.error_message.code_placeholder"),type:"number","onUpdate:modelValue":R[3]||(R[3]=Y=>w.onModelUpdated(Number.parseInt(Y),"config-error_code"))},null,8,["model-value","placeholder"]),lk,t.createVNode(L,{"model-value":x.value,placeholder:t.unref(a)("rla.error_message.message_placeholder"),"onUpdate:modelValue":R[4]||(R[4]=Y=>w.onModelUpdated(Y,"config-error_message"))},null,8,["model-value","placeholder"])])])]),t.createVNode(H,{modelValue:g.value,"onUpdate:modelValue":R[8]||(R[8]=Y=>g.value=Y),"trigger-label":t.unref(a)("rla.view_advanced_fields")},{default:t.withCtx(()=>[t.createVNode(M,{model:w.formModel,options:w.formOptions,schema:s.value.endsWithStrategy,onModelUpdated:R[5]||(R[5]=(Y,V)=>w.onModelUpdated(Y,V))},null,8,["model","options","schema"]),w.formModel["config-strategy"]==="redis"?(t.openBlock(),t.createBlock(Q,{key:0,class:"rla-form-redis-card",title:t.unref(a)("rla.redis.title")},{default:t.withCtx(()=>[t.createVNode(M,{model:w.formModel,options:w.formOptions,schema:s.value.redis,onModelUpdated:R[6]||(R[6]=(Y,V)=>w.onModelUpdated(Y,V))},null,8,["model","options","schema"])]),_:1},8,["title"])):t.createCommentVNode("",!0),t.createVNode(M,{model:w.formModel,options:w.formOptions,schema:s.value.afterStrategy,onModelUpdated:R[7]||(R[7]=(Y,V)=>w.onModelUpdated(Y,V))},null,8,["model","options","schema"])]),_:1},8,["modelValue","trigger-label"])],64)}}}),ck=ie(sk,[["__scopeId","data-v-5e85c36c"]]),dk=Object.freeze(Object.defineProperty({__proto__:null,ACMEForm:KE,ExitTransformer:IE,OIDCForm:EE,PostFunction:xE,RLAForm:ck},Symbol.toStringTag,{value:"Module"})),uo=["array","metric","advanced","selectionGroup","object-advanced"],Kl=e=>({"openid-connect":"OIDCForm","post-function":"PostFunction","pre-function":"PostFunction","exit-transformer":"ExitTransformer","rate-limiting-advanced":"RLAForm"})[e],Dt={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},pk={"config-prompts-prepend":{...Dt,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",help:"LLM message content",inputType:"text"}]}}},"config-prompts-append":{...Dt,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",help:"LLM message content",inputType:"text"}]}}}},uk={"config-templates":{...Dt,newElementButtonLabel:"+ Add Template",items:{type:"object",schema:{fields:[{label:"Template Name",model:"name",help:"Template Name, for reference in user requests",type:"input",inputType:"text"},{label:"Template String",model:"template",help:"Template string content, containing {{placeholders}} for variable substitution",type:"textArea",inputType:"text"}]}}}},mk={"config-llm_providers":{...Dt,newElementButtonLabel:"+ Add Provider",items:{type:"object",schema:{fields:[{label:"Window Size",model:"window_size",help:"Window size to apply a limit to (defined in seconds)",type:"input",inputType:"number"},{label:"Name",model:"name",help:"The llm providers.",type:"select",values:["anthropic","azure","cohere","llama2","mistral","openai","requestPrompt"]},{label:"Limit",model:"limit",help:"Limit applied to the llm provider.",type:"input",inputType:"number"}]}}}},gk={enabled:{type:"switch",model:"enabled",label:"Enabled",textOn:"This plugin is Enabled",textOff:"This plugin is Disabled",inputType:"hidden",styleClasses:"field-switch top-border bottom-border hide-label",default:!0},name:{default:"application-registration",type:"input",inputType:"hidden",styleClasses:"kong-form-hidden-field-wrapper"},"service-id":{type:"AutoSuggest",label:"Gateway Service",styleClasses:"bottom-border",description:"Specific Gateway Service in this workspace",model:"service-id",entity:"services",placeholder:"Select a Gateway Service",inputValues:{fields:["name","id"]},help:"The Gateway Service that this plugin configuration will target"},tags:un.tags,protocols:{id:"protocols",default:[],type:"multiselect",label:"Protocols",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}],help:"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type.",placeholder:"Select valid protocols for the plugin",styleClasses:"plugin-protocols-select"}},Sn={type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",styleClasses:"kong-form-field-wrapper",newElementButtonLabel:"+ Add",newElementButtonLabelClasses:"kong-form-new-element-button-label"},xn={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},fk={"config-metrics":{...xn,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"tags",label:"Tags",type:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},inputType:"text"}]}}}},Ak={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},ql={"config-bootstrap_servers":{...Dt,newElementButtonLabel:"+ Add Bootstrap Server",label:"Bootstrap Server(s)",placeholder:"Enter a Bootstrap Server",help:"Set of bootstrap brokers.",items:{type:"object",schema:{fields:[{label:"Host",model:"host",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},hk={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10}},yk={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},Xl=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:un.fields.arrayItems({newElementButtonLabel:"Add"})}),yk),li={"config-strategy":{label:"Config.Strategy",type:"select",default:"redis",values:["local","redis"]},"config-consumer_groups":{label:"Config.Consumer Groups",type:"input",placeholder:"Enter list of consumer groups",hint:"e.g. group1, group2"}},bk={"config-remove-headers":{},"config-remove.querystring":{},"config-remove-body":{},"config-replace-headers":{},"config-replace-querystring":{},"config-replace-body":{},"config-rename-headers":{},"config-rename-querystring":{},"config-rename-body":{},"config-add-headers":{},"config-add-querystring":{},"config-add-body":{},"config-append-headers":{},"config-append-querystring":{},"config-append-body":{},"config-allow-body":{}},wk=["config-remove-headers","config-remove.querystring","config-remove-body","config-replace-headers","config-replace-querystring","config-replace-body","config-rename-headers","config-rename-querystring","config-rename-body","config-add-headers","config-add-querystring","config-add-body","config-append-headers","config-append-querystring","config-append-body","config-allow-body"].reduce((e,n)=>({...e,[n]:un.fields.arrayItems({newElementButtonLabel:"Add"})}),bk),Ck={"config-parameter_schema":{...xn,items:{type:"object",default:()=>({required:!1,explode:!1}),schema:{fields:[{model:"in",label:"in",type:"select",values:["query","header","path"]},{model:"name",label:"name",type:"input",inputType:"string",id:"schema_name"},{model:"required",label:"required",type:"switch",id:"schema_required"},{model:"style",label:"style",type:"select",values:["label","form","matrix","simple","spaceDelimited","pipeDelimited","deepObject"]},{model:"explode",label:"explode",type:"switch",id:"schema_explode"},{model:"schema",label:"schema",type:"input",inputType:"string",id:"schema_schema"}]}}}},Ek={"config-rules":{...Dt,newElementButtonLabel:"+ Add Rule",items:{type:"object",schema:{fields:[{label:"Upstream Name",model:"upstream_name",type:"input",help:"Target hostname where traffic will be routed in case of condition match",placeholder:"Hostname",inputType:"text"},{label:"Condition",model:"condition",type:"keyValuePairs",help:"List of headers name and value pairs",newElementButtonLabelClasses:"kong-form-new-element-button-label",newElementButtonLabel:"+ Add Condition",keyInputPlaceholder:"Header name",valueInputPlaceholder:"Header value"}]}}}},kk={"config-session_redis_cluster_nodes":{...Dt,newElementButtonLabel:"+ Add Cluster Node",items:{type:"object",schema:{fields:[{label:"IP",model:"ip",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},Bk={"config-metrics":{...xn,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},Sk={"config-allow_status_codes":{type:"input",inputType:"text",valueArrayType:"string",valueType:"array",label:"config.allow_status_codes",help:"A list of status code ranges, separated by commas. e.g. 200-204, 500-505"},"config-metrics":{...xn,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage","cache_datastore_hits_total","cache_datastore_misses_total"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},xk={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}},Ok={"config-static_tags":{...xn,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"name",type:"input",inputType:"string",id:"schema_name"},{model:"value",label:"value",type:"input",inputType:"string",id:"schema_value"}]}}}},Ik=(e,n)=>{const i=e.model.startsWith("config-"),o=n.model.startsWith("config-");return i&&!o?1:!i&&o?-1:0},Jl=(e,n)=>(e.order??0)-(n.order??0),Zl=(e,n)=>Ik(e,n)||Jl(e,n)||e.model.localeCompare(n.model),Ae={useI18n:Xn,usePluginMetaData:wf,usePluginHelpers:Ja,useSchemas:e=>{const{capitalize:n}=vi(),{convertToDotNotation:i}=Ja(),{i18n:{t:o}}=Xn(),a={"application-registration":{overwriteDefault:!0,formSchema:{...gk}},datadog:{...fk},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},jwt:{...gf},"kafka-upstream":{...ql},"kafka-log":{...ql},statsd:{...Bk},"statsd-advanced":{...Sk},"route-by-header":{...Ek},"ai-prompt-decorator":{...pk},"ai-prompt-template":{...uk},"ai-rate-limiting-advanced":{...mk},"vault-auth":{...xk},"oas-validation":{"config-api_spec":{type:"textArea",rows:15}},mocking:{...hk},"rate-limiting":{...li},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":li["config-consumer_groups"]}:{...li},"graphql-rate-limiting-advanced":{...Ak},"response-ratelimiting":{...li},"pre-function":{...Xl},"post-function":{...Xl},"request-transformer-advanced":{...wk},"request-validator":{...Ck},zipkin:{...Ok},saml:{...kk}},r=()=>["created_at","updated_at","id"],l=(f,A,B)=>{let S={};(A||f)&&(S=A||(f.fields?f.fields:f));const w=r().concat(f.blacklist?f.blacklist:[]),R=Object.keys(S).filter(G=>!w.includes(G)),M=R.indexOf("comparator");M>-1&&R.splice(M,1);let T={fields:[]};const N={};R.forEach(G=>{c(S[G],G,S,N,T,B)});const L=N.name,z=qe[L];if(Kl(L)||z!=null&&z.useLegacyForm||e!=null&&e.credential)T.fields.sort((G,q)=>(G.order=G.order||0,q.order=q.order||0,G.order-q.order));else{const G=[],q=[],Q=[],P={};if(z!=null&&z.fieldRules){const V=[...z.fieldRules.atLeastOneOf??[],...z.fieldRules.onlyOneOf??[],...z.fieldRules.mutuallyRequired??[]];if(z.fieldRules.onlyOneOfMutuallyRequired)for(const oe of z.fieldRules.onlyOneOfMutuallyRequired)V.push(...oe);for(const oe of V)for(const re of oe)P[re.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const V of T.fields){if(V.pinned){G.push(V);continue}if(V.required||P[V.model]!==void 0){P[V.model]===!1&&(P[V.model]=!0),q.push(V);continue}Q.push(V)}const H=Object.entries(P).filter(([,V])=>!V).map(([V])=>V.replace(/-/g,".").replace(/_/g,"-"));H.length>0&&console.warn(`Unknown checked fields for plugin ${L}: ${H.join(", ")}`);const Y=[];G.length>0&&Y.push({fields:G.sort(Jl)}),(q.length>0||Q.length>0)&&Y.push({fields:q.sort(Zl),collapsible:{title:o("plugins.form.grouping.plugin_configuration.title"),description:o("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:Q.sort(Zl),triggerLabel:{expand:o("plugins.form.grouping.advanced_parameters.view"),collapse:o("plugins.form.grouping.advanced_parameters.hide")}}},slots:{beforeContent:"plugin-config-before-content",emptyState:"plugin-config-empty-state"}}),T={groups:Y}}return{schema:T,model:N,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},s=f=>Array.isArray(f.default)||f.default!=null&&typeof f.default!="object"&&f.default!=="function",c=(f,A,B,S,w,R)=>{const M=s(f);return S[A]=M?f.default:null,f.id=A,f.model=A,f.fields&&f.type==="record"?p(f,A,B,S,w,R):(B[A]=f,b(f,S),R&&R[A]&&d(B[A],R[A]),w.fields.push(f)),B},d=(f,A)=>(A&&(Object.assign(f,A),A.label&&(f.label=A.label)),f),p=(f,A,B,S,w,R)=>{f.fields.forEach(M=>{Object.keys(M).forEach(T=>{const N=M[T];B=c(N,A+"-"+T,B,S,w,R)})})},m=(f,A)=>{f.type="input",f.inputType="hidden",f.styleClasses="kong-form-hidden-field-wrapper";const B=e==null?void 0:e.entityId;A[f.model]=B?{id:B}:null},g=f=>{f.type="input",f.inputType="number",f.between&&f.between.length===2&&(f.min=f.between[0],f.max=f.between[1])},h=f=>{Object.prototype.hasOwnProperty.call(f,"one_of")?(f.type="select",f.values=f.one_of,f.selectOptions={hideNoneSelectedText:!0}):(f.type="input",f.inputType="text")},k=f=>{f.type="input",f.inputType="text",f.valueType="array",f.valueArrayType="string"},y=f=>{f.type="checkbox",f.default=!0,f.required=!1},C=f=>{if(f.type="object-advanced",f.values.type==="array"){const{type:A}=f.values.elements||{};f.schema={fields:[{schema:{fields:[{...Sn,model:f.model,valueArrayType:A==="integer"?"number":A||"string",inputAttributes:{...Sn.inputAttributes,type:A==="integer"?"number":"text",inputMode:A==="integer"?"numeric":"text"}}]}}]}}else f.values.fields&&(f.schema={fields:[{type:"object",model:"object",schema:{fields:f.values.fields.map(A=>{const B=Object.keys(A)[0];return{model:B,type:"input",label:n(B),placeholder:B,inputType:A[B].type}})}}]})},E=f=>f.fields.reduce((A,B)=>(B.fields&&B.fields.forEach(S=>{A[S.model]=S}),B.model&&(A[B.model]=B),A),{}),x=(f,A)=>{if(!uo.includes(f.model))return;const B=E(f);uo.forEach(S=>{Object.keys(B).forEach(w=>{const R=s(B[w]);A[w]=R?B[w].default:null}),delete A[S]})},v=(f,A)=>f.inputType==="hidden"?"":i(n(f.label||A.replace(/_/g," "))),b=(f,A)=>{switch(x(f,A),f.type){case"foreign":m(f,A);break;case"number":g(f),f.attributes={step:"any"};break;case"integer":g(f);break;case"string":h(f);break;case"set":k(f);break;case"boolean":y(f);break;case"map":C(f);break}f.inputType==="foreign"&&m(f,A),f.label=v(f,f.model)};return{buildFormSchema:c,parseSchema:l,customSchemas:a,typedefs:un}}},Ue="/v2/control-planes/{controlPlaneId}/core-entities",Me="/{workspace}",Ee={list:{konnect:{all:`${Ue}/plugins`,forEntity:`${Ue}/{entityType}/{entityId}/plugins`},kongManager:{all:`${Me}/plugins`,forEntity:`${Me}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${Ue}/v1/available-plugins`},kongManager:{availablePlugins:`${Me}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${Ue}/plugins`,forEntity:`${Ue}/{entityType}/{entityId}/plugins`},edit:{all:`${Ue}/plugins/{id}`,forEntity:`${Ue}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${Ue}/{resourceEndpoint}`,edit:`${Ue}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",validate:`${Ue}/v1/schemas/json/plugin/validate`,entityGetOne:`${Ue}/{entity}/{id}`,entityGetAll:`${Ue}/{entity}?size=1000`},kongManager:{create:{all:`${Me}/plugins`,forEntity:`${Me}/{entityType}/{entityId}/plugins`},edit:{all:`${Me}/plugins/{id}`,forEntity:`${Me}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${Me}/schemas/plugins/{plugin}`,credential:{create:`${Me}/{resourceEndpoint}`,edit:`${Me}/{resourceEndpoint}/{id}`},credentialSchema:`${Me}/schemas/{plugin}`,validate:`${Me}/schemas/plugins/validate`,entityGetOne:`${Me}/{entity}/{id}`,entityGetAll:`${Me}/{entity}`}},item:{konnect:{all:`${Ue}/plugins/{id}`,forEntity:`${Ue}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${Me}/plugins/{id}`,forEntity:`${Me}/{entityType}/{entityId}/plugins/{id}`}}},Mk={key:0},Rk=t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:i}=Ae.usePluginHelpers(),{i18n:{t:o}}=Ae.useI18n(),a=s=>s.map(c=>c.replace(/^[cC]onfig\./,"").split(".").map(d=>i(d)).join(".")).join(", "),r=(s,c)=>o(s,{parameters:a(c)}),l=t.computed(()=>{const s=[];if(n.rules.atLeastOneOf)for(const c of n.rules.atLeastOneOf)s.push(r("plugins.form.field_rules.at_least_one_of",c));if(n.rules.onlyOneOf)for(const c of n.rules.onlyOneOf)s.push(r("plugins.form.field_rules.only_one_of",c));if(n.rules.mutuallyRequired)for(const c of n.rules.mutuallyRequired)s.push(r("plugins.form.field_rules.mutually_required",c));return s});return(s,c)=>{const d=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(d,{class:"plugin-field-rule-alerts"},{default:t.withCtx(()=>[t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,(p,m)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${m}`},t.toDisplayString(p),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",Mk,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(p,m)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${m}`},[t.createElementVNode("div",null,t.toDisplayString(t.unref(o)("plugins.form.field_rules.only_one_of_mutually_required")),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p,(g,h)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${m}-combination-${h}`},t.toDisplayString(a(g)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),Xe=(e,n)=>{const i=e.__vccOpts||e;for(const[o,a]of n)i[o]=a;return i},vk=Xe(Rk,[["__scopeId","data-v-17c1f232"]]),Tk={class:"kong-ui-entities-plugin-form"},Nk={key:1,class:"entity-form"},Vk={class:"plugin-config-empty-state"},Lk=t.defineComponent({components:{...dk}}),Dk=t.defineComponent({...Lk,__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1}},emits:["loading","model-updated"],setup(e,{emit:n}){var M,T;const i=n,o=e,{axiosInstance:a}=zt((M=o.config)==null?void 0:M.axiosRequestConfig),{parseSchema:r}=Ae.useSchemas({entityId:((T=o.entityMap.focusedEntity)==null?void 0:T.id)||void 0,credential:o.credential}),{convertToDotNotation:l,unFlattenObject:s,isObjectEmpty:c,unsetNullForeignKey:d}=Ae.usePluginHelpers(),{objectsAreEqual:p}=Yn(),{i18n:{t:m}}=Xn(),g=(N,L)=>{let z=`${o.config.apiBaseUrl}${Ee.form[o.config.app].entityGetOne}`;return o.config.app==="konnect"?z=z.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(z=z.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),z=z.replace(/{entity}/gi,N),z=z.replace(/{id}/gi,L),z},h=N=>{let L=`${o.config.apiBaseUrl}${Ee.form[o.config.app].entityGetAll}`;return o.config.app==="konnect"?L=L.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(L=L.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),L=L.replace(/{entity}/gi,N),L},k=(N,L)=>{const z=g(N,L);return a.get(z)},y=(N,L)=>{const z=h(N);return o.config.app==="konnect"?a.get(z).then(G=>{const{data:{data:q}}=G;if(delete L.size,delete L.offset,q.length&&Object.keys(L).length===1){const Q=Object.keys(L)[0],P=q.filter(H=>H[Q]?!!H[Q].toLowerCase().includes(L[Q].toLowerCase()):!1);G.data.data=P}return G}):a.get(z,{params:L})};t.provide(At,{getOne:k,getAll:y});const C=t.ref(""),E=t.ref(null),x=t.ref({}),v=t.reactive({}),b=t.reactive({}),f=t.computed(()=>{var N;return(N=E.value)==null?void 0:N.options}),A=()=>{var Q,P;const N={...o.schema},L=b,z=v,G=Object.keys(L),q={};if(!c(x.value))for(let H=0;H<((P=(Q=x.value)==null?void 0:Q.fields)==null?void 0:P.length);H++)N[x.value.fields[H].model]=x.value.fields[H];return uo.forEach(H=>{N[H]&&(N[H].fields.forEach(Y=>{Y.fields&&Y.fields.forEach(V=>{N[V.model]=V}),Y.model&&(N[Y.model]=Y)}),delete N[H])}),G.forEach(H=>{if(!N[H])return;const Y=N[H];let V=L[H];const oe=z[H],re=Array.isArray(V)?"array":typeof V,ke=Y?Y.valueType:null,ct=Y?Y.valueArrayType:null,me=Y?Y.transform:null;if(V==null&&oe==null&&!Y.submitWhenNull)return;if(Y){if(ke&&re!==ke)switch(ke){case"array":re==="string"&&V.length&&(V=V.split(",").map(fe=>{if(fe=fe.trim(),ct==="string")return String(fe);if(ct==="number")return Number(fe);if(ct==="boolean"){if(typeof fe=="string")return fe.toLowerCase()==="true"||fe==="1";if(typeof fe=="number")return fe===1}return fe})),(!V||!V.length)&&(V=Y.submitWhenNull?null:[]);break;case"number":V=Number(V);break;case"boolean":re==="string"&&(V=V.toLowerCase()==="true"||V==="1"),re==="number"&&(V=V===1);break;case"string":V=V==null?"":String(V);break}else ke==="array"&&(!V||!V.length)&&(V=Y.submitWhenNull?null:[]);Y.type==="object-advanced"&&Y.fields&&V!==null&&(Object.entries(V).length===0?V=null:Object.keys(V).forEach(fe=>{Array.isArray(V[fe])||(V[fe]=V[fe].split(","))}))}let xe=l(H);if(Y.fieldNameHasDashes){const[fe,...Je]=xe.split(".").reverse();xe=[fe.replace(/_/g,"-"),...Je].reverse().join(".")}if(ke==="object-expand"){let fe;[xe,fe]=xe.split(".");let Je={};q[xe]&&(Je=q[xe]),Je[fe]=V,V=Je}oe!==void 0&&V===""&&V!==oe?q[xe]=ke==="object"?{}:null:Y.type==="checklist"&&V===""?q[xe]=[]:V!==""&&(q[xe]=V),q[xe]=me?me(V):q[xe],d(xe,q)}),s(q)},B=(N,L)=>{var q;const z={[L]:N};typeof((q=o.schema[L])==null?void 0:q.modelTransformer)=="function"&&(z[L]=o.schema[L].modelTransformer(N));const G=Object.assign({},b,z);Object.assign(b,G),i("model-updated",{model:b,originalModel:v,data:A()})},S=(N,L)=>{Object.keys(N).forEach(z=>{var H,Y;let G=L?`${L}-${z}`:z,q=o.schema[G];if(!q){const V=L?`${L}-${z.replace(/-/g,"_")}`:z.replace(/-/g,"_");(H=o.schema[V])!=null&&H.fieldNameHasDashes&&(G=V,q=o.schema[G]),L&&((Y=o.schema[L])==null?void 0:Y.keyFromObject)===z&&(G=L,q=o.schema[G])}const Q=N[z],P=typeof Q;if(q&&q.type==="object-advanced"&&!Q){b[G]={},v[G]={};return}if(Array.isArray(Q)){b[G]=JSON.parse(JSON.stringify(Q)),v[G]=JSON.parse(JSON.stringify(Q));return}if(P==="object"&&Q&&!Q.length)return S(Q,G);if(P==="object"&&Q&&Q.length&&q.type==="input"){b[G]=Q.join(", "),v[G]=Q.join(", ");return}b[G]=Q,v[G]=Q}),i("model-updated",{model:b,originalModel:v,data:A()})},w=t.ref(!0),R=()=>{var N;if(o.record&&o.schema&&(S({enabled:o.record.enabled??!0,...o.record.instance_name&&{instance_name:o.record.instance_name||""},...o.record.protocols&&{protocols:o.record.protocols},...o.record.tags&&{tags:o.record.tags}}),o.credential?((o.record.consumer_id||o.record.consumer)&&S({consumer_id:o.record.consumer_id||o.record.consumer}),S(o.record)):o.record.config&&((o.record.consumer_id||o.record.consumer||o.record.service_id||o.record.service||o.record.route_id||o.record.route||o.record.consumer_group_id||o.record.consumer_group)&&S({service_id:o.record.service_id||o.record.service,route_id:o.record.route_id||o.record.route,consumer_id:o.record.consumer_id||o.record.consumer,consumer_group_id:o.record.consumer_group_id||o.record.consumer_group}),S(o.record.config,"config"))),Object.keys(o.entityMap).length&&!o.entityMap.global&&o.schema){const L={};for(const z in o.entityMap){const G=o.entityMap[z].id,q=o.entityMap[z].idField,Q=q==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(q).replace("_","-"));Object.prototype.hasOwnProperty.call(b,Q)&&(L[Q]=G)}S(L)}if((N=o.entityMap.consumer)!=null&&N.id&&o.schema&&o.credential){const L={};Object.prototype.hasOwnProperty.call(b,"consumer")&&(L.consumer=o.entityMap.consumer.id),S(L)}w.value=!1};return t.watch(w,N=>{i("loading",N)}),t.watch(()=>o.schema,(N,L)=>{var G,q;if(p(N||{},L||{}))return;const z=r(N);Object.assign(b,z.model),x.value={fields:(q=(G=x.value)==null?void 0:G.fields)==null?void 0:q.map(Q=>({...Q,disabled:Q.disabled||!1}))},Object.assign(v,JSON.parse(JSON.stringify(z.model))),C.value=Kl(z.model.name),R()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var N,L;E.value=r(o.schema),Object.assign(b,((N=E.value)==null?void 0:N.model)||{}),x.value=((L=E.value)==null?void 0:L.schema)||{},R()}),(N,L)=>{const z=t.resolveComponent("KSkeleton"),G=t.resolveComponent("VueFormGenerator");return t.openBlock(),t.createElementBlock("div",Tk,[w.value?(t.openBlock(),t.createBlock(z,{key:0,type:"form"})):(t.openBlock(),t.createElementBlock("div",Nk,[C.value&&(b.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(C.value),{key:0,"form-model":b,"form-options":f.value,"form-schema":x.value,"is-editing":e.editing,"on-model-updated":B},null,40,["form-model","form-options","form-schema","is-editing"])):t.createCommentVNode("",!0),!C.value&&(b.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(G,{key:1,model:b,options:f.value,schema:x.value,onModelUpdated:B},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",Vk,t.toDisplayString(t.unref(m)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[t.unref(qe)[b.name]&&t.unref(qe)[b.name].fieldRules?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(vk,{rules:t.unref(qe)[b.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0]),1032,["model","options","schema"])):t.createCommentVNode("",!0)]))])}}}),jk=Xe(Dk,[["__scopeId","data-v-fee8445b"]]),Pk={class:"kong-ui-entities-plugin-form-container"},Uk=["id"],Yk={class:"plugin-form-actions"},Gk=Xe(t.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},pluginType:{type:String,required:!0},pluginId:{type:String,default:""},hideScopeSelection:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},useCustomNamesForPlugin:{type:Boolean,default:!1},actionsTeleportTarget:{type:String,default:""},noCardWrapper:{type:Boolean,default:!1},hideViewConfigAction:{type:Boolean,default:!1}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated"],setup(e,{emit:n}){var Rn;const i=n,o=e,a=jt.useRouter(),{i18n:{t:r}}=Ae.useI18n(),{customSchemas:l,typedefs:s}=Ae.useSchemas({app:o.config.app,credential:o.credential}),{formatPluginFieldLabel:c}=Ae.usePluginHelpers(),{getMessageFromError:d}=Un(),{capitalize:p}=vi(),{objectsAreEqual:m}=Yn(),{axiosInstance:g}=zt((Rn=o.config)==null?void 0:Rn.axiosRequestConfig),h=t.ref(!1),k=t.computed(()=>o.pluginId?dt.Edit:dt.Create),y=t.ref(null),C=t.computed(()=>!!(o.credential&&o.config.entityId)),E=t.ref(null),x=t.ref({}),v=t.ref(!1),b=t.ref(null),f=t.reactive({enabled:!0,protocols:[],tags:[]}),A=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,errorMessage:""}),B=t.ref([{title:r("view_configuration.yaml"),hash:"#yaml"},{title:r("view_configuration.json"),hash:"#json"}]),S=t.computed(()=>{if(C.value){let O=Ee.form[o.config.app].credential[k.value];return O=O.replace(/{resourceEndpoint}/gi,T.value),O}return o.config.entityType&&o.config.entityId?Ee.form[o.config.app].edit.forEntity.replace(/{entityType}/gi,o.config.entityType).replace(/{entityId}/gi,o.config.entityId):Ee.form[o.config.app].edit.all}),w=()=>{h.value=!h.value},R=t.computed(()=>{var le,se,te,K,j,F,he,ht;const O=o.config.entityType==="consumers"&&o.config.entityId||((se=(le=E.value)==null?void 0:le.consumer)==null?void 0:se.id),U=o.config.entityType==="consumer_groups"&&o.config.entityId||((K=(te=E.value)==null?void 0:te.consumer_group)==null?void 0:K.id),I=o.config.entityType==="services"&&o.config.entityId||((F=(j=E.value)==null?void 0:j.service)==null?void 0:F.id),J=o.config.entityType==="routes"&&o.config.entityId||((ht=(he=E.value)==null?void 0:he.route)==null?void 0:ht.id);if(!(O||U||I||J))return{global:{entity:u.GLOBAL,entityEndpoint:"plugins"}};const W={};return I&&(W.service={entity:u.SERVICE,entityEndpoint:"services",id:I,idField:St.SERVICE}),J&&(W.route={entity:u.ROUTE,entityEndpoint:"routes",id:J,idField:St.ROUTE}),O&&(W.consumer={entity:u.CONSUMER,entityEndpoint:"consumers",id:O,idField:St.CONSUMER}),U&&(W.consumer_group={entity:u.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:U,idField:St.CONSUMER_GROUP}),o.config.entityType&&(W.focusedEntity={entity:u[o.config.entityType.substring(0,o.config.entityType.length-1).toUpperCase()],entityEndpoint:o.config.entityType,id:o.config.entityId,idField:St[o.config.entityType.substring(0,o.config.entityType.length-1).toUpperCase()]}),W}),M=t.reactive({name:{default:o.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:r("plugins.form.fields.enabled.label"),textOn:r("plugins.form.fields.enabled.on_text"),textOff:r("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:o.hideScopeSelection&&(o.hideScopeSelection||k.value===dt.Create&&o.config.entityId)?"foreign":"selectionGroup",inputType:"hidden",styleClasses:"hide-label",fields:[{label:r("plugins.form.scoping.global.label"),description:r("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:r("plugins.form.fields.protocols.help"),label:r("plugins.form.fields.protocols.label"),placeholder:r("plugins.form.fields.protocols.placeholder"),required:!0,styleClasses:"plugin-protocols-select",type:"multiselect",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}]},...(o.config.app==="kongManager"||o.useCustomNamesForPlugin)&&{instance_name:{default:"",type:"input",label:r("plugins.form.fields.instance_name.label"),inputType:"text",help:r("plugins.form.fields.instance_name.help")}},tags:s.tags}),T=t.computed(()=>{var I;const O=o.developer?"developers":"consumers",U=((I=Kt[o.pluginType])==null?void 0:I.endpoint)||"/plugins";return`${O}/${o.config.entityId}${o.developer?"/credentials":""}${U}`}),N=O=>{const U=[...new Set(O.map(I=>typeof I))];return U.length>1?"string":U[0]},L=(O,U,I)=>{var se,te;let J=U&&U.fields||[];const W=l[o.pluginType],le=(te=(se=Kt[o.pluginType])==null?void 0:se.schema)==null?void 0:te.fields;return Array.isArray(J)&&(J=J.reduce((K,j)=>{const F=Object.keys(j)[0];return F.match(/-/g)?K[F.replace(/-/g,"_")]={...j[F],fieldNameHasDashes:!0}:K[F]=j[F],K},{})),Object.keys(J).sort().forEach(K=>{var ht,yt,_l,$l,es,ts;const j=J[K],F=O?`${O}-${K}`:`${K}`;if(Object.prototype.hasOwnProperty.call(j,"overwrite")||j.hidden)return;if(j.type==="table")return L(F,j.schema,I);if(j.fields)return L(F,j,I);if(I[F]={id:F},I[F].type=j.type==="boolean"?"checkbox":"input",I[F].required=j.required,F.startsWith("config-")&&(I[F].label=c(F)),(O==="config"||O.startsWith("config-"))&&(ht=J[K])!=null&&ht.description&&(I[F].help=$.parse(J[K].description,{mangle:!1,headerIds:!1})),j.type==="map"){if(I[F].type="object-advanced",j.values.type==="array"){const{type:ce}=j.values.elements||{};I[F].schema={fields:[{schema:{fields:[{...Sn,model:F,valueArrayType:ce==="integer"?"number":ce||"string",inputAttributes:{...Sn.inputAttributes,type:ce==="integer"?"number":"text",inputMode:ce==="integer"?"numeric":"text"}}]}}]}}else j.values.fields&&(I[F].schema={fields:[{type:"object",model:"object",schema:{fields:j.values.fields.map(ce=>{const Ze=Object.keys(ce)[0];return{model:Ze,type:"input",label:p(Ze),placeholder:Ze,inputType:ce[Ze].type}})}}]});return I}if(j.enum&&j.type==="array"&&(I[F].type="checklist",I[F].values=j.enum,I[F].multi=!0,I[F].multiSelect=!0),j.one_of&&j.type!=="array"&&(I[F].type="select",I[F].values=j.one_of,I[F].selectOptions={noneSelectedText:r("plugins.form.no_selection")}),j.elements&&j.type==="array"){const ce=j.elements;if(ce.type==="string"&&!ce.one_of){const{id:Ze,help:Re,label:Ye,hint:ot}=I[F],{help:_t,...vn}=JSON.parse(JSON.stringify(Sn));I[F]={id:Ze,help:Re,label:Ye,hint:ot,...vn},I[F].help===void 0&&typeof _t=="string"&&(I[F].help=$.parse(_t,{mangle:!1,headerIds:!1}))}}if(j.hint&&(I[F].hint=j.hint),W&&!W.overwriteDefault&&Object.keys(W).forEach(ce=>{if(ce===F){const{help:Ze,label:Re,hint:Ye}=I[F],{help:ot,..._t}=W[ce];I[F]={help:Ze,label:Re,hint:Ye,..._t},typeof ot=="string"&&(I[F].help=$.parse(ot,{mangle:!1,headerIds:!1}))}}),j.type==="array"&&((yt=j.elements)==null?void 0:yt.type)==="record"&&Array.isArray(j.elements.fields)){let ce={};for(const Re of j.elements.fields)ce={...ce,...Re};const Ze=(es=($l=(_l=I[F])==null?void 0:_l.items)==null?void 0:$l.schema)==null?void 0:es.fields;if(Array.isArray(Ze))for(const Re of I[F].items.schema.fields){const Ye=(ts=ce[Re.model])==null?void 0:ts.description;Re.help===void 0&&typeof Ye=="string"&&(Re.help=$.parse(Ye,{mangle:!1,headerIds:!1}))}Ze||(I[F].fieldClasses="array-card-container-wrapper",I[F].itemContainerComponent="FieldArrayCardContainer",I[F].items={type:"object",schema:{fields:Object.values(L(F,j.elements,{}))}},I[F].type="array",I[F].newElementButtonLabelClasses="kong-form-new-element-button-label",I[F].items.schema.fields.forEach(Re=>{var Ye,ot;for(const _t of j.elements.fields){const vn=Object.keys(_t)[0],ns=((ot=(Ye=Re.id)==null?void 0:Ye.split)==null?void 0:ot.call(Ye,"-"))??[];if(ns[ns.length-1]===vn){Re.model=vn,Re.label=c(vn);break}}})),I[F].items.default=()=>j.elements.fields.reduce((Re,Ye)=>{const ot=Object.keys(Ye)[0];return Re[ot]=Ye[ot].default,Re},{})}if(C.value&&le){for(let ce=0;ce<le.length;ce++)if(le[ce][F]){I[F]={...I[F],...le[ce][F]};break}}if(j.required&&j.type!=="boolean"&&(I[F].required=!0,I[F].selectOptions={hideNoneSelectedText:!0}),j.default!=null&&typeof j.default!="object"&&j.default!=="function"&&(I[F].default=j.default),I[F].type==="input"){const{type:ce}=j.elements||{};ce&&(I[F].valueArrayType=ce==="integer"?"number":ce),I[F].inputType=j.type==="array"||j.type==="string"?"text":j.type}let he="string";j.enum?he=N(j.enum):j.type==="boolean"?he="boolean":j.type==="number"||j.type==="integer"?(he="number",I[F].inputType="number"):j.type==="array"||j.type==="set"?(he="array",I[F].default=j.default,j.len_min>0&&(I[F].submitWhenNull=!0)):j.type==="foreign"?he="object":j.default&&Array.isArray(j.default)?(he="array",I[F].valueArrayType=N(j.default)):j.default&&(he=typeof j.default),I[F].valueType=he,j.fieldNameHasDashes&&(I[F].fieldNameHasDashes=!0)}),I},z=()=>{var le,se,te,K;const O=((le=qe[o.pluginType])==null?void 0:le.scope.includes(u.SERVICE))??!0,U=((se=qe[o.pluginType])==null?void 0:se.scope.includes(u.ROUTE))??!0,I=((te=qe[o.pluginType])==null?void 0:te.scope.includes(u.CONSUMER))??!0,J=o.config.disableConsumerGroupScope?!1:((K=qe[o.pluginType])==null?void 0:K.scope.includes(u.CONSUMER_GROUP))??!0,W=[];if(O&&W.push({id:"service-id",model:"service-id",label:r("plugins.form.scoping.gateway_service.label"),placeholder:r("plugins.form.scoping.gateway_service.placeholder"),type:"AutoSuggest",entity:"services",inputValues:{fields:["name","id"]},help:r("plugins.form.scoping.gateway_service.help")}),U&&W.push({id:"route-id",model:"route-id",label:r("plugins.form.scoping.route.label"),placeholder:r("plugins.form.scoping.route.placeholder"),type:"AutoSuggest",entity:"routes",inputValues:{fields:["name","id"],primaryField:"id"},help:r("plugins.form.scoping.route.help")}),I&&W.push({model:"consumer-id",label:r("plugins.form.scoping.consumer.label"),placeholder:r("plugins.form.scoping.consumer.placeholder"),type:"AutoSuggest",entity:"consumers",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:r("plugins.form.scoping.consumer.help")}),J&&W.push({model:"consumer_group-id",label:r("plugins.form.scoping.consumer_group.label"),placeholder:r("plugins.form.scoping.consumer_group.placeholder"),type:"AutoSuggest",entity:"consumer_groups",entityDataKey:"consumer_group",inputValues:{fields:["name","id"],primaryField:"name"},help:r("plugins.form.scoping.consumer_group.help")}),W.length){const j=[...O?["service"]:[],...U?["route"]:[],...I?["consumer"]:[],...J?["consumer_group"]:[]],he=j.splice(j.length-2,2).map(yt=>r(yt==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${yt}.plural`)).join(`${j.length>0?",":""} and/or `),ht=["Specific",[...j.length>0?[j.map(yt=>r(yt==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${yt}.plural`)).join(", ")]:[],he].join(", ")].join(" ");M.selectionGroup.fields.push({label:r("plugins.form.scoping.label"),description:ht,fields:[]}),M.selectionGroup.fields[1].fields=W}l[o.pluginType]&&l[o.pluginType].overwriteDefault&&Object.hasOwnProperty.call(l[o.pluginType],"formSchema")&&Object.assign(M,l[o.pluginType].formSchema)},G=t.computed(()=>!m(A.fields,f,!0)),q=t.computed(()=>!Ke.value&&!v.value&&(k.value===dt.Create||G.value)),Q=t.ref(!1),P=t.ref(),H=O=>{A.fields.id=(O==null?void 0:O.id)||void 0,P.value=O==null?void 0:O.ordering,Object.assign(f,A.fields),E.value=O,Q.value=!0},Y=t.ref({}),V=O=>{var U;A.fields=O.model,A.fields.id=((U=E.value)==null?void 0:U.id)||void 0,Object.assign(f,O.originalModel),Y.value=O.data,o.isWizardStep&&i("model-updated",{model:A.fields,data:O.data,resourceEndpoint:T.value})};t.watch([R,Q],(O,U)=>{const I=O[0]!==U[0],J=O[1],W=U[1];!C.value&&k.value===dt.Edit&&(I||J&&J!==W)&&(Ke.value=!0,y.value=L("config",x.value,M),Ke.value=!1)},{deep:!0});const oe=()=>{o.config.cancelRoute?a.push(o.config.cancelRoute):i("cancel")},re=t.computed(()=>{let O=`${o.config.apiBaseUrl}${Ee.form[o.config.app].validate}`;return o.config.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(O=O.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),O=O.replace(/{id}/gi,o.pluginId),O}),ke=t.computed(()=>{const O=o.config.entityType&&o.config.entityId&&!o.developer,U=C.value?Ee.form[o.config.app].credential[k.value]:Ee.form[o.config.app][k.value][O?"forEntity":"all"];let I=`${o.config.apiBaseUrl}${U}`;return o.config.app==="konnect"?I=I.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(I=I.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),I=I.replace(/{resourceEndpoint}/gi,T.value),I=I.replace(/{id}/gi,o.pluginId),I=I.replace(/{entityType}/gi,o.config.entityType||""),I=I.replace(/{entityId}/gi,o.config.entityId||""),I}),ct=t.computed(()=>!Object.keys(qe).includes(o.pluginType)),me=t.computed(()=>{const O=Y.value;if(C.value){for(const U in u){const I=u[U];O[I]&&!O[I].id&&(O[I]={id:o.config.entityId})}delete O.created_at}return O}),xe=async()=>{if(!o.isWizardStep)try{A.isReadonly=!0;let O;!C.value&&!ct.value&&await g.post(re.value,me.value),k.value==="create"?O=await g.post(ke.value,me.value):k.value==="edit"&&(O=o.config.app==="konnect"?await g.put(ke.value,Object.assign({ordering:P.value},me.value)):await g.patch(ke.value,me.value)),Object.assign(f,A.fields),i("update",O==null?void 0:O.data)}catch(O){A.errorMessage=d(O),i("error",O)}finally{A.isReadonly=!1}},fe=t.computed(()=>{var J;const O=C.value?(J=Kt[o.pluginType])==null?void 0:J.schemaEndpoint:o.pluginType,U=C.value?Ee.form[o.config.app].credentialSchema:Ee.form[o.config.app].pluginSchema;let I=`${o.config.apiBaseUrl}${U}`;return o.config.app==="konnect"?I=I.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(I=I.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),I=I.replace(/{plugin}/gi,O),I}),Je=t.ref(!1);t.watch(b,O=>{O&&(Je.value=!0)});const Ke=t.ref(!1),Mn=t.ref("");return t.onBeforeMount(async()=>{var O,U,I;Ke.value=!0;try{if(C.value&&o.config.app==="konnect"){const J=(O=Kt[o.pluginType])==null?void 0:O.schemaEndpoint,W=bf[J];y.value=L("",W,{}),Ke.value=!1}else{const J=await g.get(fe.value),{data:W}=J;if(W)if(C.value)y.value=L("",W,{}),Ke.value=!1;else{const le=W.fields.find(te=>te.config);x.value=le?le.config:J,z();const se=(U=W.fields.find(te=>te.protocols))==null?void 0:U.protocols;if(se){const{default:te=[],elements:K={}}=se;M.protocols.default=te,(I=K.one_of)!=null&&I.length&&(M.protocols.values=K.one_of.map(j=>({label:j,value:j})))}(Q.value||k.value===dt.Create)&&(y.value=L("config",x.value,M))}}}catch(J){Mn.value=d(J),i("error:fetch-schema",J)}finally{Ke.value=!1}}),(O,U)=>{const I=t.resolveComponent("KSkeleton"),J=t.resolveComponent("KEmptyState"),W=t.resolveComponent("KButton"),le=t.resolveComponent("KTabs"),se=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",Pk,[Ke.value?(t.openBlock(),t.createBlock(I,{key:0,type:"form"})):Mn.value?(t.openBlock(),t.createBlock(J,{key:1,"action-button-visible":!1,"data-testid":"plugin-form-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(t.unref(r)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(gu),{key:2,"can-submit":q.value,config:e.config,"edit-id":e.pluginId,"error-message":A.errorMessage,"fetch-url":S.value,"form-fields":me.value,"is-readonly":A.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:oe,"onFetch:error":U[2]||(U[2]=te=>O.$emit("error",te)),"onFetch:success":H,onLoading:U[3]||(U[3]=te=>O.$emit("loading",te))},{"form-actions":t.withCtx(()=>[t.createElementVNode("div",{id:`plugin-form-default-actions-container-${e.config.workspace||e.config.controlPlaneId}`,ref_key:"actionsDivRef",ref:b},null,8,Uk),!e.isWizardStep&&Je.value?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:e.actionsTeleportTarget?e.actionsTeleportTarget:`#plugin-form-default-actions-container-${e.config.workspace||e.config.controlPlaneId}`},[t.createElementVNode("div",Yk,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(W,{key:0,appearance:"tertiary","data-testid":"form-view-configuration",onClick:U[1]||(U[1]=te=>w())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.view_configuration")),1)]),_:1})),t.createVNode(W,{appearance:"secondary",class:"form-action-button","data-testid":"form-cancel",disabled:A.isReadonly,type:"reset",onClick:oe},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.cancel")),1)]),_:1},8,["disabled"]),t.createVNode(W,{appearance:"primary","data-testid":"form-submit",disabled:!q.value||A.isReadonly,type:"submit",onClick:xe},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.save")),1)]),_:1},8,["disabled"])])],8,["to"])):t.createCommentVNode("",!0)]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:xe},null,32),t.createVNode(jk,{config:e.config,credential:C.value,editing:k.value===t.unref(dt).Edit,"entity-map":R.value,record:E.value||void 0,schema:y.value||{},onLoading:U[0]||(U[0]=te=>v.value=te),onModelUpdated:V},null,8,["config","credential","editing","entity-map","record","schema"])]),_:1},8,["can-submit","config","edit-id","error-message","fetch-url","form-fields","is-readonly","wrapper-component"])),t.createVNode(se,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(r)("view_configuration.title"),visible:h.value,onClose:w},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("view_configuration.message")),1),t.createVNode(le,{"data-testid":"form-view-configuration-slideout-tabs",tabs:B.value},{json:t.withCtx(()=>[t.createVNode(t.unref(fi),{config:e.config,"fetcher-url":ke.value,"json-record":me.value,"request-method":o.pluginId?"put":"post"},null,8,["config","fetcher-url","json-record","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(Ri),{"yaml-record":me.value},null,8,["yaml-record"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-e995b170"]]),Hk=["alt","src","width"],si=t.defineComponent({__name:"PluginIcon",props:{name:{type:String,required:!0},size:{type:Number,default:32,required:!1},alt:{type:String,default:"",required:!1}},setup(e){const n=e,i=t.ref(),o=ir(n.name),a=()=>{const r=new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAMAAABKCk6nAAAAhFBMVEUAAADs+fnr8PTo7fLm7PDl6e7j6+7j6O3i6Ozh5+vp9PTm7PDj6e319fXn7PHj6O739/fn7PDi6e3////o7fLj6Ozt8fbj6u7r7vPi6ezo7fL////n7PHm6/Dl6+/q8PTs8vbu9Pjv9frw9vri6ezv9fnp7/Pt8vfk6u6cpar////e4ePLpSv+AAAAHnRSTlMAKIq93/T6/f7/W8z3GbL4Hr/9AZ39OPFo/Z4FzOeuk05oAAAFJklEQVR4Ae3ThZLjyhWA4SNdWJ9BMy/KA3n/twoXBafWWYb2QPi6Vd9XKGz4q5t4QPNZHDP2n8W/4uT0bJBUZHB2ehL/pPOLy6wQlxfn8bThaJxUajwaxuMm01lSsdl0Eo+YL5LKLebxoOUqqd5qGQ9YD7IHGKzjPptt9gTbzT19n2dv8Pyw8DZ7hG0U1tkrrOM7y0H2CoNlfGO+yp5hNY8vJovsHRaT+GyaPcQ03mkiYvjnNu4za94Ljtn+vd/Efc7+/sf4YJT32L286qjE1ctd3mMUH5yP89D1m46KvLnOQ+PzeO8iD+xuOipzs8sDF/HeZZZuX3dU5/Vtli7jnZMs7fSts/AuSycRcZqlm44q3WTpNCLOsnDdUanrLJxF29zF9zZ3QaXuNuWNJtosvOyo1ssstG0ThZ+Dah3Ea+LHIvmLjoq9KHL+2DYHyanYQc6jDYzACCxwZKGjallog177DwIjMAIjMAIjsMAIjMAIjMAIjMAILDACIzACIzACI7DACIzACIzACIzAAiMwAiMwAiMwAiOwwAiMwAiMwAiMwAIjMAIjMAIjMAILjMAIjMAIjMAIjMACIzACIzACIzACC4zACIzACIzACIzAAiMwAiMwAiMwAguMwAiMwAiMwAgsMAIjMAIjMAIjMAILjMAIjMAIjMAILDACIzACI/DP/6GjGENgBEZgBBYYgREYgREYgRGYJwMjMAIjMAI3TziCMQTmaAIjMAIjMAIjMAILjMAIjMAIjMAITBa6X9CveqD7hWWhDXpNYIERGIERGIERGIEFRmAERmAERuBKCdw2R68VGIERGIERWGAERmAERmAERmCBERiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIEFRmAERmAERuB+EPjt/ui9FRiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgWshcNscvVZgBEZgBEZggREYgREYgREYgQVGYARGYARGYARGYIERGIERGIERGIEFRmAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBBYYgREYgREYgftB4Lf7o/dWYARGYARGYIERGIERGIERGIEFRmAE5kj9GEfkb/EfwwkWGIERGIERGIERWGAERmAERmAERmAEFhiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIERWGAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBEZggREYgREYgREYgQVGYARGYARGYAQWGIERGIERGIERGIEFRmAERmAERmAEFhiBERiBERiBEZh2r3iflPn2B4HvgordPRl4H1RsL7DAfSJw/JCFq45qXWXhh3Yfhb8F1TqIt2/3ZeGf9kGl9j/F997XPcvCdUelrrNwFhGnWbrpqNJNlk4j4iRLu9cdFXq9y9JJvHOZpVuFa+x7m6XLeO8iD+xuOipzs8sDF/He+TgPXb/pqMib6zw0Po8PRnmP3curjkpcvdzlPUYR0UTE8M9t3GfWvBfHjP17v4n7nP39j/HRNOmhaXw2WSS9s5jEF/NV0jOreXxjOUh6ZbCM76yTXllHYZv0yDZKm+dJbzzfxGHhbdIT203cZz1IemCwjgcsV0n1Vst40HyRVG4xj0dMprOkYrPpJB43HI2TSo1Hw3ja+cVlUqHLi/P4J52cng2SigzOTk/iPk08oPksjhn7z+J+/wBSUhUZLUGZBgAAAABJRU5ErkJggg==",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Pt&&Pt.src||new URL("entities-plugins.umd.js",document.baseURI).href).href;i.value&&(i.value.src=r)};return(r,l)=>(t.openBlock(),t.createElementBlock("img",{ref_key:"img",ref:i,alt:e.alt,src:t.unref(o),width:e.size,onError:a},null,40,Hk))}}),ci="24px",Wl=(e,n)=>{const i=e.__vccOpts||e;for(const[o,a]of n)i[o]=a;return i},Fk=e=>(t.pushScopeId("data-v-761db460"),e=e(),t.popScopeId(),e),zk=["aria-hidden"],Kk={key:0,"data-testid":"kui-icon-svg-title"},qk=Fk(()=>t.createElementVNode("path",{d:"M11 19V13H5V11H11V5H13V11H19V13H13V19H11Z",fill:"currentColor"},null,-1)),Xk=Wl(t.defineComponent({__name:"AddIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:ci,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const n=String(e).replace(/px/gi,""),i=Number(n);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const n=e,i=t.computed(()=>{if(typeof n.size=="number"&&n.size>0)return`${n.size}px`;if(typeof n.size=="string"){const a=String(n.size).replace(/px/gi,""),r=Number(a);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return`${r}px`}return ci}),o=t.computed(()=>({boxSizing:"border-box",color:n.color,display:n.display,height:i.value,lineHeight:"0",width:i.value}));return(a,r)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon add-icon","data-testid":"kui-icon-wrapper-add-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-add-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",Kk,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),qk],8,zk))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-761db460"]]),Jk=e=>(t.pushScopeId("data-v-96be1ab3"),e=e(),t.popScopeId(),e),Zk=["aria-hidden"],Wk={key:0,"data-testid":"kui-icon-svg-title"},Qk=Jk(()=>t.createElementVNode("path",{d:"M12 20C11.45 20 10.9792 19.8042 10.5875 19.4125C10.1958 19.0208 10 18.55 10 18C10 17.45 10.1958 16.9792 10.5875 16.5875C10.9792 16.1958 11.45 16 12 16C12.55 16 13.0208 16.1958 13.4125 16.5875C13.8042 16.9792 14 17.45 14 18C14 18.55 13.8042 19.0208 13.4125 19.4125C13.0208 19.8042 12.55 20 12 20ZM12 14C11.45 14 10.9792 13.8042 10.5875 13.4125C10.1958 13.0208 10 12.55 10 12C10 11.45 10.1958 10.9792 10.5875 10.5875C10.9792 10.1958 11.45 10 12 10C12.55 10 13.0208 10.1958 13.4125 10.5875C13.8042 10.9792 14 11.45 14 12C14 12.55 13.8042 13.0208 13.4125 13.4125C13.0208 13.8042 12.55 14 12 14ZM12 8C11.45 8 10.9792 7.80417 10.5875 7.4125C10.1958 7.02083 10 6.55 10 6C10 5.45 10.1958 4.97917 10.5875 4.5875C10.9792 4.19583 11.45 4 12 4C12.55 4 13.0208 4.19583 13.4125 4.5875C13.8042 4.97917 14 5.45 14 6C14 6.55 13.8042 7.02083 13.4125 7.4125C13.0208 7.80417 12.55 8 12 8Z",fill:"currentColor"},null,-1)),_k=Wl(t.defineComponent({__name:"MoreIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:ci,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const n=String(e).replace(/px/gi,""),i=Number(n);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const n=e,i=t.computed(()=>{if(typeof n.size=="number"&&n.size>0)return`${n.size}px`;if(typeof n.size=="string"){const a=String(n.size).replace(/px/gi,""),r=Number(a);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return`${r}px`}return ci}),o=t.computed(()=>({boxSizing:"border-box",color:n.color,display:n.display,height:i.value,lineHeight:"0",width:i.value}));return(a,r)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon more-icon","data-testid":"kui-icon-wrapper-more-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-more-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",Wk,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Qk],8,Zk))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-96be1ab3"]]),$k={class:"kong-ui-entities-plugins-list"},eB={class:"name-cell-wrapper"},tB={class:"info-wrapper"},nB={key:0,class:"info-name"},iB={key:1,class:"info-name"},oB={key:2,class:"info-type"},aB={key:1},rB={key:1},lB=Xe(t.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.createRoute||!e.getViewRoute||!e.getEditRoute||!e.getConfigureDynamicOrderingRoute||e.app==="kongManager"&&!e.isExactMatch&&!e.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canToggle:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canRetrieveScopedEntity:{type:Function,required:!1,default:async()=>!0},canConfigureDynamicOrdering:{type:Function,required:!1,default:async()=>!0},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1}},emits:["error","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:n}){var Mn,Rn;const i=Ae.usePluginMetaData(),o=n,a=e,{i18n:{t:r}}=Ae.useI18n(),l=jt.useRouter(),{axiosInstance:s}=zt((Mn=a.config)==null?void 0:Mn.axiosRequestConfig),c=t.computed(()=>{var O;return((O=a.config)==null?void 0:O.entityType)==="consumers"}),d=t.computed(()=>{var O;return((O=a.config)==null?void 0:O.entityType)==="consumer_groups"}),p=a.config.app==="konnect"||qu({gatewayInfo:a.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),m=t.computed(()=>a.config.app!=="kongManager"||!!a.config.disableSorting),g={name:{label:r("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(Rn=a.config)!=null&&Rn.entityId||(g.appliedTo={label:r("plugins.list.table_headers.applied_to"),sortable:!1}),g.enabled={label:r("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},p&&(g.ordering={label:r("plugins.list.table_headers.ordering"),sortable:!0}),g.tags={label:r("plugins.list.table_headers.tags"),sortable:!1};const h=g,k=t.computed(()=>{var U,I,J,W;let O=a.config.entityType?`${a.config.apiBaseUrl}${Ee.list[a.config.app].forEntity}`:`${a.config.apiBaseUrl}${Ee.list[a.config.app].all}`;return a.config.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,((U=a.config)==null?void 0:U.controlPlaneId)||""):a.config.app==="kongManager"&&(O=O.replace(/\/{workspace}/gi,(I=a.config)!=null&&I.workspace?`/${a.config.workspace}`:"")),O.replace(/{entityType}/gi,((J=a.config)==null?void 0:J.entityType)||"").replace(/{entityId}/gi,((W=a.config)==null?void 0:W.entityId)||"")}),y=t.ref(""),C=t.computed(()=>a.config.app==="konnect"||a.config.isExactMatch?{isExactMatch:!0,fields:{name:g.name,id:{label:r("plugins.list.table_headers.id"),sortable:!0}},placeholder:r(`search.placeholder.${a.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...g.enabled,label:r("search.filter.field.enabled")},name:g.name,instance_name:{label:r("plugins.list.table_headers.instance_name"),searchable:!0}},schema:a.config.filterSchema}),E=t.ref(1),{fetcher:x,fetcherState:v}=Ku(a.config,k.value),b=()=>{y.value=""},f=()=>{E.value++},A=t.ref(null),B=O=>{var I,J,W,le;const U=[];return(I=O.route)!=null&&I.id&&U.push({type:"route",badgeText:r("plugins.list.table_headers.applied_to_badges.route")}),(J=O.service)!=null&&J.id&&U.push({type:"service",badgeText:r("plugins.list.table_headers.applied_to_badges.service")}),(W=O.consumer)!=null&&W.id&&U.push({type:"consumer",badgeText:r("plugins.list.table_headers.applied_to_badges.consumer")}),(le=O.consumer_group)!=null&&le.id&&U.push({type:"consumer_group",badgeText:r("plugins.list.table_headers.applied_to_badges.consumer_group")}),U.length?U:[{type:null,badgeText:r("plugins.list.table_headers.applied_to_badges.global")}]},S=async(O,U)=>{var I;return O===null?!1:await((I=a.canRetrieveScopedEntity)==null?void 0:I.call(a,O,U.id))},w=(O,U)=>{var J,W,le,se,te;let I=null;switch(O){case"route":I=(J=U.route)==null?void 0:J.id;break;case"service":I=(W=U.service)==null?void 0:W.id;break;case"consumer":I=(le=U.consumer)==null?void 0:le.id;break;case"consumer_group":I=(se=U.consumer_group)==null?void 0:se.id;break}I&&((te=a.config)!=null&&te.getScopedEntityViewRoute)&&l.push(a.config.getScopedEntityViewRoute(O,I))},R=t.ref(!1),M=t.ref(null),T=t.computed(()=>{const O={action:"disable",id:"",name:""};if(M.value){const{enabled:U,id:I,name:J}=M.value;O.action=U?"disable":"enable",O.id=I,O.name=i.getDisplayName(J)||I}return O}),N=O=>{R.value=!0,M.value=O},L=()=>{R.value=!1,M.value=null},z=async()=>{var J,W,le,se,te,K,j,F;if(!await((J=a.canEdit)==null?void 0:J.call(a,M.value))||!M.value)return;let U=`${a.config.apiBaseUrl}${(te=Ee.item[a.config.app])==null?void 0:te[(W=a.config)!=null&&W.entityType?"forEntity":"all"].replace(/{entityType}/gi,((le=a.config)==null?void 0:le.entityType)||"").replace(/{entityId}/gi,((se=a.config)==null?void 0:se.entityId)||"")}`.replace(/{id}/gi,M.value.id||"");a.config.app==="konnect"?U=U.replace(/{controlPlaneId}/gi,((K=a.config)==null?void 0:K.controlPlaneId)||""):a.config.app==="kongManager"&&(U=U.replace(/\/{workspace}/gi,(j=a.config)!=null&&j.workspace?`/${a.config.workspace}`:""));const I=!M.value.enabled;try{const{data:he}=((F=a.config)==null?void 0:F.app)==="konnect"?await s.put(U,{...M.value,enabled:I},{timeout:12e4}):await s.patch(U,{...M.value,enabled:I},{timeout:12e4});o("toggle-enabled",I,he)}catch(he){o("error",he)}M.value.enabled=I},G=(O,U)=>{const I=O.id;if(!U(I)){o("copy:error",{entity:O,field:"id",message:r("errors.copy")});return}o("copy:success",{entity:O,field:"id",message:r("copy.success",{val:I})})},q=(O,U)=>{const I=JSON.stringify(O);if(!U(I)){o("copy:error",{entity:O,message:r("errors.copy")});return}o("copy:success",{entity:O,message:r("copy.success_brief")})},Q=async O=>{var I;await((I=a.canRetrieve)==null?void 0:I.call(a,O))&&l.push(a.config.getViewRoute(O))},P=O=>({label:r("actions.view"),to:a.config.getViewRoute(O)}),H=O=>({label:r("actions.edit"),to:a.config.getEditRoute(O)}),Y=O=>({label:r("actions.configure_dynamic_ordering"),to:a.config.getConfigureDynamicOrderingRoute(O)}),V=t.ref(void 0),oe=t.ref(!1),re=t.ref(!1),ke=t.ref(""),ct=zu(a.config,k.value),me=O=>{V.value=O,oe.value=!0},xe=()=>{oe.value=!1},fe=async()=>{var O,U,I;if((O=V.value)!=null&&O.id){re.value=!0;try{await s.delete(ct(V.value.id)),re.value=!1,oe.value=!1,E.value++,o("delete:success",V.value)}catch(J){ke.value=((I=(U=J.response)==null?void 0:U.data)==null?void 0:I.message)||J.message||r("errors.delete"),o("error",J)}finally{re.value=!1}}},Je=t.ref(!0);t.watch(v,O=>{var U,I,J,W;if(Array.isArray((U=O==null?void 0:O.response)==null?void 0:U.data)&&(Je.value=O.response.data.length>0),O.status===wt.Error){A.value={title:r("errors.general")},(W=(J=(I=O.error)==null?void 0:I.response)==null?void 0:J.data)!=null&&W.message&&(A.value.message=O.error.response.data.message),o("error",O.error);return}A.value=null});const Ke=t.ref({ctaPath:a.config.createRoute,ctaText:void 0,message:`${r("plugins.list.empty_state.description")}${a.config.additionMessageForEmptyState?` ${a.config.additionMessageForEmptyState}`:""}`,title:r("plugins.title")});return t.onBeforeMount(async()=>{await a.canCreate()&&(Ke.value.title=r("plugins.list.empty_state.title"),Ke.value.ctaText=r("actions.create"))}),(O,U)=>{const I=t.resolveComponent("KButton"),J=t.resolveComponent("KBadge"),W=t.resolveComponent("KTruncate"),le=t.resolveComponent("KInputSwitch"),se=t.resolveComponent("KDropdownItem"),te=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",$k,[t.createVNode(t.unref(Eu),{"cache-identifier":e.cacheIdentifier,"disable-pagination-page-jump":"","disable-sorting":m.value,"dropdown-menu-width":"270","empty-state-options":Ke.value,"enable-entity-actions":"","error-message":A.value,fetcher:t.unref(x),"fetcher-cache-key":E.value,"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:y.value,"table-headers":t.unref(h),title:e.title,"title-tag":e.titleTag,"use-action-outside":e.useActionOutside,onClearSearchInput:b,"onClick:row":U[3]||(U[3]=K=>Q(K)),onSort:f},{"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(Gu),{modelValue:y.value,"onUpdate:modelValue":U[0]||(U[0]=K=>y.value=K),config:C.value},null,8,["modelValue","config"])]),"toolbar-button":t.withCtx(()=>[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[t.createVNode(t.unref(Et),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.withDirectives(t.createVNode(I,{appearance:"primary","data-testid":"toolbar-add-plugin",size:"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Xk)),t.createTextVNode(" "+t.toDisplayString(t.unref(r)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["to"]),[[t.vShow,Je.value]])]),_:1},8,["auth-function"])],8,["disabled"]))]),name:t.withCtx(({row:K})=>[t.createElementVNode("div",eB,[t.createVNode(si,{class:"plugin-icon",name:K.name,width:24},null,8,["name"]),t.createElementVNode("div",tB,[K.instance_name?(t.openBlock(),t.createElementBlock("span",nB,t.toDisplayString(K.instance_name),1)):(t.openBlock(),t.createElementBlock("span",iB,t.toDisplayString(t.unref(i).getDisplayName(K.name)),1)),K.instance_name?(t.openBlock(),t.createElementBlock("span",oB,t.toDisplayString(t.unref(i).getDisplayName(K.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:K})=>[B(K).length>0?(t.openBlock(),t.createBlock(W,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(B(K),j=>(t.openBlock(),t.createBlock(t.unref(Et),{key:j.badgeText,"auth-function":()=>S(j.type,K),"force-show":""},{default:t.withCtx(({isAllowed:F})=>[t.createVNode(J,{class:t.normalizeClass(F||"disabled"),onClick:t.withModifiers(he=>F&&j.type&&w(j.type,K),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(j.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",aB,"-"))]),enabled:t.withCtx(({row:K})=>[t.createVNode(t.unref(Et),{"auth-function":async()=>!!(await e.canEdit(K)&&await e.canToggle(K)),"force-show":""},{default:t.withCtx(({isAllowed:j})=>{var F,he;return[t.createElementVNode("div",{onClick:U[1]||(U[1]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(le,{disabled:!j,"disabled-tooltip-text":!j&&((he=(F=e.config).getToggleDisabledTooltip)==null?void 0:he.call(F,K))||void 0,"model-value":K.enabled,onClick:t.withModifiers(ht=>j&&N(K),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:K})=>[t.createVNode(J,{appearance:K?"warning":"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(K?t.unref(r)("plugins.list.table_headers.ordering_badge.dynamic"):t.unref(r)("plugins.list.table_headers.ordering_badge.static")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:K})=>[(K==null?void 0:K.length)>0?(t.openBlock(),t.createBlock(W,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(K,j=>(t.openBlock(),t.createBlock(J,{key:j,onClick:U[2]||(U[2]=t.withModifiers(()=>{},["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(j),1)]),_:2},1024))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",rB,"-"))]),actions:t.withCtx(({row:K})=>[t.createVNode(te,null,{default:t.withCtx(({copyToClipboard:j})=>[t.createVNode(se,{"data-testid":"action-entity-copy-id",onClick:F=>G(K,j)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(te,null,{default:t.withCtx(({copyToClipboard:j})=>[t.createVNode(se,{"data-testid":"action-entity-copy-json",onClick:F=>q(K,j)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(Et),{"auth-function":()=>e.canRetrieve(K)},{default:t.withCtx(()=>[t.createVNode(se,{"data-testid":"action-entity-view","has-divider":"",item:P(K)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(Et),{"auth-function":()=>e.canEdit(K)},{default:t.withCtx(()=>[t.createVNode(se,{"data-testid":"action-entity-edit",item:H(K)},null,8,["item"])]),_:2},1032,["auth-function"]),!c.value&&!d.value&&t.unref(p)?(t.openBlock(),t.createBlock(t.unref(Et),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(K)},{default:t.withCtx(()=>[Y(K)?(t.openBlock(),t.createBlock(se,{key:0,"data-testid":"action-entity-config-dyn-order",item:Y(K)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(Et),{"auth-function":()=>e.canDelete(K)},{default:t.withCtx(()=>[t.createVNode(se,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:j=>me(K)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:1},8,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","title","title-tag","use-action-outside"]),t.createVNode(t.unref(Hu),{action:T.value.action,"entity-id":T.value.id,"entity-name":T.value.name,"entity-type":t.unref(r)("glossary.plugin"),"on-confirm":z,visible:R.value,onCancel:L,onProceed:L},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(va),{"action-pending":re.value,description:t.unref(r)("delete.description"),"entity-name":V.value&&(V.value.instance_name||V.value.name||V.value.id),"entity-type":t.unref(ui).Plugin,error:ke.value,title:t.unref(r)("delete.title"),visible:oe.value,onCancel:xe,onProceed:fe},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-43a49e84"]]),sB=e=>(t.pushScopeId("data-v-14bc032f"),e=e(),t.popScopeId(),e),cB={class:"plugin-card-header"},dB={class:"plugin-card-footer"},pB=sB(()=>t.createElementVNode("hr",{class:"plugin-card-footer-divider"},null,-1)),uB={class:"footer-skeleton"},mB=Xe(t.defineComponent({__name:"PluginCardSkeleton",props:{cardCount:{type:Number,default:1}},setup(e){return(n,i)=>{const o=t.resolveComponent("KSkeletonBox"),a=t.resolveComponent("KSkeleton");return t.openBlock(),t.createBlock(a,{"card-count":e.cardCount,class:"plugin-card-skeleton",type:"card"},{"card-header":t.withCtx(()=>[t.createElementVNode("div",cB,[t.createVNode(o,{width:"5"})])]),"card-content":t.withCtx(()=>[t.createTextVNode(" ")]),"card-footer":t.withCtx(()=>[t.createElementVNode("div",dB,[pB,t.createElementVNode("div",uB,[t.createVNode(o,{width:"5"})])])]),_:1},8,["card-count"])}}}),[["__scopeId","data-v-14bc032f"]]),gB="16px",fB=["data-testid"],AB={class:"plugin-card-header"},hB={class:"plugin-card-title"},yB={key:0,class:"plugin-card-actions"},bB=["data-testid","title"],wB={key:0,class:"plugin-card-text"},CB={key:0},EB=["title"],On=Xe(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},plugin:{type:Object,required:!0},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const i=n,o=e,a=jt.useRouter(),{i18n:{t:r}}=Ae.useI18n(),l=t.computed(()=>o.config.app==="konnect"?o.config.controlPlaneId:""),s=t.computed(()=>!!(!o.plugin.available||o.plugin.disabledMessage)),c=t.computed(()=>!!(h.value&&!g.value&&o.navigateOnClick&&l.value&&(o.canDeleteCustomPlugin||o.canEditCustomPlugin))),d=()=>{a.push(o.config.getCreateRoute(o.plugin.id))},p=()=>{o.navigateOnClick?d():m()},m=()=>{i("plugin-clicked",o.plugin)},g=t.computed(()=>o.plugin.id==="custom-plugin-create"),h=t.computed(()=>o.config.app==="konnect"&&o.plugin.group===D.CUSTOM_PLUGINS),k=()=>{o.config.app==="konnect"&&i("custom-plugin-delete")},y=E=>{const x=o.config;o.config.app==="konnect"&&typeof x.getCustomEditRoute=="function"&&x.getCustomEditRoute&&a.push(x.getCustomEditRoute(E))},C=()=>{if(!s.value&&o.config.app==="konnect"){const E=o.config;g.value&&E.createCustomRoute?a.push(E.createCustomRoute):h.value&&d()}};return(E,x)=>{const v=t.resolveComponent("KButton"),b=t.resolveComponent("KDropdownItem"),f=t.resolveComponent("KDropdownMenu"),A=t.resolveComponent("KTooltip");return t.openBlock(),t.createBlock(A,{"position-fixed":"",text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createElementVNode("a",{class:t.normalizeClass(["plugin-select-card",{disabled:s.value}]),"data-testid":`${e.plugin.id}-card`,role:"button",onClick:x[1]||(x[1]=B=>s.value||h.value?void 0:p())},[t.createElementVNode("div",AB,[t.createElementVNode("div",hB,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!h.value})},t.toDisplayString(e.plugin.name),3)]),c.value?(t.openBlock(),t.createElementBlock("div",yB,[t.createVNode(f,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(v,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(_k),{size:t.unref(gB)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(b,{key:0,"data-testid":"edit-plugin-schema",onClick:x[0]||(x[0]=t.withModifiers(B=>y(e.plugin.name),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(b,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(k,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.delete")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":h.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(r)("plugins.select.unavailable_tooltip"),onClick:C},[t.createVNode(si,{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.imageName||e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||h.value&&!g.value?(t.openBlock(),t.createElementBlock("div",wB,[h.value&&!g.value?(t.openBlock(),t.createElementBlock("p",CB,t.toDisplayString(t.unref(r)("plugins.select.custom_badge_text")),1)):t.createCommentVNode("",!0),e.plugin.description?(t.openBlock(),t.createElementBlock("p",{key:1,class:"plugin-card-text",title:e.plugin.description},t.toDisplayString(e.plugin.description),9,EB)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,bB),t.createElementVNode("div",{class:"plugin-card-footer",onClick:C},t.toDisplayString(g.value?t.unref(r)("actions.create_custom"):e.plugin.exists?t.unref(r)("actions.enabled"):t.unref(r)("actions.enable")),1)],10,fB)]),_:1},8,["text"])}}}),[["__scopeId","data-v-07903e12"]]),kB=Xe(t.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:n}){var h;const i=e,o=n,{i18nT:a,i18n:{t:r}}=Ae.useI18n(),{getMessageFromError:l}=Un(),{axiosInstance:s}=zt((h=i.config)==null?void 0:h.axiosRequestConfig),c=t.computed(()=>{var k;return m.value?r("delete.plugin_schema_in_use_title"):r("delete.title",{name:((k=i.plugin)==null?void 0:k.name)||r("delete.custom_plugin")})}),d=t.ref(!1),p=t.ref(""),m=t.ref(!1),g=async()=>{var k,y,C,E,x;if(d.value=!0,p.value="",!(!((k=i.plugin)!=null&&k.name)||((y=i.config)==null?void 0:y.app)!=="konnect"))try{const v=`${i.config.apiBaseUrl}/v2/control-planes/${i.config.controlPlaneId}/core-entities/plugin-schemas/${(C=i.plugin)==null?void 0:C.name}`;await s.delete(v),o("proceed")}catch(v){const{response:b}=v;(b==null?void 0:b.status)===400&&((x=(E=b.data)==null?void 0:E.message)!=null&&x.includes("plugin schema is currently in use"))?m.value=!0:p.value=l(v)}finally{d.value=!1}};return(k,y)=>{const C=t.resolveComponent("KButton"),E=t.resolveComponent("KModal");return!m.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(va),{key:0,"action-pending":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(r)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(ui).Plugin,error:p.value,"need-confirm":"",title:c.value,visible:"",onCancel:y[0]||(y[0]=x=>k.$emit("closed")),onProceed:g},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(E,{key:1,"action-button-disabled":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:c.value,visible:"",onCancel:y[2]||(y[2]=x=>k.$emit("closed"))},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(t.unref(a),{keypath:"delete.plugin_schema_in_use_message",tag:"p"},{name:t.withCtx(()=>[t.createElementVNode("strong",null,t.toDisplayString(e.plugin.name),1)]),_:1})])]),"footer-actions":t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(C,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:y[1]||(y[1]=x=>k.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-4148beb9"]]),BB={class:"custom-plugins-grid"},SB={class:"empty-state-title"},xB={class:"empty-state-description"},OB={class:"plugin-card-container"},IB={class:"plugin-card-container"},MB=Xe(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},pluginsPerRow:{type:Number,default:4}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const i=e,o=n,{i18n:{t:a}}=Ae.useI18n(),{getPluginCards:r}=Ae.usePluginHelpers(),l=t.ref(!0),s=k=>{o("plugin-clicked",k)},c=t.computed(()=>{if(i.config.app==="kongManager")return[];const k=JSON.parse(JSON.stringify(i.pluginList))[D.CUSTOM_PLUGINS]||[];return i.canCreateCustomPlugin&&i.navigateOnClick&&i.config.createCustomRoute?[{id:"custom-plugin-create",name:a("plugins.select.tabs.custom.create.name"),available:!0,group:D.CUSTOM_PLUGINS,description:a("plugins.select.tabs.custom.create.description")}].concat(k):k}),d=t.computed(()=>{var C,E;const k=(C=r("all",c.value,i.pluginsPerRow))==null?void 0:C.length,y=(E=r("hidden",c.value,i.pluginsPerRow))==null?void 0:E.length;return k>i.pluginsPerRow?a("plugins.select.view_more",{count:y}):a("plugins.select.view_less")}),p=t.ref(!1),m=t.ref(null),g=k=>{p.value=!0,m.value={id:k.id,name:k.name}},h=k=>{var y;k&&(o("revalidate"),o("delete:success",((y=m.value)==null?void 0:y.name)||"")),p.value=!1,m.value=null};return(k,y)=>{const C=t.resolveComponent("KEmptyState"),E=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",BB,[c.value.length?(t.openBlock(),t.createBlock(E,{key:1,modelValue:l.value,"onUpdate:modelValue":y[0]||(y[0]=x=>l.value=x),class:"custom-plugins-collapse","data-testid":`${t.unref(D).CUSTOM_PLUGINS}-collapse`,title:t.unref(D).CUSTOM_PLUGINS,"trigger-label":d.value},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",OB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(r)("visible",c.value,e.pluginsPerRow),(x,v)=>(t.openBlock(),t.createBlock(On,{key:`plugin-card-${v}`,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:x,onCustomPluginDelete:b=>g(x),onPluginClicked:s},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))])]),default:t.withCtx(()=>[t.createElementVNode("div",IB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(r)("hidden",c.value,e.pluginsPerRow),(x,v)=>(t.openBlock(),t.createBlock(On,{key:`plugin-card-${v}`,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:x,onPluginClicked:s},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin"]))),128))])]),_:2},[c.value.length<=e.pluginsPerRow?{name:"trigger",fn:t.withCtx(()=>[t.createTextVNode(" ")]),key:"0"}:void 0]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(C,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",SB,t.toDisplayString(t.unref(a)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",xB,t.toDisplayString(t.unref(a)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),p.value&&m.value?(t.openBlock(),t.createBlock(kB,{key:2,config:e.config,plugin:m.value,onClosed:h,onProceed:y[1]||(y[1]=x=>h(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-ee6d3205"]]),RB={class:"plugin-card-container"},vB={class:"plugin-card-container"},Ql=Xe(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0},pluginsPerRow:{type:Number,default:4}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:t.mergeModels(["plugin-clicked"],["update:modelValue"]),setup(e,{emit:n}){const i=t.useModel(e,"modelValue"),o=e,a=n,{i18n:{t:r}}=Ae.useI18n(),{getPluginCards:l}=Ae.usePluginHelpers(),s=t.computed(()=>{var p,m;const c=((p=l("all",o.plugins,o.pluginsPerRow))==null?void 0:p.length)||0,d=((m=l("hidden",o.plugins||[],o.pluginsPerRow))==null?void 0:m.length)||0;return c>o.pluginsPerRow?r("plugins.select.view_more",{count:d}):void 0});return(c,d)=>{const p=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(p,{modelValue:i.value,"onUpdate:modelValue":d[0]||(d[0]=m=>i.value=m),class:"plugins-collapse","data-testid":`${o.name}-collapse`,title:o.name,"trigger-label":i.value?s.value:t.unref(r)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",RB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(l)("visible",o.plugins,o.pluginsPerRow),m=>(t.openBlock(),t.createBlock(On,{key:`plugin-card-${m.id}`,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:m,onPluginClicked:g=>a("plugin-clicked",m)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))])]),default:t.withCtx(()=>[t.createElementVNode("div",vB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(l)("hidden",o.plugins,o.pluginsPerRow),m=>(t.openBlock(),t.createBlock(On,{key:`plugin-card-${m.id}`,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:m,onPluginClicked:g=>a("plugin-clicked",m)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))])]),_:2},[o.plugins.length<=e.pluginsPerRow?{name:"trigger",fn:t.withCtx(()=>[t.createTextVNode(" ")]),key:"0"}:void 0]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-12700243"]]),TB={class:"plugin-select-grid"},NB={class:"empty-state-title"},VB={class:"empty-state-description"},mo=t.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},pluginsPerRow:{type:Number,default:4},highlightedPlugins:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""},hideHighlightedPlugins:{type:Boolean,default:!1}},emits:["plugin-clicked"],setup(e,{emit:n}){const i=e,o=n,{i18n:{t:a}}=Ae.useI18n(),r=t.ref(!1),l=t.ref(Wa),s=d=>{o("plugin-clicked",d)},c=t.computed(()=>{const d=JSON.parse(JSON.stringify(i.pluginList));return i.config.app==="konnect"&&delete d[D.CUSTOM_PLUGINS],d});return(d,p)=>{const m=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",TB,[Object.keys(c.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(m,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",NB,t.toDisplayString(t.unref(a)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",VB,t.toDisplayString(t.unref(a)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!i.hideHighlightedPlugins&&i.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(Ql,{key:1,modelValue:r.value,"onUpdate:modelValue":p[0]||(p[0]=g=>r.value=g),config:e.config,name:i.highlightedPluginsTitle||t.unref(a)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:i.highlightedPlugins,"plugins-per-row":e.pluginsPerRow,onPluginClicked:p[1]||(p[1]=g=>s(g))},null,8,["modelValue","config","name","navigate-on-click","plugins","plugins-per-row"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Za),g=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[g]?(t.openBlock(),t.createElementBlock("div",{key:g},[t.createVNode(Ql,{modelValue:l.value[g],"onUpdate:modelValue":h=>l.value[g]=h,config:e.config,name:g,"navigate-on-click":e.navigateOnClick,plugins:c.value[g]||[],"plugins-per-row":e.pluginsPerRow,onPluginClicked:p[2]||(p[2]=h=>s(h))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins","plugins-per-row"])])):t.createCommentVNode("",!0)],64))),256))])}}}),LB={class:"kong-ui-entities-plugin-select-form"},DB={class:"plugins-filter-input-container"},jB={key:0},PB={key:3,"aria-live":"polite",class:"plugins-results-container"},UB={"data-testid":"kong-tab"},YB={class:"tab-description"},GB={"data-testid":"custom-tab"},HB={class:"tab-description"},FB=Xe(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},disableCustomPlugins:{type:Boolean,default:!1},hideCustomPlugins:{type:Boolean,default:!1},canCreateCustomPlugin:{type:Function,required:!1,default:async()=>!0},canDeleteCustomPlugin:{type:Function,required:!1,default:async()=>!0},canEditCustomPlugin:{type:Function,required:!1,default:async()=>!0},navigateOnClick:{type:Boolean,default:!0},availableOnServer:{type:Boolean,default:!0},ignoredPlugins:{type:Array,default:()=>[]},disabledPlugins:{type:Object,default:()=>({})},pluginsPerRow:{type:Number,default:4},highlightedPluginIds:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){var q,Q;const i=e,o=n,a=jt.useRoute(),r=jt.useRouter(),{i18n:{t:l}}=Ae.useI18n(),{pluginMetaData:s}=Ae.usePluginMetaData(),{getMessageFromError:c}=Un(),{sortAlpha:d,objectsAreEqual:p}=Yn(),m=t.ref(""),g=t.ref(!0),h=t.ref(!1),k=t.ref(""),y=t.ref([]),C=t.ref({}),E=t.ref([]),{axiosInstance:x}=zt((q=i.config)==null?void 0:q.axiosRequestConfig),v=t.computed(()=>C.value?Object.entries(C.value).filter(([P])=>P!==D.CUSTOM_PLUGINS).reduce((P,[,H])=>{for(const Y of H)P[Y.id]=Y;return P},{}):{}),b=t.computed(()=>{var Y;if(!C.value)return{};const P=m.value.toLowerCase(),H=JSON.parse(JSON.stringify(C.value));for(const V in C.value){const oe=((Y=C.value[V])==null?void 0:Y.filter(re=>re.name.toLowerCase().includes(P)||re.id.toLowerCase().includes(P)||re.group.toLowerCase().includes(P)))||[];oe.length?H[V]=oe:delete H[V]}return H}),f=t.computed(()=>i.highlightedPluginIds.reduce((P,H)=>{const Y=v.value[H];return Y&&P.push(Y),P},[])),A=t.computed(()=>Object.keys(b.value).length>0),B=t.computed(()=>Object.keys(C.value).length>0&&!A.value),S=i.config.app==="konnect"?[{hash:"#kong",title:l("plugins.select.tabs.kong.title")},{hash:"#custom",title:l("plugins.select.tabs.custom.title"),disabled:i.disableCustomPlugins}]:[],w=t.ref(S.length&&((a==null?void 0:a.hash)||((Q=S[0])==null?void 0:Q.hash))||""),R=()=>[...new Set([...Object.keys({...i.availableOnServer?{}:s}),...y.value])].filter(P=>!i.ignoredPlugins.includes(P)).filter(P=>i.config.entityType&&(i.config.entityType==="services"&&s[P]&&!s[P].scope.includes(u.SERVICE)||i.config.entityType==="routes"&&s[P]&&!s[P].scope.includes(u.ROUTE)||i.config.entityType==="consumer_groups"&&s[P]&&!s[P].scope.includes(u.CONSUMER_GROUP)||i.config.entityType==="consumers"&&s[P]&&!s[P].scope.includes(u.CONSUMER))?!1:P).reduce((P,H)=>{var ke;const Y=s[H]&&s[H].name||H,V={...s[H],id:H,name:Y,available:y.value.includes(H),disabledMessage:"",group:((ke=s[H])==null?void 0:ke.group)||D.CUSTOM_PLUGINS};i.disabledPlugins&&(V.disabledMessage=i.disabledPlugins[H]);const oe=V.group||l("plugins.select.misc_plugins");let re=P[oe];return re||(re=[]),re.push(V),re.sort(d("name")),P[oe]=re,P},{}),M=t.computed(()=>{var H;let P=`${i.config.apiBaseUrl}${Ee.select[i.config.app].availablePlugins}`;return i.config.app==="konnect"?P=P.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(P=((H=i.config.gatewayInfo)==null?void 0:H.edition)==="community"?`${i.config.apiBaseUrl}${Ee.select[i.config.app].availablePluginsForOss}`:P.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),P}),T=t.computed(()=>{if(i.config.entityType&&i.config.entityId){let P=`${i.config.apiBaseUrl}${Ee.list[i.config.app].forEntity}`;return i.config.app==="konnect"?P=P.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(P=P.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),P.replace(/{entityType}/gi,i.config.entityType||"").replace(/{entityId}/gi,i.config.entityId||"")}return""}),N=P=>{r.replace({hash:P,query:a.query})};t.watch(()=>i.disabledPlugins,(P,H)=>{!p(P,H)&&!g.value&&(C.value=R())}),t.watch(()=>i.ignoredPlugins,(P,H)=>{!p(P,H)&&!g.value&&(C.value=R())}),t.watch(g,P=>{o("loading",P)});const L=t.ref(!1),z=t.ref(!1),G=t.ref(!1);return t.onBeforeMount(async()=>{L.value=await i.canCreateCustomPlugin(),z.value=await i.canEditCustomPlugin(),G.value=await i.canDeleteCustomPlugin()}),t.onMounted(async()=>{try{const{data:P}=await x.get(M.value);if(i.config.app==="konnect"){const{names:H}=P;y.value=H||[]}else if(i.config.app==="kongManager"){const{plugins:{available_on_server:H}}=P;y.value=H?Object.keys(H):[]}}catch(P){h.value=!0,k.value=c(P)}if(T.value)try{const{data:{data:P}}=await x.get(T.value);if(P!=null&&P.length){const H=P.reduce((Y,V)=>(V.name&&Y.push(V.name),Y),[]);E.value=E.value.concat(H)}}catch{}h.value||(C.value=R()),g.value=!1}),(P,H)=>{const Y=t.resolveComponent("KInput"),V=t.resolveComponent("KSkeletonBox"),oe=t.resolveComponent("KSkeleton"),re=t.resolveComponent("KEmptyState"),ke=t.resolveComponent("KTooltip"),ct=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",LB,[t.createElementVNode("div",DB,[t.createVNode(Y,{modelValue:m.value,"onUpdate:modelValue":H[0]||(H[0]=me=>m.value=me),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(l)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),g.value?(t.openBlock(),t.createElementBlock("section",jB,[t.createVNode(oe,{"table-rows":1,type:"table"},{default:t.withCtx(()=>[t.createVNode(V,{width:"6"}),t.createVNode(V,{class:"title-loading-skeleton",width:"6"})]),_:1}),t.createVNode(mB,{"card-count":8,type:"card"})])):h.value?(t.openBlock(),t.createBlock(re,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(k.value),1)]),_:1})):B.value&&m.value?(t.openBlock(),t.createBlock(re,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:t.withCtx(()=>[t.createElementVNode("h5",null,t.toDisplayString(t.unref(l)("search.no_results",{filter:m.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",PB,[t.unref(S).length&&!e.hideCustomPlugins?(t.openBlock(),t.createBlock(ct,{key:0,modelValue:w.value,"onUpdate:modelValue":H[5]||(H[5]=me=>w.value=me),"data-testid":"plugins-tabs",tabs:t.unref(S),onChange:N},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",UB,[t.createElementVNode("p",YB,t.toDisplayString(t.unref(l)("plugins.select.tabs.kong.description")),1),t.createVNode(mo,{config:e.config,"hide-highlighted-plugins":m.value.length>0,"highlighted-plugins":f.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":b.value,"plugins-per-row":e.pluginsPerRow,onPluginClicked:H[1]||(H[1]=me=>P.$emit("plugin-clicked",me))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list","plugins-per-row"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",GB,[t.createElementVNode("p",HB,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.description")),1),t.createVNode(MB,{"can-create-custom-plugin":L.value,"can-delete-custom-plugin":G.value,"can-edit-custom-plugin":z.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":b.value,"plugins-per-row":e.pluginsPerRow,"onDelete:success":H[2]||(H[2]=me=>P.$emit("delete-custom:success",me)),onPluginClicked:H[3]||(H[3]=me=>P.$emit("plugin-clicked",me)),onRevalidate:H[4]||(H[4]=()=>C.value=R())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list","plugins-per-row"])])]),_:2},[e.disableCustomPlugins?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(ke,{"max-width":"300",text:t.unref(l)("plugins.select.tabs.custom.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(t.openBlock(),t.createBlock(mo,{key:1,config:e.config,"hide-highlighted-plugins":m.value.length>0,"highlighted-plugins":f.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":b.value,"plugins-per-row":e.pluginsPerRow,onPluginClicked:H[6]||(H[6]=me=>P.$emit("plugin-clicked",me))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list","plugins-per-row"]))]))])}}}),[["__scopeId","data-v-a110ea85"]]),zB={class:"kong-ui-entity-plugin-config-card"},KB={class:"name-cell-wrapper"},qB={class:"info-name"},XB={key:0},JB={key:0},ZB={key:0},WB={key:0},go="config",QB=Xe(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showIdAsLink:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},scopedEntityType:{type:String,required:!1,default:""},scopedEntityId:{type:String,required:!1,default:""}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var x;const i=n,o=e,{i18n:{t:a}}=Ae.useI18n(),r=Ae.usePluginMetaData(),{setFieldType:l}=Ae.usePluginHelpers(),{getPropValue:s}=Yn(),c=t.computed(()=>{var v;return(v=Ee.item[o.config.app])==null?void 0:v[o.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,o.scopedEntityType).replace(/{entityId}/gi,o.scopedEntityId)}),d=t.computed(()=>{var f,A;const v={},b=((f=y.value)==null?void 0:f.fields)||[];for(let B=0;B<b.length;B++){const S=y.value.fields[B],w=(A=Object.keys(S))==null?void 0:A[0];l(v,w,S[w])}return{...v,instance_name:{section:Be.Basic,order:1.5},consumer:{label:a("plugins.fields.consumer"),section:Be.Basic,order:6},route:{label:a("plugins.fields.route"),section:Be.Basic,order:6},service:{label:a("plugins.fields.service"),section:Be.Basic,order:6},consumer_group:{label:a("plugins.fields.consumer_group"),section:Be.Basic,order:6},protocols:{type:_.BadgeTag,section:Be.Basic,order:7}}}),p=t.computed(()=>{var b,f,A;if(!((b=y.value)!=null&&b.fields))return[];const v=(f=y.value.fields)==null?void 0:f.find(B=>{var w;return((w=Object.keys(B))==null?void 0:w[0])===go});return((A=v==null?void 0:v[go])==null?void 0:A.fields)||[]}),m=t.computed(()=>{var b,f;const v={};if(!p.value)return v;for(let A=0;A<((b=p.value)==null?void 0:b.length);A++){const B=p.value[A],S=(f=Object.keys(B))==null?void 0:f[0],w=B[S];w.required&&(v[S]={order:1}),l(v,S,w)}return v}),{getMessageFromError:g}=Un(),{axiosInstance:h}=zt((x=o.config)==null?void 0:x.axiosRequestConfig),k=t.computed(()=>{var b,f;let v=`${o.config.apiBaseUrl}${Ee.form[o.config.app].pluginSchema}`;return o.config.app==="konnect"?v=v.replace(/{controlPlaneId}/gi,((b=o.config)==null?void 0:b.controlPlaneId)||""):o.config.app==="kongManager"&&(v=v.replace(/\/{workspace}/gi,(f=o.config)!=null&&f.workspace?`/${o.config.workspace}`:"")),v=v.replace(/{plugin}/gi,o.config.pluginType),v}),y=t.ref({}),C=t.ref(!1),E=t.ref("");return t.onBeforeMount(async()=>{C.value=!0;try{const{data:v}=await h.get(k.value);y.value=v}catch(v){E.value=g(v),i("error:fetch-schema",v)}finally{C.value=!1}}),(v,b)=>{const f=t.resolveComponent("KSkeleton"),A=t.resolveComponent("KEmptyState"),B=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",zB,[C.value?(t.openBlock(),t.createBlock(f,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):E.value?(t.openBlock(),t.createBlock(A,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(E.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(du),{key:2,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":d.value,"fetch-url":c.value,"hide-title":e.hideTitle,"plugin-config-key":go,"plugin-config-schema":m.value,"onFetch:error":b[0]||(b[0]=S=>v.$emit("fetch:error",S)),"onFetch:success":b[1]||(b[1]=S=>v.$emit("fetch:success",S)),onLoading:b[2]||(b[2]=S=>v.$emit("loading",S))},{name:t.withCtx(S=>[t.createElementVNode("div",KB,[t.createVNode(si,{class:"plugin-icon",name:t.unref(s)("rowValue",S),width:24},null,8,["name"]),t.createElementVNode("span",qB,t.toDisplayString(t.unref(r).getDisplayName(t.unref(s)("rowValue",S))),1)])]),consumer:t.withCtx(S=>[t.unref(s)("rowValue",S)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref($t),{key:1,item:{key:t.unref(s)("rowValue",S).id,value:t.unref(s)("rowValue",S).id,type:t.unref(_).LinkInternal},onNavigationClick:()=>v.$emit("navigation-click",t.unref(s)("rowValue",S).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(B,{key:2,"copy-tooltip":t.unref(a)("copy.tooltip",{label:t.unref(s)("row",S).label}),"data-testid":"consumer-copy-uuid",text:t.unref(s)("rowValue",S).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",XB,"–"))]),route:t.withCtx(S=>[t.unref(s)("rowValue",S)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref($t),{key:1,item:{key:t.unref(s)("rowValue",S).id,value:t.unref(s)("rowValue",S).id,type:t.unref(_).LinkInternal},onNavigationClick:()=>v.$emit("navigation-click",t.unref(s)("rowValue",S).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(B,{key:2,"copy-tooltip":t.unref(a)("copy.tooltip",{label:t.unref(s)("row",S).label}),"data-testid":"route-copy-uuid",text:t.unref(s)("rowValue",S).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",JB,"–"))]),service:t.withCtx(S=>[t.unref(s)("rowValue",S)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref($t),{key:1,item:{key:t.unref(s)("rowValue",S).id,value:t.unref(s)("rowValue",S).id,type:t.unref(_).LinkInternal},onNavigationClick:()=>v.$emit("navigation-click",t.unref(s)("rowValue",S).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(B,{key:2,"copy-tooltip":t.unref(a)("copy.tooltip",{label:t.unref(s)("row",S).label}),"data-testid":"service-copy-uuid",text:t.unref(s)("rowValue",S).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",ZB,"–"))]),consumer_group:t.withCtx(S=>[t.unref(s)("rowValue",S)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref($t),{key:1,item:{key:t.unref(s)("rowValue",S).id,value:t.unref(s)("rowValue",S).id,type:t.unref(_).LinkInternal},onNavigationClick:()=>v.$emit("navigation-click",t.unref(s)("rowValue",S).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(B,{key:2,"copy-tooltip":t.unref(a)("copy.tooltip",{label:t.unref(s)("row",S).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(s)("rowValue",S).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",WB,"–"))]),_:1},8,["config","config-card-doc","config-schema","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-3e4f66ec"]]),{usePluginMetaData:_B}=Ae;Z.EntityTypeIdField=St,Z.PLUGIN_GROUPS_COLLAPSE_STATUS=Wa,Z.PluginConfigCard=QB,Z.PluginForm=Gk,Z.PluginGroup=D,Z.PluginGroupArray=Za,Z.PluginIcon=si,Z.PluginList=lB,Z.PluginScope=u,Z.PluginSelect=FB,Z.PluginSelectCard=On,Z.PluginSelectGrid=mo,Z.VueFormGenerator=Pe,Z.getPluginIconURL=ir,Z.pluginEndpoints=Ee,Z.usePluginMetaData=_B,Object.defineProperty(Z,Symbol.toStringTag,{value:"Module"})});
|