@kong-ui-public/entities-routes 3.17.14 → 3.17.15-pr.2790.95b70759b.0

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,6 +1,6 @@
1
1
  import { defineComponent as T, mergeModels as p, useModel as k, ref as P, computed as i, resolveComponent as b, createElementBlock as c, openBlock as r, Fragment as B, createBlock as f, createCommentVNode as u, createVNode as w, unref as v, withCtx as _, normalizeClass as N, renderSlot as R } from "vue";
2
2
  import { PROTOCOL_TO_SCHEMA as S, HTTP_BASED_PROTOCOLS as y, ExpressionsEditor as H, RouterPlaygroundModal as A } from "@kong-ui-public/expressions";
3
- import { c as F } from "./index-DKwH5iba.js";
3
+ import { c as F } from "./index-CfYLdXXX.js";
4
4
  const j = /* @__PURE__ */ T({
5
5
  __name: "RouteFormExpressionsEditor",
6
6
  props: /* @__PURE__ */ p({
@@ -1,4 +1,4 @@
1
- import { E as R, H as o, f as E, e as _, I as e, M as t, d as T, P as I, _ as i, g as L, R as S, a as r, b as O, h as A, j as U, i as u, s as D } from "./index-DKwH5iba.js";
1
+ import { E as R, H as o, f as E, e as _, I as e, M as t, d as T, P as I, _ as i, g as L, R as S, a as r, b as O, h as A, j as U, i as u, s as D } from "./index-CfYLdXXX.js";
2
2
  export {
3
3
  R as ExpressionsEditorState,
4
4
  o as HTTP_REDIRECT_STATUS_CODES,
@@ -1 +1 @@
1
- (function(x,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@kong-ui-public/entities-shared"),require("lodash.isequal"),require("vue-router"),require("@kong/icons"),require("@kong/kongponents"),require("@kong-ui-public/expressions"),require("@kong-ui-public/i18n")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/entities-shared","lodash.isequal","vue-router","@kong/icons","@kong/kongponents","@kong-ui-public/expressions","@kong-ui-public/i18n"],e):(x=typeof globalThis<"u"?globalThis:x||self,e(x["kong-ui-public-entities-routes"]={},x.Vue,x["kong-ui-public-entities-shared"],x.isEqual,x.VueRouter,x.KongIcons,x.Kongponents,x["kong-ui-public-expressions"],x["kong-ui-public-i18n"]))})(this,function(x,e,N,_e,Ee,j,Re,ie,Ce){"use strict";const F="/v2/control-planes/{controlPlaneId}/core-entities",L="/{workspace}",oe={list:{konnect:{all:`${F}/routes`,forGatewayService:`${F}/services/{serviceId}/routes`},kongManager:{all:`${L}/routes`,forGatewayService:`${L}/services/{serviceId}/routes`}},form:{konnect:{services:`${F}/services`,create:{all:`${F}/routes`,forGatewayService:`${F}/services/{serviceId}/routes`},fetch:{all:`${F}/routes/{id}`,forGatewayService:`${F}/services/{serviceId}/routes/{id}`},edit:{all:`${F}/routes/{id}`,forGatewayService:`${F}/services/{serviceId}/routes/{id}`}},kongManager:{services:`${L}/services`,create:{all:`${L}/routes`,forGatewayService:`${L}/services/{serviceId}/routes`},fetch:{all:`${L}/routes/{id}`,forGatewayService:`${L}/services/{serviceId}/routes/{id}`},edit:{all:`${L}/routes/{id}`,forGatewayService:`${L}/services/{serviceId}/routes/{id}`}}},item:{konnect:{getService:`${F}/services/{serviceId}`,all:`${F}/routes/{id}`,forGatewayService:`${F}/services/{serviceId}/routes/{id}`},kongManager:{getService:`${L}/services/{serviceId}`,all:`${L}/routes/{id}`,forGatewayService:`${L}/services/{serviceId}/routes/{id}`}}},we={actions:{create:"New route",debugger:"Start debugging",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",clear:"Clear",view:"View Details",loading:"Loading..."},search:{placeholder:{konnect:"Filter by name",exact:"Filter by exact name or ID",kongManager:"Filter by exact name or ID"},no_results:"No results found"},routes:{title:"Routes",list:{toolbar_actions:{new_route:"New route"},table_headers:{name:"Name",protocols:"Protocols",hosts:"Hosts",methods:"Methods",paths:"Paths",expression:"Expression",id:"ID",tags:"Tags",created_at:"Created At",updated_at:"Last Modified"},empty_state:{title:"Configure a New Route",description:"Routes proxy requests to an associated Service."},empty_state_v2:{title:"Configure your first route",group:"Routes created in gateways within this group will automatically appear here.",description:"Routes direct incoming API requests to the appropriate gateway service based on paths, methods, and headers, ensuring efficient traffic flow.",learn_more:"Learn more"}}},delete:{title:"Delete a Route",description:"Deleting this route will also remove any associated plugins. This action cannot be reversed."},errors:{general:"Routes could not be retrieved",delete:"The route could not be deleted at this time.",copy:"Failed to copy to clipboard",services:{fetch:"Could not fetch available services"}},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},form:{config_flavor:{label:"Define by"},config_types:{basic:{description:"Quickly set up a route with HTTP & HTTPS protocol with the essentials: path, method, and host.",label:"Basic"},advanced:{description:"Define complex route logic with other protocols or additional paths or attributes such as headers.",label:"Advanced"}},protocols:{grpc:"GRPC",grpcs:"GRPCS","grpc,grpcs":"GRPC, GRPCS",http:"HTTP",https:"HTTPS","http,https":"HTTP, HTTPS",tls:"TLS",tcp:"TCP",udp:"UDP","tls,udp":"TLS, UDP","tcp,udp":"TCP, UDP","tcp,tls":"TCP, TLS","tcp,tls,udp":"TCP, TLS, UDP",ws:"WS",wss:"WSS","ws,wss":"WS, WSS",tls_passthrough:"TLS_PASSTHROUGH"},sections:{general:{title:"General Information",description:"General information will help you identify and manage this route"},config:{title:"Route Configuration",description:"Route configuration determines how this route will handle incoming requests"},routingRules:{title:"Routing Rules"},routingExpression:{title:"Routing Expression"}},fields:{service_id:{label:"Service",placeholder:"Select a service"},name:{label:"Name",placeholder:"Enter a unique name",tooltip:"The name of the Route. Route names must be unique, and they are case sensitive. For example, there can be two different Routes named 'test' and 'Test'."},service:{label:"Gateway Service",tooltip:"The Service this Route is associated to. This is where the Route proxies traffic to."},tags:{label:"Tags",tooltip:"An optional set of strings associated with the Route for grouping and filtering.",placeholder:"Enter a list of tags separated by commas",help:"e.g. tag1, tag2, tag3"},protocols:{label:"Protocols",tooltip:"The protocols this route supports."},path_handling:{label:"Path Handling",tooltip:"Controls how Kong modifies the request path before proxying to the upstream service. Use v1 for standardized, predictable path behavior. Use v0 for legacy compatibility."},https_redirect_status_code:{label:"HTTPS Redirect Status Code",tooltip:"Specifies the HTTP status code for redirecting requests from HTTP to HTTPS. Use <code>301</code> or <code>308</code> for permanent redirects, <code>302</code> or <code>307</code> for temporary redirects."},regex_priority:{label:"Regex Priority",tooltip:"Regex priority is determined by length first (longer patterns win), and when lengths are the same, more specific regexes are preferred. When two routes match the path and have the same <code>regex_priority</code>, the older one (lowest <code>created_at</code>) is used."},strip_path:{label:"Strip Path",tooltip:"When enabled, Kong removes the portion of the request path that matches the route's path before forwarding the request to the upstream. If the request exactly matches the route, the result is <code>/</code>. Disable if that's not desired."},preserve_host:{label:"Preserve Host",tooltip:"Keeps the original <code>Host</code> header when proxying requests. Enable this if the upstream service requires the client's <code>Host</code> value. Disable if the service expects its own hostname."},paths:{add:"Add a path",label:"Paths",label_singular:"Path",placeholder:"e.g. /api/v1",singular:"path",tooltip:"Match specific URL paths, such as <code>/api/v1</code>. Prefix with <code>~</code> to enable regex-based matching."},snis:{add:"Add an SNI",label:"SNIs",placeholder:"e.g. api.example.com",singular:"SNI",tooltip:"SNIs (Server Name Indications) that match the route when using stream routing."},hosts:{add:"Add a host",label:"Hosts",label_singular:"Host",placeholder:"e.g. example.com",singular:"host",tooltip:"Match specific domain names, such as <code>api.example.com</code>."},methods:{label:"Methods",placeholder:"Select methods",search_placeholder:"Search for a method or enter a custom method",singular:"method",tooltip:"Match specific HTTP methods, such as GET or POST. If no method is selected, all methods are included.",custom:{label:"Custom",placeholder:"Enter a custom method",tooltip:"Custom methods can be used with default selections. Uppercase characters are required."}},headers:{add:"Add a header",label:"Headers",singular:"header",tooltip:"Match specific headers, such as <code>x-api-version</code> or <code>x-region</code>. Doesn't accept the <code>Host</code> header. Provide only one entry and prefix with <code>~</code> to enable regex-based matching.",name:{placeholder:"e.g. x-api-version"},values:{placeholder:"e.g. v1"}},sources:{add:"Add a source",label:"Sources",singular:"source",tooltip:"A list of IP sources of incoming connections that match this Route when using stream routing.",ip:{placeholder:"Enter a source IP"},port:{placeholder:"Enter a source port"}},destinations:{add:"Add a destination",label:"Destinations",singular:"destination",tooltip:"A list of IP destinations of incoming connections that match this Route when using stream routing.",ip:{placeholder:"Enter a destination IP"},port:{placeholder:"Enter a destination port"}},response_buffering:{label:"Response buffering",tooltip:"Reads and buffers the full response from the upstream service before sending it to the client. Enable buffering if the client expects the complete response at once. Disable for faster streaming of large or chunked responses."},request_buffering:{label:"Request buffering",tooltip:"Reads and buffers the full request body before proxying. Enable buffering if the upstream service requires the complete request before processing. Disable for faster streaming of large or chunked requests."},expression:{label:"Expression",tooltip:"The route expression."},priority:{label:"Priority",tooltip:"A number used to choose which route resolves a given request when several routes match it using expression simultaneously."}},flavors:{traditional:"Traditional Form",expressions:"Expressions Editor"},show_more:"Show more",hint:{rules_message:"Choose at least one {routingRules} option.",single_rule:"{routingRules}",multiple_rules:"{routingRules} or {lastRoutingRule}",advanced:"To add more than one, use the Advanced options."},warning:{cannotChangeFlavor:{create:"The format of the route cannot be changed once created.",edit:"This route was configured in the {format} format, and cannot be changed after creation. You can switch to the {format} tab to edit, or create a new route in a different format instead."}},expressions_editor:{loading:"Loading the Expressions editor…",error:"Error occurred while loading the Expressions editor. Please view the console for more details."},expression_playground:{test_link:"Test with Router Playground",supported_protocols_hint:"Currently only supports the following protocols: {protocols}"}}};function Be(){const t=Ce.createI18n("en-us",we);return{i18n:t,i18nT:Ce.i18nTComponent(t)}}const H={useI18n:Be},Ae={class:"kong-ui-entities-route-entity-config-card"},De={key:2},Oe=e.defineComponent({__name:"RouteConfigCard",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||t.app==="konnect"&&!t.controlPlaneId||t.app==="kongManager"&&typeof t.workspace!="string"||!t.entityId)},configCardDoc:{type:String,default:"",required:!1},hideTitle:{type:Boolean,default:!1},serviceId:{type:String,required:!1,default:""}},emits:["loading","fetch:error","fetch:success","navigation-click"],setup(t,{emit:V}){var R;const p=V,o=t,{axiosInstance:a}=N.useAxios((R=o.config)==null?void 0:R.axiosRequestConfig),{i18n:{t:f}}=H.useI18n(),n=e.ref(""),_=e.ref(""),u=e.ref(!1),m=e.computed(()=>{var s,d;return(d=oe.item[(s=o.config)==null?void 0:s.app])==null?void 0:d[o.serviceId?"forGatewayService":"all"].replace(/{serviceId}/gi,o.serviceId)}),c=e.computed(()=>{var s;return(s=oe.item[o.config.app])==null?void 0:s.getService}),h=async s=>{var g,w,G;if(n.value=o.serviceId||((g=s==null?void 0:s.service)==null?void 0:g.id),p("fetch:success",s),!n.value)return;let d=`${o.config.apiBaseUrl}${c.value}`;o.config.app==="konnect"?d=d.replace(/{controlPlaneId}/gi,((w=o.config)==null?void 0:w.controlPlaneId)||"").replace(/{serviceId}/gi,n.value||""):o.config.app==="kongManager"&&(d=d.replace(/\/{workspace}/gi,(G=o.config)!=null&&G.workspace?`/${o.config.workspace}`:"").replace(/{serviceId}/gi,n.value||""));try{u.value=!0;const{data:$}=await a.get(d);_.value=($==null?void 0:$.name)||($==null?void 0:$.id)}catch($){p("fetch:error",$)}finally{u.value=!1}},I=e.ref({id:{},name:{tooltip:f("form.fields.name.tooltip")},created_at:{},updated_at:{},service:{label:f("form.fields.service.label"),section:N.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.service.tooltip"),order:5},tags:{tooltip:f("form.fields.tags.tooltip"),order:6},protocols:{section:N.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.protocols.tooltip"),type:N.ConfigurationSchemaType.BadgeTag,order:7},paths:{section:N.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.paths.tooltip"),type:N.ConfigurationSchemaType.CopyBadge,order:8},hosts:{section:N.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.hosts.tooltip"),type:N.ConfigurationSchemaType.CopyBadge,order:9},snis:{label:f("form.fields.snis.label"),tooltip:f("form.fields.snis.tooltip"),order:10},headers:{section:N.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.headers.tooltip"),order:11},methods:{section:N.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.methods.tooltip"),type:N.ConfigurationSchemaType.BadgeMethod,order:12},sources:{section:N.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.sources.tooltip"),type:N.ConfigurationSchemaType.JsonArray,order:13},destinations:{section:N.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.destinations.tooltip"),type:N.ConfigurationSchemaType.JsonArray,order:14},https_redirect_status_code:{tooltip:f("form.fields.https_redirect_status_code.tooltip"),order:1},regex_priority:{tooltip:f("form.fields.regex_priority.tooltip"),order:2},strip_path:{tooltip:f("form.fields.strip_path.tooltip"),order:3},preserve_host:{tooltip:f("form.fields.preserve_host.tooltip"),order:4},request_buffering:{tooltip:f("form.fields.request_buffering.tooltip"),order:5},response_buffering:{tooltip:f("form.fields.response_buffering.tooltip"),order:6},path_handling:{tooltip:f("form.fields.path_handling.tooltip"),order:7}});return(s,d)=>{const g=e.resolveComponent("KSkeleton");return e.openBlock(),e.createElementBlock("div",Ae,[e.createVNode(e.unref(N.EntityBaseConfigCard),{config:t.config,"config-card-doc":t.configCardDoc,"config-schema":I.value,"entity-type":e.unref(N.SupportedEntityType).Route,"fetch-url":m.value,"hide-title":t.hideTitle,"onFetch:error":d[0]||(d[0]=w=>s.$emit("fetch:error",w)),"onFetch:success":h,onLoading:d[1]||(d[1]=w=>s.$emit("loading",w))},{service:e.withCtx(({row:w})=>[u.value?(e.openBlock(),e.createBlock(g,{key:0,"data-testid":"service-name-loader",type:"spinner"})):w.value&&w.value.id===n.value&&_.value?(e.openBlock(),e.createBlock(e.unref(N.InternalLinkItem),{key:1,item:{key:w.value.id,value:_.value,type:e.unref(N.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>s.$emit("navigation-click",w.value.id,"services")},null,8,["item","onNavigationClick"])):(e.openBlock(),e.createElementBlock("div",De,e.toDisplayString("-")))]),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title"])])}}});var D=(t=>(t.TRADITIONAL="traditional",t.EXPRESSIONS="expressions",t))(D||{}),r=(t=>(t.PATHS="paths",t.SNIS="snis",t.HOSTS="hosts",t.METHODS="methods",t.HEADERS="headers",t.SOURCES="sources",t.DESTINATIONS="destinations",t))(r||{}),Z=(t=>(t.LOADING="loading",t.ERROR="error",t.READY="ready",t))(Z||{}),v=(t=>(t.GET="GET",t.PUT="PUT",t.POST="POST",t.PATCH="PATCH",t.DELETE="DELETE",t.OPTIONS="OPTIONS",t.HEAD="HEAD",t.CONNECT="CONNECT",t.TRACE="TRACE",t))(v||{});const me=t=>t.routeFlavors.traditional===!0,he=t=>t.routeFlavors.expressions===!0,M={[r.PATHS]:[""],[r.SNIS]:[""],[r.HOSTS]:[""],[r.METHODS]:[],[r.HEADERS]:[{header:"",values:""}],[r.SOURCES]:[{ip:"",port:null}],[r.DESTINATIONS]:[{ip:"",port:null}]},ue={http:[r.PATHS,r.METHODS,r.HOSTS,r.HEADERS],https:[r.PATHS,r.METHODS,r.HOSTS,r.HEADERS,r.SNIS],"http,https":[r.PATHS,r.METHODS,r.HOSTS,r.HEADERS,r.SNIS],"https,http":[r.PATHS,r.METHODS,r.HOSTS,r.HEADERS,r.SNIS],grpc:[r.PATHS,r.HOSTS,r.HEADERS],grpcs:[r.PATHS,r.HOSTS,r.HEADERS,r.SNIS],"grpc,grpcs":[r.PATHS,r.HOSTS,r.HEADERS,r.SNIS],"grpcs,grpc":[r.PATHS,r.HOSTS,r.HEADERS,r.SNIS],udp:[r.SOURCES,r.DESTINATIONS],tls:[r.SOURCES,r.DESTINATIONS,r.SNIS],tcp:[r.SOURCES,r.DESTINATIONS],"tls,udp":[r.SOURCES,r.DESTINATIONS,r.SNIS],"udp,tls":[r.SOURCES,r.DESTINATIONS,r.SNIS],"tcp,udp":[r.SOURCES,r.DESTINATIONS],"udp,tcp":[r.SOURCES,r.DESTINATIONS],"tcp,tls":[r.SOURCES,r.DESTINATIONS,r.SNIS],"tls,tcp":[r.SOURCES,r.DESTINATIONS,r.SNIS],"tcp,tls,udp":[r.SOURCES,r.DESTINATIONS,r.SNIS],"tls,udp,tcp":[r.SOURCES,r.DESTINATIONS,r.SNIS],"udp,tcp,tls":[r.SOURCES,r.DESTINATIONS,r.SNIS],tls_passthrough:[r.SNIS],ws:[r.PATHS,r.HOSTS,r.HEADERS],wss:[r.PATHS,r.HOSTS,r.HEADERS,r.SNIS],"ws,wss":[r.PATHS,r.HOSTS,r.HEADERS,r.SNIS],"wss,ws":[r.PATHS,r.HOSTS,r.HEADERS,r.SNIS]},ge=[{label:"426",value:426},{label:"301",value:301},{label:"302",value:302},{label:"307",value:307},{label:"308",value:308}],ke=[{label:"v0",value:"v0"},{label:"v1",value:"v1"}],de={https_redirect_status_code:426,strip_path:!0,preserve_host:!1,request_buffering:!0,response_buffering:!0},Ne={...de,paths:[""],regex_priority:0,path_handling:"v0",expression:"",priority:0},Me=e.defineComponent({__name:"RuleControlsAdd",props:{routingRulesEntity:{}},emits:["add"],setup(t,{emit:V}){const p=t,o=V,a=e.inject("configType","basic"),{i18n:{t:f}}=H.useI18n(),n=e.computed(()=>f(`form.fields.${p.routingRulesEntity}.add`));return(_,u)=>{const m=e.resolveComponent("KButton");return e.unref(a)!=="basic"?(e.openBlock(),e.createBlock(m,{key:0,appearance:"tertiary",class:"routing-rule-add-item-button","data-testid":`add-${t.routingRulesEntity}`,onClick:u[0]||(u[0]=c=>o("add"))},{default:e.withCtx(()=>[e.createVNode(e.unref(j.AddIcon)),e.createElementVNode("span",null,e.toDisplayString(n.value),1)]),_:1},8,["data-testid"])):e.createCommentVNode("",!0)}}}),U=(t,V)=>{const p=t.__vccOpts||t;for(const[o,a]of V)p[o]=a;return p},re=U(Me,[["__scopeId","data-v-f1f4cfc9"]]),He="#afb7c5",$e="#0044f4",Pe="16px",le=e.defineComponent({__name:"RuleControlsRemove",props:{disabled:{type:Boolean},routingRulesEntity:{}},emits:["remove"],setup(t,{emit:V}){const p=V,o=e.inject("configType","basic");return(a,f)=>{const n=e.resolveComponent("KButton");return e.unref(o)!=="basic"?(e.openBlock(),e.createBlock(n,{key:0,appearance:"tertiary","data-testid":`remove-${t.routingRulesEntity}`,disabled:t.disabled,icon:"",onClick:f[0]||(f[0]=_=>p("remove"))},{default:e.withCtx(()=>[e.createVNode(e.unref(j.CloseIcon),{color:t.disabled?e.unref(He):e.unref($e)},null,8,["color"])]),_:1},8,["data-testid","disabled"])):e.createCommentVNode("",!0)}}}),Ue={class:"routing-rule-container"},Fe=["innerHTML"],Le=U(e.defineComponent({__name:"DestinationRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(t,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(t,"modelValue"),a=V;return(f,n)=>{const _=e.resolveComponent("KLabel"),u=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",Ue,[e.createVNode(_,{"tooltip-attributes":{maxWidth:"320"}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(p)("form.fields.destinations.tooltip")},null,8,Fe)]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(e.unref(p)("form.fields.destinations.label")),1)]),_:1}),e.createVNode(e.TransitionGroup,{name:"appear"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(m,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:"routing-rule-input"},[e.createVNode(u,{modelValue:o.value[c].ip,"onUpdate:modelValue":h=>o.value[c].ip=h,modelModifiers:{trim:!0},"data-testid":`route-form-destinations-ip-input-${c+1}`,placeholder:e.unref(p)("form.fields.destinations.ip.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(u,{modelValue:o.value[c].port,"onUpdate:modelValue":h=>o.value[c].port=h,modelModifiers:{number:!0},"data-testid":`route-form-destinations-port-input-${c+1}`,max:"65535",min:"0",placeholder:e.unref(p)("form.fields.destinations.port.placeholder"),type:"number"},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(le,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).DESTINATIONS,onRemove:h=>a("remove",c)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(re,{"routing-rules-entity":e.unref(r).DESTINATIONS,onAdd:n[0]||(n[0]=m=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-3eb40a37"]]),Ke={class:"routing-rule-container"},qe=["innerHTML"],Ge=U(e.defineComponent({__name:"HeaderRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(t,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(t,"modelValue"),a=V;return(f,n)=>{const _=e.resolveComponent("KLabel"),u=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",Ke,[e.createVNode(_,{"tooltip-attributes":{maxWidth:"320"}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(p)("form.fields.headers.tooltip")},null,8,qe)]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(e.unref(p)("form.fields.headers.label")),1)]),_:1}),e.createVNode(e.TransitionGroup,{name:"appear"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(m,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:"routing-rule-input"},[e.createVNode(u,{modelValue:o.value[c].header,"onUpdate:modelValue":h=>o.value[c].header=h,modelModifiers:{trim:!0},"data-testid":`route-form-headers-name-input-${c+1}`,placeholder:e.unref(p)("form.fields.headers.name.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(u,{modelValue:o.value[c].values,"onUpdate:modelValue":h=>o.value[c].values=h,modelModifiers:{trim:!0},"data-testid":`route-form-headers-values-input-${c+1}`,placeholder:e.unref(p)("form.fields.headers.values.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(le,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).HEADERS,onRemove:h=>a("remove",c)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(re,{"routing-rules-entity":e.unref(r).HEADERS,onAdd:n[0]||(n[0]=m=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-d3bede0b"]]),je={class:"routing-rule-container"},We=["innerHTML"],Xe=U(e.defineComponent({__name:"HostRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(t,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(t,"modelValue"),a=V,f=e.inject("configType","basic");return(n,_)=>{const u=e.resolveComponent("KLabel"),m=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",je,[e.createVNode(u,{"tooltip-attributes":{maxWidth:"320"}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(p)("form.fields.hosts.tooltip")},null,8,We)]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(e.unref(f)==="basic"?e.unref(p)("form.fields.hosts.label_singular"):e.unref(p)("form.fields.hosts.label")),1)]),_:1}),e.createVNode(e.TransitionGroup,{name:"appear"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f)==="basic"?o.value.slice(0,1):o.value,(c,h)=>(e.openBlock(),e.createElementBlock("div",{key:h,class:"routing-rule-input"},[e.createVNode(m,{modelValue:o.value[h],"onUpdate:modelValue":I=>o.value[h]=I,modelModifiers:{trim:!0},"data-testid":`route-form-hosts-input-${h+1}`,placeholder:e.unref(p)("form.fields.hosts.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(le,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).HOSTS,onRemove:I=>a("remove",h)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(re,{"routing-rules-entity":e.unref(r).HOSTS,onAdd:_[0]||(_[0]=c=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-dccd9082"]]),ze={class:"routing-rule-container","data-testid":"route-form-methods"},Je=["innerHTML"],Qe={class:"routing-rule-input"},Ye=U(e.defineComponent({__name:"MethodRules",props:{methods:{required:!0},methodsModifiers:{},customMethods:{required:!0},customMethodsModifiers:{}},emits:["update:methods","update:customMethods"],setup(t){const{i18n:{t:V}}=H.useI18n(),p=e.useModel(t,"methods"),o=e.useModel(t,"customMethods"),a=e.computed(()=>p.value.filter(m=>Object.keys(v).includes(m)).concat(o.value.map(m=>m.value))),f=e.computed(()=>Object.keys(v).map(m=>({label:m,value:m})).concat(o.value.map(m=>({label:m.label,value:m.value,custom:!0})))),n=m=>!f.value.map(c=>c.value.toLowerCase()).includes(m.toLowerCase()),_=(m,c)=>{c?o.value.push(m):o.value=o.value.filter(h=>h.value!==m.value)},u=m=>{p.value=m};return(m,c)=>{const h=e.resolveComponent("KLabel"),I=e.resolveComponent("KMultiselect");return e.openBlock(),e.createElementBlock("div",ze,[e.createVNode(h,{"tooltip-attributes":{maxWidth:"320"}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(V)("form.fields.methods.tooltip")},null,8,Je)]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(e.unref(V)("form.fields.methods.label")),1)]),_:1}),e.createElementVNode("div",Qe,[e.createVNode(I,{"enable-item-creation":"","item-creation-validator":n,items:f.value,"model-value":a.value,placeholder:e.unref(V)("form.fields.methods.placeholder"),"search-placeholder":e.unref(V)("form.fields.methods.search_placeholder"),onItemAdded:c[0]||(c[0]=R=>_(R,!0)),onItemRemoved:c[1]||(c[1]=R=>_(R,!1)),"onUpdate:modelValue":u},null,8,["items","model-value","placeholder","search-placeholder"])])])}}}),[["__scopeId","data-v-6c94d6d2"]]),Ze={class:"routing-rule-container"},ve=["innerHTML"],et=U(e.defineComponent({__name:"PathRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(t,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(t,"modelValue"),a=V,f=e.inject("configType","basic");return(n,_)=>{const u=e.resolveComponent("KLabel"),m=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",Ze,[e.createVNode(u,{"tooltip-attributes":{maxWidth:"320"}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(p)("form.fields.paths.tooltip")},null,8,ve)]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(e.unref(f)==="basic"?e.unref(p)("form.fields.paths.label_singular"):e.unref(p)("form.fields.paths.label")),1)]),_:1}),e.createVNode(e.TransitionGroup,{name:"appear"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f)==="basic"?o.value.slice(0,1):o.value,(c,h)=>(e.openBlock(),e.createElementBlock("div",{key:h,class:"routing-rule-input"},[e.createVNode(m,{modelValue:o.value[h],"onUpdate:modelValue":I=>o.value[h]=I,modelModifiers:{trim:!0},"data-testid":`route-form-paths-input-${h+1}`,placeholder:e.unref(p)("form.fields.paths.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(le,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).PATHS,onRemove:I=>a("remove",h)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(re,{"routing-rules-entity":e.unref(r).PATHS,onAdd:_[0]||(_[0]=c=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-eb440a9e"]]),tt={class:"routing-rule-container"},ot=["innerHTML"],rt=U(e.defineComponent({__name:"SniRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(t,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(t,"modelValue"),a=V;return(f,n)=>{const _=e.resolveComponent("KLabel"),u=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",tt,[e.createVNode(_,{"tooltip-attributes":{maxWidth:"320"}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(p)("form.fields.snis.tooltip")},null,8,ot)]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(e.unref(p)("form.fields.snis.label")),1)]),_:1}),e.createVNode(e.TransitionGroup,{name:"appear"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(m,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:"routing-rule-input"},[e.createVNode(u,{modelValue:o.value[c],"onUpdate:modelValue":h=>o.value[c]=h,modelModifiers:{trim:!0},"data-testid":`route-form-snis-input-${c+1}`,placeholder:e.unref(p)("form.fields.snis.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(le,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).SNIS,onRemove:h=>a("remove",c)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(re,{"routing-rules-entity":e.unref(r).SNIS,onAdd:n[0]||(n[0]=m=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-e6782e08"]]),lt={class:"routing-rule-container"},st=["innerHTML"],nt=U(e.defineComponent({__name:"SourceRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(t,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(t,"modelValue"),a=V;return(f,n)=>{const _=e.resolveComponent("KLabel"),u=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",lt,[e.createVNode(_,{"tooltip-attributes":{maxWidth:"320"}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(p)("form.fields.sources.tooltip")},null,8,st)]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(e.unref(p)("form.fields.sources.label")),1)]),_:1}),e.createVNode(e.TransitionGroup,{name:"appear"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(m,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:"routing-rule-input"},[e.createVNode(u,{modelValue:o.value[c].ip,"onUpdate:modelValue":h=>o.value[c].ip=h,modelModifiers:{trim:!0},"data-testid":`route-form-sources-ip-input-${c+1}`,placeholder:e.unref(p)("form.fields.sources.ip.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(u,{modelValue:o.value[c].port,"onUpdate:modelValue":h=>o.value[c].port=h,modelModifiers:{number:!0},"data-testid":`route-form-sources-port-input-${c+1}`,max:"65535",min:"0",placeholder:e.unref(p)("form.fields.sources.port.placeholder"),type:"number"},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(le,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).SOURCES,onRemove:h=>a("remove",c)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(re,{"routing-rules-entity":e.unref(r).SOURCES,onAdd:n[0]||(n[0]=m=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-448078c1"]]),at={class:"traditional-rules-hint"},it={key:0},dt=["innerHTML"],ct={key:0,class:"route-form-fields-container route-form-advanced-fields-container"},pt=["innerHTML"],ut=["innerHTML"],ft=["innerHTML"],mt=["innerHTML"],ht=["innerHTML"],gt=["innerHTML"],Ve=U(e.defineComponent({__name:"TraditionalRules",props:e.mergeModels({protocols:{},hideAdvanced:{type:Boolean},readonly:{type:Boolean},configType:{}},{fields:{required:!0},fieldsModifiers:{},customMethods:{required:!0},customMethodsModifiers:{}}),emits:["update:fields","update:customMethods"],setup(t){const{i18nT:V,i18n:p,i18n:{t:o}}=H.useI18n(),a=p.source.form.protocols,f=t,n=e.useModel(t,"fields"),_=e.useModel(t,"customMethods"),u=s=>{switch(s){case r.PATHS:Array.isArray(n.value.paths)?n.value.paths.push([...M[r.PATHS]][0]):n.value.paths=[...M[r.PATHS]];break;case r.SNIS:Array.isArray(n.value.snis)?n.value.snis.push([...M[r.SNIS]][0]):n.value.snis=[...M[r.SNIS]];break;case r.HOSTS:Array.isArray(n.value.hosts)?n.value.hosts.push([...M[r.HOSTS]][0]):n.value.hosts=[...M[r.HOSTS]];break;case r.METHODS:n.value.methods||(n.value.methods={...M[r.METHODS]});break;case r.HEADERS:Array.isArray(n.value.headers)?n.value.headers.push({...M[r.HEADERS][0]}):n.value.headers=[{...M[r.HEADERS][0]}];break;case r.SOURCES:Array.isArray(n.value.sources)?n.value.sources.push({...M[r.SOURCES][0]}):n.value.sources=[{...M[r.SOURCES][0]}];break;case r.DESTINATIONS:Array.isArray(n.value.destinations)?n.value.destinations.push({...M[r.DESTINATIONS][0]}):n.value.destinations=[{...M[r.DESTINATIONS][0]}];break}},m=async(s,d)=>{if(typeof d<"u"){const g=n.value[s];if(Array.isArray(g)&&(g.splice(d,1),g.length>0))return}await e.nextTick(()=>{delete n.value[s]})},c=s=>s.some(d=>f.protocols.includes(d)),h=e.computed(()=>new Set(ue[f.protocols])),I=e.computed(()=>{if(c(["tls_passthrough"]))return[R(r.SNIS)];const s=(f.configType==="basic"?[r.PATHS,r.METHODS,r.HOSTS]:ue[f.protocols]).map(d=>R(d));return[[...s].splice(0,s.length-1).join(", "),s[s.length-1]]}),R=s=>{var g;return((g=p.source.form.fields[s])==null?void 0:g.singular)||""};return(s,d)=>{const g=e.resolveComponent("KCheckbox"),w=e.resolveComponent("KSelect"),G=e.resolveComponent("KInput"),$=e.resolveComponent("KCard");return e.openBlock(),e.createBlock($,null,{default:e.withCtx(()=>{var E;return[e.createElementVNode("span",at,[e.createVNode(e.unref(V),{keypath:"form.hint.rules_message"},{protocol:e.withCtx(()=>[e.createElementVNode("b",null,e.toDisplayString(e.unref(a)[t.protocols]),1)]),routingRules:e.withCtx(()=>[e.createVNode(e.unref(V),{keypath:I.value[1]?"form.hint.multiple_rules":"form.hint.single_rule"},{routingRules:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(I.value[0]),1)]),lastRoutingRule:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(I.value[1]),1)]),_:1},8,["keypath"])]),_:1}),t.configType==="basic"?(e.openBlock(),e.createElementBlock("span",it,e.toDisplayString(e.unref(o)("form.hint.advanced")),1)):e.createCommentVNode("",!0)]),e.createVNode(e.TransitionGroup,{name:"appear"},{default:e.withCtx(()=>{var S;return[n.value.paths&&h.value.has(e.unref(r).PATHS)?(e.openBlock(),e.createBlock(et,{key:"paths-container",modelValue:n.value.paths,"onUpdate:modelValue":d[0]||(d[0]=b=>n.value.paths=b),onAdd:d[1]||(d[1]=b=>u(e.unref(r).PATHS)),onRemove:d[2]||(d[2]=b=>m(e.unref(r).PATHS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),c(["http","https","ws","wss"])?(e.openBlock(),e.createBlock(g,{key:1,modelValue:n.value.strip_path,"onUpdate:modelValue":d[3]||(d[3]=b=>n.value.strip_path=b),class:"route-form-strip-path","data-testid":"route-form-strip-path",disabled:!((S=n.value.paths)!=null&&S.some(Boolean)),label:e.unref(o)("form.fields.strip_path.label"),"label-attributes":{tooltipAttributes:{maxWidth:"320"}}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(o)("form.fields.strip_path.tooltip")},null,8,dt)]),_:1},8,["modelValue","disabled","label"])):e.createCommentVNode("",!0),n.value.methods&&h.value.has(e.unref(r).METHODS)?(e.openBlock(),e.createBlock(Ye,{key:"methods-container","custom-methods":_.value,"onUpdate:customMethods":d[4]||(d[4]=b=>_.value=b),methods:n.value.methods,"onUpdate:methods":d[5]||(d[5]=b=>n.value.methods=b)},null,8,["custom-methods","methods"])):e.createCommentVNode("",!0),n.value.hosts&&h.value.has(e.unref(r).HOSTS)?(e.openBlock(),e.createBlock(Xe,{key:"hosts-container",modelValue:n.value.hosts,"onUpdate:modelValue":d[6]||(d[6]=b=>n.value.hosts=b),onAdd:d[7]||(d[7]=b=>u(e.unref(r).HOSTS)),onRemove:d[8]||(d[8]=b=>m(e.unref(r).HOSTS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),n.value.headers&&t.configType==="advanced"&&h.value.has(e.unref(r).HEADERS)?(e.openBlock(),e.createBlock(Ge,{key:"headers-container",modelValue:n.value.headers,"onUpdate:modelValue":d[9]||(d[9]=b=>n.value.headers=b),onAdd:d[10]||(d[10]=b=>u(e.unref(r).HEADERS)),onRemove:d[11]||(d[11]=b=>m(e.unref(r).HEADERS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),n.value.sources&&h.value.has(e.unref(r).SOURCES)?(e.openBlock(),e.createBlock(nt,{key:"sources-container",modelValue:n.value.sources,"onUpdate:modelValue":d[12]||(d[12]=b=>n.value.sources=b),onAdd:d[13]||(d[13]=b=>u(e.unref(r).SOURCES)),onRemove:d[14]||(d[14]=b=>m(e.unref(r).SOURCES,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),n.value.destinations&&h.value.has(e.unref(r).DESTINATIONS)?(e.openBlock(),e.createBlock(Le,{key:"destinations-container",modelValue:n.value.destinations,"onUpdate:modelValue":d[15]||(d[15]=b=>n.value.destinations=b),onAdd:d[16]||(d[16]=b=>u(e.unref(r).DESTINATIONS)),onRemove:d[17]||(d[17]=b=>m(e.unref(r).DESTINATIONS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),n.value.snis&&t.configType==="advanced"&&h.value.has(e.unref(r).SNIS)?(e.openBlock(),e.createBlock(rt,{key:"snis-container",modelValue:n.value.snis,"onUpdate:modelValue":d[18]||(d[18]=b=>n.value.snis=b),onAdd:d[19]||(d[19]=b=>u(e.unref(r).SNIS)),onRemove:d[20]||(d[20]=b=>m(e.unref(r).SNIS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0)]}),_:1}),t.hideAdvanced?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ct,[(E=n.value.paths)!=null&&E.some(Boolean)?(e.openBlock(),e.createBlock(w,{key:0,modelValue:n.value.path_handling,"onUpdate:modelValue":d[21]||(d[21]=S=>n.value.path_handling=S),"data-testid":"route-form-path-handling",items:e.unref(ke),label:e.unref(o)("form.fields.path_handling.label"),"label-attributes":{tooltipAttributes:{maxWidth:"320"}},readonly:t.readonly,width:"100%"},{"label-tooltip":e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(o)("form.fields.path_handling.tooltip")},null,8,pt)]),_:1},8,["modelValue","items","label","readonly"])):e.createCommentVNode("",!0),e.createVNode(w,{modelValue:n.value.https_redirect_status_code,"onUpdate:modelValue":d[22]||(d[22]=S=>n.value.https_redirect_status_code=S),"data-testid":"route-form-http-redirect-status-code",items:e.unref(ge),label:e.unref(o)("form.fields.https_redirect_status_code.label"),"label-attributes":{tooltipAttributes:{maxWidth:"320"}},readonly:t.readonly,width:"100%"},{"label-tooltip":e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(o)("form.fields.https_redirect_status_code.tooltip")},null,8,ut)]),_:1},8,["modelValue","items","label","readonly"]),e.createVNode(G,{modelValue:n.value.regex_priority,"onUpdate:modelValue":d[23]||(d[23]=S=>n.value.regex_priority=S),autocomplete:"off","data-testid":"route-form-regex-priority",label:e.unref(o)("form.fields.regex_priority.label"),"label-attributes":{tooltipAttributes:{maxWidth:"320"}},readonly:t.readonly,type:"number"},{"label-tooltip":e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(o)("form.fields.regex_priority.tooltip")},null,8,ft)]),_:1},8,["modelValue","label","readonly"]),e.createVNode(g,{modelValue:n.value.preserve_host,"onUpdate:modelValue":d[24]||(d[24]=S=>n.value.preserve_host=S),"data-testid":"route-form-preserve-host",label:e.unref(o)("form.fields.preserve_host.label"),"label-attributes":{tooltipAttributes:{maxWidth:"320"}}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(o)("form.fields.preserve_host.tooltip")},null,8,mt)]),_:1},8,["modelValue","label"]),e.createVNode(g,{modelValue:n.value.request_buffering,"onUpdate:modelValue":d[25]||(d[25]=S=>n.value.request_buffering=S),"data-testid":"route-form-request-buffering",label:e.unref(o)("form.fields.request_buffering.label"),"label-attributes":{tooltipAttributes:{maxWidth:"320"}}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(o)("form.fields.request_buffering.tooltip")},null,8,ht)]),_:1},8,["modelValue","label"]),e.createVNode(g,{modelValue:n.value.response_buffering,"onUpdate:modelValue":d[26]||(d[26]=S=>n.value.response_buffering=S),"data-testid":"route-form-response-buffering",label:e.unref(o)("form.fields.response_buffering.label"),"label-attributes":{tooltipAttributes:{maxWidth:"320"}}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(o)("form.fields.response_buffering.tooltip")},null,8,gt)]),_:1},8,["modelValue","label"])]))]}),_:1})}}}),[["__scopeId","data-v-f3fa9614"]]),yt=e.defineComponent({__name:"RouteFormExpressionsEditorLoader",props:e.mergeModels({protocol:{},showExpressionsModalEntry:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["notify"],["update:modelValue"]),setup(t,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o={render:()=>e.h("div",p("form.expressions_editor.loading"))},a={render:()=>e.h("div",p("form.expressions_editor.error"))},f=e.defineAsyncComponent({loader:async()=>Promise.resolve().then(()=>Pt),loadingComponent:o,errorComponent:a}),n=t,_=V,u=e.ref(Z.LOADING),m=e.useModel(t,"modelValue"),c=h=>{m.value=h};return e.onMounted(async()=>{try{await(await import("@kong-ui-public/expressions")).asyncInit,u.value=Z.READY}catch(h){u.value=Z.ERROR,console.error(h)}}),(h,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[u.value===e.unref(Z).ERROR?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a),{key:0,"data-testid":"route-form-expressions-editor-loader-error"})):u.value===e.unref(Z).LOADING?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o),{key:1,"data-testid":"route-form-expressions-editor-loader-loading"})):(e.openBlock(),e.createBlock(e.unref(f),{key:2,modelValue:m.value,"onUpdate:modelValue":I[0]||(I[0]=R=>m.value=R),protocol:n.protocol,"show-expressions-modal-entry":t.showExpressionsModalEntry,onNotify:I[1]||(I[1]=R=>_("notify",R))},{default:e.withCtx(()=>[e.createVNode(e.unref(j.RocketIcon),{size:e.unref(Pe)},null,8,["size"]),e.createElementVNode("span",null,e.toDisplayString(e.unref(p)("form.expression_playground.test_link")),1)]),_:1},8,["modelValue","protocol","show-expressions-modal-entry"])),e.renderSlot(h.$slots,"after-editor",{expression:{value:m.value,update:c},state:u.value})],64))}}),St={class:"route-form-routing-rules-title-container"},bt={class:"routing-rules-title"},Tt={class:"route-form-fields-container route-form-advanced-fields-container"},_t=U(e.defineComponent({__name:"ExpressionsRules",props:e.mergeModels({protocols:{},hideAdvanced:{type:Boolean},readonly:{type:Boolean},showExpressionsModalEntry:{type:Boolean}},{fields:{required:!0},fieldsModifiers:{}}),emits:e.mergeModels(["notify"],["update:fields"]),setup(t,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=t,a=e.useModel(t,"fields"),f=V,n=e.ref(!0),_=e.computed(()=>o.protocols.split(",")||[]),u=m=>m.some(c=>o.protocols.includes(c));return(m,c)=>{const h=e.resolveComponent("KCard"),I=e.resolveComponent("KSelect"),R=e.resolveComponent("KInput"),s=e.resolveComponent("KCheckbox"),d=e.resolveComponent("KCollapse");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(h,null,{title:e.withCtx(()=>[e.createElementVNode("div",St,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,g=>(e.openBlock(),e.createElementBlock("span",{key:g,class:"protocol-title"},e.toDisplayString(g.toUpperCase()),1))),128)),e.createElementVNode("span",bt,e.toDisplayString(e.unref(p)("form.sections.routingExpression.title")),1)])]),default:e.withCtx(()=>[e.createVNode(yt,{modelValue:a.value.expression,"onUpdate:modelValue":c[0]||(c[0]=g=>a.value.expression=g),protocol:_.value[0],"show-expressions-modal-entry":t.showExpressionsModalEntry,onNotify:c[1]||(c[1]=g=>f("notify",g))},{"after-editor":e.withCtx(g=>[e.renderSlot(m.$slots,"after-expressions-editor",{expression:g.expression,state:g.state},void 0,!0)]),_:3},8,["modelValue","protocol","show-expressions-modal-entry"])]),_:3}),e.createVNode(d,{modelValue:n.value,"onUpdate:modelValue":c[8]||(c[8]=g=>n.value=g),class:"route-form-advanced-fields-collapse","trigger-alignment":"leading","trigger-label":e.unref(p)("form.show_more")},{default:e.withCtx(()=>[e.createVNode(h,null,{default:e.withCtx(()=>[e.createElementVNode("div",Tt,[e.createVNode(I,{modelValue:a.value.https_redirect_status_code,"onUpdate:modelValue":c[2]||(c[2]=g=>a.value.https_redirect_status_code=g),"data-testid":"route-form-http-redirect-status-code",items:e.unref(ge),label:e.unref(p)("form.fields.https_redirect_status_code.label"),readonly:t.readonly,width:"100%"},null,8,["modelValue","items","label","readonly"]),e.createVNode(R,{modelValue:a.value.priority,"onUpdate:modelValue":c[3]||(c[3]=g=>a.value.priority=g),autocomplete:"off","data-testid":"route-form-priority",label:e.unref(p)("form.fields.priority.label"),"label-attributes":{info:e.unref(p)("form.fields.priority.tooltip"),tooltipAttributes:{maxWidth:"400"}},readonly:t.readonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"]),u(["http","https","ws","wss","tls","tcp","udp","tls_passthrough"])?(e.openBlock(),e.createBlock(s,{key:0,modelValue:a.value.strip_path,"onUpdate:modelValue":c[4]||(c[4]=g=>a.value.strip_path=g),"data-testid":"route-form-strip-path",label:e.unref(p)("form.fields.strip_path.label")},null,8,["modelValue","label"])):e.createCommentVNode("",!0),e.createVNode(s,{modelValue:a.value.preserve_host,"onUpdate:modelValue":c[5]||(c[5]=g=>a.value.preserve_host=g),"data-testid":"route-form-preserve-host",label:e.unref(p)("form.fields.preserve_host.label")},null,8,["modelValue","label"]),e.createVNode(s,{modelValue:a.value.request_buffering,"onUpdate:modelValue":c[6]||(c[6]=g=>a.value.request_buffering=g),"data-testid":"route-form-request-buffering",label:e.unref(p)("form.fields.request_buffering.label")},null,8,["modelValue","label"]),e.createVNode(s,{modelValue:a.value.response_buffering,"onUpdate:modelValue":c[7]||(c[7]=g=>a.value.response_buffering=g),"data-testid":"route-form-response-buffering",label:e.unref(p)("form.fields.response_buffering.label")},null,8,["modelValue","label"])])]),_:1})]),_:1},8,["modelValue","trigger-label"])],64)}}}),[["__scopeId","data-v-e7571a47"]]),Et={class:"config-type-container"},Ct={key:0,class:"config-flavor"},Ie=U(e.defineComponent({__name:"RouteFormRulesComposer",props:e.mergeModels({protocols:{},routeFlavors:{},readonly:{type:Boolean},recordFlavor:{},showExpressionsModalEntry:{type:Boolean},tooltips:{},isWsSupported:{type:Boolean},hideProtocols:{type:Boolean}},{configType:{required:!0},configTypeModifiers:{},configFlavor:{required:!0},configFlavorModifiers:{},fields:{default:()=>e.reactive({...de,paths:[""],regex_priority:0,path_handling:"v0",expression:"",priority:0})},fieldsModifiers:{},customMethods:{default:()=>e.reactive([])},customMethodsModifiers:{}}),emits:e.mergeModels(["notify","update:payload","update:protocols"],["update:configType","update:configFlavor","update:fields","update:customMethods"]),setup(t,{emit:V}){const p=t,o=e.useModel(t,"configType"),a=e.useModel(t,"configFlavor"),f=e.useModel(t,"fields"),n=e.useModel(t,"customMethods"),_=V,{i18n:{t:u}}=H.useI18n(),m=[{value:D.TRADITIONAL,label:u("form.flavors.traditional")},{value:D.EXPRESSIONS,label:u("form.flavors.expressions")}],c=e.computed(()=>[{label:u("form.protocols.grpc"),value:"grpc"},{label:u("form.protocols.grpcs"),value:"grpcs"},{label:u("form.protocols.grpc,grpcs"),value:"grpc,grpcs"},{label:u("form.protocols.http"),value:"http"},{label:u("form.protocols.https"),value:"https"},{label:u("form.protocols.http,https"),value:"http,https"},{label:u("form.protocols.tcp"),value:"tcp"},{label:u("form.protocols.tls"),value:"tls"},{label:u("form.protocols.tls,udp"),value:"tls,udp"},{label:u("form.protocols.tcp,udp"),value:"tcp,udp"},{label:u("form.protocols.tcp,tls"),value:"tcp,tls"},{label:u("form.protocols.tcp,tls,udp"),value:"tcp,tls,udp"},{label:u("form.protocols.tls_passthrough"),value:"tls_passthrough"},{label:u("form.protocols.udp"),value:"udp"},...p.isWsSupported?[{label:u("form.protocols.ws"),value:"ws"},{label:u("form.protocols.wss"),value:"wss"},{label:u("form.protocols.ws,wss"),value:"ws,wss"}]:[]]),h=e.computed(()=>p.recordFlavor?p.recordFlavor:a.value),I=(E,S)=>{if(!new Set(ue[p.protocols]).has(E))return[];if([r.PATHS,r.HOSTS,r.METHODS,r.SNIS].includes(E))return[...S].filter(O=>!!O);if(E===r.SOURCES||E===r.DESTINATIONS)return[...S].filter(O=>!!O.ip||!!O.port).map(O=>({ip:O.ip||void 0,port:!O.port&&O.port!==0?void 0:O.port}));if(E===r.HEADERS)return[...S].filter(O=>!!O.header)},R=E=>E.some(S=>p.protocols.includes(S)),s=()=>{if(h.value!==D.TRADITIONAL)return null;const E=f.value,S=I(r.HEADERS,E.headers||[])||M[r.HEADERS];return S.length===0?null:S.reduce((b,O)=>(b[O.header]=O.values.split(","),b),{})},d=e.computed(()=>(f.value.methods||[]).filter(b=>Object.keys(v).includes(b)).concat(n.value.map(b=>b.label.toUpperCase()))),g=E=>E!=null&&E.length?E:null,w=e.computed(()=>({https_redirect_status_code:f.value.https_redirect_status_code,strip_path:R(["http","https","ws","wss"])?f.value.strip_path:!1,preserve_host:f.value.preserve_host,request_buffering:f.value.request_buffering,response_buffering:f.value.response_buffering})),G=e.computed(()=>{switch(h.value){case D.TRADITIONAL:{const E=f.value,S=g(I(r.PATHS,E.paths||[])),b=g(I(r.HOSTS,E.hosts||[])),O={...w.value,methods:g(I(r.METHODS,d.value)),hosts:o.value==="basic"&&b?b.slice(0,1):b,paths:o.value==="basic"&&S?S.slice(0,1):S,headers:o.value==="basic"?null:s(),regex_priority:Number(E.regex_priority),path_handling:E.path_handling,sources:g(I(r.SOURCES,E.sources||[])),destinations:g(I(r.DESTINATIONS,E.destinations||[])),snis:o.value==="basic"?null:g(I(r.SNIS,E.snis||[]))};return{type:h.value,payload:O}}case D.EXPRESSIONS:{const E=f.value;return{type:h.value,payload:{...w.value,expression:E.expression,priority:Number(E.priority)}}}default:return}}),$=E=>{E&&_("update:protocols",E)};return e.watch([()=>p.recordFlavor,()=>p.routeFlavors],([E,S])=>{if(E){a.value=E;return}a.value=!S.traditional&&S.expressions?D.EXPRESSIONS:D.TRADITIONAL},{immediate:!0,deep:!0}),e.watch(o,E=>{E==="basic"&&(a.value=D.TRADITIONAL,_("update:protocols","http,https"))}),e.watch(G,E=>{_("update:payload",E)},{deep:!0,immediate:!0}),(E,S)=>{const b=e.resolveComponent("KRadio"),O=e.resolveComponent("KLabel"),ce=e.resolveComponent("KTooltip"),z=e.resolveComponent("KSegmentedControl"),K=e.resolveComponent("KAlert"),se=e.resolveComponent("KSelect");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Et,[e.createVNode(b,{modelValue:o.value,"onUpdate:modelValue":S[0]||(S[0]=B=>o.value=B),card:"","card-orientation":"horizontal","data-testid":"route-form-config-type-basic",description:e.unref(u)("form.config_types.basic.description"),disabled:!t.routeFlavors.traditional||t.recordFlavor===e.unref(D).EXPRESSIONS,label:e.unref(u)("form.config_types.basic.label"),"selected-value":"basic"},null,8,["modelValue","description","disabled","label"]),e.createVNode(b,{modelValue:o.value,"onUpdate:modelValue":S[1]||(S[1]=B=>o.value=B),card:"","card-orientation":"horizontal","data-testid":"route-form-config-type-advanced",description:e.unref(u)("form.config_types.advanced.description"),label:e.unref(u)("form.config_types.advanced.label"),"selected-value":"advanced"},null,8,["modelValue","description","label"])]),o.value==="basic"?(e.openBlock(),e.createBlock(Ve,{key:0,"custom-methods":n.value,"onUpdate:customMethods":S[2]||(S[2]=B=>n.value=B),fields:f.value,"onUpdate:fields":S[3]||(S[3]=B=>f.value=B),"config-type":"basic","hide-advanced":"",protocols:t.protocols,readonly:t.readonly},null,8,["custom-methods","fields","protocols","readonly"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[t.routeFlavors.traditional&&t.routeFlavors.expressions?(e.openBlock(),e.createElementBlock("div",Ct,[e.createVNode(O,{class:"config-flavor-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(u)("form.config_flavor.label")),1)]),_:1}),e.createVNode(z,{modelValue:a.value,"onUpdate:modelValue":S[4]||(S[4]=B=>a.value=B),class:"config-flavor-control","data-testid":"route-form-config-flavor",options:m},{"option-label":e.withCtx(({option:B})=>{var ee,J;return[e.createElementVNode("span",null,e.toDisplayString(B.label),1),(ee=t.tooltips)!=null&&ee[B.value]?(e.openBlock(),e.createBlock(ce,{key:0,class:"route-form-config-tabs-tooltip",text:(J=t.tooltips)==null?void 0:J[B.value],"tooltip-id":`route-form-config-tabs-tooltip-${B.value}`},{default:e.withCtx(()=>[e.createVNode(e.unref(j.InfoIcon))]),_:1},8,["text","tooltip-id"])):e.createCommentVNode("",!0)]}),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),t.routeFlavors.traditional&&t.routeFlavors.expressions&&(!t.recordFlavor||t.recordFlavor!==a.value)?(e.openBlock(),e.createBlock(K,{key:1,appearance:t.recordFlavor?"warning":"info",class:"route-form-config-type-immutable-alert","data-testid":"route-config-type-immutable-alert"},{default:e.withCtx(()=>[t.recordFlavor?t.recordFlavor!==a.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(e.unref(u)("form.warning.cannotChangeFlavor.edit",{format:e.unref(u)(`form.flavors.${t.recordFlavor}`)})),1)],64)):e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(u)("form.warning.cannotChangeFlavor.create")),1)],64))]),_:1},8,["appearance"])):e.createCommentVNode("",!0),!t.recordFlavor||!(t.routeFlavors.traditional&&t.routeFlavors.expressions&&t.recordFlavor!==a.value)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.hideProtocols?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(se,{key:0,"data-testid":"route-form-protocols",items:c.value,label:e.unref(u)("form.fields.protocols.label"),"label-attributes":{info:e.unref(u)("form.fields.protocols.tooltip"),tooltipAttributes:{maxWidth:"400"}},"model-value":t.protocols,readonly:t.readonly,required:"",width:"100%","onUpdate:modelValue":$},null,8,["items","label","label-attributes","model-value","readonly"])),a.value===e.unref(D).TRADITIONAL?(e.openBlock(),e.createBlock(Ve,{key:1,"custom-methods":n.value,"onUpdate:customMethods":S[5]||(S[5]=B=>n.value=B),fields:f.value,"onUpdate:fields":S[6]||(S[6]=B=>f.value=B),"config-type":"advanced",protocols:t.protocols,readonly:t.readonly},null,8,["custom-methods","fields","protocols","readonly"])):(e.openBlock(),e.createBlock(_t,{key:2,fields:f.value,"onUpdate:fields":S[7]||(S[7]=B=>f.value=B),protocols:t.protocols,readonly:t.readonly,"show-expressions-modal-entry":t.showExpressionsModalEntry,onNotify:S[8]||(S[8]=B=>_("notify",B))},null,8,["fields","protocols","readonly","show-expressions-modal-entry"]))],64)):e.createCommentVNode("",!0)],64))],64)}}}),[["__scopeId","data-v-cbda4882"]]),xe=t=>{var p,o,a,f,n;return!(typeof t.expression=="string"&&t.expression.length>0||(t.protocols||[]).sort().join(",")!=="http,https"||((p=t[r.PATHS])==null?void 0:p.length)>1||((o=t[r.HOSTS])==null?void 0:o.length)>1||t[r.HEADERS]&&typeof t[r.HEADERS]=="object"||((a=t[r.SNIS])==null?void 0:a.length)>0||((f=t[r.SOURCES])==null?void 0:f.length)>0||((n=t[r.DESTINATIONS])==null?void 0:n.length)>0||["path_handling","regex_priority","https_redirect_status_code","preserve_host","request_buffering","response_buffering"].some(_=>t[_]!==Ne[_]))},kt={class:"kong-ui-entities-route-form"},Nt={key:1},Vt={"data-testid":"no-search-results"},It={class:"route-form-service-dropdown-item"},xt={class:"select-item-label"},Rt={class:"select-item-description"},wt=U(e.defineComponent({__name:"RouteForm",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||(t==null?void 0:t.app)==="konnect"&&!(t!=null&&t.controlPlaneId)||(t==null?void 0:t.app)==="kongManager"&&typeof(t==null?void 0:t.workspace)!="string"||!(t!=null&&t.cancelRoute))},routeId:{type:String,required:!1,default:""},serviceId:{type:String,required:!1,default:""},hideSectionsInfo:{type:Boolean,required:!1,default:!1},hideNameField:{type:Boolean,required:!1,default:!1},hideServiceField:{type:Boolean,required:!1,default:!1},routeFlavors:{type:Object,required:!1,default:()=>({traditional:!0})},configTabTooltips:{type:Object,required:!1,default:()=>{}},showExpressionsModalEntry:{type:Boolean,required:!1,default:!1}},emits:["update","error","loading","model-updated","notify"],setup(t,{expose:V,emit:p}){var ae;const o=t,a=p,f=e.ref("basic"),n=e.ref(!o.routeFlavors.traditional&&o.routeFlavors.expressions?D.EXPRESSIONS:D.TRADITIONAL),_=e.ref(void 0),u=e.computed(()=>{if(_.value)return _.value;if(n.value)return n.value;if(o.routeFlavors.traditional)return D.TRADITIONAL;if(o.routeFlavors.expressions)return D.EXPRESSIONS}),{i18n:{t:m}}=H.useI18n(),c=Ee.useRouter(),{axiosInstance:h}=N.useAxios((ae=o.config)==null?void 0:ae.axiosRequestConfig),{getMessageFromError:I}=N.useErrors(),R=l=>l.name?`${l.name} - ${l.value}`:l.value,s=e.reactive({routeFlavors:o.routeFlavors,fields:{name:"",protocols:"http,https",tags:"",service_id:"",...de,paths:[""],snis:[""],hosts:[""],methods:[],headers:[{...M[r.HEADERS][0]}],sources:[{...M[r.SOURCES][0]}],destinations:[{...M[r.DESTINATIONS][0]}],regex_priority:0,path_handling:"v0",expression:"",priority:0},isReadonly:!1,errorMessage:""});e.watch(()=>o.routeFlavors,l=>{s.routeFlavors=l,l.traditional||(f.value="advanced")},{immediate:!0,deep:!0});const d=e.ref(),g=e.ref([]),w=e.ref([]),G=e.reactive({name:"",protocols:"http,https",tags:"",service_id:"",...de,path_handling:"v0",regex_priority:0,expression:"",priority:0}),$=o.config.app==="konnect"||N.useGatewayFeatureSupported({gatewayInfo:o.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),E=e.computed(()=>o.routeId?N.EntityBaseFormType.Edit:N.EntityBaseFormType.Create),S=e.computed(()=>{var l,i,y;return(y=(i=oe.form[(l=o.config)==null?void 0:l.app])==null?void 0:i.fetch)==null?void 0:y[o.serviceId?"forGatewayService":"all"].replace(/{serviceId}/gi,o.serviceId||"")}),b=()=>{var l;c.push((l=o.config)==null?void 0:l.cancelRoute)},O=l=>{a("loading",l)},ce=l=>{a("error",l)},z=l=>Object.entries(l).map(i=>{var y;return{header:i[0],values:(y=i[1])==null?void 0:y.join()}}),K=l=>l.some(i=>s.fields.protocols.includes(i)),se=l=>{var y,C;if(o.routeId){const T=typeof l.expression=="string"&&l.expression.length>0?D.EXPRESSIONS:D.TRADITIONAL;_.value=T,xe(l)||(f.value="advanced")}(y=l==null?void 0:l.service)!=null&&y.id&&(s.fields.service_id=l.service.id),s.fields.name=(l==null?void 0:l.name)||"";const i=(l==null?void 0:l.tags)||[];s.fields.tags=(i==null?void 0:i.join(", "))||"",s.fields.preserve_host=typeof(l==null?void 0:l.preserve_host)>"u"?!1:l==null?void 0:l.preserve_host,s.fields.https_redirect_status_code=(l==null?void 0:l.https_redirect_status_code)||426,(C=l==null?void 0:l.protocols)!=null&&C.length&&(l.protocols.length>1?s.fields.protocols=l.protocols.join():s.fields.protocols=l.protocols[0]),s.fields.request_buffering=typeof(l==null?void 0:l.request_buffering)>"u"?!0:l==null?void 0:l.request_buffering,s.fields.response_buffering=typeof(l==null?void 0:l.response_buffering)>"u"?!0:l==null?void 0:l.response_buffering,s.fields.strip_path=typeof(l==null?void 0:l.strip_path)>"u"?!0:l==null?void 0:l.strip_path,me(s)&&(s.fields.regex_priority=(l==null?void 0:l.regex_priority)||0,s.fields.path_handling=(l==null?void 0:l.path_handling)||"v0",l!=null&&l.paths&&(s.fields.paths=l.paths),l!=null&&l.snis&&(s.fields.snis=l.snis),l!=null&&l.hosts&&(s.fields.hosts=l.hosts),l!=null&&l.methods&&(s.fields.methods=l.methods.filter(T=>Object.keys(v).includes(T)),g.value=l.methods.filter(T=>!Object.keys(v).includes(T)).map(T=>({label:T,value:T})),w.value=[...g.value]),l!=null&&l.headers&&(s.fields.headers=z(l.headers)),l!=null&&l.sources&&(s.fields.sources=l.sources),l!=null&&l.destinations&&(s.fields.destinations=l.destinations)),he(s)&&(s.fields.expression=(l==null?void 0:l.expression)||"",s.fields.priority=(l==null?void 0:l.priority)||0),Object.assign(G,JSON.parse(JSON.stringify(s.fields)))},B=e.computed(()=>{switch(u.value){case D.TRADITIONAL:{if(me(s)){const l=s.fields.hosts?!!s.fields.hosts.filter(Boolean).length:null,i=s.fields.paths?!!s.fields.paths.filter(Boolean).length:null,y=s.fields.headers?s.fields.headers.some(({header:P})=>!!P):null,C=s.fields.snis?!!s.fields.snis.filter(Boolean).length:null,T=s.fields.destinations?s.fields.destinations.some(({ip:P,port:Y})=>!!P||!!Y):null,q=s.fields.sources?s.fields.sources.some(({ip:P,port:Y})=>!!P||!!Y):null,X=s.fields.methods?!!s.fields.methods.filter(Boolean).length:null;return!!s.fields.protocols&&(K(["http"])&&!!(l||X||i||y)||K(["https"])&&!!(l||X||i||y||C)||K(["grpc"])&&!!(l||i||y)||K(["grpcs","wss"])&&!!(l||i||y||C)||K(["udp","tls"])&&!!(T||q||C)||K(["tcp"])&&!!(T||q)||K(["tls_passthrough"])&&!!C||K(["ws"])&&!!(l||i||y))}break}case D.EXPRESSIONS:{if(he(s))return s.fields.expression.length>0;break}}return!0}),ee=e.computed(()=>!_e(s.fields,G)||!_e(g.value,w.value)),J=e.computed(()=>{var i,y;let l=`${o.config.apiBaseUrl}${oe.form[o.config.app][E.value][o.serviceId?"forGatewayService":"all"]}`;return o.config.app==="konnect"?l=l.replace(/{controlPlaneId}/gi,((i=o.config)==null?void 0:i.controlPlaneId)||"").replace(/{serviceId}/gi,o.serviceId||""):o.config.app==="kongManager"&&(l=l.replace(/\/{workspace}/gi,(y=o.config)!=null&&y.workspace?`/${o.config.workspace}`:"").replace(/{serviceId}/gi,o.serviceId||"")),l=l.replace(/{id}/gi,o.routeId),l});e.watch(()=>s.fields,()=>{a("model-updated",te.value)},{deep:!0});const te=e.computed(()=>{var l,i,y;return{...!o.hideNameField&&{name:s.fields.name||null},protocols:s.fields.protocols.split(","),tags:(i=(l=s.fields.tags.split(","))==null?void 0:l.map(C=>String(C||"").trim()))==null?void 0:i.filter(C=>C!==""),service:s.fields.service_id?{id:s.fields.service_id}:null,...(y=d.value)==null?void 0:y.payload}}),W=l=>{switch(u.value){case D.TRADITIONAL:{if(!("regex_priority"in l&&"path_handling"in l))return!1;break}case D.EXPRESSIONS:{if(!("priority"in l))return!1;break}}return"service"in l&&"tags"in l&&"protocols"in l},Q=async l=>{var y;const i=l&&W(l)?l:te.value;try{s.isReadonly=!0;let C;E.value==="create"?C=await h.post(J.value,i):E.value==="edit"&&(C=((y=o.config)==null?void 0:y.app)==="konnect"?await h.put(J.value,i):await h.patch(J.value,i)),se(C==null?void 0:C.data),a("update",C==null?void 0:C.data)}catch(C){s.errorMessage=I(C),a("error",C)}finally{s.isReadonly=!1}},{debouncedQueryChange:ne,loading:fe,error:ye,loadItems:Se,results:be}=N.useDebouncedFilter(o.config,oe.form[o.config.app].services,void 0,{fetchedItemsKey:"data",searchKeys:["id","name"]}),Te=e.computed(()=>ye.value?m("errors.services.fetch"):""),pe=e.computed(()=>{var l;return(l=be.value)==null?void 0:l.map(i=>({label:i.id,name:i.name,value:i.id}))});return e.onBeforeMount(async()=>{!o.hideServiceField&&!o.serviceId?await Se():s.fields.service_id=o.serviceId}),e.onMounted(()=>{a("model-updated",te.value)}),V({saveFormData:Q,payload:te}),e.provide("configType",f),(l,i)=>{const y=e.resolveComponent("KInput"),C=e.resolveComponent("KSelect");return e.openBlock(),e.createElementBlock("div",kt,[e.createVNode(e.unref(N.EntityBaseForm),{"can-submit":B.value&&ee.value,config:t.config,"edit-id":t.routeId,"entity-type":e.unref(N.SupportedEntityType).Route,"error-message":s.errorMessage||Te.value,"fetch-url":S.value,"form-fields":te.value,"is-readonly":s.isReadonly,onCancel:b,"onFetch:error":ce,"onFetch:success":se,onLoading:O,onSubmit:Q},{"form-actions":e.withCtx(()=>[e.renderSlot(l.$slots,"form-actions",{canSubmit:B.value&&ee.value,cancel:b,submit:Q},void 0,!0)]),default:e.withCtx(()=>[e.createVNode(e.unref(N.EntityFormSection),{description:e.unref(m)("form.sections.general.description"),"hide-info-header":t.hideSectionsInfo,title:e.unref(m)("form.sections.general.title")},{default:e.withCtx(()=>[t.hideNameField?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(y,{key:0,modelValue:s.fields.name,"onUpdate:modelValue":i[0]||(i[0]=T=>s.fields.name=T),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"route-form-name",label:e.unref(m)("form.fields.name.label"),placeholder:e.unref(m)("form.fields.name.placeholder"),readonly:s.isReadonly,type:"text"},null,8,["modelValue","label","placeholder","readonly"])),!t.hideServiceField&&!t.serviceId?(e.openBlock(),e.createElementBlock("div",Nt,[e.createVNode(C,{modelValue:s.fields.service_id,"onUpdate:modelValue":i[1]||(i[1]=T=>s.fields.service_id=T),clearable:"","data-testid":"route-form-service-id","enable-filtering":"","filter-function":()=>!0,items:pe.value,label:e.unref(m)("form.fields.service_id.label"),loading:e.unref(fe),placeholder:e.unref(m)("form.fields.service_id.placeholder"),readonly:s.isReadonly,"reuse-item-template":"",width:"100%",onQueryChange:e.unref(ne)},{loading:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(e.unref(m)("actions.loading")),1)]),empty:e.withCtx(()=>[e.createElementVNode("div",Vt,e.toDisplayString(e.unref(m)("search.no_results")),1)]),"selected-item-template":e.withCtx(({item:T})=>[e.createTextVNode(e.toDisplayString(R(T)),1)]),"item-template":e.withCtx(({item:T})=>[e.createElementVNode("div",It,[e.createElementVNode("span",xt,e.toDisplayString(T.name),1),e.createElementVNode("span",Rt,e.toDisplayString(T.value),1)])]),_:1},8,["modelValue","items","label","loading","placeholder","readonly","onQueryChange"])])):e.createCommentVNode("",!0),e.createVNode(y,{modelValue:s.fields.tags,"onUpdate:modelValue":i[2]||(i[2]=T=>s.fields.tags=T),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"route-form-tags",help:e.unref(m)("form.fields.tags.help"),label:e.unref(m)("form.fields.tags.label"),placeholder:e.unref(m)("form.fields.tags.placeholder"),readonly:s.isReadonly,type:"text"},null,8,["modelValue","help","label","placeholder","readonly"])]),_:1},8,["description","hide-info-header","title"]),e.createVNode(e.unref(N.EntityFormSection),{description:e.unref(m)("form.sections.config.description"),"hide-info-header":t.hideSectionsInfo,title:e.unref(m)("form.sections.config.title")},{default:e.withCtx(()=>[e.createVNode(Ie,{"config-flavor":n.value,"onUpdate:configFlavor":i[3]||(i[3]=T=>n.value=T),"config-type":f.value,"onUpdate:configType":i[4]||(i[4]=T=>f.value=T),"custom-methods":g.value,"onUpdate:customMethods":i[5]||(i[5]=T=>g.value=T),fields:s.fields,"onUpdate:fields":i[6]||(i[6]=T=>s.fields=T),"is-ws-supported":e.unref($),protocols:s.fields.protocols,readonly:s.isReadonly,"record-flavor":_.value,"route-flavors":t.routeFlavors,"show-expressions-modal-entry":t.showExpressionsModalEntry,tooltips:t.configTabTooltips,onNotify:i[7]||(i[7]=T=>a("notify",T)),"onUpdate:payload":i[8]||(i[8]=T=>d.value=T),"onUpdate:protocols":i[9]||(i[9]=T=>s.fields.protocols=T)},null,8,["config-flavor","config-type","custom-methods","fields","is-ws-supported","protocols","readonly","record-flavor","route-flavors","show-expressions-modal-entry","tooltips"])]),_:1},8,["description","hide-info-header","title"])]),_:3},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly"])])}}}),[["__scopeId","data-v-5be17e8c"]]),Bt={class:"kong-ui-entities-routes-list"},At={class:"button-row"},Dt={key:1},Ot={key:1},Mt={key:1},Ht={class:"route-list-cell-expression"},$t=U(e.defineComponent({__name:"RouteList",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||!t.createRoute||!t.getViewRoute||!t.getEditRoute||t.app==="kongManager"&&!t.isExactMatch&&!t.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canDebug:{type:Function,required:!1,default:async()=>!1},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1},hideTraditionalColumns:{type:Boolean,default:!1},hasExpressionColumn:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success"],setup(t,{emit:V}){var l;const p=V,o=t,{i18n:{t:a,formatUnixTimeStamp:f}}=H.useI18n(),n=Ee.useRouter(),{axiosInstance:_}=N.useAxios((l=o.config)==null?void 0:l.axiosRequestConfig),{handleStateChange:u,hasRecords:m}=N.useTableState(()=>w.value),c=e.computed(()=>m.value&&o.config.app==="konnect"),h=e.computed(()=>!!o.config.serviceId),I=e.computed(()=>o.config.app!=="kongManager"||!!o.config.disableSorting),R={name:{label:a("routes.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1},protocols:{label:a("routes.list.table_headers.protocols"),searchable:!0},...!o.hideTraditionalColumns&&{hosts:{label:a("routes.list.table_headers.hosts"),searchable:!0},methods:{label:a("routes.list.table_headers.methods"),searchable:!0},paths:{label:a("routes.list.table_headers.paths"),searchable:!0}},...o.hasExpressionColumn&&{expression:{label:a("routes.list.table_headers.expression"),tooltip:!0}},tags:{label:a("routes.list.table_headers.tags"),sortable:!1},updated_at:{label:a("routes.list.table_headers.updated_at"),sortable:!0},created_at:{label:a("routes.list.table_headers.created_at"),sortable:!0}},s={columnVisibility:{created_at:!1}},d=R,g=e.computed(()=>{var y,C,T,q;let i=`${o.config.apiBaseUrl}${oe.list[o.config.app][o.config.serviceId?"forGatewayService":"all"]}`;return o.config.app==="konnect"?i=i.replace(/{controlPlaneId}/gi,((y=o.config)==null?void 0:y.controlPlaneId)||"").replace(/{serviceId}/gi,((C=o.config)==null?void 0:C.serviceId)||""):o.config.app==="kongManager"&&(i=i.replace(/\/{workspace}/gi,(T=o.config)!=null&&T.workspace?`/${o.config.workspace}`:"").replace(/{serviceId}/gi,((q=o.config)==null?void 0:q.serviceId)||"")),i}),w=e.ref(""),G=e.computed(()=>{const i=o.config.app==="konnect"||o.config.isExactMatch;if(i)return{isExactMatch:i,placeholder:a(`search.placeholder.${o.config.isExactMatch?"exact":o.config.app}`)};const{name:y,protocols:C,hosts:T,methods:q,paths:X,expression:P}=R,Y={name:y,protocols:C,hosts:T,methods:q,paths:X,...o.hasExpressionColumn&&{expression:P}};return{isExactMatch:i,fields:Y,schema:o.config.filterSchema}}),{fetcher:$,fetcherState:E,fetcherCacheKey:S}=N.useFetcher(e.computed(()=>({...o.config,cacheIdentifier:o.cacheIdentifier})),g),b=i=>i.headerKey==="expression"?{style:{maxWidth:"250px",overflowX:"hidden",textOverflow:"ellipsis"}}:{},O=()=>{w.value=""},ce=()=>{S.value++},z=e.ref(null),K=async(i,y)=>{if(!await y(i.id)){p("copy:error",{entity:i,field:"id",message:a("errors.copy")});return}p("copy:success",{entity:i,field:"id",message:a("copy.success",{val:i.id})})},se=async(i,y)=>{const C=JSON.stringify(i);if(!await y(C)){p("copy:error",{entity:i,message:a("errors.copy")});return}p("copy:success",{entity:i,message:a("copy.success_brief")})},B=async i=>{var C;await((C=o.canRetrieve)==null?void 0:C.call(o,i))&&n.push(o.config.getViewRoute(i.id))},ee=i=>({label:a("actions.view"),to:o.config.getViewRoute(i)}),J=i=>({label:a("actions.edit"),to:o.config.getEditRoute(i)}),te=i=>{if(o.config.getDebugRoute)return{label:a("actions.debugger"),to:o.config.getDebugRoute(i)}},W=e.ref(void 0),Q=e.ref(!1),ne=e.ref(!1),fe=e.ref(""),ye=N.useDeleteUrlBuilder(o.config,g.value),Se=i=>{W.value=i,Q.value=!0},be=()=>{Q.value=!1},Te=async()=>{var i,y,C;if((i=W.value)!=null&&i.id){ne.value=!0;try{await _.delete(ye(W.value.id)),ne.value=!1,Q.value=!1,S.value++,p("delete:success",W.value)}catch(T){fe.value=((C=(y=T.response)==null?void 0:y.data)==null?void 0:C.message)||T.message||a("errors.delete"),p("error",T)}finally{ne.value=!1}}};e.watch(E,i=>{var y,C,T;if(i.status===N.FetcherStatus.Error){z.value={title:a("errors.general")},(T=(C=(y=i.error)==null?void 0:y.response)==null?void 0:C.data)!=null&&T.message&&(z.value.message=i.error.response.data.message),p("error",i.error);return}z.value=null});const pe=e.ref({ctaPath:o.config.createRoute,ctaText:void 0,message:`${a("routes.list.empty_state.description")}${o.config.additionMessageForEmptyState?` ${o.config.additionMessageForEmptyState}`:""}`,title:a("routes.title")}),ae=e.ref(!1);return e.onBeforeMount(async()=>{ae.value=await o.canCreate(),ae.value&&(pe.value.title=a("routes.list.empty_state.title"),pe.value.ctaText=a("actions.create"))}),(i,y)=>{const C=e.resolveComponent("KButton"),T=e.resolveComponent("KEmptyState"),q=e.resolveComponent("KBadge"),X=e.resolveComponent("KTruncate"),P=e.resolveComponent("KDropdownItem"),Y=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",Bt,[e.createVNode(e.unref(N.EntityBaseTable),{"cache-identifier":t.cacheIdentifier,"cell-attributes":b,"default-table-preferences":s,"disable-sorting":I.value,"empty-state-options":pe.value,"enable-entity-actions":"","error-message":z.value,fetcher:e.unref($),"fetcher-cache-key":e.unref(S),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-routes-list",query:w.value,"table-headers":e.unref(d),title:t.title,"title-tag":t.titleTag,onClearSearchInput:O,"onClick:row":y[7]||(y[7]=k=>B(k)),onSort:ce,onState:e.unref(u)},e.createSlots({"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(N.EntityFilter),{modelValue:w.value,"onUpdate:modelValue":y[0]||(y[0]=k=>w.value=k),config:G.value},null,8,["modelValue","config"])]),"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!t.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createElementVNode("div",At,[!h.value&&c.value?(e.openBlock(),e.createBlock(C,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"routes-learn-more-button",icon:"",onClick:y[1]||(y[1]=k=>i.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(j.BookIcon),{decorative:""})]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(N.PermissionsWrapper),{"auth-function":()=>t.canCreate()},{default:e.withCtx(()=>[e.createVNode(C,{appearance:"primary","data-testid":"toolbar-add-route",size:t.useActionOutside?"medium":"large",to:t.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(j.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(a)("routes.list.toolbar_actions.new_route")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:e.withCtx(({rowValue:k})=>[e.createElementVNode("b",null,e.toDisplayString(k??"-"),1)]),protocols:e.withCtx(({rowValue:k})=>[e.createVNode(X,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k,A=>(e.openBlock(),e.createBlock(q,{key:A,appearance:"neutral",onClick:y[3]||(y[3]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(A),1)]),_:2},1024))),128))]),_:2},1024)]),hosts:e.withCtx(({rowValue:k})=>[(k==null?void 0:k.length)>0?(e.openBlock(),e.createBlock(X,{key:0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k,A=>(e.openBlock(),e.createBlock(q,{key:A,appearance:"neutral",tooltip:A,"truncation-tooltip":"",onClick:y[4]||(y[4]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(A),1)]),_:2},1032,["tooltip"]))),128))]),_:2},1024)):(e.openBlock(),e.createElementBlock("span",Dt,"-"))]),methods:e.withCtx(({rowValue:k})=>[(k==null?void 0:k.length)>0?(e.openBlock(),e.createBlock(X,{key:0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k,A=>(e.openBlock(),e.createBlock(q,{key:A,appearance:Object.values(e.unref(Re.BadgeMethodAppearances)).includes(A.toLowerCase())?A.toLowerCase():"custom",onClick:y[5]||(y[5]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(A),1)]),_:2},1032,["appearance"]))),128))]),_:2},1024)):(e.openBlock(),e.createElementBlock("span",Ot,"-"))]),paths:e.withCtx(({rowValue:k})=>[(k==null?void 0:k.length)>0?(e.openBlock(),e.createBlock(X,{key:0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k,A=>(e.openBlock(),e.createBlock(q,{key:A,appearance:"neutral",tooltip:A,"truncation-tooltip":"",onClick:y[6]||(y[6]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(A),1)]),_:2},1032,["tooltip"]))),128))]),_:2},1024)):(e.openBlock(),e.createElementBlock("span",Mt,"-"))]),tags:e.withCtx(({rowValue:k})=>[e.createVNode(e.unref(N.TableTags),{tags:k},null,8,["tags"])]),expression:e.withCtx(({rowValue:k})=>[e.createElementVNode("span",Ht,e.toDisplayString(k||"-"),1)]),created_at:e.withCtx(({rowValue:k})=>[e.createTextVNode(e.toDisplayString(e.unref(f)(k)),1)]),updated_at:e.withCtx(({row:k,rowValue:A})=>[e.createTextVNode(e.toDisplayString(e.unref(f)(A??k.created_at)),1)]),actions:e.withCtx(({row:k})=>[e.createVNode(Y,null,{default:e.withCtx(({copyToClipboard:A})=>[e.createVNode(P,{"data-testid":"action-entity-copy-id",onClick:Ut=>K(k,A)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.copy_id")),1)]),_:1},8,["onClick"])]),_:2},1024),e.createVNode(Y,null,{default:e.withCtx(({copyToClipboard:A})=>[e.createVNode(P,{"data-testid":"action-entity-copy-json",onClick:Ut=>se(k,A)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.copy_json")),1)]),_:1},8,["onClick"])]),_:2},1024),e.createVNode(e.unref(N.PermissionsWrapper),{"auth-function":()=>t.canRetrieve(k)},{default:e.withCtx(()=>[e.createVNode(P,{"data-testid":"action-entity-view","has-divider":"",item:ee(k.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(N.PermissionsWrapper),{"auth-function":()=>t.canDebug(k)},{default:e.withCtx(()=>[t.config.getDebugRoute?(e.openBlock(),e.createBlock(P,{key:0,"data-testid":"action-entity-debug",item:te(k.id)},null,8,["item"])):e.createCommentVNode("",!0)]),_:2},1032,["auth-function"]),e.createVNode(e.unref(N.PermissionsWrapper),{"auth-function":()=>t.canEdit(k)},{default:e.withCtx(()=>[e.createVNode(P,{"data-testid":"action-entity-edit",item:J(k.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(N.PermissionsWrapper),{"auth-function":()=>t.canDelete(k)},{default:e.withCtx(()=>[e.createVNode(P,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:A=>Se(k)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.delete")),1)]),_:1},8,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!w.value&&t.config.app==="konnect"?{name:"empty-state",fn:e.withCtx(()=>{var k;return[e.createVNode(T,{"data-testid":t.config.serviceId?"nested-routes-entity-empty-state":"routes-entity-empty-state","icon-background":"",message:e.unref(a)("routes.list.empty_state_v2.description"),title:e.unref(a)("routes.list.empty_state_v2.title")},e.createSlots({icon:e.withCtx(()=>[e.createVNode(e.unref(j.ForwardIcon),{decorative:""})]),action:e.withCtx(()=>[ae.value?(e.openBlock(),e.createBlock(C,{key:0,"data-testid":"entity-create-button",to:t.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(j.AddIcon),{decorative:""}),e.createTextVNode(" "+e.toDisplayString(e.unref(a)("routes.list.toolbar_actions.new_route")),1)]),_:1},8,["to"])):e.createCommentVNode("",!0),e.createVNode(C,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:y[2]||(y[2]=A=>i.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(j.BookIcon),{decorative:""}),e.createTextVNode(" "+e.toDisplayString(e.unref(a)("routes.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[(k=t.config)!=null&&k.isControlPlaneGroup?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("routes.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["data-testid","message","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","title","title-tag","onState"]),e.createVNode(e.unref(N.EntityDeleteModal),{"action-pending":ne.value,description:e.unref(a)("delete.description"),"entity-name":W.value&&(W.value.name||W.value.id),"entity-type":e.unref(N.EntityTypes).Route,error:fe.value,title:e.unref(a)("delete.title"),visible:Q.value,onCancel:be,onProceed:Te},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-a438ef1a"]]),Pt=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"RouteFormExpressionsEditor",props:e.mergeModels({protocol:{},showExpressionsModalEntry:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["notify"],["update:modelValue"]),setup(t,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=t,a=e.useModel(t,"modelValue"),f=V,n=e.ref(!1),_=e.computed(()=>ie.PROTOCOL_TO_SCHEMA[o.protocol]),u=e.computed(()=>ie.HTTP_BASED_PROTOCOLS.includes(o.protocol??"")),m=e.computed(()=>{if(!(!o.showExpressionsModalEntry||u.value))return p("form.expression_playground.supported_protocols_hint",{protocols:ie.HTTP_BASED_PROTOCOLS.join(", ")})}),c=R=>{a.value=R,n.value=!1},h=R=>{f("notify",R)},I=()=>{u.value&&(n.value=!0)};return(R,s)=>{const d=e.resolveComponent("KTooltip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[_.value!==void 0?(e.openBlock(),e.createBlock(e.unref(ie.ExpressionsEditor),{key:0,modelValue:a.value,"onUpdate:modelValue":s[0]||(s[0]=g=>a.value=g),schema:_.value},null,8,["modelValue","schema"])):e.createCommentVNode("",!0),e.createVNode(d,{placement:"bottom-start",text:m.value},{default:e.withCtx(()=>[t.showExpressionsModalEntry?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass({disabled:!u.value,"route-form-open-in-playground":!0}),"data-testid":"open-router-playground",onClick:I},[e.renderSlot(R.$slots,"default")],2)):e.createCommentVNode("",!0)]),_:3},8,["text"]),t.showExpressionsModalEntry&&u.value?(e.openBlock(),e.createBlock(e.unref(ie.RouterPlaygroundModal),{key:1,"initial-expression":a.value,"is-visible":n.value,onCancel:s[1]||(s[1]=g=>n.value=!1),onCommit:c,onNotify:h},null,8,["initial-expression","is-visible"])):e.createCommentVNode("",!0)],64)}}})},Symbol.toStringTag,{value:"Module"}));x.ExpressionsEditorState=Z,x.HTTP_REDIRECT_STATUS_CODES=ge,x.INITIAL_ROUTE_RULES_FIELDS=Ne,x.INITIAL_SHARED_ROUTE_RULES_FIELDS=de,x.INITIAL_TRADITIONAL_ROUTE_RULES_VALUES=M,x.Methods=v,x.PATH_HANDLING_OPTIONS=ke,x.PROTOCOLS_TO_ROUTE_RULES=ue,x.RouteConfigCard=Oe,x.RouteFlavor=D,x.RouteForm=wt,x.RouteFormRulesComposer=Ie,x.RouteList=$t,x.RoutingRulesEntities=r,x.isDefinedByBasic=xe,x.stateHasExpressionsFlavor=he,x.stateHasTraditionalFlavor=me,Object.defineProperty(x,Symbol.toStringTag,{value:"Module"})});
1
+ (function(x,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@kong-ui-public/entities-shared"),require("lodash.isequal"),require("vue-router"),require("@kong/icons"),require("@kong/kongponents"),require("@kong-ui-public/expressions"),require("@kong-ui-public/i18n")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/entities-shared","lodash.isequal","vue-router","@kong/icons","@kong/kongponents","@kong-ui-public/expressions","@kong-ui-public/i18n"],e):(x=typeof globalThis<"u"?globalThis:x||self,e(x["kong-ui-public-entities-routes"]={},x.Vue,x["kong-ui-public-entities-shared"],x.isEqual,x.VueRouter,x.KongIcons,x.Kongponents,x["kong-ui-public-expressions"],x["kong-ui-public-i18n"]))})(this,function(x,e,N,_e,Ee,j,Re,ie,Ce){"use strict";const F="/v2/control-planes/{controlPlaneId}/core-entities",L="/{workspace}",oe={list:{konnect:{all:`${F}/routes`,forGatewayService:`${F}/services/{serviceId}/routes`},kongManager:{all:`${L}/routes`,forGatewayService:`${L}/services/{serviceId}/routes`}},form:{konnect:{services:`${F}/services`,create:{all:`${F}/routes`,forGatewayService:`${F}/services/{serviceId}/routes`},fetch:{all:`${F}/routes/{id}`,forGatewayService:`${F}/services/{serviceId}/routes/{id}`},edit:{all:`${F}/routes/{id}`,forGatewayService:`${F}/services/{serviceId}/routes/{id}`}},kongManager:{services:`${L}/services`,create:{all:`${L}/routes`,forGatewayService:`${L}/services/{serviceId}/routes`},fetch:{all:`${L}/routes/{id}`,forGatewayService:`${L}/services/{serviceId}/routes/{id}`},edit:{all:`${L}/routes/{id}`,forGatewayService:`${L}/services/{serviceId}/routes/{id}`}}},item:{konnect:{getService:`${F}/services/{serviceId}`,all:`${F}/routes/{id}`,forGatewayService:`${F}/services/{serviceId}/routes/{id}`},kongManager:{getService:`${L}/services/{serviceId}`,all:`${L}/routes/{id}`,forGatewayService:`${L}/services/{serviceId}/routes/{id}`}}},we={actions:{create:"New route",debugger:"Start debugging",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",clear:"Clear",view:"View Details",loading:"Loading..."},search:{placeholder:{konnect:"Filter by name",exact:"Filter by exact name or ID",kongManager:"Filter by exact name or ID"},no_results:"No results found"},routes:{title:"Routes",list:{toolbar_actions:{new_route:"New route"},table_headers:{name:"Name",protocols:"Protocols",hosts:"Hosts",methods:"Methods",paths:"Paths",expression:"Expression",id:"ID",tags:"Tags",created_at:"Created At",updated_at:"Last Modified"},empty_state:{title:"Configure a New Route",description:"Routes proxy requests to an associated Service."},empty_state_v2:{title:"Configure your first route",group:"Routes created in gateways within this group will automatically appear here.",description:"Routes direct incoming API requests to the appropriate gateway service based on paths, methods, and headers, ensuring efficient traffic flow.",learn_more:"Learn more"}}},delete:{title:"Delete a Route",description:"Deleting this route will also remove any associated plugins. This action cannot be reversed."},errors:{general:"Routes could not be retrieved",delete:"The route could not be deleted at this time.",copy:"Failed to copy to clipboard",services:{fetch:"Could not fetch available services"}},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},form:{config_flavor:{label:"Define by"},config_types:{basic:{description:"Quickly set up a route with HTTP & HTTPS protocol with the essentials: path, method, and host.",label:"Basic"},advanced:{description:"Define complex route logic with other protocols or additional paths or attributes such as headers.",label:"Advanced"}},protocols:{grpc:"GRPC",grpcs:"GRPCS","grpc,grpcs":"GRPC, GRPCS",http:"HTTP",https:"HTTPS","http,https":"HTTP, HTTPS",tls:"TLS",tcp:"TCP",udp:"UDP","tls,udp":"TLS, UDP","tcp,udp":"TCP, UDP","tcp,tls":"TCP, TLS","tcp,tls,udp":"TCP, TLS, UDP",ws:"WS",wss:"WSS","ws,wss":"WS, WSS",tls_passthrough:"TLS_PASSTHROUGH"},sections:{general:{title:"General Information",description:"General information will help you identify and manage this route"},config:{title:"Route Configuration",description:"Route configuration determines how this route will handle incoming requests"},routingRules:{title:"Routing Rules"},routingExpression:{title:"Routing Expression"}},fields:{service_id:{label:"Service",placeholder:"Select a service"},name:{label:"Name",placeholder:"Enter a unique name",tooltip:"The name of the Route. Route names must be unique, and they are case sensitive. For example, there can be two different Routes named 'test' and 'Test'."},service:{label:"Gateway Service",tooltip:"The Service this Route is associated to. This is where the Route proxies traffic to."},tags:{label:"Tags",tooltip:"An optional set of strings associated with the Route for grouping and filtering.",placeholder:"Enter a list of tags separated by commas",help:"e.g. tag1, tag2, tag3"},protocols:{label:"Protocols",tooltip:"The protocols this route supports."},path_handling:{label:"Path Handling",tooltip:"Controls how Kong modifies the request path before proxying to the upstream service. Use v1 for standardized, predictable path behavior. Use v0 for legacy compatibility."},https_redirect_status_code:{label:"HTTPS Redirect Status Code",tooltip:"Specifies the HTTP status code for redirecting requests from HTTP to HTTPS. Use <code>301</code> or <code>308</code> for permanent redirects, <code>302</code> or <code>307</code> for temporary redirects."},regex_priority:{label:"Regex Priority",tooltip:"Regex priority is determined by length first (longer patterns win), and when lengths are the same, more specific regexes are preferred. When two routes match the path and have the same <code>regex_priority</code>, the older one (lowest <code>created_at</code>) is used."},strip_path:{label:"Strip Path",tooltip:"When enabled, Kong removes the portion of the request path that matches the route's path before forwarding the request to the upstream. If the request exactly matches the route, the result is <code>/</code>. Disable if that's not desired."},preserve_host:{label:"Preserve Host",tooltip:"Keeps the original <code>Host</code> header when proxying requests. Enable this if the upstream service requires the client's <code>Host</code> value. Disable if the service expects its own hostname."},paths:{add:"Add a path",label:"Paths",label_singular:"Path",placeholder:"e.g. /api/v1",singular:"path",tooltip:"Match specific URL paths, such as <code>/api/v1</code>. Prefix with <code>~</code> to enable regex-based matching."},snis:{add:"Add an SNI",label:"SNIs",placeholder:"e.g. api.example.com",singular:"SNI",tooltip:"SNIs (Server Name Indications) that match the route when using stream routing."},hosts:{add:"Add a host",label:"Hosts",label_singular:"Host",placeholder:"e.g. example.com",singular:"host",tooltip:"Match specific domain names, such as <code>api.example.com</code>."},methods:{label:"Methods",placeholder:"Select methods",search_placeholder:"Search for a method or enter a custom method",singular:"method",tooltip:"Match specific HTTP methods, such as GET or POST. If no method is selected, all methods are included.",custom:{label:"Custom",placeholder:"Enter a custom method",tooltip:"Custom methods can be used with default selections. Uppercase characters are required."}},headers:{add:"Add a header",label:"Headers",singular:"header",tooltip:"Match specific headers, such as <code>x-api-version</code> or <code>x-region</code>. Doesn't accept the <code>Host</code> header. Provide only one entry and prefix with <code>~</code> to enable regex-based matching.",name:{placeholder:"e.g. x-api-version"},values:{placeholder:"e.g. v1"}},sources:{add:"Add a source",label:"Sources",singular:"source",tooltip:"A list of IP sources of incoming connections that match this Route when using stream routing.",ip:{placeholder:"Enter a source IP"},port:{placeholder:"Enter a source port"}},destinations:{add:"Add a destination",label:"Destinations",singular:"destination",tooltip:"A list of IP destinations of incoming connections that match this Route when using stream routing.",ip:{placeholder:"Enter a destination IP"},port:{placeholder:"Enter a destination port"}},response_buffering:{label:"Response buffering",tooltip:"Reads and buffers the full response from the upstream service before sending it to the client. Enable buffering if the client expects the complete response at once. Disable for faster streaming of large or chunked responses."},request_buffering:{label:"Request buffering",tooltip:"Reads and buffers the full request body before proxying. Enable buffering if the upstream service requires the complete request before processing. Disable for faster streaming of large or chunked requests."},expression:{label:"Expression",tooltip:"The route expression."},priority:{label:"Priority",tooltip:"A number used to choose which route resolves a given request when several routes match it using expression simultaneously."}},flavors:{traditional:"Traditional Form",expressions:"Expressions Editor"},show_more:"Show more",hint:{rules_message:"Choose at least one {routingRules} option.",single_rule:"{routingRules}",multiple_rules:"{routingRules} or {lastRoutingRule}",advanced:"To add more than one, use the Advanced options."},warning:{cannotChangeFlavor:{create:"The format of the route cannot be changed once created.",edit:"This route was configured in the {format} format, and cannot be changed after creation. You can switch to the {format} tab to edit, or create a new route in a different format instead."}},expressions_editor:{loading:"Loading the Expressions editor…",error:"Error occurred while loading the Expressions editor. Please view the console for more details."},expression_playground:{test_link:"Test with Router Playground",supported_protocols_hint:"Currently only supports the following protocols: {protocols}"}}};function Be(){const t=Ce.createI18n("en-us",we);return{i18n:t,i18nT:Ce.i18nTComponent(t)}}const H={useI18n:Be},Ae={class:"kong-ui-entities-route-entity-config-card"},De={key:2},Oe=e.defineComponent({__name:"RouteConfigCard",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||t.app==="konnect"&&!t.controlPlaneId||t.app==="kongManager"&&typeof t.workspace!="string"||!t.entityId)},configCardDoc:{type:String,default:"",required:!1},hideTitle:{type:Boolean,default:!1},serviceId:{type:String,required:!1,default:""}},emits:["loading","fetch:error","fetch:success","navigation-click"],setup(t,{emit:V}){var R;const p=V,o=t,{axiosInstance:a}=N.useAxios((R=o.config)==null?void 0:R.axiosRequestConfig),{i18n:{t:f}}=H.useI18n(),n=e.ref(""),_=e.ref(""),u=e.ref(!1),m=e.computed(()=>{var s,d;return(d=oe.item[(s=o.config)==null?void 0:s.app])==null?void 0:d[o.serviceId?"forGatewayService":"all"].replace(/{serviceId}/gi,o.serviceId)}),c=e.computed(()=>{var s;return(s=oe.item[o.config.app])==null?void 0:s.getService}),h=async s=>{var g,w,G;if(n.value=o.serviceId||((g=s==null?void 0:s.service)==null?void 0:g.id),p("fetch:success",s),!n.value)return;let d=`${o.config.apiBaseUrl}${c.value}`;o.config.app==="konnect"?d=d.replace(/{controlPlaneId}/gi,((w=o.config)==null?void 0:w.controlPlaneId)||"").replace(/{serviceId}/gi,n.value||""):o.config.app==="kongManager"&&(d=d.replace(/\/{workspace}/gi,(G=o.config)!=null&&G.workspace?`/${o.config.workspace}`:"").replace(/{serviceId}/gi,n.value||""));try{u.value=!0;const{data:$}=await a.get(d);_.value=($==null?void 0:$.name)||($==null?void 0:$.id)}catch($){p("fetch:error",$)}finally{u.value=!1}},I=e.ref({id:{},name:{tooltip:f("form.fields.name.tooltip")},created_at:{},updated_at:{},service:{label:f("form.fields.service.label"),section:N.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.service.tooltip"),order:5},tags:{tooltip:f("form.fields.tags.tooltip"),order:6},protocols:{section:N.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.protocols.tooltip"),type:N.ConfigurationSchemaType.BadgeTag,order:7},paths:{section:N.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.paths.tooltip"),type:N.ConfigurationSchemaType.CopyBadge,order:8},hosts:{section:N.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.hosts.tooltip"),type:N.ConfigurationSchemaType.CopyBadge,order:9},snis:{label:f("form.fields.snis.label"),tooltip:f("form.fields.snis.tooltip"),order:10},headers:{section:N.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.headers.tooltip"),order:11},methods:{section:N.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.methods.tooltip"),type:N.ConfigurationSchemaType.BadgeMethod,order:12},sources:{section:N.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.sources.tooltip"),type:N.ConfigurationSchemaType.JsonArray,order:13},destinations:{section:N.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.destinations.tooltip"),type:N.ConfigurationSchemaType.JsonArray,order:14},https_redirect_status_code:{tooltip:f("form.fields.https_redirect_status_code.tooltip"),order:1},regex_priority:{tooltip:f("form.fields.regex_priority.tooltip"),order:2},strip_path:{tooltip:f("form.fields.strip_path.tooltip"),order:3},preserve_host:{tooltip:f("form.fields.preserve_host.tooltip"),order:4},request_buffering:{tooltip:f("form.fields.request_buffering.tooltip"),order:5},response_buffering:{tooltip:f("form.fields.response_buffering.tooltip"),order:6},path_handling:{tooltip:f("form.fields.path_handling.tooltip"),order:7}});return(s,d)=>{const g=e.resolveComponent("KSkeleton");return e.openBlock(),e.createElementBlock("div",Ae,[e.createVNode(e.unref(N.EntityBaseConfigCard),{config:t.config,"config-card-doc":t.configCardDoc,"config-schema":I.value,"entity-type":e.unref(N.SupportedEntityType).Route,"fetch-url":m.value,"hide-title":t.hideTitle,"onFetch:error":d[0]||(d[0]=w=>s.$emit("fetch:error",w)),"onFetch:success":h,onLoading:d[1]||(d[1]=w=>s.$emit("loading",w))},{service:e.withCtx(({row:w})=>[u.value?(e.openBlock(),e.createBlock(g,{key:0,"data-testid":"service-name-loader",type:"spinner"})):w.value&&w.value.id===n.value&&_.value?(e.openBlock(),e.createBlock(e.unref(N.InternalLinkItem),{key:1,item:{key:w.value.id,value:_.value,type:e.unref(N.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>s.$emit("navigation-click",w.value.id,"services")},null,8,["item","onNavigationClick"])):(e.openBlock(),e.createElementBlock("div",De,e.toDisplayString("-")))]),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title"])])}}});var D=(t=>(t.TRADITIONAL="traditional",t.EXPRESSIONS="expressions",t))(D||{}),r=(t=>(t.PATHS="paths",t.SNIS="snis",t.HOSTS="hosts",t.METHODS="methods",t.HEADERS="headers",t.SOURCES="sources",t.DESTINATIONS="destinations",t))(r||{}),Z=(t=>(t.LOADING="loading",t.ERROR="error",t.READY="ready",t))(Z||{}),v=(t=>(t.GET="GET",t.PUT="PUT",t.POST="POST",t.PATCH="PATCH",t.DELETE="DELETE",t.OPTIONS="OPTIONS",t.HEAD="HEAD",t.CONNECT="CONNECT",t.TRACE="TRACE",t))(v||{});const me=t=>t.routeFlavors.traditional===!0,he=t=>t.routeFlavors.expressions===!0,M={[r.PATHS]:[""],[r.SNIS]:[""],[r.HOSTS]:[""],[r.METHODS]:[],[r.HEADERS]:[{header:"",values:""}],[r.SOURCES]:[{ip:"",port:null}],[r.DESTINATIONS]:[{ip:"",port:null}]},ue={http:[r.PATHS,r.METHODS,r.HOSTS,r.HEADERS],https:[r.PATHS,r.METHODS,r.HOSTS,r.HEADERS,r.SNIS],"http,https":[r.PATHS,r.METHODS,r.HOSTS,r.HEADERS,r.SNIS],"https,http":[r.PATHS,r.METHODS,r.HOSTS,r.HEADERS,r.SNIS],grpc:[r.PATHS,r.HOSTS,r.HEADERS],grpcs:[r.PATHS,r.HOSTS,r.HEADERS,r.SNIS],"grpc,grpcs":[r.PATHS,r.HOSTS,r.HEADERS,r.SNIS],"grpcs,grpc":[r.PATHS,r.HOSTS,r.HEADERS,r.SNIS],udp:[r.SOURCES,r.DESTINATIONS],tls:[r.SOURCES,r.DESTINATIONS,r.SNIS],tcp:[r.SOURCES,r.DESTINATIONS],"tls,udp":[r.SOURCES,r.DESTINATIONS,r.SNIS],"udp,tls":[r.SOURCES,r.DESTINATIONS,r.SNIS],"tcp,udp":[r.SOURCES,r.DESTINATIONS],"udp,tcp":[r.SOURCES,r.DESTINATIONS],"tcp,tls":[r.SOURCES,r.DESTINATIONS,r.SNIS],"tls,tcp":[r.SOURCES,r.DESTINATIONS,r.SNIS],"tcp,tls,udp":[r.SOURCES,r.DESTINATIONS,r.SNIS],"tls,udp,tcp":[r.SOURCES,r.DESTINATIONS,r.SNIS],"udp,tcp,tls":[r.SOURCES,r.DESTINATIONS,r.SNIS],tls_passthrough:[r.SNIS],ws:[r.PATHS,r.HOSTS,r.HEADERS],wss:[r.PATHS,r.HOSTS,r.HEADERS,r.SNIS],"ws,wss":[r.PATHS,r.HOSTS,r.HEADERS,r.SNIS],"wss,ws":[r.PATHS,r.HOSTS,r.HEADERS,r.SNIS]},ge=[{label:"426",value:426},{label:"301",value:301},{label:"302",value:302},{label:"307",value:307},{label:"308",value:308}],ke=[{label:"v0",value:"v0"},{label:"v1",value:"v1"}],de={https_redirect_status_code:426,strip_path:!0,preserve_host:!1,request_buffering:!0,response_buffering:!0},Ne={...de,paths:[""],regex_priority:0,path_handling:"v0",expression:"",priority:0},Me=e.defineComponent({__name:"RuleControlsAdd",props:{routingRulesEntity:{}},emits:["add"],setup(t,{emit:V}){const p=t,o=V,a=e.inject("configType","basic"),{i18n:{t:f}}=H.useI18n(),n=e.computed(()=>f(`form.fields.${p.routingRulesEntity}.add`));return(_,u)=>{const m=e.resolveComponent("KButton");return e.unref(a)!=="basic"?(e.openBlock(),e.createBlock(m,{key:0,appearance:"tertiary",class:"routing-rule-add-item-button","data-testid":`add-${t.routingRulesEntity}`,onClick:u[0]||(u[0]=c=>o("add"))},{default:e.withCtx(()=>[e.createVNode(e.unref(j.AddIcon)),e.createElementVNode("span",null,e.toDisplayString(n.value),1)]),_:1},8,["data-testid"])):e.createCommentVNode("",!0)}}}),U=(t,V)=>{const p=t.__vccOpts||t;for(const[o,a]of V)p[o]=a;return p},re=U(Me,[["__scopeId","data-v-f1f4cfc9"]]),He="#afb7c5",$e="#0044f4",Pe="16px",le=e.defineComponent({__name:"RuleControlsRemove",props:{disabled:{type:Boolean},routingRulesEntity:{}},emits:["remove"],setup(t,{emit:V}){const p=V,o=e.inject("configType","basic");return(a,f)=>{const n=e.resolveComponent("KButton");return e.unref(o)!=="basic"?(e.openBlock(),e.createBlock(n,{key:0,appearance:"tertiary","data-testid":`remove-${t.routingRulesEntity}`,disabled:t.disabled,icon:"",onClick:f[0]||(f[0]=_=>p("remove"))},{default:e.withCtx(()=>[e.createVNode(e.unref(j.CloseIcon),{color:t.disabled?e.unref(He):e.unref($e)},null,8,["color"])]),_:1},8,["data-testid","disabled"])):e.createCommentVNode("",!0)}}}),Ue={class:"routing-rule-container"},Fe=["innerHTML"],Le=U(e.defineComponent({__name:"DestinationRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(t,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(t,"modelValue"),a=V;return(f,n)=>{const _=e.resolveComponent("KLabel"),u=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",Ue,[e.createVNode(_,{"tooltip-attributes":{maxWidth:"320"}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(p)("form.fields.destinations.tooltip")},null,8,Fe)]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(e.unref(p)("form.fields.destinations.label")),1)]),_:1}),e.createVNode(e.TransitionGroup,{name:"appear"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(m,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:"routing-rule-input"},[e.createVNode(u,{modelValue:o.value[c].ip,"onUpdate:modelValue":h=>o.value[c].ip=h,modelModifiers:{trim:!0},"data-testid":`route-form-destinations-ip-input-${c+1}`,placeholder:e.unref(p)("form.fields.destinations.ip.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(u,{modelValue:o.value[c].port,"onUpdate:modelValue":h=>o.value[c].port=h,modelModifiers:{number:!0},"data-testid":`route-form-destinations-port-input-${c+1}`,max:"65535",min:"0",placeholder:e.unref(p)("form.fields.destinations.port.placeholder"),type:"number"},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(le,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).DESTINATIONS,onRemove:h=>a("remove",c)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(re,{"routing-rules-entity":e.unref(r).DESTINATIONS,onAdd:n[0]||(n[0]=m=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-3eb40a37"]]),Ke={class:"routing-rule-container"},qe=["innerHTML"],Ge=U(e.defineComponent({__name:"HeaderRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(t,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(t,"modelValue"),a=V;return(f,n)=>{const _=e.resolveComponent("KLabel"),u=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",Ke,[e.createVNode(_,{"tooltip-attributes":{maxWidth:"320"}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(p)("form.fields.headers.tooltip")},null,8,qe)]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(e.unref(p)("form.fields.headers.label")),1)]),_:1}),e.createVNode(e.TransitionGroup,{name:"appear"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(m,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:"routing-rule-input"},[e.createVNode(u,{modelValue:o.value[c].header,"onUpdate:modelValue":h=>o.value[c].header=h,modelModifiers:{trim:!0},"data-testid":`route-form-headers-name-input-${c+1}`,placeholder:e.unref(p)("form.fields.headers.name.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(u,{modelValue:o.value[c].values,"onUpdate:modelValue":h=>o.value[c].values=h,modelModifiers:{trim:!0},"data-testid":`route-form-headers-values-input-${c+1}`,placeholder:e.unref(p)("form.fields.headers.values.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(le,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).HEADERS,onRemove:h=>a("remove",c)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(re,{"routing-rules-entity":e.unref(r).HEADERS,onAdd:n[0]||(n[0]=m=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-d3bede0b"]]),je={class:"routing-rule-container"},We=["innerHTML"],Xe=U(e.defineComponent({__name:"HostRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(t,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(t,"modelValue"),a=V,f=e.inject("configType","basic");return(n,_)=>{const u=e.resolveComponent("KLabel"),m=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",je,[e.createVNode(u,{"tooltip-attributes":{maxWidth:"320"}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(p)("form.fields.hosts.tooltip")},null,8,We)]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(e.unref(f)==="basic"?e.unref(p)("form.fields.hosts.label_singular"):e.unref(p)("form.fields.hosts.label")),1)]),_:1}),e.createVNode(e.TransitionGroup,{name:"appear"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f)==="basic"?o.value.slice(0,1):o.value,(c,h)=>(e.openBlock(),e.createElementBlock("div",{key:h,class:"routing-rule-input"},[e.createVNode(m,{modelValue:o.value[h],"onUpdate:modelValue":I=>o.value[h]=I,modelModifiers:{trim:!0},"data-testid":`route-form-hosts-input-${h+1}`,placeholder:e.unref(p)("form.fields.hosts.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(le,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).HOSTS,onRemove:I=>a("remove",h)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(re,{"routing-rules-entity":e.unref(r).HOSTS,onAdd:_[0]||(_[0]=c=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-dccd9082"]]),ze={class:"routing-rule-container","data-testid":"route-form-methods"},Je=["innerHTML"],Qe={class:"routing-rule-input"},Ye=U(e.defineComponent({__name:"MethodRules",props:{methods:{required:!0},methodsModifiers:{},customMethods:{required:!0},customMethodsModifiers:{}},emits:["update:methods","update:customMethods"],setup(t){const{i18n:{t:V}}=H.useI18n(),p=e.useModel(t,"methods"),o=e.useModel(t,"customMethods"),a=e.computed(()=>p.value.filter(m=>Object.keys(v).includes(m)).concat(o.value.map(m=>m.value))),f=e.computed(()=>Object.keys(v).map(m=>({label:m,value:m})).concat(o.value.map(m=>({label:m.label,value:m.value,custom:!0})))),n=m=>!f.value.map(c=>c.value.toLowerCase()).includes(m.toLowerCase()),_=(m,c)=>{c?o.value.push(m):o.value=o.value.filter(h=>h.value!==m.value)},u=m=>{p.value=m};return(m,c)=>{const h=e.resolveComponent("KLabel"),I=e.resolveComponent("KMultiselect");return e.openBlock(),e.createElementBlock("div",ze,[e.createVNode(h,{"tooltip-attributes":{maxWidth:"320"}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(V)("form.fields.methods.tooltip")},null,8,Je)]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(e.unref(V)("form.fields.methods.label")),1)]),_:1}),e.createElementVNode("div",Qe,[e.createVNode(I,{"enable-item-creation":"","item-creation-validator":n,items:f.value,"model-value":a.value,placeholder:e.unref(V)("form.fields.methods.placeholder"),"search-placeholder":e.unref(V)("form.fields.methods.search_placeholder"),onItemAdded:c[0]||(c[0]=R=>_(R,!0)),onItemRemoved:c[1]||(c[1]=R=>_(R,!1)),"onUpdate:modelValue":u},null,8,["items","model-value","placeholder","search-placeholder"])])])}}}),[["__scopeId","data-v-6c94d6d2"]]),Ze={class:"routing-rule-container"},ve=["innerHTML"],et=U(e.defineComponent({__name:"PathRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(t,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(t,"modelValue"),a=V,f=e.inject("configType","basic");return(n,_)=>{const u=e.resolveComponent("KLabel"),m=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",Ze,[e.createVNode(u,{"tooltip-attributes":{maxWidth:"320"}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(p)("form.fields.paths.tooltip")},null,8,ve)]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(e.unref(f)==="basic"?e.unref(p)("form.fields.paths.label_singular"):e.unref(p)("form.fields.paths.label")),1)]),_:1}),e.createVNode(e.TransitionGroup,{name:"appear"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f)==="basic"?o.value.slice(0,1):o.value,(c,h)=>(e.openBlock(),e.createElementBlock("div",{key:h,class:"routing-rule-input"},[e.createVNode(m,{modelValue:o.value[h],"onUpdate:modelValue":I=>o.value[h]=I,modelModifiers:{trim:!0},"data-testid":`route-form-paths-input-${h+1}`,placeholder:e.unref(p)("form.fields.paths.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(le,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).PATHS,onRemove:I=>a("remove",h)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(re,{"routing-rules-entity":e.unref(r).PATHS,onAdd:_[0]||(_[0]=c=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-eb440a9e"]]),tt={class:"routing-rule-container"},ot=["innerHTML"],rt=U(e.defineComponent({__name:"SniRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(t,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(t,"modelValue"),a=V;return(f,n)=>{const _=e.resolveComponent("KLabel"),u=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",tt,[e.createVNode(_,{"tooltip-attributes":{maxWidth:"320"}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(p)("form.fields.snis.tooltip")},null,8,ot)]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(e.unref(p)("form.fields.snis.label")),1)]),_:1}),e.createVNode(e.TransitionGroup,{name:"appear"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(m,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:"routing-rule-input"},[e.createVNode(u,{modelValue:o.value[c],"onUpdate:modelValue":h=>o.value[c]=h,modelModifiers:{trim:!0},"data-testid":`route-form-snis-input-${c+1}`,placeholder:e.unref(p)("form.fields.snis.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(le,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).SNIS,onRemove:h=>a("remove",c)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(re,{"routing-rules-entity":e.unref(r).SNIS,onAdd:n[0]||(n[0]=m=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-e6782e08"]]),lt={class:"routing-rule-container"},st=["innerHTML"],nt=U(e.defineComponent({__name:"SourceRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(t,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(t,"modelValue"),a=V;return(f,n)=>{const _=e.resolveComponent("KLabel"),u=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",lt,[e.createVNode(_,{"tooltip-attributes":{maxWidth:"320"}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(p)("form.fields.sources.tooltip")},null,8,st)]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(e.unref(p)("form.fields.sources.label")),1)]),_:1}),e.createVNode(e.TransitionGroup,{name:"appear"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(m,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:"routing-rule-input"},[e.createVNode(u,{modelValue:o.value[c].ip,"onUpdate:modelValue":h=>o.value[c].ip=h,modelModifiers:{trim:!0},"data-testid":`route-form-sources-ip-input-${c+1}`,placeholder:e.unref(p)("form.fields.sources.ip.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(u,{modelValue:o.value[c].port,"onUpdate:modelValue":h=>o.value[c].port=h,modelModifiers:{number:!0},"data-testid":`route-form-sources-port-input-${c+1}`,max:"65535",min:"0",placeholder:e.unref(p)("form.fields.sources.port.placeholder"),type:"number"},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(le,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).SOURCES,onRemove:h=>a("remove",c)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(re,{"routing-rules-entity":e.unref(r).SOURCES,onAdd:n[0]||(n[0]=m=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-448078c1"]]),at={class:"traditional-rules-hint"},it={key:0},dt=["innerHTML"],ct={key:0,class:"route-form-fields-container route-form-advanced-fields-container"},pt=["innerHTML"],ut=["innerHTML"],ft=["innerHTML"],mt=["innerHTML"],ht=["innerHTML"],gt=["innerHTML"],Ve=U(e.defineComponent({__name:"TraditionalRules",props:e.mergeModels({protocols:{},hideAdvanced:{type:Boolean},readonly:{type:Boolean},configType:{}},{fields:{required:!0},fieldsModifiers:{},customMethods:{required:!0},customMethodsModifiers:{}}),emits:["update:fields","update:customMethods"],setup(t){const{i18nT:V,i18n:p,i18n:{t:o}}=H.useI18n(),a=p.source.form.protocols,f=t,n=e.useModel(t,"fields"),_=e.useModel(t,"customMethods"),u=s=>{switch(s){case r.PATHS:Array.isArray(n.value.paths)?n.value.paths.push([...M[r.PATHS]][0]):n.value.paths=[...M[r.PATHS]];break;case r.SNIS:Array.isArray(n.value.snis)?n.value.snis.push([...M[r.SNIS]][0]):n.value.snis=[...M[r.SNIS]];break;case r.HOSTS:Array.isArray(n.value.hosts)?n.value.hosts.push([...M[r.HOSTS]][0]):n.value.hosts=[...M[r.HOSTS]];break;case r.METHODS:n.value.methods||(n.value.methods={...M[r.METHODS]});break;case r.HEADERS:Array.isArray(n.value.headers)?n.value.headers.push({...M[r.HEADERS][0]}):n.value.headers=[{...M[r.HEADERS][0]}];break;case r.SOURCES:Array.isArray(n.value.sources)?n.value.sources.push({...M[r.SOURCES][0]}):n.value.sources=[{...M[r.SOURCES][0]}];break;case r.DESTINATIONS:Array.isArray(n.value.destinations)?n.value.destinations.push({...M[r.DESTINATIONS][0]}):n.value.destinations=[{...M[r.DESTINATIONS][0]}];break}},m=async(s,d)=>{if(typeof d<"u"){const g=n.value[s];if(Array.isArray(g)&&(g.splice(d,1),g.length>0))return}await e.nextTick(()=>{delete n.value[s]})},c=s=>s.some(d=>f.protocols.includes(d)),h=e.computed(()=>new Set(ue[f.protocols])),I=e.computed(()=>{if(c(["tls_passthrough"]))return[R(r.SNIS)];const s=(f.configType==="basic"?[r.PATHS,r.METHODS,r.HOSTS]:ue[f.protocols]).map(d=>R(d));return[[...s].splice(0,s.length-1).join(", "),s[s.length-1]]}),R=s=>{var g;return((g=p.source.form.fields[s])==null?void 0:g.singular)||""};return(s,d)=>{const g=e.resolveComponent("KCheckbox"),w=e.resolveComponent("KSelect"),G=e.resolveComponent("KInput"),$=e.resolveComponent("KCard");return e.openBlock(),e.createBlock($,null,{default:e.withCtx(()=>{var E;return[e.createElementVNode("span",at,[e.createVNode(e.unref(V),{keypath:"form.hint.rules_message"},{protocol:e.withCtx(()=>[e.createElementVNode("b",null,e.toDisplayString(e.unref(a)[t.protocols]),1)]),routingRules:e.withCtx(()=>[e.createVNode(e.unref(V),{keypath:I.value[1]?"form.hint.multiple_rules":"form.hint.single_rule"},{routingRules:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(I.value[0]),1)]),lastRoutingRule:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(I.value[1]),1)]),_:1},8,["keypath"])]),_:1}),t.configType==="basic"?(e.openBlock(),e.createElementBlock("span",it,e.toDisplayString(e.unref(o)("form.hint.advanced")),1)):e.createCommentVNode("",!0)]),e.createVNode(e.TransitionGroup,{name:"appear"},{default:e.withCtx(()=>{var S;return[n.value.paths&&h.value.has(e.unref(r).PATHS)?(e.openBlock(),e.createBlock(et,{key:"paths-container",modelValue:n.value.paths,"onUpdate:modelValue":d[0]||(d[0]=b=>n.value.paths=b),onAdd:d[1]||(d[1]=b=>u(e.unref(r).PATHS)),onRemove:d[2]||(d[2]=b=>m(e.unref(r).PATHS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),c(["http","https","ws","wss"])?(e.openBlock(),e.createBlock(g,{key:1,modelValue:n.value.strip_path,"onUpdate:modelValue":d[3]||(d[3]=b=>n.value.strip_path=b),class:"route-form-strip-path","data-testid":"route-form-strip-path",disabled:!((S=n.value.paths)!=null&&S.some(Boolean)),label:e.unref(o)("form.fields.strip_path.label"),"label-attributes":{tooltipAttributes:{maxWidth:"320"}}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(o)("form.fields.strip_path.tooltip")},null,8,dt)]),_:1},8,["modelValue","disabled","label"])):e.createCommentVNode("",!0),n.value.methods&&h.value.has(e.unref(r).METHODS)?(e.openBlock(),e.createBlock(Ye,{key:"methods-container","custom-methods":_.value,"onUpdate:customMethods":d[4]||(d[4]=b=>_.value=b),methods:n.value.methods,"onUpdate:methods":d[5]||(d[5]=b=>n.value.methods=b)},null,8,["custom-methods","methods"])):e.createCommentVNode("",!0),n.value.hosts&&h.value.has(e.unref(r).HOSTS)?(e.openBlock(),e.createBlock(Xe,{key:"hosts-container",modelValue:n.value.hosts,"onUpdate:modelValue":d[6]||(d[6]=b=>n.value.hosts=b),onAdd:d[7]||(d[7]=b=>u(e.unref(r).HOSTS)),onRemove:d[8]||(d[8]=b=>m(e.unref(r).HOSTS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),n.value.headers&&t.configType==="advanced"&&h.value.has(e.unref(r).HEADERS)?(e.openBlock(),e.createBlock(Ge,{key:"headers-container",modelValue:n.value.headers,"onUpdate:modelValue":d[9]||(d[9]=b=>n.value.headers=b),onAdd:d[10]||(d[10]=b=>u(e.unref(r).HEADERS)),onRemove:d[11]||(d[11]=b=>m(e.unref(r).HEADERS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),n.value.sources&&h.value.has(e.unref(r).SOURCES)?(e.openBlock(),e.createBlock(nt,{key:"sources-container",modelValue:n.value.sources,"onUpdate:modelValue":d[12]||(d[12]=b=>n.value.sources=b),onAdd:d[13]||(d[13]=b=>u(e.unref(r).SOURCES)),onRemove:d[14]||(d[14]=b=>m(e.unref(r).SOURCES,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),n.value.destinations&&h.value.has(e.unref(r).DESTINATIONS)?(e.openBlock(),e.createBlock(Le,{key:"destinations-container",modelValue:n.value.destinations,"onUpdate:modelValue":d[15]||(d[15]=b=>n.value.destinations=b),onAdd:d[16]||(d[16]=b=>u(e.unref(r).DESTINATIONS)),onRemove:d[17]||(d[17]=b=>m(e.unref(r).DESTINATIONS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),n.value.snis&&t.configType==="advanced"&&h.value.has(e.unref(r).SNIS)?(e.openBlock(),e.createBlock(rt,{key:"snis-container",modelValue:n.value.snis,"onUpdate:modelValue":d[18]||(d[18]=b=>n.value.snis=b),onAdd:d[19]||(d[19]=b=>u(e.unref(r).SNIS)),onRemove:d[20]||(d[20]=b=>m(e.unref(r).SNIS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0)]}),_:1}),t.hideAdvanced?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ct,[(E=n.value.paths)!=null&&E.some(Boolean)?(e.openBlock(),e.createBlock(w,{key:0,modelValue:n.value.path_handling,"onUpdate:modelValue":d[21]||(d[21]=S=>n.value.path_handling=S),"data-testid":"route-form-path-handling",items:e.unref(ke),label:e.unref(o)("form.fields.path_handling.label"),"label-attributes":{tooltipAttributes:{maxWidth:"320"}},readonly:t.readonly,width:"100%"},{"label-tooltip":e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(o)("form.fields.path_handling.tooltip")},null,8,pt)]),_:1},8,["modelValue","items","label","readonly"])):e.createCommentVNode("",!0),e.createVNode(w,{modelValue:n.value.https_redirect_status_code,"onUpdate:modelValue":d[22]||(d[22]=S=>n.value.https_redirect_status_code=S),"data-testid":"route-form-http-redirect-status-code",items:e.unref(ge),label:e.unref(o)("form.fields.https_redirect_status_code.label"),"label-attributes":{tooltipAttributes:{maxWidth:"320"}},readonly:t.readonly,width:"100%"},{"label-tooltip":e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(o)("form.fields.https_redirect_status_code.tooltip")},null,8,ut)]),_:1},8,["modelValue","items","label","readonly"]),e.createVNode(G,{modelValue:n.value.regex_priority,"onUpdate:modelValue":d[23]||(d[23]=S=>n.value.regex_priority=S),autocomplete:"off","data-testid":"route-form-regex-priority",label:e.unref(o)("form.fields.regex_priority.label"),"label-attributes":{tooltipAttributes:{maxWidth:"320"}},readonly:t.readonly,type:"number"},{"label-tooltip":e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(o)("form.fields.regex_priority.tooltip")},null,8,ft)]),_:1},8,["modelValue","label","readonly"]),e.createVNode(g,{modelValue:n.value.preserve_host,"onUpdate:modelValue":d[24]||(d[24]=S=>n.value.preserve_host=S),"data-testid":"route-form-preserve-host",label:e.unref(o)("form.fields.preserve_host.label"),"label-attributes":{tooltipAttributes:{maxWidth:"320"}}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(o)("form.fields.preserve_host.tooltip")},null,8,mt)]),_:1},8,["modelValue","label"]),e.createVNode(g,{modelValue:n.value.request_buffering,"onUpdate:modelValue":d[25]||(d[25]=S=>n.value.request_buffering=S),"data-testid":"route-form-request-buffering",label:e.unref(o)("form.fields.request_buffering.label"),"label-attributes":{tooltipAttributes:{maxWidth:"320"}}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(o)("form.fields.request_buffering.tooltip")},null,8,ht)]),_:1},8,["modelValue","label"]),e.createVNode(g,{modelValue:n.value.response_buffering,"onUpdate:modelValue":d[26]||(d[26]=S=>n.value.response_buffering=S),"data-testid":"route-form-response-buffering",label:e.unref(o)("form.fields.response_buffering.label"),"label-attributes":{tooltipAttributes:{maxWidth:"320"}}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(o)("form.fields.response_buffering.tooltip")},null,8,gt)]),_:1},8,["modelValue","label"])]))]}),_:1})}}}),[["__scopeId","data-v-0ade8d72"]]),yt=e.defineComponent({__name:"RouteFormExpressionsEditorLoader",props:e.mergeModels({protocol:{},showExpressionsModalEntry:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["notify"],["update:modelValue"]),setup(t,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o={render:()=>e.h("div",p("form.expressions_editor.loading"))},a={render:()=>e.h("div",p("form.expressions_editor.error"))},f=e.defineAsyncComponent({loader:async()=>Promise.resolve().then(()=>Pt),loadingComponent:o,errorComponent:a}),n=t,_=V,u=e.ref(Z.LOADING),m=e.useModel(t,"modelValue"),c=h=>{m.value=h};return e.onMounted(async()=>{try{await(await import("@kong-ui-public/expressions")).asyncInit,u.value=Z.READY}catch(h){u.value=Z.ERROR,console.error(h)}}),(h,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[u.value===e.unref(Z).ERROR?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a),{key:0,"data-testid":"route-form-expressions-editor-loader-error"})):u.value===e.unref(Z).LOADING?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o),{key:1,"data-testid":"route-form-expressions-editor-loader-loading"})):(e.openBlock(),e.createBlock(e.unref(f),{key:2,modelValue:m.value,"onUpdate:modelValue":I[0]||(I[0]=R=>m.value=R),protocol:n.protocol,"show-expressions-modal-entry":t.showExpressionsModalEntry,onNotify:I[1]||(I[1]=R=>_("notify",R))},{default:e.withCtx(()=>[e.createVNode(e.unref(j.RocketIcon),{size:e.unref(Pe)},null,8,["size"]),e.createElementVNode("span",null,e.toDisplayString(e.unref(p)("form.expression_playground.test_link")),1)]),_:1},8,["modelValue","protocol","show-expressions-modal-entry"])),e.renderSlot(h.$slots,"after-editor",{expression:{value:m.value,update:c},state:u.value})],64))}}),St={class:"route-form-routing-rules-title-container"},bt={class:"routing-rules-title"},Tt={class:"route-form-fields-container route-form-advanced-fields-container"},_t=U(e.defineComponent({__name:"ExpressionsRules",props:e.mergeModels({protocols:{},hideAdvanced:{type:Boolean},readonly:{type:Boolean},showExpressionsModalEntry:{type:Boolean}},{fields:{required:!0},fieldsModifiers:{}}),emits:e.mergeModels(["notify"],["update:fields"]),setup(t,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=t,a=e.useModel(t,"fields"),f=V,n=e.ref(!0),_=e.computed(()=>o.protocols.split(",")||[]),u=m=>m.some(c=>o.protocols.includes(c));return(m,c)=>{const h=e.resolveComponent("KCard"),I=e.resolveComponent("KSelect"),R=e.resolveComponent("KInput"),s=e.resolveComponent("KCheckbox"),d=e.resolveComponent("KCollapse");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(h,null,{title:e.withCtx(()=>[e.createElementVNode("div",St,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,g=>(e.openBlock(),e.createElementBlock("span",{key:g,class:"protocol-title"},e.toDisplayString(g.toUpperCase()),1))),128)),e.createElementVNode("span",bt,e.toDisplayString(e.unref(p)("form.sections.routingExpression.title")),1)])]),default:e.withCtx(()=>[e.createVNode(yt,{modelValue:a.value.expression,"onUpdate:modelValue":c[0]||(c[0]=g=>a.value.expression=g),protocol:_.value[0],"show-expressions-modal-entry":t.showExpressionsModalEntry,onNotify:c[1]||(c[1]=g=>f("notify",g))},{"after-editor":e.withCtx(g=>[e.renderSlot(m.$slots,"after-expressions-editor",{expression:g.expression,state:g.state},void 0,!0)]),_:3},8,["modelValue","protocol","show-expressions-modal-entry"])]),_:3}),e.createVNode(d,{modelValue:n.value,"onUpdate:modelValue":c[8]||(c[8]=g=>n.value=g),class:"route-form-advanced-fields-collapse","trigger-alignment":"leading","trigger-label":e.unref(p)("form.show_more")},{default:e.withCtx(()=>[e.createVNode(h,null,{default:e.withCtx(()=>[e.createElementVNode("div",Tt,[e.createVNode(I,{modelValue:a.value.https_redirect_status_code,"onUpdate:modelValue":c[2]||(c[2]=g=>a.value.https_redirect_status_code=g),"data-testid":"route-form-http-redirect-status-code",items:e.unref(ge),label:e.unref(p)("form.fields.https_redirect_status_code.label"),readonly:t.readonly,width:"100%"},null,8,["modelValue","items","label","readonly"]),e.createVNode(R,{modelValue:a.value.priority,"onUpdate:modelValue":c[3]||(c[3]=g=>a.value.priority=g),autocomplete:"off","data-testid":"route-form-priority",label:e.unref(p)("form.fields.priority.label"),"label-attributes":{info:e.unref(p)("form.fields.priority.tooltip"),tooltipAttributes:{maxWidth:"400"}},readonly:t.readonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"]),u(["http","https","ws","wss","tls","tcp","udp","tls_passthrough"])?(e.openBlock(),e.createBlock(s,{key:0,modelValue:a.value.strip_path,"onUpdate:modelValue":c[4]||(c[4]=g=>a.value.strip_path=g),"data-testid":"route-form-strip-path",label:e.unref(p)("form.fields.strip_path.label")},null,8,["modelValue","label"])):e.createCommentVNode("",!0),e.createVNode(s,{modelValue:a.value.preserve_host,"onUpdate:modelValue":c[5]||(c[5]=g=>a.value.preserve_host=g),"data-testid":"route-form-preserve-host",label:e.unref(p)("form.fields.preserve_host.label")},null,8,["modelValue","label"]),e.createVNode(s,{modelValue:a.value.request_buffering,"onUpdate:modelValue":c[6]||(c[6]=g=>a.value.request_buffering=g),"data-testid":"route-form-request-buffering",label:e.unref(p)("form.fields.request_buffering.label")},null,8,["modelValue","label"]),e.createVNode(s,{modelValue:a.value.response_buffering,"onUpdate:modelValue":c[7]||(c[7]=g=>a.value.response_buffering=g),"data-testid":"route-form-response-buffering",label:e.unref(p)("form.fields.response_buffering.label")},null,8,["modelValue","label"])])]),_:1})]),_:1},8,["modelValue","trigger-label"])],64)}}}),[["__scopeId","data-v-e7571a47"]]),Et={class:"config-type-container"},Ct={key:0,class:"config-flavor"},Ie=U(e.defineComponent({__name:"RouteFormRulesComposer",props:e.mergeModels({protocols:{},routeFlavors:{},readonly:{type:Boolean},recordFlavor:{},showExpressionsModalEntry:{type:Boolean},tooltips:{},isWsSupported:{type:Boolean},hideProtocols:{type:Boolean}},{configType:{required:!0},configTypeModifiers:{},configFlavor:{required:!0},configFlavorModifiers:{},fields:{default:()=>e.reactive({...de,paths:[""],regex_priority:0,path_handling:"v0",expression:"",priority:0})},fieldsModifiers:{},customMethods:{default:()=>e.reactive([])},customMethodsModifiers:{}}),emits:e.mergeModels(["notify","update:payload","update:protocols"],["update:configType","update:configFlavor","update:fields","update:customMethods"]),setup(t,{emit:V}){const p=t,o=e.useModel(t,"configType"),a=e.useModel(t,"configFlavor"),f=e.useModel(t,"fields"),n=e.useModel(t,"customMethods"),_=V,{i18n:{t:u}}=H.useI18n(),m=[{value:D.TRADITIONAL,label:u("form.flavors.traditional")},{value:D.EXPRESSIONS,label:u("form.flavors.expressions")}],c=e.computed(()=>[{label:u("form.protocols.grpc"),value:"grpc"},{label:u("form.protocols.grpcs"),value:"grpcs"},{label:u("form.protocols.grpc,grpcs"),value:"grpc,grpcs"},{label:u("form.protocols.http"),value:"http"},{label:u("form.protocols.https"),value:"https"},{label:u("form.protocols.http,https"),value:"http,https"},{label:u("form.protocols.tcp"),value:"tcp"},{label:u("form.protocols.tls"),value:"tls"},{label:u("form.protocols.tls,udp"),value:"tls,udp"},{label:u("form.protocols.tcp,udp"),value:"tcp,udp"},{label:u("form.protocols.tcp,tls"),value:"tcp,tls"},{label:u("form.protocols.tcp,tls,udp"),value:"tcp,tls,udp"},{label:u("form.protocols.tls_passthrough"),value:"tls_passthrough"},{label:u("form.protocols.udp"),value:"udp"},...p.isWsSupported?[{label:u("form.protocols.ws"),value:"ws"},{label:u("form.protocols.wss"),value:"wss"},{label:u("form.protocols.ws,wss"),value:"ws,wss"}]:[]]),h=e.computed(()=>p.recordFlavor?p.recordFlavor:a.value),I=(E,S)=>{if(!new Set(ue[p.protocols]).has(E))return[];if([r.PATHS,r.HOSTS,r.METHODS,r.SNIS].includes(E))return[...S].filter(O=>!!O);if(E===r.SOURCES||E===r.DESTINATIONS)return[...S].filter(O=>!!O.ip||!!O.port).map(O=>({ip:O.ip||void 0,port:!O.port&&O.port!==0?void 0:O.port}));if(E===r.HEADERS)return[...S].filter(O=>!!O.header)},R=E=>E.some(S=>p.protocols.includes(S)),s=()=>{if(h.value!==D.TRADITIONAL)return null;const E=f.value,S=I(r.HEADERS,E.headers||[])||M[r.HEADERS];return S.length===0?null:S.reduce((b,O)=>(b[O.header]=O.values.split(","),b),{})},d=e.computed(()=>(f.value.methods||[]).filter(b=>Object.keys(v).includes(b)).concat(n.value.map(b=>b.label.toUpperCase()))),g=E=>E!=null&&E.length?E:null,w=e.computed(()=>({https_redirect_status_code:f.value.https_redirect_status_code,strip_path:R(["http","https","ws","wss"])?f.value.strip_path:!1,preserve_host:f.value.preserve_host,request_buffering:f.value.request_buffering,response_buffering:f.value.response_buffering})),G=e.computed(()=>{switch(h.value){case D.TRADITIONAL:{const E=f.value,S=g(I(r.PATHS,E.paths||[])),b=g(I(r.HOSTS,E.hosts||[])),O={...w.value,methods:g(I(r.METHODS,d.value)),hosts:o.value==="basic"&&b?b.slice(0,1):b,paths:o.value==="basic"&&S?S.slice(0,1):S,headers:o.value==="basic"?null:s(),regex_priority:Number(E.regex_priority),path_handling:E.path_handling,sources:g(I(r.SOURCES,E.sources||[])),destinations:g(I(r.DESTINATIONS,E.destinations||[])),snis:o.value==="basic"?null:g(I(r.SNIS,E.snis||[]))};return{type:h.value,payload:O}}case D.EXPRESSIONS:{const E=f.value;return{type:h.value,payload:{...w.value,expression:E.expression,priority:Number(E.priority)}}}default:return}}),$=E=>{E&&_("update:protocols",E)};return e.watch([()=>p.recordFlavor,()=>p.routeFlavors],([E,S])=>{if(E){a.value=E;return}a.value=!S.traditional&&S.expressions?D.EXPRESSIONS:D.TRADITIONAL},{immediate:!0,deep:!0}),e.watch(o,E=>{E==="basic"&&(a.value=D.TRADITIONAL,_("update:protocols","http,https"))}),e.watch(G,E=>{_("update:payload",E)},{deep:!0,immediate:!0}),(E,S)=>{const b=e.resolveComponent("KRadio"),O=e.resolveComponent("KLabel"),ce=e.resolveComponent("KTooltip"),z=e.resolveComponent("KSegmentedControl"),K=e.resolveComponent("KAlert"),se=e.resolveComponent("KSelect");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Et,[e.createVNode(b,{modelValue:o.value,"onUpdate:modelValue":S[0]||(S[0]=B=>o.value=B),card:"","card-orientation":"horizontal","data-testid":"route-form-config-type-basic",description:e.unref(u)("form.config_types.basic.description"),disabled:!t.routeFlavors.traditional||t.recordFlavor===e.unref(D).EXPRESSIONS,label:e.unref(u)("form.config_types.basic.label"),"selected-value":"basic"},null,8,["modelValue","description","disabled","label"]),e.createVNode(b,{modelValue:o.value,"onUpdate:modelValue":S[1]||(S[1]=B=>o.value=B),card:"","card-orientation":"horizontal","data-testid":"route-form-config-type-advanced",description:e.unref(u)("form.config_types.advanced.description"),label:e.unref(u)("form.config_types.advanced.label"),"selected-value":"advanced"},null,8,["modelValue","description","label"])]),o.value==="basic"?(e.openBlock(),e.createBlock(Ve,{key:0,"custom-methods":n.value,"onUpdate:customMethods":S[2]||(S[2]=B=>n.value=B),fields:f.value,"onUpdate:fields":S[3]||(S[3]=B=>f.value=B),"config-type":"basic","hide-advanced":"",protocols:t.protocols,readonly:t.readonly},null,8,["custom-methods","fields","protocols","readonly"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[t.routeFlavors.traditional&&t.routeFlavors.expressions?(e.openBlock(),e.createElementBlock("div",Ct,[e.createVNode(O,{class:"config-flavor-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(u)("form.config_flavor.label")),1)]),_:1}),e.createVNode(z,{modelValue:a.value,"onUpdate:modelValue":S[4]||(S[4]=B=>a.value=B),class:"config-flavor-control","data-testid":"route-form-config-flavor",options:m},{"option-label":e.withCtx(({option:B})=>{var ee,J;return[e.createElementVNode("span",null,e.toDisplayString(B.label),1),(ee=t.tooltips)!=null&&ee[B.value]?(e.openBlock(),e.createBlock(ce,{key:0,class:"route-form-config-tabs-tooltip",text:(J=t.tooltips)==null?void 0:J[B.value],"tooltip-id":`route-form-config-tabs-tooltip-${B.value}`},{default:e.withCtx(()=>[e.createVNode(e.unref(j.InfoIcon))]),_:1},8,["text","tooltip-id"])):e.createCommentVNode("",!0)]}),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),t.routeFlavors.traditional&&t.routeFlavors.expressions&&(!t.recordFlavor||t.recordFlavor!==a.value)?(e.openBlock(),e.createBlock(K,{key:1,appearance:t.recordFlavor?"warning":"info",class:"route-form-config-type-immutable-alert","data-testid":"route-config-type-immutable-alert"},{default:e.withCtx(()=>[t.recordFlavor?t.recordFlavor!==a.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(e.unref(u)("form.warning.cannotChangeFlavor.edit",{format:e.unref(u)(`form.flavors.${t.recordFlavor}`)})),1)],64)):e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(u)("form.warning.cannotChangeFlavor.create")),1)],64))]),_:1},8,["appearance"])):e.createCommentVNode("",!0),!t.recordFlavor||!(t.routeFlavors.traditional&&t.routeFlavors.expressions&&t.recordFlavor!==a.value)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.hideProtocols?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(se,{key:0,"data-testid":"route-form-protocols",items:c.value,label:e.unref(u)("form.fields.protocols.label"),"label-attributes":{info:e.unref(u)("form.fields.protocols.tooltip"),tooltipAttributes:{maxWidth:"400"}},"model-value":t.protocols,readonly:t.readonly,required:"",width:"100%","onUpdate:modelValue":$},null,8,["items","label","label-attributes","model-value","readonly"])),a.value===e.unref(D).TRADITIONAL?(e.openBlock(),e.createBlock(Ve,{key:1,"custom-methods":n.value,"onUpdate:customMethods":S[5]||(S[5]=B=>n.value=B),fields:f.value,"onUpdate:fields":S[6]||(S[6]=B=>f.value=B),"config-type":"advanced",protocols:t.protocols,readonly:t.readonly},null,8,["custom-methods","fields","protocols","readonly"])):(e.openBlock(),e.createBlock(_t,{key:2,fields:f.value,"onUpdate:fields":S[7]||(S[7]=B=>f.value=B),protocols:t.protocols,readonly:t.readonly,"show-expressions-modal-entry":t.showExpressionsModalEntry,onNotify:S[8]||(S[8]=B=>_("notify",B))},null,8,["fields","protocols","readonly","show-expressions-modal-entry"]))],64)):e.createCommentVNode("",!0)],64))],64)}}}),[["__scopeId","data-v-537443cc"]]),xe=t=>{var p,o,a,f,n;return!(typeof t.expression=="string"&&t.expression.length>0||(t.protocols||[]).sort().join(",")!=="http,https"||((p=t[r.PATHS])==null?void 0:p.length)>1||((o=t[r.HOSTS])==null?void 0:o.length)>1||t[r.HEADERS]&&typeof t[r.HEADERS]=="object"||((a=t[r.SNIS])==null?void 0:a.length)>0||((f=t[r.SOURCES])==null?void 0:f.length)>0||((n=t[r.DESTINATIONS])==null?void 0:n.length)>0||["path_handling","regex_priority","https_redirect_status_code","preserve_host","request_buffering","response_buffering"].some(_=>t[_]!==Ne[_]))},kt={class:"kong-ui-entities-route-form"},Nt={key:1},Vt={"data-testid":"no-search-results"},It={class:"route-form-service-dropdown-item"},xt={class:"select-item-label"},Rt={class:"select-item-description"},wt=U(e.defineComponent({__name:"RouteForm",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||(t==null?void 0:t.app)==="konnect"&&!(t!=null&&t.controlPlaneId)||(t==null?void 0:t.app)==="kongManager"&&typeof(t==null?void 0:t.workspace)!="string"||!(t!=null&&t.cancelRoute))},routeId:{type:String,required:!1,default:""},serviceId:{type:String,required:!1,default:""},hideSectionsInfo:{type:Boolean,required:!1,default:!1},hideNameField:{type:Boolean,required:!1,default:!1},hideServiceField:{type:Boolean,required:!1,default:!1},routeFlavors:{type:Object,required:!1,default:()=>({traditional:!0})},configTabTooltips:{type:Object,required:!1,default:()=>{}},showExpressionsModalEntry:{type:Boolean,required:!1,default:!1}},emits:["update","error","loading","model-updated","notify"],setup(t,{expose:V,emit:p}){var ae;const o=t,a=p,f=e.ref("basic"),n=e.ref(!o.routeFlavors.traditional&&o.routeFlavors.expressions?D.EXPRESSIONS:D.TRADITIONAL),_=e.ref(void 0),u=e.computed(()=>{if(_.value)return _.value;if(n.value)return n.value;if(o.routeFlavors.traditional)return D.TRADITIONAL;if(o.routeFlavors.expressions)return D.EXPRESSIONS}),{i18n:{t:m}}=H.useI18n(),c=Ee.useRouter(),{axiosInstance:h}=N.useAxios((ae=o.config)==null?void 0:ae.axiosRequestConfig),{getMessageFromError:I}=N.useErrors(),R=l=>l.name?`${l.name} - ${l.value}`:l.value,s=e.reactive({routeFlavors:o.routeFlavors,fields:{name:"",protocols:"http,https",tags:"",service_id:"",...de,paths:[""],snis:[""],hosts:[""],methods:[],headers:[{...M[r.HEADERS][0]}],sources:[{...M[r.SOURCES][0]}],destinations:[{...M[r.DESTINATIONS][0]}],regex_priority:0,path_handling:"v0",expression:"",priority:0},isReadonly:!1,errorMessage:""});e.watch(()=>o.routeFlavors,l=>{s.routeFlavors=l,l.traditional||(f.value="advanced")},{immediate:!0,deep:!0});const d=e.ref(),g=e.ref([]),w=e.ref([]),G=e.reactive({name:"",protocols:"http,https",tags:"",service_id:"",...de,path_handling:"v0",regex_priority:0,expression:"",priority:0}),$=o.config.app==="konnect"||N.useGatewayFeatureSupported({gatewayInfo:o.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),E=e.computed(()=>o.routeId?N.EntityBaseFormType.Edit:N.EntityBaseFormType.Create),S=e.computed(()=>{var l,i,y;return(y=(i=oe.form[(l=o.config)==null?void 0:l.app])==null?void 0:i.fetch)==null?void 0:y[o.serviceId?"forGatewayService":"all"].replace(/{serviceId}/gi,o.serviceId||"")}),b=()=>{var l;c.push((l=o.config)==null?void 0:l.cancelRoute)},O=l=>{a("loading",l)},ce=l=>{a("error",l)},z=l=>Object.entries(l).map(i=>{var y;return{header:i[0],values:(y=i[1])==null?void 0:y.join()}}),K=l=>l.some(i=>s.fields.protocols.includes(i)),se=l=>{var y,C;if(o.routeId){const T=typeof l.expression=="string"&&l.expression.length>0?D.EXPRESSIONS:D.TRADITIONAL;_.value=T,xe(l)||(f.value="advanced")}(y=l==null?void 0:l.service)!=null&&y.id&&(s.fields.service_id=l.service.id),s.fields.name=(l==null?void 0:l.name)||"";const i=(l==null?void 0:l.tags)||[];s.fields.tags=(i==null?void 0:i.join(", "))||"",s.fields.preserve_host=typeof(l==null?void 0:l.preserve_host)>"u"?!1:l==null?void 0:l.preserve_host,s.fields.https_redirect_status_code=(l==null?void 0:l.https_redirect_status_code)||426,(C=l==null?void 0:l.protocols)!=null&&C.length&&(l.protocols.length>1?s.fields.protocols=l.protocols.join():s.fields.protocols=l.protocols[0]),s.fields.request_buffering=typeof(l==null?void 0:l.request_buffering)>"u"?!0:l==null?void 0:l.request_buffering,s.fields.response_buffering=typeof(l==null?void 0:l.response_buffering)>"u"?!0:l==null?void 0:l.response_buffering,s.fields.strip_path=typeof(l==null?void 0:l.strip_path)>"u"?!0:l==null?void 0:l.strip_path,me(s)&&(s.fields.regex_priority=(l==null?void 0:l.regex_priority)||0,s.fields.path_handling=(l==null?void 0:l.path_handling)||"v0",l!=null&&l.paths&&(s.fields.paths=l.paths),l!=null&&l.snis&&(s.fields.snis=l.snis),l!=null&&l.hosts&&(s.fields.hosts=l.hosts),l!=null&&l.methods&&(s.fields.methods=l.methods.filter(T=>Object.keys(v).includes(T)),g.value=l.methods.filter(T=>!Object.keys(v).includes(T)).map(T=>({label:T,value:T})),w.value=[...g.value]),l!=null&&l.headers&&(s.fields.headers=z(l.headers)),l!=null&&l.sources&&(s.fields.sources=l.sources),l!=null&&l.destinations&&(s.fields.destinations=l.destinations)),he(s)&&(s.fields.expression=(l==null?void 0:l.expression)||"",s.fields.priority=(l==null?void 0:l.priority)||0),Object.assign(G,JSON.parse(JSON.stringify(s.fields)))},B=e.computed(()=>{switch(u.value){case D.TRADITIONAL:{if(me(s)){const l=s.fields.hosts?!!s.fields.hosts.filter(Boolean).length:null,i=s.fields.paths?!!s.fields.paths.filter(Boolean).length:null,y=s.fields.headers?s.fields.headers.some(({header:P})=>!!P):null,C=s.fields.snis?!!s.fields.snis.filter(Boolean).length:null,T=s.fields.destinations?s.fields.destinations.some(({ip:P,port:Y})=>!!P||!!Y):null,q=s.fields.sources?s.fields.sources.some(({ip:P,port:Y})=>!!P||!!Y):null,X=s.fields.methods?!!s.fields.methods.filter(Boolean).length:null;return!!s.fields.protocols&&(K(["http"])&&!!(l||X||i||y)||K(["https"])&&!!(l||X||i||y||C)||K(["grpc"])&&!!(l||i||y)||K(["grpcs","wss"])&&!!(l||i||y||C)||K(["udp","tls"])&&!!(T||q||C)||K(["tcp"])&&!!(T||q)||K(["tls_passthrough"])&&!!C||K(["ws"])&&!!(l||i||y))}break}case D.EXPRESSIONS:{if(he(s))return s.fields.expression.length>0;break}}return!0}),ee=e.computed(()=>!_e(s.fields,G)||!_e(g.value,w.value)),J=e.computed(()=>{var i,y;let l=`${o.config.apiBaseUrl}${oe.form[o.config.app][E.value][o.serviceId?"forGatewayService":"all"]}`;return o.config.app==="konnect"?l=l.replace(/{controlPlaneId}/gi,((i=o.config)==null?void 0:i.controlPlaneId)||"").replace(/{serviceId}/gi,o.serviceId||""):o.config.app==="kongManager"&&(l=l.replace(/\/{workspace}/gi,(y=o.config)!=null&&y.workspace?`/${o.config.workspace}`:"").replace(/{serviceId}/gi,o.serviceId||"")),l=l.replace(/{id}/gi,o.routeId),l});e.watch(()=>s.fields,()=>{a("model-updated",te.value)},{deep:!0});const te=e.computed(()=>{var l,i,y;return{...!o.hideNameField&&{name:s.fields.name||null},protocols:s.fields.protocols.split(","),tags:(i=(l=s.fields.tags.split(","))==null?void 0:l.map(C=>String(C||"").trim()))==null?void 0:i.filter(C=>C!==""),service:s.fields.service_id?{id:s.fields.service_id}:null,...(y=d.value)==null?void 0:y.payload}}),W=l=>{switch(u.value){case D.TRADITIONAL:{if(!("regex_priority"in l&&"path_handling"in l))return!1;break}case D.EXPRESSIONS:{if(!("priority"in l))return!1;break}}return"service"in l&&"tags"in l&&"protocols"in l},Q=async l=>{var y;const i=l&&W(l)?l:te.value;try{s.isReadonly=!0;let C;E.value==="create"?C=await h.post(J.value,i):E.value==="edit"&&(C=((y=o.config)==null?void 0:y.app)==="konnect"?await h.put(J.value,i):await h.patch(J.value,i)),se(C==null?void 0:C.data),a("update",C==null?void 0:C.data)}catch(C){s.errorMessage=I(C),a("error",C)}finally{s.isReadonly=!1}},{debouncedQueryChange:ne,loading:fe,error:ye,loadItems:Se,results:be}=N.useDebouncedFilter(o.config,oe.form[o.config.app].services,void 0,{fetchedItemsKey:"data",searchKeys:["id","name"]}),Te=e.computed(()=>ye.value?m("errors.services.fetch"):""),pe=e.computed(()=>{var l;return(l=be.value)==null?void 0:l.map(i=>({label:i.id,name:i.name,value:i.id}))});return e.onBeforeMount(async()=>{!o.hideServiceField&&!o.serviceId?await Se():s.fields.service_id=o.serviceId}),e.onMounted(()=>{a("model-updated",te.value)}),V({saveFormData:Q,payload:te}),e.provide("configType",f),(l,i)=>{const y=e.resolveComponent("KInput"),C=e.resolveComponent("KSelect");return e.openBlock(),e.createElementBlock("div",kt,[e.createVNode(e.unref(N.EntityBaseForm),{"can-submit":B.value&&ee.value,config:t.config,"edit-id":t.routeId,"entity-type":e.unref(N.SupportedEntityType).Route,"error-message":s.errorMessage||Te.value,"fetch-url":S.value,"form-fields":te.value,"is-readonly":s.isReadonly,onCancel:b,"onFetch:error":ce,"onFetch:success":se,onLoading:O,onSubmit:Q},{"form-actions":e.withCtx(()=>[e.renderSlot(l.$slots,"form-actions",{canSubmit:B.value&&ee.value,cancel:b,submit:Q},void 0,!0)]),default:e.withCtx(()=>[e.createVNode(e.unref(N.EntityFormSection),{description:e.unref(m)("form.sections.general.description"),"hide-info-header":t.hideSectionsInfo,title:e.unref(m)("form.sections.general.title")},{default:e.withCtx(()=>[t.hideNameField?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(y,{key:0,modelValue:s.fields.name,"onUpdate:modelValue":i[0]||(i[0]=T=>s.fields.name=T),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"route-form-name",label:e.unref(m)("form.fields.name.label"),placeholder:e.unref(m)("form.fields.name.placeholder"),readonly:s.isReadonly,type:"text"},null,8,["modelValue","label","placeholder","readonly"])),!t.hideServiceField&&!t.serviceId?(e.openBlock(),e.createElementBlock("div",Nt,[e.createVNode(C,{modelValue:s.fields.service_id,"onUpdate:modelValue":i[1]||(i[1]=T=>s.fields.service_id=T),clearable:"","data-testid":"route-form-service-id","enable-filtering":"","filter-function":()=>!0,items:pe.value,label:e.unref(m)("form.fields.service_id.label"),loading:e.unref(fe),placeholder:e.unref(m)("form.fields.service_id.placeholder"),readonly:s.isReadonly,"reuse-item-template":"",width:"100%",onQueryChange:e.unref(ne)},{loading:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(e.unref(m)("actions.loading")),1)]),empty:e.withCtx(()=>[e.createElementVNode("div",Vt,e.toDisplayString(e.unref(m)("search.no_results")),1)]),"selected-item-template":e.withCtx(({item:T})=>[e.createTextVNode(e.toDisplayString(R(T)),1)]),"item-template":e.withCtx(({item:T})=>[e.createElementVNode("div",It,[e.createElementVNode("span",xt,e.toDisplayString(T.name),1),e.createElementVNode("span",Rt,e.toDisplayString(T.value),1)])]),_:1},8,["modelValue","items","label","loading","placeholder","readonly","onQueryChange"])])):e.createCommentVNode("",!0),e.createVNode(y,{modelValue:s.fields.tags,"onUpdate:modelValue":i[2]||(i[2]=T=>s.fields.tags=T),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"route-form-tags",help:e.unref(m)("form.fields.tags.help"),label:e.unref(m)("form.fields.tags.label"),placeholder:e.unref(m)("form.fields.tags.placeholder"),readonly:s.isReadonly,type:"text"},null,8,["modelValue","help","label","placeholder","readonly"])]),_:1},8,["description","hide-info-header","title"]),e.createVNode(e.unref(N.EntityFormSection),{description:e.unref(m)("form.sections.config.description"),"hide-info-header":t.hideSectionsInfo,title:e.unref(m)("form.sections.config.title")},{default:e.withCtx(()=>[e.createVNode(Ie,{"config-flavor":n.value,"onUpdate:configFlavor":i[3]||(i[3]=T=>n.value=T),"config-type":f.value,"onUpdate:configType":i[4]||(i[4]=T=>f.value=T),"custom-methods":g.value,"onUpdate:customMethods":i[5]||(i[5]=T=>g.value=T),fields:s.fields,"onUpdate:fields":i[6]||(i[6]=T=>s.fields=T),"is-ws-supported":e.unref($),protocols:s.fields.protocols,readonly:s.isReadonly,"record-flavor":_.value,"route-flavors":t.routeFlavors,"show-expressions-modal-entry":t.showExpressionsModalEntry,tooltips:t.configTabTooltips,onNotify:i[7]||(i[7]=T=>a("notify",T)),"onUpdate:payload":i[8]||(i[8]=T=>d.value=T),"onUpdate:protocols":i[9]||(i[9]=T=>s.fields.protocols=T)},null,8,["config-flavor","config-type","custom-methods","fields","is-ws-supported","protocols","readonly","record-flavor","route-flavors","show-expressions-modal-entry","tooltips"])]),_:1},8,["description","hide-info-header","title"])]),_:3},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly"])])}}}),[["__scopeId","data-v-1b31b80c"]]),Bt={class:"kong-ui-entities-routes-list"},At={class:"button-row"},Dt={key:1},Ot={key:1},Mt={key:1},Ht={class:"route-list-cell-expression"},$t=U(e.defineComponent({__name:"RouteList",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||!t.createRoute||!t.getViewRoute||!t.getEditRoute||t.app==="kongManager"&&!t.isExactMatch&&!t.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canDebug:{type:Function,required:!1,default:async()=>!1},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1},hideTraditionalColumns:{type:Boolean,default:!1},hasExpressionColumn:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success"],setup(t,{emit:V}){var l;const p=V,o=t,{i18n:{t:a,formatUnixTimeStamp:f}}=H.useI18n(),n=Ee.useRouter(),{axiosInstance:_}=N.useAxios((l=o.config)==null?void 0:l.axiosRequestConfig),{handleStateChange:u,hasRecords:m}=N.useTableState(()=>w.value),c=e.computed(()=>m.value&&o.config.app==="konnect"),h=e.computed(()=>!!o.config.serviceId),I=e.computed(()=>o.config.app!=="kongManager"||!!o.config.disableSorting),R={name:{label:a("routes.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1},protocols:{label:a("routes.list.table_headers.protocols"),searchable:!0},...!o.hideTraditionalColumns&&{hosts:{label:a("routes.list.table_headers.hosts"),searchable:!0},methods:{label:a("routes.list.table_headers.methods"),searchable:!0},paths:{label:a("routes.list.table_headers.paths"),searchable:!0}},...o.hasExpressionColumn&&{expression:{label:a("routes.list.table_headers.expression"),tooltip:!0}},tags:{label:a("routes.list.table_headers.tags"),sortable:!1},updated_at:{label:a("routes.list.table_headers.updated_at"),sortable:!0},created_at:{label:a("routes.list.table_headers.created_at"),sortable:!0}},s={columnVisibility:{created_at:!1}},d=R,g=e.computed(()=>{var y,C,T,q;let i=`${o.config.apiBaseUrl}${oe.list[o.config.app][o.config.serviceId?"forGatewayService":"all"]}`;return o.config.app==="konnect"?i=i.replace(/{controlPlaneId}/gi,((y=o.config)==null?void 0:y.controlPlaneId)||"").replace(/{serviceId}/gi,((C=o.config)==null?void 0:C.serviceId)||""):o.config.app==="kongManager"&&(i=i.replace(/\/{workspace}/gi,(T=o.config)!=null&&T.workspace?`/${o.config.workspace}`:"").replace(/{serviceId}/gi,((q=o.config)==null?void 0:q.serviceId)||"")),i}),w=e.ref(""),G=e.computed(()=>{const i=o.config.app==="konnect"||o.config.isExactMatch;if(i)return{isExactMatch:i,placeholder:a(`search.placeholder.${o.config.isExactMatch?"exact":o.config.app}`)};const{name:y,protocols:C,hosts:T,methods:q,paths:X,expression:P}=R,Y={name:y,protocols:C,hosts:T,methods:q,paths:X,...o.hasExpressionColumn&&{expression:P}};return{isExactMatch:i,fields:Y,schema:o.config.filterSchema}}),{fetcher:$,fetcherState:E,fetcherCacheKey:S}=N.useFetcher(e.computed(()=>({...o.config,cacheIdentifier:o.cacheIdentifier})),g),b=i=>i.headerKey==="expression"?{style:{maxWidth:"250px",overflowX:"hidden",textOverflow:"ellipsis"}}:{},O=()=>{w.value=""},ce=()=>{S.value++},z=e.ref(null),K=async(i,y)=>{if(!await y(i.id)){p("copy:error",{entity:i,field:"id",message:a("errors.copy")});return}p("copy:success",{entity:i,field:"id",message:a("copy.success",{val:i.id})})},se=async(i,y)=>{const C=JSON.stringify(i);if(!await y(C)){p("copy:error",{entity:i,message:a("errors.copy")});return}p("copy:success",{entity:i,message:a("copy.success_brief")})},B=async i=>{var C;await((C=o.canRetrieve)==null?void 0:C.call(o,i))&&n.push(o.config.getViewRoute(i.id))},ee=i=>({label:a("actions.view"),to:o.config.getViewRoute(i)}),J=i=>({label:a("actions.edit"),to:o.config.getEditRoute(i)}),te=i=>{if(o.config.getDebugRoute)return{label:a("actions.debugger"),to:o.config.getDebugRoute(i)}},W=e.ref(void 0),Q=e.ref(!1),ne=e.ref(!1),fe=e.ref(""),ye=N.useDeleteUrlBuilder(o.config,g.value),Se=i=>{W.value=i,Q.value=!0},be=()=>{Q.value=!1},Te=async()=>{var i,y,C;if((i=W.value)!=null&&i.id){ne.value=!0;try{await _.delete(ye(W.value.id)),ne.value=!1,Q.value=!1,S.value++,p("delete:success",W.value)}catch(T){fe.value=((C=(y=T.response)==null?void 0:y.data)==null?void 0:C.message)||T.message||a("errors.delete"),p("error",T)}finally{ne.value=!1}}};e.watch(E,i=>{var y,C,T;if(i.status===N.FetcherStatus.Error){z.value={title:a("errors.general")},(T=(C=(y=i.error)==null?void 0:y.response)==null?void 0:C.data)!=null&&T.message&&(z.value.message=i.error.response.data.message),p("error",i.error);return}z.value=null});const pe=e.ref({ctaPath:o.config.createRoute,ctaText:void 0,message:`${a("routes.list.empty_state.description")}${o.config.additionMessageForEmptyState?` ${o.config.additionMessageForEmptyState}`:""}`,title:a("routes.title")}),ae=e.ref(!1);return e.onBeforeMount(async()=>{ae.value=await o.canCreate(),ae.value&&(pe.value.title=a("routes.list.empty_state.title"),pe.value.ctaText=a("actions.create"))}),(i,y)=>{const C=e.resolveComponent("KButton"),T=e.resolveComponent("KEmptyState"),q=e.resolveComponent("KBadge"),X=e.resolveComponent("KTruncate"),P=e.resolveComponent("KDropdownItem"),Y=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",Bt,[e.createVNode(e.unref(N.EntityBaseTable),{"cache-identifier":t.cacheIdentifier,"cell-attributes":b,"default-table-preferences":s,"disable-sorting":I.value,"empty-state-options":pe.value,"enable-entity-actions":"","error-message":z.value,fetcher:e.unref($),"fetcher-cache-key":e.unref(S),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-routes-list",query:w.value,"table-headers":e.unref(d),title:t.title,"title-tag":t.titleTag,onClearSearchInput:O,"onClick:row":y[7]||(y[7]=k=>B(k)),onSort:ce,onState:e.unref(u)},e.createSlots({"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(N.EntityFilter),{modelValue:w.value,"onUpdate:modelValue":y[0]||(y[0]=k=>w.value=k),config:G.value},null,8,["modelValue","config"])]),"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!t.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createElementVNode("div",At,[!h.value&&c.value?(e.openBlock(),e.createBlock(C,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"routes-learn-more-button",icon:"",onClick:y[1]||(y[1]=k=>i.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(j.BookIcon),{decorative:""})]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(N.PermissionsWrapper),{"auth-function":()=>t.canCreate()},{default:e.withCtx(()=>[e.createVNode(C,{appearance:"primary","data-testid":"toolbar-add-route",size:t.useActionOutside?"medium":"large",to:t.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(j.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(a)("routes.list.toolbar_actions.new_route")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:e.withCtx(({rowValue:k})=>[e.createElementVNode("b",null,e.toDisplayString(k??"-"),1)]),protocols:e.withCtx(({rowValue:k})=>[e.createVNode(X,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k,A=>(e.openBlock(),e.createBlock(q,{key:A,appearance:"neutral",onClick:y[3]||(y[3]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(A),1)]),_:2},1024))),128))]),_:2},1024)]),hosts:e.withCtx(({rowValue:k})=>[(k==null?void 0:k.length)>0?(e.openBlock(),e.createBlock(X,{key:0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k,A=>(e.openBlock(),e.createBlock(q,{key:A,appearance:"neutral",tooltip:A,"truncation-tooltip":"",onClick:y[4]||(y[4]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(A),1)]),_:2},1032,["tooltip"]))),128))]),_:2},1024)):(e.openBlock(),e.createElementBlock("span",Dt,"-"))]),methods:e.withCtx(({rowValue:k})=>[(k==null?void 0:k.length)>0?(e.openBlock(),e.createBlock(X,{key:0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k,A=>(e.openBlock(),e.createBlock(q,{key:A,appearance:Object.values(e.unref(Re.BadgeMethodAppearances)).includes(A.toLowerCase())?A.toLowerCase():"custom",onClick:y[5]||(y[5]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(A),1)]),_:2},1032,["appearance"]))),128))]),_:2},1024)):(e.openBlock(),e.createElementBlock("span",Ot,"-"))]),paths:e.withCtx(({rowValue:k})=>[(k==null?void 0:k.length)>0?(e.openBlock(),e.createBlock(X,{key:0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k,A=>(e.openBlock(),e.createBlock(q,{key:A,appearance:"neutral",tooltip:A,"truncation-tooltip":"",onClick:y[6]||(y[6]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(A),1)]),_:2},1032,["tooltip"]))),128))]),_:2},1024)):(e.openBlock(),e.createElementBlock("span",Mt,"-"))]),tags:e.withCtx(({rowValue:k})=>[e.createVNode(e.unref(N.TableTags),{tags:k},null,8,["tags"])]),expression:e.withCtx(({rowValue:k})=>[e.createElementVNode("span",Ht,e.toDisplayString(k||"-"),1)]),created_at:e.withCtx(({rowValue:k})=>[e.createTextVNode(e.toDisplayString(e.unref(f)(k)),1)]),updated_at:e.withCtx(({row:k,rowValue:A})=>[e.createTextVNode(e.toDisplayString(e.unref(f)(A??k.created_at)),1)]),actions:e.withCtx(({row:k})=>[e.createVNode(Y,null,{default:e.withCtx(({copyToClipboard:A})=>[e.createVNode(P,{"data-testid":"action-entity-copy-id",onClick:Ut=>K(k,A)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.copy_id")),1)]),_:1},8,["onClick"])]),_:2},1024),e.createVNode(Y,null,{default:e.withCtx(({copyToClipboard:A})=>[e.createVNode(P,{"data-testid":"action-entity-copy-json",onClick:Ut=>se(k,A)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.copy_json")),1)]),_:1},8,["onClick"])]),_:2},1024),e.createVNode(e.unref(N.PermissionsWrapper),{"auth-function":()=>t.canRetrieve(k)},{default:e.withCtx(()=>[e.createVNode(P,{"data-testid":"action-entity-view","has-divider":"",item:ee(k.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(N.PermissionsWrapper),{"auth-function":()=>t.canDebug(k)},{default:e.withCtx(()=>[t.config.getDebugRoute?(e.openBlock(),e.createBlock(P,{key:0,"data-testid":"action-entity-debug",item:te(k.id)},null,8,["item"])):e.createCommentVNode("",!0)]),_:2},1032,["auth-function"]),e.createVNode(e.unref(N.PermissionsWrapper),{"auth-function":()=>t.canEdit(k)},{default:e.withCtx(()=>[e.createVNode(P,{"data-testid":"action-entity-edit",item:J(k.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(N.PermissionsWrapper),{"auth-function":()=>t.canDelete(k)},{default:e.withCtx(()=>[e.createVNode(P,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:A=>Se(k)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.delete")),1)]),_:1},8,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!w.value&&t.config.app==="konnect"?{name:"empty-state",fn:e.withCtx(()=>{var k;return[e.createVNode(T,{"data-testid":t.config.serviceId?"nested-routes-entity-empty-state":"routes-entity-empty-state","icon-background":"",message:e.unref(a)("routes.list.empty_state_v2.description"),title:e.unref(a)("routes.list.empty_state_v2.title")},e.createSlots({icon:e.withCtx(()=>[e.createVNode(e.unref(j.ForwardIcon),{decorative:""})]),action:e.withCtx(()=>[ae.value?(e.openBlock(),e.createBlock(C,{key:0,"data-testid":"entity-create-button",to:t.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(j.AddIcon),{decorative:""}),e.createTextVNode(" "+e.toDisplayString(e.unref(a)("routes.list.toolbar_actions.new_route")),1)]),_:1},8,["to"])):e.createCommentVNode("",!0),e.createVNode(C,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:y[2]||(y[2]=A=>i.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(j.BookIcon),{decorative:""}),e.createTextVNode(" "+e.toDisplayString(e.unref(a)("routes.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[(k=t.config)!=null&&k.isControlPlaneGroup?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("routes.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["data-testid","message","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","title","title-tag","onState"]),e.createVNode(e.unref(N.EntityDeleteModal),{"action-pending":ne.value,description:e.unref(a)("delete.description"),"entity-name":W.value&&(W.value.name||W.value.id),"entity-type":e.unref(N.EntityTypes).Route,error:fe.value,title:e.unref(a)("delete.title"),visible:Q.value,onCancel:be,onProceed:Te},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-afa4025b"]]),Pt=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"RouteFormExpressionsEditor",props:e.mergeModels({protocol:{},showExpressionsModalEntry:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["notify"],["update:modelValue"]),setup(t,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=t,a=e.useModel(t,"modelValue"),f=V,n=e.ref(!1),_=e.computed(()=>ie.PROTOCOL_TO_SCHEMA[o.protocol]),u=e.computed(()=>ie.HTTP_BASED_PROTOCOLS.includes(o.protocol??"")),m=e.computed(()=>{if(!(!o.showExpressionsModalEntry||u.value))return p("form.expression_playground.supported_protocols_hint",{protocols:ie.HTTP_BASED_PROTOCOLS.join(", ")})}),c=R=>{a.value=R,n.value=!1},h=R=>{f("notify",R)},I=()=>{u.value&&(n.value=!0)};return(R,s)=>{const d=e.resolveComponent("KTooltip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[_.value!==void 0?(e.openBlock(),e.createBlock(e.unref(ie.ExpressionsEditor),{key:0,modelValue:a.value,"onUpdate:modelValue":s[0]||(s[0]=g=>a.value=g),schema:_.value},null,8,["modelValue","schema"])):e.createCommentVNode("",!0),e.createVNode(d,{placement:"bottom-start",text:m.value},{default:e.withCtx(()=>[t.showExpressionsModalEntry?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass({disabled:!u.value,"route-form-open-in-playground":!0}),"data-testid":"open-router-playground",onClick:I},[e.renderSlot(R.$slots,"default")],2)):e.createCommentVNode("",!0)]),_:3},8,["text"]),t.showExpressionsModalEntry&&u.value?(e.openBlock(),e.createBlock(e.unref(ie.RouterPlaygroundModal),{key:1,"initial-expression":a.value,"is-visible":n.value,onCancel:s[1]||(s[1]=g=>n.value=!1),onCommit:c,onNotify:h},null,8,["initial-expression","is-visible"])):e.createCommentVNode("",!0)],64)}}})},Symbol.toStringTag,{value:"Module"}));x.ExpressionsEditorState=Z,x.HTTP_REDIRECT_STATUS_CODES=ge,x.INITIAL_ROUTE_RULES_FIELDS=Ne,x.INITIAL_SHARED_ROUTE_RULES_FIELDS=de,x.INITIAL_TRADITIONAL_ROUTE_RULES_VALUES=M,x.Methods=v,x.PATH_HANDLING_OPTIONS=ke,x.PROTOCOLS_TO_ROUTE_RULES=ue,x.RouteConfigCard=Oe,x.RouteFlavor=D,x.RouteForm=wt,x.RouteFormRulesComposer=Ie,x.RouteList=$t,x.RoutingRulesEntities=r,x.isDefinedByBasic=xe,x.stateHasExpressionsFlavor=he,x.stateHasTraditionalFlavor=me,Object.defineProperty(x,Symbol.toStringTag,{value:"Module"})});
@@ -1316,7 +1316,7 @@ const ze = (e) => e.routeFlavors.traditional === !0, Je = (e) => e.routeFlavors.
1316
1316
  });
1317
1317
  };
1318
1318
  }
1319
- }), Qe = /* @__PURE__ */ Z(xo, [["__scopeId", "data-v-f3fa9614"]]), Do = /* @__PURE__ */ z({
1319
+ }), Qe = /* @__PURE__ */ Z(xo, [["__scopeId", "data-v-0ade8d72"]]), Do = /* @__PURE__ */ z({
1320
1320
  __name: "RouteFormExpressionsEditorLoader",
1321
1321
  props: /* @__PURE__ */ Y({
1322
1322
  protocol: {},
@@ -1332,7 +1332,7 @@ const ze = (e) => e.routeFlavors.traditional === !0, Je = (e) => e.routeFlavors.
1332
1332
  }, a = {
1333
1333
  render: () => Ke("div", f("form.expressions_editor.error"))
1334
1334
  }, v = rt({
1335
- loader: async () => import("./RouteFormExpressionsEditor-BmRiH3GR.js"),
1335
+ loader: async () => import("./RouteFormExpressionsEditor-Djsgv4nT.js"),
1336
1336
  loadingComponent: o,
1337
1337
  errorComponent: a
1338
1338
  }), i = e, A = C, h = B(Se.LOADING), g = X(e, "modelValue"), p = (y) => {
@@ -1744,7 +1744,7 @@ const ze = (e) => e.routeFlavors.traditional === !0, Je = (e) => e.routeFlavors.
1744
1744
  ], 64);
1745
1745
  };
1746
1746
  }
1747
- }), Ko = /* @__PURE__ */ Z(Fo, [["__scopeId", "data-v-cbda4882"]]), qo = (e) => {
1747
+ }), Ko = /* @__PURE__ */ Z(Fo, [["__scopeId", "data-v-537443cc"]]), qo = (e) => {
1748
1748
  var f, o, a, v, i;
1749
1749
  return !(typeof e.expression == "string" && e.expression.length > 0 || (e.protocols || []).sort().join(",") !== "http,https" || ((f = e[s.PATHS]) == null ? void 0 : f.length) > 1 || ((o = e[s.HOSTS]) == null ? void 0 : o.length) > 1 || e[s.HEADERS] && typeof e[s.HEADERS] == "object" || ((a = e[s.SNIS]) == null ? void 0 : a.length) > 0 || ((v = e[s.SOURCES]) == null ? void 0 : v.length) > 0 || ((i = e[s.DESTINATIONS]) == null ? void 0 : i.length) > 0 || [
1750
1750
  "path_handling",
@@ -2098,7 +2098,7 @@ const ze = (e) => e.routeFlavors.traditional === !0, Je = (e) => e.routeFlavors.
2098
2098
  ]);
2099
2099
  };
2100
2100
  }
2101
- }), ps = /* @__PURE__ */ Z(Jo, [["__scopeId", "data-v-5be17e8c"]]), Qo = { class: "kong-ui-entities-routes-list" }, Yo = { class: "button-row" }, Zo = { key: 1 }, es = { key: 1 }, ts = { key: 1 }, os = { class: "route-list-cell-expression" }, ss = /* @__PURE__ */ z({
2101
+ }), ps = /* @__PURE__ */ Z(Jo, [["__scopeId", "data-v-1b31b80c"]]), Qo = { class: "kong-ui-entities-routes-list" }, Yo = { class: "button-row" }, Zo = { key: 1 }, es = { key: 1 }, ts = { key: 1 }, os = { class: "route-list-cell-expression" }, ss = /* @__PURE__ */ z({
2102
2102
  __name: "RouteList",
2103
2103
  props: {
2104
2104
  /** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
@@ -2617,7 +2617,7 @@ const ze = (e) => e.routeFlavors.traditional === !0, Je = (e) => e.routeFlavors.
2617
2617
  ]);
2618
2618
  };
2619
2619
  }
2620
- }), fs = /* @__PURE__ */ Z(ss, [["__scopeId", "data-v-a438ef1a"]]);
2620
+ }), fs = /* @__PURE__ */ Z(ss, [["__scopeId", "data-v-afa4025b"]]);
2621
2621
  export {
2622
2622
  Se as E,
2623
2623
  ot as H,
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .config-card-fieldset[data-v-dc1e39a1]{border:solid 1px #e0e4ea;border-radius:4px;margin-bottom:8px;margin-top:4px}.config-card-fieldset-title[data-v-dc1e39a1]{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-2feb8c2e] .k-button.navigation-button{font-size:14px;font-weight:400}.config-card-details-row[data-v-cd250044]{align-items:center;border-bottom:var(--v550201a4);box-sizing:border-box;display:var(--v2eeb3c61);padding:16px 16px 16px 0;width:100%}.config-card-details-row .config-card-details-label[data-v-cd250044]{box-sizing:border-box;padding-right:16px;width:var(--v77ca94df)}.config-card-details-row .config-card-details-label label[data-v-cd250044]{color:#3a3f51;display:inline-flex;max-width:100%}.config-card-details-row .config-card-details-label label .label-content[data-v-cd250044]{line-height:initial;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-card-details-row .config-card-details-label label .k-popover[data-v-cd250044]{min-width:0}.config-card-details-row .config-card-details-value[data-v-cd250044]{box-sizing:border-box;width:var(--v77ccdaba)}.config-card-details-row .config-card-details-value .truncated[data-v-cd250044]{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-cd250044]{overflow-wrap:anywhere}.config-card-details-row .config-card-details-value .copy-uuid-array[data-v-cd250044] .k-copy:not(:last-of-type){margin-bottom:8px}.config-card-details-row .config-card-details-value .method-badge-array[data-v-cd250044]{display:flex;flex-wrap:wrap;row-gap:10px}.config-card-details-row .config-badge[data-v-cd250044]{margin-right:4px}.config-card-details-row[data-v-cd250044] .k-label{margin-bottom:0}.config-card-details-row[data-v-cd250044] .k-label .kong-icon-infoFilled{display:flex}.config-card-details-row[data-v-cd250044] .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 8px 12px}.json-endpoint .k-code-block{flex:auto;z-index:2}.json-endpoint .k-code-block .code-block-content{padding-bottom:0;padding-top:0}.json-endpoint .k-code-block .code-block-secondary-actions{margin-top:0!important}.json-endpoint code{direction:rtl;max-width:var(--v58418ff6);overflow:hidden!important;text-align:left;text-overflow:ellipsis;white-space:nowrap}.config-card-prop-section-title[data-v-f8082e69]{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-f2b42324]{align-items:center;display:flex}.kong-ui-entity-base-config-card .config-card-actions .config-format-select-label[data-v-f2b42324]{margin-bottom:0;margin-right:8px}.kong-ui-entity-base-config-card .config-card-prop-section-title[data-v-f2b42324]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card[data-v-f2b42324] .config-card-details-row:last-of-type{border-bottom:none}.kong-ui-entity-base-config-card .book-icon[data-v-f2b42324]{margin-left:8px;padding:0}.deck-config .k-select[data-v-04c956bc]{margin-bottom:16px}.deck-config .k-code-block[data-v-04c956bc]{margin-top:12px}.kong-ui-entity-base-form[data-v-7cbcaad8]{box-sizing:border-box;max-width:1536px;width:100%}.kong-ui-entity-base-form[data-v-7cbcaad8] .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-7cbcaad8] .k-card.content-card{padding:0 16px!important}.kong-ui-entity-base-form[data-v-7cbcaad8] .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-7cbcaad8] .tab-item.active>div.tab-link.has-panels{color:#000933!important;font-weight:600!important}.kong-ui-entity-base-form[data-v-7cbcaad8] .slideout-content{overflow-y:unset!important}.form-actions[data-v-7cbcaad8]{align-items:center;display:flex;justify-content:flex-end;margin-top:24px}.form-actions[data-v-7cbcaad8] .k-button:last-of-type,.form-actions[data-v-7cbcaad8] .k-button:nth-last-of-type(2){margin-inline-start:16px}.form-actions-reverted[data-v-7cbcaad8]{direction:rtl}.content-wrapper[data-v-a3a65cac] .k-tooltip{word-break:break-all}.kong-ui-entity-base-table .toolbar-container[data-v-09e101d4]{align-items:center;display:flex;width:100%}.kong-ui-entity-base-table .toolbar-button-container[data-v-09e101d4]{margin-left:auto}.kong-ui-entity-base-table .hidden[data-v-09e101d4]{display:none}.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-084f7978]{width:100%}.kong-ui-entity-filter-clear[data-v-084f7978]{cursor:pointer}.kong-ui-entity-filter[data-v-084f7978]{display:flex;position:relative}.kong-ui-entity-filter[data-v-084f7978] .menu-content{flex-direction:column}.kong-ui-entity-filter[data-v-084f7978] .k-menu-item-divider hr{margin:12px 0}.kong-ui-entity-filter-backdrop[data-v-084f7978]{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1050}.kong-ui-entity-filter-menu[data-v-084f7978]{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-084f7978]{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-084f7978]{align-items:center;cursor:pointer;display:flex;line-height:24px}.menu-item-title.expanded[data-v-084f7978]{color:#232633}.menu-item-expand-icon[data-v-084f7978]{margin-left:auto}.menu-item-expand-icon.expanded[data-v-084f7978]{transform:rotate(180deg)}.menu-item-indicator[data-v-084f7978]{background-color:#0044f4;border-radius:50%;height:4px;margin-left:4px;width:4px}.menu-item-body[data-v-084f7978]{align-items:center;display:flex;justify-content:space-between;margin-top:16px}.menu-item-body[data-v-084f7978] .input{padding-bottom:4px!important;padding-top:4px!important}.menu-item-body[data-v-084f7978] .k-input{width:100%}.menu-item-body[data-v-084f7978] .k-select-input .input{font-size:12px}.menu-item-body[data-v-084f7978] .k-select-input .input::placeholder{color:#00000073!important;font-size:12px}.menu-item-label[data-v-084f7978]{margin-bottom:0;margin-right:12px}.menu-item-buttons[data-v-084f7978]{display:flex;justify-content:space-between;margin:10px 0 6px}.filter-clear-button-container[data-v-084f7978]{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}.ff-form-section .header[data-v-cb6d2e95]{align-items:flex-start;display:flex;gap:8px}.ff-form-section .step[data-v-cb6d2e95]{align-items:center;background:#fff;border:1px solid #afb7c5;border-radius:100px;display:flex;flex:0 0 auto;height:32px;justify-content:center;padding:4px;width:32px}.ff-form-section .header-content[data-v-cb6d2e95]{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:column;gap:8px;padding-top:4px}.ff-form-section .header-title[data-v-cb6d2e95]{color:#000933;font-size:18px;font-weight:700;line-height:24px;margin:0}.ff-form-section .header-description[data-v-cb6d2e95]{color:#52596e;font-size:14px;line-height:20px;margin:0}.ff-form-section .header-extra[data-v-cb6d2e95]{align-items:center;display:flex;flex:0 0 auto;gap:8px;justify-content:flex-end}.ff-form-section .content[data-v-cb6d2e95]{background:#f9fafb;border:1px solid #e0e4ea;border-radius:6px;display:flex;flex-direction:column;gap:20px;margin-left:16px;margin-top:20px;padding:20px 24px}.kong-ui-public-entity-link[data-v-96efdfa5]{align-items:center;display:flex}.kong-ui-public-entity-link .deleted-entity[data-v-96efdfa5]{font-style:italic}.kong-ui-public-entity-link .entity-link[data-v-96efdfa5]{display:flex;flex:1}.kong-ui-public-entity-link .entity-link[data-v-96efdfa5] .external-link-icon{color:#0044f4;margin-left:4px;padding:2px}.kong-ui-public-entity-link .entity-link-label[data-v-96efdfa5]{display:inline-block;font-weight:400;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kong-ui-public-entity-link .copy-uuid-tooltip[data-v-96efdfa5]{align-items:center;cursor:pointer;display:flex}.kong-ui-public-entity-link .copy-uuid-tooltip .entity-link-copy-id[data-v-96efdfa5]{margin-left:2px}.kong-ui-public-entity-empty-state[data-v-6d4a0f89]{align-items:center;background-color:#fff;box-sizing:border-box;display:flex;flex-direction:column;font-family:Inter,Roboto,Helvetica,sans-serif;gap:24px;padding:64px 0;width:100%}@media (min-width: 640px){.kong-ui-public-entity-empty-state[data-v-6d4a0f89]{padding:64px 96px}}.kong-ui-public-entity-empty-state .empty-state-image[data-v-6d4a0f89]{margin-bottom:8px}.kong-ui-public-entity-empty-state .entity-empty-state-content[data-v-6d4a0f89]{align-items:center;display:flex;flex-direction:column;gap:8px;text-align:center;width:100%}.kong-ui-public-entity-empty-state .entity-empty-state-content .entity-empty-state-title h1[data-v-6d4a0f89]{align-items:center;color:#000933;display:flex;font-size:24px;font-weight:700;gap:8px;line-height:32px;margin:0}.kong-ui-public-entity-empty-state .entity-empty-state-content .entity-empty-state-title h1.secondary[data-v-6d4a0f89]{font-size:18px}.kong-ui-public-entity-empty-state .entity-empty-state-description[data-v-6d4a0f89],.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-6d4a0f89]{color:#52596e;font-size:14px;font-weight:400;line-height:20px;max-width:640px}.kong-ui-public-entity-empty-state .entity-empty-state-description p[data-v-6d4a0f89],.kong-ui-public-entity-empty-state .entity-empty-state-pricing p[data-v-6d4a0f89]{margin:0}.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-6d4a0f89]{margin-top:16px}.kong-ui-public-entity-empty-state .entity-empty-state-message[data-v-6d4a0f89]{color:#52596e}.kong-ui-public-entity-empty-state .entity-empty-state-action[data-v-6d4a0f89]{align-items:center;display:flex;gap:12px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container[data-v-6d4a0f89]{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-around;margin-top:8px;width:312px}@media (min-width: 640px){.kong-ui-public-entity-empty-state .entity-empty-state-card-container[data-v-6d4a0f89]{width:640px}}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-6d4a0f89]{background-color:#f9fafb;border:1px solid #e0e4ea;border-radius:6px;color:#afb7c5;gap:8px;height:160px;padding:20px;width:312px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card .feature-icon[data-v-6d4a0f89]{color:#3a3f51;display:flex;margin-bottom:12px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card .feature-icon[data-v-6d4a0f89] .kui-icon{height:20px!important;width:20px!important}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-6d4a0f89] .card-title{font-size:14px;font-weight:600}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-6d4a0f89] .card-content{-webkit-box-orient:vertical;color:#6c7489;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.kong-ui-public-entity-empty-state .entity-empty-state-bottom-container[data-v-6d4a0f89]{border-top:1px solid #e0e4ea;display:flex;flex-direction:column;gap:16px;padding-top:48px;width:100%}@media (min-width: 640px){.kong-ui-public-entity-empty-state .entity-empty-state-bottom-container[data-v-6d4a0f89]{width:640px}}.routing-rule-add-item-button[data-v-f1f4cfc9]{display:flex}.routing-rule-container[data-v-3eb40a37]:not(:first-of-type){margin-top:24px}.routing-rule-container hr[data-v-3eb40a37]{border:0;border-top:1px solid rgba(0,0,0,.1);margin-bottom:16px}.routing-rule-input[data-v-3eb40a37]{align-items:center;column-gap:16px;display:flex}.routing-rule-input .k-input[data-v-3eb40a37]{width:100%}.routing-rule-input[data-v-3eb40a37]:not(:first-of-type){margin-top:16px}.routing-rule-input .methods-input-container[data-v-3eb40a37]{display:flex;flex-wrap:wrap;gap:12px}.routing-rule-input .methods-input[data-v-3eb40a37]{display:flex;flex-wrap:wrap;gap:4px}.routing-rule-input .methods-input[data-v-3eb40a37] label.k-switch{margin:0!important}.routing-rule-add-item-button[data-v-3eb40a37]{margin-top:16px}.routing-rule-container[data-v-d3bede0b]:not(:first-of-type){margin-top:24px}.routing-rule-container hr[data-v-d3bede0b]{border:0;border-top:1px solid rgba(0,0,0,.1);margin-bottom:16px}.routing-rule-input[data-v-d3bede0b]{align-items:center;column-gap:16px;display:flex}.routing-rule-input .k-input[data-v-d3bede0b]{width:100%}.routing-rule-input[data-v-d3bede0b]:not(:first-of-type){margin-top:16px}.routing-rule-input .methods-input-container[data-v-d3bede0b]{display:flex;flex-wrap:wrap;gap:12px}.routing-rule-input .methods-input[data-v-d3bede0b]{display:flex;flex-wrap:wrap;gap:4px}.routing-rule-input .methods-input[data-v-d3bede0b] label.k-switch{margin:0!important}.routing-rule-add-item-button[data-v-d3bede0b]{margin-top:16px}.routing-rule-container[data-v-dccd9082]:not(:first-of-type){margin-top:24px}.routing-rule-container hr[data-v-dccd9082]{border:0;border-top:1px solid rgba(0,0,0,.1);margin-bottom:16px}.routing-rule-input[data-v-dccd9082]{align-items:center;column-gap:16px;display:flex}.routing-rule-input .k-input[data-v-dccd9082]{width:100%}.routing-rule-input[data-v-dccd9082]:not(:first-of-type){margin-top:16px}.routing-rule-input .methods-input-container[data-v-dccd9082]{display:flex;flex-wrap:wrap;gap:12px}.routing-rule-input .methods-input[data-v-dccd9082]{display:flex;flex-wrap:wrap;gap:4px}.routing-rule-input .methods-input[data-v-dccd9082] label.k-switch{margin:0!important}.routing-rule-add-item-button[data-v-dccd9082]{margin-top:16px}.routing-rule-container[data-v-6c94d6d2]:not(:first-of-type){margin-top:24px}.routing-rule-container hr[data-v-6c94d6d2]{border:0;border-top:1px solid rgba(0,0,0,.1);margin-bottom:16px}.routing-rule-input[data-v-6c94d6d2]{align-items:center;column-gap:16px;display:flex}.routing-rule-input .k-input[data-v-6c94d6d2]{width:100%}.routing-rule-input[data-v-6c94d6d2]:not(:first-of-type){margin-top:16px}.routing-rule-input .methods-input-container[data-v-6c94d6d2]{display:flex;flex-wrap:wrap;gap:12px}.routing-rule-input .methods-input[data-v-6c94d6d2]{display:flex;flex-wrap:wrap;gap:4px}.routing-rule-input .methods-input[data-v-6c94d6d2] label.k-switch{margin:0!important}.routing-rule-add-item-button[data-v-6c94d6d2]{margin-top:16px}.routing-rule-container[data-v-eb440a9e]:not(:first-of-type){margin-top:24px}.routing-rule-container hr[data-v-eb440a9e]{border:0;border-top:1px solid rgba(0,0,0,.1);margin-bottom:16px}.routing-rule-input[data-v-eb440a9e]{align-items:center;column-gap:16px;display:flex}.routing-rule-input .k-input[data-v-eb440a9e]{width:100%}.routing-rule-input[data-v-eb440a9e]:not(:first-of-type){margin-top:16px}.routing-rule-input .methods-input-container[data-v-eb440a9e]{display:flex;flex-wrap:wrap;gap:12px}.routing-rule-input .methods-input[data-v-eb440a9e]{display:flex;flex-wrap:wrap;gap:4px}.routing-rule-input .methods-input[data-v-eb440a9e] label.k-switch{margin:0!important}.routing-rule-add-item-button[data-v-eb440a9e]{margin-top:16px}.routing-rule-container[data-v-e6782e08]:not(:first-of-type){margin-top:24px}.routing-rule-container hr[data-v-e6782e08]{border:0;border-top:1px solid rgba(0,0,0,.1);margin-bottom:16px}.routing-rule-input[data-v-e6782e08]{align-items:center;column-gap:16px;display:flex}.routing-rule-input .k-input[data-v-e6782e08]{width:100%}.routing-rule-input[data-v-e6782e08]:not(:first-of-type){margin-top:16px}.routing-rule-input .methods-input-container[data-v-e6782e08]{display:flex;flex-wrap:wrap;gap:12px}.routing-rule-input .methods-input[data-v-e6782e08]{display:flex;flex-wrap:wrap;gap:4px}.routing-rule-input .methods-input[data-v-e6782e08] label.k-switch{margin:0!important}.routing-rule-add-item-button[data-v-e6782e08]{margin-top:16px}.routing-rule-container[data-v-448078c1]:not(:first-of-type){margin-top:24px}.routing-rule-container hr[data-v-448078c1]{border:0;border-top:1px solid rgba(0,0,0,.1);margin-bottom:16px}.routing-rule-input[data-v-448078c1]{align-items:center;column-gap:16px;display:flex}.routing-rule-input .k-input[data-v-448078c1]{width:100%}.routing-rule-input[data-v-448078c1]:not(:first-of-type){margin-top:16px}.routing-rule-input .methods-input-container[data-v-448078c1]{display:flex;flex-wrap:wrap;gap:12px}.routing-rule-input .methods-input[data-v-448078c1]{display:flex;flex-wrap:wrap;gap:4px}.routing-rule-input .methods-input[data-v-448078c1] label.k-switch{margin:0!important}.routing-rule-add-item-button[data-v-448078c1]{margin-top:16px}.route-form-routing-rules-title-container[data-v-f3fa9614]{display:flex;justify-content:center}.route-form-routing-rules-title-container .protocol-title[data-v-f3fa9614]{font-size:16px}.route-form-routing-rules-title-container .protocol-title[data-v-f3fa9614]:not(:first-child):before{content:"/";margin-right:8px;padding-left:8px}.route-form-routing-rules-title-container .routing-rules-title[data-v-f3fa9614]{font-size:16px;margin-left:8px}.route-form-advanced-fields-container[data-v-f3fa9614]{display:flex;flex-direction:column;margin-top:24px}.route-form-fields-container[data-v-f3fa9614]>*:not(:first-child){margin-top:24px}.traditional-rules-hint[data-v-f3fa9614]{color:#52596e;margin-bottom:24px}.traditional-rules-hint span[data-v-f3fa9614]:not(:first-child){margin-left:4px}.route-form-strip-path[data-v-f3fa9614]{margin-top:24px}.route-form-open-in-playground{align-items:center;color:#0030cc;cursor:pointer;display:flex;flex-direction:row;font-size:14px;font-weight:700;gap:8px;justify-content:flex-start;margin-top:12px}.route-form-open-in-playground.disabled{cursor:not-allowed;opacity:.5}.route-form-routing-rules-title-container[data-v-e7571a47]{display:flex;justify-content:center}.route-form-routing-rules-title-container .protocol-title[data-v-e7571a47]{font-size:16px}.route-form-routing-rules-title-container .protocol-title[data-v-e7571a47]:not(:first-child):before{content:"/";margin-right:8px;padding-left:8px}.route-form-routing-rules-title-container .routing-rules-title[data-v-e7571a47]{font-size:16px;margin-left:8px}.route-form-advanced-fields-container[data-v-e7571a47]{display:flex;flex-direction:column;margin-top:24px}.route-form-fields-container[data-v-e7571a47]>*:not(:first-child){margin-top:24px}.config-type-container[data-v-cbda4882]{display:flex;gap:16px}.config-type-container[data-v-cbda4882] .radio-card-wrapper{box-sizing:border-box}.config-flavor .config-flavor-label[data-v-cbda4882]{display:flex}.config-flavor .config-flavor-control[data-v-cbda4882]{display:inline-flex;width:auto}.appear-enter-active{transition:all .5s ease}.appear-enter-from,.appear-leave-to{opacity:0;transform:translate(30px)}.kong-ui-entities-route-form[data-v-5be17e8c]{width:100%}.kong-ui-entities-route-form .route-form-service-dropdown-item[data-v-5be17e8c]{display:flex;flex-direction:column}.kong-ui-entities-route-form .route-form-service-dropdown-item .select-item-label[data-v-5be17e8c]{font-weight:600}.kong-ui-entities-route-form .route-form-service-dropdown-item .select-item-description[data-v-5be17e8c]{color:#6c7489;font-size:12px}.kong-ui-entities-route-form .route-form-routing-rules-title-container[data-v-5be17e8c]{display:flex;justify-content:center}.kong-ui-entities-route-form .route-form-routing-rules-title-container .protocol-title[data-v-5be17e8c]{font-size:16px}.kong-ui-entities-route-form .route-form-routing-rules-title-container .protocol-title[data-v-5be17e8c]:not(:first-child):before{content:"/";margin-right:8px;padding-left:8px}.kong-ui-entities-route-form .route-form-routing-rules-title-container .routing-rules-title[data-v-5be17e8c]{font-size:16px;margin-left:8px}.kong-ui-entities-route-form .route-form-fields-container[data-v-5be17e8c]>*:not(:first-child){margin-top:24px}.kong-ui-entities-route-form .k-checkbox[data-v-5be17e8c]{display:flex}.kong-ui-entities-route-form[data-v-5be17e8c] .form-section-content{min-width:0}.kong-ui-entities-route-form .expression-editor[data-v-5be17e8c]{min-height:200px}.button-row[data-v-a438ef1a]{align-items:center;display:flex;gap:12px}.kong-ui-entities-routes-list[data-v-a438ef1a]{width:100%}.kong-ui-entities-routes-list .kong-ui-entity-filter-input[data-v-a438ef1a]{margin-right:12px}.kong-ui-entities-routes-list .route-list-cell-expression[data-v-a438ef1a]{font-family:JetBrains Mono,Consolas,monospace}.expression-editor[data-v-1bfe7f23]{border:1px solid #e0e4ea;border-radius:3px;min-height:200px;overflow:hidden;transition:border-color linear .15s;width:100%}.expression-editor.invalid[data-v-1bfe7f23]{border-color:#d60027}.page-header h1[data-v-dc31e237],h2[data-v-dc31e237],h3[data-v-dc31e237],h4[data-v-dc31e237],h5[data-v-dc31e237],h6[data-v-dc31e237]{color:#000933;font-size:24px;font-weight:700}.page-header h1 .title[data-v-dc31e237],h2 .title[data-v-dc31e237],h3 .title[data-v-dc31e237],h4 .title[data-v-dc31e237],h5 .title[data-v-dc31e237],h6 .title[data-v-dc31e237]{word-break:break-all}.row[data-v-dc31e237]{display:flex;flex-wrap:wrap;justify-content:space-between;margin-left:-16px;margin-right:-16px;padding:0 16px}.col[data-v-dc31e237]{line-height:36px}h1[data-v-dc31e237],h2[data-v-dc31e237],h3[data-v-dc31e237],h4[data-v-dc31e237],h5[data-v-dc31e237],h6[data-v-dc31e237],nav[data-v-dc31e237]{margin-bottom:20px;margin-top:0}.title-no-margin[data-v-dc31e237]{margin:0!important}.operations[data-v-dc31e237]{align-items:center;display:inline-flex;flex-grow:0;justify-content:flex-end;margin-left:auto;text-align:right;white-space:nowrap}.request-card[data-v-48794e33]{align-items:flex-start;background-color:#fff;border-radius:6px;display:flex;flex-direction:column;gap:8px;justify-content:flex-start;min-width:0;padding:12px;position:relative}.request-card[data-v-48794e33]:before{border:1px solid #e0e4ea;border-radius:6px;content:" ";height:100%;left:0;position:absolute;top:0;width:100%}.request-card.active[data-v-48794e33]:before{border:2px solid #5f9aff}.request-card .close-btn[data-v-48794e33]{cursor:pointer;display:none!important;position:absolute;right:12px;top:12px}.request-card:hover .close-btn[data-v-48794e33]{display:block!important}.request-card .badges[data-v-48794e33]{align-items:center;display:flex;flex-direction:row;gap:8px;margin-bottom:6px}.request-card .url[data-v-48794e33]{color:#000933;font-family:JetBrains Mono,Consolas,monospace;font-size:14px;word-break:break-all}.request-card .headers .header[data-v-48794e33]{font-family:JetBrains Mono,Consolas,monospace;list-style:none}.request-card .headers .header[data-v-48794e33],.request-card .headers .header ul[data-v-48794e33]{margin:0;padding:0}.request-card .headers .header li[data-v-48794e33]{list-style:none;margin-left:16px;padding-left:6px;position:relative;word-break:break-all}.request-card .headers .header li[data-v-48794e33]:before{background-color:#000;bottom:-12px;content:" ";left:-10px;position:absolute;top:5px;width:1px}.request-card .headers .header li[data-v-48794e33]:not(:first-child):last-child:before{display:none}.request-card .headers .header li[data-v-48794e33]:only-child:before{background-color:#000;bottom:7px;content:" ";display:list-item;height:7px;left:-10px;position:absolute;top:5px;width:1px}.request-card .headers .header li[data-v-48794e33]:after{background-color:#000;content:" ";height:1px;left:-10px;position:absolute;top:12px;width:10px}.request-card .headers .header-key[data-v-48794e33]{font-size:14px;font-weight:700;margin-left:8px;word-break:break-all}.request-card .headers .header-value[data-v-48794e33]{font-size:14px;font-weight:400;margin-left:16px;word-break:break-all}.request-card .sni .sni-content[data-v-48794e33]{font-family:JetBrains Mono,Consolas,monospace;font-size:14px;word-break:break-all}.request-card .section-title[data-v-48794e33]{font-weight:700}.import-requests-modal .import-requests-alert[data-v-8c069d07]{margin-bottom:16px}.import-requests-modal .import-requests-error[data-v-8c069d07]{margin-top:16px}.import-requests-modal .json-editor[data-v-8c069d07]{border:1px solid #e0e4ea;border-radius:4px;height:500px;overflow:hidden;width:100%}.import-requests-modal .warning[data-v-8c069d07]{color:#fabe5f}.url-input[data-v-ccaa94c1]{margin-bottom:32px;width:100%}.request-form[data-v-ccaa94c1] fieldset{border:0;padding:0}.support-text[data-v-11a8483b]{color:#000933;display:flex;flex-direction:row;flex-wrap:wrap;padding-bottom:32px}.support-text[data-v-11a8483b] p{font-size:14px;margin-bottom:0}.router-playground-wrapper .page-header[data-v-1ee3ba9d]{color:#000933;font-size:24px;font-weight:700}.router-playground-wrapper .editor-actions[data-v-1ee3ba9d]{display:flex;flex-direction:row;justify-content:flex-end;margin-top:16px;width:100%}.router-playground-wrapper .router-playground[data-v-1ee3ba9d]{margin:auto}.router-playground-wrapper .router-playground .navigate-back[data-v-1ee3ba9d]{align-items:center;color:#0030cc;cursor:pointer;display:flex;flex-direction:row;font-size:16px;font-weight:700;gap:8px;justify-content:flex-start;margin-bottom:48px;margin-top:10px}.router-playground-wrapper .router-playground .navigate-back .material-icons[data-v-1ee3ba9d]{font-size:14px}.router-playground-wrapper .router-playground .expression-inspirations[data-v-1ee3ba9d]{margin-top:16px}.router-playground-wrapper .router-playground .expression-inspirations .title[data-v-1ee3ba9d]{align-items:center;color:#6c7489;display:flex;flex-direction:row;font-size:14px;font-weight:700;gap:8px;justify-content:flex-start;margin-top:10px}.router-playground-wrapper .router-playground .expression-inspirations .title .material-icons[data-v-1ee3ba9d]{font-size:14px}.router-playground-wrapper .router-playground .expression-inspirations .buttons[data-v-1ee3ba9d]{align-items:center;display:flex;flex-direction:row;gap:8px;margin-top:12px}.router-playground-wrapper .router-playground .expression-inspirations .buttons button.expression-inspiration-item[data-v-1ee3ba9d]{border-style:solid;font-family:JetBrains Mono,Consolas,monospace}.router-playground-wrapper .router-playground .expression-editor-caption[data-v-1ee3ba9d]{align-items:center;display:flex;flex-direction:row;font-size:14px;justify-content:flex-start;margin:8px 0;opacity:.7}.router-playground-wrapper .router-playground .expression-list tbody tr[data-v-1ee3ba9d]{font-family:JetBrains Mono,Consolas,monospace}.router-playground-wrapper .router-playground .routes[data-v-1ee3ba9d]{margin-top:32px}.router-playground-wrapper .router-playground .routes .actions[data-v-1ee3ba9d]{align-items:center;display:flex;flex-direction:row;gap:8px}.router-playground-wrapper .router-playground .import-button[data-v-1ee3ba9d],.router-playground-wrapper .router-playground .export-button[data-v-1ee3ba9d]{margin-right:12px}.router-playground-wrapper .router-playground .route-cards[data-v-1ee3ba9d]{display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr}.router-playground-wrapper .router-playground .route-cards-footer[data-v-1ee3ba9d]{align-items:center;display:flex;flex-direction:row;font-size:14px;justify-content:center;margin:16px 0 8px;opacity:.7}.router-playground-wrapper .link[data-v-1ee3ba9d]{cursor:pointer;margin:0 2px;text-decoration:underline}.router-playground-modal .k-modal-backdrop{overflow-y:scroll}.router-playground-modal .modal-container{max-width:1280px!important;width:100%!important}.router-playground-modal .k-modal-header{margin-bottom:0!important}.router-playground-modal .k-prompt-header hr{margin-bottom:0;margin-top:12px}.router-playground-modal .k-prompt-body hr{margin-bottom:0;margin-top:0}.router-playground-modal .k-prompt-body-content{max-height:800px!important;padding:24px 0}
1
+ .config-card-fieldset[data-v-5baf64ca]{border:solid 1px #e0e4ea;border:solid var(--kui-border-width-10, 1px) var(--kui-color-border, #e0e4ea);border-radius:4px;margin-bottom:8px;margin-bottom:var(--kui-space-40, 8px);margin-top:4px}.config-card-fieldset-title[data-v-5baf64ca]{font-size:14px;font-size:var(--kui-font-size-30, 14px);padding:0 8px;padding:0 var(--kui-space-40, 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;margin:var(--kui-space-0, 0px) var(--kui-space-60, 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-2feb8c2e] .k-button.navigation-button{font-size:14px;font-weight:400}.config-card-details-row[data-v-b6987b3c]{align-items:center;border-bottom:var(--v25a763c4);box-sizing:border-box;display:var(--v1ac90e12);padding:16px;padding:var(--kui-space-60, 16px);padding-left:0;width:100%}.config-card-details-row .config-card-details-label[data-v-b6987b3c]{box-sizing:border-box;padding-right:16px;padding-right:var(--kui-space-60, 16px);width:var(--v45a716ee)}.config-card-details-row .config-card-details-label label[data-v-b6987b3c]{color:#3a3f51;color:var(--kui-color-text-neutral-stronger, #3a3f51);display:inline-flex;max-width:100%}.config-card-details-row .config-card-details-label label .label-content[data-v-b6987b3c]{line-height:initial;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-card-details-row .config-card-details-label label .k-popover[data-v-b6987b3c]{min-width:0}.config-card-details-row .config-card-details-value[data-v-b6987b3c]{box-sizing:border-box;width:var(--v45a28b38)}.config-card-details-row .config-card-details-value .truncated[data-v-b6987b3c]{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-b6987b3c]{overflow-wrap:anywhere}.config-card-details-row .config-card-details-value .copy-uuid-array[data-v-b6987b3c] .k-copy:not(:last-of-type){margin-bottom:8px;margin-bottom:var(--kui-space-40, 8px)}.config-card-details-row .config-card-details-value .method-badge-array[data-v-b6987b3c]{display:flex;flex-wrap:wrap;row-gap:10px}.config-card-details-row .config-badge[data-v-b6987b3c]{margin-right:4px;margin-right:var(--kui-space-20, 4px)}.config-card-details-row[data-v-b6987b3c] .k-label{margin-bottom:0}.config-card-details-row[data-v-b6987b3c] .k-label .kong-icon-infoFilled{display:flex}.config-card-details-row[data-v-b6987b3c] .config-card-details-row{width:auto}.json-content.k-code-block{border-top-left-radius:0;border-top-left-radius:var(--kui-border-radius-0, 0px);border-top-right-radius:0;border-top-right-radius:var(--kui-border-radius-0, 0px)}.json-endpoint{align-items:baseline;background-color:#000933;background-color:var(--kui-color-background-inverse, #000933);border-bottom:1px solid rgba(255,255,255,.2);border-bottom:var(--kui-border-width-10, 1px) solid var(--kui-color-border-inverse, rgba(255, 255, 255, .2));border-top-left-radius:8px;border-top-left-radius:var(--kui-border-radius-40, 8px);border-top-right-radius:8px;border-top-right-radius:var(--kui-border-radius-40, 8px);display:flex;padding:8px 0 8px 12px;padding:var(--kui-space-40, 8px) var(--kui-space-0, 0px) var(--kui-space-40, 8px) var(--kui-space-50, 12px)}.json-endpoint .k-code-block{flex:auto;z-index:2}.json-endpoint .k-code-block .code-block-content{padding-bottom:0;padding-bottom:var(--kui-space-0, 0px);padding-top:0;padding-top:var(--kui-space-0, 0px)}.json-endpoint .k-code-block .code-block-secondary-actions{margin-top:0!important}.json-endpoint code{direction:rtl;max-width:var(--v775b4bd8);overflow:hidden!important;text-align:left;text-overflow:ellipsis;white-space:nowrap}.config-card-prop-section-title[data-v-12374c4b]{color:#000933;color:var(--kui-color-text, #000933);font-size:16px;font-size:var(--kui-font-size-40, 16px);font-weight:600;font-weight:var(--kui-font-weight-semibold, 600);margin-bottom:16px;margin-bottom:var(--kui-space-60, 16px);margin-top:48px;margin-top:var(--kui-space-110, 48px)}.kong-ui-entity-base-config-card .config-card-actions[data-v-2f21a1bc]{align-items:center;display:flex}.kong-ui-entity-base-config-card .config-card-actions .config-format-select-label[data-v-2f21a1bc]{margin-bottom:0;margin-bottom:var(--kui-space-0, 0px);margin-right:8px;margin-right:var(--kui-space-40, 8px)}.kong-ui-entity-base-config-card .config-card-prop-section-title[data-v-2f21a1bc]{color:#000933;color:var(--kui-color-text, #000933);font-size:16px;font-size:var(--kui-font-size-40, 16px);font-weight:600;margin-bottom:16px;margin-bottom:var(--kui-space-60, 16px);margin-top:48px;margin-top:var(--kui-space-110, 48px)}.kong-ui-entity-base-config-card[data-v-2f21a1bc] .config-card-details-row:last-of-type{border-bottom:none}.kong-ui-entity-base-config-card .book-icon[data-v-2f21a1bc]{margin-left:8px;margin-left:var(--kui-space-40, 8px);padding:0;padding:var(--kui-space-0, 0px)}.deck-config .k-select[data-v-d4838dcc]{margin-bottom:16px;margin-bottom:var(--kui-space-60, 16px)}.deck-config .k-code-block[data-v-d4838dcc]{margin-top:12px;margin-top:var(--kui-space-50, 12px)}.kong-ui-entity-base-form[data-v-7034940b]{box-sizing:border-box;max-width:1536px;max-width:var(--kui-breakpoint-desktop, 1536px);width:100%}.kong-ui-entity-base-form[data-v-7034940b] .k-slideout-title{color:#000933!important;color:var(--kui-color-text, #000933)!important;font-size:24px!important;font-size:var(--kui-font-size-70, 24px)!important;font-weight:700!important;font-weight:var(--kui-font-weight-bold, 700)!important;line-height:32px!important;line-height:var(--kui-line-height-60, 32px)!important;margin-bottom:16px!important;margin-bottom:var(--kui-space-60, 16px)!important}.kong-ui-entity-base-form[data-v-7034940b] .k-card.content-card{padding:0 16px!important;padding:var(--kui-space-0, 0px) var(--kui-space-60, 16px)!important}.kong-ui-entity-base-form[data-v-7034940b] .tab-item>div.tab-link.has-panels{color:#6c7489!important;color:var(--kui-color-text-neutral, #6c7489)!important;font-size:14px!important;font-size:var(--kui-font-size-30, 14px)!important;font-weight:700!important;font-weight:var(--kui-font-weight-bold, 700)!important;line-height:24px!important;line-height:var(--kui-line-height-40, 24px)!important}.kong-ui-entity-base-form[data-v-7034940b] .tab-item.active>div.tab-link.has-panels{color:#000933!important;color:var(--kui-color-text, #000933)!important;font-weight:600!important;font-weight:var(--kui-font-weight-semibold, 600)!important}.kong-ui-entity-base-form[data-v-7034940b] .slideout-content{overflow-y:unset!important}.form-actions[data-v-7034940b]{align-items:center;display:flex;justify-content:flex-end;margin-top:24px;margin-top:var(--kui-space-80, 24px)}.form-actions[data-v-7034940b] .k-button:last-of-type,.form-actions[data-v-7034940b] .k-button:nth-last-of-type(2){margin-inline-start:16px;margin-inline-start:var(--kui-space-60, 16px)}.form-actions-reverted[data-v-7034940b]{direction:rtl}.content-wrapper[data-v-a3a65cac] .k-tooltip{word-break:break-all}.kong-ui-entity-base-table .toolbar-container[data-v-09e101d4]{align-items:center;display:flex;width:100%}.kong-ui-entity-base-table .toolbar-button-container[data-v-09e101d4]{margin-left:auto}.kong-ui-entity-base-table .hidden[data-v-09e101d4]{display:none}.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-d3d2bd8b]{width:100%}.kong-ui-entity-filter-clear[data-v-d3d2bd8b]{cursor:pointer}.kong-ui-entity-filter[data-v-d3d2bd8b]{display:flex;position:relative}.kong-ui-entity-filter[data-v-d3d2bd8b] .menu-content{flex-direction:column}.kong-ui-entity-filter[data-v-d3d2bd8b] .k-menu-item-divider hr{margin:12px 0}.kong-ui-entity-filter-backdrop[data-v-d3d2bd8b]{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1050}.kong-ui-entity-filter-menu[data-v-d3d2bd8b]{background-color:#fff;background-color:var(--kui-color-background, #ffffff);border:1px solid #afb7c5;border:var(--kui-border-width-10, 1px) solid var(--kui-color-border-neutral-weak, #afb7c5);border-radius:4px;border-radius:var(--kui-border-radius-20, 4px);box-shadow:0 4px 20px #e0e4ea;box-shadow:0 4px 20px var(--kui-color-border, #e0e4ea);left:0;margin-top:16px;padding:8px 0 12px;padding:var(--kui-space-40, 8px) 0 var(--kui-space-50, 12px);position:absolute;top:100%;width:300px;z-index:1060}.kong-ui-entity-filter-menu-item[data-v-d3d2bd8b]{border-bottom:1px solid #e0e4ea;border-bottom:var(--kui-border-width-10, 1px) solid var(--kui-color-border, #e0e4ea);color:#6c7489;color:var(--kui-color-text-neutral, #6c7489);font-size:12px;font-size:var(--kui-font-size-20, 12px);font-weight:400;font-weight:var(--kui-font-weight-regular, 400);line-height:16px;line-height:var(--kui-line-height-20, 16px);list-style:none;margin:0 20px;margin:var(--kui-space-0, 0px) var(--kui-space-70, 20px);padding:16px 0;padding:var(--kui-space-60, 16px) 0;position:relative;white-space:nowrap}.menu-item-title[data-v-d3d2bd8b]{align-items:center;cursor:pointer;display:flex;line-height:24px;line-height:var(--kui-line-height-40, 24px)}.menu-item-title.expanded[data-v-d3d2bd8b]{color:#232633;color:var(--kui-color-text-neutral-strongest, #232633)}.menu-item-expand-icon[data-v-d3d2bd8b]{margin-left:auto}.menu-item-expand-icon.expanded[data-v-d3d2bd8b]{transform:rotate(180deg)}.menu-item-indicator[data-v-d3d2bd8b]{background-color:#0044f4;background-color:var(--kui-color-background-primary, #0044f4);border-radius:50%;height:4px;margin-left:4px;width:4px}.menu-item-body[data-v-d3d2bd8b]{align-items:center;display:flex;justify-content:space-between;margin-top:16px;margin-top:var(--kui-space-60, 16px)}.menu-item-body[data-v-d3d2bd8b] .input{padding-bottom:4px!important;padding-top:4px!important}.menu-item-body[data-v-d3d2bd8b] .k-input{width:100%}.menu-item-body[data-v-d3d2bd8b] .k-select-input .input{font-size:12px}.menu-item-body[data-v-d3d2bd8b] .k-select-input .input::placeholder{color:#00000073!important;font-size:12px}.menu-item-label[data-v-d3d2bd8b]{margin-bottom:0;margin-right:12px}.menu-item-buttons[data-v-d3d2bd8b]{display:flex;justify-content:space-between;margin:10px 0 6px}.filter-clear-button-container[data-v-d3d2bd8b]{padding:12px 20px 0;padding:var(--kui-space-50, 12px) var(--kui-space-70, 20px) 0}fieldset[data-v-ccd29028]{margin:0;min-width:0;padding:0}.kong-ui-entity-form-section[data-v-ccd29028]{border:0}.kong-ui-entity-form-section .form-section-wrapper[data-v-ccd29028]{column-gap:16px;column-gap:var(--kui-space-60, 16px);display:flex;flex-direction:column;padding-bottom:64px;padding-bottom:var(--kui-space-130, 64px);row-gap:12px;row-gap:var(--kui-space-50, 12px);width:100%}@media (min-width: 1024px){.kong-ui-entity-form-section .form-section-wrapper[data-v-ccd29028]{flex-direction:row}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-ccd29028]{flex:1}@media (min-width: 1024px){.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-ccd29028]{max-width:350px}.kong-ui-entity-form-section .form-section-wrapper .form-section-info.sticky[data-v-ccd29028]{height:fit-content;margin-bottom:16px;margin-bottom:var(--kui-space-60, 16px);position:sticky;top:16px}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-title[data-v-ccd29028]{color:#000933;color:var(--kui-color-text, #000933);font-size:16px;font-size:var(--kui-font-size-40, 16px);font-weight:700;font-weight:var(--kui-font-weight-bold, 700);line-height:20px;line-height:var(--kui-line-height-30, 20px);margin-bottom:8px;margin-bottom:var(--kui-space-40, 8px);margin-top:0;margin-top:var(--kui-space-0, 0px)}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-ccd29028],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description p[data-v-ccd29028],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-ccd29028] p{color:#000933;color:var(--kui-color-text, #000933);font-size:14px;font-size:var(--kui-font-size-30, 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-ccd29028]{margin-top:32px;margin-top:var(--kui-space-90, 32px)}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-ccd29028]{flex:1}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-ccd29028]>*:not(:first-child){margin-top:24px;margin-top:var(--kui-space-80, 24px)}.kong-ui-entity-form-section.has-divider .form-section-wrapper[data-v-ccd29028]{border-bottom:1px solid #e0e4ea;border-bottom:var(--kui-border-width-10, 1px) solid var(--kui-color-border, #e0e4ea)}.ff-form-section .header[data-v-73a0f344]{align-items:flex-start;display:flex;gap:8px;gap:var(--kui-space-40, 8px)}.ff-form-section .step[data-v-73a0f344]{align-items:center;background:#fff;background:var(--kui-color-background, #ffffff);border:1px solid #afb7c5;border:1px solid var(--kui-color-border-neutral-weak, #afb7c5);border-radius:100px;border-radius:var(--kui-border-radius-round, 100px);display:flex;flex:0 0 auto;height:32px;justify-content:center;padding:4px;padding:var(--kui-space-20, 4px);width:32px}.ff-form-section .header-content[data-v-73a0f344]{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:column;gap:8px;gap:var(--kui-space-40, 8px);padding-top:4px;padding-top:var(--kui-space-20, 4px)}.ff-form-section .header-title[data-v-73a0f344]{color:#000933;color:var(--kui-color-text, #000933);font-size:18px;font-size:var(--kui-font-size-50, 18px);font-weight:700;font-weight:var(--kui-font-weight-bold, 700);line-height:24px;line-height:var(--kui-line-height-40, 24px);margin:0}.ff-form-section .header-description[data-v-73a0f344]{color:#52596e;color:var(--kui-color-text-neutral-strong, #52596e);font-size:14px;font-size:var(--kui-font-size-30, 14px);line-height:20px;line-height:var(--kui-line-height-30, 20px);margin:0}.ff-form-section .header-extra[data-v-73a0f344]{align-items:center;display:flex;flex:0 0 auto;gap:8px;gap:var(--kui-space-40, 8px);justify-content:flex-end}.ff-form-section .content[data-v-73a0f344]{background:#f9fafb;background:var(--kui-color-background-neutral-weakest, #f9fafb);border:1px solid #e0e4ea;border:var(--kui-border-width-10, 1px) solid var(--kui-color-border, #e0e4ea);border-radius:6px;border-radius:var(--kui-border-radius-30, 6px);display:flex;flex-direction:column;gap:20px;gap:var(--kui-space-70, 20px);margin-left:16px;margin-left:var(--kui-space-60, 16px);margin-top:20px;margin-top:var(--kui-space-70, 20px);padding:20px 24px;padding:var(--kui-space-70, 20px) var(--kui-space-80, 24px)}.kong-ui-public-entity-link[data-v-a18d7efa]{align-items:center;display:flex}.kong-ui-public-entity-link .deleted-entity[data-v-a18d7efa]{font-style:italic}.kong-ui-public-entity-link .entity-link[data-v-a18d7efa]{display:flex;flex:1}.kong-ui-public-entity-link .entity-link[data-v-a18d7efa] .external-link-icon{color:#0044f4;color:var(--kui-color-text-primary, #0044f4);margin-left:4px;margin-left:var(--kui-space-20, 4px);padding:2px;padding:var(--kui-space-10, 2px)}.kong-ui-public-entity-link .entity-link-label[data-v-a18d7efa]{display:inline-block;font-weight:400;font-weight:var(--kui-font-weight-regular, 400);max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kong-ui-public-entity-link .copy-uuid-tooltip[data-v-a18d7efa]{align-items:center;cursor:pointer;display:flex}.kong-ui-public-entity-link .copy-uuid-tooltip .entity-link-copy-id[data-v-a18d7efa]{margin-left:2px;margin-left:var(--kui-space-10, 2px)}.kong-ui-public-entity-empty-state[data-v-007edf5e]{align-items:center;background-color:#fff;background-color:var(--kui-color-background, #ffffff);box-sizing:border-box;display:flex;flex-direction:column;font-family:Inter,Roboto,Helvetica,sans-serif;font-family:var(--kui-font-family-text, "Inter", Roboto, Helvetica, sans-serif);gap:24px;gap:var(--kui-space-80, 24px);padding:64px 0;padding:var(--kui-space-130, 64px) var(--kui-space-0, 0px);width:100%}@media (min-width: 640px){.kong-ui-public-entity-empty-state[data-v-007edf5e]{padding:64px 96px;padding:var(--kui-space-130, 64px) var(--kui-space-150, 96px)}}.kong-ui-public-entity-empty-state .empty-state-image[data-v-007edf5e]{margin-bottom:8px;margin-bottom:var(--kui-space-40, 8px)}.kong-ui-public-entity-empty-state .entity-empty-state-content[data-v-007edf5e]{align-items:center;display:flex;flex-direction:column;gap:8px;gap:var(--kui-space-40, 8px);text-align:center;width:100%}.kong-ui-public-entity-empty-state .entity-empty-state-content .entity-empty-state-title h1[data-v-007edf5e]{align-items:center;color:#000933;color:var(--kui-color-text, #000933);display:flex;font-size:24px;font-size:var(--kui-font-size-70, 24px);font-weight:700;font-weight:var(--kui-font-weight-bold, 700);gap:8px;gap:var(--kui-space-40, 8px);line-height:32px;line-height:var(--kui-line-height-60, 32px);margin:0;margin:var(--kui-space-0, 0px)}.kong-ui-public-entity-empty-state .entity-empty-state-content .entity-empty-state-title h1.secondary[data-v-007edf5e]{font-size:18px;font-size:var(--kui-font-size-50, 18px)}.kong-ui-public-entity-empty-state .entity-empty-state-description[data-v-007edf5e],.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-007edf5e]{color:#52596e;color:var(--kui-color-text-neutral-strong, #52596e);font-size:14px;font-size:var(--kui-font-size-30, 14px);font-weight:400;font-weight:var(--kui-font-weight-regular, 400);line-height:20px;line-height:var(--kui-line-height-30, 20px);max-width:640px}.kong-ui-public-entity-empty-state .entity-empty-state-description p[data-v-007edf5e],.kong-ui-public-entity-empty-state .entity-empty-state-pricing p[data-v-007edf5e]{margin:0;margin:var(--kui-space-0, 0px)}.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-007edf5e]{margin-top:16px;margin-top:var(--kui-space-60, 16px)}.kong-ui-public-entity-empty-state .entity-empty-state-message[data-v-007edf5e]{color:#52596e;color:var(--kui-color-text-neutral-strong, #52596e)}.kong-ui-public-entity-empty-state .entity-empty-state-action[data-v-007edf5e]{align-items:center;display:flex;gap:12px;gap:var(--kui-space-50, 12px)}.kong-ui-public-entity-empty-state .entity-empty-state-card-container[data-v-007edf5e]{display:flex;flex-wrap:wrap;gap:16px;gap:var(--kui-space-60, 16px);justify-content:space-around;margin-top:8px;margin-top:var(--kui-space-40, 8px);width:312px}@media (min-width: 640px){.kong-ui-public-entity-empty-state .entity-empty-state-card-container[data-v-007edf5e]{width:640px;width:calc(2 * 312px + var(--kui-space-60, 16px))}}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-007edf5e]{background-color:#f9fafb;background-color:var(--kui-color-background-neutral-weakest, #f9fafb);border:1px solid #e0e4ea;border:var(--kui-border-width-10, 1px) solid var(--kui-color-border, #e0e4ea);border-radius:6px;border-radius:var(--kui-border-radius-30, 6px);color:#afb7c5;color:var(--kui-color-text-neutral-weak, #afb7c5);gap:8px;gap:var(--kui-space-40, 8px);height:160px;padding:20px;padding:var(--kui-space-70, 20px);width:312px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card .feature-icon[data-v-007edf5e]{color:#3a3f51;color:var(--kui-color-text-neutral-stronger, #3a3f51);display:flex;margin-bottom:12px;margin-bottom:var(--kui-space-50, 12px)}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card .feature-icon[data-v-007edf5e] .kui-icon{height:20px!important;height:var(--kui-icon-size-40, 20px)!important;width:20px!important;width:var(--kui-icon-size-40, 20px)!important}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-007edf5e] .card-title{font-size:14px;font-size:var(--kui-font-size-30, 14px);font-weight:600;font-weight:var(--kui-font-weight-semibold, 600)}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-007edf5e] .card-content{-webkit-box-orient:vertical;color:#6c7489;color:var(--kui-color-text-neutral, #6c7489);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.kong-ui-public-entity-empty-state .entity-empty-state-bottom-container[data-v-007edf5e]{border-top:1px solid #e0e4ea;border-top:var(--kui-border-width-10, 1px) solid var(--kui-color-border, #e0e4ea);display:flex;flex-direction:column;gap:16px;gap:var(--kui-space-60, 16px);padding-top:48px;padding-top:var(--kui-space-110, 48px);width:100%}@media (min-width: 640px){.kong-ui-public-entity-empty-state .entity-empty-state-bottom-container[data-v-007edf5e]{width:640px;width:calc(2 * 312px + var(--kui-space-60, 16px))}}.routing-rule-add-item-button[data-v-f1f4cfc9]{display:flex}.routing-rule-container[data-v-3eb40a37]:not(:first-of-type){margin-top:24px;margin-top:var(--kui-space-80, 24px)}.routing-rule-container hr[data-v-3eb40a37]{border:0;border-top:1px solid rgba(0,0,0,.1);margin-bottom:16px;margin-bottom:var(--kui-space-60, 16px)}.routing-rule-input[data-v-3eb40a37]{align-items:center;column-gap:16px;column-gap:var(--kui-space-60, 16px);display:flex}.routing-rule-input .k-input[data-v-3eb40a37]{width:100%}.routing-rule-input[data-v-3eb40a37]:not(:first-of-type){margin-top:16px;margin-top:var(--kui-space-60, 16px)}.routing-rule-input .methods-input-container[data-v-3eb40a37]{display:flex;flex-wrap:wrap;gap:12px;gap:var(--kui-space-50, 12px)}.routing-rule-input .methods-input[data-v-3eb40a37]{display:flex;flex-wrap:wrap;gap:4px;gap:var(--kui-space-20, 4px)}.routing-rule-input .methods-input[data-v-3eb40a37] label.k-switch{margin:0!important}.routing-rule-add-item-button[data-v-3eb40a37]{margin-top:16px;margin-top:var(--kui-space-60, 16px)}.routing-rule-container[data-v-d3bede0b]:not(:first-of-type){margin-top:24px;margin-top:var(--kui-space-80, 24px)}.routing-rule-container hr[data-v-d3bede0b]{border:0;border-top:1px solid rgba(0,0,0,.1);margin-bottom:16px;margin-bottom:var(--kui-space-60, 16px)}.routing-rule-input[data-v-d3bede0b]{align-items:center;column-gap:16px;column-gap:var(--kui-space-60, 16px);display:flex}.routing-rule-input .k-input[data-v-d3bede0b]{width:100%}.routing-rule-input[data-v-d3bede0b]:not(:first-of-type){margin-top:16px;margin-top:var(--kui-space-60, 16px)}.routing-rule-input .methods-input-container[data-v-d3bede0b]{display:flex;flex-wrap:wrap;gap:12px;gap:var(--kui-space-50, 12px)}.routing-rule-input .methods-input[data-v-d3bede0b]{display:flex;flex-wrap:wrap;gap:4px;gap:var(--kui-space-20, 4px)}.routing-rule-input .methods-input[data-v-d3bede0b] label.k-switch{margin:0!important}.routing-rule-add-item-button[data-v-d3bede0b]{margin-top:16px;margin-top:var(--kui-space-60, 16px)}.routing-rule-container[data-v-dccd9082]:not(:first-of-type){margin-top:24px;margin-top:var(--kui-space-80, 24px)}.routing-rule-container hr[data-v-dccd9082]{border:0;border-top:1px solid rgba(0,0,0,.1);margin-bottom:16px;margin-bottom:var(--kui-space-60, 16px)}.routing-rule-input[data-v-dccd9082]{align-items:center;column-gap:16px;column-gap:var(--kui-space-60, 16px);display:flex}.routing-rule-input .k-input[data-v-dccd9082]{width:100%}.routing-rule-input[data-v-dccd9082]:not(:first-of-type){margin-top:16px;margin-top:var(--kui-space-60, 16px)}.routing-rule-input .methods-input-container[data-v-dccd9082]{display:flex;flex-wrap:wrap;gap:12px;gap:var(--kui-space-50, 12px)}.routing-rule-input .methods-input[data-v-dccd9082]{display:flex;flex-wrap:wrap;gap:4px;gap:var(--kui-space-20, 4px)}.routing-rule-input .methods-input[data-v-dccd9082] label.k-switch{margin:0!important}.routing-rule-add-item-button[data-v-dccd9082]{margin-top:16px;margin-top:var(--kui-space-60, 16px)}.routing-rule-container[data-v-6c94d6d2]:not(:first-of-type){margin-top:24px;margin-top:var(--kui-space-80, 24px)}.routing-rule-container hr[data-v-6c94d6d2]{border:0;border-top:1px solid rgba(0,0,0,.1);margin-bottom:16px;margin-bottom:var(--kui-space-60, 16px)}.routing-rule-input[data-v-6c94d6d2]{align-items:center;column-gap:16px;column-gap:var(--kui-space-60, 16px);display:flex}.routing-rule-input .k-input[data-v-6c94d6d2]{width:100%}.routing-rule-input[data-v-6c94d6d2]:not(:first-of-type){margin-top:16px;margin-top:var(--kui-space-60, 16px)}.routing-rule-input .methods-input-container[data-v-6c94d6d2]{display:flex;flex-wrap:wrap;gap:12px;gap:var(--kui-space-50, 12px)}.routing-rule-input .methods-input[data-v-6c94d6d2]{display:flex;flex-wrap:wrap;gap:4px;gap:var(--kui-space-20, 4px)}.routing-rule-input .methods-input[data-v-6c94d6d2] label.k-switch{margin:0!important}.routing-rule-add-item-button[data-v-6c94d6d2]{margin-top:16px;margin-top:var(--kui-space-60, 16px)}.routing-rule-container[data-v-eb440a9e]:not(:first-of-type){margin-top:24px;margin-top:var(--kui-space-80, 24px)}.routing-rule-container hr[data-v-eb440a9e]{border:0;border-top:1px solid rgba(0,0,0,.1);margin-bottom:16px;margin-bottom:var(--kui-space-60, 16px)}.routing-rule-input[data-v-eb440a9e]{align-items:center;column-gap:16px;column-gap:var(--kui-space-60, 16px);display:flex}.routing-rule-input .k-input[data-v-eb440a9e]{width:100%}.routing-rule-input[data-v-eb440a9e]:not(:first-of-type){margin-top:16px;margin-top:var(--kui-space-60, 16px)}.routing-rule-input .methods-input-container[data-v-eb440a9e]{display:flex;flex-wrap:wrap;gap:12px;gap:var(--kui-space-50, 12px)}.routing-rule-input .methods-input[data-v-eb440a9e]{display:flex;flex-wrap:wrap;gap:4px;gap:var(--kui-space-20, 4px)}.routing-rule-input .methods-input[data-v-eb440a9e] label.k-switch{margin:0!important}.routing-rule-add-item-button[data-v-eb440a9e]{margin-top:16px;margin-top:var(--kui-space-60, 16px)}.routing-rule-container[data-v-e6782e08]:not(:first-of-type){margin-top:24px;margin-top:var(--kui-space-80, 24px)}.routing-rule-container hr[data-v-e6782e08]{border:0;border-top:1px solid rgba(0,0,0,.1);margin-bottom:16px;margin-bottom:var(--kui-space-60, 16px)}.routing-rule-input[data-v-e6782e08]{align-items:center;column-gap:16px;column-gap:var(--kui-space-60, 16px);display:flex}.routing-rule-input .k-input[data-v-e6782e08]{width:100%}.routing-rule-input[data-v-e6782e08]:not(:first-of-type){margin-top:16px;margin-top:var(--kui-space-60, 16px)}.routing-rule-input .methods-input-container[data-v-e6782e08]{display:flex;flex-wrap:wrap;gap:12px;gap:var(--kui-space-50, 12px)}.routing-rule-input .methods-input[data-v-e6782e08]{display:flex;flex-wrap:wrap;gap:4px;gap:var(--kui-space-20, 4px)}.routing-rule-input .methods-input[data-v-e6782e08] label.k-switch{margin:0!important}.routing-rule-add-item-button[data-v-e6782e08]{margin-top:16px;margin-top:var(--kui-space-60, 16px)}.routing-rule-container[data-v-448078c1]:not(:first-of-type){margin-top:24px;margin-top:var(--kui-space-80, 24px)}.routing-rule-container hr[data-v-448078c1]{border:0;border-top:1px solid rgba(0,0,0,.1);margin-bottom:16px;margin-bottom:var(--kui-space-60, 16px)}.routing-rule-input[data-v-448078c1]{align-items:center;column-gap:16px;column-gap:var(--kui-space-60, 16px);display:flex}.routing-rule-input .k-input[data-v-448078c1]{width:100%}.routing-rule-input[data-v-448078c1]:not(:first-of-type){margin-top:16px;margin-top:var(--kui-space-60, 16px)}.routing-rule-input .methods-input-container[data-v-448078c1]{display:flex;flex-wrap:wrap;gap:12px;gap:var(--kui-space-50, 12px)}.routing-rule-input .methods-input[data-v-448078c1]{display:flex;flex-wrap:wrap;gap:4px;gap:var(--kui-space-20, 4px)}.routing-rule-input .methods-input[data-v-448078c1] label.k-switch{margin:0!important}.routing-rule-add-item-button[data-v-448078c1]{margin-top:16px;margin-top:var(--kui-space-60, 16px)}.route-form-routing-rules-title-container[data-v-0ade8d72]{display:flex;justify-content:center}.route-form-routing-rules-title-container .protocol-title[data-v-0ade8d72]{font-size:16px}.route-form-routing-rules-title-container .protocol-title[data-v-0ade8d72]:not(:first-child):before{content:"/";margin-right:8px;padding-left:8px}.route-form-routing-rules-title-container .routing-rules-title[data-v-0ade8d72]{font-size:16px;margin-left:8px}.route-form-advanced-fields-container[data-v-0ade8d72]{display:flex;flex-direction:column;margin-top:24px}.route-form-fields-container[data-v-0ade8d72]>*:not(:first-child){margin-top:24px}.traditional-rules-hint[data-v-0ade8d72]{color:#52596e;color:var(--kui-color-text-neutral-strong, #52596e);margin-bottom:24px;margin-bottom:var(--kui-space-80, 24px)}.traditional-rules-hint span[data-v-0ade8d72]:not(:first-child){margin-left:4px;margin-left:var(--kui-space-20, 4px)}.route-form-strip-path[data-v-0ade8d72]{margin-top:24px;margin-top:var(--kui-space-80, 24px)}.route-form-open-in-playground{align-items:center;color:#0030cc;color:var(--kui-color-text-primary-strong, #0030cc);cursor:pointer;display:flex;flex-direction:row;font-size:14px;font-size:var(--kui-font-size-30, 14px);font-weight:700;gap:8px;gap:var(--kui-space-40, 8px);justify-content:flex-start;margin-top:12px;margin-top:var(--kui-space-50, 12px)}.route-form-open-in-playground.disabled{cursor:not-allowed;opacity:.5}.route-form-routing-rules-title-container[data-v-e7571a47]{display:flex;justify-content:center}.route-form-routing-rules-title-container .protocol-title[data-v-e7571a47]{font-size:16px}.route-form-routing-rules-title-container .protocol-title[data-v-e7571a47]:not(:first-child):before{content:"/";margin-right:8px;padding-left:8px}.route-form-routing-rules-title-container .routing-rules-title[data-v-e7571a47]{font-size:16px;margin-left:8px}.route-form-advanced-fields-container[data-v-e7571a47]{display:flex;flex-direction:column;margin-top:24px}.route-form-fields-container[data-v-e7571a47]>*:not(:first-child){margin-top:24px}.config-type-container[data-v-537443cc]{display:flex;gap:16px;gap:var(--kui-space-60, 16px)}.config-type-container[data-v-537443cc] .radio-card-wrapper{box-sizing:border-box}.config-flavor .config-flavor-label[data-v-537443cc]{display:flex}.config-flavor .config-flavor-control[data-v-537443cc]{display:inline-flex;width:auto}.appear-enter-active{transition:all .5s ease}.appear-enter-from,.appear-leave-to{opacity:0;transform:translate(30px)}.kong-ui-entities-route-form[data-v-1b31b80c]{width:100%}.kong-ui-entities-route-form .route-form-service-dropdown-item[data-v-1b31b80c]{display:flex;flex-direction:column}.kong-ui-entities-route-form .route-form-service-dropdown-item .select-item-label[data-v-1b31b80c]{font-weight:600;font-weight:var(--kui-font-weight-semibold, 600)}.kong-ui-entities-route-form .route-form-service-dropdown-item .select-item-description[data-v-1b31b80c]{color:#6c7489;color:var(--kui-color-text-neutral, #6c7489);font-size:12px;font-size:var(--kui-font-size-20, 12px)}.kong-ui-entities-route-form .route-form-routing-rules-title-container[data-v-1b31b80c]{display:flex;justify-content:center}.kong-ui-entities-route-form .route-form-routing-rules-title-container .protocol-title[data-v-1b31b80c]{font-size:16px}.kong-ui-entities-route-form .route-form-routing-rules-title-container .protocol-title[data-v-1b31b80c]:not(:first-child):before{content:"/";margin-right:8px;padding-left:8px}.kong-ui-entities-route-form .route-form-routing-rules-title-container .routing-rules-title[data-v-1b31b80c]{font-size:16px;margin-left:8px}.kong-ui-entities-route-form .route-form-fields-container[data-v-1b31b80c]>*:not(:first-child){margin-top:24px}.kong-ui-entities-route-form .k-checkbox[data-v-1b31b80c]{display:flex}.kong-ui-entities-route-form[data-v-1b31b80c] .form-section-content{min-width:0}.kong-ui-entities-route-form .expression-editor[data-v-1b31b80c]{min-height:200px}.button-row[data-v-afa4025b]{align-items:center;display:flex;gap:12px;gap:var(--kui-space-50, 12px)}.kong-ui-entities-routes-list[data-v-afa4025b]{width:100%}.kong-ui-entities-routes-list .kong-ui-entity-filter-input[data-v-afa4025b]{margin-right:12px;margin-right:var(--kui-space-50, 12px)}.kong-ui-entities-routes-list .route-list-cell-expression[data-v-afa4025b]{font-family:JetBrains Mono,Consolas,monospace;font-family:var(--kui-font-family-code, "JetBrains Mono", Consolas, monospace)}.expression-editor[data-v-e61c01af]{border:1px solid #e0e4ea;border:var(--kui-border-width-10, 1px) solid var(--kui-color-border, #e0e4ea);border-radius:3px;min-height:200px;overflow:hidden;transition:border-color linear .15s;width:100%}.expression-editor.invalid[data-v-e61c01af]{border-color:#d60027;border-color:var(--kui-color-border-danger, #d60027)}.page-header h1[data-v-226872d8],h2[data-v-226872d8],h3[data-v-226872d8],h4[data-v-226872d8],h5[data-v-226872d8],h6[data-v-226872d8]{color:#000933;color:var(--kui-color-text, #000933);font-size:24px;font-size:var(--kui-font-size-70, 24px);font-weight:700;font-weight:var(--kui-font-weight-bold, 700)}.page-header h1 .title[data-v-226872d8],h2 .title[data-v-226872d8],h3 .title[data-v-226872d8],h4 .title[data-v-226872d8],h5 .title[data-v-226872d8],h6 .title[data-v-226872d8]{word-break:break-all}.row[data-v-226872d8]{display:flex;flex-wrap:wrap;justify-content:space-between;margin-left:-16px;margin-left:calc(-1 * var(--kui-space-60, 16px));margin-right:-16px;margin-right:calc(-1 * var(--kui-space-60, 16px));padding:0 16px;padding:var(--kui-space-0, 0px) var(--kui-space-60, 16px)}.col[data-v-226872d8]{line-height:36px;line-height:var(--kui-line-height-70, 36px)}h1[data-v-226872d8],h2[data-v-226872d8],h3[data-v-226872d8],h4[data-v-226872d8],h5[data-v-226872d8],h6[data-v-226872d8],nav[data-v-226872d8]{margin-bottom:20px;margin-bottom:var(--kui-space-70, 20px);margin-top:0;margin-top:var(--kui-space-0, 0px)}.title-no-margin[data-v-226872d8]{margin:0!important;margin:var(--kui-space-0, 0px)!important}.operations[data-v-226872d8]{align-items:center;display:inline-flex;flex-grow:0;justify-content:flex-end;margin-left:auto;margin-left:var(--kui-space-auto, auto);text-align:right;white-space:nowrap}.request-card[data-v-49c3a287]{align-items:flex-start;background-color:#fff;background-color:var(--kui-color-background, #ffffff);border-radius:6px;border-radius:var(--kui-border-radius-30, 6px);display:flex;flex-direction:column;gap:8px;gap:var(--kui-space-40, 8px);justify-content:flex-start;min-width:0;padding:12px;padding:var(--kui-space-50, 12px);position:relative}.request-card[data-v-49c3a287]:before{border:1px solid #e0e4ea;border:var(--kui-border-width-10, 1px) solid var(--kui-color-border-neutral-weaker, #e0e4ea);border-radius:6px;border-radius:var(--kui-border-radius-30, 6px);content:" ";height:100%;left:0;position:absolute;top:0;width:100%}.request-card.active[data-v-49c3a287]:before{border:2px solid #5f9aff;border:var(--kui-border-width-20, 2px) solid var(--kui-color-border-primary-weak, #5f9aff)}.request-card .close-btn[data-v-49c3a287]{cursor:pointer;display:none!important;position:absolute;right:12px;top:12px}.request-card:hover .close-btn[data-v-49c3a287]{display:block!important}.request-card .badges[data-v-49c3a287]{align-items:center;display:flex;flex-direction:row;gap:8px;gap:var(--kui-space-40, 8px);margin-bottom:6px;margin-bottom:var(--kui-space-30, 6px)}.request-card .url[data-v-49c3a287]{color:#000933;color:var(--kui-color-text, #000933);font-family:JetBrains Mono,Consolas,monospace;font-family:JetBrains Mono,Consolas,monospace;font-family:var(--kui-font-family-code, "JetBrains Mono", Consolas, monospace);font-size:14px;font-size:var(--kui-font-size-30, 14px);word-break:break-all}.request-card .headers .header[data-v-49c3a287]{font-family:JetBrains Mono,Consolas,monospace;font-family:JetBrains Mono,Consolas,monospace;font-family:var(--kui-font-family-code, "JetBrains Mono", Consolas, monospace);list-style:none}.request-card .headers .header[data-v-49c3a287],.request-card .headers .header ul[data-v-49c3a287]{margin:0;padding:0}.request-card .headers .header li[data-v-49c3a287]{list-style:none;margin-left:16px;margin-left:var(--kui-space-60, 16px);padding-left:6px;padding-left:var(--kui-space-30, 6px);position:relative;word-break:break-all}.request-card .headers .header li[data-v-49c3a287]:before{background-color:#000;bottom:-12px;content:" ";left:-10px;position:absolute;top:5px;width:1px}.request-card .headers .header li[data-v-49c3a287]:not(:first-child):last-child:before{display:none}.request-card .headers .header li[data-v-49c3a287]:only-child:before{background-color:#000;bottom:7px;content:" ";display:list-item;height:7px;left:-10px;position:absolute;top:5px;width:1px}.request-card .headers .header li[data-v-49c3a287]:after{background-color:#000;content:" ";height:1px;left:-10px;position:absolute;top:12px;width:10px}.request-card .headers .header-key[data-v-49c3a287]{font-size:14px;font-size:var(--kui-font-size-30, 14px);font-weight:700;margin-left:8px;margin-left:var(--kui-space-40, 8px);word-break:break-all}.request-card .headers .header-value[data-v-49c3a287]{font-size:14px;font-size:var(--kui-font-size-30, 14px);font-weight:400;margin-left:16px;margin-left:var(--kui-space-60, 16px);word-break:break-all}.request-card .sni .sni-content[data-v-49c3a287]{font-family:JetBrains Mono,Consolas,monospace;font-family:JetBrains Mono,Consolas,monospace;font-family:var(--kui-font-family-code, "JetBrains Mono", Consolas, monospace);font-size:14px;font-size:var(--kui-font-size-30, 14px);word-break:break-all}.request-card .section-title[data-v-49c3a287]{font-weight:700}.import-requests-modal .import-requests-alert[data-v-fbf91195]{margin-bottom:16px;margin-bottom:var(--kui-space-60, 16px)}.import-requests-modal .import-requests-error[data-v-fbf91195]{margin-top:16px;margin-top:var(--kui-space-60, 16px)}.import-requests-modal .json-editor[data-v-fbf91195]{border:1px solid #e0e4ea;border:var(--kui-border-width-10, 1px) solid var(--kui-color-border, #e0e4ea);border-radius:4px;border-radius:var(--kui-border-radius-20, 4px);height:500px;overflow:hidden;width:100%}.import-requests-modal .warning[data-v-fbf91195]{color:#fabe5f}.url-input[data-v-f9a204c0]{margin-bottom:32px;margin-bottom:var(--kui-space-90, 32px);width:100%}.request-form[data-v-f9a204c0] fieldset{border:0;padding:0}.support-text[data-v-a75d41a4]{color:#000933;color:var(--kui-color-text, #000933);display:flex;flex-direction:row;flex-wrap:wrap;padding-bottom:32px;padding-bottom:var(--kui-space-90, 32px)}.support-text[data-v-a75d41a4] p{font-size:14px;font-size:var(--kui-font-size-30, 14px);margin-bottom:0;margin-bottom:var(--kui-space-0, 0px)}.router-playground-wrapper .page-header[data-v-6c1e1c26]{color:#000933;color:var(--kui-color-text, #000933);font-size:24px;font-size:var(--kui-font-size-70, 24px);font-weight:700;font-weight:var(--kui-font-weight-bold, 700)}.router-playground-wrapper .editor-actions[data-v-6c1e1c26]{display:flex;flex-direction:row;justify-content:flex-end;margin-top:16px;margin-top:var(--kui-space-60, 16px);width:100%}.router-playground-wrapper .router-playground[data-v-6c1e1c26]{margin:auto}.router-playground-wrapper .router-playground .navigate-back[data-v-6c1e1c26]{align-items:center;color:#0030cc;color:var(--kui-color-text-primary-strong, #0030cc);cursor:pointer;display:flex;flex-direction:row;font-size:16px;font-size:var(--kui-font-size-40, 16px);font-weight:700;font-weight:var(--kui-font-weight-bold, 700);gap:8px;gap:var(--kui-space-40, 8px);justify-content:flex-start;margin-bottom:48px;margin-bottom:var(--kui-space-110, 48px);margin-top:10px}.router-playground-wrapper .router-playground .navigate-back .material-icons[data-v-6c1e1c26]{font-size:14px;font-size:var(--kui-font-size-30, 14px)}.router-playground-wrapper .router-playground .expression-inspirations[data-v-6c1e1c26]{margin-top:16px;margin-top:var(--kui-space-60, 16px)}.router-playground-wrapper .router-playground .expression-inspirations .title[data-v-6c1e1c26]{align-items:center;color:#6c7489;color:var(--kui-color-text-neutral, #6c7489);display:flex;flex-direction:row;font-size:14px;font-size:var(--kui-font-size-30, 14px);font-weight:700;gap:8px;gap:var(--kui-space-40, 8px);justify-content:flex-start;margin-top:10px}.router-playground-wrapper .router-playground .expression-inspirations .title .material-icons[data-v-6c1e1c26]{font-size:14px;font-size:var(--kui-font-size-30, 14px)}.router-playground-wrapper .router-playground .expression-inspirations .buttons[data-v-6c1e1c26]{align-items:center;display:flex;flex-direction:row;gap:8px;gap:var(--kui-space-40, 8px);margin-top:12px;margin-top:var(--kui-space-50, 12px)}.router-playground-wrapper .router-playground .expression-inspirations .buttons button.expression-inspiration-item[data-v-6c1e1c26]{border-style:solid;font-family:JetBrains Mono,Consolas,monospace;font-family:JetBrains Mono,Consolas,monospace;font-family:var(--kui-font-family-code, "JetBrains Mono", Consolas, monospace)}.router-playground-wrapper .router-playground .expression-editor-caption[data-v-6c1e1c26]{align-items:center;display:flex;flex-direction:row;font-size:14px;font-size:var(--kui-font-size-30, 14px);justify-content:flex-start;margin:8px 0;margin:var(--kui-space-40, 8px) var(--kui-space-0, 0px);opacity:.7}.router-playground-wrapper .router-playground .expression-list tbody tr[data-v-6c1e1c26]{font-family:JetBrains Mono,Consolas,monospace;font-family:JetBrains Mono,Consolas,monospace;font-family:var(--kui-font-family-code, "JetBrains Mono", Consolas, monospace)}.router-playground-wrapper .router-playground .routes[data-v-6c1e1c26]{margin-top:32px;margin-top:var(--kui-space-90, 32px)}.router-playground-wrapper .router-playground .routes .actions[data-v-6c1e1c26]{align-items:center;display:flex;flex-direction:row;gap:8px;gap:var(--kui-space-40, 8px)}.router-playground-wrapper .router-playground .import-button[data-v-6c1e1c26],.router-playground-wrapper .router-playground .export-button[data-v-6c1e1c26]{margin-right:12px;margin-right:var(--kui-space-50, 12px)}.router-playground-wrapper .router-playground .route-cards[data-v-6c1e1c26]{display:grid;gap:16px;gap:var(--kui-space-60, 16px);grid-template-columns:1fr 1fr 1fr}.router-playground-wrapper .router-playground .route-cards-footer[data-v-6c1e1c26]{align-items:center;display:flex;flex-direction:row;font-size:14px;font-size:var(--kui-font-size-30, 14px);justify-content:center;margin:16px 0 8px;margin:var(--kui-space-60, 16px) var(--kui-space-0, 0px) var(--kui-space-40, 8px);opacity:.7}.router-playground-wrapper .link[data-v-6c1e1c26]{cursor:pointer;margin:0 2px;margin:0 var(--kui-space-10, 2px);text-decoration:underline}.router-playground-modal .k-modal-backdrop{overflow-y:scroll}.router-playground-modal .modal-container{max-width:1280px!important;width:100%!important}.router-playground-modal .k-modal-header{margin-bottom:0!important;margin-bottom:var(--kui-space-0, 0px)!important}.router-playground-modal .k-prompt-header hr{margin-bottom:0;margin-bottom:var(--kui-space-0, 0px);margin-top:12px;margin-top:var(--kui-space-50, 12px)}.router-playground-modal .k-prompt-body hr{margin-bottom:0;margin-bottom:var(--kui-space-0, 0px);margin-top:0;margin-top:var(--kui-space-0, 0px)}.router-playground-modal .k-prompt-body-content{max-height:800px!important;padding:24px 0;padding:var(--kui-space-80, 24px) var(--kui-space-0, 0px)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kong-ui-public/entities-routes",
3
- "version": "3.17.14",
3
+ "version": "3.17.15-pr.2790.95b70759b.0",
4
4
  "type": "module",
5
5
  "main": "./dist/entities-routes.umd.js",
6
6
  "module": "./dist/entities-routes.es.js",
@@ -26,11 +26,11 @@
26
26
  "axios": "^1.13.2",
27
27
  "vue": ">= 3.3.13 < 4",
28
28
  "vue-router": "^4.6.4",
29
- "@kong-ui-public/entities-shared": "^3.36.12",
29
+ "@kong-ui-public/entities-shared": "^3.36.13-pr.2790.95b70759b.0",
30
30
  "@kong-ui-public/i18n": "^2.4.5"
31
31
  },
32
32
  "devDependencies": {
33
- "@kong/design-tokens": "1.18.2",
33
+ "@kong/design-tokens": "1.18.3-pr.613.f4a145c.0",
34
34
  "@kong/icons": "^1.41.0",
35
35
  "@kong/kongponents": "9.48.8",
36
36
  "@types/lodash.isequal": "^4.5.8",
@@ -38,8 +38,8 @@
38
38
  "vite-plugin-monaco-editor": "^1.1.0",
39
39
  "vue": "^3.5.26",
40
40
  "vue-router": "^4.6.4",
41
- "@kong-ui-public/entities-shared": "^3.36.12",
42
- "@kong-ui-public/i18n": "^2.4.5"
41
+ "@kong-ui-public/i18n": "^2.4.5",
42
+ "@kong-ui-public/entities-shared": "^3.36.13-pr.2790.95b70759b.0"
43
43
  },
44
44
  "repository": {
45
45
  "type": "git",
@@ -57,7 +57,7 @@
57
57
  },
58
58
  "dependencies": {
59
59
  "lodash.isequal": "^4.5.0",
60
- "@kong-ui-public/expressions": "^1.3.44"
60
+ "@kong-ui-public/expressions": "^1.3.45-pr.2790.95b70759b.0"
61
61
  },
62
62
  "scripts": {
63
63
  "dev": "cross-env USE_SANDBOX=true vite",