@kong-ui-public/entities-consumers 2.5.25 → 2.5.26

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.
@@ -142,7 +142,7 @@ function jr() {
142
142
  return {
143
143
  getAxiosInstance: (e = {}) => {
144
144
  try {
145
- const n = pn("get-axios-instance");
145
+ const n = pn("get-axios-instance", void 0);
146
146
  return typeof n == "function" ? n(e) : Bt.create({
147
147
  withCredentials: !0,
148
148
  timeout: 3e4,
@@ -1,4 +1,4 @@
1
- (function(X,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):(X=typeof globalThis<"u"?globalThis:X||self,t(X["kong-ui-public-entities-consumers"]={},X.Vue,X.VueRouter,X["kong-ui-public-i18n"],X.axios,X.Kongponents))})(this,function(X,t,je,ye,rt,On){"use strict";const Fn={consumers:{list:{table_headers:{username:"Username",custom_id:"Custom ID",tags:"Tags",id:"ID"},empty_state:{title:"Configure a New Consumer",description:"Consumers are the end users of a service.",title_for_consumer_group:"Configure a New Consumer"},toolbar_actions:{new_consumer:"New Consumer"}},title:"Consumers",search:{placeholder:{konnect:"Filter by name",kongManager:"Filter by exact username or ID"}},actions:{add_consumer:"Add Consumer",create:"New Consumer",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",remove:"Remove",view:"View Details"},delete:{title:"Delete a Consumer",description:"Deleting this consumer will also remove this consumer from any associated consumer group. This action cannot be reversed."},consumer_groups:{add:{title:"Add Consumers",ctaText:"Add consumers to this group",consumers_label:"Consumers",consumer_placeholder:"Add consumer",footer:"Search by exact name or ID to find consumers not included in the list"},remove:{title:"Remove a Consumer",confirmation:"Are you sure you want to remove this consumer {consumer} from consumer group {consumerGroup}?",confirmationNoCG:"Are you sure you want to remove this consumer {consumer} from this consumer group?",description:"Removing this consumer from the group could change the rate limit policy applied to this consumer."}},errors:{general:"Consumers could not be retrieved",delete:"The consumer could not be deleted at this time.",copy:"Failed to copy to clipboard",add:"Some consumers could not be added at this time.",already_added:"This consumer has already been added to the consumer group"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},form:{title:"Consumer Identification",info:{title:"General Information",description:"General information will help identify and manage added consumer."},consumer_identification:{title:"Consumer Identification",description:"A consumer can have both unique username and unique custom ID or one of them."}},fields:{username:{label:"Username",placeholder:"Enter a unique username",tooltip:"The unique username of the Consumer. You must send either this field or {custom_id} with the request.",custom_id:"custom_id"},custom_id:{label:"Custom ID",placeholder:"Enter a unique custom ID",tooltip:"Field for storing an existing unique ID for the Consumer - useful for mapping Kong with users in your existing database. You must send either this field or {username} with the request.",username:"username"},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",tooltip:"An optional set of strings associated with the Consumer for grouping and filtering."}}}};function Dn(){const e=ye.createI18n("en-us",Fn);return{i18n:e,i18nT:ye.i18nTComponent(e)}}const Be={useI18n:Dn},$e="/api/runtime_groups/{controlPlaneId}",de="/{workspace}",le={list:{konnect:{all:"/v2/control-planes/{controlPlaneId}/core-entities/consumers",forConsumerGroup:"/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{consumerGroupId}/consumers",oneForConsumerGroup:"/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{consumerGroupId}/consumers/{consumerId}"},kongManager:{all:`${de}/consumers`,forConsumerGroup:`${de}/consumer_groups/{consumerGroupId}/consumers`,oneForConsumerGroup:`${de}/consumer_groups/{consumerGroupId}/consumers/{consumerId}`}},form:{konnect:{validate:`${$e}/v1/schemas/json/consumer/validate`,create:`${$e}/consumers`,edit:`${$e}/consumers/{id}`},kongManager:{validate:`${de}/schemas/consumers/validate`,create:`${de}/consumers`,edit:`${de}/consumers/{id}`}}};var at=(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))(at||{}),Me=(e=>(e.Edit="edit",e.Create="create",e))(Me||{}),se=(e=>(e[e.Loading=0]="Loading",e[e.Idle=1]="Idle",e[e.NoResults=2]="NoResults",e[e.Error=3]="Error",e))(se||{}),L=(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))(L||{}),Y=(e=>(e.Basic="basic",e.Advanced="advanced",e.Plugin="plugin",e))(Y||{});function qn(){return{getAxiosInstance:(e={})=>{try{const o=t.inject("get-axios-instance");return typeof o=="function"?o(e):rt.create({withCredentials:!0,timeout:3e4,...e})}catch(o){return console.warn("getAxiosInstance:",o.message||o),rt.create({withCredentials:!0,timeout:3e4,...e})}},getTraceIdFromError:e=>{var o;return((o=e==null?void 0:e.response)==null?void 0:o.headers["x-datadog-trace-id"])||""}}}function Kn(){return{debounce:(e,o)=>{let n;return(...r)=>{clearTimeout(n),n=window==null?void 0:window.setTimeout(()=>{e(...r)},o)}}}}const Oe="khcp-user-table-preferences",Ln={pageSize:30,sortColumnKey:void 0,sortColumnOrder:void 0};function vn(){const e=n=>{if(typeof n=="string")try{return JSON.parse(n)}catch(r){console.error("useTablePreferences(tryParseJson)",r);return}},o=()=>{const n=e(localStorage.getItem(Oe));return!n||!Object.keys(n).length?new Map:new Map(Object.entries(n))};return{setTablePreferences:(n,r)=>{try{const a=o();a.set(n,r),localStorage.setItem(Oe,JSON.stringify(Object.fromEntries(a.entries())))}catch(a){console.error("useTablePreferences(setTablePreferences)",a)}},getTablePreferences:n=>{const r=o();return(r==null?void 0:r.get(n))||void 0||Ln},deleteAllTablePreferences:()=>{localStorage.removeItem(Oe)}}}function Fe(e={}){const{getAxiosInstance:o}=qn();return{axiosInstance:o(e)}}const Un={actions:{copyId:"Copy ID",copied_id:'Copied "{id}" to the clipboard',copyToClipboard:"Copied successfully!",copyToClipboardFailed:"Failed to copy to the clipboard"}},Pn={message:"Are you sure you want to delete this {entityType}?",messageWithName:"Are you sure you want to delete this {entityType} {entityName}?"},Rn={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."}},Gn={emptyState:{noSearchResultsTitle:"No results found",noSearchResultsMessage:"Please adjust the criteria and try again.",noSearchResultsCtaText:"Clear"}},zn={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"}},Hn={filterButtonText:"Filter",fieldLabel:"Filter by:",inputPlaceholder:"Enter a value",selectPlaceholder:"Select an item",applyButtonText:"Apply",clearButtonText:"Clear",clearAllButtonText:"Clear all filters"},Jn={errors:{fetch:"Could not fetch available items",invalid:"Please select a valid value"}},Yn={unexpected:"An unexpected error has occurred",dataKeyUndefined:'The data key "{dataKey}" does not exist in the response.'},Wn={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"}},Zn={global:Un,deleteModal:Pn,baseForm:Rn,baseTable:Gn,baseConfigCard:zn,filter:Hn,debouncedFilter:Jn,errors:Yn,toggleModal:Wn};function De(){const e=ye.createI18n("en-us",Zn);return{i18n:e,i18nT:ye.i18nTComponent(e)}}function it(){const e=(n,r)=>(r==null?void 0:r[n])??void 0,o=(n,r)=>{if(n.length!==r.length)return!1;const a=new Set([...n,...r]);for(const l of a){const i=n.filter(c=>c===l).length,s=r.filter(c=>c===l).length;if(i!==s)return!1}return!0};return{getPropValue:e,objectsAreEqual:(n,r,a)=>{if(a){if(Object.keys(n).length===Object.keys(r).length)for(const l in n)if(Array.isArray(n[l])&&Array.isArray(r[l])){if(o(n[l],r[l]))continue;return!1}else{if(n[l]===r[l])continue;return!1}else return!1;return!0}try{return JSON.stringify(n)===JSON.stringify(r)}catch{return!1}},sortAlpha:n=>(r,a)=>{let l=r[n]===void 0||r[n]===null?"":r[n],i=a[n]===void 0||a[n]===null?"":a[n];return Array.isArray(r[n])&&(l=r[n][0]),Array.isArray(a[n])&&(i=a[n][0]),l.localeCompare(i)},isValidUuid:n=>n?/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/.test(n):!1}}function Qn(e,o,n,r={fetchedItemsKey:"data",searchKeys:["id"]}){n||(n="100");const{axiosInstance:a}=Fe({headers:e.requestHeaders}),{i18n:{t:l}}=De(),{debounce:i}=Kn(),s=i(async k=>{await O(k)},200),c=t.ref(!1),d=t.ref(""),p=t.ref(""),u=t.ref([]),m=t.ref([]),f=t.ref(void 0),w=t.unref(o);let y=`${e.apiBaseUrl}${w}`;e.app==="konnect"?y=y.replace(/{controlPlaneId}/gi,(e==null?void 0:e.controlPlaneId)||""):e.app==="kongManager"&&(y=y.replace(/\/{workspace}/gi,e!=null&&e.workspace?`/${e.workspace}`:""));const{isValidUuid:x}=it(),C=async()=>{try{c.value=!0;const{data:k}=await a.get(`${y}?size=${n}`);k!=null&&k.next||(f.value=r.fetchedItemsKey in k?k[r.fetchedItemsKey]:[]),m.value=r.fetchedItemsKey in k?k[r.fetchedItemsKey]:[],u.value=m.value}catch{u.value=[],d.value=l("debouncedFilter.errors.fetch")}finally{c.value=!1}},b=t.ref(""),O=async k=>{var I,T,N;if(b.value!==k)if(b.value=k||"",f.value===void 0)try{if(c.value=!0,d.value="",p.value="",e.app==="konnect"){let g=y+"";k&&(g+=`/${k}`);const{data:h}=await a.get(`${g}?size=${n}`);r.fetchedItemsKey in h?u.value=h[r.fetchedItemsKey]:h!=null&&h.id?u.value=[h]:u.value=[]}else if(k){const g=[];x(k)&&r.searchKeys.includes("id")?g.push((async()=>{const{data:S}=await a.get(`${y}/${k}`);return[S[r.fetchedItemsKey]??S]})()):g.push(...r.searchKeys.filter(S=>S!=="id").map(async S=>{const{data:$}=await a.get(`${y}?${S}=${k}`);return $[r.fetchedItemsKey]}));const h=await Promise.all(g),V=new Set;u.value=[],(I=h==null?void 0:h.forEach)==null||I.call(h,S=>{var $;($=S==null?void 0:S.forEach)==null||$.call(S,B=>{V.has(B.id)||(V.add(B.id),u.value.push(B))})})}else u.value=m.value}catch(g){((T=g==null?void 0:g.response)==null?void 0:T.status)===404?p.value=l("debouncedFilter.errors.invalid"):(u.value=[],d.value=l("debouncedFilter.errors.fetch"))}finally{c.value=!1}else c.value=!0,p.value="",k?(u.value=(N=f.value)==null?void 0:N.filter(g=>{var h;let V=!1;for(const S of r.searchKeys){const $=typeof g[S]=="string"?(h=g[S])==null?void 0:h.toLowerCase():g[S];$!=null&&$.includes(k.toLowerCase())&&(V=!0)}return V}),(!u.value||!u.value.length)&&(p.value=l("debouncedFilter.errors.invalid"))):u.value=f.value,c.value=!1};return{loading:c,error:d,validationError:p,results:u,allRecords:f,loadItems:C,debouncedQueryChange:s}}function Xn(e,o){const n=t.unref(o),r=t.computed(()=>e.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${n}`):new URL(n));return r.value.search="",a=>`${r.value.href}/${a}`}function eo(){const{i18n:{t:e}}=De();return{getMessageFromError:o=>{var n,r,a,l;if(!o)return e("errors.unexpected");if(((n=o==null?void 0:o.response)==null?void 0:n.status)===401)return console.warn("getMessageFromError: User auth token is expired or missing, returning empty message."),"";if((r=o==null?void 0:o.response)!=null&&r.data){if(o.response.data.detail)return o.response.data.detail;if((a=o.response.data.details)!=null&&a.length)return o.response.data.details.map(i=>{let s=e("errors.unexpected");return i.messages&&typeof i.messages=="object"&&i.messages.length&&(s=i.messages.join(", ")),i.field?`${i.field} - ${s}`:s}).join("; ");if(o.response.data.message){const{message:i}=o.response.data;return Array.isArray(i)?(l=i[0])!=null&&l.constraints?Object.values(i[0].constraints)[0]:i[0]:i}if(typeof o.response.data=="string")return o.response.data;if(typeof o.response.data=="object")return Object.keys(o.response.data).map(i=>`${i} ${o.response.data[i]}`).join(", ")}return o.message||e("errors.unexpected")}}}function to(e){const o=window.location.origin,n=o.endsWith("/")?o:`${o}/`;try{const r=e.join("/"),a=`${n}${r}`,l=e.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)&&!l&&new URL(a))return`${n}${r}`;throw new Error("Invalid url")}catch(r){return console.warn("Failed to build valid URL:",r),""}}function lt(e,o){const n=t.ref(t.unref(e)),r=t.ref(t.unref(o)),a=t.computed(()=>!!(n.value.app==="konnect"||n.value.isExactMatch)),l=t.computed(()=>r.value.startsWith("/")?new URL(`${window.location.origin}${r.value}`):new URL(r.value));return i=>{const{page:s,pageSize:c,offset:d,sortColumnKey:p,sortColumnOrder:u,query:m}=i;try{let f=new URL(l.value.href);return a.value&&m?(f.search="",f=n.value.app==="konnect"?new URL(`${f.href}?filter[name][contains]=${m}`):new URL(`${f.href}/${m}/`)):(a.value||new URLSearchParams(m).forEach((w,y)=>{f.searchParams.append(y,w)}),p&&f.searchParams.append("sort_by",p),u==="desc"&&f.searchParams.append("sort_desc","1"),f.searchParams.append("size",String(c))),d&&s!==1&&f.searchParams.append("offset",String(d)),f.href}catch(f){return console.error("RouteList(fetcher)",f),r.value}}}function no(e,o,n="data"){const r=t.unref(o),{axiosInstance:a}=Fe({headers:e.requestHeaders}),l=lt(e,r),i=t.ref({status:se.Idle});return{fetcher:async s=>{try{i.value={status:se.Loading};let c=l(s);c.includes("filter[name]")&&(c=`${c}&page[size]=${s.pageSize}&page[number]=${s.page}`);const{data:d}=await a.get(c),p=n&&n.replace(/[^\w-_]/gi,"");let u;d[p]&&Array.isArray(d[p])?u=d[p]:Array.isArray(d)?u=d:u=Object.keys(d).length?[d]:[];const m={data:u,total:u.length,...d.offset?{pagination:{offset:d.offset}}:null};return i.value={status:se.Idle,response:m},m}catch(c){const d={data:[],total:0};return s.query&&c.response.status===404?(i.value={status:se.NoResults,response:d,error:c},d):(i.value={status:se.Error,response:d,error:c},d)}},fetcherState:i}}function oo(){const e=(n,r="_")=>n?n.split(r).map(a=>a.toLowerCase()==="id"?a.toUpperCase():a.charAt(0).toUpperCase()+a.substring(1)).join(" "):"",o=/(?:^|[\s-:'"])\w/g;return{capitalize:n=>n?n.replace(o,r=>r.toUpperCase()):"",convertKeyToTitle:e}}const st=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,ct=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const o=e.match(st);if(!o)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return o.shift(),o},dt=e=>e==="*"||e==="x"||e==="X",ut=e=>{const o=parseInt(e,10);return isNaN(o)?e:o},ro=(e,o)=>typeof e!=typeof o?[String(e),String(o)]:[e,o],ao=(e,o)=>{if(dt(e)||dt(o))return 0;const[n,r]=ro(ut(e),ut(o));return n>r?1:n<r?-1:0},pt=(e,o)=>{for(let n=0;n<Math.max(e.length,o.length);n++){const r=ao(e[n]||"0",o[n]||"0");if(r!==0)return r}return 0},io=(e,o)=>{const n=ct(e),r=ct(o),a=n.pop(),l=r.pop(),i=pt(n,r);return i!==0?i:a&&l?pt(a.split("."),l.split(".")):a||l?a?-1:1:0},ft=(e,o,n)=>{lo(n);const r=io(e,o);return mt[n].includes(r)},mt={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},gt=Object.keys(mt),lo=e=>{if(typeof e!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof e}`);if(gt.indexOf(e)===-1)throw new Error(`Invalid operator, expected one of ${gt.join("|")}`)},so=e=>typeof e=="string"&&/^[v\d]/.test(e)&&st.test(e);function co(e){const{gatewayInfo:o,supportedRange:n}=e;if(!o)return!0;const{edition:r,version:a}=o;if(!so(a))return console.error("Invalid version"),!1;const l=n[r];if(!l)return!1;const[i,s]=l;return!(i&&ft(a,i,"<")||s&&ft(a,s,">"))}function uo(e){const o=t.ref(0),n=t.ref(0),r=t.ref(!1);return t.watch(e,a=>{a&&!r.value&&(o.value=a.offsetWidth,n.value=a.scrollWidth,r.value=!0)}),{isTruncated:t.computed(()=>o.value<n.value)}}const G={useAxios:Fe,useDebouncedFilter:Qn,useDeleteUrlBuilder:Xn,useErrors:eo,useExternalLinkCreator:to,useFetcher:no,useFetchUrlBuilder:lt,useHelpers:it,useStringHelpers:oo,useI18n:De,useGatewayFeatureSupported:co,useTruncationDetector:uo},po={fail:"Failed to copy id to clipboard",success:{prefix:"Successfully",content:" copied to clipboard"}},fo="Copy to clipboard",mo={message:po,iconTitle:fo},go="kong-ui-copy-uuid-notify",ht="24px",ho=(e,o)=>{const n=e.__vccOpts||e;for(const[r,a]of o)n[r]=a;return n},yo=e=>(t.pushScopeId("data-v-13f41aa3"),e=e(),t.popScopeId(),e),Co=["aria-hidden"],ko={key:0,"data-testid":"kui-icon-svg-title"},bo=yo(()=>t.createElementVNode("path",{d:"M5 22C4.45 22 3.97917 21.8042 3.5875 21.4125C3.19583 21.0208 3 20.55 3 20V6H5V20H16V22H5ZM9 18C8.45 18 7.97917 17.8042 7.5875 17.4125C7.19583 17.0208 7 16.55 7 16V4C7 3.45 7.19583 2.97917 7.5875 2.5875C7.97917 2.19583 8.45 2 9 2H18C18.55 2 19.0208 2.19583 19.4125 2.5875C19.8042 2.97917 20 3.45 20 4V16C20 16.55 19.8042 17.0208 19.4125 17.4125C19.0208 17.8042 18.55 18 18 18H9ZM9 16H18V4H9V16Z",fill:"currentColor"},null,-1)),wo=t.defineComponent({__name:"CopyIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:ht,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const o=String(e).replace(/px/gi,""),n=Number(o);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const o=e,n=t.computed(()=>{if(typeof o.size=="number"&&o.size>0)return`${o.size}px`;if(typeof o.size=="string"){const a=String(o.size).replace(/px/gi,""),l=Number(a);if(l&&!isNaN(l)&&Number.isInteger(l)&&l>0)return`${l}px`}return ht}),r=t.computed(()=>({boxSizing:"border-box",color:o.color,display:o.display,height:n.value,lineHeight:"0",width:n.value}));return(a,l)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon copy-icon","data-testid":"kui-icon-wrapper-copy-icon",style:t.normalizeStyle(r.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-copy-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",ko,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),bo],8,Co))]),_:1},8,["aria-hidden","style"]))}}),xo=ho(wo,[["__scopeId","data-v-13f41aa3"]]),So="16px",Bo={class:"kong-ui-copy-uuid"},_o=["onClick"],yt=15,Io=t.defineComponent({__name:"CopyUuid",props:{uuid:{type:String,required:!0},idTooltip:{type:String,default:""},truncated:{type:Boolean,default:!0},useMono:{type:Boolean,default:!0},notify:{type:Function,default:void 0},iconColor:{type:String,default:"rgba(0, 0, 0, 0.45)"},tooltip:{type:String,default:""},successTooltip:{type:String,default:""},format:{type:String,required:!1,default:"uuid",validator:e=>["uuid","hidden","redacted","deleted"].includes(e)}},emits:["success","error"],setup(e,{emit:o}){const{t:n}=ye.createI18n("en-us",mo),r=e,a=o,l=r.notify||t.inject(go,()=>{}),i=t.computed(()=>r.idTooltip?{label:r.idTooltip,positionFixed:!0,placement:"bottomStart"}:{title:r.uuid}),s=t.computed(()=>!!(r.tooltip&&r.successTooltip)),c=t.ref(r.tooltip),d=t.computed(()=>r.tooltip?{label:c.value,positionFixed:!0,maxWidth:"500px",placement:"bottomStart"}:{}),p=t.computed(()=>{var f;return r.format==="redacted"?"*****":r.format==="deleted"?`*${(f=r.uuid)==null?void 0:f.substring(0,5)}`:r.uuid}),u=f=>{c.value=f,setTimeout(()=>{c.value=r.tooltip},1800)},m=f=>{var w,y;if(!f(r.uuid)){typeof l=="function"&&l({type:"error",message:n("message.fail")}),s.value?u(n("message.fail")):a("error",r.uuid);return}const x=((w=r.uuid)==null?void 0:w.length)>yt,C=r.format==="hidden"||r.format==="redacted"?n("message.success.prefix"):`"${((y=r.uuid)==null?void 0:y.substring(0,yt))+(x?"...":"")}"`;typeof l=="function"&&l({type:"success",message:`${C}${n("message.success.content")}`}),s.value?u(r.successTooltip):a("success",r.uuid)};return(f,w)=>{const y=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",Bo,[e.format!=="hidden"?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.idTooltip?"KTooltip":"div"),t.mergeProps({key:0},i.value,{"data-testid":"copy-id"}),{default:t.withCtx(()=>[t.createElementVNode("div",{class:t.normalizeClass(["uuid-container",e.truncated?"truncated-uuid":null,e.useMono?"mono":null])},t.toDisplayString(p.value),3)]),_:1},16)):t.createCommentVNode("",!0),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.tooltip?"KTooltip":"div"),t.mergeProps(d.value,{class:"uuid-icon-wrapper"}),{default:t.withCtx(()=>[t.createVNode(y,null,{default:t.withCtx(({copyToClipboard:x})=>[t.createElementVNode("span",{"data-testid":"copy-to-clipboard",role:"button",tabindex:"0",onClick:t.withModifiers(C=>m(x),["stop"])},[t.createVNode(t.unref(xo),{class:"uuid-icon",color:e.iconColor,decorative:!!e.tooltip,size:t.unref(So),title:t.unref(n)("iconTitle")},null,8,["color","decorative","size","title"])],8,_o)]),_:1})]),_:1},16))])}}}),No=(e,o)=>{const n=e.__vccOpts||e;for(const[r,a]of o)n[r]=a;return n},Ct=No(Io,[["__scopeId","data-v-0c07874b"]]),Ao={key:0,class:"config-card-fieldset-title"},Eo=t.defineComponent({__name:"JsonCardItem",props:{item:{type:Object,required:!0},index:{type:Number,default:-1},isArrayItem:{type:Boolean,default:!1}},setup(e){const o=e,{i18n:{t:n}}=G.useI18n(),{convertKeyToTitle:r}=G.useStringHelpers(),a=t.computed(()=>o.item.key??"json-array-item"),l=t.computed(()=>o.item.value??o.item),i=t.computed(()=>{const c=JSON.parse(JSON.stringify(l.value));return o.isArrayItem&&delete c.name,c}),s=t.computed(()=>{var c;return o.isArrayItem?(c=l.value)!=null&&c.name?r(l.value.name,"_"):n("baseConfigCard.general.entryTitle",{index:o.index}):""});return(c,d)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.isArrayItem?"fieldset":"div"),{class:t.normalizeClass(e.isArrayItem?"config-card-fieldset":"config-card-json-item")},{default:t.withCtx(()=>[e.isArrayItem?(t.openBlock(),t.createElementBlock("legend",Ao,[t.createElementVNode("b",null,t.toDisplayString(s.value),1)])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(i.value),(p,u)=>(t.openBlock(),t.createBlock(qe,{key:`${a.value}-property-${u}`,item:{key:p,label:t.unref(r)(p),value:i.value[p]}},null,8,["item"]))),128))]),_:1},8,["class"]))}}),ee=(e,o)=>{const n=e.__vccOpts||e;for(const[r,a]of o)n[r]=a;return n},kt=ee(Eo,[["__scopeId","data-v-68ca83ec"]]),Vo=t.defineComponent({__name:"InternalLinkItem",props:{item:{type:Object,required:!0}},emits:["navigation-click"],setup(e){const{i18n:{t:o}}=G.useI18n();return(n,r)=>{const a=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(a,{appearance:"tertiary",class:"navigation-button",onClick:r[0]||(r[0]=l=>n.$emit("navigation-click",e.item))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.item.value||t.unref(o)("baseConfigCard.commonFields.link")),1)]),_:1})])}}}),To=ee(Vo,[["__scopeId","data-v-c96811e5"]]),jo=t.defineComponent({__name:"StatusBadge",props:{status:{type:Boolean,default:!1}},setup(e){const{i18n:{t:o}}=G.useI18n();return(n,r)=>{const a=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(a,{appearance:e.status?"success":"neutral"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.status?t.unref(o)("baseConfigCard.statusBadge.enabledLabel"):t.unref(o)("baseConfigCard.statusBadge.disabledLabel")),1)]),_:1},8,["appearance"])}}}),$o="#0044f4",Mo="#e0e4ea",Oo="#3a3f51",Fo="1px",Do="20px",qo={class:"config-card-details-row"},Ko=["data-testid"],Lo=["data-testid"],vo=["data-testid"],Uo=["data-testid"],Po={key:1},Ro=["data-testid"],Go=["data-testid"],zo=["data-testid"],Ho=["data-testid"],Jo={name:"ConfigCardItem",components:{CopyUuid:Ct,JsonCardItem:kt,StatusBadge:jo,InternalLinkItem:To}},Yo=t.defineComponent({...Jo,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:o}){t.useCssVars(w=>({"5ae2770e":p.value?"none":`solid ${t.unref(Fo)} ${t.unref(Mo)}`,"4db3977e":d.value&&s.value?"block":"flex","1a7c5e02":d.value&&s.value?"100%":n.slim?"50%":"25%","1a77d24c":d.value&&s.value?"100%":n.slim?"50%":"75%"}));const n=e,r=o,a=t.useSlots(),{i18n:{t:l,formatUnixTimeStamp:i}}=G.useI18n(),s=t.computed(()=>n.item.value!==void 0&&n.item.value!==null&&n.item.value!==""),c=t.computed(()=>!!(n.item.tooltip||a["label-tooltip"])),d=t.computed(()=>n.item.type===L.Json||n.item.type===L.JsonArray),p=t.computed(()=>n.item.type===L.JsonArray),u=t.computed(()=>{switch(n.item.type){case L.ID:return{tag:"CopyUuid",attrs:{"data-testid":`${n.item.key}-copy-uuid`,"success-tooltip":l("baseConfigCard.copy.success"),tooltip:l("baseConfigCard.copy.tooltip",{label:n.item.label}),truncated:!1,uuid:n.item.value,notify:()=>{}}};case L.IdArray:return{tag:"div",additionalComponent:"CopyUuid",childAttrs:{"success-tooltip":l("baseConfigCard.copy.success"),tooltip:l("baseConfigCard.copy.tooltip",{label:n.item.label}),truncated:!1,notify:()=>{}}};case L.Redacted:return{tag:"CopyUuid",attrs:{"data-testid":`${n.item.key}-copy-uuid-redacted`,format:"redacted","success-tooltip":l("baseConfigCard.copy.success"),tooltip:l("baseConfigCard.copy.tooltip",{label:n.item.label}),truncated:!1,uuid:n.item.value,notify:()=>{}}};case L.RedactedArray:return{tag:"div",additionalComponent:"CopyUuid",childAttrs:{format:"redacted","success-tooltip":l("baseConfigCard.copy.success"),tooltip:l("baseConfigCard.copy.tooltip",{label:n.item.label}),truncated:!1,notify:()=>{}}};case L.Date:return{tag:"div",attrs:{"data-testid":`${n.item.key}-date`},text:i(n.item.value)};case L.BadgeStatus:return{tag:"StatusBadge",attrs:{"data-testid":`${n.item.key}-badge-status`,status:n.item.value}};case L.BadgeTag:return{tag:"div",additionalComponent:"KBadge"};case L.BadgeMethod:return{tag:"div",additionalComponent:"KMethodBadge"};case L.LinkInternal:return{tag:"InternalLinkItem",attrs:{"data-testid":`${n.item.key}-internal-link`,item:n.item,onNavigationClick:w=>{r("navigation-click",w)}}};case L.LinkExternal:return{tag:"KExternalLink",attrs:{"data-testid":`${n.item.key}-external-link`,href:n.item.value},text:n.item.value};case L.Json:return{tag:"JsonCardItem",attrs:{"data-testid":`${n.item.key}-json-content`,item:n.item}};case L.JsonArray:return{tag:"div",additionalComponent:"JsonCardItem",attrs:{"data-testid":`${n.item.key}-json-array-content`,item:n.item}};default:return{tag:"div",attrs:{"data-testid":`${n.item.key}-plain-text`},text:n.item.value}}}),m=t.ref(),{isTruncated:f}=G.useTruncationDetector(m);return(w,y)=>{const x=t.resolveComponent("KLabel"),C=t.resolveComponent("KBadge"),b=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",qo,[t.createElementVNode("div",{class:"config-card-details-label","data-testid":`${e.item.key}-label`},[t.renderSlot(w.$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},[c.value?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{"data-testid":`${e.item.key}-label-tooltip`},[t.renderSlot(w.$slots,"label-tooltip",{},()=>[t.createTextVNode(t.toDisplayString(e.item.tooltip),1)],!0)],8,Lo)]),key:"0"}:void 0]),1024)],!0)],8,Ko),t.createElementVNode("div",{class:"config-card-details-value","data-testid":`${e.item.key}-property-value`},[t.renderSlot(w.$slots,e.item.key,{rowValue:e.item.value},()=>[s.value?(t.openBlock(),t.createElementBlock("div",Po,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(u.value.tag),t.normalizeProps(t.guardReactiveProps(u.value.attrs)),{default:t.withCtx(()=>[u.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,(O,k)=>(t.openBlock(),t.createBlock(C,{key:`${e.item.key}-badge-tag-${k}`,class:"config-badge","data-testid":`${e.item.key}-badge-tag-${k}`,tooltip:O,"truncation-tooltip":""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(O),1)]),_:2},1032,["data-testid","tooltip"]))),128))],8,Ro)):t.createCommentVNode("",!0),u.value.additionalComponent==="CopyUuid"?(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,(O,k)=>(t.openBlock(),t.createBlock(t.unref(Ct),t.mergeProps(u.value.childAttrs,{key:`${e.item.key}-copy-uuid-${k}`,"data-testid":`${e.item.key}-copy-uuid-${k}`,uuid:O}),null,16,["data-testid","uuid"]))),128))],8,Go)):u.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,(O,k)=>(t.openBlock(),t.createBlock(C,{key:`${e.item.key}-badge-method-${k}`,appearance:Object.values(t.unref(On.BadgeMethodAppearances)).includes(O.toLowerCase())?O.toLowerCase():"custom",class:"config-badge","data-testid":`${e.item.key}-badge-method-${k}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(O),1)]),_:2},1032,["appearance","data-testid"]))),128))],8,zo)):t.createCommentVNode("",!0),u.value.additionalComponent==="JsonCardItem"?(t.openBlock(),t.createElementBlock("div",{key:3,"data-testid":`${n.item.key}-json-array-content`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(O,k)=>(t.openBlock(),t.createBlock(kt,{key:`json-array-item-${k}`,index:k,"is-array-item":"",item:O},null,8,["index","item"]))),128))],8,Ho)):(t.openBlock(),t.createBlock(b,{key:4,text:t.unref(f)?e.item.value:""},{default:t.withCtx(()=>[t.createElementVNode("span",{ref_key:"textContent",ref:m,class:t.normalizeClass(["attrs-data-text",{truncated:e.truncated}])},t.toDisplayString(u.value.text),3)]),_:1},8,["text"]))]),_:1},16))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${e.item.key}-no-value`}," – ",8,Uo))],!0)],8,vo)])}}}),qe=ee(Yo,[["__scopeId","data-v-f65fc52c"]]),Wo={class:"json-config"},Zo={key:0,class:"json-endpoint"},bt=t.defineComponent({__name:"JsonCodeBlock",props:{config:{type:Object,required:!1,default:()=>({})},fetcherUrl:{type:String,required:!1,default:""},jsonRecord:{type:Object,required:!0},requestMethod:{type:String,required:!1,default:""}},setup(e){t.useCssVars(a=>({"2d178975":`${r.value}ch`}));const o=e,n=t.computed(()=>o.jsonRecord),r=t.computed(()=>{var a;if(!o.fetcherUrl)return 0;const l=(a=o.fetcherUrl)==null?void 0:a.split("/");return l.length<2?0:41+(o.requestMethod==="post"?l[l.length-1]:l[l.length-2]).length});return(a,l)=>{var i;const s=t.resolveComponent("KBadge"),c=t.resolveComponent("KCodeBlock");return t.openBlock(),t.createElementBlock("div",Wo,[o.fetcherUrl&&(i=o.config)!=null&&i.jsonYamlFormsEnabled?(t.openBlock(),t.createElementBlock("div",Zo,[t.createVNode(s,{appearance:o.requestMethod},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(o.requestMethod),1)]),_:1},8,["appearance"]),t.createVNode(c,{id:"json-endpoint-codeblock",code:o.fetcherUrl,"is-single-line":"",language:"json",theme:"dark"},null,8,["code"])])):t.createCommentVNode("",!0),o.jsonRecord?(t.openBlock(),t.createBlock(c,{key:1,id:"json-codeblock",class:t.normalizeClass({"json-content":o.fetcherUrl}),code:JSON.stringify(n.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 wt(e){return typeof e>"u"||e===null}function Qo(e){return typeof e=="object"&&e!==null}function Xo(e){return Array.isArray(e)?e:wt(e)?[]:[e]}function er(e,o){var n,r,a,l;if(o)for(l=Object.keys(o),n=0,r=l.length;n<r;n+=1)a=l[n],e[a]=o[a];return e}function tr(e,o){var n="",r;for(r=0;r<o;r+=1)n+=e;return n}function nr(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var or=wt,rr=Qo,ar=Xo,ir=tr,lr=nr,sr=er,R={isNothing:or,isObject:rr,toArray:ar,repeat:ir,isNegativeZero:lr,extend:sr};function xt(e,o){var n="",r=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(n+='in "'+e.mark.name+'" '),n+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!o&&e.mark.snippet&&(n+=`
1
+ (function(X,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):(X=typeof globalThis<"u"?globalThis:X||self,t(X["kong-ui-public-entities-consumers"]={},X.Vue,X.VueRouter,X["kong-ui-public-i18n"],X.axios,X.Kongponents))})(this,function(X,t,je,ye,rt,On){"use strict";const Fn={consumers:{list:{table_headers:{username:"Username",custom_id:"Custom ID",tags:"Tags",id:"ID"},empty_state:{title:"Configure a New Consumer",description:"Consumers are the end users of a service.",title_for_consumer_group:"Configure a New Consumer"},toolbar_actions:{new_consumer:"New Consumer"}},title:"Consumers",search:{placeholder:{konnect:"Filter by name",kongManager:"Filter by exact username or ID"}},actions:{add_consumer:"Add Consumer",create:"New Consumer",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",remove:"Remove",view:"View Details"},delete:{title:"Delete a Consumer",description:"Deleting this consumer will also remove this consumer from any associated consumer group. This action cannot be reversed."},consumer_groups:{add:{title:"Add Consumers",ctaText:"Add consumers to this group",consumers_label:"Consumers",consumer_placeholder:"Add consumer",footer:"Search by exact name or ID to find consumers not included in the list"},remove:{title:"Remove a Consumer",confirmation:"Are you sure you want to remove this consumer {consumer} from consumer group {consumerGroup}?",confirmationNoCG:"Are you sure you want to remove this consumer {consumer} from this consumer group?",description:"Removing this consumer from the group could change the rate limit policy applied to this consumer."}},errors:{general:"Consumers could not be retrieved",delete:"The consumer could not be deleted at this time.",copy:"Failed to copy to clipboard",add:"Some consumers could not be added at this time.",already_added:"This consumer has already been added to the consumer group"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},form:{title:"Consumer Identification",info:{title:"General Information",description:"General information will help identify and manage added consumer."},consumer_identification:{title:"Consumer Identification",description:"A consumer can have both unique username and unique custom ID or one of them."}},fields:{username:{label:"Username",placeholder:"Enter a unique username",tooltip:"The unique username of the Consumer. You must send either this field or {custom_id} with the request.",custom_id:"custom_id"},custom_id:{label:"Custom ID",placeholder:"Enter a unique custom ID",tooltip:"Field for storing an existing unique ID for the Consumer - useful for mapping Kong with users in your existing database. You must send either this field or {username} with the request.",username:"username"},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",tooltip:"An optional set of strings associated with the Consumer for grouping and filtering."}}}};function Dn(){const e=ye.createI18n("en-us",Fn);return{i18n:e,i18nT:ye.i18nTComponent(e)}}const Be={useI18n:Dn},$e="/api/runtime_groups/{controlPlaneId}",de="/{workspace}",le={list:{konnect:{all:"/v2/control-planes/{controlPlaneId}/core-entities/consumers",forConsumerGroup:"/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{consumerGroupId}/consumers",oneForConsumerGroup:"/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{consumerGroupId}/consumers/{consumerId}"},kongManager:{all:`${de}/consumers`,forConsumerGroup:`${de}/consumer_groups/{consumerGroupId}/consumers`,oneForConsumerGroup:`${de}/consumer_groups/{consumerGroupId}/consumers/{consumerId}`}},form:{konnect:{validate:`${$e}/v1/schemas/json/consumer/validate`,create:`${$e}/consumers`,edit:`${$e}/consumers/{id}`},kongManager:{validate:`${de}/schemas/consumers/validate`,create:`${de}/consumers`,edit:`${de}/consumers/{id}`}}};var at=(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))(at||{}),Me=(e=>(e.Edit="edit",e.Create="create",e))(Me||{}),se=(e=>(e[e.Loading=0]="Loading",e[e.Idle=1]="Idle",e[e.NoResults=2]="NoResults",e[e.Error=3]="Error",e))(se||{}),L=(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))(L||{}),Y=(e=>(e.Basic="basic",e.Advanced="advanced",e.Plugin="plugin",e))(Y||{});function qn(){return{getAxiosInstance:(e={})=>{try{const o=t.inject("get-axios-instance",void 0);return typeof o=="function"?o(e):rt.create({withCredentials:!0,timeout:3e4,...e})}catch(o){return console.warn("getAxiosInstance:",o.message||o),rt.create({withCredentials:!0,timeout:3e4,...e})}},getTraceIdFromError:e=>{var o;return((o=e==null?void 0:e.response)==null?void 0:o.headers["x-datadog-trace-id"])||""}}}function Kn(){return{debounce:(e,o)=>{let n;return(...r)=>{clearTimeout(n),n=window==null?void 0:window.setTimeout(()=>{e(...r)},o)}}}}const Oe="khcp-user-table-preferences",Ln={pageSize:30,sortColumnKey:void 0,sortColumnOrder:void 0};function vn(){const e=n=>{if(typeof n=="string")try{return JSON.parse(n)}catch(r){console.error("useTablePreferences(tryParseJson)",r);return}},o=()=>{const n=e(localStorage.getItem(Oe));return!n||!Object.keys(n).length?new Map:new Map(Object.entries(n))};return{setTablePreferences:(n,r)=>{try{const a=o();a.set(n,r),localStorage.setItem(Oe,JSON.stringify(Object.fromEntries(a.entries())))}catch(a){console.error("useTablePreferences(setTablePreferences)",a)}},getTablePreferences:n=>{const r=o();return(r==null?void 0:r.get(n))||void 0||Ln},deleteAllTablePreferences:()=>{localStorage.removeItem(Oe)}}}function Fe(e={}){const{getAxiosInstance:o}=qn();return{axiosInstance:o(e)}}const Un={actions:{copyId:"Copy ID",copied_id:'Copied "{id}" to the clipboard',copyToClipboard:"Copied successfully!",copyToClipboardFailed:"Failed to copy to the clipboard"}},Pn={message:"Are you sure you want to delete this {entityType}?",messageWithName:"Are you sure you want to delete this {entityType} {entityName}?"},Rn={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."}},Gn={emptyState:{noSearchResultsTitle:"No results found",noSearchResultsMessage:"Please adjust the criteria and try again.",noSearchResultsCtaText:"Clear"}},zn={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"}},Hn={filterButtonText:"Filter",fieldLabel:"Filter by:",inputPlaceholder:"Enter a value",selectPlaceholder:"Select an item",applyButtonText:"Apply",clearButtonText:"Clear",clearAllButtonText:"Clear all filters"},Jn={errors:{fetch:"Could not fetch available items",invalid:"Please select a valid value"}},Yn={unexpected:"An unexpected error has occurred",dataKeyUndefined:'The data key "{dataKey}" does not exist in the response.'},Wn={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"}},Zn={global:Un,deleteModal:Pn,baseForm:Rn,baseTable:Gn,baseConfigCard:zn,filter:Hn,debouncedFilter:Jn,errors:Yn,toggleModal:Wn};function De(){const e=ye.createI18n("en-us",Zn);return{i18n:e,i18nT:ye.i18nTComponent(e)}}function it(){const e=(n,r)=>(r==null?void 0:r[n])??void 0,o=(n,r)=>{if(n.length!==r.length)return!1;const a=new Set([...n,...r]);for(const l of a){const i=n.filter(c=>c===l).length,s=r.filter(c=>c===l).length;if(i!==s)return!1}return!0};return{getPropValue:e,objectsAreEqual:(n,r,a)=>{if(a){if(Object.keys(n).length===Object.keys(r).length)for(const l in n)if(Array.isArray(n[l])&&Array.isArray(r[l])){if(o(n[l],r[l]))continue;return!1}else{if(n[l]===r[l])continue;return!1}else return!1;return!0}try{return JSON.stringify(n)===JSON.stringify(r)}catch{return!1}},sortAlpha:n=>(r,a)=>{let l=r[n]===void 0||r[n]===null?"":r[n],i=a[n]===void 0||a[n]===null?"":a[n];return Array.isArray(r[n])&&(l=r[n][0]),Array.isArray(a[n])&&(i=a[n][0]),l.localeCompare(i)},isValidUuid:n=>n?/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/.test(n):!1}}function Qn(e,o,n,r={fetchedItemsKey:"data",searchKeys:["id"]}){n||(n="100");const{axiosInstance:a}=Fe({headers:e.requestHeaders}),{i18n:{t:l}}=De(),{debounce:i}=Kn(),s=i(async k=>{await O(k)},200),c=t.ref(!1),d=t.ref(""),p=t.ref(""),u=t.ref([]),m=t.ref([]),f=t.ref(void 0),w=t.unref(o);let y=`${e.apiBaseUrl}${w}`;e.app==="konnect"?y=y.replace(/{controlPlaneId}/gi,(e==null?void 0:e.controlPlaneId)||""):e.app==="kongManager"&&(y=y.replace(/\/{workspace}/gi,e!=null&&e.workspace?`/${e.workspace}`:""));const{isValidUuid:x}=it(),C=async()=>{try{c.value=!0;const{data:k}=await a.get(`${y}?size=${n}`);k!=null&&k.next||(f.value=r.fetchedItemsKey in k?k[r.fetchedItemsKey]:[]),m.value=r.fetchedItemsKey in k?k[r.fetchedItemsKey]:[],u.value=m.value}catch{u.value=[],d.value=l("debouncedFilter.errors.fetch")}finally{c.value=!1}},b=t.ref(""),O=async k=>{var I,T,N;if(b.value!==k)if(b.value=k||"",f.value===void 0)try{if(c.value=!0,d.value="",p.value="",e.app==="konnect"){let g=y+"";k&&(g+=`/${k}`);const{data:h}=await a.get(`${g}?size=${n}`);r.fetchedItemsKey in h?u.value=h[r.fetchedItemsKey]:h!=null&&h.id?u.value=[h]:u.value=[]}else if(k){const g=[];x(k)&&r.searchKeys.includes("id")?g.push((async()=>{const{data:S}=await a.get(`${y}/${k}`);return[S[r.fetchedItemsKey]??S]})()):g.push(...r.searchKeys.filter(S=>S!=="id").map(async S=>{const{data:$}=await a.get(`${y}?${S}=${k}`);return $[r.fetchedItemsKey]}));const h=await Promise.all(g),V=new Set;u.value=[],(I=h==null?void 0:h.forEach)==null||I.call(h,S=>{var $;($=S==null?void 0:S.forEach)==null||$.call(S,B=>{V.has(B.id)||(V.add(B.id),u.value.push(B))})})}else u.value=m.value}catch(g){((T=g==null?void 0:g.response)==null?void 0:T.status)===404?p.value=l("debouncedFilter.errors.invalid"):(u.value=[],d.value=l("debouncedFilter.errors.fetch"))}finally{c.value=!1}else c.value=!0,p.value="",k?(u.value=(N=f.value)==null?void 0:N.filter(g=>{var h;let V=!1;for(const S of r.searchKeys){const $=typeof g[S]=="string"?(h=g[S])==null?void 0:h.toLowerCase():g[S];$!=null&&$.includes(k.toLowerCase())&&(V=!0)}return V}),(!u.value||!u.value.length)&&(p.value=l("debouncedFilter.errors.invalid"))):u.value=f.value,c.value=!1};return{loading:c,error:d,validationError:p,results:u,allRecords:f,loadItems:C,debouncedQueryChange:s}}function Xn(e,o){const n=t.unref(o),r=t.computed(()=>e.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${n}`):new URL(n));return r.value.search="",a=>`${r.value.href}/${a}`}function eo(){const{i18n:{t:e}}=De();return{getMessageFromError:o=>{var n,r,a,l;if(!o)return e("errors.unexpected");if(((n=o==null?void 0:o.response)==null?void 0:n.status)===401)return console.warn("getMessageFromError: User auth token is expired or missing, returning empty message."),"";if((r=o==null?void 0:o.response)!=null&&r.data){if(o.response.data.detail)return o.response.data.detail;if((a=o.response.data.details)!=null&&a.length)return o.response.data.details.map(i=>{let s=e("errors.unexpected");return i.messages&&typeof i.messages=="object"&&i.messages.length&&(s=i.messages.join(", ")),i.field?`${i.field} - ${s}`:s}).join("; ");if(o.response.data.message){const{message:i}=o.response.data;return Array.isArray(i)?(l=i[0])!=null&&l.constraints?Object.values(i[0].constraints)[0]:i[0]:i}if(typeof o.response.data=="string")return o.response.data;if(typeof o.response.data=="object")return Object.keys(o.response.data).map(i=>`${i} ${o.response.data[i]}`).join(", ")}return o.message||e("errors.unexpected")}}}function to(e){const o=window.location.origin,n=o.endsWith("/")?o:`${o}/`;try{const r=e.join("/"),a=`${n}${r}`,l=e.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)&&!l&&new URL(a))return`${n}${r}`;throw new Error("Invalid url")}catch(r){return console.warn("Failed to build valid URL:",r),""}}function lt(e,o){const n=t.ref(t.unref(e)),r=t.ref(t.unref(o)),a=t.computed(()=>!!(n.value.app==="konnect"||n.value.isExactMatch)),l=t.computed(()=>r.value.startsWith("/")?new URL(`${window.location.origin}${r.value}`):new URL(r.value));return i=>{const{page:s,pageSize:c,offset:d,sortColumnKey:p,sortColumnOrder:u,query:m}=i;try{let f=new URL(l.value.href);return a.value&&m?(f.search="",f=n.value.app==="konnect"?new URL(`${f.href}?filter[name][contains]=${m}`):new URL(`${f.href}/${m}/`)):(a.value||new URLSearchParams(m).forEach((w,y)=>{f.searchParams.append(y,w)}),p&&f.searchParams.append("sort_by",p),u==="desc"&&f.searchParams.append("sort_desc","1"),f.searchParams.append("size",String(c))),d&&s!==1&&f.searchParams.append("offset",String(d)),f.href}catch(f){return console.error("RouteList(fetcher)",f),r.value}}}function no(e,o,n="data"){const r=t.unref(o),{axiosInstance:a}=Fe({headers:e.requestHeaders}),l=lt(e,r),i=t.ref({status:se.Idle});return{fetcher:async s=>{try{i.value={status:se.Loading};let c=l(s);c.includes("filter[name]")&&(c=`${c}&page[size]=${s.pageSize}&page[number]=${s.page}`);const{data:d}=await a.get(c),p=n&&n.replace(/[^\w-_]/gi,"");let u;d[p]&&Array.isArray(d[p])?u=d[p]:Array.isArray(d)?u=d:u=Object.keys(d).length?[d]:[];const m={data:u,total:u.length,...d.offset?{pagination:{offset:d.offset}}:null};return i.value={status:se.Idle,response:m},m}catch(c){const d={data:[],total:0};return s.query&&c.response.status===404?(i.value={status:se.NoResults,response:d,error:c},d):(i.value={status:se.Error,response:d,error:c},d)}},fetcherState:i}}function oo(){const e=(n,r="_")=>n?n.split(r).map(a=>a.toLowerCase()==="id"?a.toUpperCase():a.charAt(0).toUpperCase()+a.substring(1)).join(" "):"",o=/(?:^|[\s-:'"])\w/g;return{capitalize:n=>n?n.replace(o,r=>r.toUpperCase()):"",convertKeyToTitle:e}}const st=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,ct=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const o=e.match(st);if(!o)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return o.shift(),o},dt=e=>e==="*"||e==="x"||e==="X",ut=e=>{const o=parseInt(e,10);return isNaN(o)?e:o},ro=(e,o)=>typeof e!=typeof o?[String(e),String(o)]:[e,o],ao=(e,o)=>{if(dt(e)||dt(o))return 0;const[n,r]=ro(ut(e),ut(o));return n>r?1:n<r?-1:0},pt=(e,o)=>{for(let n=0;n<Math.max(e.length,o.length);n++){const r=ao(e[n]||"0",o[n]||"0");if(r!==0)return r}return 0},io=(e,o)=>{const n=ct(e),r=ct(o),a=n.pop(),l=r.pop(),i=pt(n,r);return i!==0?i:a&&l?pt(a.split("."),l.split(".")):a||l?a?-1:1:0},ft=(e,o,n)=>{lo(n);const r=io(e,o);return mt[n].includes(r)},mt={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},gt=Object.keys(mt),lo=e=>{if(typeof e!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof e}`);if(gt.indexOf(e)===-1)throw new Error(`Invalid operator, expected one of ${gt.join("|")}`)},so=e=>typeof e=="string"&&/^[v\d]/.test(e)&&st.test(e);function co(e){const{gatewayInfo:o,supportedRange:n}=e;if(!o)return!0;const{edition:r,version:a}=o;if(!so(a))return console.error("Invalid version"),!1;const l=n[r];if(!l)return!1;const[i,s]=l;return!(i&&ft(a,i,"<")||s&&ft(a,s,">"))}function uo(e){const o=t.ref(0),n=t.ref(0),r=t.ref(!1);return t.watch(e,a=>{a&&!r.value&&(o.value=a.offsetWidth,n.value=a.scrollWidth,r.value=!0)}),{isTruncated:t.computed(()=>o.value<n.value)}}const G={useAxios:Fe,useDebouncedFilter:Qn,useDeleteUrlBuilder:Xn,useErrors:eo,useExternalLinkCreator:to,useFetcher:no,useFetchUrlBuilder:lt,useHelpers:it,useStringHelpers:oo,useI18n:De,useGatewayFeatureSupported:co,useTruncationDetector:uo},po={fail:"Failed to copy id to clipboard",success:{prefix:"Successfully",content:" copied to clipboard"}},fo="Copy to clipboard",mo={message:po,iconTitle:fo},go="kong-ui-copy-uuid-notify",ht="24px",ho=(e,o)=>{const n=e.__vccOpts||e;for(const[r,a]of o)n[r]=a;return n},yo=e=>(t.pushScopeId("data-v-13f41aa3"),e=e(),t.popScopeId(),e),Co=["aria-hidden"],ko={key:0,"data-testid":"kui-icon-svg-title"},bo=yo(()=>t.createElementVNode("path",{d:"M5 22C4.45 22 3.97917 21.8042 3.5875 21.4125C3.19583 21.0208 3 20.55 3 20V6H5V20H16V22H5ZM9 18C8.45 18 7.97917 17.8042 7.5875 17.4125C7.19583 17.0208 7 16.55 7 16V4C7 3.45 7.19583 2.97917 7.5875 2.5875C7.97917 2.19583 8.45 2 9 2H18C18.55 2 19.0208 2.19583 19.4125 2.5875C19.8042 2.97917 20 3.45 20 4V16C20 16.55 19.8042 17.0208 19.4125 17.4125C19.0208 17.8042 18.55 18 18 18H9ZM9 16H18V4H9V16Z",fill:"currentColor"},null,-1)),wo=t.defineComponent({__name:"CopyIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:ht,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const o=String(e).replace(/px/gi,""),n=Number(o);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const o=e,n=t.computed(()=>{if(typeof o.size=="number"&&o.size>0)return`${o.size}px`;if(typeof o.size=="string"){const a=String(o.size).replace(/px/gi,""),l=Number(a);if(l&&!isNaN(l)&&Number.isInteger(l)&&l>0)return`${l}px`}return ht}),r=t.computed(()=>({boxSizing:"border-box",color:o.color,display:o.display,height:n.value,lineHeight:"0",width:n.value}));return(a,l)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon copy-icon","data-testid":"kui-icon-wrapper-copy-icon",style:t.normalizeStyle(r.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-copy-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",ko,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),bo],8,Co))]),_:1},8,["aria-hidden","style"]))}}),xo=ho(wo,[["__scopeId","data-v-13f41aa3"]]),So="16px",Bo={class:"kong-ui-copy-uuid"},_o=["onClick"],yt=15,Io=t.defineComponent({__name:"CopyUuid",props:{uuid:{type:String,required:!0},idTooltip:{type:String,default:""},truncated:{type:Boolean,default:!0},useMono:{type:Boolean,default:!0},notify:{type:Function,default:void 0},iconColor:{type:String,default:"rgba(0, 0, 0, 0.45)"},tooltip:{type:String,default:""},successTooltip:{type:String,default:""},format:{type:String,required:!1,default:"uuid",validator:e=>["uuid","hidden","redacted","deleted"].includes(e)}},emits:["success","error"],setup(e,{emit:o}){const{t:n}=ye.createI18n("en-us",mo),r=e,a=o,l=r.notify||t.inject(go,()=>{}),i=t.computed(()=>r.idTooltip?{label:r.idTooltip,positionFixed:!0,placement:"bottomStart"}:{title:r.uuid}),s=t.computed(()=>!!(r.tooltip&&r.successTooltip)),c=t.ref(r.tooltip),d=t.computed(()=>r.tooltip?{label:c.value,positionFixed:!0,maxWidth:"500px",placement:"bottomStart"}:{}),p=t.computed(()=>{var f;return r.format==="redacted"?"*****":r.format==="deleted"?`*${(f=r.uuid)==null?void 0:f.substring(0,5)}`:r.uuid}),u=f=>{c.value=f,setTimeout(()=>{c.value=r.tooltip},1800)},m=f=>{var w,y;if(!f(r.uuid)){typeof l=="function"&&l({type:"error",message:n("message.fail")}),s.value?u(n("message.fail")):a("error",r.uuid);return}const x=((w=r.uuid)==null?void 0:w.length)>yt,C=r.format==="hidden"||r.format==="redacted"?n("message.success.prefix"):`"${((y=r.uuid)==null?void 0:y.substring(0,yt))+(x?"...":"")}"`;typeof l=="function"&&l({type:"success",message:`${C}${n("message.success.content")}`}),s.value?u(r.successTooltip):a("success",r.uuid)};return(f,w)=>{const y=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",Bo,[e.format!=="hidden"?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.idTooltip?"KTooltip":"div"),t.mergeProps({key:0},i.value,{"data-testid":"copy-id"}),{default:t.withCtx(()=>[t.createElementVNode("div",{class:t.normalizeClass(["uuid-container",e.truncated?"truncated-uuid":null,e.useMono?"mono":null])},t.toDisplayString(p.value),3)]),_:1},16)):t.createCommentVNode("",!0),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.tooltip?"KTooltip":"div"),t.mergeProps(d.value,{class:"uuid-icon-wrapper"}),{default:t.withCtx(()=>[t.createVNode(y,null,{default:t.withCtx(({copyToClipboard:x})=>[t.createElementVNode("span",{"data-testid":"copy-to-clipboard",role:"button",tabindex:"0",onClick:t.withModifiers(C=>m(x),["stop"])},[t.createVNode(t.unref(xo),{class:"uuid-icon",color:e.iconColor,decorative:!!e.tooltip,size:t.unref(So),title:t.unref(n)("iconTitle")},null,8,["color","decorative","size","title"])],8,_o)]),_:1})]),_:1},16))])}}}),No=(e,o)=>{const n=e.__vccOpts||e;for(const[r,a]of o)n[r]=a;return n},Ct=No(Io,[["__scopeId","data-v-0c07874b"]]),Ao={key:0,class:"config-card-fieldset-title"},Eo=t.defineComponent({__name:"JsonCardItem",props:{item:{type:Object,required:!0},index:{type:Number,default:-1},isArrayItem:{type:Boolean,default:!1}},setup(e){const o=e,{i18n:{t:n}}=G.useI18n(),{convertKeyToTitle:r}=G.useStringHelpers(),a=t.computed(()=>o.item.key??"json-array-item"),l=t.computed(()=>o.item.value??o.item),i=t.computed(()=>{const c=JSON.parse(JSON.stringify(l.value));return o.isArrayItem&&delete c.name,c}),s=t.computed(()=>{var c;return o.isArrayItem?(c=l.value)!=null&&c.name?r(l.value.name,"_"):n("baseConfigCard.general.entryTitle",{index:o.index}):""});return(c,d)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.isArrayItem?"fieldset":"div"),{class:t.normalizeClass(e.isArrayItem?"config-card-fieldset":"config-card-json-item")},{default:t.withCtx(()=>[e.isArrayItem?(t.openBlock(),t.createElementBlock("legend",Ao,[t.createElementVNode("b",null,t.toDisplayString(s.value),1)])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(i.value),(p,u)=>(t.openBlock(),t.createBlock(qe,{key:`${a.value}-property-${u}`,item:{key:p,label:t.unref(r)(p),value:i.value[p]}},null,8,["item"]))),128))]),_:1},8,["class"]))}}),ee=(e,o)=>{const n=e.__vccOpts||e;for(const[r,a]of o)n[r]=a;return n},kt=ee(Eo,[["__scopeId","data-v-68ca83ec"]]),Vo=t.defineComponent({__name:"InternalLinkItem",props:{item:{type:Object,required:!0}},emits:["navigation-click"],setup(e){const{i18n:{t:o}}=G.useI18n();return(n,r)=>{const a=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(a,{appearance:"tertiary",class:"navigation-button",onClick:r[0]||(r[0]=l=>n.$emit("navigation-click",e.item))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.item.value||t.unref(o)("baseConfigCard.commonFields.link")),1)]),_:1})])}}}),To=ee(Vo,[["__scopeId","data-v-c96811e5"]]),jo=t.defineComponent({__name:"StatusBadge",props:{status:{type:Boolean,default:!1}},setup(e){const{i18n:{t:o}}=G.useI18n();return(n,r)=>{const a=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(a,{appearance:e.status?"success":"neutral"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.status?t.unref(o)("baseConfigCard.statusBadge.enabledLabel"):t.unref(o)("baseConfigCard.statusBadge.disabledLabel")),1)]),_:1},8,["appearance"])}}}),$o="#0044f4",Mo="#e0e4ea",Oo="#3a3f51",Fo="1px",Do="20px",qo={class:"config-card-details-row"},Ko=["data-testid"],Lo=["data-testid"],vo=["data-testid"],Uo=["data-testid"],Po={key:1},Ro=["data-testid"],Go=["data-testid"],zo=["data-testid"],Ho=["data-testid"],Jo={name:"ConfigCardItem",components:{CopyUuid:Ct,JsonCardItem:kt,StatusBadge:jo,InternalLinkItem:To}},Yo=t.defineComponent({...Jo,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:o}){t.useCssVars(w=>({"5ae2770e":p.value?"none":`solid ${t.unref(Fo)} ${t.unref(Mo)}`,"4db3977e":d.value&&s.value?"block":"flex","1a7c5e02":d.value&&s.value?"100%":n.slim?"50%":"25%","1a77d24c":d.value&&s.value?"100%":n.slim?"50%":"75%"}));const n=e,r=o,a=t.useSlots(),{i18n:{t:l,formatUnixTimeStamp:i}}=G.useI18n(),s=t.computed(()=>n.item.value!==void 0&&n.item.value!==null&&n.item.value!==""),c=t.computed(()=>!!(n.item.tooltip||a["label-tooltip"])),d=t.computed(()=>n.item.type===L.Json||n.item.type===L.JsonArray),p=t.computed(()=>n.item.type===L.JsonArray),u=t.computed(()=>{switch(n.item.type){case L.ID:return{tag:"CopyUuid",attrs:{"data-testid":`${n.item.key}-copy-uuid`,"success-tooltip":l("baseConfigCard.copy.success"),tooltip:l("baseConfigCard.copy.tooltip",{label:n.item.label}),truncated:!1,uuid:n.item.value,notify:()=>{}}};case L.IdArray:return{tag:"div",additionalComponent:"CopyUuid",childAttrs:{"success-tooltip":l("baseConfigCard.copy.success"),tooltip:l("baseConfigCard.copy.tooltip",{label:n.item.label}),truncated:!1,notify:()=>{}}};case L.Redacted:return{tag:"CopyUuid",attrs:{"data-testid":`${n.item.key}-copy-uuid-redacted`,format:"redacted","success-tooltip":l("baseConfigCard.copy.success"),tooltip:l("baseConfigCard.copy.tooltip",{label:n.item.label}),truncated:!1,uuid:n.item.value,notify:()=>{}}};case L.RedactedArray:return{tag:"div",additionalComponent:"CopyUuid",childAttrs:{format:"redacted","success-tooltip":l("baseConfigCard.copy.success"),tooltip:l("baseConfigCard.copy.tooltip",{label:n.item.label}),truncated:!1,notify:()=>{}}};case L.Date:return{tag:"div",attrs:{"data-testid":`${n.item.key}-date`},text:i(n.item.value)};case L.BadgeStatus:return{tag:"StatusBadge",attrs:{"data-testid":`${n.item.key}-badge-status`,status:n.item.value}};case L.BadgeTag:return{tag:"div",additionalComponent:"KBadge"};case L.BadgeMethod:return{tag:"div",additionalComponent:"KMethodBadge"};case L.LinkInternal:return{tag:"InternalLinkItem",attrs:{"data-testid":`${n.item.key}-internal-link`,item:n.item,onNavigationClick:w=>{r("navigation-click",w)}}};case L.LinkExternal:return{tag:"KExternalLink",attrs:{"data-testid":`${n.item.key}-external-link`,href:n.item.value},text:n.item.value};case L.Json:return{tag:"JsonCardItem",attrs:{"data-testid":`${n.item.key}-json-content`,item:n.item}};case L.JsonArray:return{tag:"div",additionalComponent:"JsonCardItem",attrs:{"data-testid":`${n.item.key}-json-array-content`,item:n.item}};default:return{tag:"div",attrs:{"data-testid":`${n.item.key}-plain-text`},text:n.item.value}}}),m=t.ref(),{isTruncated:f}=G.useTruncationDetector(m);return(w,y)=>{const x=t.resolveComponent("KLabel"),C=t.resolveComponent("KBadge"),b=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",qo,[t.createElementVNode("div",{class:"config-card-details-label","data-testid":`${e.item.key}-label`},[t.renderSlot(w.$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},[c.value?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{"data-testid":`${e.item.key}-label-tooltip`},[t.renderSlot(w.$slots,"label-tooltip",{},()=>[t.createTextVNode(t.toDisplayString(e.item.tooltip),1)],!0)],8,Lo)]),key:"0"}:void 0]),1024)],!0)],8,Ko),t.createElementVNode("div",{class:"config-card-details-value","data-testid":`${e.item.key}-property-value`},[t.renderSlot(w.$slots,e.item.key,{rowValue:e.item.value},()=>[s.value?(t.openBlock(),t.createElementBlock("div",Po,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(u.value.tag),t.normalizeProps(t.guardReactiveProps(u.value.attrs)),{default:t.withCtx(()=>[u.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,(O,k)=>(t.openBlock(),t.createBlock(C,{key:`${e.item.key}-badge-tag-${k}`,class:"config-badge","data-testid":`${e.item.key}-badge-tag-${k}`,tooltip:O,"truncation-tooltip":""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(O),1)]),_:2},1032,["data-testid","tooltip"]))),128))],8,Ro)):t.createCommentVNode("",!0),u.value.additionalComponent==="CopyUuid"?(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,(O,k)=>(t.openBlock(),t.createBlock(t.unref(Ct),t.mergeProps(u.value.childAttrs,{key:`${e.item.key}-copy-uuid-${k}`,"data-testid":`${e.item.key}-copy-uuid-${k}`,uuid:O}),null,16,["data-testid","uuid"]))),128))],8,Go)):u.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,(O,k)=>(t.openBlock(),t.createBlock(C,{key:`${e.item.key}-badge-method-${k}`,appearance:Object.values(t.unref(On.BadgeMethodAppearances)).includes(O.toLowerCase())?O.toLowerCase():"custom",class:"config-badge","data-testid":`${e.item.key}-badge-method-${k}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(O),1)]),_:2},1032,["appearance","data-testid"]))),128))],8,zo)):t.createCommentVNode("",!0),u.value.additionalComponent==="JsonCardItem"?(t.openBlock(),t.createElementBlock("div",{key:3,"data-testid":`${n.item.key}-json-array-content`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(O,k)=>(t.openBlock(),t.createBlock(kt,{key:`json-array-item-${k}`,index:k,"is-array-item":"",item:O},null,8,["index","item"]))),128))],8,Ho)):(t.openBlock(),t.createBlock(b,{key:4,text:t.unref(f)?e.item.value:""},{default:t.withCtx(()=>[t.createElementVNode("span",{ref_key:"textContent",ref:m,class:t.normalizeClass(["attrs-data-text",{truncated:e.truncated}])},t.toDisplayString(u.value.text),3)]),_:1},8,["text"]))]),_:1},16))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${e.item.key}-no-value`}," – ",8,Uo))],!0)],8,vo)])}}}),qe=ee(Yo,[["__scopeId","data-v-f65fc52c"]]),Wo={class:"json-config"},Zo={key:0,class:"json-endpoint"},bt=t.defineComponent({__name:"JsonCodeBlock",props:{config:{type:Object,required:!1,default:()=>({})},fetcherUrl:{type:String,required:!1,default:""},jsonRecord:{type:Object,required:!0},requestMethod:{type:String,required:!1,default:""}},setup(e){t.useCssVars(a=>({"2d178975":`${r.value}ch`}));const o=e,n=t.computed(()=>o.jsonRecord),r=t.computed(()=>{var a;if(!o.fetcherUrl)return 0;const l=(a=o.fetcherUrl)==null?void 0:a.split("/");return l.length<2?0:41+(o.requestMethod==="post"?l[l.length-1]:l[l.length-2]).length});return(a,l)=>{var i;const s=t.resolveComponent("KBadge"),c=t.resolveComponent("KCodeBlock");return t.openBlock(),t.createElementBlock("div",Wo,[o.fetcherUrl&&(i=o.config)!=null&&i.jsonYamlFormsEnabled?(t.openBlock(),t.createElementBlock("div",Zo,[t.createVNode(s,{appearance:o.requestMethod},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(o.requestMethod),1)]),_:1},8,["appearance"]),t.createVNode(c,{id:"json-endpoint-codeblock",code:o.fetcherUrl,"is-single-line":"",language:"json",theme:"dark"},null,8,["code"])])):t.createCommentVNode("",!0),o.jsonRecord?(t.openBlock(),t.createBlock(c,{key:1,id:"json-codeblock",class:t.normalizeClass({"json-content":o.fetcherUrl}),code:JSON.stringify(n.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 wt(e){return typeof e>"u"||e===null}function Qo(e){return typeof e=="object"&&e!==null}function Xo(e){return Array.isArray(e)?e:wt(e)?[]:[e]}function er(e,o){var n,r,a,l;if(o)for(l=Object.keys(o),n=0,r=l.length;n<r;n+=1)a=l[n],e[a]=o[a];return e}function tr(e,o){var n="",r;for(r=0;r<o;r+=1)n+=e;return n}function nr(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var or=wt,rr=Qo,ar=Xo,ir=tr,lr=nr,sr=er,R={isNothing:or,isObject:rr,toArray:ar,repeat:ir,isNegativeZero:lr,extend:sr};function xt(e,o){var n="",r=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(n+='in "'+e.mark.name+'" '),n+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!o&&e.mark.snippet&&(n+=`
2
2
 
3
3
  `+e.mark.snippet),r+" "+n):r}function Ce(e,o){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=o,this.message=xt(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+": "+xt(this,e)};var J=Ce;function Ke(e,o,n,r,a){var l="",i="",s=Math.floor(a/2)-1;return r-o>s&&(l=" ... ",o=r-s+l.length),n-r>s&&(i=" ...",n=r+s-i.length),{str:l+e.slice(o,n).replace(/\t/g,"→")+i,pos:r-o+l.length}}function Le(e,o){return R.repeat(" ",o-e.length)+e}function cr(e,o){if(o=Object.create(o||null),!e.buffer)return null;o.maxLength||(o.maxLength=79),typeof o.indent!="number"&&(o.indent=1),typeof o.linesBefore!="number"&&(o.linesBefore=3),typeof o.linesAfter!="number"&&(o.linesAfter=2);for(var n=/\r?\n|\r|\0/g,r=[0],a=[],l,i=-1;l=n.exec(e.buffer);)a.push(l.index),r.push(l.index+l[0].length),e.position<=l.index&&i<0&&(i=r.length-2);i<0&&(i=r.length-1);var s="",c,d,p=Math.min(e.line+o.linesAfter,a.length).toString().length,u=o.maxLength-(o.indent+p+3);for(c=1;c<=o.linesBefore&&!(i-c<0);c++)d=Ke(e.buffer,r[i-c],a[i-c],e.position-(r[i]-r[i-c]),u),s=R.repeat(" ",o.indent)+Le((e.line-c+1).toString(),p)+" | "+d.str+`
4
4
  `+s;for(d=Ke(e.buffer,r[i],a[i],e.position,u),s+=R.repeat(" ",o.indent)+Le((e.line+1).toString(),p)+" | "+d.str+`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kong-ui-public/entities-consumers",
3
- "version": "2.5.25",
3
+ "version": "2.5.26",
4
4
  "type": "module",
5
5
  "main": "./dist/entities-consumers.umd.js",
6
6
  "module": "./dist/entities-consumers.es.js",
@@ -50,7 +50,7 @@
50
50
  "errorLimit": "500KB"
51
51
  },
52
52
  "dependencies": {
53
- "@kong-ui-public/entities-shared": "^2.7.4"
53
+ "@kong-ui-public/entities-shared": "^2.7.5"
54
54
  },
55
55
  "scripts": {
56
56
  "dev": "cross-env USE_SANDBOX=true vite",