@kong-ui-public/entities-gateway-services 2.7.1 → 2.7.2

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.
@@ -478,7 +478,7 @@ function qr(e, i, t, a = {
478
478
  fetchedItemsKey: "data",
479
479
  searchKeys: ["id"]
480
480
  }) {
481
- t || (t = "100");
481
+ t || (t = "1000");
482
482
  const { axiosInstance: r } = It({
483
483
  headers: e.requestHeaders
484
484
  }), { i18n: { t: n } } = xt(), { debounce: o } = Sr(), s = o(async (w) => {
@@ -1,4 +1,4 @@
1
- (function(ee,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("vue-router"),require("@kong-ui-public/i18n"),require("axios"),require("@kong/kongponents")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router","@kong-ui-public/i18n","axios","@kong/kongponents"],t):(ee=typeof globalThis<"u"?globalThis:ee||self,t(ee["kong-ui-public-entities-gateway-services"]={},ee.Vue,ee.VueRouter,ee["kong-ui-public-i18n"],ee.axios,ee.Kongponents))})(this,function(ee,t,Ke,Ee,lt,Ao){"use strict";const Eo={actions:{create:"New Gateway Service",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",clear:"Clear",view:"View Details",enable:{enabled_label:"Enabled",disabled_label:"Disabled"},delete:{title:"Delete a Gateway Service",description:"Deleting this Gateway Service will also remove any associated routes and plugins. This action cannot be reversed.",menu_label:"Delete"}},search:{placeholder:{konnect:"Filter by name",kongManager:"Filter by exact name or ID"}},gateway_services:{title:"Gateway Services",list:{toolbar_actions:{new_gateway_service:"New Gateway Service"},table_headers:{name:"Name",control_plane:"Control Plane",protocol:"Protocol",host:"Host",port:"Port",path:"Path",enabled:"Enabled",tags:"Tags",id:"ID"},empty_state:{title:"Configure a New Gateway Service",description:"Gateway services are used to proxy traffic."}},form:{sections:{general:{title:"General Information",description:"General information will help identify and manage this Gateway Service."},keys:{title:"Service Endpoint",description:"Define the endpoint for this service by specifying the full URL or by its separate elements.",checkedGroupLabel:"Choose how and where to send traffic",urlLabel:"Full URL",checkedGroupAltLabel:"Protocol, Host, Port and Path",viewAdvancedFields:"View Advanced Fields"}},fields:{upstream_url:{label:"Upstream URL",placeholder:"Enter a URL",tooltip_for_konnect:"This is the URL of the API you will manage in Konnect.",tooltip_for_km:"This is the URL of the API you will manage in Kong Gateway."},name:{label:"Name",placeholder:"Enter a unique name",tooltip:"The Service name."},protocol:{label:"Protocol",tooltip:"The protocol used to communicate with the upstream.",options:{http:"http",https:"https",tcp:"tcp",tls:"tls",tls_passthrough:"tls_passthrough",grpc:"grpc",grpcs:"grpcs",ws:"ws",wss:"wss",udp:"udp"}},host:{label:"Host",placeholder:"Enter a host",tooltip:"The host of the upstream server. Note that the host value is case sensitive."},path:{label:"Path",placeholder:"Enter a path",tooltip:"The path to be used in request to the upstream server."},port:{label:"Port",tooltip:"The upstream server port."},retries:{label:"Retries",tooltip:"The number of retries to execute upon failure to proxy."},connect_timeout:{label:"Connection Timeout",tooltip:"The timeout in milliseconds for establishing a connection to the upstream server."},write_timeout:{label:"Write Timeout",tooltip:"The timeout in milliseconds between two successive write operations for transmitting a request to the upstream server."},read_timeout:{label:"Read Timeout",tooltip:"The timeout in milliseconds between two successive read operations for transmitting a request to the upstream server."},client_certificate:{label:"Client Certificate",placeholder:"Enter a Certificate ID",tooltip:"Certificate to be used as client certificate while TLS handshaking to the upstream server."},ca_certificates:{label:"CA Certificates",placeholder:"Enter a comma separated list of CA Certificate IDs",tooltip:"Array of {code1} object UUIDs that are used to build the trust store while verifying upstream server's TLS certificate. If set to {code2} when Nginx default is respected. If default CA list in Nginx are not specified and TLS verification is enabled, then handshake with upstream server will always fail (because no CA are trusted).",code1:"CA Certificate",code2:"null"},tls_verify_enabled:{label:"TLS Verify",help:"If unchecked, use default system setting",tooltip:"Whether to enable verification of upstream server TLS certificate. If set to {code1}, then the Nginx default is respected.",code1:"null"},tls_verify_option:{unset:{display:"Use default system setting"},true:{label:"True",display:"On"},false:{label:"False",display:"Off"}},tags:{label:"Tags",tooltip:"An optional set of strings associated with the Service for grouping and filtering.",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3"},enabled:{label:"Enabled",tooltip:"Whether the Service is active. If set to {false}, the proxy behavior will be as if any routes attached to it do not exist (404). Default: {true}.",false:"false",true:"true"}}}},errors:{general:"Gateway Services could not be retrieved",delete:"The gateway service could not be deleted at this time.",copy:"Failed to copy to clipboard",urlErrorMessage:"Error: invalid URL",validationNameError:"The name can be any string containing letters, numbers, or the following characters: ., -, _, or ~. Do not use spaces."},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},glossary:{gateway_services:"gateway services"}};function To(){const e=Ee.createI18n("en-us",Eo);return{i18n:e,i18nT:Ee.i18nTComponent(e)}}function jo(){return{getPortFromProtocol:(r,o)=>{const i=[80,443],n=Number(o);if((n||n===0)&&!i.includes(n))return n;switch(r){case"grpcs":case"tls":case"https":case"wss":return 443;case"grpc":case"tcp":case"http":case"ws":default:return 80}}}}const Te={useI18n:To,usePortFromProtocol:jo},ke={list:{konnect:{all:"/v2/control-planes/{controlPlaneId}/core-entities/services"},kongManager:{all:"/{workspace}/services"}},form:{konnect:{create:"/api/runtime_groups/{controlPlaneId}/services",validate:"/api/runtime_groups/{controlPlaneId}/v1/schemas/json/service/validate",edit:"/api/runtime_groups/{controlPlaneId}/services/{id}"},kongManager:{create:"/{workspace}/services",validate:"/{workspace}/schemas/services/validate",edit:"/{workspace}/services/{id}"}}};var st=(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))(st||{}),Pe=(e=>(e.Edit="edit",e.Create="create",e))(Pe||{}),ce=(e=>(e[e.Loading=0]="Loading",e[e.Idle=1]="Idle",e[e.NoResults=2]="NoResults",e[e.Error=3]="Error",e))(ce||{}),K=(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))(K||{}),G=(e=>(e.Basic="basic",e.Advanced="advanced",e.Plugin="plugin",e))(G||{});function Mo(){return{getAxiosInstance:(e={})=>{try{const r=t.inject("get-axios-instance",void 0);return typeof r=="function"?r(e):lt.create({withCredentials:!0,timeout:3e4,...e})}catch(r){return console.warn("getAxiosInstance:",r.message||r),lt.create({withCredentials:!0,timeout:3e4,...e})}},getTraceIdFromError:e=>{var r;return((r=e==null?void 0:e.response)==null?void 0:r.headers["x-datadog-trace-id"])||""}}}function $o(){return{debounce:(e,r)=>{let o;return(...i)=>{clearTimeout(o),o=window==null?void 0:window.setTimeout(()=>{e(...i)},r)}}}}const Ue="khcp-user-table-preferences",Fo={pageSize:30,sortColumnKey:void 0,sortColumnOrder:void 0};function Oo(){const e=o=>{if(typeof o=="string")try{return JSON.parse(o)}catch(i){console.error("useTablePreferences(tryParseJson)",i);return}},r=()=>{const o=e(localStorage.getItem(Ue));return!o||!Object.keys(o).length?new Map:new Map(Object.entries(o))};return{setTablePreferences:(o,i)=>{try{const n=r();n.set(o,i),localStorage.setItem(Ue,JSON.stringify(Object.fromEntries(n.entries())))}catch(n){console.error("useTablePreferences(setTablePreferences)",n)}},getTablePreferences:o=>{const i=r();return(i==null?void 0:i.get(o))||void 0||Fo},deleteAllTablePreferences:()=>{localStorage.removeItem(Ue)}}}function Re(e={}){const{getAxiosInstance:r}=Mo();return{axiosInstance:r(e)}}const Lo={actions:{copyId:"Copy ID",copied_id:'Copied "{id}" to the clipboard',copyToClipboard:"Copied successfully!",copyToClipboardFailed:"Failed to copy to the clipboard"}},Do={message:"Are you sure you want to delete this {entityType}?",messageWithName:"Are you sure you want to delete this {entityType} {entityName}?"},qo={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."}},Ko={emptyState:{noSearchResultsTitle:"No results found",noSearchResultsMessage:"Please adjust the criteria and try again.",noSearchResultsCtaText:"Clear"}},Po={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"}},Uo={filterButtonText:"Filter",fieldLabel:"Filter by:",inputPlaceholder:"Enter a value",selectPlaceholder:"Select an item",applyButtonText:"Apply",clearButtonText:"Clear",clearAllButtonText:"Clear all filters"},Ro={errors:{fetch:"Could not fetch available items",invalid:"Please select a valid value"}},zo={unexpected:"An unexpected error has occurred",dataKeyUndefined:'The data key "{dataKey}" does not exist in the response.'},Ho={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"}},Jo={global:Lo,deleteModal:Do,baseForm:qo,baseTable:Ko,baseConfigCard:Po,filter:Uo,debouncedFilter:Ro,errors:zo,toggleModal:Ho};function ze(){const e=Ee.createI18n("en-us",Jo);return{i18n:e,i18nT:Ee.i18nTComponent(e)}}function ct(){const e=(o,i)=>(i==null?void 0:i[o])??void 0,r=(o,i)=>{if(o.length!==i.length)return!1;const n=new Set([...o,...i]);for(const l of n){const a=o.filter(s=>s===l).length,c=i.filter(s=>s===l).length;if(a!==c)return!1}return!0};return{getPropValue:e,objectsAreEqual:(o,i,n)=>{if(n){if(Object.keys(o).length===Object.keys(i).length)for(const l in o)if(Array.isArray(o[l])&&Array.isArray(i[l])){if(r(o[l],i[l]))continue;return!1}else{if(o[l]===i[l])continue;return!1}else return!1;return!0}try{return JSON.stringify(o)===JSON.stringify(i)}catch{return!1}},sortAlpha:o=>(i,n)=>{let l=i[o]===void 0||i[o]===null?"":i[o],a=n[o]===void 0||n[o]===null?"":n[o];return Array.isArray(i[o])&&(l=i[o][0]),Array.isArray(n[o])&&(a=n[o][0]),l.localeCompare(a)},isValidUuid:o=>o?/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/.test(o):!1}}function Go(e,r,o,i={fetchedItemsKey:"data",searchKeys:["id"]}){o||(o="100");const{axiosInstance:n}=Re({headers:e.requestHeaders}),{i18n:{t:l}}=ze(),{debounce:a}=$o(),c=a(async b=>{await d(b)},200),s=t.ref(!1),u=t.ref(""),g=t.ref(""),f=t.ref([]),w=t.ref([]),h=t.ref(void 0),S=t.unref(r);let C=`${e.apiBaseUrl}${S}`;e.app==="konnect"?C=C.replace(/{controlPlaneId}/gi,(e==null?void 0:e.controlPlaneId)||""):e.app==="kongManager"&&(C=C.replace(/\/{workspace}/gi,e!=null&&e.workspace?`/${e.workspace}`:""));const{isValidUuid:x}=ct(),M=async()=>{try{s.value=!0;const{data:b}=await n.get(`${C}?size=${o}`);b!=null&&b.next||(h.value=i.fetchedItemsKey in b?b[i.fetchedItemsKey]:[]),w.value=i.fetchedItemsKey in b?b[i.fetchedItemsKey]:[],f.value=w.value}catch{f.value=[],u.value=l("debouncedFilter.errors.fetch")}finally{s.value=!1}},E=t.ref(""),d=async b=>{var _,y,I;if(E.value!==b)if(E.value=b||"",h.value===void 0)try{if(s.value=!0,u.value="",g.value="",e.app==="konnect"){let j=C+"";b&&(j+=`/${b}`);const{data:N}=await n.get(`${j}?size=${o}`);i.fetchedItemsKey in N?f.value=N[i.fetchedItemsKey]:N!=null&&N.id?f.value=[N]:f.value=[]}else if(b){const j=[];x(b)&&i.searchKeys.includes("id")?j.push((async()=>{const{data:A}=await n.get(`${C}/${b}`);return[A[i.fetchedItemsKey]??A]})()):j.push(...i.searchKeys.filter(A=>A!=="id").map(async A=>{const{data:B}=await n.get(`${C}?${A}=${b}`);return B[i.fetchedItemsKey]}));const N=await Promise.all(j),F=new Set;f.value=[],(_=N==null?void 0:N.forEach)==null||_.call(N,A=>{var B;(B=A==null?void 0:A.forEach)==null||B.call(A,O=>{F.has(O.id)||(F.add(O.id),f.value.push(O))})})}else f.value=w.value}catch(j){((y=j==null?void 0:j.response)==null?void 0:y.status)===404?g.value=l("debouncedFilter.errors.invalid"):(f.value=[],u.value=l("debouncedFilter.errors.fetch"))}finally{s.value=!1}else s.value=!0,g.value="",b?(f.value=(I=h.value)==null?void 0:I.filter(j=>{var N;let F=!1;for(const A of i.searchKeys){const B=typeof j[A]=="string"?(N=j[A])==null?void 0:N.toLowerCase():j[A];B!=null&&B.includes(b.toLowerCase())&&(F=!0)}return F}),(!f.value||!f.value.length)&&(g.value=l("debouncedFilter.errors.invalid"))):f.value=h.value,s.value=!1};return{loading:s,error:u,validationError:g,results:f,allRecords:h,loadItems:M,debouncedQueryChange:c}}function Wo(e,r){const o=t.unref(r),i=t.computed(()=>e.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${o}`):new URL(o));return i.value.search="",n=>`${i.value.href}/${n}`}function Yo(){const{i18n:{t:e}}=ze();return{getMessageFromError:r=>{var o,i,n,l;if(!r)return e("errors.unexpected");if(((o=r==null?void 0:r.response)==null?void 0:o.status)===401)return console.warn("getMessageFromError: User auth token is expired or missing, returning empty message."),"";if((i=r==null?void 0:r.response)!=null&&i.data){if(r.response.data.detail)return r.response.data.detail;if((n=r.response.data.details)!=null&&n.length)return r.response.data.details.map(a=>{let c=e("errors.unexpected");return a.messages&&typeof a.messages=="object"&&a.messages.length&&(c=a.messages.join(", ")),a.field?`${a.field} - ${c}`:c}).join("; ");if(r.response.data.message){const{message:a}=r.response.data;return Array.isArray(a)?(l=a[0])!=null&&l.constraints?Object.values(a[0].constraints)[0]:a[0]:a}if(typeof r.response.data=="string")return r.response.data;if(typeof r.response.data=="object")return Object.keys(r.response.data).map(a=>`${a} ${r.response.data[a]}`).join(", ")}return r.message||e("errors.unexpected")}}}function Zo(e){const r=window.location.origin,o=r.endsWith("/")?r:`${r}/`;try{const i=e.join("/"),n=`${o}${i}`,l=e.some(a=>a.trim()==="");if(/^(https:\/\/(www\.)?([a-zA-Z0-9-]+\.){1,}[a-zA-Z]{2,}(:[0-9]+)?(\/[^\/]+)*)$|^(https|http):\/\/localhost(:[0-9]+)?(\/[^\/]+)*$/.test(n)&&!l&&new URL(n))return`${o}${i}`;throw new Error("Invalid url")}catch(i){return console.warn("Failed to build valid URL:",i),""}}function dt(e,r){const o=t.ref(t.unref(e)),i=t.ref(t.unref(r)),n=t.computed(()=>!!(o.value.app==="konnect"||o.value.isExactMatch)),l=t.computed(()=>i.value.startsWith("/")?new URL(`${window.location.origin}${i.value}`):new URL(i.value));return a=>{const{page:c,pageSize:s,offset:u,sortColumnKey:g,sortColumnOrder:f,query:w}=a;try{let h=new URL(l.value.href);return n.value&&w?(h.search="",h=o.value.isExactMatch?new URL(`${h.href}/${w}/`):new URL(`${h.href}?filter[name][contains]=${w}`)):(n.value||new URLSearchParams(w).forEach((S,C)=>{h.searchParams.append(C,S)}),g&&h.searchParams.append("sort_by",g),f==="desc"&&h.searchParams.append("sort_desc","1"),h.searchParams.append("size",String(s))),u&&c!==1&&h.searchParams.append("offset",String(u)),h.href}catch(h){return console.error("RouteList(fetcher)",h),i.value}}}function Qo(e,r,o="data"){var i;const n=t.unref(r),{axiosInstance:l}=Re({...e.axiosRequestConfig,headers:{...(i=e.axiosRequestConfig)==null?void 0:i.headers,...e.requestHeaders}}),a=dt(e,n),c=t.ref({status:ce.Idle});return{fetcher:async s=>{var u;try{c.value={status:ce.Loading};let g=a(s);g.includes("filter[name]")&&(g=`${g}&page[size]=${s.pageSize}&page[number]=${s.page}`);const f=await l.get(g);if(f.status>=400)throw f;const w=f.data,h=o&&o.replace(/[^\w-_]/gi,"");let S;w[h]&&Array.isArray(w[h])?S=w[h]:Array.isArray(w)?S=w:S=Object.keys(w).length?[w]:[];const C={data:S,total:S.length,...w.offset?{pagination:{offset:w.offset}}:null};return c.value={status:ce.Idle,response:C},C}catch(g){const f={data:[],total:0};return s.query&&(((u=g.response)==null?void 0:u.status)===404||g.status===404)?(c.value={status:ce.NoResults,response:f,error:g.response?g:{response:g}},f):(c.value={status:ce.Error,response:f,error:g.response?g:{response:g}},f)}},fetcherState:c}}function Xo(){const e=(o,i="_")=>o?o.split(i).map(n=>n.toLowerCase()==="id"?n.toUpperCase():n.charAt(0).toUpperCase()+n.substring(1)).join(" "):"",r=/(?:^|[\s-:'"])\w/g;return{capitalize:o=>o?o.replace(r,i=>i.toUpperCase()):"",convertKeyToTitle:e}}const pt=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,ut=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const r=e.match(pt);if(!r)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return r.shift(),r},ft=e=>e==="*"||e==="x"||e==="X",mt=e=>{const r=parseInt(e,10);return isNaN(r)?e:r},er=(e,r)=>typeof e!=typeof r?[String(e),String(r)]:[e,r],tr=(e,r)=>{if(ft(e)||ft(r))return 0;const[o,i]=er(mt(e),mt(r));return o>i?1:o<i?-1:0},gt=(e,r)=>{for(let o=0;o<Math.max(e.length,r.length);o++){const i=tr(e[o]||"0",r[o]||"0");if(i!==0)return i}return 0},or=(e,r)=>{const o=ut(e),i=ut(r),n=o.pop(),l=i.pop(),a=gt(o,i);return a!==0?a:n&&l?gt(n.split("."),l.split(".")):n||l?n?-1:1:0},yt=(e,r,o)=>{rr(o);const i=or(e,r);return ht[o].includes(i)},ht={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},bt=Object.keys(ht),rr=e=>{if(typeof e!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof e}`);if(bt.indexOf(e)===-1)throw new Error(`Invalid operator, expected one of ${bt.join("|")}`)},nr=e=>typeof e=="string"&&/^[v\d]/.test(e)&&pt.test(e);function ir(e){const{gatewayInfo:r,supportedRange:o}=e;if(!r)return!0;const{edition:i,version:n}=r;if(!nr(n))return console.error("Invalid version"),!1;const l=o[i];if(!l)return!1;const[a,c]=l;return!(a&&yt(n,a,"<")||c&&yt(n,c,">"))}function ar(e){const r=t.ref(0),o=t.ref(0),i=t.ref(!1);return t.watch(e,n=>{n&&!i.value&&(r.value=n.offsetWidth,o.value=n.scrollWidth,i.value=!0)}),{isTruncated:t.computed(()=>r.value<o.value)}}const R={useAxios:Re,useDebouncedFilter:Go,useDeleteUrlBuilder:Wo,useErrors:Yo,useExternalLinkCreator:Zo,useFetcher:Qo,useFetchUrlBuilder:dt,useHelpers:ct,useStringHelpers:Xo,useI18n:ze,useGatewayFeatureSupported:ir,useTruncationDetector:ar},lr={key:0,class:"config-card-fieldset-title"},sr=t.defineComponent({__name:"JsonCardItem",props:{item:{type:Object,required:!0},index:{type:Number,default:-1},isArrayItem:{type:Boolean,default:!1}},setup(e){const r=e,{i18n:{t:o}}=R.useI18n(),{convertKeyToTitle:i}=R.useStringHelpers(),n=t.computed(()=>r.item.key??"json-array-item"),l=t.computed(()=>r.item.value??r.item),a=t.computed(()=>{const s=JSON.parse(JSON.stringify(l.value));return r.isArrayItem&&delete s.name,s}),c=t.computed(()=>{var s;return r.isArrayItem?(s=l.value)!=null&&s.name?i(l.value.name,"_"):o("baseConfigCard.general.entryTitle",{index:r.index}):""});return(s,u)=>(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",lr,[t.createElementVNode("b",null,t.toDisplayString(c.value),1)])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(a.value),(g,f)=>(t.openBlock(),t.createBlock(kt,{key:`${n.value}-property-${f}`,item:{key:g,label:t.unref(i)(g),value:a.value[g]}},null,8,["item"]))),128))]),_:1},8,["class"]))}}),oe=(e,r)=>{const o=e.__vccOpts||e;for(const[i,n]of r)o[i]=n;return o},wt=oe(sr,[["__scopeId","data-v-68ca83ec"]]),cr=t.defineComponent({__name:"InternalLinkItem",props:{item:{type:Object,required:!0}},emits:["navigation-click"],setup(e){const{i18n:{t:r}}=R.useI18n();return(o,i)=>{const n=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(n,{appearance:"tertiary",class:"navigation-button",onClick:i[0]||(i[0]=l=>o.$emit("navigation-click",e.item))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.item.value||t.unref(r)("baseConfigCard.commonFields.link")),1)]),_:1})])}}}),dr=oe(cr,[["__scopeId","data-v-c96811e5"]]),pr=t.defineComponent({__name:"StatusBadge",props:{status:{type:Boolean,default:!1}},setup(e){const{i18n:{t:r}}=R.useI18n();return(o,i)=>{const n=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(n,{appearance:e.status?"success":"neutral"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.status?t.unref(r)("baseConfigCard.statusBadge.enabledLabel"):t.unref(r)("baseConfigCard.statusBadge.disabledLabel")),1)]),_:1},8,["appearance"])}}}),ur="#0044f4",fr="#e0e4ea",mr="#3a3f51",gr="#afb7c5",yr="1px",hr="20px",br={class:"config-card-details-row"},wr=["data-testid"],kr=["data-testid"],Cr=["data-testid"],_r=["data-testid"],Sr={key:1},xr=["data-testid"],Nr=["data-testid"],Vr=["data-testid"],vr=["data-testid"],Br={name:"ConfigCardItem",components:{JsonCardItem:wt,StatusBadge:pr,InternalLinkItem:dr}},Ir=t.defineComponent({...Br,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:r}){t.useCssVars(S=>({"07753575":g.value?"none":`solid ${t.unref(yr)} ${t.unref(fr)}`,"32d44ea8":u.value&&c.value?"block":"flex","5036b738":u.value&&c.value?"100%":o.slim?"50%":"25%","5038fd13":u.value&&c.value?"100%":o.slim?"50%":"75%"}));const o=e,i=r,n=t.useSlots(),{i18n:{t:l,formatUnixTimeStamp:a}}=R.useI18n(),c=t.computed(()=>o.item.value!==void 0&&o.item.value!==null&&o.item.value!==""),s=t.computed(()=>!!(o.item.tooltip||n["label-tooltip"])),u=t.computed(()=>o.item.type===K.Json||o.item.type===K.JsonArray),g=t.computed(()=>o.item.type===K.JsonArray),f=t.computed(()=>{switch(o.item.type){case K.ID:return{tag:"KCopy",attrs:{"data-testid":`${o.item.key}-copy-uuid`,"copy-tooltip":l("baseConfigCard.copy.tooltip",{label:o.item.label}),text:o.item.value}};case K.IdArray:return{tag:"div",additionalComponent:"KCopy",childAttrs:{"copy-tooltip":l("baseConfigCard.copy.tooltip",{label:o.item.label})}};case K.Redacted:return{tag:"KCopy",attrs:{"data-testid":`${o.item.key}-copy-uuid-redacted`,format:"redacted","copy-tooltip":l("baseConfigCard.copy.tooltip",{label:o.item.label}),text:o.item.value}};case K.RedactedArray:return{tag:"div",additionalComponent:"KCopy",childAttrs:{format:"redacted","copy-tooltip":l("baseConfigCard.copy.tooltip",{label:o.item.label})}};case K.Date:return{tag:"div",attrs:{"data-testid":`${o.item.key}-date`},text:a(o.item.value)};case K.BadgeStatus:return{tag:"StatusBadge",attrs:{"data-testid":`${o.item.key}-badge-status`,status:o.item.value}};case K.BadgeTag:return{tag:"div",additionalComponent:"KBadge"};case K.BadgeMethod:return{tag:"div",additionalComponent:"KMethodBadge"};case K.LinkInternal:return{tag:"InternalLinkItem",attrs:{"data-testid":`${o.item.key}-internal-link`,item:o.item,onNavigationClick:S=>{i("navigation-click",S)}}};case K.LinkExternal:return{tag:"KExternalLink",attrs:{"data-testid":`${o.item.key}-external-link`,href:o.item.value},text:o.item.value};case K.Json:return{tag:"JsonCardItem",attrs:{"data-testid":`${o.item.key}-json-content`,item:o.item}};case K.JsonArray:return{tag:"div",additionalComponent:"JsonCardItem",attrs:{"data-testid":`${o.item.key}-json-array-content`,item:o.item}};default:return{tag:"div",attrs:{"data-testid":`${o.item.key}-plain-text`},text:o.item.value}}}),w=t.ref(),{isTruncated:h}=R.useTruncationDetector(w);return(S,C)=>{const x=t.resolveComponent("KLabel"),M=t.resolveComponent("KBadge"),E=t.resolveComponent("KCopy"),d=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",br,[t.createElementVNode("div",{class:"config-card-details-label","data-testid":`${e.item.key}-label`},[t.renderSlot(S.$slots,"label",{item:e.item},()=>[t.createVNode(x,{"tooltip-attributes":{maxWidth:"500px"}},t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.item.label)+" ",1)]),_:2},[s.value?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{"data-testid":`${e.item.key}-label-tooltip`},[t.renderSlot(S.$slots,"label-tooltip",{},()=>[t.createTextVNode(t.toDisplayString(e.item.tooltip),1)],!0)],8,kr)]),key:"0"}:void 0]),1024)],!0)],8,wr),t.createElementVNode("div",{class:"config-card-details-value","data-testid":`${e.item.key}-property-value`},[t.renderSlot(S.$slots,e.item.key,{rowValue:e.item.value},()=>[c.value?(t.openBlock(),t.createElementBlock("div",Sr,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(f.value.tag),t.normalizeProps(t.guardReactiveProps(f.value.attrs)),{default:t.withCtx(()=>[f.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,_)=>(t.openBlock(),t.createBlock(M,{key:`${e.item.key}-badge-tag-${_}`,class:"config-badge","data-testid":`${e.item.key}-badge-tag-${_}`,tooltip:b,"truncation-tooltip":""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(b),1)]),_:2},1032,["data-testid","tooltip"]))),128))],8,xr)):t.createCommentVNode("",!0),f.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,_)=>(t.openBlock(),t.createBlock(E,t.mergeProps(f.value.childAttrs,{key:`${e.item.key}-copy-uuid-${_}`,"data-testid":`${e.item.key}-copy-uuid-${_}`,text:b}),null,16,["data-testid","text"]))),128))],8,Nr)):f.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,_)=>(t.openBlock(),t.createBlock(M,{key:`${e.item.key}-badge-method-${_}`,appearance:Object.values(t.unref(Ao.BadgeMethodAppearances)).includes(b.toLowerCase())?b.toLowerCase():"custom",class:"config-badge","data-testid":`${e.item.key}-badge-method-${_}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(b),1)]),_:2},1032,["appearance","data-testid"]))),128))],8,Vr)):t.createCommentVNode("",!0),f.value.additionalComponent==="JsonCardItem"?(t.openBlock(),t.createElementBlock("div",{key:3,"data-testid":`${o.item.key}-json-array-content`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(b,_)=>(t.openBlock(),t.createBlock(wt,{key:`json-array-item-${_}`,index:_,"is-array-item":"",item:b},null,8,["index","item"]))),128))],8,vr)):(t.openBlock(),t.createBlock(d,{key:4,text:t.unref(h)?e.item.value:""},{default:t.withCtx(()=>[t.createElementVNode("span",{ref_key:"textContent",ref:w,class:t.normalizeClass(["attrs-data-text",{truncated:e.truncated}])},t.toDisplayString(f.value.text),3)]),_:1},8,["text"]))]),_:1},16))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${e.item.key}-no-value`}," – ",8,_r))],!0)],8,Cr)])}}}),kt=oe(Ir,[["__scopeId","data-v-d056663c"]]),Ar={class:"json-config"},Er={key:0,class:"json-endpoint"},Ct=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(n=>({"954d3eca":`${i.value}ch`}));const r=e,o=t.computed(()=>r.jsonRecord),i=t.computed(()=>{var n;if(!r.fetcherUrl)return 0;const l=(n=r.fetcherUrl)==null?void 0:n.split("/");return l.length<2?0:41+(r.requestMethod==="post"?l[l.length-1]:l[l.length-2]).length});return(n,l)=>{const a=t.resolveComponent("KBadge"),c=t.resolveComponent("KCodeBlock");return t.openBlock(),t.createElementBlock("div",Ar,[r.fetcherUrl?(t.openBlock(),t.createElementBlock("div",Er,[t.createVNode(a,{appearance:r.requestMethod},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(r.requestMethod),1)]),_:1},8,["appearance"]),t.createVNode(c,{id:"json-endpoint-codeblock",code:r.fetcherUrl,"is-single-line":"",language:"json",theme:"dark"},null,8,["code"])])):t.createCommentVNode("",!0),r.jsonRecord?(t.openBlock(),t.createBlock(c,{key:1,id:"json-codeblock",class:t.normalizeClass({"json-content":r.fetcherUrl}),code:JSON.stringify(o.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 _t(e){return typeof e>"u"||e===null}function Tr(e){return typeof e=="object"&&e!==null}function jr(e){return Array.isArray(e)?e:_t(e)?[]:[e]}function Mr(e,r){var o,i,n,l;if(r)for(l=Object.keys(r),o=0,i=l.length;o<i;o+=1)n=l[o],e[n]=r[n];return e}function $r(e,r){var o="",i;for(i=0;i<r;i+=1)o+=e;return o}function Fr(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var Or=_t,Lr=Tr,Dr=jr,qr=$r,Kr=Fr,Pr=Mr,z={isNothing:Or,isObject:Lr,toArray:Dr,repeat:qr,isNegativeZero:Kr,extend:Pr};function St(e,r){var o="",i=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(o+='in "'+e.mark.name+'" '),o+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!r&&e.mark.snippet&&(o+=`
1
+ (function(ee,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("vue-router"),require("@kong-ui-public/i18n"),require("axios"),require("@kong/kongponents")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router","@kong-ui-public/i18n","axios","@kong/kongponents"],t):(ee=typeof globalThis<"u"?globalThis:ee||self,t(ee["kong-ui-public-entities-gateway-services"]={},ee.Vue,ee.VueRouter,ee["kong-ui-public-i18n"],ee.axios,ee.Kongponents))})(this,function(ee,t,Ke,Ee,lt,Ao){"use strict";const Eo={actions:{create:"New Gateway Service",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",clear:"Clear",view:"View Details",enable:{enabled_label:"Enabled",disabled_label:"Disabled"},delete:{title:"Delete a Gateway Service",description:"Deleting this Gateway Service will also remove any associated routes and plugins. This action cannot be reversed.",menu_label:"Delete"}},search:{placeholder:{konnect:"Filter by name",kongManager:"Filter by exact name or ID"}},gateway_services:{title:"Gateway Services",list:{toolbar_actions:{new_gateway_service:"New Gateway Service"},table_headers:{name:"Name",control_plane:"Control Plane",protocol:"Protocol",host:"Host",port:"Port",path:"Path",enabled:"Enabled",tags:"Tags",id:"ID"},empty_state:{title:"Configure a New Gateway Service",description:"Gateway services are used to proxy traffic."}},form:{sections:{general:{title:"General Information",description:"General information will help identify and manage this Gateway Service."},keys:{title:"Service Endpoint",description:"Define the endpoint for this service by specifying the full URL or by its separate elements.",checkedGroupLabel:"Choose how and where to send traffic",urlLabel:"Full URL",checkedGroupAltLabel:"Protocol, Host, Port and Path",viewAdvancedFields:"View Advanced Fields"}},fields:{upstream_url:{label:"Upstream URL",placeholder:"Enter a URL",tooltip_for_konnect:"This is the URL of the API you will manage in Konnect.",tooltip_for_km:"This is the URL of the API you will manage in Kong Gateway."},name:{label:"Name",placeholder:"Enter a unique name",tooltip:"The Service name."},protocol:{label:"Protocol",tooltip:"The protocol used to communicate with the upstream.",options:{http:"http",https:"https",tcp:"tcp",tls:"tls",tls_passthrough:"tls_passthrough",grpc:"grpc",grpcs:"grpcs",ws:"ws",wss:"wss",udp:"udp"}},host:{label:"Host",placeholder:"Enter a host",tooltip:"The host of the upstream server. Note that the host value is case sensitive."},path:{label:"Path",placeholder:"Enter a path",tooltip:"The path to be used in request to the upstream server."},port:{label:"Port",tooltip:"The upstream server port."},retries:{label:"Retries",tooltip:"The number of retries to execute upon failure to proxy."},connect_timeout:{label:"Connection Timeout",tooltip:"The timeout in milliseconds for establishing a connection to the upstream server."},write_timeout:{label:"Write Timeout",tooltip:"The timeout in milliseconds between two successive write operations for transmitting a request to the upstream server."},read_timeout:{label:"Read Timeout",tooltip:"The timeout in milliseconds between two successive read operations for transmitting a request to the upstream server."},client_certificate:{label:"Client Certificate",placeholder:"Enter a Certificate ID",tooltip:"Certificate to be used as client certificate while TLS handshaking to the upstream server."},ca_certificates:{label:"CA Certificates",placeholder:"Enter a comma separated list of CA Certificate IDs",tooltip:"Array of {code1} object UUIDs that are used to build the trust store while verifying upstream server's TLS certificate. If set to {code2} when Nginx default is respected. If default CA list in Nginx are not specified and TLS verification is enabled, then handshake with upstream server will always fail (because no CA are trusted).",code1:"CA Certificate",code2:"null"},tls_verify_enabled:{label:"TLS Verify",help:"If unchecked, use default system setting",tooltip:"Whether to enable verification of upstream server TLS certificate. If set to {code1}, then the Nginx default is respected.",code1:"null"},tls_verify_option:{unset:{display:"Use default system setting"},true:{label:"True",display:"On"},false:{label:"False",display:"Off"}},tags:{label:"Tags",tooltip:"An optional set of strings associated with the Service for grouping and filtering.",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3"},enabled:{label:"Enabled",tooltip:"Whether the Service is active. If set to {false}, the proxy behavior will be as if any routes attached to it do not exist (404). Default: {true}.",false:"false",true:"true"}}}},errors:{general:"Gateway Services could not be retrieved",delete:"The gateway service could not be deleted at this time.",copy:"Failed to copy to clipboard",urlErrorMessage:"Error: invalid URL",validationNameError:"The name can be any string containing letters, numbers, or the following characters: ., -, _, or ~. Do not use spaces."},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},glossary:{gateway_services:"gateway services"}};function To(){const e=Ee.createI18n("en-us",Eo);return{i18n:e,i18nT:Ee.i18nTComponent(e)}}function jo(){return{getPortFromProtocol:(r,o)=>{const i=[80,443],n=Number(o);if((n||n===0)&&!i.includes(n))return n;switch(r){case"grpcs":case"tls":case"https":case"wss":return 443;case"grpc":case"tcp":case"http":case"ws":default:return 80}}}}const Te={useI18n:To,usePortFromProtocol:jo},ke={list:{konnect:{all:"/v2/control-planes/{controlPlaneId}/core-entities/services"},kongManager:{all:"/{workspace}/services"}},form:{konnect:{create:"/api/runtime_groups/{controlPlaneId}/services",validate:"/api/runtime_groups/{controlPlaneId}/v1/schemas/json/service/validate",edit:"/api/runtime_groups/{controlPlaneId}/services/{id}"},kongManager:{create:"/{workspace}/services",validate:"/{workspace}/schemas/services/validate",edit:"/{workspace}/services/{id}"}}};var st=(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))(st||{}),Pe=(e=>(e.Edit="edit",e.Create="create",e))(Pe||{}),ce=(e=>(e[e.Loading=0]="Loading",e[e.Idle=1]="Idle",e[e.NoResults=2]="NoResults",e[e.Error=3]="Error",e))(ce||{}),K=(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))(K||{}),G=(e=>(e.Basic="basic",e.Advanced="advanced",e.Plugin="plugin",e))(G||{});function Mo(){return{getAxiosInstance:(e={})=>{try{const r=t.inject("get-axios-instance",void 0);return typeof r=="function"?r(e):lt.create({withCredentials:!0,timeout:3e4,...e})}catch(r){return console.warn("getAxiosInstance:",r.message||r),lt.create({withCredentials:!0,timeout:3e4,...e})}},getTraceIdFromError:e=>{var r;return((r=e==null?void 0:e.response)==null?void 0:r.headers["x-datadog-trace-id"])||""}}}function $o(){return{debounce:(e,r)=>{let o;return(...i)=>{clearTimeout(o),o=window==null?void 0:window.setTimeout(()=>{e(...i)},r)}}}}const Ue="khcp-user-table-preferences",Fo={pageSize:30,sortColumnKey:void 0,sortColumnOrder:void 0};function Oo(){const e=o=>{if(typeof o=="string")try{return JSON.parse(o)}catch(i){console.error("useTablePreferences(tryParseJson)",i);return}},r=()=>{const o=e(localStorage.getItem(Ue));return!o||!Object.keys(o).length?new Map:new Map(Object.entries(o))};return{setTablePreferences:(o,i)=>{try{const n=r();n.set(o,i),localStorage.setItem(Ue,JSON.stringify(Object.fromEntries(n.entries())))}catch(n){console.error("useTablePreferences(setTablePreferences)",n)}},getTablePreferences:o=>{const i=r();return(i==null?void 0:i.get(o))||void 0||Fo},deleteAllTablePreferences:()=>{localStorage.removeItem(Ue)}}}function Re(e={}){const{getAxiosInstance:r}=Mo();return{axiosInstance:r(e)}}const Lo={actions:{copyId:"Copy ID",copied_id:'Copied "{id}" to the clipboard',copyToClipboard:"Copied successfully!",copyToClipboardFailed:"Failed to copy to the clipboard"}},Do={message:"Are you sure you want to delete this {entityType}?",messageWithName:"Are you sure you want to delete this {entityType} {entityName}?"},qo={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."}},Ko={emptyState:{noSearchResultsTitle:"No results found",noSearchResultsMessage:"Please adjust the criteria and try again.",noSearchResultsCtaText:"Clear"}},Po={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"}},Uo={filterButtonText:"Filter",fieldLabel:"Filter by:",inputPlaceholder:"Enter a value",selectPlaceholder:"Select an item",applyButtonText:"Apply",clearButtonText:"Clear",clearAllButtonText:"Clear all filters"},Ro={errors:{fetch:"Could not fetch available items",invalid:"Please select a valid value"}},zo={unexpected:"An unexpected error has occurred",dataKeyUndefined:'The data key "{dataKey}" does not exist in the response.'},Ho={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"}},Jo={global:Lo,deleteModal:Do,baseForm:qo,baseTable:Ko,baseConfigCard:Po,filter:Uo,debouncedFilter:Ro,errors:zo,toggleModal:Ho};function ze(){const e=Ee.createI18n("en-us",Jo);return{i18n:e,i18nT:Ee.i18nTComponent(e)}}function ct(){const e=(o,i)=>(i==null?void 0:i[o])??void 0,r=(o,i)=>{if(o.length!==i.length)return!1;const n=new Set([...o,...i]);for(const l of n){const a=o.filter(s=>s===l).length,c=i.filter(s=>s===l).length;if(a!==c)return!1}return!0};return{getPropValue:e,objectsAreEqual:(o,i,n)=>{if(n){if(Object.keys(o).length===Object.keys(i).length)for(const l in o)if(Array.isArray(o[l])&&Array.isArray(i[l])){if(r(o[l],i[l]))continue;return!1}else{if(o[l]===i[l])continue;return!1}else return!1;return!0}try{return JSON.stringify(o)===JSON.stringify(i)}catch{return!1}},sortAlpha:o=>(i,n)=>{let l=i[o]===void 0||i[o]===null?"":i[o],a=n[o]===void 0||n[o]===null?"":n[o];return Array.isArray(i[o])&&(l=i[o][0]),Array.isArray(n[o])&&(a=n[o][0]),l.localeCompare(a)},isValidUuid:o=>o?/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/.test(o):!1}}function Go(e,r,o,i={fetchedItemsKey:"data",searchKeys:["id"]}){o||(o="1000");const{axiosInstance:n}=Re({headers:e.requestHeaders}),{i18n:{t:l}}=ze(),{debounce:a}=$o(),c=a(async b=>{await d(b)},200),s=t.ref(!1),u=t.ref(""),g=t.ref(""),f=t.ref([]),w=t.ref([]),h=t.ref(void 0),S=t.unref(r);let C=`${e.apiBaseUrl}${S}`;e.app==="konnect"?C=C.replace(/{controlPlaneId}/gi,(e==null?void 0:e.controlPlaneId)||""):e.app==="kongManager"&&(C=C.replace(/\/{workspace}/gi,e!=null&&e.workspace?`/${e.workspace}`:""));const{isValidUuid:x}=ct(),M=async()=>{try{s.value=!0;const{data:b}=await n.get(`${C}?size=${o}`);b!=null&&b.next||(h.value=i.fetchedItemsKey in b?b[i.fetchedItemsKey]:[]),w.value=i.fetchedItemsKey in b?b[i.fetchedItemsKey]:[],f.value=w.value}catch{f.value=[],u.value=l("debouncedFilter.errors.fetch")}finally{s.value=!1}},E=t.ref(""),d=async b=>{var _,y,I;if(E.value!==b)if(E.value=b||"",h.value===void 0)try{if(s.value=!0,u.value="",g.value="",e.app==="konnect"){let j=C+"";b&&(j+=`/${b}`);const{data:N}=await n.get(`${j}?size=${o}`);i.fetchedItemsKey in N?f.value=N[i.fetchedItemsKey]:N!=null&&N.id?f.value=[N]:f.value=[]}else if(b){const j=[];x(b)&&i.searchKeys.includes("id")?j.push((async()=>{const{data:A}=await n.get(`${C}/${b}`);return[A[i.fetchedItemsKey]??A]})()):j.push(...i.searchKeys.filter(A=>A!=="id").map(async A=>{const{data:B}=await n.get(`${C}?${A}=${b}`);return B[i.fetchedItemsKey]}));const N=await Promise.all(j),F=new Set;f.value=[],(_=N==null?void 0:N.forEach)==null||_.call(N,A=>{var B;(B=A==null?void 0:A.forEach)==null||B.call(A,O=>{F.has(O.id)||(F.add(O.id),f.value.push(O))})})}else f.value=w.value}catch(j){((y=j==null?void 0:j.response)==null?void 0:y.status)===404?g.value=l("debouncedFilter.errors.invalid"):(f.value=[],u.value=l("debouncedFilter.errors.fetch"))}finally{s.value=!1}else s.value=!0,g.value="",b?(f.value=(I=h.value)==null?void 0:I.filter(j=>{var N;let F=!1;for(const A of i.searchKeys){const B=typeof j[A]=="string"?(N=j[A])==null?void 0:N.toLowerCase():j[A];B!=null&&B.includes(b.toLowerCase())&&(F=!0)}return F}),(!f.value||!f.value.length)&&(g.value=l("debouncedFilter.errors.invalid"))):f.value=h.value,s.value=!1};return{loading:s,error:u,validationError:g,results:f,allRecords:h,loadItems:M,debouncedQueryChange:c}}function Wo(e,r){const o=t.unref(r),i=t.computed(()=>e.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${o}`):new URL(o));return i.value.search="",n=>`${i.value.href}/${n}`}function Yo(){const{i18n:{t:e}}=ze();return{getMessageFromError:r=>{var o,i,n,l;if(!r)return e("errors.unexpected");if(((o=r==null?void 0:r.response)==null?void 0:o.status)===401)return console.warn("getMessageFromError: User auth token is expired or missing, returning empty message."),"";if((i=r==null?void 0:r.response)!=null&&i.data){if(r.response.data.detail)return r.response.data.detail;if((n=r.response.data.details)!=null&&n.length)return r.response.data.details.map(a=>{let c=e("errors.unexpected");return a.messages&&typeof a.messages=="object"&&a.messages.length&&(c=a.messages.join(", ")),a.field?`${a.field} - ${c}`:c}).join("; ");if(r.response.data.message){const{message:a}=r.response.data;return Array.isArray(a)?(l=a[0])!=null&&l.constraints?Object.values(a[0].constraints)[0]:a[0]:a}if(typeof r.response.data=="string")return r.response.data;if(typeof r.response.data=="object")return Object.keys(r.response.data).map(a=>`${a} ${r.response.data[a]}`).join(", ")}return r.message||e("errors.unexpected")}}}function Zo(e){const r=window.location.origin,o=r.endsWith("/")?r:`${r}/`;try{const i=e.join("/"),n=`${o}${i}`,l=e.some(a=>a.trim()==="");if(/^(https:\/\/(www\.)?([a-zA-Z0-9-]+\.){1,}[a-zA-Z]{2,}(:[0-9]+)?(\/[^\/]+)*)$|^(https|http):\/\/localhost(:[0-9]+)?(\/[^\/]+)*$/.test(n)&&!l&&new URL(n))return`${o}${i}`;throw new Error("Invalid url")}catch(i){return console.warn("Failed to build valid URL:",i),""}}function dt(e,r){const o=t.ref(t.unref(e)),i=t.ref(t.unref(r)),n=t.computed(()=>!!(o.value.app==="konnect"||o.value.isExactMatch)),l=t.computed(()=>i.value.startsWith("/")?new URL(`${window.location.origin}${i.value}`):new URL(i.value));return a=>{const{page:c,pageSize:s,offset:u,sortColumnKey:g,sortColumnOrder:f,query:w}=a;try{let h=new URL(l.value.href);return n.value&&w?(h.search="",h=o.value.isExactMatch?new URL(`${h.href}/${w}/`):new URL(`${h.href}?filter[name][contains]=${w}`)):(n.value||new URLSearchParams(w).forEach((S,C)=>{h.searchParams.append(C,S)}),g&&h.searchParams.append("sort_by",g),f==="desc"&&h.searchParams.append("sort_desc","1"),h.searchParams.append("size",String(s))),u&&c!==1&&h.searchParams.append("offset",String(u)),h.href}catch(h){return console.error("RouteList(fetcher)",h),i.value}}}function Qo(e,r,o="data"){var i;const n=t.unref(r),{axiosInstance:l}=Re({...e.axiosRequestConfig,headers:{...(i=e.axiosRequestConfig)==null?void 0:i.headers,...e.requestHeaders}}),a=dt(e,n),c=t.ref({status:ce.Idle});return{fetcher:async s=>{var u;try{c.value={status:ce.Loading};let g=a(s);g.includes("filter[name]")&&(g=`${g}&page[size]=${s.pageSize}&page[number]=${s.page}`);const f=await l.get(g);if(f.status>=400)throw f;const w=f.data,h=o&&o.replace(/[^\w-_]/gi,"");let S;w[h]&&Array.isArray(w[h])?S=w[h]:Array.isArray(w)?S=w:S=Object.keys(w).length?[w]:[];const C={data:S,total:S.length,...w.offset?{pagination:{offset:w.offset}}:null};return c.value={status:ce.Idle,response:C},C}catch(g){const f={data:[],total:0};return s.query&&(((u=g.response)==null?void 0:u.status)===404||g.status===404)?(c.value={status:ce.NoResults,response:f,error:g.response?g:{response:g}},f):(c.value={status:ce.Error,response:f,error:g.response?g:{response:g}},f)}},fetcherState:c}}function Xo(){const e=(o,i="_")=>o?o.split(i).map(n=>n.toLowerCase()==="id"?n.toUpperCase():n.charAt(0).toUpperCase()+n.substring(1)).join(" "):"",r=/(?:^|[\s-:'"])\w/g;return{capitalize:o=>o?o.replace(r,i=>i.toUpperCase()):"",convertKeyToTitle:e}}const pt=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,ut=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const r=e.match(pt);if(!r)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return r.shift(),r},ft=e=>e==="*"||e==="x"||e==="X",mt=e=>{const r=parseInt(e,10);return isNaN(r)?e:r},er=(e,r)=>typeof e!=typeof r?[String(e),String(r)]:[e,r],tr=(e,r)=>{if(ft(e)||ft(r))return 0;const[o,i]=er(mt(e),mt(r));return o>i?1:o<i?-1:0},gt=(e,r)=>{for(let o=0;o<Math.max(e.length,r.length);o++){const i=tr(e[o]||"0",r[o]||"0");if(i!==0)return i}return 0},or=(e,r)=>{const o=ut(e),i=ut(r),n=o.pop(),l=i.pop(),a=gt(o,i);return a!==0?a:n&&l?gt(n.split("."),l.split(".")):n||l?n?-1:1:0},yt=(e,r,o)=>{rr(o);const i=or(e,r);return ht[o].includes(i)},ht={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},bt=Object.keys(ht),rr=e=>{if(typeof e!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof e}`);if(bt.indexOf(e)===-1)throw new Error(`Invalid operator, expected one of ${bt.join("|")}`)},nr=e=>typeof e=="string"&&/^[v\d]/.test(e)&&pt.test(e);function ir(e){const{gatewayInfo:r,supportedRange:o}=e;if(!r)return!0;const{edition:i,version:n}=r;if(!nr(n))return console.error("Invalid version"),!1;const l=o[i];if(!l)return!1;const[a,c]=l;return!(a&&yt(n,a,"<")||c&&yt(n,c,">"))}function ar(e){const r=t.ref(0),o=t.ref(0),i=t.ref(!1);return t.watch(e,n=>{n&&!i.value&&(r.value=n.offsetWidth,o.value=n.scrollWidth,i.value=!0)}),{isTruncated:t.computed(()=>r.value<o.value)}}const R={useAxios:Re,useDebouncedFilter:Go,useDeleteUrlBuilder:Wo,useErrors:Yo,useExternalLinkCreator:Zo,useFetcher:Qo,useFetchUrlBuilder:dt,useHelpers:ct,useStringHelpers:Xo,useI18n:ze,useGatewayFeatureSupported:ir,useTruncationDetector:ar},lr={key:0,class:"config-card-fieldset-title"},sr=t.defineComponent({__name:"JsonCardItem",props:{item:{type:Object,required:!0},index:{type:Number,default:-1},isArrayItem:{type:Boolean,default:!1}},setup(e){const r=e,{i18n:{t:o}}=R.useI18n(),{convertKeyToTitle:i}=R.useStringHelpers(),n=t.computed(()=>r.item.key??"json-array-item"),l=t.computed(()=>r.item.value??r.item),a=t.computed(()=>{const s=JSON.parse(JSON.stringify(l.value));return r.isArrayItem&&delete s.name,s}),c=t.computed(()=>{var s;return r.isArrayItem?(s=l.value)!=null&&s.name?i(l.value.name,"_"):o("baseConfigCard.general.entryTitle",{index:r.index}):""});return(s,u)=>(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",lr,[t.createElementVNode("b",null,t.toDisplayString(c.value),1)])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(a.value),(g,f)=>(t.openBlock(),t.createBlock(kt,{key:`${n.value}-property-${f}`,item:{key:g,label:t.unref(i)(g),value:a.value[g]}},null,8,["item"]))),128))]),_:1},8,["class"]))}}),oe=(e,r)=>{const o=e.__vccOpts||e;for(const[i,n]of r)o[i]=n;return o},wt=oe(sr,[["__scopeId","data-v-68ca83ec"]]),cr=t.defineComponent({__name:"InternalLinkItem",props:{item:{type:Object,required:!0}},emits:["navigation-click"],setup(e){const{i18n:{t:r}}=R.useI18n();return(o,i)=>{const n=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(n,{appearance:"tertiary",class:"navigation-button",onClick:i[0]||(i[0]=l=>o.$emit("navigation-click",e.item))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.item.value||t.unref(r)("baseConfigCard.commonFields.link")),1)]),_:1})])}}}),dr=oe(cr,[["__scopeId","data-v-c96811e5"]]),pr=t.defineComponent({__name:"StatusBadge",props:{status:{type:Boolean,default:!1}},setup(e){const{i18n:{t:r}}=R.useI18n();return(o,i)=>{const n=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(n,{appearance:e.status?"success":"neutral"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.status?t.unref(r)("baseConfigCard.statusBadge.enabledLabel"):t.unref(r)("baseConfigCard.statusBadge.disabledLabel")),1)]),_:1},8,["appearance"])}}}),ur="#0044f4",fr="#e0e4ea",mr="#3a3f51",gr="#afb7c5",yr="1px",hr="20px",br={class:"config-card-details-row"},wr=["data-testid"],kr=["data-testid"],Cr=["data-testid"],_r=["data-testid"],Sr={key:1},xr=["data-testid"],Nr=["data-testid"],Vr=["data-testid"],vr=["data-testid"],Br={name:"ConfigCardItem",components:{JsonCardItem:wt,StatusBadge:pr,InternalLinkItem:dr}},Ir=t.defineComponent({...Br,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:r}){t.useCssVars(S=>({"07753575":g.value?"none":`solid ${t.unref(yr)} ${t.unref(fr)}`,"32d44ea8":u.value&&c.value?"block":"flex","5036b738":u.value&&c.value?"100%":o.slim?"50%":"25%","5038fd13":u.value&&c.value?"100%":o.slim?"50%":"75%"}));const o=e,i=r,n=t.useSlots(),{i18n:{t:l,formatUnixTimeStamp:a}}=R.useI18n(),c=t.computed(()=>o.item.value!==void 0&&o.item.value!==null&&o.item.value!==""),s=t.computed(()=>!!(o.item.tooltip||n["label-tooltip"])),u=t.computed(()=>o.item.type===K.Json||o.item.type===K.JsonArray),g=t.computed(()=>o.item.type===K.JsonArray),f=t.computed(()=>{switch(o.item.type){case K.ID:return{tag:"KCopy",attrs:{"data-testid":`${o.item.key}-copy-uuid`,"copy-tooltip":l("baseConfigCard.copy.tooltip",{label:o.item.label}),text:o.item.value}};case K.IdArray:return{tag:"div",additionalComponent:"KCopy",childAttrs:{"copy-tooltip":l("baseConfigCard.copy.tooltip",{label:o.item.label})}};case K.Redacted:return{tag:"KCopy",attrs:{"data-testid":`${o.item.key}-copy-uuid-redacted`,format:"redacted","copy-tooltip":l("baseConfigCard.copy.tooltip",{label:o.item.label}),text:o.item.value}};case K.RedactedArray:return{tag:"div",additionalComponent:"KCopy",childAttrs:{format:"redacted","copy-tooltip":l("baseConfigCard.copy.tooltip",{label:o.item.label})}};case K.Date:return{tag:"div",attrs:{"data-testid":`${o.item.key}-date`},text:a(o.item.value)};case K.BadgeStatus:return{tag:"StatusBadge",attrs:{"data-testid":`${o.item.key}-badge-status`,status:o.item.value}};case K.BadgeTag:return{tag:"div",additionalComponent:"KBadge"};case K.BadgeMethod:return{tag:"div",additionalComponent:"KMethodBadge"};case K.LinkInternal:return{tag:"InternalLinkItem",attrs:{"data-testid":`${o.item.key}-internal-link`,item:o.item,onNavigationClick:S=>{i("navigation-click",S)}}};case K.LinkExternal:return{tag:"KExternalLink",attrs:{"data-testid":`${o.item.key}-external-link`,href:o.item.value},text:o.item.value};case K.Json:return{tag:"JsonCardItem",attrs:{"data-testid":`${o.item.key}-json-content`,item:o.item}};case K.JsonArray:return{tag:"div",additionalComponent:"JsonCardItem",attrs:{"data-testid":`${o.item.key}-json-array-content`,item:o.item}};default:return{tag:"div",attrs:{"data-testid":`${o.item.key}-plain-text`},text:o.item.value}}}),w=t.ref(),{isTruncated:h}=R.useTruncationDetector(w);return(S,C)=>{const x=t.resolveComponent("KLabel"),M=t.resolveComponent("KBadge"),E=t.resolveComponent("KCopy"),d=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",br,[t.createElementVNode("div",{class:"config-card-details-label","data-testid":`${e.item.key}-label`},[t.renderSlot(S.$slots,"label",{item:e.item},()=>[t.createVNode(x,{"tooltip-attributes":{maxWidth:"500px"}},t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.item.label)+" ",1)]),_:2},[s.value?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{"data-testid":`${e.item.key}-label-tooltip`},[t.renderSlot(S.$slots,"label-tooltip",{},()=>[t.createTextVNode(t.toDisplayString(e.item.tooltip),1)],!0)],8,kr)]),key:"0"}:void 0]),1024)],!0)],8,wr),t.createElementVNode("div",{class:"config-card-details-value","data-testid":`${e.item.key}-property-value`},[t.renderSlot(S.$slots,e.item.key,{rowValue:e.item.value},()=>[c.value?(t.openBlock(),t.createElementBlock("div",Sr,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(f.value.tag),t.normalizeProps(t.guardReactiveProps(f.value.attrs)),{default:t.withCtx(()=>[f.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,_)=>(t.openBlock(),t.createBlock(M,{key:`${e.item.key}-badge-tag-${_}`,class:"config-badge","data-testid":`${e.item.key}-badge-tag-${_}`,tooltip:b,"truncation-tooltip":""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(b),1)]),_:2},1032,["data-testid","tooltip"]))),128))],8,xr)):t.createCommentVNode("",!0),f.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,_)=>(t.openBlock(),t.createBlock(E,t.mergeProps(f.value.childAttrs,{key:`${e.item.key}-copy-uuid-${_}`,"data-testid":`${e.item.key}-copy-uuid-${_}`,text:b}),null,16,["data-testid","text"]))),128))],8,Nr)):f.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,_)=>(t.openBlock(),t.createBlock(M,{key:`${e.item.key}-badge-method-${_}`,appearance:Object.values(t.unref(Ao.BadgeMethodAppearances)).includes(b.toLowerCase())?b.toLowerCase():"custom",class:"config-badge","data-testid":`${e.item.key}-badge-method-${_}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(b),1)]),_:2},1032,["appearance","data-testid"]))),128))],8,Vr)):t.createCommentVNode("",!0),f.value.additionalComponent==="JsonCardItem"?(t.openBlock(),t.createElementBlock("div",{key:3,"data-testid":`${o.item.key}-json-array-content`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(b,_)=>(t.openBlock(),t.createBlock(wt,{key:`json-array-item-${_}`,index:_,"is-array-item":"",item:b},null,8,["index","item"]))),128))],8,vr)):(t.openBlock(),t.createBlock(d,{key:4,text:t.unref(h)?e.item.value:""},{default:t.withCtx(()=>[t.createElementVNode("span",{ref_key:"textContent",ref:w,class:t.normalizeClass(["attrs-data-text",{truncated:e.truncated}])},t.toDisplayString(f.value.text),3)]),_:1},8,["text"]))]),_:1},16))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${e.item.key}-no-value`}," – ",8,_r))],!0)],8,Cr)])}}}),kt=oe(Ir,[["__scopeId","data-v-d056663c"]]),Ar={class:"json-config"},Er={key:0,class:"json-endpoint"},Ct=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(n=>({"954d3eca":`${i.value}ch`}));const r=e,o=t.computed(()=>r.jsonRecord),i=t.computed(()=>{var n;if(!r.fetcherUrl)return 0;const l=(n=r.fetcherUrl)==null?void 0:n.split("/");return l.length<2?0:41+(r.requestMethod==="post"?l[l.length-1]:l[l.length-2]).length});return(n,l)=>{const a=t.resolveComponent("KBadge"),c=t.resolveComponent("KCodeBlock");return t.openBlock(),t.createElementBlock("div",Ar,[r.fetcherUrl?(t.openBlock(),t.createElementBlock("div",Er,[t.createVNode(a,{appearance:r.requestMethod},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(r.requestMethod),1)]),_:1},8,["appearance"]),t.createVNode(c,{id:"json-endpoint-codeblock",code:r.fetcherUrl,"is-single-line":"",language:"json",theme:"dark"},null,8,["code"])])):t.createCommentVNode("",!0),r.jsonRecord?(t.openBlock(),t.createBlock(c,{key:1,id:"json-codeblock",class:t.normalizeClass({"json-content":r.fetcherUrl}),code:JSON.stringify(o.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 _t(e){return typeof e>"u"||e===null}function Tr(e){return typeof e=="object"&&e!==null}function jr(e){return Array.isArray(e)?e:_t(e)?[]:[e]}function Mr(e,r){var o,i,n,l;if(r)for(l=Object.keys(r),o=0,i=l.length;o<i;o+=1)n=l[o],e[n]=r[n];return e}function $r(e,r){var o="",i;for(i=0;i<r;i+=1)o+=e;return o}function Fr(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var Or=_t,Lr=Tr,Dr=jr,qr=$r,Kr=Fr,Pr=Mr,z={isNothing:Or,isObject:Lr,toArray:Dr,repeat:qr,isNegativeZero:Kr,extend:Pr};function St(e,r){var o="",i=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(o+='in "'+e.mark.name+'" '),o+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!r&&e.mark.snippet&&(o+=`
2
2
 
3
3
  `+e.mark.snippet),i+" "+o):i}function Ce(e,r){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=r,this.message=St(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Ce.prototype=Object.create(Error.prototype),Ce.prototype.constructor=Ce,Ce.prototype.toString=function(e){return this.name+": "+St(this,e)};var Y=Ce;function He(e,r,o,i,n){var l="",a="",c=Math.floor(n/2)-1;return i-r>c&&(l=" ... ",r=i-c+l.length),o-i>c&&(a=" ...",o=i+c-a.length),{str:l+e.slice(r,o).replace(/\t/g,"→")+a,pos:i-r+l.length}}function Je(e,r){return z.repeat(" ",r-e.length)+e}function Ur(e,r){if(r=Object.create(r||null),!e.buffer)return null;r.maxLength||(r.maxLength=79),typeof r.indent!="number"&&(r.indent=1),typeof r.linesBefore!="number"&&(r.linesBefore=3),typeof r.linesAfter!="number"&&(r.linesAfter=2);for(var o=/\r?\n|\r|\0/g,i=[0],n=[],l,a=-1;l=o.exec(e.buffer);)n.push(l.index),i.push(l.index+l[0].length),e.position<=l.index&&a<0&&(a=i.length-2);a<0&&(a=i.length-1);var c="",s,u,g=Math.min(e.line+r.linesAfter,n.length).toString().length,f=r.maxLength-(r.indent+g+3);for(s=1;s<=r.linesBefore&&!(a-s<0);s++)u=He(e.buffer,i[a-s],n[a-s],e.position-(i[a]-i[a-s]),f),c=z.repeat(" ",r.indent)+Je((e.line-s+1).toString(),g)+" | "+u.str+`
4
4
  `+c;for(u=He(e.buffer,i[a],n[a],e.position,f),c+=z.repeat(" ",r.indent)+Je((e.line+1).toString(),g)+" | "+u.str+`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kong-ui-public/entities-gateway-services",
3
- "version": "2.7.1",
3
+ "version": "2.7.2",
4
4
  "type": "module",
5
5
  "main": "./dist/entities-gateway-services.umd.js",
6
6
  "module": "./dist/entities-gateway-services.es.js",
@@ -50,7 +50,7 @@
50
50
  "errorLimit": "600KB"
51
51
  },
52
52
  "dependencies": {
53
- "@kong-ui-public/entities-shared": "^2.12.0"
53
+ "@kong-ui-public/entities-shared": "^2.12.1"
54
54
  },
55
55
  "scripts": {
56
56
  "dev": "cross-env USE_SANDBOX=true vite",