@kong-ui-public/entities-routes 3.15.6 → 3.15.7

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 m, useModel as k, ref as P, computed as a, resolveComponent as _, createElementBlock as c, openBlock as s, Fragment as b, createBlock as f, createCommentVNode as i, createVNode as B, unref as v, withCtx as w, 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-NpkVuKXc.js";
3
+ import { c as F } from "./index-CFExBtDb.js";
4
4
  const j = /* @__PURE__ */ T({
5
5
  __name: "RouteFormExpressionsEditor",
6
6
  props: /* @__PURE__ */ m({
@@ -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-NpkVuKXc.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-CFExBtDb.js";
2
2
  export {
3
3
  R as ExpressionsEditorState,
4
4
  o as HTTP_REDIRECT_STATUS_CODES,
@@ -1 +1 @@
1
- (function(R,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):(R=typeof globalThis<"u"?globalThis:R||self,e(R["kong-ui-public-entities-routes"]={},R.Vue,R["kong-ui-public-entities-shared"],R.isEqual,R.VueRouter,R.KongIcons,R.Kongponents,R["kong-ui-public-expressions"],R["kong-ui-public-i18n"]))})(this,function(R,e,k,be,_e,z,Ie,le,Te){"use strict";const L="/v2/control-planes/{controlPlaneId}/core-entities",F="/{workspace}",v={list:{konnect:{all:`${L}/routes`,forGatewayService:`${L}/services/{serviceId}/routes`},kongManager:{all:`${F}/routes`,forGatewayService:`${F}/services/{serviceId}/routes`}},form:{konnect:{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}`}},kongManager:{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}`}}},item:{konnect:{getService:`${L}/services/{serviceId}`,all:`${L}/routes/{id}`,forGatewayService:`${L}/services/{serviceId}/routes/{id}`},kongManager:{getService:`${F}/services/{serviceId}`,all:`${F}/routes/{id}`,forGatewayService:`${F}/services/{serviceId}/routes/{id}`}}},Re={actions:{create:"New route",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."}}},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 we(){const l=Te.createI18n("en-us",Re);return{i18n:l,i18nT:Te.i18nTComponent(l)}}const H={useI18n:we},Be={class:"kong-ui-entities-route-entity-config-card"},Ae={key:2},xe=e.defineComponent({__name:"RouteConfigCard",props:{config:{type:Object,required:!0,validator:l=>!(!l||!["konnect","kongManager"].includes(l==null?void 0:l.app)||l.app==="konnect"&&!l.controlPlaneId||l.app==="kongManager"&&typeof l.workspace!="string"||!l.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(l,{emit:V}){var w;const p=V,o=l,{axiosInstance:a}=k.useAxios((w=o.config)==null?void 0:w.axiosRequestConfig),{i18n:{t:f}}=H.useI18n(),n=e.ref(""),T=e.ref(""),u=e.ref(!1),h=e.computed(()=>{var s,i;return(i=v.item[(s=o.config)==null?void 0:s.app])==null?void 0:i[o.serviceId?"forGatewayService":"all"].replace(/{serviceId}/gi,o.serviceId)}),c=e.computed(()=>{var s;return(s=v.item[o.config.app])==null?void 0:s.getService}),g=async s=>{var y,B,q;if(n.value=o.serviceId||((y=s==null?void 0:s.service)==null?void 0:y.id),p("fetch:success",s),!n.value)return;let i=`${o.config.apiBaseUrl}${c.value}`;o.config.app==="konnect"?i=i.replace(/{controlPlaneId}/gi,((B=o.config)==null?void 0:B.controlPlaneId)||"").replace(/{serviceId}/gi,n.value||""):o.config.app==="kongManager"&&(i=i.replace(/\/{workspace}/gi,(q=o.config)!=null&&q.workspace?`/${o.config.workspace}`:"").replace(/{serviceId}/gi,n.value||""));try{u.value=!0;const{data:$}=await a.get(i);T.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:k.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.service.tooltip"),order:5},tags:{tooltip:f("form.fields.tags.tooltip"),order:6},protocols:{section:k.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.protocols.tooltip"),type:k.ConfigurationSchemaType.BadgeTag,order:7},paths:{section:k.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.paths.tooltip"),type:k.ConfigurationSchemaType.CopyBadge,order:8},hosts:{section:k.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.hosts.tooltip"),type:k.ConfigurationSchemaType.CopyBadge,order:9},snis:{label:f("form.fields.snis.label"),tooltip:f("form.fields.snis.tooltip"),order:10},headers:{section:k.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.headers.tooltip"),order:11},methods:{section:k.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.methods.tooltip"),type:k.ConfigurationSchemaType.BadgeMethod,order:12},sources:{section:k.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.sources.tooltip"),type:k.ConfigurationSchemaType.JsonArray,order:13},destinations:{section:k.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.destinations.tooltip"),type:k.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,i)=>{const y=e.resolveComponent("KSkeleton");return e.openBlock(),e.createElementBlock("div",Be,[e.createVNode(e.unref(k.EntityBaseConfigCard),{config:l.config,"config-card-doc":l.configCardDoc,"config-schema":I.value,"entity-type":e.unref(k.SupportedEntityType).Route,"fetch-url":h.value,"hide-title":l.hideTitle,"onFetch:error":i[0]||(i[0]=B=>s.$emit("fetch:error",B)),"onFetch:success":g,onLoading:i[1]||(i[1]=B=>s.$emit("loading",B))},{service:e.withCtx(({row:B})=>[u.value?(e.openBlock(),e.createBlock(y,{key:0,"data-testid":"service-name-loader",type:"spinner"})):B.value&&B.value.id===n.value&&T.value?(e.openBlock(),e.createBlock(e.unref(k.InternalLinkItem),{key:1,item:{key:B.value.id,value:T.value,type:e.unref(k.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>s.$emit("navigation-click",B.value.id,"services")},null,8,["item","onNavigationClick"])):(e.openBlock(),e.createElementBlock("div",Ae,e.toDisplayString("-")))]),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title"])])}}});var O=(l=>(l.TRADITIONAL="traditional",l.EXPRESSIONS="expressions",l))(O||{}),r=(l=>(l.PATHS="paths",l.SNIS="snis",l.HOSTS="hosts",l.METHODS="methods",l.HEADERS="headers",l.SOURCES="sources",l.DESTINATIONS="destinations",l))(r||{}),J=(l=>(l.LOADING="loading",l.ERROR="error",l.READY="ready",l))(J||{}),Q=(l=>(l.GET="GET",l.PUT="PUT",l.POST="POST",l.PATCH="PATCH",l.DELETE="DELETE",l.OPTIONS="OPTIONS",l.HEAD="HEAD",l.CONNECT="CONNECT",l.TRACE="TRACE",l))(Q||{});const pe=l=>l.routeFlavors.traditional===!0,ue=l=>l.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}]},de={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]},fe=[{label:"426",value:426},{label:"301",value:301},{label:"302",value:302},{label:"307",value:307},{label:"308",value:308}],Ee=[{label:"v0",value:"v0"},{label:"v1",value:"v1"}],se={https_redirect_status_code:426,strip_path:!0,preserve_host:!1,request_buffering:!0,response_buffering:!0},Ce={...se,paths:[""],regex_priority:0,path_handling:"v0",expression:"",priority:0},Oe=e.defineComponent({__name:"RuleControlsAdd",props:{routingRulesEntity:{}},emits:["add"],setup(l,{emit:V}){const p=l,o=V,a=e.inject("configType","basic"),{i18n:{t:f}}=H.useI18n(),n=e.computed(()=>f(`form.fields.${p.routingRulesEntity}.add`));return(T,u)=>{const h=e.resolveComponent("KButton");return e.unref(a)!=="basic"?(e.openBlock(),e.createBlock(h,{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(z.AddIcon)),e.createElementVNode("span",null,e.toDisplayString(n.value),1)]),_:1},8,["data-testid"])):e.createCommentVNode("",!0)}}}),P=(l,V)=>{const p=l.__vccOpts||l;for(const[o,a]of V)p[o]=a;return p},ee=P(Oe,[["__scopeId","data-v-f1f4cfc9"]]),De="#00abd2",Me="#afb7c5",He="#0044f4",$e="16px",Pe="24px",te=e.defineComponent({__name:"RuleControlsRemove",props:{disabled:{type:Boolean},routingRulesEntity:{}},emits:["remove"],setup(l,{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-${a.routingRulesEntity}`,disabled:a.disabled,icon:"",onClick:f[0]||(f[0]=T=>p("remove"))},{default:e.withCtx(()=>[e.createVNode(e.unref(z.CloseIcon),{color:a.disabled?e.unref(Me):e.unref(He)},null,8,["color"])]),_:1},8,["data-testid","disabled"])):e.createCommentVNode("",!0)}}}),Ue={class:"routing-rule-container"},Le=["innerHTML"],Fe=P(e.defineComponent({__name:"DestinationRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(l,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(l,"modelValue"),a=V;return(f,n)=>{const T=e.resolveComponent("KLabel"),u=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",Ue,[e.createVNode(T,{"tooltip-attributes":{maxWidth:"320"}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(p)("form.fields.destinations.tooltip")},null,8,Le)]),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,(h,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:"routing-rule-input"},[e.createVNode(u,{modelValue:o.value[c].ip,"onUpdate:modelValue":g=>o.value[c].ip=g,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":g=>o.value[c].port=g,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(te,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).DESTINATIONS,onRemove:g=>a("remove",c)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(ee,{"routing-rules-entity":e.unref(r).DESTINATIONS,onAdd:n[0]||(n[0]=h=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-3eb40a37"]]),Ke={class:"routing-rule-container"},qe=["innerHTML"],Ge=P(e.defineComponent({__name:"HeaderRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(l,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(l,"modelValue"),a=V;return(f,n)=>{const T=e.resolveComponent("KLabel"),u=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",Ke,[e.createVNode(T,{"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,(h,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:"routing-rule-input"},[e.createVNode(u,{modelValue:o.value[c].header,"onUpdate:modelValue":g=>o.value[c].header=g,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":g=>o.value[c].values=g,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(te,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).HEADERS,onRemove:g=>a("remove",c)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(ee,{"routing-rules-entity":e.unref(r).HEADERS,onAdd:n[0]||(n[0]=h=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-d3bede0b"]]),je={class:"routing-rule-container"},We=["innerHTML"],Xe=P(e.defineComponent({__name:"HostRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(l,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(l,"modelValue"),a=V,f=e.inject("configType","basic");return(n,T)=>{const u=e.resolveComponent("KLabel"),h=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,g)=>(e.openBlock(),e.createElementBlock("div",{key:g,class:"routing-rule-input"},[e.createVNode(h,{modelValue:o.value[g],"onUpdate:modelValue":I=>o.value[g]=I,modelModifiers:{trim:!0},"data-testid":`route-form-hosts-input-${g+1}`,placeholder:e.unref(p)("form.fields.hosts.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(te,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).HOSTS,onRemove:I=>a("remove",g)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(ee,{"routing-rules-entity":e.unref(r).HOSTS,onAdd:T[0]||(T[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=P(e.defineComponent({__name:"MethodRules",props:{methods:{required:!0},methodsModifiers:{},customMethods:{required:!0},customMethodsModifiers:{}},emits:["update:methods","update:customMethods"],setup(l){const{i18n:{t:V}}=H.useI18n(),p=e.useModel(l,"methods"),o=e.useModel(l,"customMethods"),a=e.computed(()=>p.value.filter(h=>Object.keys(Q).includes(h)).concat(o.value.map(h=>h.value))),f=e.computed(()=>Object.keys(Q).map(h=>({label:h,value:h})).concat(o.value.map(h=>({label:h.label,value:h.value,custom:!0})))),n=h=>!f.value.map(c=>c.value.toLowerCase()).includes(h.toLowerCase()),T=(h,c)=>{c?o.value.push(h):o.value=o.value.filter(g=>g.value!==h.value)},u=h=>{p.value=h};return(h,c)=>{const g=e.resolveComponent("KLabel"),I=e.resolveComponent("KMultiselect");return e.openBlock(),e.createElementBlock("div",ze,[e.createVNode(g,{"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]=w=>T(w,!0)),onItemRemoved:c[1]||(c[1]=w=>T(w,!1)),"onUpdate:modelValue":u},null,8,["items","model-value","placeholder","search-placeholder"])])])}}}),[["__scopeId","data-v-6c94d6d2"]]),Ze={class:"routing-rule-container"},ve=["innerHTML"],et=P(e.defineComponent({__name:"PathRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(l,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(l,"modelValue"),a=V,f=e.inject("configType","basic");return(n,T)=>{const u=e.resolveComponent("KLabel"),h=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,g)=>(e.openBlock(),e.createElementBlock("div",{key:g,class:"routing-rule-input"},[e.createVNode(h,{modelValue:o.value[g],"onUpdate:modelValue":I=>o.value[g]=I,modelModifiers:{trim:!0},"data-testid":`route-form-paths-input-${g+1}`,placeholder:e.unref(p)("form.fields.paths.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(te,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).PATHS,onRemove:I=>a("remove",g)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(ee,{"routing-rules-entity":e.unref(r).PATHS,onAdd:T[0]||(T[0]=c=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-eb440a9e"]]),tt={class:"routing-rule-container"},ot=["innerHTML"],rt=P(e.defineComponent({__name:"SniRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(l,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(l,"modelValue"),a=V;return(f,n)=>{const T=e.resolveComponent("KLabel"),u=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",tt,[e.createVNode(T,{"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,(h,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:"routing-rule-input"},[e.createVNode(u,{modelValue:o.value[c],"onUpdate:modelValue":g=>o.value[c]=g,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(te,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).SNIS,onRemove:g=>a("remove",c)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(ee,{"routing-rules-entity":e.unref(r).SNIS,onAdd:n[0]||(n[0]=h=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-e6782e08"]]),lt={class:"routing-rule-container"},st=["innerHTML"],nt=P(e.defineComponent({__name:"SourceRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(l,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(l,"modelValue"),a=V;return(f,n)=>{const T=e.resolveComponent("KLabel"),u=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",lt,[e.createVNode(T,{"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,(h,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:"routing-rule-input"},[e.createVNode(u,{modelValue:o.value[c].ip,"onUpdate:modelValue":g=>o.value[c].ip=g,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":g=>o.value[c].port=g,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(te,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).SOURCES,onRemove:g=>a("remove",c)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(ee,{"routing-rules-entity":e.unref(r).SOURCES,onAdd:n[0]||(n[0]=h=>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"],ke=P(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(l){const{i18nT:V,i18n:p,i18n:{t:o}}=H.useI18n(),a=p.source.form.protocols,f=l,n=e.useModel(l,"fields"),T=e.useModel(l,"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}},h=async(s,i)=>{if(typeof i<"u"){const y=n.value[s];if(Array.isArray(y)&&(y.splice(i,1),y.length>0))return}await e.nextTick(()=>{delete n.value[s]})},c=s=>s.some(i=>f.protocols.includes(i)),g=e.computed(()=>new Set(de[f.protocols])),I=e.computed(()=>{if(c(["tls_passthrough"]))return[w(r.SNIS)];const s=(f.configType==="basic"?[r.PATHS,r.METHODS,r.HOSTS]:de[f.protocols]).map(i=>w(i));return[[...s].splice(0,s.length-1).join(", "),s[s.length-1]]}),w=s=>{var y;return((y=p.source.form.fields[s])==null?void 0:y.singular)||""};return(s,i)=>{const y=e.resolveComponent("KCheckbox"),B=e.resolveComponent("KSelect"),q=e.resolveComponent("KInput"),$=e.resolveComponent("KCard");return e.openBlock(),e.createBlock($,null,{default:e.withCtx(()=>{var m;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)[s.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}),s.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&&g.value.has(e.unref(r).PATHS)?(e.openBlock(),e.createBlock(et,{key:"paths-container",modelValue:n.value.paths,"onUpdate:modelValue":i[0]||(i[0]=b=>n.value.paths=b),onAdd:i[1]||(i[1]=b=>u(e.unref(r).PATHS)),onRemove:i[2]||(i[2]=b=>h(e.unref(r).PATHS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),c(["http","https","ws","wss"])?(e.openBlock(),e.createBlock(y,{key:1,modelValue:n.value.strip_path,"onUpdate:modelValue":i[3]||(i[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&&g.value.has(e.unref(r).METHODS)?(e.openBlock(),e.createBlock(Ye,{key:"methods-container","custom-methods":T.value,"onUpdate:customMethods":i[4]||(i[4]=b=>T.value=b),methods:n.value.methods,"onUpdate:methods":i[5]||(i[5]=b=>n.value.methods=b)},null,8,["custom-methods","methods"])):e.createCommentVNode("",!0),n.value.hosts&&g.value.has(e.unref(r).HOSTS)?(e.openBlock(),e.createBlock(Xe,{key:"hosts-container",modelValue:n.value.hosts,"onUpdate:modelValue":i[6]||(i[6]=b=>n.value.hosts=b),onAdd:i[7]||(i[7]=b=>u(e.unref(r).HOSTS)),onRemove:i[8]||(i[8]=b=>h(e.unref(r).HOSTS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),n.value.headers&&s.configType==="advanced"&&g.value.has(e.unref(r).HEADERS)?(e.openBlock(),e.createBlock(Ge,{key:"headers-container",modelValue:n.value.headers,"onUpdate:modelValue":i[9]||(i[9]=b=>n.value.headers=b),onAdd:i[10]||(i[10]=b=>u(e.unref(r).HEADERS)),onRemove:i[11]||(i[11]=b=>h(e.unref(r).HEADERS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),n.value.sources&&g.value.has(e.unref(r).SOURCES)?(e.openBlock(),e.createBlock(nt,{key:"sources-container",modelValue:n.value.sources,"onUpdate:modelValue":i[12]||(i[12]=b=>n.value.sources=b),onAdd:i[13]||(i[13]=b=>u(e.unref(r).SOURCES)),onRemove:i[14]||(i[14]=b=>h(e.unref(r).SOURCES,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),n.value.destinations&&g.value.has(e.unref(r).DESTINATIONS)?(e.openBlock(),e.createBlock(Fe,{key:"destinations-container",modelValue:n.value.destinations,"onUpdate:modelValue":i[15]||(i[15]=b=>n.value.destinations=b),onAdd:i[16]||(i[16]=b=>u(e.unref(r).DESTINATIONS)),onRemove:i[17]||(i[17]=b=>h(e.unref(r).DESTINATIONS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),n.value.snis&&s.configType==="advanced"&&g.value.has(e.unref(r).SNIS)?(e.openBlock(),e.createBlock(rt,{key:"snis-container",modelValue:n.value.snis,"onUpdate:modelValue":i[18]||(i[18]=b=>n.value.snis=b),onAdd:i[19]||(i[19]=b=>u(e.unref(r).SNIS)),onRemove:i[20]||(i[20]=b=>h(e.unref(r).SNIS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0)]}),_:1}),s.hideAdvanced?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ct,[(m=n.value.paths)!=null&&m.some(Boolean)?(e.openBlock(),e.createBlock(B,{key:0,modelValue:n.value.path_handling,"onUpdate:modelValue":i[21]||(i[21]=S=>n.value.path_handling=S),"data-testid":"route-form-path-handling",items:e.unref(Ee),label:e.unref(o)("form.fields.path_handling.label"),"label-attributes":{tooltipAttributes:{maxWidth:"320"}},readonly:s.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(B,{modelValue:n.value.https_redirect_status_code,"onUpdate:modelValue":i[22]||(i[22]=S=>n.value.https_redirect_status_code=S),"data-testid":"route-form-http-redirect-status-code",items:e.unref(fe),label:e.unref(o)("form.fields.https_redirect_status_code.label"),"label-attributes":{tooltipAttributes:{maxWidth:"320"}},readonly:s.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(q,{modelValue:n.value.regex_priority,"onUpdate:modelValue":i[23]||(i[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:s.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(y,{modelValue:n.value.preserve_host,"onUpdate:modelValue":i[24]||(i[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(y,{modelValue:n.value.request_buffering,"onUpdate:modelValue":i[25]||(i[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(y,{modelValue:n.value.response_buffering,"onUpdate:modelValue":i[26]||(i[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(l,{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(()=>Ut),loadingComponent:o,errorComponent:a}),n=l,T=V,u=e.ref(J.LOADING),h=e.useModel(l,"modelValue"),c=g=>{h.value=g};return e.onMounted(async()=>{try{await(await import("@kong-ui-public/expressions")).asyncInit,u.value=J.READY}catch(g){u.value=J.ERROR,console.error(g)}}),(g,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[u.value===e.unref(J).ERROR?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a),{key:0,"data-testid":"route-form-expressions-editor-loader-error"})):u.value===e.unref(J).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:h.value,"onUpdate:modelValue":I[0]||(I[0]=w=>h.value=w),protocol:n.protocol,"show-expressions-modal-entry":g.showExpressionsModalEntry,onNotify:I[1]||(I[1]=w=>T("notify",w))},{default:e.withCtx(()=>[e.createVNode(e.unref(z.RocketIcon),{size:e.unref($e)},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(g.$slots,"after-editor",{expression:{value:h.value,update:c},state:u.value})],64))}}),St={class:"route-form-routing-rules-title-container"},bt={class:"routing-rules-title"},_t={class:"route-form-fields-container route-form-advanced-fields-container"},Tt=P(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(l,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=l,a=e.useModel(l,"fields"),f=V,n=e.ref(!0),T=e.computed(()=>o.protocols.split(",")||[]),u=h=>h.some(c=>o.protocols.includes(c));return(h,c)=>{const g=e.resolveComponent("KCard"),I=e.resolveComponent("KSelect"),w=e.resolveComponent("KInput"),s=e.resolveComponent("KCheckbox"),i=e.resolveComponent("KCollapse");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(g,null,{title:e.withCtx(()=>[e.createElementVNode("div",St,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.value,y=>(e.openBlock(),e.createElementBlock("span",{key:y,class:"protocol-title"},e.toDisplayString(y.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]=y=>a.value.expression=y),protocol:T.value[0],"show-expressions-modal-entry":h.showExpressionsModalEntry,onNotify:c[1]||(c[1]=y=>f("notify",y))},{"after-editor":e.withCtx(y=>[e.renderSlot(h.$slots,"after-expressions-editor",{expression:y.expression,state:y.state},void 0,!0)]),_:3},8,["modelValue","protocol","show-expressions-modal-entry"])]),_:3}),e.createVNode(i,{modelValue:n.value,"onUpdate:modelValue":c[8]||(c[8]=y=>n.value=y),class:"route-form-advanced-fields-collapse","trigger-alignment":"leading","trigger-label":e.unref(p)("form.show_more")},{default:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[e.createElementVNode("div",_t,[e.createVNode(I,{modelValue:a.value.https_redirect_status_code,"onUpdate:modelValue":c[2]||(c[2]=y=>a.value.https_redirect_status_code=y),"data-testid":"route-form-http-redirect-status-code",items:e.unref(fe),label:e.unref(p)("form.fields.https_redirect_status_code.label"),readonly:h.readonly,width:"100%"},null,8,["modelValue","items","label","readonly"]),e.createVNode(w,{modelValue:a.value.priority,"onUpdate:modelValue":c[3]||(c[3]=y=>a.value.priority=y),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:h.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]=y=>a.value.strip_path=y),"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]=y=>a.value.preserve_host=y),"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]=y=>a.value.request_buffering=y),"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]=y=>a.value.response_buffering=y),"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"},Ne=P(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({...se,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(l,{emit:V}){const p=l,o=e.useModel(l,"configType"),a=e.useModel(l,"configFlavor"),f=e.useModel(l,"fields"),n=e.useModel(l,"customMethods"),T=V,{i18n:{t:u}}=H.useI18n(),h=[{value:O.TRADITIONAL,label:u("form.flavors.traditional")},{value:O.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"}]:[]]),g=e.computed(()=>p.recordFlavor?p.recordFlavor:a.value),I=(m,S)=>{if(!new Set(de[p.protocols]).has(m))return[];if([r.PATHS,r.HOSTS,r.METHODS,r.SNIS].includes(m))return[...S].filter(D=>!!D);if(m===r.SOURCES||m===r.DESTINATIONS)return[...S].filter(D=>!!D.ip||!!D.port).map(D=>({ip:D.ip||void 0,port:!D.port&&D.port!==0?void 0:D.port}));if(m===r.HEADERS)return[...S].filter(D=>!!D.header)},w=m=>m.some(S=>p.protocols.includes(S)),s=()=>{if(g.value!==O.TRADITIONAL)return null;const m=f.value,S=I(r.HEADERS,m.headers||[])||M[r.HEADERS];return S.length===0?null:S.reduce((b,D)=>(b[D.header]=D.values.split(","),b),{})},i=e.computed(()=>(f.value.methods||[]).filter(b=>Object.keys(Q).includes(b)).concat(n.value.map(b=>b.label.toUpperCase()))),y=m=>m!=null&&m.length?m:null,B=e.computed(()=>({https_redirect_status_code:f.value.https_redirect_status_code,strip_path:w(["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})),q=e.computed(()=>{switch(g.value){case O.TRADITIONAL:{const m=f.value,S=y(I(r.PATHS,m.paths||[])),b=y(I(r.HOSTS,m.hosts||[])),D={...B.value,methods:y(I(r.METHODS,i.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(m.regex_priority),path_handling:m.path_handling,sources:y(I(r.SOURCES,m.sources||[])),destinations:y(I(r.DESTINATIONS,m.destinations||[])),snis:o.value==="basic"?null:y(I(r.SNIS,m.snis||[]))};return{type:g.value,payload:D}}case O.EXPRESSIONS:{const m=f.value;return{type:g.value,payload:{...B.value,expression:m.expression,priority:Number(m.priority)}}}default:return}}),$=m=>{m&&T("update:protocols",m)};return e.watch([()=>p.recordFlavor,()=>p.routeFlavors],([m,S])=>{if(m){a.value=m;return}a.value=!S.traditional&&S.expressions?O.EXPRESSIONS:O.TRADITIONAL},{immediate:!0,deep:!0}),e.watch(o,m=>{m==="basic"&&(a.value=O.TRADITIONAL,T("update:protocols","http,https"))}),e.watch(q,m=>{T("update:payload",m)},{deep:!0,immediate:!0}),(m,S)=>{const b=e.resolveComponent("KRadio"),D=e.resolveComponent("KLabel"),ne=e.resolveComponent("KTooltip"),j=e.resolveComponent("KSegmentedControl"),K=e.resolveComponent("KAlert"),oe=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]=A=>o.value=A),card:"","card-orientation":"horizontal","data-testid":"route-form-config-type-basic",description:e.unref(u)("form.config_types.basic.description"),disabled:!m.routeFlavors.traditional||m.recordFlavor===e.unref(O).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]=A=>o.value=A),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(ke,{key:0,"custom-methods":n.value,"onUpdate:customMethods":S[2]||(S[2]=A=>n.value=A),fields:f.value,"onUpdate:fields":S[3]||(S[3]=A=>f.value=A),"config-type":"basic","hide-advanced":"",protocols:m.protocols,readonly:m.readonly},null,8,["custom-methods","fields","protocols","readonly"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[m.routeFlavors.traditional&&m.routeFlavors.expressions?(e.openBlock(),e.createElementBlock("div",Ct,[e.createVNode(D,{class:"config-flavor-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(u)("form.config_flavor.label")),1)]),_:1}),e.createVNode(j,{modelValue:a.value,"onUpdate:modelValue":S[4]||(S[4]=A=>a.value=A),class:"config-flavor-control","data-testid":"route-form-config-flavor",options:h},{"option-label":e.withCtx(({option:A})=>{var Y,W;return[e.createElementVNode("span",null,e.toDisplayString(A.label),1),(Y=m.tooltips)!=null&&Y[A.value]?(e.openBlock(),e.createBlock(ne,{key:0,class:"route-form-config-tabs-tooltip",text:(W=m.tooltips)==null?void 0:W[A.value],"tooltip-id":`route-form-config-tabs-tooltip-${A.value}`},{default:e.withCtx(()=>[e.createVNode(e.unref(z.InfoIcon))]),_:2},1032,["text","tooltip-id"])):e.createCommentVNode("",!0)]}),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),m.routeFlavors.traditional&&m.routeFlavors.expressions&&(!m.recordFlavor||m.recordFlavor!==a.value)?(e.openBlock(),e.createBlock(K,{key:1,appearance:m.recordFlavor?"warning":"info",class:"route-form-config-type-immutable-alert","data-testid":"route-config-type-immutable-alert"},{default:e.withCtx(()=>[m.recordFlavor?m.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.${m.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),!m.recordFlavor||!(m.routeFlavors.traditional&&m.routeFlavors.expressions&&m.recordFlavor!==a.value)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[m.hideProtocols?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(oe,{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":m.protocols,readonly:m.readonly,required:"",width:"100%","onUpdate:modelValue":$},null,8,["items","label","label-attributes","model-value","readonly"])),a.value===e.unref(O).TRADITIONAL?(e.openBlock(),e.createBlock(ke,{key:1,"custom-methods":n.value,"onUpdate:customMethods":S[5]||(S[5]=A=>n.value=A),fields:f.value,"onUpdate:fields":S[6]||(S[6]=A=>f.value=A),"config-type":"advanced",protocols:m.protocols,readonly:m.readonly},null,8,["custom-methods","fields","protocols","readonly"])):(e.openBlock(),e.createBlock(Tt,{key:2,fields:f.value,"onUpdate:fields":S[7]||(S[7]=A=>f.value=A),protocols:m.protocols,readonly:m.readonly,"show-expressions-modal-entry":m.showExpressionsModalEntry,onNotify:S[8]||(S[8]=A=>T("notify",A))},null,8,["fields","protocols","readonly","show-expressions-modal-entry"]))],64)):e.createCommentVNode("",!0)],64))],64)}}}),[["__scopeId","data-v-cbda4882"]]),Ve=l=>{var p,o,a,f,n;return!(typeof l.expression=="string"&&l.expression.length>0||(l.protocols||[]).sort().join(",")!=="http,https"||((p=l[r.PATHS])==null?void 0:p.length)>1||((o=l[r.HOSTS])==null?void 0:o.length)>1||l[r.HEADERS]&&typeof l[r.HEADERS]=="object"||((a=l[r.SNIS])==null?void 0:a.length)>0||((f=l[r.SOURCES])==null?void 0:f.length)>0||((n=l[r.DESTINATIONS])==null?void 0:n.length)>0||["path_handling","regex_priority","https_redirect_status_code","preserve_host","request_buffering","response_buffering"].some(T=>l[T]!==Ce[T]))},kt={class:"kong-ui-entities-route-form"},Nt={key:1},Vt={"data-testid":"no-search-results"},It={class:"route-form-service-dropdown-item"},Rt={class:"select-item-label"},wt={class:"select-item-description"},Bt=P(e.defineComponent({__name:"RouteForm",props:{config:{type:Object,required:!0,validator:l=>!(!l||!["konnect","kongManager"].includes(l==null?void 0:l.app)||(l==null?void 0:l.app)==="konnect"&&!(l!=null&&l.controlPlaneId)||(l==null?void 0:l.app)==="kongManager"&&typeof(l==null?void 0:l.workspace)!="string"||!(l!=null&&l.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(l,{expose:V,emit:p}){var ie;const o=l,a=p,f=e.ref("basic"),n=e.ref(!o.routeFlavors.traditional&&o.routeFlavors.expressions?O.EXPRESSIONS:O.TRADITIONAL),T=e.ref(void 0),u=e.computed(()=>{if(T.value)return T.value;if(n.value)return n.value;if(o.routeFlavors.traditional)return O.TRADITIONAL;if(o.routeFlavors.expressions)return O.EXPRESSIONS}),{i18n:{t:h}}=H.useI18n(),c=_e.useRouter(),{axiosInstance:g}=k.useAxios((ie=o.config)==null?void 0:ie.axiosRequestConfig),{getMessageFromError:I}=k.useErrors(),w=t=>t.name?`${t.name} - ${t.value}`:t.value,s=e.reactive({routeFlavors:o.routeFlavors,fields:{name:"",protocols:"http,https",tags:"",service_id:"",...se,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,t=>{s.routeFlavors=t,t.traditional||(f.value="advanced")},{immediate:!0,deep:!0});const i=e.ref(),y=e.ref([]),B=e.ref([]),q=e.reactive({name:"",protocols:"http,https",tags:"",service_id:"",...se,path_handling:"v0",regex_priority:0,expression:"",priority:0}),$=o.config.app==="konnect"||k.useGatewayFeatureSupported({gatewayInfo:o.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),m=e.computed(()=>o.routeId?k.EntityBaseFormType.Edit:k.EntityBaseFormType.Create),S=e.computed(()=>{var t,d,E;return(E=(d=v.form[(t=o.config)==null?void 0:t.app])==null?void 0:d.fetch)==null?void 0:E[o.serviceId?"forGatewayService":"all"].replace(/{serviceId}/gi,o.serviceId||"")}),b=()=>{var t;c.push((t=o.config)==null?void 0:t.cancelRoute)},D=t=>{a("loading",t)},ne=t=>{a("error",t)},j=t=>Object.entries(t).map(d=>{var E;return{header:d[0],values:(E=d[1])==null?void 0:E.join()}}),K=t=>t.some(d=>s.fields.protocols.includes(d)),oe=t=>{var E,N;if(o.routeId){const C=typeof t.expression=="string"&&t.expression.length>0?O.EXPRESSIONS:O.TRADITIONAL;T.value=C,Ve(t)||(f.value="advanced")}(E=t==null?void 0:t.service)!=null&&E.id&&(s.fields.service_id=t.service.id),s.fields.name=(t==null?void 0:t.name)||"";const d=(t==null?void 0:t.tags)||[];s.fields.tags=(d==null?void 0:d.join(", "))||"",s.fields.preserve_host=typeof(t==null?void 0:t.preserve_host)>"u"?!1:t==null?void 0:t.preserve_host,s.fields.https_redirect_status_code=(t==null?void 0:t.https_redirect_status_code)||426,(N=t==null?void 0:t.protocols)!=null&&N.length&&(t.protocols.length>1?s.fields.protocols=t.protocols.join():s.fields.protocols=t.protocols[0]),s.fields.request_buffering=typeof(t==null?void 0:t.request_buffering)>"u"?!0:t==null?void 0:t.request_buffering,s.fields.response_buffering=typeof(t==null?void 0:t.response_buffering)>"u"?!0:t==null?void 0:t.response_buffering,s.fields.strip_path=typeof(t==null?void 0:t.strip_path)>"u"?!0:t==null?void 0:t.strip_path,pe(s)&&(s.fields.regex_priority=(t==null?void 0:t.regex_priority)||0,s.fields.path_handling=(t==null?void 0:t.path_handling)||"v0",t!=null&&t.paths&&(s.fields.paths=t.paths),t!=null&&t.snis&&(s.fields.snis=t.snis),t!=null&&t.hosts&&(s.fields.hosts=t.hosts),t!=null&&t.methods&&(s.fields.methods=t.methods.filter(C=>Object.keys(Q).includes(C)),y.value=t.methods.filter(C=>!Object.keys(Q).includes(C)).map(C=>({label:C,value:C})),B.value=[...y.value]),t!=null&&t.headers&&(s.fields.headers=j(t.headers)),t!=null&&t.sources&&(s.fields.sources=t.sources),t!=null&&t.destinations&&(s.fields.destinations=t.destinations)),ue(s)&&(s.fields.expression=(t==null?void 0:t.expression)||"",s.fields.priority=(t==null?void 0:t.priority)||0),Object.assign(q,JSON.parse(JSON.stringify(s.fields)))},A=e.computed(()=>{switch(u.value){case O.TRADITIONAL:{if(pe(s)){const t=s.fields.hosts?!!s.fields.hosts.filter(Boolean).length:null,d=s.fields.paths?!!s.fields.paths.filter(Boolean).length:null,E=s.fields.headers?s.fields.headers.some(({header:_})=>!!_):null,N=s.fields.snis?!!s.fields.snis.filter(Boolean).length:null,C=s.fields.destinations?s.fields.destinations.some(({ip:_,port:x})=>!!_||!!x):null,G=s.fields.sources?s.fields.sources.some(({ip:_,port:x})=>!!_||!!x):null,Z=s.fields.methods?!!s.fields.methods.filter(Boolean).length:null;return!!s.fields.protocols&&(K(["http"])&&!!(t||Z||d||E)||K(["https"])&&!!(t||Z||d||E||N)||K(["grpc"])&&!!(t||d||E)||K(["grpcs","wss"])&&!!(t||d||E||N)||K(["udp","tls"])&&!!(C||G||N)||K(["tcp"])&&!!(C||G)||K(["tls_passthrough"])&&!!N||K(["ws"])&&!!(t||d||E))}break}case O.EXPRESSIONS:{if(ue(s))return s.fields.expression.length>0;break}}return!0}),Y=e.computed(()=>!be(s.fields,q)||!be(y.value,B.value)),W=e.computed(()=>{var d,E;let t=`${o.config.apiBaseUrl}${v.form[o.config.app][m.value][o.serviceId?"forGatewayService":"all"]}`;return o.config.app==="konnect"?t=t.replace(/{controlPlaneId}/gi,((d=o.config)==null?void 0:d.controlPlaneId)||"").replace(/{serviceId}/gi,o.serviceId||""):o.config.app==="kongManager"&&(t=t.replace(/\/{workspace}/gi,(E=o.config)!=null&&E.workspace?`/${o.config.workspace}`:"").replace(/{serviceId}/gi,o.serviceId||"")),t=t.replace(/{id}/gi,o.routeId),t});e.watch(()=>s.fields,()=>{a("model-updated",U.value)},{deep:!0});const U=e.computed(()=>{var t,d,E;return{...!o.hideNameField&&{name:s.fields.name||null},protocols:s.fields.protocols.split(","),tags:(d=(t=s.fields.tags.split(","))==null?void 0:t.map(N=>String(N||"").trim()))==null?void 0:d.filter(N=>N!==""),service:s.fields.service_id?{id:s.fields.service_id}:null,...(E=i.value)==null?void 0:E.payload}}),re=t=>{switch(u.value){case O.TRADITIONAL:{if(!("regex_priority"in t&&"path_handling"in t))return!1;break}case O.EXPRESSIONS:{if(!("priority"in t))return!1;break}}return"service"in t&&"tags"in t&&"protocols"in t},X=async t=>{var E;const d=t&&re(t)?t:U.value;try{s.isReadonly=!0;let N;m.value==="create"?N=await g.post(W.value,d):m.value==="edit"&&(N=((E=o.config)==null?void 0:E.app)==="konnect"?await g.put(W.value,d):await g.patch(W.value,d)),oe(N==null?void 0:N.data),a("update",N==null?void 0:N.data)}catch(N){s.errorMessage=I(N),a("error",N)}finally{s.isReadonly=!1}},{debouncedQueryChange:ce,loading:me,error:he,loadItems:ge,results:ye}=k.useDebouncedFilter(o.config,v.form[o.config.app].services,void 0,{fetchedItemsKey:"data",searchKeys:["id","name"]}),Se=e.computed(()=>he.value?h("errors.services.fetch"):""),ae=e.computed(()=>{var t;return(t=ye.value)==null?void 0:t.map(d=>({label:d.id,name:d.name,value:d.id}))});return e.onBeforeMount(async()=>{!o.hideServiceField&&!o.serviceId?await ge():s.fields.service_id=o.serviceId}),e.onMounted(()=>{a("model-updated",U.value)}),V({saveFormData:X,payload:U}),e.provide("configType",f),(t,d)=>{const E=e.resolveComponent("KInput"),N=e.resolveComponent("KSelect");return e.openBlock(),e.createElementBlock("div",kt,[e.createVNode(e.unref(k.EntityBaseForm),{"can-submit":A.value&&Y.value,config:l.config,"edit-id":l.routeId,"entity-type":e.unref(k.SupportedEntityType).Route,"error-message":s.errorMessage||Se.value,"fetch-url":S.value,"form-fields":U.value,"is-readonly":s.isReadonly,onCancel:b,"onFetch:error":ne,"onFetch:success":oe,onLoading:D,onSubmit:X},{"form-actions":e.withCtx(()=>[e.renderSlot(t.$slots,"form-actions",{canSubmit:A.value&&Y.value,cancel:b,submit:X},void 0,!0)]),default:e.withCtx(()=>[e.createVNode(e.unref(k.EntityFormSection),{description:e.unref(h)("form.sections.general.description"),"hide-info-header":l.hideSectionsInfo,title:e.unref(h)("form.sections.general.title")},{default:e.withCtx(()=>[l.hideNameField?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(E,{key:0,modelValue:s.fields.name,"onUpdate:modelValue":d[0]||(d[0]=C=>s.fields.name=C),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"route-form-name",label:e.unref(h)("form.fields.name.label"),placeholder:e.unref(h)("form.fields.name.placeholder"),readonly:s.isReadonly,type:"text"},null,8,["modelValue","label","placeholder","readonly"])),!l.hideServiceField&&!l.serviceId?(e.openBlock(),e.createElementBlock("div",Nt,[e.createVNode(N,{modelValue:s.fields.service_id,"onUpdate:modelValue":d[1]||(d[1]=C=>s.fields.service_id=C),clearable:"","data-testid":"route-form-service-id","enable-filtering":"","filter-function":()=>!0,items:ae.value,label:e.unref(h)("form.fields.service_id.label"),loading:e.unref(me),placeholder:e.unref(h)("form.fields.service_id.placeholder"),readonly:s.isReadonly,"reuse-item-template":"",width:"100%",onQueryChange:e.unref(ce)},{loading:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(e.unref(h)("actions.loading")),1)]),empty:e.withCtx(()=>[e.createElementVNode("div",Vt,e.toDisplayString(e.unref(h)("search.no_results")),1)]),"selected-item-template":e.withCtx(({item:C})=>[e.createTextVNode(e.toDisplayString(w(C)),1)]),"item-template":e.withCtx(({item:C})=>[e.createElementVNode("div",It,[e.createElementVNode("span",Rt,e.toDisplayString(C.name),1),e.createElementVNode("span",wt,e.toDisplayString(C.value),1)])]),_:1},8,["modelValue","items","label","loading","placeholder","readonly","onQueryChange"])])):e.createCommentVNode("",!0),e.createVNode(E,{modelValue:s.fields.tags,"onUpdate:modelValue":d[2]||(d[2]=C=>s.fields.tags=C),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"route-form-tags",help:e.unref(h)("form.fields.tags.help"),label:e.unref(h)("form.fields.tags.label"),placeholder:e.unref(h)("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(k.EntityFormSection),{description:e.unref(h)("form.sections.config.description"),"hide-info-header":l.hideSectionsInfo,title:e.unref(h)("form.sections.config.title")},{default:e.withCtx(()=>[e.createVNode(Ne,{"config-flavor":n.value,"onUpdate:configFlavor":d[3]||(d[3]=C=>n.value=C),"config-type":f.value,"onUpdate:configType":d[4]||(d[4]=C=>f.value=C),"custom-methods":y.value,"onUpdate:customMethods":d[5]||(d[5]=C=>y.value=C),fields:s.fields,"onUpdate:fields":d[6]||(d[6]=C=>s.fields=C),"is-ws-supported":e.unref($),protocols:s.fields.protocols,readonly:s.isReadonly,"record-flavor":T.value,"route-flavors":l.routeFlavors,"show-expressions-modal-entry":l.showExpressionsModalEntry,tooltips:l.configTabTooltips,onNotify:d[7]||(d[7]=C=>a("notify",C)),"onUpdate:payload":d[8]||(d[8]=C=>i.value=C),"onUpdate:protocols":d[9]||(d[9]=C=>s.fields.protocols=C)},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"]]),At={class:"kong-ui-entities-routes-list"},xt={class:"button-row"},Ot={class:"empty-state-icon-gateway"},Dt={key:1},Mt={key:1},Ht={key:1},$t={class:"route-list-cell-expression"},Pt=P(e.defineComponent({__name:"RouteList",props:{config:{type:Object,required:!0,validator:l=>!(!l||!["konnect","kongManager"].includes(l==null?void 0:l.app)||!l.createRoute||!l.getViewRoute||!l.getEditRoute||l.app==="kongManager"&&!l.isExactMatch&&!l.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},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(l,{emit:V}){var ie;const p=V,o=l,{i18n:{t:a,formatUnixTimeStamp:f}}=H.useI18n(),n=_e.useRouter(),{axiosInstance:T}=k.useAxios((ie=o.config)==null?void 0:ie.axiosRequestConfig),{handleStateChange:u,hasRecords:h}=k.useTableState(()=>B.value),c=e.computed(()=>h.value&&o.config.app==="konnect"),g=e.computed(()=>!!o.config.serviceId),I=e.computed(()=>o.config.app!=="kongManager"||!!o.config.disableSorting),w={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}},i=w,y=e.computed(()=>{var d,E,N,C;let t=`${o.config.apiBaseUrl}${v.list[o.config.app][o.config.serviceId?"forGatewayService":"all"]}`;return o.config.app==="konnect"?t=t.replace(/{controlPlaneId}/gi,((d=o.config)==null?void 0:d.controlPlaneId)||"").replace(/{serviceId}/gi,((E=o.config)==null?void 0:E.serviceId)||""):o.config.app==="kongManager"&&(t=t.replace(/\/{workspace}/gi,(N=o.config)!=null&&N.workspace?`/${o.config.workspace}`:"").replace(/{serviceId}/gi,((C=o.config)==null?void 0:C.serviceId)||"")),t}),B=e.ref(""),q=e.computed(()=>{const t=o.config.app==="konnect"||o.config.isExactMatch;if(t)return{isExactMatch:t,placeholder:a(`search.placeholder.${o.config.isExactMatch?"exact":o.config.app}`)};const{name:d,protocols:E,hosts:N,methods:C,paths:G,expression:Z}=w,_={name:d,protocols:E,hosts:N,methods:C,paths:G,...o.hasExpressionColumn&&{expression:Z}};return{isExactMatch:t,fields:_,schema:o.config.filterSchema}}),{fetcher:$,fetcherState:m,fetcherCacheKey:S}=k.useFetcher(e.computed(()=>({...o.config,cacheIdentifier:o.cacheIdentifier})),y),b=t=>t.headerKey==="expression"?{style:{maxWidth:"250px",overflowX:"hidden",textOverflow:"ellipsis"}}:{},D=()=>{B.value=""},ne=()=>{S.value++},j=e.ref(null),K=async(t,d)=>{const E=t.id;if(!await d(E)){p("copy:error",{entity:t,field:"id",message:a("errors.copy")});return}p("copy:success",{entity:t,field:"id",message:a("copy.success",{val:E})})},oe=async(t,d)=>{const E=JSON.stringify(t);if(!await d(E)){p("copy:error",{entity:t,message:a("errors.copy")});return}p("copy:success",{entity:t,message:a("copy.success_brief")})},A=async t=>{var E;await((E=o.canRetrieve)==null?void 0:E.call(o,t))&&n.push(o.config.getViewRoute(t.id))},Y=t=>({label:a("actions.view"),to:o.config.getViewRoute(t)}),W=t=>({label:a("actions.edit"),to:o.config.getEditRoute(t)}),U=e.ref(void 0),re=e.ref(!1),X=e.ref(!1),ce=e.ref(""),me=k.useDeleteUrlBuilder(o.config,y.value),he=t=>{U.value=t,re.value=!0},ge=()=>{re.value=!1},ye=async()=>{var t,d,E;if((t=U.value)!=null&&t.id){X.value=!0;try{await T.delete(me(U.value.id)),X.value=!1,re.value=!1,S.value++,p("delete:success",U.value)}catch(N){ce.value=((E=(d=N.response)==null?void 0:d.data)==null?void 0:E.message)||N.message||a("errors.delete"),p("error",N)}finally{X.value=!1}}},Se=()=>{n.push(o.config.createRoute)};e.watch(m,t=>{var d,E,N;if(t.status===k.FetcherStatus.Error){j.value={title:a("errors.general")},(N=(E=(d=t.error)==null?void 0:d.response)==null?void 0:E.data)!=null&&N.message&&(j.value.message=t.error.response.data.message),p("error",t.error);return}j.value=null});const ae=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")});return e.onBeforeMount(async()=>{await o.canCreate()&&(ae.value.title=a("routes.list.empty_state.title"),ae.value.ctaText=a("actions.create"))}),(t,d)=>{const E=e.resolveComponent("KButton"),N=e.resolveComponent("KBadge"),C=e.resolveComponent("KTruncate"),G=e.resolveComponent("KDropdownItem"),Z=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",At,[e.createVNode(e.unref(k.EntityBaseTable),{"cache-identifier":l.cacheIdentifier,"cell-attributes":b,"default-table-preferences":s,"disable-sorting":I.value,"empty-state-options":ae.value,"enable-entity-actions":"","error-message":j.value,fetcher:e.unref($),"fetcher-cache-key":e.unref(S),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-routes-list",query:B.value,"table-headers":e.unref(i),title:l.title,"title-tag":l.titleTag,onClearSearchInput:D,"onClick:row":d[7]||(d[7]=_=>A(_)),onSort:ne,onState:e.unref(u)},e.createSlots({"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(k.EntityFilter),{modelValue:B.value,"onUpdate:modelValue":d[0]||(d[0]=_=>B.value=_),config:q.value},null,8,["modelValue","config"])]),"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!l.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createElementVNode("div",xt,[!g.value&&c.value?(e.openBlock(),e.createBlock(E,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"routes-learn-more-button",icon:"",onClick:d[1]||(d[1]=_=>t.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(z.BookIcon),{decorative:""})]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(k.PermissionsWrapper),{"auth-function":()=>l.canCreate()},{default:e.withCtx(()=>[e.createVNode(E,{appearance:"primary","data-testid":"toolbar-add-route",size:l.useActionOutside?"medium":"large",to:l.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(z.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:_})=>[e.createElementVNode("b",null,e.toDisplayString(_??"-"),1)]),protocols:e.withCtx(({rowValue:_})=>[e.createVNode(C,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_,x=>(e.openBlock(),e.createBlock(N,{key:x,appearance:"neutral",onClick:d[3]||(d[3]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x),1)]),_:2},1024))),128))]),_:2},1024)]),hosts:e.withCtx(({rowValue:_})=>[(_==null?void 0:_.length)>0?(e.openBlock(),e.createBlock(C,{key:0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_,x=>(e.openBlock(),e.createBlock(N,{key:x,appearance:"neutral",tooltip:x,"truncation-tooltip":"",onClick:d[4]||(d[4]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x),1)]),_:2},1032,["tooltip"]))),128))]),_:2},1024)):(e.openBlock(),e.createElementBlock("span",Dt,"-"))]),methods:e.withCtx(({rowValue:_})=>[(_==null?void 0:_.length)>0?(e.openBlock(),e.createBlock(C,{key:0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_,x=>(e.openBlock(),e.createBlock(N,{key:x,appearance:Object.values(e.unref(Ie.BadgeMethodAppearances)).includes(x.toLowerCase())?x.toLowerCase():"custom",onClick:d[5]||(d[5]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x),1)]),_:2},1032,["appearance"]))),128))]),_:2},1024)):(e.openBlock(),e.createElementBlock("span",Mt,"-"))]),paths:e.withCtx(({rowValue:_})=>[(_==null?void 0:_.length)>0?(e.openBlock(),e.createBlock(C,{key:0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_,x=>(e.openBlock(),e.createBlock(N,{key:x,appearance:"neutral",tooltip:x,"truncation-tooltip":"",onClick:d[6]||(d[6]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x),1)]),_:2},1032,["tooltip"]))),128))]),_:2},1024)):(e.openBlock(),e.createElementBlock("span",Ht,"-"))]),tags:e.withCtx(({rowValue:_})=>[e.createVNode(e.unref(k.TableTags),{tags:_},null,8,["tags"])]),expression:e.withCtx(({rowValue:_})=>[e.createElementVNode("span",$t,e.toDisplayString(_||"-"),1)]),created_at:e.withCtx(({rowValue:_})=>[e.createTextVNode(e.toDisplayString(e.unref(f)(_)),1)]),updated_at:e.withCtx(({row:_,rowValue:x})=>[e.createTextVNode(e.toDisplayString(e.unref(f)(x??_.created_at)),1)]),actions:e.withCtx(({row:_})=>[e.createVNode(Z,null,{default:e.withCtx(({copyToClipboard:x})=>[e.createVNode(G,{"data-testid":"action-entity-copy-id",onClick:Lt=>K(_,x)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(Z,null,{default:e.withCtx(({copyToClipboard:x})=>[e.createVNode(G,{"data-testid":"action-entity-copy-json",onClick:Lt=>oe(_,x)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(e.unref(k.PermissionsWrapper),{"auth-function":()=>l.canRetrieve(_)},{default:e.withCtx(()=>[e.createVNode(G,{"data-testid":"action-entity-view","has-divider":"",item:Y(_.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(k.PermissionsWrapper),{"auth-function":()=>l.canEdit(_)},{default:e.withCtx(()=>[e.createVNode(G,{"data-testid":"action-entity-edit",item:W(_.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(k.PermissionsWrapper),{"auth-function":()=>l.canDelete(_)},{default:e.withCtx(()=>[e.createVNode(G,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:x=>he(_)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!B.value&&l.config.app==="konnect"?{name:"empty-state",fn:e.withCtx(()=>{var _;return[e.createVNode(e.unref(k.EntityEmptyState),{"action-button-text":e.unref(a)("routes.list.toolbar_actions.new_route"),appearance:"secondary","can-create":()=>l.canCreate(),"data-testid":l.config.serviceId?"nested-routes-entity-empty-state":"routes-entity-empty-state",description:e.unref(a)("routes.list.empty_state_v2.description"),"learn-more":l.config.app==="konnect",title:e.unref(a)("routes.list.empty_state_v2.title"),"onClick:create":Se,"onClick:learnMore":d[2]||(d[2]=x=>t.$emit("click:learn-more"))},e.createSlots({image:e.withCtx(()=>[e.createElementVNode("div",Ot,[e.createVNode(e.unref(z.ForwardIcon),{color:e.unref(De),size:e.unref(Pe)},null,8,["color","size"])])]),_:2},[(_=l.config)!=null&&_.isControlPlaneGroup?{name:"message",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("routes.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["action-button-text","can-create","data-testid","description","learn-more","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(k.EntityDeleteModal),{"action-pending":X.value,description:e.unref(a)("delete.description"),"entity-name":U.value&&(U.value.name||U.value.id),"entity-type":e.unref(k.EntityTypes).Route,error:ce.value,title:e.unref(a)("delete.title"),visible:re.value,onCancel:ge,onProceed:ye},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-8dfa1b0f"]]),Ut=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(l,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=l,a=e.useModel(l,"modelValue"),f=V,n=e.ref(!1),T=e.computed(()=>le.PROTOCOL_TO_SCHEMA[o.protocol]),u=e.computed(()=>le.HTTP_BASED_PROTOCOLS.includes(o.protocol??"")),h=e.computed(()=>{if(!(!o.showExpressionsModalEntry||u.value))return p("form.expression_playground.supported_protocols_hint",{protocols:le.HTTP_BASED_PROTOCOLS.join(", ")})}),c=w=>{a.value=w,n.value=!1},g=w=>{f("notify",w)},I=()=>{u.value&&(n.value=!0)};return(w,s)=>{const i=e.resolveComponent("KTooltip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[T.value!==void 0?(e.openBlock(),e.createBlock(e.unref(le.ExpressionsEditor),{key:0,modelValue:a.value,"onUpdate:modelValue":s[0]||(s[0]=y=>a.value=y),schema:T.value},null,8,["modelValue","schema"])):e.createCommentVNode("",!0),e.createVNode(i,{placement:"bottom-start",text:h.value},{default:e.withCtx(()=>[w.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(w.$slots,"default")],2)):e.createCommentVNode("",!0)]),_:3},8,["text"]),w.showExpressionsModalEntry&&u.value?(e.openBlock(),e.createBlock(e.unref(le.RouterPlaygroundModal),{key:1,"initial-expression":a.value,"is-visible":n.value,onCancel:s[1]||(s[1]=y=>n.value=!1),onCommit:c,onNotify:g},null,8,["initial-expression","is-visible"])):e.createCommentVNode("",!0)],64)}}})},Symbol.toStringTag,{value:"Module"}));R.ExpressionsEditorState=J,R.HTTP_REDIRECT_STATUS_CODES=fe,R.INITIAL_ROUTE_RULES_FIELDS=Ce,R.INITIAL_SHARED_ROUTE_RULES_FIELDS=se,R.INITIAL_TRADITIONAL_ROUTE_RULES_VALUES=M,R.Methods=Q,R.PATH_HANDLING_OPTIONS=Ee,R.PROTOCOLS_TO_ROUTE_RULES=de,R.RouteConfigCard=xe,R.RouteFlavor=O,R.RouteForm=Bt,R.RouteFormRulesComposer=Ne,R.RouteList=Pt,R.RoutingRulesEntities=r,R.isDefinedByBasic=Ve,R.stateHasExpressionsFlavor=ue,R.stateHasTraditionalFlavor=pe,Object.defineProperty(R,Symbol.toStringTag,{value:"Module"})});
1
+ (function(R,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):(R=typeof globalThis<"u"?globalThis:R||self,e(R["kong-ui-public-entities-routes"]={},R.Vue,R["kong-ui-public-entities-shared"],R.isEqual,R.VueRouter,R.KongIcons,R.Kongponents,R["kong-ui-public-expressions"],R["kong-ui-public-i18n"]))})(this,function(R,e,k,be,_e,z,Ie,le,Te){"use strict";const L="/v2/control-planes/{controlPlaneId}/core-entities",F="/{workspace}",v={list:{konnect:{all:`${L}/routes`,forGatewayService:`${L}/services/{serviceId}/routes`},kongManager:{all:`${F}/routes`,forGatewayService:`${F}/services/{serviceId}/routes`}},form:{konnect:{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}`}},kongManager:{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}`}}},item:{konnect:{getService:`${L}/services/{serviceId}`,all:`${L}/routes/{id}`,forGatewayService:`${L}/services/{serviceId}/routes/{id}`},kongManager:{getService:`${F}/services/{serviceId}`,all:`${F}/routes/{id}`,forGatewayService:`${F}/services/{serviceId}/routes/{id}`}}},Re={actions:{create:"New route",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."}}},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 we(){const l=Te.createI18n("en-us",Re);return{i18n:l,i18nT:Te.i18nTComponent(l)}}const H={useI18n:we},Be={class:"kong-ui-entities-route-entity-config-card"},Ae={key:2},xe=e.defineComponent({__name:"RouteConfigCard",props:{config:{type:Object,required:!0,validator:l=>!(!l||!["konnect","kongManager"].includes(l==null?void 0:l.app)||l.app==="konnect"&&!l.controlPlaneId||l.app==="kongManager"&&typeof l.workspace!="string"||!l.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(l,{emit:V}){var w;const p=V,o=l,{axiosInstance:a}=k.useAxios((w=o.config)==null?void 0:w.axiosRequestConfig),{i18n:{t:f}}=H.useI18n(),n=e.ref(""),T=e.ref(""),u=e.ref(!1),h=e.computed(()=>{var s,i;return(i=v.item[(s=o.config)==null?void 0:s.app])==null?void 0:i[o.serviceId?"forGatewayService":"all"].replace(/{serviceId}/gi,o.serviceId)}),c=e.computed(()=>{var s;return(s=v.item[o.config.app])==null?void 0:s.getService}),g=async s=>{var y,B,q;if(n.value=o.serviceId||((y=s==null?void 0:s.service)==null?void 0:y.id),p("fetch:success",s),!n.value)return;let i=`${o.config.apiBaseUrl}${c.value}`;o.config.app==="konnect"?i=i.replace(/{controlPlaneId}/gi,((B=o.config)==null?void 0:B.controlPlaneId)||"").replace(/{serviceId}/gi,n.value||""):o.config.app==="kongManager"&&(i=i.replace(/\/{workspace}/gi,(q=o.config)!=null&&q.workspace?`/${o.config.workspace}`:"").replace(/{serviceId}/gi,n.value||""));try{u.value=!0;const{data:$}=await a.get(i);T.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:k.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.service.tooltip"),order:5},tags:{tooltip:f("form.fields.tags.tooltip"),order:6},protocols:{section:k.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.protocols.tooltip"),type:k.ConfigurationSchemaType.BadgeTag,order:7},paths:{section:k.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.paths.tooltip"),type:k.ConfigurationSchemaType.CopyBadge,order:8},hosts:{section:k.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.hosts.tooltip"),type:k.ConfigurationSchemaType.CopyBadge,order:9},snis:{label:f("form.fields.snis.label"),tooltip:f("form.fields.snis.tooltip"),order:10},headers:{section:k.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.headers.tooltip"),order:11},methods:{section:k.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.methods.tooltip"),type:k.ConfigurationSchemaType.BadgeMethod,order:12},sources:{section:k.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.sources.tooltip"),type:k.ConfigurationSchemaType.JsonArray,order:13},destinations:{section:k.ConfigurationSchemaSection.Basic,tooltip:f("form.fields.destinations.tooltip"),type:k.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,i)=>{const y=e.resolveComponent("KSkeleton");return e.openBlock(),e.createElementBlock("div",Be,[e.createVNode(e.unref(k.EntityBaseConfigCard),{config:l.config,"config-card-doc":l.configCardDoc,"config-schema":I.value,"entity-type":e.unref(k.SupportedEntityType).Route,"fetch-url":h.value,"hide-title":l.hideTitle,"onFetch:error":i[0]||(i[0]=B=>s.$emit("fetch:error",B)),"onFetch:success":g,onLoading:i[1]||(i[1]=B=>s.$emit("loading",B))},{service:e.withCtx(({row:B})=>[u.value?(e.openBlock(),e.createBlock(y,{key:0,"data-testid":"service-name-loader",type:"spinner"})):B.value&&B.value.id===n.value&&T.value?(e.openBlock(),e.createBlock(e.unref(k.InternalLinkItem),{key:1,item:{key:B.value.id,value:T.value,type:e.unref(k.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>s.$emit("navigation-click",B.value.id,"services")},null,8,["item","onNavigationClick"])):(e.openBlock(),e.createElementBlock("div",Ae,e.toDisplayString("-")))]),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title"])])}}});var O=(l=>(l.TRADITIONAL="traditional",l.EXPRESSIONS="expressions",l))(O||{}),r=(l=>(l.PATHS="paths",l.SNIS="snis",l.HOSTS="hosts",l.METHODS="methods",l.HEADERS="headers",l.SOURCES="sources",l.DESTINATIONS="destinations",l))(r||{}),J=(l=>(l.LOADING="loading",l.ERROR="error",l.READY="ready",l))(J||{}),Q=(l=>(l.GET="GET",l.PUT="PUT",l.POST="POST",l.PATCH="PATCH",l.DELETE="DELETE",l.OPTIONS="OPTIONS",l.HEAD="HEAD",l.CONNECT="CONNECT",l.TRACE="TRACE",l))(Q||{});const pe=l=>l.routeFlavors.traditional===!0,ue=l=>l.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}]},de={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]},fe=[{label:"426",value:426},{label:"301",value:301},{label:"302",value:302},{label:"307",value:307},{label:"308",value:308}],Ee=[{label:"v0",value:"v0"},{label:"v1",value:"v1"}],se={https_redirect_status_code:426,strip_path:!0,preserve_host:!1,request_buffering:!0,response_buffering:!0},Ce={...se,paths:[""],regex_priority:0,path_handling:"v0",expression:"",priority:0},Oe=e.defineComponent({__name:"RuleControlsAdd",props:{routingRulesEntity:{}},emits:["add"],setup(l,{emit:V}){const p=l,o=V,a=e.inject("configType","basic"),{i18n:{t:f}}=H.useI18n(),n=e.computed(()=>f(`form.fields.${p.routingRulesEntity}.add`));return(T,u)=>{const h=e.resolveComponent("KButton");return e.unref(a)!=="basic"?(e.openBlock(),e.createBlock(h,{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(z.AddIcon)),e.createElementVNode("span",null,e.toDisplayString(n.value),1)]),_:1},8,["data-testid"])):e.createCommentVNode("",!0)}}}),P=(l,V)=>{const p=l.__vccOpts||l;for(const[o,a]of V)p[o]=a;return p},ee=P(Oe,[["__scopeId","data-v-f1f4cfc9"]]),De="#00abd2",Me="#afb7c5",He="#0044f4",$e="16px",Pe="24px",te=e.defineComponent({__name:"RuleControlsRemove",props:{disabled:{type:Boolean},routingRulesEntity:{}},emits:["remove"],setup(l,{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-${a.routingRulesEntity}`,disabled:a.disabled,icon:"",onClick:f[0]||(f[0]=T=>p("remove"))},{default:e.withCtx(()=>[e.createVNode(e.unref(z.CloseIcon),{color:a.disabled?e.unref(Me):e.unref(He)},null,8,["color"])]),_:1},8,["data-testid","disabled"])):e.createCommentVNode("",!0)}}}),Ue={class:"routing-rule-container"},Le=["innerHTML"],Fe=P(e.defineComponent({__name:"DestinationRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(l,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(l,"modelValue"),a=V;return(f,n)=>{const T=e.resolveComponent("KLabel"),u=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",Ue,[e.createVNode(T,{"tooltip-attributes":{maxWidth:"320"}},{tooltip:e.withCtx(()=>[e.createElementVNode("span",{innerHTML:e.unref(p)("form.fields.destinations.tooltip")},null,8,Le)]),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,(h,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:"routing-rule-input"},[e.createVNode(u,{modelValue:o.value[c].ip,"onUpdate:modelValue":g=>o.value[c].ip=g,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":g=>o.value[c].port=g,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(te,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).DESTINATIONS,onRemove:g=>a("remove",c)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(ee,{"routing-rules-entity":e.unref(r).DESTINATIONS,onAdd:n[0]||(n[0]=h=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-3eb40a37"]]),Ke={class:"routing-rule-container"},qe=["innerHTML"],Ge=P(e.defineComponent({__name:"HeaderRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(l,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(l,"modelValue"),a=V;return(f,n)=>{const T=e.resolveComponent("KLabel"),u=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",Ke,[e.createVNode(T,{"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,(h,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:"routing-rule-input"},[e.createVNode(u,{modelValue:o.value[c].header,"onUpdate:modelValue":g=>o.value[c].header=g,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":g=>o.value[c].values=g,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(te,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).HEADERS,onRemove:g=>a("remove",c)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(ee,{"routing-rules-entity":e.unref(r).HEADERS,onAdd:n[0]||(n[0]=h=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-d3bede0b"]]),je={class:"routing-rule-container"},We=["innerHTML"],Xe=P(e.defineComponent({__name:"HostRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(l,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(l,"modelValue"),a=V,f=e.inject("configType","basic");return(n,T)=>{const u=e.resolveComponent("KLabel"),h=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,g)=>(e.openBlock(),e.createElementBlock("div",{key:g,class:"routing-rule-input"},[e.createVNode(h,{modelValue:o.value[g],"onUpdate:modelValue":I=>o.value[g]=I,modelModifiers:{trim:!0},"data-testid":`route-form-hosts-input-${g+1}`,placeholder:e.unref(p)("form.fields.hosts.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(te,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).HOSTS,onRemove:I=>a("remove",g)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(ee,{"routing-rules-entity":e.unref(r).HOSTS,onAdd:T[0]||(T[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=P(e.defineComponent({__name:"MethodRules",props:{methods:{required:!0},methodsModifiers:{},customMethods:{required:!0},customMethodsModifiers:{}},emits:["update:methods","update:customMethods"],setup(l){const{i18n:{t:V}}=H.useI18n(),p=e.useModel(l,"methods"),o=e.useModel(l,"customMethods"),a=e.computed(()=>p.value.filter(h=>Object.keys(Q).includes(h)).concat(o.value.map(h=>h.value))),f=e.computed(()=>Object.keys(Q).map(h=>({label:h,value:h})).concat(o.value.map(h=>({label:h.label,value:h.value,custom:!0})))),n=h=>!f.value.map(c=>c.value.toLowerCase()).includes(h.toLowerCase()),T=(h,c)=>{c?o.value.push(h):o.value=o.value.filter(g=>g.value!==h.value)},u=h=>{p.value=h};return(h,c)=>{const g=e.resolveComponent("KLabel"),I=e.resolveComponent("KMultiselect");return e.openBlock(),e.createElementBlock("div",ze,[e.createVNode(g,{"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]=w=>T(w,!0)),onItemRemoved:c[1]||(c[1]=w=>T(w,!1)),"onUpdate:modelValue":u},null,8,["items","model-value","placeholder","search-placeholder"])])])}}}),[["__scopeId","data-v-6c94d6d2"]]),Ze={class:"routing-rule-container"},ve=["innerHTML"],et=P(e.defineComponent({__name:"PathRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(l,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(l,"modelValue"),a=V,f=e.inject("configType","basic");return(n,T)=>{const u=e.resolveComponent("KLabel"),h=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,g)=>(e.openBlock(),e.createElementBlock("div",{key:g,class:"routing-rule-input"},[e.createVNode(h,{modelValue:o.value[g],"onUpdate:modelValue":I=>o.value[g]=I,modelModifiers:{trim:!0},"data-testid":`route-form-paths-input-${g+1}`,placeholder:e.unref(p)("form.fields.paths.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"]),e.createVNode(te,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).PATHS,onRemove:I=>a("remove",g)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(ee,{"routing-rules-entity":e.unref(r).PATHS,onAdd:T[0]||(T[0]=c=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-eb440a9e"]]),tt={class:"routing-rule-container"},ot=["innerHTML"],rt=P(e.defineComponent({__name:"SniRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(l,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(l,"modelValue"),a=V;return(f,n)=>{const T=e.resolveComponent("KLabel"),u=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",tt,[e.createVNode(T,{"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,(h,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:"routing-rule-input"},[e.createVNode(u,{modelValue:o.value[c],"onUpdate:modelValue":g=>o.value[c]=g,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(te,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).SNIS,onRemove:g=>a("remove",c)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(ee,{"routing-rules-entity":e.unref(r).SNIS,onAdd:n[0]||(n[0]=h=>a("add"))},null,8,["routing-rules-entity"])])}}}),[["__scopeId","data-v-e6782e08"]]),lt={class:"routing-rule-container"},st=["innerHTML"],nt=P(e.defineComponent({__name:"SourceRules",props:{modelValue:{required:!0},modelModifiers:{}},emits:e.mergeModels(["add","remove"],["update:modelValue"]),setup(l,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=e.useModel(l,"modelValue"),a=V;return(f,n)=>{const T=e.resolveComponent("KLabel"),u=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",lt,[e.createVNode(T,{"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,(h,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:"routing-rule-input"},[e.createVNode(u,{modelValue:o.value[c].ip,"onUpdate:modelValue":g=>o.value[c].ip=g,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":g=>o.value[c].port=g,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(te,{disabled:o.value.length===1,"routing-rules-entity":e.unref(r).SOURCES,onRemove:g=>a("remove",c)},null,8,["disabled","routing-rules-entity","onRemove"])]))),128))]),_:1}),e.createVNode(ee,{"routing-rules-entity":e.unref(r).SOURCES,onAdd:n[0]||(n[0]=h=>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"],ke=P(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(l){const{i18nT:V,i18n:p,i18n:{t:o}}=H.useI18n(),a=p.source.form.protocols,f=l,n=e.useModel(l,"fields"),T=e.useModel(l,"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}},h=async(s,i)=>{if(typeof i<"u"){const y=n.value[s];if(Array.isArray(y)&&(y.splice(i,1),y.length>0))return}await e.nextTick(()=>{delete n.value[s]})},c=s=>s.some(i=>f.protocols.includes(i)),g=e.computed(()=>new Set(de[f.protocols])),I=e.computed(()=>{if(c(["tls_passthrough"]))return[w(r.SNIS)];const s=(f.configType==="basic"?[r.PATHS,r.METHODS,r.HOSTS]:de[f.protocols]).map(i=>w(i));return[[...s].splice(0,s.length-1).join(", "),s[s.length-1]]}),w=s=>{var y;return((y=p.source.form.fields[s])==null?void 0:y.singular)||""};return(s,i)=>{const y=e.resolveComponent("KCheckbox"),B=e.resolveComponent("KSelect"),q=e.resolveComponent("KInput"),$=e.resolveComponent("KCard");return e.openBlock(),e.createBlock($,null,{default:e.withCtx(()=>{var m;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)[s.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}),s.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&&g.value.has(e.unref(r).PATHS)?(e.openBlock(),e.createBlock(et,{key:"paths-container",modelValue:n.value.paths,"onUpdate:modelValue":i[0]||(i[0]=b=>n.value.paths=b),onAdd:i[1]||(i[1]=b=>u(e.unref(r).PATHS)),onRemove:i[2]||(i[2]=b=>h(e.unref(r).PATHS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),c(["http","https","ws","wss"])?(e.openBlock(),e.createBlock(y,{key:1,modelValue:n.value.strip_path,"onUpdate:modelValue":i[3]||(i[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&&g.value.has(e.unref(r).METHODS)?(e.openBlock(),e.createBlock(Ye,{key:"methods-container","custom-methods":T.value,"onUpdate:customMethods":i[4]||(i[4]=b=>T.value=b),methods:n.value.methods,"onUpdate:methods":i[5]||(i[5]=b=>n.value.methods=b)},null,8,["custom-methods","methods"])):e.createCommentVNode("",!0),n.value.hosts&&g.value.has(e.unref(r).HOSTS)?(e.openBlock(),e.createBlock(Xe,{key:"hosts-container",modelValue:n.value.hosts,"onUpdate:modelValue":i[6]||(i[6]=b=>n.value.hosts=b),onAdd:i[7]||(i[7]=b=>u(e.unref(r).HOSTS)),onRemove:i[8]||(i[8]=b=>h(e.unref(r).HOSTS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),n.value.headers&&s.configType==="advanced"&&g.value.has(e.unref(r).HEADERS)?(e.openBlock(),e.createBlock(Ge,{key:"headers-container",modelValue:n.value.headers,"onUpdate:modelValue":i[9]||(i[9]=b=>n.value.headers=b),onAdd:i[10]||(i[10]=b=>u(e.unref(r).HEADERS)),onRemove:i[11]||(i[11]=b=>h(e.unref(r).HEADERS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),n.value.sources&&g.value.has(e.unref(r).SOURCES)?(e.openBlock(),e.createBlock(nt,{key:"sources-container",modelValue:n.value.sources,"onUpdate:modelValue":i[12]||(i[12]=b=>n.value.sources=b),onAdd:i[13]||(i[13]=b=>u(e.unref(r).SOURCES)),onRemove:i[14]||(i[14]=b=>h(e.unref(r).SOURCES,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),n.value.destinations&&g.value.has(e.unref(r).DESTINATIONS)?(e.openBlock(),e.createBlock(Fe,{key:"destinations-container",modelValue:n.value.destinations,"onUpdate:modelValue":i[15]||(i[15]=b=>n.value.destinations=b),onAdd:i[16]||(i[16]=b=>u(e.unref(r).DESTINATIONS)),onRemove:i[17]||(i[17]=b=>h(e.unref(r).DESTINATIONS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0),n.value.snis&&s.configType==="advanced"&&g.value.has(e.unref(r).SNIS)?(e.openBlock(),e.createBlock(rt,{key:"snis-container",modelValue:n.value.snis,"onUpdate:modelValue":i[18]||(i[18]=b=>n.value.snis=b),onAdd:i[19]||(i[19]=b=>u(e.unref(r).SNIS)),onRemove:i[20]||(i[20]=b=>h(e.unref(r).SNIS,b))},null,8,["modelValue"])):e.createCommentVNode("",!0)]}),_:1}),s.hideAdvanced?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ct,[(m=n.value.paths)!=null&&m.some(Boolean)?(e.openBlock(),e.createBlock(B,{key:0,modelValue:n.value.path_handling,"onUpdate:modelValue":i[21]||(i[21]=S=>n.value.path_handling=S),"data-testid":"route-form-path-handling",items:e.unref(Ee),label:e.unref(o)("form.fields.path_handling.label"),"label-attributes":{tooltipAttributes:{maxWidth:"320"}},readonly:s.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(B,{modelValue:n.value.https_redirect_status_code,"onUpdate:modelValue":i[22]||(i[22]=S=>n.value.https_redirect_status_code=S),"data-testid":"route-form-http-redirect-status-code",items:e.unref(fe),label:e.unref(o)("form.fields.https_redirect_status_code.label"),"label-attributes":{tooltipAttributes:{maxWidth:"320"}},readonly:s.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(q,{modelValue:n.value.regex_priority,"onUpdate:modelValue":i[23]||(i[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:s.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(y,{modelValue:n.value.preserve_host,"onUpdate:modelValue":i[24]||(i[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(y,{modelValue:n.value.request_buffering,"onUpdate:modelValue":i[25]||(i[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(y,{modelValue:n.value.response_buffering,"onUpdate:modelValue":i[26]||(i[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(l,{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(()=>Ut),loadingComponent:o,errorComponent:a}),n=l,T=V,u=e.ref(J.LOADING),h=e.useModel(l,"modelValue"),c=g=>{h.value=g};return e.onMounted(async()=>{try{await(await import("@kong-ui-public/expressions")).asyncInit,u.value=J.READY}catch(g){u.value=J.ERROR,console.error(g)}}),(g,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[u.value===e.unref(J).ERROR?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a),{key:0,"data-testid":"route-form-expressions-editor-loader-error"})):u.value===e.unref(J).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:h.value,"onUpdate:modelValue":I[0]||(I[0]=w=>h.value=w),protocol:n.protocol,"show-expressions-modal-entry":g.showExpressionsModalEntry,onNotify:I[1]||(I[1]=w=>T("notify",w))},{default:e.withCtx(()=>[e.createVNode(e.unref(z.RocketIcon),{size:e.unref($e)},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(g.$slots,"after-editor",{expression:{value:h.value,update:c},state:u.value})],64))}}),St={class:"route-form-routing-rules-title-container"},bt={class:"routing-rules-title"},_t={class:"route-form-fields-container route-form-advanced-fields-container"},Tt=P(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(l,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=l,a=e.useModel(l,"fields"),f=V,n=e.ref(!0),T=e.computed(()=>o.protocols.split(",")||[]),u=h=>h.some(c=>o.protocols.includes(c));return(h,c)=>{const g=e.resolveComponent("KCard"),I=e.resolveComponent("KSelect"),w=e.resolveComponent("KInput"),s=e.resolveComponent("KCheckbox"),i=e.resolveComponent("KCollapse");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(g,null,{title:e.withCtx(()=>[e.createElementVNode("div",St,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.value,y=>(e.openBlock(),e.createElementBlock("span",{key:y,class:"protocol-title"},e.toDisplayString(y.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]=y=>a.value.expression=y),protocol:T.value[0],"show-expressions-modal-entry":h.showExpressionsModalEntry,onNotify:c[1]||(c[1]=y=>f("notify",y))},{"after-editor":e.withCtx(y=>[e.renderSlot(h.$slots,"after-expressions-editor",{expression:y.expression,state:y.state},void 0,!0)]),_:3},8,["modelValue","protocol","show-expressions-modal-entry"])]),_:3}),e.createVNode(i,{modelValue:n.value,"onUpdate:modelValue":c[8]||(c[8]=y=>n.value=y),class:"route-form-advanced-fields-collapse","trigger-alignment":"leading","trigger-label":e.unref(p)("form.show_more")},{default:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[e.createElementVNode("div",_t,[e.createVNode(I,{modelValue:a.value.https_redirect_status_code,"onUpdate:modelValue":c[2]||(c[2]=y=>a.value.https_redirect_status_code=y),"data-testid":"route-form-http-redirect-status-code",items:e.unref(fe),label:e.unref(p)("form.fields.https_redirect_status_code.label"),readonly:h.readonly,width:"100%"},null,8,["modelValue","items","label","readonly"]),e.createVNode(w,{modelValue:a.value.priority,"onUpdate:modelValue":c[3]||(c[3]=y=>a.value.priority=y),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:h.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]=y=>a.value.strip_path=y),"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]=y=>a.value.preserve_host=y),"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]=y=>a.value.request_buffering=y),"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]=y=>a.value.response_buffering=y),"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"},Ne=P(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({...se,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(l,{emit:V}){const p=l,o=e.useModel(l,"configType"),a=e.useModel(l,"configFlavor"),f=e.useModel(l,"fields"),n=e.useModel(l,"customMethods"),T=V,{i18n:{t:u}}=H.useI18n(),h=[{value:O.TRADITIONAL,label:u("form.flavors.traditional")},{value:O.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"}]:[]]),g=e.computed(()=>p.recordFlavor?p.recordFlavor:a.value),I=(m,S)=>{if(!new Set(de[p.protocols]).has(m))return[];if([r.PATHS,r.HOSTS,r.METHODS,r.SNIS].includes(m))return[...S].filter(D=>!!D);if(m===r.SOURCES||m===r.DESTINATIONS)return[...S].filter(D=>!!D.ip||!!D.port).map(D=>({ip:D.ip||void 0,port:!D.port&&D.port!==0?void 0:D.port}));if(m===r.HEADERS)return[...S].filter(D=>!!D.header)},w=m=>m.some(S=>p.protocols.includes(S)),s=()=>{if(g.value!==O.TRADITIONAL)return null;const m=f.value,S=I(r.HEADERS,m.headers||[])||M[r.HEADERS];return S.length===0?null:S.reduce((b,D)=>(b[D.header]=D.values.split(","),b),{})},i=e.computed(()=>(f.value.methods||[]).filter(b=>Object.keys(Q).includes(b)).concat(n.value.map(b=>b.label.toUpperCase()))),y=m=>m!=null&&m.length?m:null,B=e.computed(()=>({https_redirect_status_code:f.value.https_redirect_status_code,strip_path:w(["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})),q=e.computed(()=>{switch(g.value){case O.TRADITIONAL:{const m=f.value,S=y(I(r.PATHS,m.paths||[])),b=y(I(r.HOSTS,m.hosts||[])),D={...B.value,methods:y(I(r.METHODS,i.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(m.regex_priority),path_handling:m.path_handling,sources:y(I(r.SOURCES,m.sources||[])),destinations:y(I(r.DESTINATIONS,m.destinations||[])),snis:o.value==="basic"?null:y(I(r.SNIS,m.snis||[]))};return{type:g.value,payload:D}}case O.EXPRESSIONS:{const m=f.value;return{type:g.value,payload:{...B.value,expression:m.expression,priority:Number(m.priority)}}}default:return}}),$=m=>{m&&T("update:protocols",m)};return e.watch([()=>p.recordFlavor,()=>p.routeFlavors],([m,S])=>{if(m){a.value=m;return}a.value=!S.traditional&&S.expressions?O.EXPRESSIONS:O.TRADITIONAL},{immediate:!0,deep:!0}),e.watch(o,m=>{m==="basic"&&(a.value=O.TRADITIONAL,T("update:protocols","http,https"))}),e.watch(q,m=>{T("update:payload",m)},{deep:!0,immediate:!0}),(m,S)=>{const b=e.resolveComponent("KRadio"),D=e.resolveComponent("KLabel"),ne=e.resolveComponent("KTooltip"),j=e.resolveComponent("KSegmentedControl"),K=e.resolveComponent("KAlert"),oe=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]=A=>o.value=A),card:"","card-orientation":"horizontal","data-testid":"route-form-config-type-basic",description:e.unref(u)("form.config_types.basic.description"),disabled:!m.routeFlavors.traditional||m.recordFlavor===e.unref(O).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]=A=>o.value=A),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(ke,{key:0,"custom-methods":n.value,"onUpdate:customMethods":S[2]||(S[2]=A=>n.value=A),fields:f.value,"onUpdate:fields":S[3]||(S[3]=A=>f.value=A),"config-type":"basic","hide-advanced":"",protocols:m.protocols,readonly:m.readonly},null,8,["custom-methods","fields","protocols","readonly"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[m.routeFlavors.traditional&&m.routeFlavors.expressions?(e.openBlock(),e.createElementBlock("div",Ct,[e.createVNode(D,{class:"config-flavor-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(u)("form.config_flavor.label")),1)]),_:1}),e.createVNode(j,{modelValue:a.value,"onUpdate:modelValue":S[4]||(S[4]=A=>a.value=A),class:"config-flavor-control","data-testid":"route-form-config-flavor",options:h},{"option-label":e.withCtx(({option:A})=>{var Y,W;return[e.createElementVNode("span",null,e.toDisplayString(A.label),1),(Y=m.tooltips)!=null&&Y[A.value]?(e.openBlock(),e.createBlock(ne,{key:0,class:"route-form-config-tabs-tooltip",text:(W=m.tooltips)==null?void 0:W[A.value],"tooltip-id":`route-form-config-tabs-tooltip-${A.value}`},{default:e.withCtx(()=>[e.createVNode(e.unref(z.InfoIcon))]),_:2},1032,["text","tooltip-id"])):e.createCommentVNode("",!0)]}),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),m.routeFlavors.traditional&&m.routeFlavors.expressions&&(!m.recordFlavor||m.recordFlavor!==a.value)?(e.openBlock(),e.createBlock(K,{key:1,appearance:m.recordFlavor?"warning":"info",class:"route-form-config-type-immutable-alert","data-testid":"route-config-type-immutable-alert"},{default:e.withCtx(()=>[m.recordFlavor?m.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.${m.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),!m.recordFlavor||!(m.routeFlavors.traditional&&m.routeFlavors.expressions&&m.recordFlavor!==a.value)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[m.hideProtocols?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(oe,{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":m.protocols,readonly:m.readonly,required:"",width:"100%","onUpdate:modelValue":$},null,8,["items","label","label-attributes","model-value","readonly"])),a.value===e.unref(O).TRADITIONAL?(e.openBlock(),e.createBlock(ke,{key:1,"custom-methods":n.value,"onUpdate:customMethods":S[5]||(S[5]=A=>n.value=A),fields:f.value,"onUpdate:fields":S[6]||(S[6]=A=>f.value=A),"config-type":"advanced",protocols:m.protocols,readonly:m.readonly},null,8,["custom-methods","fields","protocols","readonly"])):(e.openBlock(),e.createBlock(Tt,{key:2,fields:f.value,"onUpdate:fields":S[7]||(S[7]=A=>f.value=A),protocols:m.protocols,readonly:m.readonly,"show-expressions-modal-entry":m.showExpressionsModalEntry,onNotify:S[8]||(S[8]=A=>T("notify",A))},null,8,["fields","protocols","readonly","show-expressions-modal-entry"]))],64)):e.createCommentVNode("",!0)],64))],64)}}}),[["__scopeId","data-v-cbda4882"]]),Ve=l=>{var p,o,a,f,n;return!(typeof l.expression=="string"&&l.expression.length>0||(l.protocols||[]).sort().join(",")!=="http,https"||((p=l[r.PATHS])==null?void 0:p.length)>1||((o=l[r.HOSTS])==null?void 0:o.length)>1||l[r.HEADERS]&&typeof l[r.HEADERS]=="object"||((a=l[r.SNIS])==null?void 0:a.length)>0||((f=l[r.SOURCES])==null?void 0:f.length)>0||((n=l[r.DESTINATIONS])==null?void 0:n.length)>0||["path_handling","regex_priority","https_redirect_status_code","preserve_host","request_buffering","response_buffering"].some(T=>l[T]!==Ce[T]))},kt={class:"kong-ui-entities-route-form"},Nt={key:1},Vt={"data-testid":"no-search-results"},It={class:"route-form-service-dropdown-item"},Rt={class:"select-item-label"},wt={class:"select-item-description"},Bt=P(e.defineComponent({__name:"RouteForm",props:{config:{type:Object,required:!0,validator:l=>!(!l||!["konnect","kongManager"].includes(l==null?void 0:l.app)||(l==null?void 0:l.app)==="konnect"&&!(l!=null&&l.controlPlaneId)||(l==null?void 0:l.app)==="kongManager"&&typeof(l==null?void 0:l.workspace)!="string"||!(l!=null&&l.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(l,{expose:V,emit:p}){var ie;const o=l,a=p,f=e.ref("basic"),n=e.ref(!o.routeFlavors.traditional&&o.routeFlavors.expressions?O.EXPRESSIONS:O.TRADITIONAL),T=e.ref(void 0),u=e.computed(()=>{if(T.value)return T.value;if(n.value)return n.value;if(o.routeFlavors.traditional)return O.TRADITIONAL;if(o.routeFlavors.expressions)return O.EXPRESSIONS}),{i18n:{t:h}}=H.useI18n(),c=_e.useRouter(),{axiosInstance:g}=k.useAxios((ie=o.config)==null?void 0:ie.axiosRequestConfig),{getMessageFromError:I}=k.useErrors(),w=t=>t.name?`${t.name} - ${t.value}`:t.value,s=e.reactive({routeFlavors:o.routeFlavors,fields:{name:"",protocols:"http,https",tags:"",service_id:"",...se,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,t=>{s.routeFlavors=t,t.traditional||(f.value="advanced")},{immediate:!0,deep:!0});const i=e.ref(),y=e.ref([]),B=e.ref([]),q=e.reactive({name:"",protocols:"http,https",tags:"",service_id:"",...se,path_handling:"v0",regex_priority:0,expression:"",priority:0}),$=o.config.app==="konnect"||k.useGatewayFeatureSupported({gatewayInfo:o.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),m=e.computed(()=>o.routeId?k.EntityBaseFormType.Edit:k.EntityBaseFormType.Create),S=e.computed(()=>{var t,d,E;return(E=(d=v.form[(t=o.config)==null?void 0:t.app])==null?void 0:d.fetch)==null?void 0:E[o.serviceId?"forGatewayService":"all"].replace(/{serviceId}/gi,o.serviceId||"")}),b=()=>{var t;c.push((t=o.config)==null?void 0:t.cancelRoute)},D=t=>{a("loading",t)},ne=t=>{a("error",t)},j=t=>Object.entries(t).map(d=>{var E;return{header:d[0],values:(E=d[1])==null?void 0:E.join()}}),K=t=>t.some(d=>s.fields.protocols.includes(d)),oe=t=>{var E,N;if(o.routeId){const C=typeof t.expression=="string"&&t.expression.length>0?O.EXPRESSIONS:O.TRADITIONAL;T.value=C,Ve(t)||(f.value="advanced")}(E=t==null?void 0:t.service)!=null&&E.id&&(s.fields.service_id=t.service.id),s.fields.name=(t==null?void 0:t.name)||"";const d=(t==null?void 0:t.tags)||[];s.fields.tags=(d==null?void 0:d.join(", "))||"",s.fields.preserve_host=typeof(t==null?void 0:t.preserve_host)>"u"?!1:t==null?void 0:t.preserve_host,s.fields.https_redirect_status_code=(t==null?void 0:t.https_redirect_status_code)||426,(N=t==null?void 0:t.protocols)!=null&&N.length&&(t.protocols.length>1?s.fields.protocols=t.protocols.join():s.fields.protocols=t.protocols[0]),s.fields.request_buffering=typeof(t==null?void 0:t.request_buffering)>"u"?!0:t==null?void 0:t.request_buffering,s.fields.response_buffering=typeof(t==null?void 0:t.response_buffering)>"u"?!0:t==null?void 0:t.response_buffering,s.fields.strip_path=typeof(t==null?void 0:t.strip_path)>"u"?!0:t==null?void 0:t.strip_path,pe(s)&&(s.fields.regex_priority=(t==null?void 0:t.regex_priority)||0,s.fields.path_handling=(t==null?void 0:t.path_handling)||"v0",t!=null&&t.paths&&(s.fields.paths=t.paths),t!=null&&t.snis&&(s.fields.snis=t.snis),t!=null&&t.hosts&&(s.fields.hosts=t.hosts),t!=null&&t.methods&&(s.fields.methods=t.methods.filter(C=>Object.keys(Q).includes(C)),y.value=t.methods.filter(C=>!Object.keys(Q).includes(C)).map(C=>({label:C,value:C})),B.value=[...y.value]),t!=null&&t.headers&&(s.fields.headers=j(t.headers)),t!=null&&t.sources&&(s.fields.sources=t.sources),t!=null&&t.destinations&&(s.fields.destinations=t.destinations)),ue(s)&&(s.fields.expression=(t==null?void 0:t.expression)||"",s.fields.priority=(t==null?void 0:t.priority)||0),Object.assign(q,JSON.parse(JSON.stringify(s.fields)))},A=e.computed(()=>{switch(u.value){case O.TRADITIONAL:{if(pe(s)){const t=s.fields.hosts?!!s.fields.hosts.filter(Boolean).length:null,d=s.fields.paths?!!s.fields.paths.filter(Boolean).length:null,E=s.fields.headers?s.fields.headers.some(({header:_})=>!!_):null,N=s.fields.snis?!!s.fields.snis.filter(Boolean).length:null,C=s.fields.destinations?s.fields.destinations.some(({ip:_,port:x})=>!!_||!!x):null,G=s.fields.sources?s.fields.sources.some(({ip:_,port:x})=>!!_||!!x):null,Z=s.fields.methods?!!s.fields.methods.filter(Boolean).length:null;return!!s.fields.protocols&&(K(["http"])&&!!(t||Z||d||E)||K(["https"])&&!!(t||Z||d||E||N)||K(["grpc"])&&!!(t||d||E)||K(["grpcs","wss"])&&!!(t||d||E||N)||K(["udp","tls"])&&!!(C||G||N)||K(["tcp"])&&!!(C||G)||K(["tls_passthrough"])&&!!N||K(["ws"])&&!!(t||d||E))}break}case O.EXPRESSIONS:{if(ue(s))return s.fields.expression.length>0;break}}return!0}),Y=e.computed(()=>!be(s.fields,q)||!be(y.value,B.value)),W=e.computed(()=>{var d,E;let t=`${o.config.apiBaseUrl}${v.form[o.config.app][m.value][o.serviceId?"forGatewayService":"all"]}`;return o.config.app==="konnect"?t=t.replace(/{controlPlaneId}/gi,((d=o.config)==null?void 0:d.controlPlaneId)||"").replace(/{serviceId}/gi,o.serviceId||""):o.config.app==="kongManager"&&(t=t.replace(/\/{workspace}/gi,(E=o.config)!=null&&E.workspace?`/${o.config.workspace}`:"").replace(/{serviceId}/gi,o.serviceId||"")),t=t.replace(/{id}/gi,o.routeId),t});e.watch(()=>s.fields,()=>{a("model-updated",U.value)},{deep:!0});const U=e.computed(()=>{var t,d,E;return{...!o.hideNameField&&{name:s.fields.name||null},protocols:s.fields.protocols.split(","),tags:(d=(t=s.fields.tags.split(","))==null?void 0:t.map(N=>String(N||"").trim()))==null?void 0:d.filter(N=>N!==""),service:s.fields.service_id?{id:s.fields.service_id}:null,...(E=i.value)==null?void 0:E.payload}}),re=t=>{switch(u.value){case O.TRADITIONAL:{if(!("regex_priority"in t&&"path_handling"in t))return!1;break}case O.EXPRESSIONS:{if(!("priority"in t))return!1;break}}return"service"in t&&"tags"in t&&"protocols"in t},X=async t=>{var E;const d=t&&re(t)?t:U.value;try{s.isReadonly=!0;let N;m.value==="create"?N=await g.post(W.value,d):m.value==="edit"&&(N=((E=o.config)==null?void 0:E.app)==="konnect"?await g.put(W.value,d):await g.patch(W.value,d)),oe(N==null?void 0:N.data),a("update",N==null?void 0:N.data)}catch(N){s.errorMessage=I(N),a("error",N)}finally{s.isReadonly=!1}},{debouncedQueryChange:ce,loading:me,error:he,loadItems:ge,results:ye}=k.useDebouncedFilter(o.config,v.form[o.config.app].services,void 0,{fetchedItemsKey:"data",searchKeys:["id","name"]}),Se=e.computed(()=>he.value?h("errors.services.fetch"):""),ae=e.computed(()=>{var t;return(t=ye.value)==null?void 0:t.map(d=>({label:d.id,name:d.name,value:d.id}))});return e.onBeforeMount(async()=>{!o.hideServiceField&&!o.serviceId?await ge():s.fields.service_id=o.serviceId}),e.onMounted(()=>{a("model-updated",U.value)}),V({saveFormData:X,payload:U}),e.provide("configType",f),(t,d)=>{const E=e.resolveComponent("KInput"),N=e.resolveComponent("KSelect");return e.openBlock(),e.createElementBlock("div",kt,[e.createVNode(e.unref(k.EntityBaseForm),{"can-submit":A.value&&Y.value,config:l.config,"edit-id":l.routeId,"entity-type":e.unref(k.SupportedEntityType).Route,"error-message":s.errorMessage||Se.value,"fetch-url":S.value,"form-fields":U.value,"is-readonly":s.isReadonly,onCancel:b,"onFetch:error":ne,"onFetch:success":oe,onLoading:D,onSubmit:X},{"form-actions":e.withCtx(()=>[e.renderSlot(t.$slots,"form-actions",{canSubmit:A.value&&Y.value,cancel:b,submit:X},void 0,!0)]),default:e.withCtx(()=>[e.createVNode(e.unref(k.EntityFormSection),{description:e.unref(h)("form.sections.general.description"),"hide-info-header":l.hideSectionsInfo,title:e.unref(h)("form.sections.general.title")},{default:e.withCtx(()=>[l.hideNameField?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(E,{key:0,modelValue:s.fields.name,"onUpdate:modelValue":d[0]||(d[0]=C=>s.fields.name=C),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"route-form-name",label:e.unref(h)("form.fields.name.label"),placeholder:e.unref(h)("form.fields.name.placeholder"),readonly:s.isReadonly,type:"text"},null,8,["modelValue","label","placeholder","readonly"])),!l.hideServiceField&&!l.serviceId?(e.openBlock(),e.createElementBlock("div",Nt,[e.createVNode(N,{modelValue:s.fields.service_id,"onUpdate:modelValue":d[1]||(d[1]=C=>s.fields.service_id=C),clearable:"","data-testid":"route-form-service-id","enable-filtering":"","filter-function":()=>!0,items:ae.value,label:e.unref(h)("form.fields.service_id.label"),loading:e.unref(me),placeholder:e.unref(h)("form.fields.service_id.placeholder"),readonly:s.isReadonly,"reuse-item-template":"",width:"100%",onQueryChange:e.unref(ce)},{loading:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(e.unref(h)("actions.loading")),1)]),empty:e.withCtx(()=>[e.createElementVNode("div",Vt,e.toDisplayString(e.unref(h)("search.no_results")),1)]),"selected-item-template":e.withCtx(({item:C})=>[e.createTextVNode(e.toDisplayString(w(C)),1)]),"item-template":e.withCtx(({item:C})=>[e.createElementVNode("div",It,[e.createElementVNode("span",Rt,e.toDisplayString(C.name),1),e.createElementVNode("span",wt,e.toDisplayString(C.value),1)])]),_:1},8,["modelValue","items","label","loading","placeholder","readonly","onQueryChange"])])):e.createCommentVNode("",!0),e.createVNode(E,{modelValue:s.fields.tags,"onUpdate:modelValue":d[2]||(d[2]=C=>s.fields.tags=C),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"route-form-tags",help:e.unref(h)("form.fields.tags.help"),label:e.unref(h)("form.fields.tags.label"),placeholder:e.unref(h)("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(k.EntityFormSection),{description:e.unref(h)("form.sections.config.description"),"hide-info-header":l.hideSectionsInfo,title:e.unref(h)("form.sections.config.title")},{default:e.withCtx(()=>[e.createVNode(Ne,{"config-flavor":n.value,"onUpdate:configFlavor":d[3]||(d[3]=C=>n.value=C),"config-type":f.value,"onUpdate:configType":d[4]||(d[4]=C=>f.value=C),"custom-methods":y.value,"onUpdate:customMethods":d[5]||(d[5]=C=>y.value=C),fields:s.fields,"onUpdate:fields":d[6]||(d[6]=C=>s.fields=C),"is-ws-supported":e.unref($),protocols:s.fields.protocols,readonly:s.isReadonly,"record-flavor":T.value,"route-flavors":l.routeFlavors,"show-expressions-modal-entry":l.showExpressionsModalEntry,tooltips:l.configTabTooltips,onNotify:d[7]||(d[7]=C=>a("notify",C)),"onUpdate:payload":d[8]||(d[8]=C=>i.value=C),"onUpdate:protocols":d[9]||(d[9]=C=>s.fields.protocols=C)},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"]]),At={class:"kong-ui-entities-routes-list"},xt={class:"button-row"},Ot={class:"empty-state-icon-gateway"},Dt={key:1},Mt={key:1},Ht={key:1},$t={class:"route-list-cell-expression"},Pt=P(e.defineComponent({__name:"RouteList",props:{config:{type:Object,required:!0,validator:l=>!(!l||!["konnect","kongManager"].includes(l==null?void 0:l.app)||!l.createRoute||!l.getViewRoute||!l.getEditRoute||l.app==="kongManager"&&!l.isExactMatch&&!l.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},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(l,{emit:V}){var ie;const p=V,o=l,{i18n:{t:a,formatUnixTimeStamp:f}}=H.useI18n(),n=_e.useRouter(),{axiosInstance:T}=k.useAxios((ie=o.config)==null?void 0:ie.axiosRequestConfig),{handleStateChange:u,hasRecords:h}=k.useTableState(()=>B.value),c=e.computed(()=>h.value&&o.config.app==="konnect"),g=e.computed(()=>!!o.config.serviceId),I=e.computed(()=>o.config.app!=="kongManager"||!!o.config.disableSorting),w={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}},i=w,y=e.computed(()=>{var d,E,N,C;let t=`${o.config.apiBaseUrl}${v.list[o.config.app][o.config.serviceId?"forGatewayService":"all"]}`;return o.config.app==="konnect"?t=t.replace(/{controlPlaneId}/gi,((d=o.config)==null?void 0:d.controlPlaneId)||"").replace(/{serviceId}/gi,((E=o.config)==null?void 0:E.serviceId)||""):o.config.app==="kongManager"&&(t=t.replace(/\/{workspace}/gi,(N=o.config)!=null&&N.workspace?`/${o.config.workspace}`:"").replace(/{serviceId}/gi,((C=o.config)==null?void 0:C.serviceId)||"")),t}),B=e.ref(""),q=e.computed(()=>{const t=o.config.app==="konnect"||o.config.isExactMatch;if(t)return{isExactMatch:t,placeholder:a(`search.placeholder.${o.config.isExactMatch?"exact":o.config.app}`)};const{name:d,protocols:E,hosts:N,methods:C,paths:G,expression:Z}=w,_={name:d,protocols:E,hosts:N,methods:C,paths:G,...o.hasExpressionColumn&&{expression:Z}};return{isExactMatch:t,fields:_,schema:o.config.filterSchema}}),{fetcher:$,fetcherState:m,fetcherCacheKey:S}=k.useFetcher(e.computed(()=>({...o.config,cacheIdentifier:o.cacheIdentifier})),y),b=t=>t.headerKey==="expression"?{style:{maxWidth:"250px",overflowX:"hidden",textOverflow:"ellipsis"}}:{},D=()=>{B.value=""},ne=()=>{S.value++},j=e.ref(null),K=async(t,d)=>{const E=t.id;if(!await d(E)){p("copy:error",{entity:t,field:"id",message:a("errors.copy")});return}p("copy:success",{entity:t,field:"id",message:a("copy.success",{val:E})})},oe=async(t,d)=>{const E=JSON.stringify(t);if(!await d(E)){p("copy:error",{entity:t,message:a("errors.copy")});return}p("copy:success",{entity:t,message:a("copy.success_brief")})},A=async t=>{var E;await((E=o.canRetrieve)==null?void 0:E.call(o,t))&&n.push(o.config.getViewRoute(t.id))},Y=t=>({label:a("actions.view"),to:o.config.getViewRoute(t)}),W=t=>({label:a("actions.edit"),to:o.config.getEditRoute(t)}),U=e.ref(void 0),re=e.ref(!1),X=e.ref(!1),ce=e.ref(""),me=k.useDeleteUrlBuilder(o.config,y.value),he=t=>{U.value=t,re.value=!0},ge=()=>{re.value=!1},ye=async()=>{var t,d,E;if((t=U.value)!=null&&t.id){X.value=!0;try{await T.delete(me(U.value.id)),X.value=!1,re.value=!1,S.value++,p("delete:success",U.value)}catch(N){ce.value=((E=(d=N.response)==null?void 0:d.data)==null?void 0:E.message)||N.message||a("errors.delete"),p("error",N)}finally{X.value=!1}}},Se=()=>{n.push(o.config.createRoute)};e.watch(m,t=>{var d,E,N;if(t.status===k.FetcherStatus.Error){j.value={title:a("errors.general")},(N=(E=(d=t.error)==null?void 0:d.response)==null?void 0:E.data)!=null&&N.message&&(j.value.message=t.error.response.data.message),p("error",t.error);return}j.value=null});const ae=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")});return e.onBeforeMount(async()=>{await o.canCreate()&&(ae.value.title=a("routes.list.empty_state.title"),ae.value.ctaText=a("actions.create"))}),(t,d)=>{const E=e.resolveComponent("KButton"),N=e.resolveComponent("KBadge"),C=e.resolveComponent("KTruncate"),G=e.resolveComponent("KDropdownItem"),Z=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",At,[e.createVNode(e.unref(k.EntityBaseTable),{"cache-identifier":l.cacheIdentifier,"cell-attributes":b,"default-table-preferences":s,"disable-sorting":I.value,"empty-state-options":ae.value,"enable-entity-actions":"","error-message":j.value,fetcher:e.unref($),"fetcher-cache-key":e.unref(S),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-routes-list",query:B.value,"table-headers":e.unref(i),title:l.title,"title-tag":l.titleTag,onClearSearchInput:D,"onClick:row":d[7]||(d[7]=_=>A(_)),onSort:ne,onState:e.unref(u)},e.createSlots({"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(k.EntityFilter),{modelValue:B.value,"onUpdate:modelValue":d[0]||(d[0]=_=>B.value=_),config:q.value},null,8,["modelValue","config"])]),"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!l.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createElementVNode("div",xt,[!g.value&&c.value?(e.openBlock(),e.createBlock(E,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"routes-learn-more-button",icon:"",onClick:d[1]||(d[1]=_=>t.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(z.BookIcon),{decorative:""})]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(k.PermissionsWrapper),{"auth-function":()=>l.canCreate()},{default:e.withCtx(()=>[e.createVNode(E,{appearance:"primary","data-testid":"toolbar-add-route",size:l.useActionOutside?"medium":"large",to:l.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(z.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:_})=>[e.createElementVNode("b",null,e.toDisplayString(_??"-"),1)]),protocols:e.withCtx(({rowValue:_})=>[e.createVNode(C,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_,x=>(e.openBlock(),e.createBlock(N,{key:x,appearance:"neutral",onClick:d[3]||(d[3]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x),1)]),_:2},1024))),128))]),_:2},1024)]),hosts:e.withCtx(({rowValue:_})=>[(_==null?void 0:_.length)>0?(e.openBlock(),e.createBlock(C,{key:0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_,x=>(e.openBlock(),e.createBlock(N,{key:x,appearance:"neutral",tooltip:x,"truncation-tooltip":"",onClick:d[4]||(d[4]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x),1)]),_:2},1032,["tooltip"]))),128))]),_:2},1024)):(e.openBlock(),e.createElementBlock("span",Dt,"-"))]),methods:e.withCtx(({rowValue:_})=>[(_==null?void 0:_.length)>0?(e.openBlock(),e.createBlock(C,{key:0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_,x=>(e.openBlock(),e.createBlock(N,{key:x,appearance:Object.values(e.unref(Ie.BadgeMethodAppearances)).includes(x.toLowerCase())?x.toLowerCase():"custom",onClick:d[5]||(d[5]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x),1)]),_:2},1032,["appearance"]))),128))]),_:2},1024)):(e.openBlock(),e.createElementBlock("span",Mt,"-"))]),paths:e.withCtx(({rowValue:_})=>[(_==null?void 0:_.length)>0?(e.openBlock(),e.createBlock(C,{key:0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_,x=>(e.openBlock(),e.createBlock(N,{key:x,appearance:"neutral",tooltip:x,"truncation-tooltip":"",onClick:d[6]||(d[6]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x),1)]),_:2},1032,["tooltip"]))),128))]),_:2},1024)):(e.openBlock(),e.createElementBlock("span",Ht,"-"))]),tags:e.withCtx(({rowValue:_})=>[e.createVNode(e.unref(k.TableTags),{tags:_},null,8,["tags"])]),expression:e.withCtx(({rowValue:_})=>[e.createElementVNode("span",$t,e.toDisplayString(_||"-"),1)]),created_at:e.withCtx(({rowValue:_})=>[e.createTextVNode(e.toDisplayString(e.unref(f)(_)),1)]),updated_at:e.withCtx(({row:_,rowValue:x})=>[e.createTextVNode(e.toDisplayString(e.unref(f)(x??_.created_at)),1)]),actions:e.withCtx(({row:_})=>[e.createVNode(Z,null,{default:e.withCtx(({copyToClipboard:x})=>[e.createVNode(G,{"data-testid":"action-entity-copy-id",onClick:Lt=>K(_,x)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(Z,null,{default:e.withCtx(({copyToClipboard:x})=>[e.createVNode(G,{"data-testid":"action-entity-copy-json",onClick:Lt=>oe(_,x)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(e.unref(k.PermissionsWrapper),{"auth-function":()=>l.canRetrieve(_)},{default:e.withCtx(()=>[e.createVNode(G,{"data-testid":"action-entity-view","has-divider":"",item:Y(_.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(k.PermissionsWrapper),{"auth-function":()=>l.canEdit(_)},{default:e.withCtx(()=>[e.createVNode(G,{"data-testid":"action-entity-edit",item:W(_.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(k.PermissionsWrapper),{"auth-function":()=>l.canDelete(_)},{default:e.withCtx(()=>[e.createVNode(G,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:x=>he(_)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!B.value&&l.config.app==="konnect"?{name:"empty-state",fn:e.withCtx(()=>{var _;return[e.createVNode(e.unref(k.EntityEmptyState),{"action-button-text":e.unref(a)("routes.list.toolbar_actions.new_route"),appearance:"secondary","can-create":()=>l.canCreate(),"data-testid":l.config.serviceId?"nested-routes-entity-empty-state":"routes-entity-empty-state",description:e.unref(a)("routes.list.empty_state_v2.description"),"learn-more":l.config.app==="konnect",title:e.unref(a)("routes.list.empty_state_v2.title"),"onClick:create":Se,"onClick:learnMore":d[2]||(d[2]=x=>t.$emit("click:learn-more"))},e.createSlots({image:e.withCtx(()=>[e.createElementVNode("div",Ot,[e.createVNode(e.unref(z.ForwardIcon),{color:e.unref(De),size:e.unref(Pe)},null,8,["color","size"])])]),_:2},[(_=l.config)!=null&&_.isControlPlaneGroup?{name:"message",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("routes.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["action-button-text","can-create","data-testid","description","learn-more","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(k.EntityDeleteModal),{"action-pending":X.value,description:e.unref(a)("delete.description"),"entity-name":U.value&&(U.value.name||U.value.id),"entity-type":e.unref(k.EntityTypes).Route,error:ce.value,title:e.unref(a)("delete.title"),visible:re.value,onCancel:ge,onProceed:ye},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-e8f3a41d"]]),Ut=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(l,{emit:V}){const{i18n:{t:p}}=H.useI18n(),o=l,a=e.useModel(l,"modelValue"),f=V,n=e.ref(!1),T=e.computed(()=>le.PROTOCOL_TO_SCHEMA[o.protocol]),u=e.computed(()=>le.HTTP_BASED_PROTOCOLS.includes(o.protocol??"")),h=e.computed(()=>{if(!(!o.showExpressionsModalEntry||u.value))return p("form.expression_playground.supported_protocols_hint",{protocols:le.HTTP_BASED_PROTOCOLS.join(", ")})}),c=w=>{a.value=w,n.value=!1},g=w=>{f("notify",w)},I=()=>{u.value&&(n.value=!0)};return(w,s)=>{const i=e.resolveComponent("KTooltip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[T.value!==void 0?(e.openBlock(),e.createBlock(e.unref(le.ExpressionsEditor),{key:0,modelValue:a.value,"onUpdate:modelValue":s[0]||(s[0]=y=>a.value=y),schema:T.value},null,8,["modelValue","schema"])):e.createCommentVNode("",!0),e.createVNode(i,{placement:"bottom-start",text:h.value},{default:e.withCtx(()=>[w.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(w.$slots,"default")],2)):e.createCommentVNode("",!0)]),_:3},8,["text"]),w.showExpressionsModalEntry&&u.value?(e.openBlock(),e.createBlock(e.unref(le.RouterPlaygroundModal),{key:1,"initial-expression":a.value,"is-visible":n.value,onCancel:s[1]||(s[1]=y=>n.value=!1),onCommit:c,onNotify:g},null,8,["initial-expression","is-visible"])):e.createCommentVNode("",!0)],64)}}})},Symbol.toStringTag,{value:"Module"}));R.ExpressionsEditorState=J,R.HTTP_REDIRECT_STATUS_CODES=fe,R.INITIAL_ROUTE_RULES_FIELDS=Ce,R.INITIAL_SHARED_ROUTE_RULES_FIELDS=se,R.INITIAL_TRADITIONAL_ROUTE_RULES_VALUES=M,R.Methods=Q,R.PATH_HANDLING_OPTIONS=Ee,R.PROTOCOLS_TO_ROUTE_RULES=de,R.RouteConfigCard=xe,R.RouteFlavor=O,R.RouteForm=Bt,R.RouteFormRulesComposer=Ne,R.RouteList=Pt,R.RoutingRulesEntities=r,R.isDefinedByBasic=Ve,R.stateHasExpressionsFlavor=ue,R.stateHasTraditionalFlavor=pe,Object.defineProperty(R,Symbol.toStringTag,{value:"Module"})});
@@ -1330,7 +1330,7 @@ const Ge = (l) => l.routeFlavors.traditional === !0, We = (l) => l.routeFlavors.
1330
1330
  }, a = {
1331
1331
  render: () => xe("div", f("form.expressions_editor.error"))
1332
1332
  }, v = ot({
1333
- loader: async () => import("./RouteFormExpressionsEditor-uJa3PSLF.js"),
1333
+ loader: async () => import("./RouteFormExpressionsEditor-BQZnP7gR.js"),
1334
1334
  loadingComponent: o,
1335
1335
  errorComponent: a
1336
1336
  }), i = l, R = C, g = B(he.LOADING), y = X(l, "modelValue"), p = (S) => {
@@ -2580,7 +2580,7 @@ const Ge = (l) => l.routeFlavors.traditional === !0, We = (l) => l.routeFlavors.
2580
2580
  ]);
2581
2581
  };
2582
2582
  }
2583
- }), vs = /* @__PURE__ */ Z(rs, [["__scopeId", "data-v-8dfa1b0f"]]);
2583
+ }), vs = /* @__PURE__ */ Z(rs, [["__scopeId", "data-v-e8f3a41d"]]);
2584
2584
  export {
2585
2585
  he as E,
2586
2586
  Ze as H,
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .config-card-fieldset[data-v-f7096c33]{border:solid 1px #e0e4ea;border-radius:4px;margin-bottom:8px;margin-top:4px}.config-card-fieldset-title[data-v-f7096c33]{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-5f9aa0e8]{align-items:center;border-bottom:var(--2f90d7f7);box-sizing:border-box;display:var(--668a792a);padding:16px 16px 16px 0;width:100%}.config-card-details-row .config-card-details-label[data-v-5f9aa0e8]{box-sizing:border-box;padding-right:16px;width:var(--5bc9ad14)}.config-card-details-row .config-card-details-label label[data-v-5f9aa0e8]{color:#3a3f51;display:inline-flex;max-width:100%}.config-card-details-row .config-card-details-label label .label-content[data-v-5f9aa0e8]{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-5f9aa0e8]{min-width:0}.config-card-details-row .config-card-details-value[data-v-5f9aa0e8]{box-sizing:border-box;width:var(--5bc5215e)}.config-card-details-row .config-card-details-value .truncated[data-v-5f9aa0e8]{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-5f9aa0e8]{overflow-wrap:anywhere}.config-card-details-row .config-card-details-value .copy-uuid-array[data-v-5f9aa0e8] .k-copy:not(:last-of-type){margin-bottom:8px}.config-card-details-row .config-card-details-value .method-badge-array[data-v-5f9aa0e8]{display:flex;flex-wrap:wrap;row-gap:10px}.config-card-details-row .config-badge[data-v-5f9aa0e8]{margin-right:4px}.config-card-details-row[data-v-5f9aa0e8] .k-label{margin-bottom:0}.config-card-details-row[data-v-5f9aa0e8] .k-label .kong-icon-infoFilled{display:flex}.config-card-details-row[data-v-5f9aa0e8] .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(--eca0976a);overflow:hidden!important;text-align:left;text-overflow:ellipsis;white-space:nowrap}.config-card-prop-section-title[data-v-d67757a9]{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-9b9ea6f9]{align-items:center;display:flex}.kong-ui-entity-base-config-card .config-card-actions .config-format-select-label[data-v-9b9ea6f9]{margin-bottom:0;margin-right:8px}.kong-ui-entity-base-config-card .config-card-prop-section-title[data-v-9b9ea6f9]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card[data-v-9b9ea6f9] .config-card-details-row:last-of-type{border-bottom:none}.kong-ui-entity-base-config-card .book-icon[data-v-9b9ea6f9]{margin-left:8px;padding:0}.kong-ui-entity-base-form[data-v-612b1eac]{box-sizing:border-box;max-width:1536px;width:100%}.kong-ui-entity-base-form[data-v-612b1eac] .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-612b1eac] .k-card.content-card{padding:0 16px!important}.kong-ui-entity-base-form[data-v-612b1eac] .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-612b1eac] .tab-item.active>div.tab-link.has-panels{color:#000933!important;font-weight:600!important}.form-actions[data-v-612b1eac]{align-items:center;display:flex;justify-content:flex-end;margin-top:24px}.form-actions[data-v-612b1eac] .k-button:last-of-type,.form-actions[data-v-612b1eac] .k-button:nth-last-of-type(2){margin-left:16px}.form-actions-reverted[data-v-612b1eac]{direction:rtl}.content-wrapper[data-v-a3a65cac] .k-tooltip{word-break:break-all}.kong-ui-entity-base-table .toolbar-container[data-v-d86d3e31]{align-items:center;display:flex;width:100%}.kong-ui-entity-base-table .toolbar-button-container[data-v-d86d3e31]{margin-left:auto}.kong-ui-entity-base-table .hidden[data-v-d86d3e31]{display:none}.kong-ui-entity-base-table[data-v-d86d3e31] .empty-state-icon-gateway{background-color:#ecfcff;border-radius:4px;padding:8px}.kong-ui-entity-base-table :deep(.k-table){table-layout:fixed}.kong-ui-entity-delete-modal .message[data-v-4361d622],.kong-ui-entity-delete-modal .description[data-v-4361d622]{line-height:24px;margin:0}.kong-ui-entity-delete-modal .message strong[data-v-4361d622]{font-weight:600}.kong-ui-entity-delete-modal .description[data-v-4361d622]{margin-top:32px}.kong-ui-entity-delete-error[data-v-4361d622]{margin-bottom:16px}.kong-ui-entity-filter-input[data-v-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-b6376b66]{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-b6376b66]{padding:64px 96px}}.kong-ui-public-entity-empty-state .empty-state-image[data-v-b6376b66]{margin-bottom:8px}.kong-ui-public-entity-empty-state .entity-empty-state-content[data-v-b6376b66]{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-b6376b66]{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-b6376b66]{font-size:18px}.kong-ui-public-entity-empty-state .entity-empty-state-description[data-v-b6376b66],.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-b6376b66]{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-b6376b66],.kong-ui-public-entity-empty-state .entity-empty-state-pricing p[data-v-b6376b66]{margin:0}.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-b6376b66]{margin-top:16px}.kong-ui-public-entity-empty-state .entity-empty-state-message[data-v-b6376b66]{color:#52596e}.kong-ui-public-entity-empty-state .entity-empty-state-action[data-v-b6376b66]{align-items:center;display:flex;gap:12px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container[data-v-b6376b66]{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-b6376b66]{width:640px}}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-b6376b66]{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-b6376b66]{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-b6376b66] .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-b6376b66] .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-b6376b66] .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-b6376b66]{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-b6376b66]{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-8dfa1b0f]{align-items:center;display:flex;gap:12px}.kong-ui-entities-routes-list[data-v-8dfa1b0f]{width:100%}.kong-ui-entities-routes-list .kong-ui-entity-filter-input[data-v-8dfa1b0f]{margin-right:12px}.kong-ui-entities-routes-list .route-list-cell-expression[data-v-8dfa1b0f]{font-family:JetBrains Mono,Consolas,monospace}.expression-editor[data-v-fa3403cf]{border:1px solid #e0e4ea;border-radius:3px;min-height:200px;overflow:hidden;transition:border-color linear .15s;width:100%}.expression-editor.invalid[data-v-fa3403cf]{border-color:#d60027}.page-header h1[data-v-30fc351e],h2[data-v-30fc351e],h3[data-v-30fc351e],h4[data-v-30fc351e],h5[data-v-30fc351e],h6[data-v-30fc351e]{color:#000933;font-size:24px;font-weight:700}.page-header h1 .title[data-v-30fc351e],h2 .title[data-v-30fc351e],h3 .title[data-v-30fc351e],h4 .title[data-v-30fc351e],h5 .title[data-v-30fc351e],h6 .title[data-v-30fc351e]{word-break:break-all}.row[data-v-30fc351e]{display:flex;flex-wrap:wrap;justify-content:space-between;margin-left:-16px;margin-right:-16px;padding:0 16px}.col[data-v-30fc351e]{line-height:36px}h1[data-v-30fc351e],h2[data-v-30fc351e],h3[data-v-30fc351e],h4[data-v-30fc351e],h5[data-v-30fc351e],h6[data-v-30fc351e],nav[data-v-30fc351e]{margin-bottom:20px;margin-top:0}.title-no-margin[data-v-30fc351e]{margin:0!important}.operations[data-v-30fc351e]{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-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-5f9aa0e8]{align-items:center;border-bottom:var(--2f90d7f7);box-sizing:border-box;display:var(--668a792a);padding:16px 16px 16px 0;width:100%}.config-card-details-row .config-card-details-label[data-v-5f9aa0e8]{box-sizing:border-box;padding-right:16px;width:var(--5bc9ad14)}.config-card-details-row .config-card-details-label label[data-v-5f9aa0e8]{color:#3a3f51;display:inline-flex;max-width:100%}.config-card-details-row .config-card-details-label label .label-content[data-v-5f9aa0e8]{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-5f9aa0e8]{min-width:0}.config-card-details-row .config-card-details-value[data-v-5f9aa0e8]{box-sizing:border-box;width:var(--5bc5215e)}.config-card-details-row .config-card-details-value .truncated[data-v-5f9aa0e8]{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-5f9aa0e8]{overflow-wrap:anywhere}.config-card-details-row .config-card-details-value .copy-uuid-array[data-v-5f9aa0e8] .k-copy:not(:last-of-type){margin-bottom:8px}.config-card-details-row .config-card-details-value .method-badge-array[data-v-5f9aa0e8]{display:flex;flex-wrap:wrap;row-gap:10px}.config-card-details-row .config-badge[data-v-5f9aa0e8]{margin-right:4px}.config-card-details-row[data-v-5f9aa0e8] .k-label{margin-bottom:0}.config-card-details-row[data-v-5f9aa0e8] .k-label .kong-icon-infoFilled{display:flex}.config-card-details-row[data-v-5f9aa0e8] .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(--eca0976a);overflow:hidden!important;text-align:left;text-overflow:ellipsis;white-space:nowrap}.config-card-prop-section-title[data-v-d67757a9]{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-9b9ea6f9]{align-items:center;display:flex}.kong-ui-entity-base-config-card .config-card-actions .config-format-select-label[data-v-9b9ea6f9]{margin-bottom:0;margin-right:8px}.kong-ui-entity-base-config-card .config-card-prop-section-title[data-v-9b9ea6f9]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card[data-v-9b9ea6f9] .config-card-details-row:last-of-type{border-bottom:none}.kong-ui-entity-base-config-card .book-icon[data-v-9b9ea6f9]{margin-left:8px;padding:0}.kong-ui-entity-base-form[data-v-612b1eac]{box-sizing:border-box;max-width:1536px;width:100%}.kong-ui-entity-base-form[data-v-612b1eac] .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-612b1eac] .k-card.content-card{padding:0 16px!important}.kong-ui-entity-base-form[data-v-612b1eac] .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-612b1eac] .tab-item.active>div.tab-link.has-panels{color:#000933!important;font-weight:600!important}.form-actions[data-v-612b1eac]{align-items:center;display:flex;justify-content:flex-end;margin-top:24px}.form-actions[data-v-612b1eac] .k-button:last-of-type,.form-actions[data-v-612b1eac] .k-button:nth-last-of-type(2){margin-left:16px}.form-actions-reverted[data-v-612b1eac]{direction:rtl}.content-wrapper[data-v-a3a65cac] .k-tooltip{word-break:break-all}.kong-ui-entity-base-table .toolbar-container[data-v-d86d3e31]{align-items:center;display:flex;width:100%}.kong-ui-entity-base-table .toolbar-button-container[data-v-d86d3e31]{margin-left:auto}.kong-ui-entity-base-table .hidden[data-v-d86d3e31]{display:none}.kong-ui-entity-base-table[data-v-d86d3e31] .empty-state-icon-gateway{background-color:#ecfcff;border-radius:4px;padding:8px}.kong-ui-entity-base-table :deep(.k-table){table-layout:fixed}.kong-ui-entity-delete-modal .message[data-v-4361d622],.kong-ui-entity-delete-modal .description[data-v-4361d622]{line-height:24px;margin:0}.kong-ui-entity-delete-modal .message strong[data-v-4361d622]{font-weight:600}.kong-ui-entity-delete-modal .description[data-v-4361d622]{margin-top:32px}.kong-ui-entity-delete-error[data-v-4361d622]{margin-bottom:16px}.kong-ui-entity-filter-input[data-v-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-b6376b66]{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-b6376b66]{padding:64px 96px}}.kong-ui-public-entity-empty-state .empty-state-image[data-v-b6376b66]{margin-bottom:8px}.kong-ui-public-entity-empty-state .entity-empty-state-content[data-v-b6376b66]{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-b6376b66]{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-b6376b66]{font-size:18px}.kong-ui-public-entity-empty-state .entity-empty-state-description[data-v-b6376b66],.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-b6376b66]{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-b6376b66],.kong-ui-public-entity-empty-state .entity-empty-state-pricing p[data-v-b6376b66]{margin:0}.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-b6376b66]{margin-top:16px}.kong-ui-public-entity-empty-state .entity-empty-state-message[data-v-b6376b66]{color:#52596e}.kong-ui-public-entity-empty-state .entity-empty-state-action[data-v-b6376b66]{align-items:center;display:flex;gap:12px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container[data-v-b6376b66]{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-b6376b66]{width:640px}}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-b6376b66]{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-b6376b66]{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-b6376b66] .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-b6376b66] .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-b6376b66] .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-b6376b66]{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-b6376b66]{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-e8f3a41d]{align-items:center;display:flex;gap:12px}.kong-ui-entities-routes-list[data-v-e8f3a41d]{width:100%}.kong-ui-entities-routes-list .kong-ui-entity-filter-input[data-v-e8f3a41d]{margin-right:12px}.kong-ui-entities-routes-list .route-list-cell-expression[data-v-e8f3a41d]{font-family:JetBrains Mono,Consolas,monospace}.expression-editor[data-v-fa3403cf]{border:1px solid #e0e4ea;border-radius:3px;min-height:200px;overflow:hidden;transition:border-color linear .15s;width:100%}.expression-editor.invalid[data-v-fa3403cf]{border-color:#d60027}.page-header h1[data-v-30fc351e],h2[data-v-30fc351e],h3[data-v-30fc351e],h4[data-v-30fc351e],h5[data-v-30fc351e],h6[data-v-30fc351e]{color:#000933;font-size:24px;font-weight:700}.page-header h1 .title[data-v-30fc351e],h2 .title[data-v-30fc351e],h3 .title[data-v-30fc351e],h4 .title[data-v-30fc351e],h5 .title[data-v-30fc351e],h6 .title[data-v-30fc351e]{word-break:break-all}.row[data-v-30fc351e]{display:flex;flex-wrap:wrap;justify-content:space-between;margin-left:-16px;margin-right:-16px;padding:0 16px}.col[data-v-30fc351e]{line-height:36px}h1[data-v-30fc351e],h2[data-v-30fc351e],h3[data-v-30fc351e],h4[data-v-30fc351e],h5[data-v-30fc351e],h6[data-v-30fc351e],nav[data-v-30fc351e]{margin-bottom:20px;margin-top:0}.title-no-margin[data-v-30fc351e]{margin:0!important}.operations[data-v-30fc351e]{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}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kong-ui-public/entities-routes",
3
- "version": "3.15.6",
3
+ "version": "3.15.7",
4
4
  "type": "module",
5
5
  "main": "./dist/entities-routes.umd.js",
6
6
  "module": "./dist/entities-routes.es.js",
@@ -26,8 +26,8 @@
26
26
  "axios": "^1.11.0",
27
27
  "vue": "^3.5.13",
28
28
  "vue-router": "^4.4.5",
29
- "@kong-ui-public/i18n": "^2.4.1",
30
- "@kong-ui-public/entities-shared": "^3.27.3"
29
+ "@kong-ui-public/i18n": "^2.4.2",
30
+ "@kong-ui-public/entities-shared": "^3.27.4"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@kong/design-tokens": "^1.18.0",
@@ -38,8 +38,8 @@
38
38
  "vite-plugin-monaco-editor": "^1.1.0",
39
39
  "vue": "^3.5.13",
40
40
  "vue-router": "^4.4.5",
41
- "@kong-ui-public/entities-shared": "^3.27.3",
42
- "@kong-ui-public/i18n": "^2.4.1"
41
+ "@kong-ui-public/entities-shared": "^3.27.4",
42
+ "@kong-ui-public/i18n": "^2.4.2"
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.2.5"
60
+ "@kong-ui-public/expressions": "^1.2.6"
61
61
  },
62
62
  "scripts": {
63
63
  "dev": "cross-env USE_SANDBOX=true vite",