@kong-ui-public/entities-gateway-services 3.11.31-pr.2030.ed70890b6.0 → 3.11.31-pr.2198.6ceb22189.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/dist/entities-gateway-services.es.js +1753 -0
- package/dist/entities-gateway-services.umd.js +1 -0
- package/dist/style.css +1 -0
- package/dist/types/components/GatewayServiceConfigCard.vue.d.ts +62 -0
- package/dist/types/components/GatewayServiceConfigCard.vue.d.ts.map +1 -0
- package/dist/types/components/GatewayServiceForm.vue.d.ts +101 -0
- package/dist/types/components/GatewayServiceForm.vue.d.ts.map +1 -0
- package/dist/types/components/GatewayServiceList.vue.d.ts +136 -0
- package/dist/types/components/GatewayServiceList.vue.d.ts.map +1 -0
- package/dist/types/composables/getPortFromProtocol.d.ts +4 -0
- package/dist/types/composables/getPortFromProtocol.d.ts.map +1 -0
- package/dist/types/composables/index.d.ts +10 -0
- package/dist/types/composables/index.d.ts.map +1 -0
- package/dist/types/composables/useI18n.d.ts +9 -0
- package/dist/types/composables/useI18n.d.ts.map +1 -0
- package/dist/types/composables/useUrlValidators.d.ts +8 -0
- package/dist/types/composables/useUrlValidators.d.ts.map +1 -0
- package/dist/types/constants.d.ts +15 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/gateway-services-endpoints.d.ts +24 -0
- package/dist/types/gateway-services-endpoints.d.ts.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/types/gateway-service-config-card.d.ts +28 -0
- package/dist/types/types/gateway-service-config-card.d.ts.map +1 -0
- package/dist/types/types/gateway-service-form.d.ts +67 -0
- package/dist/types/types/gateway-service-form.d.ts.map +1 -0
- package/dist/types/types/gateway-service-list.d.ts +36 -0
- package/dist/types/types/gateway-service-list.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +4 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/urlValidator.d.ts +4 -0
- package/dist/types/utils/urlValidator.d.ts.map +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(x,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router"),require("@kong/icons"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-shared")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router","@kong/icons","@kong-ui-public/i18n","@kong-ui-public/entities-shared"],e):(x=typeof globalThis<"u"?globalThis:x||self,e(x["kong-ui-public-entities-gateway-services"]={},x.Vue,x.VueRouter,x.KongIcons,x["kong-ui-public-i18n"],x["kong-ui-public-entities-shared"]))})(this,function(x,e,ke,te,Ce,u){"use strict";const Ne={actions:{create:"New gateway service",serverless_create:"Add a Service",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",clear:"Clear",view:"View Details",delete:{title:"Delete a Gateway Service",description:"Deleting this Gateway Service will also remove any associated plugins. This action cannot be reversed.",menu_label:"Delete"}},search:{placeholder:{konnect:"Filter by name",kongManager:"Filter by exact name or ID"}},gateway_services:{title:"Gateway Services",list:{toolbar_actions:{new_gateway_service:"New gateway service"},table_headers:{name:"Name",control_plane:"Control Plane",protocol:"Protocol",host:"Host",port:"Port",path:"Path",enabled:"Enabled",tags:"Tags",id:"ID",created_at:"Created At",updated_at:"Last Modified"},empty_state:{title:"Configure a New Gateway Service",description:"Gateway services are used to proxy traffic.",serverless_title:"Configure your first Gateway Service"}},empty_state_v2:{create:"New gateway service",title:"Configure your first gateway service",group:"Services created in gateways within this group will automatically appear here.",description:"Gateway services represent backend APIs or microservices that receive traffic routed through the gateway."},form:{buttons:{try_sample:"Try sample API"},errors:{host:{empty:"Host cannot be empty",invalid:"Invalid host"},port:{type:"Port must be a number",invalid:"Port must be between 0 and 65535"},path:{prefix:"Path must begin with /",invalid:"Path should not include characters outside of the reserved list of RFC 3986"},protocol:{empty:"Protocol cannot be empty",invalid:"Protocol - value must be one of http, https, grpc, grpcs, tcp, udp, tls, tls_passthrough, ws, wss"},url:{invalid:"The URL must follow a valid format. Example: https://api.kong-air.com/flights"}},sections:{general:{title:"General Information",description:"Provide a name and tags to help identify and manage this service."},keys:{title:"Service endpoint",description:"Define where this service should send requests.",checkedGroupLabel:"Choose how and where to send traffic",urlLabel:"Full URL",checkedGroupAltLabel:"Protocol, host, port and path",url:{label:"Full URL",description:"Define the service using a single, complete API URL for simple setup."},protocol:{label:"Protocol, host, port, and path",description:"Manually specify each component of the API’s URL for advanced configurations."},viewAdvancedFields:"View advanced fields"}},fields:{upstream_url:{label:"Full URL",placeholder:"e.g. https://api.kong-air.com/flights",tooltip_for_konnect:"This is the URL of the API you will manage in Konnect.",tooltip_for_km:"This is the URL of the API you will manage in Kong Gateway."},name:{label:"Name",placeholder:"Enter a unique name",tooltip:"The Service name."},protocol:{label:"Protocol",tooltip:"The protocol used to communicate with the upstream.",options:{http:"http",https:"https",tcp:"tcp",tls:"tls",tls_passthrough:"tls_passthrough",grpc:"grpc",grpcs:"grpcs",ws:"ws",wss:"wss",udp:"udp"}},host:{label:"Host",placeholder:"e.g. api.kong-air.com",tooltip:"The host of the upstream server. Note that the host value is case sensitive."},path:{label:"Path",placeholder:"e.g. /sample",tooltip:"The path to be used in request to the upstream server."},port:{label:"Port",tooltip:"The upstream server port."},retries:{label:"Retries",tooltip:"The number of retries to execute upon failure to proxy."},connect_timeout:{label:"Connection timeout",tooltip:"The timeout in milliseconds for establishing a connection to the upstream server."},write_timeout:{label:"Write timeout",tooltip:"The timeout in milliseconds between two successive write operations for transmitting a request to the upstream server."},read_timeout:{label:"Read timeout",tooltip:"The timeout in milliseconds between two successive read operations for transmitting a request to the upstream server."},client_certificate:{label:"Client certificate",placeholder:"Enter a Certificate ID",tooltip:"Certificate to be used as client certificate while TLS handshaking to the upstream server."},ca_certificates:{label:"CA certificates",placeholder:"Enter a comma separated list of CA Certificate IDs",tooltip:"Array of {code1} object UUIDs that are used to build the trust store while verifying upstream server's TLS certificate. If set to {code2} when Nginx default is respected. If default CA list in Nginx are not specified and TLS verification is enabled, then handshake with upstream server will always fail (because no CA are trusted).",code1:"CA Certificate",code2:"null"},tls_verify_enabled:{label:"TLS verify",help:"If unchecked, use default system setting",tooltip:"Whether to enable verification of upstream server TLS certificate. If set to {code1}, then the Nginx default is respected.",code1:"null"},tls_verify_option:{unset:{display:"Use default system setting"},true:{label:"True",display:"On"},false:{label:"False",display:"Off"}},tags:{label:"Tags",tooltip:"An optional set of strings associated with the Service for grouping and filtering.",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",collapse:"Add tags"},enabled:{label:"Enabled",tooltip:"Whether the Service is active. If set to {false}, the proxy behavior will be as if any routes attached to it do not exist (404). Default: {true}.",false:"false",true:"true"}}}},errors:{general:"Gateway Services could not be retrieved",delete:"The gateway service could not be deleted at this time.",copy:"Failed to copy to clipboard",urlErrorMessage:"Error: invalid URL"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},glossary:{gateway_services:"gateway services"}};function xe(){const s=Ce.createI18n("en-us",Ne);return{i18n:s,i18nT:Ce.i18nTComponent(s)}}function Se(){return{getPortFromProtocol:(F,p)=>{const n=[80,443],a=Number(p);if((a||a===0)&&!n.includes(a))return a;switch(F){case"grpcs":case"tls":case"https":case"wss":return 443;case"grpc":case"tcp":case"http":case"ws":default:return 80}}}}function Ie(){const{i18n:{t:s}}=M.useI18n();return{validateHost:g=>{if(!g||g.trim()==="")return s("gateway_services.form.errors.host.empty");const N=/^(?!:\/\/)([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?))*)(\.[a-zA-Z]{1,63})?$/;return/^((25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])$/.test(g)||N.test(g)?"":s("gateway_services.form.errors.host.invalid")},validateProtocol:(g,N)=>!g||g.trim()===""?s("gateway_services.form.errors.protocol.empty"):(g=g.slice(0,-1),N.find(l=>{if(l.value===g)return l})===void 0?s("gateway_services.form.errors.protocol.invalid"):""),validatePath:g=>!g||g===""?"":g.startsWith("/")?/[^A-Za-z0-9\-._~:/?#[\]@!$&'()*+,;=%]/.test(g)?s("gateway_services.form.errors.path.invalid"):"":s("gateway_services.form.errors.path.prefix"),validatePort:g=>{if(g==null||g==="")return"";const N=typeof g=="string"?parseInt(g,10):g;return isNaN(N)?s("gateway_services.form.errors.port.type"):N<0||N>65535?s("gateway_services.form.errors.port.invalid"):""}}}const M={useI18n:xe,usePortFromProtocol:Se,useUrlValidators:Ie},oe="/v2/control-planes/{controlPlaneId}/core-entities",re="/{workspace}",Z={list:{konnect:{all:`${oe}/services`},kongManager:{all:`${re}/services`}},form:{konnect:{create:`${oe}/services`,validate:`${oe}/v1/schemas/json/service/validate`,edit:`${oe}/services/{id}`},kongManager:{create:`${re}/services`,validate:`${re}/schemas/services/validate`,edit:`${re}/services/{id}`}}},Pe="#00abd2",Te="24px",Be={class:"kong-ui-entities-gateway-services-list"},Fe={class:"button-row"},Ae={class:"empty-state-icon-gateway"},$e={key:1},Ue=e.defineComponent({__name:"GatewayServiceList",props:{config:{type:Object,required:!0,validator:s=>!(!s||!["konnect","kongManager"].includes(s==null?void 0:s.app)||!s.createRoute||!s.getViewRoute||!s.getEditRoute||s.app==="kongManager"&&!s.isExactMatch&&!s.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},useActionOutside:{type:Boolean,default:!1},isServerless:{type:Boolean,default:!1},enableV2EmptyStates:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success","toggle:success"],setup(s,{emit:F}){var z;const p=F,n=s,{i18n:{t:a,formatUnixTimeStamp:g}}=M.useI18n(),N=ke.useRouter(),{axiosInstance:A}=u.useAxios((z=n.config)==null?void 0:z.axiosRequestConfig),{hasRecords:l,handleStateChange:P}=u.useTableState(()=>T.value),k=e.computed(()=>l.value&&n.config.app==="konnect"),ue=e.computed(()=>!n.enableV2EmptyStates&&n.config.app==="konnect"),ie=e.computed(()=>n.config.app!=="kongManager"||!!n.config.disableSorting),J={name:{label:a("gateway_services.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1},...n.config.showControlPlaneColumn?{control_plane:{label:a("gateway_services.list.table_headers.control_plane")}}:{},protocol:{label:a("gateway_services.list.table_headers.protocol"),searchable:!0,sortable:!0},host:{label:a("gateway_services.list.table_headers.host"),searchable:!0,sortable:!0},port:{label:a("gateway_services.list.table_headers.port"),searchable:!0,sortable:!0},path:{label:a("gateway_services.list.table_headers.path"),searchable:!0,sortable:!0},enabled:{label:a("gateway_services.list.table_headers.enabled"),searchable:!0,sortable:!0},tags:{label:a("gateway_services.list.table_headers.tags"),sortable:!1},updated_at:{label:a("gateway_services.list.table_headers.updated_at"),sortable:!0},created_at:{label:a("gateway_services.list.table_headers.created_at"),sortable:!0}},le={columnVisibility:{created_at:!1}},me=J,W=e.computed(()=>{var m,y;let c=`${n.config.apiBaseUrl}${Z.list[n.config.app].all}`;return n.config.app==="konnect"?c=c.replace(/{controlPlaneId}/gi,((m=n.config)==null?void 0:m.controlPlaneId)||""):n.config.app==="kongManager"&&(c=c.replace(/\/{workspace}/gi,(y=n.config)!=null&&y.workspace?`/${n.config.workspace}`:"")),c}),ge=e.computed(()=>n.config.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${W.value}`):new URL(W.value)),T=e.ref(""),ye=e.computed(()=>{const c=n.config.app==="konnect"||n.config.isExactMatch;if(c)return{isExactMatch:c,placeholder:a(`search.placeholder.${n.config.app}`)};const{name:m,enabled:y,protocol:V,host:R,port:C,path:D}=J;return{isExactMatch:c,fields:{name:m,enabled:y,protocol:V,host:R,port:C,path:D},schema:n.config.filterSchema}}),{fetcher:K,fetcherState:b,fetcherCacheKey:L}=u.useFetcher(e.computed(()=>({...n.config,cacheIdentifier:n.cacheIdentifier})),W),Q=()=>{T.value=""},_e=()=>{L.value++},t=e.ref(null),v=e.computed(()=>({ctaPath:n.config.createRoute,ctaText:ee.value?n.isServerless?a("actions.serverless_create"):a("actions.create"):void 0,message:`${a("gateway_services.list.empty_state.description")}${n.config.additionMessageForEmptyState?` ${n.config.additionMessageForEmptyState}`:""}`,title:ee.value?n.isServerless?a("gateway_services.list.empty_state.serverless_title"):a("gateway_services.list.empty_state.title"):a("gateway_services.title")})),X=e.ref(!1),S=e.ref(null),j=e.computed(()=>{const c={action:"disable",id:"",name:""};if(S.value){const{enabled:m,id:y,name:V}=S.value;c.action=m?"disable":"enable",c.id=y,c.name=V||y}return c}),he=c=>{X.value=!0,S.value=c},U=()=>{X.value=!1,S.value=null},se=async()=>{var V,R;if(!await((V=n.canEdit)==null?void 0:V.call(n,S.value))||!S.value)return;const m=`${ge.value.href}/${S.value.id}`,y=!S.value.enabled;try{const{data:C}=((R=n.config)==null?void 0:R.app)==="konnect"?await A.put(m,{...S.value,enabled:y}):await A.patch(m,{...S.value,enabled:y});p("toggle:success",C),S.value.enabled=y}catch(C){p("error",C)}},ae=c=>{n.config.getControlPlaneRoute&&N.push(n.config.getControlPlaneRoute(c))},ne=async(c,m)=>{const y=c.id;if(!await m(y)){p("copy:error",{entity:c,field:"id",message:a("errors.copy")});return}p("copy:success",{entity:c,field:"id",message:a("copy.success",{val:y})})},ce=async(c,m)=>{const y=JSON.stringify(c);if(!await m(y)){p("copy:error",{entity:c,message:a("errors.copy")});return}p("copy:success",{entity:c,message:a("copy.success_brief")})},de=async c=>{var y;await((y=n.canRetrieve)==null?void 0:y.call(n,c))&&N.push(n.config.getViewRoute(c.id))},we=c=>({label:a("actions.view"),to:n.config.getViewRoute(c)}),q=c=>({label:a("actions.edit"),to:n.config.getEditRoute(c)}),I=e.ref(void 0),$=e.ref(!1),G=e.ref(!1),Y=e.ref(""),be=u.useDeleteUrlBuilder(n.config,W.value),fe=c=>{I.value=c,$.value=!0,Y.value=""},pe=()=>{$.value=!1,I.value=void 0},ve=async()=>{var c,m,y;if((c=I.value)!=null&&c.id){G.value=!0;try{await A.delete(be(I.value.id)),p("delete:success",I.value),pe(),L.value++}catch(V){Y.value=((y=(m=V.response)==null?void 0:m.data)==null?void 0:y.message)||V.message||a("errors.delete"),p("error",V)}finally{G.value=!1}}},Ve=()=>{N.push(n.config.createRoute)};e.watch(b,c=>{var m,y,V;if(c.status===u.FetcherStatus.Error){t.value={title:a("errors.general")},(V=(y=(m=c.error)==null?void 0:m.response)==null?void 0:y.data)!=null&&V.message&&(t.value.message=c.error.response.data.message),p("error",c.error);return}t.value=null});const ee=e.ref(!1);return e.onBeforeMount(async()=>{ee.value=await n.canCreate()}),(c,m)=>{const y=e.resolveComponent("KButton"),V=e.resolveComponent("KBadge"),R=e.resolveComponent("KInputSwitch"),C=e.resolveComponent("KDropdownItem"),D=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",Be,[e.createVNode(e.unref(u.EntityBaseTable),{"cache-identifier":s.cacheIdentifier,"default-table-preferences":le,"disable-sorting":ie.value,"empty-state-options":v.value,"enable-entity-actions":"","error-message":t.value,fetcher:e.unref(K),"fetcher-cache-key":e.unref(L),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-gateway-services-list",query:T.value,"table-headers":e.unref(me),onClearSearchInput:Q,"onClick:row":m[5]||(m[5]=f=>de(f)),onSort:_e,onState:e.unref(P)},e.createSlots({"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(u.EntityFilter),{modelValue:T.value,"onUpdate:modelValue":m[0]||(m[0]=f=>T.value=f),config:ye.value},null,8,["modelValue","config"])]),"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!s.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createElementVNode("div",Fe,[k.value?(e.openBlock(),e.createBlock(y,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"gateway-services-learn-more-button",icon:"",onClick:m[1]||(m[1]=f=>c.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(te.BookIcon),{decorative:""})]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>s.canCreate()},{default:e.withCtx(()=>[e.createVNode(y,{appearance:"primary","data-testid":"toolbar-add-gateway-service",size:s.useActionOutside?"medium":"large",to:s.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(te.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(a)("gateway_services.list.toolbar_actions.new_gateway_service")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:e.withCtx(({rowValue:f})=>[e.createElementVNode("b",null,e.toDisplayString(f??"-"),1)]),control_plane:e.withCtx(({row:f})=>{var o;return[(o=f.x_meta)!=null&&o.cluster_id?(e.openBlock(),e.createBlock(V,{key:0,tooltip:f.x_meta.cluster_id,"truncation-tooltip":"",onClick:e.withModifiers(r=>ae(f.x_meta.cluster_id),["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.x_meta.cluster_id),1)]),_:2},1032,["tooltip","onClick"])):(e.openBlock(),e.createElementBlock("b",$e,"-"))]}),enabled:e.withCtx(({row:f})=>[e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>s.canEdit(f),"force-show":""},{default:e.withCtx(({isAllowed:o})=>[e.createElementVNode("div",{onClick:m[4]||(m[4]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(R,{modelValue:f.enabled,"onUpdate:modelValue":r=>f.enabled=r,"data-testid":`row-${f.id}-toggle-input`,disabled:!o,onClick:e.withModifiers(r=>he(f),["prevent"])},null,8,["modelValue","onUpdate:modelValue","data-testid","disabled","onClick"])])]),_:2},1032,["auth-function"])]),tags:e.withCtx(({rowValue:f})=>[e.createVNode(e.unref(u.TableTags),{tags:f},null,8,["tags"])]),created_at:e.withCtx(({rowValue:f})=>[e.createTextVNode(e.toDisplayString(e.unref(g)(f)),1)]),updated_at:e.withCtx(({row:f,rowValue:o})=>[e.createTextVNode(e.toDisplayString(e.unref(g)(o??f.created_at)),1)]),actions:e.withCtx(({row:f})=>[e.createVNode(D,null,{default:e.withCtx(({copyToClipboard:o})=>[e.createVNode(C,{"data-testid":"action-entity-copy-id",onClick:r=>ne(f,o)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(D,null,{default:e.withCtx(({copyToClipboard:o})=>[e.createVNode(C,{"data-testid":"action-entity-copy-json",onClick:r=>ce(f,o)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>s.canRetrieve(f)},{default:e.withCtx(()=>[e.createVNode(C,{"data-testid":"action-entity-view","has-divider":"",item:we(f.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>s.canEdit(f)},{default:e.withCtx(()=>[e.createVNode(C,{"data-testid":"action-entity-edit",item:q(f.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>s.canDelete(f)},{default:e.withCtx(()=>[e.createVNode(C,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:o=>fe(f)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.delete.menu_label")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!e.unref(l)&&ue.value?{name:"outside-actions",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!s.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createVNode(y,{appearance:"secondary",class:"open-learning-hub","data-testid":"gateway-services-more-button",icon:"",onClick:m[2]||(m[2]=f=>c.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(te.BookIcon),{decorative:""})]),_:1})],8,["disabled"]))]),key:"0"}:void 0,!T.value&&s.enableV2EmptyStates&&s.config.app==="konnect"?{name:"empty-state",fn:e.withCtx(()=>{var f;return[e.createVNode(e.unref(u.EntityEmptyState),{"action-button-text":e.unref(a)("gateway_services.empty_state_v2.create"),appearance:"secondary","can-create":()=>s.canCreate(),"data-testid":"gateway-services-entity-empty-state",description:e.unref(a)("gateway_services.empty_state_v2.description"),"learn-more":s.config.app==="konnect",title:e.unref(a)("gateway_services.empty_state_v2.title"),"onClick:create":Ve,"onClick:learnMore":m[3]||(m[3]=o=>c.$emit("click:learn-more"))},e.createSlots({image:e.withCtx(()=>[e.createElementVNode("div",Ae,[e.createVNode(e.unref(te.ServicesIcon),{color:e.unref(Pe),size:e.unref(Te)},null,8,["color","size"])])]),_:2},[(f=s.config)!=null&&f.isControlPlaneGroup?{name:"message",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("gateway_services.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["action-button-text","can-create","description","learn-more","title"])]}),key:"1"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","onState"]),e.createVNode(e.unref(u.EntityToggleModal),{action:j.value.action,"entity-id":j.value.id,"entity-name":j.value.name,"entity-type":e.unref(a)("glossary.gateway_services"),"on-confirm":se,visible:X.value,onCancel:U,onProceed:U},null,8,["action","entity-id","entity-name","entity-type","visible"]),e.createVNode(e.unref(u.EntityDeleteModal),{"action-pending":G.value,description:e.unref(a)("actions.delete.description"),"entity-name":I.value&&(I.value.name||I.value.id),"entity-type":e.unref(u.EntityTypes).GatewayService,error:Y.value,title:e.unref(a)("actions.delete.title"),visible:$.value,onCancel:pe,onProceed:ve},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),Ee=(s,F)=>{const p=s.__vccOpts||s;for(const[n,a]of F)p[n]=a;return p},Re=Ee(Ue,[["__scopeId","data-v-210f19c5"]]),De={class:"kong-ui-gateway-service-entity-config-card"},Me=e.defineComponent({__name:"GatewayServiceConfigCard",props:{config:{type:Object,required:!0,validator:s=>!(!s||!["konnect","kongManager"].includes(s==null?void 0:s.app)||s.app==="konnect"&&!s.controlPlaneId||s.app==="kongManager"&&typeof s.workspace!="string"||!s.entityId)},configCardDoc:{type:String,default:"",required:!1},hideTitle:{type:Boolean,default:!1}},emits:["loading","fetch:error","fetch:success"],setup(s){const F=s,{i18n:{t:p},i18nT:n}=M.useI18n(),a=e.computed(()=>Z.form[F.config.app].edit),{getPropValue:g}=u.useHelpers(),N=(l,P)=>g(l,P)===!0?p("gateway_services.form.fields.tls_verify_option.true.display"):p("gateway_services.form.fields.tls_verify_option.false.display"),A=e.ref({id:{},name:{tooltip:p("gateway_services.form.fields.name.tooltip")},enabled:{},updated_at:{},created_at:{},protocol:{section:u.ConfigurationSchemaSection.Basic,tooltip:p("gateway_services.form.fields.protocol.tooltip")},host:{section:u.ConfigurationSchemaSection.Basic,tooltip:p("gateway_services.form.fields.host.tooltip")},path:{section:u.ConfigurationSchemaSection.Basic,tooltip:p("gateway_services.form.fields.path.tooltip")},port:{section:u.ConfigurationSchemaSection.Basic,tooltip:p("gateway_services.form.fields.port.tooltip")},tags:{tooltip:p("gateway_services.form.fields.tags.tooltip")},retries:{order:1,tooltip:p("gateway_services.form.fields.retries.tooltip")},connect_timeout:{order:2,tooltip:p("gateway_services.form.fields.connect_timeout.tooltip")},write_timeout:{order:3,tooltip:p("gateway_services.form.fields.write_timeout.tooltip")},read_timeout:{order:4,tooltip:p("gateway_services.form.fields.read_timeout.tooltip")},client_certificate:{order:5,tooltip:p("gateway_services.form.fields.client_certificate.tooltip")},ca_certificates:{type:u.ConfigurationSchemaType.BadgeTag,label:p("gateway_services.form.fields.ca_certificates.label"),order:6},tls_verify:{label:p("gateway_services.form.fields.tls_verify_enabled.label")},tls_verify_depth:{hidden:!0}});return(l,P)=>(e.openBlock(),e.createElementBlock("div",De,[e.createVNode(e.unref(u.EntityBaseConfigCard),{config:s.config,"config-card-doc":s.configCardDoc,"config-schema":A.value,"entity-type":e.unref(u.SupportedEntityType).GatewayService,"fetch-url":a.value,"hide-title":s.hideTitle,"onFetch:error":P[0]||(P[0]=k=>l.$emit("fetch:error",k)),"onFetch:success":P[1]||(P[1]=k=>l.$emit("fetch:success",k)),onLoading:P[2]||(P[2]=k=>l.$emit("loading",k))},{"enabled-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(n),{keypath:"gateway_services.form.fields.enabled.tooltip",scope:"global"},{false:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(p)("gateway_services.form.fields.enabled.false")),1)]),true:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(p)("gateway_services.form.fields.enabled.true")),1)]),_:1})]),"ca_certificates-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(n),{keypath:"gateway_services.form.fields.ca_certificates.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(p)("gateway_services.form.fields.ca_certificates.code1")),1)]),code2:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(p)("gateway_services.form.fields.ca_certificates.code2")),1)]),_:1})]),"tls_verify-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(n),{keypath:"gateway_services.form.fields.tls_verify_enabled.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(p)("gateway_services.form.fields.tls_verify_enabled.code1")),1)]),_:1})]),tls_verify:e.withCtx(k=>[e.createTextVNode(e.toDisplayString(typeof e.unref(g)("rowValue",k)=="boolean"?N("rowValue",k):e.unref(p)("gateway_services.form.fields.tls_verify_option.unset.display")),1)]),client_certificate:e.withCtx(k=>[e.createTextVNode(e.toDisplayString(e.unref(g)("rowValue",k)?e.unref(g)("rowValue",k).id:"–"),1)]),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title"])]))}}),B={name:"Kong-Air-Flights-API",tags:[],protocol:"https",path:"/flights",read_timeout:6e4,retries:5,host:"api.kong-air.com",connect_timeout:6e4,ca_certificates:null,client_certificate:null,write_timeout:6e4,port:443},Ke={class:"kong-ui-entities-gateway-service-form"},Le={key:0,class:"gateway-service-form-general-info"},qe={class:"gateway-service-form-group-selection-wrapper"},Ge={key:0,class:"gateway-service-form-group-fields"},Oe={key:0,class:"gateway-service-form-group-fields"},We={key:0},je={key:0,class:"gateway-service-form-advanced-fields"},ze={class:"gateway-service-form-margin-bottom"},He={class:"gateway-service-form-margin-bottom"},Ze={class:"gateway-service-form-margin-bottom"},Je={class:"gateway-service-form-margin-bottom"},Qe={key:0,class:"gateway-service-form-margin-bottom"},Xe={key:1,class:"gateway-service-form-margin-bottom"},Ye={key:2,class:"gateway-service-form-margin-bottom"},et={key:0,class:"checkbox-aligned-radio"},tt={key:1,class:"checkbox-aligned-radio"},ot={class:"gateway-service-form-tags"},rt={class:"form-error-list"},it=Ee(e.defineComponent({__name:"GatewayServiceForm",props:{config:{type:Object,required:!0,validator:s=>!(!s||!["konnect","kongManager"].includes(s==null?void 0:s.app)||s.app==="konnect"&&!s.controlPlaneId||s.app==="kongManager"&&typeof s.workspace!="string"||!s.cancelRoute)},gatewayServiceId:{type:String,required:!1,default:""},hideSectionsInfo:{type:Boolean,required:!1,default:!1},hideTrySampleApiButton:{type:Boolean,required:!1,default:!1}},emits:["update","error","url-valid:success","url-valid:error","loading","model-updated","try-sample-api"],setup(s,{expose:F,emit:p}){var f;const n=p,a=s,g=e.ref(!0),N=ke.useRouter(),{i18nT:A,i18n:{t:l}}=M.useI18n(),{getErrorFieldsFromError:P}=u.useErrors(),{axiosInstance:k}=u.useAxios((f=a.config)==null?void 0:f.axiosRequestConfig),ue=u.useValidators(),{validateHost:ie,validatePath:J,validatePort:le,validateProtocol:me}=M.useUrlValidators(),{objectsAreEqual:W}=u.useHelpers(),ge=e.computed(()=>Z.form[a.config.app].edit),T=e.computed(()=>a.gatewayServiceId?u.EntityBaseFormType.Edit:u.EntityBaseFormType.Create),ye=e.ref(!1),K=e.computed(()=>!!a.gatewayServiceId),b=e.ref(K.value?"protocol":"url"),L=M.usePortFromProtocol(),Q=e.ref(""),_e=e.computed(()=>!!Q.value||!!q("name")),t=e.reactive({fields:{name:"",protocol:"http",host:"",path:"",port:80,url:"",retries:5,connect_timeout:6e4,write_timeout:6e4,read_timeout:6e4,client_certificate:"",ca_certificates:"",tls_verify_enabled:!1,tls_verify_value:!1,tags:""},isReadonly:!1,errorMessages:[],formFieldErrors:{host:"",port:"",path:"",name:"",url:"",tags:"",retries:"",connect_timeout:"",write_timeout:"",read_timeout:"",client_certificate:"",ca_certificates:"",tls_verify_enabled:"",tls_verify_value:""}}),v=e.reactive({name:"",protocol:"http",host:"",path:"",port:80,url:"",retries:5,connect_timeout:6e4,write_timeout:6e4,read_timeout:6e4,client_certificate:"",ca_certificates:"",tls_verify_enabled:!1,tls_verify_value:!1,tags:""}),X=a.config.app==="konnect"||u.useGatewayFeatureSupported({gatewayInfo:a.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),S=[{label:l("gateway_services.form.fields.protocol.options.http"),value:"http",group:"http"},{label:l("gateway_services.form.fields.protocol.options.https"),value:"https",group:"http"},{label:l("gateway_services.form.fields.protocol.options.tcp"),value:"tcp",group:"tcp"},{label:l("gateway_services.form.fields.protocol.options.tls"),value:"tls",group:"tcp"},{label:l("gateway_services.form.fields.protocol.options.tls_passthrough"),value:"tls_passthrough",group:"tcp"},{label:l("gateway_services.form.fields.protocol.options.grpc"),value:"grpc",group:"grpc"},{label:l("gateway_services.form.fields.protocol.options.grpcs"),value:"grpcs",group:"grpc"},...X?[{label:l("gateway_services.form.fields.protocol.options.ws"),value:"ws",group:"websocket"},{label:l("gateway_services.form.fields.protocol.options.wss"),value:"wss",group:"websocket"}]:[],{label:l("gateway_services.form.fields.protocol.options.udp"),value:"udp",group:"udp"}],j={url:"url",protocol:"protocol"},he=(o,r)=>{r.value},U=o=>o?parseFloat(o):0,se=()=>{t.fields.host=v.host,t.fields.path=v.path,t.fields.port=v.port,t.fields.protocol=v.protocol,t.fields.url=v.url,t.fields.retries=v.retries,t.fields.connect_timeout=v.connect_timeout,t.fields.write_timeout=v.write_timeout,t.fields.read_timeout=v.read_timeout,t.fields.client_certificate=v.client_certificate,t.fields.ca_certificates=v.ca_certificates,t.fields.tls_verify_enabled=v.tls_verify_enabled,t.fields.tls_verify_value=v.tls_verify_value},ae=()=>{g.value=!0,$(),t.errorMessages=[],se()},ne=()=>{switch(se(),t.fields.name=`${B.name}-${new Date().toISOString().replace(/\D/g,"").slice(0,17)}`,b.value){case"url":t.fields.url=`${B.protocol}://${B.host}${B.path}`;break;case"protocol":t.fields.host=B.host,t.fields.path=B.path,t.fields.protocol=B.protocol,t.fields.port=B.port;break;default:t.fields.url=`${B.protocol}://${B.host}${B.path}`}},ce=()=>{if($(),t.fields.url.length)try{const o=new URL(t.fields.url),r=me(o.protocol,S);if(r)throw new Error(r);t.fields.protocol=o.protocol.slice(0,-1);const _=ie(o.hostname);if(_)throw new Error(_);t.fields.host=o.hostname;const E=J(o.pathname);if(E)throw new Error(E);t.fields.path=o.pathname;const h=le(o.port);if(h)throw new Error(h);const w=Number(o.port);ye.value=!!w,t.fields.port=w||L.getPortFromProtocol(t.fields.protocol),n("url-valid:success")}catch{n("url-valid:error",l("gateway_services.form.errors.url.invalid")),t.formFieldErrors.url=l("gateway_services.form.errors.url.invalid")}},de=o=>{$(o)},we=e.computed(()=>!!t.formFieldErrors.url||!!t.formFieldErrors.host||!!t.formFieldErrors.port),q=o=>{if(t.errorMessages.length)return"";const r=t.formFieldErrors;return r[o]?r[o]:""},I=o=>{$(o??void 0);const r=ie(t.fields.host);r&&(t.formFieldErrors.host=r);const _=J(t.fields.path);_&&(t.formFieldErrors.path=_);const E=le(t.fields.port);E&&(t.formFieldErrors.port=E),G.value?n("url-valid:success"):n("url-valid:error",t.errorMessages.join(",")||l("gateway_services.form.errors.url.invalid"))},$=o=>{if(o)t.formFieldErrors[o]="";else for(let r in t.formFieldErrors)t.formFieldErrors[r]="";t.errorMessages=[]},G=e.computed(()=>{for(let o in t.formFieldErrors)if(t.formFieldErrors[o].length)return!1;return!0}),Y=()=>{t.fields.url&&b.value==="url"?ce():I()},be=()=>`new-service-${new Date().toISOString().replace(/\D/g,"").slice(0,17)}`,fe=e.computed(()=>!["tcp","tls","tls_passthrough","grpc","grpcs","udp"].includes(t.fields.protocol)),pe=e.computed(()=>{if(b.value==="url")return!0;const o=["https","wss","tls"].includes(t.fields.protocol);return b.value==="protocol"&&o}),ve=e.computed(()=>{if(b.value==="url")return!0;const o=["https","tls"].includes(t.fields.protocol);return b.value==="protocol"&&o}),Ve=e.computed(()=>{if(b.value==="url")return!0;const o=["https","wss","tls"].includes(t.fields.protocol);return b.value==="protocol"&&o}),ee=o=>{$("name"),Q.value=ue.utf8Name(o)},z=e.computed(()=>{const o=!K.value||!W(t.fields,v),r=b.value==="url"&&!!t.fields.url&&G.value,_=b.value==="protocol"&&!!t.fields.host&&G.value;return o&&(r||_)}),c=o=>{var r,_,E;t.fields.name=(o==null?void 0:o.name)||"",t.fields.tags=((r=o==null?void 0:o.tags)==null?void 0:r.join(", "))||"",t.fields.protocol=(o==null?void 0:o.protocol)||"http",t.fields.path=(o==null?void 0:o.path)||"",t.fields.read_timeout=o!=null&&o.read_timeout||(o==null?void 0:o.read_timeout)===0?o==null?void 0:o.read_timeout:6e4,t.fields.retries=o!=null&&o.retries||(o==null?void 0:o.retries)===0?o==null?void 0:o.retries:5,t.fields.host=(o==null?void 0:o.host)||"",t.fields.connect_timeout=o!=null&&o.connect_timeout||(o==null?void 0:o.connect_timeout)===0?o==null?void 0:o.connect_timeout:6e4,t.fields.tls_verify_enabled=(o==null?void 0:o.tls_verify)!==""&&(o==null?void 0:o.tls_verify)!==null&&(o==null?void 0:o.tls_verify)!==void 0,t.fields.tls_verify_value=o!=null&&o.tls_verify?o==null?void 0:o.tls_verify:!1,t.fields.ca_certificates=((_=o==null?void 0:o.ca_certificates)==null?void 0:_.join(","))||"",t.fields.client_certificate=((E=o==null?void 0:o.client_certificate)==null?void 0:E.id)||"",t.fields.write_timeout=o!=null&&o.write_timeout||(o==null?void 0:o.write_timeout)===0?o==null?void 0:o.write_timeout:6e4,t.fields.port=o!=null&&o.port||(o==null?void 0:o.port)===0?o==null?void 0:o.port:80,Object.assign(v,t.fields)},m=()=>{N.push(a.config.cancelRoute)},y=e.computed(()=>{var r,_;let o=`${a.config.apiBaseUrl}${Z.form[a.config.app].validate}`;return a.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((r=a.config)==null?void 0:r.controlPlaneId)||""):a.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(_=a.config)!=null&&_.workspace?`/${a.config.workspace}`:"")),o=o.replace(/{id}/gi,a.gatewayServiceId),o}),V=e.computed(()=>{var r,_;let o=`${a.config.apiBaseUrl}${Z.form[a.config.app][T.value]}`;return a.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((r=a.config)==null?void 0:r.controlPlaneId)||""):a.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(_=a.config)!=null&&_.workspace?`/${a.config.workspace}`:"")),o=o.replace(/{id}/gi,a.gatewayServiceId),o}),R=o=>{let r="";o.url&&(r=new URL(o.url).protocol),(["https","wss","tls"].includes(o.protocol)||["https","wss","tls"].includes(r))&&(o.tls_verify=o.tls_verify_enabled?o.tls_verify_value:null),delete o.tls_verify_enabled,delete o.tls_verify_value},C=e.computed(()=>{var r,_,E,h;const o={name:t.fields.name||null,tags:t.fields.tags?(E=(_=(r=t.fields.tags)==null?void 0:r.split(","))==null?void 0:_.map(w=>String(w||"").trim()))==null?void 0:E.filter(w=>w!==""):null,protocol:t.fields.protocol,path:t.fields.path||null,read_timeout:t.fields.read_timeout,retries:t.fields.retries,host:t.fields.host,connect_timeout:t.fields.connect_timeout,tls_verify_value:t.fields.tls_verify_value,tls_verify_enabled:t.fields.tls_verify_enabled,ca_certificates:t.fields.ca_certificates?(h=t.fields.ca_certificates)==null?void 0:h.split(",").filter(w=>w!==""):null,client_certificate:t.fields.client_certificate?{id:t.fields.client_certificate}:null,write_timeout:t.fields.write_timeout,port:t.fields.port,url:t.fields.url};return t.fields.client_certificate&&["https","wss","tls"].includes(t.fields.protocol)&&(o.client_certificate={id:t.fields.client_certificate}),t.fields.tls_verify_enabled&&["https","wss","tls"].includes(t.fields.protocol)&&(o.tls_verify=t.fields.tls_verify_value),fe.value||(o.path=null),T.value==="create"?b.value==="url"?(delete o.protocol,delete o.host,delete o.path,a.config.app==="konnect"&&delete o.port):delete o.url:T.value==="edit"&&delete o.url,o}),D=async()=>{var o,r,_,E;try{t.isReadonly=!0;const h=C.value;R(h);let w;if(await k.post(y.value,h),T.value==="create"?w=await k.post(V.value,h):T.value==="edit"&&(w=((o=a.config)==null?void 0:o.app)==="konnect"?await k.put(V.value,h):await k.patch(V.value,h)),w){const{data:i}=w;t.fields.name=(i==null?void 0:i.name)||"",t.fields.port=i.port||L.getPortFromProtocol(i.protocol),t.fields.protocol=(i==null?void 0:i.protocol)||"http",t.fields.host=(i==null?void 0:i.host)||"",t.fields.path=(i==null?void 0:i.path)||"",t.fields.url=(i==null?void 0:i.url)||"",t.fields.retries=i!=null&&i.retries||(i==null?void 0:i.retries)===0?i==null?void 0:i.retries:5,t.fields.connect_timeout=i!=null&&i.connect_timeout||(i==null?void 0:i.connect_timeout)===0?i==null?void 0:i.connect_timeout:6e4,t.fields.write_timeout=i!=null&&i.write_timeout||(i==null?void 0:i.write_timeout)===0?i==null?void 0:i.write_timeout:6e4,t.fields.read_timeout=i!=null&&i.read_timeout||(i==null?void 0:i.read_timeout)===0?i==null?void 0:i.read_timeout:6e4,t.fields.client_certificate=((r=i==null?void 0:i.client_certificate)==null?void 0:r.id)||"",t.fields.ca_certificates=(_=i==null?void 0:i.ca_certificates)!=null&&_.length?i==null?void 0:i.ca_certificates.join(","):"",t.fields.tls_verify_enabled=(i==null?void 0:i.tls_verify)!==""&&(i==null?void 0:i.tls_verify)!==null&&(i==null?void 0:i.tls_verify)!==void 0,t.fields.tls_verify_value=t.fields.tls_verify_enabled&&(i==null?void 0:i.tls_verify),t.fields.tags=(E=i==null?void 0:i.tags)!=null&&E.length?i.tags.join(", "):"",Object.assign(v,t.fields),n("update",w==null?void 0:w.data)}return w}catch(h){const{fields:w,messages:i}=P(h);t.errorMessages=i,w.length&&w.forEach(O=>{const H=O.field;H==="client_certificate.id"?t.formFieldErrors.client_certificate=O.message:H.startsWith("ca_certificates")?t.formFieldErrors.ca_certificates=O.message:Object.keys(t.formFieldErrors).includes(H)&&(t.formFieldErrors={...t.formFieldErrors,[H]:O.message})}),n("error",h)}finally{t.isReadonly=!1}};return e.watch(()=>a.gatewayServiceId,()=>{Object.assign(t.fields,v)}),e.watch(t.fields,o=>{t.fields.port=L.getPortFromProtocol(o.protocol,String(o.port)),n("model-updated",C.value)}),e.onMounted(()=>{n("model-updated",C.value),K.value||(t.fields.name=be())}),F({validateUrl:Y,getPayload:C,saveFormData:D,canSubmit:z,initForm:c}),(o,r)=>{const _=e.resolveComponent("KRadio"),E=e.resolveComponent("KButton"),h=e.resolveComponent("KInput"),w=e.resolveComponent("KSelect"),i=e.resolveComponent("KCheckbox"),O=e.resolveComponent("KCollapse"),H=e.resolveComponent("KAlert");return e.openBlock(),e.createElementBlock("div",Ke,[e.createVNode(e.unref(u.EntityBaseForm),{"can-submit":z.value,config:s.config,"edit-id":s.gatewayServiceId,"entity-type":e.unref(u.SupportedEntityType).GatewayService,"fetch-url":ge.value,"form-fields":C.value,"is-readonly":t.isReadonly,onCancel:m,"onFetch:error":r[30]||(r[30]=d=>o.$emit("error",d)),"onFetch:success":c,onLoading:r[31]||(r[31]=d=>o.$emit("loading",d)),onSubmit:D},{"form-actions":e.withCtx(()=>[e.renderSlot(o.$slots,"form-actions",{canSubmit:z.value,cancel:m,submit:D},void 0,!0)]),default:e.withCtx(()=>[e.createVNode(e.unref(u.EntityFormSection),{description:e.unref(l)("gateway_services.form.sections.keys.description"),"hide-info-header":s.hideSectionsInfo,title:e.unref(l)("gateway_services.form.sections.keys.title")},{default:e.withCtx(()=>[K.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Le,[e.createElementVNode("div",qe,[e.createVNode(_,{modelValue:b.value,"onUpdate:modelValue":r[0]||(r[0]=d=>b.value=d),card:"","card-orientation":"horizontal","data-testid":"gateway-service-url-radio",description:e.unref(l)("gateway_services.form.sections.keys.url.description"),label:e.unref(l)("gateway_services.form.sections.keys.url.label"),"selected-value":j.url,onChange:ae},null,8,["modelValue","description","label","selected-value"]),e.createVNode(_,{modelValue:b.value,"onUpdate:modelValue":r[1]||(r[1]=d=>b.value=d),card:"","card-orientation":"horizontal","checked-group":"protocol","data-testid":"gateway-service-protocol-radio",description:e.unref(l)("gateway_services.form.sections.keys.protocol.description"),label:e.unref(l)("gateway_services.form.sections.keys.protocol.label"),"selected-value":j.protocol,onChange:ae},null,8,["modelValue","description","label","selected-value"])]),e.createVNode(e.Transition,{name:"slide-fade"},{default:e.withCtx(()=>[b.value==="url"?(e.openBlock(),e.createElementBlock("div",Ge,[e.createVNode(h,{modelValue:t.fields.url,"onUpdate:modelValue":r[2]||(r[2]=d=>t.fields.url=d),modelModifiers:{trim:!0},class:"gateway-service-url-input gateway-service-form-margin-bottom","data-testid":"gateway-service-url-input",error:we.value,"error-message":q("url"),label:e.unref(l)("gateway_services.form.fields.upstream_url.label"),"label-attributes":{info:s.config.app==="konnect"?e.unref(l)("gateway_services.form.fields.upstream_url.tooltip_for_konnect"):e.unref(l)("gateway_services.form.fields.upstream_url.tooltip_for_km"),tooltipAttributes:{maxWidth:"400"}},name:"url",placeholder:e.unref(l)("gateway_services.form.fields.upstream_url.placeholder"),required:"",onInput:ce},e.createSlots({_:2},[s.hideTrySampleApiButton?void 0:{name:"after",fn:e.withCtx(()=>[e.createVNode(E,{appearance:"tertiary","data-testid":"try-sample-api",size:"small",onClick:ne},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l)("gateway_services.form.buttons.try_sample")),1)]),_:1})]),key:"0"}]),1032,["modelValue","error","error-message","label","label-attributes","placeholder"])])):e.createCommentVNode("",!0)]),_:1})])),e.createVNode(e.Transition,{name:"slide-fade"},{default:e.withCtx(()=>[b.value==="protocol"||K.value?(e.openBlock(),e.createElementBlock("div",Oe,[e.createVNode(w,{modelValue:t.fields.protocol,"onUpdate:modelValue":r[3]||(r[3]=d=>t.fields.protocol=d),"data-testid":"gateway-service-protocol-select",items:S,label:e.unref(l)("gateway_services.form.fields.protocol.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.protocol.tooltip"),tooltipAttributes:{maxWidth:"400"}},readonly:t.isReadonly,required:"",width:"100%",onSelected:r[4]||(r[4]=d=>he(t.fields.protocol,d))},null,8,["modelValue","label","label-attributes","readonly"]),e.createVNode(h,{modelValue:t.fields.host,"onUpdate:modelValue":r[5]||(r[5]=d=>t.fields.host=d),modelModifiers:{trim:!0},class:"gateway-service-form-margin-top","data-testid":"gateway-service-host-input",error:!!t.formFieldErrors.host,"error-message":q("host"),label:e.unref(l)("gateway_services.form.fields.host.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.host.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"host",placeholder:e.unref(l)("gateway_services.form.fields.host.placeholder"),required:"",onInput:r[6]||(r[6]=d=>I("host"))},e.createSlots({_:2},[s.hideTrySampleApiButton?void 0:{name:"after",fn:e.withCtx(()=>[e.createVNode(E,{appearance:"tertiary",size:"small",onClick:ne},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l)("gateway_services.form.buttons.try_sample")),1)]),_:1})]),key:"0"}]),1032,["modelValue","error","error-message","label","label-attributes","placeholder"]),fe.value?(e.openBlock(),e.createElementBlock("div",We,[e.createVNode(h,{modelValue:t.fields.path,"onUpdate:modelValue":r[7]||(r[7]=d=>t.fields.path=d),modelModifiers:{trim:!0},class:"gateway-service-form-margin-top","data-testid":"gateway-service-path-input",error:!!t.formFieldErrors.path,"error-message":q("path"),label:e.unref(l)("gateway_services.form.fields.path.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.path.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"path",placeholder:e.unref(l)("gateway_services.form.fields.path.placeholder"),onInput:r[8]||(r[8]=d=>I("path"))},null,8,["modelValue","error","error-message","label","label-attributes","placeholder"])])):e.createCommentVNode("",!0),e.createVNode(h,{modelValue:t.fields.port,"onUpdate:modelValue":[r[9]||(r[9]=d=>t.fields.port=d),r[11]||(r[11]=()=>{t.fields.port=U(t.fields.port+"")})],class:"gateway-service-form-margin-top","data-testid":"gateway-service-port-input",error:!!t.formFieldErrors.port,"error-message":q("port"),label:e.unref(l)("gateway_services.form.fields.port.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.port.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"port",type:"number",onInput:r[10]||(r[10]=d=>I("port"))},null,8,["modelValue","error","error-message","label","label-attributes"])])):e.createCommentVNode("",!0)]),_:1}),e.createVNode(O,{modelValue:g.value,"onUpdate:modelValue":r[27]||(r[27]=d=>g.value=d),"data-testid":"advanced-fields-collapse","trigger-alignment":"leading","trigger-label":e.unref(l)("gateway_services.form.sections.keys.viewAdvancedFields")},{default:e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-fade"},{default:e.withCtx(()=>[g.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",je,[e.createElementVNode("div",ze,[e.createVNode(h,{modelValue:t.fields.retries,"onUpdate:modelValue":[r[12]||(r[12]=d=>t.fields.retries=d),r[13]||(r[13]=()=>{t.fields.retries=U(t.fields.retries+"")})],autocomplete:"off","data-testid":"gateway-service-retries-input",label:e.unref(l)("gateway_services.form.fields.retries.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.retries.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"retries",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",He,[e.createVNode(h,{modelValue:t.fields.connect_timeout,"onUpdate:modelValue":[r[14]||(r[14]=d=>t.fields.connect_timeout=d),r[15]||(r[15]=()=>{t.fields.connect_timeout=U(t.fields.connect_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-connTimeout-input",label:e.unref(l)("gateway_services.form.fields.connect_timeout.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.connect_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"connTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",Ze,[e.createVNode(h,{modelValue:t.fields.write_timeout,"onUpdate:modelValue":[r[16]||(r[16]=d=>t.fields.write_timeout=d),r[17]||(r[17]=()=>{t.fields.write_timeout=U(t.fields.write_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-writeTimeout-input",label:e.unref(l)("gateway_services.form.fields.write_timeout.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.write_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"writeTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",Je,[e.createVNode(h,{modelValue:t.fields.read_timeout,"onUpdate:modelValue":[r[18]||(r[18]=d=>t.fields.read_timeout=d),r[19]||(r[19]=()=>{t.fields.read_timeout=U(t.fields.read_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-readTimeout-input",label:e.unref(l)("gateway_services.form.fields.read_timeout.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.read_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"readTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),pe.value?(e.openBlock(),e.createElementBlock("div",Qe,[e.createVNode(h,{modelValue:t.fields.client_certificate,"onUpdate:modelValue":r[20]||(r[20]=d=>t.fields.client_certificate=d),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-clientCert-input",error:!!t.formFieldErrors.client_certificate,label:e.unref(l)("gateway_services.form.fields.client_certificate.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.client_certificate.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"clientCert",placeholder:e.unref(l)("gateway_services.form.fields.client_certificate.placeholder"),readonly:t.isReadonly,type:"text",onInput:r[21]||(r[21]=d=>de("client_certificate"))},null,8,["modelValue","error","label","label-attributes","placeholder","readonly"])])):e.createCommentVNode("",!0),ve.value?(e.openBlock(),e.createElementBlock("div",Xe,[e.createVNode(h,{modelValue:t.fields.ca_certificates,"onUpdate:modelValue":r[22]||(r[22]=d=>t.fields.ca_certificates=d),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-ca-certs-input",error:!!t.formFieldErrors.ca_certificates,label:e.unref(l)("gateway_services.form.fields.ca_certificates.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}},placeholder:e.unref(l)("gateway_services.form.fields.ca_certificates.placeholder"),readonly:t.isReadonly,type:"text",onInput:r[23]||(r[23]=d=>de("ca_certificates"))},{"label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(A),{keypath:"gateway_services.form.fields.ca_certificates.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(l)("gateway_services.form.fields.ca_certificates.code1")),1)]),code2:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(l)("gateway_services.form.fields.ca_certificates.code2")),1)]),_:1})]),_:1},8,["modelValue","error","label","placeholder","readonly"])])):e.createCommentVNode("",!0),Ve.value?(e.openBlock(),e.createElementBlock("div",Ye,[e.createVNode(i,{modelValue:t.fields.tls_verify_enabled,"onUpdate:modelValue":r[24]||(r[24]=d=>t.fields.tls_verify_enabled=d),"data-testid":"gateway-service-tls-verify-checkbox",description:e.unref(l)("gateway_services.form.fields.tls_verify_enabled.help"),label:e.unref(l)("gateway_services.form.fields.tls_verify_enabled.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}}},{tooltip:e.withCtx(()=>[e.createVNode(e.unref(A),{keypath:"gateway_services.form.fields.tls_verify_enabled.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(l)("gateway_services.form.fields.tls_verify_enabled.code1")),1)]),_:1})]),_:1},8,["modelValue","description","label"]),t.fields.tls_verify_enabled?(e.openBlock(),e.createElementBlock("div",et,[e.createVNode(_,{modelValue:t.fields.tls_verify_value,"onUpdate:modelValue":r[25]||(r[25]=d=>t.fields.tls_verify_value=d),"data-testid":"gateway-service-tls-verify-true-option",label:e.unref(l)("gateway_services.form.fields.tls_verify_option.true.label"),"selected-value":!0},null,8,["modelValue","label"])])):e.createCommentVNode("",!0),t.fields.tls_verify_enabled?(e.openBlock(),e.createElementBlock("div",tt,[e.createVNode(_,{modelValue:t.fields.tls_verify_value,"onUpdate:modelValue":r[26]||(r[26]=d=>t.fields.tls_verify_value=d),"data-testid":"gateway-service-tls-verify-false-option",label:e.unref(l)("gateway_services.form.fields.tls_verify_option.false.label"),"selected-value":!1},null,8,["modelValue","label"])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]))]),_:1})]),_:1},8,["modelValue","trigger-label"])]),_:1},8,["description","hide-info-header","title"]),e.createVNode(e.unref(u.EntityFormSection),{description:e.unref(l)("gateway_services.form.sections.general.description"),"hide-info-header":s.hideSectionsInfo,title:e.unref(l)("gateway_services.form.sections.general.title")},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:t.fields.name,"onUpdate:modelValue":r[28]||(r[28]=d=>t.fields.name=d),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-name-input",error:_e.value,"error-message":Q.value,label:e.unref(l)("gateway_services.form.fields.name.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.name.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"name",placeholder:e.unref(l)("gateway_services.form.fields.name.placeholder"),readonly:t.isReadonly,type:"text",onInput:ee},null,8,["modelValue","error","error-message","label","label-attributes","placeholder","readonly"]),e.createVNode(O,{"data-testid":"tags-collapse","trigger-alignment":"leading","trigger-label":e.unref(l)("gateway_services.form.fields.tags.collapse")},{default:e.withCtx(()=>[e.createElementVNode("div",ot,[e.createVNode(h,{modelValue:t.fields.tags,"onUpdate:modelValue":r[29]||(r[29]=d=>t.fields.tags=d),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-tags-input",help:e.unref(l)("gateway_services.form.fields.tags.help"),label:e.unref(l)("gateway_services.form.fields.tags.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.tags.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"tags",placeholder:e.unref(l)("gateway_services.form.fields.tags.placeholder"),readonly:t.isReadonly,type:"text"},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])])]),_:1},8,["trigger-label"])]),_:1},8,["description","hide-info-header","title"]),t.errorMessages.length?(e.openBlock(),e.createBlock(H,{key:0,appearance:"danger","data-testid":"form-error"},{default:e.withCtx(()=>[e.createElementVNode("ul",rt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.errorMessages,d=>(e.openBlock(),e.createElementBlock("li",{key:d},e.toDisplayString(d),1))),128))])]),_:1})):e.createCommentVNode("",!0)]),_:3},8,["can-submit","config","edit-id","entity-type","fetch-url","form-fields","is-readonly"])])}}}),[["__scopeId","data-v-a94ad8c2"]]),{validateHost:lt,validatePort:st,validateProtocol:at,validatePath:nt}=M.useUrlValidators(),ct=()=>({validateHost:lt,validatePort:st,validateProtocol:at,validatePath:nt});x.GatewayServiceConfigCard=Me,x.GatewayServiceForm=it,x.GatewayServiceList=Re,x.useUrlValidator=ct,Object.defineProperty(x,Symbol.toStringTag,{value:"Module"})});
|
package/dist/style.css
ADDED
|
@@ -0,0 +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(--54aebfa2);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-b073d014]{box-sizing:border-box;max-width:1536px;width:100%}.kong-ui-entity-base-form[data-v-b073d014] .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-b073d014] .k-card.content-card{padding:0 16px!important}.kong-ui-entity-base-form[data-v-b073d014] .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-b073d014] .tab-item.active>div.tab-link.has-panels{color:#000933!important;font-weight:600!important}.form-actions[data-v-b073d014]{align-items:center;display:flex;justify-content:flex-end;margin-top:24px}.form-actions[data-v-b073d014] .k-button:last-of-type,.form-actions[data-v-b073d014] .k-button:nth-last-of-type(2){margin-left:16px}.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}.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}}.button-row[data-v-210f19c5]{align-items:center;display:flex;gap:12px}.kong-ui-entities-gateway-services-list[data-v-210f19c5]{width:100%}.kong-ui-entities-gateway-services-list .kong-ui-entity-filter-input[data-v-210f19c5]{margin-right:12px}.kong-ui-entities-gateway-service-form[data-v-a94ad8c2]{width:100%}.kong-ui-entities-gateway-service-form[data-v-a94ad8c2] .k-tooltip{max-width:300px}.kong-ui-entities-gateway-service-form[data-v-a94ad8c2] .k-radio{align-items:normal}.kong-ui-entities-gateway-service-form[data-v-a94ad8c2] .form-section-wrapper{padding-bottom:48px}.kong-ui-entities-gateway-service-form .form-error-list[data-v-a94ad8c2]{list-style-type:disc;margin:0;padding-left:16px}.kong-ui-entities-gateway-service-form .gateway-service-form-margin-top[data-v-a94ad8c2]{margin-top:16px}.kong-ui-entities-gateway-service-form .gateway-service-form-advanced-fields[data-v-a94ad8c2]{display:flex;flex-direction:column;gap:16px;margin-left:12px}.kong-ui-entities-gateway-service-form .gateway-service-form-tags[data-v-a94ad8c2]{margin-left:12px}.kong-ui-entities-gateway-service-form .gateway-service-form-traffic-label[data-v-a94ad8c2]{margin-bottom:16px}.kong-ui-entities-gateway-service-form .gateway-service-url-input[data-v-a94ad8c2],.kong-ui-entities-gateway-service-form .gateway-service-url-input[data-v-a94ad8c2] .input-element-wrapper{display:flex}.kong-ui-entities-gateway-service-form .gateway-service-form-general-info[data-v-a94ad8c2]{display:flex;flex-direction:column;gap:24px}.kong-ui-entities-gateway-service-form .gateway-service-form-group-selection-wrapper[data-v-a94ad8c2]{display:flex;flex-direction:row;gap:16px}.kong-ui-entities-gateway-service-form .gateway-service-form-group-selection-wrapper[data-v-a94ad8c2] .radio-label-wrapper{height:auto}.kong-ui-entities-gateway-service-form .checkbox-aligned-radio[data-v-a94ad8c2]{margin:4px;padding-left:24px}.slide-fade-enter-active[data-v-a94ad8c2]{transition:all .5s ease}.slide-fade-enter-from[data-v-a94ad8c2]{opacity:0;transform:translateY(-5px)}.slide-fade-leave-to[data-v-a94ad8c2]{opacity:0;transform:translateY(5px)}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { PropType } from 'vue';
|
|
2
|
+
import type { AxiosError } from 'axios';
|
|
3
|
+
import type { KongManagerGatewayServiceEntityConfig, KonnectGatewayServiceEntityConfig } from '../types';
|
|
4
|
+
import '@kong-ui-public/entities-shared/dist/style.css';
|
|
5
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
6
|
+
/** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
|
|
7
|
+
config: {
|
|
8
|
+
type: PropType<KonnectGatewayServiceEntityConfig | KongManagerGatewayServiceEntityConfig>;
|
|
9
|
+
required: true;
|
|
10
|
+
validator: (config: KonnectGatewayServiceEntityConfig | KongManagerGatewayServiceEntityConfig) => boolean;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* External link for documentation that determines visibility of Documentation button
|
|
14
|
+
*/
|
|
15
|
+
configCardDoc: {
|
|
16
|
+
type: StringConstructor;
|
|
17
|
+
default: string;
|
|
18
|
+
required: false;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Control visibility of card title content
|
|
22
|
+
*/
|
|
23
|
+
hideTitle: {
|
|
24
|
+
type: BooleanConstructor;
|
|
25
|
+
default: boolean;
|
|
26
|
+
};
|
|
27
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
28
|
+
loading: (isLoading: boolean) => any;
|
|
29
|
+
"fetch:error": (error: AxiosError<unknown, any>) => any;
|
|
30
|
+
"fetch:success": (data: Record<string, any>) => any;
|
|
31
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
32
|
+
/** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
|
|
33
|
+
config: {
|
|
34
|
+
type: PropType<KonnectGatewayServiceEntityConfig | KongManagerGatewayServiceEntityConfig>;
|
|
35
|
+
required: true;
|
|
36
|
+
validator: (config: KonnectGatewayServiceEntityConfig | KongManagerGatewayServiceEntityConfig) => boolean;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* External link for documentation that determines visibility of Documentation button
|
|
40
|
+
*/
|
|
41
|
+
configCardDoc: {
|
|
42
|
+
type: StringConstructor;
|
|
43
|
+
default: string;
|
|
44
|
+
required: false;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Control visibility of card title content
|
|
48
|
+
*/
|
|
49
|
+
hideTitle: {
|
|
50
|
+
type: BooleanConstructor;
|
|
51
|
+
default: boolean;
|
|
52
|
+
};
|
|
53
|
+
}>> & Readonly<{
|
|
54
|
+
onLoading?: ((isLoading: boolean) => any) | undefined;
|
|
55
|
+
"onFetch:error"?: ((error: AxiosError<unknown, any>) => any) | undefined;
|
|
56
|
+
"onFetch:success"?: ((data: Record<string, any>) => any) | undefined;
|
|
57
|
+
}>, {
|
|
58
|
+
configCardDoc: string;
|
|
59
|
+
hideTitle: boolean;
|
|
60
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
61
|
+
export default _default;
|
|
62
|
+
//# sourceMappingURL=GatewayServiceConfigCard.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GatewayServiceConfigCard.vue.d.ts","sourceRoot":"","sources":["../../../src/components/GatewayServiceConfigCard.vue"],"names":[],"mappings":"AAmMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAEnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,KAAK,EAAE,qCAAqC,EAAE,iCAAiC,EAAqC,MAAM,UAAU,CAAA;AAU3I,OAAO,gDAAgD,CAAA;;IAgXrD,oHAAoH;;cAElG,QAAQ,CAAC,iCAAiC,GAAG,qCAAqC,CAAC;;4BAE/E,iCAAiC,GAAG,qCAAqC,KAAG,OAAO;;IAQzG;;OAEG;;;;;;IAMH;;OAEG;;;;;;;;;;IAtBH,oHAAoH;;cAElG,QAAQ,CAAC,iCAAiC,GAAG,qCAAqC,CAAC;;4BAE/E,iCAAiC,GAAG,qCAAqC,KAAG,OAAO;;IAQzG;;OAEG;;;;;;IAMH;;OAEG;;;;;;;;;;;;;AAjCL,wBAuCG"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { PropType } from 'vue';
|
|
2
|
+
import type { AxiosResponse } from 'axios';
|
|
3
|
+
import type { KonnectGatewayServiceFormConfig, KongManagerGatewayServiceFormConfig } from '../types';
|
|
4
|
+
import '@kong-ui-public/entities-shared/dist/style.css';
|
|
5
|
+
declare function __VLS_template(): {
|
|
6
|
+
slots: {
|
|
7
|
+
"form-actions"?(_: {
|
|
8
|
+
canSubmit: boolean;
|
|
9
|
+
cancel: () => void;
|
|
10
|
+
submit: () => Promise<AxiosResponse | undefined>;
|
|
11
|
+
}): any;
|
|
12
|
+
};
|
|
13
|
+
refs: {};
|
|
14
|
+
attrs: Partial<{}>;
|
|
15
|
+
};
|
|
16
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
17
|
+
declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
18
|
+
/** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
|
|
19
|
+
config: {
|
|
20
|
+
type: PropType<KonnectGatewayServiceFormConfig | KongManagerGatewayServiceFormConfig>;
|
|
21
|
+
required: true;
|
|
22
|
+
validator: (config: KonnectGatewayServiceFormConfig | KongManagerGatewayServiceFormConfig) => boolean;
|
|
23
|
+
};
|
|
24
|
+
/** If a valid Gateway Service ID is provided, it will put the form in Edit mode instead of Create */
|
|
25
|
+
gatewayServiceId: {
|
|
26
|
+
type: StringConstructor;
|
|
27
|
+
required: false;
|
|
28
|
+
default: string;
|
|
29
|
+
};
|
|
30
|
+
/** Whether show or hide EntityFormSection info column */
|
|
31
|
+
hideSectionsInfo: {
|
|
32
|
+
type: BooleanConstructor;
|
|
33
|
+
required: false;
|
|
34
|
+
default: boolean;
|
|
35
|
+
};
|
|
36
|
+
/** Whether show or hide Try sample API button */
|
|
37
|
+
hideTrySampleApiButton: {
|
|
38
|
+
type: BooleanConstructor;
|
|
39
|
+
required: false;
|
|
40
|
+
default: boolean;
|
|
41
|
+
};
|
|
42
|
+
}>, {
|
|
43
|
+
validateUrl: () => void;
|
|
44
|
+
getPayload: import("vue").ComputedRef<Record<string, any>>;
|
|
45
|
+
saveFormData: () => Promise<AxiosResponse | undefined>;
|
|
46
|
+
canSubmit: import("vue").ComputedRef<boolean>;
|
|
47
|
+
initForm: (data: Record<string, any>) => void;
|
|
48
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
49
|
+
error: (error: any) => any;
|
|
50
|
+
loading: (isLoading: boolean) => any;
|
|
51
|
+
update: (data: Record<string, any>) => any;
|
|
52
|
+
"url-valid:success": () => any;
|
|
53
|
+
"url-valid:error": (error: string) => any;
|
|
54
|
+
"model-updated": (val: Record<string, any>) => any;
|
|
55
|
+
"try-sample-api": (val: Record<string, any>) => any;
|
|
56
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
57
|
+
/** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
|
|
58
|
+
config: {
|
|
59
|
+
type: PropType<KonnectGatewayServiceFormConfig | KongManagerGatewayServiceFormConfig>;
|
|
60
|
+
required: true;
|
|
61
|
+
validator: (config: KonnectGatewayServiceFormConfig | KongManagerGatewayServiceFormConfig) => boolean;
|
|
62
|
+
};
|
|
63
|
+
/** If a valid Gateway Service ID is provided, it will put the form in Edit mode instead of Create */
|
|
64
|
+
gatewayServiceId: {
|
|
65
|
+
type: StringConstructor;
|
|
66
|
+
required: false;
|
|
67
|
+
default: string;
|
|
68
|
+
};
|
|
69
|
+
/** Whether show or hide EntityFormSection info column */
|
|
70
|
+
hideSectionsInfo: {
|
|
71
|
+
type: BooleanConstructor;
|
|
72
|
+
required: false;
|
|
73
|
+
default: boolean;
|
|
74
|
+
};
|
|
75
|
+
/** Whether show or hide Try sample API button */
|
|
76
|
+
hideTrySampleApiButton: {
|
|
77
|
+
type: BooleanConstructor;
|
|
78
|
+
required: false;
|
|
79
|
+
default: boolean;
|
|
80
|
+
};
|
|
81
|
+
}>> & Readonly<{
|
|
82
|
+
onError?: ((error: any) => any) | undefined;
|
|
83
|
+
onLoading?: ((isLoading: boolean) => any) | undefined;
|
|
84
|
+
onUpdate?: ((data: Record<string, any>) => any) | undefined;
|
|
85
|
+
"onUrl-valid:success"?: (() => any) | undefined;
|
|
86
|
+
"onUrl-valid:error"?: ((error: string) => any) | undefined;
|
|
87
|
+
"onModel-updated"?: ((val: Record<string, any>) => any) | undefined;
|
|
88
|
+
"onTry-sample-api"?: ((val: Record<string, any>) => any) | undefined;
|
|
89
|
+
}>, {
|
|
90
|
+
gatewayServiceId: string;
|
|
91
|
+
hideSectionsInfo: boolean;
|
|
92
|
+
hideTrySampleApiButton: boolean;
|
|
93
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
94
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
95
|
+
export default _default;
|
|
96
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
97
|
+
new (): {
|
|
98
|
+
$slots: S;
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=GatewayServiceForm.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GatewayServiceForm.vue.d.ts","sourceRoot":"","sources":["../../../src/components/GatewayServiceForm.vue"],"names":[],"mappings":"AA4rCA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAGnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EACV,+BAA+B,EAC/B,mCAAmC,EAIpC,MAAM,UAAU,CAAA;AAejB,OAAO,gDAAgD,CAAA;AAusBvD,iBAAS,cAAc;;;;0BA1PO,IAAI;0BAmGH,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;YA+5B3B,GAAG;;;WAS3B,OAAO,IAA6B;EAEjD;AAiFD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;IAgBnB,oHAAoH;;cAElG,QAAQ,CAAC,+BAA+B,GAAG,mCAAmC,CAAC;;4BAE3E,+BAA+B,GAAG,mCAAmC,KAAG,OAAO;;IAQrG,qGAAqG;;;;;;IAMrG,yDAAyD;;;;;;IAMzD,iDAAiD;;;;;;;uBAzuC3B,IAAI;;wBAqMG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;;qBAtHzC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,IAAI;;;;;;;;;;IAkoChD,oHAAoH;;cAElG,QAAQ,CAAC,+BAA+B,GAAG,mCAAmC,CAAC;;4BAE3E,+BAA+B,GAAG,mCAAmC,KAAG,OAAO;;IAQrG,qGAAqG;;;;;;IAMrG,yDAAyD;;;;;;IAMzD,iDAAiD;;;;;;;;;;;;;;;;;;4EAOjD,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAKpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import type { PropType } from 'vue';
|
|
2
|
+
import type { AxiosError } from 'axios';
|
|
3
|
+
import type { KongManagerGatewayServiceListConfig, KonnectGatewayServiceListConfig, EntityRow, CopyEventPayload } from '../types';
|
|
4
|
+
import '@kong-ui-public/entities-shared/dist/style.css';
|
|
5
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
6
|
+
/** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
|
|
7
|
+
config: {
|
|
8
|
+
type: PropType<KonnectGatewayServiceListConfig | KongManagerGatewayServiceListConfig>;
|
|
9
|
+
required: true;
|
|
10
|
+
validator: (config: KonnectGatewayServiceListConfig | KongManagerGatewayServiceListConfig) => boolean;
|
|
11
|
+
};
|
|
12
|
+
cacheIdentifier: {
|
|
13
|
+
type: StringConstructor;
|
|
14
|
+
default: string;
|
|
15
|
+
};
|
|
16
|
+
/** A synchronous or asynchronous function, that returns a boolean, that evaluates if the user can create a new entity */
|
|
17
|
+
canCreate: {
|
|
18
|
+
type: PropType<() => boolean | Promise<boolean>>;
|
|
19
|
+
required: false;
|
|
20
|
+
default: () => Promise<boolean>;
|
|
21
|
+
};
|
|
22
|
+
/** A synchronous or asynchronous function, that returns a boolean, that evaluates if the user can delete a given entity */
|
|
23
|
+
canDelete: {
|
|
24
|
+
type: PropType<(row: EntityRow) => boolean | Promise<boolean>>;
|
|
25
|
+
required: false;
|
|
26
|
+
default: () => Promise<boolean>;
|
|
27
|
+
};
|
|
28
|
+
/** A synchronous or asynchronous function, that returns a boolean, that evaluates if the user can edit a given entity */
|
|
29
|
+
canEdit: {
|
|
30
|
+
type: PropType<(row: EntityRow) => boolean | Promise<boolean>>;
|
|
31
|
+
required: false;
|
|
32
|
+
default: () => Promise<boolean>;
|
|
33
|
+
};
|
|
34
|
+
/** A synchronous or asynchronous function, that returns a boolean, that evaluates if the user can retrieve (view details) a given entity */
|
|
35
|
+
canRetrieve: {
|
|
36
|
+
type: PropType<(row: EntityRow) => boolean | Promise<boolean>>;
|
|
37
|
+
required: false;
|
|
38
|
+
default: () => Promise<boolean>;
|
|
39
|
+
};
|
|
40
|
+
/** default to false, setting to true will teleport the toolbar button to the destination in the consuming app */
|
|
41
|
+
useActionOutside: {
|
|
42
|
+
type: BooleanConstructor;
|
|
43
|
+
default: boolean;
|
|
44
|
+
};
|
|
45
|
+
/** user is onboarding, use onboarding text */
|
|
46
|
+
isServerless: {
|
|
47
|
+
type: BooleanConstructor;
|
|
48
|
+
default: boolean;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Enables the new empty state design, this prop can be removed when
|
|
52
|
+
* the khcp-14756-empty-states-m2 FF is removed.
|
|
53
|
+
*/
|
|
54
|
+
enableV2EmptyStates: {
|
|
55
|
+
type: BooleanConstructor;
|
|
56
|
+
default: boolean;
|
|
57
|
+
};
|
|
58
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
59
|
+
error: (error: AxiosError<unknown, any>) => any;
|
|
60
|
+
"click:learn-more": () => any;
|
|
61
|
+
"copy:success": (payload: CopyEventPayload) => any;
|
|
62
|
+
"copy:error": (payload: CopyEventPayload) => any;
|
|
63
|
+
"delete:success": (gatewayService: EntityRow) => any;
|
|
64
|
+
"toggle:success": (gatewayService: EntityRow) => any;
|
|
65
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
66
|
+
/** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
|
|
67
|
+
config: {
|
|
68
|
+
type: PropType<KonnectGatewayServiceListConfig | KongManagerGatewayServiceListConfig>;
|
|
69
|
+
required: true;
|
|
70
|
+
validator: (config: KonnectGatewayServiceListConfig | KongManagerGatewayServiceListConfig) => boolean;
|
|
71
|
+
};
|
|
72
|
+
cacheIdentifier: {
|
|
73
|
+
type: StringConstructor;
|
|
74
|
+
default: string;
|
|
75
|
+
};
|
|
76
|
+
/** A synchronous or asynchronous function, that returns a boolean, that evaluates if the user can create a new entity */
|
|
77
|
+
canCreate: {
|
|
78
|
+
type: PropType<() => boolean | Promise<boolean>>;
|
|
79
|
+
required: false;
|
|
80
|
+
default: () => Promise<boolean>;
|
|
81
|
+
};
|
|
82
|
+
/** A synchronous or asynchronous function, that returns a boolean, that evaluates if the user can delete a given entity */
|
|
83
|
+
canDelete: {
|
|
84
|
+
type: PropType<(row: EntityRow) => boolean | Promise<boolean>>;
|
|
85
|
+
required: false;
|
|
86
|
+
default: () => Promise<boolean>;
|
|
87
|
+
};
|
|
88
|
+
/** A synchronous or asynchronous function, that returns a boolean, that evaluates if the user can edit a given entity */
|
|
89
|
+
canEdit: {
|
|
90
|
+
type: PropType<(row: EntityRow) => boolean | Promise<boolean>>;
|
|
91
|
+
required: false;
|
|
92
|
+
default: () => Promise<boolean>;
|
|
93
|
+
};
|
|
94
|
+
/** A synchronous or asynchronous function, that returns a boolean, that evaluates if the user can retrieve (view details) a given entity */
|
|
95
|
+
canRetrieve: {
|
|
96
|
+
type: PropType<(row: EntityRow) => boolean | Promise<boolean>>;
|
|
97
|
+
required: false;
|
|
98
|
+
default: () => Promise<boolean>;
|
|
99
|
+
};
|
|
100
|
+
/** default to false, setting to true will teleport the toolbar button to the destination in the consuming app */
|
|
101
|
+
useActionOutside: {
|
|
102
|
+
type: BooleanConstructor;
|
|
103
|
+
default: boolean;
|
|
104
|
+
};
|
|
105
|
+
/** user is onboarding, use onboarding text */
|
|
106
|
+
isServerless: {
|
|
107
|
+
type: BooleanConstructor;
|
|
108
|
+
default: boolean;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Enables the new empty state design, this prop can be removed when
|
|
112
|
+
* the khcp-14756-empty-states-m2 FF is removed.
|
|
113
|
+
*/
|
|
114
|
+
enableV2EmptyStates: {
|
|
115
|
+
type: BooleanConstructor;
|
|
116
|
+
default: boolean;
|
|
117
|
+
};
|
|
118
|
+
}>> & Readonly<{
|
|
119
|
+
onError?: ((error: AxiosError<unknown, any>) => any) | undefined;
|
|
120
|
+
"onClick:learn-more"?: (() => any) | undefined;
|
|
121
|
+
"onCopy:success"?: ((payload: CopyEventPayload) => any) | undefined;
|
|
122
|
+
"onCopy:error"?: ((payload: CopyEventPayload) => any) | undefined;
|
|
123
|
+
"onDelete:success"?: ((gatewayService: EntityRow) => any) | undefined;
|
|
124
|
+
"onToggle:success"?: ((gatewayService: EntityRow) => any) | undefined;
|
|
125
|
+
}>, {
|
|
126
|
+
cacheIdentifier: string;
|
|
127
|
+
canCreate: () => boolean | Promise<boolean>;
|
|
128
|
+
canDelete: (row: EntityRow) => boolean | Promise<boolean>;
|
|
129
|
+
canEdit: (row: EntityRow) => boolean | Promise<boolean>;
|
|
130
|
+
canRetrieve: (row: EntityRow) => boolean | Promise<boolean>;
|
|
131
|
+
useActionOutside: boolean;
|
|
132
|
+
isServerless: boolean;
|
|
133
|
+
enableV2EmptyStates: boolean;
|
|
134
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
135
|
+
export default _default;
|
|
136
|
+
//# sourceMappingURL=GatewayServiceList.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GatewayServiceList.vue.d.ts","sourceRoot":"","sources":["../../../src/components/GatewayServiceList.vue"],"names":[],"mappings":"AA8qBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAMnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AASvC,OAAO,KAAK,EACV,mCAAmC,EACnC,+BAA+B,EAC/B,SAAS,EACT,gBAAgB,EACjB,MAAM,UAAU,CAAA;AAiBjB,OAAO,gDAAgD,CAAA;;IAwrCrD,oHAAoH;;cAElG,QAAQ,CAAC,+BAA+B,GAAG,mCAAmC,CAAC;;4BAE3E,+BAA+B,GAAG,mCAAmC,KAAG,OAAO;;;;;;IAYrG,yHAAyH;;cAErG,QAAQ,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI9D,2HAA2H;;cAEvG,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,yHAAyH;;cAErG,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,4IAA4I;;cAExH,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,iHAAiH;;;;;IAKjH,8CAA8C;;;;;IAK9C;;;OAGG;;;;;;;;;;;;;IArDH,oHAAoH;;cAElG,QAAQ,CAAC,+BAA+B,GAAG,mCAAmC,CAAC;;4BAE3E,+BAA+B,GAAG,mCAAmC,KAAG,OAAO;;;;;;IAYrG,yHAAyH;;cAErG,QAAQ,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI9D,2HAA2H;;cAEvG,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,yHAAyH;;cAErG,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,4IAA4I;;cAExH,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,iHAAiH;;;;;IAKjH,8CAA8C;;;;;IAK9C;;;OAGG;;;;;;;;;;;;;;qBAnCgC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;qBAM1B,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;mBAMxC,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;uBAMxC,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;;;;;AAlD7E,wBAyEG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPortFromProtocol.d.ts","sourceRoot":"","sources":["../../../src/composables/getPortFromProtocol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,mBAAmB;oCACF,MAAM,SAAS,MAAM,KAAG,MAAM;EA0BtE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import useI18n from './useI18n';
|
|
2
|
+
import usePortFromProtocol from './getPortFromProtocol';
|
|
3
|
+
import useUrlValidators from './useUrlValidators';
|
|
4
|
+
declare const _default: {
|
|
5
|
+
useI18n: typeof useI18n;
|
|
6
|
+
usePortFromProtocol: typeof usePortFromProtocol;
|
|
7
|
+
useUrlValidators: typeof useUrlValidators;
|
|
8
|
+
};
|
|
9
|
+
export default _default;
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/composables/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AACvD,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;;;;;;AAGjD,wBAIC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createI18n, i18nTComponent } from '@kong-ui-public/i18n';
|
|
2
|
+
import english from '../locales/en.json';
|
|
3
|
+
interface UseI18nReturn {
|
|
4
|
+
i18n: ReturnType<typeof createI18n<typeof english>>;
|
|
5
|
+
i18nT: ReturnType<typeof i18nTComponent<typeof english>>;
|
|
6
|
+
}
|
|
7
|
+
export default function useI18n(): UseI18nReturn;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=useI18n.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useI18n.d.ts","sourceRoot":"","sources":["../../../src/composables/useI18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,OAAO,MAAM,oBAAoB,CAAA;AAExC,UAAU,aAAa;IACrB,IAAI,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAA;IACnD,KAAK,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,OAAO,OAAO,CAAC,CAAC,CAAA;CACzD;AAED,MAAM,CAAC,OAAO,UAAU,OAAO,IAAI,aAAa,CAO/C"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SelectItem } from '@kong/kongponents';
|
|
2
|
+
export default function useUrlValidators(): {
|
|
3
|
+
validateHost: (host: string) => string;
|
|
4
|
+
validateProtocol: (protocol: string, ProtocolItems: SelectItem[]) => string;
|
|
5
|
+
validatePath: (path: string | null | undefined) => string;
|
|
6
|
+
validatePort: (port: number | string | null | undefined) => string;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=useUrlValidators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUrlValidators.d.ts","sourceRoot":"","sources":["../../../src/composables/useUrlValidators.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,CAAC,OAAO,UAAU,gBAAgB;yBAGV,MAAM,KAAG,MAAM;iCA0DP,MAAM,iBAAiB,UAAU,EAAE,KAAI,MAAM;yBAtBrD,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MAAM;yBAvBlC,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MAAM;EAmExE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const KongAirService: {
|
|
2
|
+
name: string;
|
|
3
|
+
tags: never[];
|
|
4
|
+
protocol: string;
|
|
5
|
+
path: string;
|
|
6
|
+
read_timeout: number;
|
|
7
|
+
retries: number;
|
|
8
|
+
host: string;
|
|
9
|
+
connect_timeout: number;
|
|
10
|
+
ca_certificates: null;
|
|
11
|
+
client_certificate: null;
|
|
12
|
+
write_timeout: number;
|
|
13
|
+
port: number;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc;;;;;;;;;;;;;CAa1B,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
list: {
|
|
3
|
+
konnect: {
|
|
4
|
+
all: string;
|
|
5
|
+
};
|
|
6
|
+
kongManager: {
|
|
7
|
+
all: string;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
form: {
|
|
11
|
+
konnect: {
|
|
12
|
+
create: string;
|
|
13
|
+
validate: string;
|
|
14
|
+
edit: string;
|
|
15
|
+
};
|
|
16
|
+
kongManager: {
|
|
17
|
+
create: string;
|
|
18
|
+
validate: string;
|
|
19
|
+
edit: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
export default _default;
|
|
24
|
+
//# sourceMappingURL=gateway-services-endpoints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-services-endpoints.d.ts","sourceRoot":"","sources":["../../src/gateway-services-endpoints.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAGA,wBAqBC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import GatewayServiceList from './components/GatewayServiceList.vue';
|
|
2
|
+
import GatewayServiceConfigCard from './components/GatewayServiceConfigCard.vue';
|
|
3
|
+
import GatewayServiceForm from './components/GatewayServiceForm.vue';
|
|
4
|
+
export { GatewayServiceList, GatewayServiceForm, GatewayServiceConfigCard };
|
|
5
|
+
export * from './utils';
|
|
6
|
+
export * from './types';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,qCAAqC,CAAA;AACpE,OAAO,wBAAwB,MAAM,2CAA2C,CAAA;AAChF,OAAO,kBAAkB,MAAM,qCAAqC,CAAA;AAGpE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,CAAA;AAG3E,cAAc,SAAS,CAAA;AAGvB,cAAc,SAAS,CAAA"}
|