@kong-ui-public/dashboard-renderer 0.13.2 → 0.13.3

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.
@@ -909,7 +909,7 @@ function tr(e, t, r, i = {
909
909
  fetchedItemsKey: "data",
910
910
  searchKeys: ["id"]
911
911
  }) {
912
- r || (r = "100");
912
+ r || (r = "1000");
913
913
  const { axiosInstance: n } = ie({
914
914
  headers: e.requestHeaders
915
915
  }), { i18n: { t: o } } = ae(), { debounce: a } = Bt(), s = a(async (u) => {
@@ -1,4 +1,4 @@
1
- (function(d,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("@kong-ui-public/analytics-chart"),require("swrv"),require("axios"),require("@kong-ui-public/i18n"),require("@kong-ui-public/analytics-metric-provider"),require("@kong-ui-public/analytics-utilities"),require("@kong/kongponents"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/analytics-chart","swrv","axios","@kong-ui-public/i18n","@kong-ui-public/analytics-metric-provider","@kong-ui-public/analytics-utilities","@kong/kongponents","vue-router"],n):(d=typeof globalThis<"u"?globalThis:d||self,n(d["kong-ui-public-dashboard-renderer"]={},d.Vue,d["kong-ui-public-analytics-chart"],d.swrv,d.axios,d["kong-ui-public-i18n"],d["kong-ui-public-analytics-metric-provider"],d["kong-ui-public-analytics-utilities"]))})(this,function(d,n,C,Be,W,B,J,j){"use strict";const U="analytics-query-provider",F="{entity-id}",Q="{cp-id}";var b=(e=>(e.HorizontalBar="horizontal_bar",e.VerticalBar="vertical_bar",e.Gauge="gauge",e.TimeseriesLine="timeseries_line",e.GoldenSignals="golden_signals",e.TopN="top_n",e.Slottable="slottable",e))(b||{});const $={type:"string"},V={type:"string"},X={type:"boolean"},ee={type:["object","array"],items:{type:"string"},additionalProperties:{type:"string"}},te={type:"object",properties:{type:{type:"string",enum:["slottable"]},id:{type:"string"}},required:["type","id"],additionalProperties:!1},re={type:"object",properties:{type:{type:"string",enum:["horizontal_bar","vertical_bar"]},stacked:{type:"boolean"},chartDatasetColors:ee,syntheticsDataKey:$,chartTitle:V,allowCsvExport:X},required:["type"],additionalProperties:!1},ne={type:"object",properties:{type:{type:"string",enum:["timeseries_line"]},stacked:{type:"boolean"},chartDatasetColors:ee,syntheticsDataKey:$,chartTitle:V,allowCsvExport:X},required:["type"],additionalProperties:!1},ie={type:"object",properties:{type:{type:"string",enum:["gauge"]},metricDisplay:{type:"string",enum:Object.values(C.ChartMetricDisplay)},reverseDataset:{type:"boolean"},numerator:{type:"number"},syntheticsDataKey:$,chartTitle:V},required:["type"],additionalProperties:!1},oe={type:"object",properties:{chartTitle:V,syntheticsDataKey:$,type:{type:"string",enum:["top_n"]},description:{type:"string"},entityLink:{type:"string"}},required:["type"],additionalProperties:!1},ae={type:"object",properties:{type:{type:"string",enum:["golden_signals"]},longCardTitles:{type:"boolean"},description:{type:"string"}},required:["type"]},se={type:"object",description:"A query to launch at the API",properties:{metrics:{type:"array",description:"List of aggregated metrics to collect across the requested time span.",items:{type:"string",enum:["request_count","request_per_minute","response_latency_p99","response_latency_p95","response_latency_p50","response_latency_average","upstream_latency_p99","upstream_latency_p95","upstream_latency_p50","upstream_latency_average","kong_latency_p99","kong_latency_p95","kong_latency_p50","kong_latency_average","response_size_p99","response_size_p95","response_size_p50","request_size_p99","request_size_p95","request_size_p50","request_size_average","response_size_average"]}},dimensions:{type:"array",description:"List of attributes or entity types to group by.",minItems:0,maxItems:2,items:{type:"string",enum:["api_product","api_product_version","application","consumer","control_plane","control_plane_group","data_plane_node","gateway_service","route","status_code","status_code_grouped","time"]}},filters:{type:"array",description:"A list of filters to apply to the query.",items:{type:"object",description:"A filter that specifies which data to include in the query",properties:{dimension:{type:"string",enum:["api_product","api_product_version","application","consumer","control_plane","control_plane_group","data_plane_node","gateway_service","route","status_code","status_code_grouped","time"]},type:{type:"string",enum:["in","not_in","selector"]},values:{type:"array",items:{type:"string"}}},required:["dimension","type","values"]}},granularity_ms:{type:"number",description:'Force time grouping into buckets of this duration in milliseconds. Only has an effect if "time" is in the "dimensions" list.',minimum:6e4},time_range:{description:"The time range to query.",oneOf:[{type:"object",properties:{tz:{type:"string",default:"Etc/UTC"},type:{type:"string",enum:["relative"]},time_range:{type:"string",enum:["15m","1h","6h","12h","24h","7d","30d","current_week","current_month","previous_week","previous_month"],default:"1h"}},required:["type","time_range"]},{type:"object",description:"A duration representing an exact start and end time.",properties:{tz:{type:"string",default:"Etc/UTC"},type:{type:"string",enum:["absolute"]},start:{type:"string"},end:{type:"string"}},required:["type"]}],default:{type:"relative",time_range:"1h"}},meta:{type:"object"}}},le={type:"object",properties:{query:se,chart:{oneOf:[re,ie,ne,ae,oe,te]}},required:["query","chart"],additionalProperties:!1},ce={type:"object",properties:{position:{type:"object",properties:{col:{type:"number"},row:{type:"number"}},description:"Position of the tile in the grid.",required:["col","row"],additionalProperties:!1},size:{type:"object",properties:{cols:{type:"number"},rows:{type:"number"}},description:"Number of columns and rows the tile occupies.",required:["cols","rows"],additionalProperties:!1}},required:["position","size"],additionalProperties:!1},ue={type:"object",properties:{definition:le,layout:ce},required:["definition","layout"],additionalProperties:!1},je={type:"object",properties:{tiles:{type:"array",items:ue},tileHeight:{type:"number",description:"Height of each tile in pixels. Default: 170"},gridSize:{type:"object",properties:{cols:{type:"number"},rows:{type:"number"}},description:"Number of columns and rows in the grid.",required:["cols","rows"],additionalProperties:!1}},required:["tiles","gridSize"],additionalProperties:!1};var pe=(e=>(e.VALIDATING="VALIDATING",e.VALIDATING_HAS_DATA="VALIDATING_HAS_DATA",e.PENDING="PENDING",e.SUCCESS="SUCCESS",e.SUCCESS_HAS_DATA="SUCCESS_HAS_DATA",e.ERROR="ERROR",e.STALE_IF_ERROR="STALE_IF_ERROR",e))(pe||{});const $e=e=>{var t,r,o,i,s;return e?!!((t=Object.keys(e))!=null&&t.length||(r=e.data)!=null&&r.length||(i=(o=e.data)==null?void 0:o.data)!=null&&i.length||!((s=e.data)!=null&&s.data)&&typeof e.data=="object"&&Object.keys(e==null?void 0:e.data).length):!1};function Ve(e=n.ref({}),t,r,o=$e){const i=n.ref("PENDING");return n.watchEffect(()=>{const s=o(e.value);if(e.value&&s&&r.value){i.value="VALIDATING_HAS_DATA";return}if(e.value&&r.value){i.value="VALIDATING";return}if(e.value&&t.value){i.value="STALE_IF_ERROR";return}if(e.value===void 0&&!t.value){i.value="PENDING";return}if(e.value&&!t.value&&s){i.value="SUCCESS_HAS_DATA";return}if(e.value&&!t.value){i.value="SUCCESS";return}e.value===void 0&&t&&(i.value="ERROR")}),{state:i,swrvState:pe}}const ze={renderer:{noQueryBridge:"No query bridge provided. Unable to render dashboard."},queryDataProvider:{timeRangeExceeded:"The time range for this report is outside of your organization's data retention period"}};function Pe(){const e=B.createI18n("en-us",ze);return{i18n:e,i18nT:B.i18nTComponent(e)}}const de={useI18n:Pe},z=n.defineComponent({__name:"QueryDataProvider",props:{context:{},query:{},queryReady:{type:Boolean}},emits:["queryComplete"],setup(e,{emit:t}){const r=e,o=t,{i18n:i}=de.useI18n(),s=n.inject(U),a=()=>r.queryReady&&s?JSON.stringify([r.query,r.context]):null,l=new AbortController;n.onUnmounted(()=>{l.abort()});const{data:c,error:m,isValidating:f}=Be(a,async()=>{var E,O,x,L;try{const p=[];r.query.filters&&p.push(...r.query.filters),p.push(...r.context.filters);const P={...r.query,time_range:{...r.context.timeSpec,tz:r.context.tz},filters:p};return s==null?void 0:s.queryFn(P,l)}catch(p){y.value=((O=(E=p==null?void 0:p.response)==null?void 0:E.data)==null?void 0:O.message)==="Range not allowed for this tier"?i.t("queryDataProvider.timeRangeExceeded"):((L=(x=p==null?void 0:p.response)==null?void 0:x.data)==null?void 0:L.message)||(p==null?void 0:p.message)}finally{o("queryComplete")}},{refreshInterval:0,revalidateOnFocus:!1}),{state:u,swrvState:h}=Ve(c,m,f),y=n.ref(null),k=n.computed(()=>u.value===h.ERROR||!!y.value),g=n.computed(()=>!r.queryReady||u.value===h.PENDING);return(E,O)=>{const x=n.resolveComponent("KSkeleton"),L=n.resolveComponent("KEmptyState");return g.value||!n.unref(c)&&!k.value?(n.openBlock(),n.createBlock(x,{key:0,class:"chart-skeleton",type:"table"})):k.value?(n.openBlock(),n.createBlock(L,{key:1,"action-button-visible":!1,"data-testid":"chart-empty-state","icon-variant":"error"},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(y.value),1)]),_:1})):n.unref(c)?n.renderSlot(E.$slots,"default",{key:2,data:n.unref(c)}):n.createCommentVNode("",!0)}}}),Ue={class:"analytics-chart"},Fe=n.defineComponent({__name:"SimpleChartRenderer",props:{query:{},context:{},queryReady:{type:Boolean},chartOptions:{},height:{}},setup(e){n.useCssVars(i=>({"8c62ff26":`${i.height}px`}));const t=e,r={[b.Gauge]:C.ChartTypesSimple.GAUGE},o=n.computed(()=>({...t.chartOptions,type:r[t.chartOptions.type]}));return(i,s)=>(n.openBlock(),n.createBlock(z,{context:i.context,query:i.query,"query-ready":i.queryReady},{default:n.withCtx(({data:a})=>[n.createElementVNode("div",Ue,[n.createVNode(n.unref(C.SimpleChart),{"chart-data":a,"chart-options":o.value,"synthetics-data-key":i.chartOptions.syntheticsDataKey},null,8,["chart-data","chart-options","synthetics-data-key"])])]),_:1},8,["context","query","query-ready"]))}}),v=(e,t)=>{const r=e.__vccOpts||e;for(const[o,i]of t)r[o]=i;return r},Ke=v(Fe,[["__scopeId","data-v-f0f6ed41"]]),Ge={class:"analytics-chart"},fe=v(n.defineComponent({__name:"BarChartRenderer",props:{query:{},context:{},queryReady:{type:Boolean},chartOptions:{},height:{}},setup(e){n.useCssVars(i=>({"1eed717c":`${i.height}px`}));const t=e,r={[b.HorizontalBar]:C.ChartTypes.HORIZONTAL_BAR,[b.VerticalBar]:C.ChartTypes.VERTICAL_BAR},o=n.computed(()=>({type:r[t.chartOptions.type],stacked:t.chartOptions.stacked,chartDatasetColors:t.chartOptions.chartDatasetColors}));return(i,s)=>(n.openBlock(),n.createBlock(z,{context:i.context,query:i.query,"query-ready":i.queryReady},{default:n.withCtx(({data:a})=>[n.createElementVNode("div",Ge,[n.createVNode(n.unref(C.AnalyticsChart),{"allow-csv-export":i.chartOptions.allowCsvExport,"chart-data":a,"chart-options":o.value,"chart-title":i.chartOptions.chartTitle,"legend-position":"bottom","show-annotations":!1,"synthetics-data-key":i.chartOptions.syntheticsDataKey,"tooltip-title":""},null,8,["allow-csv-export","chart-data","chart-options","chart-title","synthetics-data-key"])])]),_:1},8,["context","query","query-ready"]))}}),[["__scopeId","data-v-36598a1b"]]),He={class:"analytics-chart"},Me=v(n.defineComponent({__name:"TimeseriesChartRenderer",props:{query:{},context:{},queryReady:{type:Boolean},chartOptions:{},height:{}},setup(e){n.useCssVars(i=>({"24c2946a":`${i.height}px`}));const t=e,r={[b.TimeseriesLine]:C.ChartTypes.TIMESERIES_LINE},o=n.computed(()=>{const i=t.chartOptions.stacked??!1;return{type:r[t.chartOptions.type],fill:i,stacked:i,chartDatasetColors:t.chartOptions.chartDatasetColors}});return(i,s)=>(n.openBlock(),n.createBlock(z,{context:i.context,query:i.query,"query-ready":i.queryReady},{default:n.withCtx(({data:a})=>[n.createElementVNode("div",He,[n.createVNode(n.unref(C.AnalyticsChart),{"allow-csv-export":i.chartOptions.allowCsvExport,"chart-data":a,"chart-options":o.value,"chart-title":i.chartOptions.chartTitle,"legend-position":"bottom","synthetics-data-key":i.chartOptions.syntheticsDataKey,"tooltip-title":""},null,8,["allow-csv-export","chart-data","chart-options","chart-title","synthetics-data-key"])])]),_:1},8,["context","query","query-ready"]))}}),[["__scopeId","data-v-93ab34da"]]),Ye={class:"metric-card-tile-wrapper"},Ze=v(n.defineComponent({__name:"GoldenSignalsRenderer",props:{query:{},context:{},queryReady:{type:Boolean},chartOptions:{},height:{}},setup(e){const t=e,r=n.computed(()=>{const i=t.context.timeSpec;if(i.type==="absolute")return new j.Timeframe({key:"custom",timeframeText:"custom",display:"custom",startCustom:i.start,endCustom:i.end,timeframeLength:()=>0,defaultResponseGranularity:j.GranularityKeys.DAILY,dataGranularity:j.GranularityKeys.DAILY,isRelative:!1,allowedTiers:["free","plus","enterprise"]});const s=j.TimePeriods.get(i.time_range);if(!s)throw new Error("Unknown time range");return s}),o=n.computed(()=>({overrideTimeframe:r.value,tz:t.context.tz,additionalFilter:t.context.filters,longCardTitles:t.chartOptions.longCardTitles,description:t.chartOptions.description,hasTrendAccess:!0,refreshInterval:0}));return(i,s)=>(n.openBlock(),n.createElementBlock("div",Ye,[n.createVNode(n.unref(J.MetricsProviderInternal),n.normalizeProps(n.guardReactiveProps(o.value)),{default:n.withCtx(()=>[n.createVNode(n.unref(J.MetricsConsumer),{class:"metric-consumer"})]),_:1},16)]))}}),[["__scopeId","data-v-52746db6"]]),ye="20px";var N=(e=>(e[e.Loading=0]="Loading",e[e.Idle=1]="Idle",e[e.NoResults=2]="NoResults",e[e.Error=3]="Error",e))(N||{});function We(){return{getAxiosInstance:(e={})=>{try{const t=n.inject("get-axios-instance",void 0);return typeof t=="function"?t(e):W.create({withCredentials:!0,timeout:3e4,...e})}catch(t){return console.warn("getAxiosInstance:",t.message||t),W.create({withCredentials:!0,timeout:3e4,...e})}},getTraceIdFromError:e=>{var t;return((t=e==null?void 0:e.response)==null?void 0:t.headers["x-datadog-trace-id"])||""}}}function Je(){return{debounce:(e,t)=>{let r;return(...o)=>{clearTimeout(r),r=window==null?void 0:window.setTimeout(()=>{e(...o)},t)}}}}function K(e={}){const{getAxiosInstance:t}=We();return{axiosInstance:t(e)}}const Qe={actions:{copyId:"Copy ID",copied_id:'Copied "{id}" to the clipboard',copyToClipboard:"Copied successfully!",copyToClipboardFailed:"Failed to copy to the clipboard"}},Xe={message:"Are you sure you want to delete this {entityType}?",messageWithName:"Are you sure you want to delete this {entityType} {entityName}?"},et={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."}},tt={emptyState:{noSearchResultsTitle:"No results found",noSearchResultsMessage:"Please adjust the criteria and try again.",noSearchResultsCtaText:"Clear"}},rt={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"}},nt={filterButtonText:"Filter",fieldLabel:"Filter by:",inputPlaceholder:"Enter a value",selectPlaceholder:"Select an item",applyButtonText:"Apply",clearButtonText:"Clear",clearAllButtonText:"Clear all filters"},it={errors:{fetch:"Could not fetch available items",invalid:"Please select a valid value"}},ot={unexpected:"An unexpected error has occurred",dataKeyUndefined:'The data key "{dataKey}" does not exist in the response.'},at={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"}},st={global:Qe,deleteModal:Xe,baseForm:et,baseTable:tt,baseConfigCard:rt,filter:nt,debouncedFilter:it,errors:ot,toggleModal:at};function G(){const e=B.createI18n("en-us",st);return{i18n:e,i18nT:B.i18nTComponent(e)}}function he(){const e=(r,o)=>(o==null?void 0:o[r])??void 0,t=(r,o)=>{if(r.length!==o.length)return!1;const i=new Set([...r,...o]);for(const s of i){const a=r.filter(c=>c===s).length,l=o.filter(c=>c===s).length;if(a!==l)return!1}return!0};return{getPropValue:e,objectsAreEqual:(r,o,i)=>{if(i){if(Object.keys(r).length===Object.keys(o).length)for(const s in r)if(Array.isArray(r[s])&&Array.isArray(o[s])){if(t(r[s],o[s]))continue;return!1}else{if(r[s]===o[s])continue;return!1}else return!1;return!0}try{return JSON.stringify(r)===JSON.stringify(o)}catch{return!1}},sortAlpha:r=>(o,i)=>{let s=o[r]===void 0||o[r]===null?"":o[r],a=i[r]===void 0||i[r]===null?"":i[r];return Array.isArray(o[r])&&(s=o[r][0]),Array.isArray(i[r])&&(a=i[r][0]),s.localeCompare(a)},isValidUuid:r=>r?/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/.test(r):!1}}function lt(e,t,r,o={fetchedItemsKey:"data",searchKeys:["id"]}){r||(r="100");const{axiosInstance:i}=K({headers:e.requestHeaders}),{i18n:{t:s}}=G(),{debounce:a}=Je(),l=a(async p=>{await L(p)},200),c=n.ref(!1),m=n.ref(""),f=n.ref(""),u=n.ref([]),h=n.ref([]),y=n.ref(void 0),k=n.unref(t);let g=`${e.apiBaseUrl}${k}`;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:E}=he(),O=async()=>{try{c.value=!0;const{data:p}=await i.get(`${g}?size=${r}`);p!=null&&p.next||(y.value=o.fetchedItemsKey in p?p[o.fetchedItemsKey]:[]),h.value=o.fetchedItemsKey in p?p[o.fetchedItemsKey]:[],u.value=h.value}catch{u.value=[],m.value=s("debouncedFilter.errors.fetch")}finally{c.value=!1}},x=n.ref(""),L=async p=>{var P,De,Re;if(x.value!==p)if(x.value=p||"",y.value===void 0)try{if(c.value=!0,m.value="",f.value="",e.app==="konnect"){let S=g+"";p&&(S+=`/${p}`);const{data:T}=await i.get(`${S}?size=${r}`);o.fetchedItemsKey in T?u.value=T[o.fetchedItemsKey]:T!=null&&T.id?u.value=[T]:u.value=[]}else if(p){const S=[];E(p)&&o.searchKeys.includes("id")?S.push((async()=>{const{data:w}=await i.get(`${g}/${p}`);return[w[o.fetchedItemsKey]??w]})()):S.push(...o.searchKeys.filter(w=>w!=="id").map(async w=>{const{data:A}=await i.get(`${g}?${w}=${p}`);return A[o.fetchedItemsKey]}));const T=await Promise.all(S),R=new Set;u.value=[],(P=T==null?void 0:T.forEach)==null||P.call(T,w=>{var A;(A=w==null?void 0:w.forEach)==null||A.call(w,Z=>{R.has(Z.id)||(R.add(Z.id),u.value.push(Z))})})}else u.value=h.value}catch(S){((De=S==null?void 0:S.response)==null?void 0:De.status)===404?f.value=s("debouncedFilter.errors.invalid"):(u.value=[],m.value=s("debouncedFilter.errors.fetch"))}finally{c.value=!1}else c.value=!0,f.value="",p?(u.value=(Re=y.value)==null?void 0:Re.filter(S=>{var T;let R=!1;for(const w of o.searchKeys){const A=typeof S[w]=="string"?(T=S[w])==null?void 0:T.toLowerCase():S[w];A!=null&&A.includes(p.toLowerCase())&&(R=!0)}return R}),(!u.value||!u.value.length)&&(f.value=s("debouncedFilter.errors.invalid"))):u.value=y.value,c.value=!1};return{loading:c,error:m,validationError:f,results:u,allRecords:y,loadItems:O,debouncedQueryChange:l}}function ct(e,t){const r=n.unref(t),o=n.computed(()=>e.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${r}`):new URL(r));return o.value.search="",i=>`${o.value.href}/${i}`}function ut(){const{i18n:{t:e}}=G();return{getMessageFromError:t=>{var r,o,i,s;if(!t)return e("errors.unexpected");if(((r=t==null?void 0:t.response)==null?void 0:r.status)===401)return console.warn("getMessageFromError: User auth token is expired or missing, returning empty message."),"";if((o=t==null?void 0:t.response)!=null&&o.data){if(t.response.data.detail)return t.response.data.detail;if((i=t.response.data.details)!=null&&i.length)return t.response.data.details.map(a=>{let l=e("errors.unexpected");return a.messages&&typeof a.messages=="object"&&a.messages.length&&(l=a.messages.join(", ")),a.field?`${a.field} - ${l}`:l}).join("; ");if(t.response.data.message){const{message:a}=t.response.data;return Array.isArray(a)?(s=a[0])!=null&&s.constraints?Object.values(a[0].constraints)[0]:a[0]:a}if(typeof t.response.data=="string")return t.response.data;if(typeof t.response.data=="object")return Object.keys(t.response.data).map(a=>`${a} ${t.response.data[a]}`).join(", ")}return t.message||e("errors.unexpected")}}}function pt(e){const t=window.location.origin,r=t.endsWith("/")?t:`${t}/`;try{const o=e.join("/"),i=`${r}${o}`,s=e.some(a=>a.trim()==="");if(/^(https:\/\/(www\.)?([a-zA-Z0-9-]+\.){1,}[a-zA-Z]{2,}(:[0-9]+)?(\/[^\/]+)*)$|^(https|http):\/\/localhost(:[0-9]+)?(\/[^\/]+)*$/.test(i)&&!s&&new URL(i))return`${r}${o}`;throw new Error("Invalid url")}catch(o){return console.warn("Failed to build valid URL:",o),""}}function me(e,t){const r=n.ref(n.unref(e)),o=n.ref(n.unref(t)),i=n.computed(()=>!!(r.value.app==="konnect"||r.value.isExactMatch)),s=n.computed(()=>o.value.startsWith("/")?new URL(`${window.location.origin}${o.value}`):new URL(o.value));return a=>{const{page:l,pageSize:c,offset:m,sortColumnKey:f,sortColumnOrder:u,query:h}=a;try{let y=new URL(s.value.href);return i.value&&h?(y.search="",y=r.value.isExactMatch?new URL(`${y.href}/${h}/`):new URL(`${y.href}?filter[name][contains]=${h}`)):(i.value||new URLSearchParams(h).forEach((k,g)=>{y.searchParams.append(g,k)}),f&&y.searchParams.append("sort_by",f),u==="desc"&&y.searchParams.append("sort_desc","1"),y.searchParams.append("size",String(c))),m&&l!==1&&y.searchParams.append("offset",String(m)),y.href}catch(y){return console.error("RouteList(fetcher)",y),o.value}}}function dt(e,t,r="data"){var o;const i=n.unref(t),{axiosInstance:s}=K({...e.axiosRequestConfig,headers:{...(o=e.axiosRequestConfig)==null?void 0:o.headers,...e.requestHeaders}}),a=me(e,i),l=n.ref({status:N.Idle});return{fetcher:async c=>{var m;try{l.value={status:N.Loading};let f=a(c);f.includes("filter[name]")&&(f=`${f}&page[size]=${c.pageSize}&page[number]=${c.page}`);const u=await s.get(f);if(u.status>=400)throw u;const h=u.data,y=r&&r.replace(/[^\w-_]/gi,"");let k;h[y]&&Array.isArray(h[y])?k=h[y]:Array.isArray(h)?k=h:k=Object.keys(h).length?[h]:[];const g={data:k,total:k.length,...h.offset?{pagination:{offset:h.offset}}:null};return l.value={status:N.Idle,response:g},g}catch(f){const u={data:[],total:0};return c.query&&(((m=f.response)==null?void 0:m.status)===404||f.status===404)?(l.value={status:N.NoResults,response:u,error:f.response?f:{response:f}},u):(l.value={status:N.Error,response:u,error:f.response?f:{response:f}},u)}},fetcherState:l}}function ft(){const e=(r,o="_")=>r?r.split(o).map(i=>i.toLowerCase()==="id"?i.toUpperCase():i.charAt(0).toUpperCase()+i.substring(1)).join(" "):"",t=/(?:^|[\s-:'"])\w/g;return{capitalize:r=>r?r.replace(t,o=>o.toUpperCase()):"",convertKeyToTitle:e}}const ge=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,_e=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const t=e.match(ge);if(!t)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return t.shift(),t},be=e=>e==="*"||e==="x"||e==="X",ke=e=>{const t=parseInt(e,10);return isNaN(t)?e:t},yt=(e,t)=>typeof e!=typeof t?[String(e),String(t)]:[e,t],ht=(e,t)=>{if(be(e)||be(t))return 0;const[r,o]=yt(ke(e),ke(t));return r>o?1:r<o?-1:0},we=(e,t)=>{for(let r=0;r<Math.max(e.length,t.length);r++){const o=ht(e[r]||"0",t[r]||"0");if(o!==0)return o}return 0},mt=(e,t)=>{const r=_e(e),o=_e(t),i=r.pop(),s=o.pop(),a=we(r,o);return a!==0?a:i&&s?we(i.split("."),s.split(".")):i||s?i?-1:1:0},Se=(e,t,r)=>{gt(r);const o=mt(e,t);return Te[r].includes(o)},Te={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},Ce=Object.keys(Te),gt=e=>{if(typeof e!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof e}`);if(Ce.indexOf(e)===-1)throw new Error(`Invalid operator, expected one of ${Ce.join("|")}`)},_t=e=>typeof e=="string"&&/^[v\d]/.test(e)&&ge.test(e);function bt(e){const{gatewayInfo:t,supportedRange:r}=e;if(!t)return!0;const{edition:o,version:i}=t;if(!_t(i))return console.error("Invalid version"),!1;const s=r[o];if(!s)return!1;const[a,l]=s;return!(a&&Se(i,a,"<")||l&&Se(i,l,">"))}function kt(e){const t=n.ref(0),r=n.ref(0),o=n.ref(!1);return n.watch(e,i=>{i&&!o.value&&(t.value=i.offsetWidth,r.value=i.scrollWidth,o.value=!0)}),{isTruncated:n.computed(()=>t.value<r.value)}}const Ee={useAxios:K,useDebouncedFilter:lt,useDeleteUrlBuilder:ct,useErrors:ut,useExternalLinkCreator:pt,useFetcher:dt,useFetchUrlBuilder:me,useHelpers:he,useStringHelpers:ft,useI18n:G,useGatewayFeatureSupported:bt,useTruncationDetector:kt},wt=(e,t)=>{const r=e.__vccOpts||e;for(const[o,i]of t)r[o]=i;return r},St="#0044f4",Tt="16px";/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function ve(e){return typeof e>"u"||e===null}function Ct(e){return typeof e=="object"&&e!==null}function Et(e){return Array.isArray(e)?e:ve(e)?[]:[e]}function vt(e,t){var r,o,i,s;if(t)for(s=Object.keys(t),r=0,o=s.length;r<o;r+=1)i=s[r],e[i]=t[i];return e}function It(e,t){var r="",o;for(o=0;o<t;o+=1)r+=e;return r}function xt(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var At=ve,Nt=Ct,qt=Et,Ot=It,Lt=xt,Dt=vt,H={isNothing:At,isObject:Nt,toArray:qt,repeat:Ot,isNegativeZero:Lt,extend:Dt};function Ie(e,t){var r="",o=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(r+='in "'+e.mark.name+'" '),r+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!t&&e.mark.snippet&&(r+=`
1
+ (function(d,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("@kong-ui-public/analytics-chart"),require("swrv"),require("axios"),require("@kong-ui-public/i18n"),require("@kong-ui-public/analytics-metric-provider"),require("@kong-ui-public/analytics-utilities"),require("@kong/kongponents"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/analytics-chart","swrv","axios","@kong-ui-public/i18n","@kong-ui-public/analytics-metric-provider","@kong-ui-public/analytics-utilities","@kong/kongponents","vue-router"],n):(d=typeof globalThis<"u"?globalThis:d||self,n(d["kong-ui-public-dashboard-renderer"]={},d.Vue,d["kong-ui-public-analytics-chart"],d.swrv,d.axios,d["kong-ui-public-i18n"],d["kong-ui-public-analytics-metric-provider"],d["kong-ui-public-analytics-utilities"]))})(this,function(d,n,C,Be,W,B,J,j){"use strict";const U="analytics-query-provider",F="{entity-id}",Q="{cp-id}";var b=(e=>(e.HorizontalBar="horizontal_bar",e.VerticalBar="vertical_bar",e.Gauge="gauge",e.TimeseriesLine="timeseries_line",e.GoldenSignals="golden_signals",e.TopN="top_n",e.Slottable="slottable",e))(b||{});const $={type:"string"},V={type:"string"},X={type:"boolean"},ee={type:["object","array"],items:{type:"string"},additionalProperties:{type:"string"}},te={type:"object",properties:{type:{type:"string",enum:["slottable"]},id:{type:"string"}},required:["type","id"],additionalProperties:!1},re={type:"object",properties:{type:{type:"string",enum:["horizontal_bar","vertical_bar"]},stacked:{type:"boolean"},chartDatasetColors:ee,syntheticsDataKey:$,chartTitle:V,allowCsvExport:X},required:["type"],additionalProperties:!1},ne={type:"object",properties:{type:{type:"string",enum:["timeseries_line"]},stacked:{type:"boolean"},chartDatasetColors:ee,syntheticsDataKey:$,chartTitle:V,allowCsvExport:X},required:["type"],additionalProperties:!1},ie={type:"object",properties:{type:{type:"string",enum:["gauge"]},metricDisplay:{type:"string",enum:Object.values(C.ChartMetricDisplay)},reverseDataset:{type:"boolean"},numerator:{type:"number"},syntheticsDataKey:$,chartTitle:V},required:["type"],additionalProperties:!1},oe={type:"object",properties:{chartTitle:V,syntheticsDataKey:$,type:{type:"string",enum:["top_n"]},description:{type:"string"},entityLink:{type:"string"}},required:["type"],additionalProperties:!1},ae={type:"object",properties:{type:{type:"string",enum:["golden_signals"]},longCardTitles:{type:"boolean"},description:{type:"string"}},required:["type"]},se={type:"object",description:"A query to launch at the API",properties:{metrics:{type:"array",description:"List of aggregated metrics to collect across the requested time span.",items:{type:"string",enum:["request_count","request_per_minute","response_latency_p99","response_latency_p95","response_latency_p50","response_latency_average","upstream_latency_p99","upstream_latency_p95","upstream_latency_p50","upstream_latency_average","kong_latency_p99","kong_latency_p95","kong_latency_p50","kong_latency_average","response_size_p99","response_size_p95","response_size_p50","request_size_p99","request_size_p95","request_size_p50","request_size_average","response_size_average"]}},dimensions:{type:"array",description:"List of attributes or entity types to group by.",minItems:0,maxItems:2,items:{type:"string",enum:["api_product","api_product_version","application","consumer","control_plane","control_plane_group","data_plane_node","gateway_service","route","status_code","status_code_grouped","time"]}},filters:{type:"array",description:"A list of filters to apply to the query.",items:{type:"object",description:"A filter that specifies which data to include in the query",properties:{dimension:{type:"string",enum:["api_product","api_product_version","application","consumer","control_plane","control_plane_group","data_plane_node","gateway_service","route","status_code","status_code_grouped","time"]},type:{type:"string",enum:["in","not_in","selector"]},values:{type:"array",items:{type:"string"}}},required:["dimension","type","values"]}},granularity_ms:{type:"number",description:'Force time grouping into buckets of this duration in milliseconds. Only has an effect if "time" is in the "dimensions" list.',minimum:6e4},time_range:{description:"The time range to query.",oneOf:[{type:"object",properties:{tz:{type:"string",default:"Etc/UTC"},type:{type:"string",enum:["relative"]},time_range:{type:"string",enum:["15m","1h","6h","12h","24h","7d","30d","current_week","current_month","previous_week","previous_month"],default:"1h"}},required:["type","time_range"]},{type:"object",description:"A duration representing an exact start and end time.",properties:{tz:{type:"string",default:"Etc/UTC"},type:{type:"string",enum:["absolute"]},start:{type:"string"},end:{type:"string"}},required:["type"]}],default:{type:"relative",time_range:"1h"}},meta:{type:"object"}}},le={type:"object",properties:{query:se,chart:{oneOf:[re,ie,ne,ae,oe,te]}},required:["query","chart"],additionalProperties:!1},ce={type:"object",properties:{position:{type:"object",properties:{col:{type:"number"},row:{type:"number"}},description:"Position of the tile in the grid.",required:["col","row"],additionalProperties:!1},size:{type:"object",properties:{cols:{type:"number"},rows:{type:"number"}},description:"Number of columns and rows the tile occupies.",required:["cols","rows"],additionalProperties:!1}},required:["position","size"],additionalProperties:!1},ue={type:"object",properties:{definition:le,layout:ce},required:["definition","layout"],additionalProperties:!1},je={type:"object",properties:{tiles:{type:"array",items:ue},tileHeight:{type:"number",description:"Height of each tile in pixels. Default: 170"},gridSize:{type:"object",properties:{cols:{type:"number"},rows:{type:"number"}},description:"Number of columns and rows in the grid.",required:["cols","rows"],additionalProperties:!1}},required:["tiles","gridSize"],additionalProperties:!1};var pe=(e=>(e.VALIDATING="VALIDATING",e.VALIDATING_HAS_DATA="VALIDATING_HAS_DATA",e.PENDING="PENDING",e.SUCCESS="SUCCESS",e.SUCCESS_HAS_DATA="SUCCESS_HAS_DATA",e.ERROR="ERROR",e.STALE_IF_ERROR="STALE_IF_ERROR",e))(pe||{});const $e=e=>{var t,r,o,i,s;return e?!!((t=Object.keys(e))!=null&&t.length||(r=e.data)!=null&&r.length||(i=(o=e.data)==null?void 0:o.data)!=null&&i.length||!((s=e.data)!=null&&s.data)&&typeof e.data=="object"&&Object.keys(e==null?void 0:e.data).length):!1};function Ve(e=n.ref({}),t,r,o=$e){const i=n.ref("PENDING");return n.watchEffect(()=>{const s=o(e.value);if(e.value&&s&&r.value){i.value="VALIDATING_HAS_DATA";return}if(e.value&&r.value){i.value="VALIDATING";return}if(e.value&&t.value){i.value="STALE_IF_ERROR";return}if(e.value===void 0&&!t.value){i.value="PENDING";return}if(e.value&&!t.value&&s){i.value="SUCCESS_HAS_DATA";return}if(e.value&&!t.value){i.value="SUCCESS";return}e.value===void 0&&t&&(i.value="ERROR")}),{state:i,swrvState:pe}}const ze={renderer:{noQueryBridge:"No query bridge provided. Unable to render dashboard."},queryDataProvider:{timeRangeExceeded:"The time range for this report is outside of your organization's data retention period"}};function Pe(){const e=B.createI18n("en-us",ze);return{i18n:e,i18nT:B.i18nTComponent(e)}}const de={useI18n:Pe},z=n.defineComponent({__name:"QueryDataProvider",props:{context:{},query:{},queryReady:{type:Boolean}},emits:["queryComplete"],setup(e,{emit:t}){const r=e,o=t,{i18n:i}=de.useI18n(),s=n.inject(U),a=()=>r.queryReady&&s?JSON.stringify([r.query,r.context]):null,l=new AbortController;n.onUnmounted(()=>{l.abort()});const{data:c,error:m,isValidating:f}=Be(a,async()=>{var E,O,x,L;try{const p=[];r.query.filters&&p.push(...r.query.filters),p.push(...r.context.filters);const P={...r.query,time_range:{...r.context.timeSpec,tz:r.context.tz},filters:p};return s==null?void 0:s.queryFn(P,l)}catch(p){y.value=((O=(E=p==null?void 0:p.response)==null?void 0:E.data)==null?void 0:O.message)==="Range not allowed for this tier"?i.t("queryDataProvider.timeRangeExceeded"):((L=(x=p==null?void 0:p.response)==null?void 0:x.data)==null?void 0:L.message)||(p==null?void 0:p.message)}finally{o("queryComplete")}},{refreshInterval:0,revalidateOnFocus:!1}),{state:u,swrvState:h}=Ve(c,m,f),y=n.ref(null),k=n.computed(()=>u.value===h.ERROR||!!y.value),g=n.computed(()=>!r.queryReady||u.value===h.PENDING);return(E,O)=>{const x=n.resolveComponent("KSkeleton"),L=n.resolveComponent("KEmptyState");return g.value||!n.unref(c)&&!k.value?(n.openBlock(),n.createBlock(x,{key:0,class:"chart-skeleton",type:"table"})):k.value?(n.openBlock(),n.createBlock(L,{key:1,"action-button-visible":!1,"data-testid":"chart-empty-state","icon-variant":"error"},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(y.value),1)]),_:1})):n.unref(c)?n.renderSlot(E.$slots,"default",{key:2,data:n.unref(c)}):n.createCommentVNode("",!0)}}}),Ue={class:"analytics-chart"},Fe=n.defineComponent({__name:"SimpleChartRenderer",props:{query:{},context:{},queryReady:{type:Boolean},chartOptions:{},height:{}},setup(e){n.useCssVars(i=>({"8c62ff26":`${i.height}px`}));const t=e,r={[b.Gauge]:C.ChartTypesSimple.GAUGE},o=n.computed(()=>({...t.chartOptions,type:r[t.chartOptions.type]}));return(i,s)=>(n.openBlock(),n.createBlock(z,{context:i.context,query:i.query,"query-ready":i.queryReady},{default:n.withCtx(({data:a})=>[n.createElementVNode("div",Ue,[n.createVNode(n.unref(C.SimpleChart),{"chart-data":a,"chart-options":o.value,"synthetics-data-key":i.chartOptions.syntheticsDataKey},null,8,["chart-data","chart-options","synthetics-data-key"])])]),_:1},8,["context","query","query-ready"]))}}),v=(e,t)=>{const r=e.__vccOpts||e;for(const[o,i]of t)r[o]=i;return r},Ke=v(Fe,[["__scopeId","data-v-f0f6ed41"]]),Ge={class:"analytics-chart"},fe=v(n.defineComponent({__name:"BarChartRenderer",props:{query:{},context:{},queryReady:{type:Boolean},chartOptions:{},height:{}},setup(e){n.useCssVars(i=>({"1eed717c":`${i.height}px`}));const t=e,r={[b.HorizontalBar]:C.ChartTypes.HORIZONTAL_BAR,[b.VerticalBar]:C.ChartTypes.VERTICAL_BAR},o=n.computed(()=>({type:r[t.chartOptions.type],stacked:t.chartOptions.stacked,chartDatasetColors:t.chartOptions.chartDatasetColors}));return(i,s)=>(n.openBlock(),n.createBlock(z,{context:i.context,query:i.query,"query-ready":i.queryReady},{default:n.withCtx(({data:a})=>[n.createElementVNode("div",Ge,[n.createVNode(n.unref(C.AnalyticsChart),{"allow-csv-export":i.chartOptions.allowCsvExport,"chart-data":a,"chart-options":o.value,"chart-title":i.chartOptions.chartTitle,"legend-position":"bottom","show-annotations":!1,"synthetics-data-key":i.chartOptions.syntheticsDataKey,"tooltip-title":""},null,8,["allow-csv-export","chart-data","chart-options","chart-title","synthetics-data-key"])])]),_:1},8,["context","query","query-ready"]))}}),[["__scopeId","data-v-36598a1b"]]),He={class:"analytics-chart"},Me=v(n.defineComponent({__name:"TimeseriesChartRenderer",props:{query:{},context:{},queryReady:{type:Boolean},chartOptions:{},height:{}},setup(e){n.useCssVars(i=>({"24c2946a":`${i.height}px`}));const t=e,r={[b.TimeseriesLine]:C.ChartTypes.TIMESERIES_LINE},o=n.computed(()=>{const i=t.chartOptions.stacked??!1;return{type:r[t.chartOptions.type],fill:i,stacked:i,chartDatasetColors:t.chartOptions.chartDatasetColors}});return(i,s)=>(n.openBlock(),n.createBlock(z,{context:i.context,query:i.query,"query-ready":i.queryReady},{default:n.withCtx(({data:a})=>[n.createElementVNode("div",He,[n.createVNode(n.unref(C.AnalyticsChart),{"allow-csv-export":i.chartOptions.allowCsvExport,"chart-data":a,"chart-options":o.value,"chart-title":i.chartOptions.chartTitle,"legend-position":"bottom","synthetics-data-key":i.chartOptions.syntheticsDataKey,"tooltip-title":""},null,8,["allow-csv-export","chart-data","chart-options","chart-title","synthetics-data-key"])])]),_:1},8,["context","query","query-ready"]))}}),[["__scopeId","data-v-93ab34da"]]),Ye={class:"metric-card-tile-wrapper"},Ze=v(n.defineComponent({__name:"GoldenSignalsRenderer",props:{query:{},context:{},queryReady:{type:Boolean},chartOptions:{},height:{}},setup(e){const t=e,r=n.computed(()=>{const i=t.context.timeSpec;if(i.type==="absolute")return new j.Timeframe({key:"custom",timeframeText:"custom",display:"custom",startCustom:i.start,endCustom:i.end,timeframeLength:()=>0,defaultResponseGranularity:j.GranularityKeys.DAILY,dataGranularity:j.GranularityKeys.DAILY,isRelative:!1,allowedTiers:["free","plus","enterprise"]});const s=j.TimePeriods.get(i.time_range);if(!s)throw new Error("Unknown time range");return s}),o=n.computed(()=>({overrideTimeframe:r.value,tz:t.context.tz,additionalFilter:t.context.filters,longCardTitles:t.chartOptions.longCardTitles,description:t.chartOptions.description,hasTrendAccess:!0,refreshInterval:0}));return(i,s)=>(n.openBlock(),n.createElementBlock("div",Ye,[n.createVNode(n.unref(J.MetricsProviderInternal),n.normalizeProps(n.guardReactiveProps(o.value)),{default:n.withCtx(()=>[n.createVNode(n.unref(J.MetricsConsumer),{class:"metric-consumer"})]),_:1},16)]))}}),[["__scopeId","data-v-52746db6"]]),ye="20px";var N=(e=>(e[e.Loading=0]="Loading",e[e.Idle=1]="Idle",e[e.NoResults=2]="NoResults",e[e.Error=3]="Error",e))(N||{});function We(){return{getAxiosInstance:(e={})=>{try{const t=n.inject("get-axios-instance",void 0);return typeof t=="function"?t(e):W.create({withCredentials:!0,timeout:3e4,...e})}catch(t){return console.warn("getAxiosInstance:",t.message||t),W.create({withCredentials:!0,timeout:3e4,...e})}},getTraceIdFromError:e=>{var t;return((t=e==null?void 0:e.response)==null?void 0:t.headers["x-datadog-trace-id"])||""}}}function Je(){return{debounce:(e,t)=>{let r;return(...o)=>{clearTimeout(r),r=window==null?void 0:window.setTimeout(()=>{e(...o)},t)}}}}function K(e={}){const{getAxiosInstance:t}=We();return{axiosInstance:t(e)}}const Qe={actions:{copyId:"Copy ID",copied_id:'Copied "{id}" to the clipboard',copyToClipboard:"Copied successfully!",copyToClipboardFailed:"Failed to copy to the clipboard"}},Xe={message:"Are you sure you want to delete this {entityType}?",messageWithName:"Are you sure you want to delete this {entityType} {entityName}?"},et={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."}},tt={emptyState:{noSearchResultsTitle:"No results found",noSearchResultsMessage:"Please adjust the criteria and try again.",noSearchResultsCtaText:"Clear"}},rt={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"}},nt={filterButtonText:"Filter",fieldLabel:"Filter by:",inputPlaceholder:"Enter a value",selectPlaceholder:"Select an item",applyButtonText:"Apply",clearButtonText:"Clear",clearAllButtonText:"Clear all filters"},it={errors:{fetch:"Could not fetch available items",invalid:"Please select a valid value"}},ot={unexpected:"An unexpected error has occurred",dataKeyUndefined:'The data key "{dataKey}" does not exist in the response.'},at={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"}},st={global:Qe,deleteModal:Xe,baseForm:et,baseTable:tt,baseConfigCard:rt,filter:nt,debouncedFilter:it,errors:ot,toggleModal:at};function G(){const e=B.createI18n("en-us",st);return{i18n:e,i18nT:B.i18nTComponent(e)}}function he(){const e=(r,o)=>(o==null?void 0:o[r])??void 0,t=(r,o)=>{if(r.length!==o.length)return!1;const i=new Set([...r,...o]);for(const s of i){const a=r.filter(c=>c===s).length,l=o.filter(c=>c===s).length;if(a!==l)return!1}return!0};return{getPropValue:e,objectsAreEqual:(r,o,i)=>{if(i){if(Object.keys(r).length===Object.keys(o).length)for(const s in r)if(Array.isArray(r[s])&&Array.isArray(o[s])){if(t(r[s],o[s]))continue;return!1}else{if(r[s]===o[s])continue;return!1}else return!1;return!0}try{return JSON.stringify(r)===JSON.stringify(o)}catch{return!1}},sortAlpha:r=>(o,i)=>{let s=o[r]===void 0||o[r]===null?"":o[r],a=i[r]===void 0||i[r]===null?"":i[r];return Array.isArray(o[r])&&(s=o[r][0]),Array.isArray(i[r])&&(a=i[r][0]),s.localeCompare(a)},isValidUuid:r=>r?/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/.test(r):!1}}function lt(e,t,r,o={fetchedItemsKey:"data",searchKeys:["id"]}){r||(r="1000");const{axiosInstance:i}=K({headers:e.requestHeaders}),{i18n:{t:s}}=G(),{debounce:a}=Je(),l=a(async p=>{await L(p)},200),c=n.ref(!1),m=n.ref(""),f=n.ref(""),u=n.ref([]),h=n.ref([]),y=n.ref(void 0),k=n.unref(t);let g=`${e.apiBaseUrl}${k}`;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:E}=he(),O=async()=>{try{c.value=!0;const{data:p}=await i.get(`${g}?size=${r}`);p!=null&&p.next||(y.value=o.fetchedItemsKey in p?p[o.fetchedItemsKey]:[]),h.value=o.fetchedItemsKey in p?p[o.fetchedItemsKey]:[],u.value=h.value}catch{u.value=[],m.value=s("debouncedFilter.errors.fetch")}finally{c.value=!1}},x=n.ref(""),L=async p=>{var P,De,Re;if(x.value!==p)if(x.value=p||"",y.value===void 0)try{if(c.value=!0,m.value="",f.value="",e.app==="konnect"){let S=g+"";p&&(S+=`/${p}`);const{data:T}=await i.get(`${S}?size=${r}`);o.fetchedItemsKey in T?u.value=T[o.fetchedItemsKey]:T!=null&&T.id?u.value=[T]:u.value=[]}else if(p){const S=[];E(p)&&o.searchKeys.includes("id")?S.push((async()=>{const{data:w}=await i.get(`${g}/${p}`);return[w[o.fetchedItemsKey]??w]})()):S.push(...o.searchKeys.filter(w=>w!=="id").map(async w=>{const{data:A}=await i.get(`${g}?${w}=${p}`);return A[o.fetchedItemsKey]}));const T=await Promise.all(S),R=new Set;u.value=[],(P=T==null?void 0:T.forEach)==null||P.call(T,w=>{var A;(A=w==null?void 0:w.forEach)==null||A.call(w,Z=>{R.has(Z.id)||(R.add(Z.id),u.value.push(Z))})})}else u.value=h.value}catch(S){((De=S==null?void 0:S.response)==null?void 0:De.status)===404?f.value=s("debouncedFilter.errors.invalid"):(u.value=[],m.value=s("debouncedFilter.errors.fetch"))}finally{c.value=!1}else c.value=!0,f.value="",p?(u.value=(Re=y.value)==null?void 0:Re.filter(S=>{var T;let R=!1;for(const w of o.searchKeys){const A=typeof S[w]=="string"?(T=S[w])==null?void 0:T.toLowerCase():S[w];A!=null&&A.includes(p.toLowerCase())&&(R=!0)}return R}),(!u.value||!u.value.length)&&(f.value=s("debouncedFilter.errors.invalid"))):u.value=y.value,c.value=!1};return{loading:c,error:m,validationError:f,results:u,allRecords:y,loadItems:O,debouncedQueryChange:l}}function ct(e,t){const r=n.unref(t),o=n.computed(()=>e.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${r}`):new URL(r));return o.value.search="",i=>`${o.value.href}/${i}`}function ut(){const{i18n:{t:e}}=G();return{getMessageFromError:t=>{var r,o,i,s;if(!t)return e("errors.unexpected");if(((r=t==null?void 0:t.response)==null?void 0:r.status)===401)return console.warn("getMessageFromError: User auth token is expired or missing, returning empty message."),"";if((o=t==null?void 0:t.response)!=null&&o.data){if(t.response.data.detail)return t.response.data.detail;if((i=t.response.data.details)!=null&&i.length)return t.response.data.details.map(a=>{let l=e("errors.unexpected");return a.messages&&typeof a.messages=="object"&&a.messages.length&&(l=a.messages.join(", ")),a.field?`${a.field} - ${l}`:l}).join("; ");if(t.response.data.message){const{message:a}=t.response.data;return Array.isArray(a)?(s=a[0])!=null&&s.constraints?Object.values(a[0].constraints)[0]:a[0]:a}if(typeof t.response.data=="string")return t.response.data;if(typeof t.response.data=="object")return Object.keys(t.response.data).map(a=>`${a} ${t.response.data[a]}`).join(", ")}return t.message||e("errors.unexpected")}}}function pt(e){const t=window.location.origin,r=t.endsWith("/")?t:`${t}/`;try{const o=e.join("/"),i=`${r}${o}`,s=e.some(a=>a.trim()==="");if(/^(https:\/\/(www\.)?([a-zA-Z0-9-]+\.){1,}[a-zA-Z]{2,}(:[0-9]+)?(\/[^\/]+)*)$|^(https|http):\/\/localhost(:[0-9]+)?(\/[^\/]+)*$/.test(i)&&!s&&new URL(i))return`${r}${o}`;throw new Error("Invalid url")}catch(o){return console.warn("Failed to build valid URL:",o),""}}function me(e,t){const r=n.ref(n.unref(e)),o=n.ref(n.unref(t)),i=n.computed(()=>!!(r.value.app==="konnect"||r.value.isExactMatch)),s=n.computed(()=>o.value.startsWith("/")?new URL(`${window.location.origin}${o.value}`):new URL(o.value));return a=>{const{page:l,pageSize:c,offset:m,sortColumnKey:f,sortColumnOrder:u,query:h}=a;try{let y=new URL(s.value.href);return i.value&&h?(y.search="",y=r.value.isExactMatch?new URL(`${y.href}/${h}/`):new URL(`${y.href}?filter[name][contains]=${h}`)):(i.value||new URLSearchParams(h).forEach((k,g)=>{y.searchParams.append(g,k)}),f&&y.searchParams.append("sort_by",f),u==="desc"&&y.searchParams.append("sort_desc","1"),y.searchParams.append("size",String(c))),m&&l!==1&&y.searchParams.append("offset",String(m)),y.href}catch(y){return console.error("RouteList(fetcher)",y),o.value}}}function dt(e,t,r="data"){var o;const i=n.unref(t),{axiosInstance:s}=K({...e.axiosRequestConfig,headers:{...(o=e.axiosRequestConfig)==null?void 0:o.headers,...e.requestHeaders}}),a=me(e,i),l=n.ref({status:N.Idle});return{fetcher:async c=>{var m;try{l.value={status:N.Loading};let f=a(c);f.includes("filter[name]")&&(f=`${f}&page[size]=${c.pageSize}&page[number]=${c.page}`);const u=await s.get(f);if(u.status>=400)throw u;const h=u.data,y=r&&r.replace(/[^\w-_]/gi,"");let k;h[y]&&Array.isArray(h[y])?k=h[y]:Array.isArray(h)?k=h:k=Object.keys(h).length?[h]:[];const g={data:k,total:k.length,...h.offset?{pagination:{offset:h.offset}}:null};return l.value={status:N.Idle,response:g},g}catch(f){const u={data:[],total:0};return c.query&&(((m=f.response)==null?void 0:m.status)===404||f.status===404)?(l.value={status:N.NoResults,response:u,error:f.response?f:{response:f}},u):(l.value={status:N.Error,response:u,error:f.response?f:{response:f}},u)}},fetcherState:l}}function ft(){const e=(r,o="_")=>r?r.split(o).map(i=>i.toLowerCase()==="id"?i.toUpperCase():i.charAt(0).toUpperCase()+i.substring(1)).join(" "):"",t=/(?:^|[\s-:'"])\w/g;return{capitalize:r=>r?r.replace(t,o=>o.toUpperCase()):"",convertKeyToTitle:e}}const ge=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,_e=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const t=e.match(ge);if(!t)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return t.shift(),t},be=e=>e==="*"||e==="x"||e==="X",ke=e=>{const t=parseInt(e,10);return isNaN(t)?e:t},yt=(e,t)=>typeof e!=typeof t?[String(e),String(t)]:[e,t],ht=(e,t)=>{if(be(e)||be(t))return 0;const[r,o]=yt(ke(e),ke(t));return r>o?1:r<o?-1:0},we=(e,t)=>{for(let r=0;r<Math.max(e.length,t.length);r++){const o=ht(e[r]||"0",t[r]||"0");if(o!==0)return o}return 0},mt=(e,t)=>{const r=_e(e),o=_e(t),i=r.pop(),s=o.pop(),a=we(r,o);return a!==0?a:i&&s?we(i.split("."),s.split(".")):i||s?i?-1:1:0},Se=(e,t,r)=>{gt(r);const o=mt(e,t);return Te[r].includes(o)},Te={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},Ce=Object.keys(Te),gt=e=>{if(typeof e!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof e}`);if(Ce.indexOf(e)===-1)throw new Error(`Invalid operator, expected one of ${Ce.join("|")}`)},_t=e=>typeof e=="string"&&/^[v\d]/.test(e)&&ge.test(e);function bt(e){const{gatewayInfo:t,supportedRange:r}=e;if(!t)return!0;const{edition:o,version:i}=t;if(!_t(i))return console.error("Invalid version"),!1;const s=r[o];if(!s)return!1;const[a,l]=s;return!(a&&Se(i,a,"<")||l&&Se(i,l,">"))}function kt(e){const t=n.ref(0),r=n.ref(0),o=n.ref(!1);return n.watch(e,i=>{i&&!o.value&&(t.value=i.offsetWidth,r.value=i.scrollWidth,o.value=!0)}),{isTruncated:n.computed(()=>t.value<r.value)}}const Ee={useAxios:K,useDebouncedFilter:lt,useDeleteUrlBuilder:ct,useErrors:ut,useExternalLinkCreator:pt,useFetcher:dt,useFetchUrlBuilder:me,useHelpers:he,useStringHelpers:ft,useI18n:G,useGatewayFeatureSupported:bt,useTruncationDetector:kt},wt=(e,t)=>{const r=e.__vccOpts||e;for(const[o,i]of t)r[o]=i;return r},St="#0044f4",Tt="16px";/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function ve(e){return typeof e>"u"||e===null}function Ct(e){return typeof e=="object"&&e!==null}function Et(e){return Array.isArray(e)?e:ve(e)?[]:[e]}function vt(e,t){var r,o,i,s;if(t)for(s=Object.keys(t),r=0,o=s.length;r<o;r+=1)i=s[r],e[i]=t[i];return e}function It(e,t){var r="",o;for(o=0;o<t;o+=1)r+=e;return r}function xt(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var At=ve,Nt=Ct,qt=Et,Ot=It,Lt=xt,Dt=vt,H={isNothing:At,isObject:Nt,toArray:qt,repeat:Ot,isNegativeZero:Lt,extend:Dt};function Ie(e,t){var r="",o=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(r+='in "'+e.mark.name+'" '),r+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!t&&e.mark.snippet&&(r+=`
2
2
 
3
3
  `+e.mark.snippet),o+" "+r):o}function D(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=Ie(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}D.prototype=Object.create(Error.prototype),D.prototype.constructor=D,D.prototype.toString=function(e){return this.name+": "+Ie(this,e)};var I=D,Rt=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Bt=["scalar","sequence","mapping"];function jt(e){var t={};return e!==null&&Object.keys(e).forEach(function(r){e[r].forEach(function(o){t[String(o)]=r})}),t}function $t(e,t){if(t=t||{},Object.keys(t).forEach(function(r){if(Rt.indexOf(r)===-1)throw new I('Unknown option "'+r+'" is met in definition of "'+e+'" YAML type.')}),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(r){return r},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=jt(t.styleAliases||null),Bt.indexOf(this.kind)===-1)throw new I('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var _=$t;function xe(e,t){var r=[];return e[t].forEach(function(o){var i=r.length;r.forEach(function(s,a){s.tag===o.tag&&s.kind===o.kind&&s.multi===o.multi&&(i=a)}),r[i]=o}),r}function Vt(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},t,r;function o(i){i.multi?(e.multi[i.kind].push(i),e.multi.fallback.push(i)):e[i.kind][i.tag]=e.fallback[i.tag]=i}for(t=0,r=arguments.length;t<r;t+=1)arguments[t].forEach(o);return e}function M(e){return this.extend(e)}M.prototype.extend=function(e){var t=[],r=[];if(e instanceof _)r.push(e);else if(Array.isArray(e))r=r.concat(e);else if(e&&(Array.isArray(e.implicit)||Array.isArray(e.explicit)))e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(r=r.concat(e.explicit));else throw new I("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");t.forEach(function(i){if(!(i instanceof _))throw new I("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(i.loadKind&&i.loadKind!=="scalar")throw new I("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(i.multi)throw new I("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),r.forEach(function(i){if(!(i instanceof _))throw new I("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var o=Object.create(M.prototype);return o.implicit=(this.implicit||[]).concat(t),o.explicit=(this.explicit||[]).concat(r),o.compiledImplicit=xe(o,"implicit"),o.compiledExplicit=xe(o,"explicit"),o.compiledTypeMap=Vt(o.compiledImplicit,o.compiledExplicit),o};var zt=M,Pt=new _("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),Ut=new _("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),Ft=new _("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),Kt=new zt({explicit:[Pt,Ut,Ft]});function Gt(e){if(e===null)return!0;var t=e.length;return t===1&&e==="~"||t===4&&(e==="null"||e==="Null"||e==="NULL")}function Ht(){return null}function Mt(e){return e===null}var Yt=new _("tag:yaml.org,2002:null",{kind:"scalar",resolve:Gt,construct:Ht,predicate:Mt,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function Zt(e){if(e===null)return!1;var t=e.length;return t===4&&(e==="true"||e==="True"||e==="TRUE")||t===5&&(e==="false"||e==="False"||e==="FALSE")}function Wt(e){return e==="true"||e==="True"||e==="TRUE"}function Jt(e){return Object.prototype.toString.call(e)==="[object Boolean]"}var Qt=new _("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Zt,construct:Wt,predicate:Jt,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"});function Xt(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function er(e){return 48<=e&&e<=55}function tr(e){return 48<=e&&e<=57}function rr(e){if(e===null)return!1;var t=e.length,r=0,o=!1,i;if(!t)return!1;if(i=e[r],(i==="-"||i==="+")&&(i=e[++r]),i==="0"){if(r+1===t)return!0;if(i=e[++r],i==="b"){for(r++;r<t;r++)if(i=e[r],i!=="_"){if(i!=="0"&&i!=="1")return!1;o=!0}return o&&i!=="_"}if(i==="x"){for(r++;r<t;r++)if(i=e[r],i!=="_"){if(!Xt(e.charCodeAt(r)))return!1;o=!0}return o&&i!=="_"}if(i==="o"){for(r++;r<t;r++)if(i=e[r],i!=="_"){if(!er(e.charCodeAt(r)))return!1;o=!0}return o&&i!=="_"}}if(i==="_")return!1;for(;r<t;r++)if(i=e[r],i!=="_"){if(!tr(e.charCodeAt(r)))return!1;o=!0}return!(!o||i==="_")}function nr(e){var t=e,r=1,o;if(t.indexOf("_")!==-1&&(t=t.replace(/_/g,"")),o=t[0],(o==="-"||o==="+")&&(o==="-"&&(r=-1),t=t.slice(1),o=t[0]),t==="0")return 0;if(o==="0"){if(t[1]==="b")return r*parseInt(t.slice(2),2);if(t[1]==="x")return r*parseInt(t.slice(2),16);if(t[1]==="o")return r*parseInt(t.slice(2),8)}return r*parseInt(t,10)}function ir(e){return Object.prototype.toString.call(e)==="[object Number]"&&e%1===0&&!H.isNegativeZero(e)}var or=new _("tag:yaml.org,2002:int",{kind:"scalar",resolve:rr,construct:nr,predicate:ir,represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),ar=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function sr(e){return!(e===null||!ar.test(e)||e[e.length-1]==="_")}function lr(e){var t,r;return t=e.replace(/_/g,"").toLowerCase(),r=t[0]==="-"?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:r*parseFloat(t,10)}var cr=/^[-+]?[0-9]+e/;function ur(e,t){var r;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(H.isNegativeZero(e))return"-0.0";return r=e.toString(10),cr.test(r)?r.replace("e",".e"):r}function pr(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||H.isNegativeZero(e))}var dr=new _("tag:yaml.org,2002:float",{kind:"scalar",resolve:sr,construct:lr,predicate:pr,represent:ur,defaultStyle:"lowercase"}),fr=Kt.extend({implicit:[Yt,Qt,or,dr]}),yr=fr,Ae=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Ne=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function hr(e){return e===null?!1:Ae.exec(e)!==null||Ne.exec(e)!==null}function mr(e){var t,r,o,i,s,a,l,c=0,m=null,f,u,h;if(t=Ae.exec(e),t===null&&(t=Ne.exec(e)),t===null)throw new Error("Date resolve error");if(r=+t[1],o=+t[2]-1,i=+t[3],!t[4])return new Date(Date.UTC(r,o,i));if(s=+t[4],a=+t[5],l=+t[6],t[7]){for(c=t[7].slice(0,3);c.length<3;)c+="0";c=+c}return t[9]&&(f=+t[10],u=+(t[11]||0),m=(f*60+u)*6e4,t[9]==="-"&&(m=-m)),h=new Date(Date.UTC(r,o,i,s,a,l,c)),m&&h.setTime(h.getTime()-m),h}function gr(e){return e.toISOString()}var _r=new _("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:hr,construct:mr,instanceOf:Date,represent:gr});function br(e){return e==="<<"||e===null}var kr=new _("tag:yaml.org,2002:merge",{kind:"scalar",resolve:br}),Y=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
4
4
  \r`;function wr(e){if(e===null)return!1;var t,r,o=0,i=e.length,s=Y;for(r=0;r<i;r++)if(t=s.indexOf(e.charAt(r)),!(t>64)){if(t<0)return!1;o+=6}return o%8===0}function Sr(e){var t,r,o=e.replace(/[\r\n=]/g,""),i=o.length,s=Y,a=0,l=[];for(t=0;t<i;t++)t%4===0&&t&&(l.push(a>>16&255),l.push(a>>8&255),l.push(a&255)),a=a<<6|s.indexOf(o.charAt(t));return r=i%4*6,r===0?(l.push(a>>16&255),l.push(a>>8&255),l.push(a&255)):r===18?(l.push(a>>10&255),l.push(a>>2&255)):r===12&&l.push(a>>4&255),new Uint8Array(l)}function Tr(e){var t="",r=0,o,i,s=e.length,a=Y;for(o=0;o<s;o++)o%3===0&&o&&(t+=a[r>>18&63],t+=a[r>>12&63],t+=a[r>>6&63],t+=a[r&63]),r=(r<<8)+e[o];return i=s%3,i===0?(t+=a[r>>18&63],t+=a[r>>12&63],t+=a[r>>6&63],t+=a[r&63]):i===2?(t+=a[r>>10&63],t+=a[r>>4&63],t+=a[r<<2&63],t+=a[64]):i===1&&(t+=a[r>>2&63],t+=a[r<<4&63],t+=a[64],t+=a[64]),t}function Cr(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var Er=new _("tag:yaml.org,2002:binary",{kind:"scalar",resolve:wr,construct:Sr,predicate:Cr,represent:Tr}),vr=Object.prototype.hasOwnProperty,Ir=Object.prototype.toString;function xr(e){if(e===null)return!0;var t=[],r,o,i,s,a,l=e;for(r=0,o=l.length;r<o;r+=1){if(i=l[r],a=!1,Ir.call(i)!=="[object Object]")return!1;for(s in i)if(vr.call(i,s))if(!a)a=!0;else return!1;if(!a)return!1;if(t.indexOf(s)===-1)t.push(s);else return!1}return!0}function Ar(e){return e!==null?e:[]}var Nr=new _("tag:yaml.org,2002:omap",{kind:"sequence",resolve:xr,construct:Ar}),qr=Object.prototype.toString;function Or(e){if(e===null)return!0;var t,r,o,i,s,a=e;for(s=new Array(a.length),t=0,r=a.length;t<r;t+=1){if(o=a[t],qr.call(o)!=="[object Object]"||(i=Object.keys(o),i.length!==1))return!1;s[t]=[i[0],o[i[0]]]}return!0}function Lr(e){if(e===null)return[];var t,r,o,i,s,a=e;for(s=new Array(a.length),t=0,r=a.length;t<r;t+=1)o=a[t],i=Object.keys(o),s[t]=[i[0],o[i[0]]];return s}var Dr=new _("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:Or,construct:Lr}),Rr=Object.prototype.hasOwnProperty;function Br(e){if(e===null)return!0;var t,r=e;for(t in r)if(Rr.call(r,t)&&r[t]!==null)return!1;return!0}function jr(e){return e!==null?e:{}}var $r=new _("tag:yaml.org,2002:set",{kind:"mapping",resolve:Br,construct:jr});yr.extend({implicit:[_r,kr],explicit:[Er,Nr,Dr,$r]});function qe(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kong-ui-public/dashboard-renderer",
3
- "version": "0.13.2",
3
+ "version": "0.13.3",
4
4
  "type": "module",
5
5
  "main": "./dist/dashboard-renderer.umd.js",
6
6
  "module": "./dist/dashboard-renderer.es.js",
@@ -29,9 +29,9 @@
29
29
  "vue": "^3.4.21",
30
30
  "@kong-ui-public/analytics-chart": "^2.5.0",
31
31
  "@kong-ui-public/analytics-metric-provider": "^4.1.7",
32
- "@kong-ui-public/analytics-utilities": "^1.4.0",
32
+ "@kong-ui-public/sandbox-layout": "^2.0.43",
33
33
  "@kong-ui-public/i18n": "^2.1.3",
34
- "@kong-ui-public/sandbox-layout": "^2.0.43"
34
+ "@kong-ui-public/analytics-utilities": "^1.4.0"
35
35
  },
36
36
  "repository": {
37
37
  "type": "git",
@@ -54,15 +54,15 @@
54
54
  "@kong/kongponents": "9.0.0-alpha.113",
55
55
  "swrv": "^1.0.4",
56
56
  "vue": ">= 3.3.13 < 4",
57
- "@kong-ui-public/analytics-metric-provider": "^4.1.7",
58
57
  "@kong-ui-public/analytics-chart": "^2.5.0",
58
+ "@kong-ui-public/analytics-metric-provider": "^4.1.7",
59
59
  "@kong-ui-public/analytics-utilities": "^1.4.0",
60
60
  "@kong-ui-public/i18n": "^2.1.3"
61
61
  },
62
62
  "dependencies": {
63
63
  "ajv": "^8.12.0",
64
- "@kong-ui-public/core": "^1.5.7",
65
- "@kong-ui-public/entities-shared": "^2.12.0"
64
+ "@kong-ui-public/entities-shared": "^2.12.1",
65
+ "@kong-ui-public/core": "^1.5.7"
66
66
  },
67
67
  "scripts": {
68
68
  "dev": "cross-env USE_SANDBOX=true vite",