@kong-ui-public/entities-gateway-services 3.5.2 → 3.5.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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(te,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):(te=typeof globalThis<"u"?globalThis:te||self,t(te["kong-ui-public-entities-gateway-services"]={},te.Vue,te.VueRouter,te["kong-ui-public-i18n"],te.axios,te.Kongponents))})(this,function(te,t,He,$e,pt,Fo){"use strict";const ut="24px",Oo=(e,o)=>{const r=e.__vccOpts||e;for(const[n,i]of o)r[n]=i;return r},Do=e=>(t.pushScopeId("data-v-761db460"),e=e(),t.popScopeId(),e),qo=["aria-hidden"],Lo={key:0,"data-testid":"kui-icon-svg-title"},Uo=Do(()=>t.createElementVNode("path",{d:"M11 19V13H5V11H11V5H13V11H19V13H13V19H11Z",fill:"currentColor"},null,-1)),Ko=Oo(t.defineComponent({__name:"AddIcon",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:ut,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const o=String(e).replace(/px/gi,""),r=Number(o);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const o=e,r=t.computed(()=>{if(typeof o.size=="number"&&o.size>0)return`${o.size}px`;if(typeof o.size=="string"){const i=String(o.size).replace(/px/gi,""),l=Number(i);if(l&&!isNaN(l)&&Number.isInteger(l)&&l>0)return`${l}px`}return ut}),n=t.computed(()=>({boxSizing:"border-box",color:o.color,display:o.display,height:r.value,lineHeight:"0",width:r.value}));return(i,l)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon add-icon","data-testid":"kui-icon-wrapper-add-icon",style:t.normalizeStyle(n.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-add-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",Lo,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Uo],8,qo))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-761db460"]]),Ro={actions:{create:"New Gateway Service",serverless_create:"Add a Service",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",clear:"Clear",view:"View Details",delete:{title:"Delete a Gateway Service",description:"Deleting this Gateway Service will also remove any associated routes and plugins. This action cannot be reversed.",menu_label:"Delete"}},search:{placeholder:{konnect:"Filter by name",kongManager:"Filter by exact name or ID"}},gateway_services:{title:"Gateway Services",list:{toolbar_actions:{new_gateway_service:"New Gateway Service"},table_headers:{name:"Name",control_plane:"Control Plane",protocol:"Protocol",host:"Host",port:"Port",path:"Path",enabled:"Enabled",tags:"Tags",id:"ID"},empty_state:{title:"Configure a New Gateway Service",description:"Gateway services are used to proxy traffic.",serverless_title:"Configure your first Gateway Service"}},form:{sections:{general:{title:"General Information",description:"General information will help identify and manage this Gateway Service."},keys:{title:"Service Endpoint",description:"Define the endpoint for this service by specifying the full URL or by its separate elements.",checkedGroupLabel:"Choose how and where to send traffic",urlLabel:"Full URL",checkedGroupAltLabel:"Protocol, Host, Port and Path",viewAdvancedFields:"View Advanced Fields"}},fields:{upstream_url:{label:"Upstream URL",placeholder:"Enter a URL",tooltip_for_konnect:"This is the URL of the API you will manage in Konnect.",tooltip_for_km:"This is the URL of the API you will manage in Kong Gateway."},name:{label:"Name",placeholder:"Enter a unique name",tooltip:"The Service name."},protocol:{label:"Protocol",tooltip:"The protocol used to communicate with the upstream.",options:{http:"http",https:"https",tcp:"tcp",tls:"tls",tls_passthrough:"tls_passthrough",grpc:"grpc",grpcs:"grpcs",ws:"ws",wss:"wss",udp:"udp"}},host:{label:"Host",placeholder:"Enter a host",tooltip:"The host of the upstream server. Note that the host value is case sensitive."},path:{label:"Path",placeholder:"Enter a path",tooltip:"The path to be used in request to the upstream server."},port:{label:"Port",tooltip:"The upstream server port."},retries:{label:"Retries",tooltip:"The number of retries to execute upon failure to proxy."},connect_timeout:{label:"Connection Timeout",tooltip:"The timeout in milliseconds for establishing a connection to the upstream server."},write_timeout:{label:"Write Timeout",tooltip:"The timeout in milliseconds between two successive write operations for transmitting a request to the upstream server."},read_timeout:{label:"Read Timeout",tooltip:"The timeout in milliseconds between two successive read operations for transmitting a request to the upstream server."},client_certificate:{label:"Client Certificate",placeholder:"Enter a Certificate ID",tooltip:"Certificate to be used as client certificate while TLS handshaking to the upstream server."},ca_certificates:{label:"CA Certificates",placeholder:"Enter a comma separated list of CA Certificate IDs",tooltip:"Array of {code1} object UUIDs that are used to build the trust store while verifying upstream server's TLS certificate. If set to {code2} when Nginx default is respected. If default CA list in Nginx are not specified and TLS verification is enabled, then handshake with upstream server will always fail (because no CA are trusted).",code1:"CA Certificate",code2:"null"},tls_verify_enabled:{label:"TLS Verify",help:"If unchecked, use default system setting",tooltip:"Whether to enable verification of upstream server TLS certificate. If set to {code1}, then the Nginx default is respected.",code1:"null"},tls_verify_option:{unset:{display:"Use default system setting"},true:{label:"True",display:"On"},false:{label:"False",display:"Off"}},tags:{label:"Tags",tooltip:"An optional set of strings associated with the Service for grouping and filtering.",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3"},enabled:{label:"Enabled",tooltip:"Whether the Service is active. If set to {false}, the proxy behavior will be as if any routes attached to it do not exist (404). Default: {true}.",false:"false",true:"true"}}}},errors:{general:"Gateway Services could not be retrieved",delete:"The gateway service could not be deleted at this time.",copy:"Failed to copy to clipboard",urlErrorMessage:"Error: invalid URL"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},glossary:{gateway_services:"gateway services"}};function Po(){const e=$e.createI18n("en-us",Ro);return{i18n:e,i18nT:$e.i18nTComponent(e)}}function zo(){return{getPortFromProtocol:(o,r)=>{const n=[80,443],i=Number(r);if((i||i===0)&&!n.includes(i))return i;switch(o){case"grpcs":case"tls":case"https":case"wss":return 443;case"grpc":case"tcp":case"http":case"ws":default:return 80}}}}const je={useI18n:Po,usePortFromProtocol:zo},Me="/v2/control-planes/{controlPlaneId}/core-entities",Fe="/{workspace}",_e={list:{konnect:{all:`${Me}/services`},kongManager:{all:`${Fe}/services`}},form:{konnect:{create:`${Me}/services`,validate:`${Me}/v1/schemas/json/service/validate`,edit:`${Me}/services/{id}`},kongManager:{create:`${Fe}/services`,validate:`${Fe}/schemas/services/validate`,edit:`${Fe}/services/{id}`}}};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||{}),Ge=(e=>(e.Edit="edit",e.Create="create",e))(Ge||{}),de=(e=>(e[e.Loading=0]="Loading",e[e.Idle=1]="Idle",e[e.NoResults=2]="NoResults",e[e.Error=3]="Error",e))(de||{}),K=(e=>(e.ID="id",e.IdArray="id-array",e.Text="plain-text",e.Date="date",e.Redacted="redacted",e.RedactedArray="redacted-array",e.Json="json",e.JsonArray="json-array",e.BadgeTag="badge-tag",e.BadgeStatus="badge-status",e.BadgeMethod="badge-method",e.LinkInternal="link-internal",e.LinkExternal="link-external",e))(K||{}),W=(e=>(e.Basic="basic",e.Advanced="advanced",e.Plugin="plugin",e))(W||{});function Ho(){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 Go(){return{debounce:(e,o)=>{let r;return(...n)=>{clearTimeout(r),r=window==null?void 0:window.setTimeout(()=>{e(...n)},o)}}}}const Je="khcp-user-table-preferences",Jo={pageSize:30,sortColumnKey:void 0,sortColumnOrder:void 0,columnWidths:{},columnVisibility:{}};function Wo(){const e=r=>{if(typeof r=="string")try{return JSON.parse(r)}catch(n){console.error("useTablePreferences(tryParseJson)",n);return}},o=()=>{const r=e(localStorage.getItem(Je));return!r||!Object.keys(r).length?new Map:new Map(Object.entries(r))};return{setTablePreferences:(r,n)=>{try{const i=o();i.set(r,n),localStorage.setItem(Je,JSON.stringify(Object.fromEntries(i.entries())))}catch(i){console.error("useTablePreferences(setTablePreferences)",i)}},getTablePreferences:r=>{const n=o();return(n==null?void 0:n.get(r))||void 0||Jo},deleteAllTablePreferences:()=>{localStorage.removeItem(Je)}}}function We(e={}){const{getAxiosInstance:o}=Ho();return{axiosInstance:o(e)}}const Yo={actions:{copyId:"Copy ID",copied_id:'Copied "{id}" to the clipboard',copyToClipboard:"Copied successfully!",copyToClipboardFailed:"Failed to copy to the clipboard"}},Zo={message:"Are you sure you want to delete this {entityType}?",messageWithName:"Are you sure you want to delete this {entityType} {entityName}?"},Qo={actions:{viewConfiguration:"View Configuration",save:"Save",cancel:"Cancel",back:"Back"},configuration:{title:"Configuration",message:"Export configurations for core Kong Gateway objects, like services, routes, and plugins, to either YAML or JSON. This allows for straightforward importing into APIOps tools like decK with YAML, or Insomnia and cURL with JSON.",yaml:"YAML",json:"JSON"},errors:{edit:"The entity could not be edited at this time."}},Xo={emptyState:{noSearchResultsTitle:"No results found",noSearchResultsMessage:"Please adjust the criteria and try again.",noSearchResultsCtaText:"Clear"}},er={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"}},tr={filterButtonText:"Filter",fieldLabel:"Filter by:",inputPlaceholder:"Enter a value",selectPlaceholder:"Select an item",applyButtonText:"Apply",clearButtonText:"Clear",clearAllButtonText:"Clear all filters"},or={errors:{fetch:"Could not fetch available items",invalid:"Please select a valid value"}},rr={unexpected:"An unexpected error has occurred",dataKeyUndefined:'The data key "{dataKey}" does not exist in the response.'},ir={utf8Name:"The name can be any string containing characters, letters, numbers, or the following characters: ., -, _, or ~. Do not use spaces."},nr={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"}},ar={global:Yo,deleteModal:Zo,baseForm:Qo,baseTable:Xo,baseConfigCard:er,filter:tr,debouncedFilter:or,errors:rr,validationErrors:ir,toggleModal:nr};function Oe(){const e=$e.createI18n("en-us",ar);return{i18n:e,i18nT:$e.i18nTComponent(e)}}function mt(){const e=(r,n)=>(n==null?void 0:n[r])??void 0,o=(r,n)=>{if(r.length!==n.length)return!1;const i=new Set([...r,...n]);for(const l of i){const a=r.filter(s=>s===l).length,d=n.filter(s=>s===l).length;if(a!==d)return!1}return!0};return{getPropValue:e,objectsAreEqual:(r,n,i)=>{if(i){if(Object.keys(r).length===Object.keys(n).length)for(const l in r)if(Array.isArray(r[l])&&Array.isArray(n[l])){if(o(r[l],n[l]))continue;return!1}else{if(r[l]===n[l])continue;return!1}else return!1;return!0}try{return JSON.stringify(r)===JSON.stringify(n)}catch{return!1}},sortAlpha:r=>(n,i)=>{let l=n[r]===void 0||n[r]===null?"":n[r],a=i[r]===void 0||i[r]===null?"":i[r];return Array.isArray(n[r])&&(l=n[r][0]),Array.isArray(i[r])&&(a=i[r][0]),l.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 lr(e,o,r,n={fetchedItemsKey:"data",searchKeys:["id"]}){r||(r="1000");const{axiosInstance:i}=We(e.axiosRequestConfig),{i18n:{t:l}}=Oe(),{debounce:a}=Go(),d=a(async c=>{await q(c)},200),s=t.ref(!1),p=t.ref(""),g=t.ref(""),f=t.ref([]),w=t.ref([]),h=t.ref(void 0),S=t.unref(o);let V=`${e.apiBaseUrl}${S}`;e.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,(e==null?void 0:e.controlPlaneId)||""):e.app==="kongManager"&&(V=V.replace(/\/{workspace}/gi,e!=null&&e.workspace?`/${e.workspace}`:""));const{isValidUuid:k}=mt(),$=async()=>{try{s.value=!0;const{data:c}=await i.get(`${V}?size=${r}`);c!=null&&c.next||(h.value=n.fetchedItemsKey in c?c[n.fetchedItemsKey]:[]),w.value=n.fetchedItemsKey in c?c[n.fetchedItemsKey]:[],f.value=w.value}catch{f.value=[],p.value=l("debouncedFilter.errors.fetch")}finally{s.value=!1}},x=t.ref(""),q=async c=>{var C,y,_;if(x.value!==c)if(x.value=c||"",h.value===void 0)try{if(s.value=!0,p.value="",g.value="",e.app==="konnect"){let A=V+"";c&&(A+=`/${c}`);const{data:N}=await i.get(`${A}?size=${r}`);n.fetchedItemsKey in N?f.value=N[n.fetchedItemsKey]:N!=null&&N.id?f.value=[N]:f.value=[]}else if(c){const A=[];k(c)&&n.searchKeys.includes("id")?A.push((async()=>{const{data:E}=await i.get(`${V}/${c}`);return[E[n.fetchedItemsKey]??E]})()):A.push(...n.searchKeys.filter(E=>E!=="id").map(async E=>{const{data:I}=await i.get(`${V}?${E}=${c}`);return I[n.fetchedItemsKey]}));const N=await Promise.all(A),M=new Set;f.value=[],(C=N==null?void 0:N.forEach)==null||C.call(N,E=>{var I;(I=E==null?void 0:E.forEach)==null||I.call(E,O=>{M.has(O.id)||(M.add(O.id),f.value.push(O))})})}else f.value=w.value}catch(A){((y=A==null?void 0:A.response)==null?void 0:y.status)===404?g.value=l("debouncedFilter.errors.invalid"):(f.value=[],p.value=l("debouncedFilter.errors.fetch"))}finally{s.value=!1}else s.value=!0,g.value="",c?(f.value=(_=h.value)==null?void 0:_.filter(A=>{var N;let M=!1;for(const E of n.searchKeys){const I=typeof A[E]=="string"?(N=A[E])==null?void 0:N.toLowerCase():A[E];I!=null&&I.includes(c.toLowerCase())&&(M=!0)}return M}),(!f.value||!f.value.length)&&(g.value=l("debouncedFilter.errors.invalid"))):f.value=h.value,s.value=!1};return{loading:s,error:p,validationError:g,results:f,allRecords:h,loadItems:$,debouncedQueryChange:d}}function sr(e,o){const r=t.unref(o),n=t.computed(()=>e.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${r}`):new URL(r));return n.value.search="",i=>`${n.value.href}/${i}`}function cr(){const{i18n:{t:e}}=Oe();return{getMessageFromError:o=>{var r,n,i,l;if(!o)return e("errors.unexpected");if(((r=o==null?void 0:o.response)==null?void 0:r.status)===401)return console.warn("getMessageFromError: User auth token is expired or missing, returning empty message."),"";if((n=o==null?void 0:o.response)!=null&&n.data){if(o.response.data.detail)return o.response.data.detail;if((i=o.response.data.details)!=null&&i.length)return o.response.data.details.map(a=>{let d=e("errors.unexpected");return a.messages&&typeof a.messages=="object"&&a.messages.length&&(d=a.messages.join(", ")),a.field?`${a.field} - ${d}`:d}).join("; ");if(o.response.data.message){const{message:a}=o.response.data;return Array.isArray(a)?(l=a[0])!=null&&l.constraints?Object.values(a[0].constraints)[0]:a[0]:a}if(typeof o.response.data=="string")return o.response.data;if(typeof o.response.data=="object")return Object.keys(o.response.data).map(a=>`${a} ${o.response.data[a]}`).join(", ")}return o.message||e("errors.unexpected")}}}function dr(e){const o=window.location.origin,r=o.endsWith("/")?o:`${o}/`;try{const n=e.join("/"),i=`${r}${n}`,l=e.some(a=>a.trim()==="");if(/^(https:\/\/(www\.)?([a-zA-Z0-9-]+\.){1,}[a-zA-Z]{2,}(:[0-9]+)?(\/[^\/]+)*)$|^(https|http):\/\/localhost(:[0-9]+)?(\/[^\/]+)*$/.test(i)&&!l&&new URL(i))return`${r}${n}`;throw new Error("Invalid url")}catch(n){return console.warn("Failed to build valid URL:",n),""}}function gt(e,o){const r=t.ref(t.unref(e)),n=t.ref(t.unref(o)),i=t.computed(()=>!!(r.value.app==="konnect"||r.value.isExactMatch)),l=t.computed(()=>n.value.startsWith("/")?new URL(`${window.location.origin}${n.value}`):new URL(n.value));return a=>{const{page:d,pageSize:s,offset:p,sortColumnKey:g,sortColumnOrder:f,query:w}=a;try{let h=new URL(l.value.href);return i.value&&w?(h.search="",h=r.value.isExactMatch?new URL(`${h.href}/${w}/`):new URL(`${h.href}?filter[name][contains]=${w}`)):(i.value||new URLSearchParams(w).forEach((S,V)=>{h.searchParams.append(V,S)}),g&&h.searchParams.append("sort_by",g),f==="desc"&&h.searchParams.append("sort_desc","1"),h.searchParams.append("size",String(s))),p&&d!==1&&h.searchParams.append("offset",String(p)),h.href}catch(h){return console.error("RouteList(fetcher)",h),n.value}}}function pr(e,o,r="data"){const n=t.unref(o),{axiosInstance:i}=We(e.axiosRequestConfig),l=gt(e,n),a=t.ref({status:de.Idle});return{fetcher:async d=>{var s;try{a.value={status:de.Loading};let p=l(d);p.includes("filter[name]")&&(p=`${p}&page[size]=${d.pageSize}&page[number]=${d.page}`);const g=await i.get(p);if(g.status>=400)throw g;const f=g.data,w=r&&r.replace(/[^\w-_]/gi,"");let h;f[w]&&Array.isArray(f[w])?h=f[w]:Array.isArray(f)?h=f:h=Object.keys(f).length?[f]:[];const S={data:h,total:h.length,...f.offset?{pagination:{offset:f.offset}}:null};return a.value={status:de.Idle,response:S},S}catch(p){const g={data:[],total:0};return d.query&&(((s=p.response)==null?void 0:s.status)===404||p.status===404)?(a.value={status:de.NoResults,response:g,error:p.response?p:{response:p}},g):(a.value={status:de.Error,response:g,error:p.response?p:{response:p}},g)}},fetcherState:a}}function ur(){const e=(r,n="_")=>r?r.split(n).map(i=>i.toLowerCase()==="id"?i.toUpperCase():i.charAt(0).toUpperCase()+i.substring(1)).join(" "):"",o=/(?:^|[\s-:'"])\w/g;return{capitalize:r=>r?r.replace(o,n=>n.toUpperCase()):"",convertKeyToTitle:e}}const yt=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,ht=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const o=e.match(yt);if(!o)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return o.shift(),o},bt=e=>e==="*"||e==="x"||e==="X",wt=e=>{const o=parseInt(e,10);return isNaN(o)?e:o},fr=(e,o)=>typeof e!=typeof o?[String(e),String(o)]:[e,o],mr=(e,o)=>{if(bt(e)||bt(o))return 0;const[r,n]=fr(wt(e),wt(o));return r>n?1:r<n?-1:0},kt=(e,o)=>{for(let r=0;r<Math.max(e.length,o.length);r++){const n=mr(e[r]||"0",o[r]||"0");if(n!==0)return n}return 0},gr=(e,o)=>{const r=ht(e),n=ht(o),i=r.pop(),l=n.pop(),a=kt(r,n);return a!==0?a:i&&l?kt(i.split("."),l.split(".")):i||l?i?-1:1:0},Ct=(e,o,r)=>{yr(r);const n=gr(e,o);return _t[r].includes(n)},_t={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},St=Object.keys(_t),yr=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("|")}`)},hr=e=>typeof e=="string"&&/^[v\d]/.test(e)&&yt.test(e);function br(e){const{gatewayInfo:o,supportedRange:r}=e;if(!o)return!0;const{edition:n,version:i}=o;if(!hr(i))return console.error("Invalid version"),!1;const l=r[n];if(!l)return!1;const[a,d]=l;return!(a&&Ct(i,a,"<")||d&&Ct(i,d,">"))}function wr(e){const o=t.ref(0),r=t.ref(0),n=t.ref(!1);return t.watch(e,i=>{i&&!n.value&&(o.value=i.offsetWidth,r.value=i.scrollWidth,n.value=!0)}),{isTruncated:t.computed(()=>o.value<r.value)}}function kr(){const{i18n:{t:e}}=Oe();return{utf8Name:o=>/^[\p{N}\p{L}.\-_~]*$/u.test(o)?"":e("validationErrors.utf8Name")}}const P={useAxios:We,useDebouncedFilter:lr,useDeleteUrlBuilder:sr,useErrors:cr,useExternalLinkCreator:dr,useFetcher:pr,useFetchUrlBuilder:gt,useHelpers:mt,useStringHelpers:ur,useI18n:Oe,useGatewayFeatureSupported:br,useTruncationDetector:wr,useValidators:kr},Cr={key:0,class:"config-card-fieldset-title"},_r=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:r}}=P.useI18n(),{convertKeyToTitle:n}=P.useStringHelpers(),i=t.computed(()=>o.item.key??"json-array-item"),l=t.computed(()=>o.item.value??o.item),a=t.computed(()=>{const s=JSON.parse(JSON.stringify(l.value));return o.isArrayItem&&delete s.name,s}),d=t.computed(()=>{var s;return o.isArrayItem?(s=l.value)!=null&&s.name?n(l.value.name,"_"):r("baseConfigCard.general.entryTitle",{index:o.index}):""});return(s,p)=>(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",Cr,[t.createElementVNode("b",null,t.toDisplayString(d.value),1)])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(a.value),(g,f)=>(t.openBlock(),t.createBlock(Nt,{key:`${i.value}-property-${f}`,item:{key:g,label:t.unref(n)(g),value:a.value[g]}},null,8,["item"]))),128))]),_:1},8,["class"]))}}),re=(e,o)=>{const r=e.__vccOpts||e;for(const[n,i]of o)r[n]=i;return r},xt=re(_r,[["__scopeId","data-v-68ca83ec"]]),Sr=t.defineComponent({__name:"InternalLinkItem",props:{item:{type:Object,required:!0}},emits:["navigation-click"],setup(e){const{i18n:{t:o}}=P.useI18n();return(r,n)=>{const i=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(i,{appearance:"tertiary",class:"navigation-button",onClick:n[0]||(n[0]=l=>r.$emit("navigation-click",e.item))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.item.value||t.unref(o)("baseConfigCard.commonFields.link")),1)]),_:1})])}}}),xr=re(Sr,[["__scopeId","data-v-c96811e5"]]),Nr=t.defineComponent({__name:"StatusBadge",props:{status:{type:Boolean,default:!1}},setup(e){const{i18n:{t:o}}=P.useI18n();return(r,n)=>{const i=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(i,{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"])}}}),Vr="#0044f4",vr="#e0e4ea",Br="#afb7c5",Ir="1px",Ar="20px",Er={class:"config-card-details-row"},Tr=["data-testid"],$r=["data-testid"],jr=["data-testid"],Mr=["data-testid"],Fr={key:1},Or=["data-testid"],Dr=["data-testid"],qr=["data-testid"],Lr=["data-testid"],Ur={name:"ConfigCardItem",components:{JsonCardItem:xt,StatusBadge:Nr,InternalLinkItem:xr}},Kr=t.defineComponent({...Ur,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(S=>({dc1d91a8:g.value?"none":`solid ${t.unref(Ir)} ${t.unref(vr)}`,"59ccec5f":p.value&&d.value?"block":"flex","29318fbe":p.value&&d.value?"100%":r.slim?"50%":"25%","292d0408":p.value&&d.value?"100%":r.slim?"50%":"75%"}));const r=e,n=o,i=t.useSlots(),{i18n:{t:l,formatUnixTimeStamp:a}}=P.useI18n(),d=t.computed(()=>r.item.value!==void 0&&r.item.value!==null&&r.item.value!==""),s=t.computed(()=>!!(r.item.tooltip||i["label-tooltip"])),p=t.computed(()=>r.item.type===K.Json||r.item.type===K.JsonArray),g=t.computed(()=>r.item.type===K.JsonArray),f=t.computed(()=>{switch(r.item.type){case K.ID:return{tag:"KCopy",attrs:{"data-testid":`${r.item.key}-copy-uuid`,"copy-tooltip":l("baseConfigCard.copy.tooltip",{label:r.item.label}),text:r.item.value}};case K.IdArray:return{tag:"div",additionalComponent:"KCopy",childAttrs:{"copy-tooltip":l("baseConfigCard.copy.tooltip",{label:r.item.label})}};case K.Redacted:return{tag:"KCopy",attrs:{"data-testid":`${r.item.key}-copy-uuid-redacted`,format:"redacted","copy-tooltip":l("baseConfigCard.copy.tooltip",{label:r.item.label}),text:r.item.value}};case K.RedactedArray:return{tag:"div",additionalComponent:"KCopy",childAttrs:{format:"redacted","copy-tooltip":l("baseConfigCard.copy.tooltip",{label:r.item.label})}};case K.Date:return{tag:"div",attrs:{"data-testid":`${r.item.key}-date`},text:a(r.item.value)};case K.BadgeStatus:return{tag:"StatusBadge",attrs:{"data-testid":`${r.item.key}-badge-status`,status:r.item.value}};case K.BadgeTag:return{tag:"div",additionalComponent:"KBadge"};case K.BadgeMethod:return{tag:"div",additionalComponent:"KMethodBadge"};case K.LinkInternal:return{tag:"InternalLinkItem",attrs:{"data-testid":`${r.item.key}-internal-link`,item:r.item,onNavigationClick:S=>{n("navigation-click",S)}}};case K.LinkExternal:return{tag:"KExternalLink",attrs:{"data-testid":`${r.item.key}-external-link`,href:r.item.value},text:r.item.value};case K.Json:return{tag:"JsonCardItem",attrs:{"data-testid":`${r.item.key}-json-content`,item:r.item}};case K.JsonArray:return{tag:"div",additionalComponent:"JsonCardItem",attrs:{"data-testid":`${r.item.key}-json-array-content`,item:r.item}};default:return{tag:"div",attrs:{"data-testid":`${r.item.key}-plain-text`},text:r.item.value}}}),w=t.ref(),{isTruncated:h}=P.useTruncationDetector(w);return(S,V)=>{const k=t.resolveComponent("KLabel"),$=t.resolveComponent("KBadge"),x=t.resolveComponent("KCopy"),q=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",Er,[t.createElementVNode("div",{class:"config-card-details-label","data-testid":`${e.item.key}-label`},[t.renderSlot(S.$slots,"label",{item:e.item},()=>[t.createVNode(k,{"tooltip-attributes":{maxWidth:"500px"}},t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.item.label)+" ",1)]),_:2},[s.value?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{"data-testid":`${e.item.key}-label-tooltip`},[t.renderSlot(S.$slots,"label-tooltip",{},()=>[t.createTextVNode(t.toDisplayString(e.item.tooltip),1)],!0)],8,$r)]),key:"0"}:void 0]),1024)],!0)],8,Tr),t.createElementVNode("div",{class:"config-card-details-value","data-testid":`${e.item.key}-property-value`},[t.renderSlot(S.$slots,e.item.key,{rowValue:e.item.value},()=>[d.value?(t.openBlock(),t.createElementBlock("div",Fr,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(f.value.tag),t.normalizeProps(t.guardReactiveProps(f.value.attrs)),{default:t.withCtx(()=>[f.value.additionalComponent==="KBadge"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${e.item.key}-badge-tags`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(c,C)=>(t.openBlock(),t.createBlock($,{key:`${e.item.key}-badge-tag-${C}`,class:"config-badge","data-testid":`${e.item.key}-badge-tag-${C}`,tooltip:c,"truncation-tooltip":""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(c),1)]),_:2},1032,["data-testid","tooltip"]))),128))],8,Or)):t.createCommentVNode("",!0),f.value.additionalComponent==="KCopy"?(t.openBlock(),t.createElementBlock("div",{key:1,class:"copy-uuid-array","data-testid":`${e.item.key}-copy-uuid-array`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(c,C)=>(t.openBlock(),t.createBlock(x,t.mergeProps({ref_for:!0},f.value.childAttrs,{key:`${e.item.key}-copy-uuid-${C}`,"data-testid":`${e.item.key}-copy-uuid-${C}`,text:c}),null,16,["data-testid","text"]))),128))],8,Dr)):f.value.additionalComponent==="KMethodBadge"?(t.openBlock(),t.createElementBlock("div",{key:2,class:"method-badge-array","data-testid":`${e.item.key}-badge-methods`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(c,C)=>(t.openBlock(),t.createBlock($,{key:`${e.item.key}-badge-method-${C}`,appearance:Object.values(t.unref(Fo.BadgeMethodAppearances)).includes(c.toLowerCase())?c.toLowerCase():"custom",class:"config-badge","data-testid":`${e.item.key}-badge-method-${C}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(c),1)]),_:2},1032,["appearance","data-testid"]))),128))],8,qr)):t.createCommentVNode("",!0),f.value.additionalComponent==="JsonCardItem"?(t.openBlock(),t.createElementBlock("div",{key:3,"data-testid":`${r.item.key}-json-array-content`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(c,C)=>(t.openBlock(),t.createBlock(xt,{key:`json-array-item-${C}`,index:C,"is-array-item":"",item:c},null,8,["index","item"]))),128))],8,Lr)):(t.openBlock(),t.createBlock(q,{key:4,text:t.unref(h)?e.item.value:""},{default:t.withCtx(()=>[t.createElementVNode("span",{ref_key:"textContent",ref:w,class:t.normalizeClass(["attrs-data-text",{truncated:e.truncated}])},t.toDisplayString(f.value.text),3)]),_:1},8,["text"]))]),_:1},16))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${e.item.key}-no-value`}," – ",8,Mr))],!0)],8,jr)])}}}),Nt=re(Kr,[["__scopeId","data-v-d268261c"]]),Rr={class:"json-config"},Pr={key:0,class:"json-endpoint"},Vt=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(i=>({"4520e3ec":`${n.value}ch`}));const o=e,r=t.computed(()=>o.jsonRecord),n=t.computed(()=>{var i;if(!o.fetcherUrl)return 0;const l=(i=o.fetcherUrl)==null?void 0:i.split("/");return l.length<2?0:41+(o.requestMethod==="post"?l[l.length-1]:l[l.length-2]).length});return(i,l)=>{const a=t.resolveComponent("KBadge"),d=t.resolveComponent("KCodeBlock");return t.openBlock(),t.createElementBlock("div",Rr,[o.fetcherUrl?(t.openBlock(),t.createElementBlock("div",Pr,[t.createVNode(a,{appearance:o.requestMethod},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(o.requestMethod),1)]),_:1},8,["appearance"]),t.createVNode(d,{id:"json-endpoint-codeblock",code:o.fetcherUrl,language:"json","single-line":"",theme:"dark"},null,8,["code"])])):t.createCommentVNode("",!0),o.jsonRecord?(t.openBlock(),t.createBlock(d,{key:1,id:"json-codeblock",class:t.normalizeClass({"json-content":o.fetcherUrl}),code:JSON.stringify(r.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 vt(e){return typeof e>"u"||e===null}function zr(e){return typeof e=="object"&&e!==null}function Hr(e){return Array.isArray(e)?e:vt(e)?[]:[e]}function Gr(e,o){var r,n,i,l;if(o)for(l=Object.keys(o),r=0,n=l.length;r<n;r+=1)i=l[r],e[i]=o[i];return e}function Jr(e,o){var r="",n;for(n=0;n<o;n+=1)r+=e;return r}function Wr(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var Yr=vt,Zr=zr,Qr=Hr,Xr=Jr,ei=Wr,ti=Gr,z={isNothing:Yr,isObject:Zr,toArray:Qr,repeat:Xr,isNegativeZero:ei,extend:ti};function Bt(e,o){var r="",n=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(r+='in "'+e.mark.name+'" '),r+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!o&&e.mark.snippet&&(r+=`
|
|
1
|
+
(function(te,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):(te=typeof globalThis<"u"?globalThis:te||self,t(te["kong-ui-public-entities-gateway-services"]={},te.Vue,te.VueRouter,te["kong-ui-public-i18n"],te.axios,te.Kongponents))})(this,function(te,t,He,$e,pt,Fo){"use strict";const ut="24px",Oo=(e,o)=>{const r=e.__vccOpts||e;for(const[n,i]of o)r[n]=i;return r},Do=e=>(t.pushScopeId("data-v-761db460"),e=e(),t.popScopeId(),e),qo=["aria-hidden"],Lo={key:0,"data-testid":"kui-icon-svg-title"},Uo=Do(()=>t.createElementVNode("path",{d:"M11 19V13H5V11H11V5H13V11H19V13H13V19H11Z",fill:"currentColor"},null,-1)),Ko=Oo(t.defineComponent({__name:"AddIcon",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:ut,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const o=String(e).replace(/px/gi,""),r=Number(o);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const o=e,r=t.computed(()=>{if(typeof o.size=="number"&&o.size>0)return`${o.size}px`;if(typeof o.size=="string"){const i=String(o.size).replace(/px/gi,""),l=Number(i);if(l&&!isNaN(l)&&Number.isInteger(l)&&l>0)return`${l}px`}return ut}),n=t.computed(()=>({boxSizing:"border-box",color:o.color,display:o.display,height:r.value,lineHeight:"0",width:r.value}));return(i,l)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon add-icon","data-testid":"kui-icon-wrapper-add-icon",style:t.normalizeStyle(n.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-add-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",Lo,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Uo],8,qo))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-761db460"]]),Ro={actions:{create:"New Gateway Service",serverless_create:"Add a Service",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",clear:"Clear",view:"View Details",delete:{title:"Delete a Gateway Service",description:"Deleting this Gateway Service will also remove any associated routes and plugins. This action cannot be reversed.",menu_label:"Delete"}},search:{placeholder:{konnect:"Filter by name",kongManager:"Filter by exact name or ID"}},gateway_services:{title:"Gateway Services",list:{toolbar_actions:{new_gateway_service:"New Gateway Service"},table_headers:{name:"Name",control_plane:"Control Plane",protocol:"Protocol",host:"Host",port:"Port",path:"Path",enabled:"Enabled",tags:"Tags",id:"ID"},empty_state:{title:"Configure a New Gateway Service",description:"Gateway services are used to proxy traffic.",serverless_title:"Configure your first Gateway Service"}},form:{sections:{general:{title:"General Information",description:"General information will help identify and manage this Gateway Service."},keys:{title:"Service Endpoint",description:"Define the endpoint for this service by specifying the full URL or by its separate elements.",checkedGroupLabel:"Choose how and where to send traffic",urlLabel:"Full URL",checkedGroupAltLabel:"Protocol, Host, Port and Path",viewAdvancedFields:"View Advanced Fields"}},fields:{upstream_url:{label:"Upstream URL",placeholder:"Enter a URL",tooltip_for_konnect:"This is the URL of the API you will manage in Konnect.",tooltip_for_km:"This is the URL of the API you will manage in Kong Gateway."},name:{label:"Name",placeholder:"Enter a unique name",tooltip:"The Service name."},protocol:{label:"Protocol",tooltip:"The protocol used to communicate with the upstream.",options:{http:"http",https:"https",tcp:"tcp",tls:"tls",tls_passthrough:"tls_passthrough",grpc:"grpc",grpcs:"grpcs",ws:"ws",wss:"wss",udp:"udp"}},host:{label:"Host",placeholder:"Enter a host",tooltip:"The host of the upstream server. Note that the host value is case sensitive."},path:{label:"Path",placeholder:"Enter a path",tooltip:"The path to be used in request to the upstream server."},port:{label:"Port",tooltip:"The upstream server port."},retries:{label:"Retries",tooltip:"The number of retries to execute upon failure to proxy."},connect_timeout:{label:"Connection Timeout",tooltip:"The timeout in milliseconds for establishing a connection to the upstream server."},write_timeout:{label:"Write Timeout",tooltip:"The timeout in milliseconds between two successive write operations for transmitting a request to the upstream server."},read_timeout:{label:"Read Timeout",tooltip:"The timeout in milliseconds between two successive read operations for transmitting a request to the upstream server."},client_certificate:{label:"Client Certificate",placeholder:"Enter a Certificate ID",tooltip:"Certificate to be used as client certificate while TLS handshaking to the upstream server."},ca_certificates:{label:"CA Certificates",placeholder:"Enter a comma separated list of CA Certificate IDs",tooltip:"Array of {code1} object UUIDs that are used to build the trust store while verifying upstream server's TLS certificate. If set to {code2} when Nginx default is respected. If default CA list in Nginx are not specified and TLS verification is enabled, then handshake with upstream server will always fail (because no CA are trusted).",code1:"CA Certificate",code2:"null"},tls_verify_enabled:{label:"TLS Verify",help:"If unchecked, use default system setting",tooltip:"Whether to enable verification of upstream server TLS certificate. If set to {code1}, then the Nginx default is respected.",code1:"null"},tls_verify_option:{unset:{display:"Use default system setting"},true:{label:"True",display:"On"},false:{label:"False",display:"Off"}},tags:{label:"Tags",tooltip:"An optional set of strings associated with the Service for grouping and filtering.",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3"},enabled:{label:"Enabled",tooltip:"Whether the Service is active. If set to {false}, the proxy behavior will be as if any routes attached to it do not exist (404). Default: {true}.",false:"false",true:"true"}}}},errors:{general:"Gateway Services could not be retrieved",delete:"The gateway service could not be deleted at this time.",copy:"Failed to copy to clipboard",urlErrorMessage:"Error: invalid URL"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},glossary:{gateway_services:"gateway services"}};function Po(){const e=$e.createI18n("en-us",Ro);return{i18n:e,i18nT:$e.i18nTComponent(e)}}function zo(){return{getPortFromProtocol:(o,r)=>{const n=[80,443],i=Number(r);if((i||i===0)&&!n.includes(i))return i;switch(o){case"grpcs":case"tls":case"https":case"wss":return 443;case"grpc":case"tcp":case"http":case"ws":default:return 80}}}}const je={useI18n:Po,usePortFromProtocol:zo},Me="/v2/control-planes/{controlPlaneId}/core-entities",Fe="/{workspace}",_e={list:{konnect:{all:`${Me}/services`},kongManager:{all:`${Fe}/services`}},form:{konnect:{create:`${Me}/services`,validate:`${Me}/v1/schemas/json/service/validate`,edit:`${Me}/services/{id}`},kongManager:{create:`${Fe}/services`,validate:`${Fe}/schemas/services/validate`,edit:`${Fe}/services/{id}`}}};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||{}),Ge=(e=>(e.Edit="edit",e.Create="create",e))(Ge||{}),de=(e=>(e[e.Loading=0]="Loading",e[e.Idle=1]="Idle",e[e.NoResults=2]="NoResults",e[e.Error=3]="Error",e))(de||{}),K=(e=>(e.ID="id",e.IdArray="id-array",e.Text="plain-text",e.Date="date",e.Redacted="redacted",e.RedactedArray="redacted-array",e.Json="json",e.JsonArray="json-array",e.BadgeTag="badge-tag",e.BadgeStatus="badge-status",e.BadgeMethod="badge-method",e.LinkInternal="link-internal",e.LinkExternal="link-external",e))(K||{}),W=(e=>(e.Basic="basic",e.Advanced="advanced",e.Plugin="plugin",e))(W||{});function Ho(){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 Go(){return{debounce:(e,o)=>{let r;return(...n)=>{clearTimeout(r),r=window==null?void 0:window.setTimeout(()=>{e(...n)},o)}}}}const Je="khcp-user-table-preferences",Jo={pageSize:30,sortColumnKey:void 0,sortColumnOrder:void 0,columnWidths:{},columnVisibility:{}};function Wo(){const e=r=>{if(typeof r=="string")try{return JSON.parse(r)}catch(n){console.error("useTablePreferences(tryParseJson)",n);return}},o=()=>{const r=e(localStorage.getItem(Je));return!r||!Object.keys(r).length?new Map:new Map(Object.entries(r))};return{setTablePreferences:(r,n)=>{try{const i=o();i.set(r,n),localStorage.setItem(Je,JSON.stringify(Object.fromEntries(i.entries())))}catch(i){console.error("useTablePreferences(setTablePreferences)",i)}},getTablePreferences:r=>{const n=o();return(n==null?void 0:n.get(r))||void 0||Jo},deleteAllTablePreferences:()=>{localStorage.removeItem(Je)}}}function We(e={}){const{getAxiosInstance:o}=Ho();return{axiosInstance:o(e)}}const Yo={actions:{copyId:"Copy ID",copied_id:'Copied "{id}" to the clipboard',copyToClipboard:"Copied successfully!",copyToClipboardFailed:"Failed to copy to the clipboard"}},Zo={message:"Are you sure you want to delete this {entityType}?",messageWithName:"Are you sure you want to delete this {entityType} {entityName}?"},Qo={actions:{viewConfiguration:"View Configuration",save:"Save",cancel:"Cancel",back:"Back"},configuration:{title:"Configuration",message:"Export configurations for core Kong Gateway objects, like services, routes, and plugins, to either YAML or JSON. This allows for straightforward importing into APIOps tools like decK with YAML, or Insomnia and cURL with JSON.",yaml:"YAML",json:"JSON"},errors:{edit:"The entity could not be edited at this time."}},Xo={emptyState:{noSearchResultsTitle:"No results found",noSearchResultsMessage:"Please adjust the criteria and try again.",noSearchResultsCtaText:"Clear"}},er={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"}},tr={filterButtonText:"Filter",fieldLabel:"Filter by:",inputPlaceholder:"Enter a value",selectPlaceholder:"Select an item",applyButtonText:"Apply",clearButtonText:"Clear",clearAllButtonText:"Clear all filters"},or={errors:{fetch:"Could not fetch available items",invalid:"Please select a valid value"}},rr={unexpected:"An unexpected error has occurred",dataKeyUndefined:'The data key "{dataKey}" does not exist in the response.'},ir={utf8Name:"The name can be any string containing characters, letters, numbers, or the following characters: ., -, _, or ~. Do not use spaces."},nr={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"}},ar={global:Yo,deleteModal:Zo,baseForm:Qo,baseTable:Xo,baseConfigCard:er,filter:tr,debouncedFilter:or,errors:rr,validationErrors:ir,toggleModal:nr};function Oe(){const e=$e.createI18n("en-us",ar);return{i18n:e,i18nT:$e.i18nTComponent(e)}}function mt(){const e=(r,n)=>(n==null?void 0:n[r])??void 0,o=(r,n)=>{if(r.length!==n.length)return!1;const i=new Set([...r,...n]);for(const l of i){const a=r.filter(s=>s===l).length,d=n.filter(s=>s===l).length;if(a!==d)return!1}return!0};return{getPropValue:e,objectsAreEqual:(r,n,i)=>{if(i){if(Object.keys(r).length===Object.keys(n).length)for(const l in r)if(Array.isArray(r[l])&&Array.isArray(n[l])){if(o(r[l],n[l]))continue;return!1}else{if(r[l]===n[l])continue;return!1}else return!1;return!0}try{return JSON.stringify(r)===JSON.stringify(n)}catch{return!1}},sortAlpha:r=>(n,i)=>{let l=n[r]===void 0||n[r]===null?"":n[r],a=i[r]===void 0||i[r]===null?"":i[r];return Array.isArray(n[r])&&(l=n[r][0]),Array.isArray(i[r])&&(a=i[r][0]),l.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 lr(e,o,r,n={fetchedItemsKey:"data",searchKeys:["id"]}){r||(r="1000");const{axiosInstance:i}=We(e.axiosRequestConfig),{i18n:{t:l}}=Oe(),{debounce:a}=Go(),d=a(async c=>{await q(c)},200),s=t.ref(!1),p=t.ref(""),g=t.ref(""),f=t.ref([]),w=t.ref([]),h=t.ref(void 0),S=t.unref(o);let V=`${e.apiBaseUrl}${S}`;e.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,(e==null?void 0:e.controlPlaneId)||""):e.app==="kongManager"&&(V=V.replace(/\/{workspace}/gi,e!=null&&e.workspace?`/${e.workspace}`:""));const{isValidUuid:k}=mt(),$=async()=>{try{s.value=!0;const{data:c}=await i.get(`${V}?size=${r}`);c!=null&&c.next||(h.value=n.fetchedItemsKey in c?c[n.fetchedItemsKey]:[]),w.value=n.fetchedItemsKey in c?c[n.fetchedItemsKey]:[],f.value=w.value}catch{f.value=[],p.value=l("debouncedFilter.errors.fetch")}finally{s.value=!1}},x=t.ref(""),q=async c=>{var C,y,_;if(x.value!==c)if(x.value=c||"",h.value===void 0)try{if(s.value=!0,p.value="",g.value="",e.app==="konnect"){let A=V+"";c&&(A+=`/${c}`);const{data:N}=await i.get(`${A}?size=${r}`);n.fetchedItemsKey in N?f.value=N[n.fetchedItemsKey]:N!=null&&N.id?f.value=[N]:f.value=[]}else if(c){const A=[];k(c)&&n.searchKeys.includes("id")?A.push((async()=>{const{data:E}=await i.get(`${V}/${c}`);return[E[n.fetchedItemsKey]??E]})()):A.push(...n.searchKeys.filter(E=>E!=="id").map(async E=>{const{data:I}=await i.get(`${V}?${E}=${c}`);return I[n.fetchedItemsKey]}));const N=await Promise.all(A),M=new Set;f.value=[],(C=N==null?void 0:N.forEach)==null||C.call(N,E=>{var I;(I=E==null?void 0:E.forEach)==null||I.call(E,O=>{M.has(O.id)||(M.add(O.id),f.value.push(O))})})}else f.value=w.value}catch(A){((y=A==null?void 0:A.response)==null?void 0:y.status)===404?g.value=l("debouncedFilter.errors.invalid"):(f.value=[],p.value=l("debouncedFilter.errors.fetch"))}finally{s.value=!1}else s.value=!0,g.value="",c?(f.value=(_=h.value)==null?void 0:_.filter(A=>{var N;let M=!1;for(const E of n.searchKeys){const I=typeof A[E]=="string"?(N=A[E])==null?void 0:N.toLowerCase():A[E];I!=null&&I.includes(c.toLowerCase())&&(M=!0)}return M}),(!f.value||!f.value.length)&&(g.value=l("debouncedFilter.errors.invalid"))):f.value=h.value,s.value=!1};return{loading:s,error:p,validationError:g,results:f,allRecords:h,loadItems:$,debouncedQueryChange:d}}function sr(e,o){const r=t.unref(o),n=t.computed(()=>e.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${r}`):new URL(r));return n.value.search="",i=>`${n.value.href}/${i}`}function cr(){const{i18n:{t:e}}=Oe();return{getMessageFromError:o=>{var r,n,i,l;if(!o)return e("errors.unexpected");if(((r=o==null?void 0:o.response)==null?void 0:r.status)===401)return console.warn("getMessageFromError: User auth token is expired or missing, returning empty message."),"";if((n=o==null?void 0:o.response)!=null&&n.data){if(o.response.data.detail)return o.response.data.detail;if((i=o.response.data.details)!=null&&i.length)return o.response.data.details.map(a=>{let d=e("errors.unexpected");return a.messages&&typeof a.messages=="object"&&a.messages.length&&(d=a.messages.join(", ")),a.field?`${a.field} - ${d}`:d}).join("; ");if(o.response.data.message){const{message:a}=o.response.data;return Array.isArray(a)?(l=a[0])!=null&&l.constraints?Object.values(a[0].constraints)[0]:a[0]:a}if(typeof o.response.data=="string")return o.response.data;if(typeof o.response.data=="object")return Object.keys(o.response.data).map(a=>`${a} ${o.response.data[a]}`).join(", ")}return o.message||e("errors.unexpected")}}}function dr(e){const o=window.location.origin,r=o.endsWith("/")?o:`${o}/`;try{const n=e.join("/"),i=`${r}${n}`,l=e.some(a=>a.trim()==="");if(/^(https:\/\/(www\.)?([a-zA-Z0-9-]+\.){1,}[a-zA-Z]{2,}(:[0-9]+)?(\/[^\/]+)*)$|^(https|http):\/\/localhost(:[0-9]+)?(\/[^\/]+)*$/.test(i)&&!l&&new URL(i))return`${r}${n}`;throw new Error("Invalid url")}catch(n){return console.warn("Failed to build valid URL:",n),""}}function gt(e,o){const r=t.ref(t.unref(e)),n=t.ref(t.unref(o)),i=t.computed(()=>!!(r.value.app==="konnect"||r.value.isExactMatch)),l=t.computed(()=>n.value.startsWith("/")?new URL(`${window.location.origin}${n.value}`):new URL(n.value));return a=>{const{page:d,pageSize:s,offset:p,sortColumnKey:g,sortColumnOrder:f,query:w}=a;try{let h=new URL(l.value.href);return i.value&&w?(h.search="",h=r.value.isExactMatch?new URL(`${h.href}/${w}/`):new URL(`${h.href}?filter[name][contains]=${w}`)):(i.value||new URLSearchParams(w).forEach((S,V)=>{h.searchParams.append(V,S)}),g&&h.searchParams.append("sort_by",g),f==="desc"&&h.searchParams.append("sort_desc","1"),h.searchParams.append("size",String(s))),p&&d!==1&&h.searchParams.append("offset",String(p)),h.href}catch(h){return console.error("RouteList(fetcher)",h),n.value}}}function pr(e,o,r="data"){const n=t.unref(o),{axiosInstance:i}=We(e.axiosRequestConfig),l=gt(e,n),a=t.ref({status:de.Idle});return{fetcher:async d=>{var s;try{a.value={status:de.Loading};let p=l(d);p.includes("filter[name]")&&(p=`${p}&page[size]=${d.pageSize}&page[number]=${d.page}`);const g=await i.get(p);if(g.status>=400)throw g;const f=g.data,w=r&&r.replace(/[^\w-_]/gi,"");let h;f[w]&&Array.isArray(f[w])?h=f[w]:Array.isArray(f)?h=f:h=Object.keys(f).length?[f]:[];const S={data:h,total:h.length,...f.offset?{pagination:{offset:f.offset}}:null};return a.value={status:de.Idle,response:S},S}catch(p){const g={data:[],total:0};return d.query&&(((s=p.response)==null?void 0:s.status)===404||p.status===404)?(a.value={status:de.NoResults,response:g,error:p.response?p:{response:p}},g):(a.value={status:de.Error,response:g,error:p.response?p:{response:p}},g)}},fetcherState:a}}function ur(){const e=(r,n="_")=>r?r.split(n).map(i=>i.toLowerCase()==="id"?i.toUpperCase():i.charAt(0).toUpperCase()+i.substring(1)).join(" "):"",o=/(?:^|[\s-:'"])\w/g;return{capitalize:r=>r?r.replace(o,n=>n.toUpperCase()):"",convertKeyToTitle:e}}const yt=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,ht=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const o=e.match(yt);if(!o)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return o.shift(),o},bt=e=>e==="*"||e==="x"||e==="X",wt=e=>{const o=parseInt(e,10);return isNaN(o)?e:o},fr=(e,o)=>typeof e!=typeof o?[String(e),String(o)]:[e,o],mr=(e,o)=>{if(bt(e)||bt(o))return 0;const[r,n]=fr(wt(e),wt(o));return r>n?1:r<n?-1:0},kt=(e,o)=>{for(let r=0;r<Math.max(e.length,o.length);r++){const n=mr(e[r]||"0",o[r]||"0");if(n!==0)return n}return 0},gr=(e,o)=>{const r=ht(e),n=ht(o),i=r.pop(),l=n.pop(),a=kt(r,n);return a!==0?a:i&&l?kt(i.split("."),l.split(".")):i||l?i?-1:1:0},Ct=(e,o,r)=>{yr(r);const n=gr(e,o);return _t[r].includes(n)},_t={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},St=Object.keys(_t),yr=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("|")}`)},hr=e=>typeof e=="string"&&/^[v\d]/.test(e)&&yt.test(e);function br(e){const{gatewayInfo:o,supportedRange:r}=e;if(!o)return!0;const{edition:n,version:i}=o;if(!hr(i))return console.error("Invalid version"),!1;const l=r[n];if(!l)return!1;const[a,d]=l;return!(a&&Ct(i,a,"<")||d&&Ct(i,d,">"))}function wr(e){const o=t.ref(0),r=t.ref(0),n=t.ref(!1);return t.watch(e,i=>{i&&!n.value&&(o.value=i.offsetWidth,r.value=i.scrollWidth,n.value=!0)}),{isTruncated:t.computed(()=>o.value<r.value)}}function kr(){const{i18n:{t:e}}=Oe();return{utf8Name:o=>/^[\p{N}\p{L}.\-_~]*$/u.test(o)?"":e("validationErrors.utf8Name")}}const P={useAxios:We,useDebouncedFilter:lr,useDeleteUrlBuilder:sr,useErrors:cr,useExternalLinkCreator:dr,useFetcher:pr,useFetchUrlBuilder:gt,useHelpers:mt,useStringHelpers:ur,useI18n:Oe,useGatewayFeatureSupported:br,useTruncationDetector:wr,useValidators:kr},Cr={key:0,class:"config-card-fieldset-title"},_r=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:r}}=P.useI18n(),{convertKeyToTitle:n}=P.useStringHelpers(),i=t.computed(()=>o.item.key??"json-array-item"),l=t.computed(()=>o.item.value??o.item),a=t.computed(()=>{const s=JSON.parse(JSON.stringify(l.value));return o.isArrayItem&&delete s.name,s}),d=t.computed(()=>{var s;return o.isArrayItem?(s=l.value)!=null&&s.name?n(l.value.name,"_"):r("baseConfigCard.general.entryTitle",{index:o.index}):""});return(s,p)=>(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",Cr,[t.createElementVNode("b",null,t.toDisplayString(d.value),1)])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(a.value),(g,f)=>(t.openBlock(),t.createBlock(Nt,{key:`${i.value}-property-${f}`,item:{key:g,label:t.unref(n)(g),value:a.value[g]}},null,8,["item"]))),128))]),_:1},8,["class"]))}}),re=(e,o)=>{const r=e.__vccOpts||e;for(const[n,i]of o)r[n]=i;return r},xt=re(_r,[["__scopeId","data-v-68ca83ec"]]),Sr=t.defineComponent({__name:"InternalLinkItem",props:{item:{type:Object,required:!0}},emits:["navigation-click"],setup(e){const{i18n:{t:o}}=P.useI18n();return(r,n)=>{const i=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(i,{appearance:"tertiary",class:"navigation-button",onClick:n[0]||(n[0]=l=>r.$emit("navigation-click",e.item))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.item.value||t.unref(o)("baseConfigCard.commonFields.link")),1)]),_:1})])}}}),xr=re(Sr,[["__scopeId","data-v-c96811e5"]]),Nr=t.defineComponent({__name:"StatusBadge",props:{status:{type:Boolean,default:!1}},setup(e){const{i18n:{t:o}}=P.useI18n();return(r,n)=>{const i=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(i,{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"])}}}),Vr="#0044f4",vr="#e0e4ea",Br="#afb7c5",Ir="1px",Ar="20px",Er={class:"config-card-details-row"},Tr=["data-testid"],$r=["data-testid"],jr=["data-testid"],Mr=["data-testid"],Fr={key:1},Or=["data-testid"],Dr=["data-testid"],qr=["data-testid"],Lr=["data-testid"],Ur={name:"ConfigCardItem",components:{JsonCardItem:xt,StatusBadge:Nr,InternalLinkItem:xr}},Kr=t.defineComponent({...Ur,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(S=>({dc1d91a8:g.value?"none":`solid ${t.unref(Ir)} ${t.unref(vr)}`,"59ccec5f":p.value&&d.value?"block":"flex","29318fbe":p.value&&d.value?"100%":r.slim?"50%":"25%","292d0408":p.value&&d.value?"100%":r.slim?"50%":"75%"}));const r=e,n=o,i=t.useSlots(),{i18n:{t:l,formatUnixTimeStamp:a}}=P.useI18n(),d=t.computed(()=>r.item.value!==void 0&&r.item.value!==null&&r.item.value!==""),s=t.computed(()=>!!(r.item.tooltip||i["label-tooltip"])),p=t.computed(()=>r.item.type===K.Json||r.item.type===K.JsonArray),g=t.computed(()=>r.item.type===K.JsonArray),f=t.computed(()=>{switch(r.item.type){case K.ID:return{tag:"KCopy",attrs:{"data-testid":`${r.item.key}-copy-uuid`,"copy-tooltip":l("baseConfigCard.copy.tooltip",{label:r.item.label}),text:r.item.value}};case K.IdArray:return{tag:"div",additionalComponent:"KCopy",childAttrs:{"copy-tooltip":l("baseConfigCard.copy.tooltip",{label:r.item.label})}};case K.Redacted:return{tag:"KCopy",attrs:{"data-testid":`${r.item.key}-copy-uuid-redacted`,format:"redacted","copy-tooltip":l("baseConfigCard.copy.tooltip",{label:r.item.label}),text:r.item.value}};case K.RedactedArray:return{tag:"div",additionalComponent:"KCopy",childAttrs:{format:"redacted","copy-tooltip":l("baseConfigCard.copy.tooltip",{label:r.item.label})}};case K.Date:return{tag:"div",attrs:{"data-testid":`${r.item.key}-date`},text:a(r.item.value)};case K.BadgeStatus:return{tag:"StatusBadge",attrs:{"data-testid":`${r.item.key}-badge-status`,status:r.item.value}};case K.BadgeTag:return{tag:"div",additionalComponent:"KBadge"};case K.BadgeMethod:return{tag:"div",additionalComponent:"KMethodBadge"};case K.LinkInternal:return{tag:"InternalLinkItem",attrs:{"data-testid":`${r.item.key}-internal-link`,item:r.item,onNavigationClick:S=>{n("navigation-click",S)}}};case K.LinkExternal:return{tag:"KExternalLink",attrs:{"data-testid":`${r.item.key}-external-link`,href:r.item.value},text:r.item.value};case K.Json:return{tag:"JsonCardItem",attrs:{"data-testid":`${r.item.key}-json-content`,item:r.item}};case K.JsonArray:return{tag:"div",additionalComponent:"JsonCardItem",attrs:{"data-testid":`${r.item.key}-json-array-content`,item:r.item}};default:return{tag:"div",attrs:{"data-testid":`${r.item.key}-plain-text`},text:r.item.value}}}),w=t.ref(),{isTruncated:h}=P.useTruncationDetector(w);return(S,V)=>{const k=t.resolveComponent("KLabel"),$=t.resolveComponent("KBadge"),x=t.resolveComponent("KCopy"),q=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",Er,[t.createElementVNode("div",{class:"config-card-details-label","data-testid":`${e.item.key}-label`},[t.renderSlot(S.$slots,"label",{item:e.item},()=>[t.createVNode(k,{"tooltip-attributes":{maxWidth:"500px"}},t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.item.label)+" ",1)]),_:2},[s.value?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{"data-testid":`${e.item.key}-label-tooltip`},[t.renderSlot(S.$slots,"label-tooltip",{},()=>[t.createTextVNode(t.toDisplayString(e.item.tooltip),1)],!0)],8,$r)]),key:"0"}:void 0]),1024)],!0)],8,Tr),t.createElementVNode("div",{class:"config-card-details-value","data-testid":`${e.item.key}-property-value`},[t.renderSlot(S.$slots,e.item.key,{rowValue:e.item.value},()=>[d.value?(t.openBlock(),t.createElementBlock("div",Fr,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(f.value.tag),t.normalizeProps(t.guardReactiveProps(f.value.attrs)),{default:t.withCtx(()=>[f.value.additionalComponent==="KBadge"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${e.item.key}-badge-tags`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(c,C)=>(t.openBlock(),t.createBlock($,{key:`${e.item.key}-badge-tag-${C}`,class:"config-badge","data-testid":`${e.item.key}-badge-tag-${C}`,tooltip:c,"truncation-tooltip":""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(c),1)]),_:2},1032,["data-testid","tooltip"]))),128))],8,Or)):t.createCommentVNode("",!0),f.value.additionalComponent==="KCopy"?(t.openBlock(),t.createElementBlock("div",{key:1,class:"copy-uuid-array","data-testid":`${e.item.key}-copy-uuid-array`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(c,C)=>(t.openBlock(),t.createBlock(x,t.mergeProps({ref_for:!0},f.value.childAttrs,{key:`${e.item.key}-copy-uuid-${C}`,"data-testid":`${e.item.key}-copy-uuid-${C}`,text:c}),null,16,["data-testid","text"]))),128))],8,Dr)):f.value.additionalComponent==="KMethodBadge"?(t.openBlock(),t.createElementBlock("div",{key:2,class:"method-badge-array","data-testid":`${e.item.key}-badge-methods`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(c,C)=>(t.openBlock(),t.createBlock($,{key:`${e.item.key}-badge-method-${C}`,appearance:Object.values(t.unref(Fo.BadgeMethodAppearances)).includes(c.toLowerCase())?c.toLowerCase():"custom",class:"config-badge","data-testid":`${e.item.key}-badge-method-${C}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(c),1)]),_:2},1032,["appearance","data-testid"]))),128))],8,qr)):t.createCommentVNode("",!0),f.value.additionalComponent==="JsonCardItem"?(t.openBlock(),t.createElementBlock("div",{key:3,"data-testid":`${r.item.key}-json-array-content`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.value,(c,C)=>(t.openBlock(),t.createBlock(xt,{key:`json-array-item-${C}`,index:C,"is-array-item":"",item:c},null,8,["index","item"]))),128))],8,Lr)):(t.openBlock(),t.createBlock(q,{key:4,text:t.unref(h)?e.item.value:""},{default:t.withCtx(()=>[t.createElementVNode("span",{ref_key:"textContent",ref:w,class:t.normalizeClass(["attrs-data-text",{truncated:e.truncated}])},t.toDisplayString(f.value.text),3)]),_:1},8,["text"]))]),_:1},16))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${e.item.key}-no-value`}," – ",8,Mr))],!0)],8,jr)])}}}),Nt=re(Kr,[["__scopeId","data-v-d268261c"]]),Rr={class:"json-config"},Pr={key:0,class:"json-endpoint"},Vt=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(i=>({"090794fe":`${n.value}ch`}));const o=e,r=t.computed(()=>o.jsonRecord),n=t.computed(()=>{var i;if(!o.fetcherUrl)return 0;const l=(i=o.fetcherUrl)==null?void 0:i.split("/");return l.length<2?0:41+(o.requestMethod==="post"?l[l.length-1]:l[l.length-2]).length});return(i,l)=>{const a=t.resolveComponent("KBadge"),d=t.resolveComponent("KCodeBlock");return t.openBlock(),t.createElementBlock("div",Rr,[o.fetcherUrl?(t.openBlock(),t.createElementBlock("div",Pr,[t.createVNode(a,{appearance:o.requestMethod},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(o.requestMethod),1)]),_:1},8,["appearance"]),t.createVNode(d,{id:"json-endpoint-codeblock",code:o.fetcherUrl,language:"json","single-line":"",theme:"dark"},null,8,["code"])])):t.createCommentVNode("",!0),o.jsonRecord?(t.openBlock(),t.createBlock(d,{key:1,id:"json-codeblock",class:t.normalizeClass({"json-content":o.fetcherUrl}),code:JSON.stringify(r.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 vt(e){return typeof e>"u"||e===null}function zr(e){return typeof e=="object"&&e!==null}function Hr(e){return Array.isArray(e)?e:vt(e)?[]:[e]}function Gr(e,o){var r,n,i,l;if(o)for(l=Object.keys(o),r=0,n=l.length;r<n;r+=1)i=l[r],e[i]=o[i];return e}function Jr(e,o){var r="",n;for(n=0;n<o;n+=1)r+=e;return r}function Wr(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var Yr=vt,Zr=zr,Qr=Hr,Xr=Jr,ei=Wr,ti=Gr,z={isNothing:Yr,isObject:Zr,toArray:Qr,repeat:Xr,isNegativeZero:ei,extend:ti};function Bt(e,o){var r="",n=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(r+='in "'+e.mark.name+'" '),r+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!o&&e.mark.snippet&&(r+=`
|
|
2
2
|
|
|
3
3
|
`+e.mark.snippet),n+" "+r):n}function Se(e,o){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=o,this.message=Bt(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Se.prototype=Object.create(Error.prototype),Se.prototype.constructor=Se,Se.prototype.toString=function(e){return this.name+": "+Bt(this,e)};var Z=Se;function Ye(e,o,r,n,i){var l="",a="",d=Math.floor(i/2)-1;return n-o>d&&(l=" ... ",o=n-d+l.length),r-n>d&&(a=" ...",r=n+d-a.length),{str:l+e.slice(o,r).replace(/\t/g,"→")+a,pos:n-o+l.length}}function Ze(e,o){return z.repeat(" ",o-e.length)+e}function oi(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 r=/\r?\n|\r|\0/g,n=[0],i=[],l,a=-1;l=r.exec(e.buffer);)i.push(l.index),n.push(l.index+l[0].length),e.position<=l.index&&a<0&&(a=n.length-2);a<0&&(a=n.length-1);var d="",s,p,g=Math.min(e.line+o.linesAfter,i.length).toString().length,f=o.maxLength-(o.indent+g+3);for(s=1;s<=o.linesBefore&&!(a-s<0);s++)p=Ye(e.buffer,n[a-s],i[a-s],e.position-(n[a]-n[a-s]),f),d=z.repeat(" ",o.indent)+Ze((e.line-s+1).toString(),g)+" | "+p.str+`
|
|
4
4
|
`+d;for(p=Ye(e.buffer,n[a],i[a],e.position,f),d+=z.repeat(" ",o.indent)+Ze((e.line+1).toString(),g)+" | "+p.str+`
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.config-card-fieldset[data-v-68ca83ec]{border:solid 1px #e0e4ea;border-radius:4px;margin-bottom:8px;margin-top:4px}.config-card-fieldset-title[data-v-68ca83ec]{font-size:14px;padding:0 8px;width:auto}fieldset.config-card-fieldset .config-card-details-row{width:unset}.config-card-json-item .config-card-details-row,fieldset.config-card-fieldset .config-card-details-row{margin:0 16px}.config-card-json-item .config-card-details-row:last-of-type,fieldset.config-card-fieldset .config-card-details-row:last-of-type{border-bottom:none}[data-v-c96811e5] .k-button.navigation-button{font-size:14px;font-weight:400}.config-card-details-row[data-v-d268261c]{align-items:center;border-bottom:var(--dc1d91a8);display:var(--59ccec5f);padding:16px 16px 16px 0;width:100%}.config-card-details-row .config-card-details-label[data-v-d268261c]{width:var(--29318fbe)}.config-card-details-row .config-card-details-label label[data-v-d268261c]{color:#3a3f51}.config-card-details-row .config-card-details-value[data-v-d268261c]{width:var(--292d0408)}.config-card-details-row .config-card-details-value .truncated[data-v-d268261c]{display:inline-block;line-height:initial;max-width:20ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-card-details-row .config-card-details-value span.attrs-data-text[data-v-d268261c]{overflow-wrap:anywhere}.config-card-details-row .config-card-details-value .copy-uuid-array[data-v-d268261c] .k-copy:not(:last-of-type){margin-bottom:8px}.config-card-details-row .config-card-details-value .method-badge-array[data-v-d268261c]{display:flex;flex-wrap:wrap;row-gap:10px}.config-card-details-row .config-badge[data-v-d268261c]{margin-right:4px}.config-card-details-row[data-v-d268261c] .k-label{margin-bottom:0}.config-card-details-row[data-v-d268261c] .k-label .kong-icon-infoFilled{display:flex}.config-card-details-row[data-v-d268261c] .config-card-details-row{width:auto}.json-content.k-code-block{border-top-left-radius:0;border-top-right-radius:0}.json-endpoint{align-items:baseline;background-color:#000933;border-bottom:1px solid rgba(255,255,255,.2);border-top-left-radius:8px;border-top-right-radius:8px;display:flex;padding:8px 0 6px 12px}.json-endpoint .k-badge{height:24px}.json-endpoint .k-code-block{flex:auto;z-index:2}.json-endpoint .k-code-block .code-block-content{padding-bottom:0}.json-endpoint code{direction:rtl;max-width:var(--4520e3ec);overflow:hidden!important;text-align:left;text-overflow:ellipsis;white-space:nowrap}.config-card-prop-section-title[data-v-2052238b]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card .config-card-actions[data-v-f40a683b]{align-items:center;display:flex}.kong-ui-entity-base-config-card .config-card-actions .config-format-select-label[data-v-f40a683b]{margin-bottom:0;margin-right:8px}.kong-ui-entity-base-config-card .config-card-prop-section-title[data-v-f40a683b]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card[data-v-f40a683b] .config-card-details-row:last-of-type{border-bottom:none}.kong-ui-entity-base-config-card .book-icon[data-v-f40a683b]{margin-left:8px;padding:0}.kong-ui-entity-base-form[data-v-fd05df8e]{box-sizing:border-box;max-width:1536px;width:100%}.kong-ui-entity-base-form .form-actions[data-v-fd05df8e]{align-items:center;display:flex;justify-content:flex-end;margin-top:24px}.kong-ui-entity-base-form .form-actions[data-v-fd05df8e] .k-button:last-of-type,.kong-ui-entity-base-form .form-actions[data-v-fd05df8e] .k-button:nth-last-of-type(2){margin-left:16px}.kong-ui-entity-base-form[data-v-fd05df8e] .k-slideout-title{color:#000933!important;font-size:24px!important;font-weight:700!important;line-height:32px!important;margin-bottom:16px!important}.kong-ui-entity-base-form[data-v-fd05df8e] .k-card.content-card{padding:0 16px!important}.kong-ui-entity-base-form[data-v-fd05df8e] .tab-item>div.tab-link.has-panels{color:#6c7489!important;font-size:14px!important;font-weight:700!important;line-height:24px!important}.kong-ui-entity-base-form[data-v-fd05df8e] .tab-item.active>div.tab-link.has-panels{color:#000933!important;font-weight:600!important}.content-wrapper[data-v-b252463e] .k-tooltip{word-break:break-all}.kong-ui-entity-base-table .toolbar-container[data-v-71b4425a]{align-items:center;display:flex;width:100%}.kong-ui-entity-base-table .toolbar-button-container[data-v-71b4425a]{margin-left:auto}.kong-ui-entity-base-table .actions-container[data-v-71b4425a]{float:right}.kong-ui-entity-base-table .actions-container[data-v-71b4425a] .k-dropdown-item-trigger{margin-bottom:0;margin-top:0}.kong-ui-entity-base-table :deep(.k-table){table-layout:fixed}.kong-ui-entity-delete-modal .message[data-v-4361d622],.kong-ui-entity-delete-modal .description[data-v-4361d622]{line-height:24px;margin:0}.kong-ui-entity-delete-modal .message strong[data-v-4361d622]{font-weight:600}.kong-ui-entity-delete-modal .description[data-v-4361d622]{margin-top:32px}.kong-ui-entity-delete-error[data-v-4361d622]{margin-bottom:16px}.kong-ui-entity-filter-input[data-v-94990087]{width:100%}.kong-ui-entity-filter-clear[data-v-94990087]{cursor:pointer}.kong-ui-entity-filter[data-v-94990087]{display:flex;position:relative}.kong-ui-entity-filter[data-v-94990087] .menu-content{flex-direction:column}.kong-ui-entity-filter[data-v-94990087] .k-menu-item-divider hr{margin:12px 0}.kong-ui-entity-filter-backdrop[data-v-94990087]{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1050}.kong-ui-entity-filter-menu[data-v-94990087]{background-color:#fff;border:1px solid #afb7c5;border-radius:4px;box-shadow:0 4px 20px #e0e4ea;left:0;margin-top:16px;padding:8px 0 12px;position:absolute;top:100%;width:300px;z-index:1060}.kong-ui-entity-filter-menu-item[data-v-94990087]{border-bottom:1px solid #e0e4ea;color:#6c7489;font-size:12px;font-weight:400;line-height:16px;list-style:none;margin:0 20px;padding:16px 0;position:relative;white-space:nowrap}.menu-item-title[data-v-94990087]{align-items:center;cursor:pointer;display:flex;line-height:24px}.menu-item-title.expanded[data-v-94990087]{color:#232633}.menu-item-expand-icon[data-v-94990087]{margin-left:auto}.menu-item-expand-icon.expanded[data-v-94990087]{transform:rotate(180deg)}.menu-item-indicator[data-v-94990087]{background-color:#0044f4;border-radius:50%;height:4px;margin-left:4px;width:4px}.menu-item-body[data-v-94990087]{align-items:center;display:flex;justify-content:space-between;margin-top:16px}.menu-item-body[data-v-94990087] .input{padding-bottom:4px!important;padding-top:4px!important}.menu-item-body[data-v-94990087] .k-input{width:100%}.menu-item-body[data-v-94990087] .k-select-input .input{font-size:12px}.menu-item-body[data-v-94990087] .k-select-input .input::placeholder{color:#00000073!important;font-size:12px}.menu-item-label[data-v-94990087]{margin-bottom:0;margin-right:12px}.menu-item-buttons[data-v-94990087]{display:flex;justify-content:space-between;margin:10px 0 6px}.filter-clear-button-container[data-v-94990087]{padding:12px 20px 0}fieldset[data-v-b1f74200]{margin:0;min-width:0;padding:0}.kong-ui-entity-form-section[data-v-b1f74200]{border:0}.kong-ui-entity-form-section .form-section-wrapper[data-v-b1f74200]{column-gap:16px;display:flex;flex-direction:column;padding-bottom:64px;row-gap:12px;width:100%}@media (min-width: 1024px){.kong-ui-entity-form-section .form-section-wrapper[data-v-b1f74200]{flex-direction:row}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-b1f74200]{flex:1}@media (min-width: 1024px){.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-b1f74200]{max-width:350px}.kong-ui-entity-form-section .form-section-wrapper .form-section-info.sticky[data-v-b1f74200]{height:fit-content;margin-bottom:16px;position:sticky;top:16px}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-title[data-v-b1f74200]{color:#000933;font-size:16px;font-weight:700;line-height:20px;margin-bottom:8px;margin-top:0}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-b1f74200],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description p[data-v-b1f74200],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-b1f74200] p{color:#000933;font-size:14px;font-weight:400;line-height:20px;margin:0}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-footer[data-v-b1f74200]{margin-top:32px}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-b1f74200]{flex:1}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-b1f74200]>*:not(:first-child){margin-top:24px}.kong-ui-entity-form-section.has-divider .form-section-wrapper[data-v-b1f74200]{border-bottom:1px solid #e0e4ea}.kong-ui-public-entity-link[data-v-60e3ef7c]{align-items:center;display:flex}.kong-ui-public-entity-link .deleted-entity[data-v-60e3ef7c]{font-style:italic}.kong-ui-public-entity-link .entity-link[data-v-60e3ef7c]{display:flex}.kong-ui-public-entity-link .entity-link[data-v-60e3ef7c] .external-link-icon{color:#0044f4;margin-left:4px;padding:2px}.kong-ui-public-entity-link .entity-link-label[data-v-60e3ef7c]{display:inline-block;font-weight:400;max-width:20ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kong-ui-public-entity-link .copy-uuid-tooltip[data-v-60e3ef7c]{align-items:center;cursor:pointer;display:flex}.kong-ui-public-entity-link .copy-uuid-tooltip .entity-link-copy-id[data-v-60e3ef7c]{margin-left:2px}.kong-ui-entities-gateway-services-list[data-v-8e2c0c8b]{width:100%}.kong-ui-entities-gateway-services-list .kong-ui-entity-filter-input[data-v-8e2c0c8b]{margin-right:12px}.kong-ui-entities-gateway-service-form[data-v-8d299d13]{width:100%}.kong-ui-entities-gateway-service-form[data-v-8d299d13] .k-tooltip{max-width:300px}.kong-ui-entities-gateway-service-form .gateway-service-form-margin-top[data-v-8d299d13]{margin-top:16px}.kong-ui-entities-gateway-service-form .gateway-service-form-traffic-label[data-v-8d299d13]{margin-bottom:16px}.kong-ui-entities-gateway-service-form .gateway-service-url-input[data-v-8d299d13],.kong-ui-entities-gateway-service-form .gateway-service-url-input[data-v-8d299d13] .input-element-wrapper{display:flex}.kong-ui-entities-gateway-service-form .gateway-service-form-group-fields[data-v-8d299d13]{margin-left:24px}.kong-ui-entities-gateway-service-form .gateway-service-form-margin-bottom[data-v-8d299d13]{margin-bottom:16px}.kong-ui-entities-gateway-service-form .checkbox-aligned-radio[data-v-8d299d13]{margin:4px;padding-left:24px}
|
|
1
|
+
.config-card-fieldset[data-v-68ca83ec]{border:solid 1px #e0e4ea;border-radius:4px;margin-bottom:8px;margin-top:4px}.config-card-fieldset-title[data-v-68ca83ec]{font-size:14px;padding:0 8px;width:auto}fieldset.config-card-fieldset .config-card-details-row{width:unset}.config-card-json-item .config-card-details-row,fieldset.config-card-fieldset .config-card-details-row{margin:0 16px}.config-card-json-item .config-card-details-row:last-of-type,fieldset.config-card-fieldset .config-card-details-row:last-of-type{border-bottom:none}[data-v-c96811e5] .k-button.navigation-button{font-size:14px;font-weight:400}.config-card-details-row[data-v-d268261c]{align-items:center;border-bottom:var(--dc1d91a8);display:var(--59ccec5f);padding:16px 16px 16px 0;width:100%}.config-card-details-row .config-card-details-label[data-v-d268261c]{width:var(--29318fbe)}.config-card-details-row .config-card-details-label label[data-v-d268261c]{color:#3a3f51}.config-card-details-row .config-card-details-value[data-v-d268261c]{width:var(--292d0408)}.config-card-details-row .config-card-details-value .truncated[data-v-d268261c]{display:inline-block;line-height:initial;max-width:20ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-card-details-row .config-card-details-value span.attrs-data-text[data-v-d268261c]{overflow-wrap:anywhere}.config-card-details-row .config-card-details-value .copy-uuid-array[data-v-d268261c] .k-copy:not(:last-of-type){margin-bottom:8px}.config-card-details-row .config-card-details-value .method-badge-array[data-v-d268261c]{display:flex;flex-wrap:wrap;row-gap:10px}.config-card-details-row .config-badge[data-v-d268261c]{margin-right:4px}.config-card-details-row[data-v-d268261c] .k-label{margin-bottom:0}.config-card-details-row[data-v-d268261c] .k-label .kong-icon-infoFilled{display:flex}.config-card-details-row[data-v-d268261c] .config-card-details-row{width:auto}.json-content.k-code-block{border-top-left-radius:0;border-top-right-radius:0}.json-endpoint{align-items:baseline;background-color:#000933;border-bottom:1px solid rgba(255,255,255,.2);border-top-left-radius:8px;border-top-right-radius:8px;display:flex;padding:8px 0 6px 12px}.json-endpoint .k-code-block{flex:auto;z-index:2}.json-endpoint .k-code-block .code-block-content{padding-bottom:0}.json-endpoint .k-code-block .code-block-secondary-actions{margin-top:0!important}.json-endpoint code{direction:rtl;max-width:var(--090794fe);overflow:hidden!important;text-align:left;text-overflow:ellipsis;white-space:nowrap}.config-card-prop-section-title[data-v-2052238b]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card .config-card-actions[data-v-f40a683b]{align-items:center;display:flex}.kong-ui-entity-base-config-card .config-card-actions .config-format-select-label[data-v-f40a683b]{margin-bottom:0;margin-right:8px}.kong-ui-entity-base-config-card .config-card-prop-section-title[data-v-f40a683b]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card[data-v-f40a683b] .config-card-details-row:last-of-type{border-bottom:none}.kong-ui-entity-base-config-card .book-icon[data-v-f40a683b]{margin-left:8px;padding:0}.kong-ui-entity-base-form[data-v-fd05df8e]{box-sizing:border-box;max-width:1536px;width:100%}.kong-ui-entity-base-form .form-actions[data-v-fd05df8e]{align-items:center;display:flex;justify-content:flex-end;margin-top:24px}.kong-ui-entity-base-form .form-actions[data-v-fd05df8e] .k-button:last-of-type,.kong-ui-entity-base-form .form-actions[data-v-fd05df8e] .k-button:nth-last-of-type(2){margin-left:16px}.kong-ui-entity-base-form[data-v-fd05df8e] .k-slideout-title{color:#000933!important;font-size:24px!important;font-weight:700!important;line-height:32px!important;margin-bottom:16px!important}.kong-ui-entity-base-form[data-v-fd05df8e] .k-card.content-card{padding:0 16px!important}.kong-ui-entity-base-form[data-v-fd05df8e] .tab-item>div.tab-link.has-panels{color:#6c7489!important;font-size:14px!important;font-weight:700!important;line-height:24px!important}.kong-ui-entity-base-form[data-v-fd05df8e] .tab-item.active>div.tab-link.has-panels{color:#000933!important;font-weight:600!important}.content-wrapper[data-v-b252463e] .k-tooltip{word-break:break-all}.kong-ui-entity-base-table .toolbar-container[data-v-71b4425a]{align-items:center;display:flex;width:100%}.kong-ui-entity-base-table .toolbar-button-container[data-v-71b4425a]{margin-left:auto}.kong-ui-entity-base-table .actions-container[data-v-71b4425a]{float:right}.kong-ui-entity-base-table .actions-container[data-v-71b4425a] .k-dropdown-item-trigger{margin-bottom:0;margin-top:0}.kong-ui-entity-base-table :deep(.k-table){table-layout:fixed}.kong-ui-entity-delete-modal .message[data-v-4361d622],.kong-ui-entity-delete-modal .description[data-v-4361d622]{line-height:24px;margin:0}.kong-ui-entity-delete-modal .message strong[data-v-4361d622]{font-weight:600}.kong-ui-entity-delete-modal .description[data-v-4361d622]{margin-top:32px}.kong-ui-entity-delete-error[data-v-4361d622]{margin-bottom:16px}.kong-ui-entity-filter-input[data-v-94990087]{width:100%}.kong-ui-entity-filter-clear[data-v-94990087]{cursor:pointer}.kong-ui-entity-filter[data-v-94990087]{display:flex;position:relative}.kong-ui-entity-filter[data-v-94990087] .menu-content{flex-direction:column}.kong-ui-entity-filter[data-v-94990087] .k-menu-item-divider hr{margin:12px 0}.kong-ui-entity-filter-backdrop[data-v-94990087]{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1050}.kong-ui-entity-filter-menu[data-v-94990087]{background-color:#fff;border:1px solid #afb7c5;border-radius:4px;box-shadow:0 4px 20px #e0e4ea;left:0;margin-top:16px;padding:8px 0 12px;position:absolute;top:100%;width:300px;z-index:1060}.kong-ui-entity-filter-menu-item[data-v-94990087]{border-bottom:1px solid #e0e4ea;color:#6c7489;font-size:12px;font-weight:400;line-height:16px;list-style:none;margin:0 20px;padding:16px 0;position:relative;white-space:nowrap}.menu-item-title[data-v-94990087]{align-items:center;cursor:pointer;display:flex;line-height:24px}.menu-item-title.expanded[data-v-94990087]{color:#232633}.menu-item-expand-icon[data-v-94990087]{margin-left:auto}.menu-item-expand-icon.expanded[data-v-94990087]{transform:rotate(180deg)}.menu-item-indicator[data-v-94990087]{background-color:#0044f4;border-radius:50%;height:4px;margin-left:4px;width:4px}.menu-item-body[data-v-94990087]{align-items:center;display:flex;justify-content:space-between;margin-top:16px}.menu-item-body[data-v-94990087] .input{padding-bottom:4px!important;padding-top:4px!important}.menu-item-body[data-v-94990087] .k-input{width:100%}.menu-item-body[data-v-94990087] .k-select-input .input{font-size:12px}.menu-item-body[data-v-94990087] .k-select-input .input::placeholder{color:#00000073!important;font-size:12px}.menu-item-label[data-v-94990087]{margin-bottom:0;margin-right:12px}.menu-item-buttons[data-v-94990087]{display:flex;justify-content:space-between;margin:10px 0 6px}.filter-clear-button-container[data-v-94990087]{padding:12px 20px 0}fieldset[data-v-b1f74200]{margin:0;min-width:0;padding:0}.kong-ui-entity-form-section[data-v-b1f74200]{border:0}.kong-ui-entity-form-section .form-section-wrapper[data-v-b1f74200]{column-gap:16px;display:flex;flex-direction:column;padding-bottom:64px;row-gap:12px;width:100%}@media (min-width: 1024px){.kong-ui-entity-form-section .form-section-wrapper[data-v-b1f74200]{flex-direction:row}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-b1f74200]{flex:1}@media (min-width: 1024px){.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-b1f74200]{max-width:350px}.kong-ui-entity-form-section .form-section-wrapper .form-section-info.sticky[data-v-b1f74200]{height:fit-content;margin-bottom:16px;position:sticky;top:16px}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-title[data-v-b1f74200]{color:#000933;font-size:16px;font-weight:700;line-height:20px;margin-bottom:8px;margin-top:0}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-b1f74200],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description p[data-v-b1f74200],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-b1f74200] p{color:#000933;font-size:14px;font-weight:400;line-height:20px;margin:0}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-footer[data-v-b1f74200]{margin-top:32px}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-b1f74200]{flex:1}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-b1f74200]>*:not(:first-child){margin-top:24px}.kong-ui-entity-form-section.has-divider .form-section-wrapper[data-v-b1f74200]{border-bottom:1px solid #e0e4ea}.kong-ui-public-entity-link[data-v-60e3ef7c]{align-items:center;display:flex}.kong-ui-public-entity-link .deleted-entity[data-v-60e3ef7c]{font-style:italic}.kong-ui-public-entity-link .entity-link[data-v-60e3ef7c]{display:flex}.kong-ui-public-entity-link .entity-link[data-v-60e3ef7c] .external-link-icon{color:#0044f4;margin-left:4px;padding:2px}.kong-ui-public-entity-link .entity-link-label[data-v-60e3ef7c]{display:inline-block;font-weight:400;max-width:20ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kong-ui-public-entity-link .copy-uuid-tooltip[data-v-60e3ef7c]{align-items:center;cursor:pointer;display:flex}.kong-ui-public-entity-link .copy-uuid-tooltip .entity-link-copy-id[data-v-60e3ef7c]{margin-left:2px}.kong-ui-entities-gateway-services-list[data-v-8e2c0c8b]{width:100%}.kong-ui-entities-gateway-services-list .kong-ui-entity-filter-input[data-v-8e2c0c8b]{margin-right:12px}.kong-ui-entities-gateway-service-form[data-v-8d299d13]{width:100%}.kong-ui-entities-gateway-service-form[data-v-8d299d13] .k-tooltip{max-width:300px}.kong-ui-entities-gateway-service-form .gateway-service-form-margin-top[data-v-8d299d13]{margin-top:16px}.kong-ui-entities-gateway-service-form .gateway-service-form-traffic-label[data-v-8d299d13]{margin-bottom:16px}.kong-ui-entities-gateway-service-form .gateway-service-url-input[data-v-8d299d13],.kong-ui-entities-gateway-service-form .gateway-service-url-input[data-v-8d299d13] .input-element-wrapper{display:flex}.kong-ui-entities-gateway-service-form .gateway-service-form-group-fields[data-v-8d299d13]{margin-left:24px}.kong-ui-entities-gateway-service-form .gateway-service-form-margin-bottom[data-v-8d299d13]{margin-bottom:16px}.kong-ui-entities-gateway-service-form .checkbox-aligned-radio[data-v-8d299d13]{margin:4px;padding-left:24px}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kong-ui-public/entities-gateway-services",
|
|
3
|
-
"version": "3.5.
|
|
3
|
+
"version": "3.5.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/entities-gateway-services.umd.js",
|
|
6
6
|
"module": "./dist/entities-gateway-services.es.js",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"@kong/icons": "^1.14.2",
|
|
54
|
-
"@kong-ui-public/entities-shared": "^3.4.
|
|
54
|
+
"@kong-ui-public/entities-shared": "^3.4.3"
|
|
55
55
|
},
|
|
56
56
|
"scripts": {
|
|
57
57
|
"dev": "cross-env USE_SANDBOX=true vite",
|