@kong-ui-public/entities-consumer-groups 2.4.25 → 2.4.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.
@@ -145,7 +145,7 @@ function jr() {
145
145
  return {
146
146
  getAxiosInstance: (e = {}) => {
147
147
  try {
148
- const n = hn("get-axios-instance");
148
+ const n = hn("get-axios-instance", void 0);
149
149
  return typeof n == "function" ? n(e) : Vt.create({
150
150
  withCredentials: !0,
151
151
  timeout: 3e4,
@@ -1,4 +1,4 @@
1
- (function(ae,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):(ae=typeof globalThis<"u"?globalThis:ae||self,t(ae["kong-ui-public-entities-consumer-groups"]={},ae.Vue,ae.VueRouter,ae["kong-ui-public-i18n"],ae.axios,ae.Kongponents))})(this,function(ae,t,Re,Ae,pt,vn){"use strict";const Un={consumer_groups:{list:{table_headers:{name:"Name",consumers_count:"Consumers",tags:"Tags",id:"ID"},empty_state:{title:"Configure a New Consumer Group",description:"Use consumer groups to manage custom rate limiting configuration for subsets of consumers.",title_for_consumer:"Add to a Consumer Group"},toolbar_actions:{new_consumer_group:"New Consumer Group"}},title:"Consumer Groups",search:{placeholder:"Filter by exact name or ID"},actions:{add_to_group:"Add to Consumer Group",create:"New Consumer Group",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",exit:"Exit",view:"View Details"},delete:{title:"Delete a Consumer Group",description:"Deleting this group will remove this group from all plugins and its rate limit configuration. This action cannot be reversed."},consumers:{add:{title:"Add To Consumer Groups",ctaText:"Add this consumer to consumer groups",consumer_groups_label:"Consumer Groups",consumer_group_placeholder:"Add to consumer groups",footer:"Search by exact name or ID to find consumer groups not included in the list"},exit:{title:"Exit from a Consumer Group",confirmation:"Are you sure you want to remove consumer {consumer} from consumer group {consumerGroup}?",confirmationNoUsername:"Are you sure you want this consumer to exit from consumer group {consumerGroup}?",description:"Exiting from the group could change the rate limit policy applied to this consumer."}},errors:{general:"Consumer Groups could not be retrieved",delete:"The consumer group could not be deleted at this time.",copy:"Failed to copy to clipboard",add:"The consumer could not be added to some groups at this time.",already_added:"The consumer is already in this consumer group",add_consumer:"An unexpected error occurred while adding consumers. Please try again.",remove_consumer:"An unexpected error occurred while removing consumers. Please try again."},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},form:{general_info:{title:"General Information",description:"General information will help identify and manage this consumer group."},consumers:{title:"Consumers",description:"Add or remove consumers from this group"},fields:{name:{label:"Name",placeholder:"Enter a unique name for this consumer group "},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",tooltip:"An optional set of strings for grouping and filtering, separated by commas."},consumers:{label:"Consumers",placeholder:"Select one or more consumers"}},validation_errors:{name:"The name can be any string containing letters, numbers, or the following characters: ., -, _, or ~. Do not use spaces."}}}};function Pn(){const e=Ae.createI18n("en-us",Un);return{i18n:e,i18nT:Ae.i18nTComponent(e)}}const Me={useI18n:Pn},ue="/api/runtime_groups/{controlPlaneId}",pe="/{workspace}",me={list:{konnect:{all:`${ue}/consumer_groups`,forConsumer:`${ue}/consumers/{consumerId}/consumer_groups`,oneForConsumer:`${ue}/consumers/{consumerId}/consumer_groups/{consumerGroupId}`},kongManager:{all:`${pe}/consumer_groups?counter=true`,forConsumer:`${pe}/consumers/{consumerId}/consumer_groups`,oneForConsumer:`${pe}/consumers/{consumerId}/consumer_groups/{consumerGroupId}`}},form:{konnect:{consumersList:`${ue}/consumers`,create:`${ue}/consumer_groups`,edit:`${ue}/consumer_groups/{id}`,addConsumer:`${ue}/consumer_groups/{id}/consumers`,removeConsumer:`${ue}/consumer_groups/{id}/consumers/{consumerId}`,getConsumers:`${ue}/consumer_groups/{id}/consumers`},kongManager:{consumersList:`${pe}/consumers`,create:`${pe}/consumer_groups`,edit:`${pe}/consumer_groups/{id}`,addConsumer:`${pe}/consumer_groups/{id}/consumers`,removeConsumer:`${pe}/consumer_groups/{id}/consumers/{consumerId}`,getConsumers:`${pe}/consumer_groups/{id}/consumers`}}};var ft=(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))(ft||{}),Oe=(e=>(e.Edit="edit",e.Create="create",e))(Oe||{}),ye=(e=>(e[e.Loading=0]="Loading",e[e.Idle=1]="Idle",e[e.NoResults=2]="NoResults",e[e.Error=3]="Error",e))(ye||{}),R=(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))(R||{}),ie=(e=>(e.Basic="basic",e.Advanced="advanced",e.Plugin="plugin",e))(ie||{});function Rn(){return{getAxiosInstance:(e={})=>{try{const o=t.inject("get-axios-instance");return typeof o=="function"?o(e):pt.create({withCredentials:!0,timeout:3e4,...e})}catch(o){return console.warn("getAxiosInstance:",o.message||o),pt.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 Gn(){return{debounce:(e,o)=>{let n;return(...r)=>{clearTimeout(n),n=window==null?void 0:window.setTimeout(()=>{e(...r)},o)}}}}const Ge="khcp-user-table-preferences",zn={pageSize:30,sortColumnKey:void 0,sortColumnOrder:void 0};function Hn(){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(Ge));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(Ge,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||zn},deleteAllTablePreferences:()=>{localStorage.removeItem(Ge)}}}function ze(e={}){const{getAxiosInstance:o}=Rn();return{axiosInstance:o(e)}}const Jn={actions:{copyId:"Copy ID",copied_id:'Copied "{id}" to the clipboard',copyToClipboard:"Copied successfully!",copyToClipboardFailed:"Failed to copy to the clipboard"}},Yn={message:"Are you sure you want to delete this {entityType}?",messageWithName:"Are you sure you want to delete this {entityType} {entityName}?"},Wn={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."}},Zn={emptyState:{noSearchResultsTitle:"No results found",noSearchResultsMessage:"Please adjust the criteria and try again.",noSearchResultsCtaText:"Clear"}},Qn={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"}},Xn={filterButtonText:"Filter",fieldLabel:"Filter by:",inputPlaceholder:"Enter a value",selectPlaceholder:"Select an item",applyButtonText:"Apply",clearButtonText:"Clear",clearAllButtonText:"Clear all filters"},eo={errors:{fetch:"Could not fetch available items",invalid:"Please select a valid value"}},to={unexpected:"An unexpected error has occurred",dataKeyUndefined:'The data key "{dataKey}" does not exist in the response.'},no={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"}},oo={global:Jn,deleteModal:Yn,baseForm:Wn,baseTable:Zn,baseConfigCard:Qn,filter:Xn,debouncedFilter:eo,errors:to,toggleModal:no};function He(){const e=Ae.createI18n("en-us",oo);return{i18n:e,i18nT:Ae.i18nTComponent(e)}}function mt(){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 ro(e,o,n,r={fetchedItemsKey:"data",searchKeys:["id"]}){n||(n="100");const{axiosInstance:a}=ze({headers:e.requestHeaders}),{i18n:{t:l}}=He(),{debounce:i}=Gn(),s=i(async h=>{await T(h)},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 g=`${e.apiBaseUrl}${w}`;e.app==="konnect"?g=g.replace(/{controlPlaneId}/gi,(e==null?void 0:e.controlPlaneId)||""):e.app==="kongManager"&&(g=g.replace(/\/{workspace}/gi,e!=null&&e.workspace?`/${e.workspace}`:""));const{isValidUuid:S}=mt(),y=async()=>{try{c.value=!0;const{data:h}=await a.get(`${g}?size=${n}`);h!=null&&h.next||(f.value=r.fetchedItemsKey in h?h[r.fetchedItemsKey]:[]),m.value=r.fetchedItemsKey in h?h[r.fetchedItemsKey]:[],u.value=m.value}catch{u.value=[],d.value=l("debouncedFilter.errors.fetch")}finally{c.value=!1}},b=t.ref(""),T=async h=>{var _,j,G;if(b.value!==h)if(b.value=h||"",f.value===void 0)try{if(c.value=!0,d.value="",p.value="",e.app==="konnect"){let O=g+"";h&&(O+=`/${h}`);const{data:C}=await a.get(`${O}?size=${n}`);r.fetchedItemsKey in C?u.value=C[r.fetchedItemsKey]:C!=null&&C.id?u.value=[C]:u.value=[]}else if(h){const O=[];S(h)&&r.searchKeys.includes("id")?O.push((async()=>{const{data:E}=await a.get(`${g}/${h}`);return[E[r.fetchedItemsKey]??E]})()):O.push(...r.searchKeys.filter(E=>E!=="id").map(async E=>{const{data:x}=await a.get(`${g}?${E}=${h}`);return x[r.fetchedItemsKey]}));const C=await Promise.all(O),M=new Set;u.value=[],(_=C==null?void 0:C.forEach)==null||_.call(C,E=>{var x;(x=E==null?void 0:E.forEach)==null||x.call(E,B=>{M.has(B.id)||(M.add(B.id),u.value.push(B))})})}else u.value=m.value}catch(O){((j=O==null?void 0:O.response)==null?void 0:j.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="",h?(u.value=(G=f.value)==null?void 0:G.filter(O=>{var C;let M=!1;for(const E of r.searchKeys){const x=typeof O[E]=="string"?(C=O[E])==null?void 0:C.toLowerCase():O[E];x!=null&&x.includes(h.toLowerCase())&&(M=!0)}return M}),(!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:y,debouncedQueryChange:s}}function ao(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 io(){const{i18n:{t:e}}=He();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 lo(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 gt(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,g)=>{f.searchParams.append(g,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 so(e,o,n="data"){const r=t.unref(o),{axiosInstance:a}=ze({headers:e.requestHeaders}),l=gt(e,r),i=t.ref({status:ye.Idle});return{fetcher:async s=>{try{i.value={status:ye.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:ye.Idle,response:m},m}catch(c){const d={data:[],total:0};return s.query&&c.response.status===404?(i.value={status:ye.NoResults,response:d,error:c},d):(i.value={status:ye.Error,response:d,error:c},d)}},fetcherState:i}}function co(){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 ht=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,yt=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const o=e.match(ht);if(!o)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return o.shift(),o},Ct=e=>e==="*"||e==="x"||e==="X",kt=e=>{const o=parseInt(e,10);return isNaN(o)?e:o},uo=(e,o)=>typeof e!=typeof o?[String(e),String(o)]:[e,o],po=(e,o)=>{if(Ct(e)||Ct(o))return 0;const[n,r]=uo(kt(e),kt(o));return n>r?1:n<r?-1:0},bt=(e,o)=>{for(let n=0;n<Math.max(e.length,o.length);n++){const r=po(e[n]||"0",o[n]||"0");if(r!==0)return r}return 0},fo=(e,o)=>{const n=yt(e),r=yt(o),a=n.pop(),l=r.pop(),i=bt(n,r);return i!==0?i:a&&l?bt(a.split("."),l.split(".")):a||l?a?-1:1:0},wt=(e,o,n)=>{mo(n);const r=fo(e,o);return xt[n].includes(r)},xt={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},St=Object.keys(xt),mo=e=>{if(typeof e!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof e}`);if(St.indexOf(e)===-1)throw new Error(`Invalid operator, expected one of ${St.join("|")}`)},go=e=>typeof e=="string"&&/^[v\d]/.test(e)&&ht.test(e);function ho(e){const{gatewayInfo:o,supportedRange:n}=e;if(!o)return!0;const{edition:r,version:a}=o;if(!go(a))return console.error("Invalid version"),!1;const l=n[r];if(!l)return!1;const[i,s]=l;return!(i&&wt(a,i,"<")||s&&wt(a,s,">"))}function yo(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 W={useAxios:ze,useDebouncedFilter:ro,useDeleteUrlBuilder:ao,useErrors:io,useExternalLinkCreator:lo,useFetcher:so,useFetchUrlBuilder:gt,useHelpers:mt,useStringHelpers:co,useI18n:He,useGatewayFeatureSupported:ho,useTruncationDetector:yo},Co={fail:"Failed to copy id to clipboard",success:{prefix:"Successfully",content:" copied to clipboard"}},ko="Copy to clipboard",bo={message:Co,iconTitle:ko},wo="kong-ui-copy-uuid-notify",_t="24px",xo=(e,o)=>{const n=e.__vccOpts||e;for(const[r,a]of o)n[r]=a;return n},So=e=>(t.pushScopeId("data-v-13f41aa3"),e=e(),t.popScopeId(),e),_o=["aria-hidden"],Bo={key:0,"data-testid":"kui-icon-svg-title"},Io=So(()=>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)),Ao=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:_t,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 _t}),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",Bo,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Io],8,_o))]),_:1},8,["aria-hidden","style"]))}}),No=xo(Ao,[["__scopeId","data-v-13f41aa3"]]),Eo="16px",Vo={class:"kong-ui-copy-uuid"},To=["onClick"],Bt=15,$o=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}=Ae.createI18n("en-us",bo),r=e,a=o,l=r.notify||t.inject(wo,()=>{}),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,g;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 S=((w=r.uuid)==null?void 0:w.length)>Bt,y=r.format==="hidden"||r.format==="redacted"?n("message.success.prefix"):`"${((g=r.uuid)==null?void 0:g.substring(0,Bt))+(S?"...":"")}"`;typeof l=="function"&&l({type:"success",message:`${y}${n("message.success.content")}`}),s.value?u(r.successTooltip):a("success",r.uuid)};return(f,w)=>{const g=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",Vo,[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(g,null,{default:t.withCtx(({copyToClipboard:S})=>[t.createElementVNode("span",{"data-testid":"copy-to-clipboard",role:"button",tabindex:"0",onClick:t.withModifiers(y=>m(S),["stop"])},[t.createVNode(t.unref(No),{class:"uuid-icon",color:e.iconColor,decorative:!!e.tooltip,size:t.unref(Eo),title:t.unref(n)("iconTitle")},null,8,["color","decorative","size","title"])],8,To)]),_:1})]),_:1},16))])}}}),jo=(e,o)=>{const n=e.__vccOpts||e;for(const[r,a]of o)n[r]=a;return n},It=jo($o,[["__scopeId","data-v-0c07874b"]]),Mo={key:0,class:"config-card-fieldset-title"},Oo=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}}=W.useI18n(),{convertKeyToTitle:r}=W.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",Mo,[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(Je,{key:`${a.value}-property-${u}`,item:{key:p,label:t.unref(r)(p),value:i.value[p]}},null,8,["item"]))),128))]),_:1},8,["class"]))}}),le=(e,o)=>{const n=e.__vccOpts||e;for(const[r,a]of o)n[r]=a;return n},At=le(Oo,[["__scopeId","data-v-68ca83ec"]]),Fo=t.defineComponent({__name:"InternalLinkItem",props:{item:{type:Object,required:!0}},emits:["navigation-click"],setup(e){const{i18n:{t:o}}=W.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})])}}}),Do=le(Fo,[["__scopeId","data-v-c96811e5"]]),Ko=t.defineComponent({__name:"StatusBadge",props:{status:{type:Boolean,default:!1}},setup(e){const{i18n:{t:o}}=W.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"])}}}),qo="#0044f4",Lo="#e0e4ea",vo="#3a3f51",Uo="1px",Po="20px",Ro={class:"config-card-details-row"},Go=["data-testid"],zo=["data-testid"],Ho=["data-testid"],Jo=["data-testid"],Yo={key:1},Wo=["data-testid"],Zo=["data-testid"],Qo=["data-testid"],Xo=["data-testid"],er={name:"ConfigCardItem",components:{CopyUuid:It,JsonCardItem:At,StatusBadge:Ko,InternalLinkItem:Do}},tr=t.defineComponent({...er,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(Uo)} ${t.unref(Lo)}`,"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}}=W.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===R.Json||n.item.type===R.JsonArray),p=t.computed(()=>n.item.type===R.JsonArray),u=t.computed(()=>{switch(n.item.type){case R.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 R.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 R.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 R.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 R.Date:return{tag:"div",attrs:{"data-testid":`${n.item.key}-date`},text:i(n.item.value)};case R.BadgeStatus:return{tag:"StatusBadge",attrs:{"data-testid":`${n.item.key}-badge-status`,status:n.item.value}};case R.BadgeTag:return{tag:"div",additionalComponent:"KBadge"};case R.BadgeMethod:return{tag:"div",additionalComponent:"KMethodBadge"};case R.LinkInternal:return{tag:"InternalLinkItem",attrs:{"data-testid":`${n.item.key}-internal-link`,item:n.item,onNavigationClick:w=>{r("navigation-click",w)}}};case R.LinkExternal:return{tag:"KExternalLink",attrs:{"data-testid":`${n.item.key}-external-link`,href:n.item.value},text:n.item.value};case R.Json:return{tag:"JsonCardItem",attrs:{"data-testid":`${n.item.key}-json-content`,item:n.item}};case R.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}=W.useTruncationDetector(m);return(w,g)=>{const S=t.resolveComponent("KLabel"),y=t.resolveComponent("KBadge"),b=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",Ro,[t.createElementVNode("div",{class:"config-card-details-label","data-testid":`${e.item.key}-label`},[t.renderSlot(w.$slots,"label",{item:e.item},()=>[t.createVNode(S,{"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,zo)]),key:"0"}:void 0]),1024)],!0)],8,Go),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",Yo,[(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,(T,h)=>(t.openBlock(),t.createBlock(y,{key:`${e.item.key}-badge-tag-${h}`,class:"config-badge","data-testid":`${e.item.key}-badge-tag-${h}`,tooltip:T,"truncation-tooltip":""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(T),1)]),_:2},1032,["data-testid","tooltip"]))),128))],8,Wo)):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,(T,h)=>(t.openBlock(),t.createBlock(t.unref(It),t.mergeProps(u.value.childAttrs,{key:`${e.item.key}-copy-uuid-${h}`,"data-testid":`${e.item.key}-copy-uuid-${h}`,uuid:T}),null,16,["data-testid","uuid"]))),128))],8,Zo)):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,(T,h)=>(t.openBlock(),t.createBlock(y,{key:`${e.item.key}-badge-method-${h}`,appearance:Object.values(t.unref(vn.BadgeMethodAppearances)).includes(T.toLowerCase())?T.toLowerCase():"custom",class:"config-badge","data-testid":`${e.item.key}-badge-method-${h}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(T),1)]),_:2},1032,["appearance","data-testid"]))),128))],8,Qo)):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,(T,h)=>(t.openBlock(),t.createBlock(At,{key:`json-array-item-${h}`,index:h,"is-array-item":"",item:T},null,8,["index","item"]))),128))],8,Xo)):(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,Jo))],!0)],8,Ho)])}}}),Je=le(tr,[["__scopeId","data-v-f65fc52c"]]),nr={class:"json-config"},or={key:0,class:"json-endpoint"},Nt=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",nr,[o.fetcherUrl&&(i=o.config)!=null&&i.jsonYamlFormsEnabled?(t.openBlock(),t.createElementBlock("div",or,[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 Et(e){return typeof e>"u"||e===null}function rr(e){return typeof e=="object"&&e!==null}function ar(e){return Array.isArray(e)?e:Et(e)?[]:[e]}function ir(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 lr(e,o){var n="",r;for(r=0;r<o;r+=1)n+=e;return n}function sr(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var cr=Et,dr=rr,ur=ar,pr=lr,fr=sr,mr=ir,Y={isNothing:cr,isObject:dr,toArray:ur,repeat:pr,isNegativeZero:fr,extend:mr};function Vt(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(ae,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):(ae=typeof globalThis<"u"?globalThis:ae||self,t(ae["kong-ui-public-entities-consumer-groups"]={},ae.Vue,ae.VueRouter,ae["kong-ui-public-i18n"],ae.axios,ae.Kongponents))})(this,function(ae,t,Re,Ae,pt,vn){"use strict";const Un={consumer_groups:{list:{table_headers:{name:"Name",consumers_count:"Consumers",tags:"Tags",id:"ID"},empty_state:{title:"Configure a New Consumer Group",description:"Use consumer groups to manage custom rate limiting configuration for subsets of consumers.",title_for_consumer:"Add to a Consumer Group"},toolbar_actions:{new_consumer_group:"New Consumer Group"}},title:"Consumer Groups",search:{placeholder:"Filter by exact name or ID"},actions:{add_to_group:"Add to Consumer Group",create:"New Consumer Group",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",exit:"Exit",view:"View Details"},delete:{title:"Delete a Consumer Group",description:"Deleting this group will remove this group from all plugins and its rate limit configuration. This action cannot be reversed."},consumers:{add:{title:"Add To Consumer Groups",ctaText:"Add this consumer to consumer groups",consumer_groups_label:"Consumer Groups",consumer_group_placeholder:"Add to consumer groups",footer:"Search by exact name or ID to find consumer groups not included in the list"},exit:{title:"Exit from a Consumer Group",confirmation:"Are you sure you want to remove consumer {consumer} from consumer group {consumerGroup}?",confirmationNoUsername:"Are you sure you want this consumer to exit from consumer group {consumerGroup}?",description:"Exiting from the group could change the rate limit policy applied to this consumer."}},errors:{general:"Consumer Groups could not be retrieved",delete:"The consumer group could not be deleted at this time.",copy:"Failed to copy to clipboard",add:"The consumer could not be added to some groups at this time.",already_added:"The consumer is already in this consumer group",add_consumer:"An unexpected error occurred while adding consumers. Please try again.",remove_consumer:"An unexpected error occurred while removing consumers. Please try again."},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},form:{general_info:{title:"General Information",description:"General information will help identify and manage this consumer group."},consumers:{title:"Consumers",description:"Add or remove consumers from this group"},fields:{name:{label:"Name",placeholder:"Enter a unique name for this consumer group "},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",tooltip:"An optional set of strings for grouping and filtering, separated by commas."},consumers:{label:"Consumers",placeholder:"Select one or more consumers"}},validation_errors:{name:"The name can be any string containing letters, numbers, or the following characters: ., -, _, or ~. Do not use spaces."}}}};function Pn(){const e=Ae.createI18n("en-us",Un);return{i18n:e,i18nT:Ae.i18nTComponent(e)}}const Me={useI18n:Pn},ue="/api/runtime_groups/{controlPlaneId}",pe="/{workspace}",me={list:{konnect:{all:`${ue}/consumer_groups`,forConsumer:`${ue}/consumers/{consumerId}/consumer_groups`,oneForConsumer:`${ue}/consumers/{consumerId}/consumer_groups/{consumerGroupId}`},kongManager:{all:`${pe}/consumer_groups?counter=true`,forConsumer:`${pe}/consumers/{consumerId}/consumer_groups`,oneForConsumer:`${pe}/consumers/{consumerId}/consumer_groups/{consumerGroupId}`}},form:{konnect:{consumersList:`${ue}/consumers`,create:`${ue}/consumer_groups`,edit:`${ue}/consumer_groups/{id}`,addConsumer:`${ue}/consumer_groups/{id}/consumers`,removeConsumer:`${ue}/consumer_groups/{id}/consumers/{consumerId}`,getConsumers:`${ue}/consumer_groups/{id}/consumers`},kongManager:{consumersList:`${pe}/consumers`,create:`${pe}/consumer_groups`,edit:`${pe}/consumer_groups/{id}`,addConsumer:`${pe}/consumer_groups/{id}/consumers`,removeConsumer:`${pe}/consumer_groups/{id}/consumers/{consumerId}`,getConsumers:`${pe}/consumer_groups/{id}/consumers`}}};var ft=(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))(ft||{}),Oe=(e=>(e.Edit="edit",e.Create="create",e))(Oe||{}),ye=(e=>(e[e.Loading=0]="Loading",e[e.Idle=1]="Idle",e[e.NoResults=2]="NoResults",e[e.Error=3]="Error",e))(ye||{}),R=(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))(R||{}),ie=(e=>(e.Basic="basic",e.Advanced="advanced",e.Plugin="plugin",e))(ie||{});function Rn(){return{getAxiosInstance:(e={})=>{try{const o=t.inject("get-axios-instance",void 0);return typeof o=="function"?o(e):pt.create({withCredentials:!0,timeout:3e4,...e})}catch(o){return console.warn("getAxiosInstance:",o.message||o),pt.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 Gn(){return{debounce:(e,o)=>{let n;return(...r)=>{clearTimeout(n),n=window==null?void 0:window.setTimeout(()=>{e(...r)},o)}}}}const Ge="khcp-user-table-preferences",zn={pageSize:30,sortColumnKey:void 0,sortColumnOrder:void 0};function Hn(){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(Ge));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(Ge,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||zn},deleteAllTablePreferences:()=>{localStorage.removeItem(Ge)}}}function ze(e={}){const{getAxiosInstance:o}=Rn();return{axiosInstance:o(e)}}const Jn={actions:{copyId:"Copy ID",copied_id:'Copied "{id}" to the clipboard',copyToClipboard:"Copied successfully!",copyToClipboardFailed:"Failed to copy to the clipboard"}},Yn={message:"Are you sure you want to delete this {entityType}?",messageWithName:"Are you sure you want to delete this {entityType} {entityName}?"},Wn={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."}},Zn={emptyState:{noSearchResultsTitle:"No results found",noSearchResultsMessage:"Please adjust the criteria and try again.",noSearchResultsCtaText:"Clear"}},Qn={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"}},Xn={filterButtonText:"Filter",fieldLabel:"Filter by:",inputPlaceholder:"Enter a value",selectPlaceholder:"Select an item",applyButtonText:"Apply",clearButtonText:"Clear",clearAllButtonText:"Clear all filters"},eo={errors:{fetch:"Could not fetch available items",invalid:"Please select a valid value"}},to={unexpected:"An unexpected error has occurred",dataKeyUndefined:'The data key "{dataKey}" does not exist in the response.'},no={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"}},oo={global:Jn,deleteModal:Yn,baseForm:Wn,baseTable:Zn,baseConfigCard:Qn,filter:Xn,debouncedFilter:eo,errors:to,toggleModal:no};function He(){const e=Ae.createI18n("en-us",oo);return{i18n:e,i18nT:Ae.i18nTComponent(e)}}function mt(){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 ro(e,o,n,r={fetchedItemsKey:"data",searchKeys:["id"]}){n||(n="100");const{axiosInstance:a}=ze({headers:e.requestHeaders}),{i18n:{t:l}}=He(),{debounce:i}=Gn(),s=i(async h=>{await T(h)},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 g=`${e.apiBaseUrl}${w}`;e.app==="konnect"?g=g.replace(/{controlPlaneId}/gi,(e==null?void 0:e.controlPlaneId)||""):e.app==="kongManager"&&(g=g.replace(/\/{workspace}/gi,e!=null&&e.workspace?`/${e.workspace}`:""));const{isValidUuid:S}=mt(),y=async()=>{try{c.value=!0;const{data:h}=await a.get(`${g}?size=${n}`);h!=null&&h.next||(f.value=r.fetchedItemsKey in h?h[r.fetchedItemsKey]:[]),m.value=r.fetchedItemsKey in h?h[r.fetchedItemsKey]:[],u.value=m.value}catch{u.value=[],d.value=l("debouncedFilter.errors.fetch")}finally{c.value=!1}},b=t.ref(""),T=async h=>{var _,j,G;if(b.value!==h)if(b.value=h||"",f.value===void 0)try{if(c.value=!0,d.value="",p.value="",e.app==="konnect"){let O=g+"";h&&(O+=`/${h}`);const{data:C}=await a.get(`${O}?size=${n}`);r.fetchedItemsKey in C?u.value=C[r.fetchedItemsKey]:C!=null&&C.id?u.value=[C]:u.value=[]}else if(h){const O=[];S(h)&&r.searchKeys.includes("id")?O.push((async()=>{const{data:E}=await a.get(`${g}/${h}`);return[E[r.fetchedItemsKey]??E]})()):O.push(...r.searchKeys.filter(E=>E!=="id").map(async E=>{const{data:x}=await a.get(`${g}?${E}=${h}`);return x[r.fetchedItemsKey]}));const C=await Promise.all(O),M=new Set;u.value=[],(_=C==null?void 0:C.forEach)==null||_.call(C,E=>{var x;(x=E==null?void 0:E.forEach)==null||x.call(E,B=>{M.has(B.id)||(M.add(B.id),u.value.push(B))})})}else u.value=m.value}catch(O){((j=O==null?void 0:O.response)==null?void 0:j.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="",h?(u.value=(G=f.value)==null?void 0:G.filter(O=>{var C;let M=!1;for(const E of r.searchKeys){const x=typeof O[E]=="string"?(C=O[E])==null?void 0:C.toLowerCase():O[E];x!=null&&x.includes(h.toLowerCase())&&(M=!0)}return M}),(!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:y,debouncedQueryChange:s}}function ao(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 io(){const{i18n:{t:e}}=He();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 lo(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 gt(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,g)=>{f.searchParams.append(g,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 so(e,o,n="data"){const r=t.unref(o),{axiosInstance:a}=ze({headers:e.requestHeaders}),l=gt(e,r),i=t.ref({status:ye.Idle});return{fetcher:async s=>{try{i.value={status:ye.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:ye.Idle,response:m},m}catch(c){const d={data:[],total:0};return s.query&&c.response.status===404?(i.value={status:ye.NoResults,response:d,error:c},d):(i.value={status:ye.Error,response:d,error:c},d)}},fetcherState:i}}function co(){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 ht=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,yt=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const o=e.match(ht);if(!o)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return o.shift(),o},Ct=e=>e==="*"||e==="x"||e==="X",kt=e=>{const o=parseInt(e,10);return isNaN(o)?e:o},uo=(e,o)=>typeof e!=typeof o?[String(e),String(o)]:[e,o],po=(e,o)=>{if(Ct(e)||Ct(o))return 0;const[n,r]=uo(kt(e),kt(o));return n>r?1:n<r?-1:0},bt=(e,o)=>{for(let n=0;n<Math.max(e.length,o.length);n++){const r=po(e[n]||"0",o[n]||"0");if(r!==0)return r}return 0},fo=(e,o)=>{const n=yt(e),r=yt(o),a=n.pop(),l=r.pop(),i=bt(n,r);return i!==0?i:a&&l?bt(a.split("."),l.split(".")):a||l?a?-1:1:0},wt=(e,o,n)=>{mo(n);const r=fo(e,o);return xt[n].includes(r)},xt={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},St=Object.keys(xt),mo=e=>{if(typeof e!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof e}`);if(St.indexOf(e)===-1)throw new Error(`Invalid operator, expected one of ${St.join("|")}`)},go=e=>typeof e=="string"&&/^[v\d]/.test(e)&&ht.test(e);function ho(e){const{gatewayInfo:o,supportedRange:n}=e;if(!o)return!0;const{edition:r,version:a}=o;if(!go(a))return console.error("Invalid version"),!1;const l=n[r];if(!l)return!1;const[i,s]=l;return!(i&&wt(a,i,"<")||s&&wt(a,s,">"))}function yo(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 W={useAxios:ze,useDebouncedFilter:ro,useDeleteUrlBuilder:ao,useErrors:io,useExternalLinkCreator:lo,useFetcher:so,useFetchUrlBuilder:gt,useHelpers:mt,useStringHelpers:co,useI18n:He,useGatewayFeatureSupported:ho,useTruncationDetector:yo},Co={fail:"Failed to copy id to clipboard",success:{prefix:"Successfully",content:" copied to clipboard"}},ko="Copy to clipboard",bo={message:Co,iconTitle:ko},wo="kong-ui-copy-uuid-notify",_t="24px",xo=(e,o)=>{const n=e.__vccOpts||e;for(const[r,a]of o)n[r]=a;return n},So=e=>(t.pushScopeId("data-v-13f41aa3"),e=e(),t.popScopeId(),e),_o=["aria-hidden"],Bo={key:0,"data-testid":"kui-icon-svg-title"},Io=So(()=>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)),Ao=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:_t,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 _t}),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",Bo,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Io],8,_o))]),_:1},8,["aria-hidden","style"]))}}),No=xo(Ao,[["__scopeId","data-v-13f41aa3"]]),Eo="16px",Vo={class:"kong-ui-copy-uuid"},To=["onClick"],Bt=15,$o=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}=Ae.createI18n("en-us",bo),r=e,a=o,l=r.notify||t.inject(wo,()=>{}),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,g;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 S=((w=r.uuid)==null?void 0:w.length)>Bt,y=r.format==="hidden"||r.format==="redacted"?n("message.success.prefix"):`"${((g=r.uuid)==null?void 0:g.substring(0,Bt))+(S?"...":"")}"`;typeof l=="function"&&l({type:"success",message:`${y}${n("message.success.content")}`}),s.value?u(r.successTooltip):a("success",r.uuid)};return(f,w)=>{const g=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",Vo,[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(g,null,{default:t.withCtx(({copyToClipboard:S})=>[t.createElementVNode("span",{"data-testid":"copy-to-clipboard",role:"button",tabindex:"0",onClick:t.withModifiers(y=>m(S),["stop"])},[t.createVNode(t.unref(No),{class:"uuid-icon",color:e.iconColor,decorative:!!e.tooltip,size:t.unref(Eo),title:t.unref(n)("iconTitle")},null,8,["color","decorative","size","title"])],8,To)]),_:1})]),_:1},16))])}}}),jo=(e,o)=>{const n=e.__vccOpts||e;for(const[r,a]of o)n[r]=a;return n},It=jo($o,[["__scopeId","data-v-0c07874b"]]),Mo={key:0,class:"config-card-fieldset-title"},Oo=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}}=W.useI18n(),{convertKeyToTitle:r}=W.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",Mo,[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(Je,{key:`${a.value}-property-${u}`,item:{key:p,label:t.unref(r)(p),value:i.value[p]}},null,8,["item"]))),128))]),_:1},8,["class"]))}}),le=(e,o)=>{const n=e.__vccOpts||e;for(const[r,a]of o)n[r]=a;return n},At=le(Oo,[["__scopeId","data-v-68ca83ec"]]),Fo=t.defineComponent({__name:"InternalLinkItem",props:{item:{type:Object,required:!0}},emits:["navigation-click"],setup(e){const{i18n:{t:o}}=W.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})])}}}),Do=le(Fo,[["__scopeId","data-v-c96811e5"]]),Ko=t.defineComponent({__name:"StatusBadge",props:{status:{type:Boolean,default:!1}},setup(e){const{i18n:{t:o}}=W.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"])}}}),qo="#0044f4",Lo="#e0e4ea",vo="#3a3f51",Uo="1px",Po="20px",Ro={class:"config-card-details-row"},Go=["data-testid"],zo=["data-testid"],Ho=["data-testid"],Jo=["data-testid"],Yo={key:1},Wo=["data-testid"],Zo=["data-testid"],Qo=["data-testid"],Xo=["data-testid"],er={name:"ConfigCardItem",components:{CopyUuid:It,JsonCardItem:At,StatusBadge:Ko,InternalLinkItem:Do}},tr=t.defineComponent({...er,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(Uo)} ${t.unref(Lo)}`,"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}}=W.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===R.Json||n.item.type===R.JsonArray),p=t.computed(()=>n.item.type===R.JsonArray),u=t.computed(()=>{switch(n.item.type){case R.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 R.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 R.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 R.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 R.Date:return{tag:"div",attrs:{"data-testid":`${n.item.key}-date`},text:i(n.item.value)};case R.BadgeStatus:return{tag:"StatusBadge",attrs:{"data-testid":`${n.item.key}-badge-status`,status:n.item.value}};case R.BadgeTag:return{tag:"div",additionalComponent:"KBadge"};case R.BadgeMethod:return{tag:"div",additionalComponent:"KMethodBadge"};case R.LinkInternal:return{tag:"InternalLinkItem",attrs:{"data-testid":`${n.item.key}-internal-link`,item:n.item,onNavigationClick:w=>{r("navigation-click",w)}}};case R.LinkExternal:return{tag:"KExternalLink",attrs:{"data-testid":`${n.item.key}-external-link`,href:n.item.value},text:n.item.value};case R.Json:return{tag:"JsonCardItem",attrs:{"data-testid":`${n.item.key}-json-content`,item:n.item}};case R.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}=W.useTruncationDetector(m);return(w,g)=>{const S=t.resolveComponent("KLabel"),y=t.resolveComponent("KBadge"),b=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",Ro,[t.createElementVNode("div",{class:"config-card-details-label","data-testid":`${e.item.key}-label`},[t.renderSlot(w.$slots,"label",{item:e.item},()=>[t.createVNode(S,{"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,zo)]),key:"0"}:void 0]),1024)],!0)],8,Go),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",Yo,[(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,(T,h)=>(t.openBlock(),t.createBlock(y,{key:`${e.item.key}-badge-tag-${h}`,class:"config-badge","data-testid":`${e.item.key}-badge-tag-${h}`,tooltip:T,"truncation-tooltip":""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(T),1)]),_:2},1032,["data-testid","tooltip"]))),128))],8,Wo)):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,(T,h)=>(t.openBlock(),t.createBlock(t.unref(It),t.mergeProps(u.value.childAttrs,{key:`${e.item.key}-copy-uuid-${h}`,"data-testid":`${e.item.key}-copy-uuid-${h}`,uuid:T}),null,16,["data-testid","uuid"]))),128))],8,Zo)):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,(T,h)=>(t.openBlock(),t.createBlock(y,{key:`${e.item.key}-badge-method-${h}`,appearance:Object.values(t.unref(vn.BadgeMethodAppearances)).includes(T.toLowerCase())?T.toLowerCase():"custom",class:"config-badge","data-testid":`${e.item.key}-badge-method-${h}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(T),1)]),_:2},1032,["appearance","data-testid"]))),128))],8,Qo)):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,(T,h)=>(t.openBlock(),t.createBlock(At,{key:`json-array-item-${h}`,index:h,"is-array-item":"",item:T},null,8,["index","item"]))),128))],8,Xo)):(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,Jo))],!0)],8,Ho)])}}}),Je=le(tr,[["__scopeId","data-v-f65fc52c"]]),nr={class:"json-config"},or={key:0,class:"json-endpoint"},Nt=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",nr,[o.fetcherUrl&&(i=o.config)!=null&&i.jsonYamlFormsEnabled?(t.openBlock(),t.createElementBlock("div",or,[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 Et(e){return typeof e>"u"||e===null}function rr(e){return typeof e=="object"&&e!==null}function ar(e){return Array.isArray(e)?e:Et(e)?[]:[e]}function ir(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 lr(e,o){var n="",r;for(r=0;r<o;r+=1)n+=e;return n}function sr(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var cr=Et,dr=rr,ur=ar,pr=lr,fr=sr,mr=ir,Y={isNothing:cr,isObject:dr,toArray:ur,repeat:pr,isNegativeZero:fr,extend:mr};function Vt(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 Ne(e,o){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=o,this.message=Vt(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Ne.prototype=Object.create(Error.prototype),Ne.prototype.constructor=Ne,Ne.prototype.toString=function(e){return this.name+": "+Vt(this,e)};var ne=Ne;function Ye(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 We(e,o){return Y.repeat(" ",o-e.length)+e}function gr(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=Ye(e.buffer,r[i-c],a[i-c],e.position-(r[i]-r[i-c]),u),s=Y.repeat(" ",o.indent)+We((e.line-c+1).toString(),p)+" | "+d.str+`
4
4
  `+s;for(d=Ye(e.buffer,r[i],a[i],e.position,u),s+=Y.repeat(" ",o.indent)+We((e.line+1).toString(),p)+" | "+d.str+`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kong-ui-public/entities-consumer-groups",
3
- "version": "2.4.25",
3
+ "version": "2.4.26",
4
4
  "type": "module",
5
5
  "main": "./dist/entities-consumer-groups.umd.js",
6
6
  "module": "./dist/entities-consumer-groups.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",