@kong-ui-public/entities-vaults 2.5.4 → 2.5.5

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.
@@ -374,7 +374,7 @@ function at(A, e) {
374
374
  const { page: n, pageSize: C, offset: r, sortColumnKey: B, sortColumnOrder: I, query: v } = l;
375
375
  try {
376
376
  let f = new URL(o.value.href);
377
- return a.value && v ? (f.search = "", f = t.value.app === "konnect" ? new URL(`${f.href}?filter[name][contains]=${v}`) : new URL(`${f.href}/${v}/`)) : (a.value || new URLSearchParams(v).forEach((Q, k) => {
377
+ return a.value && v ? (f.search = "", f = t.value.isExactMatch ? new URL(`${f.href}/${v}/`) : new URL(`${f.href}?filter[name][contains]=${v}`)) : (a.value || new URLSearchParams(v).forEach((Q, k) => {
378
378
  f.searchParams.append(k, Q);
379
379
  }), B && f.searchParams.append("sort_by", B), I === "desc" && f.searchParams.append("sort_desc", "1"), f.searchParams.append("size", String(C))), r && n !== 1 && f.searchParams.append("offset", String(r)), f.href;
380
380
  } catch (f) {
@@ -1,4 +1,4 @@
1
- (function(Z,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router"),require("axios"),require("@kong-ui-public/i18n"),require("@kong/kongponents")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router","axios","@kong-ui-public/i18n","@kong/kongponents"],e):(Z=typeof globalThis<"u"?globalThis:Z||self,e(Z["kong-ui-public-entities-vaults"]={},Z.Vue,Z.VueRouter,Z.axios,Z["kong-ui-public-i18n"],Z.Kongponents))})(this,function(Z,e,vA,ee,yA,kt){"use strict";var te=typeof document<"u"?document.currentScript:null,oe=(A=>(A.GatewayService="service",A.Route="route",A.Consumer="consumer",A.ConsumerGroup="consumer group",A.Plugin="plugin",A.Upstream="upstream",A.Certificate="certificate",A.CACertificate="ca certificate",A.SNI="SNI",A.Key="key",A.KeySet="key set",A.Vault="vault",A.Application="application",A.Developer="developer",A.acls="ACL Credential",A["basic-auth"]="Basic Auth Credential",A["key-auth"]="Key Auth Credential",A["key-auth-enc"]="Key Auth Encrypted Credential",A.oauth2="OAuth 2.0 Credential",A["hmac-auth"]="HMAC Credential",A.jwt="JWT Credential",A.Target="target",A.Policy="policy",A))(oe||{}),kA=(A=>(A.Edit="edit",A.Create="create",A))(kA||{}),CA=(A=>(A[A.Loading=0]="Loading",A[A.Idle=1]="Idle",A[A.NoResults=2]="NoResults",A[A.Error=3]="Error",A))(CA||{}),K=(A=>(A.ID="id",A.IdArray="id-array",A.Text="plain-text",A.Date="date",A.Redacted="redacted",A.RedactedArray="redacted-array",A.Json="json",A.JsonArray="json-array",A.BadgeTag="badge-tag",A.BadgeStatus="badge-status",A.BadgeMethod="badge-method",A.LinkInternal="link-internal",A.LinkExternal="link-external",A))(K||{}),_=(A=>(A.Basic="basic",A.Advanced="advanced",A.Plugin="plugin",A))(_||{});function bt(){return{getAxiosInstance:(A={})=>{try{const t=e.inject("get-axios-instance",void 0);return typeof t=="function"?t(A):ee.create({withCredentials:!0,timeout:3e4,...A})}catch(t){return console.warn("getAxiosInstance:",t.message||t),ee.create({withCredentials:!0,timeout:3e4,...A})}},getTraceIdFromError:A=>{var t;return((t=A==null?void 0:A.response)==null?void 0:t.headers["x-datadog-trace-id"])||""}}}function wt(){return{debounce:(A,t)=>{let o;return(...n)=>{clearTimeout(o),o=window==null?void 0:window.setTimeout(()=>{A(...n)},t)}}}}const LA="khcp-user-table-preferences",St={pageSize:30,sortColumnKey:void 0,sortColumnOrder:void 0};function Vt(){const A=o=>{if(typeof o=="string")try{return JSON.parse(o)}catch(n){console.error("useTablePreferences(tryParseJson)",n);return}},t=()=>{const o=A(localStorage.getItem(LA));return!o||!Object.keys(o).length?new Map:new Map(Object.entries(o))};return{setTablePreferences:(o,n)=>{try{const a=t();a.set(o,n),localStorage.setItem(LA,JSON.stringify(Object.fromEntries(a.entries())))}catch(a){console.error("useTablePreferences(setTablePreferences)",a)}},getTablePreferences:o=>{const n=t();return(n==null?void 0:n.get(o))||void 0||St},deleteAllTablePreferences:()=>{localStorage.removeItem(LA)}}}function MA(A={}){const{getAxiosInstance:t}=bt();return{axiosInstance:t(A)}}const Nt={actions:{copyId:"Copy ID",copied_id:'Copied "{id}" to the clipboard',copyToClipboard:"Copied successfully!",copyToClipboardFailed:"Failed to copy to the clipboard"}},Jt={message:"Are you sure you want to delete this {entityType}?",messageWithName:"Are you sure you want to delete this {entityType} {entityName}?"},xt={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."}},Ut={emptyState:{noSearchResultsTitle:"No results found",noSearchResultsMessage:"Please adjust the criteria and try again.",noSearchResultsCtaText:"Clear"}},Tt={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"}},Ft={filterButtonText:"Filter",fieldLabel:"Filter by:",inputPlaceholder:"Enter a value",selectPlaceholder:"Select an item",applyButtonText:"Apply",clearButtonText:"Clear",clearAllButtonText:"Clear all filters"},Rt={errors:{fetch:"Could not fetch available items",invalid:"Please select a valid value"}},vt={unexpected:"An unexpected error has occurred",dataKeyUndefined:'The data key "{dataKey}" does not exist in the response.'},Lt={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"}},Mt={global:Nt,deleteModal:Jt,baseForm:xt,baseTable:Ut,baseConfigCard:Tt,filter:Ft,debouncedFilter:Rt,errors:vt,toggleModal:Lt};function KA(){const A=yA.createI18n("en-us",Mt);return{i18n:A,i18nT:yA.i18nTComponent(A)}}function ae(){const A=(o,n)=>(n==null?void 0:n[o])??void 0,t=(o,n)=>{if(o.length!==n.length)return!1;const a=new Set([...o,...n]);for(const r of a){const i=o.filter(C=>C===r).length,l=n.filter(C=>C===r).length;if(i!==l)return!1}return!0};return{getPropValue:A,objectsAreEqual:(o,n,a)=>{if(a){if(Object.keys(o).length===Object.keys(n).length)for(const r in o)if(Array.isArray(o[r])&&Array.isArray(n[r])){if(t(o[r],n[r]))continue;return!1}else{if(o[r]===n[r])continue;return!1}else return!1;return!0}try{return JSON.stringify(o)===JSON.stringify(n)}catch{return!1}},sortAlpha:o=>(n,a)=>{let r=n[o]===void 0||n[o]===null?"":n[o],i=a[o]===void 0||a[o]===null?"":a[o];return Array.isArray(n[o])&&(r=n[o][0]),Array.isArray(a[o])&&(i=a[o][0]),r.localeCompare(i)},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 Kt(A,t,o,n={fetchedItemsKey:"data",searchKeys:["id"]}){o||(o="100");const{axiosInstance:a}=MA({headers:A.requestHeaders}),{i18n:{t:r}}=KA(),{debounce:i}=wt(),l=i(async m=>{await Y(m)},200),C=e.ref(!1),g=e.ref(""),B=e.ref(""),I=e.ref([]),f=e.ref([]),p=e.ref(void 0),s=e.unref(t);let y=`${A.apiBaseUrl}${s}`;A.app==="konnect"?y=y.replace(/{controlPlaneId}/gi,(A==null?void 0:A.controlPlaneId)||""):A.app==="kongManager"&&(y=y.replace(/\/{workspace}/gi,A!=null&&A.workspace?`/${A.workspace}`:""));const{isValidUuid:k}=ae(),F=async()=>{try{C.value=!0;const{data:m}=await a.get(`${y}?size=${o}`);m!=null&&m.next||(p.value=n.fetchedItemsKey in m?m[n.fetchedItemsKey]:[]),f.value=n.fetchedItemsKey in m?m[n.fetchedItemsKey]:[],I.value=f.value}catch{I.value=[],g.value=r("debouncedFilter.errors.fetch")}finally{C.value=!1}},N=e.ref(""),Y=async m=>{var u,d,S;if(N.value!==m)if(N.value=m||"",p.value===void 0)try{if(C.value=!0,g.value="",B.value="",A.app==="konnect"){let J=y+"";m&&(J+=`/${m}`);const{data:b}=await a.get(`${J}?size=${o}`);n.fetchedItemsKey in b?I.value=b[n.fetchedItemsKey]:b!=null&&b.id?I.value=[b]:I.value=[]}else if(m){const J=[];k(m)&&n.searchKeys.includes("id")?J.push((async()=>{const{data:V}=await a.get(`${y}/${m}`);return[V[n.fetchedItemsKey]??V]})()):J.push(...n.searchKeys.filter(V=>V!=="id").map(async V=>{const{data:x}=await a.get(`${y}?${V}=${m}`);return x[n.fetchedItemsKey]}));const b=await Promise.all(J),R=new Set;I.value=[],(u=b==null?void 0:b.forEach)==null||u.call(b,V=>{var x;(x=V==null?void 0:V.forEach)==null||x.call(V,L=>{R.has(L.id)||(R.add(L.id),I.value.push(L))})})}else I.value=f.value}catch(J){((d=J==null?void 0:J.response)==null?void 0:d.status)===404?B.value=r("debouncedFilter.errors.invalid"):(I.value=[],g.value=r("debouncedFilter.errors.fetch"))}finally{C.value=!1}else C.value=!0,B.value="",m?(I.value=(S=p.value)==null?void 0:S.filter(J=>{var b;let R=!1;for(const V of n.searchKeys){const x=typeof J[V]=="string"?(b=J[V])==null?void 0:b.toLowerCase():J[V];x!=null&&x.includes(m.toLowerCase())&&(R=!0)}return R}),(!I.value||!I.value.length)&&(B.value=r("debouncedFilter.errors.invalid"))):I.value=p.value,C.value=!1};return{loading:C,error:g,validationError:B,results:I,allRecords:p,loadItems:F,debouncedQueryChange:l}}function Dt(A,t){const o=e.unref(t),n=e.computed(()=>A.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${o}`):new URL(o));return n.value.search="",a=>`${n.value.href}/${a}`}function jt(){const{i18n:{t:A}}=KA();return{getMessageFromError:t=>{var o,n,a,r;if(!t)return A("errors.unexpected");if(((o=t==null?void 0:t.response)==null?void 0:o.status)===401)return console.warn("getMessageFromError: User auth token is expired or missing, returning empty message."),"";if((n=t==null?void 0:t.response)!=null&&n.data){if(t.response.data.detail)return t.response.data.detail;if((a=t.response.data.details)!=null&&a.length)return t.response.data.details.map(i=>{let l=A("errors.unexpected");return i.messages&&typeof i.messages=="object"&&i.messages.length&&(l=i.messages.join(", ")),i.field?`${i.field} - ${l}`:l}).join("; ");if(t.response.data.message){const{message:i}=t.response.data;return Array.isArray(i)?(r=i[0])!=null&&r.constraints?Object.values(i[0].constraints)[0]:i[0]:i}if(typeof t.response.data=="string")return t.response.data;if(typeof t.response.data=="object")return Object.keys(t.response.data).map(i=>`${i} ${t.response.data[i]}`).join(", ")}return t.message||A("errors.unexpected")}}}function qt(A){const t=window.location.origin,o=t.endsWith("/")?t:`${t}/`;try{const n=A.join("/"),a=`${o}${n}`,r=A.some(i=>i.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`${o}${n}`;throw new Error("Invalid url")}catch(n){return console.warn("Failed to build valid URL:",n),""}}function ne(A,t){const o=e.ref(e.unref(A)),n=e.ref(e.unref(t)),a=e.computed(()=>!!(o.value.app==="konnect"||o.value.isExactMatch)),r=e.computed(()=>n.value.startsWith("/")?new URL(`${window.location.origin}${n.value}`):new URL(n.value));return i=>{const{page:l,pageSize:C,offset:g,sortColumnKey:B,sortColumnOrder:I,query:f}=i;try{let p=new URL(r.value.href);return a.value&&f?(p.search="",p=o.value.app==="konnect"?new URL(`${p.href}?filter[name][contains]=${f}`):new URL(`${p.href}/${f}/`)):(a.value||new URLSearchParams(f).forEach((s,y)=>{p.searchParams.append(y,s)}),B&&p.searchParams.append("sort_by",B),I==="desc"&&p.searchParams.append("sort_desc","1"),p.searchParams.append("size",String(C))),g&&l!==1&&p.searchParams.append("offset",String(g)),p.href}catch(p){return console.error("RouteList(fetcher)",p),n.value}}}function Yt(A,t,o="data"){const n=e.unref(t),{axiosInstance:a}=MA({headers:A.requestHeaders}),r=ne(A,n),i=e.ref({status:CA.Idle});return{fetcher:async l=>{try{i.value={status:CA.Loading};let C=r(l);C.includes("filter[name]")&&(C=`${C}&page[size]=${l.pageSize}&page[number]=${l.page}`);const{data:g}=await a.get(C),B=o&&o.replace(/[^\w-_]/gi,"");let I;g[B]&&Array.isArray(g[B])?I=g[B]:Array.isArray(g)?I=g:I=Object.keys(g).length?[g]:[];const f={data:I,total:I.length,...g.offset?{pagination:{offset:g.offset}}:null};return i.value={status:CA.Idle,response:f},f}catch(C){const g={data:[],total:0};return l.query&&C.response.status===404?(i.value={status:CA.NoResults,response:g,error:C},g):(i.value={status:CA.Error,response:g,error:C},g)}},fetcherState:i}}function Ot(){const A=(o,n="_")=>o?o.split(n).map(a=>a.toLowerCase()==="id"?a.toUpperCase():a.charAt(0).toUpperCase()+a.substring(1)).join(" "):"",t=/(?:^|[\s-:'"])\w/g;return{capitalize:o=>o?o.replace(t,n=>n.toUpperCase()):"",convertKeyToTitle:A}}const re=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,ie=A=>{if(typeof A!="string")throw new TypeError("Invalid argument expected string");const t=A.match(re);if(!t)throw new Error(`Invalid argument not valid semver ('${A}' received)`);return t.shift(),t},le=A=>A==="*"||A==="x"||A==="X",ge=A=>{const t=parseInt(A,10);return isNaN(t)?A:t},Wt=(A,t)=>typeof A!=typeof t?[String(A),String(t)]:[A,t],Pt=(A,t)=>{if(le(A)||le(t))return 0;const[o,n]=Wt(ge(A),ge(t));return o>n?1:o<n?-1:0},Ce=(A,t)=>{for(let o=0;o<Math.max(A.length,t.length);o++){const n=Pt(A[o]||"0",t[o]||"0");if(n!==0)return n}return 0},zt=(A,t)=>{const o=ie(A),n=ie(t),a=o.pop(),r=n.pop(),i=Ce(o,n);return i!==0?i:a&&r?Ce(a.split("."),r.split(".")):a||r?a?-1:1:0},Ie=(A,t,o)=>{Ht(o);const n=zt(A,t);return se[o].includes(n)},se={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},Ee=Object.keys(se),Ht=A=>{if(typeof A!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof A}`);if(Ee.indexOf(A)===-1)throw new Error(`Invalid operator, expected one of ${Ee.join("|")}`)},Gt=A=>typeof A=="string"&&/^[v\d]/.test(A)&&re.test(A);function Zt(A){const{gatewayInfo:t,supportedRange:o}=A;if(!t)return!0;const{edition:n,version:a}=t;if(!Gt(a))return console.error("Invalid version"),!1;const r=o[n];if(!r)return!1;const[i,l]=r;return!(i&&Ie(a,i,"<")||l&&Ie(a,l,">"))}function Xt(A){const t=e.ref(0),o=e.ref(0),n=e.ref(!1);return e.watch(A,a=>{a&&!n.value&&(t.value=a.offsetWidth,o.value=a.scrollWidth,n.value=!0)}),{isTruncated:e.computed(()=>t.value<o.value)}}const W={useAxios:MA,useDebouncedFilter:Kt,useDeleteUrlBuilder:Dt,useErrors:jt,useExternalLinkCreator:qt,useFetcher:Yt,useFetchUrlBuilder:ne,useHelpers:ae,useStringHelpers:Ot,useI18n:KA,useGatewayFeatureSupported:Zt,useTruncationDetector:Xt},_t={key:0,class:"config-card-fieldset-title"},$t=e.defineComponent({__name:"JsonCardItem",props:{item:{type:Object,required:!0},index:{type:Number,default:-1},isArrayItem:{type:Boolean,default:!1}},setup(A){const t=A,{i18n:{t:o}}=W.useI18n(),{convertKeyToTitle:n}=W.useStringHelpers(),a=e.computed(()=>t.item.key??"json-array-item"),r=e.computed(()=>t.item.value??t.item),i=e.computed(()=>{const C=JSON.parse(JSON.stringify(r.value));return t.isArrayItem&&delete C.name,C}),l=e.computed(()=>{var C;return t.isArrayItem?(C=r.value)!=null&&C.name?n(r.value.name,"_"):o("baseConfigCard.general.entryTitle",{index:t.index}):""});return(C,g)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(A.isArrayItem?"fieldset":"div"),{class:e.normalizeClass(A.isArrayItem?"config-card-fieldset":"config-card-json-item")},{default:e.withCtx(()=>[A.isArrayItem?(e.openBlock(),e.createElementBlock("legend",_t,[e.createElementVNode("b",null,e.toDisplayString(l.value),1)])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(i.value),(B,I)=>(e.openBlock(),e.createBlock(Be,{key:`${a.value}-property-${I}`,item:{key:B,label:e.unref(n)(B),value:i.value[B]}},null,8,["item"]))),128))]),_:1},8,["class"]))}}),oA=(A,t)=>{const o=A.__vccOpts||A;for(const[n,a]of t)o[n]=a;return o},Qe=oA($t,[["__scopeId","data-v-68ca83ec"]]),Ao=e.defineComponent({__name:"InternalLinkItem",props:{item:{type:Object,required:!0}},emits:["navigation-click"],setup(A){const{i18n:{t}}=W.useI18n();return(o,n)=>{const a=e.resolveComponent("KButton");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(a,{appearance:"tertiary",class:"navigation-button",onClick:n[0]||(n[0]=r=>o.$emit("navigation-click",A.item))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(A.item.value||e.unref(t)("baseConfigCard.commonFields.link")),1)]),_:1})])}}}),eo=oA(Ao,[["__scopeId","data-v-c96811e5"]]),to=e.defineComponent({__name:"StatusBadge",props:{status:{type:Boolean,default:!1}},setup(A){const{i18n:{t}}=W.useI18n();return(o,n)=>{const a=e.resolveComponent("KBadge");return e.openBlock(),e.createBlock(a,{appearance:A.status?"success":"neutral"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(A.status?e.unref(t)("baseConfigCard.statusBadge.enabledLabel"):e.unref(t)("baseConfigCard.statusBadge.disabledLabel")),1)]),_:1},8,["appearance"])}}}),oo="#0044f4",ao="#e0e4ea",no="#3a3f51",ro="#afb7c5",io="1px",lo="20px",go={class:"config-card-details-row"},Co=["data-testid"],Io=["data-testid"],so=["data-testid"],Eo=["data-testid"],Qo={key:1},Bo=["data-testid"],co=["data-testid"],po=["data-testid"],uo=["data-testid"],fo={name:"ConfigCardItem",components:{JsonCardItem:Qe,StatusBadge:to,InternalLinkItem:eo}},mo=e.defineComponent({...fo,props:{item:{type:Object,required:!0},slim:{type:Boolean,required:!1,default:!1},truncated:{type:Boolean,required:!1,default:!1}},emits:["navigation-click"],setup(A,{emit:t}){e.useCssVars(s=>({"07753575":B.value?"none":`solid ${e.unref(io)} ${e.unref(ao)}`,"32d44ea8":g.value&&l.value?"block":"flex","5036b738":g.value&&l.value?"100%":o.slim?"50%":"25%","5038fd13":g.value&&l.value?"100%":o.slim?"50%":"75%"}));const o=A,n=t,a=e.useSlots(),{i18n:{t:r,formatUnixTimeStamp:i}}=W.useI18n(),l=e.computed(()=>o.item.value!==void 0&&o.item.value!==null&&o.item.value!==""),C=e.computed(()=>!!(o.item.tooltip||a["label-tooltip"])),g=e.computed(()=>o.item.type===K.Json||o.item.type===K.JsonArray),B=e.computed(()=>o.item.type===K.JsonArray),I=e.computed(()=>{switch(o.item.type){case K.ID:return{tag:"KCopy",attrs:{"data-testid":`${o.item.key}-copy-uuid`,"copy-tooltip":r("baseConfigCard.copy.tooltip",{label:o.item.label}),text:o.item.value}};case K.IdArray:return{tag:"div",additionalComponent:"KCopy",childAttrs:{"copy-tooltip":r("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":r("baseConfigCard.copy.tooltip",{label:o.item.label}),text:o.item.value}};case K.RedactedArray:return{tag:"div",additionalComponent:"KCopy",childAttrs:{format:"redacted","copy-tooltip":r("baseConfigCard.copy.tooltip",{label:o.item.label})}};case K.Date:return{tag:"div",attrs:{"data-testid":`${o.item.key}-date`},text:i(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=>{n("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}}}),f=e.ref(),{isTruncated:p}=W.useTruncationDetector(f);return(s,y)=>{const k=e.resolveComponent("KLabel"),F=e.resolveComponent("KBadge"),N=e.resolveComponent("KCopy"),Y=e.resolveComponent("KTooltip");return e.openBlock(),e.createElementBlock("div",go,[e.createElementVNode("div",{class:"config-card-details-label","data-testid":`${A.item.key}-label`},[e.renderSlot(s.$slots,"label",{item:A.item},()=>[e.createVNode(k,{"tooltip-attributes":{maxWidth:"500px"}},e.createSlots({default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(A.item.label)+" ",1)]),_:2},[C.value?{name:"tooltip",fn:e.withCtx(()=>[e.createElementVNode("div",{"data-testid":`${A.item.key}-label-tooltip`},[e.renderSlot(s.$slots,"label-tooltip",{},()=>[e.createTextVNode(e.toDisplayString(A.item.tooltip),1)],!0)],8,Io)]),key:"0"}:void 0]),1024)],!0)],8,Co),e.createElementVNode("div",{class:"config-card-details-value","data-testid":`${A.item.key}-property-value`},[e.renderSlot(s.$slots,A.item.key,{rowValue:A.item.value},()=>[l.value?(e.openBlock(),e.createElementBlock("div",Qo,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(I.value.tag),e.normalizeProps(e.guardReactiveProps(I.value.attrs)),{default:e.withCtx(()=>[I.value.additionalComponent==="KBadge"?(e.openBlock(),e.createElementBlock("div",{key:0,"data-testid":`${A.item.key}-badge-tags`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.item.value,(m,u)=>(e.openBlock(),e.createBlock(F,{key:`${A.item.key}-badge-tag-${u}`,class:"config-badge","data-testid":`${A.item.key}-badge-tag-${u}`,tooltip:m,"truncation-tooltip":""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m),1)]),_:2},1032,["data-testid","tooltip"]))),128))],8,Bo)):e.createCommentVNode("",!0),I.value.additionalComponent==="KCopy"?(e.openBlock(),e.createElementBlock("div",{key:1,class:"copy-uuid-array","data-testid":`${A.item.key}-copy-uuid-array`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.item.value,(m,u)=>(e.openBlock(),e.createBlock(N,e.mergeProps(I.value.childAttrs,{key:`${A.item.key}-copy-uuid-${u}`,"data-testid":`${A.item.key}-copy-uuid-${u}`,text:m}),null,16,["data-testid","text"]))),128))],8,co)):I.value.additionalComponent==="KMethodBadge"?(e.openBlock(),e.createElementBlock("div",{key:2,class:"method-badge-array","data-testid":`${A.item.key}-badge-methods`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.item.value,(m,u)=>(e.openBlock(),e.createBlock(F,{key:`${A.item.key}-badge-method-${u}`,appearance:Object.values(e.unref(kt.BadgeMethodAppearances)).includes(m.toLowerCase())?m.toLowerCase():"custom",class:"config-badge","data-testid":`${A.item.key}-badge-method-${u}`},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m),1)]),_:2},1032,["appearance","data-testid"]))),128))],8,po)):e.createCommentVNode("",!0),I.value.additionalComponent==="JsonCardItem"?(e.openBlock(),e.createElementBlock("div",{key:3,"data-testid":`${o.item.key}-json-array-content`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.item.value,(m,u)=>(e.openBlock(),e.createBlock(Qe,{key:`json-array-item-${u}`,index:u,"is-array-item":"",item:m},null,8,["index","item"]))),128))],8,uo)):(e.openBlock(),e.createBlock(Y,{key:4,text:e.unref(p)?A.item.value:""},{default:e.withCtx(()=>[e.createElementVNode("span",{ref_key:"textContent",ref:f,class:e.normalizeClass(["attrs-data-text",{truncated:A.truncated}])},e.toDisplayString(I.value.text),3)]),_:1},8,["text"]))]),_:1},16))])):(e.openBlock(),e.createElementBlock("div",{key:0,"data-testid":`${A.item.key}-no-value`}," – ",8,Eo))],!0)],8,so)])}}}),Be=oA(mo,[["__scopeId","data-v-d056663c"]]),ho={class:"json-config"},yo={key:0,class:"json-endpoint"},ce=e.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(A){e.useCssVars(a=>({"2d178975":`${n.value}ch`}));const t=A,o=e.computed(()=>t.jsonRecord),n=e.computed(()=>{var a;if(!t.fetcherUrl)return 0;const r=(a=t.fetcherUrl)==null?void 0:a.split("/");return r.length<2?0:41+(t.requestMethod==="post"?r[r.length-1]:r[r.length-2]).length});return(a,r)=>{var i;const l=e.resolveComponent("KBadge"),C=e.resolveComponent("KCodeBlock");return e.openBlock(),e.createElementBlock("div",ho,[t.fetcherUrl&&(i=t.config)!=null&&i.jsonYamlFormsEnabled?(e.openBlock(),e.createElementBlock("div",yo,[e.createVNode(l,{appearance:t.requestMethod},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.requestMethod),1)]),_:1},8,["appearance"]),e.createVNode(C,{id:"json-endpoint-codeblock",code:t.fetcherUrl,"is-single-line":"",language:"json",theme:"dark"},null,8,["code"])])):e.createCommentVNode("",!0),t.jsonRecord?(e.openBlock(),e.createBlock(C,{key:1,id:"json-codeblock",class:e.normalizeClass({"json-content":t.fetcherUrl}),code:JSON.stringify(o.value,null,2),language:"json",theme:"dark"},null,8,["class","code"])):e.createCommentVNode("",!0)])}}});/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function de(A){return typeof A>"u"||A===null}function ko(A){return typeof A=="object"&&A!==null}function bo(A){return Array.isArray(A)?A:de(A)?[]:[A]}function wo(A,t){var o,n,a,r;if(t)for(r=Object.keys(t),o=0,n=r.length;o<n;o+=1)a=r[o],A[a]=t[a];return A}function So(A,t){var o="",n;for(n=0;n<t;n+=1)o+=A;return o}function Vo(A){return A===0&&Number.NEGATIVE_INFINITY===1/A}var No=de,Jo=ko,xo=bo,Uo=So,To=Vo,Fo=wo,O={isNothing:No,isObject:Jo,toArray:xo,repeat:Uo,isNegativeZero:To,extend:Fo};function pe(A,t){var o="",n=A.reason||"(unknown reason)";return A.mark?(A.mark.name&&(o+='in "'+A.mark.name+'" '),o+="("+(A.mark.line+1)+":"+(A.mark.column+1)+")",!t&&A.mark.snippet&&(o+=`
1
+ (function(Z,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router"),require("axios"),require("@kong-ui-public/i18n"),require("@kong/kongponents")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router","axios","@kong-ui-public/i18n","@kong/kongponents"],e):(Z=typeof globalThis<"u"?globalThis:Z||self,e(Z["kong-ui-public-entities-vaults"]={},Z.Vue,Z.VueRouter,Z.axios,Z["kong-ui-public-i18n"],Z.Kongponents))})(this,function(Z,e,vA,ee,yA,kt){"use strict";var te=typeof document<"u"?document.currentScript:null,oe=(A=>(A.GatewayService="service",A.Route="route",A.Consumer="consumer",A.ConsumerGroup="consumer group",A.Plugin="plugin",A.Upstream="upstream",A.Certificate="certificate",A.CACertificate="ca certificate",A.SNI="SNI",A.Key="key",A.KeySet="key set",A.Vault="vault",A.Application="application",A.Developer="developer",A.acls="ACL Credential",A["basic-auth"]="Basic Auth Credential",A["key-auth"]="Key Auth Credential",A["key-auth-enc"]="Key Auth Encrypted Credential",A.oauth2="OAuth 2.0 Credential",A["hmac-auth"]="HMAC Credential",A.jwt="JWT Credential",A.Target="target",A.Policy="policy",A))(oe||{}),kA=(A=>(A.Edit="edit",A.Create="create",A))(kA||{}),CA=(A=>(A[A.Loading=0]="Loading",A[A.Idle=1]="Idle",A[A.NoResults=2]="NoResults",A[A.Error=3]="Error",A))(CA||{}),K=(A=>(A.ID="id",A.IdArray="id-array",A.Text="plain-text",A.Date="date",A.Redacted="redacted",A.RedactedArray="redacted-array",A.Json="json",A.JsonArray="json-array",A.BadgeTag="badge-tag",A.BadgeStatus="badge-status",A.BadgeMethod="badge-method",A.LinkInternal="link-internal",A.LinkExternal="link-external",A))(K||{}),_=(A=>(A.Basic="basic",A.Advanced="advanced",A.Plugin="plugin",A))(_||{});function bt(){return{getAxiosInstance:(A={})=>{try{const t=e.inject("get-axios-instance",void 0);return typeof t=="function"?t(A):ee.create({withCredentials:!0,timeout:3e4,...A})}catch(t){return console.warn("getAxiosInstance:",t.message||t),ee.create({withCredentials:!0,timeout:3e4,...A})}},getTraceIdFromError:A=>{var t;return((t=A==null?void 0:A.response)==null?void 0:t.headers["x-datadog-trace-id"])||""}}}function wt(){return{debounce:(A,t)=>{let o;return(...n)=>{clearTimeout(o),o=window==null?void 0:window.setTimeout(()=>{A(...n)},t)}}}}const LA="khcp-user-table-preferences",St={pageSize:30,sortColumnKey:void 0,sortColumnOrder:void 0};function Vt(){const A=o=>{if(typeof o=="string")try{return JSON.parse(o)}catch(n){console.error("useTablePreferences(tryParseJson)",n);return}},t=()=>{const o=A(localStorage.getItem(LA));return!o||!Object.keys(o).length?new Map:new Map(Object.entries(o))};return{setTablePreferences:(o,n)=>{try{const a=t();a.set(o,n),localStorage.setItem(LA,JSON.stringify(Object.fromEntries(a.entries())))}catch(a){console.error("useTablePreferences(setTablePreferences)",a)}},getTablePreferences:o=>{const n=t();return(n==null?void 0:n.get(o))||void 0||St},deleteAllTablePreferences:()=>{localStorage.removeItem(LA)}}}function MA(A={}){const{getAxiosInstance:t}=bt();return{axiosInstance:t(A)}}const Nt={actions:{copyId:"Copy ID",copied_id:'Copied "{id}" to the clipboard',copyToClipboard:"Copied successfully!",copyToClipboardFailed:"Failed to copy to the clipboard"}},Jt={message:"Are you sure you want to delete this {entityType}?",messageWithName:"Are you sure you want to delete this {entityType} {entityName}?"},xt={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."}},Ut={emptyState:{noSearchResultsTitle:"No results found",noSearchResultsMessage:"Please adjust the criteria and try again.",noSearchResultsCtaText:"Clear"}},Tt={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"}},Ft={filterButtonText:"Filter",fieldLabel:"Filter by:",inputPlaceholder:"Enter a value",selectPlaceholder:"Select an item",applyButtonText:"Apply",clearButtonText:"Clear",clearAllButtonText:"Clear all filters"},Rt={errors:{fetch:"Could not fetch available items",invalid:"Please select a valid value"}},vt={unexpected:"An unexpected error has occurred",dataKeyUndefined:'The data key "{dataKey}" does not exist in the response.'},Lt={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"}},Mt={global:Nt,deleteModal:Jt,baseForm:xt,baseTable:Ut,baseConfigCard:Tt,filter:Ft,debouncedFilter:Rt,errors:vt,toggleModal:Lt};function KA(){const A=yA.createI18n("en-us",Mt);return{i18n:A,i18nT:yA.i18nTComponent(A)}}function ae(){const A=(o,n)=>(n==null?void 0:n[o])??void 0,t=(o,n)=>{if(o.length!==n.length)return!1;const a=new Set([...o,...n]);for(const r of a){const i=o.filter(C=>C===r).length,l=n.filter(C=>C===r).length;if(i!==l)return!1}return!0};return{getPropValue:A,objectsAreEqual:(o,n,a)=>{if(a){if(Object.keys(o).length===Object.keys(n).length)for(const r in o)if(Array.isArray(o[r])&&Array.isArray(n[r])){if(t(o[r],n[r]))continue;return!1}else{if(o[r]===n[r])continue;return!1}else return!1;return!0}try{return JSON.stringify(o)===JSON.stringify(n)}catch{return!1}},sortAlpha:o=>(n,a)=>{let r=n[o]===void 0||n[o]===null?"":n[o],i=a[o]===void 0||a[o]===null?"":a[o];return Array.isArray(n[o])&&(r=n[o][0]),Array.isArray(a[o])&&(i=a[o][0]),r.localeCompare(i)},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 Kt(A,t,o,n={fetchedItemsKey:"data",searchKeys:["id"]}){o||(o="100");const{axiosInstance:a}=MA({headers:A.requestHeaders}),{i18n:{t:r}}=KA(),{debounce:i}=wt(),l=i(async m=>{await Y(m)},200),C=e.ref(!1),g=e.ref(""),B=e.ref(""),I=e.ref([]),f=e.ref([]),p=e.ref(void 0),s=e.unref(t);let y=`${A.apiBaseUrl}${s}`;A.app==="konnect"?y=y.replace(/{controlPlaneId}/gi,(A==null?void 0:A.controlPlaneId)||""):A.app==="kongManager"&&(y=y.replace(/\/{workspace}/gi,A!=null&&A.workspace?`/${A.workspace}`:""));const{isValidUuid:k}=ae(),F=async()=>{try{C.value=!0;const{data:m}=await a.get(`${y}?size=${o}`);m!=null&&m.next||(p.value=n.fetchedItemsKey in m?m[n.fetchedItemsKey]:[]),f.value=n.fetchedItemsKey in m?m[n.fetchedItemsKey]:[],I.value=f.value}catch{I.value=[],g.value=r("debouncedFilter.errors.fetch")}finally{C.value=!1}},N=e.ref(""),Y=async m=>{var u,d,S;if(N.value!==m)if(N.value=m||"",p.value===void 0)try{if(C.value=!0,g.value="",B.value="",A.app==="konnect"){let J=y+"";m&&(J+=`/${m}`);const{data:b}=await a.get(`${J}?size=${o}`);n.fetchedItemsKey in b?I.value=b[n.fetchedItemsKey]:b!=null&&b.id?I.value=[b]:I.value=[]}else if(m){const J=[];k(m)&&n.searchKeys.includes("id")?J.push((async()=>{const{data:V}=await a.get(`${y}/${m}`);return[V[n.fetchedItemsKey]??V]})()):J.push(...n.searchKeys.filter(V=>V!=="id").map(async V=>{const{data:x}=await a.get(`${y}?${V}=${m}`);return x[n.fetchedItemsKey]}));const b=await Promise.all(J),R=new Set;I.value=[],(u=b==null?void 0:b.forEach)==null||u.call(b,V=>{var x;(x=V==null?void 0:V.forEach)==null||x.call(V,L=>{R.has(L.id)||(R.add(L.id),I.value.push(L))})})}else I.value=f.value}catch(J){((d=J==null?void 0:J.response)==null?void 0:d.status)===404?B.value=r("debouncedFilter.errors.invalid"):(I.value=[],g.value=r("debouncedFilter.errors.fetch"))}finally{C.value=!1}else C.value=!0,B.value="",m?(I.value=(S=p.value)==null?void 0:S.filter(J=>{var b;let R=!1;for(const V of n.searchKeys){const x=typeof J[V]=="string"?(b=J[V])==null?void 0:b.toLowerCase():J[V];x!=null&&x.includes(m.toLowerCase())&&(R=!0)}return R}),(!I.value||!I.value.length)&&(B.value=r("debouncedFilter.errors.invalid"))):I.value=p.value,C.value=!1};return{loading:C,error:g,validationError:B,results:I,allRecords:p,loadItems:F,debouncedQueryChange:l}}function Dt(A,t){const o=e.unref(t),n=e.computed(()=>A.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${o}`):new URL(o));return n.value.search="",a=>`${n.value.href}/${a}`}function jt(){const{i18n:{t:A}}=KA();return{getMessageFromError:t=>{var o,n,a,r;if(!t)return A("errors.unexpected");if(((o=t==null?void 0:t.response)==null?void 0:o.status)===401)return console.warn("getMessageFromError: User auth token is expired or missing, returning empty message."),"";if((n=t==null?void 0:t.response)!=null&&n.data){if(t.response.data.detail)return t.response.data.detail;if((a=t.response.data.details)!=null&&a.length)return t.response.data.details.map(i=>{let l=A("errors.unexpected");return i.messages&&typeof i.messages=="object"&&i.messages.length&&(l=i.messages.join(", ")),i.field?`${i.field} - ${l}`:l}).join("; ");if(t.response.data.message){const{message:i}=t.response.data;return Array.isArray(i)?(r=i[0])!=null&&r.constraints?Object.values(i[0].constraints)[0]:i[0]:i}if(typeof t.response.data=="string")return t.response.data;if(typeof t.response.data=="object")return Object.keys(t.response.data).map(i=>`${i} ${t.response.data[i]}`).join(", ")}return t.message||A("errors.unexpected")}}}function qt(A){const t=window.location.origin,o=t.endsWith("/")?t:`${t}/`;try{const n=A.join("/"),a=`${o}${n}`,r=A.some(i=>i.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`${o}${n}`;throw new Error("Invalid url")}catch(n){return console.warn("Failed to build valid URL:",n),""}}function ne(A,t){const o=e.ref(e.unref(A)),n=e.ref(e.unref(t)),a=e.computed(()=>!!(o.value.app==="konnect"||o.value.isExactMatch)),r=e.computed(()=>n.value.startsWith("/")?new URL(`${window.location.origin}${n.value}`):new URL(n.value));return i=>{const{page:l,pageSize:C,offset:g,sortColumnKey:B,sortColumnOrder:I,query:f}=i;try{let p=new URL(r.value.href);return a.value&&f?(p.search="",p=o.value.isExactMatch?new URL(`${p.href}/${f}/`):new URL(`${p.href}?filter[name][contains]=${f}`)):(a.value||new URLSearchParams(f).forEach((s,y)=>{p.searchParams.append(y,s)}),B&&p.searchParams.append("sort_by",B),I==="desc"&&p.searchParams.append("sort_desc","1"),p.searchParams.append("size",String(C))),g&&l!==1&&p.searchParams.append("offset",String(g)),p.href}catch(p){return console.error("RouteList(fetcher)",p),n.value}}}function Yt(A,t,o="data"){const n=e.unref(t),{axiosInstance:a}=MA({headers:A.requestHeaders}),r=ne(A,n),i=e.ref({status:CA.Idle});return{fetcher:async l=>{try{i.value={status:CA.Loading};let C=r(l);C.includes("filter[name]")&&(C=`${C}&page[size]=${l.pageSize}&page[number]=${l.page}`);const{data:g}=await a.get(C),B=o&&o.replace(/[^\w-_]/gi,"");let I;g[B]&&Array.isArray(g[B])?I=g[B]:Array.isArray(g)?I=g:I=Object.keys(g).length?[g]:[];const f={data:I,total:I.length,...g.offset?{pagination:{offset:g.offset}}:null};return i.value={status:CA.Idle,response:f},f}catch(C){const g={data:[],total:0};return l.query&&C.response.status===404?(i.value={status:CA.NoResults,response:g,error:C},g):(i.value={status:CA.Error,response:g,error:C},g)}},fetcherState:i}}function Ot(){const A=(o,n="_")=>o?o.split(n).map(a=>a.toLowerCase()==="id"?a.toUpperCase():a.charAt(0).toUpperCase()+a.substring(1)).join(" "):"",t=/(?:^|[\s-:'"])\w/g;return{capitalize:o=>o?o.replace(t,n=>n.toUpperCase()):"",convertKeyToTitle:A}}const re=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,ie=A=>{if(typeof A!="string")throw new TypeError("Invalid argument expected string");const t=A.match(re);if(!t)throw new Error(`Invalid argument not valid semver ('${A}' received)`);return t.shift(),t},le=A=>A==="*"||A==="x"||A==="X",ge=A=>{const t=parseInt(A,10);return isNaN(t)?A:t},Wt=(A,t)=>typeof A!=typeof t?[String(A),String(t)]:[A,t],Pt=(A,t)=>{if(le(A)||le(t))return 0;const[o,n]=Wt(ge(A),ge(t));return o>n?1:o<n?-1:0},Ce=(A,t)=>{for(let o=0;o<Math.max(A.length,t.length);o++){const n=Pt(A[o]||"0",t[o]||"0");if(n!==0)return n}return 0},zt=(A,t)=>{const o=ie(A),n=ie(t),a=o.pop(),r=n.pop(),i=Ce(o,n);return i!==0?i:a&&r?Ce(a.split("."),r.split(".")):a||r?a?-1:1:0},Ie=(A,t,o)=>{Ht(o);const n=zt(A,t);return se[o].includes(n)},se={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},Ee=Object.keys(se),Ht=A=>{if(typeof A!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof A}`);if(Ee.indexOf(A)===-1)throw new Error(`Invalid operator, expected one of ${Ee.join("|")}`)},Gt=A=>typeof A=="string"&&/^[v\d]/.test(A)&&re.test(A);function Zt(A){const{gatewayInfo:t,supportedRange:o}=A;if(!t)return!0;const{edition:n,version:a}=t;if(!Gt(a))return console.error("Invalid version"),!1;const r=o[n];if(!r)return!1;const[i,l]=r;return!(i&&Ie(a,i,"<")||l&&Ie(a,l,">"))}function Xt(A){const t=e.ref(0),o=e.ref(0),n=e.ref(!1);return e.watch(A,a=>{a&&!n.value&&(t.value=a.offsetWidth,o.value=a.scrollWidth,n.value=!0)}),{isTruncated:e.computed(()=>t.value<o.value)}}const W={useAxios:MA,useDebouncedFilter:Kt,useDeleteUrlBuilder:Dt,useErrors:jt,useExternalLinkCreator:qt,useFetcher:Yt,useFetchUrlBuilder:ne,useHelpers:ae,useStringHelpers:Ot,useI18n:KA,useGatewayFeatureSupported:Zt,useTruncationDetector:Xt},_t={key:0,class:"config-card-fieldset-title"},$t=e.defineComponent({__name:"JsonCardItem",props:{item:{type:Object,required:!0},index:{type:Number,default:-1},isArrayItem:{type:Boolean,default:!1}},setup(A){const t=A,{i18n:{t:o}}=W.useI18n(),{convertKeyToTitle:n}=W.useStringHelpers(),a=e.computed(()=>t.item.key??"json-array-item"),r=e.computed(()=>t.item.value??t.item),i=e.computed(()=>{const C=JSON.parse(JSON.stringify(r.value));return t.isArrayItem&&delete C.name,C}),l=e.computed(()=>{var C;return t.isArrayItem?(C=r.value)!=null&&C.name?n(r.value.name,"_"):o("baseConfigCard.general.entryTitle",{index:t.index}):""});return(C,g)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(A.isArrayItem?"fieldset":"div"),{class:e.normalizeClass(A.isArrayItem?"config-card-fieldset":"config-card-json-item")},{default:e.withCtx(()=>[A.isArrayItem?(e.openBlock(),e.createElementBlock("legend",_t,[e.createElementVNode("b",null,e.toDisplayString(l.value),1)])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(i.value),(B,I)=>(e.openBlock(),e.createBlock(Be,{key:`${a.value}-property-${I}`,item:{key:B,label:e.unref(n)(B),value:i.value[B]}},null,8,["item"]))),128))]),_:1},8,["class"]))}}),oA=(A,t)=>{const o=A.__vccOpts||A;for(const[n,a]of t)o[n]=a;return o},Qe=oA($t,[["__scopeId","data-v-68ca83ec"]]),Ao=e.defineComponent({__name:"InternalLinkItem",props:{item:{type:Object,required:!0}},emits:["navigation-click"],setup(A){const{i18n:{t}}=W.useI18n();return(o,n)=>{const a=e.resolveComponent("KButton");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(a,{appearance:"tertiary",class:"navigation-button",onClick:n[0]||(n[0]=r=>o.$emit("navigation-click",A.item))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(A.item.value||e.unref(t)("baseConfigCard.commonFields.link")),1)]),_:1})])}}}),eo=oA(Ao,[["__scopeId","data-v-c96811e5"]]),to=e.defineComponent({__name:"StatusBadge",props:{status:{type:Boolean,default:!1}},setup(A){const{i18n:{t}}=W.useI18n();return(o,n)=>{const a=e.resolveComponent("KBadge");return e.openBlock(),e.createBlock(a,{appearance:A.status?"success":"neutral"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(A.status?e.unref(t)("baseConfigCard.statusBadge.enabledLabel"):e.unref(t)("baseConfigCard.statusBadge.disabledLabel")),1)]),_:1},8,["appearance"])}}}),oo="#0044f4",ao="#e0e4ea",no="#3a3f51",ro="#afb7c5",io="1px",lo="20px",go={class:"config-card-details-row"},Co=["data-testid"],Io=["data-testid"],so=["data-testid"],Eo=["data-testid"],Qo={key:1},Bo=["data-testid"],co=["data-testid"],po=["data-testid"],uo=["data-testid"],fo={name:"ConfigCardItem",components:{JsonCardItem:Qe,StatusBadge:to,InternalLinkItem:eo}},mo=e.defineComponent({...fo,props:{item:{type:Object,required:!0},slim:{type:Boolean,required:!1,default:!1},truncated:{type:Boolean,required:!1,default:!1}},emits:["navigation-click"],setup(A,{emit:t}){e.useCssVars(s=>({"07753575":B.value?"none":`solid ${e.unref(io)} ${e.unref(ao)}`,"32d44ea8":g.value&&l.value?"block":"flex","5036b738":g.value&&l.value?"100%":o.slim?"50%":"25%","5038fd13":g.value&&l.value?"100%":o.slim?"50%":"75%"}));const o=A,n=t,a=e.useSlots(),{i18n:{t:r,formatUnixTimeStamp:i}}=W.useI18n(),l=e.computed(()=>o.item.value!==void 0&&o.item.value!==null&&o.item.value!==""),C=e.computed(()=>!!(o.item.tooltip||a["label-tooltip"])),g=e.computed(()=>o.item.type===K.Json||o.item.type===K.JsonArray),B=e.computed(()=>o.item.type===K.JsonArray),I=e.computed(()=>{switch(o.item.type){case K.ID:return{tag:"KCopy",attrs:{"data-testid":`${o.item.key}-copy-uuid`,"copy-tooltip":r("baseConfigCard.copy.tooltip",{label:o.item.label}),text:o.item.value}};case K.IdArray:return{tag:"div",additionalComponent:"KCopy",childAttrs:{"copy-tooltip":r("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":r("baseConfigCard.copy.tooltip",{label:o.item.label}),text:o.item.value}};case K.RedactedArray:return{tag:"div",additionalComponent:"KCopy",childAttrs:{format:"redacted","copy-tooltip":r("baseConfigCard.copy.tooltip",{label:o.item.label})}};case K.Date:return{tag:"div",attrs:{"data-testid":`${o.item.key}-date`},text:i(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=>{n("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}}}),f=e.ref(),{isTruncated:p}=W.useTruncationDetector(f);return(s,y)=>{const k=e.resolveComponent("KLabel"),F=e.resolveComponent("KBadge"),N=e.resolveComponent("KCopy"),Y=e.resolveComponent("KTooltip");return e.openBlock(),e.createElementBlock("div",go,[e.createElementVNode("div",{class:"config-card-details-label","data-testid":`${A.item.key}-label`},[e.renderSlot(s.$slots,"label",{item:A.item},()=>[e.createVNode(k,{"tooltip-attributes":{maxWidth:"500px"}},e.createSlots({default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(A.item.label)+" ",1)]),_:2},[C.value?{name:"tooltip",fn:e.withCtx(()=>[e.createElementVNode("div",{"data-testid":`${A.item.key}-label-tooltip`},[e.renderSlot(s.$slots,"label-tooltip",{},()=>[e.createTextVNode(e.toDisplayString(A.item.tooltip),1)],!0)],8,Io)]),key:"0"}:void 0]),1024)],!0)],8,Co),e.createElementVNode("div",{class:"config-card-details-value","data-testid":`${A.item.key}-property-value`},[e.renderSlot(s.$slots,A.item.key,{rowValue:A.item.value},()=>[l.value?(e.openBlock(),e.createElementBlock("div",Qo,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(I.value.tag),e.normalizeProps(e.guardReactiveProps(I.value.attrs)),{default:e.withCtx(()=>[I.value.additionalComponent==="KBadge"?(e.openBlock(),e.createElementBlock("div",{key:0,"data-testid":`${A.item.key}-badge-tags`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.item.value,(m,u)=>(e.openBlock(),e.createBlock(F,{key:`${A.item.key}-badge-tag-${u}`,class:"config-badge","data-testid":`${A.item.key}-badge-tag-${u}`,tooltip:m,"truncation-tooltip":""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m),1)]),_:2},1032,["data-testid","tooltip"]))),128))],8,Bo)):e.createCommentVNode("",!0),I.value.additionalComponent==="KCopy"?(e.openBlock(),e.createElementBlock("div",{key:1,class:"copy-uuid-array","data-testid":`${A.item.key}-copy-uuid-array`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.item.value,(m,u)=>(e.openBlock(),e.createBlock(N,e.mergeProps(I.value.childAttrs,{key:`${A.item.key}-copy-uuid-${u}`,"data-testid":`${A.item.key}-copy-uuid-${u}`,text:m}),null,16,["data-testid","text"]))),128))],8,co)):I.value.additionalComponent==="KMethodBadge"?(e.openBlock(),e.createElementBlock("div",{key:2,class:"method-badge-array","data-testid":`${A.item.key}-badge-methods`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.item.value,(m,u)=>(e.openBlock(),e.createBlock(F,{key:`${A.item.key}-badge-method-${u}`,appearance:Object.values(e.unref(kt.BadgeMethodAppearances)).includes(m.toLowerCase())?m.toLowerCase():"custom",class:"config-badge","data-testid":`${A.item.key}-badge-method-${u}`},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m),1)]),_:2},1032,["appearance","data-testid"]))),128))],8,po)):e.createCommentVNode("",!0),I.value.additionalComponent==="JsonCardItem"?(e.openBlock(),e.createElementBlock("div",{key:3,"data-testid":`${o.item.key}-json-array-content`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.item.value,(m,u)=>(e.openBlock(),e.createBlock(Qe,{key:`json-array-item-${u}`,index:u,"is-array-item":"",item:m},null,8,["index","item"]))),128))],8,uo)):(e.openBlock(),e.createBlock(Y,{key:4,text:e.unref(p)?A.item.value:""},{default:e.withCtx(()=>[e.createElementVNode("span",{ref_key:"textContent",ref:f,class:e.normalizeClass(["attrs-data-text",{truncated:A.truncated}])},e.toDisplayString(I.value.text),3)]),_:1},8,["text"]))]),_:1},16))])):(e.openBlock(),e.createElementBlock("div",{key:0,"data-testid":`${A.item.key}-no-value`}," – ",8,Eo))],!0)],8,so)])}}}),Be=oA(mo,[["__scopeId","data-v-d056663c"]]),ho={class:"json-config"},yo={key:0,class:"json-endpoint"},ce=e.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(A){e.useCssVars(a=>({"2d178975":`${n.value}ch`}));const t=A,o=e.computed(()=>t.jsonRecord),n=e.computed(()=>{var a;if(!t.fetcherUrl)return 0;const r=(a=t.fetcherUrl)==null?void 0:a.split("/");return r.length<2?0:41+(t.requestMethod==="post"?r[r.length-1]:r[r.length-2]).length});return(a,r)=>{var i;const l=e.resolveComponent("KBadge"),C=e.resolveComponent("KCodeBlock");return e.openBlock(),e.createElementBlock("div",ho,[t.fetcherUrl&&(i=t.config)!=null&&i.jsonYamlFormsEnabled?(e.openBlock(),e.createElementBlock("div",yo,[e.createVNode(l,{appearance:t.requestMethod},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.requestMethod),1)]),_:1},8,["appearance"]),e.createVNode(C,{id:"json-endpoint-codeblock",code:t.fetcherUrl,"is-single-line":"",language:"json",theme:"dark"},null,8,["code"])])):e.createCommentVNode("",!0),t.jsonRecord?(e.openBlock(),e.createBlock(C,{key:1,id:"json-codeblock",class:e.normalizeClass({"json-content":t.fetcherUrl}),code:JSON.stringify(o.value,null,2),language:"json",theme:"dark"},null,8,["class","code"])):e.createCommentVNode("",!0)])}}});/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function de(A){return typeof A>"u"||A===null}function ko(A){return typeof A=="object"&&A!==null}function bo(A){return Array.isArray(A)?A:de(A)?[]:[A]}function wo(A,t){var o,n,a,r;if(t)for(r=Object.keys(t),o=0,n=r.length;o<n;o+=1)a=r[o],A[a]=t[a];return A}function So(A,t){var o="",n;for(n=0;n<t;n+=1)o+=A;return o}function Vo(A){return A===0&&Number.NEGATIVE_INFINITY===1/A}var No=de,Jo=ko,xo=bo,Uo=So,To=Vo,Fo=wo,O={isNothing:No,isObject:Jo,toArray:xo,repeat:Uo,isNegativeZero:To,extend:Fo};function pe(A,t){var o="",n=A.reason||"(unknown reason)";return A.mark?(A.mark.name&&(o+='in "'+A.mark.name+'" '),o+="("+(A.mark.line+1)+":"+(A.mark.column+1)+")",!t&&A.mark.snippet&&(o+=`
2
2
 
3
3
  `+A.mark.snippet),n+" "+o):n}function pA(A,t){Error.call(this),this.name="YAMLException",this.reason=A,this.mark=t,this.message=pe(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}pA.prototype=Object.create(Error.prototype),pA.prototype.constructor=pA,pA.prototype.toString=function(A){return this.name+": "+pe(this,A)};var X=pA;function DA(A,t,o,n,a){var r="",i="",l=Math.floor(a/2)-1;return n-t>l&&(r=" ... ",t=n-l+r.length),o-n>l&&(i=" ...",o=n+l-i.length),{str:r+A.slice(t,o).replace(/\t/g,"→")+i,pos:n-t+r.length}}function jA(A,t){return O.repeat(" ",t-A.length)+A}function Ro(A,t){if(t=Object.create(t||null),!A.buffer)return null;t.maxLength||(t.maxLength=79),typeof t.indent!="number"&&(t.indent=1),typeof t.linesBefore!="number"&&(t.linesBefore=3),typeof t.linesAfter!="number"&&(t.linesAfter=2);for(var o=/\r?\n|\r|\0/g,n=[0],a=[],r,i=-1;r=o.exec(A.buffer);)a.push(r.index),n.push(r.index+r[0].length),A.position<=r.index&&i<0&&(i=n.length-2);i<0&&(i=n.length-1);var l="",C,g,B=Math.min(A.line+t.linesAfter,a.length).toString().length,I=t.maxLength-(t.indent+B+3);for(C=1;C<=t.linesBefore&&!(i-C<0);C++)g=DA(A.buffer,n[i-C],a[i-C],A.position-(n[i]-n[i-C]),I),l=O.repeat(" ",t.indent)+jA((A.line-C+1).toString(),B)+" | "+g.str+`
4
4
  `+l;for(g=DA(A.buffer,n[i],a[i],A.position,I),l+=O.repeat(" ",t.indent)+jA((A.line+1).toString(),B)+" | "+g.str+`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kong-ui-public/entities-vaults",
3
- "version": "2.5.4",
3
+ "version": "2.5.5",
4
4
  "type": "module",
5
5
  "main": "./dist/entities-vaults.umd.js",
6
6
  "module": "./dist/entities-vaults.es.js",
@@ -50,7 +50,7 @@
50
50
  "errorLimit": "900KB"
51
51
  },
52
52
  "dependencies": {
53
- "@kong-ui-public/entities-shared": "^2.10.4"
53
+ "@kong-ui-public/entities-shared": "^2.10.5"
54
54
  },
55
55
  "scripts": {
56
56
  "dev": "cross-env USE_SANDBOX=true vite",